:root { color-scheme: dark; --ink:#180a06; --gold:#efc66f; --pale-gold:#ffe7aa; --paper:#fff0cf; --shadow:rgba(8,2,1,.63); }
* { box-sizing:border-box; }
html, body { width:100%; height:100%; min-height:100%; margin:0; overflow:hidden; background:var(--ink); }
body { color:var(--paper); font-family:Georgia,"Times New Roman",serif; } button, select { font:inherit; } button { cursor:pointer; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.page-shell { position:relative; isolation:isolate; width:100%; min-height:100svh; height:100dvh; overflow:hidden; display:grid; grid-template-rows:auto 1fr auto; padding:clamp(17px,3vw,38px) clamp(20px,5vw,80px) clamp(14px,2vw,25px); }
.world-art,.world-shade { position:absolute; inset:0; pointer-events:none; }.world-art { z-index:-2; background:url("assets/hero-army.jpg") center/cover; filter:saturate(.82) contrast(1.04); transform:scale(1.02); }.world-shade { z-index:-1; background:linear-gradient(90deg,rgba(21,6,3,.9) 0%,rgba(30,8,4,.64) 39%,rgba(16,4,2,.22) 100%),linear-gradient(0deg,rgba(15,3,1,.65),transparent 43%); }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:24px; min-width:0; }.brand { display:flex; align-items:center; gap:11px; filter:drop-shadow(0 3px 9px rgba(0,0,0,.58)); }.brand-crest { display:grid; place-items:center; width:48px; height:48px; color:var(--pale-gold); font-family:Arial,sans-serif; font-size:.64rem; font-weight:800; letter-spacing:.06em; background:radial-gradient(circle at 35% 32%,#b13b24,#381006 71%); border:1px solid #f7d889; clip-path:polygon(50% 0,92% 25%,92% 73%,50% 100%,8% 73%,8% 25%); }.brand-name { color:var(--pale-gold); font-weight:700; font-size:1.22rem; line-height:.77; letter-spacing:.06em; }.top-controls { display:flex; gap:9px; align-items:center; }.language-picker select,.sound-toggle { min-height:39px; color:var(--pale-gold); background:rgba(31,8,4,.78); border:1px solid rgba(240,200,120,.72); border-radius:2px; padding:0 10px; font-family:Arial,sans-serif; font-size:.78rem; font-weight:700; }.sound-toggle { display:flex; align-items:center; gap:7px; }.sound-toggle[aria-pressed="true"] { color:#321104; background:linear-gradient(180deg,#ffe7a4,#d9973e); border-color:#f8d889; }.sound-toggle:disabled { opacity:.58; cursor:wait; }.sound-icon { font-size:1.2rem; line-height:1; }
.hero-layout { width:min(100%,1370px); margin:0 auto; min-height:0; display:grid; grid-template-columns:minmax(300px,.81fr) minmax(440px,1.19fr); align-items:center; gap:clamp(28px,5vw,96px); }.story { padding:14px 0 8px; align-self:center; max-width:580px; text-shadow:0 3px 18px rgba(0,0,0,.87); }.eyebrow,.card-kicker { margin:0 0 13px; color:var(--gold); font-family:Arial,sans-serif; letter-spacing:.18em; font-weight:800; font-size:.72rem; }h1 { max-width:560px; margin:0; color:#fff3d1; font-size:clamp(2.7rem,4.7vw,5.65rem); line-height:.9; letter-spacing:-.045em; text-wrap:balance; }.hero-copy { max-width:480px; margin:21px 0 27px; color:#fae9c8; font-size:clamp(1rem,1.45vw,1.15rem); line-height:1.55; }
.primary-cta,.continue-button { border:1px solid #f8d889; color:#2e1007; background:linear-gradient(180deg,#ffe7a4,#d9973e); box-shadow:inset 0 1px rgba(255,255,255,.68),0 8px 23px rgba(0,0,0,.4); font-family:Arial,sans-serif; text-transform:uppercase; letter-spacing:.065em; font-weight:800; transition:transform .18s ease,filter .18s ease; }.primary-cta { min-width:min(100%,325px); min-height:60px; display:inline-flex; justify-content:center; align-items:center; gap:17px; padding:0 24px; font-size:.88rem; animation:primary-glow 2.8s ease-in-out infinite; }.primary-cta:hover,.continue-button:not(:disabled):hover { transform:translateY(-2px); filter:brightness(1.08); }.button-arrow { font-size:1.42rem; line-height:1; }.trust-note { margin:13px 0 0; color:rgba(255,235,194,.77); font-family:Arial,sans-serif; font-size:.78rem; }
.trailer-area { position:relative; align-self:center; min-width:0; padding-top:20px; }.trailer-header { display:flex; align-items:center; gap:8px; min-height:26px; color:var(--pale-gold); font-family:Arial,sans-serif; font-size:.68rem; font-weight:800; letter-spacing:.13em; }.trailer-header p { margin:0; }.trailer-time { margin-left:auto; color:rgba(255,240,206,.72); font-size:.65rem; letter-spacing:.08em; }.live-dot { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#ff6846; box-shadow:0 0 12px #ff5934; }.trailer-frame { position:relative; aspect-ratio:16/9; overflow:hidden; background:#0e0503; border:1px solid rgba(249,214,137,.76); box-shadow:0 22px 55px rgba(0,0,0,.47),inset 0 0 0 4px rgba(55,15,8,.54); }.local-video,.trailer-fallback,.trailer-glass { position:absolute; inset:0; width:100%; height:100%; }.local-video { z-index:2; display:block; object-fit:cover; }.trailer-frame.is-video-unavailable .local-video { display:none; }.trailer-fallback { z-index:1; background:url("assets/achilles.jpg") center/cover; }.trailer-glass { z-index:3; pointer-events:none; box-shadow:inset 0 0 80px rgba(18,4,1,.25); background:linear-gradient(115deg,rgba(255,218,143,.12),transparent 34%); }.trailer-corners { position:absolute; inset:9px; z-index:4; pointer-events:none; border:1px solid rgba(255,231,169,.28); }.trailer-caption { margin:10px 0 0; color:rgba(255,231,183,.78); font-family:Arial,sans-serif; font-size:.72rem; letter-spacing:.04em; }.bottom-rule { width:min(100%,580px); margin:0 auto; display:flex; align-items:center; gap:10px; color:rgba(240,198,111,.78); }.bottom-rule span { height:1px; flex:1; background:linear-gradient(90deg,transparent,rgba(240,198,111,.65)); }.bottom-rule span:last-child { transform:scaleX(-1); }.bottom-rule i { font-style:normal; font-size:.63rem; }
.verification-modal[hidden] { display:none; }.verification-modal { position:fixed; inset:0; z-index:10; display:grid; place-items:center; padding:18px; }.modal-backdrop { position:absolute; inset:0; background:rgba(12,3,1,.7); backdrop-filter:blur(6px); }.verification-card { position:relative; width:min(100%,505px); padding:40px 42px 34px; text-align:center; background:linear-gradient(145deg,rgba(88,30,19,.99),rgba(28,8,5,.99) 73%); border:1px solid rgba(249,213,137,.89); box-shadow:0 25px 85px var(--shadow),inset 0 0 0 5px rgba(48,15,8,.67),inset 0 0 48px rgba(255,169,68,.09); }.verification-card::before,.verification-card::after { content:""; position:absolute; width:16px; height:16px; border:1px solid var(--gold); }.verification-card::before { top:10px; left:10px; border-width:1px 0 0 1px; }.verification-card::after { right:10px; bottom:10px; border-width:0 1px 1px 0; }.close-modal { position:absolute; top:10px; right:13px; width:32px; height:32px; color:var(--pale-gold); border:0; background:transparent; font-family:Arial,sans-serif; font-size:1.65rem; line-height:1; }.card-seal { width:52px; height:52px; display:grid; place-items:center; margin:-67px auto 16px; background:radial-gradient(circle,#9d391f,#42140a); border:1px solid var(--gold); color:var(--pale-gold); box-shadow:0 5px 22px rgba(0,0,0,.55); transform:rotate(45deg); }.card-seal span { transform:rotate(-45deg); font-size:1.25rem; }.verification-card h2 { margin:0; color:#fff0c5; font-size:clamp(2rem,5vw,2.7rem); line-height:1.05; }.verification-copy { max-width:385px; margin:14px auto 21px; color:#f5dfbe; font-family:Arial,sans-serif; font-size:1rem; line-height:1.5; }.turnstile-panel { min-height:100px; display:grid; place-items:center; padding:10px; background:rgba(255,240,211,.1); border:1px solid rgba(255,229,174,.26); }#turnstile { min-height:65px; display:grid; place-items:center; }.verification-status { min-height:18px; margin:3px 0 0; color:#f5dfbe; font-family:Arial,sans-serif; font-size:.83rem; line-height:1.3; }.verification-status[data-tone="error"] { color:#ffc0aa; }.verification-status[data-tone="success"] { color:#d7f5bb; }.retry-button { margin:12px auto 0; color:var(--pale-gold); border:0; background:transparent; text-decoration:underline; text-underline-offset:4px; font-size:.92rem; }.continue-button { width:100%; min-height:56px; display:flex; justify-content:center; align-items:center; gap:16px; margin-top:20px; font-size:.86rem; }.continue-button:disabled { cursor:not-allowed; color:rgba(246,229,194,.5); background:linear-gradient(180deg,#765342,#4e2c20); border-color:#8a6851; box-shadow:none; }.is-verified .continue-button:not(:disabled) { animation:primary-glow 2.2s ease-in-out infinite; }
.primary-cta:focus-visible,.continue-button:focus-visible,.close-modal:focus-visible,.sound-toggle:focus-visible,.language-picker select:focus-visible,.retry-button:focus-visible { outline:3px solid #fff1ad; outline-offset:3px; }.noscript { position:fixed; inset:auto 10px 10px; z-index:20; margin:0; padding:10px; color:white; background:#6e2017; font-family:Arial,sans-serif; text-align:center; }
@keyframes primary-glow { 50% { box-shadow:inset 0 1px rgba(255,255,255,.68),0 0 0 5px rgba(241,191,82,.12),0 8px 28px rgba(236,156,51,.45); } }
@media (max-width:900px) { .page-shell { padding:20px 28px 16px; }.hero-layout { grid-template-columns:minmax(240px,.78fr) minmax(360px,1.22fr); gap:28px; }.hero-copy { margin:16px 0 20px; }.primary-cta { min-height:55px; }.trailer-area { padding-top:8px; } }
@media (max-width:680px) { .page-shell { grid-template-rows:auto 1fr auto; padding:14px 16px 10px; }.world-shade { background:linear-gradient(180deg,rgba(19,5,2,.82),rgba(19,5,2,.45) 55%,rgba(15,3,1,.83)); }.brand-crest { width:39px; height:39px; font-size:.55rem; }.brand-name { font-size:1rem; }.topbar { gap:8px; }.top-controls { gap:5px; }.language-picker select,.sound-toggle { min-height:34px; padding:0 7px; font-size:.68rem; }.sound-toggle span:last-child { display:none; }.sound-toggle { width:37px; justify-content:center; }.hero-layout { min-height:0; grid-template-columns:1fr; grid-template-rows:auto auto; align-content:center; gap:clamp(10px,2.6dvh,20px); }.story { padding:4px 0 0; max-width:none; }.eyebrow { margin-bottom:7px; font-size:.62rem; }h1 { max-width:470px; font-size:clamp(2rem,9.1vw,3.05rem); line-height:.92; }.hero-copy { max-width:490px; margin:9px 0 14px; font-size:.89rem; line-height:1.42; }.primary-cta { width:min(100%,335px); min-height:52px; padding:0 17px; font-size:.76rem; }.trust-note { margin-top:8px; font-size:.68rem; }.trailer-area { width:100%; padding:0; }.trailer-header { min-height:20px; font-size:.59rem; }.trailer-caption { margin-top:6px; font-size:.61rem; }.trailer-corners { inset:6px; }.bottom-rule { width:min(100%,360px); }.verification-card { padding:35px 19px 24px; }.card-seal { margin-top:-61px; }.verification-copy { margin:11px auto 16px; font-size:.92rem; }.turnstile-panel { min-height:91px; padding:7px; }.continue-button { min-height:52px; margin-top:15px; font-size:.77rem; } }
@media (max-height:660px) and (min-width:681px) { .page-shell { padding-top:16px; padding-bottom:10px; }.brand-crest { width:39px; height:39px; }.hero-layout { gap:36px; }.hero-copy { margin:13px 0 17px; }.primary-cta { min-height:51px; }.trailer-area { max-width:660px; justify-self:end; }.bottom-rule { display:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }

/* Platform and post-verification states stay inside the existing viewport. */
.platform-badge { display:inline-flex; align-items:center; gap:8px; margin:12px 0 0; color:rgba(255,238,202,.9); font-family:Arial,sans-serif; font-size:.76rem; font-weight:700; letter-spacing:.035em; }
.windows-mark { display:grid; grid-template-columns:repeat(2,5px); grid-template-rows:repeat(2,5px); gap:1px; transform:skewY(-5deg); }.windows-mark i { display:block; background:#f0c66e; box-shadow:0 0 7px rgba(240,198,110,.45); }
@media (max-width:680px) { .platform-badge { margin-top:8px; font-size:.67rem; } }

/* A short, self-contained verification flow. */
.verification-modal { padding:16px; }
.verification-card { width:min(calc(100vw - 32px),468px); padding:26px 26px 22px; background:linear-gradient(145deg,rgba(73,24,15,.99),rgba(27,8,5,.99) 73%); border-color:rgba(249,213,137,.82); box-shadow:0 18px 52px var(--shadow),inset 0 0 0 3px rgba(48,15,8,.67),inset 0 0 32px rgba(255,169,68,.07); }
.verification-card::before,.verification-card::after { width:12px; height:12px; }.verification-card::before { top:8px; left:8px; }.verification-card::after { right:8px; bottom:8px; }
.close-modal { top:7px; right:9px; width:28px; height:28px; font-size:1.4rem; }.verification-card .card-kicker { margin:0 0 6px; font-size:.63rem; }
.verification-card h2 { font-size:clamp(1.35rem,4vw,1.65rem); line-height:1.15; }.verification-copy { max-width:365px; margin:8px auto 14px; font-size:.88rem; line-height:1.45; }
.turnstile-panel { min-height:0; padding:8px; background:rgba(255,240,211,.07); border-color:rgba(255,229,174,.22); }#turnstile { min-height:0; }.verification-status { min-height:0; margin:6px 0 0; font-size:.78rem; font-weight:700; line-height:1.25; }.verification-status:empty { display:none; }
.retry-button { margin-top:8px; font-size:.82rem; }.continue-button,.verification-card.is-complete .continue-button { min-height:50px; gap:12px; margin-top:14px; padding:0 14px; font-size:.76rem; }
@media (max-width:680px) { .verification-card { padding:24px 18px 18px; }.verification-copy { margin:7px auto 12px; font-size:.86rem; }.turnstile-panel { padding:7px 4px; }.continue-button,.verification-card.is-complete .continue-button { min-height:48px; margin-top:12px; font-size:.69rem; } }
