:root {
  --ink:#10110f; --paper:#f5f1e8; --green:#2f9e3d; --brass:#d2a73e;
  --line:#bdbbb4; --sans:"Manrope","Trebuchet MS",Arial,sans-serif; --display:"Archivo Black","Arial Black",Arial,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.5 var(--sans); }
a { color:inherit; text-underline-offset:4px; }
.skip-link { position:absolute; left:1rem; top:-4rem; z-index:9; padding:.7rem; background:var(--ink); color:white; }
.skip-link:focus { top:1rem; }
.site-header { height:92px; position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(20px,5vw,80px); border-bottom:1px solid var(--line); background:var(--paper); }
.brand { display:flex; align-items:center; height:62px; text-decoration:none; }
.brand img { width:62px; height:62px; object-fit:contain; border-radius:50%; }
.brand { flex-direction:column; justify-content:center; gap:2px; }
.brand-label { color:var(--green); font:900 12px/.9 var(--display); letter-spacing:-.04em; text-transform:uppercase; white-space:nowrap; }
nav { display:flex; gap:clamp(18px,3vw,48px); font-size:13px; font-weight:700; }
nav a { text-decoration:none; }
.menu-toggle { display:none; border:0; background:none; font-weight:700; }
.hero { min-height:700px; display:grid; grid-template-columns:minmax(400px,1.1fr) minmax(0,1.8fr); gap:clamp(28px,5vw,86px); align-items:start; padding:clamp(40px,7vw,115px) clamp(20px,5vw,80px) 44px; }
.hero-copy { align-self:stretch; display:flex; flex-direction:column; padding:38px 0 48px; }
.eyebrow,.section-kicker { margin:0; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.hero h1,h2 { margin:0; font-family:var(--display); line-height:.84; letter-spacing:-.075em; }
.hero h1 { font-size:clamp(58px,6.7vw,112px); }
.hero-intro { max-width:17ch; margin:auto 0 0; font:700 clamp(23px,2vw,31px)/1.18 var(--sans); letter-spacing:-.04em; }
.hero-image { width:100%; max-width:540px; aspect-ratio:9/16; margin:38px 0 0; justify-self:center; overflow:hidden; background:#151512; }
.hero-image img { width:100%; height:100%; object-fit:contain; }
.hero-video { width:100%; height:100%; object-fit:contain; object-position:center; display:block; }
.legal-page { width:min(860px, calc(100% - 40px)); margin:0 auto; padding:clamp(56px,8vw,112px) 0; }
.legal-page h1 { margin:10px 0 54px; font-family:var(--display); font-size:clamp(48px,8vw,88px); line-height:.9; letter-spacing:-.07em; }
.legal-page section { max-width:720px; padding:26px 0; border-top:1px solid var(--line); }
.legal-page h2 { margin:0 0 15px; font:900 clamp(22px,3vw,32px)/1 var(--display); letter-spacing:-.05em; }
.legal-page p { max-width:72ch; margin:0 0 14px; }
.booking-bar { display:flex; justify-content:center; padding:24px clamp(20px,5vw,80px); background:var(--green); color:white; }
.booking-bar p { margin:0; text-align:center; font:900 clamp(23px,3.4vw,53px)/.95 var(--display); letter-spacing:-.055em; }
.button { display:inline-flex; justify-content:space-between; gap:30px; padding:18px 22px; border:0; font-weight:700; font-size:14px; text-decoration:none; cursor:pointer; }
.button-light { background:var(--paper); color:var(--ink); }
.button-dark { background:var(--ink); color:var(--paper); }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid var(--brass); outline-offset:4px; }
.section-grid { display:grid; grid-template-columns:20% 1fr .85fr; gap:clamp(22px,5vw,80px); padding:clamp(76px,10vw,150px) clamp(20px,5vw,80px); }
.intro-copy h2,.occasions h2,.facts h2,.process h2,.samples h2,.contact h2 { font-size:clamp(46px,5.5vw,92px); }
.intro-copy { text-align:center; }
.intro-copy p { max-width:44ch; margin-left:auto; margin-right:auto; font-size:18px; }
.intro { grid-template-columns:20% minmax(0,1fr); }
.intro-body { grid-column:2; width:min(100%,900px); justify-self:center; }
.intro-image { width:100%; margin:44px auto 0; aspect-ratio:4/3; overflow:hidden; background:#e7e2d8; }
.intro-image img { width:100%; height:100%; object-fit:cover; }
.samples-image img,.facts-image img { width:100%; height:100%; object-fit:cover; }
.occasions { padding:clamp(76px,10vw,150px) 0 0; background:#245a3b; color:var(--paper); }
.occasions-head { padding-top:0; padding-bottom:65px; }
.occasion-list { border-top:1px solid rgba(255,255,255,.4); }
.occasion-list article { display:grid; grid-template-columns:12% 30% minmax(0,1fr) 150px; gap:24px; align-items:center; padding:20px clamp(20px,5vw,80px); border-bottom:1px solid rgba(255,255,255,.4); }
.occasion-list article span { font:12px monospace; color:var(--brass); }
.occasion-list h3 { margin:0; font:900 clamp(24px,3.2vw,48px)/1 var(--display); letter-spacing:-.045em; }
.occasion-list p { margin:0; color:#d6d2c8; }
.occasion-photo { min-height:96px; margin:0; overflow:hidden; background:rgba(245,241,232,.1); }
.occasion-photo img { width:100%; height:100%; min-height:96px; object-fit:cover; display:block; }
.facts { padding-bottom:110px; }
.facts h2 { max-width:9ch; }
.facts-image { margin:42px 0 0; aspect-ratio:4/3; overflow:hidden; background:var(--ink); }
.facts-image figcaption { margin-top:9px; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.fact-list { margin:0; }
.fact-list div { margin-bottom:22px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.fact-list dt { margin-bottom:10px; font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.fact-list dd { margin:0; font-size:18px; }
.process { padding:clamp(76px,10vw,150px) 0; border-top:1px solid var(--line); }
.process-head { padding-top:0; padding-bottom:60px; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); margin:0; padding:0 clamp(20px,5vw,80px); list-style:none; }
.steps li { padding:25px clamp(20px,3vw,50px) 25px 0; border-top:5px solid var(--ink); }
.steps li+li { padding-left:clamp(20px,3vw,50px); border-left:1px solid var(--line); }
.steps span { font:12px monospace; }
.steps h3 { margin:38px 0 12px; font:900 28px/1 var(--display); letter-spacing:-.04em; }
.steps p { margin:0; }
.samples { display:grid; grid-template-columns:1fr 1fr; min-height:600px; background:var(--green); }
.samples-image { min-height:600px; overflow:hidden; }
.samples-copy { padding:clamp(50px,7vw,100px); }
.samples h2 { margin-top:26px; }
.track-list { width:100%; margin:54px 0 0; padding:0; list-style:none; border-top:1px solid var(--ink); }
.track-list li { padding:16px 0; border-bottom:1px solid var(--ink); font-weight:700; }
.track-meta { display:flex; justify-content:space-between; gap:20px; }
.track-list audio { display:block; width:100%; height:32px; margin-top:12px; }
.contact { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(44px,9vw,170px); padding:clamp(65px,9vw,130px) clamp(20px,8vw,160px); background:var(--ink); color:var(--paper); }
.contact-heading h2 { margin:30px 0; }
.contact-heading a { display:block; margin-top:10px; font-weight:700; }
.contact-image { width:100%; margin:34px 0 0; aspect-ratio:4/3; overflow:hidden; background:#242522; }
.contact-image img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.follow-us { display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; margin-top:25px; }
.follow-us p { width:100%; margin:0; font:900 16px/1 var(--display); letter-spacing:-.035em; text-transform:uppercase; }
.follow-us a,.instagram-pending { display:inline-flex !important; align-items:center; gap:8px; margin:0 !important; padding:12px 15px; border:1px solid currentColor; font-size:13px; text-decoration:none; }
.follow-us a:hover { background:var(--paper); color:var(--ink); }
.instagram-pending { opacity:.7; }
.inquiry-form { display:grid; gap:25px; }
.inquiry-form label { display:grid; gap:9px; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.inquiry-form input,.inquiry-form textarea { width:100%; padding:7px 0; border:0; border-bottom:1px solid #777; background:transparent; color:var(--paper); font:17px var(--sans); resize:vertical; }
.form-note { margin:0; color:#d6d2c8; font-size:13px; }
.inquiry-form .button { justify-self:start; }
.consent { display:flex !important; align-items:flex-start; gap:10px; color:#d6d2c8; font-size:13px !important; font-weight:500 !important; letter-spacing:0 !important; line-height:1.4; text-transform:none !important; }
.consent input { width:auto !important; margin:3px 0 0; accent-color:var(--green); }
.spam-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
footer { display:grid; grid-template-columns:1fr auto auto; gap:32px; align-items:center; padding:34px clamp(20px,5vw,80px); font-size:12px; }
footer>div { display:flex; flex-wrap:wrap; gap:20px; }
footer p { margin:0; color:#62635f; }
.thanks-page { min-height:100vh; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:26px; padding:clamp(30px,8vw,130px); background:var(--green); color:var(--paper); }
.thanks-page .brand { position:absolute; top:28px; left:clamp(30px,8vw,130px); }
.thanks-page h1 { margin:0; font:clamp(56px,9vw,145px)/.84 var(--display); letter-spacing:-.075em; }
.thanks-page p:not(.section-kicker) { max-width:37ch; margin:0; font-size:clamp(18px,2vw,26px); }
.reveal { opacity:0; transform:translateY(22px); transition:.7s; }
.reveal.is-visible { opacity:1; transform:none; }
@media(max-width:850px){
  .site-header{height:74px}.brand{height:52px}.brand img{width:52px;height:52px}
  .menu-toggle{display:block}nav{display:none;position:absolute;top:73px;left:0;right:0;flex-direction:column;gap:17px;padding:20px;background:var(--paper);border-bottom:1px solid var(--line)}nav.is-open{display:flex}
  .hero{min-height:auto;grid-template-columns:1fr;gap:28px;padding-top:38px}.hero-copy{align-self:auto;min-height:0;padding:0}.hero h1{font-size:clamp(58px,17vw,94px)}.hero-intro{margin:30px 0 0}.hero-image{max-width:420px;aspect-ratio:9/16;margin:0}
  .section-grid{grid-template-columns:1fr;gap:28px}.intro-body{grid-column:auto}.intro-image{height:auto}.occasion-list article{grid-template-columns:44px 1fr;gap:12px}.occasion-list p{grid-column:2}.occasion-photo{grid-column:2;min-height:150px}.occasion-photo img{min-height:150px}.facts{padding-bottom:75px}.facts-image{max-width:430px}.contact-image{max-width:480px}
  .process-head{padding-bottom:35px}.steps{grid-template-columns:1fr}.steps li+li{padding-left:0;border-left:0}.steps h3{margin-top:18px}.samples{grid-template-columns:1fr}.samples-image{height:350px;min-height:350px}.contact{grid-template-columns:1fr;padding-inline:20px}footer{grid-template-columns:1fr;gap:20px}footer>div{gap:13px}.reveal{opacity:1;transform:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}.hero-image{background:center/contain no-repeat url("assets/band-hero.avif")}}
