:root{
  --bg:#faf7f2; --alt:#f1ebe0; --ink:#1f1b16; --muted:#6f665a;
  --accent:#8a5a2b; --line:#ddd3c2; --card:#fffdf9;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Inter',system-ui,sans-serif;
}
@media(prefers-color-scheme:dark){
  :root{--bg:#15120f;--alt:#1c1814;--ink:#f1e9dc;--muted:#a39886;--accent:#d3a566;--line:#332d25;--card:#201b16}
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{background:var(--bg);color:var(--ink);font:300 17px/1.7 var(--sans)}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1}
h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:.5rem}
h3{font-size:1.8rem;margin-bottom:.8rem}

.nav{position:fixed;inset:0 0 auto;z-index:10;display:flex;justify-content:space-between;align-items:center;
  padding:14px clamp(16px,5vw,56px);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.logo{font-family:var(--serif);font-size:1.5rem;text-decoration:none}
.nav nav{display:flex;gap:26px}
.nav nav a{text-decoration:none;font-size:.9rem;color:var(--muted);transition:color .2s}
.nav nav a:hover{color:var(--accent)}
.burger{display:none;background:none;border:0;width:36px;height:36px;cursor:pointer}
.burger span{display:block;height:2px;background:var(--ink);margin:7px 6px}

.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;min-height:100vh;padding:110px clamp(16px,5vw,56px) 60px;max-width:1280px;margin:auto}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;color:var(--accent);margin-bottom:1.2rem}
.hero h1{font-size:clamp(3.4rem,9vw,7rem);margin-bottom:1.2rem}
.lead{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--muted);max-width:30ch;margin-bottom:2rem}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 28px;border:1px solid var(--accent);background:var(--accent);color:#fff;text-decoration:none;
  font:400 .9rem var(--sans);letter-spacing:.04em;border-radius:2px;cursor:pointer;transition:.2s}
.btn:hover{opacity:.85}
.btn.ghost{background:none;color:var(--accent)}

.ph{display:grid;place-items:center;text-align:center;color:var(--muted);background:
  repeating-linear-gradient(45deg,var(--alt),var(--alt) 12px,var(--bg) 12px,var(--bg) 24px);border:1px solid var(--line);border-radius:2px}
.ph small{font-size:.75rem;opacity:.7}
.hero-photo{aspect-ratio:4/5;width:100%}
.hero-photo.has-img,.duo-photo.has-img{background-size:cover;background-position:center}

.section{padding:96px clamp(16px,5vw,56px)}
.section>*{max-width:1100px;margin-inline:auto}
.section.alt{background:var(--alt)}
.sub{color:var(--muted);margin-bottom:2rem}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:2rem}
.cols p+p{margin-top:1rem}

.facts{list-style:none;display:flex;gap:56px;flex-wrap:wrap;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}
.facts b{display:block;font:500 3rem var(--serif);color:var(--accent);line-height:1}
.facts span{color:var(--muted);font-size:.9rem}

.duo{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;margin-top:2rem}
.duo-photo{aspect-ratio:3/2}
.soloist{color:var(--accent);font-style:italic}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:1.4rem;padding:0}
.tags li{border:1px solid var(--line);padding:4px 14px;border-radius:99px;font-size:.85rem;color:var(--muted)}

.tabs{display:flex;gap:8px;margin-bottom:1.5rem;flex-wrap:wrap}
.tab{background:none;border:1px solid var(--line);color:var(--muted);padding:6px 18px;border-radius:99px;cursor:pointer;font:inherit;font-size:.85rem}
.tab.on{background:var(--accent);border-color:var(--accent);color:#fff}
.tracks{list-style:none;padding:0;border-top:1px solid var(--line)}
.track{display:grid;grid-template-columns:44px 1fr minmax(0,320px);gap:18px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line)}
.track .n{font:500 1.4rem var(--serif);color:var(--accent)}
.track b{font:500 1.25rem var(--serif);display:block}
.track span{font-size:.85rem;color:var(--muted)}
.track audio{width:100%;height:36px}

.videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.video figure{margin:0}
.video .frame{aspect-ratio:16/9;background:#000;border-radius:2px;overflow:hidden}
.video iframe,.video video{width:100%;height:100%;border:0;display:block}
.video .ph{width:100%;height:100%;background:#1a1612;color:#a39886;border:0}
.video figcaption{margin-top:.7rem;font-family:var(--serif);font-size:1.2rem}
.video figcaption span{display:block;font:300 .85rem var(--sans);color:var(--muted)}

.events{list-style:none;padding:0;border-top:1px solid var(--line)}
.events li{display:grid;grid-template-columns:150px 1fr auto;gap:24px;align-items:center;padding:20px 4px;border-bottom:1px solid var(--line)}
.events time{font:500 1.5rem var(--serif);color:var(--accent)}
.events b{font:500 1.3rem var(--serif);display:block}
.events span{color:var(--muted);font-size:.9rem}
.events a{font-size:.85rem;color:var(--accent)}

.links{font-size:1.1rem;margin-top:1.4rem}
.links a{text-decoration:none;border-bottom:1px solid var(--line)}
.links a:hover{color:var(--accent)}
form{display:grid;gap:12px}
input,textarea{width:100%;padding:13px 14px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:2px;font:inherit}
input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}
form .btn{justify-self:start}
footer{padding:36px;text-align:center;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}

@media(max-width:820px){
  .burger{display:block}
  .nav nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);display:none}
  .nav nav.open{display:flex}
  .nav nav a{padding:14px clamp(16px,5vw,56px);border-top:1px solid var(--line)}
  .hero,.cols,.duo{grid-template-columns:1fr}
  .hero{min-height:auto;gap:32px}
  .hero-photo{order:-1;max-width:420px}
  .section{padding:64px 16px}
  .track{grid-template-columns:32px 1fr}
  .track audio{grid-column:1/-1}
  .events li{grid-template-columns:1fr auto}
  .events time{grid-column:1/-1}
}
