/* The world is the website. Supporting depth opens within the scene. */
.immersive-world { --world-ink:#303a39; --world-gold:#815a23; --world-air:#f4eddc; }
.immersive-world [hidden]{display:none!important}
/* Familiar pointer behavior; warmth belongs to the control being hovered. */
@media(hover:hover) and (pointer:fine){
 .immersive-world :is(.threshold-nav button,.threshold-story,#ambient-toggle,#hud .hud-nav>button,.transport button,#hud-sound){transition:color .18s ease}
 .immersive-world :is(.threshold-nav button,.threshold-story,#ambient-toggle,#hud .hud-nav>button,.transport button,#hud-sound):hover{color:var(--world-gold)}
 .immersive-world.on-dark :is(#hud .hud-nav>button,.transport button,#hud-sound):hover{color:#ebcd94}
}
.immersive-world:has(dialog[open]){overflow:hidden}
.immersive-world :is(a,button,input):focus-visible{outline:2px solid var(--world-gold);outline-offset:5px}
#door.world-threshold{display:block;height:100svh;padding:0;background:var(--world-air);--edge:clamp(24px,3.6vw,70px)}
.world-threshold .threshold-world{position:absolute;inset:0;z-index:-2;margin:0;mask-image:none;background-image:var(--world-poster);background-position:center;background-size:cover;transform:scale(calc(1.015 + var(--dz,0)*.045)) translate(calc(var(--world-x,0)*.5px),calc(var(--world-y,0)*.5px))}
.world-threshold .threshold-world::after{background:linear-gradient(180deg,rgba(250,244,227,.25),transparent 23%,transparent 66%,rgba(244,237,220,.85) 91%,rgba(244,237,220,.96))}
.world-threshold #door-ambient{object-fit:cover;object-position:center}
.world-threshold .threshold-header{position:absolute;top:0;left:var(--edge);right:var(--edge);height:100px;grid-row:auto}
.world-threshold .threshold-nav{gap:28px}.world-threshold .threshold-nav button{font-size:11px;gap:13px;border:0}
.world-threshold .threshold-copy{position:absolute;top:auto;bottom:122px;left:var(--edge);right:var(--edge);width:auto;transform:none;display:block}
.world-threshold .threshold-kicker{position:fixed;top:103px;left:var(--edge);display:flex;margin:0;font-size:9px;letter-spacing:.05em}
.world-threshold #door-title{font-size:clamp(40px,4.6vw,74px);line-height:1.08;letter-spacing:-.03em;max-width:none;text-wrap:balance;margin:0}
.world-threshold #door-title>span{display:inline}.world-threshold #door-title>span::after{content:none}
.world-threshold .threshold-message{position:fixed;top:109px;right:var(--edge);left:auto;margin:0;max-width:252px;text-align:right;animation:none}
.world-threshold .threshold-lead{font-size:12px;line-height:1.7;margin:0 0 12px;font-weight:500}
.world-threshold .threshold-description{font-size:11px;line-height:1.85;max-width:none}
.world-threshold .threshold-actions{position:fixed;left:var(--edge);bottom:29px;margin:0;gap:28px;flex-wrap:nowrap}
.world-threshold #door-play svg{width:40px;height:40px}.world-threshold #door-play{min-height:50px;gap:12px}.world-threshold #door-play .play-copy b{font-size:11px}.world-threshold #door-play .play-copy i{font-size:7px;margin-top:5px}
.world-threshold .threshold-story{font-size:10px}.world-threshold .threshold-proof{display:none}
.world-threshold .threshold-footer{position:fixed;bottom:23px;left:auto;right:var(--edge);height:55px;width:auto;max-width:47%;border:0;gap:26px;display:flex}
.world-threshold .threshold-edition{display:none}.world-threshold .threshold-scroll{font-size:8px;gap:12px}.world-threshold #ambient-toggle{font-size:8px;min-height:44px}
.immersive-world #hud .hud-top{padding:28px var(--rail);align-items:center}
.immersive-world #hud[inert]{opacity:0!important}
.immersive-world #cards{transition:opacity .2s linear}
.immersive-world:has(#door:not(.passed)) #cards{opacity:0}
.immersive-world #hud .hud-nav>button{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:10px 0;border:0;background:none;color:inherit;font:500 11px/1.5 'IBM Plex Mono',monospace;cursor:pointer;letter-spacing:.02em}
.immersive-world .card{background:linear-gradient(90deg,rgba(247,242,230,.95),rgba(247,242,230,.78));border:0;box-shadow:none;max-width:330px;bottom:19vh}
.immersive-world .card b{font-size:20px;line-height:1.4;font-weight:500}.immersive-world .card em{font-size:11px;line-height:1.85}.immersive-world .card i{color:var(--world-gold);letter-spacing:.06em}
.immersive-world #world-context{position:fixed;z-index:45;right:var(--rail);bottom:111px;min-height:44px;padding:10px 0;border:0;border-bottom:1px solid rgba(100,80,40,.3);color:var(--world-ink);background:transparent;font:500 10px/1.6 'IBM Plex Mono',monospace;cursor:pointer;display:flex;gap:25px;align-items:center}
.immersive-world #world-context>span{font-size:17px}
.immersive-world .world-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(690px,100vw);height:100svh;max-height:100svh;max-width:100vw;border:0;padding:26px 48px 30px;background:rgba(248,243,230,.97);color:var(--world-ink);overflow-y:auto;overscroll-behavior:contain}
.world-dialog::backdrop{background:rgba(244,237,220,.18);backdrop-filter:blur(3px)}
.world-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;font-size:9px;letter-spacing:.06em}
.world-dialog-head button{display:flex;align-items:center;gap:16px;min-height:44px;padding:0;border:0;background:none;color:inherit;font:400 10px 'IBM Plex Mono',monospace;cursor:pointer}.world-dialog-head button span{font-size:24px}
.world-tabs{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid rgba(101,87,60,.2);border-bottom:1px solid rgba(101,87,60,.2);margin-bottom:44px}
.world-tabs button{background:none;border:0;border-bottom:1px solid transparent;min-height:54px;padding:10px 0;font:400 10px/1.5 'IBM Plex Mono',monospace;color:inherit;cursor:pointer}
.world-tabs button[aria-selected=true]{color:var(--world-gold);border-bottom-color:currentColor;font-weight:500}
.world-panel{outline:none}.world-panel .world-caption{font-size:9px;letter-spacing:.04em;color:var(--world-gold);margin:0 0 22px}
.world-panel h2{font:500 clamp(31px,3.4vw,48px)/1.15 Cinzel,serif;letter-spacing:-.025em;margin:0 0 32px;text-wrap:balance}.world-panel h2 em{font-style:normal;color:var(--world-gold)}
.world-panel p{font:400 13px/1.9 'IBM Plex Mono',monospace;margin:0 0 22px;max-width:60ch;text-wrap:pretty}.world-panel .world-lead{font-size:16px;line-height:1.8;margin-bottom:28px}
.world-link{display:flex;align-items:center;justify-content:space-between;gap:20px;width:fit-content;min-height:48px;padding:10px 0;margin-top:30px;border:0;border-bottom:1px solid var(--world-gold);color:var(--world-ink);background:none;font:500 12px/1.5 'IBM Plex Mono',monospace;text-decoration:none;cursor:pointer}.world-link span{font-size:19px}.world-link.secondary{font-size:10px;border:0;margin-top:15px;font-weight:400}
.world-panel .world-stage{font-size:9px;color:#69614d;letter-spacing:.03em;margin:35px 0 0}
.world-gates{margin:28px 0}.world-gates>div{padding:20px 0;border-top:1px solid rgba(101,87,60,.2)}.world-gates dt{font:500 12px/1.7 'IBM Plex Mono',monospace;margin-bottom:12px}.world-gates dd{font:400 12px/1.9 'IBM Plex Mono',monospace;margin:0}
.world-request{margin:30px 0;padding:26px 0;border-top:1px solid rgba(101,87,60,.2);border-bottom:1px solid rgba(101,87,60,.2)}.world-request figcaption{font:400 8px/1.7 'IBM Plex Mono',monospace;letter-spacing:.03em;color:#665936}.world-request blockquote{font:500 29px/1.4 Cinzel,serif;letter-spacing:-.02em;margin:18px 0 24px;color:var(--world-gold)}
.world-cases{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:25px}.world-cases button{font:400 9px/1.6 'IBM Plex Mono',monospace;color:var(--world-ink);padding:10px 12px;min-height:44px;border:1px solid rgba(101,87,60,.25);background:none;cursor:pointer}.world-cases button[aria-pressed=true]{border-color:var(--world-gold);color:var(--world-gold);background:rgba(170,128,57,.06)}
.world-result b{display:block;font:500 15px/1.7 'IBM Plex Mono',monospace;margin-bottom:10px}.world-result p{font-size:12px;margin-bottom:15px}.world-request .world-demo-note{font-size:9px;line-height:1.8;margin:0;color:#5a5b51}
.world-dialog-foot{display:flex;flex-wrap:wrap;gap:24px;margin-top:50px;padding-top:20px;border-top:1px solid rgba(101,87,60,.2)}.world-dialog-foot a{display:inline-flex;align-items:center;min-height:44px;font-size:10px;color:inherit;text-decoration:none}
.world-final-links{display:flex;justify-content:center;gap:25px;margin:22px 0 4px}.world-final-links button{min-height:44px;border:0;border-bottom:1px solid rgba(101,87,60,.25);background:none;color:var(--world-ink);font:400 10px/1.5 'IBM Plex Mono',monospace;padding:10px 0;cursor:pointer}
.immersive-world #seal .seal-head{margin-top:15vh}.immersive-world #seal .seal-act{margin-bottom:3vh}.immersive-world #seal .seal-count{font-size:clamp(36px,4.5vw,64px)}
@media(max-width:1200px) and (orientation:portrait){
 #door.world-threshold{--edge:24px;display:block;padding:0;height:100svh}.world-threshold .threshold-world{position:absolute;inset:0;margin:0;background-image:var(--portrait-poster);background-position:center;mask-image:none;grid-row:auto}
 .world-threshold .threshold-world::after{background:linear-gradient(180deg,rgba(250,244,227,.62),transparent 28%,transparent 66%,rgba(244,237,220,.88) 92%,rgba(244,237,220,.95))}
 .world-threshold #door-ambient{object-position:center}.world-threshold .threshold-header{height:70px}.world-threshold .threshold-nav{gap:22px}.world-threshold .threshold-nav button{font-size:9px;gap:10px}.world-threshold .threshold-nav button:nth-child(2){display:none}
 .world-threshold .threshold-copy{left:24px;right:24px;top:auto;bottom:112px;width:auto;transform:none;display:block}.world-threshold #door-title{font-size:clamp(29px,8.4vw,54px);line-height:1.12;max-width:17ch;margin:0;grid-row:auto}
 .world-threshold .threshold-kicker{display:block;top:85px;font-size:8px;letter-spacing:.015em}.world-threshold .threshold-kicker>span{display:none}
 .world-threshold .threshold-message{top:112px;left:24px;right:24px;max-width:370px;text-align:left;grid-row:auto}.world-threshold .threshold-lead{font-size:11px;margin:0}.world-threshold .threshold-description{display:none}
 .world-threshold .threshold-actions{left:24px;bottom:40px;gap:20px;grid-row:auto}.world-threshold #door-play svg{width:33px;height:33px}.world-threshold #door-play .play-copy b{font-size:10px}.world-threshold #door-play .play-copy i{display:none}.world-threshold .threshold-story{display:none}
 .world-threshold .threshold-footer{right:24px;left:auto;bottom:40px;height:44px;max-width:48%;gap:12px;grid-row:auto}.world-threshold #ambient-toggle{font-size:7px}.world-threshold .threshold-scroll{font-size:7px;gap:8px}.world-threshold .threshold-scroll .scroll-stroke{height:17px}
 .immersive-world #hud .hud-top{padding:18px 24px}.immersive-world #hud .hud-nav{gap:20px}.immersive-world #hud .hud-nav>button{font-size:9px}.immersive-world #hud .hud-nav>button:nth-child(2){display:none}
 .immersive-world .card{width:calc(100vw - 48px);max-width:390px;left:24px;right:auto;bottom:140px;padding:18px 20px}.immersive-world .card b{font-size:18px}.immersive-world .card em{font-size:11px}
 .immersive-world #world-context{right:24px;bottom:84px;font-size:9px;gap:20px}.immersive-world .world-dialog{padding:16px 24px 24px;width:100vw;max-width:100vw}.world-dialog-head{margin-bottom:16px}.world-dialog-head button{font-size:9px;gap:12px}.world-tabs{gap:8px;margin-bottom:30px}.world-tabs button{font-size:9px;min-height:49px}.world-panel h2{font-size:34px;margin-bottom:25px}.world-panel p{font-size:12px;line-height:1.9}.world-panel .world-lead{font-size:15px}.world-panel .world-caption{font-size:8px;margin-bottom:18px}.world-gates dt,.world-gates dd{font-size:12px}.world-link{font-size:11px}.world-request blockquote{font-size:26px}.world-cases{gap:7px}.world-cases button{font-size:8px;padding:10px 8px}.world-result b{font-size:13px}.world-result p{font-size:11px}.world-final-links{gap:22px;margin-top:16px}.world-final-links button{font-size:9px}.world-dialog-foot{gap:20px;margin-top:35px}
 .immersive-world #seal .seal-head{margin-top:12vh}.immersive-world #seal .seal-count{font-size:38px}.immersive-world #seal .seal-kicker{font-size:8px;max-width:33ch;margin-inline:auto;line-height:1.8}.immersive-world #seal .seal-act{margin-bottom:2vh}.immersive-world #seal .seal-line{font-size:11px;margin-bottom:15px}.immersive-world #seal #claim-seal{min-height:48px;padding:12px 20px;min-width:240px}.immersive-world #seal .seal-legal{margin-top:5px}
}
@media(max-width:360px){.world-threshold #door-title{font-size:28px}.world-threshold .threshold-nav button{font-size:8px}.world-threshold .threshold-message{top:108px}.world-threshold .threshold-lead{font-size:10px}.world-threshold .threshold-actions,.world-threshold .threshold-footer{bottom:23px}.world-threshold .threshold-copy{bottom:87px}.world-threshold #ambient-toggle{display:none}.world-panel h2{font-size:30px}.world-tabs button{font-size:8px}.world-cases button{font-size:8px;padding:9px 6px}.world-final-links{gap:17px}.immersive-world #seal .seal-count{font-size:31px}.immersive-world #seal .seal-head{margin-top:12vh}.immersive-world #seal .seal-act{margin-bottom:0}.immersive-world #seal .seal-line{font-size:10px}.immersive-world #seal #claim-seal{font-size:10px}.world-final-links{margin-top:8px}.world-final-links button{font-size:8px}}
@media(max-height:600px) and (orientation:landscape){.world-threshold .threshold-header{height:67px}.world-threshold .threshold-kicker{top:77px;font-size:7px}.world-threshold .threshold-message{top:88px;max-width:185px}.world-threshold .threshold-lead{font-size:10px}.world-threshold .threshold-description{font-size:9px}.world-threshold .threshold-copy{bottom:92px;top:auto;width:auto;transform:none}.world-threshold #door-title{font-size:40px}.world-threshold .threshold-actions{bottom:22px}.world-threshold .threshold-footer{bottom:20px}.world-threshold .threshold-world{inset:0;mask-image:none}.immersive-world #seal{overflow-y:auto}.immersive-world #seal .seal-head{margin-top:85px}.immersive-world #seal .seal-act{position:relative;margin-top:70px;margin-bottom:20px}.immersive-world #seal .seal-count{font-size:34px}}
@media(prefers-reduced-motion:reduce){.world-threshold .threshold-world{transform:none}.world-dialog::backdrop{backdrop-filter:none}.world-threshold #door-title{animation:none}}
/* The type sits in the foreground, with the figures left unobstructed. */
@media(min-width:761px) and (min-height:601px) and (orientation:landscape){.world-threshold #door-title{max-width:8ch;font-size:clamp(38px,3.4vw,55px);line-height:1.12}.world-threshold #door-title>span{display:block}.world-threshold .threshold-copy{bottom:129px}}
@media(max-width:1200px) and (orientation:portrait){.world-threshold .threshold-world{background-color:var(--world-air);background-size:auto 86%;background-repeat:no-repeat;background-position:center top}.world-threshold #door-ambient{height:86%;object-position:center top}.world-threshold .threshold-world::after{background:linear-gradient(180deg,rgba(250,244,227,.4),transparent 25%,transparent 65%,rgba(244,237,220,.45) 76%,var(--world-air) 87%)}.world-threshold #door-title>span{display:inline}}
@media(max-height:650px) and (max-width:760px){.world-threshold .threshold-message{display:none}.world-threshold .threshold-kicker{top:80px}.world-threshold .threshold-copy{bottom:95px}}
.immersive-world .world-dialog{background:#f8f3e6}
.immersive-world.on-dark .card{background:rgba(247,242,230,.95);color:var(--world-ink)}.immersive-world.on-dark .card :is(b,em){color:var(--world-ink)}
.immersive-world.on-dark .card i{color:var(--world-gold)}
.immersive-world.on-dark #hud .hud-nav>button,.immersive-world.on-dark #world-context{color:#f8f3e6}
.immersive-world.on-dark #world-context{border-color:rgba(248,243,230,.5)}
.immersive-world #seal #claim-seal.sealed,.immersive-world #seal #claim-seal.sealed:hover{background:transparent;color:var(--world-gold)}
/* A wider portrait master keeps full figures in every phone viewport. */
@media(max-width:1200px) and (orientation:portrait){
 .world-threshold .threshold-world{background-image:none}
 .world-threshold .threshold-world::before{content:"";position:absolute;inset:0 0 14%;background:var(--portrait-poster) center/cover no-repeat}
 .world-threshold #door-ambient{object-position:center}
}
@media(max-height:600px) and (orientation:landscape){
 .world-threshold #door-title{font-size:30px;max-width:8ch;line-height:1.08}
 .world-threshold #door-title>span{display:block}
}
@media(max-width:1200px) and (orientation:portrait){
 .world-threshold .threshold-world::before{bottom:19%}
 .world-threshold #door-ambient{height:81%}
 .world-threshold .threshold-world::after{background:linear-gradient(180deg,rgba(250,244,227,.4),transparent 25%,transparent 59%,rgba(244,237,220,.65) 70%,var(--world-air) 76%)}
}
