.js .reveal{opacity:0;transform:translateY(40px);transition:opacity .8s,transform .9s cubic-bezier(.2,.7,.2,1)}.js .reveal.is-in{opacity:1;transform:none}.js .project.reveal .project-image{clip-path:inset(10% 0 0 0);transition:clip-path 1.1s cubic-bezier(.2,.7,.2,1)}.js .project.reveal.is-in .project-image{clip-path:inset(0)}dialog{padding:35px;border:1px solid #ffffff35;color:var(--paper);background:#1b1c1b;width:min(1040px,calc(100% - 40px));max-height:90svh;overscroll-behavior:contain}dialog::backdrop{background:#000b;backdrop-filter:blur(10px)}body:has(dialog[open]){overflow:hidden}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #ffffff30;padding-bottom:24px;margin-bottom:40px;font-size:11px;letter-spacing:.06em;position:relative;z-index:2}.dialog-top button{padding:10px;color:var(--accent);font-size:11px;white-space:nowrap}.menu-dialog{width:100%;max-width:none;height:100svh;max-height:none;margin:0;padding:40px var(--pad);border:0;background:#151515}.menu-dialog nav{display:flex;flex-direction:column}.menu-dialog nav a{display:flex;gap:30px;align-items:baseline;font-size:clamp(26px,4.5vw,70px);letter-spacing:-.05em;border-bottom:1px solid var(--line);padding:16px 0;transition:color .25s,padding .3s}.menu-dialog nav a small{font-size:11px;letter-spacing:0;width:30px;color:var(--accent)}.menu-dialog nav a>span{margin-left:auto;font-size:12px;letter-spacing:0;color:#aaa}.menu-dialog nav a:hover{color:var(--accent);padding-left:10px}.menu-bottom{display:flex;gap:40px;margin-top:40px;font-size:13px}.service-dialog{max-width:780px;padding:35px 45px 45px}.service-dialog>.eyebrow{color:var(--accent)}.service-dialog h2{font-size:clamp(40px,5vw,70px);margin:25px 0}.service-dialog>p{font-size:17px;line-height:1.8;color:#bbb;max-width:580px}.service-dialog ul{list-style:none;padding:0;margin:30px 0}.service-dialog li{border-top:1px solid var(--line);padding:18px 0;font-size:14px}.service-dialog li:before{content:"↗";color:var(--accent);margin-right:20px}.solid-button{display:flex;justify-content:space-between;align-items:center;background:var(--accent);color:var(--ink);width:100%;padding:20px 24px;font-size:15px;font-weight:600;transition:background .25s}.solid-button>span{font-size:25px}.solid-button:hover{background:#ff856e}.solid-button:disabled{opacity:.5;cursor:wait}.project-dialog{width:min(1200px,calc(100% - 40px))}.project-detail{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:40px}.project-detail h2{font-size:40px;grid-row:1/3}.project-detail p{font-size:16px;line-height:1.7;color:#bbb}.project-detail>span{font-size:10px;color:var(--accent);letter-spacing:.06em}.project-dialog>img{width:100%;height:auto}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.contact-intro>.eyebrow{color:var(--accent)}.contact-intro h2{font-size:36px;margin:30px 0 25px}.contact-intro p{color:#aaa;line-height:1.7;font-size:14px}.contact-intro>a{display:inline-block;margin-top:35px;font-size:17px}.form-environment{font-size:11px;line-height:1.6;color:var(--accent);margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{font-size:11px;color:#bbb}.form-grid label>span{color:var(--accent);margin-left:3px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;background:#ffffff05;border:0;border-bottom:1px solid #ffffff45;border-radius:0;padding:12px 8px;color:var(--paper);margin-top:7px;min-height:44px;font-size:14px}.form-grid select option{background:#222}.form-grid textarea{resize:vertical}.privacy-block{margin-top:22px;font-size:11px;color:#aaa;line-height:1.7}.privacy-agree{display:flex;gap:9px;align-items:center;color:#ddd}.privacy-agree input{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}.privacy-block details{margin-top:12px}.privacy-block details summary{cursor:pointer;display:list-item}.privacy-block details p{margin:12px 0}.privacy-block details a{text-decoration:underline}.form-status{font-size:12px;line-height:1.7;color:var(--accent);margin:20px 0}.local-followup{display:flex;justify-content:space-between;gap:20px;margin-top:18px;font-size:11px}.local-followup button,.local-followup a{padding:10px 0;border-bottom:1px solid #aaa}.noscript-note{position:fixed;bottom:0;background:var(--accent);color:var(--ink);padding:14px;text-align:center;width:100%;z-index:50;font-size:13px}
@media(min-width:1700px){.hero-meta{top:165px}.hero-panel h1{top:24%}.hero-copy{bottom:140px}.header{height:76px}.website-object{top:52%}.approach-copy{top:31%}}
@media(max-width:1100px){.header-tag{display:none}.hero-panel h1{top:28%}.hero-copy p{font-size:20px}.hero-copy>span{font-size:12px}.hero-meta{font-size:9px}.website-object{width:48vw;top:49%}.approach-copy{left:58%}.approach-copy h2{font-size:3.4vw}.approach-copy .body-copy{font-size:13px}.service-tags{display:none}.service-arrow{margin-left:auto}.service-row{min-height:150px}.plans{grid-template-columns:1fr 1fr;gap:45px}.start-bottom>div{gap:20px}.start-bottom button{gap:14px;font-size:11px}.proposal-tabs button b{font-size:20px}.proposal-display{padding:30px 25px;min-height:480px}.proposal-paper{padding:24px;min-height:420px}.operation-intro{align-items:start;flex-direction:column}.contact-layout{grid-template-columns:.7fr 1fr;gap:35px}.contact-intro h2{font-size:30px}}
@media(max-width:760px){:root{--pad:6vw}html{scroll-padding-top:95px}.header{top:16px;height:59px;padding:0 18px;left:18px;right:18px}.wordmark{font-size:30px}.header nav{gap:20px}.header nav>a{display:none}.contact-link{font-size:12px;gap:9px}.contact-link span{font-size:20px}.section-pad{padding:65px var(--pad) 75px}.section-top{font-size:9px}.section-top>span:last-child{display:none}.opening{height:auto}.approach-anchor{top:100svh}.opening-stage{position:relative;height:auto;min-height:0;overflow:hidden;perspective:none}.hero-panel{position:relative;height:100svh;min-height:760px}.hero-meta{top:114px;font-size:8px}.hero-meta span:last-child{display:none}.hero-panel h1{top:173px;left:5vw;font-size:16.4vw;line-height:.88}.hero-panel h1 .second-line{font-size:14.1vw;margin-top:12px}.website-object{width:78vw;left:51%;top:405px;aspect-ratio:1.6;transform:translate(-50%,-50%) rotateX(4deg) rotateY(-9deg) rotateZ(5deg)!important}.site-plane{transform:none!important}.structure-plane{transform:translate(-12px,15px)!important}.design-plane{opacity:1!important}.function-plane{display:none}.object-edge{bottom:-23px;font-size:6px}.object-edge b{font-size:12px}.screen-caption{font-size:5px;padding:8px 10px}.plane-tag{display:none}.hero-copy{bottom:111px;left:var(--pad);right:80px}.hero-copy p{font-size:20px;line-height:1.4;margin-bottom:12px}.hero-copy>span{font-size:12px;line-height:1.8}.hero-orbit{width:62px;height:62px;right:6vw;bottom:127px}.hero-orbit>span{display:none}.hero-orbit b{font-size:28px}.hero-foot{bottom:31px;font-size:7px;left:var(--pad);right:var(--pad);gap:10px}.hero-foot>span:last-child{display:none}.hero-foot a{font-size:8px;gap:9px}.status-dot{width:5px;height:5px;margin-right:5px}.approach-copy{position:relative;inset:auto;opacity:1!important;transform:none!important;padding:70px var(--pad) 80px;pointer-events:auto!important;border-top:1px solid var(--line)}.approach-copy h2{font-size:10vw;white-space:normal;line-height:1.2;margin:30px 0 22px}.approach-copy .body-copy{font-size:14px}.approach-steps{font-size:11px;gap:20px;margin-top:35px}.approach-copy .line-link{max-width:none;margin-top:35px}.scene-caption{display:none}.section-heading{margin:60px 0 50px;flex-direction:column;align-items:start;gap:25px}.section-heading h2{font-size:10.5vw}.section-heading p{font-size:13px;line-height:1.7}.service-row{min-height:145px;padding:26px 0;gap:12px;align-items:center}.service-no{width:17px;padding:9px 0;font-size:10px}.service-name strong{font-size:9vw;letter-spacing:-.055em}.service-name small{font-size:11px;margin-top:5px}.service-arrow{font-size:32px}.service-row:hover{padding-left:0}.service-preview{display:none}.section-note{font-size:10px}.work-heading{margin:60px 0 50px;display:block}.work-heading h2{font-size:13vw;line-height:1.04}.work-heading p{margin-top:30px;font-size:16px}.project-grid{grid-template-columns:1fr;gap:55px}.project:nth-child(even){margin-top:0}.project .project-image{aspect-ratio:1.05}.project-caption{margin-top:18px}.project-caption h3{font-size:23px}.project-caption>span{font-size:10px}.project-index{font-size:8px;bottom:20px;left:18px}.project-plus{font-size:26px}.work-bottom{margin-top:60px;align-items:start;flex-direction:column;gap:20px}.work-bottom>span{font-size:10px}.work-bottom .line-link{width:100%}.work-cursor{display:none}.preview-heading{margin:60px 0 45px;display:block}.preview-heading h2{font-size:13vw}.preview-heading>div{margin-top:30px;max-width:none}.preview-heading p{font-size:14px}.preview-heading .line-link{margin-top:20px}.proposal-layout{grid-template-columns:1fr;gap:30px}.proposal-tabs{flex-direction:row;border-bottom:1px solid #17171740}.proposal-tabs button{padding:14px 7px 20px;flex:1;display:flex;flex-direction:column;gap:9px;align-items:start;border:0}.proposal-tabs button:last-child{border-bottom:0}.proposal-tabs button>span{padding:0}.proposal-tabs button b{font-size:13px;letter-spacing:-.04em}.proposal-tabs button small{font-size:9px;letter-spacing:-.04em}.proposal-tabs button i{display:none}.proposal-tabs button[aria-selected=true]{border-bottom:2px solid var(--accent)}.proposal-display{min-height:470px;padding:26px}.proposal-paper{min-height:416px;padding:23px}.proposal-paper h3{font-size:25px}.paper-head{font-size:7px}.proposal-paper>p{font-size:11px}.preview-note{margin-top:35px;display:block;font-size:10px}.preview-note>span{display:block;margin-bottom:12px}.operation-intro{margin:60px 0 45px;gap:28px}.operation-intro h2{font-size:10vw;line-height:1.2}.operation-intro p{font-size:13px}.operation-lines summary{padding:27px 0;display:grid;grid-template-columns:1fr 32px;gap:12px}.operation-lines summary>span{width:auto;font-size:8px}.operation-lines summary h3{font-size:27px;grid-column:1}.operation-lines summary i{grid-column:2;grid-row:1/3;font-size:25px}.operation-lines details>p{margin:0 0 30px;font-size:13px;line-height:1.8}.plans{margin-top:70px;grid-template-columns:1fr;gap:30px}.plan-heading{padding-bottom:15px}.plan-heading h3{font-size:32px;margin:20px 0}.plan{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;padding:25px 0 0}.plan h4{font-size:31px;margin:5px 0;grid-row:2;grid-column:1;align-self:center}.plan>span{grid-column:1}.plan>p{grid-row:2;grid-column:2;font-size:10px;margin:0;align-self:center}.plan .line-link{grid-column:1/-1;margin-top:10px}.start-title{margin-top:65px}.start-title h2{font-size:18vw;line-height:.94}.start-orbit{width:85px;height:85px;right:0;top:0;gap:4px}.start-orbit>span{font-size:8px}.start-orbit b{font-size:29px}.start-bottom{margin-top:55px;display:block}.start-bottom>p{font-size:24px}.start-bottom>div{margin-top:28px;display:block}.start-bottom button{width:100%;font-size:13px;padding:20px 0}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:35px 15px;padding-bottom:35px}.footer-top .wordmark{font-size:39px}.footer-top>div{font-size:12px;line-height:1.5;align-self:center}.footer-top p{font-size:9px}.back-top{font-size:9px;text-align:right;align-self:end}.footer-bottom{font-size:8px;flex-wrap:wrap;gap:20px}.footer-bottom>span:nth-child(2){display:none}.footer-bottom button{font-size:9px}dialog{width:calc(100% - 24px);max-height:92svh;padding:22px}.dialog-top{font-size:9px;margin-bottom:30px;padding-bottom:16px}.dialog-top button{font-size:10px;padding:8px}.menu-dialog{width:100%;padding:25px 6vw;height:100svh;max-height:none}.menu-dialog nav a{font-size:7vw;gap:15px;letter-spacing:-.03em;padding:25px 0}.menu-dialog nav a small{font-size:9px;width:15px}.menu-dialog nav a>span{font-size:9px}.menu-bottom{font-size:11px;flex-direction:column;gap:20px}.service-dialog{padding:22px}.service-dialog h2{font-size:40px}.service-dialog>p{font-size:14px}.service-dialog li{font-size:12px}.service-dialog .solid-button{margin-top:25px}.project-dialog{width:calc(100% - 20px);padding:18px}.project-detail{grid-template-columns:1fr;gap:16px;margin-bottom:30px}.project-detail h2{font-size:30px;grid-row:auto}.project-detail p{font-size:13px}.project-detail>span{font-size:9px}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-intro h2{font-size:32px;margin:20px 0}.contact-intro p{font-size:13px}.contact-intro>a{margin-top:20px;font-size:15px}.form-grid{gap:18px 14px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;padding:10px 6px}.solid-button{font-size:14px}.local-followup{font-size:10px}.privacy-block{font-size:10px}}
@media(max-width:380px){.hero-panel{min-height:735px}.website-object{top:375px}.hero-copy p{font-size:18px}.hero-copy>span{font-size:11px}.hero-meta{font-size:7px}.hero-foot>span{font-size:6px}.hero-foot a{font-size:7px}.start-orbit{width:72px;height:72px}.proposal-tabs button b{font-size:12px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
@media(min-width:761px){
  .hero-panel{z-index:4;pointer-events:none}.hero-panel a{pointer-events:auto}.hero-orbit{left:45vw;right:auto}
  .website-object{width:40vw;left:71%;top:64%}
  html.is-reduced .opening,html:not(.js) .opening{height:auto;min-height:0}
  html.is-reduced .opening-stage,html:not(.js) .opening-stage{position:relative;height:auto;min-height:0}
  html.is-reduced .hero-panel,html:not(.js) .hero-panel{position:relative;height:100svh;min-height:760px}
  html.is-reduced .approach-anchor,html:not(.js) .approach-anchor{top:100svh}
  html.is-reduced .approach-copy,html:not(.js) .approach-copy{display:block;position:relative;inset:auto;padding:80px var(--pad);opacity:1;transform:none;pointer-events:auto;border-top:1px solid var(--line)}
  html.is-reduced .website-object,html:not(.js) .website-object{width:40vw;left:71%!important;top:max(486px,64svh)!important;transform:translate(-50%,-50%) rotateY(-12deg) rotateZ(5deg)!important}
}
html.is-reduced{scroll-behavior:auto}html.is-reduced *,html.is-reduced *:before,html.is-reduced *:after{animation:none!important;transition:none!important}html.is-reduced .reveal{opacity:1;transform:none}html.is-reduced .project.reveal .project-image{clip-path:none}html.is-reduced .work-cursor,html.is-reduced .service-preview{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.js .project.reveal .project-image{clip-path:none}.work-cursor,.service-preview{display:none}}
