:root{
  --ink:#0F1A30; --ink-2:#14213A; --ink-3:#0A1120;
  --paper:#F5EFE3; --paper-2:#EFE8D8;
  --text:#26231C; --muted:#6B6252;
  --brass:#B4894E; --brass-hi:#CDA96B;
  --line:#D8CDB6; --cream:#F7F1E4;
  --orators:#3E6F8E; --grammar:#2E6B4F; --caesar:#7A2E2E;
  --wa:#25955a; --maxw:1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0;background:var(--paper);color:var(--text);
  font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:500;letter-spacing:-.015em;line-height:1.08;margin:0;}
a{color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px;}
.eyebrow{font-weight:600;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;border:none;cursor:pointer;
  font-family:"Hanken Grotesk",sans-serif;font-weight:600;font-size:.92rem;letter-spacing:.02em;
  padding:13px 22px;border-radius:2px;text-decoration:none;
  transition:transform .15s ease,background .2s ease,box-shadow .2s ease,filter .2s ease;}
.btn:active{transform:translateY(1px);}
.btn-wa{background:var(--wa);color:#fff;}
.btn-wa:hover{background:#1f7d4b;box-shadow:0 6px 18px rgba(37,149,90,.28);}
.btn-ghost{background:transparent;color:var(--cream);border:1px solid rgba(205,169,107,.5);}
.btn-ghost:hover{border-color:var(--brass-hi);background:rgba(205,169,107,.08);}
.btn-ink{background:var(--ink);color:var(--cream);}
.btn-ink:hover{background:var(--ink-2);}
.btn-brass{background:var(--brass);color:#2a1c08;}
.btn-brass:hover{filter:brightness(1.06);}
.wa-ic{width:17px;height:17px;flex:none;}

/* ---------- NAV ---------- */
header.nav{position:sticky;top:0;z-index:50;background:rgba(15,26,48,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid rgba(180,137,78,.28);}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:66px;}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--cream);}
.brand svg{width:30px;height:30px;flex:none;}
.brand b{font-family:"Fraunces",serif;font-weight:500;font-size:1.12rem;letter-spacing:.01em;white-space:nowrap;}
.brand .bt span{display:block;font-family:"Hanken Grotesk",sans-serif;font-weight:600;font-size:.54rem;
  letter-spacing:.26em;text-transform:uppercase;color:var(--brass-hi);margin-top:1px;}
.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links a.lnk{position:relative;font-weight:600;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(245,239,227,.82);text-decoration:none;padding:4px 0;}
.nav-links a.lnk:hover{color:var(--brass-hi);}
.nav-links a.lnk.active{color:var(--brass-hi);}
.nav-links a.lnk.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--brass);}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--cream);margin:4px 0;transition:.2s;}

/* ---------- HERO (home) ---------- */
.hero{position:relative;color:var(--paper);text-align:center;padding:78px 0 88px;overflow:hidden;
  background:radial-gradient(120% 90% at 50% -10%, #1B2A48 0%, var(--ink) 55%, var(--ink-3) 100%);}
.hero::before{content:"";position:absolute;inset:18px;border:1px solid rgba(180,137,78,.30);pointer-events:none;}
.hero-in{position:relative;z-index:2;}
.hero .emblem{width:112px;height:112px;margin:0 auto 22px;}
.hero h1{font-size:clamp(2.5rem,7vw,4rem);color:var(--cream);}
.hero .sub{font-family:"Hanken Grotesk",sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.34em;
  text-transform:uppercase;color:rgba(245,239,227,.68);margin-top:16px;}
.hero .tagline{font-family:"Newsreader",serif;font-style:italic;font-size:clamp(1.15rem,3.2vw,1.55rem);
  color:#F0E9D9;max-width:600px;margin:26px auto 0;line-height:1.4;}
.hero .tagline b{font-style:normal;font-weight:500;color:var(--brass-hi);}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px;}
.hero-foot{margin-top:40px;display:flex;justify-content:center;gap:30px;flex-wrap:wrap;
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,239,227,.6);font-weight:600;}
.hero-foot span{position:relative;}
.hero-foot span+span::before{content:"";position:absolute;left:-16px;top:50%;width:4px;height:4px;
  transform:translateY(-50%) rotate(45deg);background:var(--brass);}

/* ---------- PAGE HEADER (sub-pages) ---------- */
.page-head{position:relative;color:var(--paper);text-align:center;padding:56px 0 58px;overflow:hidden;
  background:radial-gradient(120% 120% at 50% -30%, #1B2A48 0%, var(--ink) 60%, var(--ink-3) 100%);}
.page-head::before{content:"";position:absolute;inset:14px;border:1px solid rgba(180,137,78,.26);pointer-events:none;}
.page-head-in{position:relative;z-index:2;}
.page-head .eyebrow{color:var(--brass-hi);display:block;margin-bottom:12px;}
.page-head h1{font-size:clamp(2rem,5vw,3rem);color:var(--cream);}
.page-head p{max-width:600px;margin:16px auto 0;color:rgba(245,239,227,.8);font-size:1.02rem;}

/* section scaffolding */
section{padding:74px 0;}
.sec-head{text-align:center;max-width:620px;margin:0 auto 50px;}
.sec-head .eyebrow{display:block;margin-bottom:14px;}
.sec-head h2{font-size:clamp(1.9rem,4.6vw,2.7rem);color:var(--ink);}
.sec-head p{color:var(--muted);margin:16px 0 0;}

/* ---------- ETHOS ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-block:1px solid var(--line);}
.pillar{padding:30px 28px;border-left:1px solid var(--line);}
.pillar:first-child{border-left:none;}
.pillar .p-n{font-family:"Fraunces",serif;font-size:1.05rem;color:var(--brass);font-weight:600;}
.pillar h3{font-size:1.22rem;color:var(--ink);margin:.5em 0 .4em;}
.pillar p{margin:0;font-size:.92rem;color:var(--muted);line-height:1.55;}

/* ---------- PROGRAM PREVIEW CARDS (home) ---------- */
.prev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.prev{--accent:var(--orators);display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:3px;padding:26px 24px;text-decoration:none;color:inherit;
  transition:transform .18s ease,box-shadow .18s ease;}
.prev.p2{--accent:var(--grammar);}.prev.p3{--accent:var(--caesar);}
.prev:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(15,26,48,.10);}
.prev .rn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;
  font-family:"Fraunces",serif;font-weight:600;font-size:1.05rem;color:var(--accent);margin-bottom:16px;}
.prev .cls{font-weight:700;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);}
.prev h3{font-size:1.3rem;color:var(--ink);margin:.2em 0 .3em;}
.prev .st{font-family:"Newsreader",serif;font-style:italic;color:var(--muted);font-size:.98rem;flex:1;}
.prev .more{margin-top:16px;font-weight:600;font-size:.82rem;letter-spacing:.04em;color:var(--accent);}

/* ---------- PROGRAMS (detail) ---------- */
.prog{--accent:var(--orators);scroll-margin-top:80px;background:var(--paper);border:1px solid var(--line);
  border-top:4px solid var(--accent);border-radius:3px;padding:34px 32px;margin-bottom:26px;}
.prog.p2{--accent:var(--grammar);}.prog.p3{--accent:var(--caesar);}
.prog-top{display:flex;align-items:flex-start;gap:20px;}
.prog-num{flex:none;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--accent);
  display:flex;align-items:center;justify-content:center;font-family:"Fraunces",serif;font-weight:600;font-size:1.2rem;color:var(--accent);}
.prog-cls{font-weight:700;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);}
.prog-name{font-size:clamp(1.5rem,3.6vw,1.95rem);color:var(--ink);margin:.16em 0 .12em;}
.prog-strap{font-family:"Newsreader",serif;font-style:italic;color:var(--muted);font-size:1.02rem;}
.prog-body{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:24px;}
.col-label{font-weight:700;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);
  margin:0 0 13px;display:flex;align-items:center;gap:9px;}
.col-label::before{content:"";width:15px;height:2px;background:var(--accent);flex:none;}
ul.ticks{list-style:none;margin:0;padding:0;}
ul.ticks li{position:relative;padding-left:23px;margin-bottom:8px;font-size:.94rem;line-height:1.5;}
ul.ticks li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;transform:rotate(45deg);background:var(--accent);opacity:.85;}
ul.arrows li::before{content:"→";background:none;transform:none;color:var(--accent);font-weight:700;top:0;left:1px;width:auto;height:auto;}
.promise{margin-top:26px;padding:18px 22px;background:var(--paper-2);border-left:3px solid var(--accent);}
.promise .pl{font-weight:700;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:5px;}
.promise p{margin:0;font-family:"Newsreader",serif;font-style:italic;font-size:1.04rem;color:var(--ink);line-height:1.5;}
.prog-foot{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line);}
.sched{display:flex;flex-wrap:wrap;gap:22px;flex:1;min-width:240px;}
.sched .s .k{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.sched .s .v{font-family:"Fraunces",serif;font-size:1rem;color:var(--ink);font-weight:500;}
.prog .enq{background:var(--accent);color:#fff;}
.prog .enq:hover{filter:brightness(1.08);}
.epi{text-align:center;margin:24px 0 6px;}
.epi p{font-family:"Newsreader",serif;font-style:italic;font-size:1.1rem;color:var(--caesar);margin:0 0 5px;line-height:1.45;}
.epi cite{font-style:normal;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}

/* ---------- EDUCATOR ---------- */
.edu-band{background:var(--ink);color:var(--paper);position:relative;}
.edu-band::before{content:"";position:absolute;inset:16px;border:1px solid rgba(180,137,78,.22);pointer-events:none;}
.edu-grid{position:relative;z-index:2;display:grid;grid-template-columns:170px 1fr;gap:42px;align-items:start;}
.edu-seal{align-self:center;}.edu-seal svg{width:170px;height:170px;}
.edu-band .eyebrow{color:var(--brass-hi);display:block;margin-bottom:12px;}
.edu-band h2{color:var(--cream);font-size:clamp(1.9rem,4.6vw,2.5rem);}
.edu-band .role{font-family:"Newsreader",serif;font-style:italic;color:var(--brass-hi);font-size:1.1rem;margin:6px 0 18px;}
.edu-band .bio{color:rgba(245,239,227,.82);max-width:560px;margin:0 0 24px;}
.strengths{display:grid;grid-template-columns:1fr 1fr;gap:11px 28px;}
.strengths .s{display:flex;gap:11px;font-size:.92rem;color:rgba(245,239,227,.9);}
.strengths .s::before{content:"";flex:none;width:8px;height:8px;margin-top:.45em;transform:rotate(45deg);background:var(--brass);}
.creds{margin-top:28px;padding-top:22px;border-top:1px solid rgba(180,137,78,.3);display:flex;flex-wrap:wrap;gap:30px;}
.cred .cv{font-family:"Fraunces",serif;color:var(--brass-hi);font-size:1.5rem;font-weight:600;line-height:1;}
.cred .ck{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,239,227,.7);margin-top:5px;}

/* ---------- ENROL / FORM ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);margin-bottom:46px;}
.step{padding:26px 24px;border-right:1px solid var(--line);}
.step:last-child{border-right:none;}
.step .sn{font-family:"Fraunces",serif;color:var(--brass);font-weight:600;font-size:1.1rem;}
.step h4{font-family:"Fraunces",serif;font-weight:500;font-size:1.1rem;margin:.5em 0 .35em;color:var(--ink);}
.step p{margin:0;font-size:.9rem;color:var(--muted);line-height:1.5;}
.enrol-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.form-card{background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:30px 30px 32px;}
.form-card h3{font-size:1.4rem;color:var(--ink);margin-bottom:6px;}
.form-card .fh{color:var(--muted);font-size:.94rem;margin-bottom:22px;}
.field{margin-bottom:16px;}
.field label{display:block;font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:6px;}
.field label .req{color:var(--caesar);}
.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:.98rem;color:var(--text);
  background:#FBF8F1;border:1px solid var(--line);border-radius:2px;padding:11px 13px;transition:border .15s ease,box-shadow .15s ease;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px rgba(180,137,78,.16);}
.field textarea{resize:vertical;min-height:78px;}
.form-note{font-size:.78rem;color:var(--muted);margin-top:4px;}
.form-err{display:none;color:var(--caesar);font-size:.82rem;margin-top:8px;font-weight:600;}
.form-card .btn-wa{width:100%;justify-content:center;margin-top:6px;font-size:1rem;padding:15px;}
.aside-card{display:flex;flex-direction:column;gap:20px;}
.contact-block{background:var(--ink);color:var(--paper);border-radius:3px;padding:30px;position:relative;overflow:hidden;}
.contact-block .cb-t{font-family:"Newsreader",serif;font-style:italic;color:var(--brass-hi);font-size:1.2rem;margin-bottom:20px;}
.contact-row{display:flex;align-items:center;gap:14px;margin-bottom:16px;text-decoration:none;color:var(--cream);}
.contact-row:last-child{margin-bottom:0;}
.contact-row .ic{width:42px;height:42px;flex:none;border:1px solid rgba(205,169,107,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--brass-hi);}
.contact-row .ic svg{width:18px;height:18px;}
.contact-row .k{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,239,227,.6);font-weight:700;}
.contact-row .v{font-family:"Fraunces",serif;font-size:1.12rem;color:var(--cream);}
.contact-row:hover .v{color:var(--brass-hi);}
.logi-card{background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:24px 28px;}
.logi-card ul{list-style:none;margin:0;padding:0;}
.logi-card li{position:relative;padding-left:22px;margin-bottom:10px;font-size:.92rem;color:var(--text);line-height:1.5;}
.logi-card li:last-child{margin-bottom:0;}
.logi-card li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;transform:rotate(45deg);background:var(--brass);}

/* ---------- CTA BAND ---------- */
.cta-band{background:var(--ink);color:var(--paper);text-align:center;padding:58px 0;position:relative;}
.cta-band::before{content:"";position:absolute;inset:14px;border:1px solid rgba(180,137,78,.24);pointer-events:none;}
.cta-band-in{position:relative;z-index:2;}
.cta-band h2{color:var(--cream);font-size:clamp(1.6rem,4vw,2.2rem);}
.cta-band p{color:rgba(245,239,227,.78);max-width:520px;margin:14px auto 26px;}
.cta-band .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- FOOTER ---------- */
footer.foot{background:var(--ink-3);color:rgba(245,239,227,.7);padding:44px 0 40px;text-align:center;}
footer.foot .fnav{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-bottom:22px;}
footer.foot .fnav a{font-weight:600;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,239,227,.72);text-decoration:none;}
footer.foot .fnav a:hover{color:var(--brass-hi);}
footer.foot .fm{font-family:"Fraunces",serif;font-weight:500;font-size:1.2rem;color:var(--cream);}
footer.foot .fs{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass-hi);margin-top:8px;}
footer.foot .fmeta{font-size:.8rem;margin-top:18px;color:rgba(245,239,227,.55);}
footer.foot a{color:var(--brass-hi);text-decoration:none;}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* responsive */
@media(max-width:860px){
  .nav-links{position:fixed;inset:66px 0 auto 0;flex-direction:column;gap:0;background:var(--ink);
    border-bottom:1px solid rgba(180,137,78,.3);padding:6px 0 16px;transform:translateY(-140%);transition:transform .28s ease;align-items:stretch;}
  .nav-links.open{transform:translateY(0);}
  .nav-links a.lnk{padding:14px 26px;border-top:1px solid rgba(255,255,255,.06);}
  .nav-links a.lnk.active::after{display:none;}
  .nav-links .btn{margin:12px 26px 0;justify-content:center;}
  .nav-toggle{display:block;}
  .prev-grid{grid-template-columns:1fr;}
  .edu-grid{grid-template-columns:1fr;gap:26px;}
  .edu-seal{justify-self:center;}
  .strengths{grid-template-columns:1fr;}
  .enrol-grid{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .pillars,.steps{grid-template-columns:1fr;}
  .pillar{border-left:none;border-top:1px solid var(--line);}
  .pillar:first-child{border-top:none;}
  .step{border-right:none;border-bottom:1px solid var(--line);}
  .step:last-child{border-bottom:none;}
  .prog-body{grid-template-columns:1fr;gap:22px;}
  .prog-foot{flex-direction:column;align-items:stretch;}
  .prog .enq{justify-content:center;}
  .hero-foot span+span::before{display:none;}
}
