@font-face{font-family:Suit;src:url('assets/fonts/SUIT-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Suit;src:url('assets/fonts/SUIT-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Suit;src:url('assets/fonts/SUIT-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--blue:#2e4c95;--ink:#17191e;--paper:#f5f5f1;--gutter:4vw;--ease:cubic-bezier(.22,1,.36,1);--header-opacity:0;--header-color:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Suit,sans-serif;font-weight:400;color:var(--ink);background:var(--paper);word-break:keep-all;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#2e4c95;color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-70px;left:20px;z-index:1000;background:#fff;padding:14px}.skip:focus{top:10px}.header{position:fixed;inset:0 0 auto;z-index:30;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);color:var(--header-color);isolation:isolate}.header:before{content:'';position:absolute;inset:0;background:var(--paper);opacity:var(--header-opacity);z-index:-1;border-bottom:1px solid #17191e18}.location{display:flex;gap:22px;font-size:16px;margin-left:0;transition:margin-left .5s var(--ease);font-variant-numeric:tabular-nums}.scrolled .location{margin-left:210px}.header nav{display:flex;gap:38px;align-items:center;font-size:16px}.text-button{background:none;padding:12px 0}.text-button span{margin-left:14px}.nav-link,.text-button{transition:filter .3s,opacity .3s}.nav-link:hover,.text-button:hover{filter:blur(.5px);opacity:.65}.brand{position:fixed;z-index:40;left:4vw;top:22svh;width:92vw;display:block;color:#fff;transform-origin:top left;will-change:transform;pointer-events:auto}.brand svg{width:100%;height:auto;display:block;overflow:visible}.hero{height:165svh;position:relative;background:var(--blue)}.hero-stage{position:sticky;top:0;height:100svh;overflow:hidden;color:white}#sea{position:absolute;inset:0;width:100%;height:100%;background:var(--blue)}.hero-caption{position:absolute;inset:auto var(--gutter) 13vh;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.hero-caption p{font-size:clamp(24px,2.4vw,38px);line-height:1.35;letter-spacing:-.045em;margin:0}.studio{font-size:clamp(18px,2vw,30px);letter-spacing:-.04em}.scroll-cue{position:absolute;left:var(--gutter);bottom:35px;font-size:32px;line-height:1;padding:8px 0}.section{padding:140px var(--gutter)}.about{position:relative;padding-top:170px;padding-bottom:180px}.section-tag{font-size:22px;margin:0 0 65px}.statement{font-size:clamp(42px,7.3vw,118px);font-weight:400;letter-spacing:-.065em;line-height:1.25;margin:0;display:flex;flex-direction:column}.about-copy{margin:80px 0 0 51%;font-size:clamp(20px,2.2vw,32px);line-height:1.65;letter-spacing:-.035em}.double-mark{position:absolute;left:var(--gutter);bottom:180px;display:flex;gap:9px;height:80px}.double-mark i{width:62px;background:var(--blue)}.double-mark i+ i{width:30px}.services{padding-top:90px;border-top:1px solid #17191e30}.services-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:70px}.services h2{font-size:22px;font-weight:400;margin:0}.services-heading p{font-size:22px;margin:0}.service-list{padding:0;margin:0;list-style:none}.service-list li{border-top:1px solid #17191e40}.service-list li:last-child{border-bottom:1px solid #17191e40}.service-list button{background:transparent;width:100%;padding:30px 0;display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:clamp(32px,4.5vw,70px);letter-spacing:-.045em;font-weight:400;transition:color .4s,padding .6s var(--ease)}.service-arrow{font-size:.65em;transition:transform .6s var(--ease),filter .6s;filter:blur(1px)}.service-list button:hover,.service-list button:focus-visible{color:var(--blue);padding-left:20px;padding-right:20px}.service-list button:hover .service-arrow{transform:rotate(45deg);filter:blur(0)}.contact{background:var(--blue);color:white;padding-top:130px;padding-bottom:110px;position:relative;overflow:hidden}.contact>p{font-size:22px;margin:0 0 55px}.contact h2{font-size:clamp(46px,7.3vw,110px);font-weight:400;line-height:1.2;letter-spacing:-.06em;margin:0 0 60px}.contact-big{background:none;color:white;border-bottom:1px solid #ffffff88;font-size:clamp(28px,3vw,44px);padding:0 0 20px;min-width:320px;display:flex;justify-content:space-between;gap:100px}.contact-big span:last-child{transition:transform .5s var(--ease)}.contact-big:hover span:last-child{transform:translate(8px,-8px)}.contact-details{margin-top:110px;display:flex;justify-content:space-between;gap:25px;font-size:clamp(20px,2.5vw,36px);letter-spacing:-.03em}.contact-details a:hover{text-decoration:underline;text-underline-offset:8px}footer{display:flex;justify-content:space-between;gap:20px;padding:35px var(--gutter) 115px;font-size:16px}.inquiry{position:fixed;bottom:28px;right:var(--gutter);z-index:50;display:flex;align-items:stretch;background:#17191e;color:#fff;padding:0;font-size:17px;box-shadow:0 4px 25px #00000010}.button-words{height:58px;overflow:hidden;display:block;padding:0 25px}.button-words>span{height:58px;display:flex;align-items:center;transition:transform .6s var(--ease),filter .6s var(--ease)}.button-words>span+span{filter:blur(8px)}.inquiry:hover .button-words>span,.inquiry:focus-visible .button-words>span{transform:translateY(-100%)}.inquiry:hover .button-words>span:first-child{filter:none}.inquiry:hover .button-words>span+span{filter:blur(0)}.button-arrow{width:58px;border-left:1px solid #ffffff40;display:grid;place-items:center;font-size:25px}.motion-toggle{position:fixed;z-index:45;bottom:35px;left:var(--gutter);background:transparent;color:var(--header-color);font-size:18px;min-height:44px;min-width:44px;opacity:.7;transition:opacity .3s}.motion-toggle.hidden{opacity:0;pointer-events:none}.reveal{opacity:1;filter:none;transform:none}.js .reveal{opacity:0;filter:blur(14px);transform:translateY(28px);transition:opacity 1s var(--ease),filter 1.3s var(--ease),transform 1.3s var(--ease);transition-delay:var(--delay,0ms)}.js .reveal.visible{opacity:1;filter:blur(0);transform:translateY(0)}.intro-blur{animation:clear-in 1.7s .15s var(--ease) both}@keyframes clear-in{from{opacity:0;filter:blur(20px);transform:translateY(18px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
body.dialog-open{overflow:hidden}#site{transition:filter .75s var(--ease)}body.dialog-open #site{filter:blur(9px)}dialog{position:fixed;inset:0;margin:0 0 0 auto;width:min(700px,58vw);height:100dvh;max-width:100%;max-height:100%;border:0;background:transparent;padding:0;color:var(--ink);overflow:visible}dialog::backdrop{background:#0d182d00;backdrop-filter:blur(0);transition:background .6s,backdrop-filter .7s}dialog.is-open::backdrop{background:#0d182d38;backdrop-filter:blur(6px)}.panel{height:100%;background:var(--paper);overflow-y:auto;overscroll-behavior:contain;padding:30px 44px 40px;transform:translateX(102%);transition:transform .85s var(--ease);scrollbar-width:thin}dialog.is-open .panel{transform:translateX(0);transition-delay:.12s}.panel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:54px;font-size:18px}.panel-top>span{font-weight:700}.close{background:none;font-size:16px;display:flex;align-items:center;gap:25px;padding:6px}.close span{font-size:32px;font-weight:400}.panel h2{font-size:clamp(36px,4vw,60px);line-height:1.15;letter-spacing:-.055em;font-weight:400;margin:0 0 42px}.panel-reveal{opacity:0;filter:blur(16px);transform:translateY(18px);transition:opacity .7s,filter 1s var(--ease),transform 1s var(--ease)}dialog.is-open .panel-reveal{opacity:1;filter:blur(0);transform:translateY(0);transition-delay:var(--entry-delay,.3s)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}form label,legend{font-size:16px}input:not([type=checkbox]),textarea{display:block;width:100%;border:0;border-bottom:1px solid #a5a6aa;padding:14px 0 12px;color:var(--ink);background:transparent;border-radius:0;font-size:17px;outline:none}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 1px 0 var(--blue)}input::placeholder,textarea::placeholder{color:#787a80}fieldset{border:0;padding:0;margin:32px 0}.choices{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.choices label{position:relative;cursor:pointer}.choices input{position:absolute;opacity:0;width:1px;height:1px}.choices span{display:block;border:1px solid #c3c5cb;padding:10px 13px;transition:background .25s,color .25s}.choices input:checked+span{background:var(--blue);color:white;border-color:var(--blue)}.choices input:focus-visible+span{outline:2px solid var(--blue);outline-offset:3px}.message-label{display:block}textarea{resize:vertical;min-height:90px;max-height:240px}.submit-area{margin-top:28px}.submit{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 22px;background:var(--blue);color:white;font-size:18px}.submit span{font-size:23px}.form-note{font-size:14px;color:#65676c;line-height:1.5;margin:13px 0}.copy-button{background:none;padding:0;text-decoration:underline;text-underline-offset:4px;font-size:14px}.panel-contact{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #c3c5cb;margin-top:35px;padding-top:22px;font-size:16px}#form-status{font-size:15px;line-height:1.5;color:var(--blue);margin:12px 0 0}#form-status:empty{display:none}
@media(min-width:1600px){:root{--gutter:5vw}.brand{left:5vw;width:90vw}.section{padding-left:7vw;padding-right:7vw}}
@media(max-width:760px){:root{--gutter:6vw}.header{height:76px}.header nav{gap:20px;font-size:15px}.location{gap:12px;font-size:14px}.scrolled .location{margin-left:128px}.scrolled .header .nav-link{display:none}.scrolled .location{gap:8px}.scrolled .location time{font-size:12px}.brand{left:6vw;top:29svh;width:88vw}.hero{height:150svh}.hero-caption{bottom:19vh;display:block}.hero-caption p{font-size:26px}.studio{display:none}.scroll-cue{bottom:105px;font-size:26px}.section{padding:90px var(--gutter)}.about{padding-top:110px;padding-bottom:110px}.section-tag{font-size:17px;margin-bottom:45px}.statement{font-size:clamp(34px,7.6vw,58px);line-height:1.35;letter-spacing:-.055em}.about-copy{margin:48px 0 0;font-size:21px;line-height:1.65}.double-mark{position:static;height:48px;margin-top:55px;gap:5px}.double-mark i{width:36px}.double-mark i+i{width:18px}.services-heading{align-items:flex-start;gap:25px;margin-bottom:40px}.services h2{font-size:17px;white-space:nowrap}.services-heading p{font-size:17px;text-align:right}.service-list button{font-size:31px;padding:25px 0}.service-list button:hover{padding-left:8px;padding-right:8px}.contact>p{font-size:17px;margin-bottom:40px}.contact h2{font-size:44px;margin-bottom:48px}.contact-big{font-size:27px;min-width:0;width:100%;padding-bottom:18px}.contact-details{flex-direction:column;margin-top:75px;font-size:22px;gap:18px}footer{font-size:13px;gap:12px;padding-bottom:115px}.inquiry{bottom:20px;font-size:16px}.button-words{height:54px;padding:0 20px}.button-words>span{height:54px}.button-arrow{width:54px}.motion-toggle{bottom:25px}.panel{padding:24px 6vw 35px}.panel-top{margin-bottom:40px}.panel h2{font-size:44px;margin-bottom:35px}.form-pair{gap:18px}.form-pair label{font-size:15px}.form-pair input{font-size:16px}dialog{width:100vw}.panel-contact{font-size:14px}.choices span{font-size:15px;padding:10px 12px}body.dialog-open #site{filter:blur(6px)} }
@media(max-width:380px){.scrolled .header .location time{display:none}.contact h2{font-size:38px}.service-list button{font-size:28px}.form-pair{grid-template-columns:1fr;gap:24px}.panel-contact{flex-direction:column;gap:10px}}

/* Transparent liquid-glass header; no opaque solid bar. */
:root{--header-color:#17191e}
.header:before{background:linear-gradient(115deg,rgba(37,53,82,.46),rgba(110,128,163,.22) 28%,rgba(245,245,241,.09) 76%);backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%);border-bottom:1px solid #ffffff38;box-shadow:inset 0 1px 0 #ffffff35,0 5px 30px #101b3210}
.brand{--logo-bars:#2e4c95;--logo-type:#000}.brand path{transition:fill .55s var(--ease)}.scrolled .brand{filter:drop-shadow(0 1px 2px #14254c22)}
.hero,#sea{background:var(--paper)}
.motion-toggle{color:white}.scroll-cue{left:calc(var(--gutter) + 58px);bottom:39px}
@media(max-width:760px){.scroll-cue{bottom:30px}.header:before{background:linear-gradient(115deg,rgba(37,53,82,.5),rgba(110,128,163,.24) 42%,rgba(245,245,241,.1))}}
/* Original PDF paths and coordinated scroll motion. */
html{scroll-behavior:auto;scrollbar-gutter:stable}.brand svg{animation:clear-in 1.7s var(--ease) both}.brand .logo-bars{fill:var(--logo-bars,#1f315e)}.brand .logo-type{fill:var(--logo-type,#0d0d0d)}.brand .logo-tagline{fill:#636063;opacity:var(--tag-opacity,1);filter:blur(var(--tag-blur,0px));will-change:opacity}.brand path{transition:none}.brand{will-change:transform;pointer-events:auto}.scrolled .brand{filter:none}
.location,.scrolled .location{margin-left:0;transform:translate3d(var(--clock-shift,0px),0,0);transition:none;will-change:transform}.header{transition:color .6s}.header:before{transition:opacity .3s}.hero-stage{background:#86bae8}#sea{background:linear-gradient(#86bae8 0%,#4d7be8 60%,#f9a332 61%,#e86717 100%)}
.about-lockup{display:flex;align-items:stretch;gap:36px;margin:80px 0 0 28%;}.about-lockup .double-mark{position:static;display:flex;flex:0 0 78px;height:auto;min-height:0;margin:0;gap:7px}.about-lockup .double-mark i{width:auto;flex:2}.about-lockup .double-mark i+i{width:auto;flex:1}.about-lockup .about-copy{margin:0;font-size:clamp(20px,1.85vw,28px);line-height:1.65;letter-spacing:-.025em}.about{padding-bottom:150px}
/* Keep fixed elements fixed: the full-page filter used previously changed their containing block. */
body.dialog-open #site{filter:none}dialog::backdrop{transition:background 1.25s var(--ease),backdrop-filter 1.5s var(--ease);backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}dialog.is-open::backdrop{background:#0d182d28;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.panel{transition:transform 1.35s var(--ease)}dialog.is-open .panel{transition-delay:.38s}.panel-reveal{transition:opacity 1.2s var(--ease),filter 1.65s var(--ease),transform 1.65s var(--ease);filter:blur(20px);transform:translateY(24px)}.panel-top{opacity:0;filter:blur(12px);transition:opacity 1.2s .65s,filter 1.5s .65s}dialog.is-open .panel-top{opacity:1;filter:blur(0)}.js .reveal{transition-duration:1.2s,1.7s,1.7s}
@media(max-width:760px){.header nav{gap:calc(20px * var(--nav-fade,1))}.header .nav-link,.scrolled .header .nav-link{display:block;max-width:calc(55px * var(--nav-fade,1));overflow:hidden;white-space:nowrap;opacity:var(--nav-fade,1);filter:blur(calc((1 - var(--nav-fade,1)) * 5px))}.about-lockup{margin:55px 0 0;gap:20px}.about-lockup .double-mark{flex-basis:48px;gap:5px}.about-lockup .about-copy{font-size:18px;line-height:1.65}.about{padding-bottom:100px}}
@font-face{font-family:Suit;src:url('assets/fonts/SUIT-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}
/* Small lockup is rendered at its final CSS size, never scaled from a huge texture. */
.brand{transition:opacity .2s linear}.brand-small{position:fixed;z-index:41;opacity:0;pointer-events:none;display:block;line-height:0;transition:opacity .2s linear}.brand-small img{display:block;width:100%;height:auto;image-rendering:auto}.brand-small:focus-visible{outline:2px solid white}
.hero-stage,#sea{background:linear-gradient(#e1e8f2,#6b8cba 58%,#2e4c95 60%,#172b51)}
.hero-caption{justify-content:flex-start}.hero-caption p{font-weight:800;position:relative;isolation:isolate;text-shadow:0 2px 16px #0a1b4070}.hero-caption p:before{content:'';position:absolute;inset:-20px -28px;z-index:-1;border-radius:20px;background:#172b5135;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);mask-image:radial-gradient(ellipse,#000 40%,transparent 74%);-webkit-mask-image:radial-gradient(ellipse,#000 40%,transparent 74%)}
.section-tag{font-size:clamp(26px,2.8vw,42px)}.statement{font-weight:600}.about-lockup{margin:75px 0 0;gap:36px}.about-lockup .about-copy{font-size:clamp(23px,2.45vw,37px);line-height:1.6}.about-lockup .double-mark{flex-basis:105px;gap:9px}.contact h2{font-weight:700}
/* Fade a softly masked blur layer, avoiding hard rectangular clipping and filter snaps. */
.text-button:hover{filter:none;opacity:1}
/* Explicit staged opening, reverse staged closing. */
dialog::backdrop{background:#0d182d00;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);transition:background 1.25s ease,backdrop-filter 1.25s ease,-webkit-backdrop-filter 1.25s ease}dialog.has-blur::backdrop{background:#0d182d30;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.panel{transform:translate3d(104%,0,0);transition:transform 1.55s cubic-bezier(.35,0,.2,1);will-change:transform}dialog.has-panel .panel{transform:translate3d(0,0,0)}
.panel-reveal{opacity:0;filter:blur(18px);transform:translateY(20px);transition:opacity .65s ease,filter .85s ease,transform .85s ease;transition-delay:var(--exit-delay,0ms)}dialog.has-content .panel-reveal{opacity:1;filter:blur(0);transform:translateY(0);transition-duration:1.25s,1.55s,1.55s;transition-delay:var(--entry-delay,0ms)}.panel-top{opacity:0;filter:blur(12px);transition:opacity .65s,filter .85s;transition-delay:.15s}dialog.has-content .panel-top{opacity:1;filter:none;transition-duration:1.2s,1.5s;transition-delay:0s}
@media(max-width:760px){.section-tag{font-size:25px}.statement{font-size:clamp(33px,7.5vw,58px)}.about-lockup{gap:20px;margin-top:48px}.about-lockup .double-mark{flex-basis:58px;gap:5px}.about-lockup .about-copy{font-size:21px}.hero-caption p{font-size:27px}.brand-small{max-width:70vw}}

/* The paper sections slide over a stationary wave scene. */
.hero-stage{position:fixed;inset:0 0 auto;z-index:0;width:100%;height:100svh}
.about,.services,footer{position:relative;z-index:1;background:var(--paper)}
.contact{z-index:1}
/* Transform only the label: no layout/padding jump on hover or release. */
.service-list button,.service-list button:hover,.service-list button:focus-visible{padding-left:0;padding-right:0;transition:color 1s ease}
.service-list button>span:first-child{display:block;transform:translateX(0);transition:transform 1.1s cubic-bezier(.2,.65,.25,1)}
.service-list button:hover>span:first-child,.service-list button:focus-visible>span:first-child{transform:translateX(20px)}
.service-arrow{transition:transform 1.1s cubic-bezier(.2,.65,.25,1),filter 1s ease}
@media(max-width:760px){.service-list button:hover>span:first-child,.service-list button:focus-visible>span:first-child{transform:translateX(10px)}}

/* Feather the glass header into the scene instead of ending at a hard edge. */
.header:before{inset:0 0 -48px;border:0;box-shadow:none;mask-image:linear-gradient(to bottom,#000 0%,#000 48%,rgba(0,0,0,.8) 63%,rgba(0,0,0,.3) 82%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 48%,rgba(0,0,0,.8) 63%,rgba(0,0,0,.3) 82%,transparent 100%);pointer-events:none}

/* Each rendered line fades from 10px blur; positions remain steady. */
.js [data-blur-text]:not(.text-ready){visibility:hidden}
.blur-line{display:block;opacity:0;filter:blur(10px);transition:filter 1.35s cubic-bezier(.22,.61,.36,1),opacity 1.05s ease;transition-delay:var(--line-delay,0ms)}
.text-visible>.blur-line{opacity:1;filter:blur(0px)}


/* Local, feathered hover. Constant backdrop blur + opacity gives a smooth 1s blend.
   The mask falls to zero before the expanded box edge: no rectangular boundary. */
.soft-hover{position:relative;isolation:isolate}
.inquiry.soft-hover{position:fixed}
.soft-hover::after{content:"";position:absolute;inset:-24px -32px;z-index:3;pointer-events:none;border-radius:50%;background:transparent;backdrop-filter:blur(2.5px);-webkit-backdrop-filter:blur(2.5px);mask-image:radial-gradient(ellipse at center,#000 0%,rgba(0,0,0,.85) 32%,rgba(0,0,0,.35) 58%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse at center,#000 0%,rgba(0,0,0,.85) 32%,rgba(0,0,0,.35) 58%,transparent 78%);opacity:0;transition:opacity 1s cubic-bezier(.42,0,.58,1)!important;transition-delay:0s!important}
.soft-hover.is-hovered::after{opacity:1}
.nav-link:hover,.text-button:hover{filter:none;opacity:1}
.contact-details a:hover{text-decoration:none}
.button-words{overflow:visible}
.inquiry .button-words>span,.inquiry:hover .button-words>span,.inquiry:focus-visible .button-words>span{transform:none;filter:none}
/* Target only direct children, leaving split text and screen-reader spans untouched. */
.contact-big>span:last-child{transition:transform 1s cubic-bezier(.25,.46,.45,1)!important}
.service-list button,.service-list button:hover,.service-list button:focus-visible{padding-left:0;padding-right:0}
.service-list button>span:first-child{transform:translate3d(0,0,0);transition:transform 1s cubic-bezier(.25,.46,.45,1)!important;transition-delay:0s!important}
.service-list button:hover>span:first-child{transform:translate3d(22px,0,0)}
.service-list button:focus-visible:not(:hover)>span:first-child{transform:translate3d(0,0,0)}
.service-list .service-arrow{transition:transform 1s cubic-bezier(.25,.46,.45,1),filter 1s ease!important;transition-delay:0s!important}
@media(max-width:760px){.service-list button:hover>span:first-child{transform:translate3d(12px,0,0)}}

/* Preserve the original vector outlines: filtering an SVG subgroup rasterized the small tagline. */
.brand .logo-tagline{filter:none!important;will-change:auto;fill:#43464b}
/* Services act as the foreground cover; the blue ending is revealed beneath it. */
.services{z-index:2}
.contact{position:sticky;bottom:0;z-index:0;height:100svh;min-height:580px;padding:clamp(30px,5.5vh,65px) var(--gutter) 28px;display:flex;flex-direction:column;background:var(--blue);overflow:hidden}
.contact h2{font-size:clamp(40px,8.8vh,100px);line-height:1.13;margin:0 0 clamp(22px,3.5vh,38px);flex-shrink:0}
.contact-big{font-size:clamp(25px,3.5vh,40px);width:fit-content;min-width:300px;max-width:100%;padding-bottom:15px;flex-shrink:0}
.contact-details{margin-top:auto;padding-top:30px;display:flex;flex-direction:row;justify-content:space-between;gap:22px;font-size:calc(clamp(20px,2.6vw,36px) + 6pt);font-weight:700;flex-shrink:0}
.closing-logo{width:100%;margin-top:clamp(28px,5vh,58px);flex-shrink:0}
.closing-logo svg{display:block;width:100%;height:auto;overflow:visible;fill:#fff}
.closing-logo svg g,.closing-logo svg path{fill:#fff;filter:none}
.header{transition:transform .9s cubic-bezier(.22,.61,.36,1),color .6s}
.brand-small{transition:opacity .2s linear,transform .9s cubic-bezier(.22,.61,.36,1)}
.at-end .header{transform:translate3d(0,-160px,0);pointer-events:none}
.at-end .brand-small{transform:translate3d(0,-110px,0);pointer-events:none!important}
.inquiry{transition:opacity .65s ease,transform .8s ease}
.contact-in-view .inquiry{opacity:0;transform:translateY(100px);pointer-events:none}
body{background:var(--blue)}
@media(max-width:760px){.contact{min-height:540px;padding:50px var(--gutter) 30px}.contact h2{font-size:clamp(38px,6.7vh,58px)}.contact-details{flex-direction:column;gap:14px;font-size:calc(21px + 6pt)}.contact-big{width:100%;min-width:0}.closing-logo{margin-top:55px}}
@media(max-height:640px){.contact{min-height:100svh;padding-top:24px;padding-bottom:20px}.contact h2{font-size:clamp(30px,7vh,45px);margin-bottom:16px}.contact-big{font-size:23px;padding-bottom:10px}.contact-details{padding-top:18px;font-size:calc(18px + 6pt);gap:10px}.closing-logo{margin-top:22px;max-width:min(100%,calc(100svh * 1.6))}}

.hero{z-index:1;clip-path:inset(0);background:transparent}

@media(max-width:760px){.contact h2{font-size:clamp(30px,8.4vw,44px)}}

/* Keep the explicitly requested end-of-page exit animated in every motion mode. */
.header{transition:transform .9s cubic-bezier(.22,.61,.36,1),color .6s!important;transition-delay:0s!important}
.brand-small{transition:opacity .2s linear,transform .9s cubic-bezier(.22,.61,.36,1)!important;transition-delay:0s!important}

/* v10: reversed inquiry spotlight, gradual drawer, and scroll-linked closing sequence. */
#inquiry-focus{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:0;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);transition:opacity 1s cubic-bezier(.42,0,.58,1)!important;transition-delay:0s!important}
#inquiry-focus.active{opacity:1}
.open-contact::after{content:none!important}
.panel-logo{display:block;width:155px;line-height:0}
.panel-logo svg{display:block;width:100%;height:auto}
.panel-logo .logo-bars{fill:#2e4c95}.panel-logo .logo-type{fill:#17191e}
dialog::backdrop{transition:background 1.3s ease,backdrop-filter 1.3s ease,-webkit-backdrop-filter 1.3s ease!important;transition-delay:0s!important}
.panel{transition:transform 1.6s cubic-bezier(.35,0,.2,1)!important;transition-delay:0s!important}
.panel-top{transition:opacity 1s ease,filter 1.35s ease!important;transition-delay:0s!important}
.panel-reveal{transition:opacity .7s ease,filter .9s ease,transform .9s ease!important;transition-delay:var(--exit-delay,0ms)!important}
dialog.has-content .panel-reveal{transition:opacity 1.3s ease,filter 1.6s cubic-bezier(.22,.61,.36,1),transform 1.6s cubic-bezier(.22,.61,.36,1)!important;transition-delay:var(--entry-delay,0ms)!important}
.submit-actions{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#f5f5f1}
.submit-actions .submit{font-size:16px;padding:18px 14px;gap:8px}
.submit-sms{background:#1f315e}
.contact-track{position:relative;height:270svh;margin-top:-100svh;z-index:0;background:var(--blue)}
.contact{position:sticky;top:0;bottom:auto}
.contact h2,.contact-big{transform:translate3d(0,calc(48px * (1 - var(--end-progress,0))),0)}
.contact-details{transform:translate3d(0,calc(28px * (1 - var(--end-progress,0))),0)}
.closing-logo{opacity:var(--end-progress,0);transform:translate3d(0,calc(145px * (1 - var(--end-progress,0))),0);will-change:transform,opacity}
.header,.at-end .header{transform:translate3d(0,calc(-160px * var(--end-progress,0)),0);transition:color .6s!important}
.brand-small,.at-end .brand-small{transform:translate3d(0,calc(-110px * var(--end-progress,0)),0);transition:opacity .2s linear!important}
.header:before{backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%)}
@media(max-width:420px){.submit-actions .submit{font-size:14px;padding:16px 10px}.submit-actions .submit span{font-size:18px}}

/* Remove the older rolling-label hover filter: the real inquiry label must stay sharp. */
.inquiry .button-words,.inquiry .button-words>span,.inquiry:hover .button-words>span:first-child,.inquiry:focus-visible .button-words>span{filter:none!important;transform:none!important}

.hero-caption p{font-size:calc(clamp(24px,2.4vw,38px) + 13pt)}
@media(max-width:760px){.hero-caption p{font-size:calc(27px + 13pt)}}
.panel{overflow-x:hidden;transition:transform 1.2s cubic-bezier(.76,0,.24,1)!important}
.panel-title{opacity:1;filter:none;transform:none}
.panel-title .title-line{display:block}
.panel-title .title-char{display:inline-block;opacity:0;filter:blur(10px);transition:filter .7s cubic-bezier(.76,0,.24,1),opacity .7s cubic-bezier(.76,0,.24,1);transition-delay:var(--char-exit,0ms)}
dialog.has-content .title-char{opacity:1;filter:blur(0);transition-duration:1.2s,1.2s;transition-delay:var(--char-delay,0ms)}
.panel-reveal{transform:none;filter:blur(10px)}
dialog.has-content .panel-reveal{transform:none;transition:opacity 1s cubic-bezier(.76,0,.24,1),filter 1.2s cubic-bezier(.76,0,.24,1)!important}
.soft-hover::after{content:none!important}

/* Closing timeline: text 0–200ms, panel 150–650ms, backdrop 350–1000ms. */
dialog.is-closing .title-char{opacity:0;filter:blur(10px);transition:opacity .17s ease,filter .17s ease!important;transition-delay:calc(var(--char-exit,0ms) * .15)!important}
dialog.is-closing .panel-reveal,dialog.is-closing .panel-top{opacity:0;filter:blur(10px);transition:opacity .2s ease,filter .2s ease!important;transition-delay:0s!important}
dialog.is-closing .panel{transform:translate3d(104%,0,0)!important;transition:transform .5s cubic-bezier(.76,0,.24,1)!important;transition-delay:.15s!important}
dialog.is-closing::backdrop{background:#0d182d00!important;backdrop-filter:blur(0px)!important;-webkit-backdrop-filter:blur(0px)!important;transition:background .65s ease,backdrop-filter .65s ease,-webkit-backdrop-filter .65s ease!important;transition-delay:.35s!important}
.closing-logo{display:block;cursor:pointer}.closing-logo:focus-visible{outline:2px solid #fff;outline-offset:10px}

/* Contact type grows by exactly 6pt at each existing breakpoint. */
.contact-details a{min-width:0;overflow-wrap:anywhere}
