:root{
  --black:#0D0C0A;
  --charcoal:#1A1815;
  --brass:#B8894A;
  --brass-bright:#D9AE68;
  --ivory:#ECE5D6;
  --muted:#8C8271;
  --line:rgba(184,137,74,0.35);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--black);
  color:var(--ivory);
  font-family:'Inter',sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;}
img{max-width:100%;display:block;}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}

/* Header */
.site-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:26px 48px;border-bottom:1px solid var(--line);
  flex-wrap:wrap;gap:16px;
}
.logo-lockup{display:flex;align-items:center;gap:12px;text-decoration:none;}
.logo-img{height:28px;width:auto;}
.brand-suffix{
  font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--brass);border-left:1px solid var(--line);padding-left:12px;
}
.site-header nav ul{display:flex;gap:32px;list-style:none;margin:0;padding:0;}
.site-header nav a{text-decoration:none;font-size:0.95rem;position:relative;padding-bottom:4px;}
.site-header nav a::after{
  content:'';position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--brass);transition:width .25s ease;
}
.site-header nav a:hover::after,
.site-header nav a[aria-current="page"]::after{width:100%;}

.nav-wrap{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.lang-toggle{display:flex;align-items:center;gap:6px;font-size:0.78rem;letter-spacing:0.03em;}
.lang-toggle a{
  padding:4px 10px;border:1px solid var(--line);text-decoration:none;
  color:var(--muted);transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.lang-toggle a.is-active{color:var(--black);background:var(--brass);border-color:var(--brass);}
.lang-toggle a:not(.is-active):hover,
.lang-toggle a:not(.is-active):focus-visible{color:var(--ivory);border-color:var(--brass);}

main{display:block;}

/* Hero */
.hero{
  position:relative;overflow:hidden;
  max-width:1200px;margin:0 auto;
  padding:120px 48px 100px;
}
.hero-rings{
  position:absolute;right:-140px;top:50%;transform:translateY(-50%);
  width:520px;height:520px;pointer-events:none;
}
.hero-content{max-width:640px;animation:rise .8s ease-out both;}
@keyframes rise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion:reduce){.hero-content{animation:none;}}
.hero h1{
  font-family:'Fraunces',serif;font-weight:500;
  font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.08;max-width:16ch;
}
.hero .lede{margin-top:26px;max-width:50ch;color:var(--muted);font-size:1.08rem;}

.btn{
  display:inline-block;margin-top:36px;padding:14px 28px;
  border:1px solid var(--brass);text-decoration:none;font-size:0.95rem;
  transition:background .2s ease,color .2s ease;
}
.btn:hover,.btn:focus-visible{background:var(--brass);color:var(--black);}

/* Why / roster teaser (home page) */
.why,.roster-teaser{
  max-width:1200px;margin:0 auto;padding:70px 48px;border-top:1px solid var(--line);
}
.why h2,.roster-teaser h2{
  font-family:'Fraunces',serif;font-weight:500;font-size:1.6rem;max-width:22ch;
}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:36px;}
.why-item h3{font-family:'Fraunces',serif;font-weight:500;font-size:1.15rem;margin-bottom:10px;}
.why-item p{color:var(--muted);font-size:0.95rem;}
@media (max-width:860px){.why-grid{grid-template-columns:1fr;}}

.roster-teaser ul{list-style:none;display:flex;flex-wrap:wrap;gap:16px 44px;margin-top:30px;padding:0;}
.roster-teaser li{font-family:'Fraunces',serif;font-size:1.25rem;}
.roster-teaser .tag{display:block;font-family:'Inter',sans-serif;font-size:0.78rem;color:var(--brass);margin-top:4px;}

/* Roster page */
.roster-list{max-width:900px;margin:0 auto;padding:110px 48px 140px;}
.page-title{font-family:'Fraunces',serif;font-weight:500;font-size:2.6rem;margin-bottom:16px;}
.page-lede{color:var(--muted);max-width:56ch;margin-bottom:10px;font-size:1.05rem;}

.roster-entry{
  display:grid;grid-template-columns:88px 1fr;gap:32px;
  padding:44px 0;border-bottom:1px solid var(--line);
}
.roster-entry:first-of-type{border-top:1px solid var(--line);margin-top:40px;}
.badge{
  width:88px;height:88px;border-radius:50%;border:1px solid var(--brass);
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;font-size:1.3rem;color:var(--brass);
}
.roster-entry h2{font-family:'Fraunces',serif;font-weight:500;font-size:1.7rem;}
.roster-entry .genre{color:var(--brass);font-size:0.88rem;margin-top:4px;}
.roster-entry .bio{margin-top:14px;color:var(--muted);max-width:62ch;font-size:0.98rem;}
@media (max-width:600px){.roster-entry{grid-template-columns:1fr;}.badge{margin-bottom:8px;}}

/* Contact page */
.contact-wrap{max-width:640px;margin:0 auto;padding:110px 48px 150px;}
.contact-wrap .lede{color:var(--muted);margin-top:20px;max-width:48ch;font-size:1.05rem;}
.contact-card{margin-top:44px;border-top:1px solid var(--line);padding-top:32px;}
.contact-card .name{font-family:'Fraunces',serif;font-size:1.4rem;margin-bottom:14px;}
.contact-card a{display:block;margin-top:10px;color:var(--brass);text-decoration:none;font-size:1.05rem;}
.contact-card a:hover,.contact-card a:focus-visible{text-decoration:underline;}

/* Privacy page */
.legal-wrap{max-width:720px;margin:0 auto;padding:90px 48px 150px;}
.legal-wrap h1{font-family:'Fraunces',serif;font-size:2.2rem;margin-bottom:8px;}
.legal-wrap .updated{color:var(--muted);font-size:0.85rem;margin-bottom:36px;}
.legal-wrap h2{font-family:'Fraunces',serif;font-weight:500;font-size:1.15rem;margin-top:32px;margin-bottom:10px;}
.legal-wrap p{color:var(--muted);font-size:0.95rem;max-width:70ch;margin-bottom:6px;}
.legal-wrap a{color:var(--brass);}

/* Footer */
footer{
  border-top:1px solid var(--line);padding:28px 48px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  color:var(--muted);font-size:0.85rem;max-width:1200px;margin:0 auto;
}
footer a{color:var(--muted);text-decoration:underline;}
footer a:hover,footer a:focus-visible{color:var(--brass);}
