@font-face{font-family:Archivo;font-style:normal;font-weight:400 600;font-stretch:100%;font-display:swap;src:url(/fonts/archivo-400-600.woff2)format("woff2")}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/spectral-300.woff2)format("woff2")}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spectral-400.woff2)format("woff2")}@font-face{font-family:Spectral;font-style:italic;font-weight:300;font-display:swap;src:url(/fonts/spectral-300-italic.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plexmono-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plexmono-500.woff2)format("woff2")}:root{--paper-100:#f4f2ed;--paper-200:#eae7df;--ink-900:#1b1c1b;--forest-950:#101d1c;--teal-700:#007f86;--teal-400:#4fb3b8;--teal-action:#006b71;--teal-action-hover:#00565b;--white-warm:#efede7;--error-700:#9e322d;--success-700:#32725e;--font-display:"Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-ui:"Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-editorial:"Spectral", Georgia, "Times New Roman", serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--type-display-lg:clamp(2.55rem, 5.4vw, 6rem);--type-h1:clamp(2.5rem, 5vw, 5.5rem);--type-h2:clamp(2rem, 3.6vw, 4.25rem);--type-h3:clamp(1.55rem, 2.35vw, 2.75rem);--type-h4:clamp(1.125rem, 1.3vw, 1.375rem);--type-lead:clamp(1.18rem, 1.55vw, 1.55rem);--type-body-lg:clamp(1.06rem, 1.15vw, 1.25rem);--type-body:clamp(1rem, .35vw + .91rem, 1.125rem);--type-small:.875rem;--type-label:.8125rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--space-11:10rem;--max-width:1600px;--gutter:clamp(1.125rem, 5vw, 6rem);--col-gap:clamp(1rem, 2vw, 2rem);--section-y:clamp(3.5rem, 6vw, 6rem);--section-y-tight:clamp(3rem, 5vw, 5rem);--measure:62ch;--measure-tight:46ch;--header-h:4.75rem;--ease-build:cubic-bezier(.16, .84, .24, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-micro:.14s;--dur-state:.26s;--dur-reveal:.62s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-5))}body{overflow-wrap:break-word;background:var(--bg);color:var(--fg);font-family:var(--font-editorial);font-size:var(--type-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:300;line-height:1.65;overflow-x:hidden}img,video,svg{max-width:100%;display:block}h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}::selection{background:var(--teal-action);color:var(--paper-100)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:root,.on-paper{--bg:var(--paper-100);--bg-panel:var(--paper-200);--fg:var(--ink-900);--fg-muted:#1b1c1bb8;--fg-faint:#1b1c1ba3;--accent:var(--teal-action);--accent-hover:var(--teal-action-hover);--rule:#1b1c1b29;--rule-strong:#1b1c1b57;--on-accent:var(--paper-100)}.on-dark,.hero,.plate,.nav-panel,.mobile-menu,.lightbox,.assembly>a{--bg:var(--forest-950);--bg-panel:#efede70d;--fg:var(--white-warm);--fg-muted:#efede7bd;--fg-faint:#efede78a;--accent:var(--teal-400);--accent-hover:var(--white-warm);--rule:#efede72e;--rule-strong:#efede761;--on-accent:var(--forest-950)}.on-panel{--bg:var(--paper-200);background:var(--bg)}.on-dark,.on-paper{background:var(--bg);color:var(--fg)}.section{padding-block:var(--section-y)}.section--tight{padding-block:var(--section-y-tight)}.section--flush-top{padding-block-start:0}.section--band{padding-block:var(--space-7)}.section--after-controls{padding-block-start:var(--space-8)}.section:not(.on-dark):not(.on-panel)+.section:not(.on-dark):not(.on-panel){padding-block-start:0}.wrap{width:100%;max-width:var(--max-width);padding-inline:var(--gutter);margin-inline:auto}.grid12{gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.span-4{grid-column-end:span 4}.span-5{grid-column-end:span 5}.span-6{grid-column-end:span 6}.span-7{grid-column-end:span 7}.span-8{grid-column-end:span 8}.span-12{grid-column-end:span 12}.start-2{grid-column-start:2}.start-6{grid-column-start:6}.start-7{grid-column-start:7}.start-8{grid-column-start:8}.stack{gap:var(--gap,var(--space-5));flex-direction:column;display:flex}.stack--sm{--gap:var(--space-3)}.stack--lg{--gap:var(--space-7)}.row{align-items:center;gap:var(--gap,var(--space-4));flex-wrap:wrap;display:flex}.eyebrow{color:var(--accent);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.18em;text-transform:uppercase;margin:0;font-weight:500;line-height:1.4}.meta{color:var(--fg-faint);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase;font-weight:400;line-height:1.5}.display,.h1,.h2,.h3,.h4{font-family:var(--font-display);text-wrap:balance;font-weight:500}.display{font-size:var(--type-display-lg);letter-spacing:-.035em;line-height:.92}.h1{font-size:var(--type-h1);letter-spacing:-.032em;line-height:.94}.h2{font-size:var(--type-h2);letter-spacing:-.028em;line-height:1}.h3{font-size:var(--type-h3);letter-spacing:-.022em;line-height:1.06}.h4{font-size:var(--type-h4);letter-spacing:-.01em;font-weight:600;line-height:1.25}.lede{color:var(--fg-muted);font-size:var(--type-lead);max-width:var(--measure-tight);text-wrap:pretty;line-height:1.55}.prose{color:var(--fg-muted);font-size:var(--type-body);max-width:var(--measure);text-wrap:pretty;line-height:1.7}.prose--lg{font-size:var(--type-body-lg)}.prose+.prose{margin-top:var(--space-4)}.accent{color:var(--accent)}.build-line{background:var(--rule);height:1px;position:relative;overflow:hidden}.build-line:after{content:"";background:var(--accent);transform-origin:0;width:100%;transition:transform .9s var(--ease-build);position:absolute;inset:0 auto 0 0;transform:scaleX(0)}[data-revealed=true] .build-line:after,.build-line[data-revealed=true]:after{transform:scaleX(1)}.btn{min-height:3rem;color:inherit;cursor:pointer;font-family:var(--font-ui);font-size:var(--type-label);letter-spacing:.16em;text-transform:uppercase;transition:background-color var(--dur-state) var(--ease-out), color var(--dur-state) var(--ease-out), border-color var(--dur-state) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;padding:.9rem 1.75rem;font-weight:600;display:inline-flex}.btn--primary{background:var(--accent);color:var(--on-accent)}.btn--primary:hover{background:var(--accent-hover);color:var(--on-accent)}.on-dark .btn--primary:hover{background:var(--white-warm);color:var(--forest-950)}.btn--ghost{border-color:var(--rule-strong);color:var(--fg)}.btn--ghost:hover{border-color:var(--fg);background:var(--fg);color:var(--bg)}.arrow-link{color:var(--accent);font-family:var(--font-ui);font-size:var(--type-label);letter-spacing:.16em;text-transform:uppercase;align-items:baseline;gap:.5rem;padding-block-end:.35rem;font-weight:600;display:inline-flex;position:relative}.arrow-link:after{content:"";transform-origin:0;height:1px;transition:transform var(--dur-state) var(--ease-out);background:currentColor;position:absolute;inset:auto 0 0;transform:scaleX(.32)}.arrow-link:hover:after,.arrow-link:focus-visible:after{transform:scaleX(1)}.arrow-link>span[aria-hidden]{transition:transform var(--dur-state) var(--ease-out)}.arrow-link:hover>span[aria-hidden]{transform:translate(.15em,-.15em)}.text-link{color:var(--accent);text-underline-offset:.25em;transition:color var(--dur-micro) var(--ease-out);text-decoration:underline;text-decoration-thickness:1px}.text-link:hover{color:var(--fg)}.figure{background:var(--bg-panel);margin:0;position:relative}.figure>img,.figure>video{object-fit:cover;width:100%;height:100%}.figure figcaption{margin-top:var(--space-3);color:var(--fg-faint);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase}.figure--a{aspect-ratio:4/3}.figure--wide{aspect-ratio:16/9}.figure--portrait{aspect-ratio:4/5}.sticky-media{top:calc(var(--header-h) + var(--space-6));position:sticky}.figure--shift>img{transition:transform .7s var(--ease-build)}a:hover .figure--shift>img,a:focus-visible .figure--shift>img{transform:scale(1.03)}.section-head{align-items:end;gap:var(--space-5) var(--space-7);padding-bottom:var(--space-6);grid-template-columns:minmax(0,1fr) auto;display:grid}.section-head>.stack{--gap:var(--space-4)}.fact-rail{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.fact-rail>div{gap:var(--space-2);padding:var(--space-6) var(--space-5) var(--space-6) 0;flex-direction:column;display:flex}.fact-rail>div+div{padding-left:var(--space-5);border-left:1px solid var(--rule)}.fact-rail--stack{border-bottom:0;display:block}.fact-rail--stack>div{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-4) 0;flex-direction:row}.fact-rail--stack>div+div{border-left:0;border-top:1px solid var(--rule);padding-left:0}.fact-rail--stack dd{font-size:clamp(1.4rem,1.8vw,1.9rem)}.fact-rail dt{color:var(--fg-faint);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase}.fact-rail dd{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.6rem,2.4vw,2.6rem);font-weight:500;line-height:1}.fact-rail dd small{margin-top:var(--space-2);color:var(--fg-muted);font-family:var(--font-editorial);font-size:var(--type-small);letter-spacing:0;text-transform:none;font-weight:300;line-height:1.5;display:block}.rule-list>li,.rule-list>div{align-items:start;gap:var(--space-4);padding-block:var(--space-5);border-top:1px solid var(--rule);grid-template-columns:3.5rem minmax(0,1fr) auto;display:grid}.rule-list>li:last-child,.rule-list>div:last-child{border-bottom:1px solid var(--rule)}.rule-list .index{color:var(--accent);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.08em;padding-top:.35em}.rule-list .h4+.prose{margin-top:var(--space-2)}.rule-list--links>li,.rule-list--links>div{padding:0}.rule-list--links a{grid-template-columns:3.5rem minmax(0,1fr) auto;grid-template-columns:subgrid;padding-block:var(--space-5);transition:background-color var(--dur-state) var(--ease-out);grid-column:1/-1;align-items:start;display:grid}.rule-list--links a:hover{background:var(--bg-panel)}.rule-list--links a:hover .h3{color:var(--accent)}.rule-list .h3{transition:color var(--dur-state) var(--ease-out)}.rule-list .go{color:var(--accent);transition:transform var(--dur-state) var(--ease-out);align-self:center;font-size:1.125rem}.rule-list--links a:hover .go{transform:translate(.25rem,-.25rem)}.assembly{background:var(--rule);border-block:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.assembly>a{min-height:30rem;padding:var(--space-6) var(--space-5);background:var(--forest-950);color:var(--white-warm);isolation:isolate;transition:flex-grow var(--dur-state) var(--ease-build);flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.assembly>a:before{content:"";z-index:-1;transition:opacity var(--dur-state) var(--ease-out);background:linear-gradient(#101d1c33 0%,#101d1c8c 38%,#101d1ced 66%,#101d1cf7 100%);position:absolute;inset:0}.assembly img{z-index:-2;object-fit:cover;filter:saturate(.75);width:100%;height:100%;transition:transform .7s var(--ease-build), filter var(--dur-state) var(--ease-out);position:absolute;inset:0;transform:scale(1.02)}.assembly>a:hover img,.assembly>a:focus-visible img{filter:saturate();transform:scale(1.06)}.assembly>a:hover:before,.assembly>a:focus-visible:before{opacity:.82}.assembly .index{color:var(--teal-400);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.14em}.assembly .h3{margin-top:var(--space-3)}.assembly .panel-body{transition:grid-template-rows .42s var(--ease-build);grid-template-rows:0fr;display:grid}.assembly>a:hover .panel-body,.assembly>a:focus-visible .panel-body{grid-template-rows:1fr}.assembly .panel-body>div{overflow:hidden}.assembly .panel-body p{padding-top:var(--space-4);color:#efede7cc;font-size:var(--type-small);line-height:1.6}.assembly .panel-body ul{gap:var(--space-2) var(--space-4);padding-top:var(--space-4);flex-wrap:wrap;display:flex}.assembly .panel-body li{color:var(--teal-400);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase}.card{display:block}.card .figure{overflow:hidden}.card-body{align-items:start;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--rule);margin-top:var(--space-4);grid-template-columns:3.5rem minmax(0,1fr) auto;display:grid}.card-body .index{color:var(--accent);font-family:var(--font-mono);font-size:var(--type-label);padding-top:.3em}.card-title{font-family:var(--font-display);letter-spacing:-.02em;transition:color var(--dur-state) var(--ease-out);font-size:clamp(1.25rem,1.7vw,1.75rem);font-weight:500;line-height:1.15}.card:hover .card-title{color:var(--accent)}.card-body .meta{margin-top:var(--space-2)}.card-body .prose{margin-top:var(--space-3);font-size:var(--type-small)}.card .go{color:var(--accent);transition:transform var(--dur-state) var(--ease-out);align-self:start;padding-top:.3em}.card:hover .go{transform:translate(.25rem,-.25rem)}.work-grid{gap:var(--space-8) var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.work-grid .figure--wide{aspect-ratio:16/10}.levels{gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid;position:relative}.level-lower{margin-top:var(--space-10);grid-area:1/1/auto/span 7}.level-upper{border:1px solid var(--rule-strong);padding:var(--space-2);background:var(--bg);grid-area:1/7/auto/span 6}.level-tag{align-items:center;gap:var(--space-3);padding-block:var(--space-3);color:var(--accent);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;display:flex}.level-tag:after{content:"";background:var(--rule);flex:1;height:1px}.plate{z-index:1;margin-top:calc(var(--space-9) * -1);padding:var(--space-7);background:var(--forest-950);color:var(--white-warm);position:relative}.plate dl{gap:var(--space-5) var(--space-6);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid #efede733;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));display:grid}.plate dt{color:#efede78c;font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase}.plate dd{margin:var(--space-2) 0 0;font-family:var(--font-ui);font-size:var(--type-body);font-weight:500}.hero-plate{border-left:1px solid var(--teal-400);padding-left:var(--space-4)}.thumb{cursor:zoom-in;text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.thumb .figure{display:block;overflow:hidden}.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--white-warm);background:#0a0e0ef7;border:0;margin:0;padding:0}.lightbox[open]{display:block}.lightbox::backdrop{background:#0a0e0ee6}.lightbox-inner{height:100%;padding:var(--space-5) var(--gutter) var(--space-6);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.lightbox-bar{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.lightbox-bar .meta{color:var(--teal-400)}.lightbox-close{min-height:2.75rem;padding:0 var(--space-3);color:var(--white-warm);cursor:pointer;font-family:var(--font-ui);font-size:var(--type-label);letter-spacing:.16em;text-transform:uppercase;background:0 0;border:0;font-weight:600}.lightbox-close:hover{color:var(--teal-400)}.lightbox-figure{gap:var(--space-4);min-height:0;padding-block:var(--space-4);grid-template-rows:minmax(0,1fr) auto;place-items:center;display:grid}.lightbox-figure img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.lightbox-figure figcaption{letter-spacing:0;text-align:center;text-transform:none;max-width:62ch}.lightbox-nav{justify-content:center;gap:var(--space-4);display:flex}.lightbox-nav button{width:3rem;height:3rem;color:var(--white-warm);cursor:pointer;transition:border-color var(--dur-state) var(--ease-out), background-color var(--dur-state) var(--ease-out);background:0 0;border:1px solid #efede747;font-size:1.125rem}.lightbox-nav button:hover{border-color:var(--teal-400);background:#4fb3b824}.carousel-track{gap:var(--col-gap);padding-bottom:var(--space-5);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-item{scroll-snap-align:start;flex:0 0 clamp(16rem,32%,30rem)}.carousel-controls{justify-content:space-between;align-items:center;gap:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--rule);display:flex}.carousel-dots{gap:var(--space-2);display:flex}.carousel-dots button{cursor:pointer;background:0 0;border:0;width:2.25rem;height:2.25rem;padding:0;position:relative}.carousel-dots button:after{content:"";background:var(--rule-strong);width:100%;height:2px;transition:background-color var(--dur-state) var(--ease-out);position:absolute;inset:50% auto auto 0}.carousel-dots button[aria-current]:after,.carousel-dots button:hover:after{background:var(--accent)}.carousel-arrows{gap:var(--space-2);display:flex}.carousel-arrows button{border:1px solid var(--rule-strong);width:2.75rem;height:2.75rem;color:var(--fg);cursor:pointer;transition:border-color var(--dur-state) var(--ease-out), color var(--dur-state) var(--ease-out);background:0 0}.carousel-arrows button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.carousel-arrows button:disabled{opacity:.3;cursor:default}.contact-sheet{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));display:grid}.contact-sheet .figure{aspect-ratio:1}.filter-bar{gap:var(--space-2);padding-block:var(--space-5);border-block:1px solid var(--rule);flex-wrap:wrap;display:flex}.filter-bar a{border:1px solid var(--rule);color:var(--fg-muted);font-family:var(--font-ui);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;transition:border-color var(--dur-state) var(--ease-out), color var(--dur-state) var(--ease-out), background-color var(--dur-state) var(--ease-out);padding:.6rem 1.1rem;font-weight:600}.filter-bar a:hover{border-color:var(--fg);color:var(--fg)}.filter-bar a[aria-current=page]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.next-project{align-items:center;gap:var(--space-5);padding-block:var(--space-8);border-top:1px solid var(--rule);transition:padding-inline var(--dur-state) var(--ease-out);grid-template-columns:minmax(0,1fr) auto;display:grid}.next-project:hover{padding-inline:var(--space-4)}.next-project:hover .h2{color:var(--accent)}.next-project .h2{transition:color var(--dur-state) var(--ease-out)}.capability-pager{margin-block:var(--section-y-tight);background:var(--rule);border-block:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.capability-pager a{gap:var(--space-2);padding:var(--space-6) var(--space-5);background:var(--bg);transition:background-color var(--dur-state) var(--ease-out);flex-direction:column;display:flex}.capability-pager a:last-child{text-align:right;align-items:flex-end}.capability-pager a:hover{background:var(--bg-panel)}.capability-pager a:hover .h3{color:var(--accent)}.capability-pager .h3{transition:color var(--dur-state) var(--ease-out)}.form-grid{gap:var(--space-6) var(--col-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field{gap:var(--space-2);flex-direction:column;display:flex}.field--full{grid-column:1/-1}.field label{color:var(--fg-muted);font-family:var(--font-ui);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.field .hint{color:var(--fg-faint);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.06em;text-transform:none}.field input,.field select,.field textarea{border:0;border-bottom:1px solid var(--rule-strong);width:100%;min-height:3rem;font-family:var(--font-ui);font-size:var(--type-body);transition:border-color var(--dur-state) var(--ease-out);background:0 0;border-radius:0;padding:.7rem 0}.field textarea{min-height:9rem;padding:var(--space-4);border:1px solid var(--rule-strong);resize:vertical}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--fg)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.field ::placeholder{color:var(--fg-faint)}.form-status{min-height:1.5rem;color:var(--success-700);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase}.form-status[data-state=error]{color:var(--error-700)}.skip-link{top:var(--space-3);left:var(--space-3);z-index:200;padding:var(--space-3) var(--space-4);background:var(--ink-900);color:var(--paper-100);font-family:var(--font-ui);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;transition:transform var(--dur-state) var(--ease-out);font-weight:600;position:fixed;transform:translateY(-160%)}.skip-link:focus-visible{transform:translateY(0)}.site-header{z-index:100;transition:background-color var(--dur-state) var(--ease-out), border-color var(--dur-state) var(--ease-out);border-bottom:1px solid #0000;position:sticky;top:0}.site-header[data-overlay=true]{--fg:var(--white-warm);--fg-muted:#efede7bd;--accent:var(--teal-400);--rule:#efede733;--on-accent:var(--forest-950);color:var(--fg);position:fixed;inset:0 0 auto}.site-header[data-stuck=true]{background:var(--forest-950);border-bottom-color:#efede724}.site-header:not([data-overlay=true]){background:var(--forest-950);--fg:var(--white-warm);--fg-muted:#efede7bd;--accent:var(--teal-400);--rule:#efede733;--on-accent:var(--forest-950);color:var(--fg)}.header-inner{align-items:center;gap:var(--space-6);min-height:var(--header-h);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.logo-link{align-items:center;display:flex}.logo{width:auto;height:1.75rem}.footer-lockup{width:auto;max-width:100%;height:clamp(6rem,9vw,7.5rem);margin-bottom:var(--space-2)}.nav-list{justify-content:center;gap:var(--space-6);display:flex}.nav-link{padding:var(--space-2) 0;color:inherit;cursor:pointer;font-family:var(--font-ui);font-size:var(--type-label);letter-spacing:.16em;text-transform:uppercase;transition:color var(--dur-micro) var(--ease-out);background:0 0;border:0;font-weight:600;display:inline-block;position:relative}.nav-link:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform var(--dur-state) var(--ease-out);position:absolute;inset:auto 0 0;transform:scaleX(0)}.nav-link:hover,.nav-link[aria-current=page]{color:var(--accent)}.nav-link:hover:after,.nav-link:focus-visible:after,.nav-link[aria-current=page]:after{transform:scaleX(1)}.nav-item{position:relative}.nav-panel{top:calc(100% + var(--space-3));z-index:10;width:min(46rem,80vw);padding:var(--space-6);background:var(--forest-950);color:var(--white-warm);border:1px solid #efede729;position:absolute;left:50%;transform:translate(-50%)}.nav-panel ul{background:#efede724;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.nav-panel li a{height:100%;padding:var(--space-4);background:var(--forest-950);transition:background-color var(--dur-state) var(--ease-out);display:block}.nav-panel li a:hover{background:#efede712}.nav-panel .index{color:var(--teal-400);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.12em}.nav-panel .h4{margin-top:var(--space-2)}.nav-panel p{margin-top:var(--space-2);color:#efede7b3;font-size:var(--type-small);line-height:1.5}.nav-panel>a{margin-top:var(--space-5);display:inline-block}.header-actions{align-items:center;gap:var(--space-4);display:flex}.header-phone{min-height:2.75rem;font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.1em;transition:color var(--dur-micro) var(--ease-out);align-items:center;display:inline-flex}.header-phone:hover{color:var(--accent)}.menu-trigger{align-items:center;gap:var(--space-3);cursor:pointer;min-width:2.75rem;min-height:2.75rem;font-family:var(--font-ui);font-size:var(--type-label);letter-spacing:.16em;text-transform:uppercase;background:0 0;border:0;padding:0;font-weight:600;display:none}.menu-bars{gap:5px;width:1.5rem;display:grid}.menu-bars span{background:currentColor;height:1.5px}.mobile-menu[open]{display:flex}.mobile-menu{z-index:150;background:var(--forest-950);width:100%;max-width:none;max-height:none;color:var(--white-warm);border:0;flex-direction:column;margin:0;padding:0;position:fixed;inset:0;overflow-y:auto}.mobile-menu::backdrop{background:#101d1ce6}.mobile-menu-head{min-height:var(--header-h);padding-inline:var(--gutter);border-bottom:1px solid #efede729;justify-content:space-between;align-items:center;display:flex}.mobile-menu-body{padding:var(--space-6) var(--gutter) var(--space-8);flex:1}.mobile-menu-body a{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:3.5rem;font-family:var(--font-display);letter-spacing:-.02em;border-bottom:1px solid #efede724;font-size:1.5rem;font-weight:500;display:flex}.mobile-menu-body .sub a{min-height:3rem;padding-left:var(--space-5);font-family:var(--font-ui);color:#efede7c7;font-size:1rem;font-weight:400}.mobile-menu-foot{padding:var(--space-6) var(--gutter) var(--space-8);border-top:1px solid #efede729}.site-footer{--bg:var(--forest-950);background:var(--bg);color:var(--fg)}.footer-cta{align-items:end;gap:var(--space-7);padding-block:var(--section-y);grid-template-columns:minmax(0,1fr) auto;display:grid}.footer-contacts{gap:var(--space-2) var(--space-6);flex-wrap:wrap;display:flex}.footer-contacts a{font-family:var(--font-ui);font-size:var(--type-body-lg);transition:color var(--dur-micro) var(--ease-out)}.footer-contacts a:hover{color:var(--accent)}.footer-grid[data-compact]{border-top:0;padding-block-start:var(--section-y)}.footer-grid{gap:var(--space-7) var(--col-gap);padding-block:var(--space-8);border-top:1px solid var(--rule);grid-template-columns:1.6fr repeat(3,1fr);display:grid}.footer-col h2{color:var(--accent);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.18em;text-transform:uppercase;font-weight:500}.footer-col ul{gap:var(--space-3);margin-top:var(--space-5);flex-direction:column;display:flex}.footer-col a,.footer-col address{min-height:1.5rem;color:var(--fg-muted);font-family:var(--font-ui);font-size:var(--type-small);transition:color var(--dur-micro) var(--ease-out);padding-block:.25rem;font-style:normal;line-height:1.6;display:inline-block}.footer-col a:hover{color:var(--fg)}.footer-base{justify-content:space-between;gap:var(--space-4);padding-block:var(--space-5);border-top:1px solid var(--rule);flex-wrap:wrap;display:flex}.hero{background:var(--forest-950);min-height:clamp(42.5rem,100svh,61.25rem);color:var(--white-warm);isolation:isolate;align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero-plan{z-index:-2;width:min(50vw,48rem);height:100%;position:absolute;inset:0 0 0 auto;overflow:visible}.hero-plan line,.hero-plan path{fill:none;stroke:var(--teal-400);stroke-width:1.25px;vector-effect:non-scaling-stroke}.hero-plan text{fill:var(--teal-400);font-family:var(--font-mono);letter-spacing:.16em;font-size:15px}.hero-plan .hp-measure line,.hero-plan .hp-plan,.hero-plan .hp-grid line,.hero-plan .hp-columns line,.hero-plan .hp-deck,.hero-plan .hp-roof,.hero-plan .hp-light{stroke-dasharray:1;stroke-dashoffset:1px;animation:hp-draw .9s var(--ease-build) both}.hero-plan text{opacity:0;animation:hp-fade .5s var(--ease-out) both}.hero-plan .hp-measure line{opacity:.55;animation-delay:.12s}.hero-plan .hp-measure text{animation-delay:.62s}.hero-plan .hp-plan{stroke-width:1.75px;animation-delay:.48s}.hero-plan .hp-grid line{opacity:.28;animation-duration:.7s;animation-delay:.76s}.hero-plan .hp-columns line{opacity:.75;animation-duration:.62s;animation-delay:1.04s}.hero-plan .hp-deck{opacity:.85;stroke-dasharray:4 4;animation-delay:1.32s}.hero-plan .hp-roof{stroke-width:1.75px;animation-delay:1.56s}.hero-plan .hp-label text{animation-delay:1.9s}.hero-plan .hp-light{stroke:var(--teal-400);stroke-width:4px;animation-duration:.7s;animation-delay:1.98s}@keyframes hp-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes hp-fade{to{opacity:1}}.hero:before{content:"";z-index:-1;background:linear-gradient(90deg, var(--forest-950) 0%, var(--forest-950) 34%, #101d1cc7 46%, #101d1c00 62%);position:absolute;inset:0}.hero-inner{gap:var(--col-gap);width:100%;padding-block:var(--space-9) var(--space-8);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;display:grid}.hero-copy{grid-column:1/span 8}.hero h1{font-family:var(--font-display);font-size:var(--type-display-lg);letter-spacing:-.04em;text-wrap:balance;font-weight:500;line-height:.9}.hero-plate-wrap{grid-column:10/span 3;justify-self:end}.plan-overlay{z-index:-1;pointer-events:none;position:absolute;inset:0}.plan-overlay line,.plan-overlay rect,.plan-overlay circle{stroke:var(--teal-400);fill:none;vector-effect:non-scaling-stroke}.page-intro{gap:var(--space-6) var(--col-gap);padding-block:calc(var(--space-9)) var(--space-8);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;display:grid}.page-intro>.stack{grid-column:1/span 7}.page-intro>.aside{grid-column:9/span 4}.breadcrumb{gap:var(--space-2);padding-top:var(--space-6);flex-wrap:wrap;display:flex}.breadcrumb a:hover{color:var(--accent)}.story-block{gap:var(--space-5) var(--col-gap);padding-block:var(--space-8);border-top:1px solid var(--rule);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.story-block>.meta{grid-column:1/span 3}.story-block>.body{grid-column:5/span 7}.gallery{gap:var(--space-6) var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.legal-page{max-width:68ch;padding-block:var(--space-9);--gap:var(--space-4)}.legal-page h2{margin-top:var(--space-5)}.legal-page p{color:var(--fg-muted);line-height:1.7}.not-found{justify-content:center;gap:var(--space-5);min-height:60svh;padding-block:var(--space-9);flex-direction:column;display:flex}.reveal{opacity:0;transition:opacity var(--dur-reveal) var(--ease-build), transform var(--dur-reveal) var(--ease-build);transform:translateY(1.25rem)}.reveal[data-revealed=true]{opacity:1;transform:none}.reveal[data-delay="1"]{transition-delay:90ms}.reveal[data-delay="2"]{transition-delay:.18s}.reveal[data-delay="3"]{transition-delay:.27s}.opening-light{transition:background-color .9s var(--ease-build)}.opening-light[data-revealed=true]{background:#16302e}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.build-line:after{transform:scaleX(1)}.assembly .panel-body{grid-template-rows:1fr}}@media (max-width:1180px){.assembly{grid-template-columns:repeat(2,minmax(0,1fr))}.assembly>a{min-height:22rem}.assembly .panel-body{grid-template-rows:1fr}.assembly>a:before{background:linear-gradient(#101d1c8c 0%,#101d1cf2 42%,#101d1cf7 100%)}.hero-copy{grid-column:1/span 10}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.carousel-item{flex-basis:46%}}@media (max-width:900px){:root{--section-y:clamp(3.5rem, 8vw, 6rem);--header-h:4rem}.desktop-nav,.header-actions .btn,.header-phone{display:none}.menu-trigger{display:inline-flex}.header-inner{grid-template-columns:auto 1fr}.logo{height:1.5rem}.header-inner>nav{display:none}.span-4,.span-5,.span-6,.span-7,.span-8,.start-2,.start-6,.start-7,.start-8,.hero-copy,.hero-plate-wrap,.page-intro>.stack,.page-intro>.aside,.story-block>.meta,.story-block>.body,.work-grid>*,.gallery>*{grid-column:1/-1}.hero-plate-wrap{justify-self:start}.sticky-media{position:static}.fact-rail--stack{border-bottom:1px solid var(--rule)}.section-head,.footer-cta,.next-project{grid-template-columns:minmax(0,1fr);align-items:start}.form-grid{grid-template-columns:minmax(0,1fr)}.levels{gap:var(--space-5);flex-direction:column;display:flex}.level-lower,.level-upper{border:0;margin:0;padding:0}.plate{padding:var(--space-6) var(--space-5);margin-top:0}.fact-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.fact-rail>div{padding:var(--space-5) var(--space-4) var(--space-5) 0}.fact-rail>div:nth-child(odd){border-left:0;padding-left:0}.fact-rail>div:nth-child(n+3){border-top:1px solid var(--rule)}}@media (max-width:640px){.hero:before{background:linear-gradient(#0a0e0eb8 0%,#0a0e0e57 26%,#0a0e0ebd 58%,#0a0e0ef2 100%)}.hero .row .btn{flex:100%}.assembly{grid-template-columns:minmax(0,1fr)}.assembly>a{min-height:17rem}.rule-list>li,.rule-list--links a,.card-body{gap:var(--space-3);grid-template-columns:2.25rem minmax(0,1fr) auto}.nav-panel ul{grid-template-columns:minmax(0,1fr)}.contact-sheet{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr))}.carousel-item{flex-basis:82%}.carousel-controls{gap:var(--space-4);flex-wrap:wrap}.carousel-dots{flex-wrap:wrap;min-width:0}.carousel-dots button{width:1.75rem}.lightbox-inner{padding:var(--space-4) var(--space-4) var(--space-5)}.footer-grid{grid-template-columns:minmax(0,1fr)}.hero-inner{padding-block:var(--space-8) var(--space-7)}.hero-plan{opacity:.8;width:100%;height:26%;inset:6% 0 auto}.plate dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.buyer-hero{padding-top:3rem}.buyer-hero-grid{gap:var(--space-7);padding-bottom:var(--space-7);grid-template-columns:.9fr 1.1fr;align-items:center;display:grid}.buyer-hero h1{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(2.6rem,3.7vw,4.5rem);font-weight:500;line-height:1.04}.buyer-hero h1 span{color:var(--teal-400)}.buyer-hero-copy .lede{font-family:var(--font-ui);max-width:44ch;font-size:1.0625rem;line-height:1.6}.buyer-hero .eyebrow{letter-spacing:.08em;font-size:.8125rem}.buyer-hero .row{gap:1.5rem}.buyer-hero-photo img{width:100%;height:auto}.buyer-hero-photo figcaption{font-family:var(--font-ui);color:var(--fg-muted);justify-content:space-between;gap:1rem;padding-top:1rem;font-size:.875rem;display:flex}.buyer-hero-photo figcaption a{color:var(--teal-400);text-underline-offset:4px;text-decoration:underline}.buyer-proof{gap:var(--space-5);padding:var(--space-5) 0 var(--space-6);border-top:1px solid var(--rule);font-family:var(--font-ui);grid-template-columns:repeat(3,1fr);display:grid}.buyer-proof dt{color:var(--fg-muted);font-size:.875rem}.buyer-proof dd{margin-top:.25rem;font-size:1.375rem;font-weight:500}.service-choices{border-top:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.service-choices>a{border-bottom:1px solid var(--rule);flex-direction:column;gap:.75rem;padding:1.5rem 1.25rem 1.5rem 0;display:flex}.service-choices>a+a{border-left:1px solid var(--rule);padding-left:1.25rem}.service-choices p{font-family:var(--font-ui);color:var(--fg-muted);font-size:1rem}.service-choices .arrow-link{margin-top:auto;padding-top:.5rem;font-size:.875rem}.buyer-work-grid{gap:var(--space-7) var(--col-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.buyer-steps{gap:var(--space-7);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.buyer-steps li{border-top:1px solid var(--rule);padding-top:1.25rem}.buyer-steps h3{margin:.75rem 0}.buyer-steps p,.card .prose,.project-facts li{font-family:var(--font-ui);color:var(--fg-muted);font-size:1rem;line-height:1.6}.buyer-contact .section-head{margin:0 auto;padding-bottom:0}.buyer-contact .lede{max-width:48ch}.card-photo{aspect-ratio:3/2;place-items:center;display:grid;overflow:hidden}.card-photo>img{object-fit:contain;max-height:100%}.card-body{grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding-top:1rem}.card-body>.index{display:none}.card-title{font-size:clamp(1.25rem,1.8vw,1.75rem)}.card .meta{letter-spacing:.03em;font-size:.8125rem}.project-overview{gap:var(--space-7);grid-template-columns:minmax(0,1.7fr) minmax(15rem,1fr);align-items:start;display:grid}.project-overview-media{background:var(--paper-200);max-width:100%;margin:0}.project-overview-media img{object-fit:contain;width:100%;height:auto;max-height:72vh}.project-overview-media figcaption{font-family:var(--font-ui);color:var(--fg-muted);padding:.75rem 1rem;font-size:.875rem}.project-facts{gap:var(--space-5);flex-direction:column;display:flex}.project-facts ul{border-top:1px solid var(--rule)}.project-facts li{border-bottom:1px solid var(--rule);padding:.75rem 0}.project-facts .h3{font-size:1.5rem}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.gallery>*{grid-column:auto}.thumb .figure{aspect-ratio:auto;background:0 0}.thumb .figure img{object-fit:contain;width:100%;height:auto;max-height:38rem}.contact-sheet{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr))}.contact-sheet .figure{aspect-ratio:4/3;background:var(--paper-200);place-items:center;display:grid}.contact-sheet .figure img{object-fit:contain;width:auto;max-height:100%}.gallery--support{max-width:72rem;margin-inline:auto}.gallery--support>*{max-width:34rem}.archive-disclosure{border-block:1px solid var(--rule);margin-top:2rem;padding-block:1.25rem}.archive-disclosure>summary{cursor:pointer;font-family:var(--font-ui);color:var(--accent);padding:.5rem 0;font-size:1rem}.archive-disclosure[open]>summary{margin-bottom:1.5rem}.lightbox-figure img{max-width:min(100%, var(--image-native-width,100%))}.lightbox{overscroll-behavior:contain}.capability-photo{max-width:72rem;padding-inline:var(--gutter);margin:0 auto}.capability-photo img{object-fit:contain;width:100%;height:auto;max-height:65vh}.page-intro{padding-top:var(--space-7);padding-bottom:var(--space-7)}.page-intro .display{font-size:clamp(2.25rem,4vw,4rem)}.page-intro .lede{font-family:var(--font-ui);max-width:62ch;font-size:1.125rem}.buyer-project-intro{display:block}.buyer-project-intro .lede{margin-top:1rem}.section-head{padding-bottom:var(--space-6)}.section-head .h2{font-size:clamp(1.8rem,2.8vw,3rem)}.contact-summary{border:1px solid var(--rule);font-family:var(--font-ui);padding:1.25rem}.brief-preview{white-space:pre-wrap;width:100%;font-family:var(--font-ui);border:1px solid var(--rule);background:var(--paper-200);padding:1rem;font-size:1rem;line-height:1.6}.form-help{font-family:var(--font-ui);color:var(--fg-muted);font-size:.875rem}.project-brief-form{--gap:1.5rem}.project-brief-form>output:empty{display:none}.project-brief-form>section{--gap:1.25rem}.field label{letter-spacing:0;text-transform:none;font-size:.9375rem}.field .hint{font-size:.8125rem}.footer-cta .display{font-size:clamp(2rem,3vw,3.5rem)}.footer-cta{padding-block:3rem}.footer-grid{padding-block:2.5rem}.footer-grid .meta,.footer-col a,.footer-col address{letter-spacing:0;font-size:.875rem}.footer-lockup{max-width:16rem}.capability-faq>div{border-top:1px solid var(--rule);padding-block:1.25rem}.capability-faq dd{font-family:var(--font-ui);color:var(--fg-muted);margin-top:.75rem;font-size:1rem}.buyer-studio{max-width:64rem}.film-frame{max-width:60rem;margin-inline:auto}.film-frame video{width:100%;height:auto}.film-frame figcaption{margin-top:.75rem}.project-followup{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:2rem;display:flex}.service-questions{gap:var(--space-7);grid-template-columns:1fr 1fr;display:grid}.service-faq{border-top:1px solid var(--rule);padding-top:1rem}.service-faq summary{font-family:var(--font-ui);cursor:pointer;font-size:1.125rem}.service-faq p{padding-top:1rem}.service-process{font-family:var(--font-ui);padding-left:1.5rem;list-style:decimal}.service-process li{margin-bottom:1rem;padding-left:.5rem}@media (max-width:1180px){.header-phone{display:none}.header-inner{gap:1rem}.header-actions .btn{padding-inline:1rem;font-size:.75rem}.service-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.service-choices>a:nth-child(3){border-left:0;padding-left:0}}@media (max-width:900px){.service-questions{grid-template-columns:minmax(0,1fr);gap:2rem}.buyer-hero{padding-top:1.75rem}.buyer-hero-grid{grid-template-columns:minmax(0,1fr);gap:1.75rem;padding-bottom:1.75rem}.buyer-hero h1{font-size:clamp(2.35rem,7vw,3.25rem)}.buyer-hero-copy{gap:1.125rem}.buyer-hero-copy .lede{font-size:1rem}.buyer-hero .btn{padding-inline:1.1rem;font-size:.8125rem}.buyer-hero .row{gap:1.25rem}.buyer-hero-photo figcaption{padding-top:.75rem;font-size:.8125rem}.buyer-proof{gap:1rem;padding-block:1.25rem}.buyer-proof dd{font-size:1.125rem}.buyer-proof dt{font-size:.8125rem}.project-overview{grid-template-columns:minmax(0,1fr);gap:1.5rem}.project-overview-media img{max-height:none}.buyer-steps{gap:1.5rem}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery>*{grid-column:auto}}@media (max-width:640px){.section{padding-block:3rem}.section--flush-top{padding-top:0}.section-head{gap:1rem;padding-bottom:1.5rem}.buyer-work-grid,.buyer-steps{grid-template-columns:minmax(0,1fr);gap:2rem}.buyer-work-grid .card-photo{aspect-ratio:3/2}.service-choices>a{padding-block:1.25rem;padding-right:1rem}.service-choices>a+a{padding-left:1rem}.service-choices>a:nth-child(3){padding-left:0}.service-choices .h4{font-size:1.0625rem}.service-choices p{font-size:.875rem}.service-choices .index{display:none}.service-choices .arrow-link{letter-spacing:0;font-size:.8125rem}.buyer-proof dd{font-size:1rem}.buyer-proof dt{font-size:.75rem}.gallery{grid-template-columns:minmax(0,1fr)}.page-intro{padding-block:2rem}.breadcrumb{flex-wrap:wrap;font-size:.75rem}.card-body{grid-template-columns:minmax(0,1fr) auto}.card-photo{max-height:21rem}.footer-col .prose{font-family:var(--font-ui)}.hero-plan{display:none}}
.assembly-hero{padding-block:1.5rem;overflow:hidden}.assembly-intro{grid-template-columns:minmax(0,1.6fr) minmax(18rem,1fr);align-items:end;gap:3rem;padding-bottom:1.5rem;display:grid}.assembly-intro h1{font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(3rem,4.6vw,5.5rem);font-weight:500;line-height:.94}.assembly-intro h1 span{color:var(--teal-400)}.assembly-intro .eyebrow{margin-bottom:1rem}.assembly-intro .lede{font-family:var(--font-ui);max-width:40ch;font-size:1.0625rem;line-height:1.55}.assembly-intro .stack{--gap:1.25rem}.assembly-intro .row{gap:1rem}.assembly-intro .btn{padding-inline:1.25rem;font-size:.875rem}.assembly-folio{grid-template-columns:minmax(6rem,1fr) minmax(0,5fr) minmax(1rem,.75fr);align-items:stretch;gap:1.5rem;padding-top:1rem;display:grid}.folio-rail{flex-direction:column;align-items:flex-start;gap:1rem;padding-block:1.25rem 3rem;display:flex}.folio-number{font-family:var(--font-display);letter-spacing:-.06em;color:var(--teal-400);font-size:4.5rem;line-height:1}.folio-rail .meta{letter-spacing:.1em;font-size:.75rem;line-height:1.8}.folio-rail-line{background:var(--rule);flex:1;width:1px;min-height:2rem;margin-left:.35rem}.folio-content{min-width:0}.folio-stage{isolation:isolate;padding:1rem 0 0 1rem;position:relative}.folio-construction{pointer-events:none;z-index:-1;position:absolute;inset:0}.folio-plane{transform-origin:0 100%;border:1px solid #7bbbbf85;position:absolute;inset:0 0 2.5rem 1rem}.folio-plane--back{background:repeating-linear-gradient(90deg,#0000 0 calc(25% - 1px),#7bbbbf1f calc(25% - 1px) 25%);animation:.8s cubic-bezier(.2,.7,.2,1) both folio-back;transform:translate(2rem,-1rem)skewY(1deg)}.folio-plane--front{animation:.65s cubic-bezier(.2,.7,.2,1) 80ms both folio-front;transform:translate(1rem,-.5rem)skewY(.5deg)}.folio-corner{border-color:var(--teal-400);z-index:3;border-style:solid;border-width:0;width:1.5rem;height:1.5rem;animation:.6s ease-out both folio-corner;position:absolute}.folio-corner--tl{border-top-width:1px;border-left-width:1px;top:0;left:0}.folio-corner--tr{border-top-width:1px;border-right-width:1px;top:0;right:-1rem}.folio-corner--bl{border-bottom-width:1px;border-left-width:1px;bottom:0;left:0}.folio-corner--br{border-bottom-width:1px;border-right-width:1px;bottom:0;right:-1rem}.folio-seam{background:var(--teal-400);transform-origin:0;width:calc(100% + 1rem);height:3px;animation:.7s ease-out .12s both folio-seam;position:absolute;bottom:-.5rem;left:0}.folio-photo{background:var(--forest-950);margin:0}.folio-photo img{width:100%;height:auto;display:block}.folio-photo figcaption{font-family:var(--font-ui);color:var(--fg-muted);justify-content:space-between;gap:1rem;padding:1rem 0 .75rem;font-size:.875rem;display:flex}.folio-photo figcaption a{color:var(--teal-400);text-underline-offset:4px;text-decoration:underline}.folio-tools{justify-content:space-between;align-items:center;gap:1rem;margin:1.25rem 0 0 1rem;display:flex}.folio-tools .meta{letter-spacing:.06em;font-size:.75rem}.folio-replay{min-height:2.75rem;font-family:var(--font-ui);color:var(--teal-400);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;font-size:.875rem;display:inline-flex}.folio-replay:hover{text-underline-offset:4px;text-decoration:underline}.assembly-hero .buyer-proof{margin-top:1.25rem;padding-bottom:0}@keyframes folio-back{0%{opacity:0;transform:translate(4rem,-2rem)skewY(2deg)}to{opacity:1;transform:translate(2rem,-1rem)skewY(1deg)}}@keyframes folio-front{0%{opacity:0;transform:translate(2rem,-1rem)skewY(1deg)}to{opacity:1;transform:translate(1rem,-.5rem)skewY(.5deg)}}@keyframes folio-corner{0%{opacity:0}to{opacity:1}}@keyframes folio-seam{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (max-width:900px){.assembly-hero{padding-top:1.5rem}.assembly-intro{grid-template-columns:minmax(0,1fr);gap:1.25rem;padding-bottom:1.5rem}.assembly-intro h1{font-size:clamp(2.75rem,8vw,4.5rem)}.assembly-intro .eyebrow{margin-bottom:.75rem}.assembly-intro .lede{max-width:50ch;font-size:1rem}.assembly-intro .stack{--gap:1rem}.assembly-folio{grid-template-columns:minmax(0,1fr);padding-top:.25rem}.folio-rail{display:none}.folio-stage{padding:.5rem}.folio-plane{display:none}.folio-corner--tr,.folio-corner--br{right:0}.folio-seam{width:100%;bottom:0;left:0}.folio-photo figcaption{padding:.75rem 0 .5rem;font-size:.8125rem}.folio-tools{margin:.5rem}.assembly-hero .buyer-proof{margin-top:.5rem}}@media (prefers-reduced-motion:reduce){.folio-construction *{animation:none!important}.folio-replay{display:none}}.project-proof-sheet{border-top:1px solid var(--rule);border-left:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.proof-tile{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:1.25rem}.proof-link{display:block}.proof-image{aspect-ratio:3/2;place-items:center;display:grid;position:relative}.proof-image img{object-fit:contain;width:100%;height:100%}.proof-image:after{content:"";border:1px solid var(--accent);opacity:0;pointer-events:none;transition:opacity .15s ease-out;position:absolute;inset:-.35rem}.proof-link:hover .proof-image:after,.proof-link:focus-visible .proof-image:after{opacity:1}.proof-caption{grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:start;gap:.75rem;padding-top:1rem;display:grid}.proof-caption h3{font-family:var(--font-ui);font-size:1.125rem;font-weight:500;line-height:1.3}.proof-caption p{font-family:var(--font-ui);color:var(--fg-muted);margin-top:.5rem;font-size:.8125rem}.proof-index{font-family:var(--font-mono);color:var(--accent);font-size:.75rem;line-height:1.8}.proof-go{color:var(--accent)}.location-list{font-family:var(--font-ui);grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.location-list>div{border-top:1px solid var(--rule);padding-top:1rem}.location-list dt{font-size:1.25rem;font-weight:500}.location-list dd{color:var(--fg-muted);margin-top:.25rem;font-size:1rem}.location-list--compact{grid-template-columns:minmax(0,1fr);gap:.75rem}.location-list--compact>div{flex-wrap:wrap;gap:.5rem;padding-top:.75rem;display:flex}.location-list--compact dt,.location-list--compact dd{margin:0;font-size:.875rem}@media (max-width:900px){.project-proof-sheet{grid-template-columns:repeat(2,minmax(0,1fr))}.location-list{gap:1rem}}@media (max-width:640px){.proof-tile{padding:.75rem}.proof-caption{grid-template-columns:minmax(0,1fr);gap:.4rem;padding-top:.75rem}.proof-caption h3{font-size:1rem}.proof-caption p{font-size:.75rem}.proof-index,.proof-go{display:none}.location-list:not(.location-list--compact){grid-template-columns:minmax(0,1fr);gap:1rem}}
.page-intro>.display,.page-intro>.eyebrow{grid-column:1/-1}.page-intro>.eyebrow{margin-bottom:1rem}.quiet-hero{isolation:isolate;align-items:center;min-height:calc(100svh - 88px);display:flex;position:relative;overflow:hidden}.quiet-hero-inner{z-index:1;padding-block:clamp(5rem,12vh,9rem);position:relative}.quiet-hero h1{font-family:var(--font-display);letter-spacing:-.055em;margin:1.75rem 0 3rem;font-size:clamp(3.5rem,9.5vw,9rem);font-weight:400;line-height:1.03}.quiet-hero h1 span{color:var(--accent)}.quiet-scroll{border-bottom:1px solid;align-items:center;gap:3rem;padding-block:.8rem;font-size:1rem;display:inline-flex}.quiet-lines{z-index:0;pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 38%,#000 64%);mask-image:linear-gradient(90deg,#0000 38%,#000 64%)}.hero-animation{pointer-events:none;position:absolute;inset:0}.logo.logo--full{width:210px;height:auto;padding-block:8px}.header-actions{justify-self:end}.motion-toggle{z-index:2;pointer-events:auto;width:44px;height:44px;color:var(--fg);cursor:pointer;background:#101d1cbf;border:1px solid #efede74d;border-radius:50%;place-items:center;font-size:1.125rem;display:grid;position:absolute;bottom:1.5rem;right:5%}.hero-animation[data-paused] .quiet-lines,.hero-animation[data-paused] .quiet-lines:before,.hero-animation[data-paused] .quiet-lines span,.hero-animation[data-paused] .quiet-lines span:before,.hero-animation[data-paused] .quiet-lines span:after{animation-play-state:paused}.quiet-lines:before{content:"";background:radial-gradient(at 42% 38%,#45e0d721,#0000 52%),radial-gradient(at 72% 62%,#a87ef926,#0000 50%),radial-gradient(at 85% 85%,#f4ab641a,#0000 45%);animation:19s ease-in-out infinite alternate colour-atmosphere;position:absolute;inset:5% -12% -12% 48%}.quiet-lines span{--plane-colour:88 224 213;--plane-delay:0s;border:1px solid rgb(var(--plane-colour) / 17%);background:linear-gradient(135deg, rgb(var(--plane-colour) / 1%) 20%, rgb(var(--plane-colour) / 12%) 100%);width:27%;height:64%;box-shadow:inset 0 -1px 0 rgb(var(--plane-colour) / 28%);animation:colour-orbit 15s ease-in-out var(--plane-delay) infinite;position:absolute;top:15%;right:12%;transform:skewY(-20deg)}.quiet-lines span:before,.quiet-lines span:after{content:"";background:linear-gradient(180deg, transparent, rgb(var(--plane-colour) / 95%), rgb(var(--plane-colour) / 35%));box-shadow:0 0 16px rgb(var(--plane-colour) / 45%);position:absolute}.quiet-lines span:before{transform-origin:bottom;width:2px;height:100%;animation:colour-edge-stream 7s ease-in-out var(--plane-delay) infinite alternate;bottom:0;left:-1px}.quiet-lines span:after{background:linear-gradient(90deg, rgb(var(--plane-colour) / 80%), rgb(var(--plane-colour) / 95%), transparent);transform-origin:0;width:100%;height:2px;animation:colour-edge-shimmer 9s ease-in-out var(--plane-delay) infinite alternate;bottom:-1px;left:0}.quiet-lines span:nth-child(2){--plane-colour:177 139 250;--plane-delay:-5s;top:23%;right:4%}.quiet-lines span:nth-child(3){--plane-colour:248 174 112;--plane-delay:-10s;top:31%;right:-4%}@keyframes colour-arrive{0%{opacity:0}to{opacity:1}}@keyframes colour-orbit{0%,to{opacity:.8;transform:skewY(-20deg)translate(0,0)}33%{opacity:1;transform:skewY(-13deg)translate(-22px,-26px)}66%{opacity:.9;transform:skewY(-23deg)translate(16px,-10px)}}@keyframes colour-atmosphere{0%{opacity:.55;transform:translate(-2%,-2%)scale(.95)}to{opacity:1;transform:translate(2%,3%)scale(1.08)}}@keyframes colour-edge-stream{0%{opacity:.25;transform:scaleY(.35)}to{opacity:1;transform:scaleY(1)}}@keyframes colour-edge-shimmer{0%{opacity:.3;transform:scaleX(.45)}60%{opacity:1;transform:scaleX(1)}to{opacity:.55;transform:scaleX(.8)}}@keyframes colour-plane-arrive{0%{opacity:0;translate:38px 24px}60%{opacity:1}to{opacity:1;translate:0}}@keyframes colour-edge-rise{0%{opacity:0;transform:scaleY(0)}20%{opacity:1}70%{opacity:1;transform:scaleY(1)}to{opacity:.65;transform:scaleY(1)}}@keyframes colour-edge-across{0%,22%{opacity:0;transform:scaleX(0)}45%{opacity:1}85%{opacity:1;transform:scaleX(1)}to{opacity:.75;transform:scaleX(1)}}.home-work{scroll-margin-top:90px}.specialty-links{font-family:var(--font-ui);flex-wrap:wrap;gap:.5rem 1rem;font-size:1rem;display:flex}.specialty-links a{text-underline-offset:.3em;text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);padding-block:.5rem}.specialty-links a:hover,.specialty-links a[aria-current=page]{color:var(--accent)}.work-service-row{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(2rem,5vw,5rem);padding-block:clamp(2.5rem,6vw,5rem);display:grid}.work-service-row .project-proof-sheet{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.work-service-row .proof-tile:only-child{grid-column:1/-1}.work-service-row .proof-caption h3{font-size:1rem}.work-service-row .proof-caption p{display:none}.service-summary{align-self:start;max-width:26rem}.work-category{border-top:1px solid var(--rule);padding-block:3rem}.work-category .section-head{align-items:start}.contact-direct{grid-template-columns:1fr 1fr;gap:3rem;padding-bottom:5rem;display:grid}.contact-direct .contact-link{overflow-wrap:anywhere;font-size:clamp(1.2rem,2.8vw,2.1rem)}.about-copy{max-width:48rem}.gallery-cover .thumb,.gallery-cover .figure{aspect-ratio:auto;display:block}.gallery-cover img{object-fit:contain;width:100%;height:auto}@media (max-width:700px){.logo.logo--full{width:170px}.quiet-hero{min-height:calc(88svh - 76px)}.quiet-hero h1{font-size:clamp(3rem,12.5vw,5rem)}.quiet-lines{opacity:.65;-webkit-mask-image:linear-gradient(90deg,#0000 28%,#000 80%);mask-image:linear-gradient(90deg,#0000 28%,#000 80%)}.quiet-lines span{width:42%}.work-service-row,.contact-direct{grid-template-columns:1fr}.work-service-row{gap:1.75rem}.work-service-row .project-proof-sheet{grid-template-columns:repeat(2,minmax(0,1fr))}.work-service-row .proof-index{display:none}.work-service-row .proof-caption{grid-template-columns:minmax(0,1fr) auto}}@media (prefers-reduced-motion:reduce){.motion-toggle{display:none}.quiet-lines:before,.quiet-lines span,.quiet-lines span:before,.quiet-lines span:after{animation:none}}
