@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800;900&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap');

:root {
  --ink: #050605;
  --night: #090b0a;
  --green: #0d2719;
  --gold: #d4af37;
  --gold-bright: #ffd700;
  --gold-copy: #ffcf4a;
  --gold-muted: #e6b62e;
  --cream: var(--gold-copy);
  --mist: #f4c24b;
  --gold-shadow: #160d01;
  --serif: 'Cinzel', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 18px; }
body { margin: 0; color: var(--gold-copy); background: var(--ink); font-family: var(--sans); overflow-x: hidden; }
body.game-open, body.gallery-open { overflow: hidden; }
body, button, input, textarea { font-family: var(--sans); }
a { color: inherit; }
a, button { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
[hidden] { display: none !important; }
.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; }

#gate { position: fixed; z-index: 60; inset: 0; display: grid; place-items: center; overflow: hidden; background: #020302; transition: opacity .7s ease, visibility .7s ease; }
#gate.leave { opacity: 0; visibility: hidden; pointer-events: none; }
.gate-scene { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1,3,2,.44), rgba(1,3,2,.04) 57%, rgba(1,3,2,.22)), linear-gradient(0deg, rgba(1,3,2,.48), transparent 55%), url('valhalla-entry-v3.png') center / cover no-repeat; filter: saturate(.92) contrast(1.08); transform: scale(1.025); }
.gate-ravens { position: absolute; z-index: 1; inset: 0; overflow: hidden; pointer-events: none; }
.raven-flight { position: absolute; left: -26vw; display: block; width: clamp(8.5rem, 13vw, 13.5rem); aspect-ratio: 3 / 4; will-change: transform; }
.raven-wing { display: block; width: 100%; height: 100%; background: url('raven-wingbeat-sprite-v1.png') left center / 400% 100% no-repeat; animation: raven-wingbeat .48s steps(4, end) infinite; filter: drop-shadow(0 10px 10px rgba(0,0,0,.42)); }
.raven-flight--one { top: 6%; animation: raven-cross-one 13.5s linear infinite; }
.raven-flight--two { top: 20%; width: clamp(6.5rem, 10vw, 10.5rem); animation: raven-cross-two 16.5s linear -5.5s infinite; opacity: .92; }
.raven-flight--three { top: 11%; width: clamp(5.7rem, 8vw, 8.8rem); animation: raven-cross-three 18.5s linear -11s infinite; opacity: .78; }
.gate-content { position: relative; z-index: 2; display: grid; justify-items: center; align-self: end; width: min(100% - 2rem, 760px); margin-bottom: clamp(2.2rem, 7vh, 5rem); text-align: center; }
#enter { min-width: min(100%, 310px); padding: 1.14rem 1.45rem; color: var(--gold-bright); border: 1px solid var(--gold-bright); background: rgba(3,7,4,.75); box-shadow: 0 0 0 1px rgba(0,0,0,.65), 0 15px 40px rgba(0,0,0,.52); font: 900 clamp(.78rem, 1.5vw, .92rem) var(--serif); letter-spacing: .19em; text-shadow: 0 2px 0 #130c01; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
#enter:hover, #enter:focus-visible { color: #fff2bc; background: rgba(22,45,27,.94); box-shadow: 0 0 0 3px rgba(255,215,0,.18), 0 18px 46px rgba(0,0,0,.66); outline: none; transform: translateY(-3px); }
#player { position: fixed; width: 1px; height: 1px; right: -4px; bottom: -4px; overflow: hidden; pointer-events: none; }
#sound { position: fixed; z-index: 45; right: 1rem; bottom: 1rem; padding: .72rem .84rem; color: var(--gold-bright); border: 1px solid rgba(255,215,0,.72); background: rgba(3,7,4,.84); box-shadow: 0 8px 24px rgba(0,0,0,.34); font: 900 .61rem var(--serif); letter-spacing: .11em; text-shadow: 0 1px 0 var(--gold-shadow); }
#sound:hover, #sound:focus-visible { background: #15301d; outline: none; }
@keyframes raven-wingbeat { to { background-position: 100% center; } }
@keyframes raven-cross-one { 0% { transform: translate3d(-18vw, 4vh, 0) rotate(-3deg); } 25% { transform: translate3d(27vw, -1vh, 0) rotate(1deg); } 58% { transform: translate3d(85vw, 3vh, 0) rotate(-1deg); } 100% { transform: translate3d(154vw, -4vh, 0) rotate(2deg); } }
@keyframes raven-cross-two { 0% { transform: translate3d(-12vw, 2vh, 0) rotate(1deg); } 34% { transform: translate3d(42vw, -4vh, 0) rotate(-2deg); } 69% { transform: translate3d(98vw, 2vh, 0) rotate(2deg); } 100% { transform: translate3d(156vw, -1vh, 0) rotate(1deg); } }
@keyframes raven-cross-three { 0% { transform: translate3d(-16vw, -2vh, 0) rotate(-1deg); } 31% { transform: translate3d(34vw, 4vh, 0) rotate(2deg); } 65% { transform: translate3d(93vw, -3vh, 0) rotate(-1deg); } 100% { transform: translate3d(158vw, 2vh, 0) rotate(1deg); } }
@media (prefers-reduced-motion: reduce) { .raven-flight, .raven-wing { animation: none; } .raven-flight { left: 48%; top: 12%; } }

.site-header { position: sticky; top: 0; z-index: 30; min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; padding: .48rem clamp(1rem,5vw,5rem); background: rgba(4,6,5,.94); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(255,214,106,.18); }
.brand { display: inline-flex; gap: .7rem; align-items: center; text-decoration: none; min-width: max-content; }
.brand-primary-mark { display: block; width: 56px; height: 56px; flex: 0 0 56px; border-radius: 50%; border: 1px solid rgba(216,168,70,.75); background: #000; object-fit: cover; }
.brand span { display: grid; gap: .1rem; font-family: var(--serif); letter-spacing: .08em; }
.brand b { color: var(--gold-bright); font-size: .8rem; }
.brand small { color: var(--gold-copy); font-size: .53rem; }
nav { display: flex; align-items: center; gap: clamp(.6rem,1.6vw,1.35rem); max-width: 74vw; overflow-x: auto; scrollbar-width: none; }
nav::-webkit-scrollbar { display: none; }
nav a { color: var(--gold-copy); text-decoration: none; white-space: nowrap; font: 800 .64rem var(--serif); letter-spacing: .1em; text-transform: uppercase; text-shadow: 0 1px 0 var(--gold-shadow), 0 2px 10px rgba(0,0,0,.9); }
nav a:hover, nav a:focus-visible, nav a[aria-current='page'] { color: var(--gold-bright); outline: none; }
.nav-cta { color: var(--gold-bright); border: 1px solid var(--gold); background: rgba(10,22,14,.92); padding: .82rem .92rem; }
.nav-cta:hover, .nav-cta:focus-visible { color: var(--gold-bright); background: #152b1a; box-shadow: 0 0 0 2px rgba(255,234,156,.14); }

.page { position: relative; isolation: isolate; display: grid; align-items: center; min-height: max(670px, calc(100vh - 78px)); padding: clamp(5rem, 9vw, 8rem) 0 5.4rem; overflow: hidden; background-color: var(--night); background-position: center; background-size: cover; }
.page::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(3,5,4,.56) 0%, rgba(3,5,4,.18) 33%, transparent 70%), linear-gradient(0deg, rgba(2,4,3,.34), transparent 58%, transparent); }
.page::after { content: ''; position: absolute; z-index: -1; right: clamp(-5rem,-5vw,-2rem); bottom: clamp(2rem,4vw,5rem); width: min(30vw,290px); aspect-ratio: 1; opacity: .12; background: url('all-season-longship-mark.png') center / contain no-repeat; pointer-events: none; }
.page-shell { position: relative; z-index: 1; width: min(1180px, calc(100% - clamp(2rem,8vw,10rem))); margin: 0 auto; }
.page-next { position: absolute; z-index: 1; right: clamp(1rem,5vw,5rem); bottom: 1.6rem; color: var(--gold-bright); font: 800 .65rem var(--serif); letter-spacing: .14em; text-decoration: none; text-shadow: 0 1px 0 var(--gold-shadow), 0 2px 12px rgba(0,0,0,.96); }
.page-next:hover, .page-next:focus-visible { color: var(--gold-bright); outline: none; }
.page-next span { color: var(--gold); font-size: 1.1rem; }

.eyebrow { margin: 0 0 1rem; color: var(--gold-bright); font: 900 clamp(.61rem,1vw,.74rem) var(--serif); letter-spacing: .2em; text-shadow: 0 2px 0 var(--gold-shadow), 0 0 16px rgba(0,0,0,.96); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--serif); }
h1, h2, h3 { color: var(--gold-bright); -webkit-text-stroke: .55px var(--gold-shadow); text-shadow: 0 3px 0 var(--gold-shadow), 0 8px 22px rgba(0,0,0,.94); }
h1 { max-width: 760px; margin-bottom: 1.2rem; font-size: clamp(3.25rem,7vw,7.15rem); line-height: .91; letter-spacing: -.03em; }
h2 { margin-bottom: 1.25rem; font-size: clamp(2.28rem,4.25vw,4.6rem); line-height: .98; letter-spacing: -.035em; }
h3 { margin-bottom: .7rem; font-size: 1rem; line-height: 1.2; letter-spacing: .04em; }
em { color: var(--gold); font-style: normal; }
.lead { max-width: 625px; color: var(--gold-copy); font-size: clamp(1rem,1.5vw,1.17rem); font-weight: 700; line-height: 1.72; -webkit-text-stroke: .16px var(--gold-shadow); text-shadow: 0 2px 0 var(--gold-shadow), 0 0 16px rgba(0,0,0,.96); }
.body-copy { max-width: 670px; color: var(--gold-copy); font-weight: 700; line-height: 1.75; font-size: 1.02rem; -webkit-text-stroke: .16px var(--gold-shadow); text-shadow: 0 2px 0 var(--gold-shadow), 0 0 16px rgba(0,0,0,.96); }
.actions, .bid-actions, .emergency-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.2rem; margin-top: 1.7rem; }
.button, .outlined-button { display: inline-block; padding: 1rem 1.18rem; border: 1px solid var(--gold); font: 800 .72rem var(--serif); letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button { color: var(--gold-bright); background: rgba(5,12,7,.88); text-shadow: 0 1px 0 var(--gold-shadow), 0 2px 10px rgba(0,0,0,.96); }
.button:hover, .button:focus-visible { color: var(--gold-bright); background: #15301d; transform: translateY(-2px); outline: none; box-shadow: 0 0 0 2px rgba(255,234,156,.16); }
.outlined-button { color: var(--gold-bright); background: rgba(3,5,4,.58); }
.outlined-button:hover, .outlined-button:focus-visible { color: var(--gold-bright); background: #15301d; transform: translateY(-2px); outline: none; }
.text-link { color: var(--gold-copy); text-decoration: none; font: 800 .73rem var(--serif); letter-spacing: .1em; text-shadow: 0 1px 0 var(--gold-shadow), 0 2px 12px rgba(0,0,0,.96); }
.text-link:hover, .text-link:focus-visible { color: var(--gold-bright); outline: none; }

.page-copy { padding: 0; border: 0; background: none; box-shadow: none; text-shadow: 0 2px 18px rgba(0,0,0,.92); }
.home-page { background-image: url('valhalla-hero.png'); background-position: 61% center; }
.home-page::before { background: linear-gradient(90deg, rgba(1,3,2,.63) 0%, rgba(1,3,2,.22) 43%, transparent 78%), linear-gradient(0deg, rgba(1,3,2,.3), transparent 51%); }
.home-layout { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; }
.home-motto { margin: .1rem 0 1.05rem; color: var(--gold-bright); font: 800 clamp(.82rem,1.5vw,1.02rem) var(--serif); letter-spacing: .14em; }
.home-service-line { max-width: 59rem; margin: 0 0 1.15rem; color: var(--gold-bright); font: 800 clamp(.61rem,1.15vw,.76rem) var(--serif); letter-spacing: .11em; line-height: 1.65; text-shadow: 0 2px 12px rgba(0,0,0,.96); }
.home-story { max-width: 47rem; margin: .55rem 0 0; color: var(--gold-copy); font-weight: 700; font-size: clamp(.89rem,1.3vw,1rem); line-height: 1.55; -webkit-text-stroke: .15px var(--gold-shadow); text-shadow: 0 2px 0 var(--gold-shadow), 0 0 16px rgba(0,0,0,.96); }
.home-story--full { display: grid; gap: .86rem; max-width: 51rem; margin-top: .8rem; }
.home-story--full p { margin: 0; }
.proof-row { display: flex; flex-wrap: wrap; gap: .55rem .8rem; margin-top: 2rem; color: var(--gold-bright); font: 800 .59rem var(--serif); letter-spacing: .12em; text-shadow: 0 1px 0 var(--gold-shadow), 0 2px 12px rgba(0,0,0,.96); }
.proof-row span { padding: .54rem .62rem; border: 1px solid rgba(255,214,106,.32); background: rgba(1,3,2,.42); }

.story-page { align-items: start; min-height: max(810px, calc(100vh - 78px)); background-image: url('valhalla-story.png'); background-position: 51% center; }
.story-page::before { background: linear-gradient(90deg,rgba(1,3,2,.84) 0%,rgba(1,3,2,.68) 50%,rgba(1,3,2,.36) 100%), linear-gradient(0deg,rgba(1,3,2,.72),rgba(1,3,2,.08) 58%,rgba(1,3,2,.28)); }
.story-layout { display: grid; gap: clamp(1.6rem,3.5vw,3rem); padding-bottom: 2.25rem; }
.story-intro { max-width: 790px; text-shadow: 0 2px 18px rgba(0,0,0,.96); }
.story-intro h2 { margin-bottom: .85rem; }
.story-manifesto { margin: 0; color: var(--gold-bright); font: 900 clamp(.72rem,1.15vw,.92rem) var(--serif); letter-spacing: .14em; line-height: 1.65; text-shadow: 0 2px 0 var(--gold-shadow), 0 0 16px rgba(0,0,0,.96); }
.story-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; max-width: 1060px; }
.story-block { min-width: 0; padding: clamp(1rem,2.1vw,1.45rem); border: 1px solid rgba(216,168,70,.45); background: linear-gradient(135deg,rgba(4,10,6,.90),rgba(3,5,4,.72)); box-shadow: 0 18px 42px rgba(0,0,0,.29); }
.story-block--wide { grid-column: span 2; }
.story-block p { max-width: 850px; margin: 0 0 .92rem; color: var(--gold-copy); font-weight: 700; line-height: 1.72; -webkit-text-stroke: .14px var(--gold-shadow); text-shadow: 0 2px 0 var(--gold-shadow), 0 0 15px rgba(0,0,0,.94); }
.story-block p:last-child { margin-bottom: 0; }
.story-kicker { color: var(--gold) !important; font: 900 .59rem var(--serif); letter-spacing: .16em; line-height: 1.5 !important; }
.story-block h3 { margin-bottom: 1rem; font-size: clamp(1.3rem,2.45vw,2.1rem); line-height: 1.02; }
.story-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; margin-top: 1.35rem; }
.story-stats div { display: grid; align-content: start; gap: .34rem; min-height: 104px; padding: .8rem; border: 1px solid rgba(255,215,0,.35); background: rgba(2,4,3,.45); }
.story-stats b { color: var(--gold-bright); font: 900 clamp(1.25rem,2.3vw,2rem) var(--serif); line-height: 1; letter-spacing: .02em; text-shadow: 0 2px 0 var(--gold-shadow); }
.story-stats span { color: var(--gold-copy); font: 800 .52rem var(--serif); letter-spacing: .1em; line-height: 1.52; }
.story-points { display: grid; gap: .65rem; margin: 1rem 0; padding: 0; list-style: none; }
.story-points li { padding-left: .95rem; color: var(--gold-copy); border-left: 2px solid rgba(216,168,70,.72); font-size: .85rem; font-weight: 700; line-height: 1.64; text-shadow: 0 2px 0 var(--gold-shadow), 0 0 15px rgba(0,0,0,.94); }
.story-points b { color: var(--gold-bright); font-family: var(--serif); font-size: .69rem; letter-spacing: .07em; }
.story-points--three { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .85rem; margin-bottom: 0; }
.story-points--three li { padding: .15rem 0 .15rem .9rem; }
.story-closer { max-width: 850px; padding: 1.15rem 0 1.25rem; border-top: 1px solid rgba(255,215,0,.52); text-shadow: 0 2px 18px rgba(0,0,0,.96); }
.story-closer > p:first-child { max-width: 735px; margin-bottom: .9rem; color: var(--gold-copy); font-weight: 700; line-height: 1.72; -webkit-text-stroke: .14px var(--gold-shadow); text-shadow: 0 2px 0 var(--gold-shadow), 0 0 15px rgba(0,0,0,.94); }
.story-signoff { margin: 0; color: var(--gold-bright); font: 900 clamp(.86rem,1.55vw,1.15rem) var(--serif); letter-spacing: .12em; line-height: 1.5; text-shadow: 0 2px 0 var(--gold-shadow), 0 0 16px rgba(0,0,0,.96); }

.services-page { background-image: url('valhalla-services.png'); background-position: 57% center; }
.services-page::before { background: linear-gradient(90deg,rgba(2,4,3,.56),rgba(2,4,3,.12) 54%,transparent), linear-gradient(0deg,rgba(2,3,2,.37),transparent 66%); }
.split-heading { display: flex; align-items: end; justify-content: space-between; gap: 3rem; }
.split-heading h2 { margin-bottom: 0; }
.split-heading p { max-width: 430px; margin-bottom: 0; padding: .8rem .95rem; color: var(--gold-bright); border-left: 2px solid var(--gold); background: rgba(1,3,2,.72); font-size: clamp(.86rem,1.15vw,1rem); font-weight: 800; line-height: 1.62; -webkit-text-stroke: .15px var(--gold-shadow); text-shadow: 0 2px 0 var(--gold-shadow), 0 0 16px rgba(0,0,0,.96); }
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .9rem 1.25rem; margin-top: 2.15rem; }
.service-grid article { min-height: 116px; padding: .95rem .25rem 1rem; background: rgba(1,3,2,.22); border: 0; border-top: 2px solid rgba(216,168,70,.72); box-shadow: none; text-shadow: 0 2px 16px rgba(0,0,0,.95); }
.service-grid span { display: block; margin-bottom: .74rem; color: var(--gold); font: 900 .78rem var(--serif); }
.service-grid h3 { margin-bottom: .5rem; font-size: clamp(1rem,1.55vw,1.18rem); }
.service-grid p { margin-bottom: 0; color: var(--gold-bright); font: 800 clamp(.64rem,.82vw,.72rem) var(--serif); letter-spacing: .1em; line-height: 1.62; }

.deals-page { background-image: url('valhalla-story.png'); background-position: center 54%; }
.deals-page::before { background: linear-gradient(90deg,rgba(3,5,4,.54),rgba(3,5,4,.13) 55%,transparent),linear-gradient(0deg,rgba(2,3,2,.34),transparent 70%); }
.deals-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(400px,1fr); gap: clamp(2rem,7vw,6rem); align-items: center; }
.deal-note { margin: 2.1rem 0 0; color: var(--gold-bright); font: 800 .66rem var(--serif); letter-spacing: .14em; line-height: 1.7; }
.offer-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .8rem; }
.offer-grid article { display: grid; min-height: 110px; align-content: center; gap: .36rem; padding: .8rem; background: none; border: 0; border-left: 1px solid rgba(216,168,70,.58); text-align: center; text-shadow: 0 2px 16px rgba(0,0,0,.95); }
.offer-grid b { color: var(--gold-bright); font: 800 clamp(2.1rem,4vw,3.7rem) var(--serif); }
.offer-grid span { color: var(--gold-copy); font: 800 .65rem var(--serif); letter-spacing: .12em; }

.games-page { background-image: url('valhalla-entry-v3.png'); background-position: 64% center; }
.games-page::before { background: linear-gradient(90deg,rgba(1,3,2,.7),rgba(1,3,2,.22) 53%,rgba(1,3,2,.26)), linear-gradient(0deg,rgba(1,3,2,.48),transparent 68%); }
.games-shell { display: grid; gap: clamp(1.65rem,4vw,3rem); }
.games-copy { max-width: 765px; text-shadow: 0 2px 18px rgba(0,0,0,.96); }
.games-copy h2 { margin-bottom: 1rem; }
.games-daily-rule { margin: 1.3rem 0 0; color: var(--gold-bright); font: 900 .67rem var(--serif); letter-spacing: .16em; text-shadow: 0 2px 0 var(--gold-shadow), 0 0 15px rgba(0,0,0,.96); }
.game-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .85rem; }
.game-card { position: relative; isolation: isolate; display: grid; align-content: start; min-height: 295px; gap: .75rem; overflow: hidden; padding: 1.2rem; color: var(--gold-copy); border: 1px solid rgba(255,215,0,.68); background-color: #050705; background-position: center; background-size: cover; box-shadow: 0 18px 38px rgba(0,0,0,.52); text-align: left; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.game-card::before { content: ''; position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg,rgba(1,3,2,.94) 0%,rgba(1,3,2,.68) 50%,rgba(1,3,2,.13) 100%),linear-gradient(0deg,rgba(1,3,2,.82) 0%,transparent 70%); transition: background .22s ease; }
.game-card::after { content: ''; position: absolute; z-index: 0; right: -3rem; bottom: -5rem; width: 13rem; height: 13rem; border: 1px solid rgba(255,215,0,.20); border-radius: 50%; box-shadow: inset 0 0 0 12px rgba(255,215,0,.035),0 0 36px rgba(255,145,28,.15); pointer-events: none; }
.game-card > * { position: relative; z-index: 1; }
.game-card--raven { background-image: url('games/raven-run-v1.png'); }
.game-card--axe { background-image: url('games/axe-throw-v1.png'); }
.game-card--longship { background-image: url('games/longship-raid-v1.png'); }
.game-card:hover, .game-card:focus-visible { border-color: var(--gold-bright); box-shadow: 0 0 0 3px rgba(255,215,0,.18),0 26px 54px rgba(0,0,0,.62); outline: none; transform: translateY(-5px) scale(1.012); }
.game-card:hover::before, .game-card:focus-visible::before { background: linear-gradient(90deg,rgba(1,3,2,.78) 0%,rgba(1,3,2,.40) 55%,rgba(1,3,2,.02) 100%),linear-gradient(0deg,rgba(1,3,2,.75) 0%,transparent 72%); }
.game-card-number { color: var(--gold); font: 900 .64rem var(--serif); letter-spacing: .16em; }
.game-card-mark { position: relative; z-index: 1; color: var(--gold-bright); font: 900 clamp(2.6rem,4.5vw,4.15rem) var(--serif); line-height: .85; text-shadow: 0 3px 0 var(--gold-shadow), 0 0 16px rgba(255,215,0,.2); }
.game-card-mark--raven { font-size: clamp(2.2rem,4vw,3.5rem); }
.game-card strong { position: relative; z-index: 1; color: var(--gold-bright); font: 900 clamp(.95rem,1.35vw,1.12rem) var(--serif); letter-spacing: .075em; text-shadow: 0 2px 0 var(--gold-shadow); }
.game-card small { position: relative; z-index: 1; color: var(--gold-copy); font: 800 .53rem var(--serif); letter-spacing: .1em; line-height: 1.65; }
.game-card b { position: relative; z-index: 1; margin-top: auto; color: var(--gold-bright); font: 900 .61rem var(--serif); letter-spacing: .08em; line-height: 1.5; text-shadow: 0 2px 0 var(--gold-shadow); }
.game-card em { position: relative; z-index: 1; color: var(--gold); font: 900 .55rem var(--serif); font-style: normal; letter-spacing: .13em; }
.game-rules { max-width: 1000px; color: var(--gold-copy); border-top: 1px solid rgba(255,215,0,.42); border-bottom: 1px solid rgba(255,215,0,.25); background: rgba(2,4,3,.54); }
.game-rules summary { padding: .92rem 0; color: var(--gold-bright); cursor: pointer; font: 900 .63rem var(--serif); letter-spacing: .14em; list-style: none; }
.game-rules summary::-webkit-details-marker { display: none; }
.game-rules summary::after { content: ' +'; float: right; color: var(--gold); font-size: 1rem; }
.game-rules[open] summary::after { content: ' −'; }
.game-rules div { display: grid; gap: .6rem; max-width: 900px; padding: 0 0 1.1rem; }
.game-rules p { margin: 0; color: var(--gold-copy); font-size: .76rem; font-weight: 700; line-height: 1.6; text-shadow: 0 2px 14px rgba(0,0,0,.95); }

.game-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; overflow-y: auto; padding: clamp(.7rem,3vw,2rem); }
.game-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.84); backdrop-filter: blur(10px); }
.game-modal__panel { position: relative; z-index: 1; width: min(100%,1080px); max-height: calc(100vh - 1.4rem); overflow-y: auto; padding: clamp(1rem,3vw,2rem); color: var(--gold-copy); border: 1px solid rgba(255,215,0,.75); background: linear-gradient(145deg,rgba(7,21,12,.98),rgba(1,3,2,.99)); box-shadow: 0 26px 85px rgba(0,0,0,.75); }
.game-modal__panel h2 { max-width: 720px; margin-bottom: .9rem; font-size: clamp(2rem,4.5vw,4.35rem); }
.game-close { position: absolute; z-index: 2; top: .7rem; right: .85rem; width: 2.3rem; height: 2.3rem; color: var(--gold-bright); border: 1px solid rgba(255,215,0,.58); background: rgba(0,0,0,.38); font: 900 1.7rem/1 var(--serif); }
.game-close:hover, .game-close:focus-visible { background: #15301d; outline: none; }
.game-modal__description { max-width: 720px; margin: 0 3rem 1.2rem 0; color: var(--gold-copy); font-weight: 700; line-height: 1.6; text-shadow: 0 2px 14px rgba(0,0,0,.95); }
.game-canvas-wrap { position: relative; overflow: hidden; aspect-ratio: 16 / 8.9; border: 1px solid rgba(255,215,0,.5); background: #020504; box-shadow: inset 0 0 70px rgba(0,0,0,.76); }
#game-canvas { display: block; width: 100%; height: 100%; touch-action: none; }
.game-canvas-message { position: absolute; inset: 0; display: grid; place-items: center; padding: 1.5rem; color: var(--gold-bright); background: linear-gradient(90deg,rgba(1,3,2,.72),rgba(1,3,2,.15),rgba(1,3,2,.72)); font: 900 clamp(.68rem,1.5vw,.9rem) var(--serif); letter-spacing: .15em; text-align: center; text-shadow: 0 2px 0 var(--gold-shadow),0 0 15px #000; pointer-events: none; }
.game-modal__status { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; color: var(--gold); font: 900 .58rem var(--serif); letter-spacing: .13em; }
.game-modal__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .15rem; }
.game-modal__actions button { appearance: none; }
.game-result { min-height: 1.5rem; margin: 1rem 0 0; color: var(--gold-bright); font: 800 .72rem var(--serif); letter-spacing: .08em; line-height: 1.6; text-shadow: 0 2px 0 var(--gold-shadow); }
.reward-claim-form { display: grid; gap: .6rem; max-width: 650px; margin-top: 1.2rem; padding: 1rem; border: 1px solid rgba(255,215,0,.55); background: rgba(0,0,0,.32); }
.reward-claim-form p { margin: 0; }
.reward-claim-form label { color: var(--gold); font: 900 .55rem var(--serif); letter-spacing: .13em; }
.reward-claim-form input { width: 100%; color: var(--gold-bright); border: 1px solid rgba(255,214,106,.42); background: rgba(0,0,0,.42); padding: .76rem; outline: none; font: .86rem var(--sans); }
.reward-claim-form input:focus { border-color: var(--gold-bright); }
.reward-claim-form button { border: 1px solid var(--gold); color: var(--gold-bright); background: rgba(5,12,7,.88); padding: .9rem; font: 900 .64rem var(--serif); letter-spacing: .1em; text-shadow: 0 1px 0 var(--gold-shadow); }
.reward-claim-form button:hover, .reward-claim-form button:focus-visible { background: #15301d; outline: none; }
.reward-claim-form button:disabled { opacity: .65; cursor: wait; }

.emergency-page { background-image: url('longship.png'); background-position: center; }
.emergency-page::before { background: linear-gradient(90deg,rgba(1,3,2,.56),rgba(1,3,2,.14) 52%,transparent),linear-gradient(0deg,rgba(2,3,2,.34),transparent 68%); }
.emergency-panel { max-width: 610px; padding: 0; border: 0; background: none; box-shadow: none; text-shadow: 0 2px 18px rgba(0,0,0,.96); }
.safety-note { margin: 1.5rem 0 0; color: var(--gold-copy); font-size: .76rem; font-weight: 700; -webkit-text-stroke: .14px var(--gold-shadow); text-shadow: 0 2px 0 var(--gold-shadow), 0 0 14px rgba(0,0,0,.96); }

.gallery-page { background-image: url('valhalla-entry-battle-v2.png'); background-position: center 28%; }
.gallery-page::before { background: linear-gradient(90deg,rgba(2,4,3,.48),rgba(2,4,3,.08) 65%,rgba(2,4,3,.14)),linear-gradient(0deg,rgba(2,3,2,.37),transparent 65%); }
.gallery-heading { display: flex; align-items: end; justify-content: space-between; gap: 3rem; }
.gallery-heading h2 { margin-bottom: 0; }
.gallery-intro { display: grid; justify-items: end; gap: .42rem; max-width: 420px; padding: .72rem .85rem; border-right: 2px solid var(--gold); background: rgba(1,3,2,.70); text-align: right; text-shadow: 0 2px 16px rgba(0,0,0,.95); }
.gallery-intro p { margin: 0; color: var(--gold-bright); font: 900 clamp(.68rem,.95vw,.8rem) var(--serif); letter-spacing: .14em; line-height: 1.5; }
.gallery-intro small { color: var(--gold-copy); font: 800 .6rem var(--serif); letter-spacing: .1em; line-height: 1.58; }
.featured-work-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 2.5rem; }
.featured-work-card { position: relative; isolation: isolate; min-height: 340px; margin: 0; overflow: hidden; border: 1px solid rgba(255,215,0,.58); background: #07100b; box-shadow: 0 18px 38px rgba(0,0,0,.38); cursor: zoom-in; }
.featured-work-card img { display: block; width: 100%; height: 100%; min-height: 340px; object-fit: cover; filter: saturate(1.06) contrast(1.03); transition: transform .36s ease, filter .36s ease; }
.featured-work-card figcaption { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; display: grid; gap: .25rem; padding: 3.4rem .95rem .85rem; background: linear-gradient(0deg,rgba(1,3,2,.98),rgba(1,3,2,.84) 52%,transparent); text-shadow: 0 2px 0 var(--gold-shadow), 0 2px 12px rgba(0,0,0,.96); }
.featured-work-card figcaption span { color: var(--gold); font: 800 .55rem var(--serif); letter-spacing: .13em; }
.featured-work-card figcaption strong { color: var(--gold-bright); font: 900 clamp(.72rem,1vw,.9rem) var(--serif); letter-spacing: .08em; line-height: 1.35; }
.featured-work-card figcaption small { color: var(--gold-copy); font: 800 .5rem var(--serif); letter-spacing: .11em; }
.featured-work-card:hover img, .featured-work-card:focus-visible img { filter: saturate(1.14) contrast(1.08); transform: scale(1.045); }
.featured-work-card:hover, .featured-work-card:focus-visible { border-color: var(--gold-bright); box-shadow: 0 0 0 3px rgba(255,215,0,.16), 0 24px 48px rgba(0,0,0,.56); outline: none; }
.project-gallery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; margin-top: 2.6rem; }
.project-photo { position: relative; min-height: 260px; margin: 0; overflow: hidden; border: 1px solid rgba(216,168,70,.42); background: #07100b; box-shadow: 0 18px 38px rgba(0,0,0,.28); }
.project-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .38s ease; }
.project-photo:hover img { transform: scale(1.045); }
.project-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 1.25rem .9rem .78rem; color: var(--gold-bright); background: linear-gradient(0deg,rgba(1,3,2,.91),rgba(1,3,2,.07)); font: 800 .59rem var(--serif); letter-spacing: .12em; text-shadow: 0 1px 0 var(--gold-shadow), 0 2px 12px rgba(0,0,0,.96); }
.wide-photo { grid-column: span 2; }
.gallery-project-divider { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-top: 4.3rem; padding-top: 1.4rem; border-top: 1px solid rgba(216,168,70,.38); }
.gallery-project-divider span { color: var(--gold); font: 800 .58rem var(--serif); letter-spacing: .19em; }
.gallery-project-divider h3 { margin: .35rem 0 0; color: var(--gold-bright); font: 800 clamp(1.15rem,2.3vw,1.65rem) var(--serif); letter-spacing: .075em; }
.gallery-project-divider p { display: none; }
.gallery-note { margin: 1.2rem 0 0; color: var(--gold-bright); font: 700 .64rem var(--serif); letter-spacing: .1em; }
.gallery-lightbox { position: fixed; z-index: 120; inset: 0; display: grid; place-items: center; padding: clamp(.75rem,3vw,2rem); }
.gallery-lightbox__backdrop { position: absolute; inset: 0; border: 0; background: rgba(0,0,0,.9); backdrop-filter: blur(8px); }
.gallery-lightbox__panel { position: relative; z-index: 1; display: grid; gap: .75rem; width: min(1120px,100%); max-height: calc(100vh - 1.5rem); padding: .75rem; border: 1px solid rgba(255,215,0,.76); background: #030503; box-shadow: 0 28px 90px rgba(0,0,0,.78); }
.gallery-lightbox__panel img { display: block; width: 100%; max-height: min(77vh,810px); object-fit: contain; background: #000; }
.gallery-lightbox__panel p { margin: 0; padding: 0 .15rem .1rem; color: var(--gold-bright); font: 800 .66rem var(--serif); letter-spacing: .11em; line-height: 1.52; }
.gallery-lightbox__close { position: absolute; z-index: 2; top: 1rem; right: 1rem; display: grid; width: 2.5rem; height: 2.5rem; place-items: center; color: var(--gold-bright); border: 1px solid rgba(255,215,0,.7); background: rgba(1,3,2,.82); font: 900 1.65rem/1 var(--serif); }
.gallery-lightbox__close:hover, .gallery-lightbox__close:focus-visible { background: #15301d; outline: none; }

.hub-page { background-image: url('valhalla-contact.png'); background-position: 42% center; }
.hub-page::before { background: linear-gradient(90deg,rgba(2,4,3,.55),rgba(2,4,3,.12) 56%,transparent),linear-gradient(0deg,rgba(2,3,2,.36),transparent 70%); }
.hub-layout { display: grid; grid-template-columns: minmax(0,.68fr) minmax(440px,1.18fr); align-items: center; gap: clamp(2rem,6vw,6rem); }
.hub-content { display: grid; gap: 1.65rem; }
.credential-facts { display: grid; gap: .85rem; margin: 2.1rem 0 0; }
.credential-facts div { padding: 0 0 .76rem; border-bottom: 1px solid rgba(216,168,70,.45); }
.credential-facts dt { color: var(--gold); font: 800 .53rem var(--serif); letter-spacing: .13em; }
.credential-facts dd { margin: .34rem 0 0; color: var(--gold-bright); font: 900 1.04rem var(--serif); letter-spacing: .09em; text-shadow: 0 2px 16px rgba(0,0,0,.95); }
.social-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .8rem; }
.social-card { display: grid; min-height: 86px; align-content: center; gap: .3rem; padding: .7rem 0; text-decoration: none; background: none; border: 0; border-bottom: 1px solid rgba(216,168,70,.5); transition: transform .2s ease, color .2s ease; text-shadow: 0 2px 16px rgba(0,0,0,.95); }
.social-card:hover, .social-card:focus-visible { transform: translateX(5px); background: none; outline: none; }
.social-card span { color: var(--gold); font: 800 .78rem var(--serif); }
.social-card b { color: var(--gold-bright); font: 800 .78rem var(--serif); letter-spacing: .1em; }
.social-card small { color: var(--gold-copy); font: 700 .53rem var(--serif); letter-spacing: .1em; line-height: 1.5; }
.live-card { border-color: rgba(255,215,0,.64); }
.credential-docs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.document-card { display: grid; align-content: start; gap: .46rem; min-width: 0; color: inherit; text-decoration: none; padding: .45rem; border: 1px solid rgba(216,168,70,.43); background: rgba(2,4,3,.68); box-shadow: 0 10px 26px rgba(0,0,0,.24); transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.document-card:hover, .document-card:focus-visible { transform: translateY(-4px); border-color: var(--gold-bright); background: rgba(8,18,11,.82); outline: none; }
.document-card img { display: block; width: 100%; aspect-ratio: .58; object-fit: cover; object-position: top; border: 1px solid rgba(255,215,0,.35); background: #050605; }
.document-card span { color: var(--gold); font: 800 .48rem var(--serif); letter-spacing: .08em; line-height: 1.45; }
.document-card b { color: var(--gold-bright); font: 800 .47rem var(--serif); letter-spacing: .07em; line-height: 1.45; }

.bid-page { background-image: url('valhalla-entry-battle.png'); background-position: center; text-align: right; }
.bid-page::before { background: linear-gradient(90deg,transparent,rgba(1,3,2,.16) 48%,rgba(1,3,2,.58) 100%),linear-gradient(0deg,rgba(2,3,2,.34),transparent 60%); }
.bid-layout { display: grid; justify-items: end; }
.bid-card { max-width: 580px; padding: 0; border: 0; background: none; text-shadow: 0 2px 18px rgba(0,0,0,.96); }
.bid-card > p:not(.eyebrow):not(.contact-email) { color: var(--gold-copy); font-weight: 700; line-height: 1.7; -webkit-text-stroke: .15px var(--gold-shadow); text-shadow: 0 2px 0 var(--gold-shadow), 0 0 16px rgba(0,0,0,.96); }
.bid-actions { justify-content: end; }
.contact-email { margin: 1.6rem 0 0; color: var(--gold-bright); font: 800 .78rem var(--serif); letter-spacing: .12em; }

.message-page { background-image: url('valhalla-contact.png'); background-position: 42% center; }
.message-page::before { background: linear-gradient(90deg,rgba(2,4,3,.62),rgba(2,4,3,.18) 56%,transparent),linear-gradient(0deg,rgba(2,3,2,.38),transparent 70%); }
.message-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(340px,.9fr); align-items: center; gap: clamp(2rem,7vw,6rem); }
.message-copy { text-shadow: 0 2px 18px rgba(0,0,0,.92); }
.message-phone { margin: 1.4rem 0 0; color: var(--gold-bright); font: 800 .65rem var(--serif); letter-spacing: .13em; line-height: 1.6; }
.contact-form { display: grid; gap: .65rem; padding: clamp(1rem,2.4vw,1.5rem); border: 1px solid rgba(216,168,70,.5); background: rgba(2,4,3,.74); box-shadow: 0 20px 50px rgba(0,0,0,.35); }
.contact-form label { color: var(--gold); font: 800 .56rem var(--serif); letter-spacing: .13em; }
.contact-form input, .contact-form textarea { width: 100%; color: var(--gold-bright); border: 1px solid rgba(255,214,106,.42); background: rgba(0,0,0,.4); padding: .76rem; outline: none; font: .86rem var(--sans); }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--gold-bright); }
.contact-form button { border: 1px solid var(--gold); color: var(--gold-bright); background: rgba(5,12,7,.88); padding: .9rem; font: 800 .64rem var(--serif); letter-spacing: .1em; text-shadow: 0 1px 0 var(--gold-shadow); }
.contact-form button:hover, .contact-form button:focus-visible { background: #15301d; outline: none; }
.contact-form button:disabled { opacity: .65; cursor: wait; }
.contact-status { margin: .35rem 0 0; color: var(--gold-copy); font-size: .72rem; line-height: 1.5; }

footer { display: grid; justify-items: center; gap: .6rem; padding: 2.4rem 1.5rem; background: #030403; border-top: 1px solid rgba(216,168,70,.24); text-align: center; }
footer p { margin: 0; color: var(--gold-copy); font: 800 .66rem var(--serif); letter-spacing: .14em; }
footer small { color: var(--gold); font: 700 .59rem var(--serif); letter-spacing: .15em; }

@media (max-width: 960px) {
  .site-header { padding-inline: 1rem; }
  .home-layout, .deals-layout, .hub-layout, .message-layout { grid-template-columns: 1fr; }
  .story-points--three { grid-template-columns: 1fr; }
  .home-page { background-position: 66% center; }
  .split-heading, .gallery-heading { align-items: start; flex-direction: column; gap: .7rem; }
  .split-heading p, .gallery-heading > p { max-width: 600px; }
  .service-grid, .project-gallery, .featured-work-grid, .game-grid { grid-template-columns: repeat(2,1fr); }
  .bid-page { text-align: left; background-position: 38% center; }
  .bid-layout { justify-items: start; }
  .bid-actions { justify-content: start; }
}

@media (max-width: 700px) {
  .gate-content { margin-bottom: 2.2rem; }
  #enter { min-width: min(100%, 285px); padding: 1.02rem 1rem; font-size: .71rem; }
  #sound { right: .75rem; bottom: .75rem; }
  .site-header { min-height: 70px; gap: .7rem; }
  .brand-primary-mark { width: 45px; height: 45px; flex-basis: 45px; }
  .brand b { font-size: .67rem; }
  .brand small { display: none; }
  nav { gap: .9rem; max-width: 66vw; }
  nav a { font-size: .55rem; }
  .nav-cta { padding: .7rem .65rem; }
  .page { min-height: 700px; padding: 4.6rem 0 5.2rem; }
  .page-shell { width: min(100% - 2rem,1180px); }
  h1 { font-size: clamp(3rem,16vw,5rem); }
  h2 { font-size: clamp(2.18rem,12vw,3.25rem); }
  .home-page::before { background: linear-gradient(0deg,rgba(1,3,2,.68),rgba(1,3,2,.17) 62%,transparent 92%); }
  .home-service-line { font-size: .61rem; letter-spacing: .09em; }
  .story-page { min-height: 700px; background-position: 58% center; }
  .story-grid, .story-stats { grid-template-columns: 1fr; }
  .story-block--wide { grid-column: span 1; }
  .story-stats div { min-height: 0; }
  .story-manifesto { font-size: .67rem; }
  .story-points li { font-size: .79rem; }
  .proof-row { gap: .45rem; }
  .proof-row span { font-size: .52rem; }
  .service-grid, .project-gallery, .featured-work-grid, .social-grid, .credential-docs, .offer-grid, .game-grid { grid-template-columns: 1fr; }
  .credential-docs { max-width: 330px; }
  .service-grid article { min-height: auto; }
  .service-grid span { margin-bottom: .65rem; }
  .split-heading p { max-width: 100%; font-size: .82rem; }
  .featured-work-card, .featured-work-card img { min-height: 315px; }
  .gallery-intro { justify-items: start; width: 100%; border-right: 0; border-left: 2px solid var(--gold); text-align: left; }
  .gallery-lightbox { padding: .35rem; }
  .gallery-lightbox__panel { max-height: calc(100vh - .7rem); padding: .45rem; }
  .gallery-lightbox__panel img { max-height: 72vh; }
  .gallery-lightbox__panel p { padding: 0 .2rem .3rem; font-size: .56rem; }
  .offer-grid article { min-height: 122px; }
  .game-card { min-height: 238px; }
  .game-modal { padding: .35rem; }
  .game-modal__panel { max-height: calc(100vh - .7rem); padding: 1rem; }
  .game-modal__panel h2 { padding-right: 2.4rem; font-size: clamp(1.7rem,10vw,2.6rem); }
  .game-modal__description { margin-right: 0; font-size: .82rem; }
  .game-modal__status { align-items: start; flex-direction: column; gap: .28rem; font-size: .52rem; }
  .game-modal__actions { display: grid; grid-template-columns: 1fr; }
  .game-modal__actions .button, .game-modal__actions .outlined-button { width: 100%; text-align: center; }
  .game-canvas-wrap { aspect-ratio: 1 / 1.05; }
  .project-photo { min-height: 245px; }
  .wide-photo { grid-column: span 1; }
  .gallery-project-divider { align-items: start; flex-direction: column; gap: .65rem; margin-top: 3rem; }
  .bid-page::before { background: linear-gradient(0deg,rgba(1,3,2,.7),rgba(1,3,2,.18) 62%,transparent 92%); }
  .page-next { right: 1rem; bottom: 1.25rem; font-size: .56rem; }
}

/* Cinematic image-first pass: scenes lead, the words live inside them. */
:root { --film-shadow: rgba(0, 0, 0, .96); }

.page {
  min-height: max(760px, calc(100svh - 78px));
  padding-top: clamp(5.5rem, 9vw, 8.5rem);
  padding-bottom: clamp(5.75rem, 9vw, 8.75rem);
}

.page::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .78) 0%, rgba(1, 3, 2, .58) 27%, rgba(1, 3, 2, .13) 56%, rgba(1, 3, 2, .05) 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .42) 0%, transparent 42%, rgba(1, 3, 2, .10) 100%);
}

.page::after { display: none; }
.page-shell { width: min(1280px, calc(100% - clamp(2rem, 8vw, 12rem))); }

.page-copy,
.story-intro,
.games-copy,
.emergency-panel,
.bid-card,
.message-copy { text-shadow: 0 3px 24px var(--film-shadow); }

h1,
h2,
h3 { text-wrap: balance; }

.eyebrow { color: #ffe99b; text-shadow: 0 2px 0 #110900, 0 0 18px var(--film-shadow); }

.home-page::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .80) 0%, rgba(1, 3, 2, .56) 33%, rgba(1, 3, 2, .12) 66%, transparent 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .37), transparent 54%);
}

.home-story {
  max-width: 45rem;
  padding: .15rem 0 .15rem 1.15rem;
  border-left: 2px solid rgba(255, 215, 0, .72);
  background: linear-gradient(90deg, rgba(1, 3, 2, .28), transparent 88%);
}

.home-story--full { gap: .7rem; }
.proof-row { gap: .4rem .7rem; }
.proof-row span { padding: 0; border: 0; background: none; }
.proof-row span:not(:last-child)::after { content: ' ·'; margin-left: .7rem; color: var(--gold); }

.button,
.outlined-button {
  border: 0;
  border-bottom: 2px solid rgba(255, 215, 0, .82);
  background: linear-gradient(90deg, rgba(4, 11, 7, .82), rgba(4, 11, 7, .25));
  box-shadow: none;
}

.button:hover,
.button:focus-visible,
.outlined-button:hover,
.outlined-button:focus-visible {
  background: linear-gradient(90deg, rgba(23, 48, 29, .94), rgba(23, 48, 29, .32));
  box-shadow: 0 12px 28px rgba(0, 0, 0, .32);
}

.story-page { min-height: max(920px, calc(100svh - 78px)); background-position: 52% center; }
.story-page::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .78) 0%, rgba(1, 3, 2, .52) 38%, rgba(1, 3, 2, .09) 72%, transparent 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .56), transparent 54%);
}

.story-layout { gap: clamp(2rem, 4vw, 4rem); }
.story-grid { max-width: 920px; gap: clamp(1.4rem, 3vw, 2.5rem); }
.story-block,
.story-block--wide {
  padding: .25rem 0 .25rem clamp(1rem, 2vw, 1.5rem);
  border: 0;
  border-left: 1px solid rgba(255, 215, 0, .68);
  background: none;
  box-shadow: none;
}
.story-block--wide { grid-column: span 2; }
.story-block p { font-size: clamp(.9rem, 1.15vw, 1.02rem); }
.story-stats {
  gap: clamp(.8rem, 2vw, 1.6rem);
  margin-top: 1.6rem;
  padding: 1.1rem 0;
  border-top: 1px solid rgba(255, 215, 0, .46);
  border-bottom: 1px solid rgba(255, 215, 0, .32);
}
.story-stats div { min-height: 0; padding: 0; border: 0; background: none; }
.story-closer { padding-left: clamp(1rem, 2vw, 1.5rem); border-top: 0; border-left: 1px solid rgba(255, 215, 0, .68); }

.services-page { background-position: 62% center; }
.services-page::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .75) 0%, rgba(1, 3, 2, .49) 34%, rgba(1, 3, 2, .10) 68%, transparent 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .42), transparent 56%);
}
.split-heading p { padding: .2rem 0 .2rem 1.1rem; background: none; border-left: 2px solid var(--gold); }
.service-grid { gap: clamp(1.25rem, 3vw, 2.65rem) clamp(1.1rem, 2vw, 2rem); margin-top: clamp(2.8rem, 6vw, 5.25rem); }
.service-grid article {
  min-height: 134px;
  padding: .15rem 0 .25rem 1.1rem;
  border: 0;
  border-left: 1px solid rgba(255, 215, 0, .74);
  background: none;
}
.service-grid article:nth-child(even) { transform: translateY(1.4rem); }
.service-grid span { margin-bottom: .45rem; }
.service-grid h3 { margin-bottom: .35rem; font-size: clamp(1.15rem, 1.8vw, 1.55rem); }
.service-grid p { max-width: 18rem; font-size: clamp(.67rem, .95vw, .78rem); }

.deals-page::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .74) 0%, rgba(1, 3, 2, .48) 34%, rgba(1, 3, 2, .12) 70%, transparent 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .44), transparent 58%);
}
.offer-grid { gap: clamp(1.25rem, 3vw, 2.5rem); }
.offer-grid article { min-height: 132px; padding: .3rem 0 .3rem 1.15rem; border-left: 1px solid rgba(255, 215, 0, .64); text-align: left; }

.games-page::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .74) 0%, rgba(1, 3, 2, .40) 39%, rgba(1, 3, 2, .10) 70%, transparent 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .48), transparent 58%);
}
.game-grid { gap: 1px; margin-top: .7rem; background: rgba(255, 215, 0, .22); }
.game-card {
  min-height: clamp(370px, 34vw, 490px);
  padding: clamp(1.2rem, 2.4vw, 2rem);
  border: 0;
  background-color: #050705;
  box-shadow: none;
}
.game-card::after { display: none; }
.game-card::before { background: linear-gradient(90deg, rgba(1, 3, 2, .78), rgba(1, 3, 2, .20) 70%, rgba(1, 3, 2, .04)), linear-gradient(0deg, rgba(1, 3, 2, .86), transparent 70%); }
.game-card:hover,
.game-card:focus-visible { border: 0; box-shadow: inset 0 0 0 2px rgba(255, 215, 0, .78); transform: none; }
.game-card:hover::before,
.game-card:focus-visible::before { background: linear-gradient(90deg, rgba(1, 3, 2, .56), rgba(1, 3, 2, .08) 70%, transparent), linear-gradient(0deg, rgba(1, 3, 2, .76), transparent 74%); }
.game-rules { max-width: 100%; background: none; }

.gallery-page { min-height: max(1080px, calc(100svh - 78px)); background-position: center; }
.gallery-page::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .70) 0%, rgba(1, 3, 2, .26) 48%, rgba(1, 3, 2, .08) 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .56), transparent 64%);
}
.gallery-intro { padding: .25rem 0 .25rem 1.1rem; border: 0; border-left: 2px solid var(--gold); background: none; text-align: left; justify-items: start; }
.featured-work-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(.3rem, .8vw, .8rem); margin-top: clamp(2.6rem, 5vw, 5rem); }
.featured-work-card { min-height: 300px; border: 0; background: none; box-shadow: none; }
.featured-work-card img { min-height: 300px; }
.featured-work-card:nth-child(1) { grid-column: span 7; grid-row: span 2; min-height: 620px; }
.featured-work-card:nth-child(1) img { min-height: 620px; }
.featured-work-card:nth-child(2),
.featured-work-card:nth-child(3) { grid-column: span 5; }
.featured-work-card:nth-child(4),
.featured-work-card:nth-child(5),
.featured-work-card:nth-child(6) { grid-column: span 4; }
.featured-work-card:nth-child(7),
.featured-work-card:nth-child(8) { grid-column: span 6; }
.featured-work-card figcaption { gap: .42rem; padding: clamp(2.5rem, 7vw, 5rem) clamp(1rem, 2.3vw, 1.85rem) clamp(1rem, 2vw, 1.55rem); background: linear-gradient(0deg, rgba(1, 3, 2, .98), rgba(1, 3, 2, .69) 40%, transparent 100%); }
.featured-work-card figcaption span { font-size: clamp(.62rem, .86vw, .78rem); }
.featured-work-card figcaption strong { color: #fff0aa; font-size: clamp(1.05rem, 1.55vw, 1.55rem); line-height: 1.18; }
.featured-work-card figcaption small { color: #f4cf6c; font-size: clamp(.54rem, .72vw, .67rem); }
.featured-work-card:hover,
.featured-work-card:focus-visible { border: 0; box-shadow: inset 0 0 0 2px rgba(255, 215, 0, .78); transform: none; }

.hub-page::before,
.message-page::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .76) 0%, rgba(1, 3, 2, .48) 36%, rgba(1, 3, 2, .12) 70%, transparent 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .44), transparent 60%);
}
.social-grid { gap: 1.15rem; }
.social-card { min-height: 0; padding: .45rem 0 .65rem 1rem; border-bottom: 0; border-left: 1px solid rgba(255, 215, 0, .60); }
.credential-docs { gap: 1.1rem; }
.document-card { padding: 0; border: 0; background: none; box-shadow: none; }
.document-card:hover,
.document-card:focus-visible { background: none; border: 0; box-shadow: none; }
.document-card img { border: 0; box-shadow: 0 20px 50px rgba(0, 0, 0, .35); }

.bid-page::before {
  background:
    linear-gradient(90deg, transparent 0%, rgba(1, 3, 2, .12) 42%, rgba(1, 3, 2, .70) 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .40), transparent 60%);
}
.contact-form { padding: 0; border: 0; background: none; box-shadow: none; }
.contact-form input,
.contact-form textarea { border: 0; border-bottom: 1px solid rgba(255, 215, 0, .66); background: linear-gradient(90deg, rgba(1, 3, 2, .68), rgba(1, 3, 2, .12)); }
.contact-form button { border: 0; border-bottom: 2px solid rgba(255, 215, 0, .82); background: linear-gradient(90deg, rgba(4, 11, 7, .86), rgba(4, 11, 7, .22)); }

@media (max-width: 960px) {
  .story-grid { max-width: 720px; }
  .service-grid article:nth-child(even) { transform: none; }
  .featured-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .featured-work-card,
  .featured-work-card:nth-child(n) { grid-column: span 1; grid-row: span 1; min-height: 360px; }
  .featured-work-card img,
  .featured-work-card:nth-child(n) img { min-height: 360px; }
}

@media (max-width: 700px) {
  .page { min-height: 760px; padding-top: 5.1rem; padding-bottom: 5.5rem; }
  .page::before,
  .home-page::before,
  .story-page::before,
  .services-page::before,
  .deals-page::before,
  .games-page::before,
  .gallery-page::before,
  .hub-page::before,
  .message-page::before,
  .bid-page::before {
    background: linear-gradient(0deg, rgba(1, 3, 2, .84) 0%, rgba(1, 3, 2, .58) 36%, rgba(1, 3, 2, .17) 76%, rgba(1, 3, 2, .08) 100%);
  }
  .home-story { padding-left: .9rem; }
  .story-page { min-height: 900px; }
  .story-grid { gap: 1.3rem; }
  .story-block,
  .story-block--wide { grid-column: span 1; padding-left: .9rem; }
  .story-stats { gap: 1rem; }
  .split-heading p { padding-left: .9rem; }
  .service-grid { gap: 1.35rem; margin-top: 2.4rem; }
  .service-grid article { min-height: auto; padding-left: .9rem; }
  .game-grid { grid-template-columns: 1fr; gap: .45rem; }
  .game-card { min-height: 290px; }
  .gallery-page { min-height: 900px; }
  .featured-work-grid { grid-template-columns: 1fr; gap: .55rem; }
  .featured-work-card,
  .featured-work-card:nth-child(n),
  .featured-work-card img,
  .featured-work-card:nth-child(n) img { min-height: 330px; }
  .featured-work-card figcaption { padding: 3.4rem 1rem 1rem; }
  .featured-work-card figcaption strong { font-size: 1.12rem; }
  .social-card { padding-left: .85rem; }
  .contact-form { margin-top: 1rem; }
}

/* Vivid scene correction: the artwork stays visible; only the type gets protection. */
.page::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .48) 0%, rgba(1, 3, 2, .28) 27%, rgba(1, 3, 2, .06) 56%, transparent 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .23) 0%, transparent 52%);
}

.home-page::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .54) 0%, rgba(1, 3, 2, .30) 34%, rgba(1, 3, 2, .05) 65%, transparent 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .22), transparent 58%);
}

.story-page::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .52) 0%, rgba(1, 3, 2, .28) 38%, rgba(1, 3, 2, .05) 72%, transparent 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .30), transparent 58%);
}

.services-page::before,
.deals-page::before,
.games-page::before,
.hub-page::before,
.message-page::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .47) 0%, rgba(1, 3, 2, .24) 36%, rgba(1, 3, 2, .04) 70%, transparent 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .24), transparent 60%);
}

.gallery-page::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .40) 0%, rgba(1, 3, 2, .13) 48%, rgba(1, 3, 2, .03) 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .25), transparent 68%);
}

.bid-page::before {
  background:
    linear-gradient(90deg, transparent 0%, rgba(1, 3, 2, .05) 42%, rgba(1, 3, 2, .46) 100%),
    linear-gradient(0deg, rgba(1, 3, 2, .22), transparent 64%);
}

.game-card::before {
  background:
    linear-gradient(90deg, rgba(1, 3, 2, .48), rgba(1, 3, 2, .07) 70%, transparent),
    linear-gradient(0deg, rgba(1, 3, 2, .64), transparent 70%);
}

.featured-work-card figcaption {
  background: linear-gradient(0deg, rgba(1, 3, 2, .86), rgba(1, 3, 2, .40) 38%, transparent 100%);
}

@media (max-width: 700px) {
  .page::before,
  .home-page::before,
  .story-page::before,
  .services-page::before,
  .deals-page::before,
  .games-page::before,
  .gallery-page::before,
  .hub-page::before,
  .message-page::before,
  .bid-page::before {
    background: linear-gradient(0deg, rgba(1, 3, 2, .55) 0%, rgba(1, 3, 2, .28) 38%, rgba(1, 3, 2, .06) 76%, transparent 100%);
  }
  .game-card::before { background: linear-gradient(0deg, rgba(1, 3, 2, .62), rgba(1, 3, 2, .08) 76%, transparent 100%); }
}

/* Keep every Valhalla scene as vivid as the original image itself. */
.page::before,
.home-page::before,
.story-page::before,
.services-page::before,
.deals-page::before,
.games-page::before,
.hub-page::before,
.message-page::before {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .20) 0%, rgba(0, 0, 0, .06) 30%, transparent 58%),
    linear-gradient(0deg, rgba(0, 0, 0, .16), transparent 58%);
}

.gallery-page::before { background: linear-gradient(0deg, rgba(0, 0, 0, .14), transparent 60%); }
.bid-page::before { background: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .03) 45%, rgba(0, 0, 0, .22) 100%); }
.game-card::before { background: linear-gradient(0deg, rgba(0, 0, 0, .48), transparent 72%); }

@media (max-width: 700px) {
  .page::before,
  .home-page::before,
  .story-page::before,
  .services-page::before,
  .deals-page::before,
  .games-page::before,
  .gallery-page::before,
  .hub-page::before,
  .message-page::before,
  .bid-page::before { background: linear-gradient(0deg, rgba(0, 0, 0, .30), rgba(0, 0, 0, .09) 52%, transparent 90%); }
  .game-card::before { background: linear-gradient(0deg, rgba(0, 0, 0, .50), transparent 78%); }
}

/* New wide mythic scene set — no washed-out stock backgrounds and no close crops. */
.gate-scene {
  background: url('valhalla-blood-battle-v1.png') center / cover no-repeat;
  filter: none;
  transform: none;
}

.home-page { background-image: url('valhalla-blood-battle-v1.png'); background-position: center; }
.story-page { background-image: url('valhalla-great-hall-feast-v1.png'); background-position: center; }
.services-page { background-image: url('valhalla-mythic-fjord-v1.png'); background-position: center; }
.deals-page { background-image: url('valhalla-great-hall-feast-v1.png'); background-position: center; }
.games-page { background-image: url('valhalla-blood-battle-v1.png'); background-position: center; }
.emergency-page { background-image: url('valhalla-longship-raid-v1.png'); background-position: center; }
.gallery-page { background-image: url('valhalla-blood-battle-v1.png'); background-position: center; }
.hub-page { background-image: url('valhalla-mythic-fjord-v1.png'); background-position: center; }
.bid-page { background-image: url('valhalla-longship-raid-v1.png'); background-position: center; }
.message-page { background-image: url('valhalla-great-hall-feast-v1.png'); background-position: center; }

.page::before,
.home-page::before,
.story-page::before,
.services-page::before,
.deals-page::before,
.games-page::before,
.gallery-page::before,
.hub-page::before,
.message-page::before,
.bid-page::before { background: none; }

.page,
.gate-scene { background-repeat: no-repeat; background-size: cover; }

.page-copy,
.story-intro,
.story-block,
.story-closer,
.games-copy,
.emergency-panel,
.bid-card,
.message-copy,
.split-heading,
.offer-grid { text-shadow: 0 3px 3px rgba(0, 0, 0, .98), 0 0 22px rgba(0, 0, 0, .85); }

@media (max-width: 700px) {
  .home-page,
  .story-page,
  .services-page,
  .deals-page,
  .games-page,
  .emergency-page,
  .gallery-page,
  .hub-page,
  .bid-page,
  .message-page { background-position: center center; }
}
