/* Suede theme: design study C "Every Saturday Night" (Bob, 2026-10-19), with the suede and
   leather worked through the whole look: brushed suede nap on the grounds, pebbled saddle leather
   on the frames and the belt, saddle stitching, brass snaps and conchos, and a fringe under the hero.
   Every texture is CSS or inline SVG noise; no generated images. Study palette (night, paper, red,
   yellow) plus the leather browns. Big Shoulders Display over Barlow and Barlow Condensed.
   Fonts are local (bands/themes/fonts/), copied to assets/fonts/ by the build. */
@font-face{font-family:'Big Shoulders Display';src:url('fonts/BigShouldersDisplay-wght.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow';src:url('fonts/Barlow-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow';src:url('fonts/Barlow-400i.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Barlow';src:url('fonts/Barlow-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow';src:url('fonts/Barlow-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow';src:url('fonts/Barlow-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('fonts/BarlowCondensed-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('fonts/BarlowCondensed-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('fonts/BarlowCondensed-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* ---------- tokens ---------- */
:root{
 --night:#15100D;--night-2:#1F1814;--night-3:#2A201A;--line:#3A2D24;
 --paper:#F2E8D5;--muted:#C9B9A1;--red:#E8432F;--red-deep:#B8301F;--red-dark:#962516;--yellow:#F6C343;
 --tobacco:#4A2E1B;--saddle:#7A4A28;--suede:#9C6A40;--oxblood:#5A1C14;--thread:#E9D3A6;--brass:#C9A24B;--brass-hi:#F1D48A;
 --white:var(--night-2);--rocket-red:var(--red);--atomic-teal:var(--yellow);--deep-teal:var(--yellow);--signal-yellow:var(--yellow);
 --display:'Big Shoulders Display','Oswald','Arial Narrow',Impact,sans-serif;
 --cond:'Barlow Condensed','Arial Narrow',Arial,sans-serif;
 --sans:'Barlow','Helvetica Neue',Arial,sans-serif;
 /* Suede nap: fine, slightly directional fibers. Overlaid on a brown ground. */
 --nap:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95 .42' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
 /* Pebbled leather: low-frequency noise lit from the upper left, so the grain reads as relief. */
 --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.11' numOctaves='3' seed='7' stitchTiles='stitch'/%3E%3CfeDiffuseLighting lighting-color='%23ffffff' surfaceScale='2.4'%3E%3CfeDistantLight azimuth='225' elevation='52'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
 --brushed:linear-gradient(118deg,rgba(255,230,190,.07) 0%,rgba(255,230,190,0) 22%,rgba(0,0,0,.14) 38%,rgba(255,230,190,.05) 56%,rgba(0,0,0,.1) 74%,rgba(255,230,190,.06) 100%);
 --shadow:0 26px 50px -24px rgba(0,0,0,.85);
 --shadow-deep:0 44px 80px -30px rgba(0,0,0,.95)}

/* Leather and suede surfaces, used by several components. */
.sd-suede{background-color:var(--tobacco);background-image:var(--brushed),var(--nap);background-blend-mode:normal,overlay;background-size:auto,260px 260px}

/* ---------- base type ---------- */
html{scroll-padding-top:90px}
body{font-family:var(--sans);font-size:18px;line-height:1.6;color:var(--paper);background-color:var(--night);background-image:var(--nap);background-blend-mode:soft-light;background-size:260px 260px}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:.98;letter-spacing:.01em;text-transform:uppercase;text-shadow:none;color:var(--paper);text-wrap:balance;overflow-wrap:break-word}
h2{font-size:clamp(40px,5vw,72px)}
h3{font-size:clamp(26px,2.4vw,34px);line-height:1}
h1 em,h2 em{font-style:normal;color:var(--yellow)}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,iframe:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:2px}
::selection{background:var(--yellow);color:var(--night)}
.cap,.eyebrow,.kicker{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:14px;line-height:1.3;color:var(--yellow)}
.kicker,.section-heading .eyebrow{display:flex;align-items:center;gap:12px;background:none;border:0;box-shadow:none;padding:0;margin:0 0 16px;color:var(--yellow)}
.kicker::before,.section-heading .eyebrow::before{content:"";width:30px;height:0;border-top:2px dashed var(--thread);flex:none;opacity:.8}
.frame-caption,.photo-grid figcaption,.cover-photos .cap{font:400 15px/1.45 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}

/* Buttons: deep red leather with a stitched inner edge, or a brass-rimmed outline. */
.button{position:relative;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:16px;line-height:1.1;min-height:50px;padding:13px 26px;gap:10px;border:0;border-radius:4px;
 background-color:var(--red-deep);background-image:var(--grain);background-blend-mode:soft-light;background-size:220px 220px;color:var(--paper);
 box-shadow:inset 0 1px 0 rgba(255,220,200,.25),inset 0 -2px 0 rgba(0,0,0,.3),0 6px 16px -8px rgba(0,0,0,.8);transition:background-color .2s,transform .2s}
.button::after{content:"";position:absolute;inset:5px;border:1.5px dashed rgba(242,232,213,.55);border-radius:2px;pointer-events:none}
.button:hover{transform:translateY(-1px);background-color:var(--red-dark);color:var(--paper);box-shadow:inset 0 1px 0 rgba(255,220,200,.2),inset 0 -2px 0 rgba(0,0,0,.3),0 10px 20px -8px rgba(0,0,0,.85)}
.button.light,.button.yellow{background-color:rgba(21,16,13,.4);background-image:none;color:var(--paper);box-shadow:inset 0 0 0 2px var(--brass)}
.button.light::after,.button.yellow::after{border-color:rgba(201,162,75,.45)}
.button.light:hover,.button.yellow:hover{background-color:var(--brass);color:var(--night);box-shadow:inset 0 0 0 2px var(--brass)}
.button.light:hover::after{border-color:rgba(21,16,13,.4)}
.actions{gap:14px}

/* ---------- header: the logo on a dark leather bar with a stitched lower edge ---------- */
.band-nav{background-color:rgba(21,16,13,.96);background-image:var(--grain);background-blend-mode:soft-light;background-size:220px 220px;color:var(--paper);border-bottom:0;box-shadow:0 1px 0 #000,0 10px 30px -18px rgba(0,0,0,.9)}
.band-nav::after{content:"";position:absolute;left:0;right:0;bottom:5px;border-top:1.5px dashed rgba(233,211,166,.35);pointer-events:none}
.band-nav-inner{min-height:80px;gap:28px}
.band-nav .band-name,.band-menu .band-name{display:block;width:132px;height:34px;font-size:0;color:transparent;background:url('../images/logo-suede.svg') left center/contain no-repeat;padding:0;text-shadow:none;flex:none}
.band-nav-links{display:flex;justify-content:flex-end}
.band-nav-links ul{gap:2px}
.band-nav-links ul a{display:inline-flex;align-items:center;height:44px;padding:0 14px;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:15px;color:var(--paper);border:0;border-radius:0;position:relative;background:transparent;transition:color .15s}
.band-nav-links ul a::after{content:"";position:absolute;left:14px;right:14px;bottom:8px;border-top:2px dashed var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.band-nav-links ul a:hover{text-decoration:none;color:var(--yellow)}
.band-nav-links ul a:hover::after,.band-nav-links ul a[aria-current]::after{transform:scaleX(1)}
.band-nav-links ul a[aria-current]{background:transparent;color:var(--yellow);border:0;box-shadow:none;border-radius:0}
.band-nav .band-book{min-height:46px;padding:10px 20px;font-size:15px;margin-left:0}
.band-nav .band-book[aria-current]{background-color:var(--yellow);color:var(--night)}
.band-nav .band-book[aria-current]::after{border-color:rgba(21,16,13,.4)}
.band-menu-button{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:14px;background:transparent;color:var(--paper);border:1.5px solid var(--brass);border-radius:4px;box-shadow:none;min-height:44px;padding:8px 14px}
.band-menu-button:hover{background:var(--brass);color:var(--night)}
.band-menu{background-color:var(--night);background-image:var(--brushed),var(--nap);background-blend-mode:normal,soft-light;background-size:auto,260px 260px;color:var(--paper);padding:18px 16px 32px}
.band-menu::backdrop{background:#000}
.band-menu-close{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:14px;background:transparent;color:var(--paper);border:1.5px solid var(--brass);border-radius:4px;box-shadow:none;min-height:44px;padding:8px 16px}
.band-menu ul{margin:40px 0 28px}
.band-menu ul a{font:800 40px/1 var(--display);letter-spacing:.01em;text-transform:uppercase;color:var(--paper);padding:16px 0;border:0;border-bottom:1.5px dashed rgba(233,211,166,.3);background:transparent;box-shadow:none;border-radius:0}
.band-menu ul a[aria-current]{background:transparent;color:var(--yellow);text-shadow:none;border:0;border-bottom:1.5px dashed rgba(233,211,166,.3);box-shadow:none;border-radius:0}

/* ---------- section grammar ---------- */
.band-section{padding:clamp(72px,9vw,120px) 0;border-top:0;position:relative}
.band-section+.band-section{padding-top:clamp(72px,9vw,120px)}
.band-section.raise{background-color:var(--night-2);background-image:var(--brushed),var(--nap);background-blend-mode:normal,soft-light;background-size:auto,260px 260px}
.section-heading{align-items:end;gap:48px;margin-bottom:clamp(36px,4vw,56px)}
.section-heading>p:not(.eyebrow){max-width:460px;font-size:18px;color:var(--muted);line-height:1.55}
.section-heading q,.sd-quote-2 q,.requests q,.planner-faq q{quotes:"\201C" "\201D";color:var(--paper)}
.panel{border:0;border-radius:6px;background:var(--night-2);box-shadow:none}
.shot{background:var(--night-3)}
.shot:after{display:none}
.shot img{padding:0;color:var(--muted);font-family:var(--sans)}

/* Stitched leather frame with brass snaps: the video frames, photos and cards share it. */
.sd-stitch,.page-card,.sd-door,.sd-patch,.book-panel .panel{position:relative}
.frame.sd-stitch{aspect-ratio:16/9;border:0;border-radius:6px;padding:14px;overflow:visible;
 background-color:var(--saddle);background-image:var(--grain);background-blend-mode:multiply;background-size:220px 220px;
 box-shadow:inset 0 0 0 1px rgba(0,0,0,.5),inset 0 2px 0 rgba(255,220,180,.18),var(--shadow-deep)}
.frame.sd-stitch::before{content:"";position:absolute;inset:6px;border:2px dashed var(--thread);border-radius:3px;opacity:.75;pointer-events:none;z-index:2}
.frame.sd-stitch::after{content:"";position:absolute;inset:-7px;pointer-events:none;z-index:3;
 background:radial-gradient(circle at 7px 7px,var(--brass-hi) 0 2px,var(--brass) 3px 5px,#6b5020 6px,transparent 7px) top left/14px 14px no-repeat,
 radial-gradient(circle at 7px 7px,var(--brass-hi) 0 2px,var(--brass) 3px 5px,#6b5020 6px,transparent 7px) top right/14px 14px no-repeat,
 radial-gradient(circle at 7px 7px,var(--brass-hi) 0 2px,var(--brass) 3px 5px,#6b5020 6px,transparent 7px) bottom left/14px 14px no-repeat,
 radial-gradient(circle at 7px 7px,var(--brass-hi) 0 2px,var(--brass) 3px 5px,#6b5020 6px,transparent 7px) bottom right/14px 14px no-repeat}
.frame.sd-stitch iframe{position:relative;display:block;width:100%;height:100%;border:0;border-radius:2px;background:#000;box-shadow:0 0 0 1px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.6)}

/* ---------- home hero: the crowd in tobacco light, copy left, the film in a leather frame ---------- */
.band-hero.sd-hero{background:var(--night);color:var(--paper);border-bottom:0;min-height:min(calc(100vh - 80px),880px);display:flex;flex-direction:column;justify-content:center;padding-bottom:54px}
.band-hero.sd-hero:before,.band-hero.sd-hero:after{display:none}
.sd-hero .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;z-index:-3;filter:sepia(.35) saturate(1.1) brightness(.75)}
.sd-hero .scrim{position:absolute;inset:0;z-index:-2;pointer-events:none;background:
 linear-gradient(90deg,rgba(21,16,13,.95) 0%,rgba(21,16,13,.86) 38%,rgba(42,26,15,.55) 70%,rgba(21,16,13,.7) 100%),
 linear-gradient(0deg,rgba(21,16,13,.95) 0%,rgba(21,16,13,0) 45%)}
.sd-hero::before{display:block!important;content:""!important;position:absolute;inset:0;z-index:-1;background:var(--nap)!important;background-size:260px 260px!important;mix-blend-mode:overlay;opacity:.55!important;transform:none!important;width:auto!important;height:auto!important}
.sd-hero .band-hero-inner{grid-template-columns:1fr 1.05fr;gap:clamp(36px,5vw,72px);padding:clamp(48px,7vh,88px) 0 clamp(40px,5vh,64px)}
.sd-logo{display:block;width:clamp(200px,22vw,300px);height:auto;margin:0 0 22px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.6))}
.sd-shout{font:italic 600 clamp(17px,1.5vw,20px)/1.3 var(--sans);color:var(--yellow);margin:0 0 14px;letter-spacing:.01em}
.sd-shout span{color:var(--red)}
.sd-hero h1{font-size:clamp(44px,5.4vw,82px);line-height:.94;color:var(--paper);text-shadow:0 3px 18px rgba(0,0,0,.5);max-width:none}
.sd-hero .lede{font-size:clamp(18px,1.4vw,20px);line-height:1.55;max-width:560px;margin:22px 0 30px;color:var(--paper)}
.sd-hero .actions .button{color:var(--paper)}
.sd-hero .actions .button.light{background-color:rgba(21,16,13,.45)}
.sd-hero .actions .button.light:hover{background-color:var(--brass);color:var(--night)}
.sd-hero .band-hero-media{transform:rotate(1deg);margin:12px 14px 12px 0}
.sd-hero .frame-caption{margin-top:16px;color:var(--muted)}

/* The fringe: a stitched suede yoke with brass studs, and cut strips hanging from it. */
.sd-fringe{position:absolute;left:0;right:0;bottom:0;height:70px;z-index:2;pointer-events:none}
.sd-fringe::before{content:"";position:absolute;left:0;right:0;top:0;height:20px;
 background:radial-gradient(circle,var(--brass-hi) 0 1.5px,var(--brass) 2.5px 3.5px,transparent 4.5px) 0 50%/44px 20px repeat-x,
 linear-gradient(transparent 4px,rgba(233,211,166,.6) 4px 5.5px,transparent 5.5px calc(100% - 5.5px),rgba(233,211,166,.6) calc(100% - 5.5px) calc(100% - 4px),transparent calc(100% - 4px)),
 var(--nap),var(--suede);background-blend-mode:normal,normal,overlay,normal;background-size:44px 20px,auto,260px 260px,auto;box-shadow:0 3px 6px rgba(0,0,0,.5)}
.sd-fringe::after{content:"";position:absolute;left:0;right:0;top:20px;bottom:0;transform-origin:50% 0;
 background:var(--nap),linear-gradient(180deg,#8B5B34,var(--suede) 40%,#7a4f2c);background-blend-mode:overlay,normal;background-size:260px 260px,auto;
 -webkit-mask:repeating-linear-gradient(90deg,#000 0 7px,transparent 7px 10px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='130' height='50' preserveAspectRatio='none'%3E%3Cpath d='M0 0H130V42L120 47 110 38 100 50 90 41 80 46 70 36 60 49 50 40 40 47 30 39 20 50 10 42 0 46Z'/%3E%3C/svg%3E") 0 0/130px 100% repeat-x;
 -webkit-mask-composite:source-in;mask:repeating-linear-gradient(90deg,#000 0 7px,transparent 7px 10px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='130' height='50' preserveAspectRatio='none'%3E%3Cpath d='M0 0H130V42L120 47 110 38 100 50 90 41 80 46 70 36 60 49 50 40 40 47 30 39 20 50 10 42 0 46Z'/%3E%3C/svg%3E") 0 0/130px 100% repeat-x;mask-composite:intersect;
 filter:drop-shadow(0 4px 3px rgba(0,0,0,.55))}

/* ---------- 01 review: a tobacco suede patch, stitched, with the quote in display caps ---------- */
.sd-review{padding-top:clamp(56px,7vw,96px)}
.sd-patch{max-width:1080px;margin:0 auto;padding:clamp(36px,5vw,64px) clamp(26px,5vw,72px);border-radius:10px;text-align:center;
 background-color:var(--tobacco);background-image:var(--brushed),var(--nap);background-blend-mode:normal,overlay;background-size:auto,260px 260px;
 box-shadow:inset 0 0 0 1px rgba(0,0,0,.5),inset 0 0 60px rgba(0,0,0,.35),var(--shadow-deep)}
.sd-patch::before{content:"";position:absolute;inset:12px;border:2px dashed var(--thread);border-radius:6px;opacity:.6;pointer-events:none}
.sd-patch>.eyebrow{display:inline-flex;align-items:center;gap:12px;margin:0 0 18px}
.sd-patch>.eyebrow::before,.sd-patch>.eyebrow::after{content:"";width:30px;border-top:2px dashed var(--thread);opacity:.8}
.sd-quote{margin:0}
.sd-quote p{font:900 clamp(56px,9vw,128px)/.9 var(--display);text-transform:uppercase;color:var(--paper);margin:0;text-shadow:0 2px 0 rgba(0,0,0,.35),0 -1px 0 rgba(255,230,190,.12)}
.sd-quote footer{margin-top:18px;display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:16px}
.sd-quote footer b{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:15px;color:var(--yellow)}
.sd-quote-2{max-width:620px;margin:22px auto 0;color:var(--muted);font-size:18px}
.sd-rail{list-style:none;padding:0;margin:clamp(30px,4vw,44px) 0 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:2px dashed rgba(233,211,166,.35)}
.sd-rail li{padding:22px 10px 4px;border-left:2px dashed rgba(233,211,166,.2)}
.sd-rail li:first-child{border-left:0}
.sd-rail b{display:block;font:800 clamp(28px,3vw,40px)/1 var(--display);text-transform:uppercase;color:var(--yellow)}
.sd-rail span{display:block;margin-top:6px;font-size:15px;color:var(--muted)}

/* ---------- the rooms: a tooled leather belt with brass conchos, scrolling slowly ---------- */
.sd-belt{position:relative;overflow:hidden;padding:16px 0;margin:0;
 background-color:var(--saddle);background-image:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,0) 22%,rgba(0,0,0,0) 78%,rgba(0,0,0,.32)),var(--grain);background-blend-mode:normal,multiply;background-size:auto,220px 220px;
 box-shadow:0 1px 0 #000,0 -1px 0 #000,0 14px 30px -14px rgba(0,0,0,.9)}
.sd-belt::before,.sd-belt::after{content:"";position:absolute;left:0;right:0;border-top:2px dashed var(--thread);opacity:.65;z-index:1}
.sd-belt::before{top:7px}.sd-belt::after{bottom:7px}
.sd-belt-run{display:flex;width:max-content}
.sd-belt-track{display:flex;align-items:center;list-style:none;margin:0;padding:0;flex:none}
.sd-belt-track li{display:flex;align-items:center;white-space:nowrap;font:800 clamp(20px,2vw,26px)/1 var(--display);text-transform:uppercase;letter-spacing:.04em;color:#F7E9CC;text-shadow:0 -1px 0 rgba(0,0,0,.55),0 1px 0 rgba(255,220,170,.25);padding:14px 0}
.sd-belt-track li::after{content:"";width:22px;height:22px;margin:0 26px;border-radius:50%;flex:none;
 background:radial-gradient(circle at 38% 34%,#fff4cf 0 2px,var(--brass-hi) 3px,var(--brass) 7px,#7b5a1d 10px,#4a3410 11px);box-shadow:0 2px 3px rgba(0,0,0,.6)}
@media(prefers-reduced-motion:no-preference){
 .sd-belt-run{animation:sd-belt 70s linear infinite}
 .sd-belt:hover .sd-belt-run{animation-play-state:paused}
 @keyframes sd-belt{to{transform:translateX(-50%)}}
}
@media(prefers-reduced-motion:reduce){
 .sd-belt-run{width:auto;justify-content:center}
 .sd-belt-track{flex-wrap:wrap;justify-content:center;padding:0 16px}
 .sd-belt-track[aria-hidden]{display:none}
}

/* ---------- 02 two doors: oxblood and saddle leather cards ---------- */
.sd-door-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,40px)}
.sd-door{display:flex;flex-direction:column;border-radius:8px;padding:14px;
 background-color:var(--oxblood);background-image:var(--grain);background-blend-mode:soft-light;background-size:220px 220px;
 box-shadow:inset 0 0 0 1px rgba(0,0,0,.5),inset 0 2px 0 rgba(255,200,180,.12),var(--shadow-deep)}
.sd-door.gold{background-color:var(--saddle)}
.sd-door::before{content:"";position:absolute;inset:6px;border:2px dashed var(--thread);border-radius:5px;opacity:.6;pointer-events:none;z-index:2}
.sd-door .shot{aspect-ratio:16/10;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.6)}
.sd-door .shot img{transition:transform .6s ease}
.sd-door:hover .shot img{transform:scale(1.04)}
.sd-door-in{padding:26px clamp(14px,2vw,26px) 18px;display:flex;flex-direction:column;flex:1}
.sd-door-in .eyebrow{color:var(--yellow);margin-bottom:8px}
.sd-door h3{font-size:clamp(40px,4.2vw,60px);margin-bottom:16px}
.sd-door blockquote{margin:0 0 24px}
.sd-door blockquote p{font:italic 500 clamp(19px,1.6vw,22px)/1.45 var(--sans);color:var(--paper);margin:0}
.sd-door blockquote footer{margin-top:8px;font-size:14px;color:rgba(242,232,213,.75)}
.sd-door .button{align-self:flex-start;margin-top:auto}
.sd-door.gold .button{background-color:var(--yellow);color:var(--night)}
.sd-door.gold .button::after{border-color:rgba(21,16,13,.45)}
.sd-door.gold .button:hover{background-color:var(--brass-hi)}

/* ---------- 03 this month: a paper ticket stub on the suede ---------- */
.sd-shows{background-color:var(--tobacco);background-image:var(--brushed),var(--nap);background-blend-mode:normal,overlay;background-size:auto,260px 260px}
.sd-shows-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.sd-shows .sub{color:var(--muted);font-size:19px;margin-top:18px;max-width:440px}
.sd-ticket{position:relative;max-width:520px;justify-self:end;width:100%;background:var(--paper);color:#1F1408;border-radius:6px;transform:rotate(-1.5deg);
 box-shadow:var(--shadow-deep);
 -webkit-mask:radial-gradient(circle at 0 50%,transparent 16px,#000 17px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 16px,#000 17px) right/51% 100% no-repeat;
 mask:radial-gradient(circle at 0 50%,transparent 16px,#000 17px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 16px,#000 17px) right/51% 100% no-repeat}
.sd-ticket-top{margin:0;padding:14px 28px;background:var(--red-deep);color:var(--paper);font:700 15px/1 var(--cond);letter-spacing:.2em;text-transform:uppercase;border-radius:6px 6px 0 0}
.sd-ticket-body{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding:26px 32px;border-bottom:2px dashed rgba(31,20,8,.35)}
.sd-ticket time{display:flex;flex-direction:column;align-items:center;padding:8px 16px;border:2px solid #1F1408;border-radius:4px;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:14px;line-height:1.1}
.sd-ticket time b{font:900 56px/1 var(--display);letter-spacing:0;color:var(--red-deep)}
.sd-ticket .v{font:800 clamp(32px,3vw,42px)/1 var(--display);text-transform:uppercase;margin:0;color:#1F1408}
.sd-ticket .ct{margin:8px 0 0;font-size:17px;color:#5B4630}
.sd-ticket-foot{margin:0;padding:14px 32px 18px;font:600 14px/1.3 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:#5B4630}

/* ---------- 04 teasers: leather tag cards ---------- */
.page-cards{gap:28px}
.page-card{display:flex;flex-direction:column;border:0;border-radius:8px;padding:12px 12px 30px;
 background-color:var(--night-3);background-image:var(--grain);background-blend-mode:soft-light;background-size:220px 220px;
 box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,220,180,.1),var(--shadow);transition:transform .25s ease}
.page-card::before{content:"";position:absolute;inset:5px;border:1.5px dashed rgba(233,211,166,.45);border-radius:5px;pointer-events:none;z-index:2}
.page-cards li:nth-child(2) .page-card,.page-cards li:nth-child(3) .page-card{box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,220,180,.1),var(--shadow)}
.page-card .shot{aspect-ratio:3/2;border-radius:3px;margin-bottom:24px;border:0}
.page-card .shot img{transition:transform .6s ease}
.page-card .eyebrow{margin:0 18px 12px}
.page-card h3{font-size:clamp(30px,2.8vw,38px);margin:0 18px 10px}
.page-card p{font-size:16px;color:var(--muted);margin:0 18px 20px}
.page-card .go{margin:auto 18px 0;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:14px;color:var(--yellow)}
.page-card:hover{transform:translateY(-4px)}
.page-card:hover .shot img{transform:scale(1.04)}
a.page-card:hover .go{text-decoration:none;color:var(--brass-hi)}

/* ---------- interior page hero: suede ground, the photo in a stitched leather mat ---------- */
.page-hero{background-color:var(--tobacco);background-image:linear-gradient(90deg,rgba(21,16,13,.7),rgba(21,16,13,.15)),var(--brushed),var(--nap);background-blend-mode:normal,normal,overlay;background-size:auto,auto,260px 260px;color:var(--paper);border-bottom:0;position:relative}
.page-hero:before{display:none}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:var(--saddle);border-top:2px dashed rgba(233,211,166,.5);box-shadow:0 -1px 0 #000}
.page-hero-inner{padding:clamp(52px,6vw,88px) 0 clamp(60px,7vw,96px);gap:clamp(40px,5vw,80px)}
.page-hero-inner.has-photo{grid-template-columns:1.15fr .85fr;align-items:center}
.page-hero .kicker{color:var(--yellow);margin-bottom:16px}
.page-hero h1{font-size:clamp(48px,5.6vw,88px);line-height:.94;text-shadow:0 3px 16px rgba(0,0,0,.4);max-width:none}
.page-hero .lede{font-size:clamp(18px,1.4vw,20px);line-height:1.55;max-width:600px;margin-top:22px;color:var(--paper)}
.page-hero .actions{margin-top:30px}
.page-hero-media{position:relative;transform:rotate(1.2deg);margin:0;justify-self:end;width:min(100%,420px);padding:14px;border-radius:8px;
 background-color:var(--saddle);background-image:var(--grain);background-blend-mode:multiply;background-size:220px 220px;
 box-shadow:inset 0 0 0 1px rgba(0,0,0,.5),inset 0 2px 0 rgba(255,220,180,.18),var(--shadow-deep)}
.page-hero-media::before{content:"";position:absolute;inset:6px;border:2px dashed var(--thread);border-radius:4px;opacity:.7;pointer-events:none;z-index:2}
.page-hero-media .shot{aspect-ratio:4/5;border:0;border-radius:2px;outline:0;box-shadow:0 0 0 1px rgba(0,0,0,.6)}
.chips{gap:10px;margin-top:24px}
.chips li,.chips li:nth-child(even){font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:14px;padding:8px 14px;border:0;border-radius:999px;
 background-color:var(--suede);background-image:var(--nap);background-blend-mode:overlay;background-size:260px 260px;color:var(--paper);box-shadow:inset 0 0 0 1px rgba(0,0,0,.35),inset 0 0 0 4px var(--suede),inset 0 0 0 5.5px rgba(233,211,166,.5)}

/* ---------- set list ---------- */
.song-groups{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.song-group,.song-group:nth-child(3n+2),.song-group:nth-child(3n){position:relative;min-width:0;padding:30px 28px 30px;margin:0;border:0;border-radius:8px;
 background-color:var(--night-3);background-image:var(--grain);background-blend-mode:soft-light;background-size:220px 220px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),var(--shadow)}
.song-group::before{content:"";position:absolute;inset:6px;border:1.5px dashed rgba(233,211,166,.4);border-radius:5px;pointer-events:none}
.song-group h3{font-size:clamp(28px,2.4vw,34px);margin-bottom:14px;display:block}
.song-group h3 small{display:block;margin-top:8px;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--yellow)}
.songs li{padding:12px 0;border-bottom:1.5px dashed rgba(233,211,166,.18);font-size:18px;color:var(--paper)}
.songs li:last-child{border-bottom:0}
.songs li b{font-weight:600}
.songs li span{font:400 15px/1.45 var(--sans);letter-spacing:0;text-transform:none;opacity:1;color:var(--muted);margin-top:2px}
.songs li a{color:var(--yellow)}
.requests{margin-top:40px;padding:26px 30px;border-radius:8px;color:var(--paper);border:0;max-width:860px;position:relative;
 background-color:var(--tobacco);background-image:var(--nap);background-blend-mode:overlay;background-size:260px 260px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.5)}
.requests::before{content:"";position:absolute;inset:6px;border:1.5px dashed rgba(233,211,166,.45);border-radius:5px;pointer-events:none}
.requests .eyebrow{margin-bottom:10px}
.requests p{font-size:17px;color:var(--muted)}
.sd-steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sd-steps li{counter-increment:s;padding:24px 0 0;border-top:3px solid var(--red-deep)}
.sd-steps li::before{content:"0" counter(s);display:block;font:900 56px/1 var(--display);color:var(--yellow);margin-bottom:10px}
.sd-steps b{display:block;font:800 30px/1 var(--display);text-transform:uppercase;margin-bottom:8px}
.sd-steps span{color:var(--muted)}

/* ---------- media: three films, then a leather-matted photo wall ---------- */
.sd-films{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,40px)}
.sd-films figure{margin:0}
.sd-films figcaption{margin-top:18px;font:800 26px/1 var(--display);text-transform:uppercase;color:var(--paper)}
.sd-more{margin-top:36px;color:var(--muted)}
.sd-more a{color:var(--yellow)}
.sd-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:22px}
.sd-wall figure{margin:0;padding:10px 10px 12px;border-radius:6px;position:relative;
 background-color:var(--night-3);background-image:var(--grain);background-blend-mode:soft-light;background-size:220px 220px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),var(--shadow)}
.sd-wall figure::before{content:"";position:absolute;inset:4px;border:1.5px dashed rgba(233,211,166,.35);border-radius:4px;pointer-events:none}
.sd-wall .w2{grid-column:span 2}
.sd-wall .shot{aspect-ratio:1;border-radius:2px}
.sd-wall .w2 .shot{aspect-ratio:auto;height:calc(100% - 34px);min-height:220px}
.sd-wall .poster{transform:rotate(-1.4deg)}
.sd-wall .poster:nth-of-type(odd){transform:rotate(1.2deg)}
.sd-wall figcaption{padding:10px 4px 0;font:400 14px/1.4 var(--sans);color:var(--muted)}

/* ---------- press kit facts ---------- */
.sd-facts{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px dashed rgba(233,211,166,.35)}
.sd-facts div{padding:24px 24px 26px 0;border-bottom:2px dashed rgba(233,211,166,.18)}
.sd-facts dt{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:14px;color:var(--yellow)}
.sd-facts dd{margin:8px 0 0;font-size:18px;color:var(--paper)}

/* ---------- book: the planner's questions, then the form ---------- */
.faq-layout{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,80px);align-items:start}
.faq-intro{position:sticky;top:110px}
.faq-intro .key{color:var(--muted);font-size:18px;margin-top:18px;max-width:420px}
.planner-faq{border-top:2px dashed rgba(233,211,166,.4)}
.planner-faq details{border-bottom:1.5px dashed rgba(233,211,166,.2)}
.planner-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:16px 0;font:600 20px/1.3 var(--sans);color:var(--paper)}
.planner-faq summary::-webkit-details-marker{display:none}
.planner-faq summary::after{content:"+";flex:none;font:800 30px/1 var(--display);color:var(--yellow);transition:transform .2s}
.planner-faq details[open] summary::after{transform:rotate(45deg)}
.planner-faq summary:hover{color:var(--yellow)}
.planner-faq .a{padding:0 48px 22px 0}
.planner-faq .a p{color:var(--muted);font-size:17px}

#book{background-color:var(--night-2);background-image:var(--brushed),var(--nap);background-blend-mode:normal,soft-light;background-size:auto,260px 260px;border-top:0}
#book::before{content:"";position:absolute;left:0;right:0;top:0;height:12px;background-color:var(--saddle);background-image:var(--grain);background-blend-mode:multiply;background-size:220px 220px;border-bottom:2px dashed rgba(233,211,166,.5);box-shadow:0 1px 0 #000}
.book-panel{gap:28px}
.book-panel .panel{padding:38px;border-radius:8px;background-color:var(--night);background-image:var(--grain);background-blend-mode:soft-light;background-size:220px 220px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),var(--shadow)}
.book-panel .panel::before{content:"";position:absolute;inset:7px;border:1.5px dashed rgba(233,211,166,.35);border-radius:5px;pointer-events:none}
.book-panel aside.panel{background-color:var(--tobacco);background-image:var(--brushed),var(--nap);background-blend-mode:normal,overlay;background-size:auto,260px 260px;color:var(--paper)}
.book-panel aside .eyebrow{color:var(--yellow)}
.book-panel aside h2{font-size:clamp(30px,2.8vw,40px);color:var(--paper);text-shadow:none;margin-bottom:14px}
.book-panel aside p{font-size:16px;line-height:1.55;color:var(--paper)}
.book-form{gap:20px;position:relative;z-index:1}
.book-form label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--muted)}
.book-form label input,.book-form label select,.book-form label textarea{flex:1 1 100%}
.book-form .req{color:var(--red)}
.book-form input,.book-form select,.book-form textarea{font:400 17px/1.3 var(--sans);padding:11px 14px;min-height:48px;border:1px solid #5a4636;border-radius:4px;background:#1a130f;color:var(--paper);box-shadow:inset 0 2px 4px rgba(0,0,0,.5)}
.book-form select{appearance:none;-webkit-appearance:none;background-color:#1a130f;background-image:linear-gradient(45deg,transparent 50%,var(--yellow) 50%),linear-gradient(135deg,var(--yellow) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.book-form input:focus-visible,.book-form select:focus-visible,.book-form textarea:focus-visible{outline:2px solid var(--yellow);outline-offset:1px;border-color:var(--yellow)}
.book-form [role=status]{font:600 15px/1.45 var(--sans);color:var(--yellow)}
.presented-by{position:relative;z-index:1;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:13px;background:rgba(21,16,13,.35);color:var(--paper);border:1.5px solid var(--brass);border-radius:4px;box-shadow:none}
.presented-by:hover{transform:translateY(-2px);background:rgba(201,162,75,.15)}

/* ---------- footer: the logo on dark leather ---------- */
.band-footer{position:relative;color:var(--muted);border-top:0;padding:72px 0 44px;background-color:var(--night);background-image:var(--grain);background-blend-mode:soft-light;background-size:220px 220px}
.band-footer:before{display:block;content:"";position:absolute;left:0;right:0;top:0;height:2px;border-top:2px dashed rgba(233,211,166,.4);background:none;opacity:1;transform:none}
.band-footer-inner{gap:32px 48px;grid-template-columns:1.4fr 1fr}
.band-footer .eyebrow{color:var(--yellow);text-shadow:none;margin-bottom:14px}
.band-footer-name{width:200px;height:52px;font-size:0;color:transparent;background:url('../images/logo-suede.svg') left center/contain no-repeat;margin-bottom:16px;text-shadow:none}
.band-footer-brand .actions{margin-top:20px}
.band-footer ul{gap:6px}
.band-footer ul a{font:400 16px/1.3 var(--sans);color:var(--paper);text-decoration:none;display:inline-flex;align-items:center;min-height:34px}
.band-footer ul a:hover{color:var(--yellow)}
.band-footer ul a[aria-current]{text-decoration:none;color:var(--yellow)}
.band-footer-credit{font:400 14px/1.5 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted);border-top:1.5px dashed rgba(233,211,166,.2);padding-top:22px;margin-top:24px}
.band-footer-credit a{color:var(--muted)}.band-footer-credit a:hover{color:var(--yellow)}

/* ---------- motion ---------- */
@media(prefers-reduced-motion:no-preference){
 .sd-hero .hero-photo{animation:sd-settle 2.4s ease-out both}
 @keyframes sd-settle{from{transform:scale(1.06);opacity:.3}to{transform:none;opacity:1}}
 .sd-fringe::after{animation:sd-sway 5s ease-in-out infinite alternate}
 @keyframes sd-sway{from{transform:skewX(-2.5deg)}to{transform:skewX(2.5deg)}}
}

/* ---------- responsive ---------- */
@media(max-width:1100px){
 .band-nav-links ul a{padding:0 10px;font-size:14px}
 .band-nav .band-book{padding:10px 14px;font-size:14px}
 .song-groups{grid-template-columns:1fr 1fr}
 .sd-wall{grid-template-columns:repeat(3,minmax(0,1fr))}
 .sd-facts{grid-template-columns:1fr 1fr}
}
@media(max-width:1050px){
 .book-panel{grid-template-columns:1fr}
 .page-hero-inner.has-photo{grid-template-columns:1.1fr .9fr}
 .sd-films{grid-template-columns:1fr 1fr}
}
@media(max-width:960px){
 .sd-hero .band-hero-inner{grid-template-columns:1fr;gap:36px}
 .sd-hero .band-hero-media{max-width:720px}
}
@media(max-width:900px){
 .sd-door-grid,.sd-shows-grid,.faq-layout{grid-template-columns:minmax(0,1fr)}
 .sd-ticket{justify-self:start}
 .faq-intro{position:static}
 .page-cards{grid-template-columns:1fr}
}
@media(max-width:860px){
 .band-nav-links,.band-nav-inner>.band-book{display:none}
 .band-nav-inner{min-height:68px}
 .band-nav .band-name{width:112px;height:30px}
}
@media(max-width:760px){
 body{font-size:17px}
 html{scroll-padding-top:76px}
 h2{font-size:clamp(36px,10vw,48px)}
 .band-section{padding:60px 0}.band-section+.band-section{padding-top:60px}
 .section-heading{margin-bottom:28px}
 .section-heading>p:not(.eyebrow){margin-top:14px;max-width:none;font-size:17px}
 .band-hero.sd-hero{min-height:0;padding-bottom:58px}
 .sd-hero .band-hero-inner{padding:36px 0 36px;width:calc(100% - 32px)}
 .sd-logo{width:190px;margin-bottom:16px}
 .sd-hero h1{font-size:clamp(40px,11.5vw,52px)}
 .sd-hero .lede{font-size:17px;margin:18px 0 24px}
 .sd-hero .actions .button{flex:1 1 100%;min-width:0}
 .sd-hero .band-hero-media{transform:none;margin:4px 6px 0}
 .frame.sd-stitch{padding:10px}.frame.sd-stitch::before{inset:4px}
 .sd-fringe{height:54px}
 .sd-patch{padding:36px 20px 30px}
 .sd-patch::before{inset:8px}
 .sd-quote p{font-size:clamp(48px,15vw,68px)}
 .sd-quote-2{font-size:17px}
 .sd-rail{grid-template-columns:1fr}
 .sd-rail li{border-left:0;border-top:2px dashed rgba(233,211,166,.2);padding:16px 0 4px}
 .sd-rail li:first-child{border-top:0}
 .sd-belt-track li{font-size:19px}
 .sd-belt-track li::after{width:18px;height:18px;margin:0 18px}
 .sd-door{padding:10px}
 .sd-door-in{padding:20px 12px 14px}
 .sd-door h3{font-size:40px}
 .sd-door .button{align-self:stretch}
 .sd-shows .sub{font-size:17px}
 .sd-ticket{transform:none}
 .sd-ticket-body{padding:20px 26px;gap:18px}
 .sd-ticket time b{font-size:44px}
 .sd-ticket-top,.sd-ticket-foot{padding-left:26px;padding-right:26px}
 .page-card .eyebrow,.page-card h3,.page-card p,.page-card .go{margin-left:12px;margin-right:12px}
 .page-hero-inner,.page-hero-inner.has-photo{grid-template-columns:1fr;padding:36px 0 52px;gap:34px}
 .page-hero h1{font-size:clamp(42px,12vw,56px)}
 .page-hero .lede{font-size:17px;margin-top:16px}
 .page-hero .actions .button{flex:1 1 100%;min-width:0}
 .page-hero-media{width:calc(100% - 16px);justify-self:center;transform:none}
 .page-hero-media{padding:10px}
 .chips li,.chips li:nth-child(even){font-size:12px;padding:7px 12px}
 .song-groups{grid-template-columns:1fr;gap:16px}
 .song-group,.song-group:nth-child(3n+2),.song-group:nth-child(3n){padding:24px 20px}
 .requests{padding:22px 20px;margin-top:28px}
 .sd-steps{grid-template-columns:1fr;gap:20px}
 .sd-films{grid-template-columns:1fr;gap:32px}
 .sd-wall{grid-template-columns:1fr 1fr;gap:12px}
 .sd-wall figure{padding:6px 6px 8px}
 .sd-wall .w2 .shot{height:auto;aspect-ratio:3/2;min-height:0}
 .sd-wall figcaption{font-size:13px;padding-top:8px}
 .sd-facts{grid-template-columns:1fr}
 .faq-intro .key{font-size:17px;max-width:none}
 .planner-faq summary{font-size:18px;min-height:56px;padding:12px 0}
 .planner-faq .a{padding-right:0}
 .book-panel{gap:20px}.book-panel .panel{padding:24px 20px 28px}.book-form{gap:16px}
 .band-footer{padding:52px 0 32px}.band-footer-inner{grid-template-columns:1fr;gap:28px}
}
@media(max-width:380px){
 .band-menu-button{padding:8px 10px}
 .sd-ticket-body{grid-template-columns:1fr}
 .sd-ticket time{flex-direction:row;gap:10px;justify-self:start}
}

/* The hero outline button: band.css paints it dark on light; keep it cream on the leather. */
.band-hero.sd-hero .actions .button.light{color:var(--paper)}
.band-hero.sd-hero .actions .button.light:hover{color:var(--night)}
