:root{--bg:#f4f2ee;--bg-tint:#ece9e3;--surface:#fff;--ink:#0e1726;--ink-2:#2a3445;--muted:#5e6779;--line:#d9d5cd;--line-strong:#bdb7ac;--blue:#2b57a6;--blue-deep:#1b3a74;--gold:#b8924a;--gold-soft:#e9dcbc;--steel:#8e98a8;--font-sans:"Inter Tight", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:"Instrument Serif", Georgia, serif;--radius:14px;--radius-sm:8px;--gutter:clamp(16px, 4vw, 48px);--max:1280px;--ease:cubic-bezier(.2, .7, .1, 1);--header-h:76px;--mm-bg:#f4f2ee;--mm-ink:#0e1726;--mm-muted:#5e6779;--mm-accent:#2b57a6;--mm-on-accent:#fff;--mm-grid:#2b57a60f;--mm-font:"Inter Tight", system-ui, sans-serif;--mm-top:76px;--mm-z:49;--mm-btn-line:#bdb7ac;--mm-btn-bg:#fff}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.6;overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3{letter-spacing:-.025em;margin:0;font-weight:600;line-height:1.04}p{margin:0}em{font-family:var(--font-serif);letter-spacing:-.01em;font-style:italic;font-weight:400}::selection{background:var(--blue);color:#fff}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--ink);color:#fff;border-radius:8px;padding:10px 16px;position:absolute;top:-60px;left:16px}.skip:focus{top:12px}.section{padding-block:clamp(80px,11vw,150px)}.section--tint{background:var(--bg-tint)}.section--dark{background:var(--ink);color:#edeae4}.label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;font-size:12px;font-weight:600;display:inline-flex}.label:before{content:"";background:var(--gold);width:22px;height:1px}.section-head{gap:18px;margin-bottom:clamp(40px,6vw,72px);display:grid}.section-head--split{grid-template-columns:1fr auto;align-items:end;gap:24px}.section-title{max-width:16ch;font-size:clamp(38px,5.6vw,76px)}.section-title em{color:var(--blue)}.btn{--h:54px;height:var(--h);letter-spacing:-.005em;transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease);white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:0 26px;font-size:15px;font-weight:600;display:inline-flex}.btn--sm{--h:42px;padding:0 18px;font-size:14px}.btn--dark{background:var(--ink);color:#fff}.btn--dark:hover{background:var(--blue)}.btn--ghost{border-color:var(--line-strong)}.btn--ghost:hover{border-color:var(--ink);background:var(--surface)}.btn__arrow{transition:transform .35s var(--ease)}.btn:hover .btn__arrow{transform:translate(4px)}.chip{color:var(--ink);letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}.chip:before{content:"";background:var(--steel);border-radius:50%;width:7px;height:7px}.chip--gold:before{background:var(--gold);box-shadow:0 0 0 4px #b8924a33}.header{z-index:50;height:var(--header-h);transition:transform .5s var(--ease), background .4s, box-shadow .4s;position:fixed;inset:0 0 auto}.header.is-scrolled{-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);box-shadow:0 1px 0 var(--line);background:#f4f2eed1}.header.is-hidden{transform:translateY(-100%)}.header__inner{justify-content:space-between;align-items:center;gap:24px;height:100%;display:flex}.brand{align-items:center;gap:12px;display:inline-flex}.brand__mark{flex:none;width:46px;height:auto}.brand__mark--lg{width:120px}.brand__word{letter-spacing:-.01em;color:var(--ink-2);font-size:17px}.brand__word strong{color:var(--ink);letter-spacing:.02em;font-weight:800}.nav__list{border:1px solid var(--line);background:#fff9;border-radius:999px;gap:6px;margin:0;padding:4px;list-style:none;display:flex}.nav__list a{color:var(--ink-2);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .3s,color .3s;display:block}.nav__list a:hover,.nav__list a.is-current{background:var(--ink);color:#fff}.header__cta{align-items:center;gap:18px;display:flex}.header__phone{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.header__phone:hover{color:var(--blue)}.hero{padding-top:calc(var(--header-h) + clamp(40px, 7vw, 96px));padding-bottom:clamp(60px,8vw,110px);position:relative;overflow:hidden}.hero__grid-bg{pointer-events:none;opacity:.55;background-image:linear-gradient(90deg,#2b57a612 1px,#0000 1px),linear-gradient(#2b57a612 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 70% 40%,#000 30%,#0000 80%);mask-image:radial-gradient(80% 70% at 70% 40%,#000 30%,#0000 80%)}.hero__inner{grid-template-columns:1.02fr 1fr;align-items:center;gap:clamp(32px,5vw,80px);display:grid;position:relative}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;margin-bottom:26px;font-size:13px;font-weight:600;display:inline-flex}.dot{background:var(--gold);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #b8924a2e}.hero__title{letter-spacing:-.04em;font-size:clamp(48px,7.4vw,108px);line-height:.98}.hero__title em{color:var(--blue);padding-right:.06em;display:inline-block}.hero__lead{max-width:34em;color:var(--ink-2);margin-top:28px;font-size:clamp(17px,1.35vw,19px)}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.hero__meta{color:var(--muted);flex-wrap:wrap;gap:8px 22px;margin:40px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.hero__meta li{align-items:center;gap:10px;display:flex}.hero__meta li:before{content:"";background:var(--line-strong);width:14px;height:1px}.hero__media{aspect-ratio:1/1.02;position:relative}.hero__img{border-radius:var(--radius);margin:0;position:absolute;overflow:hidden;box-shadow:0 30px 80px -30px #0e172659}.hero__img img{object-fit:cover;width:100%;height:100%}.hero__img figcaption{position:absolute;top:16px;left:16px}.hero__img--main{inset:0 0 18% 12%}.hero__img--sub{aspect-ratio:4/3;border:6px solid var(--bg);border-radius:calc(var(--radius) + 4px);width:46%;bottom:0;left:0}.hero__note{color:var(--muted);text-align:right;max-width:46%;font-size:12px;position:absolute;bottom:4%;right:0}.proof{border-block:1px solid var(--line);background:var(--surface);padding-block:34px 44px}.proof__head{margin-bottom:22px}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee__track{width:max-content;animation:48s linear infinite marquee;display:flex}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__list{align-items:center;gap:clamp(40px,6vw,84px);margin:0;padding:0 clamp(20px,3vw,42px);list-style:none;display:flex}.marquee__list img{object-fit:contain;mix-blend-mode:multiply;filter:grayscale()contrast(1.05);opacity:.7;width:auto;max-width:150px;height:46px;transition:filter .4s,opacity .4s}.marquee__list li:hover img{filter:none;opacity:1}@keyframes marquee{to{transform:translate(-50%)}}.intro__grid{grid-template-columns:220px 1fr;align-items:start;gap:clamp(24px,5vw,80px);display:grid}.intro__grid>.label{margin-top:14px}.intro__statement{letter-spacing:-.025em;max-width:24ch;font-size:clamp(28px,3.4vw,48px);font-weight:500;line-height:1.18}.intro__statement em{color:var(--blue)}.intro__facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:24px;margin-top:clamp(40px,6vw,72px);padding-top:28px;display:grid}.intro__facts div{color:var(--muted);gap:4px;font-size:15px;display:grid}.intro__num{color:var(--ink);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(40px,4.4vw,60px);font-weight:300;line-height:1}.services__grid{grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);display:grid}.service{background:var(--surface);border-radius:var(--radius);transition:transform .5s var(--ease), box-shadow .5s var(--ease);align-content:start;gap:10px;padding:14px 14px 30px;display:grid}.service:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px #0e17264d}.service__img{aspect-ratio:4/3;border-radius:var(--radius-sm);margin-bottom:16px;overflow:hidden}.service__img img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease)}.service:hover .service__img img{transform:scale(1.06)}.service__num,.service h3,.service p{padding-inline:12px}.service__num{color:var(--gold);letter-spacing:.08em;font-size:13px;font-weight:600}.service h3{font-size:26px}.service p{color:var(--muted);font-size:16px}.trades{border-top:1px solid var(--line-strong);grid-template-columns:220px 1fr;align-items:center;gap:24px;margin-top:clamp(48px,6vw,80px);padding-top:32px;display:grid}.trades__title{font-weight:600}.trades__list{grid-template-columns:repeat(6,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.trades__list li{background:var(--surface);border-radius:var(--radius-sm);justify-items:start;gap:12px;padding:18px;font-size:15px;font-weight:600;display:grid}.trades__list svg{fill:none;width:30px;height:30px;stroke:var(--blue);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.sectors__grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,6vw,96px);display:grid}.sectors__list{border-top:1px solid var(--line);counter-reset:s;margin:40px 0 0;padding:0;list-style:none}.sectors__list li{border-bottom:1px solid var(--line)}.sectors__list button{text-align:left;letter-spacing:-.02em;width:100%;color:var(--muted);transition:color .35s, padding .5s var(--ease);background:0 0;border:0;align-items:center;gap:22px;padding:22px 4px;font-size:clamp(22px,2.3vw,32px);font-weight:500;display:flex}.sectors__idx{color:var(--steel);letter-spacing:.08em;width:26px;font-size:13px;font-weight:600}.sectors__arrow{opacity:0;transition:opacity .35s, transform .45s var(--ease);color:var(--blue);margin-left:auto;transform:translate(-10px)}.sectors__list li.is-active button,.sectors__list button:hover{color:var(--ink);padding-left:14px}.sectors__list li.is-active .sectors__arrow{opacity:1;transform:none}.sectors__list li.is-active .sectors__idx{color:var(--gold)}.sectors__preview{aspect-ratio:4/5;border-radius:var(--radius);background:var(--ink);margin:0;position:relative;overflow:hidden}.sectors__preview img{object-fit:cover;width:100%;height:100%;transition:opacity .5s var(--ease), transform 1.2s var(--ease)}.sectors__preview img.is-swapping{opacity:0;transform:scale(1.04)}.blueprint{color:#cfe0ff;opacity:0;transition:opacity .5s var(--ease);background:#13254a;place-items:center;display:grid;position:absolute;inset:0}.blueprint.is-on{opacity:1}.blueprint svg{fill:none;width:82%;height:auto}.blueprint__grid path{stroke:#cfe0ff14;stroke-width:1px}.blueprint__plan rect,.blueprint__plan path{stroke:#cfe0ff;stroke-width:2px}.blueprint__door{stroke-dasharray:3 4}.blueprint__dims path{stroke:#cfe0ff73;stroke-width:1px}.blueprint__label{letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-weight:600;position:absolute;top:24px;left:28px}.blueprint__note{font-family:var(--font-serif);color:#fff;font-size:22px;font-style:italic;position:absolute;bottom:24px;left:28px}.filters{flex-wrap:wrap;gap:6px;display:flex}.filters button{border:1px solid var(--line-strong);background:0 0;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:500;transition:all .3s}.filters button:hover{border-color:var(--ink)}.filters button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}.work__grid{columns:3 300px;column-gap:18px}.tile{break-inside:avoid;transition:opacity .45s var(--ease), transform .45s var(--ease);margin:0 0 18px}.tile.is-hidden{display:none}.tile.is-entering{animation:tileIn .6s var(--ease) both}@keyframes tileIn{0%{opacity:0;transform:translateY(16px)}}.tile button{border-radius:var(--radius);background:var(--ink);cursor:zoom-in;border:0;width:100%;padding:0;display:block;overflow:hidden}.tile img{width:100%;transition:transform 1s var(--ease), opacity .5s}.tile button:hover img{opacity:.9;transform:scale(1.05)}.tile figcaption{justify-content:space-between;gap:12px;padding:12px 4px 0;font-size:14px;display:flex}.tile figcaption span{color:var(--muted);text-align:right}.process__steps{border-top:1px solid var(--line-strong);grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.step{align-content:start;gap:12px;padding:36px 28px 8px 0;display:grid;position:relative}.step+.step{border-left:1px solid var(--line);padding-left:28px}.step:before{content:"";background:var(--bg);border:1.5px solid var(--blue);border-radius:50%;width:9px;height:9px;position:absolute;top:-5px;left:0}.step+.step:before{left:-5px}.step__num{color:var(--gold);letter-spacing:.08em;font-size:13px;font-weight:600}.step h3{font-size:clamp(28px,2.6vw,36px)}.step p{color:var(--muted);font-size:16px}.quote__inner{text-align:center;justify-items:center;gap:28px;display:grid}.quote__mark{width:52px;fill:var(--gold)}.quote blockquote{margin:0}.quote blockquote p{font-family:var(--font-serif);letter-spacing:-.01em;max-width:20ch;font-size:clamp(36px,5.2vw,72px);line-height:1.08}.quote blockquote footer{letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-top:26px;font-size:14px}.faq__grid{grid-template-columns:1fr 1.2fr;align-items:start;gap:clamp(32px,6vw,96px);display:grid}.faq__grid>div:first-child{top:calc(var(--header-h) + 24px);gap:18px;display:grid;position:sticky}.faq__aside{color:var(--muted);max-width:30ch}.faq__aside a{color:var(--blue);font-weight:600}.faq__items{border-top:1px solid var(--line-strong)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;letter-spacing:-.015em;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;font-size:clamp(19px,1.7vw,23px);font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";border:1px solid var(--line-strong);width:34px;height:34px;transition:transform .4s var(--ease), background .3s, color .3s;border-radius:50%;flex:none;place-items:center;font-size:20px;font-weight:400;display:grid}.faq details[open] summary:after{background:var(--ink);color:#fff;border-color:var(--ink);transform:rotate(45deg)}.faq details p{color:var(--ink-2);padding:0 48px 26px 0}.contact__grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(32px,6vw,96px);display:grid}.contact__intro{gap:18px;display:grid}.contact__intro>p{color:var(--ink-2);max-width:36ch}.contact__details{border-top:1px solid var(--line-strong);grid-template-columns:1fr 1fr;gap:22px;margin:22px 0 0;padding-top:26px;display:grid}.contact__details dt{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:600}.contact__details dd{margin:0;font-weight:500}.contact__details a:hover{color:var(--blue)}.form{background:var(--surface);border-radius:calc(var(--radius) + 6px);gap:18px;padding:clamp(22px,3.5vw,44px);display:grid;box-shadow:0 40px 80px -50px #0e172659}.form__row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.field>span,.field legend{color:var(--ink-2);padding:0;font-size:13px;font-weight:600}.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid #0000;border-radius:10px;padding:14px 16px;font-size:16px;transition:border-color .3s,background .3s,box-shadow .3s}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);background:#fff;outline:0;box-shadow:0 0 0 4px #2b57a61f}.field input[aria-invalid=true]{border-color:#c2412d}.chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.chips label{position:relative}.chips input{opacity:0;cursor:pointer;position:absolute;inset:0}.chips span{border:1px solid var(--line-strong);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:500;transition:all .25s;display:inline-block}.chips input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.chips input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}.form__foot{flex-wrap:wrap;align-items:center;gap:18px;margin-top:6px;display:flex}.form__status{color:var(--muted);font-size:14px}.form__status.is-ok{color:#1f7a4d}.form__status.is-error{color:#c2412d}.footer{background:var(--ink);color:#c9ced8;padding-top:clamp(64px,8vw,110px)}.footer__inner{border-bottom:1px solid #ffffff1a;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:56px;display:grid}.footer__tagline{font-family:var(--font-serif);color:#fff;max-width:14ch;margin-top:22px;font-size:clamp(30px,3.4vw,48px);line-height:1.05}.footer__nav,.footer__contact{align-content:start;gap:10px;display:grid}.footer a:hover{color:#fff}.footer__base{color:#8a93a3;justify-content:space-between;gap:20px;padding-block:24px 32px;font-size:13px;display:flex}.lightbox{border-radius:var(--radius);background:0 0;border:0;width:min(1100px,92vw);max-height:92vh;padding:0;overflow:visible}.lightbox::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c14db}.lightbox[open]{animation:lbIn .45s var(--ease)}@keyframes lbIn{0%{opacity:0;transform:scale(.96)}}.lightbox figure{margin:0}.lightbox img{border-radius:var(--radius);width:auto;max-height:80vh;margin-inline:auto}.lightbox figcaption{text-align:center;color:#e9e6df;margin-top:14px;font-size:15px}.lightbox__close,.lightbox__nav{color:#fff;background:#ffffff1f;border:0;border-radius:50%;width:48px;height:48px;font-size:22px;transition:background .3s;position:absolute}.lightbox__close:hover,.lightbox__nav:hover{background:#ffffff40}.lightbox__close{font-size:28px;top:-60px;right:-8px}.lightbox__nav{top:40%}.lightbox__nav--prev{left:-64px}.lightbox__nav--next{right:-64px}.js .reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transition-delay:var(--d,0s);transform:translateY(22px)}.js .reveal--img{clip-path:inset(8% 0 0 0 round var(--radius));transition:opacity 1s var(--ease), transform 1.2s var(--ease), clip-path 1.2s var(--ease);transition-delay:var(--d,0s);transform:translateY(30px)scale(.98)}.js .reveal.is-in{opacity:1;clip-path:inset(0 0 0 0 round var(--radius));transform:none}@media (width<=1100px){.nav,.header__phone{display:none}.trades__list{grid-template-columns:repeat(3,1fr)}.trades{grid-template-columns:1fr}}@media (width<=900px){.hero__inner,.sectors__grid,.faq__grid,.contact__grid{grid-template-columns:1fr}.hero__media{aspect-ratio:1/.9}.intro__grid,.services__grid{grid-template-columns:1fr}.process__steps{grid-template-columns:1fr 1fr;row-gap:28px}.step:nth-child(3){border-left:0;padding-left:0}.step:nth-child(3):before{left:0}.section-head--split{grid-template-columns:1fr}.faq__grid>div:first-child{position:static}.footer__inner{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}.sectors__preview{aspect-ratio:4/3;order:-1}.lightbox__nav--prev{left:8px}.lightbox__nav--next,.lightbox__close{right:8px}}@media (width<=600px){body{font-size:16px}.header .btn--sm{display:none}.brand__word{font-size:16px}.hero__note{text-align:left;max-width:none;margin-top:10px;position:static}.hero__media{aspect-ratio:auto;gap:12px;display:grid}.hero__img{position:relative;inset:auto}.hero__img--main{aspect-ratio:4/3}.hero__img--sub{width:60%;margin-top:-90px;margin-left:-6px}.intro__facts{grid-template-columns:1fr}.trades__list{grid-template-columns:1fr 1fr}.process__steps{grid-template-columns:1fr}.step,.step+.step{border-left:1px solid var(--line);padding:30px 0 4px 24px}.step:before,.step+.step:before,.step:nth-child(3):before{top:34px;left:-5px}.process__steps{border-top:0}.form__row,.contact__details,.footer__inner{grid-template-columns:1fr}.footer__base{flex-direction:column}.tile figcaption{flex-direction:column;gap:0}.tile figcaption span{text-align:left}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js .reveal,.js .reveal--img{opacity:1;clip-path:none;transform:none}.marquee__track{animation:none}.marquee{overflow-x:auto}}
