:root{
  --paper:#efe4ca; --paper2:#e6d6b3; --ink:#1a2742; --ink2:#2b3c60;
  --gold:#c0902f; --maroon:#7a2230; --muted:#6e6442; --line:#c2ad7e;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Oswald',sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(var(--ink) 0.5px, transparent 0.6px);background-size:6px 6px;opacity:.05;}
.page{position:relative;z-index:1;max-width:980px;margin:0 auto;padding:0 20px;}
a:focus-visible,button:focus-visible{outline:3px solid var(--maroon);outline-offset:2px;}
[hidden]{display:none !important;}

/* ---- TOP BAR / NAV ---- */
.topbar{background:var(--ink);color:var(--paper);position:relative;z-index:2;}
.topbar .inner{max-width:980px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.topbar .brand{font-family:'Graduate';font-size:15px;letter-spacing:1px;color:var(--paper);text-decoration:none;white-space:nowrap;}
.topbar .brand span{color:var(--gold);}
.topbar nav{display:flex;gap:18px;flex-wrap:wrap;}
.topbar nav a{font-family:'Oswald';font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);text-decoration:none;padding:2px 0;border-bottom:2px solid transparent;}
.topbar nav a:hover{border-bottom-color:var(--gold);}
.topbar nav a.gift{color:var(--gold);}

/* ---- MASTHEAD ---- */
.masthead{padding:44px 0 0;text-align:center;}
.mast-eyebrow{font-family:'Special Elite';font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--maroon);}
.mast-title{font-family:'Graduate';font-size:clamp(40px,9vw,92px);line-height:.96;text-transform:uppercase;letter-spacing:1px;margin:14px 0 0;}
.mast-title .gold{color:var(--gold);}
.mast-rule{height:5px;margin:20px auto 0;max-width:640px;background:repeating-linear-gradient(90deg,var(--ink) 0 14px,transparent 14px 20px);}
.mast-sub{font-family:'Oswald';font-weight:600;font-size:clamp(15px,2.4vw,20px);letter-spacing:.18em;text-transform:uppercase;margin-top:18px;}
.mast-meta{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin-top:14px;font-family:'Special Elite';font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
.mast-meta b{color:var(--maroon);font-weight:400;}

/* ---- HERO PHOTO PLATE ---- */
.plate{margin:34px auto 0;max-width:860px;position:relative;}
.plate .frame{border:3px solid var(--ink);background:var(--ink);display:block;}
.plate img{display:block;width:100%;height:auto;filter:contrast(1.02);}
.plate .cutline{font-family:'Special Elite';font-size:12px;letter-spacing:1px;color:var(--muted);padding:10px 4px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.plate .pricecorner{position:absolute;top:-16px;right:-10px;background:var(--gold);color:var(--ink);border:2px solid var(--ink);padding:10px 16px;transform:rotate(3deg);text-decoration:none;text-align:center;box-shadow:3px 3px 0 var(--ink);z-index:1;}
.plate .pricecorner .l1{font-family:'Special Elite';font-size:10px;letter-spacing:2px;display:block;}
.plate .pricecorner .l2{font-family:'Anton';font-size:24px;letter-spacing:1px;display:block;line-height:1.1;}
@media(max-width:640px){.plate .pricecorner{right:0;}}

/* ---- CTA BUTTONS ---- */
.cta-row{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;align-items:center;margin:30px 0 0;}
.btn{display:inline-block;font-family:'Graduate';font-size:18px;letter-spacing:1px;text-transform:uppercase;text-decoration:none;padding:16px 38px;background:var(--maroon);color:var(--paper);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);}
.btn:hover{transform:translate(1px,1px);box-shadow:3px 3px 0 var(--ink);}
.btn small{display:block;font-family:'Oswald';font-weight:600;font-size:11px;letter-spacing:.2em;opacity:.85;}
.textlink{font-family:'Special Elite';font-size:13px;letter-spacing:1px;color:var(--ink);text-decoration:underline;text-underline-offset:4px;}

/* ---- BOX SCORE STATS ---- */
.boxscore{margin:44px 0 0;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);display:grid;grid-template-columns:repeat(3,1fr);}
.boxscore .cell{padding:18px 10px;text-align:center;border-right:1px solid var(--line);}
.boxscore .cell:last-child{border-right:none;}
.boxscore .num{font-family:'Anton';font-size:clamp(28px,5vw,44px);color:var(--maroon);line-height:1;}
.boxscore .lbl{font-family:'Special Elite';font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:6px;}
@media(max-width:560px){.boxscore{grid-template-columns:1fr;}.boxscore .cell{border-right:none;border-bottom:1px solid var(--line);}.boxscore .cell:last-child{border-bottom:none;}}

/* ---- SECTION HEADERS ---- */
.sec{padding:60px 0 0;}
.sec-tag{font-family:'Special Elite';font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--maroon);}
.sec-title{font-family:'Graduate';font-size:clamp(28px,5.4vw,52px);text-transform:uppercase;line-height:1.02;margin-top:8px;}
.sec-title .gold{color:var(--gold);}

/* ---- PROMO BANNER (date-gated) ---- */
.promo-banner{margin:44px 0 0;border:3px solid var(--maroon);background:var(--paper2);padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.promo-banner .txt .k{font-family:'Special Elite';font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--maroon);}
.promo-banner .txt .h{font-family:'Graduate';font-size:clamp(18px,3.4vw,26px);text-transform:uppercase;line-height:1.1;margin-top:4px;}
.promo-banner .btn{font-size:15px;padding:12px 26px;white-space:nowrap;}

/* ---- THE LINEUP ---- */
.lineup{margin-top:26px;border:3px solid var(--ink);background:var(--paper);}
.bout{display:grid;grid-template-columns:86px 1fr auto;gap:0;border-bottom:2px solid var(--ink);}
.bout:last-child{border-bottom:none;}
.bout .no{font-family:'Anton';font-size:40px;color:var(--paper);background:var(--ink);display:flex;align-items:center;justify-content:center;padding:18px 0;}
.bout .body{padding:20px 22px;}
.bout .name{font-family:'Graduate';font-size:clamp(20px,3.6vw,30px);text-transform:uppercase;line-height:1.05;}
.bout .desc{font-size:15px;color:var(--ink2);max-width:52ch;margin-top:8px;}
.bout .desc b{color:var(--maroon);}
.bout .side{padding:20px 22px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:10px;text-align:right;min-width:170px;}
.bout .price{font-family:'Anton';font-size:30px;color:var(--maroon);line-height:1;}
.bout .price small{font-family:'Special Elite';font-size:11px;color:var(--muted);display:block;letter-spacing:1px;}
.bout .go{font-family:'Graduate';font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--paper);background:var(--maroon);border:2px solid var(--ink);padding:9px 16px;text-decoration:none;box-shadow:3px 3px 0 var(--ink);white-space:nowrap;}
.bout .go:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ink);}
.bout.headliner{background:var(--paper2);}
.bout.headliner .no{background:var(--maroon);}
.bout .tag{display:inline-block;font-family:'Special Elite';font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--paper);background:var(--maroon);padding:2px 8px;margin-bottom:6px;}
@media(max-width:680px){.bout{grid-template-columns:56px 1fr;}.bout .no{font-size:26px;}.bout .side{grid-column:2;flex-direction:row;justify-content:space-between;align-items:center;padding-top:0;}}

/* ---- COUPON ---- */
.coupon-wrap{margin:70px 0 0;padding:8px;}
.coupon{position:relative;border:3px dashed var(--ink);background:var(--paper2);padding:38px 30px;text-align:center;}
.coupon .scissors{position:absolute;top:-10px;left:34px;background:var(--paper);padding:0 10px;font-family:'Special Elite';font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--maroon);}
.coupon .free{font-family:'Anton';font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--paper);background:var(--maroon);display:inline-block;padding:4px 14px;}
.coupon h2{font-family:'Graduate';font-size:clamp(26px,5vw,44px);text-transform:uppercase;line-height:1.05;margin-top:14px;}
.coupon .sub{font-family:'Special Elite';font-size:14px;letter-spacing:.5px;color:var(--ink2);max-width:56ch;margin:14px auto 6px;}
.coupon .kit-slot{max-width:520px;margin:18px auto 0;}
.coupon .fine{font-family:'Special Elite';font-size:11px;letter-spacing:1px;color:var(--muted);margin-top:16px;}
/* Kit embed, dressed for the coupon (classes verified against the injected form) */
.coupon .formkit-form,.coupon .formkit-form[data-uid]{background:transparent !important;border:none !important;box-shadow:none !important;}
.coupon .formkit-background{background:transparent !important;}
.coupon .formkit-header,.coupon .formkit-subheader,.coupon .formkit-guarantee{display:none !important;}
.coupon .formkit-input{font-family:'Oswald',sans-serif !important;font-size:16px !important;color:var(--ink) !important;background:#fdf8ec !important;border:2px solid var(--ink) !important;border-radius:0 !important;}
.coupon .formkit-submit,.coupon .formkit-submit span{font-family:'Graduate',sans-serif !important;letter-spacing:1px;text-transform:uppercase;}
.coupon .formkit-submit{background:var(--maroon) !important;color:var(--paper) !important;border:2px solid var(--ink) !important;border-radius:0 !important;box-shadow:3px 3px 0 var(--ink);}

/* ---- ON THE AIR ---- */
.onair{margin-top:26px;border:3px solid var(--ink);background:var(--ink);color:var(--paper);padding:34px 30px;}
.onair .row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center;}
.onair .k{font-family:'Special Elite';font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);}
.onair h3{font-family:'Graduate';font-size:clamp(24px,4.4vw,38px);text-transform:uppercase;line-height:1.05;margin-top:8px;color:var(--paper);}
.onair p{font-size:15px;color:#d9d2bd;max-width:52ch;margin-top:10px;}
.onair .btn{background:var(--gold);color:var(--ink);border-color:var(--paper);box-shadow:4px 4px 0 rgba(0,0,0,.4);}
.onair .stations{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px;font-family:'Special Elite';font-size:12px;letter-spacing:1px;}
.onair .stations a{color:var(--gold);text-decoration:underline;text-underline-offset:4px;}
.onair .guestline{margin-top:16px;font-family:'Special Elite';font-size:13px;color:#d9d2bd;}
.onair .guestline a{color:var(--gold);}

/* ---- THE LETTER ---- */
.letter-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:34px;margin-top:26px;align-items:start;}
.letter{background:#f7efdb;border:1px solid var(--line);box-shadow:4px 4px 0 rgba(26,39,66,.18);padding:36px 34px;font-family:'Special Elite';font-size:15px;line-height:1.9;color:#26314e;}
.letter .from{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--maroon);margin-bottom:22px;}
.letter p{margin-bottom:18px;}
.letter .sig{margin-top:26px;}
.letter .sig .fire{color:var(--maroon);}
.letter .sig .name{font-family:'Graduate';font-size:22px;margin-top:6px;color:var(--ink);}
.letter-photo .frame{border:3px solid var(--ink);display:block;}
.letter-photo img{display:block;width:100%;height:auto;}
.letter-photo .cutline{font-family:'Special Elite';font-size:11.5px;letter-spacing:1px;color:var(--muted);padding:8px 2px 0;}
@media(max-width:760px){.letter-grid{grid-template-columns:1fr;}}

/* ---- NOTICES (testimonials) ---- */
.notices{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px;}
.notice{border:2px solid var(--ink);background:var(--paper2);padding:24px 24px 20px;}
.notice .q{font-family:'Special Elite';font-size:14px;line-height:1.8;color:#26314e;}
.notice .who{font-family:'Graduate';font-size:15px;margin-top:16px;text-transform:uppercase;}
.notice .where{font-family:'Special Elite';font-size:11px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;margin-top:2px;}
@media(max-width:680px){.notices{grid-template-columns:1fr;}}

/* ---- FINAL WHISTLE ---- */
.final{margin:70px -20px 0;background:var(--ink);color:var(--paper);text-align:center;padding:64px 20px 70px;}
.final .k{font-family:'Special Elite';font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);}
.final h2{font-family:'Graduate';font-size:clamp(34px,7vw,68px);text-transform:uppercase;line-height:1;margin-top:12px;color:var(--paper);}
.final h2 .gold{color:var(--gold);}
.final p{font-family:'Special Elite';font-size:14px;letter-spacing:1px;color:#d9d2bd;margin-top:16px;}
.final .btn{margin-top:28px;background:var(--gold);color:var(--ink);border-color:var(--paper);box-shadow:4px 4px 0 rgba(0,0,0,.4);}
.final .after{margin-top:16px;}
.final .after a{color:var(--gold);}

/* ---- FOOTER ---- */
footer{background:var(--ink);color:#d9d2bd;border-top:1px solid var(--ink2);padding:30px 20px 40px;text-align:center;}
footer .fbrand{font-family:'Graduate';font-size:16px;color:var(--paper);letter-spacing:1px;}
footer .ftag{font-family:'Special Elite';font-size:12px;letter-spacing:2px;color:var(--gold);margin-top:6px;}
footer nav{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:18px;}
footer nav a{font-family:'Oswald';font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#d9d2bd;text-decoration:none;}
footer nav a:hover{color:var(--gold);}
footer .copy{font-size:11px;color:#8b8977;margin-top:18px;font-family:'Oswald';}

/* ================= LIFE: print-shop & stadium motion ================= */

/* Wire ticker under the nav — stadium score feed */
.ticker{background:var(--ink);border-top:1px solid var(--ink2);border-bottom:3px solid var(--gold);overflow:hidden;white-space:nowrap;position:relative;z-index:2;}
.ticker .track{display:inline-block;padding:7px 0;font-family:'Special Elite';font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);animation:tick 40s linear infinite;will-change:transform;}
.ticker .track span{padding-right:8px;}
@keyframes tick{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* Masthead load-in — the press lays down the cover, line by line */
.js .mast-eyebrow{opacity:0;animation:rise .7s ease forwards .1s;}
.js .mast-title{opacity:0;animation:rise .8s cubic-bezier(.2,.8,.2,1) forwards .3s;}
.js .mast-rule{transform:scaleX(0);animation:draw .7s ease forwards .7s;}
.js .mast-sub{opacity:0;animation:rise .7s ease forwards .85s;}
.js .mast-meta{opacity:0;animation:rise .7s ease forwards 1s;}
.js .plate{opacity:0;animation:rise .9s ease forwards .7s;}
.js .cta-row{opacity:0;animation:rise .8s ease forwards 1.15s;}
.js .plate .pricecorner{opacity:0;animation:stamp .45s cubic-bezier(.34,1.56,.64,1) forwards 1.5s;}
@keyframes rise{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@keyframes draw{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes stamp{0%{opacity:0;transform:rotate(12deg) scale(1.8);}70%{opacity:1;transform:rotate(2deg) scale(.95);}100%{opacity:1;transform:rotate(3deg) scale(1);}}

/* Scroll reveals — paper settling onto the desk */
.js .rv{opacity:0;transform:translateY(26px) rotate(var(--tilt,0deg));transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);}
.js .rv.in{opacity:1;transform:translateY(0) rotate(var(--tilt,0deg));}

/* Scrapbook resting tilts + tape */
.letter{--tilt:-.4deg;transform:rotate(var(--tilt));}
.letter-photo{--tilt:1deg;transform:rotate(var(--tilt));position:relative;}
.notice:nth-child(odd){--tilt:-.5deg;transform:rotate(var(--tilt));}
.notice:nth-child(even){--tilt:.6deg;transform:rotate(var(--tilt));}
.letter-photo::before,.notice::before{content:"";position:absolute;top:-13px;left:50%;transform:translateX(-50%) rotate(-4deg);width:110px;height:28px;background:rgba(222,205,160,.85);box-shadow:0 2px 3px rgba(26,39,66,.2);z-index:2;}
.notice::before{width:84px;height:22px;top:-10px;}
.notice:nth-child(even)::before{transform:translateX(-50%) rotate(5deg);}

/* Hero photo drift — the one layer that moves at its own speed */
.plate .frame{overflow:hidden;}
.plate img{transform:scale(1.1) translateY(var(--py,0px));will-change:transform;transition:filter .4s ease;}
.plate:hover img{filter:contrast(1.14);}
.letter-photo img{transition:filter .4s ease;}
.letter-photo:hover img{filter:contrast(1.14);}

/* Fight card hover — the row leans in */
.bout{transition:background .25s ease;}
.bout:not(.headliner):hover{background:#f4ead2;}
.bout:hover .no{background:var(--maroon);transition:background .25s ease;}

/* Coupon hover — the page wants to be cut */
.coupon{transition:transform .3s ease;}
.coupon:hover{transform:rotate(-.35deg);}
.coupon:hover .scissors{color:var(--ink);}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .ticker .track{animation:none;}
  .js .mast-eyebrow,.js .mast-title,.js .mast-rule,.js .mast-sub,.js .mast-meta,.js .plate,.js .cta-row,.js .plate .pricecorner{opacity:1;animation:none;transform:none;}
  .js .plate .pricecorner{transform:rotate(3deg);}
  .js .rv{opacity:1;transform:rotate(var(--tilt,0deg));transition:none;}
  .plate img{transform:none;}
}

/* ---- Slim nav: key tabs + a native More accordion (added 2026-07-05) ---- */
.topbar details.more{position:relative;}
.topbar details.more summary{list-style:none;cursor:pointer;font-family:'Oswald';font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);padding:2px 0;border-bottom:2px solid transparent;}
.topbar details.more summary::-webkit-details-marker{display:none;}
.topbar details.more summary::after{content:' \25BE';color:var(--gold);}
.topbar details.more[open] summary{border-bottom-color:var(--gold);}
.topbar .moremenu{position:absolute;right:0;top:calc(100% + 12px);background:var(--ink);border:2px solid var(--gold);padding:12px 18px;display:flex;flex-direction:column;gap:11px;z-index:60;min-width:160px;box-shadow:4px 4px 0 rgba(0,0,0,.35);}
.topbar .moremenu a{font-family:'Oswald';font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);text-decoration:none;}
.topbar .moremenu a:hover{color:var(--gold);}
@media(max-width:640px){.topbar .moremenu{position:static;border:none;border-top:1px solid rgba(239,228,202,.25);box-shadow:none;margin-top:8px;padding:10px 0 0;min-width:0;}}
