:root {
  --ink: #102017;
  --forest: #143a29;
  --forest-deep: #081b13;
  --green: #205a3d;
  --cream: #f5f0e5;
  --paper: #fffdf8;
  --gold: #d4a94f;
  --rust: #9f4e2c;
  --muted: #667069;
  --line: rgba(16,32,23,.16);
  --shadow: 0 18px 50px rgba(0,0,0,.14);
  --radius: 20px;
  --wrap: min(1160px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
}
a { color: inherit; }
img { max-width: 100%; display: block; }
.wrap { width: var(--wrap); margin-inline: auto; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:16px; top:16px; z-index:99; background:white; padding:10px 14px; }

.site-header {
  height: 76px;
  padding: 0 max(20px, calc((100% - 1160px)/2));
  display:flex; align-items:center; justify-content:space-between;
  position:absolute; top:0; left:0; right:0; z-index:10;
  color:#fff;
}
.brand { display:flex; gap:12px; align-items:center; text-decoration:none; font-weight:800; letter-spacing:.02em; }
.brand-mark { width:38px; height:38px; border:1px solid rgba(255,255,255,.6); border-radius:50%; display:grid; place-items:center; font-family:Georgia,serif; }
.brand-name { text-transform:uppercase; letter-spacing:.13em; font-size:.9rem; }
.site-nav { display:flex; gap:26px; align-items:center; }
.site-nav a { text-decoration:none; font-weight:650; font-size:.92rem; }
.nav-cta { border:1px solid rgba(255,255,255,.7); padding:9px 15px; border-radius:999px; }
.menu-button { display:none; }

.hero { position:relative; min-height: 760px; display:flex; align-items:flex-end; color:#fff; overflow:hidden; background:var(--forest-deep); }
.hero-photo {
  position:absolute; inset:0;
  background-image:url('https://img1.wsimg.com/isteam/ip/be5ae2d7-2030-45c6-b257-7bc3dc60d5d1/blob-99821e1.png/%3A/cr%3Dt%3A0%25%2Cl%3A0%25%2Cw%3A100%25%2Ch%3A100%25/rs%3Dw%3A700%2Ccg%3Atrue');
  background-position:center 30%; background-size:cover;
  transform:scale(1.025);
}
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(3,15,9,.92) 0%, rgba(3,15,9,.62) 47%, rgba(3,15,9,.18) 80%), linear-gradient(0deg, rgba(3,15,9,.78) 0%, transparent 48%); }
.hero-content { position:relative; z-index:2; padding-bottom:126px; }
.eyebrow { margin:0 0 12px; text-transform:uppercase; letter-spacing:.2em; font-size:.74rem; font-weight:850; color:var(--rust); }
.hero .eyebrow { color:#f1ca76; }
.hero h1 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(4.8rem, 10vw, 9.2rem); line-height:.78; letter-spacing:-.065em; margin:0; max-width:800px; text-shadow:0 4px 30px rgba(0,0,0,.3); }
.hero-copy { max-width:650px; font-size:clamp(1.08rem, 2vw, 1.35rem); margin:30px 0 28px; color:rgba(255,255,255,.88); }
.hero-actions, .media-actions { display:flex; gap:12px; flex-wrap:wrap; }
.button { display:inline-flex; min-height:48px; padding:0 20px; align-items:center; justify-content:center; border-radius:999px; border:0; font:inherit; font-weight:800; text-decoration:none; cursor:pointer; }
.button-primary { background:var(--gold); color:#1c221d; }
.button-primary:hover { filter:brightness(1.05); }
.button-ghost { color:white; border:1px solid rgba(255,255,255,.65); background:rgba(255,255,255,.06); backdrop-filter:blur(6px); }
.residency-bar { position:absolute; z-index:3; bottom:0; left:0; right:0; display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:20px; align-items:center; min-height:82px; padding:18px max(20px, calc((100% - 1160px)/2)); background:rgba(6,24,16,.9); border-top:1px solid rgba(255,255,255,.18); backdrop-filter:blur(12px); }
.residency-bar strong { color:#f1ca76; text-transform:uppercase; letter-spacing:.11em; font-size:.82rem; }
.residency-bar span { color:rgba(255,255,255,.86); }

.genre-strip { min-height:72px; display:flex; align-items:center; justify-content:center; gap:18px; padding:14px 20px; background:var(--cream); color:var(--forest); font-family:Georgia,serif; font-weight:700; font-size:1.05rem; flex-wrap:wrap; }
.genre-strip i { color:var(--gold); font-style:normal; }

.section { padding:100px 0; }
.section-heading { margin-bottom:36px; }
.section-heading h2, .about-copy h2, .media-section h2, .contact-section h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.6rem,5vw,4.6rem); line-height:.98; letter-spacing:-.04em; }
.split-heading { display:grid; grid-template-columns:1fr minmax(280px,420px); align-items:end; gap:40px; }
.split-heading > p { margin:0 0 4px; color:var(--muted); }

.show-list { border-top:1px solid var(--line); }
.show-row { display:grid; grid-template-columns:160px 1fr 210px auto; gap:24px; align-items:center; padding:24px 0; border-bottom:1px solid var(--line); }
.show-date { font-family:Georgia,serif; font-weight:800; font-size:1.15rem; }
.show-main strong { display:block; font-size:1.1rem; }
.show-main span, .show-time { color:var(--muted); }
.show-link { text-decoration:none; font-weight:850; border-bottom:2px solid var(--gold); }
.fine-print { color:var(--muted); font-size:.86rem; margin-top:18px; }

.about-section { background:var(--forest); color:#fff; }
.about-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:start; }
.about-copy p:not(.eyebrow) { color:rgba(255,255,255,.78); font-size:1.05rem; max-width:680px; }
.about-copy .eyebrow { color:#f1ca76; }
.text-link { display:inline-block; margin-top:14px; color:#f4ce7c; font-weight:800; text-decoration:none; }
.stat-card { display:grid; grid-template-columns:1fr 1fr; border:1px solid rgba(255,255,255,.17); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.stat-card div { padding:28px; min-height:140px; display:flex; flex-direction:column; justify-content:flex-end; border-right:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); }
.stat-card strong { display:block; font-family:Georgia,serif; color:#f1ca76; font-size:2rem; }
.stat-card span { color:rgba(255,255,255,.72); font-size:.9rem; }

.member-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.member-card { padding:30px; min-height:300px; border:1px solid var(--line); border-radius:var(--radius); background:white; position:relative; overflow:hidden; }
.member-card::after { content:""; position:absolute; right:-45px; bottom:-45px; width:150px; height:150px; border-radius:50%; border:24px solid rgba(212,169,79,.16); }
.member-initial { width:72px; height:72px; border-radius:50%; background:var(--forest); color:#f1ca76; display:grid; place-items:center; font-family:Georgia,serif; font-size:1.35rem; font-weight:800; margin-bottom:52px; }
.member-card h3 { font-size:1.35rem; margin:0 0 2px; }
.member-role { color:var(--rust); text-transform:uppercase; letter-spacing:.1em; font-weight:800; font-size:.76rem; }
.member-card p:last-child { color:var(--muted); max-width:250px; }

.media-section { background:#eee7d8; }
.media-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.media-section p:not(.eyebrow) { color:#556159; max-width:580px; }
.media-placeholder { aspect-ratio:16/10; border-radius:var(--radius); background:linear-gradient(140deg,#1d4a34,#081b13 68%); color:white; display:flex; flex-direction:column; justify-content:flex-end; padding:30px; box-shadow:var(--shadow); position:relative; overflow:hidden; }
.media-placeholder::before { content:""; position:absolute; inset:-30%; background:repeating-linear-gradient(45deg,transparent 0 32px,rgba(255,255,255,.025) 32px 64px); transform:rotate(8deg); }
.play-icon { width:58px; height:58px; border-radius:50%; border:1px solid rgba(255,255,255,.55); display:grid; place-items:center; margin-bottom:auto; position:relative; z-index:1; }
.media-placeholder strong, .media-placeholder span { position:relative; z-index:1; }
.media-placeholder strong { font-size:1.25rem; }
.media-placeholder span { color:rgba(255,255,255,.65); }

.epk-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.epk-card { padding:24px; border-radius:16px; background:var(--cream); min-height:140px; }
.epk-card span { display:block; color:var(--muted); font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:34px; }
.epk-card strong { font-family:Georgia,serif; font-size:1.1rem; line-height:1.25; }

.contact-section { background:var(--forest-deep); color:#fff; }
.contact-grid { display:grid; grid-template-columns:1fr .9fr; gap:70px; align-items:start; }
.contact-section .eyebrow { color:#f1ca76; }
.contact-section p { color:rgba(255,255,255,.72); max-width:580px; }
.contact-direct { display:flex; flex-direction:column; gap:8px; margin-top:30px; }
.contact-direct a { color:white; text-decoration:none; font-weight:750; }
.contact-form { display:grid; gap:15px; padding:28px; border:1px solid rgba(255,255,255,.16); border-radius:var(--radius); background:rgba(255,255,255,.04); }
.contact-form label { display:grid; gap:6px; font-size:.85rem; font-weight:750; color:rgba(255,255,255,.8); }
.contact-form input, .contact-form textarea { width:100%; border:1px solid rgba(255,255,255,.18); border-radius:10px; background:rgba(255,255,255,.08); color:white; padding:12px; font:inherit; outline:none; }
.contact-form input:focus, .contact-form textarea:focus { border-color:#f1ca76; }
.form-note { font-size:.78rem; margin:0; }

.site-footer { background:#06110c; color:#fff; padding:38px 0 28px; }
.footer-inner { display:flex; justify-content:space-between; gap:30px; align-items:center; }
.footer-inner > div:first-child { display:flex; flex-direction:column; }
.footer-inner span, .footer-small { color:rgba(255,255,255,.55); }
.footer-links { display:flex; gap:22px; }
.footer-links a { color:rgba(255,255,255,.82); text-decoration:none; }
.footer-small { padding-top:26px; margin-top:26px; border-top:1px solid rgba(255,255,255,.1); font-size:.8rem; }

@media (max-width: 860px) {
  .site-header { position:absolute; }
  .menu-button { display:block; background:rgba(0,0,0,.2); color:white; border:1px solid rgba(255,255,255,.4); padding:8px 12px; border-radius:999px; }
  .site-nav { display:none; position:absolute; top:66px; left:20px; right:20px; padding:18px; border-radius:16px; background:#0a1c13; flex-direction:column; align-items:stretch; gap:8px; box-shadow:var(--shadow); }
  .site-nav.open { display:flex; }
  .site-nav a { padding:10px 8px; }
  .nav-cta { border:0; background:var(--gold); color:var(--ink); text-align:center; }
  .hero { min-height:690px; }
  .hero-photo { background-position:58% 20%; opacity:.72; }
  .hero-shade { background:linear-gradient(0deg,rgba(3,15,9,.95),rgba(3,15,9,.36)); }
  .hero-content { padding-bottom:164px; }
  .hero h1 { font-size:clamp(4.3rem,21vw,7rem); }
  .residency-bar { grid-template-columns:1fr; gap:2px; min-height:118px; }
  .split-heading, .about-grid, .media-grid, .contact-grid { grid-template-columns:1fr; gap:34px; }
  .show-row { grid-template-columns:1fr auto; gap:8px 18px; }
  .show-main { grid-column:1/-1; }
  .show-time { grid-column:1; }
  .member-grid, .epk-grid { grid-template-columns:1fr 1fr; }
  .section { padding:76px 0; }
}

@media (max-width: 560px) {
  :root { --wrap:min(100% - 28px,1160px); }
  .brand-name { display:none; }
  .hero { min-height:720px; }
  .hero-copy { font-size:1rem; }
  .genre-strip { font-size:.9rem; gap:10px; }
  .member-grid, .epk-grid, .stat-card { grid-template-columns:1fr; }
  .member-card { min-height:250px; }
  .member-initial { margin-bottom:32px; }
  .footer-inner { align-items:flex-start; flex-direction:column; }
  .footer-links { flex-wrap:wrap; }
}
