@font-face{font-family:Archivo;src:url(/fonts/archivo-wdth.woff2) format("woff2-variations");font-weight:100 900;font-stretch:62% 125%;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}:root{--ink: #061527;--navy: #0a2240;--navy-2: #123258;--teal: #18b4c4;--teal-ink: #0a6f7e;--amber: #f5a623;--amber-hi: #ffbd4a;--bone: #f3f1ec;--concrete: #d9d6cf;--white: #fff;--text: #0a2240;--muted: #4a5b70;--on-dark: #dbe4ec;--on-dark-muted: #9fb2c4;--line: rgb(10 34 64 / 16%);--line-dark: rgb(255 255 255 / 15%);--font: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--gutter: clamp(1.25rem, 4vw, 3.5rem);--section: clamp(4.5rem, 10vw, 9rem);--header: 76px;--ease: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 3.5rem);overflow-x:clip}html.menu-open{overflow:hidden}body{font-family:var(--font);font-size:1.0625rem;line-height:1.6;color:var(--text);background:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip}img,svg{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}ul,ol{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{padding:0;background:none;border:0;cursor:pointer}fieldset{border:0;padding:0;min-width:0}h1,h2,h3{line-height:1.1;text-wrap:balance}p{text-wrap:pretty}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--teal);outline-offset:3px}::selection{background:var(--amber);color:var(--ink)}.icon{width:1.2em;height:1.2em;flex:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:200;padding:.6rem 1rem;background:var(--amber);color:var(--ink);font-weight:700;transform:translateY(-200%)}.skip-link:focus{transform:none}.wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--gutter)}.center{display:flex;justify-content:center;margin-top:clamp(2.5rem,5vw,4rem)}.display{font-stretch:75%;font-weight:800;line-height:.94;letter-spacing:-.005em;text-transform:uppercase}.display--lg{font-size:clamp(2.75rem,6.4vw,5.75rem)}.display--md{font-size:clamp(2.25rem,4.4vw,3.75rem)}.label{display:inline-flex;align-items:center;gap:.6em;font-family:var(--mono);font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-ink)}.label--teal{color:var(--teal)}.lede{font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:.7rem 1.4rem;font-weight:700;font-stretch:90%;letter-spacing:.01em;border:1.5px solid transparent;border-radius:2px;transition:background-color .2s,border-color .2s,color .2s,transform .2s var(--ease)}.btn .icon{transition:transform .25s var(--ease)}.btn:hover .icon:last-child{transform:translate(4px)}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--amber);color:var(--ink)}.btn--primary:hover{background:var(--amber-hi)}.btn--ghost{border-color:#ffffff73;color:var(--white)}.btn--ghost:hover{background:var(--white);border-color:var(--white);color:var(--ink)}.btn--outline{border-color:var(--navy);color:var(--navy)}.btn--outline:hover{background:var(--navy);color:var(--white)}.btn--text{padding-inline:.5rem;color:var(--navy)}.btn--text:hover{color:var(--teal-ink)}.btn--sm{min-height:42px;padding:.45rem 1.05rem;font-size:.95rem}.btn--lg{min-height:58px;padding:.9rem 1.9rem;font-size:1.1rem}.btn--block{width:100%}.btn[disabled]{opacity:.65;cursor:progress}.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem}.site-header{position:fixed;inset:0 0 auto;z-index:100;color:var(--white);view-transition-name:site-header;transition:background-color .3s,box-shadow .3s}.site-header.is-stuck{background:#061527e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line-dark)}.site-header__bar{display:flex;align-items:center;gap:2rem;max-width:1600px;height:var(--header);margin-inline:auto;padding-inline:var(--gutter)}.brand{display:flex;align-items:center;gap:.7rem;margin-right:auto}.brand img{width:32px;height:auto}.brand__text{font-stretch:75%;font-weight:800;font-size:1.4rem;line-height:.95;letter-spacing:.02em;text-transform:uppercase}.brand__text span{display:block;font-size:.66em;font-stretch:100%;font-weight:600;letter-spacing:.215em;color:var(--teal)}.site-nav{display:flex;gap:clamp(1.1rem,2.2vw,2.2rem)}.site-nav a{position:relative;padding-block:.4rem;font-weight:600;font-size:.98rem}.site-nav a:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.site-nav a:hover:after,.site-nav a[aria-current]:after{transform:scaleX(1)}.site-header__actions{display:flex;align-items:center;gap:1.25rem}.header-phone{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;white-space:nowrap}.header-phone .icon{color:var(--teal)}.header-phone:hover{color:var(--amber)}.menu-toggle{display:none;position:relative;width:44px;height:44px;margin-right:-8px}.menu-toggle span{position:absolute;left:9px;right:9px;height:2px;background:currentColor;transition:transform .3s var(--ease),top .3s var(--ease)}.menu-toggle span:first-child{top:17px}.menu-toggle span:last-child{top:26px}.menu-toggle[aria-expanded=true] span{top:21px}.menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:rotate(-45deg)}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--header) + 1.25rem) var(--gutter) max(1.5rem,env(safe-area-inset-bottom));overflow-y:auto;background:var(--ink);color:var(--white);opacity:0;transition:opacity .25s}.mobile-menu.is-open{opacity:1}.mobile-menu nav a{display:flex;align-items:baseline;gap:1rem;padding-block:.65rem;font-stretch:75%;font-weight:800;font-size:clamp(2.5rem,12vw,3.5rem);line-height:1;text-transform:uppercase;border-bottom:1px solid var(--line-dark)}.mobile-menu nav a[aria-current]{color:var(--teal)}.mobile-menu nav small{font-family:var(--mono);font-size:.8rem;font-weight:500;color:var(--on-dark-muted)}.mobile-menu__foot{display:grid;gap:.75rem;margin-top:2rem}.action-bar{display:none}.topo{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:url(/img/topo.svg) center / cover no-repeat;opacity:.14}.topo--hero{opacity:.22;-webkit-mask-image:linear-gradient(100deg,#000 0%,#000 35%,transparent 75%);mask-image:linear-gradient(100deg,#000 0%,#000 35%,transparent 75%)}.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:max(100svh,740px);overflow:hidden;background:var(--ink);color:var(--white)}.hero__media{position:absolute;top:-3%;right:0;bottom:16%;left:28%;z-index:-2;will-change:transform}.hero__media img{width:100%;height:100%;object-fit:cover;object-position:100% 30%;filter:saturate(.9) contrast(1.06)}.hero__shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,var(--ink) 28%,rgb(6 21 39 / 80%) 44%,rgb(6 21 39 / 20%) 68%,rgb(6 21 39 / 8%) 100%),linear-gradient(0deg,var(--ink) 17%,rgb(6 21 39 / 70%) 34%,rgb(6 21 39 / 0%) 60%),linear-gradient(180deg,#0615279e,#06152700 22%)}.hero__inner{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(var(--header) + 2rem);padding-bottom:2.5rem}.hero__eyebrow{margin-bottom:1.5rem}.hero__title{font-size:clamp(3.1rem,min(8vw,14vh),8.75rem)}.hero__title .line{display:block;overflow:hidden;padding-bottom:.04em}.hero__title .line>span{display:block}.hero__title .accent{color:var(--teal)}.hero__body{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 3rem;margin-top:clamp(1.5rem,3.5vh,2.5rem)}.hero__body .lede{max-width:33rem;color:var(--on-dark)}.hero__rail{border-top:1px solid var(--line-dark);background:#0615278c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero__rail-inner{display:flex;align-items:stretch;gap:2rem}.hero__rail .label{align-self:center;flex:none;color:var(--on-dark-muted)}.quick-links{flex:1;display:grid;grid-template-columns:repeat(3,1fr)}.quick-links a{display:flex;align-items:center;gap:.75rem;padding:1.15rem 1.25rem;font-weight:700;border-left:1px solid var(--line-dark);transition:background-color .2s,color .2s}.quick-links .icon:first-child{width:1.5em;height:1.5em;color:var(--teal)}.quick-links .icon:last-child{margin-left:auto;transition:transform .25s var(--ease)}.quick-links a:hover{background:var(--amber);color:var(--ink)}.quick-links a:hover .icon{color:var(--ink)}.quick-links a:hover .icon:last-child{transform:translate(4px)}.js .hero__title .line>span{animation:rise .95s var(--ease) both}.js .hero__title .line:nth-child(2)>span{animation-delay:.09s}.js .hero__title .line:nth-child(3)>span{animation-delay:.18s}.js .hero__eyebrow,.js .hero__body,.js .hero__rail{animation:fade-up .8s var(--ease) .35s both}.js .hero__media img{animation:settle 2.2s var(--ease) both}@keyframes rise{0%{transform:translateY(105%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}}@keyframes settle{0%{transform:scale(1.07)}}.phero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--white)}.phero__media{position:absolute;top:0;right:0;bottom:0;left:38%;z-index:-1}.phero__media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--ink) 0%,rgb(6 21 39 / 55%) 50%,rgb(6 21 39 / 30%) 100%),linear-gradient(180deg,rgb(6 21 39 / 60%) 0%,transparent 35%)}.phero__media img{width:100%;height:100%;object-fit:cover}.phero__inner{padding-top:calc(var(--header) + clamp(3rem,8vw,6.5rem));padding-bottom:clamp(3rem,6vw,5rem)}.phero--compact .phero__inner{padding-top:calc(var(--header) + clamp(2rem,5vw,4rem));padding-bottom:clamp(2.5rem,4vw,3.5rem)}.phero__title{max-width:13em;margin-block:1.1rem 1.25rem;font-size:clamp(3rem,8.4vw,7.5rem)}.phero--compact .phero__title{font-size:clamp(2.75rem,7vw,6rem)}.phero .lede{max-width:36rem;color:var(--on-dark)}.crumbs{display:flex;gap:.6rem;font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-muted)}.crumbs a:hover{color:var(--white)}.crumbs [aria-current]{color:var(--teal)}.section{position:relative;isolation:isolate;padding-block:var(--section)}.section--bone{background:var(--bone)}.section--white{background:var(--white)}.section--dark{background:var(--navy);color:var(--white);overflow:hidden}.section--dark .topo{z-index:-1}.section--flush-top{padding-top:0}.section-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end;gap:1.25rem 3rem;margin-bottom:clamp(2.5rem,5vw,4.5rem)}.section-head .label{margin-bottom:.9rem}.section-head__text{max-width:30rem;color:var(--muted)}.section--dark .section-head__text{color:var(--on-dark)}.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js [data-reveal].is-in{opacity:1;transform:none}.dim-frame{position:relative}.dim-frame:before,.dim-frame:after{content:"";position:absolute;width:34px;height:34px;border:0 solid var(--teal);pointer-events:none}.dim-frame:before{top:-10px;left:-10px;border-width:2px 0 0 2px}.dim-frame:after{right:-10px;bottom:-10px;border-width:0 2px 2px 0}.panels{display:flex;gap:2px;height:clamp(460px,62vh,620px);background:var(--bone)}.panel{position:relative;flex:1 1 0;min-width:0;overflow:hidden;color:var(--white);background:var(--navy);transition:flex-grow .6s var(--ease)}.panel img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#061527f0 8%,#0615278c 45%,#0615271f)}.panel__body{position:absolute;inset:auto 0 0;z-index:1;padding:clamp(1.25rem,2.2vw,2rem)}.panel__num{font-family:var(--mono);font-size:.8rem;color:var(--on-dark)}.panel h3{margin-block:.35rem .6rem;font-size:clamp(2rem,3vw,2.9rem);font-stretch:75%;font-weight:800;line-height:.98;text-transform:uppercase}.panel p{max-width:30rem;color:var(--on-dark)}.panel__more{display:inline-flex;align-items:center;gap:.5rem;margin-top:.9rem;font-weight:700;color:var(--amber)}.panel__more .icon{transition:transform .25s var(--ease)}@media(hover:hover)and (min-width:861px){.panels:hover .panel,.panels:focus-within .panel{flex-grow:.8}.panels .panel:hover,.panels .panel:focus-visible{flex-grow:1.6}.panel:hover img{transform:scale(1.04)}.panel:hover .panel__more .icon{transform:translate(5px)}}.ground{position:relative;isolation:isolate;background:var(--ink);color:var(--white)}.ground__pin{position:relative;isolation:isolate;padding-block:var(--section)}.ground__pin>.topo{z-index:-1}.ground__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 2rem;margin-bottom:2rem}.ground__title{font-size:clamp(2.75rem,6.4vw,5.75rem);order:-1}.ground__stages{display:grid;gap:3rem}.stage{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}.stage__photo{aspect-ratio:16 / 10;overflow:hidden;background:var(--navy)}.stage__photo img{width:100%;height:100%;object-fit:cover}.stage__num{display:block;font-family:var(--mono);font-size:.85rem;color:var(--teal)}.stage__num small{font-size:inherit;color:var(--on-dark-muted)}.stage h3{margin-block:.5rem .9rem;font-size:clamp(2.2rem,4.6vw,4.25rem);font-stretch:75%;font-weight:800;line-height:.96;text-transform:uppercase}.stage p{max-width:28rem;color:var(--on-dark)}.ground__diagram{margin-top:2rem}.ground__diagram svg{width:100%;height:130px}.ground__legend{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:.75rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-muted)}.ground__legend li{padding-top:.5rem;border-top:2px solid var(--line-dark);transition:color .3s,border-color .3s}.ground__legend li.is-done{color:var(--white);border-color:var(--teal)}#g-rebar .draw{fill:none;stroke-dasharray:1}.ground.is-live{height:460vh}.ground.is-live .ground__pin{position:sticky;top:0;display:flex;flex-direction:column;height:100svh;padding-block:calc(var(--header) + .75rem) 1.25rem;overflow:hidden}.ground.is-live .ground__head{margin-bottom:1.25rem}.ground.is-live .ground__title{font-size:clamp(2.25rem,min(5vw,8vh),4.75rem)}.ground.is-live .ground__stages{position:relative;flex:1;min-height:0;display:block}.ground.is-live .stage{position:absolute;inset:0 var(--gutter);opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}.ground.is-live .stage.is-active{opacity:1;visibility:visible}.ground.is-live .stage__photo{aspect-ratio:auto;height:100%;max-height:100%}.ground.is-live .stage__photo img{transform:scale(1.06);transition:transform 1.4s var(--ease)}.ground.is-live .stage.is-active .stage__photo img{transform:none}.ground.is-live .stage__text>*{transform:translateY(18px);transition:transform .6s var(--ease)}.ground.is-live .stage.is-active .stage__text>*{transform:none}.ground.is-live .ground__diagram{flex:none;margin-top:1.25rem}.ground.is-live .ground__diagram svg{height:clamp(84px,16vh,150px)}.stats{background:var(--bone);padding-block:var(--section)}.stats__grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:.25rem clamp(1rem,2.4vw,2.25rem);border-left:1px solid var(--line)}.stat:first-child{padding-left:0;border-left:0}.stat__num{display:block;font-size:clamp(3.75rem,9.5vw,9rem);font-stretch:75%;font-weight:800;line-height:.95;font-variant-numeric:tabular-nums;color:var(--navy)}.stat__label{display:block;margin-top:.75rem;font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.featured{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.25rem,2.5vw,2.25rem)}.work{display:block}.work--a{grid-column:1 / 8;grid-row:1 / 3}.work--b,.work--c{grid-column:8 / 13}.work__media{display:block;overflow:hidden;background:var(--navy)}.work--a{display:flex;flex-direction:column}.work--a .work__media{position:relative;flex:1;min-height:0}.work--a .work__media img{position:absolute;top:0;right:0;bottom:0;left:0}.work--b .work__media,.work--c .work__media{aspect-ratio:16 / 9.4}.work__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.work:hover img{transform:scale(1.04)}.work__cap{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.1rem 1rem;padding-top:.85rem}.work__cap small{grid-column:1;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-ink)}.work__cap strong{grid-column:1;font-size:1.25rem;font-stretch:85%;font-weight:700;line-height:1.2}.work__cap .icon{grid-column:2;grid-row:1 / 3;width:1.4em;height:1.4em;transition:transform .25s var(--ease)}.work:hover .work__cap .icon{transform:translate(5px)}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem)}.quote{display:flex;flex-direction:column;justify-content:space-between;gap:1.75rem;padding-top:1.25rem;border-top:3px solid var(--navy)}.quote blockquote{font-size:clamp(1.15rem,1.55vw,1.35rem);line-height:1.42;font-weight:500}.quote figcaption{color:var(--muted);font-size:.95rem}.quote figcaption strong{display:block;color:var(--navy)}.cta{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--white)}.cta .topo{z-index:-1;opacity:.2}.cta__inner{padding-block:clamp(4.5rem,10vw,9rem) clamp(3.5rem,7vw,6rem)}.cta__title{margin-block:1rem 2.5rem;font-size:clamp(3.1rem,11vw,11rem)}.cta__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem 4rem;padding-top:2rem;border-top:1px solid var(--line-dark)}.cta__text{max-width:32rem;color:var(--on-dark);font-size:1.15rem}.cta__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2.25rem}.cta__phone{font-size:clamp(1.75rem,3vw,2.5rem);font-stretch:75%;font-weight:800;line-height:1.05;white-space:nowrap}.cta__phone small{display:block;font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-muted)}.cta__phone:hover{color:var(--amber)}.site-footer{position:relative;overflow:hidden;background:var(--ink);color:var(--on-dark);border-top:1px solid var(--line-dark)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr}.footer-cell{padding:clamp(2rem,4vw,3.25rem) clamp(1.25rem,2.5vw,2.5rem);border-left:1px solid var(--line-dark);font-size:.98rem}.footer-cell:first-child{padding-left:0;border-left:0}.footer-cell .label{margin-bottom:1rem;color:var(--on-dark-muted)}.footer-cell li+li{margin-top:.4rem}.footer-cell a{overflow-wrap:anywhere;transition:color .2s}.footer-cell a:hover{color:var(--amber)}.footer-contact li+li{margin-top:.75rem}.footer-hours{color:var(--on-dark-muted)}.footer-wordmark{padding-inline:var(--gutter);font-size:10.7vw;font-stretch:75%;font-weight:800;line-height:.82;letter-spacing:-.005em;text-align:center;text-transform:uppercase;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgb(24 180 196 / 60%);border-top:1px solid var(--line-dark);padding-top:.14em;-webkit-user-select:none;user-select:none}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.5rem;font-size:.875rem;color:var(--on-dark-muted)}.footer-bottom div{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}.footer-bottom a:hover{color:var(--white)}.story{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}.story .label{margin-bottom:.9rem}.story__text p{margin-top:1.1rem;color:var(--muted)}.story__text .story__lead{margin-top:1.5rem;font-size:clamp(1.2rem,1.7vw,1.45rem);line-height:1.4;font-weight:500;color:var(--navy)}.story__photo img{width:100%;aspect-ratio:4 / 4.2;object-fit:cover}.rows{border-bottom:1px solid var(--line)}.row{display:grid;grid-template-columns:5rem minmax(0,1fr) minmax(0,1.5fr);gap:1rem 2rem;align-items:baseline;padding-block:clamp(1.5rem,3vw,2.5rem);border-top:1px solid var(--line)}.row__num{font-family:var(--mono);font-size:.85rem;color:var(--teal-ink)}.row h3{font-size:clamp(1.9rem,3.2vw,3rem);font-stretch:75%;font-weight:800;line-height:1;text-transform:uppercase}.row p{color:var(--muted)}.contact-person{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.5rem clamp(2.5rem,6vw,6rem);align-items:center}.contact-person .label{margin-bottom:.9rem}.contact-person .section-head__text{margin-top:1.25rem}.person-card{display:flex;align-items:center;gap:1.5rem;padding:clamp(1.5rem,3vw,2.5rem);background:var(--navy);color:var(--white)}.person-card__initials{flex:none;display:grid;place-items:center;width:clamp(72px,9vw,112px);aspect-ratio:1;font-size:clamp(1.75rem,3.4vw,2.75rem);font-stretch:75%;font-weight:800;color:var(--ink);background:var(--teal)}.person-card h3{font-size:clamp(1.75rem,3vw,2.5rem);font-stretch:75%;font-weight:800;text-transform:uppercase}.person-card p{color:var(--on-dark)}.person-card a{display:inline-flex;align-items:center;gap:.5rem;margin-top:.6rem;font-weight:600;color:var(--amber);overflow-wrap:anywhere}.timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;padding-top:1.75rem}.timeline:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--teal);transform-origin:left}.js .timeline[data-reveal]:before{transform:scaleX(0);transition:transform 1.5s var(--ease) .2s}.js .timeline[data-reveal].is-in:before{transform:none}.timeline li{position:relative}.timeline li:before{content:"";position:absolute;top:calc(-1.75rem - 6px);left:0;width:14px;height:14px;background:var(--navy);border:2px solid var(--teal);border-radius:50%}.timeline__year{display:block;font-size:clamp(3rem,5.2vw,4.75rem);font-stretch:75%;font-weight:800;line-height:1;color:var(--teal)}.timeline h3{margin-block:.6rem .5rem;font-size:1.3rem;font-weight:700}.timeline p{font-size:1rem;color:var(--on-dark)}.subnav{position:sticky;top:var(--header);z-index:50;background:var(--white);border-bottom:1px solid var(--line)}.subnav__inner{display:flex;gap:clamp(1rem,3vw,2.5rem);overflow-x:auto;scrollbar-width:none}.subnav a{flex:none;padding-block:.95rem;font-weight:600;font-size:.98rem;color:var(--muted)}.subnav a:hover{color:var(--navy)}.service__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}.service__grid--flip .service__photo{order:2}.service__photo img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.service__text>p:not(.label){margin-top:1.1rem;color:var(--muted)}.service__text .label{margin-bottom:.9rem}.service__text .btn{margin-top:1.9rem}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.15rem 1.5rem;margin-top:1.5rem}.checks li{display:flex;align-items:center;gap:.55rem;padding-block:.5rem;font-weight:600;border-bottom:1px solid var(--line)}.checks .icon{color:var(--teal-ink)}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.filter{padding:.4rem 1.05rem;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-weight:600;border:1.5px solid var(--line);border-radius:2px;transition:background-color .2s,border-color .2s,color .2s}.filter small{font-family:var(--mono);font-size:.72rem;color:var(--muted)}.filter:hover{border-color:var(--navy)}.filter[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:var(--white)}.filter[aria-pressed=true] small{color:var(--teal)}.mosaic{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(1.25rem,2.2vw,2rem) clamp(.9rem,1.6vw,1.5rem)}.tile{display:block;grid-column:span 2;text-align:left}.tile:first-child{grid-column:span 4}.mosaic.is-filtered .tile{grid-column:span 3}.tile__media{display:block;position:relative;height:clamp(230px,27vw,400px);overflow:hidden;background:var(--navy)}.tile__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.tile__media:after{content:"+";position:absolute;right:0;bottom:0;display:grid;place-items:center;width:52px;height:52px;font-size:1.75rem;font-weight:400;color:var(--ink);background:var(--amber);transform:translateY(100%);transition:transform .3s var(--ease)}.tile:hover img{transform:scale(1.04)}.tile:hover .tile__media:after,.tile:focus-visible .tile__media:after{transform:none}.tile__cap{display:block;padding-top:.8rem}.tile__cap small{display:block;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-ink)}.tile__cap strong{display:block;font-size:1.25rem;font-stretch:85%;font-weight:700;line-height:1.2}.tile__cap span{display:block;color:var(--muted);font-size:.98rem}.lightbox{width:min(1240px,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);margin:auto;padding:0;overflow:hidden;border:0;background:var(--ink);color:var(--white)}.lightbox::backdrop{background:#061527d6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lightbox[open]{animation:fade-up .35s var(--ease)}.lightbox__frame{position:relative;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);max-height:calc(100dvh - 2rem)}.lightbox__media{min-height:0;background:#000}.lightbox__media img{width:100%;height:100%;max-height:calc(100dvh - 2rem);object-fit:cover}.lightbox__body{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding:clamp(1.5rem,3vw,2.75rem);overflow-y:auto}.lightbox__body>p:not(.label){color:var(--on-dark)}.lightbox__body h2{padding-right:2.25rem}.lightbox__nav{display:flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:1rem;font-family:var(--mono);font-size:.8rem;color:var(--on-dark-muted)}.lightbox__nav button,.lightbox__close{display:grid;place-items:center;width:44px;height:44px;color:var(--white);border:1px solid var(--line-dark);transition:background-color .2s,color .2s}.lightbox__nav button:hover,.lightbox__close:hover{background:var(--white);color:var(--ink)}.lightbox__close{position:absolute;top:.75rem;right:.75rem;background:var(--ink)}.contact-section{padding-top:clamp(2.5rem,5vw,4.5rem)}.contact-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:clamp(2rem,4vw,4rem);align-items:start}.estimate{padding:clamp(1.5rem,3.5vw,3rem);background:var(--white);box-shadow:0 30px 60px -36px #0a224059}.estimate__steps{display:flex;gap:2px;margin-bottom:2.25rem;font-family:var(--mono);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.estimate__steps li{flex:1;display:flex;align-items:center;gap:.5rem;padding-top:.6rem;border-top:3px solid var(--line);transition:border-color .3s,color .3s}.estimate__steps span{font-weight:500}.estimate__steps .is-current,.estimate__steps .is-done{border-color:var(--teal-ink);color:var(--navy)}.step legend{width:100%;margin-bottom:1.5rem;font-size:clamp(2rem,3.6vw,3rem);font-stretch:75%;font-weight:800;line-height:1;text-transform:uppercase;outline:none}.js .step:not([hidden]){animation:fade-up .45s var(--ease)}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.choice input,.segmented input{position:absolute;opacity:0}.choice span{display:grid;grid-template-columns:auto 1fr;gap:0 .85rem;align-items:center;height:100%;padding:1.1rem;border:1.5px solid var(--line);cursor:pointer;transition:border-color .2s,background-color .2s}.choice .icon{grid-row:1 / 3;width:2rem;height:2rem;color:var(--teal-ink)}.choice strong{font-size:1.1rem;line-height:1.25}.choice small{font-size:.9rem;line-height:1.35;color:var(--muted)}.choice span:hover{border-color:var(--navy)}.choice input:checked+span{border-color:var(--teal-ink);background:#18b4c41a}.choice input:focus-visible+span,.segmented input:focus-visible+span{outline:3px solid var(--teal);outline-offset:2px}.field{margin-bottom:1.15rem}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.field__label{display:block;margin-bottom:.4rem;font-weight:600;font-size:.98rem}.req{margin-left:.3rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{display:block;width:100%;min-height:52px;padding:.7rem .9rem;font-size:1.0625rem;background:var(--white);border:1.5px solid rgb(10 34 64 / 32%);border-radius:2px;transition:border-color .2s}.field textarea{resize:vertical;min-height:130px;line-height:1.5}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--navy)}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgb(24 180 196 / 40%);outline-offset:0;border-color:var(--teal-ink)}.field .has-error{border-color:#b3261e}::placeholder{color:#6a7a8c;opacity:1}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:2px}.segmented label{position:relative}.segmented span{display:grid;place-items:center;min-height:52px;font-weight:600;border:1.5px solid rgb(10 34 64 / 32%);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.segmented input:checked+span{background:var(--navy);border-color:var(--navy);color:var(--white)}.field-error{font-size:.92rem;font-weight:600;color:#b3261e}.field-error:not(:empty){margin-top:.4rem}.hp{position:absolute;left:-9999px}.estimate__actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.75rem}#step-next{margin-left:auto}.submit-error:not(:empty){margin-top:1rem}.estimate__done{text-align:left;outline:none}.estimate__tick{display:grid;place-items:center;width:64px;height:64px;margin-bottom:1.25rem;font-size:1.6rem;color:var(--ink);background:var(--teal)}.estimate__done p{margin-block:1rem 1.75rem;color:var(--muted)}.contact-aside{position:sticky;top:calc(var(--header) + 1.5rem)}.aside-call{display:block;padding:1.5rem;background:var(--navy);color:var(--white);transition:background-color .2s}.aside-call:hover{background:var(--navy-2)}.aside-call small{display:block;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}.aside-call strong{display:block;margin-top:.25rem;font-size:clamp(2.1rem,3.4vw,2.9rem);font-stretch:75%;font-weight:800;line-height:1.05;white-space:nowrap}.aside-list>div{padding-block:1.1rem;border-bottom:1px solid var(--line)}.aside-list dt{margin-bottom:.25rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-ink)}.aside-list dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.aside-list a{font-weight:600;color:var(--navy);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.aside-list a:hover{text-decoration-color:currentColor}.hours{display:grid;grid-template-columns:auto 1fr;gap:0 1.25rem}.map{background:var(--concrete)}.map iframe{display:block;width:100%;height:clamp(320px,42vw,460px);border:0;filter:grayscale(.55) contrast(1.02)}.legal{max-width:46rem}.legal h2{margin-block:2.5rem .75rem;font-size:clamp(1.75rem,3vw,2.25rem);font-stretch:75%;font-weight:800;text-transform:uppercase}.legal p,.legal li{color:var(--muted)}.legal p+p{margin-top:1rem}.legal ul{margin-block:.75rem 1rem;padding-left:1.25rem;list-style:disc}.legal a{color:var(--teal-ink);text-decoration:underline}.legal-updated{font-family:var(--mono);font-size:.8rem}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.25s}@media(max-width:1100px){.site-nav,.site-header__actions{display:none}.menu-toggle{display:block}.menu-open .site-header{z-index:101;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}}@media(max-width:860px){:root{--header: 66px}body{font-size:1rem}.action-bar{position:fixed;inset:auto 0 0;z-index:80;display:grid;grid-template-columns:1fr 1.35fr;padding-bottom:env(safe-area-inset-bottom);background:var(--ink);box-shadow:0 -1px 0 var(--line-dark);transform:translateY(110%);transition:transform .3s var(--ease)}.action-bar.is-visible{transform:none}.action-bar a{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:56px;font-weight:700}.action-bar__call{color:var(--white)}.action-bar__quote{background:var(--amber);color:var(--ink)}[data-page=contact] .action-bar{grid-template-columns:1fr}[data-page=contact] .action-bar__quote{display:none!important}.site-footer{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.hero{min-height:100svh}.hero__media{top:-4%;right:0;bottom:-4%;left:0}.hero__media img{object-position:58% 40%}.hero__shade{background:linear-gradient(0deg,var(--ink) 6%,rgb(6 21 39 / 82%) 42%,rgb(6 21 39 / 42%) 100%)}.hero__inner{justify-content:flex-end;padding-bottom:1.75rem}.hero__title{font-size:clamp(2.6rem,14.6vw,6rem)}.hero__title .line:nth-child(2)>span{max-width:6.5em}.hero__body .btn{flex:1 1 auto}.hero__body .btn-row{width:100%}.hero__rail-inner{display:block;padding-inline:0}.hero__rail .label{display:none}.quick-links{grid-template-columns:1fr}.quick-links a{padding:.85rem var(--gutter);border-left:0;border-top:1px solid var(--line-dark)}.quick-links a:first-child{border-top:0}.phero__media{top:0;right:0;bottom:0;left:0;opacity:.55}.phero__media:after{background:linear-gradient(0deg,var(--ink) 0%,rgb(6 21 39 / 55%) 100%)}.section-head,.story,.contact-person,.service__grid,.contact-layout,.cta__row{grid-template-columns:minmax(0,1fr)}.service__grid--flip .service__photo{order:0}.panels{flex-direction:column;height:auto;gap:.75rem}.panel{flex:none;height:330px}.stage{grid-template-columns:minmax(0,1fr);gap:1.1rem}.ground.is-live .stage{grid-template-rows:minmax(0,1fr) auto;align-content:stretch}.ground.is-live .stage p{font-size:.98rem;line-height:1.45}.ground.is-live .stage h3{margin-block:.15rem .35rem;font-size:clamp(1.9rem,8.6vw,2.6rem)}.ground.is-live .ground__head .label{display:none}.ground.is-live .ground__head{margin-bottom:.75rem}.ground.is-live .ground__diagram{margin-top:.75rem}.ground.is-live .ground__diagram svg{height:72px}.ground.is-live .ground__pin{padding-bottom:.75rem}.ground__legend{font-size:.6rem;letter-spacing:.02em}.stats__grid{grid-template-columns:repeat(2,1fr);gap:2rem 0}.stat:nth-child(odd){padding-left:0;border-left:0}.work--a,.work--b,.work--c{grid-column:1 / -1;grid-row:auto}.work--a .work__media,.work--b .work__media,.work--c .work__media{flex:none;aspect-ratio:4 / 3}.quotes{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:min(84%,26rem);gap:1.25rem;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none}.quote{scroll-snap-align:start}.row{grid-template-columns:2.5rem minmax(0,1fr)}.row p{grid-column:2}.timeline{grid-template-columns:minmax(0,1fr);gap:2rem;padding:0 0 0 1.75rem}.timeline:before{inset:0 auto 0 0;width:2px;height:auto;transform-origin:top}.js .timeline[data-reveal]:before{transform:scaleY(0)}.timeline li:before{top:.75rem;left:calc(-1.75rem - 6px)}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-cell{padding-inline:0;border-left:0;border-top:1px solid var(--line-dark)}.footer-cell:first-child{grid-column:1 / -1;border-top:0}.footer-cell:last-child{grid-column:1 / -1}.mosaic{grid-template-columns:repeat(2,1fr)}.tile,.tile:nth-child(n),.mosaic.is-filtered .tile{grid-column:span 1}.tile:nth-child(3n+1),.mosaic.is-filtered .tile{grid-column:1 / -1}.tile__media{height:clamp(170px,42vw,300px)}.tile:nth-child(3n+1) .tile__media,.mosaic.is-filtered .tile__media{height:clamp(230px,62vw,420px)}.tile__cap span{display:none}.lightbox{width:100vw;max-height:100dvh;height:100dvh}.lightbox__frame{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;height:100%;max-height:none}.lightbox__media img{height:auto;max-height:45dvh}.contact-aside{position:static}}@media(max-width:560px){.choice-grid,.field-row,.checks{grid-template-columns:minmax(0,1fr)}.cta__actions,.cta__actions .btn{width:100%}.person-card{align-items:flex-start;flex-direction:column}.estimate{margin-inline:calc(var(--gutter) * -.5)}}@media(min-width:861px)and (max-height:760px){.hero{min-height:640px}.hero__inner{padding-top:calc(var(--header) + 1rem);padding-bottom:1.25rem}.hero__eyebrow{margin-bottom:.9rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}@view-transition{navigation:none}}@media print{.site-header,.action-bar,.mobile-menu,.map,.topo{display:none!important}.js [data-reveal]{opacity:1;transform:none}}
