/* Second direction: studio mark first, one supporting typeface, real game assets. */
em,.handwritten,.small-note,footer p,.game-overlay h3{font-family:inherit;font-style:normal}
.topbar{font-size:15px;letter-spacing:0;padding:30px 5%}.topbar nav{font-size:15px;gap:36px}.topbar nav a{border:0}.home-link{color:#d2d5cf}
.hero{height:100svh;min-height:740px;max-height:1100px}.hero-scene{background:linear-gradient(#11171885,#111718b5),url('assets/08-bg-crypt.webp') center/cover;filter:saturate(.4)}
.hero-layout{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:0;padding:70px 20px 45px;height:100%}
.hero h1{margin:0;line-height:1;font-size:inherit;letter-spacing:0}.hero-logo{display:block;width:min(640px,65svh);max-width:80vw;height:auto}.hero-message{font-size:28px;line-height:1.3;margin:0 0 28px;font-weight:400;color:var(--cream)}.hero-enter{font-size:16px;padding:10px;border-bottom:1px solid #ffffff50}
.first-game{font-size:19px;color:#aab8ae;letter-spacing:0;margin:0 0 14px}.world-heading{margin:10px 0 35px}.world-heading h2{font-size:clamp(48px,7vw,96px)}.world-heading>p{font-size:15px}.world-section{padding-top:85px;padding-bottom:75px}
.character-showcase{display:grid;grid-template-columns:1.5fr 1fr;gap:4%;align-items:center;margin:0 0 55px}.character-stage{position:relative;min-width:0;height:620px;background:radial-gradient(ellipse at 50% 45%,#46534b45,transparent 67%);border-bottom:1px solid #ffffff25}
.character-stage:after{content:'';position:absolute;bottom:82px;left:28%;width:44%;height:30px;background:#0008;filter:blur(14px);border-radius:50%;pointer-events:none}
#model-canvas{position:absolute;inset:0 0 55px;touch-action:pan-y;cursor:grab;z-index:1}#model-canvas:active{cursor:grabbing;touch-action:none}#model-canvas canvas{width:100%;height:100%;touch-action:none}#model-canvas:focus-visible{outline:1px solid var(--teal);outline-offset:-1px}
#model-status{position:absolute;left:0;top:40%;width:100%;text-align:center;color:#c6cfc6;font-size:16px;pointer-events:none}#model-status[hidden]{display:none}
.model-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:14px;padding:12px;font-size:14px;color:#bac4bc}.model-controls button{background:transparent;border:0;color:var(--cream);min-width:40px;min-height:38px;font-size:18px}.model-controls #model-reset{font-size:13px;border-left:1px solid #ffffff30;padding-left:16px}
.character-copy{padding:20px}.character-copy h3{font-size:40px;font-weight:500;letter-spacing:-1px;margin-bottom:20px}.character-copy p{font-size:18px;color:#b9c3bc;max-width:350px}.character-copy p:first-of-type{font-size:26px;color:var(--cream);line-height:1.4;margin-bottom:25px}.character-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.model-pose{background:transparent;border:1px solid #ffffff30;padding:12px 15px;font-size:14px}.model-pose.active{background:#e5e7da;color:#151915;border-color:#e5e7da}
.game-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gallery-shot{padding:0;border:0;background:#101413;overflow:hidden;cursor:zoom-in}.gallery-shot img{display:block;width:100%;height:auto;transition:transform .4s}.gallery-shot:hover img{transform:scale(1.025)}.gallery-wide{grid-column:1/-1}.gallery-caption{font-size:14px;color:#a8b3ab;margin:15px 0 0}.world-detail{padding:45px 0 0}.world-detail p{font-size:17px}.world-detail h3{font-size:34px}.text-link{font-size:16px}
.manifesto{padding:85px 8%;background:#eee9df}.manifesto-body{max-width:1100px;margin:0 auto;padding:0}.manifesto h2{font-size:clamp(38px,4.7vw,65px);font-weight:500;letter-spacing:-2px;margin:0 0 35px}.manifesto-columns{font-size:18px;max-width:none;gap:60px}.manifesto-columns p{margin-bottom:0}
.arcade-section{padding-top:60px}.arcade-heading{padding-top:15px;gap:45px}.arcade-heading h2{max-width:550px;font-size:clamp(36px,4.5vw,60px);font-weight:500}.arcade-heading p{font-size:16px;max-width:360px}.game-overlay .eyebrow{display:none}.game-overlay h3{font-size:clamp(28px,4vw,52px);font-weight:500;letter-spacing:-1.5px}.game-overlay .game-fine{font-size:13px;letter-spacing:0}.game-toolbar>span{font-size:12px;letter-spacing:0}.controls{font-size:11px;letter-spacing:0}.arcade-footnote{font-size:14px}.closing h2{font-size:clamp(36px,4.5vw,60px)}.closing p{font-size:18px}.closing{padding:85px 15%}.button{font-size:15px}.closing .button{margin-top:10px}footer p{font-size:25px}footer span,footer>a{font-size:12px;letter-spacing:0}
#gallery-dialog{padding:55px 20px 15px;border:1px solid #ffffff30;background:#141917;color:var(--cream);max-width:min(1300px,94vw);max-height:95svh}#gallery-dialog::backdrop{background:#090c0bf0}#gallery-dialog img{display:block;max-width:100%;max-height:74svh;object-fit:contain;margin:auto}#gallery-dialog p{font-size:16px;margin:15px 0 0}#gallery-close{position:absolute;right:15px;top:10px;padding:8px 14px;background:transparent;border:0;font-size:16px}
@media(max-width:850px){.character-showcase{grid-template-columns:1.25fr 1fr;gap:0}.character-stage{height:540px}.character-copy{padding:10px}.character-copy h3{font-size:32px}.character-copy p{font-size:16px}.character-copy p:first-of-type{font-size:22px}.hero-logo{width:min(600px,65svh)}.arcade-heading h2{font-size:40px}.arcade-heading p{font-size:15px}}
@media(max-width:600px){.topbar{font-size:13px;padding:24px 7%}.topbar nav{font-size:14px}.topbar nav a:not(.nav-play){display:none}.hero{min-height:680px;max-height:900px;height:100svh}.hero-layout{padding:65px 10px 40px;gap:0}.hero h1{margin:0}.hero-logo{width:92vw;max-width:390px}.hero-message{font-size:25px;margin:12px 0 25px}.hero-enter{font-size:16px}.world-section{padding:55px 6%}.first-game{font-size:18px}.world-heading{margin:0 0 5px}.world-heading h2{font-size:52px}.world-heading>p{display:none}.character-showcase{display:flex;flex-direction:column;gap:20px;margin-bottom:35px}.character-stage{height:510px;width:100%}.character-copy{width:100%;padding:0}.character-copy h3{font-size:32px}.character-copy p{font-size:17px;max-width:none}.character-copy p:first-of-type{font-size:23px}.character-actions{margin-top:22px}.model-controls{gap:8px;font-size:13px;padding:10px 0}.model-controls #model-reset{padding-left:10px;font-size:12px}.game-gallery{gap:12px;grid-template-columns:1fr}.gallery-wide{grid-column:auto}.gallery-caption{font-size:13px}.world-detail{gap:8px;padding-top:30px}.world-detail h3{font-size:29px}.world-detail p{font-size:17px}.manifesto{padding:55px 7%}.manifesto h2{font-size:39px;letter-spacing:-1.5px}.manifesto-columns{font-size:17px;gap:18px}.arcade-section{padding-top:40px}.arcade-heading{padding-top:0}.arcade-heading h2{font-size:38px;max-width:320px}.arcade-heading p{font-size:16px}.game-overlay h3{font-size:28px}.game-overlay .game-fine{font-size:11px}.game-toolbar>span{font-size:10px}.arcade-footnote{font-size:13px}.closing{padding:55px 7%}.closing h2{font-size:38px}.closing p{font-size:17px}footer{gap:10px}footer img{width:220px;height:220px}}
@media(prefers-reduced-motion:reduce){.gallery-shot img{transition:none}}

.world-heading>div{min-width:0;flex:1}.world-heading .game-title{line-height:1;margin:0}.game-logo{display:block;width:min(850px,100%);height:auto}.world-heading>p{flex-shrink:0}@media(max-width:600px){.game-logo{width:100%}}

/* A forest environment behind the live, transparent 3D viewer. */
.character-showcase{position:relative;isolation:isolate;background:#111b19 url('assets/art-character-clearing.webp') center center/cover no-repeat;gap:4%;padding:28px 30px 0;overflow:hidden;min-height:660px}
.character-showcase:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 35%,#0b15154d 55%,#0b1515c9 100%),linear-gradient(0deg,#141917 0%,transparent 18%,transparent 90%,#14191750 100%)}
.character-stage{background:none;border-bottom:0;height:620px}.character-stage:after{background:#000b;bottom:85px;filter:blur(10px)}
.character-copy{padding:24px 20px;text-shadow:0 2px 12px #0009}.character-copy p{color:#d1d8d0}.character-copy h3{color:var(--cream)}
.model-controls{background:linear-gradient(0deg,#141917, #141917d9);border-top:1px solid #ffffff1a}.model-pose{background:#111b19cc}.model-pose.active{text-shadow:none}
@media(max-width:850px) and (min-width:601px){.character-showcase{padding:15px 10px 0;min-height:580px}.character-stage{height:540px}}
@media(max-width:600px){.character-showcase{padding:0;gap:0;min-height:0;background-size:auto 510px;background-position:32% top;background-color:#141917}.character-showcase:before{background:linear-gradient(0deg,#141917 0%,#141917 39%,transparent 60%)}.character-stage{height:510px}.character-copy{padding:26px 18px 30px;background:#141917}.model-controls{background:#141917e8}.character-stage:after{bottom:80px}}

/* Contact shadow is rendered on the actual 3D ground plane. */
.character-stage:after{display:none}
