/* Dallas 2027 — Sponsor + Attend pages.
   Builds on tokens.css / base.css / components.css / site.css. Uses only tokens defined in tokens.css.
   Layout: compact navy hero → sticky track sub-nav → warm sections of package cards, tables, forms. */

/* ── Draft banner (remove at launch) ───────────────────────── */
.dbar{background:var(--color-navy-950);color:var(--color-navy-100);font-size:var(--text-sm);line-height:1.45;
  padding-block:var(--space-3);position:relative;z-index:5;border-bottom:1px solid rgba(255,255,255,.08)}
.dbar strong{color:var(--color-gold-400);font-weight:var(--weight-semibold)}

/* ── Compact hero ──────────────────────────────────────────── */
.dh{position:relative;background:var(--color-navy-950);color:var(--color-warm-50);overflow:hidden}
.dh__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.dh::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(10,15,30,.94) 0%,rgba(10,15,30,.80) 45%,rgba(10,15,30,.45) 100%)}
.dh__in{position:relative;z-index:2;padding-block:calc(var(--space-24) + var(--space-4)) var(--space-16)}
.dh__eyebrow{color:var(--color-gold-400);font-weight:var(--weight-semibold);font-size:var(--text-sm);
  letter-spacing:.14em;text-transform:uppercase;margin:0 0 var(--space-4)}
.dh__title{color:var(--color-warm-50);font-size:clamp(2.2rem,5.2vw,var(--text-5xl));font-weight:var(--weight-black);
  line-height:1.04;letter-spacing:-.03em;margin:0;max-width:20ch;text-wrap:balance}
.dh__lead{color:var(--color-navy-100);font-size:var(--text-xl);line-height:1.5;max-width:58ch;margin:var(--space-6) 0 0}
.dh__lead + .dh__lead{margin-top:var(--space-4)}
.dh__cta{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-10)}
.dh .btn--ghost{color:var(--color-warm-50);border-color:rgba(255,255,255,.5)}
.dh .btn--ghost:hover{color:var(--color-gold-400);border-color:var(--color-gold-400)}
.dh__facts{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-8);margin-top:var(--space-10);
  color:var(--color-navy-100);font-size:var(--text-base)}
.dh__facts span{display:inline-flex;align-items:center;gap:var(--space-2)}
.dh__facts span::before{content:"";width:7px;height:7px;border-radius:999px;background:var(--color-gold-500)}
@media (max-width:860px){.dh__in{padding-block:calc(var(--space-20) + var(--space-4)) var(--space-12)}}

/* ── Track sub-nav ─────────────────────────────────────────── */
.tnav{position:sticky;top:64px;z-index:40;background:var(--color-white);border-bottom:1px solid var(--color-stone-200);
  box-shadow:0 1px 0 rgba(15,23,41,.02)}
.tnav__in{display:flex;gap:var(--space-6);overflow-x:auto;scrollbar-width:none;padding-block:var(--space-4);
  font-size:var(--text-sm);font-weight:var(--weight-semibold)}
.tnav__in::-webkit-scrollbar{display:none}
.tnav a{color:var(--color-stone-600);white-space:nowrap;padding-block:var(--space-1);border-bottom:2px solid transparent;
  text-decoration:none;transition:color var(--duration-fast)}
.tnav a:hover{color:var(--color-navy-900)}
.tnav a[aria-current="page"]{color:var(--color-navy-900);border-bottom-color:var(--color-gold-500)}
.tnav__sep{width:1px;background:var(--color-stone-200);flex:none}

/* ── Section heads ─────────────────────────────────────────── */
.dsec{padding-block:clamp(var(--space-16),8vw,var(--space-24))}
.dsec--warm{background:var(--color-warm-50)}
.dsec--alt{background:var(--color-warm-100)}
.dhead{max-width:62ch;margin-bottom:var(--space-12)}
.dhead--center{margin-inline:auto;text-align:center}
.dhead .eyebrow{margin-bottom:var(--space-3)}
.dhead h2{font-size:clamp(1.8rem,3.6vw,var(--text-4xl));font-weight:var(--weight-black);letter-spacing:-.025em;
  line-height:1.1;margin:0;color:var(--color-navy-900);text-wrap:balance}
.dhead p{color:var(--color-stone-600);font-size:var(--text-lg);line-height:1.6;margin:var(--space-5) 0 0}
.dhead--center p{margin-inline:auto}
.hook{font-size:clamp(1.4rem,2.8vw,var(--text-3xl));font-weight:var(--weight-bold);color:var(--color-navy-900);
  letter-spacing:-.015em;line-height:1.25;margin:0;max-width:30ch;text-wrap:balance}
.hook + .hook{color:var(--color-gold-600);margin-top:var(--space-2)}

/* ── Package cards ─────────────────────────────────────────── */
.pkgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:var(--space-6)}
.pkgs--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:820px){.pkgs--2{grid-template-columns:1fr}}
.pkg{display:flex;flex-direction:column;background:var(--color-white);border:1px solid var(--color-stone-200);
  border-radius:var(--radius-lg);padding:var(--space-8);min-width:0;position:relative}
.pkg--title{background:var(--color-navy-950);border-color:var(--color-navy-800);color:var(--color-navy-100)}
.pkg__for{font-size:var(--text-sm);color:var(--color-stone-600);margin:0 0 var(--space-4);line-height:1.5}
.pkg--title .pkg__for{color:var(--color-navy-300)}
.pkg__name{font-size:var(--text-2xl);font-weight:var(--weight-black);letter-spacing:-.02em;line-height:1.15;
  margin:0;color:var(--color-navy-900)}
.pkg--title .pkg__name{color:var(--color-warm-50)}
.pkg__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin:var(--space-4) 0 0;
  font-size:var(--text-3xl);font-weight:var(--weight-black);letter-spacing:-.02em;color:var(--color-gold-600);
  font-variant-numeric:tabular-nums;line-height:1}
.pkg--title .pkg__price{color:var(--color-gold-400)}
.pkg__price small{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-stone-600);letter-spacing:0}
.pkg--title .pkg__price small{color:var(--color-navy-300)}
.pkg__price--conv{font-size:var(--text-xl);letter-spacing:-.01em}
.pkg__pitch{margin:var(--space-6) 0 0;color:var(--color-stone-700);line-height:1.6}
.pkg--title .pkg__pitch{color:var(--color-navy-100)}
.pkg__inc{list-style:none;margin:var(--space-6) 0 0;padding:var(--space-6) 0 0;border-top:1px solid var(--color-stone-200);
  display:grid;gap:var(--space-3)}
.pkg--title .pkg__inc{border-top-color:rgba(255,255,255,.12)}
.pkg__inc li{position:relative;padding-left:var(--space-6);font-size:var(--text-base);line-height:1.5;color:var(--color-stone-700)}
.pkg--title .pkg__inc li{color:var(--color-navy-100)}
.pkg__inc li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:5px;border-left:2px solid var(--color-gold-500);
  border-bottom:2px solid var(--color-gold-500);transform:rotate(-45deg)}
.pkg__cta{margin-top:auto;padding-top:var(--space-8)}
.pkg__cta .btn{width:100%;justify-content:center}
.pkg--title .btn--ghost{color:var(--color-warm-50);border-color:rgba(255,255,255,.4)}
.pkg__cap{display:inline-block;margin-top:var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-bold);
  letter-spacing:.08em;text-transform:uppercase;color:var(--color-navy-700);background:var(--color-navy-100);
  border-radius:var(--radius-full);padding:3px var(--space-3)}
.pkg--title .pkg__cap{color:var(--color-navy-900);background:var(--color-gold-400)}

/* "Proposed" marker — every PROPOSED price carries it; hide all at once with .hide-proposed on <body> */
.tag-proposed{display:inline-block;font-size:11px;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;
  color:var(--color-navy-700);border:1px dashed var(--color-gold-500);border-radius:var(--radius-full);padding:2px 8px;
  vertical-align:middle;line-height:1.4}
.pkg--title .tag-proposed{color:var(--color-gold-400);border-color:var(--color-gold-400)}
body.hide-proposed .tag-proposed{display:none}

/* ── Compact rows (small items: extras, play-and-watch) ───── */
.rows{background:var(--color-white);border:1px solid var(--color-stone-200);border-radius:var(--radius-lg);overflow:hidden}
.row{display:grid;grid-template-columns:1fr auto;gap:var(--space-2) var(--space-6);align-items:baseline;
  padding:var(--space-5) var(--space-6);border-top:1px solid var(--color-stone-200)}
.row:first-child{border-top:none}
.row h3{margin:0;font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-navy-900)}
.row p{margin:var(--space-1) 0 0;grid-column:1/2;color:var(--color-stone-600);font-size:var(--text-base);line-height:1.5}
.row__price{font-weight:var(--weight-black);font-size:var(--text-xl);color:var(--color-gold-600);
  font-variant-numeric:tabular-nums;white-space:nowrap;grid-row:1/3;grid-column:2;align-self:center;text-align:right}
.row__price small{display:block;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-stone-500)}
.row a.row__link{grid-column:1/2;margin-top:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);
  color:var(--color-navy-900);text-decoration:underline;text-decoration-color:var(--color-gold-500);text-underline-offset:3px}
@media (max-width:560px){.row{grid-template-columns:1fr}.row__price{grid-row:auto;grid-column:auto;text-align:left}}

/* ── Track cards (hub) ─────────────────────────────────────── */
.tracks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
@media (max-width:820px){.tracks{grid-template-columns:1fr}}
.track{display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-white);border:1px solid var(--color-stone-200);
  border-radius:var(--radius-lg);padding:var(--space-8);text-decoration:none;color:inherit;min-width:0;
  transition:border-color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast)}
.track:hover{border-color:var(--color-gold-500);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.track__ic{width:36px;height:36px;color:var(--color-gold-600)}
.track h3{margin:0;font-size:var(--text-2xl);font-weight:var(--weight-black);letter-spacing:-.02em;color:var(--color-navy-900)}
.track p{margin:0;color:var(--color-stone-700);line-height:1.6}
.track__who{font-size:var(--text-sm);color:var(--color-stone-500)}
.track__foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);
  padding-top:var(--space-4);border-top:1px solid var(--color-stone-200)}
.track__range{font-weight:var(--weight-bold);color:var(--color-navy-900);font-variant-numeric:tabular-nums}
.track__go{font-weight:var(--weight-semibold);color:var(--color-navy-900);white-space:nowrap}
.track:hover .track__go{color:var(--color-gold-600)}
.track--wide{grid-column:1/-1;background:var(--color-navy-950);border-color:var(--color-navy-800)}
.track--wide h3{color:var(--color-warm-50)}
.track--wide p{color:var(--color-navy-100)}
.track--wide .track__who{color:var(--color-navy-300)}
.track--wide .track__foot{border-top-color:rgba(255,255,255,.12)}
.track--wide .track__range{color:var(--color-gold-400)}
.track--wide .track__go{color:var(--color-gold-400)}
.track--wide .track__ic{color:var(--color-gold-400)}

/* ── Ladder (defense) ──────────────────────────────────────── */
.ladder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);align-items:end;margin-bottom:var(--space-16)}
.rung{border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-6);color:var(--color-warm-50);
  display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-2);min-width:0}
.rung:nth-child(1){background:var(--color-navy-700);min-height:150px}
.rung:nth-child(2){background:var(--color-navy-800);min-height:210px}
.rung:nth-child(3){background:var(--color-navy-950);min-height:280px;box-shadow:inset 0 3px 0 var(--color-gold-500)}
.rung b{font-size:clamp(1.3rem,2.6vw,var(--text-3xl));font-weight:var(--weight-black);color:var(--color-gold-400);
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}
.rung span{font-weight:var(--weight-bold);font-size:var(--text-lg)}
.rung small{color:var(--color-navy-100);font-size:var(--text-sm);line-height:1.45}
@media (max-width:640px){.ladder{grid-template-columns:1fr}.rung{min-height:0 !important;border-radius:var(--radius-lg)}}

/* ── Tables ────────────────────────────────────────────────── */
.tbl-wrap{overflow-x:auto;border:1px solid var(--color-stone-200);border-radius:var(--radius-lg);background:var(--color-white)}
.tbl{width:100%;border-collapse:collapse;min-width:720px;font-size:var(--text-base)}
.tbl th,.tbl td{text-align:left;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-stone-200);vertical-align:top}
.tbl thead th{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-stone-500);
  font-weight:var(--weight-bold);background:var(--color-warm-50)}
.tbl tbody tr:last-child td{border-bottom:none}
.tbl td:first-child{font-weight:var(--weight-bold);color:var(--color-navy-900)}
.tbl .num{font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl .conv{color:var(--color-navy-700);font-weight:var(--weight-semibold);white-space:nowrap}
.tbl .dash{color:var(--color-stone-500)}
.tbl--cmp td,.tbl--cmp th{width:33%}

/* ── Session grid ──────────────────────────────────────────── */
.sess-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:var(--space-3);margin-top:var(--space-6)}
.sess{background:var(--color-warm-50);border:1px solid var(--color-stone-200);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}
.sess b{display:block;color:var(--color-navy-900);font-size:var(--text-base)}
.sess span{display:block;margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-stone-600)}

/* ── Rules strip ───────────────────────────────────────────── */
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--space-8)}
.rule h3{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-navy-900)}
.rule p{margin:0;color:var(--color-stone-700);line-height:1.6}

/* ── Tickets ───────────────────────────────────────────────── */
.tix{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:var(--space-5)}
.tik{display:flex;flex-direction:column;background:var(--color-white);border:1px solid var(--color-stone-200);
  border-radius:var(--radius-lg);padding:var(--space-6) var(--space-6) var(--space-6);min-width:0;position:relative}
.tik--lead{border:2px solid var(--color-gold-500);box-shadow:var(--shadow-gold)}
.tik__flag{position:absolute;top:-12px;left:var(--space-6);background:var(--color-gold-500);color:var(--color-navy-950);
  font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;
  border-radius:var(--radius-full);padding:4px var(--space-3)}
.tik h3{margin:0;font-size:var(--text-xl);font-weight:var(--weight-black);color:var(--color-navy-900);letter-spacing:-.015em}
.tik__price{margin:var(--space-3) 0 0;font-size:var(--text-3xl);font-weight:var(--weight-black);color:var(--color-navy-900);
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}
.tik__price small{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-stone-600);letter-spacing:0}
.tik__later{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--color-stone-500)}
.tik__for{margin:var(--space-4) 0 0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-navy-700)}
.tik p.tik__body{margin:var(--space-2) 0 0;color:var(--color-stone-700);line-height:1.55}
.tik .btn{margin-top:auto;justify-content:center}
.tik__spacer{flex:1;min-height:var(--space-6)}

/* ── Notes / fine print / money line ───────────────────────── */
.invite{display:grid;grid-template-columns:auto 1fr;gap:var(--space-5);align-items:start;background:var(--color-navy-950);
  color:var(--color-navy-100);border-radius:var(--radius-lg);padding:var(--space-8);margin-top:var(--space-10)}
.invite svg{width:32px;height:32px;color:var(--color-gold-400)}
.invite h3{margin:0;color:var(--color-warm-50);font-size:var(--text-xl);font-weight:var(--weight-bold)}
.invite p{margin:var(--space-2) 0 0;line-height:1.6;color:var(--color-navy-100)}
@media (max-width:560px){.invite{grid-template-columns:1fr}}
.fine{max-width:72ch;font-size:var(--text-sm);color:var(--color-stone-600);line-height:1.65}
.fine h3{font-size:var(--text-base);color:var(--color-navy-900);margin:0 0 var(--space-3)}
.fine p{margin:0 0 var(--space-3)}
.fine .pending{color:var(--color-navy-900);font-weight:var(--weight-semibold);border-bottom:1px dashed var(--color-gold-500)}
.money{background:var(--color-navy-950);color:var(--color-navy-100);padding-block:var(--space-10)}
.money__in{display:flex;gap:var(--space-5);align-items:center;max-width:860px}
.money svg{width:34px;height:34px;flex:none;color:var(--color-gold-400)}
.money p{margin:0;font-size:var(--text-lg);line-height:1.5;color:var(--color-navy-100)}
.money strong{color:var(--color-warm-50)}

/* ── Forms ─────────────────────────────────────────────────── */
.fwrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(var(--space-10),6vw,var(--space-20));align-items:start}
@media (max-width:900px){.fwrap{grid-template-columns:1fr}}
.fcard{background:var(--color-white);border:1px solid var(--color-stone-200);border-radius:var(--radius-lg);padding:clamp(var(--space-6),4vw,var(--space-10))}
.fsteps{list-style:none;margin:var(--space-8) 0 0;padding:0;display:grid;gap:var(--space-5);counter-reset:s}
.fsteps li{display:grid;grid-template-columns:36px 1fr;gap:var(--space-4);counter-increment:s;color:var(--color-stone-700);line-height:1.55}
.fsteps li::before{content:counter(s);width:36px;height:36px;border-radius:999px;background:var(--color-gold-100);
  color:var(--color-gold-600);font-weight:var(--weight-black);display:grid;place-items:center}
.fsteps b{color:var(--color-navy-900);display:block}
.cform .opt{font-weight:var(--weight-normal);color:var(--color-stone-500)}
.cform .check{flex-direction:row;align-items:flex-start;gap:var(--space-3);font-weight:var(--weight-normal);color:var(--color-stone-700)}
.cform .check input{width:auto;margin-top:4px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fnote{font-size:var(--text-xs);color:var(--color-stone-500);margin:var(--space-3) 0 0}

/* 23 Oct 2026: max four offers per page */
.pkgs--4,.tix--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1180px){.pkgs--4,.tix--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.pkgs--4,.tix--4{grid-template-columns:1fr}}
.pkgs:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.pkgs:has(> :nth-child(3):last-child){grid-template-columns:1fr}}
/* never two dark blocks in a row: the money strip sits above the dark footer, the veteran box above the invite box */
.money{background:var(--color-gold-100);color:var(--color-stone-700);border-top:1px solid var(--color-gold-200)}
.money p{color:var(--color-stone-700)} .money strong{color:var(--color-navy-900)} .money svg{color:var(--color-gold-600)}
.invite--light{background:var(--color-white);border:1px solid var(--color-gold-200)}
.invite--light h3{color:var(--color-navy-900)} .invite--light p{color:var(--color-stone-700)} .invite--light svg{color:var(--color-gold-600)}
