:root{
  --green:#0f3d2a;--green-2:#14503a;--green-3:#1c6347;--ink:#1d2a22;
  --cream:#f6efdc;--cream-2:#efe4c8;--paper:#fbf6e9;--gold:#c9a13b;--gold-l:#e2c26a;
  --red:#b8312f;--muted:#5c6a5f;
  --serif:"RTB Serif",Georgia,"Times New Roman",serif;
  --sans:"RTB Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans)}
img{max-width:100%;display:block}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.skip{position:absolute;left:12px;top:-60px;background:var(--gold);color:var(--green);padding:10px 14px;border-radius:8px;z-index:50;font-weight:600}
.skip:focus{top:12px}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0 0 .5em}
h1{font-size:clamp(2.6rem,6.4vw,5rem);letter-spacing:-.01em}
h1 em,h2 em{color:var(--gold-l);font-style:italic}
h2{font-size:clamp(2rem,4vw,3.1rem)}
h3{font-size:1.5rem}
p{margin:0 0 1em}
.small{font-size:.88rem}
.muted{color:var(--muted)}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-l);margin-bottom:1.1em}
.eyebrow.dark{color:#8a6a17}

/* felt */
.felt{background:radial-gradient(120% 90% at 70% 20%,var(--green-3),var(--green) 60%,#0b2f20);color:var(--cream);position:relative;isolation:isolate}
.felt::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.18;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.paper{background:var(--paper)}

/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(15,61,42,.94);backdrop-filter:blur(8px);color:var(--cream);border-bottom:1px solid rgba(226,194,106,.2)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;min-height:44px;min-width:44px;text-decoration:none;font-family:var(--serif);font-size:1.25rem}
.brand img{border-radius:9px}
.top ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.top nav a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:8px;text-decoration:none;font-size:.93rem}
.top nav a:hover,.top nav a[aria-current]{background:rgba(246,239,220,.1);color:var(--gold-l)}

/* buttons/status */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;font-weight:600;text-decoration:none;transition:transform .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--green)}
.btn-ghost{border:1.5px solid rgba(246,239,220,.4);color:var(--cream)}
.btn-green{background:var(--green);color:var(--cream)}
.status{display:inline-flex;align-items:center;gap:10px;margin:0;min-height:48px;padding:0 20px;border-radius:999px;background:rgba(201,161,59,.16);border:1px solid rgba(226,194,106,.5);color:var(--gold-l);font-weight:600}
.dot{width:8px;height:8px;border-radius:50%;background:var(--gold-l)}

/* playing cards */
.pc{--w:110px;position:relative;display:inline-block;width:var(--w);aspect-ratio:5/7;border-radius:calc(var(--w)*.09);background:var(--cream);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 24px rgba(5,25,15,.35);font-family:var(--serif);color:#1f2a24}
.pc.red{color:var(--red)}
.pc-i{position:absolute;top:7%;left:9%;font-size:calc(var(--w)*.17);line-height:1;text-align:center}
.pc-b{top:auto;left:auto;bottom:7%;right:9%;transform:rotate(180deg)}
.pc-s{position:absolute;inset:0;display:grid;place-items:center;font-size:calc(var(--w)*.42)}
.pc.back{background:var(--green-2);border:calc(var(--w)*.05) solid var(--cream);
  background-image:repeating-linear-gradient(45deg,rgba(226,194,106,.28) 0 2px,transparent 2px 9px),repeating-linear-gradient(-45deg,rgba(226,194,106,.28) 0 2px,transparent 2px 9px)}

/* hero */
.hero{overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding:clamp(56px,9vw,120px) 0}
.lede{font-size:1.15rem;max-width:34em;color:rgba(246,239,220,.86)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-art{position:relative;height:420px}
.fan{position:absolute;inset:0;display:grid;place-items:center}
.fan .pc{--w:150px;position:absolute;transform-origin:50% 120%;animation:deal .9s cubic-bezier(.2,.8,.2,1) both}
.f1{transform:rotate(-24deg) translateX(-30px);animation-delay:.1s!important}
.f2{transform:rotate(-8deg) translateX(-8px);animation-delay:.22s!important}
.f3{transform:rotate(8deg) translateX(10px);animation-delay:.34s!important}
.f4{transform:rotate(24deg) translateX(30px);animation-delay:.46s!important}
@keyframes deal{from{opacity:0;translate:0 60px}to{opacity:1;translate:0 0}}
.hero-icon{position:absolute;right:4%;bottom:0;border-radius:30px;box-shadow:0 18px 40px rgba(0,0,0,.4);transform:rotate(6deg)}

/* strip */
.strip{background:var(--cream-2);border-block:1px solid rgba(15,61,42,.12)}
.strip-in{list-style:none;padding:22px 0;margin-block:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.strip li{display:flex;align-items:baseline;gap:10px}
.strip b{font-family:var(--serif);font-weight:400;font-size:2rem;color:var(--green)}
.strip span{font-size:.9rem;color:var(--muted)}

/* sections */
.sec{padding:clamp(72px,10vw,128px) 0}
.sec-head{max-width:44rem;margin-bottom:56px}
.sec-head p:not(.eyebrow){font-size:1.1rem}
.felt .sec-head p:not(.eyebrow){color:rgba(246,239,220,.85)}
.calls{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.call{padding-top:8px}
.call:nth-child(even){margin-top:48px}
.call-card .pc{--w:120px;transition:transform .3s ease}
.call:hover .pc{transform:translateY(-6px) rotate(-3deg)}
.num{font-family:var(--serif);font-style:italic;color:#8a6a17;margin:18px 0 4px}
.call p:last-child{color:var(--muted)}

.pass-in,.pyr-in{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.pass p{color:rgba(246,239,220,.86)}
.ticks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.ticks li{padding-left:28px;position:relative;color:rgba(246,239,220,.9)}
.ticks li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:8px;border-left:2px solid var(--gold-l);border-bottom:2px solid var(--gold-l);transform:rotate(-45deg)}
.seats{position:relative;aspect-ratio:1;max-width:440px;margin-inline:auto;width:100%;border-radius:50%;border:2px dashed rgba(226,194,106,.35)}
.seat{position:absolute;padding:6px 14px;border-radius:999px;background:var(--cream);color:var(--green);font-weight:600;font-size:.9rem;transform:translate(-50%,-50%)}
.s0{left:50%;top:0}.s1{left:93%;top:25%}.s2{left:93%;top:75%}.s3{left:50%;top:100%}.s4{left:7%;top:75%}.s5{left:7%;top:25%}
.phone-chip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.phone-chip img{border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
@media (prefers-reduced-motion:no-preference){
  .phone-chip{animation:orbit 12s linear infinite}
  @keyframes orbit{from{transform:translate(-50%,-50%) rotate(0) translateY(-110px) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg) translateY(-110px) rotate(-360deg)}}
}

.pyramid{display:grid;gap:10px;justify-items:center}
.pyramid .row{display:flex;gap:10px}
.pyramid .pc{--w:78px}
.pyramid .flip{outline:2px solid var(--gold);outline-offset:3px}
.aside{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--green);border-left:3px solid var(--gold);padding-left:16px}

.steps{list-style:none;padding:0;margin:0;display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}
.steps li{display:grid;justify-items:center;gap:10px}
.steps li:nth-child(1){transform:translateY(0)}.steps li:nth-child(2){transform:translateY(-16px)}.steps li:nth-child(3){transform:translateY(-32px)}.steps li:nth-child(4){transform:translateY(-48px)}
.step-card .pc{--w:96px}
.step-n{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-l)}
.exit{transform:translateY(-64px)!important}
.exit span{display:grid;place-items:center;width:120px;aspect-ratio:5/7;border:2px dashed var(--gold-l);border-radius:10px;font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--gold-l);text-align:center}
.note{margin-top:24px;color:rgba(246,239,220,.8)}

.rules{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0;border-top:1px solid rgba(15,61,42,.18)}
.rules div{padding:28px 28px 28px 0;border-bottom:1px solid rgba(15,61,42,.18)}
.rules div:nth-child(odd){border-right:1px solid rgba(15,61,42,.18)}
.rules div:nth-child(even){padding-left:28px}
.rules dt{font-family:var(--serif);font-size:1.5rem;color:var(--green);margin-bottom:6px}
.rules dd{margin:0;color:var(--muted)}

.final-in{text-align:center;display:grid;justify-items:center;gap:8px}
.final-in img{border-radius:28px;box-shadow:0 18px 40px rgba(0,0,0,.35);margin-bottom:16px}
.final-in p{color:rgba(246,239,220,.85)}
.muted-l{margin-top:16px;color:rgba(246,239,220,.7)!important}

/* legal */
.legal-hero{padding:72px 0 56px}
.updated{display:inline-block;margin:8px 0 0;padding:6px 14px;border-radius:999px;background:rgba(246,239,220,.1);font-size:.88rem}
.legal{display:grid;grid-template-columns:240px 1fr;gap:56px;padding:56px 0 96px}
.toc{position:sticky;top:88px;align-self:start}
.toc p{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#8a6a17}
.toc ol{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.toc a{display:block;padding:6px 10px;border-radius:8px;text-decoration:none;font-size:.93rem;color:var(--muted)}
.toc a:hover{background:var(--cream-2);color:var(--green)}
.legal-body{max-width:42rem}
.lsec{padding:28px 0;border-bottom:1px solid rgba(15,61,42,.14);scroll-margin-top:84px}
.lnum{font-family:var(--serif);font-style:italic;color:#8a6a17;margin:0}
.lsec h2{font-size:1.8rem;color:var(--green)}
.lsec a,.legal-body>p a{color:var(--green);font-weight:600;overflow-wrap:anywhere}
.mailcard{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-radius:var(--r);background:var(--cream-2);border:1px solid rgba(15,61,42,.14);margin-bottom:12px}
.mailcard .serif{font-size:1.5rem;color:var(--green);margin:0}
.mailcard p{margin:0}
.mailcard .btn{overflow-wrap:anywhere}

/* footer */
.foot{background:#0b2f20;color:var(--cream);padding:48px 0 36px}
.foot-in{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.foot-brand{display:flex;gap:14px;align-items:center}
.foot-brand img{border-radius:11px}
.foot-brand .serif{font-size:1.4rem;margin:0}
.foot .muted{color:rgba(246,239,220,.6);margin:0}
.foot ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 20px;margin:0;padding:0}
.foot ul a{text-decoration:none;font-size:.93rem}
.foot ul a:hover{color:var(--gold-l);text-decoration:underline}
.foot-in>.small{grid-column:1/-1;border-top:1px solid rgba(246,239,220,.12);padding-top:20px}

/* reveal */
.foot nav a{display:inline-flex;align-items:center;min-height:44px}
.js-reveal .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js-reveal .reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

@media (max-width:900px){
  .calls{grid-template-columns:repeat(2,1fr)}
  .strip-in{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:767px){
  body{font-size:16px}
  .hero-in,.pass-in,.pyr-in,.legal,.rules,.foot-in{grid-template-columns:1fr}
  .hero-art{height:300px}
  .fan .pc{--w:110px}
  .hero-icon{width:96px;height:96px;border-radius:22px}
  .call:nth-child(even){margin-top:0}
  .call-card .pc{--w:96px}
  .rules div,.rules div:nth-child(even){padding:22px 0;border-right:0}
  .toc{position:static}
  .steps{gap:10px}.step-card .pc{--w:62px}.exit span{width:78px;font-size:1rem}
  .steps li:nth-child(n){transform:none}.exit{transform:none!important}
  .top nav a{padding:8px 8px;font-size:.85rem}
  .brand span{display:none}
  .pyramid .pc{--w:58px}
  .seats{max-width:300px}
  @media (prefers-reduced-motion:no-preference){@keyframes orbit{from{transform:translate(-50%,-50%) rotate(0) translateY(-70px) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg) translateY(-70px) rotate(-360deg)}}}
}
