:root{color-scheme:dark;--ivory:#f4e7ce;--gold:#cfa96b;--gold-soft:rgba(207,169,107,.58);--ink:#050708}
*{box-sizing:border-box}
html,body{width:100%;min-height:100%;margin:0;background:var(--ink)}
body{min-height:100svh;overflow:hidden;color:var(--ivory);font-family:Georgia,"Times New Roman",serif;background-image:url("../assets/rome-aaa-hero.webp");background-size:cover;background-position:center center;background-repeat:no-repeat}
body::before{content:"";position:fixed;z-index:0;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(2,5,7,.76) 0%,rgba(2,4,6,.17) 29%,rgba(3,4,4,.1) 54%,rgba(3,3,3,.78) 100%),linear-gradient(90deg,rgba(2,6,9,.38) 0%,transparent 35%,rgba(16,8,2,.12) 72%,rgba(8,4,1,.18) 100%),radial-gradient(circle at 50% 17%,rgba(0,0,0,.12),rgba(0,0,0,.42) 76%)}
body::after{content:"";position:fixed;z-index:0;inset:0;pointer-events:none;box-shadow:inset 0 0 13vw rgba(0,0,0,.58)}
.arrival{position:relative;z-index:1;min-height:100svh}
.announcement{min-height:100svh;padding:max(20px,env(safe-area-inset-top)) clamp(20px,4.5vw,76px) max(58px,calc(env(safe-area-inset-bottom) + 45px));display:grid;grid-template-rows:auto 1fr auto;align-items:start}
.brand-block{width:min(720px,58vw);margin:0 auto;text-align:center;animation:reveal-brand 1.45s cubic-bezier(.2,.75,.2,1) both}
.game-logo{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 20px rgba(0,0,0,.75))}
.ornament{display:flex;align-items:center;gap:11px;width:min(600px,82%);margin:-1.3% auto 17px;color:var(--gold-soft)}
.ornament::before,.ornament::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold-soft))}.ornament::after{background:linear-gradient(90deg,var(--gold-soft),transparent)}
.ornament span{width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg);box-shadow:0 0 10px rgba(207,169,107,.4)}
.tagline{margin:0;color:var(--ivory);font-size:clamp(.7rem,1.15vw,1.06rem);font-weight:400;letter-spacing:.48em;text-indent:.48em;text-transform:uppercase;text-shadow:0 2px 14px #000}
.story-block{align-self:end;width:min(660px,50vw);margin-right:auto;margin-left:auto;padding:20px 0 clamp(18px,4vh,42px);text-align:center;text-transform:uppercase;text-shadow:0 3px 18px #000,0 1px 4px #000;animation:reveal-story 1.35s .45s cubic-bezier(.2,.75,.2,1) both}
.era{margin:0 0 9px;color:#d9cab1;font-size:clamp(.65rem,.85vw,.82rem);font-style:italic;letter-spacing:.2em;text-transform:none}
.fall{margin:0 0 4px;color:var(--ivory);font-size:clamp(.82rem,1.2vw,1.1rem);letter-spacing:.28em;text-indent:.28em}
.story-block h2{margin:0;color:#fff7e8;font-size:clamp(1.7rem,3.25vw,3.3rem);font-weight:400;letter-spacing:.11em;text-indent:.11em;line-height:1.02}
.release{display:flex;align-items:center;gap:15px;width:min(520px,85%);margin:22px auto 0;color:var(--gold)}
.release::before,.release::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold-soft))}.release::after{background:linear-gradient(90deg,var(--gold-soft),transparent)}
.release span{flex:none;color:var(--ivory);font-size:clamp(.83rem,1.25vw,1.15rem);letter-spacing:.42em;text-indent:.42em;white-space:nowrap}
.legal-links{position:fixed;z-index:2;right:max(18px,env(safe-area-inset-right));bottom:max(13px,env(safe-area-inset-bottom));display:flex;gap:19px;font-family:Arial,sans-serif;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}
.legal-links a{color:rgba(244,231,206,.68);text-decoration:none;text-shadow:0 2px 8px #000;transition:color .2s ease}.legal-links a:hover,.legal-links a:focus-visible{color:var(--ivory);outline:none}.legal-links a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes reveal-brand{from{opacity:0;transform:translateY(-18px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes reveal-story{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:760px){body{background-position:37% center}body::before{background:linear-gradient(180deg,rgba(2,5,7,.83) 0%,rgba(2,4,6,.18) 26%,rgba(3,3,3,.06) 50%,rgba(3,3,3,.88) 100%),linear-gradient(90deg,rgba(2,6,9,.28),transparent 60%,rgba(8,4,1,.12))}.announcement{padding:clamp(18px,4vh,34px) 16px max(68px,calc(env(safe-area-inset-bottom) + 54px))}.brand-block{width:min(96vw,620px)}.ornament{margin-top:0;margin-bottom:13px}.tagline{font-size:clamp(.58rem,2.6vw,.82rem);letter-spacing:.3em;text-indent:.3em}.story-block{width:100%;margin:0;padding:10px 0 clamp(8px,2vh,18px)}.era{font-size:.68rem}.fall{font-size:clamp(.72rem,3.1vw,.95rem);letter-spacing:.2em;text-indent:.2em}.story-block h2{font-size:clamp(1.55rem,7vw,2.6rem);letter-spacing:.06em;text-indent:.06em}.release{margin-top:17px;width:min(96%,480px)}.release span{font-size:.78rem;letter-spacing:.31em;text-indent:.31em}.legal-links{left:0;right:0;justify-content:center;font-size:.58rem}}
@media(max-height:680px) and (orientation:landscape){.announcement{padding-top:10px;padding-bottom:42px}.brand-block{width:min(520px,43vw)}.ornament{margin-bottom:6px}.tagline{font-size:.62rem}.story-block{width:min(520px,46vw);margin-right:auto;margin-left:auto;padding-bottom:4px}.story-block h2{font-size:clamp(1.3rem,3vw,2.2rem)}.release{margin-top:10px}.legal-links{bottom:8px}}
@media(prefers-reduced-motion:reduce){.brand-block,.story-block{animation:none}}
