@font-face {
  font-family: Onest;
  src: url('assets/fonts/Onest.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Golos Text";
  src: url('assets/fonts/GolosText.woff2') format('woff2');
  font-weight: 400 900;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url('assets/fonts/IBMPlexSans.woff2') format('woff2');
  font-weight: 100 700;
  font-display: swap;
}
:root[data-font="golos"] { --site-font: "Golos Text", Arial, sans-serif; }
:root[data-font="plex"] { --site-font: "IBM Plex Sans", Arial, sans-serif; }
:root{--site-font:Onest,Arial,sans-serif;font-family:var(--site-font);--cream:#faf3df;--gold:#f7c85d;--green:#082d22;--ease:cubic-bezier(.23,1,.32,1);color-scheme:dark;color:var(--cream);background:#082318;font-synthesis:style;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}button:disabled{cursor:not-allowed}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #fff0a0;outline-offset:6px}button:active,.button:active{transform:translateY(2px)}[hidden]{display:none!important}.container{width:min(1180px,calc(100% - 80px));margin-inline:auto}.section-copy{font-size:18px;line-height:1.65;max-width:470px}.concept-line{font-size:13px;line-height:1.7;opacity:.7}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:56px;padding:17px 26px;border:0;border-radius:8px;font-size:14px;font-weight:700;transition:background-color 160ms ease,transform 160ms var(--ease);white-space:normal;text-align:center}.button-gold{background:var(--gold);color:#212c18;box-shadow:0 4px 0 #ad8238}.button-gold:hover{background:#ffdc83}.button-cream{background:#f6ead2;color:#4b1113;box-shadow:0 4px 0 #bea98b}.button-cream:hover{background:#fff6e6}.text-link{display:inline-flex;align-items:center;gap:12px;background:none;border:0;border-bottom:1px solid currentColor;padding:6px 0;font-size:14px;font-weight:700;line-height:1.5}.text-link:hover{opacity:.8}.skip-link{position:fixed;left:16px;top:-100px;padding:12px;background:#fff;color:#111;z-index:100}.skip-link:focus{top:10px}

.hero{min-height:760px;height:min(850px,calc(100svh - 78px));position:relative;isolation:isolate;background:#062717;overflow:hidden}.hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#042315e6 0%,#04231575 31%,transparent 64%),linear-gradient(0deg,#082318 0%,transparent 25%);z-index:-2}.hero-content{padding-top:90px}.hero h1{font-weight:750;font-size:clamp(56px,6.1vw,90px);line-height:1.01;letter-spacing:-.055em;max-width:650px;text-shadow:0 5px 0 #04251550}.hero h1 span{color:var(--gold)}.hero-copy{font-size:19px;line-height:1.6;margin-top:27px;color:#e3e6d6}.hero-denis{font-style:italic;color:#efdcac}
.poker-world{background:
  linear-gradient(to bottom, #fff, #e8eeea 15%, transparent) top / 100% clamp(40px, 7vw, 92px) no-repeat,
  radial-gradient(ellipse at 15% 30%, #174331, #082318 65%);
  padding:112px 0 120px;position:relative}.poker-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.poker-copy h2 {
  font-weight: 700;
  font-size: clamp(40px, 4.2vw, 62px);
  line-height: 1.15;
  letter-spacing: -0.035em;
}.poker-copy h2 span{color:var(--gold)}.poker-copy .section-copy{margin-top:27px}.poker-reference{max-width:350px;justify-self:center}.poster-link{display:block;position:relative;border:9px solid #665031;border-radius:18px;box-shadow:10px 16px 0 #001b1350,0 0 0 1px #b9924d;overflow:hidden;transition:transform 220ms var(--ease)}.poster-link img{width:100%;height:auto}
.needle-world {
  --needle-night: #201a35;
  --needle-accent: #c4b8ff;
  color: #f3edff;
  background:
    linear-gradient(to bottom, #082318, transparent 105px),
    linear-gradient(to top, #171715, transparent 105px),
    radial-gradient(ellipse at 78% 44%, #352a58, var(--needle-night) 66%);
  padding: clamp(65px, 8vw, 105px) 0 105px;
  overflow: hidden;
}.needle-scene{position:relative;border-radius:16px;overflow:hidden;isolation:isolate}.needle-scene>img{width:100%;height:auto}.needle-scene:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,var(--needle-night))}.needle-scene-title{position:absolute;left:42%;top:10%;z-index:1}.needle-scene-title h2{font-size:clamp(45px,5.8vw,82px);font-weight:750;line-height:1.02;letter-spacing:-.04em;text-shadow:0 5px 0 #191331}.needle-scene-title h2 span{color:#f5d377}.play-round{display:flex;align-items:center;justify-content:center;border:1px solid #fff9;background:#f5ecd733;width:62px;height:62px;border-radius:50%;font-size:20px;padding-left:3px;backdrop-filter:blur(6px);transition:transform 180ms var(--ease),background-color 180ms ease}
.game-shell{border:1px solid #71609c;background:#2e244b;border-radius:20px;padding:26px;box-shadow:0 9px 0 #151020,0 18px 40px #0c071c50;color:#fbf3ff}.game-shell h3{font-size:30px;line-height:1.2;letter-spacing:-.035em}.game-board {
  position: relative;
  display: grid;
  margin-top: 16px;
  overflow: clip;
  overflow-clip-margin: 4px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 2px 0 6px;
}
.tile {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #8877b4;
  border-radius: 10px;
  background: #382d57;
  color: #fbf3ff;
  cursor: pointer;
  text-align: center;
  transition: transform 150ms var(--ease), border-color 150ms ease;
}
.tile-art {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.tile-caption {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  align-content: center;
  gap: 1px clamp(4px, 1vw, 9px);
  min-height: 36px;
  padding: 5px 4px;
  line-height: 1.15;
}
.tile-name {
  font-size: clamp(0.64rem, 1.1vw, 0.85rem);
  font-weight: 600;
}
.tile-multiplier {
  color: #ffdc75;
  font-size: clamp(0.95rem, 1.5vw, 1.2rem);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}
.tile:hover:not(:disabled) { transform: translateY(-2px); border-color: #d6c9ff; }
.tile:disabled { cursor: default; }
.tile:focus-visible, .tile.current { outline: 2px solid #fff0ac; outline-offset: 2px; }
.tile.selected { border-color: #fff0ac; background: #493954; }
.tile svg {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 21px;
  height: 21px;
  padding: 2px;
  border-radius: 50%;
  background: #231733;
}
.tile-art { transition: opacity 180ms ease; }
.tile.scanned .tile-art { opacity: 0.32; }
.tile.found { background: #78342f; border-color: #ffa28e; color: #fff5e7; }
.tile.found .tile-art { opacity: 0.65; }
.tile.safe { background: #493976; border-color: #ded1ff; }
.search-squad {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: end;
  gap: 2px;
  pointer-events: none;
  transform: translate(var(--squad-x), var(--squad-y)) translate(-50%, -50%);
  transition: transform 320ms ease-in-out;
  animation: squad-enter 320ms ease-out;
}
.search-agent {
  --suit: #191622;
  position: relative;
  display: block;
  width: 18px;
  height: 34px;
  filter: drop-shadow(0 1px 2px #120e19);
}
.search-agent:nth-child(2) { height: 37px; }
.search-agent:nth-child(3) { height: 32px; }
.search-agent::before {
  content: '';
  position: absolute;
  top: 6px;
  left: 3px;
  width: 12px;
  height: 11px;
  border-radius: 2px;
  background: linear-gradient(#dca674 30%, #191622 30% 64%, #dca674 64%);
}
.search-agent::after {
  content: '';
  position: absolute;
  top: 0;
  left: 3px;
  width: 12px;
  height: 6px;
  border-radius: 2px 2px 0 0;
  background: var(--suit);
  box-shadow: -3px 4px 0 -1px var(--suit), 3px 4px 0 -1px var(--suit);
}
.search-agent i {
  position: absolute;
  top: 16px;
  bottom: 5px;
  inset-inline: 1px;
  border-radius: 3px 3px 1px 1px;
  background: var(--suit);
}
.search-agent i::before {
  content: '';
  position: absolute;
  inset: 1px 5px 4px;
  background: #f6e2be;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.search-agent i::after {
  content: '';
  position: absolute;
  inset: 100% 2px -5px;
  background: linear-gradient(90deg, var(--suit) 40%, transparent 40% 60%, var(--suit) 60%);
}
@keyframes squad-enter {
  from { translate: -30px 5px; }
  to { translate: 0 0; }
}
.game-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 12px;
}
.game-stake {
  color: #e4d7f8;
  font-size: 0.8rem;
  white-space: nowrap;
}
.game-stake strong { color: #ffdc75; font-size: 1rem; }
.game-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  block-size: 44px;
  margin-top: 8px;
}
.game-status {
  color: #e4d7f8;
  font-size: 0.875rem;
  line-height: 1.5;
}
.game-status[data-outcome=""] { opacity: 0; }
.game-status[data-outcome="found"] { color: #ffb19a; }
.game-status[data-outcome="hidden"] { color: #ffdc75; font-weight: 700; }
.game-replay {
  min-height: 44px;
  flex: none;
  padding: 4px 8px;
  border-radius: 8px;
  background: #d0c1ff;
  color: #251739;
  font-size: clamp(0.69rem, 2.4vw, 0.875rem);
}
.game-replay:hover { background: #e4d8ff; }
.cinema-world{background:#171715;padding:110px 0;position:relative;isolation:isolate;overflow:hidden}.cinema-grain{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 60% 30%,#74604922,transparent 60%)}.cinema-heading{text-align:center}.cinema-heading h2 {
  max-width: 860px;
  margin-inline: auto;
  font-size: clamp(28px, 5vw, 60px);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.1;
  text-wrap: balance;
}.film-main{position:relative;display:block;border:0;padding:0;background:#332b24;width:100%;overflow:hidden}.film-main>img{width:100%;height:100%;object-fit:cover}.film-main .play-round{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1}.film-main:hover .play-round{transform:translate(-50%,-50%) scale(1.1)}
.character-pair{display:grid;grid-template-columns:1fr 1fr}.character-pair article{padding:75px 60px 50px;position:relative;overflow:hidden}.mikhalich-world{background-color:#bd9c62;color:#2b2a1c}.sanek-world{background:#d4d3c5;color:#323b38}.character-copy{max-width:470px;margin:auto}.character-copy h2{font-size:clamp(30px,3.4vw,49px);line-height:1.1;letter-spacing:-.045em}.character-copy h2 em{font-weight:400}.character-copy p{font-size:15px;line-height:1.6;margin-top:20px;max-width:380px}.character-video{display:block;padding:0;background:#342d20;overflow:hidden}.character-video>img{width:100%;height:100%;object-fit:cover}.character-video:after,.presenter-video:after{content:"";position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#121711d9)}.character-video .play-round{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff}.video-caption{position:absolute;bottom:18px;left:12px;right:12px;text-align:center;color:#fff9eb;font-size:11px;z-index:1}.world-outro{font-size:11px;line-height:1.6;opacity:.75;max-width:340px;margin:auto;text-align:center}
.presenter-world{background-color:#3e0b13;padding:95px 0;overflow:hidden}.presenter-layout{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:90px}.presenter-copy h2{font-size:clamp(40px,4.8vw,68px);letter-spacing:-.045em;line-height:1.1}.presenter-copy h2 em{font-weight:400;color:#f0c6a3}.presenter-copy .section-copy{font-size:17px;margin-top:28px;color:#e1c6bf}.presenter-copy .concept-line{margin:25px 0 32px;color:#e1c6bf}.presenter-video{display:block;position:relative;border:0;padding:0;width:320px;height:520px;margin:auto;overflow:hidden;border-radius:160px 160px 8px 8px;background:#a3202c;box-shadow:15px 18px 0 #1f050f3d}.presenter-video>img{width:100%;height:100%;object-fit:cover}.presenter-video .play-round{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.presenter-video:hover .play-round{background:#f5ecd75e}
.pilot {
  background: #fff;
  color: #111;
  color-scheme: light;
  padding-bottom: clamp(60px, 8vw, 105px);
  text-align: center;
}
.pilot > .container {
  border-top: 1px solid #ddd;
  padding-top: clamp(40px, 6vw, 76px);
}
.pilot h2 {
  max-width: 900px;
  margin-inline: auto;
  font-size: clamp(34px, 5.5vw, 68px);
  line-height: 1.08;
  letter-spacing: -0.045em;
}
.pilot-process,
.pilot-offer {
  max-width: 940px;
  margin: clamp(36px, 6vw, 72px) auto 0;
  text-align: left;
}
.pilot-process h3,
.pilot-offer h3 {
  margin-bottom: 20px;
  font-size: clamp(27px, 3.5vw, 42px);
  letter-spacing: -0.035em;
}
.pilot-steps {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #ddd;
  list-style: none;
}
.pilot-steps li {
  display: grid;
  grid-template-columns: 2.5ch minmax(0, 0.85fr) minmax(0, 2fr);
  align-items: baseline;
  gap: 8px clamp(14px, 2.5vw, 30px);
  padding-block: 18px;
  border-top: 1px solid #ddd;
}
.pilot-step-number {
  color: #9d3c19;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.pilot-steps h4 {
  margin: 0;
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.25;
}
.pilot-steps p {
  color: #363636;
  font-size: clamp(15px, 1.65vw, 17px);
  line-height: 1.6;
}
@media (max-width: 640px) {
  .pilot-steps li { grid-template-columns: 2.5ch minmax(0, 1fr); }
  .pilot-steps p { grid-column: 2; }
}
.pilot-offer-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(24px, 5vw, 56px);
  border-block: 1px solid #ddd;
  padding-block: clamp(22px, 4vw, 36px);
}
.pilot-price-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  align-self: start;
  gap: clamp(12px, 2vw, 20px);
}
.pilot-price {
  font-size: clamp(42px, 6vw, 70px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.05em;
  white-space: nowrap;
}
.pilot-price-caption,
.pilot-offer h4 {
  margin: 0;
  font-size: clamp(18px, 2.1vw, 22px);
  font-weight: 700;
  line-height: 1.3;
}
.pilot-offer-inclusions {
  margin: 14px 0 0;
  color: #363636;
  font-size: clamp(15px, 1.65vw, 17px);
  line-height: 1.6;
}
.pilot-offer-inclusions { padding-inline-start: 1.2em; }
.pilot-offer-inclusions li + li { margin-top: 8px; }
@media (max-width: 640px) {
  .pilot-offer-layout { grid-template-columns: 1fr; }
}
.pilot-actions{display:flex;align-items:center;justify-content:center;gap:35px;margin-top:34px}.pilot .button-gold{background:#193b2b;color:#fff6dd;box-shadow:0 4px 0 #0c2518}.pilot .button-gold:hover{background:#26583f}.pilot a:focus-visible,.character-pair button:focus-visible{outline-color:#2c6042}
.noscript-message{padding:20px;background:#f4ecda;color:#183b2a}.noscript-message a{text-decoration:underline}
@media(min-width:1700px){.hero-scene{object-position:center 44%}.hero h1{font-size:100px}.hero-content{padding-top:108px}}
@media(max-width:1100px){.container{width:calc(100% - 56px)}.hero{min-height:690px;max-height:790px}.hero-content{padding-top:85px}.poker-layout{gap:50px}.game-shell{padding:20px}.game-board{gap:8px}.character-pair article{padding-inline:36px}.presenter-layout{gap:40px}}
@media(max-width:800px){.hero{height:auto;min-height:850px}.hero-scene{height:590px;object-position:66% center;top:0}.hero-shade{background:linear-gradient(0deg,#082318 27%,#08231800 62%),linear-gradient(90deg,#042315df 0%,#04231555 50%,transparent 100%)}.hero-content{padding-top:58px}.hero h1{font-size:64px;max-width:430px}.hero-copy{margin-top:270px;font-size:17px}.hero-denis{display:none}.poker-world{padding:75px 0}.poker-layout{grid-template-columns:1fr 1fr;gap:25px}.poker-copy h2{font-size:38px}.poker-copy .section-copy{font-size:15px}.poker-reference{max-width:270px}.concept-line{font-size:12px}.needle-scene-title{left:43%;top:9%}.needle-scene-title h2{font-size:48px}.game-shell{width:min(520px,100%);margin:auto;padding:26px}.game-board{gap:11px}.cinema-world{padding:75px 0}.character-pair article{padding:55px 25px 38px}.character-copy h2{font-size:34px}.character-copy p{font-size:14px}.presenter-world{padding:70px 0}.presenter-layout{gap:28px}.presenter-copy h2{font-size:43px}.presenter-video{width:260px;height:440px}.presenter-copy .section-copy{font-size:15px}}
@media(max-width:560px){.container{width:calc(100% - 36px)}.hero{min-height:850px}.hero-scene{height:570px;object-position:64% center}.hero-shade{background:linear-gradient(0deg,#082318 29%,transparent 58%),linear-gradient(90deg,#042315b0 0%,#04231520 60%,transparent)}.hero-content{padding-top:42px}.hero h1{font-size:clamp(47px,12.8vw,66px);letter-spacing:-.055em;max-width:390px}.hero-copy{margin-top:275px;font-size:16px;line-height:1.55}.desktop-break{display:none}.poker-layout{grid-template-columns:1fr;gap:40px}.poker-copy h2{font-size:46px}.poker-copy .section-copy{font-size:16px;max-width:350px}.poker-reference{max-width:290px}.poker-world{padding:62px 0 75px}.needle-world{padding-top:58px;padding-bottom:78px}.needle-world>.container{width:100%}.needle-scene{border-radius:0;min-height:375px}.needle-scene>img{height:375px;width:100%;object-fit:cover;object-position:39% center}.needle-scene-title{left:44%;top:40px}.needle-scene-title h2{font-size:clamp(32px,9vw,46px);text-shadow:0 3px 0 #191331}.game-shell{padding:19px 16px;border-radius:15px}.game-board{gap:8px}.game-shell h3{font-size:28px}.tile{border-radius:6px}.cinema-world{padding:65px 0}.film-main .play-round{width:48px;height:48px;font-size:15px}.character-pair{grid-template-columns:1fr}.character-pair article{padding:55px 28px 40px}.character-copy{max-width:340px}.character-copy h2{font-size:42px}.character-copy p{font-size:15px}.world-outro{max-width:290px}.presenter-layout{grid-template-columns:1fr;gap:35px}.presenter-world{padding:60px 0 65px}.presenter-copy h2{font-size:44px}.presenter-copy .section-copy{max-width:350px}.presenter-video{width:285px;height:450px}.presenter-copy .button{min-height:50px;font-size:13px}.pilot-actions{flex-direction:column;gap:24px;margin-top:27px}.pilot-actions .button{width:100%;max-width:330px;font-size:13px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.tile:hover:not(:disabled){transform:none}}
.original-video-button{width:100%;margin-top:20px;font-size:12px;min-height:50px;padding:15px 0}
.denis-video{width:100%;padding:0;background:#082318;text-align:left}.denis-video .play-round{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}

.concept-details{margin:25px 0 0;display:grid;gap:20px;max-width:510px}.concept-details div{border-top:1px solid currentColor;padding-top:14px;border-color:#d5d6b92b}.concept-details dt{font-size:10px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;font-weight:800;margin-bottom:7px;opacity:.7}.concept-details dd{margin:0;font-size:14px;line-height:1.75;text-wrap:pretty}.character-details{max-width:470px;margin:auto}.character-details .concept-details div{border-color:#293a342b}.character-details .concept-details dd{font-size:14px}.format-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}.presenter-copy .concept-details{color:#e1c6bf}
@media(max-width:800px){.concept-details dd{font-size:13px}.poker-layout{align-items:center}}
@media(max-width:560px){.concept-details dd{font-size:14px}.format-actions{gap:20px}}

/* Monochrome opening. */

.hero.hero-monochrome{height:auto;min-height:0;max-height:none;background:#fff;color:#111;color-scheme:light;display:flex;flex-direction:column;overflow:hidden;isolation:isolate}
.hero-monochrome:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 84% 24%,#00000003,transparent 52%)}
.hero-monochrome .hero-content{padding-block:clamp(42px,6vw,80px) clamp(36px,4.5vw,62px)}

.hero-monochrome h1{font-weight:800;font-size:clamp(66px,7.7vw,110px);max-width:none;line-height:1.06;letter-spacing:-.065em;text-shadow:none;text-wrap:initial}.hero-monochrome h1 span{color:inherit}.hero-monochrome h1 .hero-title-lead{color:#686868}.hero-monochrome h1 .hero-title-last{color:#111}
.hero-monochrome .hero-copy{margin:0;font-size:16px;line-height:1.7;color:#666}.hero-monochrome a:focus-visible{outline-color:#111}

@media(min-width:1700px){.hero-monochrome h1{font-size:120px}}
@media(max-width:1100px){.hero-monochrome .hero-content{padding-block:40px 45px}}
@media(max-width:800px){.hero-monochrome h1{font-size:clamp(58px,9.6vw,77px)}.hero-monochrome .hero-copy{font-size:15px}}
@media(max-width:560px){.hero-monochrome .hero-content{padding-block:32px 40px}.hero-monochrome h1{font-size:clamp(38px,10.5vw,59px);line-height:1.12;letter-spacing:-.065em}.hero-monochrome .hero-copy{font-size:13px;line-height:1.8}}

.hero-monochrome .hero-content {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 5vw, 72px);
}
.hero-monochrome h1 { font-size: clamp(45px, 7.05vw, 100px); }
.hero-monochrome .hero-copy { margin-top: clamp(19px, 3vw, 36px); }
.cases-intro {
  margin-bottom: clamp(24px, 4vw, 52px);
  color: #222;
  font-size: clamp(1.15rem, 2.3vw, 1.85rem);
  font-weight: 700;
  text-align: center;
}
.hero-cast {
  --figure-height: clamp(170px, 22vw, 310px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 4px;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hero-cast > li {
  display: grid;
  align-items: end;
  min-width: 0;
  height: var(--figure-height);
}
.hero-cast img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 5px 7px #18261a22);
}
.hero-cast > li:nth-child(-n + 3) { height: calc(var(--figure-height) * 0.9); }
.hero-cast > li:nth-child(1) { transform: translateX(7%); }
.hero-cast > li:nth-child(3) { transform: translateX(-7%); }
@media (max-width: 720px) {
  .hero-monochrome .hero-content { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .hero-monochrome h1 { font-size: clamp(38px, 10.5vw, 62px); }
  .hero-cast {
    --figure-height: clamp(155px, 48vw, 280px);
    width: min(100%, 490px);
    justify-self: center;
  }
}

.inline-video-frame { min-width: 0; }
.inline-video {
  display: block;
  width: min(100%, 340px);
  aspect-ratio: 9 / 16;
  max-height: 74svh;
  margin-inline: auto;
  border-radius: 12px;
  background: #080808;
  object-fit: contain;
}
.inline-video:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.inline-video-status { margin: 8px 0 0; font-size: 0.85rem; text-align: center; }

.concept-story {
  display: grid;
  gap: 14px;
  max-width: 38ch;
  margin-top: 25px;
  color: #efe6d2;
  font-size: clamp(0.9rem, 1.35vw, 1.05rem);
  line-height: 1.65;
}
.concept-story strong { color: var(--gold); }


.needle-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(28px, 5vw, 58px);
  width: min(100%, 850px);
  margin: clamp(20px, 4vw, 46px) auto 0;
}
.needle-media { width: min(100%, 248px); justify-self: center; }
.needle-copy .concept-story { margin-top: 0; color: #e1daef; }
.needle-copy .concept-story strong { color: var(--needle-accent); }
.needle-layout > .game-shell {
  grid-column: 1 / -1;
  width: min(100%, 520px);
  justify-self: center;
}
@media (max-width: 600px) {
  .needle-layout { grid-template-columns: minmax(0, 1fr); padding-inline: 18px; }
  .needle-copy { justify-self: center; }
}
.needle-preview {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 1px solid #8877b4;
  border-radius: 12px;
  overflow: hidden;
  background: var(--needle-night);
}
.needle-preview img { width: 100%; height: auto; }
.needle-preview .play-round {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
}



.needle-media .original-video-button {
  padding-inline: 12px;
  color: #211638;
  background: var(--needle-accent);
}
.needle-media .original-video-button:hover { background: #ddd4ff; }


/* Preserve the poster's footprint when its inline player opens. */
.poker-reference { width: 100%; }
.poker-reference > .inline-video-frame,
.needle-media > .inline-video-frame,
.filmstrip > .inline-video-frame,
.character-pair .inline-video-frame {
  position: relative;
  box-sizing: content-box;
  aspect-ratio: 9 / 16;
  overflow: hidden;
}
.poker-reference > .inline-video-frame {
  border: 9px solid #665031;
  border-radius: 18px;
  background: #082318;
  box-shadow: 10px 16px 0 #001b1350, 0 0 0 1px #b9924d;
}
.needle-media > .inline-video-frame {
  border: 1px solid #8877b4;
  border-radius: 12px;
  background: var(--needle-night);
}
:is(.poker-reference, .needle-media, .filmstrip, .character-pair) .inline-video-frame > :is(button, video) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
:is(.poker-reference, .needle-media, .filmstrip, .character-pair) .inline-video-frame > button:focus-visible {
  outline-offset: -3px;
}
:is(.poker-reference, .needle-media, .filmstrip, .character-pair) .inline-video-status {
  position: absolute;
  inset: auto 8px 48px;
  padding: 8px;
  border-radius: 6px;
  background: #101016e8;
  color: #fff;
  pointer-events: none;
}

.filmstrip {
  width: min(100%, 290px);
  margin: clamp(28px, 5vw, 50px) auto clamp(35px, 6vw, 60px);
}
.filmstrip > .inline-video-frame {
  border-radius: 12px;
  background: #332b24;
}
.filmstrip .original-video-button {
  background: #d4c1a2;
  color: #261d15;
}
.filmstrip .original-video-button:hover { background: #e4d4bd; }

.film-story {
  max-width: 580px;
  margin-inline: auto;
  padding-top: 24px;
  border-top: 1px solid #ddd4bc33;
}
.film-story h3 {
  margin-bottom: 12px;
  font-size: clamp(20px, 3vw, 24px);
  font-weight: 600;
}
.film-story p {
  color: #c9c6bd;
  font-size: clamp(14px, 2vw, 16px);
  line-height: 1.7;
}
.film-story p + p { margin-top: 12px; }

.character-pair .inline-video-frame {
  width: min(100%, 285px);
  margin: clamp(28px, 4vw, 35px) auto 28px;
  border-radius: 4px;
  background: #342d20;
  box-shadow: 10px 13px 0 #2c2e2b14;
}

.media-asset {
  background: #fff;
  color: #111;
  color-scheme: light;
  padding-block: clamp(54px, 8vw, 104px);
}
.media-asset h2 {
  max-width: 1000px;
  margin-inline: auto;
  padding-block: 0.07em;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 6vw, 80px);
  font-style: italic;
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.045em;
  text-align: center;
  text-wrap: balance;
}
.media-asset h2 span { display: block; }
.media-asset-intro {
  margin-top: 16px;
  font-size: clamp(15px, 1.5vw, 18px);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.media-asset-points {
  display: grid;
  gap: clamp(22px, 3.5vw, 36px);
  max-width: 760px;
  margin: clamp(26px, 4vw, 44px) auto 0;
  padding: 0;
  list-style: none;
}
.media-asset-points li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: clamp(12px, 2vw, 22px);
}
.media-asset-plus {
  display: grid;
  place-items: center;
  width: clamp(34px, 4vw, 46px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: #111;
  color: #fff;
  font-size: clamp(22px, 2.5vw, 28px);
  font-weight: 700;
  line-height: 1;
}
.media-asset-points h3 {
  margin: 4px 0 6px;
  font-size: clamp(19px, 2.3vw, 27px);
  line-height: 1.2;
}
.media-asset-points p {
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.55;
}

/* Blend adjacent section colors within their existing padding. */
main { --chapter-fade: clamp(40px, 6vw, 88px); }

.character-pair {
  --pair-fade: clamp(36px, 4.5vw, 70px);
  --pair-top: linear-gradient(to bottom, #171715, transparent) top / 100% var(--pair-fade) no-repeat;
  --pair-bottom: linear-gradient(to top, #280b0f, transparent) bottom / 100% var(--pair-fade) no-repeat;
}
.mikhalich-world {
  background: var(--pair-top), var(--pair-bottom),
    radial-gradient(ellipse 50% 68% at 45% 60%, #f4dc9c66, transparent), #bd9c62;
}
.sanek-world {
  background: var(--pair-top), var(--pair-bottom),
    linear-gradient(to right, #bd9c62, transparent) left / var(--pair-fade) 100% no-repeat,
    #d4d3c5;
}
.presenter-world {
  background:
    linear-gradient(to bottom, #280b0f, transparent) top / 100% var(--chapter-fade) no-repeat,
    linear-gradient(to top, #fff, transparent) bottom / 100% var(--chapter-fade) no-repeat,
    linear-gradient(90deg, #280b0f, #480d16 55%, #78151c);
}
@media (max-width: 560px) {
  .mikhalich-world { background: var(--pair-top), #bd9c62; }
  .sanek-world {
    background: linear-gradient(to bottom, #bd9c62, transparent) top / 100% var(--pair-fade) no-repeat,
      var(--pair-bottom), #d4d3c5;
  }
}

.character-details .original-video-button {
  display: flex;
  width: min(100%, 285px);
  margin: 0 auto 28px;
  background: #3c2b17;
  color: #fff6e2;
}
.character-details .original-video-button:hover { background: #513c22; }
.sanek-world .original-video-button { background: #323b38; }
.sanek-world .original-video-button:hover { background: #43514c; }
.presenter-copy .original-video-button {
  width: auto;
  margin-top: 0;
  padding-inline: 24px;
}
