@font-face{font-family:'DM Sans';src:url('assets/dm-sans.woff2') format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}
:root{--ink:#000;--paper:#f2efe8;--sand:#c4ad87;--white:#fff;--muted:#57534b;--rule:#b8b1a5;--edge:clamp(24px,4.4vw,64px);--gap:clamp(36px,6vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block;height:auto}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}button,input,select,textarea{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{border-radius:0}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,pre:focus-visible{outline:2px solid currentColor;outline-offset:5px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px}::selection{background:var(--sand);color:#000}[hidden]{display:none!important}.wrap{max-width:1440px;padding-inline:var(--edge);margin-inline:auto}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-100px;opacity:0;pointer-events:none;background:#000;color:#fff;padding:12px 20px;z-index:20}.skip-link:focus{top:12px;opacity:1;pointer-events:auto}h1,h2,h3,h4,p,figure{margin:0}h3,h4{font-weight:500;line-height:1.25}p{text-wrap:pretty}p+p{margin-top:20px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:500;line-height:1.4}.display{font-weight:400;line-height:1;position:relative}.display img{width:100%}.display-hero{max-width:620px;margin-block:32px}.display-agency{max-width:530px}.display-music{max-width:410px}.display-enquiry{max-width:345px;margin-bottom:28px}
.site-header .header-inner{min-height:146px;display:flex;justify-content:space-between;align-items:center;gap:24px}.header-inner:after{content:'';position:absolute;bottom:0;left:var(--edge);right:var(--edge);height:1px;background:var(--rule)}.header-inner{position:relative}.brand{display:block;flex-shrink:0}.brand img{width:240px;height:auto}.nav{display:flex;align-items:center;gap:40px;font-size:15px}.nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center;gap:20px}.nav a:hover{text-decoration:underline}.nav-cta{border-bottom:1px solid #000}.menu-toggle{display:none;background:transparent;border:0;padding:8px 0;min-height:44px;gap:10px;align-items:center;font-size:14px;white-space:nowrap}.menu-toggle span{font-size:24px;font-weight:300}
.hero-inner{display:grid;grid-template-columns:1.08fr .92fr;gap:var(--gap);align-items:center;padding-top:40px;padding-bottom:64px}.hero-description{max-width:500px;font-size:20px;line-height:1.6}.hero-actions{display:flex;align-items:center;gap:20px 28px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;text-decoration:none;padding:15px 23px;min-height:52px;border:1px solid #000;font-size:15px;font-weight:500;line-height:1.4;transition:background .16s,color .16s}.button-dark{background:#000;color:#fff}.button-dark:hover{background:var(--sand);color:#000}.button-outline{background:transparent;color:#000}.button-outline:hover{background:var(--paper)}.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:15px;text-decoration:none;border-bottom:1px solid currentColor;line-height:1.4}.text-link:hover{opacity:.75}.hero-photo img{width:100%;height:clamp(450px,41vw,610px);object-fit:cover;object-position:50% 43%}.photo-credit{font-size:11px;line-height:1.45;margin-top:11px;letter-spacing:.03em;color:var(--muted)}
.section{padding-block:80px}.about{border-top:1px solid var(--rule)}.section-label{margin-bottom:32px}.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:start}.about-copy .lead{font-size:23px;line-height:1.5}.about-copy>p:not(.lead){font-size:17px;color:var(--muted)}.process-line{display:flex;padding:0;list-style:none;border-top:1px solid var(--rule);margin:48px 0 0;justify-content:space-between;gap:24px}.process-line li{padding-top:22px;font-size:16px}.process-line span{font-size:11px;margin-right:16px;color:var(--muted)}
.music{background:#000;color:#fff}.music .section-label{color:var(--sand)}.section-heading{margin-bottom:42px}.section-heading>p{max-width:490px;font-size:20px;line-height:1.5}.ensemble-photo img{width:100%;aspect-ratio:1.5;object-fit:cover}.music .photo-credit{color:#c7c2b8}.music-row{border-top:1px solid #77736c}.music-row:last-of-type{border-bottom:1px solid #77736c}summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px}summary::-webkit-details-marker{display:none}.row-title{font-size:27px;line-height:1.25;font-weight:400}.expand{font-size:28px;font-weight:300;line-height:1}details[open]>summary .expand,details[open]>summary>span[aria-hidden]{transform:rotate(45deg)}.music-detail{padding:0 0 25px}.music-detail .tagline{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--sand);margin:0 0 14px}.music-detail>div>p{font-size:17px;color:#e0ddd6;line-height:1.55}.music-detail .text-link{margin-top:16px}.section-note{font-size:12px;line-height:1.5;color:#c7c2b8;margin-top:18px}.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);padding-top:36px;margin-top:46px;border-top:1px solid #77736c}.context-grid h3{font-size:22px;margin-bottom:15px}.context-grid p{font-size:16px;color:#e0ddd6;max-width:520px}.context-grid .text-link{margin-top:13px}
.enquiry-copy>p{color:var(--muted);font-size:19px}.contact-links{display:flex;align-items:flex-start;flex-direction:column;margin:25px 0 26px;gap:2px}.contact-links a{font-size:16px;display:inline-flex;align-items:center;gap:12px;min-height:44px;overflow-wrap:anywhere;text-decoration:none}.contact-links a:hover{text-decoration:underline}.faq-list{max-width:495px}.faq-list details{border-top:1px solid var(--rule)}.faq-list details:last-child{border-bottom:1px solid var(--rule)}.faq-list summary{min-height:57px;font-size:15px;font-weight:500}.faq-list summary span{font-size:22px;line-height:1}.faq-list p{font-size:15px;color:var(--muted);padding-bottom:20px}.brief-panel{background:#fff;padding:32px}.brief-panel h3{font-size:25px;margin-bottom:12px}.form-intro{font-size:14px;color:var(--muted);margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}.field{min-width:0}.field-wide{grid-column:1/-1}.field label{display:block;font-size:13px;font-weight:500;margin-bottom:8px}.field label span{font-weight:400;color:var(--muted)}.field input,.field select,.field textarea{display:block;border:1px solid #8d877b;background:#fff;border-radius:0;width:100%;min-width:0;padding:12px 10px;min-height:48px;font-size:16px;line-height:1.5}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#656057;opacity:1}.form-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:20px}.prepare-button{margin-top:22px;width:100%}.enquiry-result{border-top:1px solid var(--rule);margin-top:28px;padding-top:24px}.enquiry-result:focus{outline:none}.enquiry-result h4{font-size:23px;margin-bottom:12px}.enquiry-result>p{font-size:15px}.enquiry-result pre{font-family:inherit;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;background:var(--paper);padding:18px;margin:20px 0}.send-actions{display:flex;flex-wrap:wrap;gap:12px}.send-actions .button{font-size:13px;padding:13px 16px}.enquiry-result .form-note a{overflow-wrap:anywhere}.site-footer{background:#000;color:#fff;padding-block:52px 24px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:32px}.footer-inner img{width:240px}.footer-inner p{color:var(--sand);font-size:18px}.footer-inner>div{text-align:right;font-size:14px}.back-top{display:inline-flex;gap:25px;align-items:center;min-height:44px}.footer-inner small{display:block;font-size:11px;margin-top:10px;color:#c7c2b8}.review-note{font-size:11px;color:#c7c2b8;line-height:1.5;border-top:1px solid #77736c;padding-top:20px;margin-top:36px}
@media(min-width:1600px){.hero-inner{padding-top:48px;padding-bottom:72px}.hero-copy{padding-bottom:30px}}
@media(max-width:1050px){:root{--gap:40px}.hero-actions{gap:14px}.hero-description{font-size:18px}.nav{gap:25px}.brief-panel{padding:25px}.form-grid{gap:18px 12px}.field label{font-size:12px}.row-title{font-size:24px}}
@media(max-width:800px){:root{--edge:24px;--gap:32px}.site-header .header-inner{min-height:116px;flex-wrap:wrap;gap:0 16px}.brand img{width:200px}.menu-toggle{display:none}.js .menu-toggle{display:inline-flex}.nav{width:100%;padding:12px 0 22px;gap:12px;justify-content:space-between;align-items:center}.js .nav{display:none}.js .nav.open{display:flex}.nav a{font-size:14px;gap:8px}.hero-inner{grid-template-columns:1fr;padding-top:40px;padding-bottom:42px;gap:32px}.display-hero{max-width:540px;margin-block:26px}.hero-description{max-width:540px;font-size:18px}.hero-actions{margin-top:25px;gap:14px 24px}.hero-photo img{height:auto;aspect-ratio:1.35;object-fit:cover;object-position:50% 39%}.photo-credit{margin-top:8px;font-size:10px}.section{padding-block:52px}.section-label{margin-bottom:25px}.split{grid-template-columns:1fr;gap:26px}.display-agency{max-width:470px}.display-music{max-width:335px}.display-enquiry{max-width:270px;margin-bottom:26px}.about-copy .lead{font-size:21px}.about-copy>p:not(.lead){font-size:16px}.process-line{margin-top:30px;gap:18px}.process-line li{font-size:14px;flex:1;padding-top:16px}.process-line span{display:block;margin:0 0 8px}.section-heading{margin-bottom:28px}.section-heading>p{font-size:18px}.music-content{gap:28px}.ensemble-photo img{aspect-ratio:1.65}.row-title{font-size:24px}.music-row summary{min-height:65px}.music-detail>div>p{font-size:16px}.context-grid{grid-template-columns:1fr;gap:26px;margin-top:32px;padding-top:30px}.context-grid h3{font-size:21px;margin-bottom:10px}.context-grid p{font-size:16px}.enquiry .split{gap:32px}.enquiry-copy>p{font-size:18px}.contact-links{margin-block:18px 24px}.faq-list{max-width:none}.brief-panel{padding:26px}.form-grid{gap:18px 14px}.field label{font-size:13px}.footer-inner{align-items:flex-start;flex-wrap:wrap;gap:30px}.footer-inner img{width:220px}.footer-inner p{font-size:16px}.footer-inner>div{text-align:left;display:flex;width:100%;justify-content:space-between;align-items:center}.footer-inner small{margin-top:0}.site-footer{padding-top:38px}.review-note{margin-top:26px}.button{min-height:50px}}
@media(max-width:480px){.hero-photo img{aspect-ratio:1.15}.hero-description{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-actions .button{width:100%;justify-content:space-between}.display-agency{max-width:100%}.process-line li{font-size:12px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.brief-panel{padding:24px 20px}.brief-panel h3{font-size:23px}.contact-links a{font-size:14px}.footer-inner{display:block}.footer-inner p{margin-top:24px}.footer-inner>div{margin-top:24px}.display-music{max-width:290px}.hero-copy .eyebrow{font-size:10px}.button{font-size:14px}}
@media(max-width:350px){:root{--edge:20px}.site-header .header-inner{gap:0 10px}.menu-toggle{font-size:12px;gap:6px}.brand img{width:200px}.nav a{font-size:12px}.nav{gap:8px}.brief-panel{padding:22px 16px}.contact-links a{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.menu-toggle,.hero-actions,.prepare-button,.review-note{display:none!important}.nav{display:flex!important}.section{break-inside:avoid}.hero-photo img{height:360px}.site-footer{color:#000;background:#fff}.site-footer img{filter:invert(1)}}

/* Real performance photography, distributed throughout the booking journey. */
.hero-photo img{object-position:50% 40%}.story-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:44px}.story-strip img{width:100%;aspect-ratio:1.5;object-fit:cover}.story-cta{margin-top:24px}.artist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:44px}.artist-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 35%}.gallery-title{font-size:clamp(36px,4.5vw,64px);font-weight:400;line-height:1.08;letter-spacing:-.04em}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.event-card{display:block;text-decoration:none;min-width:0}.event-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:filter .2s}.event-card:hover img{filter:brightness(1.15)}.event-action{display:flex;justify-content:space-between;align-items:center;font-size:13px;border-bottom:1px solid var(--rule);padding:10px 0}.event-card .photo-credit{font-size:13px;color:var(--ink)}.gallery-booking{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid var(--rule);margin-top:48px;padding-top:32px}.gallery-booking h3{font-size:27px}.gallery-booking p{font-size:16px;color:var(--muted);max-width:600px;margin-top:12px}.gallery-booking .button{flex-shrink:0}.enquiry{border-top:1px solid var(--rule)}
@media(max-width:1050px){.nav{gap:20px}.nav a{gap:8px}.gallery-booking{align-items:flex-start;flex-direction:column}}
@media(max-width:800px){.story-strip,.artist-grid{gap:14px;margin-top:30px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.story-strip .photo-credit{font-size:10px}.gallery-booking{margin-top:32px}.nav{flex-wrap:wrap}}
@media(max-width:480px){.story-strip{grid-template-columns:1fr}.story-strip img{aspect-ratio:1.6}.artist-grid{gap:10px}.artist-grid .photo-credit{font-size:10px}.event-grid{grid-template-columns:1fr}.event-card img{aspect-ratio:1.4}.gallery-booking .button{width:100%}.gallery-title{font-size:40px}}

/* Full photographs retain their original framing in the complete gallery. */
.gallery-intro{font-size:14px;color:var(--muted);margin-bottom:24px}
.event-grid{display:block;columns:3;column-gap:24px}
.event-card{break-inside:avoid;display:block;margin-bottom:28px}
.gallery-image{position:relative;overflow:hidden;background:#151411}
.event-card img{aspect-ratio:auto;height:auto;width:100%}
.photo-zoom{position:absolute;right:12px;bottom:12px;width:36px;height:36px;display:grid;place-items:center;background:var(--paper);color:var(--ink);font-size:20px}
.photo-viewer-open{overflow:hidden}
.photo-viewer{border:0;background:var(--paper);color:var(--ink);padding:22px 28px;width:min(1080px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;overflow:auto}
.photo-viewer::backdrop{background:rgba(0,0,0,.85)}
.viewer-top,.viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}
.viewer-top{margin-bottom:16px}
.viewer-close{border:0;background:transparent;display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:0 4px;font-size:14px}
.viewer-close span{font-size:28px}
.viewer-figure img{width:100%;height:clamp(200px,60dvh,680px);object-fit:contain;background:#0d0c0b}
.viewer-figure figcaption{font-size:14px;margin-top:12px}
.viewer-bottom{margin-top:18px}
.viewer-navigation{display:flex;gap:12px}
.viewer-navigation button{width:48px;height:48px;border:1px solid var(--rule);background:transparent;font-size:22px}
.viewer-navigation button:hover{background:var(--sand)}
@media(max-width:800px){.event-grid{columns:2;column-gap:16px}.photo-viewer{padding:18px}.viewer-figure img{height:55dvh}}
@media(max-width:480px){.event-grid{columns:1}.photo-viewer{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:14px}.viewer-bottom{flex-wrap:wrap;gap:16px}.viewer-booking{width:100%}.viewer-figure img{height:48dvh}.viewer-top .eyebrow{font-size:10px}}

/* Keep the full band visible and each booking step with its photograph. */
.hero-photo img{height:clamp(450px,41vw,610px);aspect-ratio:auto;object-fit:cover;object-position:center bottom}
.process-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.process-line li{min-width:0}
.process-label{display:flex;align-items:baseline;gap:12px;line-height:1.4;min-height:2.8em}
.process-line .process-label span{display:inline;margin:0;flex-shrink:0}
.process-line figure{margin-top:24px}
.process-line img{width:100%;aspect-ratio:1.5;object-fit:cover}
@media(max-width:800px){.process-line{gap:14px}.process-line figure{margin-top:18px}.process-line .photo-credit{font-size:10px}}
@media(max-width:480px){.process-line{grid-template-columns:1fr;gap:24px}.process-line li{font-size:15px}.process-label{min-height:0}.process-line figure{margin-top:16px}.process-line img{aspect-ratio:1.6}}

/* The band photograph fills the hero, with the message over the upper lights. */
.hero{position:relative;isolation:isolate;background:#0d0c0b;color:#fff;overflow:hidden}
.hero-inner{display:flex;align-items:flex-start;min-height:clamp(780px,70vw,980px);padding-top:clamp(48px,6vw,84px);padding-bottom:64px}
.hero-copy{position:relative;z-index:2;width:100%;max-width:720px;padding-bottom:0}
.hero .display-hero{max-width:480px;margin-block:16px}
.hero .display-hero img{filter:invert(1)}
.hero-description{max-width:600px;font-size:18px;line-height:1.5;color:#fff}
.hero-actions{margin-top:20px;gap:20px 28px}
.hero-actions .button-dark{background:var(--paper);color:#000;border-color:var(--paper)}
.hero-actions .button-dark:hover{background:var(--sand);border-color:var(--sand)}
.hero-actions .text-link{color:#fff}
.hero-photo{position:absolute;inset:0;z-index:0;margin:0}
.hero-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 30%}
.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(0,0,0,.6) 35%,rgba(0,0,0,.06) 63%,rgba(0,0,0,.25)),linear-gradient(90deg,rgba(0,0,0,.3),transparent 80%);pointer-events:none}
.hero-photo .photo-credit{position:absolute;right:var(--edge);bottom:24px;z-index:1;margin:0;color:#fff;font-size:11px}
@media(max-width:800px){
  .hero-inner{flex-direction:column;min-height:0;max-width:none;padding:0;gap:0}
  .hero-photo{position:relative;inset:auto;order:0;flex-shrink:0;width:100%;height:clamp(480px,85vw,680px)}
  .hero-photo img{object-position:center bottom}
  .hero-photo::after{background:linear-gradient(180deg,transparent 70%,rgba(0,0,0,.5))}
  .hero-photo .photo-credit{bottom:18px}
  .hero-copy{order:1;max-width:none;padding:36px var(--edge) 44px}
  .hero .display-hero{max-width:540px;margin-block:22px}
  .hero-description{max-width:600px;font-size:17px}
  .hero-actions{margin-top:24px}
}
@media(max-width:480px){.hero-photo{height:480px}.hero-copy{padding-top:30px}.hero .display-hero{margin-block:20px}.hero-description{font-size:16px}.hero-actions{gap:12px}}
@media print{.hero{color:#000;background:#fff}.hero-inner{min-height:0}.hero-photo{display:none}.hero .display-hero img{filter:none}}
