/* =========================================================================
   Bourbon Saturdays — V3 SKIN: the premium editorial system.
   The single design authority, loaded last. Consolidates the session's
   direction into one coherent voice per the redesign brief:

   · Light-first: warm sand canvas; dark reserved for drama (hero, masthead,
     destinations rail, road trip, map, game hubs).
   · Deep crimson (#9e1b32) replaces ticker-red as the accent, applied by
     re-mapping the --hot token so every component recolors at once.
   · Serif-led display (Fraunces): headlines are title-case serif. Anton is
     demoted to scoreboard moments only — countdown digits, stats and
     rankings numerals, ticker label.
   · Loud devices retired: diagonal bars, ghost wordmark, halftone, grain,
     angled buttons, embers/tilt/spotlight (disabled in JS).
   ========================================================================= */

/* ----- Display serif ----- */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500;font-display:swap;
  src:url('../fonts/fraunces-500.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/fraunces-600.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:600;font-display:swap;
  src:url('../fonts/fraunces-600-italic.woff2') format('woff2')}

/* ----- Tokens: the final palette ----- */
:root{
  --font-display:'Fraunces',Georgia,serif;

  /* deep crimson replaces fire-engine red everywhere via token remap */
  --hot:#9e1b32;--hot-2:#7c1226;
  --crimson:#9e1b32;--crimson-2:#7c1226;

  /* warm light-first canvas */
  --canvas:#f6f1e6;--canvas-2:#efe7d6;
  --ink:#211a12;--ink-soft:#4c4335;--warm-mut:#7a6f5c;
  --line:rgba(33,26,18,.16);

  /* dark drama sections */
  --dark:#171310;--dark-2:#1f1a15;--line-dark:rgba(246,241,230,.14);

  /* re-point legacy tokens so older layers harmonize */
  --sand:#efe7d6;--sand-2:#e6dcc6;--sand-ink:#211a12;--sand-mut:#7a6f5c;
  --paper:#f6f1e6;--cream:#efe7d6;--paper-2:#efe7d6;
  --navy:#171310;--navy-2:#1f1a15;--navy-3:#2a241d;
  --band:#171310;--band-2:#1f1a15;--ink-deep:#100d0a;
  --gold:#b9a988;--gold-2:#cbbc9d;--gold-bright:#e7dcc4;--gold-soft:rgba(185,169,136,.16);
  --silver:#b9a988;--silver-bright:#e7dcc4;--silver-dim:#8d8168;
}

/* ----- Canvas: light-first ----- */
body{background:var(--canvas);color:var(--ink)}

/* ----- Retire the loud devices ----- */
.tt-hero::before,.tt-hero::after{display:none !important}   /* bars + ghost SEC   */
.tt-hero__hazard,.tt-scrollcue{display:none !important}
.tt-spotlight,.tt-embers{display:none !important}
.tt-newsletter::before,.tt-nextbar::before{display:none !important}
.tt-stats::before{display:none !important}

/* Square, quiet buttons & fields — no angles, no cartoon press */
.tt-btn,.tt-btn--gold,.tt-hero__go,.search .go,.cta,
.tt-hero__field,.tt-ticker__label{clip-path:none !important;border-radius:2px}
.tt-btn--gold{background:var(--hot);color:#fff;box-shadow:none;
  font-family:var(--font-cond);font-weight:700;letter-spacing:.1em}
.tt-btn--gold:hover{background:var(--hot-2);transform:none;box-shadow:none}
.tt-btn--gold:active{transform:none;box-shadow:none}
.tt-btn--gold::after{display:none}                          /* shine sweep off    */

/* =========================================================================
   TYPOGRAPHY — serif display, title case; Anton only for scoreboard moments
   ========================================================================= */
.tt-headline,.tt-section-title,
.tt-daily__title,.tt-story__title,.tt-roadtrip__title,
.tt-placepg__title,.tt-gamehub__title,.tt-funnel__title,
.tt-map__card-town,.tt-week__vs,
.tt-guide__coltitle,.tt-planner__heading,.tt-newsletter__heading,
.tt-lead__title,.tt-single__title,.tt-guide__title{
  font-family:var(--font-display);font-weight:600;text-transform:none;
  letter-spacing:-.01em;line-height:1.04;
}
.tt-headline{font-size:clamp(2rem,4.2vw,3.2rem)}
.tt-section-title{font-size:clamp(1.5rem,2.6vw,2.1rem);padding-left:0}
.tt-section-title::before{display:none}
.tt-week__vs{font-size:1.45rem}
.tt-daily__title{font-size:clamp(1.5rem,2.4vw,2.05rem)}
.tt-story__title{font-size:1.75rem}
.tt-stories__grid .tt-story:not(.tt-story--lead) .tt-story__title{font-family:var(--font-display);font-weight:600;font-size:1.2rem;text-transform:none}
.tt-roadtrip__title{font-size:clamp(1.8rem,3vw,2.6rem)}
.tt-placepg__title{font-size:clamp(2.2rem,5vw,3.6rem)}
.tt-gamehub__title{font-size:clamp(2rem,4.6vw,3.4rem)}
.tt-funnel__title{font-size:1.55rem}
.tt-map__card-town{font-size:clamp(1.6rem,2.4vw,2.1rem)}
.tt-gamehub__sub,.tt-placepg__sub{font-family:var(--font-display);font-weight:600;text-transform:none;
  font-size:1.35rem;padding-left:0}
.tt-gamehub__sub::before,.tt-placepg__sub::before{display:none}
.tt-gamehub__sub::after,.tt-placepg__sub::after{content:"";display:block;width:44px;height:3px;background:var(--hot);margin-top:.5rem}

/* Hero: serif over photography, no outline stroke */
.tt-hero__title{font-family:var(--font-display);font-weight:600;text-transform:none;
  line-height:1.02;letter-spacing:-.015em;font-size:clamp(2.6rem,6.4vw,5.2rem)}
.tt-hero__line{font-family:inherit}
.tt-hero__line:first-child{font-family:var(--font-cond);font-weight:700;text-transform:uppercase;
  letter-spacing:.22em;font-size:.24em;color:var(--gold-bright)}
.tt-hero__line--big{color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.45)}
.tt-hero__line--gold{-webkit-text-stroke:0;text-stroke:0;color:var(--gold-bright);padding-bottom:0;
  font-style:italic}
.tt-hero__line--gold::after{display:none}
.tt-hero__index .t{font-family:var(--font-display);font-weight:600;text-transform:none;font-size:1.05rem}

/* Keep the scoreboard voice where it belongs */
.tt-kickoff__unit b,.tt-stat__num,.tt-rank__num,.tt-ticker__label,.tt-daily__num,
.tt-hero__index .n{font-family:var(--font-black)}

/* Serif deks stay; body copy warms */
.tt-hero__text{color:#efe9dc}
.tt-daily__dek,.tt-story__dek,.tt-roadtrip__dek,.tt-minicard__dek,.tt-placepg__dek{color:var(--ink-soft)}
.tt-roadtrip__dek{color:#d6cfc2}

/* =========================================================================
   STRUCTURE — light bands by default, dark only for drama
   ========================================================================= */
.tt-band{background:var(--canvas);color:var(--ink)}
.tt-band--paper,.tt-band--alt,.tt-stats{background:var(--canvas-2) !important;color:var(--ink)}
.tt-band .tt-more,.tt-band--paper .tt-more,.tt-band--alt .tt-more{color:var(--hot)}
.tt-band .tt-kick__label{color:var(--hot)}
.tt-kick__bars i:nth-child(2){background:var(--ink)}
.tt-kick__bars i:nth-child(3){background:var(--warm-mut)}

/* Dark drama sections */
.tt-roadtrip{background:var(--dark);color:#f2ede2}
.tt-roadtrip .tt-kick__label{color:var(--gold-bright)}
.tt-map,.tt-band.tt-map{background:var(--dark);color:#f2ede2}
.tt-map .tt-headline{color:#f6f1e6}
.tt-map .tt-kick__label{color:var(--gold-bright)}
.tt-destinations{background:var(--dark)}

/* Latest (firehose) becomes light editorial cards */
.tt-band:has(.tt-fire){background:var(--canvas)}
.tt-fire__card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--hot);color:var(--ink)}
.tt-fire__title{color:var(--ink);font-family:var(--font-display);font-weight:600;text-transform:none;font-size:1.12rem}
.tt-fire__card:hover{border-color:var(--hot)}
.tt-fire__card:hover .tt-fire__title{color:var(--hot)}
.tt-fire__meta{color:var(--warm-mut)}
.tt-fire__img{background-color:#e3dac7}
.tt-fire__card .tt-fire__num,.tt-fire__card .fn{color:rgba(33,26,18,.08)}
.tt-fire__card.k2{border-top-color:var(--ink)}
.tt-fire__card.k2 .ft,.tt-cat-tag--gold{background:var(--ink);color:var(--canvas)}

/* Ticker: quiet masthead strip, crimson label */
.tt-ticker{background:var(--ink-deep);border-bottom:1px solid rgba(246,241,230,.12)}
.tt-ticker__label{background:var(--hot);color:#fff;letter-spacing:.16em}
.tt-ticker__item b{color:var(--gold-bright)}
.tt-ticker__dot{background:#fff}

/* Header masthead */
.tt-header{background:var(--ink-deep);border-bottom-color:rgba(246,241,230,.12)}
.tt-logo__town,.tt-logo__tailgate{color:#f6f1e6}
.tt-logo b span,.tt-logo__mark{color:#f6f1e6}

/* Hero photo treatment: warmer scrim, no red radials */
.tt-hero{background-color:var(--dark)}
.tt-hero__scrim{background:
  linear-gradient(100deg,rgba(16,13,10,.88) 8%,rgba(16,13,10,.45) 55%,rgba(16,13,10,.18) 100%),
  linear-gradient(to top,rgba(16,13,10,.92),transparent 55%) !important}
.tt-hero__eyebrow{color:var(--gold-bright)}
.tt-hero__eyebrow::before{background:var(--hot)}
.tt-hero__popular a{border-radius:2px}
.tt-kickoff{border-top-color:var(--hot);background:rgba(16,13,10,.82)}

/* Week cards, daily briefing, stories, guide — refine on the light canvas */
.tt-week__card,.tt-daily__lead,.tt-minicard{background:#fff;border-color:var(--line)}
.tt-week__meta{color:var(--hot)}
.tt-week__go{color:var(--hot)}
.tt-week__card:hover .tt-week__vs{color:var(--hot)}
.tt-daily__lead{border-top-color:var(--hot)}
.tt-daily__stamp{background:var(--hot)}
.tt-daily__num{-webkit-text-stroke-color:var(--ink)}
.tt-daily__row{border-bottom-color:var(--line)}
.tt-cat-tag{background:var(--hot)}
.tt-label--lead{background:var(--hot);border-color:var(--hot)}
.tt-guide__ico{border-radius:2px}
.tt-guide__col--eat .tt-guide__ico{background:var(--hot)}
.tt-guide__col--drink .tt-guide__ico{background:var(--ink)}
.tt-guide__col--do .tt-guide__ico{background:var(--warm-mut);color:#fff}
.tt-place__town{color:var(--hot)}
.tt-guide__colhead{border-bottom-color:var(--ink)}

/* Planner card: one contained dark moment on the light page */
.tt-planner{background:var(--canvas)}
.tt-planner__card{border-left-color:var(--hot);border-radius:2px}

/* Newsletter: solid crimson, quiet */
.tt-newsletter{background:var(--hot)}
.tt-newsletter__form .tt-btn--gold{background:var(--ink-deep);color:#fff}
.tt-newsletter__form input[type="email"]{border-radius:2px}

/* Funnel panel: ink block with crimson spine (auto-recolored by tokens) */
.tt-funnel{background:var(--dark);border-left-color:var(--hot);border-radius:2px}
.tt-funnel__links a{background:var(--dark-2)}
.tt-funnel__links a:hover{color:var(--gold-bright)}
.tt-funnel__kick{color:var(--gold-bright)}

/* Game hub + place page on the light canvas */
.tt-gamehub__layout{color:var(--ink)}
.tt-placepg__gameday{border-left-color:var(--hot);background:var(--canvas-2)}
.tt-placepg__near{background:var(--canvas-2)}
.tt-placepg__eyebrow{color:var(--hot)}
.tt-goodfor span{border-radius:2px}

/* Map: warm the field + pins to match */
.tt-map__field{background:radial-gradient(120% 90% at 50% 40%,#221c15 0%,#161210 60%,#100d0a 100%)}
.tt-map__glow{background:radial-gradient(circle,rgba(158,27,50,.22),transparent 62%)}
.tt-map__geo path{stroke:rgba(231,220,196,.3)}
.tt-map__card{background:var(--dark-2);border-left-color:var(--hot)}
.tt-map__hint{color:var(--warm-mut)}

/* Rankings (Football section): light board */
.tt-band--alt .tt-rank__name{font-family:var(--font-cond)}

/* Soften remaining motion */
.tt-reveal{transform:translateY(14px)}

/* =========================================================================
   IMPACT PASS — cover-grade scale. Pop = scale contrast, not decoration.
   Tiny kickers → enormous display type → photography that owns the frame.
   ========================================================================= */

/* Type scale explosion: headlines become statements */
.tt-hero{min-height:92vh;align-items:flex-end;padding-bottom:clamp(2rem,4vw,3.4rem)}
.tt-hero__title{font-size:clamp(3.2rem,8.6vw,7.6rem);line-height:.96;letter-spacing:-.02em}
.tt-hero__text{font-size:1.2rem;max-width:38rem}
.tt-headline{font-size:clamp(2.4rem,5.4vw,4.4rem);letter-spacing:-.018em;line-height:.98}
.tt-headrow{margin-bottom:2.2rem;align-items:flex-end}
.tt-daily__title{font-size:clamp(1.9rem,3.2vw,2.8rem)}
.tt-roadtrip__title{font-size:clamp(2.4rem,4.6vw,4.2rem);letter-spacing:-.018em}
.tt-story__title{font-size:clamp(1.9rem,3vw,2.6rem)}
.tt-placepg__title{font-size:clamp(2.8rem,7vw,5.4rem)}
.tt-gamehub__title{font-size:clamp(2.4rem,6vw,4.6rem)}
.tt-funnel__title{font-size:1.8rem}
.tt-map__card-town{font-size:clamp(1.9rem,2.8vw,2.6rem)}

/* Oversized scoreboard numerals where they live */
.tt-daily__num{font-size:2rem;-webkit-text-stroke-width:1.6px}
.tt-kickoff__unit b{font-size:56px}

/* THIS WEEKEND: the first game becomes the full-bleed Game of the Week */
@media(min-width:861px){
  .tt-week__grid{grid-template-columns:1.9fr 1fr;grid-auto-rows:1fr}
  .tt-week__card:first-child{grid-row:span 2;position:relative;justify-content:flex-end;
    min-height:480px;background:var(--dark);border:0}
  .tt-week__card:first-child .tt-week__media{position:absolute;inset:0;aspect-ratio:auto}
  .tt-week__card:first-child .tt-week__media::after{content:"";position:absolute;inset:0;
    background:linear-gradient(to top,rgba(16,13,10,.94) 8%,rgba(16,13,10,.35) 55%,rgba(16,13,10,.08) 100%)}
  .tt-week__card:first-child .tt-week__body{position:relative;z-index:2;padding:1.8rem;color:#fff;align-items:flex-start}
  .tt-week__card:first-child .tt-cat-tag{position:static;margin-bottom:.5rem;align-self:flex-start}
  .tt-week__card:first-child .tt-week__vs{font-size:clamp(2.2rem,3.6vw,3.4rem);color:#fff;line-height:.98}
  .tt-week__card:first-child:hover .tt-week__vs{color:var(--gold-bright)}
  .tt-week__card:first-child .tt-week__meta{color:#e7dcc4}
  .tt-week__card:first-child .tt-week__where{color:#cfc6b2}
  .tt-week__card:first-child .tt-week__go{color:var(--gold-bright)}
}

/* STORIES: the lead story's headline block overlaps its photograph */
@media(min-width:861px){
  .tt-story--lead .tt-story__body{margin-top:-3.6rem;margin-right:14%;position:relative;
    background:var(--canvas-2);padding:1.5rem 1.6rem 0 0}
}

/* ROAD TRIP: headline breaks out of its column, over the image */
@media(min-width:901px){
  .tt-roadtrip__card{overflow:visible}
  .tt-roadtrip__title{margin-left:-34%;position:relative;z-index:2;
    text-shadow:0 2px 30px rgba(16,13,10,.55)}
}

/* Dominant CTAs */
.tt-hero__go{padding:16px 30px;font-size:14px}
.tt-funnel__cta{padding:15px 24px}

/* Mobile: keep it tight but still loud */
@media(max-width:680px){
  .tt-hero{min-height:78vh}
  .tt-hero__title{font-size:clamp(2.6rem,11vw,3.6rem)}
  .tt-headline{font-size:2.1rem}
}
