@font-face {
    font-family: "Cormorant Garamond Local";
    src: url("/res/fonts/CormorantGaramond-Variable.ttf") format("truetype-variations");
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
}

.game-hero { position: relative; min-height: min(820px, 88vh); display: flex; align-items: center; isolation: isolate; overflow: hidden; padding: 130px 0 80px; border-bottom: 1px solid rgba(198,160,92,.2); }
.game-hero-picture, .game-hero-picture img { position: absolute; inset: 0; width: 100%; height: 100%; }
.game-hero-picture { z-index: -2; }
.game-hero-picture img { object-fit: cover; object-position: center; transform: scale(1.08); }
.game-hero::after { position: absolute; inset: 0; z-index: -1; content: ""; background: linear-gradient(90deg, rgba(5,4,3,.91) 0%, rgba(5,4,3,.72) 48%, rgba(5,4,3,.18) 100%); }
.game-hero-inner { width: 100%; }
.game-hero-copy { max-width: 850px; margin-left: clamp(12px, 2vw, 32px); }
.game-hero h1, .game-section h2, .game-definition h2, .game-final-cta h2 { margin: 0; color: #ead29b; font-family: "Cormorant Garamond Local", Georgia, serif; font-weight: 430; line-height: .98; }
.game-hero h1 { font-size: clamp(3.4rem, 7vw, 6rem); text-shadow: 0 12px 32px rgba(0,0,0,.5); }
.game-hero h1 span { color: #f0e7d7; }
.game-hero-copy > p:not(.eyebrow) { max-width: 710px; margin: 26px 0 0; color: #dfd2bd; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.08rem, 2vw, 1.38rem); line-height: 1.75; }
.game-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 32px; }
.text-link { color: var(--gold-light); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.text-link:hover { color: var(--text); }

.game-definition { padding: 70px 0 26px; }
.definition-card { max-width: 1050px; margin-inline: auto; padding: clamp(30px, 5vw, 58px); border: 1px solid rgba(198,160,92,.42); border-radius: 16px; background: linear-gradient(145deg, rgba(40,31,21,.94), rgba(16,13,10,.98)); box-shadow: 0 24px 70px rgba(0,0,0,.26); text-align: center; }
.definition-card h2 { font-size: clamp(1.9rem, 3.2vw, 3rem); line-height: 1.08; }
.definition-card > p:last-child { max-width: 850px; margin: 25px auto 0; color: #cfc0a8; font-size: 1.03rem; line-height: 1.9; }

.game-section { padding: clamp(70px, 8vw, 108px) 0; }
.game-section h2, .game-final-cta h2 { font-size: clamp(1.9rem, 3.2vw, 3rem); line-height: 1.08; }
.game-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 48px; counter-reset: step; }
.game-steps article { position: relative; min-height: 250px; padding: 30px 26px; overflow: hidden; border: 1px solid rgba(198,160,92,.28); border-radius: 13px; background: linear-gradient(150deg, rgba(42,32,21,.88), rgba(17,14,10,.97)); }
.game-steps article > img { display: block; width: calc(100% + 52px); height: 190px; margin: -30px -26px 26px; border-bottom: 1px solid rgba(198,160,92,.22); object-fit: cover; object-position: center 20%; }
.game-steps article::after { position: absolute; right: -12px; bottom: -42px; color: rgba(224,193,126,.055); content: attr(data-step); font: 700 9rem/1 Georgia,serif; }
.game-steps article > span { display: inline-grid; width: 46px; height: 46px; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-light); font: 700 .78rem Georgia,serif; }
.game-steps h3, .team-features h3 { margin: 24px 0 10px; color: var(--gold-light); font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; }
.game-steps p, .team-features p { margin: 0; color: var(--text-muted); line-height: 1.75; }

.game-contrast { border-block: 1px solid rgba(198,160,92,.15); background: rgba(22,17,12,.62); }
.split-panel { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(260px,.7fr); align-items: center; gap: clamp(40px, 8vw, 110px); }
.split-copy p:not(.eyebrow) { max-width: 760px; color: #c8baa3; font-size: 1.02rem; line-height: 1.85; }
.evidence-motif { position: relative; min-height: 340px; display: grid; place-items: center; border: 1px solid rgba(198,160,92,.25); border-radius: 50% 48% 52% 45%; background: radial-gradient(circle, rgba(126,88,41,.35), rgba(20,15,10,.1) 66%, transparent 67%); }
.evidence-motif img { width: min(76%, 350px); filter: drop-shadow(0 28px 34px rgba(0,0,0,.55)); }

.team-heading { max-width: 940px; }
.team-heading > p:last-child { color: #c8baa3; font-size: 1.05rem; line-height: 1.85; }
.team-visual { position: relative; overflow: hidden; margin: 42px 0 0; border: 1px solid rgba(198,160,92,.27); border-radius: 14px; box-shadow: 0 24px 70px rgba(0,0,0,.38); }
.team-visual::after { position: absolute; inset: 0; content: ""; box-shadow: inset 0 0 70px rgba(5,4,3,.35); pointer-events: none; }
.team-visual img { display: block; width: 100%; max-height: 640px; object-fit: cover; object-position: center; }
.team-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 46px; }
.team-features article { padding: 32px; border: 1px solid rgba(198,160,92,.31); border-radius: 15px; background: rgba(24,19,14,.9); }
.team-features img, .team-symbol { width: 84px; height: 84px; display: grid; place-items: center; object-fit: contain; }
.team-symbol { border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-light); font: 500 2rem Georgia,serif; }

.new-cases-section { padding-top: 24px; }
.new-cases-card { display: flex; align-items: center; justify-content: space-between; gap: 42px; padding: clamp(34px, 5vw, 62px); border: 1px solid rgba(198,160,92,.46); border-radius: 16px; background: linear-gradient(120deg, rgba(73,48,24,.7), rgba(22,17,12,.96) 68%); }
.new-cases-card > div { max-width: 850px; }
.new-cases-card p:last-child { margin-bottom: 0; color: #c8baa3; line-height: 1.8; }
.new-cases-card .button { flex: 0 0 auto; }

.requirements-section { border-block: 1px solid rgba(198,160,92,.15); background: rgba(14,11,8,.58); }
.requirements-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px,8vw,110px); }
.requirements-grid ul { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.requirements-grid li { position: relative; padding: 16px 18px 16px 48px; border-bottom: 1px solid rgba(198,160,92,.2); color: #d4c6b0; }
.requirements-grid li::before { position: absolute; top: 18px; left: 17px; color: var(--gold-light); content: "✓"; font-weight: 800; }

.transparency-section { padding-top: 18px; }
.transparency-card { max-width: 1040px; padding: clamp(28px,5vw,54px); border: 1px solid rgba(198,160,92,.22); border-radius: 14px; background: linear-gradient(135deg,rgba(32,25,18,.88),rgba(15,13,11,.92)); }
.transparency-card h2 { max-width: 820px; }
.transparency-card p:not(.eyebrow) { max-width: 900px; margin: 20px 0 0; color: var(--text-muted); line-height: 1.8; }

.faq-layout { display: grid; grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr); align-items: start; gap: clamp(42px,8vw,110px); }
.faq-layout > div:first-child > p:last-child { color: var(--text-muted); }
.faq-list { display: grid; gap: 12px; }
.faq-list details { border: 1px solid rgba(198,160,92,.25); border-radius: 10px; background: rgba(24,19,14,.86); }
.faq-list summary { position: relative; padding: 20px 52px 20px 22px; color: #e3d5bf; font-family: Georgia,"Times New Roman",serif; font-size: 1.02rem; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { position: absolute; top: 50%; right: 22px; color: var(--gold-light); content: "+"; font: 400 1.45rem/1 Georgia,serif; transform: translateY(-50%); }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 22px 22px; color: var(--text-muted); line-height: 1.75; }

.game-final-cta { padding: 95px 0 110px; border-top: 1px solid rgba(198,160,92,.2); text-align: center; background: radial-gradient(circle at 50% 100%, rgba(120,78,31,.25), transparent 58%); }
.game-final-cta > .container > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 25px; margin-top: 32px; }

@media (max-width: 980px) {
    .game-steps { grid-template-columns: 1fr 1fr; }
    .team-features { grid-template-columns: 1fr; }
    .team-features article { display: grid; grid-template-columns: 88px 1fr; column-gap: 22px; }
    .team-features h3 { align-self: end; margin-top: 0; }
    .team-features p { grid-column: 2; }
    .split-panel, .requirements-grid, .faq-layout { grid-template-columns: 1fr; }
    .evidence-motif { min-height: 280px; }
}

@media (max-width: 680px) {
    .game-hero { min-height: 720px; padding-top: 116px; }
    .game-hero::after { background: linear-gradient(0deg, rgba(5,4,3,.94), rgba(5,4,3,.45) 80%); }
    .game-hero h1 { font-size: clamp(3.1rem, 15vw, 5rem); }
    .game-hero-copy { margin-left: 0; }
    .game-hero-actions { align-items: flex-start; flex-direction: column; }
    .game-steps { grid-template-columns: 1fr; }
    .game-steps article { min-height: 0; }
    .team-features article { display: block; }
    .team-features h3 { margin-top: 20px; }
    .team-features p { grid-column: auto; }
    .new-cases-card { align-items: flex-start; flex-direction: column; }
    .evidence-motif { min-height: 230px; }
}
