:root{
  /* Brand Identity Standards v2 — exact palette, nothing else */
  --ink: #0A0A0A;
  --crown: #D9B45A;
  --light-gold: #E3BC5B;
  --bone: #F2E7CF;
  --slate-gold: #3A342A;

  /* derived UI shades — opacity/blend variants of the palette above, not new colors */
  --bg: var(--ink);
  --bg-raised: #151310;
  --bg-raised-2: #1c1912;
  --line: var(--slate-gold);
  --muted: rgba(242,231,207,.62); /* bone at reduced opacity */

  /* type */
  --font-display: 'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-body: 'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-mono: 'Space Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  --max: 1120px;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
section[id]{ scroll-margin-top: 76px; }
body{
  margin:0;
  background:var(--bg);
  color:var(--bone);
  font-family:var(--font-body);
  font-weight:400;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
.wrap{ max-width:var(--max); margin:0 auto; padding:0 28px; }

/* ---------- crown mark ---------- */
.crown-svg{ display:block; }

/* ---------- nav ---------- */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(10,10,10,.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav .wrap{ display:flex; align-items:center; justify-content:space-between; height:76px; }
.brand{ display:flex; align-items:center; gap:12px; }
.brand svg{ width:36px; height:auto; flex-shrink:0; display:block; }
.brand .word{
  font-family:var(--font-display); font-weight:900; letter-spacing:-.03em; font-size:16px; color:var(--bone);
  line-height:1;
}
.nav-links{ display:flex; align-items:center; gap:32px; }
.nav-ctas{ display:flex; align-items:center; gap:10px; }
.nav-links a{
  font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--bone); opacity:.75; transition:opacity .15s, color .15s;
}
.nav-links a:hover{ opacity:1; color:var(--crown); }
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 24px; font-family:var(--font-mono); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  border-radius:3px; border:1px solid transparent; cursor:pointer; transition:all .15s;
}
.btn-solid{ background:var(--crown); color:var(--ink); }
.btn-solid:hover{ background:var(--light-gold); }
.btn-outline{ border-color:var(--crown); color:var(--bone); }
.btn-outline:hover{ background:var(--crown); color:var(--ink); }
.btn-sm{ padding:10px 18px; font-size:11px; }

/* ---------- hero ---------- */
.hero{
  position:relative; min-height:56vh; display:flex; align-items:flex-end;
  background-size:cover; background-position:center;
}
.hero::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,10,10,.35) 0%, rgba(10,10,10,.55) 55%, rgba(10,10,10,.97) 100%);
}
.hero-inner{ position:relative; z-index:1; padding:0 0 72px; width:100%; }
.hero-crown{ width:76px; height:auto; margin-bottom:26px; }
.hero h1{
  font-family:var(--font-display); font-weight:900; text-transform:uppercase;
  font-size:clamp(38px,6.6vw,80px); line-height:.98; letter-spacing:-.03em;
  margin:0 0 22px; max-width:16ch; color:var(--bone);
}
.hero p{ font-size:18px; color:var(--muted); max-width:52ch; margin:0 0 34px; line-height:1.6; }
.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }

/* page hero (about) */
.page-hero{
  position:relative; min-height:46vh; display:flex; align-items:flex-end;
  background-size:cover; background-position:center;
}
.page-hero::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,10,10,.45) 0%, rgba(10,10,10,.97) 100%);
}
.page-hero-inner{ position:relative; z-index:1; padding:0 0 56px; }
.eyebrow{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--crown); font-weight:700; margin-bottom:14px;
}
.page-hero h1{
  font-family:var(--font-display); font-weight:900; text-transform:uppercase;
  font-size:clamp(32px,5.2vw,52px); margin:0; letter-spacing:-.03em; color:var(--bone);
}

/* ---------- sections ---------- */
section{ padding:96px 0; }
.section-tight{ padding:64px 0; }
.section-head{ max-width:640px; margin-bottom:52px; }
.section-head .eyebrow{ margin-bottom:12px; }
.section-head h2{
  font-family:var(--font-display); font-weight:900; text-transform:uppercase;
  font-size:clamp(26px,3.6vw,38px); margin:0 0 16px; letter-spacing:-.02em; color:var(--bone);
}
.section-head p{ color:var(--muted); font-size:16px; margin:0; }

.border-top{ border-top:1px solid var(--line); }

/* two-pillar mission */
.pillars{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.pillar{ background:var(--bg); padding:48px 40px; }
.pillar .num{
  font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; color:var(--crown); font-weight:700; margin-bottom:20px;
}
.pillar h3{
  font-family:var(--font-display); font-weight:900; text-transform:uppercase;
  font-size:24px; margin:0 0 16px; letter-spacing:-.02em; color:var(--bone);
}
.pillar p{ color:var(--muted); margin:0; font-size:15px; line-height:1.7; }

/* program cards */
.card-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.p-card{ position:relative; aspect-ratio:3/4; border-radius:6px; overflow:hidden; background:var(--bg-raised); }
.p-card img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.p-card:hover img{ transform:scale(1.06); }
.p-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(10,10,10,.92) 100%);
}
.p-card-label{ position:absolute; left:0; right:0; bottom:0; padding:20px; z-index:1; }
.p-card-label .tag{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--crown); font-weight:700; display:block; margin-bottom:6px;
}
.p-card-label h4{ font-family:var(--font-display); font-weight:900; margin:0; font-size:18px; color:var(--bone); }
.programs-note{ margin:28px 0 0; font-size:14px; color:var(--muted); max-width:56ch; }

/* stats */
.stats-band{ padding:0; }
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.stat{ background:var(--bg); padding:36px 28px; text-align:center; }
.stat .n{
  font-family:var(--font-mono); font-weight:700; font-variant-numeric:tabular-nums;
  font-size:clamp(28px,3.6vw,40px); letter-spacing:-.01em; color:var(--bone);
}
.stat .l{ font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-top:10px; }

/* quote */
.quote-block{ max-width:760px; }
.quote-block blockquote{
  font-family:var(--font-body); font-weight:500;
  font-size:clamp(21px,2.8vw,28px); line-height:1.4; margin:0 0 24px; letter-spacing:-.005em; color:var(--bone);
}
.quote-block cite{ font-style:normal; color:var(--muted); font-family:var(--font-mono); font-size:12px; }

/* cta band */
.cta-band{ background:var(--bg-raised); text-align:center; padding:96px 0; }
.cta-band h2{
  font-family:var(--font-display); font-weight:900; text-transform:uppercase;
  font-size:clamp(26px,4vw,42px); margin:0 0 16px; max-width:20ch; margin-left:auto; margin-right:auto;
  letter-spacing:-.02em; color:var(--bone);
}
.cta-band p{ color:var(--muted); max-width:48ch; margin:0 auto 34px; }

/* mission long copy */
.mission-copy{ max-width:720px; }
.mission-copy p{ font-size:17px; color:var(--muted); margin:0 0 22px; line-height:1.75; }
.mission-copy p strong{ color:var(--bone); font-weight:600; }

/* values */
.values{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.value h4{ font-family:var(--font-display); font-weight:900; font-size:15px; letter-spacing:0; margin:0 0 10px; color:var(--bone); }
.value .idx{ font-family:var(--font-mono); font-size:11px; color:var(--crown); font-weight:700; letter-spacing:.08em; margin-bottom:14px; }
.value p{ font-size:14px; color:var(--muted); margin:0; line-height:1.65; }

/* board */
.board-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px 28px; }
.board-card img{ width:100%; aspect-ratio:1; object-fit:cover; border-radius:6px; margin-bottom:18px; filter:grayscale(45%); }
.board-card h4{ font-family:var(--font-display); font-weight:900; font-size:16px; margin:0 0 4px; color:var(--bone); }
.board-card .role{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--crown); font-weight:700; margin-bottom:12px;
}
.board-card p{ font-size:14px; color:var(--muted); margin:0; line-height:1.65; }

/* footer */
footer{ border-top:1px solid var(--line); padding:56px 0 40px; }
.footer-top{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:40px; margin-bottom:40px; }
.footer-nav{ display:flex; gap:28px; flex-wrap:wrap; }
.footer-nav a{ font-family:var(--font-mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.footer-nav a:hover{ color:var(--crown); }
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
  padding-top:24px; border-top:1px solid var(--line);
  font-family:var(--font-mono); font-size:11px; color:var(--muted);
}

/* responsive */
@media (max-width:900px){
  .pillars{ grid-template-columns:1fr; }
  .card-grid{ grid-template-columns:repeat(2,1fr); }
  .stats{ grid-template-columns:repeat(2,1fr); }
  .values{ grid-template-columns:repeat(2,1fr); }
  .board-grid{ grid-template-columns:repeat(2,1fr); }
  .nav-links{ display:none; }
}
@media (max-width:560px){
  .card-grid{ grid-template-columns:1fr; }
  .stats{ grid-template-columns:1fr 1fr; }
  .values{ grid-template-columns:1fr; }
  .board-grid{ grid-template-columns:1fr; }
  section{ padding:64px 0; }
}
