/* ============ THE PUNTERS CLUB — Ghost theme ============ */
:root{
  --ground:#0F1A13;
  --ground-2:#13211A;
  --surface:#182821;
  --surface-2:#1E3128;
  --line:#2C4234;
  --line-strong:#3B5644;
  --ink:#EFE8D8;
  --ink-2:#C9C3B0;
  --muted:#93987F;
  --accent:#CDAB6E;
  --accent-2:#E4C98F;
  --accent-ink:#10160F;
  --up:#7FB08A;
  --down:#C4826B;
  --hold:#9A9E88;
  --shadow:0 18px 40px -22px rgba(0,0,0,.65);
}
@media (prefers-color-scheme: light){
  :root{
    --ground:#F1EDE0;
    --ground-2:#EBE6D6;
    --surface:#F8F5EA;
    --surface-2:#FFFDF4;
    --line:#D8D2BD;
    --line-strong:#C2BBA2;
    --ink:#1D2B21;
    --ink-2:#3C4A3F;
    --muted:#75816F;
    --accent:#8A6B34;
    --accent-2:#6E5426;
    --accent-ink:#F8F5EA;
    --up:#3E7A50;
    --down:#A65B3F;
    --hold:#6E7360;
    --shadow:0 16px 36px -24px rgba(52,63,45,.45);
  }
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  background:var(--ground);
  color:var(--ink);
  font-family:var(--gh-font-body, 'Newsreader'),Georgia,'Times New Roman',serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--accent);color:var(--accent-ink)}
a{color:inherit}
img{max-width:100%;height:auto}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px}
.display{font-family:var(--gh-font-heading, 'Marcellus'),'Times New Roman',serif;font-weight:400;letter-spacing:.01em}

/* ============ Masthead ============ */
.masthead{padding:44px 0 0;text-align:center}
.est{font-size:11px;color:var(--muted);letter-spacing:.34em;text-transform:uppercase;font-family:'Marcellus',serif}
.wordmark{
  display:block;
  margin:14px 0 6px;
  font-family:'Marcellus',serif;
  font-size:clamp(26px,5vw,52px);
  letter-spacing:.22em;
  text-indent:.22em;
  line-height:1.15;
  color:var(--ink);
  text-decoration:none;
  text-transform:uppercase;
}
.tagline{font-style:italic;color:var(--ink-2);font-size:16px;margin:0}
.keyline{
  width:min(560px,80%);
  margin:26px auto 0;
  border:0;
  border-top:1px solid var(--line-strong);
  position:relative;
}
.keyline::after{content:"";position:absolute;inset:3px 0 auto 0;border-top:1px solid var(--line)}

/* ============ Nav ============ */
nav.club{
  position:sticky;top:0;z-index:50;
  background:var(--ground);
  border-bottom:1px solid var(--line);
  margin-top:26px;
}
@supports (backdrop-filter:blur(10px)){
  nav.club{background:color-mix(in srgb,var(--ground) 88%,transparent);backdrop-filter:blur(10px)}
}
nav.club .row{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;padding:0 16px}
nav.club .nav{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0;justify-content:center}
nav.club .nav li{margin:0}
nav.club .nav a{
  display:block;
  padding:14px 16px 12px;
  font-family:'Marcellus',serif;
  font-size:12px;
  letter-spacing:.20em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--ink-2);
  border-bottom:2px solid transparent;
  white-space:nowrap;
}
nav.club .nav a:hover{color:var(--ink)}
nav.club .nav-current a{color:var(--accent);border-bottom-color:var(--accent)}
.nav-actions{display:flex;align-items:center}
.velvet-mini{
  font-family:'Marcellus',serif;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);border:1px solid var(--accent);
  padding:8px 16px;margin:6px 0 6px 12px;text-decoration:none;white-space:nowrap;
}
.velvet-mini:hover{background:var(--accent);color:var(--accent-ink)}

/* ============ Featured ============ */
.feature{
  display:block;
  margin:52px 0 0;
  padding:44px 40px 40px;
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  position:relative;
  text-decoration:none;
}
.feature::before{content:"";position:absolute;inset:8px;border:1px solid var(--line);pointer-events:none}
.eyebrow{
  font-family:'Marcellus',serif;font-size:11px;letter-spacing:.30em;text-transform:uppercase;
  color:var(--accent);margin:0 0 14px;
}
.eyebrow.center{text-align:center}
.feature h1{
  font-family:'Marcellus',serif;font-weight:400;
  font-size:clamp(30px,4.6vw,46px);line-height:1.12;margin:0 0 14px;
  text-wrap:balance;color:var(--ink);
}
.feature .stand{max-width:62ch;color:var(--ink-2);font-size:18px;margin:0 0 22px}
.meta{font-size:13px;color:var(--muted);letter-spacing:.04em}
.meta b{color:var(--ink-2);font-weight:500}
.readlink{
  display:inline-block;margin-top:20px;
  font-family:'Marcellus',serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);text-decoration:none;
  border-bottom:1px solid var(--accent);
  padding-bottom:4px;
}
.readlink:hover{color:var(--accent-2);border-color:var(--accent-2)}

/* ============ Card grid ============ */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:22px 0 0}
@media (max-width:760px){.grid{grid-template-columns:1fr}}
.card{
  background:var(--surface);
  border:1px solid var(--line);
  padding:28px 26px 24px;
  display:flex;gap:20px;align-items:flex-start;
  text-decoration:none;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.card:hover{background:var(--surface-2);border-color:var(--line-strong);transform:translateY(-2px)}
.card h2{font-family:'Marcellus',serif;font-weight:400;font-size:22px;line-height:1.22;margin:2px 0 8px;text-wrap:balance;color:var(--ink)}
.card .cat{font-family:'Marcellus',serif;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:6px}
.card p{margin:0 0 12px;color:var(--ink-2);font-size:15px;line-height:1.55}
.card .meta{font-size:12px}

.section-note{margin:56px 0 0;text-align:center;color:var(--muted);font-style:italic;font-size:15px}
.section-note a{color:var(--accent)}

.section-head{text-align:center;margin:0 0 4px}
.section-head h2{
  font-family:var(--gh-font-heading, 'Marcellus'),'Times New Roman',serif;font-weight:400;
  font-size:clamp(22px,3.4vw,30px);letter-spacing:.16em;text-transform:uppercase;
  margin:0 0 10px;color:var(--ink);
}
.section-head p{color:var(--muted);font-style:italic;margin:0 0 26px;font-size:15px}
.section-head .keyline{margin-bottom:26px}

/* ============ Article reader ============ */
article.piece{max-width:700px;margin:56px auto 0;padding:0 4px}
.crumb{
  font-family:'Marcellus',serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;display:inline-block;margin-bottom:26px;
}
.crumb:hover{color:var(--accent)}
article.piece h1{
  font-family:'Marcellus',serif;font-weight:400;text-align:center;
  font-size:clamp(30px,5vw,44px);line-height:1.14;margin:0 0 12px;text-wrap:balance;
}
.center-title{text-align:center}
.dek{text-align:center;font-style:italic;color:var(--ink-2);font-size:18px;max-width:56ch;margin:0 auto 18px}
.byline{
  text-align:center;font-size:13px;color:var(--muted);letter-spacing:.08em;
  text-transform:uppercase;font-family:'Marcellus',serif;margin-bottom:36px;
}
.byline b{color:var(--accent);font-weight:400}
.rule{width:64px;margin:0 auto 36px;border:0;border-top:1px solid var(--accent)}
.body p{margin:0 0 20px;max-width:66ch}
.body > p:first-of-type::first-letter,
.body .hole + p::first-letter{
  font-family:'Marcellus',serif;
  font-size:3.3em;line-height:.85;
  float:left;padding:6px 10px 0 0;
  color:var(--accent);
}
.body h3{font-family:'Marcellus',serif;font-weight:400;font-size:20px;letter-spacing:.04em;margin:34px 0 12px;color:var(--ink)}
.pull{
  margin:32px 0;padding:6px 0 6px 24px;
  border-left:1px solid var(--accent);
  font-style:italic;font-size:20px;line-height:1.5;color:var(--ink-2);
  max-width:56ch;
}
.hole{
  width:58px;height:58px;border-radius:50%;
  border:1px solid var(--accent);
  display:grid;place-items:center;
  font-family:'Marcellus',serif;font-size:18px;color:var(--accent);
  letter-spacing:.06em;
  margin:0 auto 22px;
}

/* board tables */
.board-wrap{overflow-x:auto;margin:28px 0;border:1px solid var(--line)}
table.board{width:100%;border-collapse:collapse;background:var(--surface);font-size:14.5px;min-width:520px}
table.board caption{
  caption-side:top;text-align:left;
  font-family:'Marcellus',serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--accent);padding:14px 16px 10px;background:var(--surface);
}
table.board th{
  font-family:'Marcellus',serif;font-weight:400;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);text-align:left;padding:8px 16px;border-bottom:1px solid var(--line-strong);
}
table.board td{padding:9px 16px;border-bottom:1px solid var(--line);color:var(--ink-2);font-variant-numeric:tabular-nums}
table.board tr:last-child td{border-bottom:0}
table.board td.num{color:var(--accent);font-family:'Marcellus',serif;width:1%}
table.board td b{color:var(--ink);font-weight:500}
.updown{font-size:12px;letter-spacing:.06em}
.updown.up{color:var(--up)}
.updown.down{color:var(--down)}
.updown.hold{color:var(--hold)}

/* slate lists */
ul.slate{list-style:none;margin:0 0 20px;padding:0;max-width:66ch}
ul.slate li{padding:14px 0;border-bottom:1px solid var(--line)}
ul.slate li:last-child{border-bottom:0}
ul.slate .who{font-weight:500;color:var(--ink)}
ul.slate .tag{font-family:'Marcellus',serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-left:8px}
ul.slate .why{display:block;color:var(--ink-2);font-size:15.5px;margin-top:3px}

.next-piece{margin:40px 0 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ============ The Thirty-Two page content ============ */
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 20px}
.chips a{
  font-family:'Marcellus',serif;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-2);border:1px solid var(--line-strong);
  padding:8px 14px;text-decoration:none;
}
.chips a:hover{color:var(--accent);border-color:var(--accent)}
.divblock{margin:0 auto;padding-top:34px}
.divblock h3{
  font-family:'Marcellus',serif;font-weight:400;font-size:15px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--accent);text-align:center;margin:24px 0 6px;
}
.divrule{width:64px;margin:0 auto 8px;border:0;border-top:1px solid var(--accent)}
.team-note{padding:22px 0 20px;border-bottom:1px solid var(--line)}
.team-note:last-child{border-bottom:0}
.team-note .tname{font-family:'Marcellus',serif;font-size:20px;color:var(--ink)}
.team-note .ttag{font-family:'Marcellus',serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-left:10px}
.team-note p{margin:8px 0 0;color:var(--ink-2);font-size:15.5px;line-height:1.6;max-width:70ch}
.team-note .bet{display:block;margin-top:8px;font-style:italic;color:var(--accent);font-size:14.5px}

/* rooms (About / DraftKings / Golf) */
.room-note{text-align:center;color:var(--ink-2)}
.velvet{
  display:inline-block;margin-top:26px;padding:12px 26px;
  font-family:'Marcellus',serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--accent);border:1px solid var(--accent);text-decoration:none;
}
.velvet:hover{background:var(--accent);color:var(--accent-ink)}

/* ============ Ads ============ */
.ad-slot{
  margin:44px auto;max-width:700px;
  border:1px dashed var(--line-strong);
  padding:18px;text-align:center;
}
.ad-slot .ad-note{
  font-family:'Marcellus',serif;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);
}
.ad-slot .ad-target{min-height:90px}
.ad-slot:empty{display:none}

/* ============ Footer ============ */
footer.club{margin-top:96px;border-top:1px solid var(--line);padding:40px 0 56px;text-align:center}
footer.club .mini{font-family:'Marcellus',serif;letter-spacing:.3em;text-indent:.3em;font-size:16px;color:var(--ink-2);text-transform:uppercase}
footer.club p{font-size:12.5px;color:var(--muted);max-width:60ch;margin:12px auto 0;line-height:1.7}
footer.club .est{margin-top:16px;display:block}

/* ============ Pagination ============ */
.pagination{
  display:flex;justify-content:space-between;margin:44px 0 0;
  font-family:'Marcellus',serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;
}
.pagination a{color:var(--accent);text-decoration:none}
.page-number{color:var(--muted)}

/* ============ Koenig / Ghost content cards ============ */
.gh-content > *{max-width:66ch}
.gh-content .kg-width-wide{max-width:900px}
.gh-content .kg-width-full{max-width:none}
.gh-content figure{margin:28px 0}
.gh-content figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:8px;font-style:italic}
.gh-content blockquote:not(.pull){
  margin:32px 0;padding:6px 0 6px 24px;
  border-left:1px solid var(--accent);
  font-style:italic;font-size:20px;line-height:1.5;color:var(--ink-2);
}
.gh-content hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.gh-content a:not(.readlink):not(.velvet){color:var(--accent);text-decoration:none;border-bottom:1px solid var(--line-strong)}
.gh-content a:not(.readlink):not(.velvet):hover{border-color:var(--accent)}
.kg-card{margin:28px 0}

a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
