/* sponsor: owned by the sponsor agent. */

/* ---------- In-world mockups: inline SVG, 1 unit = half a metre ---------- */
.mk.mk-banner, .mk.mk-billboard, .mk.mk-storefront { display: block; padding: 0; width: auto; }
.mk-svg { display: block; height: auto; overflow: visible; }
.mk-banner .mk-svg { width: calc(var(--u) * 11); filter: drop-shadow(0 6px 8px rgba(0,0,0,.18)); }
.mk-billboard .mk-svg { width: calc(var(--u) * 21); filter: drop-shadow(0 10px 14px rgba(0,0,0,.25)); }
.mk-storefront .mk-svg { width: calc(var(--u) * 20); filter: drop-shadow(0 12px 16px rgba(0,0,0,.28)); }
.mk-t-disp { font-family: var(--display); font-weight: 900; letter-spacing: -.02em; }
.mk-t-sign { font-family: var(--serif); font-weight: 700; letter-spacing: .1em; }
.mk-t-small { font-family: var(--sans-sign); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }

/* ---------- Scene: three pieces to scale on the painted slope ---------- */
.sp-scene-row { justify-content: space-around; bottom: 6%; }
.sp-scene .mk { --u: clamp(8px, 1.2vw, 17px); }
@media (max-width: 700px) {
  .sp-scene { min-height: 230px; }
  .sp-scene-row { padding: 0 3%; gap: 4px; justify-content: space-between; }
  .sp-scene .mk { --u: 5.4px; }
  .sp-scene-item { gap: 8px; }
  .sp-scene-tag { font-size: 0; padding: 6px 9px; }
  .sp-scene-tag b { font-size: 10px; margin: 0; }
}

/* ---------- Package cards ---------- */
.package-mock { height: 210px; padding-bottom: 10px; }
@media (max-width: 520px) { .package-mock { height: 230px; } .package-mock .mk-storefront { --u: 13px; } }
.package-mock .mk-storefront { --u: 12.2px; }
.package-mock .mk-banner { --u: 15.5px; }
.package-mock .mk-billboard { --u: 9.4px; }
.package.featured .package-mock { background: radial-gradient(ellipse at 50% 100%, rgba(242,169,59,.28), transparent 60%), linear-gradient(180deg, #1B2A48, #22314F 70%, #E9EEF2 70.5%, #F6F8F9); }
.package-flag { background: var(--coral); }
.package-perks { align-content: start; }
@media (max-width: 400px) {
  .package-mock .mk-storefront { --u: 12.6px; }
  .package-mock .mk-banner { --u: 13.5px; }
  .package-mock .mk-billboard { --u: 7.8px; }
}

/* ---------- Two doors: for brands, for players ---------- */
.sp-choose { padding: clamp(40px, 5vw, 64px) 0 0; }
.sp-choose-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.sp-door { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; padding: 20px 26px 20px 20px; border-radius: 22px; text-decoration: none; color: var(--ink); background: #fff; box-shadow: 0 24px 50px -34px rgba(35,34,43,.55); transition: transform .2s var(--ease, ease), box-shadow .2s var(--ease, ease); }
.sp-door:hover { transform: translateY(-3px); box-shadow: 0 30px 60px -34px rgba(35,34,43,.6); }
.sp-door:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.sp-door-art { display: grid; place-items: center; width: 150px; height: 96px; border-radius: 14px; background: linear-gradient(180deg, #DCE8F0, #F3F6F7); }
.sp-door-brands .sp-door-art .mk { --u: 6.6px; }
.sp-door-players .sp-door-art { background: repeating-linear-gradient(180deg, #6B4A2E 0 15px, #5A3D25 15px 16px); }
.sp-door-players .np { transform: scale(.82); }
.sp-door-copy { display: grid; gap: 6px; }
.sp-door-kicker { font: 600 12px/1 var(--sans-sign); letter-spacing: .24em; text-transform: uppercase; color: #B7701A; }
.sp-door-title { font: 900 clamp(21px, 2vw, 27px)/1.05 var(--display); letter-spacing: -.02em; transform: skewX(-5deg); transform-origin: left bottom; }
.sp-door-meta { font-size: 15px; font-weight: 700; color: var(--ink-soft); }
.sp-door-go { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--ink); color: var(--cream); font-weight: 900; }
.sp-door-players .sp-door-go { background: var(--gold); color: var(--on-gold); }
@media (max-width: 900px) { .sp-choose-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) {
  .sp-door { grid-template-columns: 1fr auto; gap: 14px; padding: 16px 18px 18px; }
  .sp-door-art { grid-column: 1 / -1; width: 100%; height: 100px; }
}

/* Part markers: a small sign that says which half of the page you are in */
.sp-part { display: flex; align-items: center; gap: 16px; margin-bottom: 36px; }
.sp-part-sign { flex: none; background: var(--sign); color: var(--cream); font: 700 15px/1 var(--serif); letter-spacing: .1em; text-transform: uppercase; padding: 12px 20px 11px; border-radius: 7px; box-shadow: inset 0 0 0 2px var(--sign), inset 0 0 0 4px var(--brass), 0 10px 20px -10px rgba(0,0,0,.4); transform: rotate(-1deg); }
.sp-part-line { flex: 1; height: 2px; background: repeating-linear-gradient(90deg, rgba(127,127,140,.35) 0 8px, transparent 8px 14px); }
.sp-part-jump { flex: none; font-weight: 800; font-size: 15px; color: var(--ink-soft); text-decoration: none; padding: 8px 4px; }
.sp-part-jump:hover { color: var(--ink); text-decoration: underline; }
#brands, #players { scroll-margin-top: 80px; }

/* ---------- Home band: both audiences ---------- */
.sb-split { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 26px; }
.sb-card { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 26px 28px 28px; border-radius: 22px; background: linear-gradient(180deg, rgba(241,233,216,.08), rgba(241,233,216,.03)); box-shadow: inset 0 0 0 1.5px rgba(241,233,216,.14); color: var(--cream); }
.sb-card h3 { font: 900 clamp(22px, 2.2vw, 28px)/1.08 var(--display); letter-spacing: -.02em; transform: skewX(-5deg); transform-origin: left bottom; }
.sb-kicker { font: 600 12px/1 var(--sans-sign); letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.sb-card .gear-chips { margin: 2px 0 8px; }
.sb-card .btn { margin-top: auto; }
.sb-players { background: radial-gradient(ellipse at 80% 0%, rgba(242,169,59,.16), transparent 60%), repeating-linear-gradient(180deg, #3B2918 0 22px, #33230F 22px 23px); box-shadow: inset 0 0 0 1.5px rgba(196,154,85,.4); }
.sb-note { color: rgba(241,233,216,.82); font-size: 15.5px; margin-bottom: 8px; }
.btn.sb-btn-cream { --bg: var(--cream); --fg: var(--ink); background: var(--cream); color: var(--ink); box-shadow: 0 5px 0 #B9A98A, 0 14px 30px rgba(0,0,0,.25); }
.btn.sb-btn-cream:hover { background: #fff; }
@media (max-width: 860px) { .sb-split { grid-template-columns: 1fr; } }

/* ---------- Brass name plate (shared by the door, the band and the wall) ---------- */
.np { position: relative; display: grid; justify-items: center; gap: 5px; min-width: 150px; padding: 12px 22px 11px; border-radius: 5px; background: linear-gradient(180deg, #E6C78A 0%, #C9A060 48%, #B48A4B 100%); color: #3A2812; box-shadow: inset 0 1px 0 rgba(255,244,214,.8), inset 0 -2px 0 rgba(90,60,20,.35), 0 4px 8px -3px rgba(0,0,0,.55); }
.np::before, .np::after { content: ''; position: absolute; top: 50%; width: 5px; height: 5px; margin-top: -2.5px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #F4E2B8, #7A5A2A); box-shadow: 0 1px 0 rgba(255,244,214,.4); }
.np::before { left: 7px; } .np::after { right: 7px; }
.np-no { font: 600 9.5px/1 var(--sans-sign); letter-spacing: .24em; text-transform: uppercase; opacity: .75; }
.np-name { font: 700 14px/1 var(--serif); letter-spacing: .08em; text-transform: uppercase; color: #2E1F0C; text-shadow: 0 1px 0 rgba(255,240,205,.55); white-space: nowrap; }
.np-row { display: flex; }

/* ---------- Founding Players ---------- */
.sp-players { padding: clamp(90px, 10vw, 140px) 0; background: linear-gradient(180deg, #F6EFE1 0%, #F1E3C8 100%); }
.fp-top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(30px, 6vw, 90px); align-items: center; margin-bottom: clamp(50px, 6vw, 80px); }
.fp-copy .lead { max-width: 40ch; }
.fp-buy { display: grid; justify-items: start; gap: 18px; }
.fp-pass { position: relative; width: min(100%, 400px); padding: 26px 28px 22px 34px; border-radius: 20px; color: var(--cream); background: radial-gradient(ellipse at 100% 0%, rgba(63,174,159,.35), transparent 55%), linear-gradient(160deg, #0F4845, var(--pass-teal) 60%, #082B29); box-shadow: inset 0 0 0 1.5px rgba(241,233,216,.18), 0 30px 60px -30px rgba(11,58,56,.7); transform: rotate(-2deg); }
.fp-pass::after { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 12px; border-radius: 20px 0 0 20px; background: repeating-linear-gradient(180deg, var(--gold) 0 14px, var(--coral) 14px 28px); }
.fp-hole { position: absolute; top: 18px; right: 22px; width: 30px; height: 10px; border-radius: 99px; background: #F3E6CE; box-shadow: inset 0 2px 3px rgba(0,0,0,.35); }
.fp-pass-top { display: flex; align-items: baseline; gap: 12px; padding-bottom: 14px; border-bottom: 1.5px solid rgba(241,233,216,.25); }
.fp-pass-brand { font: 900 26px/1 var(--display); letter-spacing: -.02em; transform: skewX(-8deg); }
.fp-pass-kind { font: 600 11px/1 var(--sans-sign); letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.fp-pass-body { display: grid; gap: 8px; padding: 22px 0 18px; }
.fp-pass-name { font: 700 22px/1 var(--serif); letter-spacing: .06em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1.5px dashed rgba(241,233,216,.45); }
.fp-pass-sub { font: 600 11px/1 var(--sans-sign); letter-spacing: .2em; text-transform: uppercase; color: rgba(241,233,216,.7); }
.fp-pass-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-weight: 800; color: rgba(241,233,216,.85); }
.fp-pass-price b { font: 900 46px/1 var(--display); letter-spacing: -.03em; color: var(--gold); transform: skewX(-5deg); }
.fp-pass-price span { flex-basis: 100%; font: 600 11px/1.3 var(--sans-sign); letter-spacing: .2em; text-transform: uppercase; color: rgba(241,233,216,.7); }
.fp-note { font-size: 14px; color: var(--ink-soft); max-width: 40ch; }
.fp-list-head { font: 900 clamp(24px, 2.4vw, 30px)/1.1 var(--display); letter-spacing: -.02em; transform: skewX(-5deg); transform-origin: left bottom; margin-bottom: 22px; }
.fp-perks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.fp-perks li { display: flex; flex-direction: column; justify-content: flex-start; gap: 8px; padding: 22px 22px 24px; border-radius: 20px; background: #fff; box-shadow: 0 18px 40px -30px rgba(35,34,43,.45); }
.fp-ico { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--pass-teal); color: var(--gold); margin-bottom: 6px; }
.fp-ico svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fp-perks h4 { margin: 0; font: 900 19px/1.15 var(--display); letter-spacing: -.01em; transform: skewX(-5deg); transform-origin: left bottom; }
.fp-perks p { font-size: 15px; color: var(--ink-soft); }
.fp-soon { margin: 22px 0 clamp(60px, 7vw, 90px); padding: 16px 20px; border-radius: 14px; background: rgba(232,115,90,.1); box-shadow: inset 4px 0 0 var(--coral); color: var(--ink); max-width: 80ch; }
@media (max-width: 1100px) { .fp-perks { grid-template-columns: 1fr 1fr; } }
@media (max-width: 860px) { .fp-top { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .fp-perks { grid-template-columns: 1fr; } .fp-perks li { display: grid; grid-template-columns: auto 1fr; align-content: start; column-gap: 14px; row-gap: 4px; padding: 18px; } .fp-ico { grid-row: span 2; margin: 0; } .fp-pass { transform: none; } }

/* The Founding Players wall: a log wall in the lodge, lit by two lanterns, with brass plates */
.fp-wall { position: relative; overflow: hidden; padding: clamp(70px, 8vw, 96px) clamp(18px, 4vw, 54px) 34px; border-radius: 26px;
  background: radial-gradient(ellipse at 12% 8%, rgba(255,196,110,.3), transparent 38%), radial-gradient(ellipse at 88% 8%, rgba(255,196,110,.3), transparent 38%),
    repeating-linear-gradient(180deg, #6E4B2D 0 30px, #5C3E24 30px 34px, #4A311C 34px 36px);
  box-shadow: inset 0 0 0 10px #3E2918, inset 0 0 0 12px var(--brass), inset 0 -60px 80px -40px rgba(0,0,0,.45), 0 40px 80px -40px rgba(40,20,10,.7); }
.fp-lamp { position: absolute; top: 18px; width: 18px; height: 26px; border-radius: 4px; background: #FFD98A; box-shadow: 0 0 0 2px #2C1D10, 0 0 30px 12px rgba(255,200,110,.45); }
.fp-lamp::before { content: ''; position: absolute; left: -4px; right: -4px; top: -8px; height: 8px; background: #2C1D10; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.fp-lamp.l { left: 9%; } .fp-lamp.r { right: 9%; }
.fp-wall-head { position: relative; display: grid; justify-items: center; gap: 6px; width: fit-content; margin: 0 auto 34px; background: var(--sign); color: var(--cream); padding: 16px 40px 14px; border-radius: 9px; box-shadow: inset 0 0 0 3px var(--sign), inset 0 0 0 5px var(--brass), 0 16px 26px -12px rgba(0,0,0,.6); transform: rotate(-.6deg); }
.fp-wall-head .sign-text { font-size: clamp(22px, 2.6vw, 32px); text-transform: uppercase; letter-spacing: .1em; }
.fp-plates { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px 20px; }
.fp-plates .np { min-width: 0; }
.fp-plates .np:nth-child(n+2) { filter: saturate(.8) brightness(.86); }
.fp-plates .np:nth-child(n+2) .np-name { opacity: .62; }
.fp-plates .np:first-child { box-shadow: inset 0 1px 0 rgba(255,244,214,.8), inset 0 -2px 0 rgba(90,60,20,.35), 0 4px 8px -3px rgba(0,0,0,.55), 0 0 24px rgba(255,210,122,.35); }
.fp-wall-note { margin-top: 26px; text-align: center; font: 600 12px/1.4 var(--sans-sign); letter-spacing: .18em; text-transform: uppercase; color: #F3D9A6; }
@media (max-width: 900px) { .fp-plates { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .fp-plates { grid-template-columns: 1fr 1fr; gap: 12px; } .fp-plates .np { padding: 11px 14px 10px; } .fp-plates .np-name { font-size: 11px; } .fp-plates .np:nth-child(n+9) { display: none; } .fp-lamp.l { left: 6%; } .fp-lamp.r { right: 6%; } }

/* ---------- FAQ in two groups ---------- */
.sponsor-faq { padding: clamp(90px, 10vw, 130px) 0; }
.sponsor-faq .section-head a { color: inherit; font-weight: 800; }
.faq-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.faq-group .faq { grid-template-columns: 1fr; margin-top: 0; }
.faq-group-h { display: inline-block; margin-bottom: 16px; font: 700 14px/1 var(--serif); letter-spacing: .12em; text-transform: uppercase; color: var(--cream); background: var(--sign); padding: 10px 16px 9px; border-radius: 6px; box-shadow: inset 0 0 0 2px var(--sign), inset 0 0 0 3.5px var(--brass); }
@media (max-width: 900px) { .faq-groups { grid-template-columns: 1fr; } }

/* ---------- Make it part of the game ---------- */
.sponsor-play { padding: clamp(90px, 10vw, 130px) 0; }
.play-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 10px; }
.play-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px 24px 24px; border-radius: 22px; background: linear-gradient(180deg, rgba(241,233,216,.07), rgba(241,233,216,.03)); box-shadow: inset 0 0 0 1.5px rgba(241,233,216,.14); }
.play-num { font: 900 15px/1 var(--display); color: var(--gold); letter-spacing: .04em; }
.play-card h3 { font: 900 23px/1.1 var(--display); letter-spacing: -.02em; transform: skewX(-5deg); transform-origin: left bottom; color: var(--cream); }
.play-card p { color: rgba(241,233,216,.8); font-size: 15.5px; flex: 1; }
.play-tier { align-self: flex-start; font: 800 11px/1 var(--body); letter-spacing: .14em; text-transform: uppercase; color: var(--cream); background: var(--pass-teal); box-shadow: inset 0 0 0 1px rgba(63,174,159,.6); padding: 7px 11px; border-radius: 999px; }
@media (max-width: 1000px) { .play-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .play-grid { grid-template-columns: 1fr; } }

/* ---------- Founding Sponsors wall (brands: logo slots) ---------- */
.founders { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 5vw, 70px); align-items: center; margin-bottom: clamp(70px, 8vw, 110px); }
.founders-copy .label { margin-bottom: 12px; }
.founders-copy h2 { margin-bottom: 18px; }
.founders-copy p:not(.label) { color: var(--ink-soft); max-width: 44ch; }
.founders-wall { background: var(--sign); color: var(--cream); border-radius: 18px; padding: 22px 22px 18px; box-shadow: inset 0 0 0 3px var(--sign), inset 0 0 0 5px var(--brass), 0 30px 60px -34px rgba(12,17,26,.6); transform: rotate(-.8deg); }
.founders-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; padding: 4px 6px 16px; border-bottom: 1.5px solid rgba(196,154,85,.45); margin-bottom: 16px; }
.founders-head .sign-text { font-size: clamp(20px, 2.2vw, 26px); text-transform: uppercase; letter-spacing: .08em; }
.founders-plates { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.founders-plates li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 6px; background: #F4EFE3; color: #2A1D0E; box-shadow: inset 0 0 0 1.5px rgba(30,58,48,.25), 0 3px 6px -3px rgba(0,0,0,.5); }
.founders-plates li + li { background: transparent; color: rgba(241,233,216,.7); box-shadow: inset 0 0 0 1.5px rgba(196,154,85,.45); border: 0; }
.founders-plates li + li .plate-logo svg circle, .founders-plates li + li .plate-logo svg path { stroke: rgba(241,233,216,.7); }
.founders-plates li + li .plate-logo svg path, .founders-plates li + li .plate-logo svg circle:last-child { fill: rgba(241,233,216,.7); }
.plate-no { font: 600 11px/1 var(--sans-sign); letter-spacing: .2em; text-transform: uppercase; }
.plate-logo { display: inline-flex; align-items: center; gap: 8px; font: 900 16px/1 var(--display); letter-spacing: -.02em; transform: skewX(-5deg); }
.plate-logo svg { width: 22px; height: 22px; }
.founders-note { margin-top: 14px; font: 600 12px/1.4 var(--sans-sign); letter-spacing: .14em; text-transform: uppercase; color: var(--brass); text-align: center; }
@media (max-width: 900px) { .founders { grid-template-columns: 1fr; } .founders-wall { transform: none; } }
@media (max-width: 420px) { .founders-plates { grid-template-columns: 1fr; } .founders-plates li:nth-child(n+5) { display: none; } }
@media (max-width: 640px) { .fp-wall-head { padding: 14px 22px 12px; } .fp-wall-head .sign-small { letter-spacing: .16em; white-space: nowrap; font-size: 10px; } }
.sp-door-kicker { color: #8F5610 !important; }
