.hero-grid{gap:44px;padding-block:76px}.hero h1{letter-spacing:-.04em}.hero .actions{gap:14px}.hero .actions .btn{min-width:246px;min-height:64px;padding:18px 30px;border-radius:999px;font-size:15px;transition:transform .25s,box-shadow .25s,background .25s}.hero .actions .primary:hover{box-shadow:0 14px 35px #b51a2860;transform:translateY(-3px)}.hero .actions .ghost:hover{background:#ddbd7e18;border-color:var(--gold)}.hero-art{min-width:0;display:block;min-height:0;isolation:isolate}.hero-stage{position:relative;aspect-ratio:1.33;overflow:hidden;border-radius:22px;background:#101013;box-shadow:0 28px 60px #0009}.hero-stage:after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid #ddbd7e55;pointer-events:none;z-index:3}.hero-slide{position:absolute;inset:0;opacity:0;transform:scale(1.035);transition:opacity .9s ease,transform 6.5s linear;pointer-events:none}.hero-slide.is-current{opacity:1;transform:scale(1);pointer-events:auto}.hero-slide .hero-logo{height:100%;width:100%;max-width:none;object-fit:contain;mask-image:none;border-radius:0;box-shadow:none}.hero-controls{display:flex;align-items:center;gap:17px;padding:17px 3px;color:#dbd2c7;font-size:12px}.hero-controls[hidden]{display:none}.hero-caption{margin-right:auto}.hero-dots{display:flex;gap:4px}.hero-dots button{width:28px;height:30px;border:0;background:transparent;position:relative}.hero-dots button:after{content:"";position:absolute;inset:12px 5px;border-radius:5px;background:#69615b;transition:background .2s,transform .2s}.hero-dots button[aria-pressed=true]:after{background:var(--gold);transform:scaleX(1.4)}.nav-buttons>a:not(.btn){position:relative;transition:color .2s,background .2s,transform .2s}.nav-buttons>a:not(.btn):after{content:"";position:absolute;bottom:3px;left:20%;right:20%;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .25s}.nav-buttons>a:not(.btn):hover:after,.nav-buttons>a:not(.btn):focus-visible:after{transform:scaleX(1)}.menu-toggle{transition:border-color .2s,background .2s}.menu-toggle[aria-expanded=true]{border-color:var(--gold);background:#35251c}::selection{background:#9d202a;color:#fff}
@media(max-width:940px){.hero-grid{gap:30px}.hero-art{width:min(100%,620px);justify-self:center}.hero-stage{aspect-ratio:1.6}.hero .actions .btn{flex:1;max-width:330px}}@media(max-width:650px){.hero-grid{padding-block:45px 28px;gap:30px}.hero h1{font-size:clamp(38px,10vw,52px)}.hero .actions{flex-direction:column}.hero .actions .btn{width:100%;max-width:none;min-height:58px}.hero-stage{aspect-ratio:1.25;border-radius:16px}.hero-caption{font-size:11px}.hero-controls{gap:8px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero .actions .btn,.nav-buttons>a:after{transition:none!important;transform:none!important}.hero-slide:not(.is-current){visibility:hidden}}

.hero-stage{width:100%}
.hero-stage:before{content:"";position:absolute;z-index:4;top:0;left:-50%;width:40%;height:1px;background:linear-gradient(90deg,transparent,#f6d59c,transparent);pointer-events:none}.hero-art:focus-within .hero-stage:before,.hero-art:hover .hero-stage:before{animation:circuit-sweep 1.2s ease-out both}@keyframes circuit-sweep{to{transform:translateX(400%)}}@media(max-width:650px) and (prefers-reduced-motion:no-preference){.links.open{animation:menu-in .25s ease-out both}@keyframes menu-in{from{opacity:.5;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}}@media(prefers-reduced-motion:reduce){.hero-stage:before{display:none}}

/* Campaign artwork is always shown whole, with stable square geometry. */
.hero-stage{aspect-ratio:1}.hero-campaign{transform:scale(1.015)}.hero-campaign.is-current{transform:scale(1)}.hero-campaign>a{display:block;width:100%;height:100%}.hero-campaign img{display:block;width:100%;height:100%;object-fit:contain}.hero-caption{flex:1;min-width:0;line-height:1.4}.hero-dots,.hero-controls{min-height:68px}.hero-campaign a:focus-visible{outline-offset:-5px}@media(max-width:940px){.hero-art{width:min(100%,560px)}.hero-stage{aspect-ratio:1}}@media(max-width:650px){.hero-stage{aspect-ratio:1}.hero-dots button{width:23px}.hero-controls{padding-inline:0;gap:6px}.hero-caption{font-size:11px}}

.hero-slide{filter:blur(2px) saturate(.88);transform:scale(1.015);transition:opacity 1.1s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1),filter 1.1s cubic-bezier(.22,1,.36,1)}.hero-slide.is-current{filter:none;transform:scale(1)}
