:root{--color-bg:#132022;--color-surface:#1d2c2e;--color-text:#f3f5f0;--color-text-muted:#b7c3c3;--color-primary:#b2dedd;--color-border:rgba(230,244,241,.2);--font-body:'Satoshi',Arial,sans-serif;--font-display:'Cabinet Grotesk',Arial,sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:clamp(1rem,.97rem + .14vw,1.125rem);--text-lg:1.25rem;--text-xl:clamp(1.9rem,1.3rem + 1.5vw,2.65rem);--text-hero:clamp(4rem,1.5rem + 6.6vw,8rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--transition-interactive:180ms ease;--radius-sm:2px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;scroll-padding-top:var(--space-16)}body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;background:var(--color-bg);color:var(--color-text)}img,svg,video{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}h1,h2,h3{line-height:1.08;text-wrap:balance}p,li{max-width:72ch;text-wrap:pretty}a{color:inherit;text-decoration:none;transition:color var(--transition-interactive),background var(--transition-interactive)}a:hover{color:var(--color-primary)}button,summary{transition:background var(--transition-interactive)}:focus-visible{outline:3px solid var(--color-primary);outline-offset:5px}::selection{background:var(--color-primary);color:var(--color-bg)}.shell{width:min(1320px,calc(100% - 112px));margin-inline:auto}.skip{position:absolute;left:var(--space-4);top:-100px;background:var(--color-primary);color:var(--color-bg);padding:var(--space-4);z-index:100}.skip:focus{top:var(--space-4)}.site-header{position:relative;z-index:10;width:min(1320px,calc(100% - 112px));margin-inline:auto;min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);border-bottom:1px solid var(--color-border)}.brand{display:flex;align-items:center;gap:var(--space-4);font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;letter-spacing:-.02em;line-height:1.2}.brand img{width:76px;height:auto;flex-shrink:0}.brand-caption{display:block;margin-top:var(--space-2);font-size:var(--text-xs);font-family:var(--font-body);font-weight:500;letter-spacing:.12em;color:var(--color-text-muted)}.site-header nav{display:flex;align-items:center;gap:var(--space-8);font-size:var(--text-sm)}.site-header nav>a{display:flex;align-items:center;min-height:44px}.nav-contact{gap:var(--space-6);border-bottom:1px solid var(--color-primary)}.menu-button{display:none}.hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-8);padding-block:var(--space-16);align-items:center}.eyebrow{font-size:var(--text-xs);font-weight:500;letter-spacing:.15em;color:var(--color-primary)}h1{font-family:var(--font-display);font-weight:500;font-size:var(--text-hero);line-height:.92;letter-spacing:-.06em;margin-block:var(--space-8)}h1>span{color:var(--color-primary)}.hero-intro{color:var(--color-text-muted);max-width:39ch}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-12);padding:var(--space-4) var(--space-6);min-height:52px;background:var(--color-primary);color:var(--color-bg);font-size:var(--text-sm);margin-top:var(--space-8)}.button:hover{background:var(--color-text);color:var(--color-bg)}.hero-photo{min-width:0;padding-top:var(--space-6)}.hero-photo img{width:100%;height:510px;object-fit:cover;object-position:54% center}.hero-photo figcaption{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);padding-top:var(--space-4)}.hero-photo figcaption>span{letter-spacing:.12em}.hero-photo figcaption a{text-decoration:underline;text-underline-offset:3px}.intro-band{padding-block:var(--space-6);display:flex;justify-content:space-between;gap:var(--space-8);align-items:center;border-block:1px solid var(--color-border)}.intro-band>span{font-size:var(--text-xs);letter-spacing:.12em;color:var(--color-text-muted)}.intro-band>p{font-size:var(--text-sm)}.section{padding-block:clamp(var(--space-16),7vw,var(--space-24))}.section-label{display:flex;align-items:center;gap:var(--space-6);font-size:var(--text-xs);letter-spacing:.14em;margin-bottom:var(--space-12);color:var(--color-text-muted)}.label-rule{flex:1;height:1px;background:var(--color-border)}h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:-.03em}.work-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-20)}.work-intro>p{color:var(--color-text-muted);margin-top:var(--space-6);max-width:31ch}.text-link{display:inline-flex;align-items:center;gap:var(--space-10);min-height:48px;margin-top:var(--space-6);border-bottom:1px solid currentColor;font-size:var(--text-sm)}.service{border-top:1px solid var(--color-border)}.service:last-child{border-bottom:1px solid var(--color-border)}.service summary{list-style:none;display:grid;grid-template-columns:24px 1fr 24px;align-items:center;gap:var(--space-5);padding-block:var(--space-6);cursor:pointer}.service summary::-webkit-details-marker{display:none}.service summary:hover{background:rgba(255,255,255,.04)}.service-number{font-size:var(--text-xs);color:var(--color-primary)}.service h3{font-size:var(--text-lg);font-weight:500;line-height:1.25}.toggle{font-size:var(--text-lg);text-align:center;color:var(--color-primary)}.service[open] .toggle{transform:rotate(45deg)}.service-content{padding:0 var(--space-8) var(--space-6) var(--space-12);font-size:var(--text-sm);color:var(--color-text-muted)}.service-content a{font-size:var(--text-xs);text-decoration:underline;text-underline-offset:4px;color:var(--color-primary)}.service-content>a{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--space-2)}.studio-section{display:grid;grid-template-columns:1.12fr 1fr;background:#e6edeb;color:#192b2c}.studio-image{min-width:0;min-height:530px}.studio-image img{height:100%;width:100%;object-fit:cover;object-position:center}.studio-copy{padding:var(--space-16);align-self:center;max-width:700px}.studio-copy .eyebrow{color:#365e5c}.studio-copy h2{margin-block:var(--space-6)}.studio-copy p+p{margin-top:var(--space-6)}.studio-copy p:not(.eyebrow){color:#526360;font-size:var(--text-sm)}.studio-copy a:hover{color:#245e5d}.inline-source{font-size:var(--text-xs);text-decoration:underline;text-underline-offset:3px;color:var(--color-primary)}.studio-copy .inline-source{color:#245e5d}.heritage-heading{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);margin-bottom:var(--space-16)}.heritage-heading>p{color:var(--color-text-muted);max-width:46ch}.history-row{display:grid;grid-template-columns:.65fr 1fr 1.5fr;gap:var(--space-12);padding-block:var(--space-8);border-top:1px solid var(--color-border)}.history-label{font-size:var(--text-xs);letter-spacing:.12em;color:var(--color-primary);padding-top:var(--space-1)}.history-row h3{font-size:var(--text-lg);font-weight:500;line-height:1.3}.history-row p{font-size:var(--text-sm);color:var(--color-text-muted)}.research-section{background:var(--color-primary);color:#192b2c;padding-block:var(--space-20)}.research-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}.research-grid .eyebrow{color:#365e5c;margin-bottom:var(--space-8)}.research-grid p+p{margin-top:var(--space-6)}.research-grid>div:last-child>p{color:#354f4d}.research-grid a:hover{color:#245e5d}.research-status{display:flex;gap:var(--space-3);align-items:center;font-size:var(--text-xs);font-weight:700}.status-marker{display:block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#245e5d}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);margin-top:var(--space-8)}.contact-copy>p{color:var(--color-text-muted);max-width:43ch}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-lg);padding-block:var(--space-5);border-bottom:1px solid var(--color-border);margin-top:var(--space-4);overflow-wrap:anywhere}.contact-secondary{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-6);font-size:var(--text-sm)}.contact-secondary>span{font-size:var(--text-xs);color:var(--color-text-muted)}.contact-secondary a{min-height:44px;display:inline-flex;align-items:center}footer{border-top:1px solid var(--color-border);padding-block:var(--space-8) var(--space-6)}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);font-size:var(--text-xs)}.footer-brand{display:flex;gap:var(--space-4);align-items:center;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.footer-brand img{width:48px}.footer-top>a,.footer-bottom>a{min-height:44px;display:flex;align-items:center}.footer-top p{color:var(--color-text-muted)}.footer-bottom{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border);align-items:start;color:var(--color-text-muted)}.footer-bottom>span{padding-block:var(--space-3)}.privacy{max-width:460px}.privacy summary{min-height:44px;padding-block:var(--space-3);cursor:pointer}.privacy p{padding-bottom:var(--space-4);max-width:50ch}.img-fallback{background:var(--color-surface);padding:var(--space-8);min-height:180px;display:grid;place-items:center;color:var(--color-text-muted)}
@media(max-width:1100px){.shell,.site-header{width:calc(100% - 64px)}.site-header nav{gap:var(--space-5)}.brand-caption{letter-spacing:.04em}.hero-photo img{height:480px}.work-layout{gap:var(--space-10)}.studio-copy{padding:var(--space-10)}.history-row{gap:var(--space-8)}.intro-band>span:last-child{display:none}.contact-email{font-size:var(--text-base)}}
@media(max-width:760px){.shell,.site-header{width:calc(100% - 40px)}.site-header{min-height:94px;gap:var(--space-4)}.brand{gap:var(--space-3);font-size:var(--text-lg)}.brand img{width:58px}.brand-caption{font-size:var(--text-xs);letter-spacing:0}.menu-button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);min-width:68px;min-height:44px}.menu-button span{font-size:var(--text-lg)}.site-header nav{display:none;position:absolute;top:100%;left:-20px;right:-20px;flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-4) var(--space-6) var(--space-6);background:var(--color-bg);border-bottom:1px solid var(--color-border);box-shadow:0 12px 16px rgba(0,0,0,.14)}.site-header nav.is-open{display:flex}.site-header nav>a{padding:var(--space-2) 0}.nav-contact{justify-content:space-between}.hero{grid-template-columns:1fr;padding-block:var(--space-10);gap:var(--space-10)}.eyebrow{letter-spacing:.1em;font-size:var(--text-xs)}h1{font-size:clamp(4.5rem,19vw,7rem);margin-block:var(--space-6)}.hero-intro{max-width:39ch}.hero-photo{padding-top:0}.hero-photo img{height:340px;object-position:center}.hero-photo figcaption{font-size:var(--text-xs);gap:var(--space-2)}.intro-band{display:block;padding-block:var(--space-5)}.intro-band>span{display:none}.intro-band>p{font-size:var(--text-sm)}.section{padding-block:var(--space-16)}.section-label{gap:var(--space-4);margin-bottom:var(--space-8)}.work-layout{grid-template-columns:1fr;gap:var(--space-10)}.work-intro>p{max-width:42ch}.service summary{gap:var(--space-3);grid-template-columns:20px 1fr 20px}.service h3{font-size:var(--text-base)}.service-content{padding:0 0 var(--space-6) var(--space-8)}.studio-section{grid-template-columns:1fr}.studio-image{min-height:0;aspect-ratio:1.15}.studio-copy{padding:var(--space-10) var(--space-5) var(--space-12)}.studio-copy h2{margin-block:var(--space-6)}.heritage-heading{grid-template-columns:1fr;gap:var(--space-6);margin-bottom:var(--space-10)}.history-row{grid-template-columns:1fr;gap:var(--space-4);padding-block:var(--space-6)}.history-row p{max-width:50ch}.history-label{padding:0}.research-section{padding-block:var(--space-12)}.research-grid{grid-template-columns:1fr;gap:var(--space-8)}.research-grid .eyebrow{margin-bottom:var(--space-6)}.research-status{align-items:start}.status-marker{margin-top:var(--space-2)}.contact-grid{grid-template-columns:1fr;gap:var(--space-8)}.contact-email{font-size:var(--text-base)}.footer-top,.footer-bottom{flex-wrap:wrap;gap:var(--space-3) var(--space-6)}.footer-top p{display:none}.footer-bottom{align-items:center}.privacy{order:3;flex-basis:100%}.footer-brand{font-size:var(--text-base)}}
.company-details{padding-bottom:var(--space-8);font-size:var(--text-xs);color:var(--color-text-muted)}.company-details a{text-decoration:underline;text-underline-offset:3px}
.case-section{border-top:1px solid var(--color-border)}
.case-heading{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);margin-bottom:var(--space-12)}
.case-heading h2{font-family:var(--font-display);font-size:var(--text-xl)}
.case-heading p{color:var(--color-text-muted)}.case-heading .archive-context{font-size:var(--text-sm);margin-top:var(--space-4)}
.case-study{border-top:1px solid var(--color-border);scroll-margin-top:var(--space-8)}
.case-study:last-child{border-bottom:1px solid var(--color-border)}
.case-study summary{display:grid;grid-template-columns:36px minmax(0,1fr) 28px;gap:var(--space-6);padding-block:var(--space-8);cursor:pointer;list-style:none}
.case-study summary::-webkit-details-marker{display:none}.case-study summary:hover .case-title{color:var(--color-primary)}
.case-number,.case-type{font-size:var(--text-xs);color:var(--color-primary);letter-spacing:.09em}
.case-number{padding-top:var(--space-1)}.case-type,.case-title,.case-deck{display:block}
.case-title{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.12;margin-top:var(--space-3);text-wrap:balance}
.case-deck{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-3)}
.case-toggle{font-size:var(--text-lg);color:var(--color-primary);align-self:center}.case-study[open] .case-toggle{transform:rotate(45deg)}
.case-body{display:grid;grid-template-columns:180px minmax(0,1fr);gap:var(--space-12);padding:0 var(--space-12) var(--space-10) calc(36px + var(--space-6))}
.case-aside>span{font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-primary)}
.case-aside>p{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-3)}
.case-copy p+p{margin-top:var(--space-5)}.case-copy p{max-width:68ch}
.archive-photo img{width:auto;max-width:100%;height:auto}.archive-photo figcaption{font-size:var(--text-xs);line-height:1.6;color:var(--color-text-muted);margin-top:var(--space-3)}
.engineering-archive{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--space-16);margin-top:var(--space-16);padding:var(--space-10);background:var(--color-surface)}
.engineering-intro h3{font-family:var(--font-display);font-size:var(--text-xl);margin-block:var(--space-4)}
.engineering-intro>p:not(.eyebrow){font-size:var(--text-sm);color:var(--color-text-muted);max-width:34ch}.engineering-intro img{margin-top:var(--space-6)}
.engineering-notes article+article{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-border)}
.engineering-notes h3{font-size:var(--text-lg);margin-block:var(--space-3)}.engineering-notes p{font-size:var(--text-base)}.engineering-notes p+p{margin-top:var(--space-4)}
.archive-endnote{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-8);margin-top:var(--space-8)}
.archive-endnote p{max-width:52ch;font-size:var(--text-xs);color:var(--color-text-muted)}.archive-endnote .text-link{font-size:var(--text-sm);margin-top:0}
@media(max-width:760px){.case-heading{grid-template-columns:1fr;gap:var(--space-6);margin-bottom:var(--space-8)}.case-study summary{grid-template-columns:20px minmax(0,1fr) 20px;gap:var(--space-3);padding-block:var(--space-6)}.case-title{font-size:var(--text-lg);font-family:var(--font-body);font-weight:700}.case-type{letter-spacing:.04em}.case-body{grid-template-columns:1fr;gap:var(--space-6);padding:0 0 var(--space-8) var(--space-8)}.case-aside>p{max-width:38ch}.archive-photo img{max-width:175px}.engineering-archive{grid-template-columns:1fr;gap:var(--space-8);padding:var(--space-6);margin-top:var(--space-10)}.engineering-intro h3 br{display:none}.archive-endnote{display:block}.archive-endnote .text-link{margin-top:var(--space-6)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
