:root{--navy-900:#081f3a;--navy:#0c2b4e;--blue:#0b5f95;--cyan:#2ba3c6;--cyan-light:#8fd8ec;--cyan-ink:#156f8b;--slate:#6b7f94;--slate-ink:#4a5b6d;--on-navy:#c9d8e6;--text:#0f2236;--bg:#fff;--paper:#f3f7fa;--rule:#cfdbe5;--font:"Space Grotesk", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--header-h:80px;--ease-out:cubic-bezier(.22, 1, .36, 1);--gutter:max(16px, (100vw - 1200px) / 2)}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:var(--header-h)}body{font:17px/1.6 var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;caret-color:#0000;cursor:default;margin:0}input,textarea,[contenteditable]{caret-color:auto}@media (width<=600px){body{font-size:16px}}.on-touch{display:none}@media (hover:none){.on-hover{display:none}.on-touch{display:inline}}#root{flex-direction:column;min-height:100vh;display:flex}main{flex:1}h1,h2,h3{color:var(--navy);letter-spacing:-.02em;text-wrap:balance;margin:0 0 .5em;font-weight:600;line-height:1.1}p{margin:0 0 1em}a{color:var(--cyan-ink)}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.container{width:min(1200px,100% - 32px);margin-inline:auto}.mono-label{font:500 .78rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--slate-ink);margin:0 0 1.25rem}.mono-label a{color:inherit}.sec-head{font:500 .78rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-ink);align-items:center;gap:.75rem;margin:0 0 1rem;display:flex}.sec-head:before{content:"";background:var(--cyan);width:28px;height:2px}.sec-head--light{color:var(--cyan-light)}.blueprint{background-color:var(--paper);background-image:linear-gradient(#0c2b4e0f 1px,#0000 1px),linear-gradient(90deg,#0c2b4e0f 1px,#0000 1px);background-size:32px 32px}.blueprint--dark{background-color:var(--navy);background-image:linear-gradient(#8fd8ec12 1px,#0000 1px),linear-gradient(90deg,#8fd8ec12 1px,#0000 1px)}.btn{background:var(--navy);color:#fff;font:600 .98rem/1.2 var(--font);cursor:pointer;border:0;align-items:center;gap:.75rem;padding:.95rem 1.4rem;text-decoration:none;transition:background .15s;display:inline-flex}.btn:hover{background:var(--blue)}.btn svg,.link-arrow svg{transition:transform .15s}.btn:hover svg,.link-arrow:hover svg{transform:translate(3px)}.link-arrow{color:var(--navy);text-decoration:underline;-webkit-text-decoration-color:var(--cyan);text-decoration-color:var(--cyan);text-underline-offset:6px;align-items:center;gap:.5rem;font-weight:600;text-decoration-thickness:2px;display:inline-flex}.link-arrow--light{color:#fff}.tags{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tags li{border:1px solid var(--rule);background:var(--paper);font:500 .78rem var(--mono);letter-spacing:.04em;color:var(--navy);padding:.3rem .7rem}.photo{object-fit:cover;background:var(--paper);width:100%;display:block}.photo--empty{text-align:center;color:var(--slate-ink);background:repeating-linear-gradient(135deg, var(--paper) 0 12px, #e6edf3 12px 13px);border:1px dashed #a3b6c6;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:1rem;display:flex}.photo--empty span{max-width:24ch;color:var(--navy);font-size:.95rem;font-weight:500;line-height:1.35}.photo--empty small{font:500 .68rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.header{z-index:10;background:var(--bg);border-bottom:1px solid var(--rule);position:sticky;top:0}.header__inner{height:var(--header-h);justify-content:space-between;align-items:center;display:flex;position:relative}.header__logo img{width:auto;height:60px}.nav-link{color:var(--navy);white-space:nowrap;align-items:center;gap:.25rem;font-weight:500;text-decoration:none;display:inline-flex}.nav-link>svg{color:var(--slate);transition:transform .2s}.dropdown ul{margin:0;padding:0;list-style:none}.dropdown li a{color:var(--navy);align-items:flex-start;gap:.75rem;text-decoration:none;display:flex}.dropdown li a>svg{color:var(--cyan-ink);flex:none;margin-top:.1rem}.dropdown strong{font-weight:600;display:block}.dropdown small{color:var(--slate-ink);font-size:.85rem;line-height:1.45;display:block}@media (width>=1041px){.header__call,.nav-ico,.nav-indicator{display:none}.header__nav{align-items:center;gap:clamp(1rem,1.9vw,1.75rem);height:100%;display:flex}.nav-item{align-items:center;height:100%;display:flex;position:relative}.nav-link:not(.nav-link--cta){border-block:3px solid #0000;height:100%}.nav-link:not(.nav-link--cta):hover,.nav-link.active:not(.nav-link--cta){border-bottom-color:var(--cyan)}.nav-link--cta{background:var(--navy);color:#fff;padding:.75rem 1.15rem;font-weight:600;transition:background .15s}.nav-link--cta:hover,.nav-link--cta.active{background:var(--blue)}.dropdown{opacity:0;visibility:hidden;width:600px;margin-top:1px;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;top:100%;left:-1.25rem;transform:translateY(6px)}.nav-item:last-of-type .dropdown{left:auto;right:-1.25rem}.dropdown__panel{background:var(--bg);border:1px solid var(--rule);border-top:3px solid var(--cyan);grid-template-columns:1fr 200px;display:grid;box-shadow:0 24px 48px #0c2b4e24}.dropdown ul{padding:.5rem}.dropdown li+li{border-top:1px solid var(--rule)}.dropdown li a{padding:.85rem .9rem;transition:background .15s}.dropdown li a:hover,.dropdown li a:focus-visible{background:var(--paper)}.dropdown__feature{background:var(--paper);border-left:1px solid var(--rule);color:var(--navy);flex-direction:column;gap:.6rem;padding:.75rem;text-decoration:none;display:flex}.dropdown__feature>span{font:500 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.4rem;display:inline-flex}.dropdown__feature:hover>span{color:var(--cyan-ink)}.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:none}.nav-item:hover .nav-link>svg,.nav-item:focus-within .nav-link>svg{transform:rotate(180deg)}.nav-item.is-dismissed .dropdown,.nav-item.is-dismissed:hover .dropdown,.nav-item.is-dismissed:focus-within .dropdown{opacity:0;visibility:hidden}}@media (width<=1040px){:root{--top-row:64px;--nav-row:54px;--header-h:calc(var(--top-row) + var(--nav-row))}.header{transition:transform .35s var(--ease-out), box-shadow .35s}.header.is-compact{transform:translateY(calc(-1 * var(--top-row)));box-shadow:0 10px 30px #0c2b4e1f}.header__inner{grid-template-columns:1fr auto;grid-template-rows:var(--top-row) var(--nav-row);align-items:center;display:grid}.header__logo img{height:48px;transition:opacity .3s}.header.is-compact .header__logo img,.header.is-compact .header__call{opacity:0}.header__call{background:var(--navy);color:#fff;align-items:center;gap:.6rem;padding:.45rem .9rem .45rem .45rem;font-size:.95rem;font-weight:600;line-height:1.15;text-decoration:none;transition:opacity .3s,background .2s;display:inline-flex}.header__call:active{background:var(--blue)}.header__call small{font:500 .66rem var(--mono);letter-spacing:.06em;color:var(--cyan-light);display:block}.header__call-icon{background:var(--cyan);width:34px;height:34px;color:var(--navy-900);border-radius:50%;place-items:center;display:grid;position:relative}@media (prefers-reduced-motion:no-preference){.header__call-icon:after{content:"";border:1.5px solid var(--cyan);border-radius:50%;animation:3.6s ease-out infinite pulse-soft;position:absolute;inset:0}}@keyframes pulse-soft{0%{opacity:.6;transform:scale(1)}60%,to{opacity:0;transform:scale(1.5)}}.header__nav{height:100%;margin-inline:calc(-1 * max(16px, var(--gutter)));padding-inline:max(16px, var(--gutter));overscroll-behavior-x:contain;scrollbar-width:none;border-top:1px solid var(--rule);grid-column:1/-1;align-items:center;gap:.4rem;display:flex;position:relative;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 28px),#0000)}.header__nav::-webkit-scrollbar{display:none}.nav-item{display:contents}.dropdown,.nav-link>svg{display:none}.nav-link{z-index:1;border:1px solid var(--rule);background:var(--bg);flex:none;gap:.45rem;height:38px;padding:0 .85rem;font-size:.92rem;transition:color .3s,border-color .3s,background .3s;position:relative}.nav-ico{color:var(--cyan-ink);transition:color .3s;display:inline-flex}.nav-link.active{color:#fff;background:0 0;border-color:#0000}.nav-link.active .nav-ico{color:var(--cyan-light)}.nav-indicator{background:var(--navy);height:38px;box-shadow:3px 3px 0 var(--cyan);transition:left .45s var(--ease-out), width .45s var(--ease-out);margin-top:-19px;position:absolute;top:50%}.nav-link--cta:not(.active){border-color:var(--cyan)}.header__nav:after{content:"";flex:none;width:12px}}.hero{border-bottom:1px solid var(--rule);flex-direction:column;display:flex;overflow:hidden}@media (width>=901px){.hero{min-height:calc(100svh - var(--header-h))}}.hero__grid{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,6vw,5rem);padding-block:clamp(2.5rem,4vw,3.5rem) clamp(2rem,4vw,3rem);display:grid}@media (width<=900px){.hero__grid{grid-template-columns:1fr}}.hero h1{letter-spacing:-.035em;font-size:clamp(2.3rem,6vw,4.6rem);font-weight:700;line-height:1}.hero h1>span{display:block}.hero h1 em{color:var(--blue);font-style:normal;display:block}.hero__lead{max-width:34rem;color:var(--slate-ink);margin-bottom:2rem;font-size:1.12rem}.hero__actions{flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;display:flex}.hero__status{font:500 .75rem/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--slate-ink);flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin:1.75rem 0 0;display:flex}.hero__status span:last-child:before{content:"·";color:var(--slate);margin-right:.75rem}@media (width<=600px){.hero__status span:last-child{width:100%;padding-left:calc(9px + .75rem)}.hero__status span:last-child:before{content:none}}.status-dot{background:var(--slate);border-radius:50%;flex:none;width:9px;height:9px;position:relative}.status-dot.is-open{background:var(--cyan)}@media (prefers-reduced-motion:no-preference){.status-dot.is-open:after{content:"";background:var(--cyan);border-radius:50%;animation:2s ease-out infinite pulse;position:absolute;inset:0}}@keyframes pulse{to{opacity:0;transform:scale(3)}}.hero__collage{justify-self:end;width:100%;max-width:480px;padding-bottom:2.5rem;position:relative}.hero__drift--detail{z-index:1;width:42%;position:absolute;bottom:0;left:0}@media (prefers-reduced-motion:no-preference){.hero__drift--main{translate:0 calc(var(--scroll,0) * -.04px)}.hero__drift--detail{translate:0 calc(var(--scroll,0) * -.14px)}}.hero__main{width:80%;box-shadow:14px 14px 0 var(--cyan);margin-left:auto}.hero__detail{border:8px solid var(--paper);box-shadow:0 20px 40px #0c2b4e2e}.hero__badge{z-index:2;background:var(--navy);border-left:3px solid var(--cyan);font:500 .72rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-navy);margin:0;padding:.9rem 1.1rem;position:absolute;top:9%;left:4%;box-shadow:0 16px 32px #081f3a40}.hero__badge strong{font:700 1.5rem/1.1 var(--font);letter-spacing:-.02em;text-transform:none;color:#fff;display:block}@media (prefers-reduced-motion:no-preference){.hero__badge{animation:6s ease-in-out infinite bob}}@keyframes bob{50%{transform:translateY(-8px)}}@media (width<=900px){.hero__collage{justify-self:center;max-width:520px}}@media (width<=600px){.hero__badge{padding:.65rem .8rem;font-size:.62rem}.hero__badge strong{font-size:1.15rem}.hero__detail{border-width:5px}}.hero__areas{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-bottom:clamp(2rem,4vw,3rem);display:grid}@media (width<=900px){.hero__areas{grid-template-columns:1fr;gap:.6rem}}.area-card{background:var(--bg);border:1px solid var(--rule);border-top:3px solid var(--rule);color:var(--navy);align-items:center;gap:1rem;padding:1.1rem 1.25rem;text-decoration:none;display:flex}.area-card[data-reveal]{transition:opacity .8s var(--ease-out) var(--reveal-delay,0s), transform .8s var(--ease-out) var(--reveal-delay,0s), translate .25s, border-color .25s, box-shadow .25s}.area-card:hover{border-top-color:var(--cyan);translate:0 -3px;box-shadow:0 18px 36px #0c2b4e1f}.area-card>svg:first-child{color:var(--cyan-ink);flex:none}.area-card>svg:last-child{color:var(--slate);flex:none;margin-left:auto;transition:transform .25s,color .25s}.area-card:hover>svg:last-child{color:var(--cyan-ink);transform:translate(3px)}.area-card strong{font-size:1.08rem;font-weight:600;line-height:1.25;display:block}.area-card small{color:var(--slate-ink);margin-top:.2rem;font-size:.82rem;line-height:1.4;display:block}.ticker{background:var(--navy);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.ticker__track{width:max-content;display:flex}@media (prefers-reduced-motion:no-preference){.ticker__track{animation:50s linear infinite ticker}.ticker:hover .ticker__track,.ticker:focus-within .ticker__track{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){.ticker{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.ticker__set[aria-hidden]{display:none}}@keyframes ticker{to{transform:translate(-50%)}}.ticker__set{display:flex}.ticker a{font:500 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--on-navy);border-right:1px solid #8fd8ec2e;align-items:center;gap:.6rem;padding:1rem 1.6rem;text-decoration:none;transition:color .2s;display:inline-flex}.ticker a svg{color:var(--cyan)}.ticker a:hover{color:#fff}.statement{padding-block:clamp(4rem,9vw,7rem)}.statement__text{letter-spacing:-.025em;max-width:26ch;color:var(--navy);margin-bottom:clamp(2.5rem,6vw,4.5rem);font-size:clamp(1.8rem,4.2vw,3.1rem);font-weight:500;line-height:1.15}.statement__text em{color:var(--cyan-ink);font-style:normal}.statement__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}@media (width<=860px){.statement__grid{grid-template-columns:1fr}}.statement__photo{width:calc(100% - 16px);box-shadow:-16px 16px 0 var(--navy);margin-left:16px}.statement__grid p{color:var(--slate-ink);font-size:1.05rem}.facts{border-top:2px solid var(--navy);margin:2rem 0 0}.facts div{border-bottom:1px solid var(--rule);grid-template-columns:8.5rem 1fr;gap:1rem;padding:.85rem 0;display:grid}.facts dt{font:500 .75rem/1.9 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--slate-ink)}.facts dd{color:var(--navy);margin:0;font-weight:600}@media (width<=600px){.statement__text{font-size:clamp(1.55rem,7vw,1.9rem)}.statement__grid p{font-size:1rem}.facts div{grid-template-columns:1fr;gap:.15rem}}.house{padding-block:clamp(4rem,8vw,6rem)}.house__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 3rem;margin-bottom:2.5rem;display:flex}.house__head h2{color:#fff;margin:0;font-size:clamp(2rem,4.5vw,3.2rem)}.house__head p{max-width:22rem;color:var(--on-navy);margin:0}.explorer{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:stretch;gap:1.5rem;display:grid}@media (width<=900px){.explorer{grid-template-columns:minmax(0,1fr)}}.explorer__plan{border:1px solid #8fd8ec40;padding:clamp(1rem,3vw,2rem)}.explorer__canvas{position:relative}.hotspot{border:2px solid var(--cyan);background:var(--navy);width:30px;height:30px;color:var(--cyan-light);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:background .15s,color .15s,transform .15s;display:grid;position:absolute;transform:translate(-50%,-50%)}.hotspot:after{content:"";border:1px solid var(--cyan);opacity:0;border-radius:50%;position:absolute;inset:-7px}.hotspot:hover,.hotspot.is-active{background:var(--cyan);color:var(--navy-900);transform:translate(-50%,-50%)scale(1.12)}.hotspot.is-active:after{opacity:.6}@media (prefers-reduced-motion:no-preference){.hotspot:not(.is-active):after{animation:2.4s ease-out infinite ping}}@keyframes ping{0%{opacity:.7;transform:scale(.7)}70%,to{opacity:0;transform:scale(1.3)}}.explorer__chips{flex-wrap:wrap;gap:.4rem;margin-top:1.5rem;display:flex}.explorer__chips button{color:var(--on-navy);font:500 .72rem var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #8fd8ec4d;padding:.35rem .65rem}.explorer__chips button:hover{border-color:var(--cyan);color:#fff}.explorer__chips button.is-active{border-color:var(--cyan);background:var(--cyan);color:var(--navy-900)}@media (width<=600px){.explorer__plan{padding:.75rem}.hotspot{width:24px;height:24px}.hotspot:after{inset:-4px}.explorer__chips{scroll-snap-type:x proximity;scrollbar-width:none;flex-wrap:nowrap;margin:1rem -.75rem 0;padding:0 .75rem .25rem;overflow-x:auto}.explorer__chips::-webkit-scrollbar{display:none}.explorer__chips button{scroll-snap-align:start;flex:none;padding:.6rem .8rem}.explorer__panel{box-shadow:8px 8px 0 var(--cyan);margin-right:8px}}.explorer__panel{background:var(--bg);box-shadow:14px 14px 0 var(--cyan);flex-direction:column;display:flex}.explorer__body{flex-direction:column;flex:1;padding:clamp(1.25rem,3vw,2rem);display:flex}.explorer__body .mono-label{color:var(--cyan-ink);margin-bottom:.6rem}.explorer__body h3{font-size:clamp(1.5rem,3vw,2rem)}.explorer__body>p:not(.mono-label){color:var(--slate-ink)}.explorer__body .link-arrow{align-self:flex-start;margin-top:auto;padding-top:1.75rem}.plan{width:100%;height:auto;display:block}.plan__line{stroke:#e9f3f9;stroke-width:2px}.plan__line--bold{stroke-width:3.5px}.plan__frame{stroke:var(--cyan-light);stroke-width:1.25px;stroke-dasharray:6 5;opacity:.7}.plan__accent{stroke:var(--cyan);stroke-width:2.5px}.plan__dim path{fill:none;stroke:#8fd8ec8c;stroke-width:1px}.plan__dim text{font:500 11px var(--mono);letter-spacing:.08em;fill:var(--cyan-light)}.work{padding-block:clamp(4rem,9vw,7rem)}.work__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 3rem;margin-bottom:2.5rem;display:flex}.work__head h2{margin:0;font-size:clamp(2rem,4.5vw,3.2rem)}.work__grid{grid-template-columns:repeat(4,1fr);grid-template-areas:"p1 p1 p2 p3""p1 p1 p4 p5";grid-auto-rows:clamp(180px,20vw,250px);gap:1rem;display:grid}@media (width<=760px){.work__grid{grid-template-columns:1fr 1fr;grid-template-areas:"p1 p1""p1 p1""p2 p3""p4 p5";grid-auto-rows:170px}}.work__links{flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;display:flex}.work__item{color:var(--navy);margin:0;text-decoration:none;display:block;position:relative;overflow:hidden}.work__item img{transition:transform .6s var(--ease-out)}.work__item:hover img{transform:scale(1.04)}.work__item--1{grid-area:p1}.work__item--2{grid-area:p2}.work__item--3{grid-area:p3}.work__item--4{grid-area:p4}.work__item--5{grid-area:p5}.work__item .photo{height:100%}.work__item .photo--empty span{display:none}.work__caption{background:var(--bg);border-top:2px solid var(--cyan);max-width:calc(100% - 1rem);font:500 .72rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--navy);padding:.5rem .8rem;position:absolute;bottom:0;left:0}@media (width<=600px){.work__grid{gap:.6rem}.work__caption{max-width:100%;padding:.4rem .6rem;font-size:.62rem}.work__links{justify-content:space-between;width:100%}}.faq{background:var(--paper);border-top:1px solid var(--rule);padding-block:clamp(4rem,9vw,7rem)}.faq__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}@media (width<=860px){.faq__grid{grid-template-columns:1fr}}.faq__intro{top:calc(var(--header-h) + 2rem);position:sticky}@media (width<=860px){.faq__intro{position:static}}.faq__intro h2{font-size:clamp(2rem,4.5vw,3.2rem)}.faq__intro p{color:var(--slate-ink)}.faq__list{border-top:2px solid var(--navy)}.faq details{border-bottom:1px solid var(--rule)}.faq summary{color:var(--navy);cursor:pointer;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.35rem 0;font-size:1.15rem;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary svg{color:var(--cyan-ink);flex:none;transition:transform .2s}.faq details[open] summary svg{transform:rotate(45deg)}.faq details p{max-width:60ch;color:var(--slate-ink);margin:0;padding-bottom:1.5rem}@media (width<=600px){.faq summary{padding:1.1rem 0;font-size:1.05rem}}.callus{grid-template-columns:1fr 1fr;min-height:460px;display:grid}@media (width<=860px){.callus{grid-template-columns:1fr}}.callus__photo{height:100%;min-height:260px}.callus__body{padding:clamp(2.5rem, 6vw, 5rem) var(--gutter) clamp(2.5rem, 6vw, 5rem) clamp(2rem, 5vw, 4.5rem)}@media (width<=860px){.callus{min-height:0}.callus__photo{height:clamp(220px,60vw,420px);min-height:0}.callus__body{padding-inline:20px}}.callus h2{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem)}.callus__phone{letter-spacing:-.03em;color:var(--cyan-light);margin:.5rem 0 1rem;font-size:clamp(2rem,5vw,3.4rem);font-weight:700;line-height:1;text-decoration:none;display:inline-block}.callus__phone:hover{color:#fff}.callus__meta{color:var(--on-navy);margin-bottom:2rem}.callus__meta a,.callus .link-arrow{color:#fff}.svc-head{border-bottom:1px solid var(--rule);overflow:hidden}.svc-head__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);padding-block:clamp(3rem,6vw,4.5rem) clamp(2.5rem,5vw,3.5rem);display:grid}@media (width<=860px){.svc-head__grid{grid-template-columns:1fr}}.svc-head__visual{padding:0 14px 14px 0;position:relative}.svc-head__visual .photo{box-shadow:14px 14px 0 var(--cyan)}.svc-head__badge{top:auto;bottom:12%;left:-1.25rem}@media (width<=860px){.svc-head__badge{left:.75rem}}.svc-head__jump{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;padding-bottom:clamp(2.5rem,5vw,3.5rem);display:grid}.jump-card{background:var(--bg);border:1px solid var(--rule);border-top:3px solid var(--rule);color:var(--navy);align-items:flex-start;gap:.85rem;padding:1rem 1.1rem;text-decoration:none;display:flex}.jump-card[data-reveal]{transition:opacity .8s var(--ease-out) var(--reveal-delay,0s), transform .8s var(--ease-out) var(--reveal-delay,0s), translate .25s, border-color .25s, box-shadow .25s}.jump-card:hover{border-top-color:var(--cyan);translate:0 -3px;box-shadow:0 18px 36px #0c2b4e1f}.jump-card>svg{color:var(--cyan-ink);flex:none}.jump-card strong{font-weight:600;line-height:1.25;display:block}.jump-card small{color:var(--slate-ink);margin-top:.2rem;font-size:.84rem;line-height:1.4;display:block}@media (width<=600px){.svc-head__jump{scroll-snap-type:x mandatory;scrollbar-width:none;width:100%;padding-inline:16px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.svc-head__jump::-webkit-scrollbar{display:none}.jump-card{scroll-snap-align:start;flex:0 0 78%}}.svc-head h1{letter-spacing:-.035em;font-size:clamp(2.4rem,5.5vw,4rem);font-weight:700}.svc-head__lead{max-width:34rem;color:var(--slate-ink);margin-bottom:2rem;font-size:1.12rem}.svc{padding-block:clamp(3.5rem,8vw,6rem)}.svc__grid{grid-template-columns:230px minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);display:grid}.svc__nav{top:calc(var(--header-h) + 2rem);flex-direction:column;align-self:start;display:flex;position:sticky}.svc__nav a{border-left:2px solid var(--rule);color:var(--slate-ink);padding:.6rem 0 .6rem 1rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s}.svc__nav a:hover{color:var(--navy)}.svc__nav a.is-active{border-left-color:var(--cyan);color:var(--navy);font-weight:600}@media (width<=860px){.svc__grid{grid-template-columns:1fr}.svc__nav{top:var(--header-h);z-index:5;transition:top .35s var(--ease-out);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);scrollbar-width:none;background:#fffffff0;flex-direction:row;align-items:center;gap:.5rem;margin:-1rem -16px 0;padding:.75rem 16px;overflow-x:auto}.header-compact .svc__nav{top:var(--nav-row)}.svc__nav::-webkit-scrollbar{display:none}.svc__nav .mono-label{flex:none;margin:0 .25rem 0 0;font-size:.68rem}.svc__nav a{border:1px solid var(--rule);background:var(--bg);white-space:nowrap;flex:none;padding:.5rem .85rem;font-size:.92rem}.svc__nav a.is-active{border-color:var(--navy);background:var(--navy);color:#fff}}.svc__list{gap:clamp(3.5rem,7vw,5rem);display:grid}.svc-item__body{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:1rem 2rem;padding-top:1.5rem;display:grid}@media (width<=700px){.svc-item__body{grid-template-columns:1fr}}.svc-item h2{align-items:center;gap:.75rem;margin:0;font-size:clamp(1.5rem,3vw,2rem);display:flex}.svc-item h2 svg{color:var(--blue);flex:none}.svc-item p{color:var(--slate-ink);font-size:1.05rem}.svc-item p.svc-item__lead{color:var(--navy);font-weight:500}.svc-item__detail{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem clamp(1.5rem,4vw,3rem);margin-top:1.75rem;padding-top:1.75rem;display:grid}@media (width<=700px){.svc-item__detail{grid-template-columns:1fr}}.svc-item__detail p.mono-label{color:var(--cyan-ink);margin-bottom:.6rem;font-size:.75rem}.svc-item__why p:not(.mono-label){margin:0;font-size:1rem;line-height:1.7}.svc-item__how ul{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.svc-item__how li{color:var(--text);gap:.65rem;line-height:1.45;display:flex}.svc-item__how li svg{color:var(--cyan-ink);flex:none;margin-top:.1rem}.svc-work{border-top:1px solid var(--rule);padding-block:clamp(3.5rem,8vw,5.5rem)}.svc-work .work__head{margin-bottom:0}.svc-work__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.5rem;display:grid}@media (width<=700px){.svc-work__grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:.75rem;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.svc-work__grid::-webkit-scrollbar{display:none}.svc-work__grid .work__item{scroll-snap-align:start;flex:0 0 80%}}.more{background:var(--paper);border-top:1px solid var(--rule);padding-block:clamp(3.5rem,8vw,5.5rem)}.more__grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem;display:grid}@media (width<=700px){.more__grid{grid-template-columns:1fr}}.more__card{color:var(--navy);text-decoration:none;display:block}.more__label{background:var(--bg);border-top:3px solid var(--cyan);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:600;transition:background .2s,color .2s;display:flex}.more__label small{font:500 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-ink);display:block}.more__card:hover .more__label{background:var(--navy);color:#fff}.more__card:hover .more__label small{color:var(--cyan-light)}.contact-page{min-height:calc(100vh - var(--header-h) - 60px);grid-template-columns:1fr 1fr;display:grid}@media (width<=860px){.contact-page{grid-template-columns:1fr}}.contact-page__info{padding:clamp(3rem, 7vw, 5rem) clamp(2rem, 5vw, 4.5rem) clamp(3rem, 7vw, 5rem) var(--gutter);align-items:center;display:flex}@media (width<=860px){.contact-page{min-height:0}.contact-page__info{padding-inline:20px}}@media (width<=600px){.contact-page__phone{font-size:clamp(1.7rem,8.5vw,2.2rem)}.contact-page__meta{margin-top:2rem}}.contact-page__inner{width:100%;max-width:520px}.contact-page h1{color:#fff;letter-spacing:-.035em;margin-bottom:2rem;font-size:clamp(2.4rem,5vw,3.8rem);font-weight:700}.contact-page__phone{letter-spacing:-.03em;color:var(--cyan-light);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;line-height:1.1;text-decoration:none;display:inline-block}.contact-page__phone:hover{color:#fff}.contact-page__status{font:500 .75rem/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-navy);align-items:center;gap:.6rem;margin:.9rem 0 0;display:flex}.contact-page__meta dd a{color:#fff;-webkit-text-decoration-color:var(--cyan);text-decoration-color:var(--cyan);text-underline-offset:5px}.contact-page__more{margin-top:2.25rem}.contact-page__meta{border-top:1px solid #8fd8ec40;margin:3rem 0 0}.contact-page__meta div{border-bottom:1px solid #8fd8ec40;padding:1rem 0}.contact-page__meta dt{font:500 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan-light);align-items:center;gap:.5rem;display:flex}.contact-page__meta dd{color:#fff;margin:.35rem 0 0;font-size:1.1rem}.contact-page__map{background:var(--paper);min-height:360px;position:relative}.contact-page__map iframe{filter:saturate(.85);border:0;width:100%;height:100%;position:absolute;inset:0}.contact-page__route{position:absolute;bottom:1.25rem;left:1.25rem;box-shadow:0 12px 30px #081f3a4d}@media (width<=860px){.contact-page__map{height:70vw;min-height:0;max-height:440px}}.gallery__empty{text-align:center;color:var(--slate-ink);border:1px dashed #a3b6c6;grid-column:1/-1;margin:0;padding:3rem 1rem}.filters button:disabled{opacity:.45;cursor:default}.footer{background:var(--navy-900);color:#b8c7d6;font:.82rem var(--mono);padding:1.25rem 0}.footer__inner{flex-wrap:wrap;align-items:center;gap:.5rem 1.75rem;display:flex}.footer__inner span{margin-right:auto}.footer a{color:#dce8f2;text-decoration:none}.footer a:hover{color:var(--cyan-light)}@media (width<=600px){.footer{padding:1.5rem 0 calc(1.5rem + env(safe-area-inset-bottom))}.footer__inner span{width:100%;margin-bottom:.25rem}.footer a{padding-block:.35rem}.has-call-widget .footer{padding-bottom:10.5rem}}.gallery-head .container{padding-block:clamp(3rem,7vw,5rem) clamp(2rem,4vw,3rem)}.filters{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.filters button{border:1px solid var(--rule);background:var(--bg);color:var(--navy);font:500 .95rem var(--font);cursor:pointer;align-items:center;gap:.6rem;padding:.65rem 1rem;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.filters button span{font:500 .72rem var(--mono);color:var(--cyan-ink)}.filters button:hover{border-color:var(--navy)}.filters button.is-active{border-color:var(--navy);background:var(--navy);color:#fff}.filters button.is-active span{color:var(--cyan-light)}@media (width<=600px){.filters{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-16px;padding:0 16px .25rem;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.filters button{flex:none}}.gallery{padding-block:clamp(2.5rem,6vw,4.5rem) clamp(4rem,8vw,6rem)}.gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(200px,21vw,270px);grid-auto-flow:dense;gap:1rem;display:grid}.gallery__item:nth-child(6n+1){grid-area:span 2/span 2}.gallery__item:nth-child(6n+5){grid-column:span 2}@media (width<=760px){.gallery__grid{grid-template-columns:1fr 1fr;grid-auto-rows:44vw;gap:.6rem}.gallery__item:nth-child(6n+1),.gallery__item:nth-child(6n+5){grid-row:auto}.gallery__item:nth-child(3n+1){grid-area:span 1/span 2}}.gallery__item{position:relative;overflow:hidden}.gallery__item>button{text-align:left;cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.gallery__item .photo{height:100%}.gallery__item img{transition:transform .6s var(--ease-out)}.gallery__item:hover img{transform:scale(1.04)}.gallery__caption{background:var(--bg);border-top:2px solid var(--cyan);max-width:calc(100% - 1rem);color:var(--navy);padding:.55rem .85rem;font-size:.95rem;font-weight:600;line-height:1.3;position:absolute;bottom:0;left:0}.gallery__caption small{font:500 .66rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan-ink);display:block}.gallery__item .photo--empty span{display:none}.gallery__zoom{background:var(--navy);color:#fff;opacity:0;border-radius:50%;place-items:center;width:38px;height:38px;transition:opacity .25s,transform .25s;display:grid;position:absolute;top:.75rem;right:.75rem;transform:scale(.8)}.gallery__item:hover .gallery__zoom,.gallery__item button:focus-visible .gallery__zoom{opacity:1;transform:none}@media (hover:none){.gallery__zoom{opacity:1;transform:none}}@media (width<=600px){.gallery__caption{max-width:100%;padding:.4rem .6rem;font-size:.8rem}.gallery__caption small{font-size:.58rem}.gallery__zoom{width:32px;height:32px;top:.5rem;right:.5rem}}.lightbox{color:#fff;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(1rem,4vw,2.5rem) clamp(1rem,7vw,6rem)}.lightbox[open]{place-items:center;display:grid}.lightbox::backdrop{background:#081f3af2}@media (prefers-reduced-motion:no-preference){.lightbox[open]{animation:.3s ease-out fade}.lightbox img{animation:zoom-in .4s var(--ease-out)}}@keyframes fade{0%{opacity:0}}@keyframes zoom-in{0%{opacity:0;transform:scale(.97)}}.lightbox__figure{flex-direction:column;gap:1rem;max-width:100%;margin:0;display:flex}.lightbox img{object-fit:contain;max-width:100%;max-height:calc(100dvh - 9rem);margin-inline:auto}.lightbox figcaption{justify-content:space-between;align-items:flex-end;gap:1.5rem;font-size:1.1rem;font-weight:600;display:flex}.lightbox figcaption small{font:500 .7rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan-light);display:block}.lightbox__count{font:500 .8rem var(--mono);letter-spacing:.08em;color:var(--on-navy);flex:none}.lightbox__nav,.lightbox__close{color:#fff;cursor:pointer;background:#081f3a99;border:1px solid #8fd8ec59;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;transition:background .2s,border-color .2s;display:grid;position:fixed}.lightbox__nav:hover,.lightbox__close:hover{background:var(--cyan);border-color:var(--cyan);color:var(--navy-900)}.lightbox__nav{top:50%;translate:0 -50%}.lightbox__nav--prev{left:clamp(.5rem,2vw,1.5rem)}.lightbox__nav--prev svg{transform:rotate(180deg)}.lightbox__nav--next{right:clamp(.5rem,2vw,1.5rem)}.lightbox__close{top:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2vw,1.5rem)}@media (width<=600px){.lightbox{padding:4.5rem .75rem 6rem}.lightbox img{max-height:calc(100dvh - 14rem)}.lightbox figcaption{font-size:1rem}.lightbox__nav{top:auto;bottom:calc(1.25rem + env(safe-area-inset-bottom));translate:none}.lightbox__nav--prev{left:calc(50% - 60px)}.lightbox__nav--next{right:calc(50% - 60px)}}.call-widget{z-index:9;background:var(--navy);border-top:3px solid var(--cyan);color:#fff;opacity:0;visibility:hidden;transform-origin:100% 100%;width:360px;transition:opacity .45s var(--ease-out), transform .6s cubic-bezier(.34, 1.4, .64, 1), visibility .45s;grid-template-columns:auto 1fr;align-items:center;gap:.9rem 1rem;padding:1.1rem;display:grid;position:fixed;bottom:24px;right:24px;transform:translateY(24px)scale(.96);box-shadow:0 24px 60px #081f3a59}.call-widget.is-visible{opacity:1;visibility:visible;transform:none}.call-widget.is-leaving{opacity:0;visibility:visible;transition:opacity .5s ease-in,transform .5s cubic-bezier(.55,0,.75,.3);transform:translate(calc(100% + 40px))}.call-widget__icon{background:var(--cyan);width:48px;height:48px;color:var(--navy-900);border-radius:50%;place-items:center;display:grid;position:relative}@media (prefers-reduced-motion:no-preference){.call-widget.is-visible .call-widget__icon:after{content:"";border:2px solid var(--cyan);border-radius:50%;animation:2.2s ease-out .8s infinite pulse;position:absolute;inset:0}.call-widget.is-visible .call-widget__icon svg{animation:2.2s ease-in-out .8s infinite ring}}@keyframes ring{0%,30%,to{transform:none}5%,15%,25%{transform:rotate(-14deg)}10%,20%{transform:rotate(14deg)}}.call-widget__text{padding-right:1.25rem}.call-widget__text strong{font-size:1.05rem;line-height:1.25;display:block}.call-widget__text span{font:500 .7rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-navy);align-items:center;gap:.45rem;margin-top:.25rem;display:flex}.call-widget .status-dot{width:7px;height:7px}.call-widget__btn{background:var(--cyan);color:var(--navy-900);grid-column:1/-1;justify-content:center}.call-widget__btn:hover{background:#fff}.call-widget__close{width:32px;height:32px;color:var(--on-navy);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:background .2s,color .2s;display:grid;position:absolute;top:.5rem;right:.5rem}.call-widget__close:hover{color:#fff;background:#ffffff1a}@media (width<=600px){.call-widget{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));transform-origin:bottom;gap:.75rem .85rem;width:auto;padding:.9rem}.call-widget__icon{width:42px;height:42px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (prefers-reduced-motion:no-preference){[data-reveal]{transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);transition-delay:var(--reveal-delay,0s)}[data-reveal][data-revealed=false]{opacity:0;transform:translateY(28px)}[data-reveal=scale][data-revealed=false]{transform:scale(.96)}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
