:root{
  --bg:#0f0e0c; --panel:#17150f; --panel2:#1c1810; --ink:#f2ede2; --muted:#b9ab8f;
  --accent:#c9a24b; --accent2:#e6c878; --line:#2b271d; --maxw:760px;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family: Georgia, 'Times New Roman', serif;
  line-height:1.75;
}
a{ color:var(--accent2); }
header.hero{
  padding:6rem 1.5rem 3.5rem; text-align:center;
  border-bottom:1px solid var(--line);
  background: radial-gradient(circle at 50% 0%, #201b12 0%, var(--bg) 70%);
}
header.hero p.kicker{
  letter-spacing:.2em; text-transform:uppercase; font-size:.75rem;
  color:var(--accent); font-family: Helvetica, Arial, sans-serif; margin-bottom:1.2rem;
}
header.hero h1{
  font-size:clamp(2.1rem,5vw,3.4rem); margin:0 0 1.2rem; font-weight:400;
}
header.hero p.sub{ color:var(--muted); font-size:1.2rem; max-width:640px; margin:0 auto 2rem; }
header.hero p.signature{
  font-family: Helvetica, Arial, sans-serif; letter-spacing:.05em; font-size:.95rem;
  color:var(--accent2); margin-top:1.5rem; text-transform:uppercase;
}
.hero-ctas{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.btn{
  display:inline-block; text-decoration:none; font-family: Helvetica, Arial, sans-serif;
  font-weight:bold; padding:.85rem 1.8rem; border-radius:4px; font-size:.92rem;
  letter-spacing:.02em;
}
.btn-primary{ background:var(--accent); color:#1a1509; }
.btn-outline{ border:1px solid var(--accent); color:var(--accent2); }

main{ max-width:var(--maxw); margin:0 auto; padding:3.5rem 1.5rem 2rem; }
h2{ font-size:1.7rem; margin-top:3.2rem; font-weight:400; border-left:3px solid var(--accent); padding-left:.9rem; }
h3{ font-family: Helvetica, Arial, sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:.8rem; color:var(--accent); margin-top:2.2rem; }
p{ color:#ded6c4; font-size:1.06rem; }
ul{ color:#ded6c4; }
ol{ color:#ded6c4; }
blockquote{
  margin:2.2rem 0; padding:1.1rem 1.6rem; border-left:3px solid var(--accent);
  background:var(--panel); font-style:italic; color:var(--ink); font-size:1.1rem;
}
.stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1rem; margin:2rem 0; }
.stats div{ background:var(--panel); border:1px solid var(--line); padding:1.2rem; border-radius:6px; text-align:center; }
.stats div b{ display:block; font-size:1.5rem; color:var(--accent2); font-family: Helvetica, Arial, sans-serif; }
.stats div span{ font-size:.78rem; color:var(--muted); font-family: Helvetica, Arial, sans-serif; text-transform:uppercase; letter-spacing:.03em; }

.pillars{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; margin:1.5rem 0; }
.pillars div{ background:var(--panel); border:1px solid var(--line); padding:1rem 1.2rem; border-radius:6px; }
.pillars div b{ color:var(--accent); display:block; margin-bottom:.3rem; font-family: Helvetica, Arial, sans-serif; }

.steps{ counter-reset:step; margin:2rem 0; }
.steps div{ position:relative; padding:0 0 0 3rem; margin-bottom:1.6rem; }
.steps div::before{
  counter-increment:step; content:counter(step);
  position:absolute; left:0; top:0; width:2rem; height:2rem; border-radius:50%;
  background:var(--panel); border:1px solid var(--accent); color:var(--accent2);
  display:flex; align-items:center; justify-content:center;
  font-family: Helvetica, Arial, sans-serif; font-size:.85rem;
}
.steps div b{ color:var(--ink); display:block; margin-bottom:.2rem; font-family: Helvetica, Arial, sans-serif; }
.steps div span{ color:var(--muted); font-size:.95rem; }

.cta-block{
  background:var(--panel2); border:1px solid var(--line); border-radius:10px;
  padding:2.2rem 1.8rem; margin:3rem 0; text-align:center;
}
.cta-block h3{ margin-top:0; }
.cta-block p{ margin-bottom:1.4rem; }
.cta-row{ display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; }

.faq details{ border-bottom:1px solid var(--line); padding:1rem 0; }
.faq summary{ cursor:pointer; font-weight:bold; color:var(--ink); font-size:1.02rem; }
.faq summary::marker{ color:var(--accent); }

.crosslink{
  display:flex; gap:1rem; align-items:center; background:var(--panel);
  border:1px solid var(--line); border-radius:10px; padding:1.4rem 1.6rem; margin:3rem 0;
}
.crosslink p{ margin:0; flex:1; }
.crosslink a{ white-space:nowrap; }

footer{ text-align:center; padding:3rem 1.5rem; color:var(--muted); font-family: Helvetica, Arial, sans-serif; font-size:.85rem; border-top:1px solid var(--line); }
footer a{ color:var(--accent2); }

.hero-grid{
  max-width:1050px; margin:0 auto; display:grid;
  grid-template-columns:1.1fr .9fr; gap:2.5rem; align-items:center;
  text-align:left; padding:0 1.5rem;
}
.hero-grid .hero-text{ text-align:left; }
.hero-grid .hero-text .kicker, .hero-grid .hero-text .sub{ text-align:left; }
.hero-grid .hero-text h1{ text-align:left; }
.hero-grid .hero-photo img{
  width:100%; height:auto; aspect-ratio:4/5; object-fit:cover;
  border:1px solid var(--line); border-radius:6px; display:block;
}
.hero-grid .hero-ctas{ justify-content:flex-start; }
@media (max-width:820px){
  .hero-grid{ grid-template-columns:1fr; text-align:center; }
  .hero-grid .hero-text{ text-align:center; order:2; }
  .hero-grid .hero-text .kicker, .hero-grid .hero-text h1, .hero-grid .hero-text .sub{ text-align:center; }
  .hero-grid .hero-ctas{ justify-content:center; }
  .hero-grid .hero-photo{ order:1; max-width:280px; margin:0 auto; }
}

.institutional-photo{
  max-width:280px; margin:2rem auto; text-align:center;
}
.institutional-photo img{
  width:100%; height:auto; aspect-ratio:4/5; object-fit:cover;
  border:1px solid var(--line); border-radius:6px;
}
.institutional-photo p{ font-size:.82rem; color:var(--muted); margin-top:.6rem; }

.note{
  font-family: Helvetica, Arial, sans-serif; font-size:.72rem; color:#6b6250;
  text-align:center; padding:.6rem 1.5rem; background:#100e0a;
}
.tagline{ font-family: Helvetica, Arial, sans-serif; text-transform:uppercase; letter-spacing:.15em; font-size:.85rem; color:var(--accent2); text-align:center; margin:3rem 0; }
