/* =========================================================
   v3.10 — SITE-WIDE TYPOGRAPHY & VISUAL HARMONY
   Loaded last: normalize older component styles without altering
   show/venue data, imagery, or template structure.
   ========================================================= */
:root{
  --text:#f4f4f6;
  --muted:#b5b5bd;
  --line:#2b2b32;
  --radius:18px;
  --font-body:Arial,Helvetica,sans-serif;
  --font-display:Impact,"Arial Narrow",sans-serif;
}
html{font-size:16px;scroll-padding-top:90px}
body{font-family:var(--font-body);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
p{color:#dedee4;line-height:1.65}
strong{font-weight:800}
h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}
h1,.brand{font-family:var(--font-display);font-weight:900;text-transform:uppercase}
h1{font-size:clamp(3rem,6vw,5.25rem);line-height:1.02;letter-spacing:.01em}
h2,h3{font-family:var(--font-body);font-weight:800;text-transform:none;letter-spacing:-.025em}
h2{font-size:clamp(2rem,3.45vw,3.25rem);line-height:1.14;margin-bottom:16px}
h3{font-size:clamp(1.2rem,1.65vw,1.5rem);line-height:1.22}
.section{padding:clamp(58px,5.8vw,78px) 0}
.section-heading{max-width:870px;margin-bottom:28px}
.section-heading h2{font-size:clamp(2rem,3.45vw,3.25rem);line-height:1.14;margin-bottom:12px}
.section-intro{font-size:1.0625rem;line-height:1.6;color:#c9c9d0;margin:0}
.eyebrow{font-size:.78rem;line-height:1.5;letter-spacing:.12em;font-weight:800}
.site-header .brand{letter-spacing:.025em}
.primary-nav{font-size:.84rem;letter-spacing:.055em}
.primary-nav a:focus-visible,.hero-links a:focus-visible,.trajectory-links a:focus-visible{
  border-radius:3px;outline:2px solid var(--cyan);outline-offset:4px
}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.btn{min-height:48px;padding:0 20px;font-size:.875rem;letter-spacing:.045em;line-height:1.25;text-align:center}
.btn.primary{color:#09090b}
.btn.secondary{color:#f9f9fa}
.btn:hover{transform:translateY(-1px)}

/* Home: retain a memorable display headline, not billboard-size copy. */
.hero-v2{min-height:84svh;padding:126px 0 68px}
.hero-v2 h1{font-size:clamp(3.7rem,7.1vw,6.1rem);line-height:.97;letter-spacing:.01em;margin-bottom:14px}
.hero-kicker{font-size:.84rem;letter-spacing:.11em}
.hero-sub{font-size:clamp(1.1rem,1.8vw,1.45rem);letter-spacing:.075em;line-height:1.3}
.hero-lead{font-size:1.1rem;line-height:1.62;max-width:595px}
.hero-links{font-size:.8rem;letter-spacing:.045em}
.hero-aside-card{padding:20px;border-radius:18px}
.hero-quote p,.hero-trust p{font-size:.96rem;line-height:1.58}
.mini-stat strong{font-size:clamp(1.45rem,2.35vw,1.95rem)}
.mini-stat span{font-size:.73rem;letter-spacing:.075em}
.card{min-height:185px;padding:23px}
.card h3{font-size:1.33rem;line-height:1.2;margin-bottom:11px}
.card p{font-size:.98rem;line-height:1.6;margin-bottom:0}
.card .icon{margin-bottom:20px}
.stat strong{font-size:clamp(2.6rem,5vw,4.25rem)}
.stat span{font-size:.83rem;letter-spacing:.07em}
.show-row{gap:18px;padding:20px}
.show-row strong{font-size:1.04rem;line-height:1.35}
.show-date{font-size:1.72rem;line-height:1.13}
.show-meta,.show-venue{font-size:.95rem;line-height:1.5}
.about-grid{gap:52px}
.about-grid h2,.booking-band h2{font-size:clamp(2.05rem,3.4vw,3.15rem);line-height:1.14}
.about-grid p{font-size:1rem}
.names{gap:9px}
.name-chip{font-size:.81rem;letter-spacing:.025em;padding:10px 13px}
.instagram-heading h2{font-size:clamp(2rem,3.45vw,3.2rem)}

/* Inside pages: a consistent title scale for About, Experience, Booking, Shows. */
.page-hero{padding:132px 0 58px}
.page-hero h1{font-size:clamp(3.2rem,5.4vw,4.8rem);line-height:1}
.page-hero p{max-width:770px;font-size:1.08rem;margin-bottom:0}
.about-hero{min-height:74svh;padding:125px 0 68px}
.about-hero-grid{gap:56px}
.about-hero-copy h1{font-size:clamp(3.6rem,6.8vw,5.8rem);line-height:.99;margin:12px 0 18px}
.about-hero-lead{font-size:1.125rem;line-height:1.6}
.about-story-grid{gap:58px}
.about-story-copy{font-size:1.05rem}
.about-story-copy p{font-size:inherit}
.about-numbers > div{padding:27px 14px}
.about-numbers strong{font-size:clamp(2.2rem,4vw,3.9rem)}
.about-numbers span{font-size:.78rem;letter-spacing:.06em}
.role-grid{gap:14px}
.role-grid article{padding:23px}
.role-grid h3{font-size:1.3rem;line-height:1.2}
.role-grid p{font-size:.97rem;line-height:1.6}

.experience-hero{min-height:82svh;padding:134px 0 68px}
.experience-hero h1{font-size:clamp(3.6rem,6.5vw,5.6rem);line-height:1.0;margin-bottom:17px}
.experience-hero-copy{max-width:810px}
.experience-hero-copy > p{max-width:625px;font-size:1.15rem;line-height:1.6}
.experience-pillars{gap:14px}
.experience-pillars article{min-height:242px;padding:27px}
.experience-number{margin-bottom:41px;font-size:.83rem}
.experience-pillars h3{font-size:clamp(1.65rem,2.5vw,2.35rem);line-height:1.15}
.experience-pillars p{font-size:1rem}
.experience-feel-grid,.opening-show-grid{gap:52px}
.experience-feel-image,.experience-feel-image img{min-height:430px}
.feel-lines p{font-size:1rem;line-height:1.55}
.decades{padding:23px;gap:10px}
.decades span{font-size:clamp(1.7rem,3.5vw,3.1rem)}
.opening-lead{font-size:1.12rem;line-height:1.55}
.format-grid{gap:10px}
.format-grid article{min-height:185px;padding:19px}
.format-grid strong{font-size:.94rem;line-height:1.4}
.format-grid p{font-size:.95rem;line-height:1.5}

/* Shows and Booking share the same content scale. */
.memory-copy h3{font-size:1.25rem;line-height:1.25}
.memory-copy p{font-size:.96rem}
.memory-date{font-size:.79rem;letter-spacing:.065em}
.show-schedule h3{font-size:1.35rem}
.schedule-row{font-size:.97rem}
.booking-layout{gap:48px}
.booking-intro h2{font-size:clamp(2.05rem,3.1vw,2.9rem);line-height:1.16}
.booking-intro p{font-size:1.03rem}
.booking-points span{font-size:.98rem;line-height:1.5}
.booking-form-card{padding:26px}
.field label{font-size:.85rem;letter-spacing:.045em}
input,select,textarea{font-size:1rem;line-height:1.5;min-height:48px;background:#101014;border-color:#44444d;color:#f6f6f7}
input::placeholder,textarea::placeholder{color:#aeaec0;opacity:1}
input:focus,select:focus,textarea:focus{border-color:var(--cyan)}
.notice{line-height:1.55}
.meta-item strong{font-size:.83rem}

/* About — logos retain prominence, section titles no longer overwhelm. */
.trajectory-section.section{padding:54px 0}
.trajectory-section .section-heading{max-width:900px;margin-bottom:22px}
.trajectory-section .section-heading h2{font-size:clamp(1.95rem,3vw,2.9rem);line-height:1.15;margin-bottom:10px}
.trajectory-section .section-intro{font-size:1.01rem;line-height:1.55}
.trajectory-section .trajectory-logo span{font-size:clamp(1.25rem,2vw,1.85rem)}
.trajectory-section .trajectory-info h3{font-size:1.17rem;line-height:1.25;letter-spacing:-.01em}
.trajectory-section .trajectory-description{font-size:.92rem;line-height:1.6}
.trajectory-section .trajectory-city{font-size:.89rem}
.trajectory-section .trajectory-role{font-size:.8rem;letter-spacing:.05em}
.trajectory-section .trajectory-years{font-size:.75rem;letter-spacing:.055em}
.trajectory-current{font-size:.72rem;letter-spacing:.06em;min-height:30px}
.trajectory-featured{font-size:.68rem;letter-spacing:.05em}
.trajectory-links a{font-size:.74rem}
.opening-artists-heading h2{font-size:clamp(1.95rem,3vw,2.9rem);line-height:1.15}
.artist-wall-opening span{font-size:.84rem;line-height:1.32;letter-spacing:.01em}
.artist-wall-opening span.artist-major{font-size:.93rem}

@media(max-width:1000px){
  .about-hero-grid,.about-story-grid,.experience-feel-grid,.opening-show-grid{gap:36px}
  .about-hero{min-height:auto}
  .experience-hero{min-height:75svh}
  .format-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  html{scroll-padding-top:70px}
  body{line-height:1.6}
  .container{width:min(100% - 32px,var(--max))}
  .section{padding:50px 0}
  .section-heading{margin-bottom:22px}
  h2,.section-heading h2{font-size:clamp(1.75rem,7vw,2.25rem);line-height:1.16;margin-bottom:11px}
  h3{font-size:1.25rem}
  .section-intro{font-size:.99rem;line-height:1.58}
  .eyebrow{font-size:.75rem;letter-spacing:.105em}
  .brand{font-size:1.3rem}
  .primary-nav{font-size:.88rem}
  .hero-v2{min-height:auto;padding:108px 0 43px}
  .hero-v2 h1{font-size:clamp(3.35rem,13vw,4.5rem);line-height:.97}
  .hero-kicker{font-size:.77rem}
  .hero-sub{font-size:clamp(.97rem,3.7vw,1.14rem);letter-spacing:.045em;white-space:normal}
  .hero-lead{font-size:1.02rem;line-height:1.6;max-width:34rem}
  .hero-links{font-size:.75rem;letter-spacing:.025em;gap:8px}
  .cta-row{display:flex;flex-wrap:wrap;gap:10px}
  .cta-row .btn{flex:1 1 145px}
  .btn{min-height:48px;padding:9px 14px;font-size:.84rem;letter-spacing:.03em}
  .hero-v2-aside{gap:10px}
  .hero-aside-card{padding:15px}
  .hero-quote .eyebrow{font-size:.72rem}
  .hero-quote p{font-size:.95rem}
  .mini-stat strong{font-size:clamp(1.15rem,5vw,1.5rem)}
  .mini-stat span{font-size:.69rem;letter-spacing:.035em}
  .grid-4{gap:12px}
  .card{padding:20px;min-height:0}
  .card h3{font-size:1.25rem}
  .card p{font-size:.98rem}
  .stat span{font-size:.78rem}
  .show-date{font-size:1.55rem}
  .show-row{padding:17px}
  .show-meta,.show-venue{font-size:.93rem}
  .about-grid{gap:28px}
  .about-grid h2,.booking-band h2,.instagram-heading h2{font-size:clamp(1.8rem,7vw,2.3rem)}
  .name-chip{font-size:.78rem;padding:9px 12px}
  .page-hero{padding:113px 0 46px}
  .page-hero h1{font-size:clamp(3rem,11vw,4.2rem)}
  .page-hero p{font-size:1rem}
  .about-hero{padding:110px 0 48px}
  .about-hero-grid{gap:26px}
  .about-hero-copy h1{font-size:clamp(3.2rem,11.5vw,4.5rem)}
  .about-hero-lead{font-size:1.02rem}
  .about-numbers > div{padding:23px 12px}
  .about-numbers strong{font-size:clamp(2rem,8vw,3.1rem)}
  .about-numbers span{font-size:.73rem}
  .about-story-copy,.about-story-copy p{font-size:1rem}
  .role-grid article{padding:20px}
  .role-grid h3{font-size:1.25rem}
  .experience-hero{min-height:auto;padding:116px 0 54px}
  .experience-hero h1{font-size:clamp(3.15rem,11.2vw,4.55rem);line-height:1.01}
  .experience-hero-copy > p{font-size:1.03rem}
  .experience-pillars article{min-height:0;padding:22px}
  .experience-number{margin-bottom:24px}
  .experience-pillars h3{font-size:1.6rem}
  .experience-feel-image,.experience-feel-image img{min-height:340px}
  .feel-lines p{font-size:.99rem}
  .opening-lead{font-size:1.05rem}
  .decades{padding:19px 14px}
  .decades span{font-size:1.95rem}
  .format-grid{grid-template-columns:1fr}
  .format-grid article{min-height:0;padding:19px}
  .booking-layout{gap:30px}
  .booking-intro h2{font-size:clamp(1.85rem,7vw,2.35rem)}
  .booking-form-card{padding:18px}
  .field label{font-size:.82rem}
  .trajectory-section.section{padding:42px 0}
  .trajectory-section .section-heading{margin-bottom:18px}
  .trajectory-section .section-heading h2,.opening-artists-heading h2{font-size:clamp(1.75rem,6.6vw,2.2rem);line-height:1.17}
  .trajectory-section .section-intro{font-size:.98rem}
  .trajectory-section .trajectory-info h3{font-size:1.16rem}
  .trajectory-current{font-size:.67rem;letter-spacing:.035em}
  .artist-wall-opening span,.artist-wall-opening span.artist-major{min-height:62px;font-size:.81rem;line-height:1.3;padding:11px}
}
@media(max-width:380px){
  .hero-v2 h1{font-size:clamp(3rem,12.7vw,3.8rem)}
  .hero-sub{font-size:.95rem}
  .hero-stats-grid{gap:6px}
  .mini-stat{padding:11px 3px}
  .mini-stat strong{font-size:1.13rem}
  .mini-stat span{font-size:.67rem}
  .artist-wall-opening{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn,.trajectory-card,.memory-card,.show-row{transition:none!important}
  .btn:hover,.trajectory-card:hover,.memory-card:hover,.show-row:hover{transform:none!important}
}

/* v3.14 — quiet path from the Home shortlist to the complete About roster. */
.opening-shows-more{margin-top:25px}
.opening-shows-more__link{
  min-height:46px;
  padding:10px 18px;
  border-radius:9px;
  font-size:.83rem;
  letter-spacing:.035em;
  text-align:center;
  gap:8px;
}
.opening-shows-more__link span{
  color:var(--cyan);
  font-size:1.12rem;
  line-height:1;
}
.opening-artists-section{scroll-margin-top:100px}
@media(max-width:720px){
  .opening-shows-more{margin-top:20px}
  .opening-shows-more__link{
    max-width:100%;
    min-height:48px;
    font-size:.8rem;
    padding:10px 14px;
    letter-spacing:.025em;
  }
  .opening-artists-section{scroll-margin-top:76px}
}
