
:root {
  --bg: #071114;
  --panel: #0c171b;
  --panel-2: #101e23;
  --line: rgba(255,255,255,0.12);
  --text: #f4f7f7;
  --muted: #bdd0d3;
  --soft: #86a0a6;
  --teal: #16c8cc;
  --teal-2: #0f9096;
  --gold: #ddb85c;
  --shadow: 0 22px 50px rgba(0,0,0,.35);
  --radius: 24px;
  --shell: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; background: linear-gradient(180deg,#091215,#071114); color: var(--text); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, select, input { font: inherit; }
.shell { width: min(var(--shell), calc(100% - 32px)); margin: 0 auto; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:12px; top:12px; z-index:999; background:#fff; color:#000; padding:8px 12px; border-radius:10px; }
.eyebrow { margin: 0 0 12px; color: var(--teal); font-size: .9rem; line-height:1; letter-spacing: .18em; font-weight: 800; text-transform: uppercase; }
.eyebrow.light { color: #8ef0f1; }
h1,h2,h3,p { margin-top: 0; }
p { line-height: 1.6; color: var(--muted); }
.button, .button-inline, .nav-cta { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:56px; padding: 0 24px; border-radius: 18px; font-weight: 800; border: 1px solid transparent; cursor: pointer; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.button:hover, .nav-cta:hover, .game-action:hover, .ghost-button:hover, .sound-toggle:hover { transform: translateY(-1px); }
.button.primary, .nav-cta { background: linear-gradient(180deg,#ffffff,#dfe9eb); color:#071114; box-shadow: 0 10px 26px rgba(255,255,255,.12); }
.button.secondary { background: rgba(255,255,255,.06); color: var(--text); border-color: var(--line); }
.button.light-button { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.15); }
.text-link { color: #9de7e8; font-weight: 700; }
.microcopy { font-size: .96rem; color:#cddadd; }
.button-row { display:flex; gap:14px; flex-wrap:wrap; }
.site-header { position: sticky; top:0; z-index: 30; backdrop-filter: blur(18px); background: rgba(7,17,20,.84); border-bottom:1px solid rgba(255,255,255,.06); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height: 92px; }
.brand { display:flex; align-items:center; gap:14px; min-width:0; }
.brand-mark-wrap { display:grid; place-items:center; width:58px; height:58px; border-radius:18px; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.10); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.brand-mark { width:40px; height:40px; object-fit:contain; }
.brand-text strong { display:block; font-size: 1.15rem; letter-spacing: .02em; }
.brand-text small { display:block; color:#c9d6d9; text-transform: uppercase; letter-spacing:.12em; font-size:.68rem; font-weight:700; white-space:nowrap; }
.site-nav { display:flex; align-items:center; gap:10px; }
.site-nav a { padding:12px 16px; border-radius:16px; color:#dde7e9; font-weight:700; }
.site-nav a:hover, .site-nav a[aria-current="page"] { background: rgba(255,255,255,.08); }
.nav-toggle { display:none; width:64px; height:64px; border-radius:18px; border:1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.04); color:#fff; padding:0; position:relative; }
.nav-toggle span:not(.sr-only) { position:absolute; left:18px; right:18px; height:4px; background:#fff; border-radius:8px; }
.nav-toggle span:nth-child(1) { top:19px; }
.nav-toggle span:nth-child(2) { top:30px; }
.nav-toggle span:nth-child(3) { top:41px; }
.sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.hero-home { position:relative; overflow:hidden; }
.hero-home::before { content:''; position:absolute; inset:0; background: linear-gradient(90deg, rgba(7,17,20,.88) 0%, rgba(7,17,20,.55) 42%, rgba(7,17,20,.18) 72%), url('/assets/brand/background-mountain.png') center/cover no-repeat; }
.hero-grid { position:relative; z-index:1; min-height: min(88svh, 840px); display:grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items:center; padding: 86px 0 90px; }
.hero-copy h1 { font-size: clamp(2.85rem, 7vw, 5.35rem); line-height: .96; letter-spacing:-.035em; margin-bottom: 24px; max-width: 11ch; }
.hero-lede { font-size: clamp(1.05rem,2vw,1.35rem); max-width: 42ch; color: #e3eef0; line-height:1.55; }
.hero-card-panel { margin-top: 64px; background: rgba(10,25,29,.74); border: 1px solid rgba(255,255,255,.09); border-radius: 30px; padding: clamp(22px, 4vw, 34px); box-shadow: var(--shadow); }
.card-promo-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items:center; }
.hero-cards { position:relative; min-height: 450px; }
.card-stack { position:absolute; width:min(360px, 68vw); max-width:100%; filter: drop-shadow(0 32px 50px rgba(0,0,0,.45)); transform-origin:center; }
.card-a { right: 8%; top: 10%; transform: rotate(8deg); }
.card-b { right: 16%; top: 16%; transform: rotate(-4deg); }
.card-c { right: 0; top: 25%; transform: rotate(16deg); }
.section { padding: 76px 0; }
.section-soft { background: linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01)); border-top:1px solid rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.05); }
.section-dark { background: linear-gradient(180deg, #0c1b1f, #081316); }
.section-heading { max-width: 820px; margin-bottom: 40px; }
.section-heading h2, .page-hero h1 { font-size: clamp(2rem, 4.6vw, 3.35rem); line-height:1.05; letter-spacing:-.025em; margin-bottom: 18px; }
.feature-grid { display:grid; gap:20px; }
.feature-grid.four { grid-template-columns: repeat(4,1fr); }
.feature-card, .resource-card, .profile-card, .info-card { background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius: 24px; padding: 24px; box-shadow: inset 0 1px 0 rgba(255,255,255,.03); }
.feature-number { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:12px; background: rgba(22,200,204,.12); color:#7de5e7; font-weight:800; margin-bottom:16px; }
.split-panel, .cta-panel { display:flex; align-items:center; justify-content:space-between; gap:24px; background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius: 28px; padding: 30px; box-shadow: var(--shadow); }
.discipline-list { display:flex; gap:10px; flex-wrap:wrap; }
.discipline-list span, .pillar-row span { padding:12px 16px; border-radius:999px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); font-weight:800; color:#eff5f6; }
.pillar-row { display:flex; gap:12px; flex-wrap:wrap; }
.page-hero { padding: 82px 0 44px; }
.narrow { width:min(860px, calc(100% - 32px)); margin:0 auto; }
.resource-grid, .proof-grid, .leadership-list, .contact-grid { display:grid; gap:20px; }
.resource-grid { grid-template-columns: repeat(3,1fr); }
.leadership-list { grid-template-columns: 1fr; }
.leadership-profile { display:grid; grid-template-columns: 260px 1fr; gap:24px; background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius: 28px; padding: 24px; }
.profile-marker { background: linear-gradient(180deg, rgba(22,200,204,.12), rgba(255,255,255,.02)); border-radius: 22px; padding: 20px; border:1px solid rgba(255,255,255,.08); }
.profile-marker span { display:inline-grid; place-items:center; width:58px; height:58px; border-radius:18px; background: rgba(255,255,255,.08); font-weight:900; font-size:1.2rem; }
.profile-marker p { margin-top:18px; color:#d5e4e7; font-weight:700; }
.profile-copy h2 { font-size: clamp(1.6rem, 4vw, 2.2rem); margin-bottom:14px; }
.site-footer { margin-top: 70px; border-top:1px solid rgba(255,255,255,.08); background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)); }
.footer-grid { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding: 34px 0 20px; }
.footer-brand { display:flex; gap:14px; align-items:center; }
.footer-brand .brand-mark-wrap { width:62px; height:62px; }
.footer-links { display:flex; flex-wrap:wrap; gap:12px; }
.footer-links a { padding: 10px 12px; border-radius:14px; color:#dbe8ea; font-weight:700; }
.footer-links a:hover { background: rgba(255,255,255,.08); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding: 0 0 28px; font-size:.95rem; }

/* Game */
.game-body {
  min-height: 100%;
  background:
    radial-gradient(circle at 50% -10%, rgba(23, 115, 121, .2), transparent 38%),
    linear-gradient(180deg, #071013 0%, #030709 100%);
  color: #f4f7f7;
  overflow-x: hidden;
}
.game-body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  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: 42px 42px;
  mask-image: linear-gradient(180deg, #000, transparent 80%);
}
.game-header {
  position: sticky;
  top: 0;
  z-index: 60;
  min-height: 76px;
  background: rgba(4, 10, 12, .9);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
}
.game-header-inner {
  width: min(1080px, calc(100% - 28px));
  min-height: 76px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.game-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
}
.game-brand img {
  width: 43px;
  height: 43px;
  object-fit: contain;
}
.game-brand span { display: grid; line-height: 1.02; }
.game-brand strong { font-size: 1.05rem; letter-spacing: .08em; }
.game-brand small {
  margin-top: 4px;
  color: #98adb1;
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.game-header-actions { display: flex; gap: 8px; }
.game-icon-button {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.11);
  color: #eaf2f3;
  background: rgba(255,255,255,.025);
  cursor: pointer;
}
.game-icon-button svg { width: 22px; height: 22px; fill: currentColor; }
.game-icon-button:active { transform: scale(.97); }
.game-main { min-height: calc(100svh - 76px); position: relative; z-index: 1; }
.game-screen { display: none; }
.game-screen.is-active { display: block; }
.game-overline {
  margin: 0 0 11px;
  color: #73dcde;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.game-primary-button {
  width: 100%;
  min-height: 66px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #f7f9f9, #dce5e6);
  color: #071013;
  font-weight: 900;
  font-size: 1.05rem;
  letter-spacing: .02em;
  cursor: pointer;
  box-shadow: 0 14px 36px rgba(255,255,255,.1);
}
.game-primary-button:active { transform: translateY(1px) scale(.995); }
.game-text-button {
  min-height: 54px;
  border: 0;
  background: transparent;
  color: #dce8e9;
  font-weight: 800;
  font-size: 1rem;
  cursor: pointer;
}
/* Opening screen */
.game-screen-intro { min-height: calc(100svh - 76px); }
.intro-stage {
  width: min(620px, calc(100% - 28px));
  min-height: calc(100svh - 76px);
  margin: 0 auto;
  padding: clamp(26px, 5svh, 54px) 0 max(24px, env(safe-area-inset-bottom));
  display: grid;
  grid-template-rows: minmax(310px, 1fr) auto auto;
  align-items: center;
  gap: 18px;
}
.intro-deck {
  position: relative;
  width: min(46svh, 78vw, 380px);
  aspect-ratio: 2 / 3;
  margin: 0 auto;
  filter: drop-shadow(0 32px 48px rgba(0,0,0,.52));
}
.intro-deck img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.1);
  will-change: transform;
}
.intro-deck img:nth-child(1) { transform: rotate(-7deg) translate(-15px, 9px); opacity: .72; }
.intro-deck img:nth-child(2) { transform: rotate(6deg) translate(15px, 7px); opacity: .88; }
.intro-deck img:nth-child(3) { animation: deckBreath 4.6s ease-in-out infinite; }
@keyframes deckBreath {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0); }
  50% { transform: translate3d(0, -9px, 0) rotate(.6deg); }
}
.intro-copy { text-align: center; }
.intro-copy h1 {
  margin: 0;
  font-size: clamp(2.2rem, 9vw, 3.9rem);
  line-height: .96;
  letter-spacing: -.035em;
}
.intro-disciplines {
  margin: 14px 0 0;
  color: #e5edef;
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.intro-disciplines span { color: #587176; margin: 0 8px; }
.intro-note { margin: 10px auto 0; font-size: .88rem; color: #92a7ac; }
.intro-actions { width: min(440px, 100%); margin: 0 auto; display: grid; gap: 2px; }
/* Setup sequence */
.game-screen-setup { min-height: calc(100svh - 76px); }
.setup-shell {
  width: min(680px, calc(100% - 28px));
  margin: 0 auto;
  padding: 24px 0 max(34px, env(safe-area-inset-bottom));
}
.setup-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: clamp(36px, 6svh, 72px);
}
.game-back-button {
  min-height: 50px;
  padding: 0 10px 0 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #cbd8da;
  background: transparent;
  border: 0;
  font-weight: 800;
  cursor: pointer;
}
.game-back-button svg { width: 23px; height: 23px; fill: currentColor; }
.setup-progress { display: flex; gap: 8px; }
.setup-progress span {
  width: 34px;
  height: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.13);
  transition: background .25s ease;
}
.setup-progress span.is-active { background: #77dfe0; }
.setup-step { display: none; }
.setup-step.is-active { display: block; animation: stepIn .28s ease both; }
@keyframes stepIn { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
.setup-step h2 {
  margin: 0;
  font-size: clamp(2rem, 8vw, 3.25rem);
  line-height: 1;
  letter-spacing: -.035em;
}
.setup-intro { margin: 13px 0 30px; color: #9fb2b6; font-size: 1.03rem; }
.discipline-options { border-top: 1px solid rgba(255,255,255,.12); }
.discipline-option {
  width: 100%;
  min-height: 86px;
  display: grid;
  grid-template-columns: 48px 1fr 24px;
  align-items: center;
  gap: 15px;
  padding: 13px 4px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
  background: transparent;
  color: #f3f6f7;
  text-align: left;
  cursor: pointer;
}
.discipline-option strong { display: block; font-size: 1.08rem; }
.discipline-option small { display: block; margin-top: 4px; color: #93a8ac; font-size: .84rem; line-height: 1.35; }
.discipline-mark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.035);
  color: #dfe9ea;
  font-size: .83rem;
  font-weight: 900;
  letter-spacing: .03em;
}
.discipline-option.is-selected .discipline-mark { border-color: rgba(113,222,224,.7); background: rgba(20,143,148,.18); color: #8df3f4; }
.option-arrow { color: #688085; font-size: 2rem; font-weight: 300; }
.draw-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 20px 0 30px;
}
.draw-option {
  min-height: 218px;
  padding: 15px 8px 14px;
  display: grid;
  grid-template-rows: 128px auto auto;
  justify-items: center;
  align-items: end;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  background: rgba(255,255,255,.018);
  color: #f2f6f6;
  cursor: pointer;
}
.draw-option.is-selected {
  border-color: rgba(113,222,224,.72);
  background: linear-gradient(180deg, rgba(18,120,126,.16), rgba(255,255,255,.02));
  box-shadow: inset 0 -3px 0 #61d5d7;
}
.draw-option strong { font-size: 1.65rem; line-height: 1; }
.draw-option small { margin-top: 4px; color: #9eb0b4; font-weight: 750; }
.draw-stack { position: relative; width: 70px; height: 112px; align-self: center; }
.draw-stack img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 68px;
  height: 102px;
  object-fit: cover;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 12px 22px rgba(0,0,0,.34);
}
.draw-one img { transform: translate(-50%,-50%); }
.draw-three img:nth-child(1) { transform: translate(-64%,-48%) rotate(-8deg); }
.draw-three img:nth-child(2) { transform: translate(-36%,-48%) rotate(8deg); }
.draw-three img:nth-child(3) { transform: translate(-50%,-54%); }
.draw-five img:nth-child(1) { transform: translate(-72%,-46%) rotate(-12deg); }
.draw-five img:nth-child(2) { transform: translate(-28%,-46%) rotate(12deg); }
.draw-five img:nth-child(3) { transform: translate(-62%,-52%) rotate(-6deg); }
.draw-five img:nth-child(4) { transform: translate(-38%,-52%) rotate(6deg); }
.draw-five img:nth-child(5) { transform: translate(-50%,-57%); }
.safety-line { margin: 0 0 18px; color: #8fa4a8; font-size: .88rem; text-align: center; }
.deal-button { margin-top: 4px; }
/* Playing table */
.game-screen-table { min-height: calc(100svh - 76px); }
.table-shell {
  width: min(880px, 100%);
  margin: 0 auto;
  padding: 15px 0 max(28px, env(safe-area-inset-bottom));
}
.round-topbar {
  width: min(660px, calc(100% - 28px));
  min-height: 46px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
}
.round-topbar p { margin: 0; color: #edf3f4; font-weight: 850; font-size: .92rem; }
.round-exit, .round-deal-again {
  min-height: 44px;
  border: 0;
  background: transparent;
  color: #92a8ac;
  font-size: .82rem;
  font-weight: 800;
  cursor: pointer;
}
.round-exit { text-align: left; }
.round-deal-again { text-align: right; }
.round-progress {
  width: min(360px, calc(100% - 56px));
  height: 3px;
  margin: 5px auto 13px;
  display: grid;
  grid-auto-flow: column;
  gap: 6px;
}
.round-progress span { border-radius: 999px; background: rgba(255,255,255,.14); }
.round-progress span.is-current { background: #e8eff0; }
.round-progress span.is-complete { background: #5fd1d3; }
.reveal-cue {
  min-height: 28px;
  margin: 0 auto 8px;
  padding: 0 18px;
  color: #cbd7d9;
  font-size: .91rem;
  font-weight: 750;
  text-align: center;
}
.deal-table { position: relative; overflow: hidden; }
.card-carousel {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 4px 3vw 8px;
  touch-action: pan-x pan-y;
}
.card-carousel::-webkit-scrollbar { display: none; }
.card-slide {
  flex: 0 0 94%;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}
.card-stage {
  display: grid;
  justify-items: center;
  gap: 12px;
  opacity: 0;
  transform: translate3d(38vw, 22vh, 0) rotate(11deg) scale(.62);
  transform-origin: 50% 100%;
}
.card-stage.is-dealt {
  opacity: 1;
  transform: none;
  transition: transform .58s cubic-bezier(.2,.8,.2,1), opacity .34s ease;
}
.card-position-label { margin: 0; color: #91a7ab; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.card-wrap { perspective: 1500px; width: 100%; display: grid; justify-items: center; }
.card-button {
  position: relative;
  width: min(100%, 60svh, 640px);
  aspect-ratio: 2 / 3;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.card-3d { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform .56s cubic-bezier(.2,.75,.25,1); }
.card-button.revealed .card-3d { transform: rotateY(180deg); }
.card-face {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 20px;
  backface-visibility: hidden;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 22px 44px rgba(0,0,0,.45);
}
.card-face.front { transform: rotateY(180deg); }
.card-face img { width: 100%; height: 100%; object-fit: cover; }
.tap-card-label {
  position: absolute;
  left: 50%;
  bottom: 18px;
  z-index: 2;
  transform: translateX(-50%);
  min-width: 160px;
  padding: 11px 18px;
  border-radius: 999px;
  background: rgba(4,10,12,.78);
  border: 1px solid rgba(255,255,255,.16);
  color: #eff5f5;
  font-size: .82rem;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
  transition: opacity .2s ease;
}
.card-button.revealed .tap-card-label { opacity: 0; pointer-events: none; }
.card-action-dock {
  width: min(100%, 640px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .25s ease, transform .25s ease;
}
.card-stage.is-revealed .card-action-dock { opacity: 1; visibility: visible; transform: none; }
.card-action {
  min-height: 62px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.035);
  color: #eef4f5;
  font-weight: 850;
  font-size: .93rem;
  cursor: pointer;
}
.card-action.complete { background: #e7eeee; color: #071013; border-color: transparent; }
.card-action.is-complete { background: rgba(34,161,166,.2); color: #9ff1f2; border-color: rgba(95,209,211,.42); }
.card-next-cue { grid-column: 1 / -1; min-height: 20px; margin: 0; color: #79cfd1; font-size: .82rem; text-align: center; opacity: 0; }
.card-stage.is-complete .card-next-cue { opacity: 1; }
.swipe-instruction {
  min-height: 42px;
  margin-top: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #778f94;
  font-size: .78rem;
  font-weight: 750;
}
.swipe-instruction svg { width: 18px; height: 18px; fill: currentColor; }
.deal-origin {
  position: absolute;
  z-index: 8;
  left: 50%;
  bottom: 2%;
  width: 96px;
  height: 145px;
  transform: translate(-50%, 30%) scale(.78);
  opacity: 0;
  pointer-events: none;
}
.deal-origin.is-active { animation: dealOrigin .95s ease both; }
.deal-origin img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 9px; box-shadow: 0 14px 30px rgba(0,0,0,.5); }
.deal-origin img:nth-child(1) { transform: rotate(-7deg); }
.deal-origin img:nth-child(2) { transform: rotate(6deg); }
@keyframes dealOrigin { 0% { opacity: 0; transform: translate(-50%, 36%) scale(.65); } 25%,65% { opacity: .9; transform: translate(-50%, 4%) scale(.85); } 100% { opacity: 0; transform: translate(-50%, -10%) scale(.7); } }
/* Dialogs */
.game-dialog {
  width: min(560px, calc(100% - 24px));
  max-height: min(82svh, 760px);
  padding: 0;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 24px;
  background: #0b1518;
  color: #f2f6f7;
  box-shadow: 0 30px 90px rgba(0,0,0,.65);
}
.game-dialog::backdrop { background: rgba(0,0,0,.68); backdrop-filter: blur(8px); }
.dialog-inner { padding: 26px; overflow: auto; }
.dialog-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
.dialog-heading h2, .complete-inner h2 { margin: 0; font-size: clamp(1.7rem, 7vw, 2.55rem); line-height: 1; letter-spacing: -.03em; }
.dialog-close { width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); background: transparent; color: #dbe6e8; font-size: 1.8rem; cursor: pointer; }
.audio-fieldset { padding: 0; margin: 0 0 18px; border: 0; }
.audio-fieldset legend { margin-bottom: 10px; color: #a8babd; font-size: .85rem; font-weight: 800; }
.voice-segmented { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; border-radius: 16px; background: rgba(255,255,255,.05); }
.voice-segmented input { position: absolute; opacity: 0; }
.voice-segmented span { min-height: 52px; display: grid; place-items: center; border-radius: 12px; color: #adbec1; font-weight: 800; cursor: pointer; }
.voice-segmented input:checked + span { background: #e7eeee; color: #071013; }
.audio-toggle { min-height: 76px; display: grid; grid-template-columns: 24px 1fr; align-items: start; gap: 14px; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.1); }
.audio-toggle input { width: 22px; height: 22px; margin-top: 2px; }
.audio-toggle strong { display: block; }
.audio-toggle small { display: block; margin-top: 4px; color: #94a9ad; line-height: 1.4; }
.dialog-preview { width: 100%; min-height: 58px; margin-top: 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(255,255,255,.04); color: #edf3f4; font-weight: 850; cursor: pointer; }
.help-sequence { list-style: none; padding: 0; margin: 0; }
.help-sequence li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 15px 0; border-top: 1px solid rgba(255,255,255,.1); }
.help-sequence li > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: rgba(71,192,196,.13); color: #8eeaed; font-weight: 900; }
.help-sequence strong { display: block; }
.help-sequence p { margin: 4px 0 0; color: #9eb1b5; font-size: .91rem; line-height: 1.45; }
.help-safety { margin: 20px 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); color: #aebfc2; font-size: .88rem; }
.complete-inner { text-align: center; }
.complete-deck { position: relative; width: 116px; height: 172px; margin: 0 auto 22px; }
.complete-deck img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 10px; box-shadow: 0 18px 30px rgba(0,0,0,.4); }
.complete-deck img:nth-child(1) { transform: rotate(-8deg) translateX(-12px); }
.complete-deck img:nth-child(2) { transform: rotate(8deg) translateX(12px); }
.complete-inner .game-primary-button { margin-top: 10px; }
.complete-inner .game-text-button { width: 100%; }
/* Shared responsive navigation outside the game */
@media (max-width: 980px) {
  .site-nav { position:fixed; top:93px; right:16px; left:16px; display:none; flex-direction:column; align-items:stretch; padding:14px; background: rgba(6,11,13,.98); border:1px solid rgba(255,255,255,.08); border-radius: 24px; box-shadow: var(--shadow); }
  .site-nav.open { display:flex; }
  .nav-toggle { display:block; }
  .hero-grid, .card-promo-grid, .feature-grid.four, .resource-grid, .contact-grid, .footer-grid, .footer-bottom, .leadership-profile { grid-template-columns:1fr; display:grid; }
  .hero-grid { min-height:auto; padding: 74px 0 68px; }
  .hero-cards { min-height: 360px; }
  .card-a { right: 14%; top: 4%; }
  .card-b { right: 8%; top: 16%; }
  .card-c { right: 0; top: 28%; }
  .leadership-profile { display:grid; }
}
@media (max-width: 720px) {
  .shell { width: min(var(--shell), calc(100% - 24px)); }
  .header-inner { min-height: 86px; }
  .brand-text small { display:none; }
  .button, .ghost-button, .game-action { min-height:60px; }
  .footer-bottom { display:grid; }
  .game-header, .game-header-inner { min-height: 68px; }
  .game-main, .game-screen-intro, .game-screen-setup, .game-screen-table { min-height: calc(100svh - 68px); }
  .game-brand img { width: 38px; height: 38px; }
  .game-brand small { display: none; }
  .game-icon-button { width: 48px; height: 48px; }
  .intro-stage { min-height: calc(100svh - 68px); grid-template-rows: minmax(285px, 1fr) auto auto; padding-top: 18px; }
  .intro-deck { width: min(43svh, 74vw, 345px); }
  .draw-option { min-height: 198px; grid-template-rows: 116px auto auto; }
  .draw-stack { transform: scale(.88); }
  .table-shell { padding-top: 8px; }
  .card-carousel { padding-left: 2.5vw; padding-right: 2.5vw; }
  .card-slide { flex-basis: 95%; }
  .card-button { width: min(100%, 60svh, 640px); }
  .card-action-dock { gap: 8px; }
  .card-action { min-height: 60px; font-size: .88rem; }
}
@media (max-width: 430px) {
  .intro-copy h1 { font-size: 2.35rem; }
  .intro-note { max-width: 30ch; }
  .setup-topline { margin-bottom: 34px; }
  .draw-options { gap: 6px; }
  .draw-option { min-height: 184px; padding-left: 3px; padding-right: 3px; border-radius: 16px; }
  .draw-stack { transform: scale(.78); }
  .round-exit, .round-deal-again { font-size: .75rem; }
  .card-button { width: min(100%, 58svh, 620px); }
  .card-action { padding: 0 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .intro-deck img:nth-child(3) { animation: none; }
  .card-stage, .card-stage.is-dealt, .setup-step.is-active { animation: none; transition: none; transform: none; opacity: 1; }
  .deal-origin.is-active { animation: none; opacity: 0; }
  .card-3d { transition-duration: .01ms; }
}


/* Premium editorial system */
body:not(.game-body) { background: linear-gradient(180deg,#081114 0%,#091316 45%,#071013 100%); }
body:not(.game-body) p { max-width: 70ch; }
.editorial-hero { border-bottom: 1px solid rgba(255,255,255,.07); background: linear-gradient(180deg, rgba(255,255,255,.025), transparent); }
.hero-text { max-width: 980px; }
.hero-text > p:last-child { font-size: clamp(1.08rem, 2vw, 1.3rem); max-width: 68ch; color:#d5e2e4; }
.statement-section { padding-top: 88px; }
.statement-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap: clamp(36px,7vw,92px); align-items:start; }
.statement-grid h2, .team-grid h2, .cta-line h2 { font-size: clamp(1.95rem,4vw,3rem); line-height:1.08; letter-spacing:-.025em; margin-bottom:0; }
.statement-copy { border-left:1px solid rgba(255,255,255,.13); padding-left: clamp(24px,4vw,48px); }
.statement-copy p { font-size:1.08rem; color:#d2dfe1; }
.platform-list { display:grid; grid-template-columns: repeat(2,1fr); column-gap: clamp(32px,6vw,80px); }
.platform-item { display:grid; grid-template-columns:52px 1fr; gap:18px; padding:28px 0; border-top:1px solid rgba(255,255,255,.12); }
.platform-item:last-child { grid-column:1 / -1; max-width: calc(50% - 40px); }
.platform-item > span, .capability-number, .resource-row > div:first-child > span { color:#7ce8e9; font-weight:850; letter-spacing:.08em; }
.platform-item h3 { font-size:1.28rem; margin-bottom:8px; }
.platform-item p { margin-bottom:0; }
.team-section { background: radial-gradient(circle at 80% 20%, rgba(22,200,204,.11), transparent 40%); }
.team-grid { display:grid; grid-template-columns: .55fr 1.45fr; gap:clamp(40px,8vw,110px); padding-top:22px; border-top:1px solid rgba(255,255,255,.14); }
.team-label { padding-top:6px; }
.team-index { color:#fff; letter-spacing:.17em; font-size:.77rem; font-weight:800; }
.team-grid > div:last-child p { font-size:1.12rem; color:#d6e2e4; }
.premium-promo { padding:0; background:transparent; box-shadow:none; border:0; }
.premium-promo > div:first-child { padding: clamp(28px,5vw,58px) 0; }
.premium-promo h2 { font-size:clamp(2rem,4.3vw,3.2rem); line-height:1.05; letter-spacing:-.025em; }
.cta-line { display:grid; grid-template-columns: 1fr 1fr; gap:clamp(38px,8vw,100px); padding-top:28px; border-top:1px solid rgba(255,255,255,.14); align-items:start; }
.cta-line .button { margin-top:10px; }
.capability-list { display:grid; }
.capability-row { display:grid; grid-template-columns:70px minmax(260px,.85fr) 1.15fr; gap:clamp(24px,5vw,70px); padding:42px 0; border-top:1px solid rgba(255,255,255,.12); align-items:start; }
.capability-row:last-child { border-bottom:1px solid rgba(255,255,255,.12); }
.capability-row h2 { font-size:clamp(1.55rem,3vw,2.25rem); line-height:1.12; margin:0; }
.capability-row p:last-child { margin-bottom:0; color:#d0dddf; }
.resource-editorial { display:grid; }
.resource-row { display:grid; grid-template-columns:120px 1fr auto; gap:clamp(24px,5vw,64px); align-items:center; padding:38px 0; border-top:1px solid rgba(255,255,255,.12); }
.resource-row:last-child { border-bottom:1px solid rgba(255,255,255,.12); }
.resource-row h2 { font-size:clamp(1.5rem,3vw,2.2rem); line-height:1.14; margin-bottom:10px; }
.resource-row p { margin-bottom:0; }
.leadership-system { padding-bottom:48px; }
.section-heading.compact { max-width:780px; }
.system-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0 36px; border-top:1px solid rgba(255,255,255,.12); }
.system-grid > div { padding:26px 0; border-bottom:1px solid rgba(255,255,255,.09); }
.system-grid span { display:block; color:#6edfe1; font-size:.82rem; font-weight:850; letter-spacing:.12em; margin-bottom:10px; }
.system-grid strong { display:block; font-size:1.12rem; margin-bottom:8px; }
.system-grid p { margin-bottom:0; font-size:.96rem; }
.premium-leadership { gap:0; }
.premium-leadership .leadership-profile { background:transparent; border:0; border-top:1px solid rgba(255,255,255,.13); border-radius:0; padding:42px 0; grid-template-columns:220px 1fr; gap:clamp(28px,6vw,80px); box-shadow:none; }
.premium-leadership .leadership-profile:last-child { border-bottom:1px solid rgba(255,255,255,.13); }
.premium-leadership .profile-marker { background:transparent; border:0; border-radius:0; padding:0; }
.premium-leadership .profile-marker span { width:auto; height:auto; display:block; background:transparent; color:#6edfe1; font-size:.82rem; letter-spacing:.14em; border-radius:0; }
.premium-leadership .profile-marker p { margin-top:14px; color:#e7f0f1; text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; }
.premium-leadership .profile-copy h2 { font-size:clamp(1.55rem,3.3vw,2.25rem); margin-bottom:18px; }
.premium-leadership .profile-copy p { color:#cbdadd; font-size:1.01rem; }
.premium-leadership .profile-copy p strong { color:#fff; }
.contact-editorial { display:grid; grid-template-columns:1fr 1fr; gap:clamp(44px,9vw,120px); padding-top:28px; border-top:1px solid rgba(255,255,255,.14); }
.contact-lead h2 { font-size:clamp(1.9rem,4vw,2.8rem); line-height:1.08; }
.contact-lines { display:grid; }
.contact-lines > div { display:flex; flex-direction:column; gap:8px; padding:25px 0; border-top:1px solid rgba(255,255,255,.12); }
.contact-lines > div:last-child { border-bottom:1px solid rgba(255,255,255,.12); }
.contact-lines span { color:#9bb2b7; text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; font-weight:800; }
.contact-lines a { font-size:clamp(1.35rem,3vw,2rem); color:#f5f8f8; }
.privacy-copy { max-width:800px; }
.privacy-copy h2 { font-size:1.45rem; margin:32px 0 10px; }
.privacy-copy h2:first-child { margin-top:0; }
/* Reduce the visual weight of box-based legacy components outside the game. */
body:not(.game-body) .feature-card, body:not(.game-body) .resource-card, body:not(.game-body) .info-card { background:transparent; border:0; border-top:1px solid rgba(255,255,255,.12); border-radius:0; box-shadow:none; padding:26px 0; }
body:not(.game-body) .feature-grid.four { gap:0 34px; }
body:not(.game-body) .cta-panel { background:transparent; border:0; border-top:1px solid rgba(255,255,255,.14); border-radius:0; box-shadow:none; padding:30px 0 0; }
/* Game typography remains accessible without swallowing the viewport. */
.game-setup h2, .game-instructions h2 { font-size:clamp(2rem,6vw,3.15rem); line-height:1.04; letter-spacing:-.025em; }
.start-action strong { font-size:1.65rem; }
.choice-tile.deck strong { font-size:1.55rem; }
@media (max-width: 980px) {
  .statement-grid, .team-grid, .cta-line, .contact-editorial { grid-template-columns:1fr; }
  .statement-copy { border-left:0; border-top:1px solid rgba(255,255,255,.13); padding:26px 0 0; }
  .platform-list { grid-template-columns:1fr; }
  .platform-item:last-child { grid-column:auto; max-width:none; }
  .capability-row { grid-template-columns:55px 1fr; }
  .capability-row > div:last-child { grid-column:2; }
  .resource-row { grid-template-columns:90px 1fr; }
  .resource-row .button { grid-column:2; justify-self:start; }
  .system-grid { grid-template-columns:repeat(2,1fr); }
  .premium-leadership .leadership-profile { grid-template-columns:170px 1fr; }
}
@media (max-width: 720px) {
  .hero-copy h1 { font-size:clamp(2.65rem,13vw,4.15rem); max-width:10ch; }
  .hero-grid { padding:68px 0 72px; }
  .page-hero { padding:64px 0 34px; }
  .section { padding:62px 0; }
  .capability-row, .resource-row, .premium-leadership .leadership-profile { grid-template-columns:1fr; gap:14px; }
  .capability-row > div:last-child, .resource-row .button { grid-column:auto; }
  .system-grid { grid-template-columns:1fr; }
  .premium-leadership .profile-marker p { margin-bottom:0; }
  .game-headline h1 { font-size:clamp(2.8rem,14vw,4.3rem); }
}


/* Home page light editorial system. The game retains its dedicated dark table. */
.home-page {
  --text: #10191b;
  --muted: #4d5d60;
  --soft: #718084;
  --line: rgba(13, 31, 35, .12);
  background: #f4f7f5;
  color: var(--text);
}
.home-page p { color: #4d5d60; }
.home-page .site-header {
  background: rgba(248, 250, 248, .9);
  border-bottom: 1px solid rgba(15, 39, 43, .1);
  box-shadow: 0 8px 30px rgba(23, 43, 46, .045);
}
.home-page .brand-mark-wrap {
  background: #ffffff;
  border-color: rgba(15, 39, 43, .1);
  box-shadow: 0 8px 20px rgba(20, 41, 44, .08);
}
.home-page .brand-text strong { color: #10191b; }
.home-page .brand-text small { color: #607075; }
.home-page .site-nav a { color: #263538; }
.home-page .site-nav a:hover,
.home-page .site-nav a[aria-current="page"] { background: rgba(13, 31, 35, .06); }
.home-page .nav-cta,
.home-page .button.primary {
  background: linear-gradient(180deg, #122124, #091416);
  color: #ffffff;
  box-shadow: 0 12px 25px rgba(9, 20, 22, .14);
}
.home-page .button.secondary {
  background: rgba(255, 255, 255, .84);
  color: #122124;
  border-color: rgba(15, 39, 43, .14);
  box-shadow: 0 10px 24px rgba(20, 41, 44, .055);
}
.home-page .text-link { color: #087f84; }
.home-page .microcopy { color: #5a6a6e; }
.home-page .hero-home::before {
  background:
    linear-gradient(90deg, rgba(247, 249, 246, .97) 0%, rgba(247, 249, 246, .88) 38%, rgba(247, 249, 246, .48) 63%, rgba(247, 249, 246, .14) 100%),
    url('/assets/brand/background-mountain.png') center / cover no-repeat;
}
.home-page .hero-home::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 26%;
  background: linear-gradient(180deg, transparent, #f4f7f5);
  pointer-events: none;
}
.home-page .hero-grid { min-height: min(82svh, 760px); }
.home-page .hero-copy { position: relative; z-index: 2; }
.home-page .hero-copy h1 { color: #0d1719; }
.home-page .hero-lede { color: #344447; }
.home-page .statement-section { background: #f4f7f5; }
.home-page .statement-grid h2,
.home-page .team-grid h2,
.home-page .cta-line h2,
.home-page .section-heading h2 { color: #10191b; }
.home-page .statement-copy {
  border-left-color: rgba(13, 31, 35, .14);
}
.home-page .statement-copy p { color: #435357; }
.home-page .section-soft {
  background: #eaf1ef;
  border-top-color: rgba(13, 31, 35, .08);
  border-bottom-color: rgba(13, 31, 35, .08);
}
.home-page .platform-item {
  border-top-color: rgba(13, 31, 35, .14);
}
.home-page .platform-item > span { color: #078a8f; }
.home-page .platform-item h3 { color: #172427; }
.home-page .team-section {
  background:
    radial-gradient(circle at 80% 20%, rgba(22, 200, 204, .11), transparent 42%),
    #f8faf8;
}
.home-page .team-grid {
  border-top-color: rgba(13, 31, 35, .15);
}
.home-page .team-index { color: #26373a; }
.home-page .team-grid > div:last-child p { color: #45565a; }
.home-page .section-dark {
  background: linear-gradient(180deg, #e6efed 0%, #dfe9e7 100%);
  color: #10191b;
  border-top: 1px solid rgba(13, 31, 35, .08);
  border-bottom: 1px solid rgba(13, 31, 35, .08);
}
.home-page .section-dark .eyebrow.light { color: #087f84; }
.home-page .premium-promo h2 { color: #10191b; }
.home-page .premium-promo p { color: #46575a; }
.home-page .button.light-button {
  background: #122124;
  color: #ffffff;
  border-color: #122124;
  box-shadow: 0 12px 26px rgba(9, 20, 22, .14);
}
.home-page .hero-cards { min-height: 430px; }
.home-page .card-stack { filter: drop-shadow(0 28px 36px rgba(31, 50, 53, .22)); }
.home-page .cta-line { border-top-color: rgba(13, 31, 35, .14); }
.home-page .site-footer {
  margin-top: 0;
  background: #edf2f0;
  border-top-color: rgba(13, 31, 35, .1);
}
.home-page .footer-brand strong { color: #142124; }
.home-page .footer-links a { color: #344548; }
.home-page .footer-links a:hover { background: rgba(13, 31, 35, .06); }
.home-page .footer-bottom p { color: #607074; }
.home-page .footer-brand .brand-mark-wrap { background: #ffffff; }
.home-page .eyebrow { color: #087f84; }
.home-page .nav-toggle {
  border-color: rgba(13, 31, 35, .18);
  background: rgba(255, 255, 255, .76);
}
.home-page .nav-toggle span:not(.sr-only) { background: #172527; }
@media (max-width: 980px) {
  .home-page .site-nav {
    background: rgba(250, 252, 250, .98);
    border-color: rgba(13, 31, 35, .12);
    box-shadow: 0 20px 48px rgba(20, 41, 44, .14);
  }
  .home-page .statement-copy {
    border-left: 0;
    border-top-color: rgba(13, 31, 35, .14);
  }
}
@media (max-width: 720px) {
  .home-page .hero-home::before {
    background:
      linear-gradient(180deg, rgba(247, 249, 246, .96) 0%, rgba(247, 249, 246, .88) 50%, rgba(247, 249, 246, .55) 100%),
      url('/assets/brand/background-mountain.png') 66% center / cover no-repeat;
  }
  .home-page .hero-grid { min-height: 720px; align-items: end; padding-bottom: 96px; }
  .home-page .premium-promo > div:first-child { padding-bottom: 0; }
  .home-page .hero-cards { min-height: 360px; }
}

/* Leadership page: light executive editorial system */
.people-page {
  --text: #111a1c;
  --muted: #4b5a5e;
  --line: rgba(16, 37, 41, .13);
  background: #f4f7f5;
  color: var(--text);
}
.people-page p { color: var(--muted); }
.people-page .site-header {
  background: rgba(248, 250, 248, .92);
  border-bottom: 1px solid rgba(15, 39, 43, .1);
  box-shadow: 0 8px 30px rgba(23, 43, 46, .045);
}
.people-page .brand-mark-wrap {
  background: #fff;
  border-color: rgba(15, 39, 43, .1);
  box-shadow: 0 8px 20px rgba(20, 41, 44, .08);
}
.people-page .brand-text strong { color: #10191b; }
.people-page .brand-text small { color: #607075; }
.people-page .site-nav a { color: #263538; }
.people-page .site-nav a:hover,
.people-page .site-nav a[aria-current="page"] { background: rgba(13, 31, 35, .06); }
.people-page .nav-cta,
.people-page .button.primary {
  background: linear-gradient(180deg, #122124, #091416);
  color: #fff;
  box-shadow: 0 12px 25px rgba(9, 20, 22, .14);
}
.people-page .nav-toggle {
  border-color: rgba(15, 39, 43, .16);
  background: #fff;
}
.people-page .nav-toggle span:not(.sr-only) { background: #132326; }
.people-page .site-footer {
  margin-top: 0;
  background: #edf2f0;
  border-top-color: rgba(15, 39, 43, .1);
}
.people-page .footer-links a { color: #263538; }
.people-page .footer-links a:hover { background: rgba(13,31,35,.06); }
.people-page .footer-bottom p,
.people-page .footer-brand p { color: #5b6a6e; }

.leadership-hero {
  padding: 84px 0 46px;
  border-bottom: 1px solid rgba(15, 39, 43, .11);
  background:
    radial-gradient(circle at 84% 16%, rgba(22, 200, 204, .1), transparent 28%),
    linear-gradient(180deg, #fbfcfb 0%, #f4f7f5 100%);
}
.leadership-hero-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(42px, 8vw, 112px);
  align-items: start;
}
.leadership-hero h1 {
  max-width: 9ch;
  margin: 0;
  color: #111a1c;
  font-size: clamp(2.4rem, 5vw, 3.85rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}
.leadership-intro-copy {
  padding-top: 28px;
  border-top: 1px solid rgba(15, 39, 43, .18);
}
.leadership-intro-copy p {
  max-width: 62ch;
  font-size: 1.04rem;
  line-height: 1.68;
}
.leadership-intro-copy p:last-child { margin-bottom: 0; }
.leadership-disciplines {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-top: 48px;
  padding-top: 22px;
  border-top: 1px solid rgba(15, 39, 43, .12);
}
.leadership-disciplines span {
  color: #526367;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.leadership-roster-section { padding: 74px 0 90px; }
.leadership-roster {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 62px 34px;
}
.executive-profile { min-width: 0; }
.executive-portrait {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  background: #dfe8e6;
  border: 1px solid rgba(15, 39, 43, .1);
  box-shadow: 0 18px 44px rgba(26, 47, 50, .11);
}
.executive-copy { padding-top: 22px; }
.executive-focus {
  margin-bottom: 10px;
  color: #07858a !important;
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.executive-copy h2 {
  margin-bottom: 14px;
  color: #111a1c;
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  line-height: 1.12;
  letter-spacing: -.018em;
}
.executive-copy p:last-child {
  margin-bottom: 0;
  max-width: none;
  color: #46565a;
  font-size: .98rem;
  line-height: 1.64;
}
.leadership-close {
  padding: 66px 0 72px;
  background: #e8efed;
  border-top: 1px solid rgba(15, 39, 43, .09);
}
.leadership-close-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(42px, 8vw, 104px);
  align-items: start;
  padding-top: 24px;
  border-top: 1px solid rgba(15, 39, 43, .16);
}
.leadership-close h2 {
  margin-bottom: 0;
  color: #111a1c;
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  line-height: 1.08;
  letter-spacing: -.025em;
}
.leadership-close-grid > div:last-child p { font-size: 1.03rem; }
.leadership-close .button { margin-top: 8px; }

@media (max-width: 980px) {
  .leadership-roster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .leadership-hero-grid { grid-template-columns: 1fr 1.15fr; gap: 44px; }
}
@media (max-width: 720px) {
  .people-page .site-nav {
    background: rgba(248,250,248,.99);
    border-color: rgba(15,39,43,.12);
  }
  .leadership-hero { padding: 58px 0 36px; }
  .leadership-hero-grid,
  .leadership-close-grid { grid-template-columns: 1fr; gap: 28px; }
  .leadership-hero h1 { max-width: 11ch; font-size: clamp(2.35rem, 11vw, 3.4rem); }
  .leadership-intro-copy { padding-top: 22px; }
  .leadership-disciplines { margin-top: 34px; }
  .leadership-roster-section { padding: 54px 0 68px; }
  .leadership-roster { grid-template-columns: 1fr; gap: 54px; }
  .executive-portrait { max-height: 620px; }
}

/* Specificity correction for the global dark editorial rule. */
body.people-page { background: #f4f7f5; color: #111a1c; }
.people-page .leadership-roster-section { background: #f4f7f5; }
.people-page .leadership-roster-section p { color: #46565a; }

/* 2026-07-20: light corporate system. The card game is the only dark experience. */
body:not(.game-body) {
  --text: #11191b;
  --muted: #4d5b5f;
  --soft: #718084;
  --line: rgba(17, 36, 40, .13);
  --shadow: 0 16px 40px rgba(27, 48, 52, .08);
  background: #f5f7f5;
  color: var(--text);
}
body:not(.game-body) h1,
body:not(.game-body) h2,
body:not(.game-body) h3,
body:not(.game-body) strong { color: #11191b; }
body:not(.game-body) p { color: #4d5b5f; }
body:not(.game-body) .site-header {
  background: rgba(250, 251, 249, .94);
  border-bottom-color: rgba(17, 36, 40, .1);
  box-shadow: 0 8px 28px rgba(24, 45, 49, .045);
}
body:not(.game-body) .brand-mark-wrap {
  background: #fff;
  border-color: rgba(17, 36, 40, .1);
  box-shadow: 0 8px 20px rgba(20, 41, 44, .07);
}
body:not(.game-body) .brand-text strong { color: #11191b; }
body:not(.game-body) .brand-text small { color: #627176; }
body:not(.game-body) .site-nav a { color: #29383b; }
body:not(.game-body) .site-nav a:hover,
body:not(.game-body) .site-nav a[aria-current="page"] { background: rgba(13, 31, 35, .06); }
body:not(.game-body) .nav-cta,
body:not(.game-body) .button.primary {
  background: linear-gradient(180deg, #172629, #0d181a);
  color: #fff;
  box-shadow: 0 10px 24px rgba(13, 26, 29, .14);
}
body:not(.game-body) .button.secondary {
  background: #fff;
  color: #172629;
  border-color: rgba(17, 36, 40, .15);
  box-shadow: 0 8px 20px rgba(27, 48, 52, .05);
}
body:not(.game-body) .button.light-button {
  background: #172629;
  color: #fff;
  border-color: #172629;
}
body:not(.game-body) .text-link,
body:not(.game-body) .text-link.light { color: #087e83; }
body:not(.game-body) .eyebrow,
body:not(.game-body) .eyebrow.light { color: #087f84; }
body:not(.game-body) .editorial-hero {
  background: linear-gradient(180deg, #fbfcfa 0%, #f3f6f4 100%);
  border-bottom-color: rgba(17, 36, 40, .1);
}
body:not(.game-body) .hero-text > p:last-child { color: #465559; }
body:not(.game-body) .section-soft {
  background: #eaf0ee;
  border-color: rgba(17, 36, 40, .08);
}
body:not(.game-body) .section-dark {
  background: linear-gradient(180deg, #e8efed 0%, #dfe8e6 100%);
  color: #11191b;
  border-top: 1px solid rgba(17, 36, 40, .08);
  border-bottom: 1px solid rgba(17, 36, 40, .08);
}
body:not(.game-body) .section-dark p { color: #46565a; }
body:not(.game-body) .statement-copy,
body:not(.game-body) .team-grid,
body:not(.game-body) .cta-line,
body:not(.game-body) .contact-editorial,
body:not(.game-body) .capability-row,
body:not(.game-body) .resource-row,
body:not(.game-body) .platform-item,
body:not(.game-body) .contact-lines > div {
  border-color: rgba(17, 36, 40, .13);
}
body:not(.game-body) .statement-copy p,
body:not(.game-body) .team-grid > div:last-child p,
body:not(.game-body) .capability-row p:last-child { color: #46565a; }
body:not(.game-body) .team-index { color: #26373a; }
body:not(.game-body) .platform-item > span,
body:not(.game-body) .capability-number,
body:not(.game-body) .resource-row > div:first-child > span { color: #087f84; }
body:not(.game-body) .contact-lines span { color: #66767a; }
body:not(.game-body) .contact-lines a { color: #152326; }
body:not(.game-body) .feature-card,
body:not(.game-body) .resource-card,
body:not(.game-body) .info-card {
  background: #fff;
  border: 1px solid rgba(17, 36, 40, .1);
  box-shadow: 0 12px 28px rgba(27, 48, 52, .06);
}
body:not(.game-body) .site-footer {
  margin-top: 0;
  background: #edf2f0;
  border-top-color: rgba(17, 36, 40, .1);
}
body:not(.game-body) .footer-brand strong { color: #172427; }
body:not(.game-body) .footer-brand p,
body:not(.game-body) .footer-bottom p { color: #627176; }
body:not(.game-body) .footer-links a { color: #344548; }
body:not(.game-body) .footer-links a:hover { background: rgba(17, 36, 40, .06); }
body:not(.game-body) .nav-toggle {
  border-color: rgba(17, 36, 40, .17);
  background: #fff;
}
body:not(.game-body) .nav-toggle span:not(.sr-only) { background: #172629; }

/* Leadership roster: compact portraits, consistent executive rows. */
.people-page { background: #f5f7f5; }
.leader-page-hero {
  padding: 70px 0 42px;
  background: linear-gradient(180deg, #fbfcfa 0%, #f1f5f2 100%);
  border-bottom: 1px solid rgba(17, 36, 40, .1);
}
.leader-page-hero-grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(36px, 7vw, 92px);
  align-items: end;
}
.leader-page-hero h1 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(2.35rem, 4.5vw, 3.55rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}
.leader-page-hero-grid > p {
  margin: 0;
  max-width: 60ch;
  padding-top: 22px;
  border-top: 1px solid rgba(17, 36, 40, .17);
  font-size: 1.02rem;
  line-height: 1.66;
}
.leader-roster-section { padding: 54px 0 74px; }
.leader-roster { display: grid; gap: 22px; }
.leader-row {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  grid-template-areas:
    "portrait summary"
    "portrait bio";
  column-gap: 30px;
  row-gap: 12px;
  align-items: start;
  padding: 20px;
  background: #fff;
  border: 1px solid rgba(17, 36, 40, .12);
  border-top: 3px solid #13aeb2;
  box-shadow: 0 12px 34px rgba(27, 48, 52, .065);
}
.leader-portrait {
  grid-area: portrait;
  width: 220px;
  height: 275px;
  object-fit: cover;
  object-position: center top;
  background: #e1e8e6;
  border: 1px solid rgba(17, 36, 40, .1);
}
.leader-summary { grid-area: summary; padding-top: 8px; }
.leader-discipline {
  margin: 0 0 8px;
  color: #a67a35 !important;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.leader-summary h2 {
  margin: 0 0 8px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.65rem, 2.6vw, 2.15rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.015em;
}
.leader-focus {
  margin: 0;
  color: #087f84 !important;
  font-size: .93rem;
  font-weight: 750;
  line-height: 1.42;
}
.leader-bio {
  grid-area: bio;
  margin: 0;
  max-width: 78ch !important;
  color: #39484c !important;
  font-size: .965rem;
  line-height: 1.62;
}
.leader-close {
  padding: 52px 0 60px;
  background: #e7eeec;
  border-top: 1px solid rgba(17, 36, 40, .09);
}
.leader-close-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(34px, 7vw, 88px);
  padding-top: 22px;
  border-top: 1px solid rgba(17, 36, 40, .15);
}
.leader-close h2 {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.08;
  letter-spacing: -.025em;
}
.leader-close .button { margin-top: 6px; }

@media (max-width: 980px) {
  body:not(.game-body) .site-nav {
    background: rgba(250, 251, 249, .99);
    border-color: rgba(17, 36, 40, .12);
    box-shadow: 0 20px 45px rgba(24, 45, 49, .12);
  }
  .leader-row { grid-template-columns: 190px minmax(0, 1fr); }
  .leader-portrait { width: 190px; height: 238px; }
}
@media (max-width: 720px) {
  .leader-page-hero { padding: 50px 0 32px; }
  .leader-page-hero-grid,
  .leader-close-grid { grid-template-columns: 1fr; gap: 24px; }
  .leader-page-hero h1 { font-size: clamp(2.15rem, 10vw, 3rem); max-width: 12ch; }
  .leader-page-hero-grid > p { padding-top: 18px; }
  .leader-roster-section { padding: 34px 0 52px; }
  .leader-roster { gap: 16px; }
  .leader-row {
    grid-template-columns: 108px minmax(0, 1fr);
    grid-template-areas:
      "portrait summary"
      "bio bio";
    column-gap: 16px;
    row-gap: 18px;
    padding: 14px;
  }
  .leader-portrait { width: 108px; height: 135px; }
  .leader-summary { padding-top: 3px; }
  .leader-summary h2 { font-size: clamp(1.35rem, 6vw, 1.7rem); }
  .leader-focus { font-size: .82rem; }
  .leader-bio { font-size: .94rem; line-height: 1.58; }
  .leader-close { padding: 42px 0 48px; }
}


/* 2026-08-24: PD5 Movement Library */
.movement-library-hero .hero-text { max-width: 920px; }
.movement-library-hero .hero-text > p:last-of-type { max-width: 68ch; font-size: 1.05rem; }
.movement-category-nav { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.movement-category-nav a { display:inline-flex; align-items:center; min-height:42px; padding:0 16px; border:1px solid rgba(17,36,40,.14); border-radius:999px; background:#fff; color:#203034; font-size:.86rem; font-weight:800; box-shadow:0 6px 18px rgba(27,48,52,.045); }
.movement-category-nav a:hover { border-color:#13aeb2; color:#087f84; transform:translateY(-1px); }
.movement-library-content { padding-top:48px; }
.movement-series-section { padding:34px 0 62px; scroll-margin-top:112px; border-top:1px solid rgba(17,36,40,.13); }
.movement-series-section:first-child { border-top:0; padding-top:0; }
.movement-series-heading { display:grid; grid-template-columns:150px minmax(0,1fr); gap:clamp(24px,5vw,64px); align-items:start; margin-bottom:28px; }
.movement-series-heading > div:first-child { display:flex; align-items:baseline; gap:14px; }
.movement-series-heading > div:first-child > span { color:#087f84; font-size:.85rem; font-weight:900; letter-spacing:.1em; }
.movement-series-heading .eyebrow { margin:0; }
.movement-series-heading h2 { margin:0 0 7px; font-size:clamp(1.75rem,3vw,2.45rem); line-height:1.06; }
.movement-series-heading p { margin:0; }
.movement-video-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.movement-video-card { overflow:hidden; background:#fff; border:1px solid rgba(17,36,40,.11); box-shadow:0 12px 30px rgba(27,48,52,.06); }
.movement-video-frame { position:relative; aspect-ratio:16/9; overflow:hidden; background:#0b1518; }
.movement-video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.movement-video-copy { padding:18px 20px 20px; }
.movement-video-copy .movement-series { margin:0 0 6px; color:#087f84; font-size:.72rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.movement-video-copy h3 { margin:0; font-size:1.12rem; line-height:1.25; }
.movement-resource-feature { padding-bottom:28px; }
.movement-resource-panel { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px; align-items:end; padding:30px 0 34px; border-bottom:1px solid rgba(17,36,40,.13); }
.movement-resource-panel h2 { margin-bottom:10px; font-size:clamp(1.7rem,3vw,2.35rem); letter-spacing:-.02em; }
.movement-resource-panel p:last-child { margin-bottom:0; max-width:64ch; }
.movement-safety { padding:25px 0 30px; background:#edf2f0; border-top:1px solid rgba(17,36,40,.1); }
.movement-safety p { margin:0; max-width:92ch; font-size:.9rem; color:#5a6a6e !important; }
.movement-safety strong { color:#26373a !important; }
.game-library-link { min-height:46px; display:flex; align-items:center; justify-content:center; color:#79cfd1; font-size:.86rem; font-weight:800; letter-spacing:.02em; }
.game-library-link:hover { color:#b1f1f2; }
@media (max-width: 980px) {
  .movement-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .movement-series-heading { grid-template-columns:110px minmax(0,1fr); }
}
@media (max-width: 720px) {
  .movement-library-content { padding-top:34px; }
  .movement-series-section { padding:28px 0 48px; scroll-margin-top:94px; }
  .movement-series-heading { grid-template-columns:1fr; gap:10px; }
  .movement-series-heading > div:first-child { gap:10px; }
  .movement-video-grid { grid-template-columns:1fr; gap:14px; }
  .movement-resource-panel { grid-template-columns:1fr; align-items:start; gap:20px; }
  .movement-resource-panel .button { justify-self:start; }
}


/* 2026-08-24 P+1 homepage corrections: keep the card art contained and make Play an accent action. */
.home-page .site-nav .nav-cta {
  background: #087f84;
  color: #ffffff;
  border-color: #087f84;
  box-shadow: 0 10px 22px rgba(8, 127, 132, .20);
}
.home-page .site-nav .nav-cta:hover {
  background: #066d72;
  border-color: #066d72;
}
.home-page .section-dark {
  overflow: hidden;
}
.home-page .premium-promo {
  min-height: 580px;
}
.home-page .hero-cards {
  min-height: 580px;
  align-self: stretch;
}
.home-page .card-stack {
  width: min(300px, 58vw);
}
.home-page .card-a { right: 12%; top: 5%; }
.home-page .card-b { right: 20%; top: 9%; }
.home-page .card-c { right: 1%; top: 8%; transform: rotate(12deg); }

@media (max-width: 980px) {
  .home-page .premium-promo { min-height: auto; }
  .home-page .hero-cards { min-height: 580px; }
  .home-page .card-stack { width: min(300px, 54vw); }
  .home-page .card-a { right: 22%; top: 3%; }
  .home-page .card-b { right: 14%; top: 8%; }
  .home-page .card-c { right: 5%; top: 8%; transform: rotate(12deg); }
}
@media (max-width: 720px) {
  .home-page .hero-cards { min-height: 460px; }
  .home-page .card-stack { width: min(245px, 62vw); }
  .home-page .card-a { right: 24%; top: 2%; }
  .home-page .card-b { right: 14%; top: 6%; }
  .home-page .card-c { right: 4%; top: 8%; transform: rotate(12deg); }
}

/* PD5 clarity pass: three core areas on the homepage. */
.home-page .platform-list-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 34px;
}
.home-page .platform-list-three .platform-item:last-child {
  grid-column: auto;
  max-width: none;
}
@media (max-width: 980px) {
  .home-page .platform-list-three { grid-template-columns: 1fr; }
}

/* 2026-08-24 navigation + visual reset. One public header, one accent system. */
body:not(.game-body) .site-header {
  background: rgba(250,251,249,.96);
  border-bottom: 1px solid rgba(17,36,40,.1);
  box-shadow: 0 7px 24px rgba(24,45,49,.045);
}
body:not(.game-body) .header-inner { min-height: 88px; }
body:not(.game-body) .site-nav { gap: 2px; }
body:not(.game-body) .site-nav > a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 13px;
  color: #29383b;
  font-size: .9rem;
  font-weight: 760;
  white-space: nowrap;
}
body:not(.game-body) .site-nav > a:hover,
body:not(.game-body) .site-nav > a[aria-current="page"] {
  background: rgba(8,127,132,.07);
  color: #086f74;
}
body:not(.game-body) .site-nav > .nav-cta,
body:not(.game-body) .button.primary {
  background: #087f84;
  border-color: #087f84;
  color: #fff;
  box-shadow: 0 9px 20px rgba(8,127,132,.18);
}
body:not(.game-body) .site-nav > .nav-cta:hover,
body:not(.game-body) .site-nav > .nav-cta:focus-visible,
body:not(.game-body) .button.primary:hover,
body:not(.game-body) .button.primary:focus-visible {
  background: #066d72;
  border-color: #066d72;
  color: #fff;
}
body:not(.game-body) .text-link { color: #087f84; }

/* Shared visual page hero. */
.visual-page-hero { padding: clamp(52px,6vw,76px) 0; overflow: hidden; }
.page-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:clamp(34px,7vw,88px);
  align-items:center;
}
.page-hero-grid .hero-text { max-width: 720px; }
.page-hero-grid .hero-text h1 { max-width: 13ch; }
.page-hero-art { min-width:0; }
.card-fan {
  position:relative;
  min-height:430px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.fan-card {
  position:absolute;
  width:min(235px,42%);
  aspect-ratio:2/3;
  object-fit:cover;
  border-radius:18px;
  box-shadow:0 24px 48px rgba(20,42,45,.18);
  border:1px solid rgba(17,36,40,.1);
}
.fan-left { transform:translateX(-33%) rotate(-8deg); z-index:1; }
.fan-center { transform:translateY(-7px); z-index:3; }
.fan-right { transform:translateX(33%) rotate(8deg); z-index:2; }

/* What PD5 Does: add actual PD5 visuals to the three core areas. */
.capability-row {
  grid-template-columns:60px minmax(210px,.7fr) minmax(280px,1.05fr) 210px;
  gap:clamp(20px,4vw,52px);
  align-items:center;
}
.capability-visual {
  width:210px;
  height:220px;
  overflow:hidden;
  border-radius:20px;
  background:#e8efed;
  box-shadow:0 14px 34px rgba(24,45,49,.1);
}
.capability-visual > img { width:100%; height:100%; object-fit:cover; }
.product-card-visual { position:relative; overflow:visible; background:transparent; box-shadow:none; }
.product-card-visual img {
  position:absolute;
  left:50%; top:50%;
  width:118px; height:177px; object-fit:cover;
  border-radius:11px;
  box-shadow:0 16px 30px rgba(18,35,39,.19);
}
.product-card-visual img:nth-child(1){transform:translate(-72%,-50%) rotate(-8deg);z-index:1;}
.product-card-visual img:nth-child(2){transform:translate(-50%,-54%);z-index:3;}
.product-card-visual img:nth-child(3){transform:translate(-28%,-50%) rotate(8deg);z-index:2;}
.landscape-visual img { object-position:68% center; }

/* Resources: every guide gets a visual reference. */
.resource-row {
  grid-template-columns:84px 142px minmax(0,1fr) auto;
  gap:clamp(18px,3.5vw,44px);
}
.resource-thumb {
  width:142px;
  height:190px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid rgba(17,36,40,.1);
  box-shadow:0 12px 30px rgba(24,45,49,.09);
}
.resource-fan .fan-card { width:min(220px,40%); }

/* Contact: use the expedition image as context, not decoration detached from PD5. */
.mountain-panel {
  position:relative;
  min-height:350px;
  overflow:hidden;
  border-radius:26px;
  box-shadow:0 18px 44px rgba(24,45,49,.12);
}
.mountain-panel > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:67% center; }
.mountain-panel::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(8,20,23,.78)); }
.mountain-panel-label { position:absolute; z-index:2; left:24px; right:24px; bottom:22px; color:#fff; }
.mountain-panel-label span { display:block; margin-bottom:7px; color:#91e1e2; font-size:.72rem; font-weight:900; letter-spacing:.15em; }
.mountain-panel-label strong { color:#fff !important; font-size:1.08rem; }

/* Homepage: Radio is present, but intentionally secondary. */
.media-strip-section { padding:54px 0; background:#edf2f0; border-top:1px solid rgba(17,36,40,.09); border-bottom:1px solid rgba(17,36,40,.09); }
.media-strip {
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:clamp(28px,6vw,72px);
  align-items:center;
}
.media-strip-signal {
  height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:24px;
  background:#102326;
  box-shadow:0 14px 34px rgba(20,47,51,.12);
}
.media-strip-signal span { width:8px; border-radius:99px; background:#30c3c7; }
.media-strip-signal span:nth-child(1),.media-strip-signal span:nth-child(7){height:30px;}
.media-strip-signal span:nth-child(2),.media-strip-signal span:nth-child(6){height:58px;}
.media-strip-signal span:nth-child(3),.media-strip-signal span:nth-child(5){height:88px;}
.media-strip-signal span:nth-child(4){height:116px;}
.media-strip-copy h2 { margin:0 0 10px; font-size:clamp(1.8rem,3vw,2.55rem); }
.media-strip-copy p { margin-bottom:12px; max-width:62ch; }


.inline-link-row { display:flex; gap:18px; flex-wrap:wrap; align-items:center; }
.radio-program-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }

/* Radio: normal property page, not a second homepage. */
.radio-compact-hero .page-hero-grid { grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr); }
.radio-compact-hero .hero-text h1 { font-size:clamp(2.7rem,5vw,4.5rem); margin-bottom:8px; }
.radio-tagline { margin:0 0 18px; color:#087f84 !important; font-size:clamp(1.2rem,2vw,1.55rem) !important; font-weight:800; }
.radio-player-compact {
  padding:18px;
  border-radius:24px;
  background:#102326;
  box-shadow:0 18px 44px rgba(20,47,51,.13);
}
.spotify-frame-v2 { width:100%; min-height:232px; border:0; border-radius:14px; }
.radio-spotify-text { display:block; margin-top:10px; padding:4px 3px; color:#8fe2e4 !important; font-size:.86rem; font-weight:800; }
.radio-program-grid { margin-top:28px; }
.radio-program-grid article { padding:22px 22px 24px; border:1px solid rgba(17,36,40,.1); border-top:3px solid #087f84; border-radius:18px; background:#fff; box-shadow:0 10px 26px rgba(24,45,49,.055); }
.related-pd5-grid { display:grid; grid-template-columns:330px minmax(0,1fr); gap:clamp(34px,7vw,90px); align-items:center; }
.related-card-stack { position:relative; min-height:330px; }
.related-card-stack img { position:absolute; width:165px; aspect-ratio:2/3; object-fit:cover; border-radius:12px; box-shadow:0 15px 32px rgba(24,45,49,.16); }
.related-card-stack img:nth-child(1){left:15px;top:35px;transform:rotate(-8deg);}
.related-card-stack img:nth-child(2){left:85px;top:12px;z-index:3;}
.related-card-stack img:nth-child(3){left:155px;top:38px;transform:rotate(8deg);}
.related-pd5-grid h2 { font-size:clamp(1.9rem,3.5vw,2.8rem); margin-bottom:14px; }

/* Movement hero art is a visual lead-in; videos remain the main content. */
.movement-library-hero .page-hero-grid { align-items:center; }
.movement-library-hero .hero-text { max-width:760px; }
.movement-fan { min-height:390px; }

@media (max-width: 1120px) {
  body:not(.game-body) .brand-text small { display:none; }
  body:not(.game-body) .site-nav > a { padding:0 10px; font-size:.86rem; }
}
@media (max-width: 980px) {
  body:not(.game-body) .brand-text small { display:block; }
  body:not(.game-body) .site-nav {
    top:89px;
    display:none;
    gap:4px;
    padding:12px;
  }
  body:not(.game-body) .site-nav.open { display:flex; }
  body:not(.game-body) .site-nav > a { width:100%; min-height:48px; justify-content:flex-start; padding:0 15px; font-size:.96rem; }
  body:not(.game-body) .site-nav > .nav-cta { justify-content:center; margin-top:4px; }
  .page-hero-grid { grid-template-columns:1fr; }
  .page-hero-art { max-width:620px; width:100%; }
  .card-fan { min-height:390px; }
  .capability-row { grid-template-columns:55px minmax(0,1fr) 190px; }
  .capability-row > div:nth-child(3) { grid-column:2; }
  .capability-visual { grid-column:3; grid-row:1 / span 2; width:190px; height:205px; }
  .resource-row { grid-template-columns:72px 125px minmax(0,1fr); }
  .resource-thumb { width:125px; height:168px; }
  .resource-row .button { grid-column:3; }
  .related-pd5-grid { grid-template-columns:280px minmax(0,1fr); }
}
@media (max-width: 720px) {
  .visual-page-hero { padding:46px 0 42px; }
  .page-hero-grid { gap:22px; }
  .card-fan { min-height:310px; }
  .fan-card { width:min(180px,42%); border-radius:13px; }
  .capability-row { grid-template-columns:1fr; }
  .capability-row > div:nth-child(3), .capability-visual { grid-column:auto; grid-row:auto; }
  .capability-visual { width:100%; height:260px; margin-top:8px; }
  .product-card-visual { height:240px; }
  .resource-row { grid-template-columns:1fr; gap:14px; }
  .resource-thumb { width:100%; height:260px; object-position:center 34%; }
  .resource-row .button { grid-column:auto; justify-self:start; }
  .media-strip { grid-template-columns:1fr; gap:22px; }
  .media-strip-signal { height:120px; }
  .radio-compact-hero .page-hero-grid { grid-template-columns:1fr; }
  .related-pd5-grid { grid-template-columns:1fr; }
  .related-card-stack { min-height:300px; max-width:330px; width:100%; }
  .mountain-panel { min-height:280px; }
}
