@font-face{font-family:DM;src:url('/assets/dm-sans.ttf') format('truetype');font-weight:100 900;font-display:swap}@font-face{font-family:Mono;src:url('/assets/space-mono.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--paper:#f2f3ee;--ink:#232824;--sub:#71776e;--line:#d4d8cc;--accent:#5a9eb0;--mono:Mono,monospace;--sans:DM,Arial,sans-serif;--pad:5vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}::selection{color:inherit;background:#dce0dd}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button:disabled{cursor:default}h1,h2,h3,p{margin:0}a,button,summary{touch-action:manipulation}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-160%);z-index:100;background:var(--ink);color:white;padding:16px}.skip-link:focus{transform:translateY(0)}.header{height:102px;position:fixed;top:0;left:0;right:0;z-index:50;margin:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);transition:color .6s,border-color .6s}.header:before{content:'';position:absolute;inset:0 calc(-1 * var(--pad));background:rgba(242,243,238,.88);backdrop-filter:blur(18px);z-index:-1;transition:background .6s}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.brand-word{font-size:43px;line-height:.94;letter-spacing:-3px;font-weight:750;display:flex;align-items:flex-end}.brand-square{width:7px;height:7px;background:var(--accent);margin:0 0 5px 6px}.brand-caption{font-size:8px;letter-spacing:1.6px;margin-top:7px;font-family:var(--mono)}.desktop-nav{display:flex;gap:38px;margin-left:8vw}.desktop-nav a{font-size:14px;position:relative}.desktop-nav a:after,.social-links a:after{content:'';height:1px;background:currentColor;position:absolute;left:0;right:0;bottom:-6px;transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover:after,.social-links a:hover:after{transform:scaleX(1)}.nav-contact{padding:13px 0 13px 24px;display:flex;align-items:center;gap:44px;font-size:14px}.small-plus{font-size:28px;font-weight:400;line-height:1;color:var(--accent)}.menu-toggle{display:none}.mobile-menu{display:none}.build-story{height:690svh;position:relative}.story-sticky{position:sticky;top:0;height:100svh;min-height:660px;overflow:hidden;isolation:isolate;transition:background .7s,color .7s}.story-grid{position:absolute;inset:100px 0 0 46%;background-image:radial-gradient(#969f8b70 .65px,transparent .65px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 90%,transparent);opacity:.45;z-index:-1}.scene-wrap{position:absolute;left:40%;right:0;top:88px;bottom:88px;z-index:0;transition:opacity .5s}.scene-wrap canvas{width:100%;height:100%;display:block}.chapters{position:absolute;left:var(--pad);top:22%;bottom:140px;width:43%;pointer-events:none}.chapter{position:absolute;left:0;top:0;width:100%;opacity:0;visibility:hidden;transform:translateY(22px);transition:opacity .45s,transform .55s,visibility .45s;pointer-events:none}.chapter.active{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.eyebrow{font:11px/1.5 var(--mono);letter-spacing:1.35px;display:flex;align-items:center;gap:10px}.dash{width:22px;height:2px;background:var(--accent);display:inline-block;flex-shrink:0}.chapter h1,.chapter h2{font-size:clamp(57px,5.65vw,92px);letter-spacing:-.064em;line-height:1.04;font-weight:500;margin-top:25px;max-width:640px}.accent{color:var(--accent)}.chapter-description{font-size:17px;line-height:1.65;margin-top:26px;max-width:365px;color:#6a7067}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:51px;padding:0 20px;font-size:13px;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:var(--accent)}.button-plus{font-size:22px;line-height:1;font-weight:400}.chapter .button{margin-top:28px}.hero-location{font:10px var(--mono);display:flex;align-items:center;gap:10px;margin-top:31px;letter-spacing:.3px}.hero-location>span:last-child{color:#909787;margin-left:8px}.location-mark{display:block;width:8px;height:8px;border:1px solid var(--ink);border-radius:50%;position:relative}.location-mark:after{content:'';position:absolute;inset:2px;background:var(--ink);border-radius:50%}.model-topline{position:absolute;top:132px;left:52%;right:var(--pad);font:9px var(--mono);letter-spacing:1px;display:flex;align-items:center;gap:12px;color:#78806f}.crosshair{font-size:24px;font-weight:400;color:#858e79;line-height:1}.model-code{margin-left:auto}.scene-annotation{position:absolute;top:69%;right:7%;font:10px var(--mono);display:flex;gap:9px;align-items:center;color:#757f6c;pointer-events:none}.annotation-dot{width:6px;height:6px;border:1px solid var(--accent);border-radius:50%;box-shadow:0 0 0 5px #5a9eb013}.story-bottom{position:absolute;bottom:29px;left:var(--pad);right:var(--pad);display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:end;border-top:1px solid var(--line);padding-top:23px;gap:30px}.scroll-cue{font:9px/1.6 var(--mono);letter-spacing:.7px;display:flex;align-items:center;gap:14px;color:#697261}.scroll-mouse{height:29px;width:18px;border:1px solid #a4ad9a;border-radius:12px;position:relative}.scroll-mouse i{display:block;position:absolute;top:6px;left:7px;width:2px;height:5px;background:var(--accent);animation:scrollmouse 1.9s infinite}@keyframes scrollmouse{0%{transform:translateY(0);opacity:0}30%{opacity:1}100%{transform:translateY(9px);opacity:0}}.phase-nav{display:flex;gap:5px;width:100%;max-width:320px;justify-self:center}.phase{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:11px;background:none;padding:4px;min-height:40px}.phase span{font:10px var(--mono);color:#929a87;transition:color .3s}.phase i{height:2px;width:100%;background:#cbd2c1;transition:background .3s}.phase.active span{color:var(--accent)}.phase.active i,.phase.done i{background:var(--accent)}.scene-controls{display:flex;justify-content:flex-end;align-items:center;gap:24px;white-space:nowrap}.scene-controls button{background:none;display:flex;gap:7px;align-items:center;padding:4px;font:9px var(--mono);color:#6d7564}.pause-symbol{font:16px var(--sans)}.model-caption{font:8px var(--mono);letter-spacing:.7px;color:#8d9682}.chapter-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px;max-width:420px}.chapter-tags span{font-size:11px;border:1px solid var(--line);padding:7px 10px}.chapter-note{font-size:12px;line-height:1.6;color:var(--sub);margin-top:30px;max-width:320px}.chapter .text-link{margin-top:29px}.text-link{display:inline-flex;gap:22px;font-size:13px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:8px}.text-link span{font-size:20px;color:var(--accent);line-height:1}.text-link:hover{color:var(--accent)}body.tech-view .header{color:#edf1e7;border-color:#3b453b}body.tech-view .header:before{background:rgba(22,30,25,.88)}.story-sticky.is-tech{background:#161e19;color:#edf1e7}.is-tech .chapter-description{color:#abb8a9}.is-tech .chapter-tags span{border-color:#414d3f}.is-tech .story-bottom{border-color:#394538}.is-tech .phase i{background:#394538}.is-tech .phase.active i,.is-tech .phase.done i{background:var(--accent)}.is-tech .model-topline,.is-tech .scene-annotation,.is-tech .scroll-cue,.is-tech .scene-controls button{color:#9aaa93}.is-tech .story-grid{filter:invert(1);opacity:.18}.section-pad{padding:100px var(--pad)}.section-top{display:flex;align-items:center;justify-content:space-between}.section-aside{font:10px var(--mono);letter-spacing:1px;color:var(--sub)}.expertise{background:#fbfcf8}.expertise-intro{display:flex;justify-content:space-between;align-items:flex-end;margin:55px 0 56px}.section-pad h2{font-size:clamp(38px,4.2vw,66px);line-height:1.1;font-weight:500;letter-spacing:-.055em}.muted{color:#8d9784}.expertise-intro>p,.projects-title>p{line-height:1.7;font-size:15px;color:var(--sub);width:32%;padding-bottom:5px}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service summary{display:flex;align-items:center;list-style:none;cursor:pointer;padding:31px 0;gap:38px}.service summary::-webkit-details-marker{display:none}.service-no{font:12px var(--mono);color:var(--accent);width:42px}.service h3{font-size:27px;font-weight:450;letter-spacing:-.6px}.service-toggle{margin-left:auto;font-size:28px;font-weight:300;transition:transform .3s}.service[open] .service-toggle{transform:rotate(45deg);color:var(--accent)}.service-content{padding:0 0 34px 80px;display:grid;grid-template-columns:1fr 1fr auto;gap:6vw}.service-content>p{font-size:14px;line-height:1.8;color:var(--sub);max-width:345px}.service-content ul{list-style:none;margin:0;padding:0;font-size:13px;line-height:2}.service-content li:before{content:'·';color:var(--accent);margin-right:10px}.service-view{font-size:12px;align-self:end;display:flex;gap:35px;align-items:center;background:none;padding:0 0 5px;border-bottom:1px solid var(--line)}.service-view span{font:11px var(--mono);color:var(--accent)}.projects{padding-bottom:110px}.projects-title{display:flex;align-items:flex-end;justify-content:space-between;margin-top:50px}.project-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px 28px;margin-top:49px}.project-card{background:none;padding:0;text-align:left;min-width:0}.project-card:nth-child(2){padding-top:110px}.project-card:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center}.project-image{width:100%;aspect-ratio:1.38;overflow:hidden;position:relative;background:#d8ddcf}.project-card:nth-child(2) .project-image{aspect-ratio:1.12}.project-card:nth-child(3) .project-image{aspect-ratio:1.9}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s,filter .8s;filter:saturate(.55)}.project-card:hover img{transform:scale(1.035);filter:saturate(1)}.project-open{position:absolute;bottom:20px;right:20px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#f2f3eedb;backdrop-filter:blur(10px);font-size:26px;transition:background .25s,color .25s}.project-card:hover .project-open{background:var(--accent);color:white}.project-meta{padding-top:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.project-meta h3{font-size:24px;letter-spacing:-.6px;font-weight:500;margin-top:8px}.project-meta p{font:9px var(--mono);letter-spacing:1px;color:var(--sub)}.project-meta>span{font:11px var(--mono);padding-top:5px;color:var(--sub)}.project-card:nth-child(3) .project-meta{padding:0 0 0 30px}.studio{background:#e5e8de}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:62px;padding-bottom:80px}.studio-quote{position:relative;padding-left:26px}.quote-mark{position:absolute;left:-14px;top:-20px;font-size:70px;color:var(--accent)}.studio-quote h2{font-size:clamp(44px,5vw,79px);line-height:1.06}.studio-copy{padding-top:4px;max-width:410px}.studio-copy .lead{font-size:25px;line-height:1.4;letter-spacing:-.5px;color:var(--ink);margin-bottom:26px}.studio-copy>p{font-size:14px;line-height:1.85;color:#68725f;margin-top:16px}.method{margin:30px 0;display:flex;align-items:center;gap:12px}.method span{font:9px var(--mono);letter-spacing:.4px}.method i{flex:1;max-width:25px;height:1px;background:#a4af98}.careers{border-top:1px solid #bdc5b2;padding-top:36px;display:flex;align-items:center;justify-content:space-between;gap:25px}.careers h3{font-size:20px;font-weight:450;letter-spacing:-.4px;margin-top:12px}.button-outline{border:1px solid #89977e;white-space:nowrap}.button-outline:hover{background:var(--ink);color:var(--paper)}.contact{background:#f7f8f3;padding-bottom:95px}.contact-title{display:flex;align-items:center;justify-content:space-between;margin-top:50px;padding-bottom:50px;border-bottom:1px solid var(--line)}.contact-title h2{font-size:clamp(37px,4.7vw,76px)}.contact-title h2>span{color:#909a87}.contact-circle{width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:white;transition:transform .3s}.contact-circle:hover{transform:rotate(90deg)}.contact-circle span{font-size:44px;font-weight:300}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:49px}.contact-info>p{font-size:16px;line-height:1.7;color:var(--sub)}.contact-email{display:block;font-size:clamp(24px,2.2vw,30px);letter-spacing:-.6px;margin-top:25px;width:max-content;border-bottom:1px solid var(--ink)}.contact-phone{display:block;margin-top:15px;font-size:18px;width:max-content}.address{margin-top:42px}.address>p{font-size:15px;line-height:1.7;margin-top:15px}.address .text-link{margin-top:17px}.contact-map{min-height:340px;background:#e5e9de;overflow:hidden;position:relative}.map-preview{height:100%;min-height:340px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate}.map-topography{position:absolute;inset:0;z-index:-1;background-image:repeating-radial-gradient(ellipse at 80% -20%,transparent 0 34px,#bdc8b12b 35px 36px,transparent 37px 60px),repeating-radial-gradient(ellipse at -30% 90%,transparent 0 31px,#aeba9f44 32px 33px,transparent 34px 57px)}.map-label{display:flex;flex-direction:column;align-items:center}.map-pin{width:46px;height:46px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:16px;box-shadow:0 0 0 12px #5a9eb015}.map-label strong{font-size:28px;font-weight:500;letter-spacing:-1px}.map-label>span:last-child{font:9px var(--mono);letter-spacing:1px;margin-top:8px}.map-preview .button{margin-top:27px;font-size:12px;min-height:44px}.map-preview>p{font-size:10px;color:#7d886f;margin-top:12px}.contact-map iframe{width:100%;height:100%;min-height:340px;border:0}.footer{background:#1e2921;color:#e1e8db;padding:50px var(--pad) 26px}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:42px}.footer-brand{font-size:70px;font-weight:600;letter-spacing:-6px;line-height:1}.footer-brand>span{display:inline-block;font-size:16px;vertical-align:top;letter-spacing:0;padding-left:8px;margin-top:10px}.footer-main>div:nth-child(2){margin-right:auto}.footer-main p{font:9px var(--mono);letter-spacing:1px}.footer-main>div>span{display:block;font-size:13px;margin-top:8px;color:#859a80}.social-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.social-links a{font-size:12px;position:relative}.back-top{font:9px var(--mono);display:flex;align-items:center;gap:23px}.back-top span{font-size:24px;color:#5a9eb0}.footer-bottom{padding-top:24px;border-top:1px solid #3a493a;display:flex;gap:35px;align-items:center;font-size:10px;color:#9daa96}.footer-bottom>div{margin-left:auto;display:flex;gap:25px}dialog{padding:0;border:0;max-width:1050px;width:88vw;background:var(--paper);color:var(--ink);max-height:88svh;overflow:auto}dialog::backdrop{background:#172016c9;backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:18px;top:18px;z-index:2;border-radius:50%;background:var(--paper);width:44px;height:44px;font-size:28px;line-height:1}.dialog-close:hover{background:var(--accent);color:white}#dialog-image{width:100%;max-height:62svh;object-fit:contain;display:block;background:#dee3d7}.dialog-info{padding:30px}.dialog-info h2{font-size:32px;font-weight:500;letter-spacing:-1px;margin-top:8px}.dialog-info>p:not(.eyebrow){margin-top:12px;color:var(--sub);line-height:1.7;font-size:14px}.dialog-info .text-link{margin-top:20px}.scene-fallback{position:absolute;inset:15%;border:1px solid var(--line);padding:40px;place-content:center;text-align:center}.scene-fallback:not([hidden]){display:grid}.scene-fallback span{font:40px var(--sans);letter-spacing:-3px}.scene-fallback p{margin-top:20px;line-height:1.7}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:translateY(0)}
@media(min-width:1600px){:root{--pad:7vw}.scene-wrap{left:41%;right:2%}.chapters{top:24%}.chapter-description{font-size:18px;max-width:405px}.chapter h1,.chapter h2{font-size:99px}.model-topline{left:51%}}
@media(max-height:800px) and (min-width:901px){.header{height:83px}.chapters{top:21%;bottom:95px}.chapter h1,.chapter h2{font-size:clamp(54px,5.1vw,78px);margin-top:18px}.chapter-description{font-size:15px;margin-top:20px;line-height:1.6}.chapter .button{margin-top:21px}.hero-location{margin-top:23px}.model-topline{top:110px}.story-bottom{bottom:22px;padding-top:17px}.chapter-tags{margin-top:20px}.chapter-note{margin-top:23px}.story-sticky{min-height:620px}}
@media(max-width:1100px){.desktop-nav{gap:25px;margin-left:0}.model-caption{display:none}.chapter h1,.chapter h2{font-size:clamp(52px,5.8vw,70px)}.chapter-description{font-size:15px;max-width:310px}.hero-location>span:last-child{display:none}.chapter .eyebrow{font-size:9px}.service-content{gap:3vw;padding-left:60px}.service summary{gap:18px}.service h3{font-size:24px}.service-content ul{font-size:12px}.service-view{gap:15px}.contact-grid{gap:6vw}.footer-main{gap:30px}.footer-brand{font-size:60px}.footer-main>div:nth-child(2){display:none}.footer-main .social-links{margin-right:auto}}
@media(max-width:760px){:root{--pad:6vw}.header{height:80px;margin:0 var(--pad)}.brand-word{font-size:35px}.brand-caption{font-size:6px;letter-spacing:1.4px}.brand-square{width:5px;height:5px;margin-bottom:4px}.desktop-nav{display:none}.nav-contact{margin-left:auto;padding-right:22px;gap:15px;font-size:12px}.small-plus{font-size:22px}.menu-toggle{display:flex;background:none;width:24px;height:30px;padding:7px 0;flex-direction:column;justify-content:space-around}.menu-toggle span{height:1px;background:currentColor;width:22px;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu:not([hidden]){display:flex;position:fixed;inset:80px 0 auto;background:var(--paper);z-index:49;flex-direction:column;padding:25px var(--pad) 35px;gap:22px;box-shadow:0 20px 25px #1e29210d}.mobile-menu a{font-size:27px;letter-spacing:-1px}.build-story{height:650svh}.story-sticky{min-height:660px;height:100svh}.chapters{top:116px;left:var(--pad);width:88%;bottom:auto;height:280px}.chapter h1,.chapter h2{font-size:clamp(39px,8.4vw,56px);line-height:1.02;letter-spacing:-.055em;margin-top:15px}.chapter h1 br:nth-child(2){display:none}.chapter h1 br:nth-child(2):after{content:' '}.chapter h1 .accent:before{content:' '}.chapter h2 br:nth-child(2){display:none}.chapter h2 .accent:before{content:' '}.chapter-description{font-size:13px;line-height:1.6;max-width:330px;margin-top:14px}.chapter-description br{display:none}.chapter .eyebrow{font-size:8px;letter-spacing:.7px;gap:8px}.chapter .button{min-height:40px;font-size:11px;padding:0 13px;margin-top:15px;gap:25px}.hero-location{display:none}.scene-wrap{left:0;right:0;top:340px;bottom:77px}.model-topline{top:auto;bottom:95px;left:var(--pad);right:var(--pad);font-size:7px;gap:7px}.model-code{font-size:7px}.model-topline .crosshair{font-size:16px}.scene-annotation{display:none}.story-grid{inset:330px 0 75px}.story-bottom{bottom:16px;padding-top:15px;grid-template-columns:auto 1fr auto;gap:20px;align-items:center}.scroll-cue{font-size:7px;max-width:110px;gap:8px;letter-spacing:0}.scroll-mouse{width:13px;height:23px;flex-shrink:0}.scroll-mouse i{left:5px;top:4px}.phase-nav{gap:2px}.phase{padding:2px;min-height:25px;gap:7px}.phase span{font-size:8px}.phase i{height:2px}.scene-controls button{font-size:7px;padding:0}.scene-controls{gap:0}.pause-symbol{font-size:14px}.chapter-tags{margin-top:16px;gap:5px;max-width:330px}.chapter-tags span{font-size:9px;padding:5px 7px}.chapter-note{display:none}.chapter .text-link{font-size:11px;margin-top:19px;padding-bottom:5px}.section-pad{padding:64px var(--pad)}.section-top{gap:20px}.section-top .eyebrow{font-size:9px;letter-spacing:.7px}.section-aside{font-size:8px;letter-spacing:.4px;text-align:right}.expertise-intro{display:block;margin:34px 0}.section-pad h2{font-size:38px}.expertise-intro>p,.projects-title>p{font-size:13px;width:100%;margin-top:22px}.expertise-intro>p br{display:none}.service summary{padding:24px 0;gap:14px}.service-no{font-size:10px;width:20px;flex-shrink:0}.service h3{font-size:19px;letter-spacing:-.6px}.service-toggle{font-size:24px}.service-content{padding:0 0 26px 34px;display:flex;flex-direction:column;gap:18px}.service-content>p{font-size:13px;max-width:none}.service-content ul{font-size:12px}.service-view{align-self:flex-start;gap:30px}.projects-title{display:block;margin-top:35px}.projects-title>p{margin-top:20px}.project-grid{grid-template-columns:1fr;gap:32px;margin-top:30px}.project-card:nth-child(2){padding-top:0}.project-card:nth-child(3){display:block;grid-column:auto}.project-card:nth-child(2) .project-image,.project-card:nth-child(3) .project-image{aspect-ratio:1.38}.project-card:nth-child(3) .project-meta{padding:16px 0 0}.project-meta{padding-top:16px}.project-meta h3{font-size:22px}.project-meta p{font-size:8px}.section-top .text-link{font-size:11px;gap:12px;white-space:nowrap}.studio-grid{grid-template-columns:1fr;gap:33px;margin-top:42px;padding-bottom:45px}.studio-quote h2{font-size:53px}.studio-quote{padding-left:20px}.quote-mark{left:-9px;font-size:58px;top:-15px}.studio-copy{max-width:none}.studio-copy .lead{font-size:24px}.studio-copy>p{font-size:13px}.method{max-width:360px;margin:26px 0}.careers{flex-direction:column;align-items:flex-start;gap:24px;padding-top:28px}.careers .eyebrow{font-size:9px}.careers h3{font-size:20px;max-width:290px;line-height:1.4}.careers .button{min-height:46px;font-size:12px}.contact-title{margin-top:35px;padding-bottom:30px;gap:20px}.contact-title h2{font-size:37px}.contact-circle{width:47px;height:47px;flex-shrink:0}.contact-circle span{font-size:28px}.contact-grid{grid-template-columns:1fr;gap:35px;margin-top:30px}.contact-info>p{font-size:14px}.contact-email{font-size:25px;margin-top:19px}.contact-phone{font-size:17px}.address{margin-top:29px}.address .eyebrow{font-size:10px}.address>p{font-size:14px}.contact-map,.map-preview,.contact-map iframe{min-height:300px}.footer{padding:35px var(--pad) 24px}.footer-main{flex-wrap:wrap;gap:30px;justify-content:space-between;padding-bottom:32px}.footer-brand{font-size:58px;letter-spacing:-5px}.footer-main .social-links{margin-right:0}.back-top{width:100%;justify-content:space-between;font-size:9px}.footer-bottom{display:flex;flex-wrap:wrap;gap:13px;font-size:9px;padding-top:22px}.footer-bottom>div{width:100%;margin-top:5px}.footer-bottom>span:nth-child(2){margin-left:auto}.dialog-info{padding:22px}.dialog-info h2{font-size:27px}dialog{width:94vw;max-height:90svh}.reveal{transform:translateY(16px)}}
@media(max-width:760px) and (max-height:740px){.story-sticky{min-height:590px}.chapters{top:102px}.chapter h1,.chapter h2{font-size:38px;margin-top:12px}.chapter-description{font-size:12px;max-width:320px;margin-top:11px}.scene-wrap{top:295px;bottom:69px}.chapter-tags{margin-top:12px}.chapter .button{margin-top:12px;min-height:36px}.story-bottom{bottom:12px;padding-top:12px}.model-topline{bottom:82px}.story-grid{inset:280px 0 65px}.chapter .text-link{margin-top:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{transform:none;opacity:1}.chapter{transform:none}}
/* Original TEECO mark and mineral palette. */
:root{--paper:#f3f4f1;--ink:#1c2638;--sub:#747a80;--line:#d4d9d8;--accent:#5a9eb0}
.brand-logo{width:133px;height:48px;position:relative;overflow:hidden;display:block;mix-blend-mode:multiply}.brand-logo img{position:absolute;width:174px;height:auto;left:-20px;top:-19px;max-width:none}.brand-caption{font-size:7px;letter-spacing:2px;margin-top:1px;padding-left:2px}.header:before{background:rgba(243,244,241,.91)}.chapter-description{color:#747a7e}.expertise{background:#fcfcfa}.studio{background:#e6e9e6}.studio-copy>p{color:#707972}.muted,.contact-title h2>span{color:#8b9795}.contact{background:#f9faf7}.footer{background:#18242c}.story-sticky.is-tech{background:#15232b}.is-tech .chapter-description{color:#a6b9bf}body.tech-view .header:before{background:rgba(21,35,43,.9)}body.tech-view .brand-logo{mix-blend-mode:screen;filter:grayscale(1) invert(1)}
@media(max-width:760px){.brand-logo{width:111px;height:40px}.brand-logo img{width:145px;left:-16px;top:-16px}.brand-caption{font-size:6px;letter-spacing:1.45px}}
.mobile-copy{display:none}
@media(max-width:760px){.chapter-description{font-size:16px;line-height:1.5;max-width:345px}.full-copy{display:none}.mobile-copy{display:inline}.chapter h2 br{display:none}.chapter h2{font-size:38px;line-height:1.06}.scene-wrap{top:var(--mobile-scene-top,360px)}.chapter-tags{margin-top:14px}.chapter-tags span{font-size:10px}.expertise-intro>p,.projects-title>p,.service-content>p,.studio-copy>p,.contact-info>p,.address>p,.dialog-info>p:not(.eyebrow){font-size:16px}.service-content ul{font-size:14px;line-height:1.9}.service-view,.text-link{font-size:14px}.project-meta p{font-size:10px}.project-meta h3{font-size:24px}.method span{font-size:10px}.footer-bottom{font-size:11px;line-height:1.6}.footer-bottom>span:nth-child(2){margin-left:0}.phase{min-height:36px;min-width:22px}.story-bottom{gap:14px}.scene-controls button{min-height:36px}.scroll-cue{max-width:95px}}
@media(max-width:760px) and (max-height:740px){.chapters{top:99px}.chapter h1,.chapter h2{font-size:34px}.chapter-description{font-size:15px;line-height:1.45}.chapter-tags{display:none}.scene-wrap{top:var(--mobile-scene-top,335px)}.chapter .text-link{margin-top:12px}}
/* Continuous narrative: real sections on the left, one pinned scene on the right. */
.build-story{height:auto;min-height:0;display:grid;grid-template-columns:44% 56%;align-items:start;position:relative;isolation:isolate}
.story-sticky{grid-column:2;grid-row:1;position:sticky;top:0;height:100svh;min-height:0;width:100%;align-self:start;overflow:hidden;z-index:2;isolation:auto;background:transparent;transition:color .5s}
.chapters{grid-column:1;grid-row:1;position:relative;top:auto;left:auto;bottom:auto;width:100%;height:auto;padding-left:var(--pad);pointer-events:auto;z-index:3}
.chapter,.chapter.active{position:relative;top:auto;left:auto;width:100%;min-height:100svh;height:auto;padding:155px 18px 100px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;opacity:1;visibility:visible;transform:none;transition:none;pointer-events:auto;scroll-margin-top:0}
.chapter:not(:first-child){border-top:1px solid var(--line)}
.chapter h1,.chapter h2{font-size:clamp(52px,5.4vw,86px);line-height:1.04;margin-top:25px;letter-spacing:-.064em}
.chapter-description{max-width:375px}
.chapter-tech{color:#edf1e7;min-height:165svh;justify-content:flex-start;padding-top:26svh;border-top:0!important}
.chapter-tech .chapter-description{color:#a6b9bf}.chapter-tech .chapter-tags span{border-color:#40515b}.chapter-tech .interior-note{margin-top:20svh;font-size:16px;line-height:1.7;color:#99b4bd}
.technology-backdrop{position:absolute;left:0;right:0;bottom:0;background:#15232b;z-index:0;pointer-events:none}
.scene-wrap{left:0;right:0;top:100px;bottom:35px;z-index:1}
.story-grid{inset:100px 0 0;background-size:22px 22px;z-index:0;opacity:.4}
.model-topline{top:135px;left:9%;right:var(--pad);z-index:3}
.scene-controls{position:absolute;bottom:32px;right:var(--pad);z-index:3;gap:24px}
.story-sticky.is-tech{background:transparent}
.is-tech .scene-controls button{color:#a2bac0}.is-tech .model-caption{color:#718b95}
.brand-logo{width:155px;height:61px;overflow:visible;mix-blend-mode:normal}
.teeco-mark{display:block;width:100%;height:100%;overflow:visible}
.brand-caption{font-size:7px;padding-left:3px;letter-spacing:2.5px;margin-top:0}
body.tech-view .brand-logo{mix-blend-mode:normal;filter:none}
body.tech-view .logo-lettering,body.tech-view .logo-crane{fill:#eef2ed}
.logo-mast{transform-box:fill-box;transform-origin:center bottom;animation:logo-mast-in .55s cubic-bezier(.16,1,.3,1) both}
.logo-boom{transform-origin:285px 292px;animation:logo-boom-in .8s cubic-bezier(.16,1,.3,1) .15s both}
.logo-letter,.logo-cap,.logo-o{animation:logo-letter-in .7s cubic-bezier(.2,.8,.2,1) both}
.logo-e1,.logo-cap1{animation-delay:.25s}.logo-e2,.logo-cap2{animation-delay:.38s}.logo-c{animation-delay:.51s}.logo-o{animation-delay:.64s}
.logo-cable{stroke-dasharray:180;animation:logo-cable-in .85s .45s both}
.logo-hoist{transform-origin:959px 207px;animation:logo-hoist-sway 5s ease-in-out 1.3s infinite}
.logo-dot{transform-box:fill-box;transform-origin:center}

.brand.is-settled:hover .logo-dot1{animation:logo-dot-hover .7s ease-in-out}.brand.is-settled:hover .logo-dot2{animation:logo-dot-hover .7s ease-in-out .12s}.brand.is-settled:hover .logo-dot3{animation:logo-dot-hover .7s ease-in-out .24s}
@keyframes logo-mast-in{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes logo-boom-in{from{transform:rotate(-8deg);opacity:0}to{transform:rotate(0);opacity:1}}
@keyframes logo-letter-in{from{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes logo-cable-in{from{stroke-dashoffset:180}to{stroke-dashoffset:0}}
@keyframes logo-hoist-sway{0%,100%{transform:rotate(-1.1deg)}50%{transform:rotate(1.1deg)}}
@keyframes logo-dot-pop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
@keyframes logo-dot-hover{0%,100%{transform:scale(1)}45%{transform:scale(1.4)}}
.motion-paused .teeco-mark *{animation-play-state:paused!important}
@media(max-width:1100px) and (min-width:761px){.chapter h1,.chapter h2{font-size:clamp(44px,5.8vw,62px)}.chapter-description{font-size:16px}.chapter .eyebrow{font-size:8px;letter-spacing:.5px}.chapter-tags{gap:5px}.chapter-tags span{font-size:10px;padding:6px}.hero-location{font-size:8px}.model-topline{left:6%;font-size:8px}.brand-logo{width:133px;height:53px}.brand-caption{letter-spacing:1.8px;font-size:6px}.desktop-nav{gap:23px}}
@media(max-width:760px){
 .build-story{display:block;padding-top:0}
 .story-sticky{position:sticky;top:0;height:100svh;min-height:0;width:100%;margin-bottom:-100svh;z-index:2;pointer-events:none}
 .chapters{position:relative;width:100%;padding:0 var(--pad);z-index:3;pointer-events:none}
 .chapter,.chapter.active{min-height:100svh;padding:114px 0 54svh;justify-content:flex-start;pointer-events:none;border:0}
 .chapter>*{pointer-events:auto}
 .chapter h1,.chapter h2{font-size:38px;line-height:1.05;margin-top:16px;max-width:365px}
 .chapter h1 br:nth-child(2){display:none}.chapter h2 br{display:none}
 .chapter-description{font-size:16px;line-height:1.5;margin-top:16px;max-width:365px}
 .chapter .eyebrow{font-size:8px;letter-spacing:.65px}
 .chapter-tags{margin-top:14px;gap:5px}.chapter-tags span{font-size:10px;padding:5px 7px}
 .chapter .button{margin-top:20px;min-height:43px;font-size:12px}
 .chapter .text-link{font-size:13px;margin-top:19px}.chapter-note,.hero-location{display:none}
 .scene-wrap{inset:43svh 0 16px;z-index:1;pointer-events:none}
 .story-grid{inset:43svh 0 0}
 .model-topline{top:auto;bottom:20px;left:var(--pad);right:var(--pad);font-size:7px;pointer-events:none}
 .model-code{display:none}.model-topline .crosshair{font-size:16px}
 .scene-controls{bottom:18px;right:var(--pad);gap:0;pointer-events:auto}.scene-controls button{font-size:8px;min-height:30px}
 .chapter-tech{min-height:165svh;padding-top:114px}.chapter-tech .interior-note{margin-top:5svh;font-size:14px;max-width:300px}
 .brand-logo{width:112px;height:43px}.brand-caption{font-size:6px;letter-spacing:1.3px}
}
@media(max-width:760px) and (max-height:740px){.chapter,.chapter-tech{padding-top:103px}.chapter h1,.chapter h2{font-size:33px}.chapter-description{font-size:15px;margin-top:13px}.scene-wrap{top:47svh}.story-grid{top:47svh}.chapter-tags,.chapter-tech .interior-note{display:none}}
@media(prefers-reduced-motion:reduce){.teeco-mark *{animation:none!important;transform:none!important;opacity:1!important}.logo-cable{stroke-dashoffset:0!important}}
@media(max-width:760px){.build-story{display:grid;grid-template-columns:100%}.story-sticky{grid-column:1;grid-row:1;margin-bottom:0;align-self:start}.chapters{grid-column:1;grid-row:1}}
/* The hero mark draws once, then retracts to its crane-and-sphere symbol. */
.hero-brand{width:290px;height:118px;flex:none;position:relative;pointer-events:none}
.hero-mark{display:block;width:100%;height:100%;overflow:visible}
.hero-mark [data-draw]{fill-opacity:0;stroke-opacity:0}.hero-mark [data-hero-subtitle]{opacity:0}
#intro h1{margin-top:14px}
@media(max-width:760px){
 .hero-brand{width:205px;height:65px}
 #intro{padding-top:103px}
 #intro h1{font-size:34px;margin-top:8px}
 #intro .chapter-description{font-size:15px;line-height:1.45;margin-top:12px}
 #intro .button{margin-top:15px;min-height:41px}
 .story-sticky .scene-wrap,.story-sticky .story-grid{top:max(43svh,380px)}
}
@media(max-width:760px) and (max-height:740px){
 .hero-brand{width:170px;height:47px}
 #intro h1{font-size:31px}
 #intro .chapter-description{font-size:14px;margin-top:10px}
 #intro .button{margin-top:12px;min-height:38px}
 .story-sticky .scene-wrap,.story-sticky .story-grid{top:380px}
}
@media(prefers-reduced-motion:reduce){.hero-mark [data-draw]{fill-opacity:1;stroke-opacity:1}}
/* The first scene is a line drawing on paper, not a prebuilt foundation. */
.opening-sketch{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:1;color:#38535a}
.opening-sketch path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.sketch-outline{stroke-width:var(--sketch-outline-width,1.35);opacity:var(--sketch-outline-opacity,1)}.sketch-secondary{stroke-width:var(--sketch-secondary-width,.95);opacity:var(--sketch-secondary-opacity,.6)}.sketch-detail{stroke-width:.85;opacity:.55}
.sketch-axis{stroke-width:.65;opacity:.24}.sketch-hatch{stroke-width:.7;opacity:.45}
.sketch-dimension{stroke-width:.7;opacity:.6}.sketch-measure{font:10px var(--mono);letter-spacing:.2px;fill:#596f73}
.sketch-note{font:10.5px var(--mono);fill:#687b74;letter-spacing:.1px}.sketch-note-line{stroke-width:.7;opacity:.55}
@media(max-width:760px){.sketch-outline{stroke-width:var(--sketch-outline-width,1.1)}.sketch-measure{font-size:8.5px}.sketch-note{font-size:9px}}

.sketch-measure-small{font-size:8.5px;fill:#7b8881}
.sketch-sheet{font:9px Mono,monospace;letter-spacing:1.1px;fill:#819088}
.sketch-scale{font:9px var(--mono);fill:#819088}
@media(max-width:760px){.sketch-measure-small{font-size:8px}.sketch-sheet{font-size:7px;letter-spacing:.5px}.sketch-scale{font-size:9px}}

/* One continuous logo, from the project sketch to the navigation. */
.logo-intro .header .brand-logo>svg{visibility:hidden}
.header .brand-caption{opacity:0;transition:opacity .4s}
.header .brand.is-filled .brand-caption{opacity:1}
.header .teeco-mark *,.hero-mark *{animation:none}
.header .teeco-mark :not(.logo-dot){transform:none!important}
.brand-flight{position:fixed;z-index:70;pointer-events:none;transform-origin:top left}
.brand-flight svg{display:block;width:100%;height:100%;overflow:visible}
.hero-brand.is-docked{pointer-events:none}
.header .hero-mark{overflow:visible}
.header .hero-mark [data-hero-subtitle]{display:inline}
body.tech-view .header .hero-mark [data-brand-ink]{fill:#eef2ed}
.header .hero-mark .logo-dot{fill-opacity:1;stroke:none}
.header .brand.is-settled .logo-dot{opacity:1}
.technology-backdrop{overflow:hidden}
.technology-network{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 88%,transparent)}
@media(prefers-reduced-motion:reduce){.hero-brand{transition:none}.brand.is-settled:hover .logo-dot{animation:none!important}}

/* Editorial scale shared with the following section; each entrance runs once. */
.chapter h1,.chapter h2,#intro h1{font-size:clamp(38px,4.2vw,66px);line-height:1.1;letter-spacing:-.055em;font-weight:500;margin-top:0}
#intro h1{margin-top:14px}
.chapter-description{margin-top:24px}
.expertise-intro{display:block}
.expertise-intro>p{width:auto;max-width:520px;margin-top:26px;padding-bottom:0}
.chapter .chapter-note{display:none}
.chapter-enter{opacity:0;transform:translateY(18px);transition:opacity .8s ease var(--enter-delay,0s),transform .9s cubic-bezier(.2,.7,.2,1) var(--enter-delay,0s)}
.chapter.has-entered .chapter-enter{opacity:1;transform:none}
.chapter.has-entered .chapter-enter{animation:chapter-arrive .85s cubic-bezier(.2,.7,.2,1) var(--enter-delay,0s) both;transition:none}
@keyframes chapter-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.build-story{overflow-anchor:none}
.hero-enter,.hero-enter:hover{animation:none;transition:none;transform:none}
.model-ink{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:hidden}
.model-ink text{font:10px var(--mono);fill:#506969;paint-order:stroke;stroke:#f2f3ee;stroke-width:3px;stroke-opacity:.82;stroke-linejoin:round;letter-spacing:.1px}

@media(max-width:760px){.chapter h1,.chapter h2,#intro h1{font-size:34px;line-height:1.1}.chapter-description{margin-top:16px}.model-ink text{font-size:9px;stroke-width:2px}.model-topline:has(.model-code){display:none}}
@media(max-width:760px) and (max-height:740px){.chapter h1,.chapter h2,#intro h1{font-size:31px}}
@media(prefers-reduced-motion:reduce){.chapter-enter{animation:none!important;transition:none!important;transform:none!important}}

/* The supporting content shares the calm, vertical rhythm of the story. */
.service-content{display:block;max-width:740px;padding:0 20px 36px 80px}
.service-content>p{max-width:620px;line-height:1.7}
.service-content ul{display:grid;gap:9px;margin-top:24px;padding:0;list-style:none}
.service-content li{display:flex;align-items:baseline;gap:12px;line-height:1.6}
.service-content li:before{content:'';width:5px;height:5px;flex:none;border:1px solid var(--muted);border-radius:50%;transform:translateY(-2px)}
.service.is-closing .service-toggle{transform:rotate(0)}
.service-panel{transform-origin:top;overflow-anchor:none}
.projects-title{display:block}
.projects-title>p{width:auto;max-width:520px;margin-top:26px;padding-bottom:0}
.contact-circle,.contact-circle:hover{display:grid;place-items:center;transform:none;flex-shrink:0}
.contact-circle svg{display:block;width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .4s cubic-bezier(.22,.68,.2,1);transform-origin:50% 50%}
.contact-circle:hover svg,.contact-circle:focus-visible svg{transform:rotate(90deg)}
.footer{padding:70px var(--pad) 24px}
.footer-main{display:grid;grid-template-columns:minmax(250px,1.5fr) 1fr 1.2fr;align-items:start;gap:38px;position:relative;padding-bottom:66px}
.footer-signature .footer-brand{display:block;width:172px;height:auto;line-height:1;margin-bottom:26px}
.footer-brand svg{display:block;width:100%;height:auto;overflow:visible}
.footer-brand .logo-lettering,.footer-brand .logo-crane{fill:#eef1ee}
.footer-brand .logo-trolley,.footer-brand .logo-hoist path:not(.logo-cable){fill:#9cb8bd}
.footer-brand .logo-hoist{stroke:#9cb8bd}
.footer-brand .teeco-mark *{animation:none!important;opacity:1!important;transform:none!important}
.footer-signature>p{font:400 clamp(18px,1.6vw,23px)/1.4 var(--sans);letter-spacing:-.025em;color:#e5e9e6}
.footer-links{display:flex;flex-direction:column;gap:12px;font-size:14px}
.footer-links>.eyebrow{color:#a3afae;font-size:10px;letter-spacing:1px;margin:5px 0 10px}
.footer .social-links{display:flex;flex-direction:row;gap:20px;margin-top:8px}
.footer-main .back-top{position:absolute;right:0;bottom:4px;display:flex;align-items:center;gap:16px;font:10px var(--mono);letter-spacing:.4px;text-transform:uppercase}
.back-top svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.2;fill:none;transition:transform .3s}
.back-top:hover svg{transform:translateY(-4px)}
.footer-bottom{gap:20px;flex-wrap:wrap;font-size:10px;line-height:1.7;padding-top:24px}
.footer-address{font:10px var(--mono);line-height:1.6;color:#a3afae;margin-top:12px}
.footer a:hover{color:#8ec6d4}
@media(max-width:760px){
 .service-content{padding:0 0 28px 45px}.service-content>p,.service-content li{font-size:15px}.service-content ul{gap:8px;margin-top:19px}
 .footer{padding-top:48px}.footer-main{grid-template-columns:1fr 1fr;gap:38px 20px;padding-bottom:64px}.footer-signature{grid-column:1/-1}.footer-signature .footer-brand{width:153px;margin-bottom:24px}.footer-signature>p{font-size:22px}
 .footer-links{font-size:13px;gap:12px}.footer-links>.eyebrow{font-size:8px;letter-spacing:.3px}.footer .social-links{flex-direction:column;gap:12px}.footer-bottom{align-items:flex-start;gap:12px}.footer-bottom>span:nth-child(2){max-width:230px}
 .footer-main .back-top{right:auto;left:0}.contact-circle svg{width:29px;height:29px}
}
@media(prefers-reduced-motion:reduce){.contact-circle svg,.back-top svg{transition:none}}
.footer-main>.footer-links{display:flex}
.service-content li:before{border-color:var(--sub)}
.contact-map{position:relative}
.map-preview>p{max-width:300px;line-height:1.6;padding:0 12px}
.map-preview>p a{text-decoration:underline;text-underline-offset:3px}
.map-disable{position:absolute;bottom:14px;left:14px;background:var(--paper);color:var(--ink);padding:10px 14px;font-size:12px;border:1px solid var(--line)}

/* Brand blue uses dark ink for readable controls. */
.button-dark:hover,.hero-enter:hover,.project-card:hover .project-open,.dialog-close:hover,.contact-circle,.map-pin{color:var(--ink)}

:root{--accent-heading:#4e8e9f}
.chapter h1 .accent,.chapter h2 .accent,.studio-quote h2 .accent{color:var(--accent-heading)}
.chapter-tech h2 .accent{color:var(--accent)}
/* One navigation, shared by the homepage and the interior pages. */
.desktop-nav{margin-left:auto;gap:34px}
.desktop-nav a{font-size:13px;white-space:nowrap}
.desktop-nav a[aria-current=page]{color:#41788a}
.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}
.header .menu-toggle{margin-left:auto}
@media(min-width:761px) and (max-width:1000px){.desktop-nav{gap:24px}.desktop-nav a{font-size:12px}}
@media(max-width:760px){.mobile-menu a{font-size:25px}.mobile-menu a[aria-current=page]{color:#41788a}}
.model-ink{color:#596f73}
.model-ink path{fill:none;stroke:currentColor;stroke-width:.8;stroke-linecap:round}
.model-ink text{fill:currentColor;stroke:none;paint-order:normal}
.is-tech .model-ink{color:#b1c8cd}
/* Mobile uses illustrations in the document flow, each with its own passage. */
.mobile-illustration{display:none}
@media(max-width:760px){
 html{scroll-padding-top:80px}
 .build-story{display:block;--mobile-figure-height:clamp(280px,94vw,420px)}
 .build-story .story-sticky{position:absolute;top:0;left:0;width:100%;height:var(--mobile-figure-height);min-height:0;margin:0;border:0;visibility:hidden;pointer-events:none;z-index:-1;overflow:hidden}
 .build-story .story-sticky .scene-wrap{inset:0}
 .build-story .story-sticky *{visibility:hidden!important}
 .chapters{display:block;padding:0 var(--pad);width:100%;z-index:2}
 .chapter,.chapter.active,.chapter-tech{min-height:0;padding:45px 0 48px;scroll-margin-top:0;justify-content:flex-start;pointer-events:auto}
 .chapter:not(:first-child){border-top:1px solid var(--line)}
 #intro{min-height:0;padding:104px 0 44px}
 .hero-brand{width:165px;height:43px}
 .chapter h1,.chapter h2,#intro h1{font-size:34px;line-height:1.08;max-width:370px;margin-top:0}
 #intro h1{margin-top:10px}
 .chapter-description,#intro .chapter-description{font-size:15px;line-height:1.55;margin-top:17px;max-width:380px}
 .chapter .mobile-illustration{display:block;flex:none;position:relative;width:calc(100% + 2 * var(--pad));height:var(--mobile-figure-height);margin:22px calc(-1 * var(--pad)) 0;isolation:isolate;overflow:hidden;pointer-events:none}
 .mobile-illustration>canvas{display:block;width:100%;height:100%}
 .mobile-illustration>figcaption{position:absolute;left:var(--pad);top:12px;z-index:3;font:8px var(--mono);letter-spacing:.8px;text-transform:uppercase;color:#7b8b8e}
 .mobile-illustration.is-tech>figcaption{color:#90a9b0}
 .mobile-illustration.is-tech .model-ink{color:#b1c8cd}
 .chapter .chapter-tags{display:flex;margin-top:15px}
 .chapter .button,.chapter .text-link{margin-top:22px}
 .chapter-tech .interior-note{display:block;margin-top:22px;max-width:330px;font-size:13px;line-height:1.55}
 .chapter-tech .interior-note br{display:none}
 .opening-sketch .sketch-sheet,.opening-sketch .sketch-scale{display:none}
}
@media(max-width:760px) and (max-height:700px){
 .build-story{--mobile-figure-height:clamp(270px,84vw,350px)}
 .chapter h1,.chapter h2,#intro h1{font-size:31px}
 .hero-brand{width:150px;height:34px}
 #intro{padding-top:99px}
 .chapter-description,#intro .chapter-description{font-size:14px}
}

/* Supplied TEECO vector, including its outlined Engineering Solutions line. */
:root{--accent:#5e9fb3}
.header .brand-logo{width:155px;height:76px}
.hero-brand{height:142px}
.footer-brand .teeco-mark [data-brand-ink],body.tech-view .teeco-mark [data-brand-ink]{fill:#eef2ed}
.brand.is-settled:hover .logo-dot1{animation:logo-dot-hover .7s ease-in-out!important}
.brand.is-settled:hover .logo-dot2{animation:logo-dot-hover .7s ease-in-out .12s!important}
.brand.is-settled:hover .logo-dot3{animation:logo-dot-hover .7s ease-in-out .24s!important}
@media(max-width:1100px) and (min-width:761px){.header .brand-logo{width:133px;height:65px}}
@media(max-width:760px){.header .brand-logo{width:112px;height:55px}.hero-brand{height:81px}}
@media(max-width:760px) and (max-height:700px){.hero-brand{height:74px}}

@media(prefers-reduced-motion:reduce){.brand.is-settled:hover .logo-dot{animation:none!important}}

/* Four architectural passages: context, detail, realization and systems. */
.campus-outline{stroke-width:1;opacity:.75}
.campus-secondary{stroke-width:.7;opacity:.32}
.campus-detail{stroke-width:.65;opacity:.40}
.campus-boundary,.campus-route,.campus-dimension{stroke-width:.65;opacity:.33}
/* A quiet partner signature after the contact details, with optical logo sizing. */
.partner-strip{align-self:stretch;max-width:460px;margin-top:40px}
.partner-label{font:400 12px/1.4 var(--sans);color:#5c666d}
.partner-logos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;align-items:center;gap:24px;margin:12px 0 0;padding:0;list-style:none}
.partner-logos li{display:flex;align-items:center;justify-content:flex-start;min-width:0}
.partner-link{position:relative;display:flex;align-items:center;width:100%;min-height:44px;cursor:pointer}
.partner-link img{opacity:.85;transition:opacity .22s ease-out}
.partner-link:hover img,.partner-link:focus-visible img{opacity:1}
.partner-external{position:absolute;right:-16px;top:calc(50% - 6px);width:12px;height:12px;fill:none;stroke:var(--accent-heading);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:translate(-2px,2px);transition:opacity .22s ease-out,transform .22s ease-out;pointer-events:none}
.partner-link:hover .partner-external,.partner-link:focus-visible .partner-external{opacity:1;transform:none}
.partner-logos img{display:block;width:100%;height:auto;object-fit:contain}
.partner-rumi .partner-link{justify-content:center}
.partner-rumi img{width:44px}
@media(min-width:761px){
 .partner-strip{--partner-wide:clamp(112px,10.5vw,168px);--partner-tall:clamp(32px,3.2vw,48px);--partner-gap:clamp(32px,4vw,64px);width:min(100%,calc(var(--partner-wide)*2 + 44px + var(--partner-gap)*2));max-width:none}
 .partner-logos{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:var(--partner-gap)}
 .partner-rumi img{width:var(--partner-tall)}
}
@media(max-width:760px){.partner-strip{--partner-wide:clamp(104px,29vw,128px);width:min(100%,calc(var(--partner-wide)*2 + 92px));max-width:none;margin-top:30px}.partner-logos{gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}.partner-rumi img{width:36px}}
@media(prefers-reduced-motion:reduce){.partner-link img,.partner-external{transition:none}.partner-external{transform:none}}
@media(min-width:761px){
 .chapter{min-height:95svh;padding-top:120px;padding-bottom:85px}
 #intro{min-height:100svh}
 .chapter-tech{min-height:112svh;padding-top:24svh}
 .chapter-tech .interior-note{margin-top:36px}
}

/* Confirmed studio figures share the architectural rhythm of the study. */
.studio-numbers{padding:0 0 54px}
.studio-numbers h3{font:400 clamp(25px,2.3vw,34px)/1.2 var(--sans);letter-spacing:-.035em;margin:0 0 32px}
.studio-number-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px;margin:0;padding:28px 0 0;border-top:1px solid var(--line)}
.studio-number-grid>div{min-width:0}
.metric-value{display:block;font:400 clamp(52px,6vw,82px)/1 var(--sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap}
.metric-plus{font-size:.48em;letter-spacing:0;color:var(--accent-heading);margin-left:5px;vertical-align:12%}
.metric-name{display:block;margin-top:19px;font:400 12px/1.5 var(--mono);letter-spacing:.03em;color:var(--ink)}
.studio-metric dd{margin:14px 0 0;font-size:14px;line-height:1.6;color:#5d696c;max-width:30ch}
@media(max-width:1000px) and (min-width:761px){.studio-number-grid{gap:28px}.metric-value{font-size:clamp(46px,6vw,64px)}}
@media(max-width:760px){.studio-numbers{padding:0 0 38px}.studio-numbers h3{margin-bottom:24px;font-size:26px}.studio-number-grid{grid-template-columns:1fr;gap:30px;padding-top:24px}.studio-metric dt{display:flex;gap:22px;align-items:baseline;flex-wrap:wrap}.metric-value{font-size:58px;min-width:170px}.metric-name{margin-top:0;font-size:12px}.studio-metric dd{margin-top:10px;max-width:40ch}}
