@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--bg:#101214;--surface:#191b1e;--ink:#f7f5ef;--muted:#b9b8b5;--gold:#d2b77e;--line:#ffffff24;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:6px}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip{position:fixed;top:-100px;padding:12px;background:var(--ink);color:var(--bg);z-index:50}.skip:focus{top:10px}.header{max-width:1600px;margin:auto;min-height:110px;padding:24px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark{font:600 34px/1 var(--sans);letter-spacing:6px}.wordmark span{display:block;font:italic 400 21px/1.2 var(--serif);letter-spacing:1px;margin-top:5px;color:var(--gold)}nav{display:flex;align-items:center;gap:36px;font-size:14px}.nav-book{padding:12px 22px;border:1px solid #d2b77e70}.nav-book:hover{background:var(--gold);color:var(--bg);text-decoration:none}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;min-height:690px;align-items:center;padding:68px 0 70px 6%;gap:4%}.hero-copy{padding:20px 0 28px;position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:2.6px;font-size:12px;font-weight:600;color:var(--gold);margin:0 0 24px}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-2px;margin:0}h1{font-size:clamp(74px,7.7vw,122px)}em{font-weight:400;color:var(--gold)}.intro{font-size:18px;margin:28px 0 12px;font-weight:500}.hero-description{color:var(--muted);max-width:390px;margin:0 0 32px;line-height:1.8}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 27px;font-size:14px;letter-spacing:.3px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s}.primary{background:var(--gold);color:var(--bg)}.primary:hover{background:#e5cb94;text-decoration:none}.secondary{border-color:#ffffff40;background:transparent;color:var(--ink)}.secondary:hover{background:#ffffff0e;text-decoration:none}.hero-photo{margin:0;position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:14px 0 14px 18px}.hero-photo::before{content:'';position:absolute;inset:0 7% 35px 0;border:1px solid #d2b77e45;pointer-events:none}.hero-photo img{position:relative;display:block;width:100%;height:510px;object-fit:cover;object-position:48% center;filter:saturate(.65) brightness(.87)}.hero-photo figcaption{position:relative;padding:20px 24px 0 0;color:var(--muted);font-size:12px;letter-spacing:.8px}.hero-photo figcaption span{color:var(--gold);font-weight:600;letter-spacing:2px;margin-right:12px}.ribbon{max-width:1408px;margin:0 auto;display:flex;justify-content:space-between;gap:24px;padding:27px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;letter-spacing:2px;text-transform:uppercase}.ribbon span:first-child{color:var(--gold)}.section{max-width:1600px;margin:auto;padding:110px 6%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:48px}h2{font-size:clamp(48px,4.8vw,76px)}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p{color:var(--muted);margin:0;font-size:16px}.band-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.member{margin:0}.member img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.65);transition:filter .3s}.member:hover img{filter:saturate(1)}.member>div{padding:22px 0 10px;display:flex;gap:16px;align-items:baseline;border-bottom:1px solid var(--line)}.member span{color:var(--gold);font-size:12px;letter-spacing:1px}h3{margin:0;font-weight:500;font-size:20px;line-height:1.4;letter-spacing:-.4px}.member h3{font-family:var(--serif);font-size:29px}.events-section{background:#f2f1ed;color:#202224;max-width:none}.events-section>.section-heading,.event-list,.schedule-note{max-width:1408px;margin-left:auto;margin-right:auto}.events-section .eyebrow{color:#80652f}.text-link{font-size:14px;border-bottom:1px solid currentColor;padding-bottom:5px;color:#6b522a}.event{display:grid;grid-template-columns:85px minmax(0,1fr) 170px 150px;gap:28px;align-items:center;padding:29px 0;border-top:1px solid #20222425}.event:last-child{border-bottom:1px solid #20222425}.date{line-height:1;text-align:left;border-right:1px solid #20222425}.date span{display:block;font-size:12px;letter-spacing:1.8px;color:#80652f;margin-bottom:6px}.date strong{font:500 48px/1 var(--serif)}.venue h3{font-size:20px}.venue p{font-size:14px;color:#63645f;margin:7px 0 0}.time{font-size:14px;margin:0;white-space:nowrap}.event>a{font-size:14px;color:#6b522a}.event-note{font-size:14px;color:#63645f}.schedule-note{font-size:13px;color:#63645f;margin-top:24px;margin-bottom:0}.booking-section{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;padding-top:120px;padding-bottom:120px}.booking-copy h2{font-size:clamp(64px,6.6vw,102px)}.booking-copy>p:not(.eyebrow){color:var(--muted);max-width:390px;margin:28px 0}.social{display:flex;gap:28px;font-size:14px;color:var(--gold)}.social a{border-bottom:1px solid #d2b77e55;padding-bottom:4px}form{border:1px solid var(--line);background:var(--surface);padding:36px 40px}form h3{font:400 36px/1.2 var(--serif);margin-bottom:28px}label{display:block;margin:20px 0 8px;font-size:14px;color:#dedbd5}input,textarea{width:100%;min-width:0;color:var(--ink);background:var(--bg);border:1px solid #ffffff30;border-radius:0;padding:13px 14px}input::placeholder,textarea::placeholder{color:#9a9a96}textarea{resize:vertical}form .button{width:100%;margin-top:24px}.form-note{font-size:12px;color:var(--muted);margin:16px 0 0;line-height:1.7}#inquiry-preview{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1600px;margin:auto;padding:38px 6%;border-top:1px solid var(--line)}footer .wordmark{font-size:25px;letter-spacing:4px}footer .wordmark span{font-size:18px}footer p,footer>a:last-child{color:var(--muted);font-size:14px}
@media(min-width:1601px){.ribbon{max-width:1408px}}
@media(max-width:1600px){.ribbon{margin-left:6%;margin-right:6%}}
@media(max-width:1000px){.hero{min-height:580px;padding-top:50px;padding-bottom:50px;gap:3%;grid-template-columns:1fr 1fr}h1{font-size:86px}.hero-photo img{height:440px}.intro{font-size:16px}.section{padding-top:80px;padding-bottom:80px}.band-grid{gap:18px}.member h3{font-size:25px}.event{grid-template-columns:70px minmax(0,1fr) 140px;gap:20px}.event>a,.event-note{grid-column:2}.booking-section{gap:6%}form{padding:30px}.section-heading{gap:24px}.section-heading>p{max-width:210px}}
@media(max-width:700px){.header{min-height:95px;padding:20px 6%;gap:16px}.wordmark{font-size:26px;letter-spacing:4px}.wordmark span{font-size:19px}nav{gap:18px}nav .nav-book{padding:10px 14px}nav>a:first-child{display:none}.hero{display:flex;flex-direction:column;align-items:stretch;padding:42px 6% 38px;gap:30px;min-height:0}.hero-copy{padding:0}h1{font-size:clamp(70px,15vw,105px)}.hero-copy h1 br{display:none}.eyebrow{letter-spacing:2px;margin-bottom:22px}.intro{margin-top:24px;font-size:18px}.hero-description{max-width:100%;margin-bottom:26px}.hero-photo{padding:12px 0 12px 12px}.hero-photo img{height:auto;aspect-ratio:1.47;object-position:center}.hero-photo::before{inset:0 18px 35px 0}.hero-photo figcaption{font-size:12px;padding-top:16px}.ribbon{font-size:12px;letter-spacing:1px;padding:22px 0}.ribbon span:last-child{display:none}.section{padding:64px 6%}.section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:32px}.section-heading>p{max-width:none}h2{font-size:52px;letter-spacing:-1.3px}.band-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}.member>div{gap:10px;padding:15px 0 10px}.member h3{font-size:26px}.member img{aspect-ratio:1/1.15}.event{grid-template-columns:58px minmax(0,1fr);gap:9px 18px;padding:24px 0}.date{grid-row:span 2}.date strong{font-size:42px}.venue h3{font-size:18px}.venue p{font-size:14px}.time{grid-column:2}.event>a,.event-note{grid-column:2}.booking-section{grid-template-columns:1fr;gap:40px}.booking-copy h2{font-size:76px}.booking-copy>p:not(.eyebrow){max-width:100%}form{padding:28px 24px}footer{flex-wrap:wrap;padding:32px 6%;gap:25px}footer p{order:3;width:100%;margin:0}footer>a:last-child{max-width:150px}.button{padding:13px 22px}}
@media(max-width:380px){nav{gap:12px;font-size:14px}.wordmark{font-size:23px;letter-spacing:3px}.nav-book{padding:9px!important}.member h3{font-size:23px}.hero-buttons{gap:10px}.button{padding:13px 18px}.ribbon{letter-spacing:.3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Purple navigation tiles, shared by every page. */
.header{flex-wrap:wrap}nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}nav>a,nav .nav-book{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 17px;background:#6435a5;border:1px solid #976bce;border-radius:5px;color:#fff;font-weight:600;transition:background .2s,border-color .2s}nav>a:hover,nav .nav-book:hover{background:#7c46c1;border-color:#bb96ef;color:#fff;text-decoration:none}nav>a[aria-current="page"]{background:#854dcb;border-color:#d9b8ff;box-shadow:inset 0 -3px 0 #d9b8ff}.inner-page{min-height:65vh}.inner-page .section{padding-top:55px}.back-link{font-size:14px;color:var(--gold);border-bottom:1px solid #d2b77e55;padding-bottom:5px}.page-heading{margin:45px 0 50px;max-width:900px}.page-heading .eyebrow{margin-bottom:18px}.page-heading h1{font-size:clamp(54px,6vw,90px)}.bio-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center}.bio-photo{display:block;width:100%;aspect-ratio:1.5;object-fit:cover}.bio-copy p{color:var(--muted);margin:0 0 24px}.page-members{margin-top:80px}.page-members h2{margin-bottom:35px}.video-empty{border:1px solid #976bce66;background:#6435a518;padding:48px;max-width:850px}.video-empty h2{font-size:44px}.video-empty p{color:var(--muted);margin:20px 0 28px}.photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.photo-gallery figure{margin:0}.photo-gallery img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.photo-gallery .gallery-wide{grid-column:1/-1}.photo-gallery .gallery-wide img{aspect-ratio:1.8}.photo-gallery figcaption{padding:16px 0;color:var(--muted);border-bottom:1px solid var(--line)}
@media(max-width:1000px){.header{gap:22px}nav{max-width:100%;gap:8px}nav>a,nav .nav-book{padding:10px 14px}}
@media(max-width:700px){.header{align-items:flex-start}nav{width:100%;justify-content:flex-start;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}nav>a:first-child{display:inline-flex}nav>a,nav .nav-book{min-height:46px;padding:10px 8px;font-size:14px}.inner-page .section{padding-top:32px}.page-heading{margin:32px 0}.bio-layout{grid-template-columns:1fr;gap:28px}.page-members{margin-top:55px}.video-empty{padding:28px 22px}.video-empty h2{font-size:36px}.photo-gallery{gap:24px 16px}.photo-gallery .gallery-wide img{aspect-ratio:1.4}}
@media(max-width:380px){nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-book{padding:10px 8px!important}}

.performance-video{margin:0;max-width:1100px}.performance-video video{display:block;width:100%;height:auto;aspect-ratio:910/512;background:#000;border:1px solid #976bce66;border-radius:5px}.performance-video figcaption{padding:18px 0;color:var(--muted);font-size:16px;border-bottom:1px solid var(--line)}

.performance-video + .performance-video{margin-top:48px}

/* Keep the complete band portrait visible on every screen. */
.hero-photo img{height:auto;aspect-ratio:auto;object-fit:contain;}
.hero-photo{transform:translateX(-20px)}
@media(max-width:700px){.hero-photo{transform:translateX(-8px)}}

.page-heading .stage-heading{padding-left:20px}

.member img[src="assets/paul-stage.jpeg"],.photo-gallery img[src="assets/paul-stage.jpeg"]{object-position:15% center}

.photo-gallery .anniversary-poster{grid-column:1/-1;width:100%;max-width:800px;margin-inline:auto}.photo-gallery .anniversary-poster img{height:auto;aspect-ratio:auto;object-fit:contain}

.artist-biography{margin-top:64px;padding-top:40px;border-top:1px solid var(--line);max-width:950px}.artist-biography h2{font-size:clamp(36px,4vw,58px);line-height:1.15;letter-spacing:-1px;margin-bottom:26px}.artist-biography p{font-size:1.5rem;line-height:1.8;color:var(--muted);margin:0 0 24px}

.bio-copy p{font-size:1.5rem;line-height:1.8}

.hero-copy .eyebrow{font-size:1.25rem;line-height:1.5;letter-spacing:2px}

.hero-copy .intro{font-size:1.625rem;line-height:1.5}

.schedule-month{max-width:1408px;margin:0 auto 48px}.schedule-month-title{font-size:1.75rem;margin-bottom:22px}.events-section .event{grid-template-columns:85px minmax(0,1fr) 190px 220px}.events-section .event-note{font-size:14px;line-height:1.5}@media(max-width:1000px){.events-section .event{grid-template-columns:70px minmax(0,1fr) 190px}.events-section .event-note{grid-column:2}}@media(max-width:700px){.events-section .event{grid-template-columns:58px minmax(0,1fr)}.events-section h2{font-size:clamp(36px,8vw,52px)}.schedule-month-title{font-size:1.5rem}}

/* Center the four people by trimming the extra background on the right. */
.photo-gallery .heritage-photo{grid-column:1/-1}.photo-gallery .heritage-photo img{height:auto;aspect-ratio:1.35;object-fit:cover;object-position:left center;transform:none}

.page-heading.photos-heading{max-width:1100px;margin:80px auto 90px;text-align:center}.photos-heading h1{line-height:1.18;letter-spacing:-1px}.photos-heading .eyebrow{margin-bottom:28px}
@media(max-width:700px){.page-heading.photos-heading{margin:56px auto 64px}.photos-heading h1{font-size:clamp(40px,8vw,56px);line-height:1.2;letter-spacing:0}}

.photo-gallery .stage-plot{grid-column:1/-1}.photo-gallery .stage-plot img{height:auto;aspect-ratio:auto;object-fit:contain}

.photo-gallery .gallery-portrait img{height:auto;aspect-ratio:auto;object-fit:contain}

/* Song List music icon, styled to match the shared navigation tiles. */
nav .nav-song-list{gap:8px;white-space:nowrap}nav .nav-song-list svg{flex-shrink:0}
