/* A full-screen, shared-camera exhibition. Native document scrolling is the ruler. */
.cinematic{--pad:clamp(20px,3.6vw,58px)}
.cinematic:not(.tour-linear){overscroll-behavior-y:none}
.cinematic:not(.tour-linear) html{scroll-padding-top:0}
html:has(.cinematic:not(.tour-linear)){scroll-padding-top:0;scroll-behavior:auto}
.tour-track{position:relative;z-index:0}
.tour-stop{pointer-events:none}
#tour-layer{position:fixed;inset:0;z-index:4;pointer-events:none;overflow:clip!important}
#tour-layer>div,#tour-layer>div>div{pointer-events:none}
.tour-panel{position:absolute!important;width:min(1060px,calc(100vw - 100px));height:calc(100svh - 180px);max-height:720px;min-height:0!important;max-width:none;margin:0!important;padding:32px!important;transform-style:preserve-3d;backface-visibility:hidden;border-radius:20px;color:#262622;--ink:#262622;--muted:#68665f;--line:#d2cabc;--accent:#9e571b;background:rgba(248,246,240,.95);border:1px solid rgba(132,126,110,.35);box-shadow:0 22px 100px rgba(23,28,25,.12);overflow:visible;pointer-events:auto;will-change:transform,opacity}
.tour-panel h2{font-size:clamp(42px,5vw,68px);letter-spacing:-.055em;line-height:1.05}
.tour-panel h2 em{color:#9e571b}
#tour-layer .tour-panel{background:#f8f6f0}
#tour-layer .tour-panel.hero,#tour-layer .tour-panel.contact{background:transparent}
.contact-plate{position:absolute!important;inset:0;background:#232622;border-radius:20px;z-index:0!important;pointer-events:none}
.tour-linear .contact-plate{clip-path:none!important;border-radius:0}
.tour-panel .section-top{margin:0 0 24px;gap:20px}
.tour-panel .section-top>span:last-child{font-size:10px;letter-spacing:1px;max-width:260px;text-align:right}
.tour-panel .eyebrow{font-size:10px;letter-spacing:1.25px}
.tour-panel p{font-size:15px;line-height:1.7}
.tour-panel.hero{background:transparent;border:0;box-shadow:none;padding:12px 8px!important;height:calc(100svh - 175px);max-height:800px;overflow:visible}
.tour-panel .hero-top{padding-top:0}
.tour-panel h1{font-size:clamp(47px,5.5vw,78px);margin-top:24px;line-height:1.04}
.tour-panel .hero-description{position:absolute;right:8px;top:170px;font-size:13px;max-width:260px}
.tour-panel .hero-note{font-size:12px}
.tour-panel .keyboard-space{position:absolute;left:0;right:0;top:auto;bottom:40px;height:clamp(180px,36svh,340px);width:100%;margin:0;max-width:none}
.tour-panel .hero-bottom{position:absolute;bottom:0;left:8px;right:8px;font-size:10px;color:#faf4e9}
.tour-panel .keyboard-hint{font-size:10px}
.tour-panel .hint-symbol{font-size:24px}
.tour-panel .scroll-cue{font-size:10px;letter-spacing:1.2px}
.tour-panel.work{display:flex;flex-direction:column;justify-content:center;max-width:900px;height:min(460px,calc(100svh - 180px))}
.tour-panel.work h2{font-size:clamp(60px,7vw,100px)}
.tour-panel.work .work-heading-bottom{margin:28px 0 0;gap:25px;flex-wrap:wrap;align-items:flex-start}
.tour-panel.work .work-heading-bottom p{font-size:18px}
.tour-panel .filters{margin-top:0}
.tour-panel .filters button{font-size:12px;padding:12px 16px}
.project-exhibit{width:min(1050px,calc(100vw - 100px));background:rgba(248,246,240,.97);display:flex;flex-direction:column;padding:22px!important}
.exhibit-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:16px;flex-shrink:0}
.project-exhibit .project-card{height:100%;min-height:0;will-change:auto;flex:1;min-width:0;container:project / inline-size}
.project-exhibit .project-open{display:flex;flex-direction:column;width:100%;height:100%}
.project-exhibit .project-visual{height:auto!important;min-height:0!important;flex:1;padding:20px;box-shadow:none;width:100%}
.project-exhibit .project-art{grid-template-columns:minmax(0,.7fr) minmax(0,1fr)!important;gap:25px;padding:20px 10px 0;align-items:center}
.project-exhibit .visual-title{grid-column:1;grid-row:1;align-self:end;font-size:clamp(38px,5.5vw,62px)!important}
.project-exhibit .visual-artwork{grid-column:2;grid-row:1;align-self:center;padding:5px 10px 18px}
.project-exhibit .project-meta{flex-shrink:0;padding:18px 4px 0;gap:16px}
.project-exhibit .project-meta h3{font-size:clamp(23px,2.5vw,31px);margin-bottom:2px}
.project-exhibit .project-meta p{font-size:13px}
.project-exhibit .project-meta .project-index{font-size:9px}
.project-exhibit .product-map{padding:12px;gap:8px;box-shadow:7px 8px 0 #7c9bbd}
.project-exhibit .map-panel{padding:12px}
.project-exhibit .map-panel-wide{padding:12px}
.project-exhibit .map-panel strong{font-size:17px}
.project-exhibit .movie-types{grid-template-columns:repeat(2,minmax(0,1fr))}
.project-exhibit .movie-type:last-child{display:none}
.project-exhibit .movie-type{min-height:170px}
.project-exhibit .crypto-chart{height:180px}
.project-exhibit .sensor-values{min-height:170px}
.project-exhibit .sensor-values strong{font-size:28px}
.tour-panel.about{display:flex;flex-direction:column}
.tour-panel .about-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:60px;flex:1;align-items:center;transform:none}
.tour-panel .portrait-wrap{width:100%;max-width:320px;padding:10px 10px 0;margin:0 auto}
.tour-panel .portrait-wrap img{aspect-ratio:4/4.4;max-height:380px}
.tour-panel .portrait-bottom{padding:12px 0;font-size:9px;flex-wrap:wrap}
.tour-panel .portrait-label{top:24px;right:-18px;padding:10px 14px;font-size:10px}
.tour-panel .about-copy h2{font-size:clamp(47px,5vw,68px);margin-bottom:24px}
.tour-panel .about-copy .about-lead{font-size:21px;line-height:1.5;max-width:420px}
.story-exhibit{display:flex;flex-direction:column;justify-content:center;max-width:900px}
.story-exhibit h2{margin:24px 0 28px}
.story-detail{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.story-detail p{max-width:370px}
.story-exhibit .about-tags{margin:28px 0 20px}
.story-exhibit .text-link{align-self:flex-start}
.tour-panel.toolbox{color:#262622;display:flex;flex-direction:column}
.tour-panel.toolbox h2{font-size:clamp(43px,4.5vw,64px)}
.tour-panel .section-intro{margin:14px 0 20px;font-size:13px;line-height:1.6}
.tour-panel .toolbox-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;flex:1;min-height:0}
.tour-panel .tool-tabs{justify-content:center}
.tour-panel .tool-tabs button{padding:18px 0;font-size:22px;color:#68665f;border-color:#bbbcae}
.tour-panel .tool-tabs button[aria-selected=true]{color:#36553a}
.tour-panel .tool-panel{background:#e9eee2;padding:25px;min-height:0;border-color:#acbba2;align-self:center}
.tour-panel .tool-panel h3{font-size:25px}
.tour-panel .tool-panel p{font-size:13px;line-height:1.6;color:#53604d}
.tour-panel .tool-chips{margin:20px 0;gap:8px}
.tour-panel .tool-chips span{font-size:17px;padding:10px 13px}
.tour-panel .tool-related{margin-top:16px;font-size:11px!important}
.tour-panel.experience{display:flex;flex-direction:column;justify-content:center}
.tour-panel .timeline{margin-top:30px}
.tour-panel .timeline article{padding:25px 0;gap:25px}
.tour-panel .timeline h3{font-size:29px}
.tour-panel .timeline p{margin:18px 0;max-width:600px}
.tour-panel .timeline-meta{font-size:10px}
.tour-panel .company{font-size:14px}
.tour-panel .tags span{font-size:10px;padding:7px 10px}
.tour-panel.approach{display:flex;flex-direction:column;justify-content:center;color:#262622}
.tour-panel .approach-grid{margin-top:40px;gap:26px}
.tour-panel .approach-grid h3{font-size:27px;margin:18px 0 12px}
.tour-panel .approach-grid p{font-size:14px;color:#68665f}
.tour-panel .approach-grid article{border-color:#b5b49f}
.tour-panel .step-number{color:#9e571b}
.tour-panel.contact{background:rgba(35,38,34,.96);color:#faf4e9;display:flex;flex-direction:column;justify-content:center;padding:32px!important;overflow:visible}
.tour-panel.contact h2{font-size:clamp(49px,5.2vw,73px);max-width:70%}
.tour-panel.contact h2 em{color:#efc57e}
.tour-panel.contact>p{font-size:13px;margin:20px 0;color:#d8d8c9;max-width:65%}
.tour-panel.contact .eyebrow,.tour-panel.contact footer{color:#d8d8c9}
.tour-panel .contact-button{align-self:flex-start;font-size:14px;padding:16px 23px;gap:30px}
.tour-panel .contact-links{gap:23px;font-size:12px;margin:26px 0}
.tour-panel.contact footer{margin-top:auto;padding-top:18px;font-size:9px;gap:15px;flex-wrap:wrap}
.tour-panel.contact footer .wordmark{font-size:27px}
.tour-panel.contact .contact-object-space{position:absolute!important;right:32px;top:130px;width:240px;height:260px;pointer-events:none;margin:0}
#keyboard-overlay{position:fixed;inset:0;z-index:7;pointer-events:none}
#keyboard-overlay .key-controls{position:fixed;inset:0;width:100%;height:100%;display:block;pointer-events:none}
#keyboard-overlay .key-controls button,#keyboard-overlay .contact-object-hit{position:fixed;margin:0;transform:none;border:0;background:transparent;box-shadow:none;pointer-events:auto;border-radius:8px}
#keyboard-overlay .key-controls button span,#keyboard-overlay .key-controls button small{visibility:hidden}
#keyboard-overlay .contact-object-hit[hidden]{display:none}
.tour-navigation{position:fixed;z-index:14;bottom:25px;right:var(--pad);left:var(--pad);display:flex;align-items:center;gap:22px;color:var(--journey-ink,#262622);font-size:10px;letter-spacing:1.2px;pointer-events:none}
.tour-position{font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}
.tour-instruction{margin-left:auto}
.tour-instruction span{margin-left:12px}
.tour-navigation>.tour-actions{display:flex;gap:7px;flex-shrink:0;pointer-events:auto}
.tour-navigation>.tour-progress{display:flex;align-items:center;gap:16px;min-width:0}
.tour-navigation button{width:34px;height:34px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:50%;background:color-mix(in srgb,var(--journey-header,#f8f6f0) 90%,transparent);color:inherit;font-size:17px}
.tour-navigation button:disabled{opacity:.3;cursor:default}
.cinematic .tour-progress .scene-status{position:static;display:flex;align-items:center;min-width:0;font-size:9px;gap:12px;max-width:none;color:var(--journey-ink,#262622)}
.cinematic .tour-progress #chapter-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cinematic .scene-status #chapter-number{display:none}
.cinematic .tour-progress .status-line{width:60px;flex:0 0 60px}
.cinematic .header{height:85px;background:color-mix(in srgb,var(--journey-header,#f8f6f0) 80%,transparent)}
.cinematic .header nav{gap:24px}
.cinematic .experience-controls{position:static;justify-self:end}
.cinematic .experience-controls button{height:32px;font-size:10px}
.tour-linear #tour-layer,.tour-linear #keyboard-overlay,.tour-linear .tour-navigation,.tour-linear #world canvas,.tour-linear .scene-status{display:none!important}
.tour-linear .tour-stop{height:auto!important;pointer-events:auto}
.tour-linear .tour-panel{position:relative!important;transform:none!important;opacity:1!important;pointer-events:auto!important;max-height:none;height:auto;width:100%;max-width:1100px;margin:0 auto!important;min-height:0;padding:70px var(--pad)!important;box-shadow:none;border:0;border-radius:0}
.tour-linear .hero{height:850px;min-height:850px!important;padding-top:115px!important}
.tour-linear .hero .keyboard-space{position:relative;bottom:auto;height:290px;margin-top:25px}
.tour-linear .key-controls button{background:revert-layer}
.tour-linear.has-webgl .key-controls{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,1fr);gap:3px}
.tour-linear.has-webgl .key-controls button{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;border:2px solid #262622;box-shadow:0 10px 0 #262622;pointer-events:auto;border-radius:15px;opacity:1;display:flex}
.tour-linear.has-webgl .key-controls button span,.tour-linear.has-webgl .key-controls button small{visibility:visible;opacity:1;display:block}
.tour-linear .key-controls button:nth-child(1){background:#8ebfff}
.tour-linear .key-controls button:nth-child(2){background:#b6a6f2}
.tour-linear .key-controls button:nth-child(3){background:#8de0df}
.tour-linear .key-controls button:nth-child(4){background:#ffd16b}
.tour-linear .key-controls button:nth-child(5){background:#8cdcff}
.tour-linear .key-controls button:nth-child(6){background:#9dc0ff}
.tour-linear .key-controls button:nth-child(7){background:#ffc38a}
.tour-linear .key-controls button:nth-child(8){background:#aebdff}
.tour-linear .key-controls button:nth-child(9){background:#f5e69a}
.tour-linear .key-controls button:nth-child(10){background:#ffdf2b}
.tour-linear .key-controls button:nth-child(9),body:not(.has-webgl) .key-controls button:nth-child(9){grid-column:5;grid-row:2}
.tour-linear .key-controls button:nth-child(10),body:not(.has-webgl) .key-controls button:nth-child(10){grid-column:5/7;grid-row:1/3;z-index:1;clip-path:polygon(0 0,100% 0,100% 100%,50% 100%,50% 50%,0 50%)}
.tour-linear .key-controls button:nth-child(10) span,.tour-linear .key-controls button:nth-child(10) small,body:not(.has-webgl) .key-controls button:nth-child(10) span,body:not(.has-webgl) .key-controls button:nth-child(10) small{position:relative;left:25%}
.tour-linear .project-exhibit .project-visual{min-height:350px!important}
.tour-linear .contact-object-space{display:none!important}
.tour-linear .project-exhibit .project-card[hidden]{display:none}
.tour-linear .hero-bottom{position:relative;margin-top:50px}
.tour-linear .hero-bottom{color:#262622}
.tour-linear .tour-track{z-index:4}
@media(max-width:900px){
 .tour-panel{width:calc(100vw - 60px);padding:25px!important}
 .tour-panel .hero-description{position:relative;top:auto;right:auto;margin-top:16px;font-size:13px;max-width:none}
 .tour-panel .hero-note{display:none}
 .tour-panel .about-grid{gap:30px}
 .tour-panel .about-copy .about-lead{font-size:18px}
 .tour-panel .toolbox-layout{gap:25px}
 .tour-panel .tool-tabs button{font-size:18px;padding:15px 0}
 .tour-panel .tool-panel{padding:20px}
 .tour-panel .tool-chips span{font-size:15px;padding:9px 11px}
 .project-exhibit .project-art{gap:18px;padding:18px 0 0}
 .project-exhibit .visual-artwork{padding:8px 5px}
 .tour-panel .timeline article{grid-template-columns:.7fr 2fr}
 .cinematic .header{gap:22px}
 .cinematic .header nav{gap:18px;font-size:13px}
 .cinematic .header .wordmark{font-size:30px}
 .cinematic .header nav a:nth-child(3){display:none}
}
@media(max-width:600px){
 .cinematic .header{height:100px;grid-template-rows:48px 34px;grid-template-columns:auto 1fr;padding-top:6px;padding-bottom:8px;gap:0 15px}
 .cinematic .header nav{gap:16px;font-size:12px}
 .cinematic .experience-controls{grid-column:1/-1;gap:6px}
 .cinematic .experience-controls button{height:28px;padding:5px 10px;font-size:10px}
 .tour-panel{width:calc(100vw - 38px);height:calc(100svh - 210px);padding:22px!important;max-height:760px;border-radius:15px}
 .tour-panel .section-top{margin-bottom:20px}
 .tour-panel .section-top>span:last-child,.exhibit-heading>span:last-child{display:none}
 .tour-panel h2{font-size:clamp(36px,10.2vw,50px)}
 .tour-panel p{font-size:13px;line-height:1.65}
 .tour-panel .eyebrow{font-size:9px;letter-spacing:1px}
 .tour-panel.hero{padding:12px 4px!important;height:calc(100svh - 190px)}
 .tour-panel h1{font-size:clamp(37px,10.8vw,54px);margin-top:27px;line-height:1.1}
 .tour-panel .hero-description{font-size:13px;margin-top:20px}
 .tour-panel .keyboard-space{bottom:70px;height:160px}
 .tour-panel .hero-top .eyebrow{font-size:8px}
 .tour-panel .hero-bottom{bottom:20px;left:4px;right:4px;gap:12px}
 .tour-panel .scroll-cue{font-size:8px;letter-spacing:.8px}
 .tour-panel .keyboard-hint{font-size:9px;max-width:115px}
 .tour-panel.work{height:min(460px,calc(100svh - 210px))}
 .tour-panel.work h2{font-size:clamp(48px,13vw,64px)}
 .tour-panel.work .work-heading-bottom{display:flex;gap:30px;margin-top:30px}
 .tour-panel.work .work-heading-bottom p{font-size:16px}
 .tour-panel .filters{margin:0;flex-wrap:wrap;max-width:100%;border-radius:20px}
 .tour-panel .filters button{font-size:11px;padding:10px 12px}
 .project-exhibit{padding:16px!important}
 .exhibit-heading{margin-bottom:13px}
 .project-exhibit .project-art{grid-template-columns:minmax(0,1fr)!important;gap:15px;padding:18px 0 0;align-items:end}
 .project-exhibit .visual-artwork{grid-column:1;grid-row:1;padding:5px 4px 15px;align-self:center}
 .project-exhibit .visual-title{grid-column:1;grid-row:2;font-size:clamp(29px,9vw,43px)!important;line-height:1.02}
 .project-exhibit .project-visual{padding:17px}
 .project-exhibit .visual-caption{font-size:8px}
 .project-exhibit .visual-tag{font-size:7px;padding:4px 7px}
 .project-exhibit .open-label{margin-top:10px;font-size:8px}
 .project-exhibit .project-meta{padding-top:13px;align-items:center}
 .project-exhibit .project-meta h3{font-size:clamp(20px,5.8vw,25px);line-height:1.1}
 .project-exhibit .project-meta p{font-size:11px;margin-top:5px}
 .project-exhibit .project-meta .project-index{font-size:8px;margin-bottom:3px}
 .project-exhibit .project-icon{width:30px;height:30px;font-size:17px;flex-shrink:0}
 .project-exhibit .map-panel-wide{display:none}
 .project-exhibit .product-map{padding:10px;gap:8px}
 .project-exhibit .map-panel{padding:9px;gap:8px}
 .project-exhibit .map-panel strong{font-size:14px}
 .project-exhibit .map-panel .mini-label{font-size:7px}
 .project-exhibit .movie-type{min-height:140px;padding:12px;gap:14px}
 .project-exhibit .movie-type strong{font-size:21px}
 .project-exhibit .movie-type span{font-size:8px}
 .project-exhibit .crypto-chart{height:155px}
 .project-exhibit .sensor-values{min-height:150px;gap:7px}
 .project-exhibit .sensor-values div{padding:20px 5px;gap:14px}
 .project-exhibit .sensor-values strong{font-size:24px}
 .project-exhibit .sensor-values small{font-size:7px}
 .tour-panel .about-grid{grid-template-columns:1fr;gap:25px;align-content:center;align-items:center}
 .tour-panel .portrait-wrap{max-width:210px;padding:7px 7px 0}
 .tour-panel .portrait-wrap img{max-height:230px;aspect-ratio:4/4.4}
 .tour-panel .portrait-bottom{font-size:7px;padding:9px 0;gap:4px;flex-direction:row}
 .tour-panel .portrait-bottom>span:first-child{font-size:16px}
 .tour-panel .portrait-label{font-size:8px;right:-14px;padding:8px 11px}
 .tour-panel .about-copy h2{font-size:38px;margin-bottom:16px}
 .tour-panel .about-copy .about-lead{font-size:15px;margin:0}
 .story-exhibit h2{margin:22px 0 28px}
 .story-detail{grid-template-columns:1fr;gap:18px}
 .story-exhibit .about-tags{margin:24px 0 20px;gap:6px}
 .tour-panel .about-tags span{font-size:10px;padding:7px 9px}
 .tour-panel .text-link{font-size:11px}
 .tour-panel.toolbox h2{font-size:36px}
 .tour-panel .section-intro{font-size:11px;margin:12px 0 18px}
 .tour-panel .toolbox-layout{grid-template-columns:1fr;gap:15px;align-content:start}
 .tour-panel .tool-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
 .tour-panel .tool-tabs button{font-size:13px;padding:13px 0;letter-spacing:-.3px;gap:5px}
 .tour-panel .tool-tabs button>span:first-child{font-size:8px;margin-right:4px}
 .tour-panel .tool-tabs button>span:last-child{font-size:15px}
 .tour-panel .tool-panel{padding:18px}
 .tour-panel .tool-panel h3{font-size:20px;margin-bottom:12px}
 .tour-panel .tool-panel p{font-size:11px;line-height:1.6}
 .tour-panel .tool-chips{gap:6px;margin:15px 0}
 .tour-panel .tool-chips span{font-size:13px;padding:8px 10px}
 .tour-panel .tool-related{font-size:9px!important;margin-top:13px}
 .tour-panel .timeline{margin-top:28px}
 .tour-panel .timeline article{grid-template-columns:1fr;gap:16px;padding:20px 0}
 .tour-panel .timeline h3{font-size:25px}
 .tour-panel .timeline p{font-size:13px;margin:16px 0}
 .tour-panel .timeline-meta{font-size:9px}
 .tour-panel .tags{gap:7px}
 .tour-panel .tags span{font-size:9px;padding:6px 9px}
 .tour-panel .grade{font-size:55px;margin-top:15px}
 .tour-panel .approach-grid{grid-template-columns:1fr;gap:20px;margin-top:30px}
 .tour-panel .approach-grid article{padding-top:16px;grid-template-columns:30px 1fr;gap:0 12px}
 .tour-panel .approach-grid h3{font-size:23px;margin:0 0 8px}
 .tour-panel .approach-grid p{font-size:12px}
 .tour-panel .step-number{font-size:22px}
 .tour-panel.contact{padding:22px!important;justify-content:flex-start}
 .tour-panel.contact h2{font-size:38px;max-width:100%;margin-top:12px}
 .tour-panel.contact>p{font-size:12px;max-width:100%;margin:20px 0}
 .tour-panel .contact-button{font-size:12px;padding:14px 18px;gap:22px}
 .tour-panel .contact-links{gap:16px;font-size:11px;margin:22px 0 0;max-width:75%}
 .tour-panel.contact .contact-object-space{top:auto;bottom:100px;right:18px;width:100px;height:105px}
 .tour-panel.contact footer{font-size:8px;padding-top:16px;padding-bottom:0;gap:8px}
 .tour-panel.contact footer .credit{width:100%;margin:0;line-height:1.5}
 .tour-panel.contact footer .wordmark{font-size:24px}
 .tour-navigation{bottom:20px;font-size:8px;gap:15px}
 .tour-navigation button{width:29px;height:29px;font-size:15px}
 .tour-instruction{display:none}
 .tour-navigation>.tour-actions{margin-left:auto}
 .tour-navigation>.tour-progress{flex:1;gap:12px}
 .cinematic .tour-progress .scene-status{display:flex!important;flex:1;font-size:8px;gap:8px}
 .cinematic .tour-progress #chapter-label{max-width:90px}
 .cinematic .tour-progress .status-line{width:18px;flex-basis:18px}
 .tour-linear .hero{height:780px;min-height:780px!important}
 .tour-linear .hero .keyboard-space{height:170px;margin-top:40px}
 .tour-linear.has-webgl .key-controls button small{display:none}
 .tour-linear .project-exhibit .project-visual{min-height:360px!important}
 .tour-linear .contact-links{max-width:100%;margin-bottom:25px}
 .tour-linear .about-grid{grid-template-columns:1fr;gap:35px}
 .tour-linear .portrait-wrap{max-width:290px}
 .tour-linear .portrait-wrap img{max-height:none}
}
@media(max-height:700px) and (min-width:601px){
 .tour-panel{height:calc(100svh - 145px);padding:22px!important}
 .tour-panel h2{font-size:47px}
 .tour-panel h1{font-size:53px;margin-top:20px}
 .tour-panel.hero{height:calc(100svh - 145px)}
 .tour-panel .hero-description{top:95px;font-size:11px}
 .tour-panel .keyboard-space{bottom:35px;height:200px;max-width:800px;margin:auto}
 .tour-panel .section-top{margin-bottom:17px}
 .tour-panel .about-grid{gap:40px}
 .tour-panel .portrait-wrap{max-width:230px}
 .tour-panel .about-copy h2{font-size:44px;margin-bottom:16px}
 .tour-panel .about-copy .about-lead{font-size:18px}
 .tour-panel .timeline{margin-top:20px}
 .tour-panel .timeline article{padding:20px 0}
 .tour-panel .timeline h3{font-size:25px}
 .tour-panel .timeline p{font-size:13px;margin:14px 0}
 .tour-panel .toolbox-layout{gap:25px}
 .tour-panel.toolbox h2{font-size:32px}
 .tour-panel.toolbox .section-intro{font-size:11px;margin:10px 0 12px}
 .tour-panel .tool-tabs button{font-size:18px;padding:14px 0}
 .tour-panel .tool-panel{padding:16px}
 .tour-panel .tool-chips span{font-size:14px;padding:8px 11px}
 .tour-panel .tool-panel h3{font-size:22px}
 .tour-panel.contact{padding:22px!important}
 .tour-panel.contact h2{font-size:42px}
 .tour-panel.contact>p{margin:12px 0;font-size:12px;line-height:1.5}
 .tour-panel .contact-links{margin:16px 0;font-size:11px}
 .tour-panel.contact .contact-button{padding:12px 18px;font-size:12px}
 .tour-panel.contact footer{padding-top:14px}
 .tour-panel.contact .contact-object-space{top:100px;width:200px;height:220px}
 .project-exhibit .project-art{padding-top:12px}
 .project-exhibit .visual-title{font-size:44px!important}
 .project-exhibit .movie-type{min-height:135px}
 .project-exhibit .map-panel-wide{display:none}
 .project-exhibit .crypto-chart{height:150px}
 .project-exhibit .sensor-values{min-height:150px}
}


@media(max-width:360px){
 .tour-panel{padding:16px!important}
 .tour-panel h2,.tour-panel .about-copy h2,.tour-panel.toolbox h2{font-size:32px}
 .tour-panel .section-top{margin-bottom:16px}
 .tour-panel .portrait-wrap{max-width:180px}
 .tour-panel .portrait-wrap img{max-height:198px}
 .tour-panel .about-grid{gap:20px}
 .tour-panel .about-copy .about-lead{font-size:14px}
 .story-exhibit h2{margin:18px 0 22px}
 .story-detail{gap:14px}
 .story-exhibit .about-tags{margin:20px 0 16px}
 .tour-panel .section-intro{margin:10px 0 12px}
 .tour-panel .tool-tabs button{padding:10px 0;font-size:12px}
 .tour-panel .tool-panel{padding:14px}
 .tour-panel .tool-panel h3{font-size:18px;margin-bottom:10px}
 .tour-panel .tool-chips{gap:5px;margin:12px 0}
 .tour-panel .tool-chips span{font-size:12px;padding:7px 9px}
 .tour-panel .tool-related{margin-top:10px}
 .tour-panel .approach-grid{gap:14px;margin-top:23px}
 .tour-panel .approach-grid article{padding-top:10px}
 .tour-panel .approach-grid h3{font-size:21px}
 .tour-panel.contact{padding:16px!important}
 .tour-panel.contact h2{font-size:33px}
 .tour-panel .contact-links{max-width:100%;gap:14px;font-size:10px;margin-top:18px}
 .tour-panel.contact .contact-object-space{right:16px;bottom:86px;width:85px;height:90px}
 .tour-panel .contact-button{padding:12px 16px}
}
@media(max-width:600px) and (max-height:699px){
 .tour-panel:not(.hero){overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin}
 .tour-panel.about,.tour-panel.story-exhibit,.tour-panel.toolbox,.tour-panel.experience,.tour-panel.approach,.tour-panel.contact{display:block}
 .tour-panel .about-grid{display:block}
 .tour-panel .portrait-wrap{margin:8px auto 25px}
 .tour-panel .toolbox-layout{display:block}
 .tour-panel .tool-panel{margin-top:16px}
 .tour-panel .approach-grid{margin-bottom:10px}
 .tour-panel.contact .contact-object-space{display:none}
 #tour-layer .tour-panel.contact{background:#fff4e2}
 .tour-panel.contact .contact-plate{clip-path:none!important}
 .tour-panel.contact footer{margin-top:25px}
 .tour-panel.hero h1{font-size:34px;margin-top:16px}
 .tour-panel.hero .hero-description{font-size:11px;margin-top:14px;line-height:1.5}
 .tour-panel.hero .keyboard-space{height:100px;bottom:50px}
 .tour-panel.hero .hero-bottom{bottom:18px}
 .tour-panel.hero .keyboard-hint{display:none}
}

/* The liquid portal opens onto the camera's actual arrival, then disappears. */
.loading-screen[hidden]{display:none!important}
.intro-active{overflow:hidden}
.loading-screen{--portal-radius:0vmax;--portal-opacity:1;--copy-opacity:1;--portal-scale:1;--load:0%;position:fixed;inset:0;z-index:100;isolation:isolate;overflow:hidden;color:#343138}
.portal-mask{position:absolute;inset:0;background:radial-gradient(circle at 50% 43%,transparent var(--portal-radius),#fff5e7 calc(var(--portal-radius) + 2px));z-index:-1}
.liquid-portal{position:absolute;left:50%;top:38%;width:min(34vw,350px);aspect-ratio:1;transform:translate(-50%,-50%) scale(var(--portal-scale));opacity:var(--portal-opacity);border-radius:50%;background:radial-gradient(ellipse at 40% 30%,#ffe0a630,transparent 50%),conic-gradient(from 20deg,#ffc16d55,#c6b4ee88,#ffcf7588,#b4ceef88,#ffc16d55);box-shadow:inset 0 0 80px #ffc66c15,0 0 100px #ecb06417;backdrop-filter:blur(6px);border:1px solid #d4af7759;will-change:transform}
.liquid-portal i{position:absolute;inset:2%;border:1px solid #dfb57987;border-radius:45% 55% 48% 52%;box-shadow:inset 0 0 35px #ffd39022,0 0 30px #b6a6f216;animation:liquid-orbit 9s linear infinite}
.liquid-portal i:nth-child(2){inset:7%;border-color:#c4b6ed7a;animation-direction:reverse;animation-duration:13s;transform:rotate(35deg)}
.liquid-portal i:nth-child(3){inset:12%;border-color:#ffdf8a66;animation-duration:16s}
.portal-core{position:absolute;inset:18%;display:grid;place-items:center;font:500 clamp(70px,9vw,130px) var(--sans);color:#925625;background:radial-gradient(circle,#fff5e7aa,#fff5e711);border-radius:50%;text-shadow:0 0 30px #efbe7166}
.loading-copy{position:absolute;top:61%;left:50%;transform:translate(-50%,-50%);width:min(430px,calc(100% - 64px));opacity:var(--copy-opacity);text-align:center}
.loading-copy>.eyebrow{font-size:9px;letter-spacing:2px;color:#8c7967}
.loading-copy>p{font:650 clamp(37px,4.5vw,58px)/1.05 var(--sans);letter-spacing:-2px;margin:21px 0 35px}
.loading-copy>p em{font-family:Georgia,serif;color:#a86529}
.loading-meter{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1.5px;color:#796a5b;text-align:left}
.loading-number{font:400 22px var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-1px;margin-right:3px}
.loading-bar{height:1px;background:#dcc5a4;margin-top:13px;overflow:hidden}
.loading-bar i{display:block;width:var(--load);height:1px;background:linear-gradient(90deg,#8ebfff,#8de0df,#ffd16b)}
.skip-intro{position:absolute;bottom:32px;right:var(--pad);border:1px solid #bb955966;color:#796a5b;background:#fff5e780;padding:10px 16px;border-radius:30px;font-size:11px;letter-spacing:.4px;opacity:var(--copy-opacity)}
.skip-intro span{margin-left:12px}
@keyframes liquid-orbit{to{transform:rotate(360deg)}}
@media(max-width:600px){.liquid-portal{width:64vw;top:34%}.loading-copy{top:62%}.loading-copy>p{font-size:47px;margin-bottom:32px}.loading-copy>.eyebrow{font-size:8px;letter-spacing:1.5px}.loading-meter{font-size:8px;letter-spacing:1px}.skip-intro{bottom:26px}}
@media(prefers-reduced-motion:reduce){.liquid-portal i{animation:none}.liquid-portal{transform:translate(-50%,-50%)}}

/* Open compositions inhabit the sunlit promenade; there is no outer paper card. */
.cinematic:not(.tour-linear) .tour-track{z-index:5;pointer-events:none}
.cinematic:not(.tour-linear) #tour-layer .tour-panel{background:radial-gradient(ellipse at 42% 45%,#fff8edc7 20%,#fff8ed00 76%)!important;border:0;box-shadow:none;border-radius:0;color:#303139;--ink:#303139;--muted:#6b6057;--accent:#a8642d;--line:#cfbda5}
.cinematic:not(.tour-linear) #tour-layer .tour-panel.hero,.cinematic:not(.tour-linear) #tour-layer .tour-panel.project-exhibit,.cinematic:not(.tour-linear) #tour-layer .tour-panel.toolbox{background:transparent!important}
.cinematic:not(.tour-linear) .tour-panel h1,.cinematic:not(.tour-linear) .tour-panel h2,.cinematic:not(.tour-linear) .tour-panel .about-copy h2{color:#303139;text-shadow:0 3px 30px #fff9ed66}
.cinematic:not(.tour-linear) .tour-panel h1 em,.cinematic:not(.tour-linear) .tour-panel h2 em{color:#ad682d}
.cinematic:not(.tour-linear) .hero-description,.cinematic:not(.tour-linear) .hero-note,.cinematic:not(.tour-linear) .keyboard-hint{color:#6b6057}
.cinematic:not(.tour-linear) .tour-panel .section-top,.cinematic:not(.tour-linear) .tour-panel .eyebrow{color:#88715b}
.cinematic:not(.tour-linear) .header{color:#303139;backdrop-filter:blur(16px);border-bottom:1px solid #bd946c26}
.cinematic:not(.tour-linear) .header .wordmark span{color:#ad682d}
.cinematic:not(.tour-linear) .header .experience-controls button{color:#665746;background:#fff9edb0;border-color:#b99a7666}
.cinematic:not(.tour-linear) .header nav a b{border-color:#b39a7966}
.cinematic:not(.tour-linear) .tour-panel.work{height:min(560px,calc(100svh - 180px));max-width:1060px}
.cinematic:not(.tour-linear) .tour-panel.work h2{font-size:clamp(68px,9.5vw,140px)}
.cinematic:not(.tour-linear) .tour-panel.work .work-heading-bottom p{color:#6b6057}
.cinematic:not(.tour-linear) .tour-panel .filters{background:#fff9eccc;border-color:#cdb89b88}
.cinematic:not(.tour-linear) .tour-panel .filters button{color:#79634d}
.cinematic:not(.tour-linear) .tour-panel .filters button.is-active{background:#f4cf83;color:#4c3a26}
.cinematic:not(.tour-linear) .project-exhibit{padding:24px 8px!important}
.cinematic:not(.tour-linear) .project-exhibit .exhibit-heading{margin-bottom:30px}
.cinematic:not(.tour-linear) .project-exhibit .project-open{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:42px;align-items:center}
.cinematic:not(.tour-linear) .project-exhibit .project-visual{height:min(450px,calc(100svh - 260px))!important;min-height:0!important;flex:none;border:1px solid #ffffffaa;box-shadow:0 0 0 8px #fff4e1,0 25px 70px #8b592b30;border-radius:14px}
.cinematic:not(.tour-linear) .project-exhibit .project-meta{flex-direction:column;padding:0;margin:0;align-items:flex-start}
.cinematic:not(.tour-linear) .project-exhibit .project-meta h3{font-size:clamp(33px,4vw,52px);line-height:1.02;letter-spacing:-.045em;margin:18px 0}
.cinematic:not(.tour-linear) .project-exhibit .project-meta .project-index{font-size:10px;color:#8b7259;letter-spacing:1.1px}
.cinematic:not(.tour-linear) .project-exhibit .project-meta p{font-size:15px;color:#706254;line-height:1.6}
.cinematic:not(.tour-linear) .project-exhibit .project-icon{margin-top:24px;width:46px;height:46px;color:#714f2c;background:#fff7e8b0;border-color:#c5a67b66}
.cinematic:not(.tour-linear) .project-exhibit:has([data-project="netflix"]) .project-open,.cinematic:not(.tour-linear) .project-exhibit:has([data-project="sales"]) .project-open{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.cinematic:not(.tour-linear) .project-exhibit:has([data-project="netflix"]) .project-visual,.cinematic:not(.tour-linear) .project-exhibit:has([data-project="sales"]) .project-visual{order:2}
.cinematic:not(.tour-linear) .project-exhibit .visual-title{font-size:clamp(28px,3.5vw,43px)!important}
.cinematic:not(.tour-linear) .project-exhibit .project-art{gap:14px;padding:20px 0 0}
.cinematic:not(.tour-linear) .project-exhibit .map-panel{padding:9px}
.cinematic:not(.tour-linear) .project-exhibit .map-panel strong{font-size:14px}
.cinematic:not(.tour-linear) .project-exhibit .movie-type strong{font-size:23px}
.cinematic:not(.tour-linear) .tour-panel .portrait-label{background:#ad682d;color:#4b3521}
.cinematic:not(.tour-linear) .tour-panel .portrait-bottom{color:#493c31}
.cinematic:not(.tour-linear) .tour-panel .about-tags span,.cinematic:not(.tour-linear) .tour-panel .tags span{background:#fff2dba6;color:#745737;border-color:#c3a37a88}
.cinematic:not(.tour-linear) .tour-panel .timeline-meta,.cinematic:not(.tour-linear) .tour-panel .company{color:#88704c}
.cinematic:not(.tour-linear) .tour-panel .approach-grid p{color:#746657}
.cinematic:not(.tour-linear) .tour-panel .step-number{color:#ad682d}
.cinematic:not(.tour-linear) .tour-panel .approach-grid article{border-color:#c3a07977}
.cinematic:not(.tour-linear) .tour-panel .tool-panel{background:transparent;border:0;padding:18px 4px;box-shadow:none}
.cinematic:not(.tour-linear) .tour-panel .tool-panel h3{color:#363037;font-size:30px;text-shadow:0 2px 20px #fff9ee}
.cinematic:not(.tour-linear) .tour-panel .tool-panel p{color:#6b6057;text-shadow:0 2px 15px #fff9ee}
.cinematic:not(.tour-linear) .tour-panel .tool-tabs button{color:#827360;border-color:#c1a88377}
.cinematic:not(.tour-linear) .tour-panel .tool-tabs button[aria-selected=true]{color:#a36327}
.cinematic:not(.tour-linear) .tour-panel .tool-chips{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.cinematic:not(.tour-linear) .tour-panel .tool-chips span{display:flex;align-items:center;justify-content:center;min-height:48px;color:#493c31;background:linear-gradient(145deg,#fff8,var(--tool-key,#ffcf98))!important;border:1px solid #ae855d4d;box-shadow:0 4px 0 color-mix(in srgb,var(--tool-key,#ffcf98) 70%,#80684e);font-size:15px;padding:9px 12px;border-radius:9px;text-align:center;transition:transform .25s,box-shadow .25s}
.cinematic:not(.tour-linear) .tour-panel .tool-chips span:last-child{grid-column:1/-1}
.cinematic:not(.tour-linear) .tour-panel .tool-related{color:#8c765f!important}

/* The rail hands off to an actual native, full-width closing page. */
.cinematic:not(.tour-linear) .contact-stop{position:relative;pointer-events:auto;}
.cinematic:not(.tour-linear) .contact-stop{height:auto!important}
.cinematic:not(.tour-linear) .contact-final-page{position:absolute!important;inset:0;width:100%;height:100svh;max-height:none;max-width:none;margin:0!important;padding:125px var(--pad) 38px!important;border:0;border-radius:0;box-shadow:none;transform:none!important;opacity:1!important;display:flex;justify-content:flex-start;gap:0;background:radial-gradient(ellipse at 85% 15%,#f1bc6355,transparent 60%),linear-gradient(180deg,#fff1dcee,#fff6e7);color:#303139;overflow:visible;--ink:#303139;--muted:#6b6057}
.cinematic:not(.tour-linear) .contact-final-page{position:relative!important;inset:auto;width:100%;height:auto;min-height:100svh!important}
.cinematic:not(.tour-linear) .contact-final-page .contact-object-space{display:none!important}
.cinematic:not(.tour-linear) .contact-final-page .section-top{margin-bottom:30px;color:#8e7251}
.cinematic:not(.tour-linear) .contact-final-page h2{font-size:clamp(64px,8vw,115px);max-width:100%;line-height:1.03;letter-spacing:-.055em}
.cinematic:not(.tour-linear) .contact-final-page h2 em{color:#ac682d}
.cinematic:not(.tour-linear) .contact-final-page>p{max-width:650px;font-size:16px;color:#756552;margin:24px 0}
.cinematic:not(.tour-linear) .contact-final-page .contact-button{margin:10px 0 0;background:#f3ce79;color:#574025;box-shadow:0 5px 0 #bc8c40}
.cinematic:not(.tour-linear) .contact-final-page .contact-links{margin:30px 0 0;max-width:100%;gap:32px;font-size:14px;color:#755c41}
.cinematic:not(.tour-linear) .contact-final-page footer{margin-top:auto;padding-top:25px;color:#8d7458;border-color:#cba57477;width:100%;}
.contact-view .tour-navigation,.contact-view .scene-status{opacity:0;pointer-events:none;transition:opacity .2s}
.contact-view .tour-navigation{visibility:hidden}
.contact-view .tour-navigation .tour-actions,.contact-view .tour-navigation button{pointer-events:none}
.tour-linear #world{display:none}
.tour-linear .header{background:#f8f6f0!important;color:#262622!important}
.portal-core{opacity:var(--copy-opacity);background:none;text-shadow:none}
.portal-core svg{width:80%;height:80%;stroke:#a6682d;stroke-width:1.3;filter:drop-shadow(0 0 10px #eeb77133)}
.liquid-portal{background:radial-gradient(ellipse at 40% 30%,#ffdc9c18,transparent 60%);box-shadow:inset 0 0 80px #ffc97c12,0 0 100px #eab06314}
@media(max-width:900px){
 .cinematic:not(.tour-linear) .project-exhibit .project-open{gap:26px}
 .cinematic:not(.tour-linear) .project-exhibit .project-meta h3{font-size:36px}
 .cinematic:not(.tour-linear) .tour-panel .tool-panel h3{font-size:23px}
 .cinematic:not(.tour-linear) .tour-panel .tool-chips span{font-size:13px;min-height:42px}
}
@media(max-width:600px){
 .cinematic:not(.tour-linear) .tour-panel.work h2{font-size:clamp(51px,14vw,76px)}
 .cinematic:not(.tour-linear) .project-exhibit{padding:12px 4px!important}
 .cinematic:not(.tour-linear) .project-exhibit .exhibit-heading{margin-bottom:18px}
 .cinematic:not(.tour-linear) .project-exhibit .project-open,.cinematic:not(.tour-linear) .project-exhibit:has([data-project]) .project-open{display:flex;flex-direction:column;gap:0}
 .cinematic:not(.tour-linear) .project-exhibit .project-visual{order:0!important;width:100%;height:auto!important;flex:1;box-shadow:0 0 0 5px #fff4e1,0 16px 45px #8b592b30}
 .cinematic:not(.tour-linear) .project-exhibit .project-meta{width:100%;padding-top:18px;flex-direction:row;align-items:center}
 .cinematic:not(.tour-linear) .project-exhibit .project-meta h3{font-size:25px;margin:8px 0 5px}
 .cinematic:not(.tour-linear) .project-exhibit .project-meta p{font-size:12px}
 .cinematic:not(.tour-linear) .project-exhibit .project-meta .project-index{font-size:8px;letter-spacing:.7px}
 .cinematic:not(.tour-linear) .project-exhibit .project-icon{width:32px;height:32px;min-width:32px;margin-top:0}
 .cinematic:not(.tour-linear) .project-exhibit .visual-title{font-size:clamp(28px,9vw,41px)!important}
 .cinematic:not(.tour-linear) .project-exhibit .project-art{gap:14px;padding-top:13px}
 .cinematic:not(.tour-linear) .tour-panel .tool-panel{padding:10px 0}
 .cinematic:not(.tour-linear) .tour-panel .tool-panel h3{font-size:20px}
 .cinematic:not(.tour-linear) .tour-panel .tool-chips{gap:9px;margin:17px 0}
 .cinematic:not(.tour-linear) .tour-panel .tool-chips span{font-size:12px;min-height:38px;padding:8px 10px}
 .cinematic:not(.tour-linear) .contact-final-page{padding:130px 24px 32px!important}
 .cinematic:not(.tour-linear) .contact-final-page h2{font-size:clamp(48px,13vw,68px)}
 .cinematic:not(.tour-linear) .contact-final-page .section-top{margin-bottom:20px}
 .cinematic:not(.tour-linear) .contact-final-page>p{font-size:13px;margin:23px 0}
 .cinematic:not(.tour-linear) .contact-final-page .contact-links{font-size:12px;gap:18px;flex-wrap:wrap;margin-top:26px}
 .cinematic:not(.tour-linear) .contact-final-page footer{padding-top:18px;gap:12px;margin-top:auto}
}
@media(max-height:700px){
 .cinematic:not(.tour-linear) .contact-final-page{padding-top:110px!important;padding-bottom:25px!important}
 .cinematic:not(.tour-linear) .contact-final-page h2{font-size:clamp(43px,7vw,75px)}
 .cinematic:not(.tour-linear) .contact-final-page .section-top{margin-bottom:18px}
 .cinematic:not(.tour-linear) .contact-final-page>p{margin:15px 0;font-size:13px}
 .cinematic:not(.tour-linear) .contact-final-page .contact-links{margin-top:20px;gap:20px;font-size:12px}
 .cinematic:not(.tour-linear) .contact-final-page footer{padding-top:15px;font-size:8px}
 .cinematic:not(.tour-linear) .tour-panel .tool-chips{margin:14px 0;gap:8px}
 .cinematic:not(.tour-linear) .tour-panel .tool-chips span{min-height:36px;padding:7px 9px;font-size:12px}
}
@media(min-width:601px){.cinematic:not(.tour-linear) .tour-panel.hero .hero-bottom{bottom:12px}}
@media(max-width:360px){
 .cinematic:not(.tour-linear) .tour-panel.toolbox h2{font-size:28px}
 .cinematic:not(.tour-linear) .tour-panel .tool-panel{padding:6px 0}
 .cinematic:not(.tour-linear) .tour-panel .tool-panel h3{font-size:18px;margin-bottom:8px}
 .cinematic:not(.tour-linear) .tour-panel .tool-chips{gap:5px;margin:8px 0}
 .cinematic:not(.tour-linear) .tour-panel .tool-chips span{font-size:11px;min-height:28px;padding:5px 7px}
}
@media(max-height:700px) and (min-width:601px){
 .cinematic:not(.tour-linear) .tour-panel .tool-panel{padding:10px 4px}
 .cinematic:not(.tour-linear) .tour-panel .tool-chips{gap:6px;margin:12px 0}
 .cinematic:not(.tour-linear) .tour-panel .tool-chips span{min-height:32px;padding:6px 9px}
}


/* Living previews: movement belongs to their contents, not the CSS3D panel. */
.project-open{outline:none}
.project-open:focus-visible{outline:none}
.project-open:focus-visible .project-icon{outline:2px solid #667ba2;outline-offset:5px}
.project-visual{--tilt-x:0deg;--tilt-y:0deg;--art-x:0px;--art-y:0px;--shine-x:50%;--shine-y:50%;isolation:isolate;transform:perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s}
.project-open:hover .project-visual{transform:perspective(1200px) translateY(-5px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}
.project-visual::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--shine-x) var(--shine-y),#fff9 0%,#ffffff18 38%,transparent 65%);opacity:0;transition:opacity .5s;z-index:6;mix-blend-mode:soft-light}
.project-open:hover .project-visual::after,.project-open:focus-visible .project-visual::after{opacity:1}
.project-visual .visual-artwork{transform:translate3d(var(--art-x),var(--art-y),0);transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.project-icon{transition:transform .5s,background .4s,box-shadow .4s;color:#725332}
.project-open:hover .project-icon{transform:rotate(90deg);background:#ffe1a1!important;color:#684725!important;box-shadow:0 7px 22px #ba87482a}
.project-open:hover .model-flow i{animation:model-pulse 1.7s ease-in-out infinite}
.project-open:hover .model-flow i:nth-child(3){animation-delay:.2s}
.project-open:hover .model-flow i:nth-child(5){animation-delay:.4s}
.project-open:hover .detection-grid span{animation:model-pulse 2s ease-in-out infinite alternate}
.project-open:hover .crypto-chart i{animation:bar-breathe 2.5s ease-in-out infinite alternate;transform-origin:bottom}
.project-open:hover .crypto-chart i:nth-child(3n){animation-delay:.4s}
.project-open:hover .sensor-values div{animation:float-in-place 3s ease-in-out infinite}
.project-open:hover .sensor-values div:nth-child(2){animation-delay:.3s}
.project-open:hover .sensor-values div:nth-child(3){animation-delay:.6s}
.project-open:hover .movie-type:nth-child(2){transform:translateY(-6px) rotate(2deg)}
.tour-panel[aria-hidden=false] .product-map,.detail-artwork .product-map{animation:idea-float 6s ease-in-out infinite}
.tour-panel[aria-hidden=false] .movie-types,.detail-artwork .movie-types{animation:idea-float 7s ease-in-out infinite reverse}
.tour-panel[aria-hidden=false] .model-flow i,.detail-artwork .model-flow i{animation:model-pulse 2.8s ease-in-out infinite}
.tour-panel[aria-hidden=false] .model-flow i:nth-child(3),.detail-artwork .model-flow i:nth-child(3){animation-delay:.4s}
.tour-panel[aria-hidden=false] .model-flow i:nth-child(5),.detail-artwork .model-flow i:nth-child(5){animation-delay:.8s}
.detail-artwork .crypto-chart i{animation:bar-breathe 4s ease-in-out infinite alternate;transform-origin:bottom}
.movie-type,.sales-flow div{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.project-open:hover .sales-flow div:nth-of-type(2){transform:translateY(-8px)}
.visual-crypto{background:#f3cea6!important}.crypto-chart i{background:#b97b4e}.crypto-value{color:#946039}
.visual-iot{background:#f3d59b!important}
.sensor-values div{background:#77634d;color:#ffe4a3}.sensor-values span{background:#d0b885}
.mini-bars i{background:#edc07a}.detection-grid span{border-color:#b3caec}
.tour-panel .tool-tabs button:hover{color:#9b642f!important}
.tour-panel .about-tags span,.tour-panel .tags span{transition:transform .3s,background .3s}
.tour-panel .about-tags span:hover,.tour-panel .tags span:hover{transform:translateY(-3px);background:#ffe2a6!important}
.cinematic .scene-status{mix-blend-mode:normal}
.cinematic .scene-status .status-line{background:#ccad83}
.cinematic .scene-status .status-line i{background:#a06a35}
.cinematic:not(.tour-linear) .contact-final-page .wordmark{color:#41362c}
.cinematic:not(.tour-linear) .contact-final-page .wordmark span{color:#b87735}
.cinematic:not(.tour-linear) .tour-panel.hero .hero-bottom{color:#755e45}
.cinematic:not(.tour-linear) .tour-panel h1,.cinematic:not(.tour-linear) .tour-panel h2{filter:none}
.cinematic:not(.tour-linear) .tour-panel .tool-panel{background:radial-gradient(ellipse at 50% 48%,#fff7e8e6 35%,#fff7e800 80%)}

/* A full-page case study arrives through the same camera push as the preview. */
#project-dialog{inset:0;margin:0;width:100%;max-width:none;height:100svh;max-height:100svh;border-radius:0;background:transparent;color:#393237;overflow:auto;overscroll-behavior:contain;--ink:#393237;--muted:#776859;--line:#d9c5a9;scrollbar-color:#d2b892 #fff3e3}
#project-dialog::backdrop{background:#fff2ddab;backdrop-filter:blur(4px);animation:case-backdrop-in 1.1s ease both}
#project-dialog[data-phase=leaving]::backdrop{animation:case-backdrop-out .55s ease both}
.dialog-shell{min-height:100%;padding:32px clamp(24px,6vw,90px) 55px;background:radial-gradient(ellipse at var(--light-x,75%) var(--light-y,12%),#ffe4b7a6,transparent 36%),linear-gradient(145deg,#fffcf5f5,#fff0dff7);position:relative;isolation:isolate}
.dialog-close{float:none;position:sticky;top:24px;display:flex;margin-left:auto;background:#fff9edc9;backdrop-filter:blur(14px);border-color:#c8aa81;box-shadow:0 6px 25px #a57a3b15;color:#6c5037;transition:transform .3s,background .3s}
.dialog-close:hover{transform:translateY(-2px);background:#ffe1a4}
.detail-hero{min-height:580px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:70px;align-items:center;padding:40px 0 60px}
.detail-label{color:#a06b37;font-size:10px;letter-spacing:1.5px;margin:0 0 24px}
.detail-title{font-size:clamp(48px,6.2vw,86px);letter-spacing:-.055em;line-height:1.02;margin:0 0 24px;overflow-wrap:break-word;padding:0;clear:none}
.detail-summary{font-size:18px;color:#776859;line-height:1.7;max-width:580px}
.detail-scroll{display:inline-flex;gap:38px;align-items:center;font-size:12px;letter-spacing:.3px;margin-top:36px;border-bottom:1px solid #d0b18a;padding-bottom:12px}
.detail-scroll span{font-size:22px;transition:transform .35s}.detail-scroll:hover span{transform:translateY(4px)}
.detail-artwork.project-visual{height:auto;min-height:380px!important;width:100%;padding:25px;box-shadow:0 18px 0 #d7b99240,0 35px 80px #a56a3326;border:1px solid #fffc;container:project / inline-size;transform:rotate(2deg);border-radius:24px;transition:transform .7s}
.detail-artwork:hover{transform:rotate(0) translateY(-5px)}
.detail-artwork .project-art{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;padding:30px 0 5px;gap:24px}
.detail-artwork .visual-artwork{width:100%;grid-row:1;padding:8px 8px 16px}
.detail-artwork .visual-title{position:static;grid-row:2;font-size:clamp(30px,4vw,53px);max-width:100%;line-height:1}
.detail-artwork .map-panel-wide{display:none}.detail-artwork .product-map{padding:12px;gap:8px}
.detail-artwork .map-panel{padding:10px}.detail-artwork .map-panel strong{font-size:14px}
.detail-artwork .movie-type{min-height:180px}.detail-artwork .movie-type strong{font-size:25px}
.detail-artwork .crypto-chart{height:180px}.detail-artwork .sensor-values{min-height:180px}
.detail-facts{margin:0 0 40px;padding:28px 0;gap:35px;scroll-margin-top:80px}
.detail-facts small{color:#a06b37;letter-spacing:1.3px;font-size:9px}
.detail-facts span{font-size:14px}
.detail-body{gap:24px;align-items:stretch}
.detail-body article{padding:32px;background:linear-gradient(145deg,#fffdf6,#ffedd6);border:1px solid #e4cbaa;border-radius:20px;box-shadow:0 12px 40px #ad763b09;transition:transform .4s,box-shadow .4s}
.detail-body article:hover{transform:translateY(-4px);box-shadow:0 16px 40px #ad763b18}
.case-number{display:block;color:#a97642;font-size:9px;letter-spacing:1.5px;margin-bottom:25px}
.detail-body h3{font-size:27px}.detail-body p,.detail-body li{color:#776859;font-size:15px;line-height:1.85}
.detail-body li+li{margin-top:12px}
.detail-stack{margin:32px 0;gap:10px}.detail-stack span{background:#ffe4b1;border-color:#dfbd82;box-shadow:0 3px 0 #e7c897;transition:transform .3s}
.detail-stack span:nth-child(3n){background:#e2dcf6;border-color:#bcb0d5;box-shadow:0 3px 0 #c8bce3}
.detail-stack span:hover{transform:translateY(-3px) rotate(-2deg)}
.detail-links a{border-radius:30px;border-color:#c6a780;background:#fffaf0;transition:background .3s,transform .3s}
.detail-links a:hover{background:#ffe1a4;transform:translateY(-2px)}
.detail-disclosure{font-size:11px;line-height:1.7;max-width:750px;color:#9a8169;margin-top:25px}
.detail-next{padding-top:25px;margin-top:38px;gap:28px}.detail-next button{font-size:13px;color:#835b32;max-width:55%;transition:transform .3s}.detail-next button:hover{transform:translateX(3px)}
@keyframes model-pulse{50%{opacity:.6;transform:scale(.9)}}
@keyframes idea-float{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-4px)}}
@keyframes bar-breathe{to{transform:scaleY(.9);opacity:.75}}
@keyframes float-in-place{50%{transform:translateY(-5px)}}
@keyframes case-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes case-backdrop-out{from{opacity:1}to{opacity:0}}
@media(max-width:900px){.detail-hero{gap:30px;min-height:510px}.detail-artwork.project-visual{padding:20px;min-height:330px!important}.detail-title{font-size:55px}.detail-summary{font-size:16px}.detail-artwork .visual-caption{font-size:8px}}
@media(max-width:600px){
 .cinematic:not(.tour-linear) #tour-layer .tour-panel.toolbox,.cinematic:not(.tour-linear) #tour-layer .tour-panel.hero{background:radial-gradient(ellipse at 50% 43%,#fff8ece6 15%,#fff8ec88 60%,#fff8ec00 95%)!important}
 .cinematic:not(.tour-linear) .tour-panel .tool-panel{background:transparent}
 .dialog-shell{padding:20px 24px 35px}.dialog-close{top:15px;font-size:11px;padding:9px 14px}
 .detail-hero{grid-template-columns:1fr;gap:35px;padding:38px 0;min-height:0}.detail-title{font-size:clamp(37px,11vw,52px)}
 .detail-label{margin-bottom:20px;font-size:9px;max-width:none}.detail-summary{font-size:15px}.detail-scroll{margin-top:24px;font-size:11px}
 .detail-artwork.project-visual{min-height:330px!important;padding:20px}.detail-artwork .visual-title{font-size:36px}
 .detail-facts{grid-template-columns:1fr;gap:20px;margin-bottom:24px}.detail-facts span{font-size:13px}
 .detail-body{grid-template-columns:1fr;gap:18px}.detail-body article{padding:24px}.detail-body p,.detail-body li{font-size:14px}
 .detail-stack{gap:8px;margin:25px 0}.detail-stack span{font-size:10px;padding:8px 10px}.detail-links a{font-size:12px;padding:12px 14px}
 .detail-next button{font-size:11px}.case-number{margin-bottom:20px}
}
@media(max-width:360px){.dialog-shell{padding:18px}.detail-title{font-size:36px}.detail-artwork.project-visual{padding:16px}.detail-artwork .map-panel{padding:8px}.detail-artwork .visual-title{font-size:31px}.detail-artwork .visual-caption{font-size:7px;letter-spacing:.6px}}
.less-motion .project-visual,.less-motion .project-open:hover .project-visual{transform:none!important}
.less-motion .project-visual .visual-artwork{transform:none!important}
.less-motion .project-open *,.less-motion .detail-artwork,.less-motion .detail-artwork *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){#project-dialog::backdrop{animation:none}.project-open *,.detail-artwork,.detail-artwork *{animation:none!important;transition:none!important}}

/* The same warm identity continues in the normal reading and WebGL fallback. */
.tour-linear .tour-panel,.no-webgl .chapter{color:#393237;--ink:#393237;--muted:#796756;--accent:#a46b30;--line:#d8c0a0}
.tour-linear .tour-panel .tool-panel{background:#fff0d8;border-color:#d5b88e}
.tour-linear .tour-panel .tool-tabs button[aria-selected=true]{color:#a66b31}
.tour-linear .tour-panel .tool-panel p{color:#786756}
.tour-linear .contact,.no-webgl .contact{background:linear-gradient(145deg,#fff6e8,#ffebcb);color:#393237}
.tour-linear .contact-plate{background:#fff3df}
.tour-linear .contact h2 em,.no-webgl .contact h2 em{color:#a66b31}
.tour-linear .contact>p,.tour-linear .contact .eyebrow,.tour-linear .contact footer,.no-webgl .contact>p,.no-webgl .contact footer{color:#816b54}
.tour-linear .contact .wordmark,.no-webgl .contact .wordmark{color:#393237}
.tour-linear .contact .wordmark span,.no-webgl .contact .wordmark span{color:#a66b31}
.tour-linear .contact-button,.no-webgl .contact-button{background:#f4cf81;color:#5e4327;box-shadow:0 5px 0 #bc934f}

/* A composed closing page: invitation, tactile stationery, then contact routes. */
.contact .contact-composition{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(30px,5vw,100px);flex:1;width:100%;margin:8px 0 28px}
.cinematic:not(.tour-linear) .contact-final-page{padding:110px var(--pad) 28px!important}
.contact .contact-copy{min-width:0}
.contact .contact-copy h2{font-size:clamp(54px,5.5vw,100px);max-width:none!important;line-height:1.07}
.contact .contact-copy>p{font-size:15px;line-height:1.75;color:#7b6650;max-width:480px;margin:24px 0 22px}
.contact .contact-copy .contact-button{display:inline-flex;margin:0;font-size:14px;gap:38px;padding:16px 23px}
.contact .contact-illustration{--note-x:0px;--note-y:0px;--note-turn:0deg;position:relative;height:clamp(300px,29vw,455px);max-width:570px;width:100%;justify-self:center;perspective:1200px;isolation:isolate}
.hello-orbit{position:absolute;inset:0 5%;border:1px solid #bd945b33;border-radius:50%;transform:rotate(-22deg);background:radial-gradient(ellipse,#ffd89280,transparent 65%)}
.hello-orbit-two{inset:12% -3%;transform:rotate(24deg);background:none;border-style:dashed;border-color:#bd945b26}
.hello-sheet{position:absolute;left:18%;top:-12%;width:66%;height:88%;padding:clamp(20px,2.6vw,40px);background:linear-gradient(135deg,#fffdf7,#fff4df);box-shadow:0 18px 50px #a8713a23;border:1px solid #d8bd942b;transform:translate3d(var(--note-x),var(--note-y),0) rotate(calc(7deg + var(--note-turn)));transition:transform .65s cubic-bezier(.2,.8,.2,1);z-index:1;color:#4a3e31}
.note-caption{display:block;font-size:8px;letter-spacing:1.6px;color:#a1805b;margin-bottom:20px}
.hello-sheet strong{font:700 clamp(40px,4.3vw,74px)/.98 var(--sans);letter-spacing:-.05em;display:block}
.hello-sheet strong em{color:#b37434;font-weight:400}
.note-rule{display:block;width:100%;height:1px;background:#dbc3a0;margin-top:23px}

.hello-envelope{position:absolute;left:5%;right:5%;bottom:12%;height:48%;z-index:2;filter:drop-shadow(0 18px 20px #a3713c22);transform:translate3d(calc(var(--note-x) * -.3),calc(var(--note-y) * -.3),0) rotate(-6deg);transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.hello-envelope>svg{width:100%;height:100%;overflow:visible}
.envelope-stamp{position:absolute;right:9%;bottom:12%;width:66px;height:66px;border:1px solid #b98c4999;border-radius:50%;display:grid;place-content:center;text-align:center;font:600 22px var(--sans);color:#9f7237;transform:rotate(-8deg)}
.envelope-stamp>span{font:500 5px/1.4 var(--body);letter-spacing:.8px;margin-top:2px}
.hello-plane{position:absolute;right:-2%;top:5%;width:26%;height:auto;z-index:3;filter:drop-shadow(0 10px 12px #97653726);transform:translate3d(calc(var(--note-x) * -1.5),calc(var(--note-y) * -1.5),0) rotate(calc(-9deg - var(--note-turn)));transition:transform .75s cubic-bezier(.2,.8,.2,1)}
.hello-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:8px;letter-spacing:1.8px;color:#a3835d}
.contact .contact-links{display:grid!important;grid-template-columns:1.6fr 1fr 1fr;gap:0!important;width:100%;max-width:none!important;border-top:1px solid #d7b58a88;border-bottom:1px solid #d7b58a88;margin:0 0 26px!important}
.contact .contact-links a{min-width:0;position:relative;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:24px 42px 24px 0;font:500 clamp(17px,1.5vw,27px) var(--sans);letter-spacing:-.025em;border:0;transition:color .3s,background .3s}
.contact .contact-links a+a{border-left:1px solid #d7b58a66;padding-left:30px}
.contact .contact-links a::before{font:500 8px var(--body);letter-spacing:1.5px;color:#a18360}
.contact .contact-links .email-link::before{content:'DROP ME A LINE'}
.contact .contact-links a[href*="github"]::before{content:'CODE & CURIOSITY'}
.contact .contact-links a[href*="linkedin"]::before{content:'THE PROFESSIONAL SIDE'}
.contact .contact-links a::after{content:'↗';position:absolute;right:23px;bottom:25px;font-size:22px;color:#af804a;transition:transform .3s}
.contact .contact-links a:hover{color:#a36a30;background:#ffe2b126}
.contact .contact-links a:hover::after{transform:translate(3px,-3px)}
.contact footer{border-top:0!important;margin:0!important;padding-top:0!important;min-height:38px}
.contact .contact-back-top{display:inline-flex;align-items:center;justify-content:flex-end;min-height:44px;padding:10px 0;font-size:10px;color:#8a6d4f;margin-left:auto}
.contact footer .credit{font-size:8px;text-align:right}
.contact footer .wordmark{font-size:29px}
.less-motion .contact-illustration *{transform:none!important;transition:none!important}
@media(min-width:1600px){.contact .contact-copy>p{font-size:17px}.contact .contact-copy .contact-button{padding:20px 28px;font-size:16px}.contact .contact-composition{margin-bottom:36px}}
@media(max-width:900px){.contact .contact-composition{grid-template-columns:1.1fr .9fr;gap:22px}.contact .contact-copy h2{font-size:clamp(43px,5.3vw,58px)}.contact .contact-copy>p{font-size:13px}.contact .contact-illustration{height:300px}.contact .contact-links a{font-size:16px;padding-right:25px}.contact .contact-links a+a{padding-left:20px}.contact .contact-links a::after{right:8px;font-size:18px}.envelope-stamp{width:48px;height:48px;font-size:18px}}
@media(max-width:650px){
 .cinematic:not(.tour-linear) .contact-final-page{padding:125px 24px 25px!important}
 .contact .contact-composition{grid-template-columns:1fr;gap:22px;margin:8px 0 28px;flex:none}
 .contact .contact-copy h2{font-size:clamp(43px,9.2vw,60px)}.contact .contact-copy>p{font-size:13px;margin:20px 0}
 .contact .contact-copy .contact-button{padding:14px 20px;font-size:13px}
 .contact .contact-illustration{max-width:350px;height:280px}
 .hello-sheet{padding:22px}.hello-sheet strong{font-size:45px}.note-caption{font-size:7px;margin-bottom:17px}
 .contact .contact-links{grid-template-columns:1fr 1fr;margin-bottom:24px!important}
 .contact .contact-links .email-link{grid-column:1/-1;font-size:clamp(15px,4.1vw,21px);padding:20px 35px 20px 0;border-bottom:1px solid #d7b58a66}
 .contact .contact-links a+a{padding:20px 30px 20px 0;border-left:0}.contact .contact-links a:last-child{border-left:1px solid #d7b58a66;padding-left:20px}
 .contact .contact-links a{font-size:19px}.contact .contact-links a::after{right:10px;bottom:20px}.contact .contact-links a::before{font-size:7px;letter-spacing:1px}
 .contact footer{flex-wrap:wrap;gap:12px!important}.contact footer>span:nth-child(2){font-size:8px}.contact .contact-back-top{font-size:9px}.contact footer .credit{width:100%;text-align:left;font-size:7px}
}
@media(max-height:700px) and (min-width:651px){.cinematic:not(.tour-linear) .contact-final-page{padding-top:100px!important}.contact .contact-illustration{height:275px}.contact .contact-copy h2{font-size:clamp(42px,5.2vw,66px)}.contact .contact-copy>p{margin:16px 0;font-size:13px}.contact .contact-composition{margin:0 0 18px}.contact .contact-links a{padding-top:16px;padding-bottom:16px}.contact .contact-links a::after{bottom:18px}.contact .contact-links{margin-bottom:18px!important}.hello-sheet strong{font-size:44px}.note-caption{margin-bottom:15px}.note-rule{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.contact-illustration *{transition:none!important}}
.contact{--contact-title-size:clamp(54px,5.5vw,100px)}
.cinematic:not(.tour-linear) .contact-final-page .contact-copy h2{font-size:var(--contact-title-size)}
@media(max-width:900px){.contact{--contact-title-size:clamp(43px,5.3vw,58px)}}
@media(max-width:650px){.contact{--contact-title-size:clamp(43px,9.2vw,60px)}}
@media(max-height:700px) and (min-width:651px){.contact{--contact-title-size:clamp(42px,5.2vw,66px)}}


.hello-orbits{position:absolute;inset:0;overflow:clip;z-index:0;pointer-events:none}
@media (min-width:651px) and (max-width:900px){
 .tour-panel.hero .hero-description{position:absolute;top:110px;right:8px;margin:0;max-width:200px;font-size:11px;line-height:1.65;text-align:right}
}
@media(max-width:650px){.contact .contact-illustration{margin-top:35px}}

/* Reserve real layout space for the headline and keyboard at every height. */
.cinematic:not(.tour-linear) .tour-panel.hero{display:flex;flex-direction:column}
.cinematic:not(.tour-linear) .tour-panel.hero .hero-top,.cinematic:not(.tour-linear) .tour-panel.hero h1{flex-shrink:0}
.cinematic:not(.tour-linear) .tour-panel.hero .keyboard-space{position:relative;inset:auto;flex:1;min-height:90px;max-height:340px;height:auto!important;margin:14px auto 8px}
.cinematic:not(.tour-linear) .tour-panel.hero .hero-bottom{position:relative;inset:auto;flex-shrink:0;margin-top:auto}
@media(max-width:650px){.cinematic:not(.tour-linear) .tour-panel.hero .hero-description{position:relative;inset:auto;flex-shrink:0}}

.cinematic:not(.tour-linear) .tool-chips span:nth-child(5n+1){--tool-key:#ffcf98}
.cinematic:not(.tour-linear) .tool-chips span:nth-child(5n+2){--tool-key:#c8d1ff}
.cinematic:not(.tour-linear) .tool-chips span:nth-child(5n+3){--tool-key:#ffe49b}
.cinematic:not(.tour-linear) .tool-chips span:nth-child(5n+4){--tool-key:#e4c9f5}
.cinematic:not(.tour-linear) .tool-chips span:nth-child(5n){--tool-key:#ffc9b0}
@media(hover:hover){.cinematic:not(.tour-linear) .tool-chips span:hover{transform:translateY(-2px);box-shadow:0 6px 0 color-mix(in srgb,var(--tool-key,#ffcf98) 70%,#80684e)}}
.less-motion .tool-chips span{transition:none!important}

/* Keep the phone headline readable without bleaching the 3D keys below it. */
@media(max-width:600px){
 .cinematic:not(.tour-linear) #tour-layer .tour-panel.hero{background:linear-gradient(180deg,#fff8ecf0,#fff8ecb8 38%,#fff8ec00 54%)!important}
}

@media(min-width:651px){.hello-sheet{top:0}}
@media(min-width:651px){.hello-sheet strong{font-size:clamp(40px,3.6vw,66px)}}
