@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Oswald:wght@500;600;700&display=swap");
:root{--night:#071925;--navy2:#0c2432;--blue:#274d6d;--teal:#2d8f86;--green:#587b5d;--yellow:#e3c15a;--amber:#c99045;--cream:#f3eddc;--muted:#bcc9c5;--line:rgba(235,240,226,.15);--panel:rgba(10,35,47,.84);--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--cream);background:#071925;font-family:"Lato",Arial,Helvetica,sans-serif;line-height:1.6;background-image:radial-gradient(circle at 12% 8%,rgba(45,143,134,.1),transparent 30rem),radial-gradient(circle at 85% 18%,rgba(227,193,90,.07),transparent 28rem)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E")}a{color:inherit}img,video{max-width:100%;display:block}.wrap{width:min(calc(100% - 36px),var(--max));margin:auto}.site-nav{position:sticky;top:0;z-index:110;background:rgba(7,25,37,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 8px 30px rgba(0,0,0,.12)}.nav-inner{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:900;letter-spacing:.12em;text-decoration:none;color:var(--yellow);font-size:.9rem;white-space:nowrap}.nav-links{display:flex;gap:5px;align-items:center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav-links::-webkit-scrollbar{display:none}.nav-links a{text-decoration:none;color:var(--muted);font-size:.78rem;font-weight:700;white-space:nowrap;padding:7px 10px;border-radius:999px;border:1px solid transparent}.nav-links a:hover{color:#fff;background:rgba(255,255,255,.05)}.nav-links a[aria-current="page"]{color:#10212b;background:var(--yellow);border-color:var(--yellow)}.hero{position:relative;overflow:hidden}.hero-dusk{min-height:91vh;background:#071925}.hero-slideshow,.hero-slide,.hero-shade{position:absolute;inset:0}.hero-slide{margin:0;opacity:0;transition:opacity 1.5s ease;overflow:hidden}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.04) brightness(.72);transform:scale(1.03);animation:slowzoom 15s ease-in-out infinite alternate}.hero-slide:first-child img{object-position:65% 34%}.hero-shade{background:linear-gradient(90deg,rgba(5,18,28,.94) 0%,rgba(5,18,28,.78) 36%,rgba(5,18,28,.2) 72%,rgba(5,18,28,.42) 100%),linear-gradient(0deg,rgba(7,25,37,.94),transparent 25%,transparent 74%,rgba(7,25,37,.2));z-index:2}.hero-overlay{position:relative;z-index:3;min-height:91vh;display:flex;align-items:center}.hero-copy{max-width:700px;padding:112px 0 95px}.eyebrow,.tag{font-size:.76rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800;color:var(--yellow)}h1,h2{font-family:"Oswald","Arial Narrow",Arial,sans-serif;font-weight:600;letter-spacing:.005em}h3{font-family:"Lato",Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-.02em}h1{font-size:clamp(4.8rem,9.3vw,8.5rem);line-height:.8;margin:.12em 0 .18em;text-shadow:0 10px 35px rgba(0,0,0,.25)}h2{font-size:clamp(2.7rem,5.5vw,5rem);line-height:.94;margin:0}h3{font-size:1.55rem;margin:.2em 0}.hero-role{font-weight:700;font-size:clamp(1.05rem,1.8vw,1.28rem);color:#f2e8cf;margin:.4rem 0 1rem;max-width:650px}.lede{font-size:clamp(1.02rem,1.9vw,1.22rem);color:#d7e1dc;max-width:650px}.buttons,.links{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn,.pill{display:inline-block;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-weight:800;font-size:.88rem;background:rgba(7,25,37,.72)}.btn.primary{background:var(--yellow);color:#10212b;border-color:var(--yellow)}.btn.glass{background:rgba(6,23,34,.46);backdrop-filter:blur(8px)}.slide-dots{display:flex;gap:8px;margin-top:26px}.slide-dot{width:28px;height:3px;border:0;background:rgba(255,255,255,.32);padding:0;cursor:pointer}.slide-dot.active{background:var(--yellow)}section{padding:92px 0;border-bottom:1px solid var(--line)}.intro-band{padding:44px 0;background:#0a2230}.intro-statement{display:grid;grid-template-columns:.3fr 1.7fr;gap:34px;align-items:start}.intro-statement p{margin:0;font-size:clamp(1.4rem,2.7vw,2rem);font-weight:650;line-height:1.35;max-width:980px}.section-head{display:grid;grid-template-columns:.8fr 1.4fr;gap:38px;margin-bottom:42px}.section-head p{margin:0;color:var(--muted);max-width:780px}.editorial-head{align-items:end}.service-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}.service-feature{min-height:520px;padding:44px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(160deg,rgba(39,77,109,.62),rgba(10,35,47,.9));display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.service-feature:before{content:"";position:absolute;inset:auto -12% -28% 28%;height:65%;background:radial-gradient(circle,rgba(227,193,90,.12),transparent 68%)}.service-feature>*{position:relative;z-index:1}.service-feature h3{font-size:clamp(2.3rem,4vw,4rem);line-height:1}.service-feature p{font-size:1.08rem;color:#d7e1dc;max-width:620px}.service-stack{display:grid;gap:14px}.service-item{padding:22px 24px;border-top:1px solid var(--line)}.service-item h3{font-size:1.35rem}.service-item p{margin-bottom:0;color:var(--muted)}.photo-interlude{position:relative;padding:0;min-height:66vh;overflow:hidden}.photo-interlude>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) brightness(.78)}.interlude-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,19,31,.12),rgba(6,19,31,.46)),linear-gradient(0deg,rgba(7,25,37,.85),transparent 52%)}.interlude-copy{position:absolute;left:max(18px,calc((100vw - var(--max))/2));bottom:46px;z-index:2;max-width:760px}.interlude-copy p{font-family:"Oswald","Arial Narrow",Arial,sans-serif;font-weight:600;font-size:clamp(2.2rem,4.8vw,4.5rem);line-height:1;margin:.15em 0}.music-section{background:linear-gradient(180deg,#081a29,#0b2230)}.project-hero{position:relative;min-height:650px;border-radius:30px;overflow:hidden;border:1px solid var(--line)}.project-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,14,22,.94),rgba(5,17,26,.16) 72%)}.project-overlay{position:absolute;left:clamp(24px,5vw,60px);bottom:clamp(26px,5vw,58px);right:24px;z-index:2;max-width:680px}.project-overlay h3{font-size:clamp(2.8rem,5.5vw,5rem);line-height:.95}.project-overlay p{font-size:1.12rem}.project-asym{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;margin-top:20px;align-items:start}.project-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#0a2632}.project-card>img{width:100%;height:360px;object-fit:cover}.project-card>div{padding:24px}.project-card.tall{margin-top:90px}.project-card.tall>img{height:430px}.instrument-strip{display:grid;grid-template-columns:1fr 1fr 1.2fr;min-height:350px;padding:0;background:#0b1d29}.strip-image{overflow:hidden}.strip-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.76)}.strip-copy{padding:44px;display:flex;flex-direction:column;justify-content:center}.strip-copy p{font-size:1.15rem;color:#d7e1dc}.testimonial-section{background:radial-gradient(circle at 78% 18%,rgba(227,193,90,.12),transparent 26rem),linear-gradient(120deg,#102331,#1a2537)}.testimonial{max-width:1000px;position:relative;padding-left:90px}.quote-mark{position:absolute;left:0;top:-24px;font-family:"Segoe Print","Bradley Hand","Marker Felt","Comic Sans MS",cursive;font-size:9rem;line-height:1;color:rgba(227,193,90,.34)}.quote{font-size:clamp(1.7rem,3.5vw,2.8rem);line-height:1.28;font-weight:650;margin:12px 0}.quote-by{color:var(--muted)}.venue-flow{display:grid;grid-template-columns:1.1fr .9fr 1.2fr;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.venue-flow article{padding:28px 26px;border-right:1px solid var(--line)}.venue-flow article:last-child{border-right:0}.venue-flow p{color:var(--muted)}.contact-section{background:linear-gradient(180deg,#0a1e2a,#181e2f)}.contact-editorial{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:start}.contact-message h2{font-size:clamp(3rem,6.4vw,6rem);max-width:680px}.contact-message p{color:var(--muted);max-width:600px}.direct-email{font-size:clamp(1.2rem,2.1vw,1.75rem);font-weight:800;color:var(--cream)!important}.minimal-form{border-top:1px solid var(--line);padding-top:22px}.field{display:grid;gap:6px;margin-bottom:14px}.field label{font-weight:700;font-size:.9rem}.field input,.field textarea,.field select{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:#fff;padding:12px 3px;font:inherit;border-radius:0}.field textarea{min-height:130px;resize:vertical}.resume-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px}.resume-aside{align-self:start;position:sticky;top:74px}.timeline{display:grid;gap:22px}.job{padding-bottom:20px;border-bottom:1px solid var(--line)}.job:last-child{border-bottom:0}.job h3{margin-bottom:.1em}.meta{color:var(--yellow);font-weight:700;font-size:.9rem}.job ul{color:var(--muted);padding-left:20px}.skills{display:flex;gap:8px;flex-wrap:wrap}.skill{border:1px solid var(--line);border-radius:999px;padding:7px 10px;color:#dce5df;background:#0a2632;font-size:.88rem}.instrument-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.instrument{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:#0a2632;min-height:320px}.instrument img{width:100%;height:100%;object-fit:cover}.instrument img[src="Selmer-Concept-TT trumpet-Bonos.jpg"]{object-fit:contain;background:#071925}.instrument.big{grid-column:span 7}.instrument.small{grid-column:span 5}.instrument.half{grid-column:span 6}.instrument:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(5,20,29,.88))}.instrument-cap{position:absolute;left:16px;right:16px;bottom:14px;z-index:2}.instrument-cap strong{display:block;font-weight:800;font-size:1.35rem}.instrument-cap span{color:#d9e2dc;font-size:.86rem}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.gitem{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;min-height:320px;background:#0a2632;cursor:pointer}.gitem:nth-child(1){grid-column:span 7}.gitem:nth-child(2){grid-column:span 5}.gitem:nth-child(n+3){grid-column:span 6}.gitem img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.gitem:hover img{transform:scale(1.04)}footer{padding:34px 0 50px;color:#91a49c;font-size:.9rem}.lightbox{position:fixed;inset:0;background:rgba(2,10,14,.95);z-index:120;display:none;align-items:center;justify-content:center;padding:24px}.lightbox.open{display:flex}.lb-inner{width:min(1100px,100%);position:relative}.lb-img{width:100%;max-height:78vh;object-fit:contain}.lb-caption{text-align:center;color:#fff;margin-top:12px}.lb-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.45);color:#fff;font-size:1.5rem;cursor:pointer}.lb-prev{left:8px}.lb-next{right:8px}.lb-close{position:absolute;right:0;top:-50px;background:transparent;border:0;color:#fff;font-size:2rem;cursor:pointer}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.in-view{opacity:1;transform:none}@keyframes slowzoom{from{transform:scale(1.03)}to{transform:scale(1.09)}}@media(max-width:980px){.nav-inner{align-items:center}.nav-links{max-width:72vw}.section-head,.service-layout,.project-asym,.contact-editorial,.intro-statement,.instrument-strip,.venue-flow{grid-template-columns:1fr}.service-feature{min-height:420px}.project-card.tall{margin-top:0}.testimonial{padding-left:60px}.quote-mark{font-size:7rem}.strip-image{height:300px}.venue-flow article{border-right:0;border-bottom:1px solid var(--line)}.venue-flow article:last-child{border-bottom:0}.resume-layout{grid-template-columns:1fr}.resume-aside{position:static}.instrument.big,.instrument.small,.instrument.half,.gitem:nth-child(n){grid-column:1/-1}}@media(max-width:620px){.wrap{width:min(calc(100% - 24px),var(--max))}.site-nav{position:sticky}.nav-inner{min-height:48px;gap:10px}.brand{font-size:.75rem}.nav-links{max-width:74vw;gap:3px}.nav-links a{font-size:.7rem;padding:6px 8px}.hero-copy{padding-top:90px}.project-hero{min-height:560px}.service-feature{padding:28px}.testimonial{padding-left:0;padding-top:55px}.quote-mark{left:0;top:-10px}.contact-editorial{gap:36px}.project-card>img,.project-card.tall>img{height:300px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.hero-slide img{animation:none}.hero-slide{transition:none}.reveal{opacity:1;transform:none;transition:none}}
.performance-calendar{background:linear-gradient(180deg,#081d29,#0b2632)}.calendar-empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;display:grid;grid-template-columns:.55fr 1fr 1.4fr auto;gap:24px;align-items:center}.calendar-empty h3,.calendar-empty p{margin:0}.calendar-empty p{color:var(--muted)}@media(max-width:900px){.calendar-empty{grid-template-columns:1fr}.calendar-empty .pill{justify-self:start}}

.calendar-list{border-top:1px solid var(--line)}.calendar-event{display:grid;grid-template-columns:210px 1fr;gap:34px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}.event-date strong{display:block;font-family:"Oswald","Arial Narrow",Arial,sans-serif;font-size:2rem;line-height:1;color:var(--yellow)}.event-date span{display:block;color:var(--muted);margin-top:8px;font-weight:700}.event-info h3{font-size:1.55rem;margin:.15em 0 .25em}.event-info p{margin:0;color:var(--muted)}.calendar-booking{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:28px}.calendar-booking p{margin:0;color:var(--muted)}@media(max-width:700px){.calendar-event{grid-template-columns:1fr;gap:14px}.calendar-booking{align-items:flex-start;flex-direction:column}}

.read-more{display:inline-block;margin-top:12px;color:var(--yellow);font-weight:800;font-size:.86rem;text-decoration:none;border-bottom:1px solid rgba(227,193,90,.38);padding-bottom:2px}.read-more:hover{color:#fff;border-color:#fff}.event-info em{font-style:italic;color:var(--cream)}

.calendar-toggle{font:inherit;background:transparent;cursor:pointer}.event-details[hidden]{display:none}.event-details{margin-top:14px}.read-further{display:inline-block;margin-top:18px;color:var(--yellow);font-weight:800;text-decoration:none;border-bottom:1px solid rgba(227,193,90,.38);padding-bottom:2px}.read-further:hover{color:#fff;border-color:#fff}

/* Instruments: smaller uncropped previews with click-to-expand lightbox */
.instrument-lightbox-item{cursor:zoom-in;display:flex;align-items:center;justify-content:center;padding:26px 26px 86px;min-height:360px}.instrument-lightbox-item img,.instrument-lightbox-item img[src="Selmer-Concept-TT trumpet-Bonos.jpg"]{width:86%;height:250px;object-fit:contain;background:transparent}.instrument-lightbox-item:after{pointer-events:none}.instrument-lightbox-item .instrument-cap{pointer-events:none}.instrument-lightbox .lb-inner{width:min(1000px,92vw)}.instrument-lightbox .lb-img{max-height:84vh;width:100%;object-fit:contain}.instrument-lightbox .lb-caption{margin-top:10px}@media(max-width:620px){.instrument-lightbox-item{padding:18px 18px 88px;min-height:330px}.instrument-lightbox-item img,.instrument-lightbox-item img[src="Selmer-Concept-TT trumpet-Bonos.jpg"]{width:88%;height:220px}}

/* Compact instruments page: one-row desktop layout */
.instruments-hero .wrap{padding:58px 0 30px}.instruments-hero h1{font-size:clamp(3rem,5.4vw,5rem);margin:.08em 0 .12em}.instruments-hero .lede{max-width:820px;margin:.5rem 0 0}.instruments-section{padding:34px 0 48px}.instruments-intro{margin:0 0 22px}.instruments-intro p{margin:0;color:var(--muted);max-width:860px}.instruments-section .instrument-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.instruments-section .instrument.big,.instruments-section .instrument.small,.instruments-section .instrument.half{grid-column:auto}.instruments-section .instrument-lightbox-item{min-height:330px;padding:20px 20px 92px}.instruments-section .instrument-lightbox-item img,.instruments-section .instrument-lightbox-item img[src="Selmer-Concept-TT trumpet-Bonos.jpg"]{width:88%;height:215px;object-fit:contain}.instruments-section+.intro-band{padding:32px 0}.instruments-section+.intro-band .intro-statement p{font-size:clamp(1.15rem,2vw,1.55rem)}@media(max-width:760px){.instruments-hero .wrap{padding:42px 0 24px}.instruments-section .instrument-grid{grid-template-columns:1fr}.instruments-section .instrument-lightbox-item{min-height:320px}.instruments-section{padding-top:26px}}

/* Compact Music / Projects page */
.projects-hero .wrap{padding:58px 0 30px}.projects-hero h1{font-size:clamp(3rem,5.4vw,5rem);margin:.08em 0 .12em}.projects-hero .lede{max-width:900px;margin:.5rem 0 0}.projects-section{padding:36px 0 46px}.projects-section .section-head,.collaborations-section .section-head{margin-bottom:24px}.projects-section .section-head h2,.collaborations-section .section-head h2{font-size:clamp(2.2rem,4vw,3.5rem)}.projects-section .project-asym{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:0}.projects-section .project-card{margin-top:0}.projects-section .project-card>img{height:220px}.projects-section .project-card>div{padding:18px}.projects-section .project-card h3{font-size:1.35rem}.projects-section .project-card p{font-size:.94rem;margin:.45rem 0}.projects-section .project-card .links{margin-top:14px}.collaborations-section{padding:42px 0}.collaborations-section .venue-flow{grid-template-columns:repeat(2,1fr)}.collaborations-section .venue-flow article{padding:20px 22px}.collaborations-section .venue-flow h3{font-size:1.3rem}.collaborations-section .venue-flow p{margin:.35rem 0 1rem}.collaborations-section+.intro-band{padding:30px 0}.collaborations-section+.intro-band .intro-statement p{font-size:clamp(1.1rem,1.8vw,1.45rem)}@media(max-width:900px){.projects-section .project-asym{grid-template-columns:1fr 1fr}.collaborations-section .venue-flow{grid-template-columns:1fr 1fr}}@media(max-width:620px){.projects-hero .wrap{padding:42px 0 24px}.projects-section,.collaborations-section{padding:30px 0}.projects-section .project-asym,.collaborations-section .venue-flow{grid-template-columns:1fr}.projects-section .project-card>img{height:240px}}

/* Strong compact overrides: projects + merged gallery instruments */
@media (min-width:901px){
  .projects-section .project-asym{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
    align-items:stretch!important;
  }
  .projects-section .project-card,
  .projects-section .project-card.wide,
  .projects-section .project-card.tall{
    width:auto!important;
    margin:0!important;
    min-width:0!important;
  }
  .projects-section .project-card>img{
    width:100%!important;
    height:185px!important;
    object-fit:cover!important;
  }
  .projects-section .project-card>div{padding:15px!important}
  .projects-section .project-card h3{font-size:1.22rem!important;margin:.15em 0!important}
  .projects-section .project-card p{font-size:.88rem!important;line-height:1.45!important}
  .projects-section .project-card .links{gap:6px!important;margin-top:10px!important}
  .projects-section .project-card .pill{padding:7px 10px!important;font-size:.76rem!important}

  #instruments .instrument-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
  #instruments .instrument,
  #instruments .instrument.big,
  #instruments .instrument.small,
  #instruments .instrument.half{
    grid-column:auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:285px!important;
  }
  #instruments .instrument-lightbox-item{
    padding:16px 16px 88px!important;
  }
  #instruments .instrument-lightbox-item img,
  #instruments .instrument-lightbox-item img[src="Selmer-Concept-TT trumpet-Bonos.jpg"]{
    width:88%!important;
    height:175px!important;
    object-fit:contain!important;
  }
  #instruments .instrument-cap strong{font-size:1.15rem!important}
  #instruments .instrument-cap span{font-size:.78rem!important;line-height:1.35!important}
}

/* Compact Work + Résumé page headers */
.compact-page-hero .wrap{padding:52px 0 28px}
.compact-page-hero h1{font-size:clamp(3rem,5.2vw,4.8rem);line-height:.92;margin:.08em 0 .12em}
.compact-page-hero .lede{max-width:880px;margin:.45rem 0 0}
.resume-page-hero .buttons{margin-top:18px}
@media(max-width:620px){
 .compact-page-hero .wrap{padding:38px 0 22px}
 .compact-page-hero h1{font-size:clamp(2.7rem,14vw,4rem)}
}

/* Site-wide type scale cleanup + compact branch heroes */
.branch-hero .hero-copy{max-width:850px}
.branch-hero .hero-copy h1{font-size:clamp(3.1rem,6vw,5.4rem);line-height:.88;margin:.08em 0 .12em}
.branch-hero .hero-copy .lede{font-size:clamp(1rem,1.45vw,1.18rem);max-width:760px}
.branch-hero .hero-role{font-size:clamp(1rem,1.5vw,1.2rem)}
.branch-hero-overlay{min-height:62vh!important;padding-top:46px;padding-bottom:36px}
.section-head h2,.editorial-head h2{font-size:clamp(2rem,3.5vw,3.25rem)}
.intro-statement p{font-size:clamp(1.2rem,2.15vw,1.75rem)}
.contact-message h2{font-size:clamp(2.1rem,4vw,3.6rem)}
.resume-section-title{font-size:clamp(2rem,3.2vw,2.65rem);margin:32px 0 18px}
@media(max-width:620px){
 .branch-hero,.branch-hero-overlay{min-height:56vh!important}
 .branch-hero-overlay{padding-top:34px;padding-bottom:28px}
 .branch-hero .hero-copy h1{font-size:clamp(2.8rem,13vw,4.1rem)}
 .section-head h2,.editorial-head h2{font-size:clamp(1.9rem,10vw,2.7rem)}
}

/* Compact gallery thumbnails with hover expansion */
.gallery{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:start;
  overflow:visible;
}
.gallery .gitem{
  aspect-ratio:1/1!important;
  min-height:0!important;
  height:auto!important;
  border-radius:10px!important;
  overflow:hidden;
  position:relative;
  z-index:1;
  cursor:zoom-in;
  transition:transform .22s ease,box-shadow .22s ease,z-index 0s;
}
.gallery .gitem img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block;
  transition:transform .22s ease;
}
@media (hover:hover) and (pointer:fine){
  .gallery .gitem:hover{
    transform:scale(1.65);
    z-index:20;
    box-shadow:0 18px 45px rgba(0,0,0,.5);
  }
  .gallery .gitem:hover img{transform:scale(1.01)}
}
@media(max-width:900px){
 .gallery{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:620px){
 .gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
}

/* Gallery thumbnails: fixed max 200px, click-to-open only */
.gallery{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(120px,200px))!important;
  gap:12px!important;
  justify-content:start!important;
  align-items:start!important;
}
.gallery .gitem{
  width:100%!important;
  max-width:200px!important;
  height:150px!important;
  aspect-ratio:auto!important;
  min-height:0!important;
  transform:none!important;
  transition:none!important;
  overflow:hidden!important;
  cursor:pointer!important;
  z-index:1!important;
}
.gallery .gitem img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transform:none!important;
  transition:none!important;
}
.gallery .gitem:hover,
.gallery .gitem:hover img{
  transform:none!important;
  box-shadow:none!important;
}
@media(max-width:620px){
  .gallery{grid-template-columns:repeat(auto-fit,minmax(100px,150px))!important}
  .gallery .gitem{height:112px!important}
}

/* Gallery: compact row-oriented thumbnail grid */
.gallery{
  display:grid!important;
  grid-template-columns:repeat(5, minmax(0, 1fr))!important;
  grid-auto-flow:row!important;
  gap:8px!important;
  width:min(100%, 960px)!important;
  margin:0!important;
  justify-content:start!important;
  align-items:start!important;
}
.gallery .gitem{
  width:100%!important;
  max-width:184px!important;
  height:132px!important;
  margin:0!important;
}
@media(max-width:900px){
  .gallery{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:min(100%,760px)!important}
}
@media(max-width:620px){
  .gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important}
  .gallery .gitem{max-width:none!important;height:105px!important}
}

/* Definitive gallery grid placement: override legacy nth-child spans */
.gallery > .gitem,
.gallery > .gitem:nth-child(1),
.gallery > .gitem:nth-child(2),
.gallery > .gitem:nth-child(n+3),
.gallery > .gitem:nth-child(n){
  grid-column:auto!important;
  grid-row:auto!important;
}

/* Upcoming performance images */
.event-image{width:300px!important;max-width:100%;height:auto;display:block;margin:14px 0 18px;border-radius:12px;border:1px solid var(--line)}

/* Gallery thumbnails: show full portrait images without cropping */
.gallery .gitem img{
  object-fit:contain!important;
  object-position:center!important;
  background:#071925;
}


/* Calendar expanded details: portrait image left, text uses space to the right */
@media (min-width:721px){
  .calendar-event .event-details:not([hidden]){
    display:grid!important;
    grid-template-columns:minmax(180px,300px) minmax(0,1fr);
    column-gap:24px;
    align-items:start;
  }
  .calendar-event .event-details .event-image{
    grid-column:1;
    grid-row:1 / span 20;
    width:100%!important;
    max-width:300px!important;
    max-height:430px;
    object-fit:contain;
    object-position:top left;
    margin:14px 0 0!important;
  }
  .calendar-event .event-details > :not(.event-image){grid-column:2}
}
@media (max-width:720px){
  .calendar-event .event-details .event-image{margin-left:0!important;margin-right:0!important}
}


/* Calendar event image lightbox */
.event-image{cursor:zoom-in}
.event-image:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.event-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(2,10,16,.94);display:none;align-items:center;justify-content:center;padding:48px 24px 24px}
.event-lightbox.open{display:flex}
.event-lb-img{max-width:min(92vw,1200px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 20px 70px rgba(0,0,0,.55)}
.event-lb-close{position:fixed;top:14px;right:20px;border:0;background:transparent;color:var(--cream);font-size:2.5rem;line-height:1;cursor:pointer;padding:6px 10px}


/* Gallery portrait emphasis: larger personal photos */
.gallery{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:min(100%,1040px)!important;
  gap:14px!important;
}
.gallery .gitem{
  max-width:250px!important;
  height:180px!important;
}
@media(max-width:900px){
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:min(100%,520px)!important}
  .gallery .gitem{max-width:250px!important;height:180px!important}
}
@media(max-width:620px){
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important}
  .gallery .gitem{max-width:none!important;height:145px!important}
}


/* C4 layered / immersive direction */
:root{--rust:#914834;--ochre:#c99045;--aqua:#359b91;--ink:#061722}
body{background-image:radial-gradient(circle at 8% 5%,rgba(53,155,145,.14),transparent 27rem),radial-gradient(circle at 92% 20%,rgba(201,144,69,.12),transparent 30rem)}
.site-nav{border-bottom:1px solid rgba(227,193,90,.28);box-shadow:0 12px 35px rgba(0,0,0,.22)}
.site-nav:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:linear-gradient(90deg,transparent,var(--amber),var(--teal),var(--amber),transparent);opacity:.55}
.c4-hero{min-height:auto!important;background:linear-gradient(135deg,#071925 0%,#0c2b38 62%,#102f39 100%);border-bottom:0;padding:0;overflow:hidden}
.c4-hero-grid{min-height:720px;display:grid;grid-template-columns:.88fr 1.12fr;gap:54px;align-items:center;padding:68px 0 78px}
.c4-hero .hero-copy{padding:0;max-width:590px}
.c4-hero h1{font-size:clamp(5rem,8vw,8rem);text-transform:uppercase;line-height:.78;letter-spacing:.015em}
.c4-hero .hero-role{color:var(--yellow);text-transform:uppercase;letter-spacing:.08em;font-size:.94rem;line-height:1.55}
.c4-collage{position:relative;height:590px;isolation:isolate}
.c4-photo{position:absolute;margin:0;overflow:hidden;border:1px solid rgba(227,193,90,.42);box-shadow:0 24px 55px rgba(0,0,0,.42)}
.c4-photo img{width:100%;height:100%;object-fit:cover}
.c4-photo-main{width:57%;height:74%;left:2%;top:2%;z-index:3;border:8px solid #b76a45}
.c4-photo-main img{object-position:center 25%}
.c4-photo-performance{width:49%;height:52%;right:0;top:16%;z-index:2;border:8px solid #c99045}
.c4-photo-band{width:69%;height:35%;right:5%;bottom:0;z-index:4;border:8px solid #2d8f86}
.c4-photo-band img{object-position:center center}
.c4-collage:before,.c4-collage:after{content:"";position:absolute;z-index:0;background:repeating-linear-gradient(45deg,rgba(227,193,90,.16) 0 6px,transparent 6px 13px),repeating-linear-gradient(-45deg,rgba(45,143,134,.12) 0 6px,transparent 6px 13px)}
.c4-collage:before{width:45%;height:38%;right:8%;top:0;border:1px solid rgba(227,193,90,.22)}
.c4-collage:after{width:40%;height:34%;left:0;bottom:3%;border:1px solid rgba(45,143,134,.25)}
.c4-motif{height:22px;background:linear-gradient(135deg,var(--amber) 25%,transparent 25%) -12px 0/24px 24px,linear-gradient(225deg,var(--amber) 25%,transparent 25%) -12px 0/24px 24px,linear-gradient(315deg,var(--teal) 25%,transparent 25%) 0 0/24px 24px,linear-gradient(45deg,var(--teal) 25%,#071925 25%) 0 0/24px 24px;border-top:1px solid rgba(227,193,90,.45);border-bottom:1px solid rgba(227,193,90,.3);opacity:.78}
.intro-band{background:linear-gradient(110deg,#102b38,#173947);border-bottom:1px solid rgba(227,193,90,.22)}
.intro-statement .tag{padding-top:6px}
section:not(.intro-band):not(.performance-calendar){position:relative}
section:not(.intro-band):not(.performance-calendar):before{content:"";position:absolute;left:0;top:0;width:84px;height:3px;background:linear-gradient(90deg,var(--amber),var(--yellow))}
.section-head h2{text-transform:uppercase;letter-spacing:.025em}
.c4-featured{border:0;gap:18px;background:transparent}
.c4-featured .c4-card{border:0!important;border-radius:16px;overflow:hidden;padding:0 0 24px!important;box-shadow:0 16px 36px rgba(0,0,0,.25);transition:transform .2s ease,box-shadow .2s ease}
.c4-featured .c4-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(0,0,0,.34)}
.c4-featured .c4-card img{width:100%;height:210px;object-fit:cover;margin-bottom:20px}
.c4-featured .c4-card>*:not(img){margin-left:22px;margin-right:22px}
.c4-featured .c4-card .tag{color:#fff9e8}
.c4-featured .c4-card p{color:#fff3df}
.c4-rust{background:linear-gradient(160deg,#934b37,#713627)!important}.c4-amber{background:linear-gradient(160deg,#c99045,#9f6930)!important}.c4-teal{background:linear-gradient(160deg,#318f87,#246d69)!important}
.performance-calendar{background:radial-gradient(circle at 92% 12%,rgba(201,144,69,.14),transparent 24rem),linear-gradient(180deg,#081d29,#0a2530)}
.calendar-event{border-bottom-color:rgba(227,193,90,.2);transition:background .2s ease,padding .2s ease}
.calendar-event:hover{background:rgba(255,255,255,.025);padding-left:14px;padding-right:14px}
.event-date strong{color:var(--yellow);text-transform:uppercase;letter-spacing:.04em}
.btn,.pill{border-color:rgba(227,193,90,.38)}
footer{border-top:1px solid rgba(227,193,90,.2);background:#061722}
@media(max-width:900px){.c4-hero-grid{grid-template-columns:1fr;gap:32px;padding:54px 0}.c4-collage{height:520px}.c4-featured{grid-template-columns:1fr!important}.c4-featured .c4-card img{height:260px}}
@media(max-width:620px){.c4-hero-grid{padding:40px 0}.c4-hero h1{font-size:clamp(4rem,20vw,6rem)}.c4-collage{height:430px}.c4-photo-main{width:62%;height:68%}.c4-photo-performance{width:51%;height:48%;top:18%}.c4-photo-band{width:76%;height:31%}.c4-motif{height:16px;background-size:18px 18px}.calendar-event:hover{padding-left:0;padding-right:0}}


/* C5 immersive editorial refinement — face-safe imagery */
.c5-hero{min-height:auto!important;background:linear-gradient(115deg,#071925 0%,#0b2d39 58%,#16343b 100%);overflow:hidden;border-bottom:0}
.c5-hero-grid{display:grid;grid-template-columns:.72fr .88fr 1.15fr;min-height:660px;align-items:stretch;position:relative}
.c5-copy{padding:82px 34px 58px 0;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:4}
.c5-copy h1{font-size:clamp(4.8rem,7vw,7.7rem);line-height:.94;text-transform:uppercase;letter-spacing:.015em;margin:.2em 0 .28em}
.c5-copy .hero-role{text-transform:uppercase;color:var(--cream);letter-spacing:.09em;line-height:1.65;font-size:.95rem}
.c5-quote{font-family:Georgia,serif;font-style:italic;font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.4;color:var(--cream);margin:24px 0}
.c5-portrait{position:relative;z-index:3;min-height:660px;border-left:1px solid rgba(227,193,90,.35);border-right:1px solid rgba(227,193,90,.35);background:#18363c;overflow:hidden}
.c5-portrait img{width:100%;height:100%;object-fit:contain;object-position:center center;background:#18363c;display:block}
.c5-stack{position:relative;min-height:660px;padding:45px 0 45px 28px}
.c5-stack figure{position:absolute;margin:0;overflow:hidden;border:2px solid var(--amber);box-shadow:0 20px 45px rgba(0,0,0,.38);background:#071925}
.c5-stack figure img{width:100%;height:100%;object-fit:contain;object-position:center;background:#071925;display:block}
.c5-stack figure:nth-child(1){width:86%;height:38%;right:0;top:44px;transform:rotate(-2deg);z-index:3}
.c5-stack figure:nth-child(2){width:65%;height:42%;left:18px;top:300px;transform:rotate(1.5deg);z-index:4}
.c5-stack .c5-oud{width:31%;height:47%;right:0;bottom:36px;z-index:5;border-color:var(--teal)}
.c5-stack .c5-oud img{object-fit:contain;background:#142b32}
.c5-pattern{height:22px;background:repeating-linear-gradient(135deg,#8e452f 0 8px,#c99045 8px 12px,#071925 12px 20px,#2d8f86 20px 24px);border-top:1px solid rgba(227,193,90,.5);border-bottom:1px solid rgba(227,193,90,.4)}
.c5-explore{background:linear-gradient(180deg,#08202c,#071925);padding-top:72px}
.c5-explore .section-head{border-left:3px solid var(--amber);padding-left:20px}
.c5-explore .c4-featured{margin-top:32px}
.c5-explore .c4-card{border-radius:2px!important;border:1px solid rgba(227,193,90,.38)!important;box-shadow:0 14px 34px rgba(0,0,0,.32)}
.c5-explore .c4-card img{height:230px;object-fit:contain;background:#061722;padding:6px;box-sizing:border-box}
.intro-band{border-top:0;background:linear-gradient(90deg,#f3eddc 0%,#e9d6ae 100%);color:#102735}
.intro-band p{color:#102735}.intro-band .tag{color:#8e452f}
.performance-calendar:before{content:"";display:block;height:12px;background:repeating-linear-gradient(135deg,#8e452f 0 7px,#c99045 7px 11px,#071925 11px 18px,#2d8f86 18px 22px)}
@media(max-width:980px){.c5-hero-grid{grid-template-columns:.9fr 1.1fr}.c5-copy{padding-left:0}.c5-portrait{min-height:560px}.c5-stack{grid-column:1/-1;min-height:470px;padding:25px 0}.c5-stack figure:nth-child(1){width:55%;height:56%;left:0;top:28px}.c5-stack figure:nth-child(2){width:47%;height:52%;left:34%;top:190px}.c5-stack .c5-oud{width:27%;height:62%;right:0;bottom:20px}}
@media(max-width:650px){.c5-hero-grid{display:block}.c5-copy{padding:48px 0 34px}.c5-copy h1{font-size:clamp(4rem,20vw,6rem)}.c5-portrait{min-height:0;height:auto}.c5-portrait img{height:auto;object-fit:contain}.c5-stack{min-height:620px}.c5-stack figure:nth-child(1){width:94%;height:34%;left:3%;top:30px}.c5-stack figure:nth-child(2){width:70%;height:37%;left:3%;top:260px}.c5-stack .c5-oud{width:38%;height:39%;right:2%;bottom:24px}.c5-explore .c4-card img{height:auto;max-height:330px}}

/* Facebook and Instagram footer links */
.footer-links .social-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border-radius:50%;color:var(--cream)}
.footer-links .social-icon svg{display:block;width:22px;height:22px}
.footer-links .social-icon:hover{color:var(--yellow);background:rgba(227,193,90,.1)}
.footer-links .social-icon:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}

/* Full-color social icons and concert sharing */
.footer-links .social-icon[href*="facebook.com"]{background:#1877f2;border-color:#1877f2;color:#fff}
.footer-links .social-icon[href*="instagram.com"]{background:radial-gradient(circle at 30% 110%,#ffdc80 0%,#fcaf45 20%,#f77737 35%,#e1306c 55%,#c13584 70%,#833ab4 85%,#405de6 100%);border-color:transparent;color:#fff}
.footer-links .social-icon[href*="facebook.com"]:hover,.footer-links .social-icon[href*="instagram.com"]:hover{color:#fff;filter:brightness(1.12)}
.calendar-event{scroll-margin-top:80px}
.event-share-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0}
.event-share-button{color:var(--cream);font-family:inherit;cursor:pointer;min-height:44px}
.event-share-button:hover{background:rgba(227,193,90,.12)}
.event-share-button:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.event-share-status{font-size:.85rem;color:var(--muted)}
.event-share-link{flex-basis:100%;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--night);color:var(--cream);font:inherit}

.footer-links .social-icon[href*="linkedin.com"]{background:#0a66c2;border-color:#0a66c2;color:#fff;border-radius:8px}
.footer-links .social-icon[href*="linkedin.com"]:hover{color:#fff;filter:brightness(1.12)}
