/* Final responsive layout. Original scene artwork and animation definitions live in base.css. */
:root{--navH:86px;--sceneH:calc(100svh - var(--navH));color-scheme:dark}
html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:disabled{opacity:.35;cursor:default}
:focus-visible{outline:3px solid var(--green);outline-offset:5px}button,a{min-height:44px}button{cursor:pointer}
.skip-link{position:fixed;top:8px;left:8px;z-index:10000;padding:12px;background:white;color:black;transform:translateY(-200%)}.skip-link:focus{transform:none}
.shell{height:100svh;height:100dvh}.shell:after{z-index:10;background:radial-gradient(ellipse at center,transparent 70%,rgba(0,0,0,.2))}.site-head{display:flex;top:max(20px,env(safe-area-inset-top));left:5%;right:5%}.brand{font-size:11px}.head-note{font-size:10px}
.page:not(.active){display:none}.viewport{bottom:var(--navH);perspective:1250px;perspective-origin:50% 50%;touch-action:pan-x pan-y pinch-zoom;contain:layout paint style}
.world{top:50%;left:50%}.station,.page[data-page="services"] .station{width:min(1200px,90vw);height:var(--sceneH);margin-left:calc(-1 * min(600px,45vw));margin-top:calc(var(--sceneH) / -2);max-height:none}
.station-inner,.station-inner.reverse,.page[data-page="services"] .station-inner,.page[data-page="works"] .station-inner.works-row{position:absolute;inset:0;display:block;padding:0;transform:translateX(var(--camera-offset,0px))!important}
.station:not(.at-rest) *{animation-play-state:paused!important}.page:not(.active) *,html.is-background *,html.dialog-open .shell *{animation-play-state:paused!important}
.copy-source{display:none!important}.copy-overlay{z-index:30;overflow:visible;pointer-events:none}.scene-layer{position:absolute;inset:0;pointer-events:none}.scene-layer[aria-hidden="true"]{visibility:hidden}.scene-layer>*{pointer-events:auto}
.copy-overlay .v7-copy{position:absolute!important;left:6%!important;right:auto!important;top:calc(50% - 170px)!important;width:40%!important;max-width:560px!important;padding:24px 0 24px 24px!important;margin:0!important;transform:none!important;text-align:left!important;filter:none!important;will-change:auto;box-shadow:none;background:linear-gradient(90deg,rgba(2,5,3,.96),rgba(2,5,3,.7) 80%,transparent);border-left:2px solid var(--green);border-right:0}
.copy-overlay h1,.copy-overlay h2{font-size:clamp(34px,3.6vw,54px)!important;line-height:1.24!important;letter-spacing:-.055em!important;white-space:normal!important;text-wrap:balance;margin:0!important}
.copy-overlay .hero-copy h1{font-size:clamp(42px,4.8vw,74px)!important;line-height:1.12!important}.hero-line{white-space:nowrap}.copy-overlay p{font-size:15px!important;line-height:1.85!important;color:#c0ccc4!important;margin:18px 0 0!important;max-width:460px}.copy-overlay .eyebrow{font-size:10px!important;letter-spacing:.14em;margin-bottom:16px}.hero-signals{margin-top:18px;gap:6px;justify-content:flex-start}.hero-signals span,.service-meta span,.chips span{font-size:10px!important;padding:6px 8px!important}.workflow-summary{color:var(--green2)!important;font-size:14px!important}.work-count{font-size:12px!important;color:#86a78e!important}
.primary-action,.contact-open-btn,.contact-cta-row a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--green);background:var(--green);color:#031006;border-radius:999px;padding:12px 22px;font-size:14px;font-weight:750;line-height:1.3;text-decoration:none;box-shadow:none}.primary-action{margin-top:24px}.contact-cta-row{gap:10px;flex-wrap:wrap;justify-content:flex-start}.contact-cta-row a{background:#071009;color:white;border-color:#405b46}.contact-note{font-size:12px;line-height:1.8;color:#a5b7aa;margin-top:14px}
.scene-art,.page[data-page="works"] .exhibit{position:absolute!important;left:auto!important;right:0!important;top:50%!important;width:47%!important;max-width:none!important;height:min(380px,54svh)!important;transform:translateY(-50%)!important;flex:none!important;margin:0!important;animation:none!important}
.premium-hero{position:absolute;inset:0;width:100%;height:100%;margin:0;transform:translateX(var(--camera-offset,0px))}.hero-emblem.scene-art{width:min(400px,39vw)!important;right:3%!important;aspect-ratio:1;height:auto!important}.emblem-circle{inset:10%;border-width:2px}.emblem-word{font-size:clamp(70px,7vw,110px)}.emblem-create{font-size:22px;bottom:-3px}.emblem-scan{display:none}.emblem-orbit{inset:2%}.hero-ring{display:none}
.scene-art.process-visual{height:330px!important}.process-track{left:18px;right:18px;grid-template-columns:1fr 18px 1fr 18px 1fr 18px 1fr}.process-step{padding:16px 8px;transform:translateZ(12px)!important}.process-step b{font-size:16px;white-space:normal}.process-step small{font-size:10px;line-height:1.5}.process-head{font-size:10px}.process-status{font-size:9px;gap:18px;left:18px;right:18px}.process-visual:after{animation-duration:10s}
.work-jacket{border-radius:12px;inset:0;box-shadow:0 22px 70px #0008}.jacket-copy{display:none}.jacket-meta{font-size:11px}.jacket-code{font-size:10px}.jacket-collage{inset:55px 28px 45px 22px}.jacket-collage .shot{image-rendering:auto}.web-collage .a{width:80%;right:0;object-position:top}.web-collage .b{width:62%;left:0;object-position:top}.web-collage .c{object-position:top}.jacket-hit{position:absolute;left:auto;right:5%;top:calc(50% - min(190px,27svh));width:42.3%;height:min(380px,54svh);padding:0;border:1px solid transparent;background:transparent;border-radius:12px;display:flex;align-items:flex-end;justify-content:flex-end;transition:border-color .2s}.jacket-hit span{padding:14px 20px;margin:12px;background:#041009;border:1px solid #3c7e4d;border-radius:999px;color:#e9fff0;font-size:13px}.jacket-hit b{margin-left:25px;color:var(--green)}.jacket-hit:hover{border-color:var(--green)}
.flat-art{position:absolute!important;top:50%;right:5%;left:auto;width:42.3%!important;max-width:620px;height:auto;transform:translateY(-50%)!important;margin:0!important;box-shadow:0 20px 60px #0006}
.price-panel{padding:24px}.price-head b{font-size:27px}.price-head small{font-size:10px}.price-head span{font-size:12px;line-height:1.6;color:#bccbc0}.price-mini-grid{margin-top:16px}.price-mini-grid>div{padding:12px;min-height:70px}.price-mini-grid span{font-size:12px}.price-mini-grid strong{font-size:17px}.consult-flow{padding:24px}.consult-title b{font-size:28px}.consult-steps{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.consult-steps>div{padding:12px 7px}.consult-steps span{font-size:11px}.consult-flow .secondary{margin-top:18px}.command-grid{gap:9px}.command-grid b{font-size:13px!important}.command-grid small{font-size:11px!important}.command .title{font-size:10px!important;gap:12px;line-height:1.6}
.office-scene{overflow:visible!important;border-radius:16px;background:radial-gradient(ellipse at bottom,#11382177,transparent 70%),linear-gradient(155deg,#12201a,#030805);box-shadow:0 30px 65px #0007}.office-title{font-size:10px!important;letter-spacing:.08em}.workers{left:50%!important;right:auto!important;bottom:30px!important;top:auto!important;width:450px!important;height:215px!important;display:flex!important;gap:0!important;transform:translateX(-50%) scale(.92)!important;transform-origin:50% 100%}.worker{width:150px;flex:0 0 150px;filter:none}.bubble{font-size:10px;white-space:nowrap;padding:8px 10px;animation-duration:9s}.worker:nth-child(2) .torso{background:linear-gradient(130deg,#fff,#a9bfb1);border-color:#fff9}.worker:nth-child(2) .torso:before{background:#10221a}.worker:nth-child(3) .torso{background:linear-gradient(135deg,#5bd789,#194e2b)}.head{box-shadow:inset -7px -9px 13px #814c3524,0 6px 12px #0004}.hair{box-shadow:inset 1px 4px 7px #fff2}.worker:nth-child(2) .hair{border-radius:55% 55% 25% 25%}.worker:nth-child(3) .screen{border-color:#5edb82}.office-floor{opacity:.45}.screen{box-shadow:0 9px 20px #0006,inset 0 0 22px #34ff680b}
.ambient-word{font-size:clamp(180px,29vw,450px);max-width:92vw;top:49%;color:#ffffff09;text-shadow:none}.ambient-create{font-size:12px;letter-spacing:.55em}.ambient-grid{width:1000px;height:1000px}.ambient-ring{animation-duration:48s}.guide{display:block!important;opacity:.48;box-shadow:none}.floor{opacity:.11}.ambient-meta{display:none}.hint{display:none}.local-progress{top:20%;bottom:20%;right:16px;opacity:.55}
.journey-controls{position:absolute;left:6%;right:6%;bottom:18px;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.journey-controls button{pointer-events:auto;min-width:114px;min-height:44px;padding:10px 15px;border-radius:999px;border:1px solid #375640;background:#061009e8;font-size:12px;color:#d3e4d8}.journey-position{font:11px ui-monospace,monospace;letter-spacing:.16em;color:#9caf9f}
.nav{position:absolute;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;height:var(--navH)!important;transform:none!important;border:0!important;border-top:1px solid #284431!important;border-radius:0!important;background:#020805f5!important;backdrop-filter:none!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px!important;padding:10px max(5%,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom))!important;overflow:visible!important;z-index:200}
.nav button{display:flex;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:48px!important;border:1px solid transparent;border-radius:10px;font-size:13px!important;letter-spacing:0!important;padding:8px 4px!important;background:transparent;color:#aabbb0}.nav button i{font-size:10px!important}.nav button.active{border-color:#2a713f;background:#102617;color:white}.nav button.contact{color:#caffd8;background:transparent}
.modal,.viewer,.contact-modal{background:#000d;backdrop-filter:none}.modal-card,.contact-modal-card{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:calc(100dvh - 40px);overflow:auto;background:#051009;scroll-padding:70px 20px 20px}.work-modal-card{height:auto;min-height:60vh;padding:30px;width:min(1180px,94vw)}.close,.viewer-close,.contact-modal-close{min-width:82px;min-height:44px;font-size:13px;z-index:10;right:14px;top:12px;background:#102218;border:1px solid #486951}.modal h2{font-size:clamp(28px,4vw,44px);line-height:1.3;margin:16px 96px 8px 0}.modal #modalText{font-size:14px;line-height:1.85;color:#becbc2}.work-grid{gap:18px}.work-tile{border-radius:10px}.work-tile h3{font-size:21px;line-height:1.3}.work-tile p{font-size:13px;line-height:1.8}.work-tile .kicker{font-size:10px;line-height:1.5}.work-tags span{font-size:10px}.work-link,.gallery-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;padding:10px 14px}.work-tile-media img{height:100%;object-fit:contain}.modal-video{object-fit:contain}.work-tile-media.portrait{aspect-ratio:4/5}.viewer-card{height:min(820px,94dvh);width:min(1280px,96vw);grid-template-rows:56px minmax(0,1fr) 52px;overflow:hidden}.viewer img{width:100%!important;height:100%!important;object-fit:contain!important;aspect-ratio:auto!important;min-width:0;min-height:0}.viewer-head{font-size:11px;line-height:1.6;align-items:center;letter-spacing:.02em}.viewer-foot button{min-height:44px;min-width:100px;font-size:13px}
.contact-modal-card{padding:32px;width:min(980px,94vw)}.contact-modal-intro{padding-right:85px;grid-template-columns:1.3fr 1fr}.contact-modal-intro h2{font-size:36px;line-height:1.25}.contact-modal-intro p,.contact-direct{font-size:13px;line-height:1.7}.contact-direct a{min-height:32px;overflow-wrap:anywhere}.contact-direct span{font-size:10px}.inquiry-form{gap:20px}.inquiry-form label{font-size:14px;line-height:1.5}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font:16px/1.5 inherit;font-size:16px;font-family:inherit;min-height:48px;padding:12px;width:100%;min-width:0;border-color:#395440}.inquiry-form textarea{min-height:140px}.contact-submit,.copy-inquiry{font-size:14px;min-height:48px;border-radius:999px;padding:12px 20px}.copy-inquiry{background:#0e2315;border:1px solid #43654a;color:white}.contact-form-note{font-size:12px;line-height:1.8;color:#b0c1b5}#formStatus{font-size:13px;line-height:1.7;color:var(--green2);margin:0}.manual-copy[hidden]{display:none}.full{grid-column:1/-1}
@media(max-width:1100px) and (min-width:901px){.copy-overlay .v7-copy{left:5%!important;width:40%!important}.workers{transform:translateX(-50%) scale(.78)!important}.scene-art.process-visual{height:300px!important}.process-step b{font-size:13px}.process-step small{font-size:9px}.price-panel{padding:18px}}
@media(max-width:900px) and (min-height:501px){
 :root{--navH:calc(78px + env(safe-area-inset-bottom));--sceneH:calc(100svh - var(--navH))}
 .site-head{top:max(18px,env(safe-area-inset-top));left:6%;right:6%;display:flex}.brand{font-size:10px;letter-spacing:.16em}.head-note{display:none}
 .station,.page[data-page="services"] .station{width:88vw;margin-left:-44vw;height:var(--sceneH);margin-top:calc(var(--sceneH)/-2)}
 .copy-overlay .v7-copy{left:7%!important;right:auto!important;top:68px!important;width:86%!important;max-width:none!important;padding:0!important;border:0!important;background:transparent!important;text-align:left!important;transform:none!important}
 .copy-overlay h1,.copy-overlay h2{font-size:30px!important;line-height:1.24!important;letter-spacing:-.045em!important}.copy-overlay .hero-copy h1{font-size:clamp(39px,10.5vw,48px)!important;line-height:1.17!important}.copy-overlay .eyebrow{font-size:10px!important;margin-bottom:12px}.copy-overlay p{font-size:14px!important;line-height:1.75!important;margin-top:14px!important;max-width:none}.hero-signals{margin-top:14px;gap:5px}.hero-signals span{font-size:9px!important;padding:5px 7px!important}.primary-action{margin-top:18px;min-height:46px;font-size:13px;padding:10px 20px}.workflow-summary{font-size:13px!important;white-space:normal}.service-meta{margin-top:12px;gap:5px}.service-meta span{font-size:10px!important}
 .scene-art,.page[data-page="works"] .exhibit{right:0!important;left:0!important;top:65%!important;width:100%!important;height:min(260px,32svh)!important;transform:translateY(-50%)!important}
 .hero-emblem.scene-art{top:70%!important;right:auto!important;left:50%!important;width:min(225px,57vw)!important;height:auto!important;transform:translate(-50%,-50%)!important}.emblem-word{font-size:67px}.emblem-create{font-size:15px;letter-spacing:.48em;bottom:-3px}.emblem-c i{width:10px;height:10px}.emblem-c i:after{width:37px;left:7px;top:4px;height:2px}
 .scene-art.process-visual{height:225px!important}.process-head{padding:16px 12px 0;font-size:9px}.process-track{top:57px;left:12px;right:12px;grid-template-columns:1fr 9px 1fr 9px 1fr 9px 1fr}.process-step{height:120px;padding:10px 5px;transform:none!important}.process-step i{font-size:11px}.process-step b{font-size:14px;line-height:1.5;margin-top:22px;white-space:normal}.process-step small{display:none}.process-status{bottom:16px;font-size:8px;gap:9px;left:12px;right:12px;letter-spacing:0}.process-visual:after{display:none}
 .compass-core{width:90px;height:90px}.compass-core b{font-size:27px}.compass-core span{font-size:6px}.compass-item{width:93px;height:60px;padding:10px}.ci1,.ci3{left:12px}.ci2,.ci4{right:12px}.ci1,.ci2{top:22px}.ci3,.ci4{bottom:22px}.compass-item b{font-size:13px}
 .system-core{width:92px;height:92px}.system-core b{font-size:27px}.system-node{width:100px;height:70px;padding:12px}.system-node b{font-size:17px}.system-node span{font-size:11px}.n1,.n3{left:12px}.n2,.n4{right:12px}.n1,.n2{top:18px}.n3,.n4{bottom:18px}.system-line{width:90px}
 .jacket-collage{inset:42px 18px 40px 18px}.jacket-meta{left:15px;top:14px;font-size:10px}.jacket-code{font-size:9px;top:15px}.jacket-hit{left:6%;right:auto;top:calc(65% - min(130px,16svh));width:88%;height:min(260px,32svh)}.jacket-hit span{font-size:12px;padding:10px 15px;margin:10px}.work-count{font-size:12px!important}
 .flat-art{right:6%;width:88%!important;top:67%;max-height:calc(34svh);overflow:auto;transform:translateY(-50%)!important}.price-panel{padding:14px;border-radius:12px}.price-head b{font-size:22px;margin-top:3px}.price-head small{font-size:9px}.price-head span{font-size:11px;margin-top:4px;line-height:1.5}.price-mini-grid{gap:5px;margin-top:10px}.price-mini-grid>div{padding:7px 9px;min-height:48px}.price-mini-grid span{font-size:11px;line-height:1.3}.price-mini-grid strong{font-size:14px;margin-top:5px}.contact-cta-row{margin-top:16px;gap:8px}.contact-open-btn,.contact-cta-row a{font-size:12px;padding:10px 13px;min-height:44px}.contact-note{font-size:11px;margin-top:9px;line-height:1.5}.consult-flow{padding:16px}.consult-title b{font-size:23px;line-height:1.2}.consult-steps{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.consult-steps>div{padding:8px 5px}.consult-steps strong{font-size:15px;margin-top:5px}.consult-steps span{font-size:9px;line-height:1.5;margin-top:5px}.consult-flow .secondary{margin-top:14px}
 .office-scene{border-radius:12px;overflow:visible!important}.workers{width:450px!important;transform:translateX(-50%) scale(.64)!important;bottom:20px!important}.office-title{padding:14px!important;font-size:9px!important}.office-floor{bottom:8px}.bubble{font-size:13px}.command{padding:14px}.command-grid{gap:5px;margin-top:12px}.command-grid b{font-size:11px!important}.command-grid small{font-size:9px!important}.command .title{font-size:9px!important}.mini-agent{padding:9px 4px!important;min-height:53px}.mini-agent:before{display:none}
 .journey-controls{left:6%;right:6%;bottom:12px;gap:8px}.journey-controls button{min-width:102px;font-size:11px;padding:10px 12px}.journey-position{font-size:10px}.local-progress{right:9px;width:1px;top:30%;bottom:25%}
 .nav{padding:8px 6px max(10px,env(safe-area-inset-bottom))!important;gap:3px!important}.nav button{flex-direction:column;gap:5px!important;font-size:11px!important;min-height:56px!important;padding:6px 1px!important;line-height:1.2;border-radius:8px}.nav button i{font-size:10px!important}.ambient-word{font-size:44vw;top:57%}.ambient-create{font-size:9px;top:66%;letter-spacing:.45em}.ambient-ring{width:90vw}.ambient-ring.ring-b{width:112vw;animation:none}.ambient-grid{width:650px;height:650px;opacity:.24}.floor{opacity:.09}.guide{opacity:.30}
}
@media(max-width:900px){
 .work-grid{grid-template-columns:1fr!important}.work-modal-card{padding:24px 17px;width:94vw;max-height:94dvh;min-height:60vh}.modal h2{font-size:28px;margin-top:28px}.modal #modalText{font-size:13px}.work-tile-media.portrait{aspect-ratio:4/5;max-height:430px}.work-tile-body{padding:16px}.viewer-card{width:96vw;height:94dvh;padding:10px;gap:8px;grid-template-rows:64px minmax(0,1fr) 50px}.viewer-head{font-size:10px;display:block;padding-right:86px;padding-top:10px;overflow-wrap:anywhere}.viewer-head span{display:block;margin-top:4px}.viewer-close{right:8px;top:8px}.contact-modal-card{padding:25px 18px;width:96vw;max-height:94dvh}.contact-modal-intro{grid-template-columns:1fr;padding-right:0;padding-top:36px;gap:10px}.contact-modal-intro h2{font-size:31px}.contact-direct{font-size:13px;gap:2px}.contact-direct span{margin-top:0}.contact-direct a{min-height:36px}.inquiry-form{grid-template-columns:1fr;gap:17px;margin-top:20px;padding-top:20px}.inquiry-form .full{grid-column:1}.contact-form-note{font-size:12px}.contact-submit,.copy-inquiry{width:100%;justify-self:stretch}.contact-modal-close{position:absolute}
}
/* Compact landscape: side-by-side composition with readable text and independently scrollable copy. */
@media(max-height:600px){
 :root{--navH:66px;--sceneH:calc(100svh - 66px)}.site-head{top:10px}.brand{font-size:9px}.head-note{display:none}.copy-overlay .v7-copy{left:5%!important;top:43px!important;width:43%!important;max-height:calc(var(--sceneH) - 110px);overflow:auto;padding:0 10px 0 0!important;border:0!important}.copy-overlay h1,.copy-overlay h2,.copy-overlay .hero-copy h1{font-size:27px!important;line-height:1.16!important}.copy-overlay p{font-size:12px!important;line-height:1.6!important;margin-top:10px!important}.copy-overlay .eyebrow{font-size:9px!important;margin-bottom:9px}.hero-signals{display:none}.primary-action{margin-top:12px;padding:8px 14px;font-size:12px;min-height:44px}.scene-art,.page[data-page="works"] .exhibit{left:auto!important;right:0!important;top:48%!important;width:44%!important;height:min(225px,57svh)!important}.hero-emblem.scene-art{left:auto!important;right:8%!important;top:47%!important;width:min(180px,27vw)!important;transform:translateY(-50%)!important}.emblem-word{font-size:56px}.emblem-create{font-size:12px}.flat-art{right:5%;top:47%;width:40%!important;max-height:calc(var(--sceneH) - 98px);overflow:auto;padding:12px}.jacket-hit{left:auto;right:5%;width:39.6%;top:calc(48% - min(112.5px,28.5svh));height:min(225px,57svh)}.journey-controls{bottom:5px}.journey-controls button{font-size:11px;min-height:40px}.nav{padding:5px 5%!important;gap:5px!important}.nav button{min-height:48px!important;font-size:11px!important;flex-direction:row}.nav button i{font-size:9px!important}.workers{transform:translateX(-50%) scale(.56)!important;bottom:10px!important}.process-track{top:44px;left:8px;right:8px;grid-template-columns:1fr 7px 1fr 7px 1fr 7px 1fr}.process-step{height:105px;padding:8px 3px;transform:none!important}.process-step b{font-size:12px;margin-top:18px}.process-step small,.process-status{display:none}.scene-art.process-visual{height:195px!important}.process-head{font-size:8px;padding:12px 8px}.price-head b{font-size:19px}.price-head span{font-size:10px}.price-mini-grid span{font-size:10px}.price-mini-grid strong{font-size:12px}.price-mini-grid>div{min-height:40px;padding:6px}.contact-cta-row{gap:6px;margin-top:10px}.contact-open-btn,.contact-cta-row a{font-size:11px;padding:8px 12px}.contact-note{font-size:10px}.system-node{width:90px;height:63px;padding:8px}.system-node b{font-size:14px}.system-node span{font-size:10px}.system-core{width:75px;height:75px}.system-core b{font-size:23px}.n1,.n3{left:8px}.n2,.n4{right:8px}.n1,.n2{top:15px}.n3,.n4{bottom:15px}.ambient-word{font-size:28vw}.office-title{font-size:8px!important;padding:10px!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.world{will-change:auto}.ambient-ring,.ambient-dot{animation:none!important}#boot{display:none!important}}
/* Paint containment on a translated 3D station clips children in Chrome/WebKit. */
.station{contain:none!important;overflow:visible!important}
/* Match all station geometries, including the older works-specific selectors. */
.page .station{width:min(1200px,90vw)!important;height:var(--sceneH)!important;margin-left:calc(-1 * min(600px,45vw))!important;margin-top:calc(var(--sceneH) / -2)!important}
@media(max-width:900px) and (min-height:501px){.page .station{width:88vw!important;margin-left:-44vw!important}}
/* A real-size world prevents zero-area 3D clipping surfaces on mobile compositors. */
.world{width:100%;height:100%;left:0;top:0;transform-origin:50% 50%}
.page .station{left:50%;top:50%;backface-visibility:visible}
.floor{left:calc(50% - 1700px);top:calc(50% + 250px)}
.guide{left:calc(50% - 1px);top:calc(50% + 38px)}
/* Visibility changes immediately so focus can enter on the opening frame. */
.modal,.viewer,.contact-modal{transition:opacity .2s ease}
/* Auxiliary readable panels are outside the 3D scene. */
.flat-art{left:auto!important;right:5%!important;top:50%!important;height:auto!important;transform:translateY(-50%)!important}
@media(max-width:900px) and (min-height:501px){.flat-art{left:6%!important;right:auto!important;top:67%!important}}
@media(max-height:600px){.flat-art{right:5%!important;top:47%!important}}
@media(max-width:900px) and (min-height:501px) and (max-height:760px){
 .copy-overlay .v7-copy{top:55px!important}.copy-overlay h1,.copy-overlay h2{font-size:27px!important}.copy-overlay .hero-copy h1{font-size:35px!important}.copy-overlay p{font-size:13px!important;line-height:1.65!important;margin-top:11px!important}.copy-overlay .eyebrow{margin-bottom:9px}.hero-signals{margin-top:11px}.primary-action{margin-top:14px;min-height:44px}
 .scene-art,.page[data-page="works"] .exhibit{top:69%!important;height:190px!important}.hero-emblem.scene-art{top:75%!important;width:160px!important;height:auto!important}.emblem-word{font-size:50px}.emblem-create{font-size:12px}.scene-art.process-visual{height:190px!important}.process-track{top:45px}.process-step{height:105px}.process-step b{font-size:12px;margin-top:18px}.process-status{bottom:10px;font-size:7px}.process-head{padding-top:10px}
 .jacket-hit{top:calc(69% - 95px);height:190px}.jacket-collage{inset:35px 15px 30px}.jacket-hit span{padding:8px 12px;font-size:11px}.flat-art{top:70%!important;max-height:205px}.workers{transform:translateX(-50%) scale(.60)!important;bottom:10px!important}.office-title{padding:8px!important}
}
.work-modal-card>.close,.contact-modal-card>.contact-modal-close{position:sticky;top:0;right:0;float:right;margin-left:12px;margin-bottom:8px}

/* Keep slide proportions; zoom uses real image dimensions and native scrolling. */
.viewer-media{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;display:grid;place-items:center;scrollbar-color:#3c6b49 #061009}
.viewer-media img{display:block;max-width:100%}
.viewer-media.is-zoomed{display:block;place-items:normal}
.viewer-media.is-zoomed img{width:var(--zoom-width)!important;height:auto!important;max-width:none!important;object-fit:contain!important;margin:0;justify-self:start!important}
.viewer-foot{gap:8px}.viewer-foot button{flex:1;min-width:0;padding:9px 12px;white-space:nowrap}
@media(max-width:900px){.viewer-foot button{font-size:12px;padding:8px 6px}}

/* Keep mobile AI office contents in one painting plane. WebKit can depth-sort
   nested preserve-3d descendants behind their panel's opaque background. */
@media(max-width:900px){
 .page[data-page="team"] .office-scene,
 .page[data-page="team"] .command{
  -webkit-transform-style:flat;transform-style:flat;
  -webkit-backface-visibility:visible;backface-visibility:visible;
  isolation:isolate;
 }
 .page[data-page="team"] .office-scene::after,
 .page[data-page="team"] .command::after{display:none}
 .page[data-page="team"] .command>.title,
 .page[data-page="team"] .command-grid{position:relative;z-index:1}
}
