
:root{
  --paper:#f3eadb;--paper2:#e8dcc8;--ink:#28221b;--muted:#74685c;
  --rust:#a94e2c;--rust-dark:#71321f;--cream:#f5ead1;--black:#151310;
  --line:rgba(54,42,32,.22);--max:1440px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Libre Caslon Text",Georgia,serif;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit}figure{margin:0}
.site-header{height:82px;position:fixed;top:0;left:0;right:0;z-index:50;padding:12px clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;background:rgba(243,234,219,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.brand img{width:190px;height:auto;max-height:60px;object-fit:contain}.site-nav{display:flex;gap:30px;align-items:center;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.site-nav a{text-decoration:none}.nav-book{border-bottom:2px solid var(--rust);padding-bottom:4px}
.menu-toggle{display:none;border:0;background:transparent;font-family:"DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.hero{height:100svh;min-height:720px;position:relative;background:#261f19;overflow:hidden}.hero-image{position:absolute;inset:0;object-position:center 44%}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,14,10,.63),rgba(18,14,10,.30) 43%,rgba(18,14,10,.03) 72%),linear-gradient(0deg,rgba(15,12,9,.45),transparent 48%)}
.hero-copy{position:absolute;left:clamp(24px,7vw,110px);bottom:clamp(48px,9vh,120px);z-index:2;color:var(--cream);max-width:720px}.hero-logo{width:min(560px,64vw);height:auto;object-fit:contain;filter:brightness(0) invert(92%) sepia(13%) saturate(381%) hue-rotate(345deg) brightness(104%) contrast(92%);margin:10px 0 20px}
.eyebrow,.kicker,.smallcaps{font-family:"DM Sans",sans-serif;font-size:11px;letter-spacing:.19em;text-transform:uppercase;font-weight:600}.hero-dek{font-size:clamp(21px,2.2vw,31px);line-height:1.35;max-width:630px;margin:0 0 26px}.hero-links{display:flex;gap:26px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid currentColor;text-decoration:none;font-family:"DM Sans",sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.plain-link{font-family:"DM Sans",sans-serif;font-size:12px;letter-spacing:.08em;text-decoration:none}
.tiny-star{position:absolute;color:rgba(245,234,209,.72);font-size:28px;z-index:2}.star-a{right:8vw;top:25%}.star-b{right:18vw;bottom:13%;font-size:17px}
.paper-section{max-width:var(--max);margin:0 auto;padding:clamp(78px,9vw,145px) clamp(22px,6vw,92px);position:relative}.chapter{font-family:"Libre Caslon Display",serif;font-size:23px;margin-bottom:42px}.chapter.light{color:var(--cream)}
.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,8vw,130px);align-items:start}.story h1,.section-head h2,.live h2,.booking h2{font-family:"Libre Caslon Display",serif;font-weight:400;font-size:clamp(54px,6vw,95px);line-height:.93;margin:18px 0 0;letter-spacing:-.025em}.body-copy{font-size:19px;line-height:1.72;max-width:650px}.body-copy p:first-child{font-size:23px;line-height:1.55}.margin-doodle{position:absolute;right:7%;bottom:40px;color:var(--rust);letter-spacing:.35em;font-size:17px}
.scrap-feature{max-width:var(--max);margin:0 auto;padding:20px clamp(22px,6vw,92px) clamp(95px,9vw,150px);display:grid;grid-template-columns:1fr 1fr .58fr;gap:28px;align-items:center}.tape-photo{position:relative;background:#f8f0e2;padding:9px 9px 40px;box-shadow:0 16px 38px rgba(44,35,27,.14);transform:rotate(-1deg)}.tape-photo:before{content:"";position:absolute;width:84px;height:26px;background:rgba(215,194,155,.55);top:-12px;left:50%;transform:translateX(-50%) rotate(2deg);z-index:2}.photo-one{height:650px}.photo-two{height:570px;transform:rotate(1.4deg)}.scrap-note{padding:34px 18px;color:var(--rust-dark);font-size:24px;line-height:1.35;font-style:italic}.hand-mark{font-size:34px}
.rust-section{background:var(--rust);color:var(--cream);min-height:820px;display:grid;grid-template-columns:1fr 1fr}.live-copy{padding:clamp(78px,8vw,128px) clamp(28px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.live-copy>p{font-size:19px;line-height:1.68;max-width:650px;color:#f1dfc4}.live-copy h2{margin:16px 0 28px}.live-photo{min-height:820px}.live-photo img{object-position:center 40%}.live-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;border-top:1px solid rgba(255,255,255,.32);border-bottom:1px solid rgba(255,255,255,.32);padding:24px 0;margin:28px 0}.live-facts strong{display:block;font-family:"Libre Caslon Display",serif;font-size:38px;font-weight:400}.live-facts span{font-family:"DM Sans",sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.cream-button{border-color:var(--cream);color:var(--cream);align-self:flex-start}
.interlude{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(50px,8vw,120px);align-items:center;max-width:1150px}.interlude-art{height:auto;max-height:480px;object-fit:contain;mix-blend-mode:multiply;opacity:.72}.interlude-copy blockquote{font-family:"Libre Caslon Display",serif;font-size:clamp(38px,5vw,68px);line-height:1.02;margin:20px 0 28px;color:var(--rust-dark)}.interlude-copy>p:last-child{font-size:18px;line-height:1.65;max-width:610px}
.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.section-head>p{font-size:18px;line-height:1.6;color:var(--muted);max-width:460px}.portrait-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:95px;gap:14px;margin-top:55px}.portrait-grid figure{overflow:hidden;background:#d6c9b7}.p1{grid-column:1/8;grid-row:1/7}.p2{grid-column:8/13;grid-row:1/8}.p3{grid-column:1/6;grid-row:7/12}.p4{grid-column:6/13;grid-row:8/13}.p5{grid-column:1/7;grid-row:12/17}.p6{grid-column:7/13;grid-row:13/18}.p1 img{object-position:center 42%}.p2 img{object-position:center 36%}.p3 img{object-position:center 45%}.p4 img{object-position:center 35%}.p5 img{object-position:center 42%}.p6 img{object-position:center 34%}
.road{background:var(--black);color:#eee4d4;padding:clamp(78px,9vw,130px) clamp(18px,4vw,64px)}.road-head{max-width:var(--max);margin:0 auto 50px;padding:0 clamp(4px,2vw,28px)}.road-head h2{font-family:"Libre Caslon Display",serif;font-size:clamp(52px,6vw,92px);font-weight:400;line-height:.94;margin:16px 0 8px}.road-head>p:last-child{color:#a99d8c;font-style:italic}.road-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:76px;gap:18px}.snap{background:#f5ecdd;padding:8px 8px 35px;box-shadow:0 10px 30px rgba(0,0,0,.28);position:relative;overflow:hidden;transform:rotate(var(--r));transition:.25s transform,.25s box-shadow}.snap:hover{transform:rotate(0) translateY(-4px);z-index:5;box-shadow:0 18px 40px rgba(0,0,0,.42)}.snap figcaption{position:absolute;bottom:9px;left:12px;color:#3a3027;font-style:italic;font-size:14px}.s1{grid-column:1/5;grid-row:1/7;--r:-1deg}.s2{grid-column:5/9;grid-row:2/8;--r:1.2deg}.s3{grid-column:9/13;grid-row:1/6;--r:-.6deg}.s4{grid-column:2/6;grid-row:8/14;--r:1.3deg}.s5{grid-column:6/13;grid-row:8/13;--r:-1deg}.s6{grid-column:1/5;grid-row:14/20;--r:-.8deg}.s7{grid-column:5/9;grid-row:14/19;--r:1.1deg}.s8{grid-column:9/13;grid-row:14/20;--r:-1.2deg}.s9{grid-column:1/6;grid-row:21/27;--r:.8deg}.s10{grid-column:6/10;grid-row:20/26;--r:-1deg}.s11{grid-column:10/13;grid-row:21/26;--r:1.3deg}.s12{grid-column:7/13;grid-row:27/33;--r:-.5deg}.s1 img,.s2 img,.s6 img{object-position:center 36%}
.booking{display:grid;grid-template-columns:1.05fr .95fr;background:var(--rust-dark);color:var(--cream);min-height:860px}.booking-image{min-height:860px}.booking-image img{object-position:center 36%}.booking-copy{padding:clamp(75px,8vw,125px) clamp(28px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.booking-logo{width:min(420px,85%);height:auto;object-fit:contain;filter:brightness(0) invert(92%) sepia(13%) saturate(381%) hue-rotate(345deg) brightness(104%) contrast(92%);margin:0 0 24px}.booking-copy>p{font-size:19px;line-height:1.65;max-width:620px}.booking-list{columns:2;column-gap:30px;padding:0;list-style:none;margin:22px 0 32px;font-size:16px;line-height:1.55}.booking-list li{break-inside:avoid;margin-bottom:10px}.booking-list li:before{content:"✦";margin-right:8px;font-size:9px}.contact-card{border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);padding:20px 0;margin:0 0 28px;display:flex;flex-direction:column;gap:5px}.contact-card span{font-family:"DM Sans",sans-serif;font-size:10px;letter-spacing:.15em}.contact-card strong{font-weight:400;font-size:18px}.contact-card a{text-decoration:none;font-size:17px}
footer{padding:55px 24px;text-align:center;background:var(--paper2);border-top:1px solid var(--line)}footer img{width:240px;height:auto;object-fit:contain;margin:0 auto 22px}footer p{font-family:"DM Sans",sans-serif;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#6a5d51}
@media(max-width:980px){
  .site-nav{gap:20px}.story-grid,.section-head{grid-template-columns:1fr;gap:35px}.scrap-feature{grid-template-columns:1fr 1fr}.scrap-note{grid-column:1/-1;text-align:center;padding:10px}.rust-section,.booking{grid-template-columns:1fr}.live-photo,.booking-image{height:72vh;min-height:560px;order:-1}.live-copy,.booking-copy{min-height:0}.interlude{grid-template-columns:.7fr 1.3fr}.portrait-grid{grid-template-columns:1fr 1fr;grid-auto-rows:430px}.portrait-grid figure{grid-column:auto!important;grid-row:auto!important}.p1,.p4{grid-column:1/-1!important;height:570px}.road-grid{grid-template-columns:1fr 1fr;grid-auto-rows:auto}.snap{grid-column:auto!important;grid-row:auto!important;height:510px;transform:none}.s5,.s12{grid-column:1/-1!important;height:440px}
}
@media(max-width:720px){
  .site-header{height:70px;padding:9px 18px}.brand img{width:155px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:18px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line);gap:0}.site-nav.open{display:flex}.site-nav a{width:100%;padding:13px 4px;border-bottom:1px solid var(--line)}.nav-book{border-bottom:1px solid var(--line)}
  .hero{min-height:620px;height:100svh}.hero-image{object-position:47% center}.hero-wash{background:linear-gradient(0deg,rgba(17,13,10,.78) 0%,rgba(17,13,10,.27) 58%,rgba(17,13,10,.08))}.hero-copy{left:22px;right:22px;bottom:38px}.hero-logo{width:min(440px,92vw);margin-left:-2px}.hero-dek{font-size:21px;max-width:90%}.star-a{top:18%;right:8%}.star-b{display:none}
  .paper-section{padding:74px 22px}.story h1,.section-head h2,.live h2,.booking h2{font-size:52px}.body-copy,.live-copy>p,.booking-copy>p{font-size:17px}.body-copy p:first-child{font-size:20px}.margin-doodle{display:none}
  .scrap-feature{display:block;padding:10px 20px 75px}.tape-photo{height:520px;margin-bottom:28px}.photo-two{height:570px}.scrap-note{font-size:20px}
  .live-photo,.booking-image{height:62vh;min-height:470px}.live-copy,.booking-copy{padding:68px 22px}.live-facts{grid-template-columns:1fr 1fr;gap:20px}.live-facts strong{font-size:34px}
  .interlude{display:block}.interlude-art{width:62%;margin:0 auto 35px;max-height:330px}.interlude-copy blockquote{font-size:44px}
  .portrait-grid{grid-template-columns:1fr;grid-auto-rows:520px;margin-top:36px}.portrait-grid figure,.p1,.p4{grid-column:1!important;height:520px}.p2{height:590px!important}
  .road{padding:70px 18px}.road-grid{grid-template-columns:1fr;gap:22px}.snap,.s5,.s12{grid-column:1!important;height:500px}.s3,.s7,.s11{height:390px}.road-head{padding:0}.road-head h2{font-size:52px}
  .booking-list{columns:1}.booking-logo{width:78%}footer img{width:210px}
}
@media(max-width:430px){
  .hero-image{object-position:44% center}.hero-copy{bottom:30px}.hero-links{gap:16px;align-items:flex-start;flex-direction:column}.hero-dek{font-size:19px}
  .story h1,.section-head h2,.live h2,.booking h2,.road-head h2{font-size:46px}
  .tape-photo{height:460px}.photo-two{height:500px}
  .portrait-grid{grid-auto-rows:460px}.portrait-grid figure,.p1,.p4{height:460px}.p2{height:540px!important}
  .snap,.s5,.s12{height:460px}.s3,.s7,.s11{height:360px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.snap{transition:none}}

/* V7 density pass — preserve the retro editorial look, remove dead space */
@media (min-width: 761px){
  .hero{height:88svh;min-height:620px;max-height:860px}
  .hero-copy{bottom:clamp(38px,6vh,72px)}
  .paper-section{padding-top:clamp(52px,6vw,88px);padding-bottom:clamp(52px,6vw,88px)}
  .chapter{margin-bottom:24px}
  .story-grid{gap:clamp(38px,5vw,76px)}
  .scrap-feature{padding-top:0;padding-bottom:clamp(55px,6vw,88px);gap:20px}
  .photo-one{height:570px}.photo-two{height:510px}
  .rust-section{min-height:680px}.live-copy{padding-top:64px;padding-bottom:64px}.live-photo{min-height:680px}
  .live-copy h2{margin-bottom:18px}.live-facts{margin:20px 0;padding:18px 0}
  .interlude{gap:clamp(36px,5vw,72px)}.interlude-art{max-height:390px}.interlude-copy blockquote{margin-bottom:18px}
  .portrait-grid{margin-top:34px;grid-auto-rows:78px;gap:12px}
  .road{padding-top:64px;padding-bottom:72px}.road-head{margin-bottom:30px}.road-grid{grid-auto-rows:66px;gap:14px}
  .booking{min-height:700px}.booking-image{min-height:700px}.booking-copy{padding-top:64px;padding-bottom:64px}
  footer{padding:34px 24px}
}
@media (max-width:760px){
  .hero{height:84svh;min-height:560px}
  .paper-section{padding:48px 20px}.chapter{margin-bottom:20px}
  .story-grid{gap:24px}.story h1,.section-head h2,.live h2,.booking h2{font-size:46px}
  .body-copy{line-height:1.58}.body-copy p{margin:0 0 14px}.body-copy p:first-child{line-height:1.45}
  .scrap-feature{padding:0 16px 46px}.tape-photo{height:430px;margin-bottom:18px}.photo-two{height:465px}.scrap-note{padding:4px 10px 0}
  .live-photo,.booking-image{height:52vh;min-height:390px}.live-copy,.booking-copy{padding:46px 20px}.live-copy>p,.booking-copy>p{line-height:1.55;margin:0 0 14px}.live-copy h2{margin-bottom:18px}.live-facts{margin:18px 0;padding:16px 0}
  .interlude-art{margin-bottom:22px}.interlude-copy blockquote{font-size:39px;margin-bottom:18px}
  .portrait-grid{margin-top:24px;gap:12px;grid-auto-rows:430px}.portrait-grid figure,.p1,.p4{height:430px}.p2{height:490px!important}
  .road{padding:48px 14px}.road-head{margin-bottom:26px}.road-grid{gap:14px}.snap,.s5,.s12{height:430px}.s3,.s7,.s11{height:340px}
  .booking-list{margin:16px 0 22px}.contact-card{margin-bottom:20px}
  footer{padding:32px 20px}
}


/* V8: exact wordmark + balanced desktop density */
.wordmark{
  display:inline-flex;
  flex-direction:column;
  line-height:.72;
  font-family:"Shrikhand","Cooper Black",Georgia,serif;
  color:var(--rust);
  text-transform:none;
  letter-spacing:-.04em;
  white-space:nowrap;
}
.wordmark-top{font-size:1em}
.wordmark-bottom{font-size:.77em;margin-left:.13em;margin-top:.18em}
.brand .wordmark{font-size:29px;line-height:.70}
.hero-wordmark .wordmark{font-size:clamp(68px,8vw,122px);color:var(--cream);filter:drop-shadow(0 2px 0 rgba(0,0,0,.12))}
.booking-wordmark .wordmark{font-size:clamp(54px,5vw,82px);color:var(--cream)}
.footer-wordmark .wordmark{font-size:48px;color:var(--rust-dark)}
.hero-wordmark{margin:10px 0 27px}
.booking-wordmark{margin:0 0 22px}
.footer-wordmark{display:flex;justify-content:center;margin-bottom:28px}

.live-copy{position:relative;overflow:hidden}
.live-copy > *:not(.live-scrap){position:relative;z-index:2}
.live-scrap{position:absolute;inset:0;z-index:1;pointer-events:none}
.live-scrap-photo{position:absolute;background:#f4ead9;padding:7px 7px 29px;box-shadow:0 14px 30px rgba(67,24,10,.22);opacity:.96}
.live-scrap-photo img{filter:saturate(.92) contrast(.98)}
.live-scrap-a{width:210px;height:280px;right:7%;top:5%;transform:rotate(5deg)}
.live-scrap-b{width:170px;height:215px;right:2%;bottom:6%;transform:rotate(-7deg)}
.live-scrap-stamp{
  position:absolute;right:9%;top:43%;font-family:"DM Sans",sans-serif;font-size:9px;
  letter-spacing:.17em;border:1px solid rgba(245,234,209,.62);padding:9px 11px;
  transform:rotate(3deg);color:rgba(245,234,209,.82)
}
.live-scrap-stars{position:absolute;right:13%;bottom:38%;color:rgba(245,234,209,.58);letter-spacing:.3em;font-size:15px}

@media(min-width:981px){
  .hero{min-height:650px;height:min(88vh,900px)}
  .hero-copy{bottom:clamp(42px,7vh,84px)}
  .paper-section{padding-top:clamp(66px,6.6vw,100px);padding-bottom:clamp(66px,6.6vw,100px)}
  .scrap-feature{padding-bottom:clamp(72px,7vw,105px)}
  .rust-section{min-height:690px;grid-template-columns:1.08fr .92fr}
  .live-copy{padding:72px clamp(250px,20vw,340px) 72px clamp(44px,5vw,82px)}
  .live-photo{min-height:690px}
  .live-copy h2{font-size:clamp(58px,5.2vw,82px)}
  .live-copy>p{font-size:17px;line-height:1.58}
  .live-facts{margin:18px 0 22px;padding:17px 0}
  .interlude{padding-top:68px;padding-bottom:68px}
  .portraits{padding-top:74px;padding-bottom:88px}
  .portrait-grid{margin-top:42px}
  .road{padding-top:82px;padding-bottom:92px}
  .booking{min-height:720px;grid-template-columns:1fr 1fr}
  .booking-image{min-height:720px}
  .booking-copy{padding:70px clamp(42px,5vw,82px)}
}
@media(max-width:980px){
  .live-scrap{display:none}
  .hero-wordmark .wordmark{font-size:clamp(64px,11vw,92px)}
  .booking-wordmark .wordmark{font-size:clamp(50px,8vw,72px)}
}
@media(max-width:720px){
  .brand .wordmark{font-size:23px}
  .hero-wordmark{margin:8px 0 18px}
  .hero-wordmark .wordmark{font-size:clamp(51px,15vw,76px)}
  .booking-wordmark .wordmark{font-size:clamp(46px,13vw,67px)}
  .footer-wordmark .wordmark{font-size:39px}
}
@media(max-width:430px){
  .brand .wordmark{font-size:21px}
  .hero-wordmark .wordmark{font-size:clamp(46px,14vw,64px)}
}


/* V10 — live-show information folded into the Story; orange live block removed */
.story-live-note{
  margin-top:32px;
  padding:25px 0 4px;
  border-top:1px solid var(--line);
}
.story-live-heading{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--rust);
  margin-bottom:10px;
}
.story-live-heading .kicker{margin:0}
.mini-star{font-size:13px}
.story-live-note > p{
  margin:0 0 18px;
  font-size:16px;
  line-height:1.62;
  color:var(--muted);
}
.story-facts{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 17px;
}
.story-facts span{
  border:1px solid rgba(113,50,31,.32);
  padding:7px 9px 6px;
  font-family:"DM Sans",sans-serif;
  font-size:9px;
  font-weight:600;
  letter-spacing:.12em;
  color:var(--rust-dark);
}
.story-book-link{
  display:inline-block;
  font-family:"DM Sans",sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--rust-dark);
  text-decoration:none;
  border-bottom:1px solid rgba(113,50,31,.45);
  padding-bottom:3px;
}

@media(min-width:981px){
  /* Keep the story useful and dense on desktop without creating another large visual block. */
  .story-grid{
    grid-template-columns:.9fr 1.1fr;
    gap:clamp(48px,6vw,92px);
  }
  .story.paper-section{
    padding-top:72px;
    padding-bottom:72px;
  }
  .story-live-note{
    max-width:650px;
  }
}
@media(max-width:720px){
  .story-live-note{margin-top:25px;padding-top:22px}
  .story-live-note > p{font-size:15px}
  .story-facts{gap:6px}
  .story-facts span{font-size:8px}
}


/* V11 — tour dates + combined original bio */
.story .body-copy{max-width:720px}
.story-live-note{background:rgba(169,78,44,.055);padding:24px 22px 20px;border-top:1px solid rgba(113,50,31,.24);border-bottom:1px solid rgba(113,50,31,.18)}

.tour-home{padding-top:76px;padding-bottom:86px}
.tour-intro{display:grid;grid-template-columns:1fr .8fr;gap:clamp(45px,7vw,110px);align-items:end;margin-bottom:42px}
.tour-intro h2,.tour-booking-cta h2{font-family:"Libre Caslon Display",serif;font-weight:400;font-size:clamp(52px,6vw,86px);line-height:.94;letter-spacing:-.025em;margin:14px 0 0}
.tour-intro>p{font-size:18px;line-height:1.62;color:var(--muted);max-width:520px;margin:0}
.tour-list{border-top:1px solid var(--line)}
.tour-row{display:grid;grid-template-columns:125px 1fr 180px;gap:28px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.tour-date{display:flex;align-items:center;gap:13px}.tour-date strong{font-family:"Libre Caslon Display",serif;font-size:50px;font-weight:400;line-height:.8;color:var(--rust-dark)}.tour-date span{font-family:"DM Sans",sans-serif;font-size:9px;font-weight:600;letter-spacing:.12em;line-height:1.45;color:var(--muted)}
.tour-venue h3{font-family:"Libre Caslon Text",serif;font-size:21px;font-weight:400;margin:0 0 5px}.tour-venue p{font-family:"DM Sans",sans-serif;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0}
.tour-time{text-align:right;font-family:"DM Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--rust-dark)}
.tour-all-link{margin-top:32px}.dark-button{color:var(--rust-dark);border-color:rgba(113,50,31,.7)}

.tour-page{padding-top:82px}
.tour-page-hero{height:62vh;min-height:520px;position:relative;overflow:hidden;background:#1d1813}
.tour-page-hero-image{position:absolute;inset:0}.tour-page-hero-image img{object-position:center 42%}
.tour-page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,14,10,.68),rgba(18,14,10,.20) 58%,transparent)}
.tour-page-title{position:absolute;z-index:2;left:clamp(24px,7vw,110px);bottom:clamp(40px,7vh,80px);color:var(--cream)}
.tour-page-title h1{font-family:"Libre Caslon Display",serif;font-size:clamp(70px,9vw,132px);font-weight:400;line-height:.8;margin:15px 0 22px;letter-spacing:-.035em}.tour-page-title p:last-child{font-size:20px;max-width:520px}
.tour-page-content{padding-top:78px}
.full-tour-list{margin-bottom:90px}
.tour-booking-cta{max-width:850px;border-top:1px solid var(--line);padding-top:58px}.tour-booking-cta p:not(.kicker){font-size:18px;line-height:1.6;max-width:650px;margin-bottom:28px}

@media(max-width:980px){
 .tour-intro{grid-template-columns:1fr;gap:26px}
 .tour-row{grid-template-columns:110px 1fr 140px}
}
@media(max-width:720px){
 .tour-home{padding-top:62px;padding-bottom:72px}
 .tour-intro h2,.tour-booking-cta h2{font-size:48px}
 .tour-row{grid-template-columns:76px 1fr;gap:15px;padding:19px 0}
 .tour-date{gap:8px}.tour-date strong{font-size:40px}.tour-date span{font-size:8px}
 .tour-venue h3{font-size:18px}.tour-time{grid-column:2;text-align:left;margin-top:-8px;font-size:9px}
 .tour-page{padding-top:70px}.tour-page-hero{height:54vh;min-height:430px}.tour-page-hero:after{background:linear-gradient(0deg,rgba(18,14,10,.74),rgba(18,14,10,.08) 70%)}
 .tour-page-title{left:22px;right:22px;bottom:34px}.tour-page-title h1{font-size:68px}.tour-page-title p:last-child{font-size:17px}
 .full-tour-list{margin-bottom:68px}
}


/* V12 — Media page */
.media-page{padding-top:82px}
.media-hero{height:66vh;min-height:560px;position:relative;background:#171411;overflow:hidden}
.media-hero-photo{position:absolute;inset:0}.media-hero-photo img{object-position:center 40%}
.media-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,12,10,.70),rgba(15,12,10,.16) 64%),linear-gradient(0deg,rgba(15,12,10,.45),transparent 60%)}
.media-hero-copy{position:absolute;z-index:2;left:clamp(24px,7vw,110px);bottom:clamp(44px,7vh,84px);color:var(--cream);max-width:690px}
.media-hero-copy h1{font-family:"Libre Caslon Display",serif;font-size:clamp(78px,10vw,145px);font-weight:400;line-height:.78;letter-spacing:-.04em;margin:18px 0 30px}
.media-hero-copy>p:last-child{font-size:20px;line-height:1.55;max-width:550px}

.social-heading{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:end;margin-bottom:42px}
.social-heading h2,.video-heading h2{font-family:"Libre Caslon Display",serif;font-size:clamp(54px,6vw,88px);font-weight:400;line-height:.94;letter-spacing:-.025em;margin:14px 0 0}
.social-heading>p{font-size:18px;line-height:1.6;color:var(--muted);max-width:480px;margin:0}
.social-links{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.social-card{min-height:190px;padding:25px 22px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;transition:.2s;background:rgba(255,255,255,.06)}
.social-card:hover{background:rgba(169,78,44,.07)}
.social-card>span:not(.social-icon){font-family:"Libre Caslon Display",serif;font-size:29px}
.social-card small{font-family:"DM Sans",sans-serif;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.social-icon{width:31px;height:31px;margin-bottom:auto;color:var(--rust-dark)}
.social-icon svg{width:100%;height:100%;fill:currentColor}.social-icon svg rect,.social-icon svg circle{fill:none;stroke:currentColor;stroke-width:1.8}.social-icon .icon-cut{fill:var(--paper)}

.video-section{background:var(--black);color:var(--cream);padding:82px clamp(20px,5vw,76px) 95px}
.video-section-inner{max-width:var(--max);margin:auto}
.video-heading{display:grid;grid-template-columns:1fr .8fr;column-gap:60px;align-items:end;margin-bottom:44px}
.video-heading .kicker{grid-column:1}.video-heading h2{grid-column:1}.video-heading>p:last-child{grid-column:2;grid-row:1/3;align-self:end;font-size:18px;line-height:1.6;color:#b9ad9d;max-width:480px}
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.video-card{border-top:1px solid rgba(245,234,209,.18);padding-top:14px}
.video-frame{aspect-ratio:16/9;background:#090807;overflow:hidden}
.video-frame iframe{width:100%;height:100%;border:0;display:block}
.video-meta{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:14px 2px 4px}
.video-meta h3{font-family:"Libre Caslon Text",serif;font-size:19px;font-weight:400;margin:0}.video-meta p{font-family:"DM Sans",sans-serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#988b7b;margin:0;text-align:right}
.media-youtube-link{margin-top:38px}

.media-scrap{padding-top:70px;padding-bottom:85px}
.media-scrap-grid{display:grid;grid-template-columns:1fr .45fr 1fr;gap:34px;align-items:center;max-width:1100px;margin:auto}
.media-polaroid{background:#faf1e2;padding:9px 9px 38px;box-shadow:0 14px 34px rgba(50,37,27,.15);height:520px}.mp1{transform:rotate(-1.5deg)}.mp2{transform:rotate(1.5deg)}
.media-quote{text-align:center;color:var(--rust-dark)}.media-quote span{font-size:28px}.media-quote p{font-family:"Libre Caslon Display",serif;font-size:30px;line-height:1.05;font-style:italic}

@media(max-width:980px){
  .social-heading,.video-heading{grid-template-columns:1fr;gap:24px}
  .video-heading .kicker,.video-heading h2,.video-heading>p:last-child{grid-column:1;grid-row:auto}
  .social-links{grid-template-columns:1fr 1fr}
  .video-grid{grid-template-columns:1fr}
  .media-scrap-grid{grid-template-columns:1fr 1fr}.media-quote{grid-column:1/-1;grid-row:2}.media-polaroid{height:470px}
}
@media(max-width:720px){
  .media-page{padding-top:70px}.media-hero{height:54vh;min-height:440px}
  .media-hero-overlay{background:linear-gradient(0deg,rgba(15,12,10,.76),rgba(15,12,10,.10) 75%)}
  .media-hero-copy{left:22px;right:22px;bottom:34px}.media-hero-copy h1{font-size:74px;margin-bottom:20px}.media-hero-copy>p:last-child{font-size:16px}
  .social-links{grid-template-columns:1fr 1fr}.social-card{min-height:145px;padding:17px}.social-card>span:not(.social-icon){font-size:23px}.social-icon{width:26px;height:26px}
  .video-section{padding:68px 18px 75px}.video-heading h2,.social-heading h2{font-size:48px}.video-meta{display:block}.video-meta p{text-align:left;margin-top:6px}
  .media-scrap-grid{display:block}.media-polaroid{height:470px;margin-bottom:26px}.media-quote{padding:20px 0 34px}
}
@media(max-width:430px){
  .social-links{grid-template-columns:1fr}.social-card{min-height:125px}
  .media-polaroid{height:430px}
}


/* V13 revisions */
.hero-picture{position:absolute;inset:0;display:block}
.hero-picture .hero-image{position:absolute;inset:0}
@media(min-width:721px){
  .hero-picture .hero-image{object-position:center 38%}
}
.lyric-quote{font-size:clamp(32px,4.2vw,58px)!important;line-height:1.08!important}
.portrait-grid{grid-auto-rows:88px}
.p7{grid-column:1/6;grid-row:18/24}
.p8{grid-column:6/13;grid-row:18/24}
.p7 img{object-position:center 34%}
.p8 img{object-position:center 42%}
.booking-image img{object-position:center 42%}

.social-feed-section{padding-top:74px;padding-bottom:88px}
.social-feed-heading{display:grid;grid-template-columns:1fr .75fr;gap:60px;align-items:end;margin-bottom:42px}
.social-feed-heading h2{font-family:"Libre Caslon Display",serif;font-weight:400;font-size:clamp(52px,6vw,86px);line-height:.94;letter-spacing:-.025em;margin:14px 0 0}
.social-feed-heading>p{font-size:18px;line-height:1.6;color:var(--muted);max-width:450px;margin:0}
.social-feed-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:34px;align-items:start}
.feed-label{font-family:"DM Sans",sans-serif;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rust-dark);border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px}
.feed-dot{margin-right:8px}
.instagram-feed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}
.instagram-media{min-width:0!important;width:100%!important;margin:0!important}
.tiktok-feed .tiktok-embed{margin:0 auto!important}

@media(max-width:980px){
  .p7,.p8{grid-column:auto!important;grid-row:auto!important}
  .social-feed-heading{grid-template-columns:1fr;gap:24px}
  .social-feed-layout{grid-template-columns:1fr}
  .instagram-feed-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .hero-picture{position:absolute;inset:0}
  .portrait-grid .p7,.portrait-grid .p8{height:520px!important}
  .social-feed-section{padding-top:62px;padding-bottom:72px}
  .social-feed-heading h2{font-size:48px}
  .instagram-feed-grid{grid-template-columns:1fr}
}
@media(max-width:430px){
  .portrait-grid .p7,.portrait-grid .p8{height:460px!important}
}


/* V14 — navigation interaction fixes only */
.site-nav a{
  position:relative;
  font-size:13px;
  line-height:1;
  padding:10px 0;
  white-space:nowrap;
  transition:transform .16s ease,color .16s ease;
}
.site-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  height:2px;
  background:var(--rust);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease;
}
.site-nav a:hover,
.site-nav a:focus-visible{
  transform:scale(1.06);
  outline:none;
}
.site-nav a:hover::after,
.site-nav a:focus-visible::after,
.site-nav a.is-active::after{
  transform:scaleX(1);
}
.site-nav a.is-active{
  color:var(--rust-dark);
}
.site-nav .nav-book{
  border-bottom:0;
  padding-bottom:10px;
}
.site-nav .nav-book::after{bottom:2px}

.social-links-three{grid-template-columns:repeat(3,1fr)}
.tiktok-feed-only{max-width:780px;margin:0 auto}
.tiktok-feed-only .tiktok-embed{margin:0 auto!important}

@media(max-width:980px){
  .site-nav a{font-size:12px}
  .social-links-three{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .site-nav a{
    font-size:12px;
    padding:14px 4px;
    transform:none!important;
  }
  .site-nav a::after{
    left:4px;
    right:auto;
    width:56px;
    bottom:5px;
    transform-origin:left;
  }
  .social-links-three{grid-template-columns:1fr}
}


/* V16 — preserve V14 photo layout; only surgical additions */

/* Single-video homepage Media insert */
.home-media{padding-top:58px;padding-bottom:66px}
.home-media-head{display:grid;grid-template-columns:1fr .75fr;gap:54px;align-items:end;margin-bottom:28px}
.home-media-head h2{font-family:"Libre Caslon Display",serif;font-weight:400;font-size:clamp(48px,5vw,74px);line-height:.94;letter-spacing:-.025em;margin:12px 0 0}
.home-media-head>p{font-size:17px;line-height:1.6;color:var(--muted);max-width:470px;margin:0}
.single-home-video{max-width:820px;border-top:1px solid var(--line);padding-top:12px}
.single-home-video .video-frame{aspect-ratio:16/9}
.home-media-link{margin-top:24px}

/* Vintage Stars in the Rain card */
.lyric-woodcut{
  position:relative;
  margin:18px 0 28px;
  padding:40px clamp(22px,4vw,52px) 32px;
  color:#34281e;
  text-align:center;
  border:2px solid rgba(69,48,32,.72);
  outline:1px solid rgba(69,48,32,.24);
  outline-offset:-7px;
  background:
    linear-gradient(rgba(239,224,194,.84),rgba(239,224,194,.84)),
    url("assets/rust-paper-texture.jpg") center/cover;
  box-shadow:inset 0 0 42px rgba(76,49,27,.11);
  overflow:hidden;
}
.lyric-woodcut:before,.lyric-woodcut:after{
  content:"";position:absolute;left:11%;right:11%;height:1px;background:rgba(69,48,32,.46)
}
.lyric-woodcut:before{top:29px}.lyric-woodcut:after{bottom:24px}
.woodcut-song{margin:0 0 18px;font-family:"DM Sans",sans-serif;font-size:10px;font-weight:600;letter-spacing:.28em}
.lyric-woodcut .lyric-quote{margin:0;color:#30241c;font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(28px,3.45vw,45px)!important;line-height:1.08!important;font-style:italic}
.woodcut-credit{margin:20px 0 0;font-family:"DM Sans",sans-serif;font-size:8px;letter-spacing:.22em}
.woodcut-star,.woodcut-moon{position:absolute;color:rgba(57,40,27,.58)}
.woodcut-star-a{left:17px;top:14px;font-size:24px}.woodcut-star-b{right:20px;bottom:12px;font-size:19px}.woodcut-moon{right:24px;top:13px;font-size:28px}

/* Media page and Tour page: protect Daryl's head/hat on desktop */
.media-hero-photo img{object-position:center 26%}
.tour-page-hero-image img{object-position:center 18%}
@media(min-width:1100px){
  .media-hero-photo img{object-position:center 22%}
  .tour-page-hero-image img{object-position:center 15%}
}
@media(max-width:980px){
  .home-media-head{grid-template-columns:1fr;gap:20px}
}
@media(max-width:720px){
  .home-media{padding-top:52px;padding-bottom:60px}
  .home-media-head h2{font-size:46px}
  .tour-page-hero-image img{object-position:center 23%}
  .media-hero-photo img{object-position:center 28%}
  .lyric-woodcut{padding:36px 18px 29px}
  .lyric-woodcut .lyric-quote{font-size:29px!important}
}


/* V17 — replace lyric interlude with Nettie's drawing */
.drawing-feature{
  position:relative;
  overflow:hidden;
  background:#2a211a;
  color:var(--cream);
  padding:clamp(58px,7vw,96px) clamp(20px,5vw,76px);
}
.drawing-feature:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.22;
  background:
    linear-gradient(rgba(25,18,13,.18),rgba(25,18,13,.18)),
    url("assets/rust-paper-texture.jpg") center/cover;
  mix-blend-mode:screen;
  pointer-events:none;
}
.drawing-feature-inner{
  position:relative;
  z-index:1;
  max-width:1180px;
  margin:auto;
  min-height:620px;
  display:grid;
  grid-template-columns:.42fr 1fr .22fr;
  gap:clamp(24px,4vw,58px);
  align-items:center;
}
.drawing-meta{
  align-self:end;
  padding-bottom:26px;
}
.drawing-meta .kicker{
  margin-bottom:13px;
  color:#dbcbb2;
}
.drawing-caption{
  margin:0;
  font-family:"Libre Caslon Display",serif;
  font-size:clamp(32px,4vw,54px);
  line-height:.95;
  font-style:italic;
}
.drawing-mark{
  display:block;
  margin-top:18px;
  font-size:24px;
  color:var(--rust);
}
.drawing-sheet{
  position:relative;
  margin:0;
  background:#efe3c6;
  padding:10px 10px 42px;
  box-shadow:
    0 24px 55px rgba(0,0,0,.28),
    0 3px 0 rgba(255,255,255,.08) inset;
  transform:rotate(-1.2deg);
}
.drawing-sheet:before,
.drawing-sheet:after{
  content:"";
  position:absolute;
  width:76px;
  height:20px;
  background:rgba(217,199,164,.72);
  top:-8px;
  z-index:2;
  box-shadow:0 1px 2px rgba(0,0,0,.08);
}
.drawing-sheet:before{left:8%;transform:rotate(-4deg)}
.drawing-sheet:after{right:10%;transform:rotate(3deg)}
.drawing-sheet img{
  display:block;
  width:100%;
  height:auto;
  filter:contrast(1.03) sepia(.08) saturate(.88);
}
.drawing-side-note{
  justify-self:end;
  display:flex;
  flex-direction:column;
  gap:17px;
  font-family:"DM Sans",sans-serif;
  font-size:9px;
  font-weight:600;
  letter-spacing:.22em;
  color:#cdbba2;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  border-right:1px solid rgba(236,220,194,.28);
  padding-right:11px;
}
@media(max-width:980px){
  .drawing-feature-inner{
    min-height:auto;
    grid-template-columns:1fr;
    gap:22px;
  }
  .drawing-meta{
    order:2;
    align-self:auto;
    padding:0 3px;
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:18px;
  }
  .drawing-meta .kicker{margin:0}
  .drawing-caption{font-size:34px}
  .drawing-mark{display:none}
  .drawing-sheet{
    order:1;
    max-width:760px;
    margin:auto;
    transform:rotate(-.7deg);
  }
  .drawing-side-note{display:none}
}
@media(max-width:720px){
  .drawing-feature{
    padding:52px 17px 58px;
  }
  .drawing-feature-inner{gap:17px}
  .drawing-sheet{
    padding:7px 7px 30px;
    transform:none;
  }
  .drawing-sheet:before,
  .drawing-sheet:after{
    width:58px;
    height:16px;
    top:-6px;
  }
  .drawing-meta{
    display:block;
    text-align:center;
  }
  .drawing-meta .kicker{margin-bottom:9px}
  .drawing-caption{font-size:30px}
}


/* V18 — iPhone Gallery repair.
   Desktop portrait composition remains untouched. On phones each portrait is an
   independent image in normal document flow so nothing overlaps or becomes trapped. */
@media(max-width:720px){
  .portraits{
    overflow:visible!important;
  }
  .portrait-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:16px!important;
    grid-auto-rows:auto!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    margin-top:30px!important;
  }
  .portrait-grid figure,
  .portrait-grid .p1,
  .portrait-grid .p2,
  .portrait-grid .p3,
  .portrait-grid .p4,
  .portrait-grid .p5,
  .portrait-grid .p6,
  .portrait-grid .p7,
  .portrait-grid .p8,
  .portrait-grid .p9{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    grid-column:auto!important;
    grid-row:auto!important;
    transform:none!important;
    overflow:hidden!important;
    aspect-ratio:auto!important;
  }
  .portrait-grid figure img,
  .portrait-grid .p1 img,
  .portrait-grid .p2 img,
  .portrait-grid .p3 img,
  .portrait-grid .p4 img,
  .portrait-grid .p5 img,
  .portrait-grid .p6 img,
  .portrait-grid .p7 img,
  .portrait-grid .p8 img,
  .portrait-grid .p9 img{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
  }
}

/* Media hero is intentionally a guitar-detail photograph. */
.media-hero-hands img{
  object-position:center center!important;
}
@media(max-width:720px){
  .media-hero-hands img{
    object-position:center center!important;
  }
}


/* V19 — Homepage hero portrait.
   Preserve the complete upper composition, especially Delta Boy's hat/head,
   beneath the navigation bar on desktop. */
@media(min-width:721px){
  .hero img,
  .hero-photo img,
  .hero-image img,
  .home-hero img,
  header.hero img{
    object-position:center top!important;
  }
}


/* V20 — robust tablet / midsize layout repair.
   Prevent inherited scrapbook row heights from turning photographs into horizontal slices. */
@media (min-width:721px) and (max-width:1100px){

  /* Gallery */
  .portraits{
    overflow:visible!important;
  }
  .portrait-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    gap:16px!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    margin-top:38px!important;
  }
  .portrait-grid figure,
  .portrait-grid .p1,
  .portrait-grid .p2,
  .portrait-grid .p3,
  .portrait-grid .p4,
  .portrait-grid .p5,
  .portrait-grid .p6,
  .portrait-grid .p7,
  .portrait-grid .p8,
  .portrait-grid .p9{
    position:relative!important;
    inset:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    overflow:hidden!important;
    transform:none!important;
    aspect-ratio:4/5!important;
  }
  .portrait-grid .p1,
  .portrait-grid .p4{
    grid-column:1/-1!important;
    aspect-ratio:16/9!important;
  }
  .portrait-grid figure img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:none!important;
  }
  .portrait-grid .p1 img{object-position:center 40%!important}
  .portrait-grid .p2 img{object-position:center 34%!important}
  .portrait-grid .p3 img{object-position:center 38%!important}
  .portrait-grid .p4 img{object-position:center 38%!important}
  .portrait-grid .p5 img{object-position:center 40%!important}
  .portrait-grid .p6 img{object-position:center 30%!important}
  .portrait-grid .p7 img{object-position:center 30%!important}
  .portrait-grid .p8 img{object-position:center 40%!important}

  /* Snaps from the road */
  .road-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    gap:18px!important;
    height:auto!important;
    overflow:visible!important;
  }
  .road-grid .snap,
  .road-grid .s1,.road-grid .s2,.road-grid .s3,.road-grid .s4,
  .road-grid .s5,.road-grid .s6,.road-grid .s7,.road-grid .s8,
  .road-grid .s9,.road-grid .s10,.road-grid .s11,.road-grid .s12{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    transform:none!important;
    aspect-ratio:4/5!important;
  }
  .road-grid .s5,
  .road-grid .s12{
    grid-column:1/-1!important;
    aspect-ratio:16/9!important;
  }
  .road-grid .snap img{
    position:absolute!important;
    left:8px!important;
    right:8px!important;
    top:8px!important;
    bottom:35px!important;
    width:calc(100% - 16px)!important;
    height:calc(100% - 43px)!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  /* Give section headers enough breathing room without creating dead space. */
  .section-head,
  .story-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
}

/* At small laptop widths, slightly reduce the gallery card height visually. */
@media (min-width:901px) and (max-width:1100px){
  .portrait-grid figure:not(.p1):not(.p4),
  .road-grid .snap:not(.s5):not(.s12){
    aspect-ratio:5/6!important;
  }
}
