:root {
  --ink: #f6e6bd;
  --muted: #a8b1bd;
  --night: #04070b;
  --night-2: #07111b;
  --gold: #dca64b;
  --gold-bright: #ffd56b;
  --red: #a52019;
  --paper: #e7d7b4;
  --paper-ink: #2b2119;
  --line: rgba(255,255,255,.12);
  --shadow: 0 24px 80px rgba(0,0,0,.55);
  --ease: cubic-bezier(.22,1,.36,1);
}

* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; min-height: 100%; margin: 0; background: var(--night); color: #fff; }
body {
  font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  overflow: hidden;
}
button { font: inherit; }
button:focus-visible { outline: 3px solid var(--gold-bright); outline-offset: 5px; }

.app-shell {
  position: relative;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 40%, rgba(23,54,82,.4), transparent 34%),
    linear-gradient(180deg, #04070b, #06101a 60%, #020406);
}

#starfield {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .8;
  pointer-events: none;
  z-index: 0;
}

.screen {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(.992);
  transition: opacity .68s ease, transform .88s var(--ease), visibility .68s;
}
.screen.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: scale(1);
}

/* INTRO */
.screen--intro {
  display: grid;
  place-items: center;
  padding: 3vh 24px 5vh;
  background:
    radial-gradient(circle at center, rgba(22,38,58,.16), rgba(0,0,0,.38) 52%, rgba(0,0,0,.78));
}
.intro-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, transparent 20%, rgba(0,0,0,.3) 60%, rgba(0,0,0,.9) 100%);
  pointer-events: none;
}
.intro-logo-button {
  position: relative;
  width: min(80vw, 760px);
  max-height: 90vh;
  background: transparent;
  border: 0;
  color: white;
  padding: 0;
  cursor: pointer;
  filter: drop-shadow(0 30px 50px rgba(0,0,0,.65));
  transition: transform .35s var(--ease), filter .35s ease;
  isolation: isolate;
}
.intro-logo-button::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -8% -13% 3%;
  border: 1px solid rgba(205,162,84,.16);
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 50% 43%, rgba(198,139,51,.12), rgba(7,8,8,.34) 42%, rgba(0,0,0,.78) 74%, transparent 76%);
  box-shadow:
    inset 0 0 90px rgba(0,0,0,.92),
    inset 0 0 24px rgba(221,171,79,.08),
    0 30px 90px rgba(0,0,0,.72);
  transform: perspective(900px) rotateX(4deg);
  pointer-events: none;
}
.intro-logo-button::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 12%;
  right: 12%;
  bottom: 7%;
  height: 13%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(0,0,0,.9), transparent 70%);
  filter: blur(18px);
  transform: translateY(42%);
  pointer-events: none;
}
.intro-logo-button:hover {
  transform: scale(1.035);
  filter: drop-shadow(0 30px 55px rgba(0,0,0,.7)) drop-shadow(0 0 34px rgba(244,185,73,.22));
}
.intro-logo-button img {
  width: 100%;
  max-height: 78vh;
  object-fit: contain;
  display: block;
  user-select: none;
}
.enter-copy {
  display: block;
  margin-top: -2px;
  font-weight: 950;
  letter-spacing: .12em;
  font-size: clamp(15px, 1.5vw, 21px);
  text-shadow: 0 2px 18px rgba(0,0,0,.9);
  animation: enterPulse 1.6s ease-in-out infinite;
}
.enter-hint {
  display: block;
  margin-top: 8px;
  color: #afbbc8;
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
}
@keyframes enterPulse {
  0%,100% { opacity: .62; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-3px); }
}

.fx-layer { position: fixed; inset: 0; pointer-events: none; z-index: 50; overflow: hidden; }
.logo-shard {
  position: fixed;
  background-repeat: no-repeat;
  will-change: transform, opacity;
  animation: shardBlast 1.15s cubic-bezier(.09,.62,.2,1) forwards;
  filter: drop-shadow(0 0 8px rgba(255,183,64,.55));
}
@keyframes shardBlast {
  0% { transform: translate3d(0,0,0) rotate(0deg) scale(1); opacity: 1; }
  28% { opacity: 1; }
  100% { transform: translate3d(var(--blast-x), var(--blast-y),0) rotate(var(--blast-r)) scale(.52); opacity: 0; }
}
.world-flag-particle {
  position: fixed;
  left: var(--origin-x);
  top: var(--origin-y);
  z-index: 3;
  width: clamp(34px, 4.4vw, 66px);
  transform: translate(-50%,-50%);
  will-change: transform, opacity;
  animation: worldFlagBlast var(--flag-duration) cubic-bezier(.08,.68,.18,1) forwards;
}
.world-flag-particle svg {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 2px;
  box-shadow: 0 8px 9px rgba(0,0,0,.6), 0 0 5px rgba(255,217,145,.2), 0 1px 0 rgba(255,255,255,.2) inset;
}
@keyframes worldFlagBlast {
  0% { transform: translate(-50%,-50%) scale(.2) rotate(0); opacity: 0; }
  8% { transform: translate(calc(-50% + var(--burst-x)), calc(-50% + var(--burst-y))) scale(.72) rotate(var(--burst-r)); opacity: 1; }
  68% { transform: translate(calc(-50% + var(--mid-x)), calc(-50% + var(--mid-y))) scale(var(--flag-scale)) rotate(var(--burst-r)); opacity: 1; }
  100% { transform: translate(calc(-50% + var(--blast-x)), calc(-50% + var(--blast-y))) scale(var(--flag-scale)) rotate(var(--blast-r)); opacity: 0; }
}
.spark {
  position: fixed;
  left: var(--origin-x);
  top: var(--origin-y);
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background: radial-gradient(circle, #fff7ca 0 18%, #ffc34d 20% 48%, #ef4e17 50% 68%, transparent 70%);
  box-shadow: 0 0 18px #f0a42b;
  animation: sparkBlast 1s ease-out forwards;
}
@keyframes sparkBlast {
  from { transform: translate(-50%,-50%) scale(1); opacity: 1; }
  to { transform: translate(calc(-50% + var(--blast-x)), calc(-50% + var(--blast-y))) scale(.2); opacity: 0; }
}

/* MAP */
.screen--map {
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: 20px clamp(18px, 3vw, 54px) 16px;
}
.map-header {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: 86px 1fr 86px;
  align-items: center;
  gap: 20px;
  min-height: 86px;
}
.mini-logo-button {
  width: 78px;
  height: 78px;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  transition: transform .25s var(--ease);
}
.mini-logo-button:hover { transform: rotate(-3deg) scale(1.05); }
.mini-logo-button img { width: 100%; height: 100%; object-fit: contain; }
.map-title-block { text-align: center; }
.map-title-block h1 {
  margin: 0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(28px, 4vw, 58px);
  letter-spacing: .045em;
  color: #f7e2b0;
  text-shadow: 0 2px 0 #513c20, 0 5px 22px rgba(0,0,0,.75);
}
.map-title-block p {
  margin: 7px 0 0;
  color: #b6c1cb;
  font-size: clamp(12px, 1.1vw, 16px);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.world-stage {
  position: relative;
  width: min(1180px, 96vw);
  margin: 0 auto;
  align-self: center;
  aspect-ratio: 1.71 / 1;
  min-height: 0;
  max-height: calc(100vh - 170px);
  border: 1px solid rgba(224,172,83,.34);
  border-radius: 28px;
  background:
    radial-gradient(circle at 43% 42%, rgba(12,46,70,.7), rgba(3,12,21,.92) 70%),
    linear-gradient(180deg, #06121e, #03080d);
  box-shadow: inset 0 0 80px rgba(0,0,0,.72), 0 30px 80px rgba(0,0,0,.46);
  overflow: hidden;
}
.world-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(circle, #000 30%, transparent 85%);
  pointer-events: none;
}
.map-glow {
  position: absolute;
  inset: 8% 6%;
  background: radial-gradient(ellipse, rgba(41,103,145,.23), transparent 68%);
  filter: blur(20px);
}
.world-map {
  position: absolute;
  inset: 8% 6% 7%;
  display: grid;
  place-items: center;
}
.world-map svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  filter: drop-shadow(0 18px 26px rgba(0,0,0,.55));
}
.world-map svg path {
  fill: #4c555b;
  stroke: #1d252a;
  stroke-width: .75;
  vector-effect: non-scaling-stroke;
  cursor: pointer;
  transition: fill .2s ease, filter .2s ease, transform .2s ease, stroke .2s ease;
  transform-box: fill-box;
  transform-origin: center;
}
.world-map svg > path[id]:hover,
.world-map svg > path[id]:focus-visible,
.world-map svg > g[id]:hover path,
.world-map svg > g[id]:focus-visible path {
  fill: #77858d;
  stroke: #f0d49b;
  filter: brightness(1.15) drop-shadow(0 0 5px rgba(255,219,146,.25));
}
.world-map svg > path.country-live,
.world-map svg > g.country-live path {
  fill: #c09242;
  stroke: #ffe1a1;
  stroke-width: 1.2;
  filter: drop-shadow(0 0 5px rgba(255,205,102,.48));
}
.world-map svg > path.country-live:hover,
.world-map svg > path.country-live:focus-visible,
.world-map svg > g.country-live:hover path,
.world-map svg > g.country-live:focus-visible path {
  fill: #f1bd57;
  filter: brightness(1.16) drop-shadow(0 0 12px rgba(255,207,98,.78));
}
.world-map svg > g#ca path, .world-map svg > path#ca { fill: #bb382f; stroke: #ffd5d1; }
.world-map svg > g#us path, .world-map svg > path#us { fill: #2c5f9f; stroke: #d6e6ff; }
.map-loading {
  font-weight: 900;
  letter-spacing: .14em;
  color: #d7b765;
  animation: enterPulse 1.5s infinite;
}
.map-tooltip {
  position: fixed;
  z-index: 25;
  min-width: 160px;
  max-width: 240px;
  pointer-events: none;
  padding: 10px 12px;
  border: 1px solid rgba(255,229,170,.35);
  border-radius: 9px;
  background: rgba(3,6,10,.94);
  box-shadow: 0 12px 40px rgba(0,0,0,.46);
  opacity: 0;
  transform: translate(12px, 12px);
  transition: opacity .13s ease;
  color: white;
  font-size: 12px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.map-tooltip.is-visible { opacity: 1; }
.map-tooltip strong { display: block; color: #f4cf77; margin-bottom: 3px; font-size: 13px; }
.map-callout {
  position: absolute;
  z-index: 8;
  min-width: 112px;
  padding: 8px 11px;
  border-radius: 10px;
  background: rgba(3,7,11,.9);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 10px 30px rgba(0,0,0,.38);
  font-size: 14px;
  font-family: inherit;
  text-align: left;
  letter-spacing: .06em;
  cursor: pointer;
  transition: transform .18s ease, filter .18s ease;
}
.map-callout:hover { transform: translateY(-2px); filter: brightness(1.08); }
.map-callout:focus-visible { outline: 3px solid #78aef6; outline-offset: 3px; }
.map-callout strong { margin-left: 4px; color: #fff5dc; }
.map-callout span { display: block; margin-top: 3px; color: #f1bf59; font-size: 8px; letter-spacing: .17em; }
.map-callout--canada { left: 14%; top: 19%; }
.map-callout--usa { left: 17%; top: 44%; }
.map-footer {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  min-height: 44px;
  color: #8997a3;
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.availability { color: #cbd5de; }
.dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 6px; }
.dot--live { background: #e5b551; box-shadow: 0 0 12px #e5b551; }

/* COUNTRY PORTAL */
.screen--country { display: grid; place-items: center; padding: 28px; }
.country-backdrop {
  position: absolute;
  inset: 0;
  transition: background .5s ease;
}
.country-backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, transparent 5%, rgba(0,0,0,.16) 48%, rgba(0,0,0,.82) 100%);
}
.screen--country.theme-ca .country-backdrop {
  background:
    radial-gradient(circle at 50% 52%, rgba(255,255,255,.18), transparent 28%),
    conic-gradient(from 45deg at 50% 50%, #8f0b0b, #d7d7d7 15%, #a40f0f 32%, #f2f2f2 50%, #8e0909 70%, #f0f0f0 84%, #8a0909);
}
.screen--country.theme-us .country-backdrop {
  background:
    radial-gradient(circle at 50% 52%, rgba(255,255,255,.14), transparent 28%),
    repeating-linear-gradient(0deg, #9b201e 0 8%, #ebe7dc 8% 16%),
    linear-gradient(135deg, #153c72, #071426);
}
.back-button {
  position: absolute;
  left: 28px;
  top: 26px;
  z-index: 6;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(1,5,10,.58);
  color: #fff;
  padding: 9px 14px;
  font-weight: 850;
  font-size: 11px;
  letter-spacing: .1em;
  cursor: pointer;
  backdrop-filter: blur(8px);
}
.country-logo-button {
  position: relative;
  z-index: 4;
  border: 0;
  background: transparent;
  color: white;
  padding: 0;
  cursor: pointer;
  text-align: center;
  transition: transform .28s var(--ease), filter .28s ease;
}
.country-logo-button:hover { transform: scale(1.045) rotate(-.7deg); filter: drop-shadow(0 0 30px rgba(255,210,100,.2)); }
.country-season-logo {
  position: relative;
  width: min(76vw, 840px);
  min-height: min(55vw, 520px);
  display: grid;
  place-items: center;
  padding: clamp(20px,4vw,52px);
}
.country-season-logo::before,
.country-season-logo::after {
  content: "";
  position: absolute;
  inset: 7% 8%;
  clip-path: polygon(50% 0, 59% 24%, 79% 7%, 77% 32%, 100% 28%, 82% 50%, 100% 69%, 75% 67%, 80% 94%, 59% 76%, 50% 100%, 41% 76%, 19% 95%, 24% 67%, 0 71%, 18% 50%, 0 29%, 24% 32%, 21% 7%, 41% 24%);
  background: radial-gradient(circle, #fff6d0 0 3%, #f6b640 22%, #d75421 44%, #511512 68%, transparent 69%);
  opacity: .78;
  filter: drop-shadow(0 14px 34px rgba(0,0,0,.6));
}
.country-season-logo::after { inset: 13% 15%; opacity: .8; transform: rotate(18deg); }
.season-logo-copy {
  position: relative;
  z-index: 2;
  width: 100%;
  text-align: center;
  transform: rotate(-2deg);
  text-shadow: 0 6px 0 #1d1712, 0 11px 25px rgba(0,0,0,.7);
}
.season-logo-copy .small {
  display: block;
  font-family: Impact, Haettenschweiler, sans-serif;
  font-size: clamp(20px,3vw,42px);
  letter-spacing: .06em;
  color: #fff0c9;
}
.season-logo-copy .country-word {
  display: block;
  margin: -.03em 0;
  font-family: Impact, Haettenschweiler, sans-serif;
  font-size: clamp(64px,11vw,150px);
  line-height: .88;
  letter-spacing: .01em;
  color: var(--season-main, #d03625);
  -webkit-text-stroke: clamp(2px,.24vw,4px) #f4dfae;
}
.season-logo-copy .history-word {
  display: block;
  font-family: Impact, Haettenschweiler, sans-serif;
  font-size: clamp(50px,8vw,105px);
  line-height: .9;
  color: #f5dfab;
  -webkit-text-stroke: clamp(1px,.14vw,2px) #4a2f14;
}
.screen--country.theme-us { --season-main: #c02e24; }
.screen--country.theme-ca { --season-main: #d12d22; }
.country-click-copy {
  position: relative;
  z-index: 4;
  margin-top: -28px;
  font-weight: 950;
  letter-spacing: .14em;
  font-size: clamp(13px,1.3vw,18px);
  text-shadow: 0 3px 14px rgba(0,0,0,.85);
  animation: enterPulse 1.45s infinite;
}
.country-click-subcopy { color: rgba(255,255,255,.72); font-size: 9px; letter-spacing: .24em; margin-top: 5px; }
.flag-particle {
  position: fixed;
  left: var(--origin-x);
  top: var(--origin-y);
  font-size: clamp(26px,4vw,54px);
  animation: flagBlast 1.35s cubic-bezier(.06,.66,.2,1) forwards;
  filter: drop-shadow(0 8px 8px rgba(0,0,0,.4));
}
@keyframes flagBlast {
  0% { transform: translate(-50%,-50%) scale(.2) rotate(0); opacity: 0; }
  12% { opacity: 1; }
  100% { transform: translate(calc(-50% + var(--blast-x)), calc(-50% + var(--blast-y))) scale(.8) rotate(var(--blast-r)); opacity: 0; }
}
.confetti {
  position: fixed;
  left: var(--origin-x);
  top: var(--origin-y);
  width: var(--w);
  height: var(--h);
  background: var(--confetti);
  border-radius: 2px;
  animation: confettiBlast 1.1s ease-out forwards;
}
@keyframes confettiBlast {
  from { transform: translate(-50%,-50%) rotate(0) scale(1); opacity: 1; }
  to { transform: translate(calc(-50% + var(--blast-x)), calc(-50% + var(--blast-y))) rotate(var(--blast-r)) scale(.4); opacity: 0; }
}

/* DECK */
.screen--deck {
  display: grid;
  grid-template-rows: auto 1fr auto;
  background: #05080d;
}
.deck-theme { position: absolute; inset: 0; z-index: -1; opacity: .8; }
.screen--deck.theme-ca .deck-theme {
  background:
    radial-gradient(circle at 82% 18%, rgba(173,28,22,.19), transparent 32%),
    radial-gradient(circle at 18% 84%, rgba(238,210,152,.08), transparent 35%),
    linear-gradient(135deg,#030608,#081219 58%,#0b0807);
}
.screen--deck.theme-us .deck-theme {
  background:
    radial-gradient(circle at 80% 20%, rgba(35,78,134,.27), transparent 32%),
    radial-gradient(circle at 20% 78%, rgba(171,43,32,.17), transparent 35%),
    linear-gradient(135deg,#030608,#07111d 58%,#0b0807);
}
.deck-topbar {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: 210px minmax(0,1fr) 150px;
  align-items: center;
  gap: 20px;
  min-height: 92px;
  padding: 12px 24px;
  border-bottom: 1px solid rgba(231,197,126,.18);
  background: rgba(3,6,9,.83);
  backdrop-filter: blur(14px);
}
.deck-mini-logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 62px;
  padding: 7px 11px;
  border: 0;
  background: transparent;
  color: white;
  cursor: pointer;
  text-align: left;
}
.deck-mini-logo .mini-top { font-weight: 900; font-size: 9px; letter-spacing: .15em; color: #f2d398; }
.deck-mini-logo .mini-main { font-family: Impact, Haettenschweiler, sans-serif; font-size: 23px; line-height: 1; letter-spacing: .03em; }
.deck-title-wrap { min-width: 0; }
.deck-country-label {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #e3cc9f;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.deck-progress {
  margin-top: 9px;
  height: 3px;
  width: min(450px,100%);
  background: rgba(255,255,255,.11);
  overflow: hidden;
}
.deck-progress span { display: block; height: 100%; width: 10%; background: #e8b853; transition: width .4s var(--ease); }
.map-return-button {
  justify-self: end;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  padding: 9px 13px;
  background: transparent;
  color: #fff;
  font-weight: 900;
  font-size: 10px;
  letter-spacing: .13em;
  cursor: pointer;
}
.deck-layout {
  min-height: 0;
  display: grid;
  grid-template-columns: 230px 1fr;
}
.deck-nav {
  min-height: 0;
  padding: 24px 14px 24px 22px;
  overflow-y: auto;
  border-right: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.34));
}
.deck-nav button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 11px;
  border: 0;
  border-left: 2px solid transparent;
  background: transparent;
  color: #8997a3;
  padding: 12px 10px;
  text-align: left;
  font-weight: 850;
  font-size: 11px;
  letter-spacing: .075em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.deck-nav button .nav-num { color: #655f55; font-family: Georgia, serif; font-size: 10px; min-width: 20px; }
.deck-nav button:hover { color: #e6d1a3; background: rgba(255,255,255,.025); }
.deck-nav button.is-active { color: #f8e7bd; border-left-color: #dca64b; background: linear-gradient(90deg,rgba(220,166,75,.1),transparent); }
.deck-nav button.is-active .nav-num { color: #e0ad55; }
.deck-content {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  padding: clamp(28px,4.5vw,70px) clamp(28px,6vw,92px) 80px;
  scroll-behavior: smooth;
}
.slide {
  width: min(1040px,100%);
  margin: 0 auto;
  animation: slideIn .48s var(--ease) both;
}
@keyframes slideIn {
  from { opacity: 0; transform: translateY(18px) scale(.99); }
  to { opacity: 1; transform: none; }
}
.slide-kicker {
  margin-bottom: 12px;
  font-weight: 900;
  color: #dcb05d;
  font-size: 11px;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.slide h2 {
  margin: 0;
  max-width: 850px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(52px,7vw,104px);
  line-height: .89;
  letter-spacing: .012em;
  color: #f2dfb5;
  text-shadow: 0 5px 0 rgba(70,48,22,.6), 0 20px 50px rgba(0,0,0,.35);
}
.slide h3 {
  margin: 0 0 10px;
  font-family: Impact, Haettenschweiler, sans-serif;
  font-size: clamp(24px,3vw,42px);
  font-weight: 800;
  letter-spacing: .025em;
  color: #f0d49b;
}
.slide .lead {
  max-width: 850px;
  margin: 24px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px,2.25vw,32px);
  line-height: 1.38;
  color: #f3ead6;
}
.slide .body-copy {
  max-width: 800px;
  margin: 22px 0 0;
  color: #b9c2ca;
  font-size: clamp(15px,1.35vw,19px);
  line-height: 1.62;
}
.quote-banner {
  position: relative;
  margin: 34px 0 0;
  max-width: 980px;
  padding: 28px clamp(22px,3vw,42px);
  border-top: 1px solid rgba(231,196,124,.32);
  border-bottom: 1px solid rgba(231,196,124,.32);
  color: #f4dba5;
  font-family: Georgia, serif;
  font-size: clamp(22px,2.7vw,40px);
  font-style: italic;
  line-height: 1.25;
}
.quote-banner::before { content: "“"; position: absolute; left: 0; top: -18px; font-size: 70px; color: rgba(223,174,77,.24); }
.statements {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  margin-top: 34px;
  max-width: 960px;
  background: rgba(227,186,101,.18);
  border: 1px solid rgba(227,186,101,.18);
}
.statement { min-height: 150px; padding: 22px; background: rgba(5,10,15,.88); }
.statement strong { display: block; font-family: Impact, sans-serif; font-size: 24px; letter-spacing: .03em; color: #f0d19a; }
.statement span { display: block; margin-top: 8px; color: #aab4bc; line-height: 1.46; font-size: 13px; }
.episode-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin-top: 32px;
  max-width: 1040px;
}
.episode-card {
  position: relative;
  min-height: 140px;
  padding: 18px 20px 18px 58px;
  border: 1px solid rgba(228,192,117,.18);
  background:
    linear-gradient(135deg, rgba(255,255,255,.025), transparent 55%),
    rgba(3,7,11,.78);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.episode-card .ep-num {
  position: absolute;
  left: 16px;
  top: 18px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(222,174,80,.42);
  border-radius: 50%;
  color: #dfa94f;
  font-family: Georgia, serif;
  font-size: 11px;
}
.episode-card h4 { margin: 0; color: #f4dfb6; font-size: 15px; letter-spacing: .03em; text-transform: uppercase; }
.episode-card p { margin: 8px 0 0; color: #9faab3; line-height: 1.45; font-size: 12.5px; }
.engine {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin-top: 34px;
  max-width: 1060px;
  overflow-x: auto;
  padding-bottom: 8px;
}
.engine-step {
  position: relative;
  flex: 1 0 175px;
  min-height: 150px;
  padding: 20px 18px;
  border-top: 1px solid rgba(228,192,117,.3);
  border-bottom: 1px solid rgba(228,192,117,.3);
  background: rgba(4,9,13,.7);
}
.engine-step + .engine-step { border-left: 1px solid rgba(228,192,117,.22); }
.engine-step .step-no { color: #dfaa52; font-size: 10px; letter-spacing: .15em; }
.engine-step strong { display: block; margin-top: 10px; color: #f0dbaf; font-size: 17px; text-transform: uppercase; }
.engine-step p { color: #98a4ad; font-size: 12px; line-height: 1.43; margin: 8px 0 0; }
.hosts {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  margin-top: 34px;
  max-width: 900px;
}
.host {
  min-height: 220px;
  display: grid;
  align-content: end;
  padding: 26px;
  border: 1px solid rgba(225,188,113,.2);
  background:
    radial-gradient(circle at 65% 18%, rgba(219,172,82,.11), transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.2));
}
.host .host-role { color: #d2a74f; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }
.host strong { margin-top: 5px; font-family: Impact, sans-serif; font-size: clamp(32px,4vw,52px); color: #f3dfb5; letter-spacing: .02em; }
.host p { margin: 9px 0 0; color: #aeb7bf; max-width: 360px; font-size: 13px; line-height: 1.45; }
.deck-controls {
  position: absolute;
  right: 24px;
  bottom: 18px;
  z-index: 6;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px;
  border-radius: 999px;
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(10px);
}
.deck-arrow {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color: #fff;
  font-size: 20px;
  cursor: pointer;
}
.deck-arrow:disabled { opacity: .25; cursor: default; }
.deck-counter { min-width: 62px; text-align: center; color: #d6c292; font-size: 10px; letter-spacing: .14em; }

.toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  z-index: 100;
  transform: translate(-50%,20px);
  opacity: 0;
  pointer-events: none;
  padding: 12px 18px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(3,6,10,.94);
  box-shadow: 0 18px 50px rgba(0,0,0,.46);
  color: #fff;
  font-weight: 850;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: opacity .25s ease, transform .25s ease;
}
.toast.is-visible { opacity: 1; transform: translate(-50%,0); }

.music-toggle {
  position: fixed;
  top: 104px;
  right: 24px;
  z-index: 90;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 11px;
  border: 1px solid rgba(212,175,105,.45);
  border-radius: 2px;
  background: rgba(2,4,5,.78);
  box-shadow: 0 10px 26px rgba(0,0,0,.34);
  backdrop-filter: blur(12px) saturate(.75);
  color: #d9bd86;
  font-family: "Courier New", monospace;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease;
}
.music-toggle:hover {
  transform: translateY(-1px);
  border-color: rgba(231,197,126,.78);
  background: rgba(7,10,11,.92);
  color: #f0d59e;
}
.music-toggle:focus-visible { outline: 2px solid #f0d59e; outline-offset: 3px; }
.music-toggle__icon {
  width: 16px;
  height: 16px;
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.music-toggle__icon--off { display: none; }
.music-toggle[data-muted="true"] { color: #9d978d; border-color: rgba(255,255,255,.2); }
.music-toggle[data-muted="true"] .music-toggle__icon--on { display: none; }
.music-toggle[data-muted="true"] .music-toggle__icon--off { display: block; }

/* RESPONSIVE */
@media (max-width: 900px) {
  body { overflow: hidden; }
  .map-header { grid-template-columns: 60px 1fr; }
  .mini-logo-button { width: 58px; height: 58px; }
  .map-title-block { text-align: left; }
  .map-callout { display: block; }
  .map-footer { justify-content: center; }
  .map-credit { display: none; }
  .deck-topbar { grid-template-columns: 140px 1fr 92px; gap: 8px; padding: 8px 10px; min-height: 72px; }
  .deck-mini-logo .mini-main { font-size: 17px; }
  .map-return-button { font-size: 8px; padding: 8px 9px; }
  .deck-layout { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
  .deck-nav {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 6px 10px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .deck-nav button { flex: 0 0 auto; width: auto; border-left: 0; border-bottom: 2px solid transparent; padding: 10px 12px; white-space: nowrap; }
  .deck-nav button.is-active { border-left-color: transparent; border-bottom-color: #dca64b; background: transparent; }
  .deck-content { padding: 28px 22px 90px; }
  .statements { grid-template-columns: 1fr; }
  .statement { min-height: auto; }
}

@media (max-width: 620px) {
  .screen--map { padding: 12px 10px 12px; grid-template-rows: auto auto auto; align-content: center; gap: 16px; }
  .map-header { min-height: 72px; gap: 8px; }
  .map-title-block h1 { font-size: 27px; line-height: .94; }
  .map-title-block p { font-size: 9px; line-height: 1.3; letter-spacing: .07em; margin-top: 6px; }
  .world-stage { width: 100%; border-radius: 18px; aspect-ratio: 1.55 / 1; height: auto; max-height: none; margin-top: 2px; }
  .world-map { inset: 6% 1%; }
  .world-map svg { transform: none; }
  .map-callout { top: auto; bottom: 10px; min-width: 0; padding: 7px 9px; font-size: 11px; }
  .map-callout--canada { left: 10px; }
  .map-callout--usa { left: auto; right: 10px; }
  .map-footer { min-height: 32px; font-size: 8px; }
  .back-button { left: 12px; top: 12px; font-size: 9px; padding: 8px 10px; }
  .country-season-logo { width: 95vw; min-height: 66vh; padding: 12px; }
  .country-click-copy { margin-top: -12px; }
  .deck-country-label { font-size: 8px; }
  .deck-progress { margin-top: 5px; }
  .deck-mini-logo { min-height: 50px; padding: 4px; }
  .deck-mini-logo .mini-top { font-size: 6px; }
  .deck-mini-logo .mini-main { font-size: 14px; }
  .episode-grid, .hosts { grid-template-columns: 1fr; }
  .slide h2 { font-size: clamp(46px,15vw,74px); }
  .slide .lead { font-size: 20px; }
  .deck-controls { right: 12px; bottom: 10px; }
  .deck-arrow { width: 36px; height: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* ========================================================================== */
/* 2026 ART-DIRECTION REFRESH                                                  */
/* Pulls the country-specific visual grammar from the supplied Canada one-    */
/* pager and American pitch deck while preserving the cinematic world shell.  */
/* ========================================================================== */

:root {
  --ca-red: #e32520;
  --ca-teal: #357f8f;
  --ca-cream: #f4ead8;
  --ca-gold: #8f7b52;
  --ca-panel: #11130f;
  --us-paper: #f5eedc;
  --us-sheet: #fbf6ea;
  --us-navy: #172b56;
  --us-red: #cf3d2f;
  --us-blue: #33689d;
  --us-mustard: #d8a33a;
  --us-rule: #d9c8a4;
}

/* GLOBAL SHELL: subtle print-history details on top of the space/cinema world. */
.screen--intro::before,
.screen--map::before {
  content: "";
  position: absolute;
  z-index: 3;
  left: 3vw;
  right: 3vw;
  top: 18px;
  height: 4px;
  pointer-events: none;
  background: linear-gradient(90deg,
    var(--ca-red) 0 23%, transparent 23% 27%,
    var(--us-mustard) 27% 30%, transparent 30% 70%,
    var(--us-blue) 70% 73%, transparent 73% 77%,
    var(--ca-red) 77% 100%);
  opacity: .82;
}

.screen--map .world-stage {
  border-color: rgba(218,189,130,.34);
  box-shadow: 0 30px 90px rgba(0,0,0,.52), inset 0 0 0 1px rgba(255,255,255,.025);
}
.screen--map .world-stage::before,
.screen--map .world-stage::after {
  content: "";
  position: absolute;
  z-index: 5;
  width: 84px;
  height: 18px;
  background: rgba(226,210,168,.58);
  border: 1px solid rgba(130,104,65,.22);
  box-shadow: 0 3px 12px rgba(0,0,0,.18);
  pointer-events: none;
}
.screen--map .world-stage::before { left: 30px; top: -7px; transform: rotate(-4deg); }
.screen--map .world-stage::after { right: 34px; bottom: -7px; transform: rotate(5deg); }

.map-callout {
  border-radius: 4px;
  letter-spacing: .02em;
  box-shadow: 0 14px 28px rgba(0,0,0,.28);
}
.map-callout--canada {
  border: 1px solid rgba(146,122,80,.48);
  border-left: 6px solid var(--ca-red);
  background: rgba(14,16,13,.95);
  color: var(--ca-cream);
}
.map-callout--canada span { color: #9fd2dc; }
.map-callout--usa {
  border: 1px solid #cdbd9d;
  border-left: 8px solid var(--us-red);
  background: rgba(249,243,228,.97);
  color: var(--us-navy);
}
.map-callout--usa strong { color: var(--us-navy); }
.map-callout--usa span { color: var(--us-red); }

/* COUNTRY PORTALS --------------------------------------------------------- */
.screen--country { overflow: auto; }
.screen--country .country-season-logo {
  width: min(92vw, 1180px);
  min-height: 0;
  padding: 0;
}
.screen--country .country-season-logo::before,
.screen--country .country-season-logo::after { display: none; }
.screen--country .country-click-copy { margin-top: 64px; }

.screen--country.theme-ca .country-backdrop {
  background:
    radial-gradient(circle at 50% 34%, rgba(58,122,135,.13), transparent 28%),
    radial-gradient(circle at 50% 55%, rgba(212,34,29,.06), transparent 36%),
    #070806;
}
.screen--country.theme-ca .country-backdrop::after {
  background: radial-gradient(circle at center, transparent 0 45%, rgba(0,0,0,.4) 84%, rgba(0,0,0,.76) 100%);
}
.screen--country.theme-us .country-backdrop {
  background:
    linear-gradient(rgba(255,255,255,.22),rgba(255,255,255,.22)),
    repeating-linear-gradient(0deg, rgba(93,71,38,.018) 0 1px, transparent 1px 4px),
    var(--us-paper);
}
.screen--country.theme-us .country-backdrop::after {
  background: radial-gradient(circle at center, transparent 22%, rgba(79,54,22,.04) 70%, rgba(79,54,22,.11) 100%);
}

.portal-logo-stage {
  position: relative;
  box-sizing: border-box;
  width: min(88vw, 920px);
  height: min(68vh, 690px);
  display: grid;
  place-items: center;
  padding: clamp(12px, 2vw, 26px);
}
.portal-logo-stage--ca {
  isolation: isolate;
  transform: perspective(1200px) rotateX(.7deg);
}
.portal-logo-stage--ca::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 2% -2% 0;
  border: 1px solid rgba(210,174,104,.13);
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 50% 44%, rgba(59,116,127,.12), rgba(7,9,8,.4) 44%, rgba(0,0,0,.84) 77%, transparent 78%);
  box-shadow:
    inset 0 0 100px rgba(0,0,0,.9),
    inset 0 0 34px rgba(173,43,35,.08),
    0 32px 90px rgba(0,0,0,.7);
  pointer-events: none;
}
.portal-logo-stage--ca::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 17%;
  right: 17%;
  bottom: 3%;
  height: 13%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(0,0,0,.92), rgba(0,0,0,.22) 50%, transparent 73%);
  filter: blur(16px);
  transform: translateY(38%);
  pointer-events: none;
}
.country-entry-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 24px 38px rgba(0,0,0,.52));
}
.portal-logo-stage--ca { width: min(88vw, 980px); }
.country-entry-logo--ca {
  position: relative;
  z-index: 1;
  max-height: 66vh;
  filter: drop-shadow(0 16px 22px rgba(0,0,0,.66)) drop-shadow(0 0 28px rgba(110,176,185,.08)) brightness(.96) saturate(.94);
}
.country-logo-button:hover .country-entry-logo--ca {
  filter: drop-shadow(0 18px 26px rgba(0,0,0,.7)) drop-shadow(0 0 30px rgba(110,176,185,.1)) brightness(1.01) saturate(.98);
}
.portal-logo-stage--us { width: min(78vw, 780px); height: min(60vh, 600px); }
.country-entry-logo--us { max-height: 67vh; }
.screen--country.theme-us .country-click-copy { text-shadow: none; }
.screen--country.theme-us .country-click-subcopy { color: rgba(25,42,75,.68); }

.portal-card { position: relative; width: 100%; }
.portal-card--ca {
  display: grid;
  justify-items: center;
  width: min(930px, 90vw);
  padding: 26px clamp(20px,4vw,58px) 34px;
  background: #090a08;
}
.ca-portal-rule {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  color: var(--ca-red);
}
.ca-portal-rule span { height: 2px; background: var(--ca-red); }
.ca-portal-rule i {
  width: 10px;
  height: 10px;
  display: block;
  background: var(--ca-red);
  transform: rotate(45deg);
}
.ca-portal-rule--bottom { margin-top: 24px; }
.portal-ca-crest {
  width: min(760px, 82vw);
  max-height: 52vh;
  object-fit: contain;
  display: block;
  margin: 4px auto 0;
  filter: drop-shadow(0 18px 35px rgba(0,0,0,.54));
}
.ca-portal-format {
  width: 92%;
  margin-top: 8px;
  padding: 11px 18px;
  border-radius: 7px;
  background: var(--ca-teal);
  color: #fff;
  font-weight: 950;
  letter-spacing: .02em;
  font-size: clamp(13px,1.3vw,19px);
}
.ca-portal-tagline {
  margin-top: 22px;
  color: var(--ca-cream);
  font-weight: 900;
  font-size: clamp(15px,1.7vw,24px);
  letter-spacing: -.015em;
}
.screen--country.theme-ca .country-click-copy { color: var(--ca-cream); }
.screen--country.theme-ca .country-click-subcopy { color: rgba(244,234,216,.67); }

.portal-card--us {
  position: relative;
  width: min(1160px, 92vw);
  min-height: min(64vh, 650px);
  display: grid;
  grid-template-columns: .9fr 1.25fr;
  gap: clamp(28px,4vw,58px);
  align-items: center;
  padding: clamp(36px,5vw,72px) clamp(28px,5vw,66px) clamp(34px,5vw,62px) clamp(62px,7vw,96px);
  background: var(--us-paper);
  border: 1px solid #d6c6a5;
  box-shadow: 0 24px 72px rgba(63,44,20,.19);
  color: #222;
  text-align: left;
}
.us-portal-stripes,
.us-slide-stripes {
  position: absolute;
  display: flex;
  gap: 8px;
}
.us-portal-stripes {
  left: 28px;
  top: 52px;
  bottom: 52px;
}
.us-portal-stripes span,
.us-slide-stripes span { display: block; width: 9px; }
.us-portal-stripes span:nth-child(1),
.us-slide-stripes span:nth-child(1) { background: var(--us-red); }
.us-portal-stripes span:nth-child(2),
.us-slide-stripes span:nth-child(2) { background: var(--us-mustard); }
.us-portal-stripes span:nth-child(3),
.us-slide-stripes span:nth-child(3) { background: var(--us-blue); }
.us-portal-title {
  color: var(--us-navy);
  font-family: "Arial Black", Impact, Haettenschweiler, sans-serif;
  font-size: clamp(36px,5vw,74px);
  line-height: 1.07;
  letter-spacing: .005em;
}
.us-portal-format {
  margin-top: 28px;
  padding: 9px 12px;
  background: var(--us-red);
  border-radius: 6px;
  color: #fff;
  text-align: center;
  font-weight: 900;
  font-size: clamp(10px,1vw,14px);
  letter-spacing: .025em;
}
.us-portal-tagline {
  margin-top: 22px;
  color: #242424;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  font-size: clamp(17px,2vw,28px);
  line-height: 1.06;
}
.us-portal-art {
  position: relative;
  margin: 0;
  padding: clamp(20px,3vw,34px);
  background: var(--us-sheet);
  border: 1px solid #d3c29f;
  box-shadow: 18px 18px 0 rgba(197,62,48,.84), 0 18px 48px rgba(73,47,15,.14);
}
.us-portal-art img { display: block; width: 100%; height: auto; }
.paper-tape {
  position: absolute;
  z-index: 3;
  width: 88px;
  height: 20px;
  background: rgba(229,216,180,.75);
  border: 1px solid rgba(132,108,63,.17);
  box-shadow: 0 2px 5px rgba(82,61,27,.09);
  pointer-events: none;
}
.paper-tape--top { top: -10px; left: 40px; transform: rotate(-5deg); }
.paper-tape--bottom { right: 30px; bottom: -10px; transform: rotate(5deg); }
.screen--country.theme-us .country-click-copy {
  margin-top: 100px;
  color: var(--us-navy);
  text-shadow: none;
}
.screen--country.theme-us .country-click-subcopy { color: #5e5548; }
.screen--country.theme-us .back-button {
  color: var(--us-navy);
  border-color: #c9b998;
  background: rgba(255,252,244,.86);
}

/* COUNTRY DECK: CANADA ---------------------------------------------------- */
.screen--deck.theme-ca { background: #070806; }
.screen--deck.theme-ca .deck-theme {
  opacity: 1;
  background:
    radial-gradient(circle at 84% 20%, rgba(53,127,143,.11), transparent 30%),
    radial-gradient(circle at 12% 84%, rgba(218,36,30,.08), transparent 32%),
    #070806;
}
.screen--deck.theme-ca .deck-topbar {
  background: rgba(7,8,6,.96);
  border-bottom: 1px solid rgba(143,123,82,.52);
}
.screen--deck.theme-ca .deck-mini-logo .mini-top { color: #bfae8b; }
.screen--deck.theme-ca .deck-mini-logo .mini-main { color: var(--ca-cream); }
.screen--deck.theme-ca .deck-country-label { color: #cbbda2; }
.screen--deck.theme-ca .deck-progress { background: rgba(244,234,216,.12); }
.screen--deck.theme-ca .deck-progress span { background: var(--ca-red); }
.screen--deck.theme-ca .map-return-button {
  border-color: rgba(143,123,82,.54);
  color: var(--ca-cream);
}
.screen--deck.theme-ca .deck-nav {
  background: #0b0d0a;
  border-right: 1px solid rgba(143,123,82,.34);
}
.screen--deck.theme-ca .deck-nav button {
  border-left-width: 6px;
  color: #8f948c;
}
.screen--deck.theme-ca .deck-nav button .nav-num { color: #706c60; }
.screen--deck.theme-ca .deck-nav button:hover { color: var(--ca-cream); }
.screen--deck.theme-ca .deck-nav button.is-active {
  color: var(--ca-cream);
  border-left-color: var(--ca-red);
  background: rgba(255,255,255,.02);
}
.screen--deck.theme-ca .deck-nav button.is-active .nav-num { color: var(--ca-red); }
.screen--deck.theme-ca .deck-content { background: #070806; }

.slide--ca {
  width: min(1120px, 100%);
  color: var(--ca-cream);
}
.ca-page-ornament {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 14px;
  margin: 0 0 24px;
  color: var(--ca-red);
}
.ca-page-ornament span { height: 2px; background: var(--ca-red); }
.ca-page-ornament i { font-style: normal; font-size: 10px; color: var(--ca-red); }
.ca-slide-panel {
  padding: clamp(28px,4vw,48px);
  border-radius: 24px;
  background: var(--ca-panel);
  border: 1px solid rgba(255,255,255,.015);
  box-shadow: 0 26px 60px rgba(0,0,0,.28);
}
.ca-section-head {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ca-cream);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ca-section-head b {
  flex: 0 0 auto;
  width: 9px;
  height: 28px;
  border-radius: 5px;
  background: var(--ca-red);
}
.ca-section-head i { height: 1px; flex: 1; background: rgba(143,123,82,.62); }
.ca-slide-primary {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: clamp(26px,4vw,54px);
  align-items: center;
  margin-top: 24px;
}
.slide--ca.has-art .ca-slide-primary { grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr); }
.slide--ca.has-art h2 {
  font-size: clamp(36px,3.65vw,54px);
  overflow-wrap: normal;
  word-break: normal;
}
.slide--ca.slide--the-sell .ca-slide-primary {
  grid-template-columns: minmax(0,.88fr) minmax(380px,1.12fr);
  align-items: start;
}
.slide--ca.slide--the-sell .source-art-frame--ca {
  width: 100%;
  max-width: 680px;
  justify-self: end;
}
.slide--ca h2 {
  max-width: 880px;
  color: var(--ca-cream);
  font-family: "Arial Black", Impact, Haettenschweiler, sans-serif;
  font-size: clamp(42px,5.6vw,78px);
  line-height: .96;
  letter-spacing: -.018em;
  text-shadow: none;
}
.slide--ca .lead {
  margin-top: 20px;
  color: var(--ca-cream);
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 750;
  font-size: clamp(19px,2vw,28px);
  line-height: 1.34;
}
.slide--ca .body-copy {
  color: #d3d1ca;
  font-size: clamp(15px,1.35vw,19px);
  line-height: 1.57;
}
.slide--ca .quote-banner {
  margin-top: 26px;
  padding: 17px 22px;
  border: 0;
  border-radius: 8px;
  background: var(--ca-red);
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-size: clamp(17px,1.8vw,24px);
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
}
.slide--ca .quote-banner::before { display: none; }
.source-art-frame--ca {
  margin: 0;
  padding: 0;
  background: #070806;
  border: 0;
}
.source-art-frame--ca img { display: block; width: 100%; height: auto; object-fit: contain; }
.ca-format-strap {
  margin-top: 18px;
  padding: 13px 20px;
  border-radius: 8px;
  background: var(--ca-teal);
  color: white;
  text-align: center;
  font-weight: 950;
  font-size: clamp(12px,1.2vw,16px);
}
.ca-page-footer {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 16px;
  padding: 0 4px 12px;
  border-bottom: 1px solid rgba(143,123,82,.74);
  color: #9e9b92;
  font-size: 10px;
  letter-spacing: .04em;
}
.ca-page-footer strong { color: var(--ca-cream); }

.slide--ca .statements {
  gap: 14px;
  margin-top: 28px;
  border: 0;
  background: transparent;
}
.slide--ca .statement {
  position: relative;
  min-height: 132px;
  padding: 20px 22px 20px 34px;
  background: #0d0f0c;
  border-top: 1px solid rgba(143,123,82,.42);
}
.slide--ca .statement::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 26px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ca-red);
}
.slide--ca .statement strong { color: var(--ca-cream); font-family: Arial, Helvetica, sans-serif; font-size: 17px; }
.slide--ca .statement span { color: #c6c7c0; font-size: 13px; }
.slide--ca .episode-grid { gap: 0 26px; margin-top: 30px; }
.slide--ca .episode-card {
  min-height: auto;
  padding: 18px 8px 18px 34px;
  border: 0;
  border-top: 1px solid rgba(143,123,82,.34);
  background: transparent;
  box-shadow: none;
}
.slide--ca .episode-card::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 25px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ca-red);
}
.slide--ca .episode-card .ep-num { display: none; }
.slide--ca .episode-card h4 { color: var(--ca-cream); font-size: 15px; }
.slide--ca .episode-card p { color: #c2c4bd; font-size: 13px; }
.slide--ca .engine { margin-top: 30px; border-top: 1px solid rgba(143,123,82,.38); border-bottom: 1px solid rgba(143,123,82,.38); }
.slide--ca .engine-step { background: #0d0f0c; border: 0; }
.slide--ca .engine-step + .engine-step { border-left: 1px solid rgba(143,123,82,.34); }
.slide--ca .engine-step .step-no { color: var(--ca-red); }
.slide--ca .engine-step strong { color: var(--ca-cream); }
.slide--ca .engine-step p { color: #bdc0b9; }
.slide--ca .hosts { gap: 18px; }
.slide--ca .host {
  min-height: 240px;
  border: 1px solid rgba(143,123,82,.34);
  background: linear-gradient(180deg,#12140f,#0b0d0a);
}
.slide--ca .host .host-role { color: var(--ca-red); }
.slide--ca .host strong { color: var(--ca-cream); font-family: "Arial Black", Impact, sans-serif; }
.slide--ca .host p { color: #c6c7c0; }

/* COUNTRY DECK: USA ------------------------------------------------------- */
.screen--deck.theme-us {
  background: var(--us-paper);
  color: #222;
}
.screen--deck.theme-us .deck-theme {
  opacity: 1;
  background:
    repeating-linear-gradient(0deg, rgba(80,58,25,.018) 0 1px, transparent 1px 4px),
    var(--us-paper);
}
.screen--deck.theme-us .deck-topbar {
  background: rgba(247,241,225,.96);
  border-bottom: 1px solid #dacaa8;
  backdrop-filter: blur(10px);
}
.screen--deck.theme-us .deck-mini-logo { color: var(--us-navy); }
.screen--deck.theme-us .deck-mini-logo .mini-top { color: var(--us-red); }
.screen--deck.theme-us .deck-mini-logo .mini-main { color: var(--us-navy); }
.screen--deck.theme-us .deck-country-label { color: var(--us-navy); }
.screen--deck.theme-us .deck-progress { background: #dfd2b8; }
.screen--deck.theme-us .deck-progress span { background: var(--us-red); }
.screen--deck.theme-us .map-return-button {
  color: var(--us-navy);
  border-color: #c8b898;
  background: rgba(255,255,255,.36);
}
.screen--deck.theme-us .deck-nav {
  background: #f1e8d4;
  border-right: 1px solid #d7c6a5;
}
.screen--deck.theme-us .deck-nav button {
  color: #6d665b;
  border-left-width: 5px;
}
.screen--deck.theme-us .deck-nav button .nav-num { color: #a6987e; }
.screen--deck.theme-us .deck-nav button:hover { color: var(--us-navy); background: rgba(255,255,255,.34); }
.screen--deck.theme-us .deck-nav button.is-active {
  color: var(--us-navy);
  border-left-color: var(--us-red);
  background: rgba(255,255,255,.58);
}
.screen--deck.theme-us .deck-nav button.is-active .nav-num { color: var(--us-red); }
.screen--deck.theme-us .deck-content {
  background: var(--us-paper);
  padding-top: clamp(26px,3vw,44px);
}

.slide--us { width: min(1180px, 100%); color: #222; }
.us-page-card {
  position: relative;
  min-height: min(72vh, 720px);
  padding: clamp(52px,5vw,74px) clamp(34px,5vw,72px) clamp(48px,4vw,62px) clamp(72px,7vw,108px);
  background: var(--us-sheet);
  border: 1px solid var(--us-rule);
  box-shadow: 0 24px 60px rgba(75,53,20,.13);
  overflow: visible;
}
.us-slide-stripes {
  left: 28px;
  top: 42px;
  bottom: 74px;
}
.us-card-tape--top { left: 44%; top: -10px; transform: rotate(-5deg); }
.us-section-chip {
  display: inline-block;
  min-width: 150px;
  margin-bottom: 18px;
  padding: 8px 17px;
  border-radius: 5px;
  background: var(--us-red);
  color: #fff;
  font-size: 10px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .035em;
  text-align: center;
  text-transform: uppercase;
}
.slide--us.slide--tone-style .us-section-chip,
.slide--us.slide--visual-world .us-section-chip,
.slide--us.slide--the-world .us-section-chip { background: var(--us-blue); }
.us-slide-primary {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: clamp(28px,4vw,56px);
  align-items: center;
}
.slide--us.has-art .us-slide-primary { grid-template-columns: minmax(0,.94fr) minmax(360px,1.06fr); }
.slide--us h2 {
  max-width: 860px;
  color: var(--us-navy);
  font-family: "Arial Black", Impact, Haettenschweiler, sans-serif;
  font-size: clamp(46px,5.7vw,82px);
  line-height: .99;
  letter-spacing: -.02em;
  text-shadow: none;
}
.slide--us.has-art h2 {
  font-size: clamp(36px,3.4vw,50px);
  overflow-wrap: normal;
  word-break: normal;
}
.slide--us .lead {
  max-width: 820px;
  margin-top: 22px;
  color: #262626;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(19px,2vw,28px);
  line-height: 1.38;
}
.slide--us .body-copy {
  max-width: 800px;
  margin-top: 22px;
  color: #36332f;
  font-size: clamp(15px,1.35vw,19px);
  line-height: 1.54;
}
.slide--us .quote-banner {
  margin-top: 28px;
  padding: 14px 20px;
  border: 0;
  border-radius: 6px;
  background: var(--us-red);
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-size: clamp(17px,1.8vw,24px);
  line-height: 1.22;
  font-weight: 900;
}
.slide--us .quote-banner::before { display: none; }
.source-art-frame--us {
  position: relative;
  margin: 0;
  padding: clamp(16px,2vw,26px);
  background: #fbf7ee;
  border: 1px solid #d6c5a3;
  box-shadow: 14px 14px 0 var(--us-red), 0 16px 40px rgba(71,48,18,.12);
}
.slide--us.slide--visual-world .source-art-frame--us,
.slide--us.slide--the-world .source-art-frame--us { box-shadow: 14px 14px 0 var(--us-blue), 0 16px 40px rgba(71,48,18,.12); }
.source-art-frame--us img { display: block; width: 100%; height: auto; }
.us-quote-mark {
  position: absolute;
  right: 5%;
  top: 38px;
  color: var(--us-mustard);
  font-family: Georgia, serif;
  font-size: 52px;
  font-weight: 900;
}
.us-page-footer {
  position: absolute;
  left: 34px;
  bottom: 16px;
  color: var(--us-navy);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .01em;
}
.slide--us .statements {
  margin-top: 30px;
  gap: 14px;
  border: 0;
  background: transparent;
}
.slide--us .statement {
  min-height: 145px;
  padding: 21px 22px;
  background: #f9f3e8;
  border: 1px solid #d9c8a7;
  box-shadow: 7px 7px 0 rgba(51,104,157,.15);
}
.slide--us .statement:nth-child(2n) { box-shadow: 7px 7px 0 rgba(207,61,47,.14); }
.slide--us .statement strong {
  color: var(--us-navy);
  font-family: "Arial Black", Arial, sans-serif;
  font-size: 22px;
}
.slide--us .statement span { color: #49443c; font-size: 13px; }
.slide--us .engine {
  margin-top: 30px;
  gap: 12px;
}
.slide--us .engine-step {
  border: 1px solid #d7c6a5;
  background: #f9f3e8;
  box-shadow: 6px 6px 0 rgba(216,163,58,.15);
}
.slide--us .engine-step + .engine-step { border-left: 1px solid #d7c6a5; }
.slide--us .engine-step .step-no { color: var(--us-red); }
.slide--us .engine-step strong { color: var(--us-navy); }
.slide--us .engine-step p { color: #4a463f; }
.slide--us .hosts .host {
  border: 1px solid #d7c6a5;
  background: #f9f3e8;
  box-shadow: 8px 8px 0 rgba(51,104,157,.13);
}
.slide--us .hosts .host .host-role { color: var(--us-red); }
.slide--us .hosts .host strong { color: var(--us-navy); }
.slide--us .hosts .host p { color: #48443d; }

.episode-grid--visual {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
  margin-top: 34px;
}
.slide--us .episode-card--visual {
  min-height: 0;
  padding: 0;
  overflow: visible;
  border: 1px solid #d3c19d;
  background: #faf5e9;
  box-shadow: 8px 8px 0 rgba(207,61,47,.14);
}
.slide--us .episode-card--visual:nth-child(even) { box-shadow: 8px 8px 0 rgba(51,104,157,.14); }
.episode-art {
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #dfd2b8;
}
.episode-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}
.slide--ca .episode-art { background: #070806; }
.slide--us .episode-art { background: #e8ddc8; }
.slide--ca .episode-card--visual:nth-child(6) .episode-art img,
.slide--ca .episode-card--visual:nth-child(12) .episode-art img {
  object-position: center;
  scale: 1.06;
}
.slide--us .episode-art img { object-position: center 32%; }
.slide--us .episode-card--visual .episode-copy { position: relative; padding: 18px 18px 20px 52px; }
.slide--us .episode-card--visual .ep-num {
  left: 16px;
  top: 17px;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 4px;
  background: var(--us-red);
  color: #fff;
  font-family: Arial, sans-serif;
  font-weight: 900;
}
.slide--us .episode-card--visual:nth-child(even) .ep-num { background: var(--us-blue); }
.slide--us .episode-card--visual h4 {
  color: var(--us-navy);
  font-family: "Arial Black", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.15;
}
.slide--us .episode-card--visual p { color: #514c44; font-size: 12px; line-height: 1.42; }
.episode-button {
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid currentColor;
  color: var(--us-red);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.slide--ca .episode-grid--visual { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.slide--ca .episode-card--visual {
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(143,123,82,.48);
  background: #0b0d0a;
  box-shadow: 8px 8px 0 rgba(227,37,32,.13);
}
.slide--ca .episode-card--visual::before { display: none; }
.slide--ca .episode-card--visual .episode-copy { position: relative; padding: 18px 18px 20px 52px; }
.slide--ca .episode-card--visual .ep-num {
  display: grid;
  left: 16px;
  top: 17px;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 4px;
  background: var(--ca-red);
  color: white;
}
.slide--ca .episode-card--visual h4 { color: var(--ca-cream); font-size: 14px; line-height: 1.16; }
.slide--ca .episode-card--visual p { color: #c9cac3; font-size: 12px; line-height: 1.46; }
.slide--ca .episode-card--visual .episode-button { color: #6fb1bf; }

.screen--deck.theme-us .deck-controls {
  background: rgba(250,245,234,.95);
  border-color: #cdbd9c;
  box-shadow: 0 12px 30px rgba(66,44,18,.13);
}
.screen--deck.theme-us .deck-arrow {
  border-color: #cdbd9c;
  background: #fffaf0;
  color: var(--us-navy);
}
.screen--deck.theme-us .deck-counter { color: var(--us-navy); }

/* Responsive art-direction rules ------------------------------------------ */
@media (max-width: 1050px) {
  .portal-card--us { grid-template-columns: .9fr 1.1fr; }
  .episode-grid--visual { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .slide--ca .episode-grid--visual { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .slide--ca.has-art .ca-slide-primary,
  .slide--us.has-art .us-slide-primary { grid-template-columns: 1fr; }
  .slide--ca.has-art .source-art-frame--ca { max-width: 660px; }
  .slide--us.has-art .source-art-frame--us { max-width: 720px; }
}

@media (max-width: 900px) {
  .screen--deck.theme-us .deck-nav { border-right: 0; border-bottom: 1px solid #d7c6a5; }
  .screen--deck.theme-us .deck-nav button { border-left: 0; }
  .screen--deck.theme-us .deck-nav button.is-active { border-bottom-color: var(--us-red); }
  .screen--deck.theme-ca .deck-nav { border-right: 0; border-bottom: 1px solid rgba(143,123,82,.34); }
  .screen--deck.theme-ca .deck-nav button { border-left: 0; }
  .screen--deck.theme-ca .deck-nav button.is-active { border-bottom-color: var(--ca-red); }
  .us-page-card { padding-left: 70px; }
}

@media (max-width: 760px) {
  .screen--country { padding: 72px 14px 32px; }
  .portal-card--us {
    grid-template-columns: 1fr;
    gap: 28px;
    width: 94vw;
    padding: 44px 24px 34px 58px;
  }
  .us-portal-stripes { left: 20px; top: 34px; bottom: 34px; }
  .us-portal-art { box-shadow: 10px 10px 0 rgba(197,62,48,.82); }
  .portal-card--ca { width: 94vw; padding-left: 18px; padding-right: 18px; }
  .portal-ca-crest { width: 88vw; }
  .portal-logo-stage { width: 92vw; height: min(62vh, 560px); padding: 8px; }
  .portal-logo-stage--us { width: 88vw; }
  .country-click-copy { margin-top: 24px !important; }
  .episode-grid--visual { grid-template-columns: 1fr; }
  .slide--ca .episode-grid--visual { grid-template-columns: 1fr; }
  .us-page-card { padding: 52px 22px 48px 50px; }
  .us-slide-stripes { left: 17px; gap: 5px; }
  .us-slide-stripes span { width: 6px; }
  .slide--us h2 {
    font-size: clamp(34px,9vw,48px);
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .slide--ca h2 {
    font-size: clamp(34px,9vw,48px);
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .ca-slide-panel { padding: 24px 20px; }
  .ca-page-footer { flex-direction: column; gap: 5px; }
}

/* CINEMATIC MASTER PASS -------------------------------------------------- */
body { background: #000; }

.app-shell {
  isolation: isolate;
  background:
    radial-gradient(ellipse at 50% 46%, rgba(80,55,26,.14), transparent 46%),
    #020202;
}

.app-shell::before,
.app-shell::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 42;
  pointer-events: none;
}
.app-shell::before {
  opacity: .2;
  background:
    repeating-radial-gradient(circle at 18% 31%, transparent 0 2px, rgba(255,255,255,.035) 2px 3px, transparent 3px 6px),
    repeating-linear-gradient(90deg, transparent 0 73px, rgba(255,242,211,.035) 74px, transparent 75px 151px);
  mix-blend-mode: screen;
  animation: filmGrain .28s steps(2,end) infinite;
}
.app-shell::after {
  background:
    linear-gradient(90deg, rgba(0,0,0,.78), transparent 5%, transparent 95%, rgba(0,0,0,.78)),
    linear-gradient(180deg, rgba(0,0,0,.7), transparent 7%, transparent 91%, rgba(0,0,0,.86));
}

.cinema-chrome {
  position: fixed;
  inset: 0;
  z-index: 44;
  pointer-events: none;
  box-shadow: inset 0 12px #000, inset 0 -12px #000;
  color: rgba(226,190,118,.58);
  font-family: "Courier New", monospace;
  font-size: 9px;
  letter-spacing: .18em;
}
.cinema-projector-beam {
  position: absolute;
  left: 50%;
  bottom: -28vh;
  width: min(44vw,650px);
  height: 70vh;
  opacity: 0;
  transform: translateX(-50%);
  clip-path: polygon(44% 100%,56% 100%,100% 0,0 0);
  background: linear-gradient(180deg, rgba(244,192,94,.11), rgba(245,189,76,.035) 56%, transparent 86%);
  filter: blur(11px);
  transition: opacity 1.2s ease;
}
.app-shell[data-screen="intro"] .cinema-projector-beam,
.app-shell[data-screen="country"] .cinema-projector-beam { opacity: 1; }
.cinema-corner {
  position: absolute;
  width: 36px;
  height: 36px;
  opacity: .44;
  border-color: currentColor;
}
.cinema-corner--tl { left: 30px; top: 30px; border-left: 1px solid; border-top: 1px solid; }
.cinema-corner--tr { right: 30px; top: 30px; border-right: 1px solid; border-top: 1px solid; }
.cinema-corner--bl { left: 30px; bottom: 30px; border-left: 1px solid; border-bottom: 1px solid; }
.cinema-corner--br { right: 30px; bottom: 30px; border-right: 1px solid; border-bottom: 1px solid; }
.cinema-timecode { position: absolute; left: 48px; bottom: 32px; }
.cinema-frame-label { position: absolute; right: 48px; bottom: 32px; }
.app-shell[data-screen="map"] .cinema-timecode,
.app-shell[data-screen="map"] .cinema-frame-label,
.app-shell[data-screen="deck"] .cinema-timecode,
.app-shell[data-screen="deck"] .cinema-frame-label { display: none; }

.app-shell.cinematic-cut .screen.is-active::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 39;
  pointer-events: none;
  background: #f4d99c;
  mix-blend-mode: screen;
  animation: exposureCut .46s ease-out both;
}

.screen {
  transform: scale(1.008);
  filter: brightness(.82) blur(1.5px);
  transition: opacity .72s ease, transform 1.05s var(--ease), filter .82s ease, visibility .72s;
}
.screen.is-active { transform: scale(1); filter: none; }

/* Opening title */
.screen--intro {
  padding: 5vh 24px 7vh;
  background:
    radial-gradient(ellipse at 50% 88%, rgba(211,146,48,.13), transparent 31%),
    radial-gradient(ellipse at center, #11100d 0, #030303 48%, #000 79%);
}
.screen--intro::before {
  top: auto;
  left: 50%;
  right: auto;
  bottom: -9vh;
  width: min(38vw,560px);
  height: 46vh;
  transform: translateX(-50%);
  clip-path: polygon(46% 100%,54% 100%,100% 0,0 0);
  background: linear-gradient(180deg, rgba(255,202,105,.12), transparent 74%);
  filter: blur(9px);
  opacity: .8;
}
.intro-logo-button {
  width: min(67vw,720px);
  transform-origin: center 58%;
  filter: drop-shadow(0 22px 34px rgba(0,0,0,.78)) saturate(.88) contrast(1.08);
  animation: titleDolly 11s ease-in-out infinite alternate;
}
.intro-logo-button:hover {
  transform: scale(1.045);
  filter: drop-shadow(0 24px 40px rgba(0,0,0,.86)) drop-shadow(0 0 24px rgba(226,163,65,.22)) saturate(1.03);
}
.intro-logo-button img { max-height: 69vh; }
.enter-copy {
  margin-top: 8px;
  color: #e5bd74;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(14px,1.45vw,20px);
  font-weight: 700;
  letter-spacing: .23em;
  text-shadow: 0 0 22px rgba(233,171,72,.28);
}
.enter-hint {
  color: #b48a51;
  font-family: Georgia, serif;
  font-size: 12px;
  font-style: italic;
  letter-spacing: .16em;
  text-transform: lowercase;
}

/* World map as an illuminated archive table */
.screen--map {
  background:
    radial-gradient(ellipse at 50% 46%, rgba(123,84,39,.17), transparent 44%),
    linear-gradient(180deg,#050606,#0b0a08 55%,#020202);
}
.screen--map::before { height: 1px; opacity: .46; }
.map-title-block h1 { text-shadow: 0 8px 34px rgba(0,0,0,.7); }
.world-stage {
  border-radius: 2px;
  border-color: rgba(217,177,100,.4) !important;
  background: rgba(5,7,8,.74);
  box-shadow: 0 38px 100px rgba(0,0,0,.78), 0 0 70px rgba(188,128,49,.075), inset 0 0 60px rgba(0,0,0,.58) !important;
  transform: perspective(1500px) rotateX(.55deg);
}
.world-map svg { filter: sepia(.12) contrast(1.05) drop-shadow(0 22px 30px rgba(0,0,0,.52)); }
.map-callout {
  border-radius: 0;
  backdrop-filter: blur(12px);
  transition: transform .3s var(--ease), box-shadow .3s ease, filter .3s ease;
}
.map-callout:hover { transform: translateY(-5px) scale(1.025); filter: brightness(1.1); box-shadow: 0 22px 48px rgba(0,0,0,.52); }

/* Country title cards */
.screen--country.theme-ca .country-backdrop {
  background:
    radial-gradient(ellipse at 50% 54%, rgba(122,32,26,.15), transparent 40%),
    radial-gradient(ellipse at 50% 100%, rgba(201,144,52,.08), transparent 42%),
    #030403;
}
.screen--country.theme-us .country-backdrop {
  background:
    radial-gradient(ellipse at 50% 48%, rgba(255,255,255,.48), transparent 38%),
    repeating-linear-gradient(0deg, rgba(80,56,25,.02) 0 1px, transparent 1px 4px),
    #eee5d2;
}
.country-entry-logo {
  filter: drop-shadow(0 34px 40px rgba(0,0,0,.48));
  animation: countryDolly 8s ease-in-out infinite alternate;
}
.country-logo-button:hover .country-entry-logo { filter: drop-shadow(0 38px 54px rgba(0,0,0,.62)) brightness(1.08); }
.country-click-copy {
  font-family: Georgia, serif;
  font-size: clamp(12px,1.15vw,16px);
  letter-spacing: .24em;
}

/* Deck shell */
.screen--deck { background: #030303; }
.screen--deck .deck-theme { opacity: 1; }
.screen--deck.theme-ca .deck-theme {
  background:
    radial-gradient(ellipse at 70% 28%, rgba(151,77,27,.11), transparent 34%),
    radial-gradient(ellipse at 13% 82%, rgba(27,91,99,.08), transparent 31%),
    #030403;
}
.screen--deck.theme-us .deck-theme {
  background:
    linear-gradient(90deg,#040403 0 15.8%, transparent 15.8%),
    radial-gradient(ellipse at 72% 28%, rgba(130,82,31,.11), transparent 38%),
    #e9dfca;
}
.deck-topbar {
  min-height: 78px;
  padding: 9px 28px;
  border-bottom: 1px solid rgba(213,173,96,.32);
  background: rgba(2,3,3,.94) !important;
  backdrop-filter: blur(18px) saturate(.75);
}
.deck-mini-logo .mini-top { color: #bda177; font-size: 8px; }
.deck-mini-logo .mini-main { font-family: "Arial Black", Impact, sans-serif; font-size: 21px; }
.deck-country-label { color: #c4a77b !important; font-family: "Courier New", monospace; }
.deck-progress { height: 1px; background: rgba(218,177,98,.19); }
.deck-progress span { background: #c73c31; box-shadow: 0 0 18px rgba(199,60,49,.4); }
.map-return-button {
  border-radius: 0;
  border-color: rgba(212,175,105,.38) !important;
  color: #d4b77f !important;
  background: transparent !important;
  font-family: "Courier New", monospace;
}
.deck-layout { grid-template-columns: 190px minmax(0,1fr); }
.deck-nav {
  padding: 30px 16px 80px 24px;
  border-right: 1px solid rgba(216,176,98,.2) !important;
  background: rgba(2,3,3,.94) !important;
}
.deck-nav button {
  min-height: 58px;
  gap: 14px;
  border-left-width: 3px;
  padding: 12px 10px 12px 14px;
  color: #756f65 !important;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 10px;
  letter-spacing: .12em;
}
.deck-nav button .nav-num {
  min-width: 27px;
  color: #6a5841 !important;
  font-family: Georgia, serif;
  font-size: 19px;
}
.deck-nav button.is-active {
  color: #eee0c7 !important;
  border-left-color: #d34436 !important;
  background: linear-gradient(90deg,rgba(207,55,43,.1),transparent 78%) !important;
}
.deck-nav button.is-active .nav-num { color: #d34436 !important; }
.deck-content {
  padding: clamp(34px,4vw,66px) clamp(30px,5vw,82px) 100px;
  background: transparent !important;
  perspective: 1500px;
}
.deck-content::before {
  content: "";
  position: fixed;
  inset: 78px 0 0 190px;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse at 65% 44%, rgba(239,189,105,.07), transparent 45%);
}
.deck-content::after {
  content: "FRAME 00" attr(data-frame);
  position: fixed;
  right: auto;
  left: 220px;
  bottom: 30px;
  z-index: 4;
  color: rgba(196,157,92,.44);
  font: 9px/1 "Courier New", monospace;
  letter-spacing: .22em;
  pointer-events: none;
}
.slide {
  width: min(1120px,100%);
  transform-origin: center 35%;
  animation: cinematicSlideReveal .68s var(--ease) both;
}
.slide h2 { text-shadow: 0 22px 54px rgba(0,0,0,.32); }

/* Canada: projected night-stage composition */
.ca-page-ornament { opacity: .55; }
.ca-slide-panel {
  border-radius: 2px;
  border-color: rgba(214,176,102,.1);
  background:
    linear-gradient(105deg,rgba(255,255,255,.018),transparent 28%),
    rgba(12,14,12,.88);
  box-shadow: 0 40px 100px rgba(0,0,0,.58), inset 0 1px rgba(255,255,255,.025);
}
.slide--ca h2 {
  font-family: "Arial Black", Impact, sans-serif;
  letter-spacing: -.035em;
  text-transform: uppercase;
}
.slide--ca .lead { font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.source-art-frame--ca {
  box-shadow: 0 28px 65px rgba(0,0,0,.64), 0 0 50px rgba(214,155,65,.055);
  transform: perspective(1000px) rotateY(-1.5deg) rotateZ(.35deg);
}
.source-art-frame--ca img { filter: contrast(1.04) saturate(.88) sepia(.05); }

/* America: illuminated archival paper */
.us-page-card {
  border-radius: 1px;
  border-color: #b99d6d;
  background:
    repeating-linear-gradient(0deg, rgba(91,63,25,.018) 0 1px, transparent 1px 4px),
    #eee3cc;
  box-shadow: 0 38px 95px rgba(0,0,0,.48), 0 0 50px rgba(125,77,27,.08);
}
.slide--us h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 900;
  letter-spacing: -.045em;
  text-shadow: none;
}
.slide--us .lead { font-family: Georgia, "Times New Roman", serif; }
.source-art-frame--us {
  border: 1px solid #b89a65;
  box-shadow: 18px 22px 0 rgba(28,41,65,.12), 0 28px 70px rgba(56,37,15,.25);
  transform: perspective(1100px) rotateY(1.7deg) rotateZ(-.25deg);
}
.source-art-frame--us img { filter: contrast(1.03) saturate(.95) sepia(.035); }

/* Supporting modules become film frames, not generic cards */
.statements,
.engine,
.hosts,
.episode-grid--visual { position: relative; }
.statement,
.engine-step,
.host,
.episode-card--visual {
  border-radius: 0 !important;
  transition: transform .35s var(--ease), filter .35s ease, box-shadow .35s ease;
}
.statement:hover,
.engine-step:hover,
.host:hover,
.episode-card--visual:hover { transform: translateY(-5px); filter: brightness(1.045); }
.episode-grid--visual { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.episode-card--visual { box-shadow: 0 24px 52px rgba(0,0,0,.24) !important; }
.episode-art { border-bottom: 1px solid rgba(190,151,87,.25); }
.episode-art img { transition: transform 1s cubic-bezier(.16,.76,.16,1), filter .45s ease; }
.episode-card--visual:hover .episode-art img { transform: scale(1.025); }
.slide--ca .episode-art img { filter: contrast(1.07) saturate(.82); }
.slide--us .episode-art img { filter: contrast(1.03) saturate(.9) sepia(.04); }

.deck-controls {
  right: 30px;
  bottom: 18px;
  gap: 0;
  padding: 0;
  border-radius: 0;
  border-color: rgba(213,173,96,.28) !important;
  background: rgba(2,3,3,.9) !important;
  backdrop-filter: blur(14px);
}
.deck-arrow {
  width: 48px;
  height: 42px;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: #d8bd89 !important;
}
.deck-counter {
  min-width: 74px;
  color: #bd9a63 !important;
  font-family: "Courier New", monospace;
}

@keyframes filmGrain {
  0% { transform: translate(0,0); }
  25% { transform: translate(-.4%,.3%); }
  50% { transform: translate(.3%,-.2%); }
  75% { transform: translate(.2%,.35%); }
  100% { transform: translate(-.25%,-.25%); }
}
@keyframes exposureCut {
  0% { opacity: .16; }
  35% { opacity: .055; }
  100% { opacity: 0; }
}
@keyframes titleDolly {
  from { transform: scale(.985) translateY(3px); }
  to { transform: scale(1.018) translateY(-3px); }
}
@keyframes countryDolly {
  from { transform: scale(.985) translateY(4px); }
  to { transform: scale(1.012) translateY(-4px); }
}
@keyframes cinematicSlideReveal {
  0% { opacity: 0; transform: translateY(14px) scale(.994); filter: brightness(1.14) blur(1px); }
  34% { opacity: 1; filter: brightness(1.03) blur(0); }
  100% { opacity: 1; transform: none; filter: none; }
}

@media (max-width: 900px) {
  .cinema-corner { width: 22px; height: 22px; }
  .cinema-corner--tl { left: 14px; top: 14px; }
  .cinema-corner--tr { right: 14px; top: 14px; }
  .cinema-corner--bl { left: 14px; bottom: 14px; }
  .cinema-corner--br { right: 14px; bottom: 14px; }
  .cinema-timecode { left: 27px; bottom: 18px; font-size: 7px; }
  .cinema-frame-label { right: 27px; bottom: 18px; font-size: 7px; }
  .deck-layout { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
  .deck-nav { padding: 0 14px; background: rgba(2,3,3,.96) !important; }
  .deck-content::before { inset: 130px 0 0; }
  .deck-content::after { display: none; }
  .episode-grid--visual { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .cinema-chrome { box-shadow: inset 0 7px #000, inset 0 -7px #000; }
  .cinema-frame-label { display: none; }
  .screen--intro { padding-left: 14px; padding-right: 14px; }
  .intro-logo-button { width: min(94vw,560px); }
  .intro-logo-button img { max-height: 65vh; }
  .world-flag-particle { width: clamp(28px, 9vw, 42px); }
  .portal-logo-stage--ca::before { inset: 6% 1% 4%; }
  .world-stage { transform: none; }
  .deck-topbar { padding: 7px 10px; }
  .deck-content { padding: 28px 20px 96px; }
  .episode-grid--visual { grid-template-columns: 1fr; }
  .source-art-frame--ca,
  .source-art-frame--us { transform: none; }
  .ca-slide-panel { padding: 26px 20px; }
  .us-page-card { padding-top: 48px; }
  .deck-controls { right: 14px; bottom: 12px; }
  .music-toggle { top: 82px; right: 10px; padding: 7px 9px; }
  .music-toggle span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .app-shell::before,
  .intro-logo-button,
  .country-entry-logo,
  .slide { animation: none !important; }
  .screen { transition-duration: .01ms; }
}

/* CINEMATIC MAP + PERFORMANCE PASS --------------------------------------- */
.app-shell::before { animation-duration: 1.1s; will-change: transform; }
.screen--map {
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  padding: clamp(16px,2.2vh,28px) clamp(16px,2.4vw,46px) clamp(12px,1.7vh,22px);
  grid-template-rows: minmax(72px,auto) minmax(0,1fr) minmax(28px,auto);
  gap: clamp(8px,1.25vh,16px);
  overflow: hidden;
}
.map-header {
  grid-template-columns: clamp(58px,7.2vh,82px) minmax(0,1fr) clamp(58px,7.2vh,82px);
  min-height: 0;
  gap: clamp(12px,1.5vw,22px);
}
.mini-logo-button {
  width: clamp(58px,7.2vh,82px);
  height: clamp(58px,7.2vh,82px);
}
.map-title-block h1 {
  font-size: clamp(25px,min(4vw,5.3vh),58px);
  line-height: .95;
}
.map-title-block p {
  margin-top: clamp(4px,.75vh,8px);
  font-size: clamp(9px,min(1.05vw,1.6vh),15px);
  line-height: 1.25;
}
.world-stage {
  align-self: stretch;
  width: min(100%,calc((100dvh - 156px) * 1.71));
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  margin: 0 auto;
  transform: none;
  contain: layout paint;
  isolation: isolate;
}
.map-glow {
  inset: 0;
  filter: none;
  background:
    radial-gradient(ellipse at 28% 43%,rgba(173,111,41,.2),transparent 34%),
    radial-gradient(ellipse at 66% 48%,rgba(32,96,133,.27),transparent 58%);
}
.map-glow::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.35) 82%,rgba(0,0,0,.72) 100%),
    linear-gradient(90deg,rgba(216,174,93,.07),transparent 11% 89%,rgba(216,174,93,.07));
}
.world-map { inset: clamp(12px,2.2vh,26px) clamp(10px,1.8vw,30px); }
.world-map svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  filter: sepia(.1) contrast(1.08) drop-shadow(0 15px 20px rgba(0,0,0,.46));
}
.world-map svg > title { display: none; }
.map-callout { backdrop-filter: none; }
.map-footer { min-height: 0; line-height: 1.25; }

@media (max-height: 720px) and (min-width: 621px) {
  .screen--map { padding-top: 14px; grid-template-rows: minmax(58px,auto) minmax(0,1fr) 24px; gap: 6px; }
  .mini-logo-button { width: 56px; height: 56px; }
  .map-title-block h1 { font-size: clamp(24px,4.6vh,40px); }
  .map-title-block p { font-size: 9px; }
  .map-footer { font-size: 8px; }
}

@media (max-width: 620px) {
  .screen--map {
    padding: 14px 10px 12px;
    grid-template-rows: minmax(70px,auto) minmax(0,1fr) minmax(28px,auto);
    gap: 10px;
    align-content: stretch;
  }
  .map-header { grid-template-columns: 56px minmax(0,1fr); }
  .mini-logo-button { width: 52px; height: 52px; }
  .world-stage { width: 100%; height: 100%; max-height: none; aspect-ratio: auto; margin: 0; }
  .world-map { inset: 8px 2px 54px; }
  .map-callout { bottom: 9px; }
}

/* CINEMATIC ART MAP + COUNTRY INTELLIGENCE ------------------------------- */
.cinematic-map-art {
  position: absolute;
  z-index: 1;
  inset: clamp(12px,2.2vh,26px) clamp(10px,1.8vw,30px);
  width: calc(100% - clamp(20px,3.6vw,60px));
  height: calc(100% - clamp(24px,4.4vh,52px));
  object-fit: contain;
  object-position: center;
  filter: saturate(1.05) contrast(1.04) drop-shadow(0 22px 36px rgba(0,0,0,.58));
  pointer-events: none;
  user-select: none;
}
.world-map { z-index: 3; }
.world-map svg path {
  fill: rgba(255,255,255,.001) !important;
  stroke: rgba(255,224,170,.001) !important;
  stroke-width: 1 !important;
  pointer-events: all;
  transition: fill .16s ease, stroke .16s ease, filter .16s ease;
}
.world-map svg > path[id]:hover,
.world-map svg > path[id]:focus-visible,
.world-map svg > g[id]:hover path,
.world-map svg > g[id]:focus-visible path {
  fill: rgba(255,211,118,.13) !important;
  stroke: rgba(255,235,190,.9) !important;
  filter: drop-shadow(0 0 5px rgba(255,182,61,.72));
}
.world-map svg > path.country-live,
.world-map svg > g.country-live path {
  fill: rgba(255,255,255,.001) !important;
  stroke: rgba(255,238,194,.001) !important;
}
.world-map svg > path.country-live:hover,
.world-map svg > path.country-live:focus-visible,
.world-map svg > g.country-live:hover path,
.world-map svg > g.country-live:focus-visible path {
  fill: rgba(255,206,100,.21) !important;
  stroke: #fff0c4 !important;
}
.map-status-legend {
  position: absolute;
  z-index: 9;
  top: 16px;
  right: 18px;
  display: flex;
  gap: 13px;
  padding: 8px 10px;
  border: 1px solid rgba(235,196,117,.28);
  background: rgba(2,4,5,.76);
  box-shadow: 0 10px 30px rgba(0,0,0,.32);
  color: #aeb5ba;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .13em;
  backdrop-filter: blur(5px);
}
.map-status-legend__item { display: inline-flex; align-items: center; gap: 6px; }
.map-status-legend__item i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #60696e;
  box-shadow: 0 0 0 1px rgba(255,255,255,.13);
}
.map-status-legend__item--live { color: #ffe1a4; }
.map-status-legend__item--live i { background: #f0a52f; box-shadow: 0 0 10px #f0a52f; }
.map-tooltip {
  width: min(272px,calc(100vw - 20px));
  max-width: 272px;
  padding: 13px 14px 12px;
  border-radius: 2px;
  border-color: rgba(255,220,149,.52);
  background:
    linear-gradient(135deg,rgba(26,19,12,.96),rgba(3,8,12,.97)),
    #050708;
  box-shadow: 0 20px 55px rgba(0,0,0,.68), inset 0 0 0 1px rgba(255,255,255,.035);
  color: #e9edf0;
  text-transform: none;
}
.map-tooltip strong {
  margin: 5px 0 10px;
  color: #fff1d3;
  font-family: Georgia,"Times New Roman",serif;
  font-size: 19px;
  line-height: 1.05;
  letter-spacing: -.01em;
}
.map-tooltip__status {
  color: #9da9b0;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .16em;
}
.map-tooltip__status--live { color: #ffbd49; }
.map-tooltip dl { margin: 0; border-top: 1px solid rgba(255,220,150,.18); }
.map-tooltip dl > div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding: 7px 0;
  border-bottom: 1px solid rgba(255,255,255,.075);
}
.map-tooltip dt { color: #9eabb2; font-size: 9px; letter-spacing: .045em; }
.map-tooltip dd { margin: 0; color: #f1d6a0; font-size: 11px; font-weight: 900; text-align: right; }
.map-tooltip__action {
  display: block;
  margin-top: 9px;
  color: #b7c0c5;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.map-callout span { font-weight: 900; }

@media (max-width: 760px) {
  .map-status-legend { display: none; }
  .cinematic-map-art { inset: 8px 2px 54px; width: calc(100% - 4px); height: calc(100% - 62px); }
  .map-tooltip { display: none; }
}

/* DESIGNER FACTS PASS ---------------------------------------------------- */
.map-tooltip { display: none !important; }
.world-stage {
  border-radius: 4px;
  border-color: rgba(228,188,105,.46);
  background: #020609;
  box-shadow:
    0 26px 80px rgba(0,0,0,.58),
    inset 0 0 0 1px rgba(255,255,255,.025),
    inset 0 0 90px rgba(0,0,0,.62);
}
.world-stage::before {
  z-index: 2;
  opacity: .22;
  background-size: 72px 72px;
}
.world-stage::after {
  content: "";
  position: absolute;
  z-index: 7;
  inset: 10px;
  border: 1px solid rgba(229,192,113,.13);
  pointer-events: none;
}
.cinematic-map-art {
  filter: saturate(1.07) contrast(1.06) brightness(.98) drop-shadow(0 22px 36px rgba(0,0,0,.52));
}
.world-map svg path { transition-duration: .12s; }
.world-map svg > path[id]:hover,
.world-map svg > path[id]:focus-visible,
.world-map svg > g[id]:hover path,
.world-map svg > g[id]:focus-visible path {
  fill: rgba(255,221,143,.08) !important;
  stroke: rgba(255,240,205,.58) !important;
  filter: none;
}
.map-status-legend {
  top: 17px;
  right: 18px;
  gap: 16px;
  padding: 7px 10px 7px 8px;
  border: 0;
  border-left: 2px solid rgba(238,177,67,.72);
  background: rgba(1,5,7,.82);
  box-shadow: 0 12px 30px rgba(0,0,0,.36);
  backdrop-filter: none;
}

.map-callout {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  gap: 8px;
  width: clamp(208px,17vw,258px);
  min-width: 0;
  padding: 10px 11px 9px;
  border: 1px solid rgba(242,216,163,.42);
  border-left: 4px solid #ed2c27;
  border-radius: 1px;
  background: linear-gradient(105deg,rgba(13,12,10,.95),rgba(3,7,10,.92));
  box-shadow: 0 15px 38px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.025);
  color: #fff4dc;
  letter-spacing: 0;
  overflow: hidden;
}
.map-callout::after {
  content: "";
  position: absolute;
  right: -28px;
  bottom: -32px;
  width: 70px;
  height: 70px;
  border: 1px solid rgba(245,202,117,.14);
  transform: rotate(45deg);
}
.map-callout:hover {
  transform: translateY(-3px);
  filter: brightness(1.08);
  box-shadow: 0 20px 44px rgba(0,0,0,.58), 0 0 24px rgba(225,159,47,.13);
}
.map-callout__flag {
  display: block !important;
  margin: 1px 0 0 !important;
  color: inherit !important;
  font-size: 17px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}
.map-callout__copy { display: block !important; margin: 0 !important; }
.map-callout strong {
  display: block;
  margin: 0;
  color: #fff1d3;
  font-size: clamp(13px,1vw,16px);
  line-height: 1;
  letter-spacing: .035em;
}
.map-callout .map-callout__facts {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  color: #d5c4a5;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .085em;
  white-space: nowrap;
}
.map-callout__facts i {
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #e8a835;
}
.map-callout .map-callout__status {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 7px;
  padding-top: 6px;
  border-top: 1px solid rgba(255,255,255,.1);
  color: #f3b13d;
  font-size: 7px;
  letter-spacing: .12em;
}
.map-callout__status b { color: #fff0cf; }
.map-callout--canada { left: 11.2%; top: 19%; }
.map-callout--usa {
  left: 13.7%;
  top: 43%;
  border-left-color: #d5312e;
  background: linear-gradient(105deg,rgba(247,239,214,.97),rgba(220,213,193,.94));
}
.map-callout--usa strong { color: #162648; }
.map-callout--usa .map-callout__facts { color: #584b3d; }
.map-callout--usa .map-callout__status { border-color: rgba(24,40,72,.15); color: #b52325; }
.map-callout--usa .map-callout__status b { color: #17284b; }

.country-inspector {
  --inspector-accent: #7d8a90;
  position: absolute;
  z-index: 10;
  right: 18px;
  bottom: 18px;
  width: clamp(252px,22vw,320px);
  padding: 12px 14px 11px;
  border: 1px solid rgba(236,209,153,.4);
  border-top: 3px solid var(--inspector-accent);
  border-radius: 1px;
  background: linear-gradient(145deg,rgba(4,9,12,.96),rgba(15,13,10,.94));
  box-shadow: 0 22px 55px rgba(0,0,0,.62), inset 0 0 0 1px rgba(255,255,255,.025);
  color: #f4ead5;
  pointer-events: none;
  transition: border-color .18s ease, transform .18s ease;
  contain: layout paint;
}
.country-inspector--live { --inspector-accent: #e5a439; }
.country-inspector.is-updating { transform: translateY(-2px); }
.country-inspector__topline {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #9da8ac;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .17em;
}
.country-inspector--live .country-inspector__topline span:first-child { color: #f2b449; }
.country-inspector h2 {
  margin: 7px 0 9px;
  overflow: hidden;
  color: #fff1d2;
  font-family: Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size: clamp(19px,1.55vw,25px);
  font-weight: 800;
  line-height: .95;
  letter-spacing: .035em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.country-inspector__facts {
  display: grid;
  grid-template-columns: 1.4fr .8fr;
  gap: 0;
  margin: 0;
  border-top: 1px solid rgba(238,206,144,.18);
  border-bottom: 1px solid rgba(238,206,144,.18);
}
.country-inspector__facts > div { padding: 8px 10px 8px 0; }
.country-inspector__facts > div + div { padding-left: 10px; border-left: 1px solid rgba(238,206,144,.18); }
.country-inspector dt {
  color: #8e9ba1;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .12em;
}
.country-inspector dt small { margin-left: 3px; color: #c4b28e; font-size: inherit; }
.country-inspector dd {
  margin: 4px 0 0;
  color: #f5d99e;
  font-family: "Arial Narrow",Arial,sans-serif;
  font-size: clamp(15px,1.2vw,19px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: .015em;
  white-space: nowrap;
}
.country-inspector__action {
  margin-top: 9px;
  color: #a8b1b5;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .11em;
}
.country-inspector__action b { color: var(--inspector-accent); }

.map-title-block h1 { letter-spacing: .025em; }
.map-title-block p { color: #abb6bc; letter-spacing: .075em; }
.map-footer { color: #79868d; }
.availability { color: #e6d5b7; }

@media (max-width: 900px) {
  .country-inspector { width: 244px; right: 12px; bottom: 12px; }
  .map-callout { width: 196px; }
  .map-callout--canada { left: 7%; }
  .map-callout--usa { left: 9%; }
}

@media (max-width: 620px) {
  .world-stage::after { inset: 5px; }
  .cinematic-map-art { inset: 66px 2px 68px; width: calc(100% - 4px); height: calc(100% - 134px); }
  .world-map { inset: 66px 2px 68px; }
  .country-inspector {
    top: 7px;
    right: 7px;
    bottom: auto;
    left: 7px;
    width: auto;
    padding: 8px 10px 7px;
  }
  .country-inspector h2 { margin: 4px 0 6px; font-size: 16px; }
  .country-inspector__facts > div { padding-top: 5px; padding-bottom: 5px; }
  .country-inspector dd { margin-top: 2px; font-size: 13px; }
  .country-inspector__action { margin-top: 5px; font-size: 6px; }
  .map-callout {
    top: auto;
    grid-template-columns: 18px minmax(0,1fr);
    gap: 5px;
    width: calc(50% - 11px);
    height: auto;
    padding: 7px 6px 6px;
  }
  .map-callout--canada { left: 7px; bottom: 7px; }
  .map-callout--usa { right: 7px; left: auto; bottom: 7px; }
  .map-callout strong { font-size: 10px; }
  .map-callout__flag { font-size: 12px !important; }
  .map-callout .map-callout__facts { gap: 3px; margin-top: 3px; font-size: 5px; letter-spacing: .03em; }
  .map-callout .map-callout__status { margin-top: 4px; padding-top: 4px; font-size: 5px; letter-spacing: .05em; }
}

/* COMPACT MAP LOCATORS -------------------------------------------------- */
.map-callout {
  grid-template-columns: 16px minmax(0,1fr);
  gap: 6px;
  width: clamp(152px,13.4vw,188px);
  padding: 7px 8px 6px;
  border-width: 1px 1px 1px 3px;
  clip-path: polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,0 100%);
  box-shadow: 0 10px 26px rgba(0,0,0,.48),inset 0 0 0 1px rgba(255,255,255,.018);
}
.map-callout::after {
  right: 5px;
  top: 5px;
  bottom: auto;
  width: 4px;
  height: 4px;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .55;
  transform: none;
  box-shadow: 0 0 8px currentColor;
}
.map-callout:hover {
  transform: translate3d(2px,-2px,0);
  box-shadow: 0 14px 30px rgba(0,0,0,.52),0 0 18px rgba(225,159,47,.12);
}
.map-callout__flag { margin-top: 0 !important; font-size: 13px !important; }
.map-callout strong { font-size: clamp(10px,.82vw,13px); letter-spacing: .025em; }
.map-callout .map-callout__facts {
  gap: 4px;
  margin-top: 4px;
  font-size: 5.5px;
  letter-spacing: .055em;
}
.map-callout .map-callout__status {
  margin-top: 5px;
  padding-top: 4px;
  font-size: 5.5px;
  letter-spacing: .09em;
}
.map-callout--canada { left: 12%; top: 20%; }
.map-callout--usa { left: 14.5%; top: 43.5%; }

.map-footer {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  gap: 16px;
  min-height: 52px;
  align-items: center;
}
.map-credit { text-align: right; }
.country-inspector {
  --inspector-accent: #7d8a90;
  position: relative;
  z-index: 2;
  right: auto;
  bottom: auto;
  display: grid;
  grid-template-columns: minmax(112px,1fr) 1.22fr;
  grid-template-rows: auto 1fr;
  column-gap: 10px;
  width: clamp(250px,24vw,312px);
  min-height: 44px;
  padding: 6px 8px 6px 9px;
  border: 1px solid rgba(236,209,153,.3);
  border-top: 1px solid rgba(236,209,153,.3);
  border-left: 2px solid var(--inspector-accent);
  background: linear-gradient(100deg,rgba(5,9,11,.97),rgba(17,14,10,.96));
  box-shadow: 0 10px 28px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.02);
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px) scale(.985);
  transform-origin: 50% 100%;
  transition: opacity .14s ease,visibility .14s ease,transform .2s cubic-bezier(.22,1,.36,1),border-color .18s ease;
}
.country-inspector.is-visible {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.country-inspector.is-updating { transform: translateY(-1px); }
.country-inspector__topline {
  align-self: end;
  font-size: 5.5px;
  letter-spacing: .12em;
}
.country-inspector__topline span:last-child { display: none; }
.country-inspector h2 {
  align-self: start;
  margin: 3px 0 0;
  font-size: clamp(12px,1vw,15px);
}
.country-inspector__facts {
  grid-column: 2;
  grid-row: 1 / span 2;
  grid-template-columns: 1.35fr .8fr;
  align-self: stretch;
  border: 0;
  border-left: 1px solid rgba(238,206,144,.16);
}
.country-inspector__facts > div {
  display: grid;
  align-content: center;
  padding: 0 8px;
}
.country-inspector__facts > div + div { padding-left: 8px; }
.country-inspector dt { font-size: 5.5px; letter-spacing: .09em; }
.country-inspector dd { margin-top: 2px; font-size: clamp(10px,.9vw,13px); }
.country-inspector__action { display: none; }

@media (max-width: 900px) {
  .map-footer { grid-template-columns: minmax(0,1fr) auto; }
  .map-credit { display: none; }
  .country-inspector { width: 258px; right: auto; bottom: auto; }
  .map-callout { width: 160px; }
  .map-callout--canada { left: 8%; }
  .map-callout--usa { left: 10%; }
}

@media (max-width: 620px) {
  .cinematic-map-art { inset: 8px 2px 52px; width: calc(100% - 4px); height: calc(100% - 60px); }
  .world-map { inset: 8px 2px 52px; }
  .map-footer { grid-template-columns: 1fr; min-height: 48px; }
  .availability { display: none; }
  .country-inspector {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    min-height: 40px;
    padding: 5px 7px;
  }
  .country-inspector h2 { margin: 2px 0 0; font-size: 11px; }
  .country-inspector__facts > div { padding: 0 6px; }
  .country-inspector dd { font-size: 10px; }
  .map-callout {
    top: auto;
    width: calc(50% - 10px);
    padding: 6px;
  }
  .map-callout--canada { left: 6px; bottom: 6px; }
  .map-callout--usa { right: 6px; left: auto; bottom: 6px; }
}

@media (max-height: 720px) and (min-width: 621px) {
  .screen--map { grid-template-rows: minmax(58px,auto) minmax(0,1fr) 42px; }
  .map-footer { min-height: 42px; }
  .country-inspector { min-height: 36px; padding: 4px 7px 4px 8px; }
  .country-inspector h2 { font-size: 12px; }
  .country-inspector dd { font-size: 10px; }
}

/* BORDERLESS COUNTRY TARGETING ----------------------------------------- */
.world-map svg > path[id],
.world-map svg > g[id] path,
.world-map svg > path[id]:hover,
.world-map svg > path[id]:focus-visible,
.world-map svg > g[id]:hover path,
.world-map svg > g[id]:focus-visible path,
.world-map svg > path.country-live,
.world-map svg > path.country-live:hover,
.world-map svg > path.country-live:focus-visible,
.world-map svg > g.country-live path,
.world-map svg > g.country-live:hover path,
.world-map svg > g.country-live:focus-visible path {
  fill: rgba(255,255,255,.001) !important;
  stroke: transparent !important;
  filter: none !important;
  transition: none !important;
}

.map-cursor-beacon {
  --beacon-x: 50%;
  --beacon-y: 50%;
  position: absolute;
  z-index: 7;
  left: var(--beacon-x);
  top: var(--beacon-y);
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255,222,151,.78);
  border-radius: 50%;
  background: radial-gradient(circle,rgba(255,218,137,.95) 0 1px,rgba(255,192,74,.2) 2px,transparent 6px);
  box-shadow: 0 0 0 4px rgba(241,173,58,.055),0 0 18px rgba(241,173,58,.25);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-50%,-50%,0) scale(.72);
  transition: opacity .12s ease,transform .2s cubic-bezier(.22,1,.36,1);
  will-change: left,top,transform,opacity;
}
.map-cursor-beacon::before,
.map-cursor-beacon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: rgba(255,223,158,.58);
  transform: translate(-50%,-50%);
}
.map-cursor-beacon::before { width: 42px; height: 1px; }
.map-cursor-beacon::after { width: 1px; height: 42px; }
.map-cursor-beacon.is-visible {
  opacity: .92;
  transform: translate3d(-50%,-50%,0) scale(1);
}

@media (hover: none) {
  .map-cursor-beacon { display: none; }
}
