/* Ricky Bobby Music theme: the band's own race-livery look (rickybobbymusic.com, October 2026)
   layered over bands/band.css. Racing Sans One display, Barlow body, Barlow Condensed labels;
   racing red, racing blue, black and white; flat panels, racing stripes, checkered-flag edges.
   No Bangers, Archivo or Plex anywhere on the page; no halftone dots, tilted frames or ink
   outlines. Fonts are local (bands/themes/fonts/), copied to assets/fonts/ by the build. */
@font-face{font-family:'Barlow';src:url('fonts/Barlow-400i.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'Barlow';src:url('fonts/Barlow-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Barlow';src:url('fonts/Barlow-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Barlow';src:url('fonts/Barlow-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Barlow';src:url('fonts/Barlow-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('fonts/BarlowCondensed-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('fonts/BarlowCondensed-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('fonts/BarlowCondensed-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Racing Sans One';src:url('fonts/RacingSansOne-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}

/* ---------- tokens: the band site's palette replaces the agency's paper and ink ---------- */
:root{
 --racing-red:#b91f32;--red-deep:#941829;--red-light:#f5dfe2;--red-on-dark:#ff8f9a;
 --racing-blue:#173f78;--navy:#0f2747;--navy-soft:#16335c;--blue-light:#e0e7f1;
 --black:#111214;--white:#fff;--paper:#f2f4f3;--ink:#1a1b1e;--ink-soft:#4b4f53;--rule:#727a7d;--rule-soft:#c9ced3;
 --rocket-red:var(--racing-red);--atomic-teal:var(--racing-blue);--deep-teal:var(--navy);--signal-yellow:var(--blue-light);
 --line:2px solid var(--navy);
 --display:'Racing Sans One','Arial Black',Impact,sans-serif;--body:Barlow,Arial,sans-serif;--label:'Barlow Condensed','Arial Narrow',Arial,sans-serif;
 --checker:repeating-conic-gradient(var(--black) 0 25%,var(--white) 0 50%) 0 0/16px 16px;
 --livery:repeating-linear-gradient(-55deg,var(--racing-blue) 0 28px,var(--white) 28px 40px,var(--racing-red) 40px 68px,var(--white) 68px 80px,var(--black) 80px 96px,var(--white) 96px 108px);
 --shadow-print:6px 6px 0 var(--blue-light)}

/* ---------- base type ---------- */
body{font-family:var(--body);font-size:18px;line-height:1.6;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.05;letter-spacing:-.02em;text-transform:none;text-shadow:none;text-wrap:balance;overflow-wrap:break-word;color:var(--racing-blue)}
h2{font-size:clamp(2.1rem,3.6vw,3.4rem)}h3{font-size:1.65rem}
a{color:inherit;text-underline-offset:.18em}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--racing-blue);outline-offset:4px}
.eyebrow{font:600 1rem/1.4 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--racing-red)}
.frame-caption,.photo-grid figcaption,.photo-lead figcaption,.cover-photos .cap{font:600 .9rem/1.4 var(--label);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}

/* Buttons: the band's .btn. Condensed uppercase, 2px rule, a short navy print shadow on the solid one. */
.button{font:700 1.05rem/1.2 var(--label);letter-spacing:.06em;text-transform:uppercase;min-height:48px;padding:.7rem 1.6rem;gap:14px;border:2px solid var(--navy);border-radius:2px;background:var(--racing-red);color:var(--white);box-shadow:4px 4px 0 var(--navy);transition:background .15s,color .15s,border-color .15s}
.button:hover{transform:none;box-shadow:4px 4px 0 var(--navy);background:var(--red-deep)}
.button.light,.button.yellow{background:transparent;color:inherit;border-color:currentColor;box-shadow:none}
.button.light:hover,.button.yellow:hover{background:var(--blue-light);color:var(--ink);border-color:var(--blue-light)}
.actions{gap:1rem}

/* ---------- header: racing-blue bar, red/white/black stripe under it ---------- */
.band-nav{background:linear-gradient(115deg,#0d2a55 0%,var(--racing-blue) 45%,#2457a3 100%);color:var(--white);border-bottom:0}
.band-nav::after{content:"";display:block;height:6px;background:linear-gradient(180deg,var(--racing-red) 0 33%,var(--white) 33% 66%,var(--black) 66% 100%)}
.band-nav-inner{min-height:72px;gap:24px}
.band-nav .band-name,.band-menu .band-name{display:flex;flex-direction:column;gap:.35em;font:1.55rem/1 var(--display);letter-spacing:.03em;text-transform:uppercase;color:var(--white);text-shadow:none;padding:6px 0}
.band-nav .band-name::after,.band-menu .band-name::after{content:"Ladies and gentlemen, start your engines!";font:italic 600 .68rem/1 var(--label);letter-spacing:.04em;text-transform:uppercase;color:#dfe7f3;white-space:nowrap}
.band-nav-links ul{gap:2px}
.band-nav-links ul a{display:inline-flex;align-items:center;height:52px;padding:0 .8rem;font:600 1rem/1 var(--label);letter-spacing:.08em;text-transform:uppercase;color:var(--white);border:2px solid transparent;border-radius:2px;transition:border-color .15s}
.band-nav-links ul a:hover{text-decoration:none;border-color:var(--white)}
.band-nav-links ul a[aria-current]{background:transparent;color:var(--white);border-color:transparent;box-shadow:inset 0 -4px 0 var(--racing-red)}
.band-nav .band-book{min-height:52px;padding:0 1.2rem;font-size:1rem;background:var(--racing-red);color:var(--white);border-color:var(--white);box-shadow:none}
.band-nav .band-book:hover{background:var(--white);color:var(--racing-blue)}
.band-nav .band-book[aria-current]{background:var(--white);color:var(--racing-blue)}
.band-menu-button{font:700 .95rem/1 var(--label);letter-spacing:.08em;text-transform:uppercase;background:transparent;color:var(--white);border:2px solid var(--white);border-radius:2px;box-shadow:none;min-height:48px;padding:8px 14px}
.band-nav :focus-visible{outline-color:var(--white)}
/* Phone menu: the same blue, big display links, red marks the page you are on. */
.band-menu{background:var(--navy);color:var(--white);padding:20px 20px 32px}
.band-menu::backdrop{background:var(--black)}
.band-menu .band-name{font-size:1.4rem}
.band-menu-close{font:700 .95rem/1 var(--label);letter-spacing:.08em;text-transform:uppercase;background:transparent;color:var(--white);border:2px solid var(--white);border-radius:2px;box-shadow:none}
.band-menu ul{margin:36px 0 28px}
.band-menu ul a{font:2.2rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--white);padding:18px 0;border-bottom:1px solid rgba(255,255,255,.28)}
.band-menu ul a[aria-current]{background:transparent;color:var(--red-on-dark);text-shadow:none;border-color:transparent;border-bottom-color:rgba(255,255,255,.28);box-shadow:inset 6px 0 0 var(--racing-red);padding-left:16px}
.band-menu .band-book{background:var(--racing-red);color:var(--white);border-color:var(--white);box-shadow:none;font-size:1.1rem}
.band-menu :focus-visible{outline-color:var(--white)}

/* ---------- home hero: the band site's light hero, wordmark, plate, livery in motion ---------- */
.band-hero{background:var(--paper);color:var(--ink);border-bottom:0}
.band-hero::before{display:none}
.band-hero.has-race::after{content:"";display:block;position:absolute;left:0;right:0;bottom:0;top:auto;width:auto;height:16px;background:var(--checker);opacity:1;transform:none;z-index:3}
.has-race .stripe-field{opacity:.9;background:repeating-linear-gradient(90deg,var(--blue-light) 0 130px,transparent 130px 156px,var(--racing-red) 156px 208px,transparent 208px 226px,var(--black) 226px 242px,transparent 242px 460px)}
.has-race .speed-line{background:linear-gradient(90deg,transparent,var(--racing-red),transparent)}
.has-race .sl-2,.has-race .sl-5,.has-race .sl-7,.has-race .sl-11,.has-race .sl-14{background:linear-gradient(90deg,transparent,var(--racing-blue),transparent)}
.has-race .sl-3,.has-race .sl-6,.has-race .sl-9,.has-race .sl-12{background:linear-gradient(90deg,transparent,var(--black),transparent)}
.band-hero-inner{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4rem;padding:56px 0 72px}
.band-hero .kicker{color:var(--racing-red);margin-bottom:12px}
.band-hero h1{font-size:clamp(3rem,5.4vw,5.6rem);line-height:.92;letter-spacing:.01em;text-transform:uppercase;color:var(--navy);text-shadow:none;margin:.3rem 0 1rem}
.band-hero h1 .wm-line{display:block}
.band-hero h1 .wm-line-2{color:var(--racing-red)}
.band-hero h1 .wm-plate{display:inline-block;margin-top:.35rem;padding:.08em .5em .1em;background:var(--navy);color:var(--paper);font-size:.56em;letter-spacing:.14em;transform:skewX(-8deg);box-shadow:6px 6px 0 var(--blue-light)}
.band-hero .lede{font:400 clamp(1.05rem,1.4vw,1.2rem)/1.6 var(--body);color:var(--ink-soft);max-width:520px;margin-top:1.1rem}
.band-hero .actions{margin-top:1.75rem}
.band-hero .actions .button{background:var(--racing-red);color:var(--white);border-color:var(--navy)}
.band-hero .actions .button.light{background:transparent;color:var(--ink);border-color:var(--ink);box-shadow:none}
.band-hero .actions .button.light:hover{background:var(--blue-light);border-color:var(--blue-light)}
.band-hero-media{transform:none;margin:8px 20px 0 0}
.band-hero .frame{background:var(--black);border:3px solid var(--navy);box-shadow:10px 10px 0 var(--racing-red),20px 20px 0 var(--navy)}
.band-hero .frame-caption{display:inline-block;color:var(--ink-soft);margin-top:34px;padding:5px 9px;background:rgba(242,244,243,.9)}

/* ---------- interior page hero: the band site's black stage header ---------- */
.page-hero{background:var(--black);color:var(--white);border-top:6px solid var(--racing-red);border-bottom:6px solid var(--racing-blue)}
.page-hero::before{inset:0;background-image:linear-gradient(112deg,transparent 0 46%,rgba(23,63,120,.55) 46% 52%,transparent 52% 56%,rgba(185,31,50,.5) 56% 60%,transparent 60% 63%,rgba(224,231,241,.14) 63% 66%,transparent 66%);background-size:auto;opacity:1}
.page-hero-inner{padding:48px 0 52px;gap:clamp(24px,3vw,40px)}
.page-hero-inner.has-photo{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.page-hero-copy{border-left:6px solid var(--racing-red);padding-left:clamp(16px,2vw,28px)}
.page-hero .kicker{color:var(--white);margin-bottom:10px}
.page-hero h1{font-size:clamp(2.3rem,4.2vw,4rem);line-height:1.02;letter-spacing:-.025em;color:var(--white);text-shadow:none;max-width:none}
.page-hero .lede{font-size:clamp(1.1rem,1.3vw,1.25rem);line-height:1.55;color:#e5e9ef;margin-top:16px;max-width:none}
.page-hero .actions{margin-top:22px}
.page-hero .actions .button{background:var(--white);color:var(--navy);border-color:var(--white);box-shadow:4px 4px 0 var(--racing-red)}
.page-hero .actions .button:hover{background:var(--blue-light);border-color:var(--blue-light)}
.page-hero .actions .button.light{background:transparent;color:var(--white);border-color:var(--white);box-shadow:none}
.page-hero .actions .button.light:hover{background:var(--white);color:var(--navy)}
.page-hero-media{transform:none;margin:0}
.page-hero-media .shot{border:2px solid var(--blue-light);box-shadow:8px 8px 0 var(--racing-blue)}
.page-hero :focus-visible{outline-color:var(--white)}
.chips{gap:8px 8px;margin-top:20px}
.chips li,.chips li:nth-child(even){font:600 .85rem/1.3 var(--label);letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--white);border-radius:2px;background:transparent;color:var(--white)}

/* ---------- section grammar: a race-program rule above every opener ---------- */
.band-section{padding:clamp(3rem,6vw,4.5rem) 0}
.band-section+.band-section{padding-top:0}
.section-heading{border-top:2px solid var(--navy);padding-top:1.5rem;margin-bottom:2rem;align-items:end}
.section-heading .eyebrow{display:block;background:transparent;color:var(--racing-red);border:0;padding:0;box-shadow:none;margin-bottom:10px}
.section-heading>p:not(.eyebrow){font-size:1.0625rem;line-height:1.6;color:var(--ink-soft);max-width:440px}
.panel{border:1px solid var(--rule-soft);border-radius:3px;background:var(--white);box-shadow:none}
.dots::after,.shot::after{display:none}
.frame{background:var(--black);border:3px solid var(--navy);box-shadow:10px 10px 0 var(--racing-red),20px 20px 0 var(--navy)}
.shot img{font:600 .9rem/1.4 var(--label);color:var(--white)}
.link-row a{font:600 1rem/1.2 var(--label);letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--navy);border-radius:2px;background:transparent;color:var(--navy);box-shadow:none;padding:.6rem 1.2rem}
.link-row a:hover{background:var(--blue-light)}

/* ---------- home: cover lines as the band site's program cards ---------- */
.cover{gap:2.5rem}
.cover-lines{gap:1.25rem}
.cover-line{background:var(--white);color:var(--ink);border:1px solid var(--rule-soft);border-bottom:5px solid var(--racing-red);border-radius:3px;box-shadow:none;padding:1.25rem 1.5rem 1.35rem;gap:10px 18px;transition:border-color .15s}
.cover-line:hover{transform:none;border-color:var(--navy);border-bottom-color:var(--racing-red)}
.cover-lines li:nth-child(2) .cover-line,.cover-lines li:nth-child(3) .cover-line{box-shadow:none}
.cover-line .num{font:700 .85rem/1.2 var(--label);letter-spacing:.1em;text-transform:uppercase;background:var(--blue-light);color:var(--racing-blue);border:1px solid var(--racing-blue);border-radius:2px;padding:4px 9px;box-shadow:none;margin-top:5px}
.cover-line h3{font:700 1.6rem/1.15 var(--label);letter-spacing:-.01em;color:var(--racing-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em;margin-bottom:6px}
.cover-line:hover h3{color:var(--racing-red);text-decoration-thickness:2px}
.cover-line p{font-size:1.0625rem;color:var(--ink-soft)}
.cover-line .go{font:700 .95rem/1.2 var(--label);letter-spacing:.08em;text-transform:uppercase;color:var(--racing-red)}
.cover-line:hover .go{text-decoration:none}
.cover-line.book{background:var(--navy);color:var(--white);border-color:var(--navy);border-bottom-color:var(--racing-red);box-shadow:none}
.cover-line.book .num{background:var(--racing-red);color:var(--white);border-color:var(--white)}
.cover-line.book h3{color:var(--white)}.cover-line.book:hover h3{color:var(--blue-light)}
.cover-line.book p{color:#dfe7f3}.cover-line.book .go{color:var(--red-on-dark)}
.cover-photos{gap:1.25rem}
.cover-photos a,.cover-photos a:first-child,.cover-photos a:nth-child(2){transform:none;border:1px solid var(--rule-soft);border-radius:3px;background:var(--white);box-shadow:none;overflow:hidden}
.cover-photos a:hover,.cover-photos a:first-child:hover{transform:none;border-color:var(--navy)}
.cover-photos .shot{border-bottom:5px solid var(--racing-red)}
.cover-photos .cap{padding:10px 14px}

/* ---------- home: the band on black, driver credentials ---------- */
#band{position:relative;background:var(--black);color:var(--white);padding:clamp(3rem,6vw,4.5rem) 0}
#band::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:var(--checker);background-size:14px 14px}
#band .section-heading{border-top-color:var(--white)}
#band .section-heading .eyebrow{color:var(--blue-light)}
#band .section-heading h2{color:var(--white)}
#band .section-heading>p:not(.eyebrow){color:#d0d6d8}
.members{gap:1.5rem;align-items:stretch}
.member,.member:nth-child(2),.member:nth-child(3){margin-top:0;padding:0 0 1.5rem;background:var(--white);color:var(--ink);border:1px solid var(--rule-soft);border-radius:3px;box-shadow:none;overflow:hidden}
.member .shot{margin:0 0 1.25rem;border:0;border-bottom:8px solid var(--racing-red);aspect-ratio:4/3;background:var(--navy)}
.member>:not(.shot){margin-left:1.5rem;margin-right:1.5rem}
.member h3{font:700 2rem/1.1 var(--label);color:var(--racing-red);margin-bottom:8px}
.member .role{display:inline-block;font:600 .9rem/1.3 var(--label);letter-spacing:.1em;text-transform:uppercase;background:var(--blue-light);color:var(--racing-blue);border:1px solid var(--racing-blue);border-radius:2px;padding:3px 9px;margin-bottom:14px}
.member p{font-size:1.0625rem;line-height:1.6;color:var(--ink)}
#band :focus-visible{outline-color:var(--white)}

/* ---------- home: straight talk. A red banner with checkered edges beside the review card. ---------- */
#track{position:relative;isolation:isolate;overflow:hidden;padding:clamp(3rem,6vw,4.5rem) 0}
#track::before{content:"";position:absolute;inset:-20% -10%;z-index:-1;transform:skewY(-12deg);pointer-events:none;background:linear-gradient(180deg,transparent 0 54%,var(--racing-red) 54% 61%,var(--white) 61% 64%,var(--racing-blue) 64% 74%,transparent 74%);opacity:.9}
.track{gap:2.5rem;align-items:center}
.track-panel{background:var(--racing-red);color:var(--white);border:0;border-radius:0;box-shadow:none;padding:2.75rem 2.25rem;isolation:auto;overflow:visible}
.track-panel::before,.track-panel::after{content:"";position:absolute;left:0;right:0;height:14px;background:var(--checker);background-size:14px 14px;opacity:1;z-index:1;inset:auto 0}
.track-panel::before{top:0}.track-panel::after{bottom:0}
.track-panel .eyebrow{color:var(--white);margin-bottom:12px}
.track-panel h3{font:italic clamp(1.9rem,2.8vw,2.7rem)/1.02 var(--display);letter-spacing:-.01em;text-transform:uppercase;color:var(--white);text-shadow:4px 4px 0 var(--navy);transform:skewX(-6deg);margin-bottom:16px}
.track-panel p:not(.eyebrow){font-size:1.0625rem;line-height:1.6}
.track-proof .tag{display:block;margin:0 0 20px;padding:0;background:transparent;border:0;box-shadow:none;font:italic clamp(1.6rem,3vw,2.6rem)/1 var(--display);letter-spacing:.01em;word-spacing:.12em;text-transform:uppercase;color:var(--racing-blue);text-shadow:3px 3px 0 var(--racing-red);transform:skewX(-6deg);text-wrap:balance}
.track .quote,.quote{position:relative;transform:none;max-width:none;background:var(--white);border:3px solid var(--black);border-radius:0;box-shadow:10px 10px 0 var(--black);padding:40px 32px 30px}
.quote::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:var(--checker);background-size:14px 14px}
.quote::after{content:"\201C";position:absolute;right:18px;top:-10px;font:7rem/1 var(--display);color:var(--racing-red);text-shadow:4px 4px 0 var(--black);pointer-events:none}
.track .quote p,.quote p{font:500 clamp(1.05rem,1.5vw,1.3rem)/1.5 var(--body);letter-spacing:0;color:var(--ink);padding-right:40px}
.quote footer{font:600 .95rem/1.3 var(--label);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);gap:8px 14px;margin-top:18px}
.quote footer .stars{color:var(--racing-red);font-size:1.6rem;letter-spacing:2px;text-shadow:2px 2px 0 var(--black)}
.quote footer b{display:inline-block;background:var(--racing-blue);color:var(--white);font-weight:700;font-size:1.05rem;padding:4px 12px;transform:skewX(-10deg)}
.quote footer a{color:var(--racing-red);font-weight:700}

/* ---------- set list: the band's navy song ledger ---------- */
.song-groups{column-gap:1.5rem}
.song-group,.song-group:nth-child(3n+2),.song-group:nth-child(3n){background:var(--navy);color:var(--white);border:0;border-top:5px solid var(--blue-light);border-radius:3px;box-shadow:none;padding:1.25rem 1.5rem 1.4rem;margin-bottom:1.5rem}
.song-group h3{font:700 1.15rem/1.3 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-light);border-bottom:2px solid var(--blue-light);padding-bottom:.5rem;margin-bottom:.6rem;justify-content:space-between}
.song-group h3 small{font:600 .9rem/1 var(--label);letter-spacing:.1em;color:var(--red-on-dark)}
.songs li{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-bottom:1px solid #2a4a78;font-size:1.05rem}
.songs li:last-child{border-bottom:0}
.songs li b{font-weight:600;color:var(--white);min-width:0}
.songs li span{display:block;font:500 .92rem/1.3 var(--label);letter-spacing:.04em;text-transform:none;opacity:1;color:#b9bec2;text-align:right;flex:none;max-width:48%}
.setlist-note{font-size:1.0625rem;color:var(--ink-soft)}
.requests{background:var(--blue-light);color:var(--ink);border:0;border-left:8px solid var(--racing-red);border-radius:0 3px 3px 0;box-shadow:none;padding:1.5rem 2rem;max-width:900px}
.requests .eyebrow{color:var(--racing-red);font-size:1.15rem;letter-spacing:.08em;text-transform:none;font-weight:700;margin-bottom:8px}
.requests p{font-size:1.0625rem}

/* ---------- media: video frame, then photos as program covers ---------- */
.watch{gap:2.5rem}
.watch>div h3{font:italic clamp(1.6rem,2.6vw,2.4rem)/1.05 var(--display)!important;text-transform:uppercase;color:var(--racing-blue);margin-bottom:10px}
.watch p{font-size:1.0625rem;color:var(--ink-soft)}
.watch figure{margin:0 20px 20px 0}
.photo-grid{gap:1.5rem}
.photo-grid figure,.photo-grid figure:nth-child(3n+2),.photo-grid figure:nth-child(3n),.photo-lead{border:1px solid var(--rule-soft);border-radius:3px;background:var(--white);box-shadow:none;overflow:hidden}
.photo-grid .shot,.photo-lead .shot{border-bottom:5px solid var(--racing-red)}
.photo-grid figcaption,.photo-lead figcaption{padding:10px 14px}

/* ---------- book the band: the stripe divider, the white form, the navy note ---------- */
#book{padding-top:0}
#book::before{content:"";display:block;height:18px;background:var(--livery);margin-bottom:clamp(3rem,6vw,4.5rem)}
.book-panel{gap:2rem}
.book-panel .panel{padding:2rem 2rem 2.25rem;border:1px solid var(--rule-soft);border-top:8px solid var(--racing-red);border-radius:3px;background:var(--white);box-shadow:var(--shadow-print)}
.book-panel aside.panel{background:var(--navy);color:var(--white);border:0;border-top:8px solid var(--racing-red);box-shadow:none}
.book-panel aside .eyebrow{color:var(--blue-light)}
.book-panel aside h2{font-size:clamp(1.7rem,2.4vw,2.3rem);color:var(--white);text-shadow:none;margin-bottom:14px}
.book-panel aside p{font-size:1.0625rem;line-height:1.6}
.book-form{gap:18px 20px}
.book-form label{font:700 .9rem/1.3 var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.book-form .req{color:var(--racing-red)}
.book-form input,.book-form select,.book-form textarea{font:400 1rem/1.3 var(--body);padding:10px 12px;min-height:46px;border:1px solid var(--rule);border-radius:2px;background:var(--white);color:var(--ink);box-shadow:none}
.book-form select{background-color:var(--white);background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 19px,calc(100% - 14px) 19px;background-size:6px 6px;background-repeat:no-repeat}
.book-form input:focus-visible,.book-form select:focus-visible,.book-form textarea:focus-visible{outline:3px solid var(--racing-blue);outline-offset:2px}
.book-form .form-foot .button{background:var(--racing-red);color:var(--white)}
.book-form [role=status]{font:600 1rem/1.4 var(--body)}
.presented-by{font:700 .85rem/1 var(--label);letter-spacing:.1em;text-transform:uppercase;background:var(--white);color:var(--ink);border:1px solid var(--rule-soft);border-radius:3px;box-shadow:none;padding:12px 16px;margin-top:20px}
.presented-by:hover{transform:none;border-color:var(--navy)}
.book-panel aside :focus-visible{outline-color:var(--white)}

/* ---------- footer: black, a checkered flag along the top ---------- */
.band-footer{background:var(--black);color:var(--paper);border-top:0;padding:0 0 2rem}
.band-footer::before{content:"";position:static;display:block;height:16px;inset:auto;background:var(--checker);opacity:1;margin-bottom:3rem}
.band-footer-inner{gap:2.5rem 3rem;grid-template-columns:1.4fr 1fr}
.band-footer .eyebrow{font:700 1rem/1.3 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-light);margin-bottom:12px}
.band-footer-name{font:1.8rem/1 var(--display);letter-spacing:.03em;text-transform:uppercase;color:var(--white);text-shadow:none;margin-bottom:12px}
.band-footer-brand p:not(.eyebrow):not(.band-footer-name){font-size:1rem;color:#c6cacd}
.band-footer-brand .actions .button{background:var(--racing-red);color:var(--white);border-color:var(--white);box-shadow:none}
.band-footer-brand .actions .button:hover{background:var(--white);color:var(--racing-blue)}
.band-footer ul{gap:10px}
.band-footer ul a{font:400 1rem/1.3 var(--body);color:#c6cacd;border-bottom:2px solid transparent;padding-bottom:1px}
.band-footer ul a:hover{text-decoration:none;color:var(--white);border-bottom-color:var(--racing-red)}
.band-footer ul a[aria-current]{text-decoration:none;color:var(--white);border-bottom-color:var(--racing-red)}
.band-footer-credit{font:600 .85rem/1.4 var(--label);letter-spacing:.1em;text-transform:uppercase;color:#b9bec2;border-top:1px solid #34383c;padding-top:18px;margin-top:12px}
.band-footer-credit a{color:#c6cacd}.band-footer-credit a:hover{color:var(--white)}
.band-footer :focus-visible{outline-color:var(--white)}

/* ---------- responsive ---------- */
@media(max-width:1050px){
 .band-hero-inner{grid-template-columns:1fr 1fr;gap:2.5rem}
 .cover-photos{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:860px){
 .band-nav-inner{min-height:64px}
 .band-nav .band-name{font-size:1.3rem}.band-nav .band-name::after{font-size:.58rem}
}
@media(max-width:760px){
 body{font-size:17px}
 h2{font-size:clamp(1.9rem,8vw,2.6rem)}
 .band-hero-inner{grid-template-columns:1fr;gap:2rem;padding:32px 0 48px}
 .band-hero h1{font-size:clamp(3rem,13.5vw,4.4rem);line-height:.92;text-shadow:none}
 .band-hero h1 .wm-plate{font-size:.5em}
 .band-hero .lede{font-size:1.05rem;max-width:none}
 .band-hero .actions .button{flex:1;font-size:.95rem;padding:12px 10px;gap:10px}
 .band-hero-media{margin:0 14px 0 0}
 .band-hero .frame{box-shadow:6px 6px 0 var(--racing-red),12px 12px 0 var(--navy)}
 .band-hero .frame-caption{margin-top:26px}
 .page-hero-inner,.page-hero-inner.has-photo{grid-template-columns:1fr;padding:32px 0 36px;gap:24px}
 .page-hero-copy{border-left-width:5px;padding-left:14px}
 .page-hero h1{font-size:clamp(2rem,9.5vw,3rem);line-height:1.02;text-shadow:none}
 .page-hero .lede{font-size:1.05rem}
 .page-hero-media .shot{box-shadow:6px 6px 0 var(--racing-blue)}
 .section-heading{padding-top:1.25rem;margin-bottom:1.5rem}
 .section-heading>p:not(.eyebrow){margin-top:12px;max-width:none}
 .cover{gap:2rem}.cover-line{padding:1rem 1rem 1.1rem;gap:8px 12px}.cover-line h3{font-size:1.4rem}
 .cover-photos{grid-template-columns:1fr 1fr;gap:1rem}.cover-photos a:first-child{grid-column:1/-1}
 .members{gap:1.25rem}.member{padding-bottom:1.25rem}.member .shot{margin-bottom:1rem}.member>:not(.shot){margin-left:1.25rem;margin-right:1.25rem}.member h3{font-size:1.8rem}
 #track::before{inset:auto -10% -12%;height:58%;transform:skewY(-10deg);background:linear-gradient(180deg,transparent 0 28%,var(--racing-red) 28% 40%,var(--white) 40% 44%,var(--racing-blue) 44% 60%,transparent 60%)}
 .track{gap:2rem}.track-panel{padding:2.25rem 1.25rem}.track-panel h3{font-size:1.75rem}
 .track-proof .tag{margin-left:0;font-size:1.7rem}
 .track .quote,.quote{padding:36px 18px 24px;box-shadow:7px 7px 0 var(--black)}
 .quote::after{font-size:5rem;top:-6px;right:12px}
 .quote p,.track .quote p{font-size:1.05rem;padding-right:0}
 .song-group{padding:1rem 1rem 1.1rem;margin-bottom:1.1rem}
 .songs li span{max-width:50%}
 .requests{padding:1.25rem 1.1rem;border-left-width:6px}
 .watch{gap:1.5rem}.watch figure{margin:0 12px 12px 0}
 .frame{box-shadow:6px 6px 0 var(--racing-red),12px 12px 0 var(--navy)}
 .book-panel{gap:1.5rem}.book-panel .panel{padding:1.25rem 1rem 1.5rem;box-shadow:none}.book-form{gap:14px}
 .band-footer{padding-bottom:1.5rem}.band-footer::before{margin-bottom:2rem}.band-footer-inner{grid-template-columns:1fr;gap:1.75rem}
 .band-footer-name{font-size:1.6rem}
}
@media(max-width:380px){
 .band-nav .band-name{font-size:1.15rem}.band-nav .band-name::after{font-size:.52rem}
 .band-menu-button{padding:8px 10px;font-size:.85rem}
}
/* review right after the hero; the backing-track panel then runs full width */
.track.track-solo{grid-template-columns:1fr}
.review-lead .quote{max-width:980px;margin:0;transform:none}
