:root{
  --ink:#151a38;
  --ink2:#31395c;
  --muted:#6d7390;
  --paper:#f4eddd;
  --paper2:#e7d8be;
  --cream:#fff8e8;
  --line:rgba(21,26,56,.16);
  --green:#137e8c;
  --green2:#21a3a8;
  --gold:#e1a93a;
  --red:#df5d4f;
  --night:#081235;
  --night2:#17214f;
  --shadow:0 24px 70px rgba(8,18,53,.24);
  --font:"Bricolage Grotesque", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{min-height:100%}
body{
  margin:0;
  color:var(--ink);
  font-family:var(--font);
  background:
    linear-gradient(90deg, rgba(21,26,56,.035) 1px, transparent 1px) 0 0/46px 46px,
    linear-gradient(180deg, var(--paper), #efe0c6 56%, #dcc9a8);
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
::selection{background:rgba(200,75,63,.22)}

.hatch{
  min-height:84px;
  display:grid;
  grid-template-columns:minmax(24px,1fr) auto auto minmax(24px,1fr);
  gap:22px;
  align-items:center;
  padding:18px clamp(18px,4vw,56px);
  background:#f7ecd4;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:20;
}
.hatch__rail{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(21,26,56,.34));
}
.hatch__rail--mirror{background:linear-gradient(90deg, rgba(21,26,56,.34), transparent)}
.hatch__glyph,.runway__glyph{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:lowercase;
  white-space:nowrap;
}
.hatch__mark{
  width:40px;
  height:40px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:var(--mono);
  font-weight:600;
  color:var(--cream);
  background:var(--green);
  border:2px solid rgba(21,26,56,.18);
  box-shadow:inset 0 -8px 18px rgba(0,0,0,.12);
}
.hatch__nav{
  display:flex;
  gap:8px;
  align-items:center;
  font-family:var(--mono);
  font-size:11px;
  color:var(--muted);
}
.hatch__nav a{
  padding:9px 10px;
  border:1px solid transparent;
}
.hatch__nav a:hover{
  color:var(--ink);
  border-color:var(--line);
  background:rgba(255,255,255,.3);
}

.frieze{
  min-height:calc(100vh - 84px);
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.82fr);
  gap:clamp(26px,4vw,62px);
  align-items:center;
  padding:clamp(56px,8vw,112px) clamp(18px,6vw,88px) 74px;
  isolation:isolate;
  background:
    linear-gradient(rgba(8,18,53,.12), rgba(8,18,53,.76)),
    radial-gradient(circle at 82% 24%, rgba(223,93,79,.28), transparent 26%),
    radial-gradient(circle at 18% 82%, rgba(33,163,168,.22), transparent 30%),
    linear-gradient(135deg, #17214f, #0b1538 58%, #080d25);
  color:var(--cream);
  overflow:hidden;
}
.frieze:before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,248,232,.22);
  pointer-events:none;
}
.frieze__veil{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,248,232,.05) 1px, transparent 1px) 0 0/72px 72px,
    linear-gradient(rgba(255,248,232,.05) 1px, transparent 1px) 0 0/72px 72px;
  opacity:.65;
  z-index:-1;
}
.frieze__plate{
  max-width:820px;
  position:relative;
  z-index:1;
}
.frieze__pretext,.eyebrow{
  margin:0;
  font-family:var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:12px;
  font-weight:600;
  color:rgba(255,248,232,.72);
}
.frieze__pin{color:#f9735b;font-size:10px;margin-right:8px}
.frieze__shout{
  margin:18px 0 22px;
  font-size:clamp(48px,8vw,112px);
  line-height:.9;
  letter-spacing:0;
  max-width:940px;
}
.frieze__shout em{
  color:#f4b64a;
  font-style:italic;
  font-weight:800;
}
.frieze__murmur{
  max-width:700px;
  margin:0;
  font-size:clamp(17px,2vw,22px);
  line-height:1.56;
  color:rgba(255,248,232,.8);
}
.frieze__tickets,.pass__ctas{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.ticket,.pass__cta,.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:13px 18px;
  border-radius:3px;
  font-weight:800;
  border:1px solid currentColor;
  transition:transform .18s ease, background .18s ease, color .18s ease;
}
.ticket:hover,.pass__cta:hover,.btn:hover{transform:translateY(-2px)}
.ticket--primary,.pass__cta--primary,.btn.primary{
  color:#101735;
  background:#f4b64a;
  border-color:#f4b64a;
}
.ticket--ghost,.pass__cta--ghost,.btn.ghost{
  color:var(--cream);
  background:rgba(255,248,232,.08);
  border-color:rgba(255,248,232,.4);
}
.frieze__strip{
  list-style:none;
  padding:0;
  margin:30px 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  font-family:var(--mono);
  font-size:12px;
  color:rgba(255,248,232,.78);
}
.frieze__strip li{
  display:flex;
  gap:8px;
  align-items:center;
  padding:9px 11px;
  background:rgba(255,248,232,.08);
  border:1px solid rgba(255,248,232,.22);
}
.frieze__strip span{
  color:#f4b64a;
}
.frieze__corner{
  position:absolute;
  right:28px;
  bottom:24px;
  display:flex;
  gap:18px;
  font-family:var(--mono);
  font-size:11px;
  color:rgba(255,248,232,.5);
  text-transform:uppercase;
}
.frieze__artifact{
  margin:0;
  min-height:460px;
  position:relative;
  transform:rotate(-2deg);
}
.artifact__paper{
  position:absolute;
  background:linear-gradient(180deg,#fff8e8,#e8d8b8);
  color:var(--ink);
  border:1px solid rgba(21,26,56,.24);
  box-shadow:var(--shadow);
}
.artifact__paper:before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px dashed rgba(21,26,56,.22);
  pointer-events:none;
}
.artifact__paper--main{
  inset:36px 20px 28px 6px;
  padding:48px 34px 34px;
}
.artifact__stamp{
  display:inline-flex;
  padding:9px 13px;
  border:2px solid var(--red);
  color:var(--red);
  font-family:var(--mono);
  text-transform:uppercase;
  transform:rotate(-7deg);
}
.artifact__screen{
  margin-top:40px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.artifact__screen span{
  height:56px;
  background:rgba(13,92,79,.12);
  border:1px solid rgba(13,92,79,.22);
}
.artifact__bars{
  height:120px;
  display:flex;
  align-items:end;
  gap:12px;
  margin-top:24px;
  border-bottom:2px solid rgba(21,26,56,.18);
}
.artifact__bars i{
  flex:1;
  background:linear-gradient(180deg,#e1a93a,var(--green2));
}
.slot-face{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.slot-face span{
  min-height:96px;
  display:grid !important;
  place-items:center;
  position:relative;
  z-index:1;
  font-size:54px;
  font-weight:800;
  color:var(--green);
  background:#fffaf0;
  border:1px solid rgba(21,26,56,.18);
}
.artifact__paper--slip{
  right:0;
  top:0;
  width:220px;
  padding:28px 24px 22px;
  transform:rotate(7deg);
}
.artifact__paper--log{
  left:0;
  bottom:0;
  width:250px;
  padding:28px 24px 22px;
  transform:rotate(-5deg);
}
.artifact__paper strong,.artifact__paper span{
  display:block;
  position:relative;
  z-index:1;
}
.artifact__paper strong{
  font-family:var(--mono);
  font-size:12px;
  text-transform:uppercase;
  margin-bottom:12px;
}
.artifact__paper span{
  color:var(--muted);
  line-height:1.65;
}

.advisory{
  background:#df5d4f;
  color:#fff7e7;
}
.advisory__inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  max-width:1200px;
  margin:0 auto;
  padding:18px clamp(18px,4vw,36px);
}
.advisory__mark{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border:2px solid currentColor;
  border-radius:50%;
  font-family:var(--mono);
  font-weight:600;
}
.advisory__line{margin:0;line-height:1.55}
.advisory__door{
  font-family:var(--mono);
  font-size:12px;
  text-transform:uppercase;
  white-space:nowrap;
  border-bottom:1px solid currentColor;
}

.section-pad{
  padding:clamp(64px,9vw,116px) clamp(18px,6vw,88px);
}
.dispatch,.lexicon,.pass,.ledger{
  background:var(--paper);
}
.dispatch__inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(28px,5vw,72px);
}
.eyebrow{color:var(--green)}
.eyebrow--ink{color:var(--muted)}
.eyebrow--invert{color:rgba(255,248,232,.72)}
.section-title,.tableau__h,.pass__h,.ledger__h,.anthem__h{
  margin:12px 0 0;
  font-size:clamp(34px,5.5vw,74px);
  line-height:.96;
  letter-spacing:0;
}
.section-lead,.tableau__lead{
  color:var(--muted);
  font-size:18px;
  line-height:1.7;
  max-width:720px;
}
.dispatch__copy p{
  margin:0 0 20px;
  color:var(--ink2);
  font-size:20px;
  line-height:1.65;
}
.dispatch__stub{
  margin:34px 0 0;
  padding:18px;
  background:#fff5df;
  border:1px solid var(--line);
  max-width:360px;
  transform:rotate(2deg);
}
.stub__lines span{
  display:block;
  height:12px;
  margin:12px 0;
  background:linear-gradient(90deg, rgba(13,92,79,.28), transparent);
}
.dispatch__stub figcaption{
  font-family:var(--mono);
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
}

.ritual{
  background:#e4d4b6;
}
.section-head{
  max-width:1180px;
  margin:0 auto 28px;
}
.ritual__steps{
  max-width:1180px;
  margin:0 auto;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(21,26,56,.22);
  border-left:1px solid rgba(21,26,56,.22);
}
.ritual__step{
  min-height:300px;
  padding:26px;
  border-right:1px solid rgba(21,26,56,.22);
  border-bottom:1px solid rgba(21,26,56,.22);
  background:rgba(255,248,232,.28);
}
.ritual__num{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--ink);
  color:var(--paper);
  font-family:var(--mono);
}
.ritual__step h3,.caveat__tile h3{
  font-size:26px;
  line-height:1.05;
  margin:30px 0 12px;
}
.ritual__step p,.caveat__tile p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

.tableau{
  background:linear-gradient(145deg, #0b1538, #184b7a);
  color:var(--cream);
}
.game-hero{
  min-height:calc(100vh - 84px);
  background:
    linear-gradient(90deg, rgba(255,248,232,.04) 1px, transparent 1px) 0 0/56px 56px,
    linear-gradient(145deg, #0b1538, #184b7a);
  color:var(--cream);
}
.tableau__inner{
  max-width:1080px;
  margin:0 auto;
}
.tableau__lead{color:rgba(255,248,232,.72)}
.tableau__board{
  margin-top:34px;
  padding:clamp(18px,3vw,34px);
  border:1px solid rgba(255,248,232,.24);
  background:
    radial-gradient(700px 240px at 50% 0%, rgba(242,189,99,.13), transparent 64%),
    rgba(255,248,232,.08);
}
.game-board{
  display:grid;
  gap:18px;
}
.game-topline{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.game-meter{
  padding:14px;
  border:1px solid rgba(255,248,232,.18);
  background:#07102d;
}
.game-meter span,.bet-window span{
  display:block;
  margin-bottom:6px;
  font-family:var(--mono);
  font-size:11px;
  text-transform:uppercase;
  color:rgba(255,248,232,.52);
}
.game-meter strong,.bet-window strong{
  display:block;
  font-size:clamp(22px,3vw,34px);
  line-height:1;
  color:#f4b64a;
}
.game-meter--notice strong{
  color:#f9735b;
}
.slot-machine{
  position:relative;
  padding:18px;
  border:1px solid rgba(255,248,232,.22);
  background:
    linear-gradient(90deg, rgba(255,248,232,.04) 1px, transparent 1px) 0 0/38px 38px,
    linear-gradient(180deg, #17214f, #081235);
  box-shadow:inset 0 0 0 8px rgba(255,248,232,.035);
  overflow:hidden;
}
.slot-machine__header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  font-family:var(--mono);
  font-size:12px;
  text-transform:uppercase;
  color:rgba(255,248,232,.62);
}
.reels{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
}
.reel{
  display:grid;
  grid-template-rows:repeat(3, minmax(84px, 1fr));
  gap:10px;
  min-width:0;
}
.reel span{
  min-height:84px;
  display:grid;
  place-items:center;
  font-size:clamp(34px,5vw,60px);
  font-weight:800;
  color:#f4b64a;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,248,232,.13), transparent 34%),
    #07102d;
  border:1px solid rgba(255,248,232,.2);
  box-shadow:inset 0 0 0 8px rgba(255,248,232,.035);
}
.reel span:nth-child(2){
  border-color:rgba(242,189,99,.42);
}
.reel.is-spinning span{
  animation:slotPulse .14s linear infinite;
  filter:blur(.7px);
}
.reel.is-stopping span{
  animation:slotStop .28s ease-out;
}
.reels.has-win .reel span:nth-child(2){
  background:
    radial-gradient(circle at 50% 40%, rgba(242,189,99,.22), transparent 50%),
    #102655;
  box-shadow:0 0 26px rgba(242,189,99,.2), inset 0 0 0 8px rgba(255,248,232,.035);
}
.win-line{
  position:absolute;
  left:18px;
  right:18px;
  top:50%;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(255,118,104,.85), transparent);
  pointer-events:none;
}
.game-controls{
  display:grid;
  grid-template-columns:56px minmax(120px,180px) 56px minmax(180px,1fr);
  gap:10px;
}
.control-btn,.spin-btn{
  min-height:58px;
  border:1px solid rgba(255,248,232,.28);
  cursor:pointer;
  font-weight:800;
}
.control-btn{
  color:var(--cream);
  background:rgba(255,248,232,.08);
  font-size:26px;
}
.bet-window{
  display:grid;
  place-items:center;
  text-align:center;
  border:1px solid rgba(255,248,232,.18);
  background:#07102d;
}
.spin-btn{
  color:#101735;
  background:#f4b64a;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.spin-btn:disabled{
  cursor:wait;
  opacity:.7;
}
.paytable{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.paytable div{
  padding:12px;
  border:1px dashed rgba(255,248,232,.2);
  background:rgba(255,248,232,.045);
}
.paytable strong,.paytable span{
  display:block;
}
.paytable strong{
  margin-bottom:5px;
  color:var(--cream);
}
.paytable span{
  font-family:var(--mono);
  font-size:12px;
  color:rgba(255,248,232,.58);
  text-transform:uppercase;
}
.tableau__targets{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.tableau__target{
  min-height:64px;
  color:var(--cream);
  background:rgba(255,248,232,.08);
  border:1px solid rgba(255,248,232,.28);
  cursor:pointer;
  font-weight:800;
}
.tableau__target:hover,.tableau__target.is-stamped{
  background:#f4b64a;
  color:#101735;
}
.tableau__readout{
  min-height:210px;
  background:#07102d;
  border:1px solid rgba(255,248,232,.16);
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

@keyframes slotPulse{
  0%{transform:translateY(-2px)}
  100%{transform:translateY(2px)}
}
@keyframes slotStop{
  0%{transform:translateY(-10px) scale(.98)}
  70%{transform:translateY(4px) scale(1.02)}
  100%{transform:translateY(0) scale(1)}
}
.tableau__readout-line{
  display:grid;
  grid-template-columns:auto minmax(120px,.7fr) minmax(160px,1fr) minmax(180px,1.1fr);
  gap:12px;
  align-items:start;
  color:rgba(255,248,232,.86);
  padding:12px;
  border:1px solid rgba(255,248,232,.1);
  background:rgba(255,248,232,.045);
}
.tableau__readout-line--placeholder{
  grid-template-columns:auto 1fr;
  color:rgba(255,248,232,.54);
}
.tableau__dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#f4b64a;
  margin-top:7px;
}
.tableau__note,.tableau__action{color:rgba(255,248,232,.7)}
.tableau__city{
  font-weight:800;
  color:#f4b64a;
}
.tableau__small{
  margin:14px 0 0;
  color:rgba(255,248,232,.56);
  font-family:var(--mono);
  font-size:12px;
  line-height:1.6;
}

.caveat{
  background:#efe0c3;
}
.caveat__head{
  display:grid;
  grid-template-columns:.62fr 1fr;
  gap:24px;
  align-items:end;
}
.caveat__head .eyebrow{grid-column:1/-1}
.caveat__grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:minmax(230px,auto);
  gap:14px;
}
.caveat__tile{
  position:relative;
  padding:26px;
  border:1px solid rgba(21,26,56,.22);
  background:#fbf2dc;
  overflow:hidden;
}
.caveat__tile--wide{grid-column:span 2}
.caveat__tile--tall{grid-row:span 2;background:#17214f;color:var(--cream)}
.caveat__tile--tall p{color:rgba(255,248,232,.72)}
.caveat__no{
  font-family:var(--mono);
  font-size:11px;
  color:var(--red);
  text-transform:uppercase;
}
.tile__mini-art{
  position:absolute;
  left:26px;
  right:26px;
  bottom:26px;
  display:grid;
  gap:10px;
}
.tile__mini-art span{
  height:18px;
  background:rgba(255,248,232,.15);
  border:1px solid rgba(255,248,232,.18);
}

.lexicon__inner,.pass__inner,.ledger__inner,.anthem__inner{
  max-width:1080px;
  margin:0 auto;
}
.lexicon__entry{
  margin-top:20px;
  border-top:4px solid var(--ink);
  border-bottom:1px solid var(--line);
  padding:28px 0 8px;
}
.lexicon__word{
  margin:0;
  font-size:clamp(44px,8vw,106px);
  line-height:.9;
}
.lexicon__pron,.lexicon__pos,.lexicon__source{
  display:block;
  font-family:var(--mono);
  color:var(--muted);
  margin-top:8px;
  font-size:12px;
}
.lexicon__defs{
  list-style:none;
  padding:0;
  margin:34px 0 0;
}
.lexicon__defs li{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:16px;
  border-top:1px solid var(--line);
  padding:20px 0;
}
.lexicon__defs span{
  font-family:var(--mono);
  color:var(--red);
}
.lexicon__defs p{
  margin:0;
  font-size:20px;
  line-height:1.55;
}

.pass{
  background:#dfc895;
}
.pass__card{
  margin-top:28px;
  display:grid;
  grid-template-columns:.9fr 110px 1.1fr;
  min-height:360px;
  background:#fff3d8;
  border:1px solid rgba(21,26,56,.24);
  box-shadow:var(--shadow);
}
.pass__art{
  position:relative;
  min-height:320px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px) 0 0/28px 28px,
    linear-gradient(135deg, #17214f, #0a1230);
  color:var(--cream);
  padding:28px;
  overflow:hidden;
}
.pass__route{
  display:flex;
  gap:10px;
  align-items:center;
  font-family:var(--mono);
  font-size:12px;
  text-transform:uppercase;
}
.pass__route i{
  height:1px;
  flex:1;
  background:rgba(255,248,232,.38);
}
.pass__ticket-lines{
  margin-top:82px;
  display:grid;
  gap:14px;
}
.pass__ticket-lines span{
  height:20px;
  background:rgba(255,248,232,.12);
  border:1px solid rgba(255,248,232,.16);
}
.pass__corner-tag{
  position:absolute;
  right:22px;
  bottom:20px;
  font-family:var(--mono);
  font-size:11px;
  text-transform:uppercase;
  color:rgba(255,248,232,.55);
}
.pass__stub{
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  border-left:1px dashed rgba(21,26,56,.28);
  border-right:1px dashed rgba(21,26,56,.28);
  font-family:var(--mono);
  text-transform:uppercase;
  color:var(--muted);
}
.pass__stub strong{
  color:var(--ink);
  font-size:38px;
}
.pass__body{
  padding:clamp(24px,4vw,42px);
}
.pass__caption{
  margin:0 0 16px;
  font-family:var(--mono);
  font-size:12px;
  text-transform:uppercase;
  color:var(--red);
}
.pass__lede{
  margin:0;
  color:var(--ink2);
  font-size:19px;
  line-height:1.65;
}
.pass__pills{
  list-style:none;
  padding:0;
  margin:20px 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.pass__pills li{
  padding:8px 10px;
  border:1px solid var(--line);
  font-family:var(--mono);
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
}
.pass__cta--ghost{color:var(--ink);border-color:rgba(21,26,56,.28);background:transparent}

.ledger__list{
  margin-top:26px;
  border-top:1px solid var(--line);
}
.ledger__row{
  border-bottom:1px solid var(--line);
}
.ledger__row summary{
  min-height:82px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  cursor:pointer;
  font-size:24px;
  font-weight:800;
  list-style:none;
}
.ledger__row summary::-webkit-details-marker{display:none}
.ledger__sign{
  font-family:var(--mono);
  color:var(--red);
}
.ledger__row[open] .ledger__sign{transform:rotate(45deg)}
.ledger__a{
  max-width:780px;
  color:var(--muted);
  font-size:18px;
  line-height:1.7;
  padding:0 0 24px;
}

.anthem{
  background:linear-gradient(135deg, #17214f, #081235);
  color:var(--cream);
}
.anthem__body{
  max-width:800px;
  margin-top:28px;
}
.anthem__body p{
  color:rgba(255,248,232,.78);
  font-size:21px;
  line-height:1.7;
}
.anthem__sign{
  font-family:var(--mono);
  color:#f4b64a !important;
}

.runway{
  background:#081235;
  color:rgba(255,248,232,.72);
  padding:30px clamp(18px,6vw,88px) 42px;
}
.runway__bar{
  display:flex;
  justify-content:center;
  padding:18px 0 26px;
  border-bottom:1px solid rgba(255,248,232,.16);
}
.runway__index{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  padding:24px 0;
  font-family:var(--mono);
  font-size:12px;
  text-transform:uppercase;
}
.runway__index a:hover,.runway__contact a:hover{color:#f4b64a}
.runway__fineprint{
  max-width:1180px;
  margin:0 auto;
  text-align:center;
}
.runway__playwise{
  border:1px solid rgba(255,248,232,.18);
  border-left:3px solid var(--gold);
  padding:clamp(22px,4vw,34px);
  text-align:left;
  background:rgba(255,248,232,.035);
}
.runway__playwise-head{
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:24px;
}
.runway__age-mark{
  width:58px;
  height:58px;
  border-radius:50%;
  border:2px solid var(--gold);
  display:grid;
  place-items:center;
  font-family:var(--mono);
  color:var(--gold);
  font-size:18px;
  font-weight:600;
  flex:0 0 auto;
}
.runway__playwise h2{
  margin:0;
  font-family:var(--mono);
  font-size:clamp(18px,2.2vw,26px);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,248,232,.92);
}
.runway__playwise p{
  margin:0;
  line-height:1.65;
  color:rgba(255,248,232,.74);
  font-size:clamp(17px,2vw,22px);
}
.runway__playwise-list{
  list-style:none;
  padding:0;
  margin:28px 0 0;
  display:grid;
  gap:13px;
  font-family:var(--mono);
  font-size:clamp(14px,1.7vw,22px);
  color:rgba(255,248,232,.9);
}
.runway__playwise-list li{
  position:relative;
  padding-left:28px;
}
.runway__playwise-list li:before{
  content:"·";
  position:absolute;
  left:4px;
  color:var(--gold);
  font-weight:800;
}
.runway__stamps{
  margin:34px 0 0;
  padding:28px 0;
  border-top:1px solid rgba(255,248,232,.12);
  border-bottom:1px solid rgba(255,248,232,.12);
  display:flex;
  justify-content:center;
  align-items:center;
  gap:clamp(22px,6vw,72px);
  flex-wrap:wrap;
}
.runway__stamp{
  color:rgba(255,248,232,.62);
  font-weight:800;
  letter-spacing:-.03em;
  font-size:clamp(22px,4vw,42px);
  opacity:.9;
}
.runway__stamp:hover{
  color:#f4b64a;
}
.runway__stamp--small{
  font-family:var(--mono);
  font-size:clamp(11px,1.2vw,16px);
  letter-spacing:0;
  max-width:140px;
  line-height:1.15;
}
.runway__stamp--mark{
  font-family:var(--mono);
  letter-spacing:.04em;
}
.runway__contact,.runway__copy{
  font-family:var(--mono);
  font-size:12px;
}

.customs{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:40;
  width:min(720px, calc(100vw - 36px));
}
.customs__inner{
  margin:0 0 0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  background:#fff8e8;
  color:var(--ink);
  border:1px solid rgba(21,26,56,.22);
  box-shadow:var(--shadow);
  padding:14px;
}
.customs__line{
  margin:0;
  line-height:1.45;
}
.customs__actions{
  display:flex;
  gap:8px;
}
.customs__btn{
  min-height:40px;
  padding:9px 13px;
  border:1px solid rgba(21,26,56,.22);
  background:transparent;
  cursor:pointer;
  font-weight:800;
}
.customs__btn--yes{
  background:var(--green);
  color:var(--cream);
}

.gatekeeper{
  position:fixed;
  inset:0;
  z-index:60;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(7,28,28,.82);
  backdrop-filter:blur(10px);
}
.gatekeeper[hidden]{display:none}
.gatekeeper__pane{
  width:min(520px,100%);
  padding:32px;
  color:var(--ink);
  background:#fff8e8;
  border:1px solid rgba(21,26,56,.24);
  box-shadow:var(--shadow);
  text-align:center;
}
.gatekeeper__seal{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  margin:0 auto 16px;
  border-radius:50%;
  background:var(--red);
  color:var(--cream);
  font-family:var(--mono);
  font-weight:600;
}
.gatekeeper__pane h2{
  margin:0 0 12px;
  font-size:34px;
  line-height:1;
}
.gatekeeper__pane p{
  color:var(--muted);
  line-height:1.6;
}
.gatekeeper__yes{
  width:100%;
  min-height:50px;
  border:0;
  background:var(--green);
  color:var(--cream);
  font-weight:800;
  cursor:pointer;
}
.gatekeeper__sub{
  font-family:var(--mono);
  font-size:11px;
  text-transform:uppercase;
}

.page{
  background:var(--paper);
}
.page-hero{
  padding:clamp(54px,8vw,98px) clamp(18px,6vw,88px);
  background:linear-gradient(135deg,#17214f,#081235);
  color:var(--cream);
}
.page-hero__inner,.page-section__inner{
  max-width:1080px;
  margin:0 auto;
}
.page-hero h1{
  margin:14px 0 0;
  font-size:clamp(46px,8vw,96px);
  line-height:.9;
}
.page-hero p{
  max-width:760px;
  color:rgba(255,248,232,.78);
  font-size:20px;
  line-height:1.65;
}
.page-section{
  padding:clamp(54px,8vw,98px) clamp(18px,6vw,88px);
}
.split-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.work-card,.contact-card{
  padding:26px;
  background:#fff5df;
  border:1px solid var(--line);
}
.work-card h2,.contact-card h2{
  margin:0 0 10px;
  font-size:30px;
}
.work-card p,.contact-card p,.work-card li{
  color:var(--muted);
  line-height:1.65;
}
.contact-card .btn.ghost{
  color:var(--ink);
  border-color:rgba(21,26,56,.28);
}
.work-card ul{
  margin:16px 0 0;
  padding-left:20px;
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
label{
  display:block;
  margin-bottom:7px;
  font-family:var(--mono);
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
}
.input,textarea{
  width:100%;
  border:1px solid var(--line);
  background:#fffaf0;
  color:var(--ink);
  padding:13px;
  border-radius:0;
  outline:none;
}
.input:focus,textarea:focus{
  border-color:var(--green);
}
textarea{
  min-height:150px;
  resize:vertical;
}

@media (max-width:980px){
  .hatch{
    grid-template-columns:1fr auto auto 1fr;
    gap:12px;
  }
  .hatch__nav{display:none}
  .frieze{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .frieze__artifact{min-height:390px}
  .advisory__inner,.dispatch__inner,.caveat__head,.pass__card,.split-grid{
    grid-template-columns:1fr;
  }
  .ritual__steps,.caveat__grid,.tableau__targets{
    grid-template-columns:1fr 1fr;
  }
  .game-topline,.paytable{
    grid-template-columns:1fr 1fr;
  }
  .game-controls{
    grid-template-columns:56px 1fr 56px;
  }
  .spin-btn{
    grid-column:1/-1;
  }
  .pass__stub{
    min-height:90px;
    border-left:0;
    border-right:0;
    border-top:1px dashed rgba(21,26,56,.28);
    border-bottom:1px dashed rgba(21,26,56,.28);
  }
}

@media (max-width:640px){
  .hatch{
    min-height:74px;
    padding:14px 16px;
  }
  .hatch__rail{display:none}
  .frieze{
    padding:42px 18px 58px;
  }
  .frieze:before{inset:10px}
  .frieze__artifact{display:none}
  .frieze__corner{position:static;margin-top:28px;flex-direction:column;gap:6px}
  .advisory__inner{
    grid-template-columns:1fr;
  }
  .advisory__door{white-space:normal}
  .ritual__steps,.caveat__grid,.tableau__targets,.form-grid{
    grid-template-columns:1fr;
  }
  .game-topline,.paytable,.reels{
    grid-template-columns:1fr;
  }
  .reel{
    grid-template-columns:repeat(3,1fr);
    grid-template-rows:1fr;
  }
  .reel span{
    min-height:72px;
  }
  .win-line{
    display:none;
  }
  .game-controls{
    grid-template-columns:48px 1fr 48px;
  }
  .ritual__step{min-height:auto}
  .caveat__tile--wide,.caveat__tile--tall{grid-column:auto;grid-row:auto}
  .tableau__readout-line{
    grid-template-columns:1fr;
    gap:6px;
  }
  .tableau__dot{display:none}
  .customs__inner{
    align-items:stretch;
    flex-direction:column;
  }
  .customs__actions{width:100%}
  .customs__btn{flex:1}
}
