:root { --ink:#071b23; --navy:#08242d; --cream:#f5f0e6; --paper:#fffdf8; --gold:#d7a943; --gold-light:#f0cc73; --muted:#69777a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.section { padding-block:112px; }

.site-header { height:82px; padding:0 max(24px,calc((100vw - 1180px)/2)); display:flex; align-items:center; justify-content:space-between; background:rgba(255,253,248,.96); border-bottom:1px solid rgba(7,27,35,.1); position:sticky; top:0; z-index:50; backdrop-filter:blur(14px); }
.brand { display:flex; align-items:center; gap:12px; }
.brand-mark { width:39px; height:39px; position:relative; display:flex; align-items:end; justify-content:center; gap:3px; }
.brand-mark::after { content:""; position:absolute; inset:2px; border:1px solid var(--gold); border-radius:50%; }
.brand-mark span { width:3px; background:var(--gold); border-radius:2px; z-index:1; margin-bottom:9px; }
.brand-mark span:nth-child(1) { height:11px; } .brand-mark span:nth-child(2) { height:20px; } .brand-mark span:nth-child(3) { height:14px; }
.brand-copy { display:grid; line-height:1; gap:5px; }
.brand-copy strong { font-family:Georgia,serif; font-size:17px; letter-spacing:.05em; }
.brand-copy small { font-size:8px; letter-spacing:.34em; color:var(--muted); }
.nav-links { display:flex; align-items:center; gap:30px; font-size:13px; font-weight:700; }
.nav-links>a:not(.nav-cta) { padding-block:29px; border-bottom:2px solid transparent; }
.nav-links>a:not(.nav-cta):hover { color:#9c7320; border-color:var(--gold); }
.nav-cta { background:var(--navy); color:white; padding:13px 18px; }
.menu-toggle { display:none; background:none; border:0; padding:8px; }
.menu-toggle span { display:block; width:25px; height:2px; margin:5px; background:var(--ink); }

.hero { height:calc(100svh - 82px); min-height:660px; max-height:900px; position:relative; overflow:hidden; color:white; background:var(--navy); }
.hero-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity 1s ease,visibility 1s; }
.hero-slide.active { opacity:1; visibility:visible; z-index:2; }
.hero-image { position:absolute; inset:0; background-size:cover; transition:transform 8s ease; transform:scale(1.02); }
.hero-slide.active .hero-image { transform:scale(1.065); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,18,24,.92) 0%,rgba(3,18,24,.76) 37%,rgba(3,18,24,.16) 73%,rgba(3,18,24,.12) 100%); }
.hero-content { position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding-bottom:42px; }
.eyebrow { color:#9b7425; text-transform:uppercase; letter-spacing:.28em; font-size:11px; font-weight:800; margin:0 0 22px; display:flex; align-items:center; gap:12px; }
.eyebrow::before { content:""; width:30px; height:1px; background:currentColor; }
.eyebrow.light { color:var(--gold-light); }
.hero h1 { font-family:Georgia,serif; font-size:clamp(52px,6.6vw,94px); line-height:.98; font-weight:400; letter-spacing:-.045em; margin:0; max-width:820px; }
.hero h1 em { font-weight:400; color:var(--gold-light); }
.hero-text { font-size:17px; line-height:1.75; max-width:590px; color:rgba(255,255,255,.82); margin:28px 0 34px; }
.button { display:inline-flex; align-items:center; gap:28px; padding:16px 20px; font-size:12px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.button-gold { background:var(--gold); color:var(--ink); }
.button-gold:hover { background:var(--gold-light); }
.hero-controls { position:absolute; z-index:5; right:max(24px,calc((100vw - 1180px)/2)); bottom:50px; display:flex; gap:20px; }
.hero-controls button { width:54px; padding:0 0 9px; border:0; border-bottom:2px solid rgba(255,255,255,.27); background:transparent; color:rgba(255,255,255,.58); text-align:left; cursor:pointer; }
.hero-controls button.active { border-color:var(--gold); color:white; }
.hero-controls span { font-size:11px; letter-spacing:.1em; }
.hero-note { position:absolute; z-index:5; left:24px; top:50%; transform:translate(-45%,-50%) rotate(-90deg); display:flex; align-items:center; gap:18px; font-size:9px; text-transform:uppercase; letter-spacing:.24em; color:rgba(255,255,255,.58); }
.hero-note .line { width:46px; height:1px; background:rgba(255,255,255,.38); }

.intro { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:start; }
h2 { font-family:Georgia,serif; font-weight:400; font-size:clamp(42px,5vw,68px); line-height:1.08; letter-spacing:-.035em; margin:0; }
h2 span { color:#a57823; font-style:italic; }
.intro-copy { padding-top:38px; }
.intro-copy p { color:var(--muted); line-height:1.85; font-size:15px; }
.intro-copy .lead { color:var(--ink); font-family:Georgia,serif; font-size:23px; line-height:1.55; margin-top:0; }
.text-link { display:inline-flex; gap:18px; border-bottom:1px solid var(--gold); padding-bottom:7px; margin-top:18px; text-transform:uppercase; font-size:11px; font-weight:800; letter-spacing:.14em; }

.programs { background:var(--navy); color:white; }
.section-heading { display:grid; grid-template-columns:1fr .62fr; gap:80px; align-items:end; margin-bottom:70px; }
.section-heading h2 span { color:var(--gold-light); }
.section-heading>p { color:rgba(255,255,255,.62); line-height:1.8; margin:0 0 8px; }
.program-grid { display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid rgba(255,255,255,.16); }
.program-card { grid-column:span 2; padding:38px 28px 42px; border-right:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); min-height:300px; display:flex; flex-direction:column; }
.program-card:nth-child(3) { border-right:0; }
.program-card:nth-child(4) { grid-column:2/span 2; }
.program-card:nth-child(5) { border-right:0; }
.program-card:hover { background:rgba(255,255,255,.045); }
.program-number { color:var(--gold); font-family:Georgia,serif; font-size:13px; }
.program-card h3 { font-family:Georgia,serif; font-size:25px; font-weight:400; line-height:1.25; margin:42px 0 14px; }
.program-card p { color:rgba(255,255,255,.56); font-size:14px; line-height:1.7; margin:0; }
.program-card a { color:var(--gold-light); font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; margin-top:auto; padding-top:26px; }

.impact { display:grid; grid-template-columns:.9fr 1.1fr; gap:110px; }
.principles { border-top:1px solid rgba(7,27,35,.16); }
.principles article { display:grid; grid-template-columns:.65fr 1fr; gap:30px; padding:26px 0; border-bottom:1px solid rgba(7,27,35,.16); }
.principles strong { font-family:Georgia,serif; font-size:20px; font-weight:400; }
.principles p { margin:0; color:var(--muted); line-height:1.7; font-size:14px; }

.quote-band { background:var(--cream); padding:95px 0; text-align:center; }
.quote-mark { color:var(--gold); font-family:Georgia,serif; font-size:84px; line-height:.5; }
.quote-band blockquote { max-width:900px; margin:24px auto 28px; font-family:Georgia,serif; font-size:clamp(30px,4vw,49px); line-height:1.25; font-style:italic; }
.quote-band p { color:var(--muted); text-transform:uppercase; font-size:10px; letter-spacing:.22em; font-weight:800; }

.join-copy { max-width:820px; margin-bottom:55px; }
.join-copy>p:last-child { color:var(--muted); line-height:1.8; max-width:650px; font-size:16px; margin-top:24px; }
.join-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(7,27,35,.16); }
.join-grid article { padding:34px; min-height:300px; border-right:1px solid rgba(7,27,35,.16); display:flex; flex-direction:column; }
.join-grid article:last-child { border-right:0; }
.join-grid article>span { color:#9b7425; text-transform:uppercase; font-size:10px; letter-spacing:.2em; font-weight:800; }
.join-grid h3 { font-family:Georgia,serif; font-weight:400; font-size:28px; margin:44px 0 13px; }
.join-grid p { color:var(--muted); line-height:1.7; font-size:14px; margin:0; }
.join-grid a { margin-top:auto; padding-top:28px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.11em; }
.join-grid a:hover { color:#9b7425; }

footer { background:#061920; color:white; padding-top:70px; }
.footer-main { display:grid; grid-template-columns:1.8fr repeat(3,1fr); gap:50px; padding-bottom:62px; }
.brand.inverse .brand-copy small { color:rgba(255,255,255,.55); }
.footer-brand p { color:var(--gold-light); font-family:Georgia,serif; font-style:italic; line-height:1.55; margin:22px 0 0; }
footer h4 { color:var(--gold-light); text-transform:uppercase; font-size:10px; letter-spacing:.18em; margin:4px 0 22px; }
footer .footer-main>div:not(.footer-brand) { display:flex; flex-direction:column; gap:13px; }
footer .footer-main>div:not(.footer-brand) a { color:rgba(255,255,255,.62); font-size:13px; }
footer .footer-main>div:not(.footer-brand) a:hover { color:white; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding:22px 0; display:flex; justify-content:space-between; color:rgba(255,255,255,.4); font-size:10px; text-transform:uppercase; letter-spacing:.14em; }

@media (max-width:900px) {
  .section { padding-block:82px; }
  .menu-toggle { display:block; z-index:3; }
  .nav-links { display:none; position:absolute; top:81px; left:0; right:0; padding:24px; background:var(--paper); flex-direction:column; align-items:stretch; gap:0; box-shadow:0 20px 30px rgba(7,27,35,.12); }
  .nav-links.open { display:flex; }
  .nav-links>a:not(.nav-cta) { padding:15px 4px; border-bottom:1px solid rgba(7,27,35,.1); }
  .nav-cta { margin-top:14px; text-align:center; }
  .hero { min-height:650px; }
  .hero-note { display:none; }
  .hero-shade { background:linear-gradient(90deg,rgba(3,18,24,.91),rgba(3,18,24,.48)); }
  .intro,.impact,.section-heading { grid-template-columns:1fr; gap:42px; }
  .intro-copy { padding-top:0; }
  .program-card { grid-column:span 3; }
  .program-card:nth-child(3) { border-right:1px solid rgba(255,255,255,.12); }
  .program-card:nth-child(4) { grid-column:span 3; }
  .program-card:nth-child(even) { border-right:0; }
  .join-grid { grid-template-columns:1fr; }
  .join-grid article { border-right:0; border-bottom:1px solid rgba(7,27,35,.16); }
  .join-grid article:last-child { border-bottom:0; }
  .footer-main { grid-template-columns:1.6fr 1fr 1fr; }
  .footer-main>div:last-child { grid-column:2/span 2; }
}

@media (max-width:620px) {
  .shell { width:min(100% - 32px,1180px); }
  .site-header { height:72px; padding-inline:16px; }
  .nav-links { top:71px; }
  .brand-copy strong { font-size:15px; }
  .hero { height:calc(100svh - 72px); min-height:620px; }
  .hero-image { background-position:62% center!important; }
  .hero-shade { background:linear-gradient(90deg,rgba(3,18,24,.92),rgba(3,18,24,.58)); }
  .hero h1 { font-size:clamp(44px,14vw,61px); }
  .hero-text { font-size:15px; line-height:1.65; margin:22px 0 28px; }
  .hero-controls { right:16px; bottom:28px; }
  .hero-controls button { width:42px; }
  .hero-content { padding-bottom:88px; }
  h2 { font-size:43px; }
  .section { padding-block:72px; }
  .program-grid { display:block; }
  .program-card { min-height:270px; border-right:0!important; }
  .principles article { grid-template-columns:1fr; gap:10px; }
  .quote-band { padding:74px 0; }
  .join-grid article { min-height:270px; padding:28px; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
  .footer-main>div:last-child { grid-column:1/-1; }
  .footer-bottom { gap:16px; flex-direction:column; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .hero-slide,.hero-image { transition:none; } }
