:root {
  --deep-sea: #071923;
  --night-water: #0d2b35;
  --raised-water: #143943;
  --paper: #f3ead5;
  --paper-deep: #e7dbc1;
  --amber: #f0b44a;
  --amber-pale: #ffd889;
  --kelp: #367f72;
  --coral: #e66d5b;
  --ink: #10272d;
  --ink-soft: #40575a;
  --mist: #b7c5bf;
  --line-dark: rgba(243, 234, 213, .17);
  --line-light: rgba(16, 39, 45, .18);
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Arial Narrow", "Aptos Narrow", Arial, sans-serif;
  --space: 8px;
  --max: 1380px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--deep-sea); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.55; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
button, input { font: inherit; }
button { color: inherit; }
:focus-visible { outline: 3px solid var(--coral); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 999; left: 16px; top: 12px; padding: 12px 18px; background: var(--amber); color: var(--deep-sea); transform: translateY(-150%); font-weight: 700; }
.skip-link:focus { transform: translateY(0); }

.site-header { height: 88px; padding: 0 max(28px, calc((100vw - var(--max))/2)); display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 20; color: var(--paper); background: var(--deep-sea); border-bottom: 1px solid var(--line-dark); }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; line-height: 1; letter-spacing: .08em; }
.brand b { display: block; font-size: 18px; letter-spacing: .16em; }
.brand small { display: block; margin-top: 6px; color: var(--mist); font-size: 8px; letter-spacing: .22em; }
.brand-mark { position: relative; width: 38px; height: 38px; border: 1px solid rgba(240,180,74,.55); border-radius: 50%; display: grid; place-items: center; overflow: hidden; }
.brand-mark::before { content: ""; width: 4px; height: 18px; border-radius: 2px 2px 0 0; background: var(--paper); box-shadow: 0 11px 0 -1px var(--amber); }
.brand-mark::after { content: ""; position: absolute; top: 9px; left: 19px; width: 22px; height: 7px; background: linear-gradient(90deg, rgba(240,180,74,.9), transparent); clip-path: polygon(0 30%,100% 0,100% 100%,0 70%); }
.brand-mark i { position: absolute; inset: 4px; border: 1px dashed rgba(243,234,213,.22); border-radius: 50%; }
.main-nav, .legal-nav { display: flex; align-items: center; gap: 30px; font-size: 13px; text-transform: uppercase; letter-spacing: .12em; }
.main-nav a, .legal-nav a { text-decoration: none; }
.main-nav a:hover, .legal-nav a:hover { color: var(--amber); }
.nav-cta { border: 1px solid var(--amber); border-radius: 50%; padding: 16px 24px; }
.nav-toggle { display: none; border: 0; background: transparent; width: 44px; height: 44px; padding: 10px; }
.nav-toggle > span:not(.sr-only) { display: block; height: 1px; margin: 6px 0; background: var(--paper); }

.hero { min-height: calc(100vh - 88px); position: relative; display: grid; grid-template-columns: 55% 45%; background: var(--deep-sea); color: var(--paper); overflow: hidden; }
.hero::after, .navy-section::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .15; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.hero-image-wrap { height: 100%; min-height: 660px; overflow: hidden; position: relative; }
.hero-image-wrap::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 55%, var(--deep-sea) 100%), linear-gradient(0deg, var(--deep-sea), transparent 24%); }
.hero-image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: 57% 50%; filter: saturate(.88) contrast(1.05); }
.hero-copy { position: relative; z-index: 3; align-self: center; padding: 72px clamp(36px, 6vw, 106px) 72px 8%; margin-left: -7%; }
.eyebrow, .kicker, .tag { text-transform: uppercase; letter-spacing: .18em; font-size: 11px; font-weight: 700; }
.eyebrow { color: var(--mist); }
.eyebrow span { color: var(--amber); }
.hero h1 { margin: 24px 0; font: normal clamp(54px, 6.2vw, 108px)/.86 var(--serif); letter-spacing: -.055em; }
.hero h1 em { color: var(--amber-pale); font-weight: normal; }
.hero-lead { max-width: 560px; font: 20px/1.55 var(--serif); color: #dce4dd; }
.hero-facts { display: flex; gap: 28px; margin: 30px 0 34px; padding: 20px 0; border-block: 1px solid var(--line-dark); }
.hero-facts span { font-size: 13px; }
.hero-facts small { display: block; margin-bottom: 5px; color: var(--mist); text-transform: uppercase; letter-spacing: .15em; font-size: 9px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; min-width: 220px; padding: 15px 18px; border: 1px solid currentColor; text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 700; text-decoration: none; background: transparent; cursor: pointer; transition: .2s ease; }
.button-light { color: var(--paper); }
.button-light:hover { color: var(--deep-sea); background: var(--amber); border-color: var(--amber); }
.button-dark { color: var(--deep-sea); }
.button-dark:hover { background: var(--deep-sea); color: var(--paper); }
.scroll-cue { position: absolute; z-index: 4; left: 26px; bottom: 30px; display: flex; align-items: center; gap: 12px; color: var(--mist); text-transform: uppercase; font-size: 8px; letter-spacing: .2em; transform: rotate(-90deg); transform-origin: left bottom; }
.scroll-cue i { display: block; width: 45px; height: 1px; background: var(--amber); }
.hero-beam { position: absolute; z-index: 2; right: 10%; top: 12%; width: 55%; height: 38%; transform: rotate(-9deg); transform-origin: right; background: linear-gradient(90deg, transparent, rgba(240,180,74,.08)); clip-path: polygon(0 45%,100% 0,100% 100%,0 55%); pointer-events: none; }

.section { position: relative; padding: clamp(80px, 9vw, 144px) max(28px, calc((100vw - var(--max))/2)); }
.cream-section { background: var(--paper); }
.section-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 80px; align-items: end; margin-bottom: 62px; }
.section-heading h2, .interview-copy h2, .calendar-intro h2, .gem-copy h2, .newsletter-section h2 { margin: 10px 0 0; font: normal clamp(48px, 6vw, 88px)/.95 var(--serif); letter-spacing: -.045em; }
.section-heading > p { max-width: 490px; margin: 0; color: var(--ink-soft); font: 17px/1.55 var(--serif); }
.kicker { margin: 0; color: var(--coral); }
.filter-row { display: flex; gap: 4px; margin-bottom: 42px; }
.filter { border: 1px solid var(--line-light); background: transparent; padding: 10px 18px; border-radius: 99px; cursor: pointer; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.filter:hover, .filter.is-active { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.game-orbits { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 3vw, 46px); }
.orbit-card { aspect-ratio: 1/1; border-radius: 50%; padding: 11% 12%; border: 1px solid var(--line-light); display: flex; flex-direction: column; justify-content: center; position: relative; transition: transform .25s, opacity .2s; }
.orbit-card::before, .orbit-card::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.orbit-card::before { inset: 9px; border: 1px dashed rgba(16,39,45,.12); }
.orbit-card::after { width: 8px; height: 8px; top: 13%; left: 18%; background: var(--dot); box-shadow: 0 0 0 6px color-mix(in srgb, var(--dot), transparent 78%); }
.orbit-card:hover { transform: translateY(-8px) rotate(-1deg); }
.orbit-card[hidden] { display: none; }
.orbit-card.coral { --dot: var(--coral); background: #efcfbd; }
.orbit-card.green { --dot: var(--kelp); background: #c8d9c8; }
.orbit-card.amber { --dot: var(--amber); background: #ead7a7; }
.orbit-index { position: absolute; top: 12%; right: 20%; font-size: 9px; letter-spacing: .18em; }
.orbit-icon { font: 36px var(--serif); }
.orbit-card .tag { margin: 8px 0 6px; color: var(--ink-soft); font-size: 9px; }
.orbit-card h3 { margin: 0; font: normal clamp(26px, 2.5vw, 40px)/1 var(--serif); }
.orbit-card > p:not(.tag) { margin: 14px 0; font-size: clamp(12px, 1vw, 15px); line-height: 1.45; }
.orbit-card footer { display: flex; justify-content: space-between; padding-top: 13px; border-top: 1px solid var(--line-light); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }

.navy-section { background: var(--night-water); color: var(--paper); overflow: hidden; }
.light-heading > p { color: var(--mist); }
.demo-list { border-top: 1px solid var(--line-dark); position: relative; z-index: 2; }
.demo-row { display: grid; grid-template-columns: 55px 1fr 1.4fr .75fr 54px; align-items: center; gap: 26px; padding: 30px 0; border-bottom: 1px solid var(--line-dark); }
.demo-number { color: var(--amber); font: italic 21px var(--serif); }
.demo-row h3 { margin: 3px 0 0; font: normal 30px var(--serif); }
.demo-row .tag { margin: 0; color: var(--kelp); font-size: 9px; }
.demo-row > p { color: #c8d2cd; font-family: var(--serif); }
.demo-meta { font-size: 11px; line-height: 1.9; text-transform: uppercase; letter-spacing: .08em; }
.demo-meta span, .demo-meta strong { display: block; }
.demo-meta strong { color: var(--amber-pale); font-weight: normal; }
.circle-action { width: 48px; height: 48px; border: 1px solid rgba(240,180,74,.55); border-radius: 50%; background: transparent; color: var(--amber); cursor: pointer; font-size: 20px; transition: .2s; }
.circle-action:hover { background: var(--amber); color: var(--deep-sea); transform: rotate(45deg); }
.editor-note { max-width: 760px; margin: 42px 0 0 auto; padding-left: 26px; border-left: 2px solid var(--coral); color: var(--mist); font: italic 17px/1.6 var(--serif); }
.editor-note span { display: block; color: var(--coral); font: bold 9px var(--sans); text-transform: uppercase; letter-spacing: .16em; }

.interview-section { padding-left: 0; padding-right: max(28px, calc((100vw - var(--max))/2)); background: var(--paper-deep); display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(400px, .88fr); gap: clamp(50px, 7vw, 110px); align-items: center; }
.interview-visual { position: relative; }
.interview-visual::before { content: ""; position: absolute; z-index: 1; inset: -18px 18px 18px -18px; border: 1px solid rgba(240,180,74,.6); pointer-events: none; }
.interview-visual img { width: 100%; height: min(690px, 65vw); object-fit: cover; }
.photo-caption { position: absolute; bottom: 0; right: 0; background: var(--deep-sea); color: var(--paper); padding: 11px 18px; font-size: 9px; text-transform: uppercase; letter-spacing: .15em; }
.interview-copy h2 { font-size: clamp(44px, 5vw, 74px); }
.standfirst { margin: 28px 0; font: 20px/1.55 var(--serif); color: var(--ink-soft); }
.qa { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; font-size: 14px; }
.qa strong { color: var(--coral); text-transform: uppercase; letter-spacing: .08em; font-size: 10px; }
.profile-facts { margin: 28px 0 0; padding-top: 22px; border-top: 1px solid var(--line-light); display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.profile-facts dt { font-size: 9px; text-transform: uppercase; letter-spacing: .12em; color: var(--ink-soft); }
.profile-facts dd { margin: 3px 0 0; font-family: var(--serif); }

.mechanics-section { background: var(--paper); }
.compact-heading h2 { font-size: clamp(44px, 5vw, 72px); }
.mechanic-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line-light); }
.mechanic-grid article { min-height: 400px; padding: 42px clamp(24px, 3.5vw, 52px); border-right: 1px solid var(--line-light); position: relative; }
.mechanic-grid article:last-child { border-right: 0; }
.mechanic-grid article:nth-child(2) { background: var(--paper-deep); }
.mechanic-symbol { display: grid; place-items: center; width: 92px; height: 92px; border: 1px dashed var(--coral); border-radius: 50%; color: var(--coral); font: 46px var(--serif); margin-bottom: 64px; }
.mechanic-grid .tag { color: var(--kelp); }
.mechanic-grid h3 { font: normal 32px/1.1 var(--serif); }
.mechanic-grid p:last-child { color: var(--ink-soft); }

.calendar-section { background: var(--coral); display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(50px, 8vw, 130px); }
.calendar-intro { position: sticky; top: 40px; align-self: start; }
.calendar-intro .kicker { color: var(--deep-sea); }
.calendar-intro h2 { font-size: clamp(55px, 6vw, 88px); }
.calendar-intro > p:last-child { max-width: 350px; font: 19px var(--serif); }
.calendar-list { border-top: 1px solid rgba(7,25,35,.3); }
.calendar-list article { display: grid; grid-template-columns: 84px 1fr auto; gap: 30px; align-items: center; padding: 28px 0; border-bottom: 1px solid rgba(7,25,35,.3); }
.calendar-list time { width: 72px; height: 72px; border: 1px solid var(--deep-sea); border-radius: 50%; display: grid; place-content: center; text-align: center; }
.calendar-list time b { font: normal 28px/1 var(--serif); }
.calendar-list time span { font-size: 8px; letter-spacing: .2em; }
.calendar-list .tag { margin: 0; font-size: 9px; }
.calendar-list h3 { margin: 2px 0; font: normal 28px var(--serif); }
.calendar-list p:last-child { margin: 0; font-size: 13px; }
.status { border: 1px solid rgba(7,25,35,.45); border-radius: 99px; padding: 7px 12px; font-size: 9px; text-transform: uppercase; letter-spacing: .11em; white-space: nowrap; }

.hidden-gem-section { padding: 0; display: grid; grid-template-columns: 1fr 1fr; background: var(--deep-sea); color: var(--paper); }
.gem-copy { padding: clamp(70px, 9vw, 140px) clamp(36px, 8vw, 124px); }
.gem-copy h2 { font-size: clamp(45px, 5.4vw, 80px); }
.gem-copy h2 em { color: var(--amber-pale); font-weight: normal; }
.gem-lead { font: 19px/1.6 var(--serif); color: #d2dbd5; }
.gem-copy blockquote { margin: 34px 0; padding: 22px 0 22px 28px; border-left: 1px solid var(--amber); color: var(--amber-pale); font: italic 23px/1.4 var(--serif); }
.score-disc { float: left; margin: 0 24px 18px 0; width: 102px; height: 102px; border-radius: 50%; border: 1px dashed var(--amber); display: grid; grid-template-columns: 1fr auto; place-content: center; text-align: center; }
.score-disc span { grid-column: 1/3; font-size: 8px; text-transform: uppercase; letter-spacing: .15em; }
.score-disc strong { font: normal 39px var(--serif); }
.score-disc small { align-self: end; margin-bottom: 13px; }
.gem-meta { color: var(--mist); font-size: 12px; line-height: 1.8; }
.gem-verdict { clear: both; padding-top: 24px; border-top: 1px solid var(--line-dark); color: var(--mist); }
.gem-verdict strong { display: block; color: var(--coral); font-size: 9px; text-transform: uppercase; letter-spacing: .15em; }
.gem-image { position: relative; min-height: 780px; overflow: hidden; }
.gem-image img { width: 100%; height: 100%; object-fit: cover; }
.gem-image::after { content: ""; position: absolute; inset: 0; box-shadow: inset 40px 0 80px rgba(7,25,35,.45); }
.radar-lines { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; pointer-events: none; }
.radar-lines i { position: absolute; width: 38%; aspect-ratio: 1; border: 1px solid rgba(240,180,74,.35); border-radius: 50%; }
.radar-lines i:nth-child(2) { width: 58%; border-style: dashed; }
.radar-lines i:nth-child(3) { width: 82%; }

.newsletter-section { position: relative; overflow: hidden; padding: clamp(80px, 9vw, 130px) max(28px, calc((100vw - var(--max))/2)); background: var(--amber); display: grid; grid-template-columns: .25fr .75fr 1fr; gap: 50px; align-items: center; }
.newsletter-section h2 { font-size: clamp(48px, 5vw, 72px); }
.newsletter-section .kicker { color: var(--deep-sea); }
.newsletter-section > div > p:last-child { font: 18px var(--serif); }
.newsletter-beacon { width: 126px; height: 126px; border: 1px dashed var(--deep-sea); border-radius: 50%; display: grid; place-items: center; position: relative; animation: slow-turn 16s linear infinite; }
.newsletter-beacon span { width: 14px; height: 40px; background: var(--deep-sea); clip-path: polygon(30% 0,70% 0,100% 100%,0 100%); }
.newsletter-beacon i { position: absolute; width: 190px; height: 48px; left: 60px; background: rgba(243,234,213,.48); clip-path: polygon(0 40%,100% 0,100% 100%,0 60%); }
@keyframes slow-turn { to { transform: rotate(360deg); } }
.newsletter-form label { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .15em; margin-bottom: 8px; }
.newsletter-form > div { display: flex; border-bottom: 2px solid var(--deep-sea); }
.newsletter-form input { min-width: 0; flex: 1; border: 0; padding: 15px 4px; background: transparent; color: var(--deep-sea); font: 24px var(--serif); }
.newsletter-form input::placeholder { color: rgba(7,25,35,.55); }
.newsletter-form button { border: 0; background: var(--deep-sea); color: var(--paper); padding: 12px 20px; text-transform: uppercase; letter-spacing: .1em; font-size: 10px; cursor: pointer; }
.newsletter-form small { display: block; margin-top: 12px; font-size: 10px; }
.form-message { min-height: 23px; margin: 8px 0 0; font-weight: 700; }

.site-footer { padding: 54px max(28px, calc((100vw - var(--max))/2)); background: #041117; color: var(--mist); display: grid; grid-template-columns: 1fr 1fr 1.2fr .8fr; gap: 40px; align-items: start; font-size: 12px; }
.footer-brand { color: var(--paper); }
.site-footer nav { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; }
.site-footer nav a { text-decoration: none; }
.site-footer nav a:hover { color: var(--amber); }
.copyright { text-align: right; }

.note-dialog { width: min(520px, calc(100% - 32px)); padding: 42px; border: 1px solid var(--amber); color: var(--ink); background: var(--paper); box-shadow: 0 30px 90px rgba(0,0,0,.45); }
.note-dialog::backdrop { background: rgba(3,15,21,.82); backdrop-filter: blur(5px); }
.note-dialog > button { position: absolute; right: 15px; top: 10px; border: 0; background: transparent; font-size: 28px; cursor: pointer; }
.note-dialog h2 { font: 42px var(--serif); margin: 5px 0 16px; }

.legal-page { background: var(--paper); }
.legal-main > header { padding: clamp(70px, 9vw, 130px) max(28px, calc((100vw - var(--max))/2)); background: var(--night-water); color: var(--paper); }
.legal-main > header h1 { margin: 15px 0 25px; font: normal clamp(58px, 8vw, 116px)/.86 var(--serif); letter-spacing: -.055em; color: var(--amber-pale); }
.legal-main > header > p:last-child { color: var(--mist); }
.legal-layout { max-width: var(--max); margin: 0 auto; padding: 80px 28px 120px; display: grid; grid-template-columns: 240px 1fr; gap: clamp(55px, 9vw, 140px); }
.legal-layout aside { position: sticky; top: 30px; align-self: start; display: grid; gap: 12px; padding: 24px 0; border-block: 1px solid var(--line-light); }
.legal-layout aside strong { margin-bottom: 10px; color: var(--coral); font-size: 10px; text-transform: uppercase; letter-spacing: .15em; }
.legal-layout aside a { text-decoration: none; font-size: 12px; }
.legal-content { max-width: 800px; }
.legal-content section { scroll-margin-top: 30px; padding: 0 0 55px 74px; position: relative; border-bottom: 1px solid var(--line-light); margin-bottom: 55px; }
.legal-content section > span { position: absolute; left: 0; top: 3px; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--coral); border-radius: 50%; color: var(--coral); font-size: 9px; }
.legal-content h2 { margin: 0 0 18px; font: normal 39px var(--serif); }
.legal-content p { color: var(--ink-soft); font-size: 16px; line-height: 1.75; }
.legal-content a { color: #176356; }
.legal-footer { grid-template-columns: 1fr auto; }
.legal-footer nav { display: flex; }

@media (max-width: 1050px) {
  .hero { grid-template-columns: minmax(0, 1fr); }
  .hero-image-wrap { position: absolute; inset: 0; min-height: 0; opacity: .55; }
  .hero-image-wrap::after { background: linear-gradient(90deg, rgba(7,25,35,.2), var(--deep-sea)), linear-gradient(0deg, var(--deep-sea), transparent 65%); }
  .hero-copy { margin: 0; padding: 100px 9vw; max-width: 760px; }
  .game-orbits { grid-template-columns: 1fr 1fr; }
  .orbit-card:nth-child(3) { grid-column: 1/3; width: 50%; margin: 0 auto; }
  .demo-row { grid-template-columns: 45px 1fr 1fr 48px; }
  .demo-row > p { grid-column: 2/4; margin: 0; }
  .demo-meta { grid-column: 2/4; }
  .demo-row .circle-action { grid-column: 4; grid-row: 1/4; }
  .interview-section { grid-template-columns: 1fr; padding-right: 0; }
  .interview-copy { padding: 0 9vw; }
  .hidden-gem-section { grid-template-columns: 1fr; }
  .gem-image { min-height: 600px; }
  .newsletter-section { grid-template-columns: 130px 1fr; }
  .newsletter-form { grid-column: 1/3; }
  .site-footer { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .site-header { height: 74px; padding-inline: 20px; }
  .nav-toggle { display: grid; position: absolute; right: 20px; top: 20px; place-items: center; width: 60px; height: 34px; padding: 0; border: 1px solid rgba(240,180,74,.65); border-radius: 99px; color: var(--amber); }
  .nav-toggle::after { content: "MENÜ"; font-size: 9px; font-weight: 700; letter-spacing: .14em; }
  .nav-toggle > span:not(.sr-only) { display: none; }
  .main-nav { display: none; position: absolute; left: 0; right: 0; top: 74px; padding: 25px 20px 35px; background: var(--deep-sea); border-bottom: 1px solid var(--line-dark); flex-direction: column; align-items: stretch; }
  .main-nav.is-open { display: flex; }
  .main-nav .nav-cta { border-radius: 0; text-align: center; }
  .legal-nav { gap: 15px; font-size: 9px; }
  .legal-nav a:first-child { display: none; }
  .hero { width: 100vw; min-height: 740px; }
  .hero-copy { width: 100vw; max-width: 100vw; min-width: 0; padding: 82px 24px 70px; overflow: hidden; }
  .hero h1 { font-size: clamp(45px, 13vw, 58px); }
  .hero-lead { width: calc(100vw - 48px); max-width: none; font-size: 17px; overflow-wrap: break-word; }
  .hero-facts { gap: 16px; flex-wrap: wrap; }
  .section { padding: 78px 20px; }
  .section-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 38px; }
  .section-heading h2, .interview-copy h2, .calendar-intro h2, .gem-copy h2 { font-size: clamp(44px, 13vw, 66px); }
  .filter-row { overflow-x: auto; }
  .game-orbits { display: block; }
  .orbit-card, .orbit-card:nth-child(3) { width: min(100%, 430px); margin: 0 auto 22px; }
  .demo-row { grid-template-columns: 35px 1fr 46px; gap: 12px; }
  .demo-row > p, .demo-meta { grid-column: 2/3; }
  .demo-row .circle-action { grid-column: 3; }
  .interview-section { padding: 72px 0; }
  .interview-visual img { height: 480px; }
  .interview-copy { padding: 0 20px; }
  .qa, .profile-facts { grid-template-columns: 1fr; }
  .mechanic-grid { grid-template-columns: 1fr; }
  .mechanic-grid article { border-right: 0; border-bottom: 1px solid var(--line-light); min-height: 0; }
  .mechanic-symbol { margin-bottom: 35px; }
  .calendar-section { grid-template-columns: 1fr; }
  .calendar-intro { position: static; }
  .calendar-list article { grid-template-columns: 64px 1fr; gap: 16px; }
  .calendar-list time { width: 58px; height: 58px; }
  .calendar-list .status { grid-column: 2; justify-self: start; }
  .gem-copy { padding: 76px 20px; }
  .gem-image { min-height: 470px; }
  .newsletter-section { grid-template-columns: 1fr; padding-inline: 20px; }
  .newsletter-beacon { display: none; }
  .newsletter-form { grid-column: auto; }
  .newsletter-form > div { display: block; border: 0; }
  .newsletter-form input { width: 100%; border-bottom: 2px solid var(--deep-sea); }
  .newsletter-form button { width: 100%; margin-top: 10px; padding: 16px; }
  .site-footer { grid-template-columns: 1fr; padding-inline: 20px; }
  .copyright { text-align: left; }
  .legal-layout { grid-template-columns: 1fr; padding: 55px 20px 80px; }
  .legal-layout aside { position: static; }
  .legal-content section { padding-left: 0; padding-top: 58px; }
  .legal-content section > span { top: 0; }
  .legal-footer { grid-template-columns: 1fr; }
}

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