:root{
  --navy:#12285A;
  --navy-deep:#0C1D44;
  --ink:#1B2337;
  --muted:#55607A;
  --mist:#F0F3F8;
  --line:#D9DFEA;
  --white:#FFFFFF;
  --gold:#C9952F;
  --gold-bar:linear-gradient(90deg,#F6DC8F 0%,#E9B24A 45%,#C77E1B 75%,#5A2E0B 100%);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Mulish",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1120px;
  --r:6px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font:400 17px/1.6 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:2px}
h1,h2,h3{font-family:var(--serif);color:var(--navy);font-weight:600;line-height:1.12;margin:0 0 .5em}
h1{font-size:clamp(2.4rem,5.2vw,3.9rem);letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,3.4vw,2.6rem)}
h3{font-size:1.45rem}
p{margin:0 0 1em;max-width:68ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:8px 14px;z-index:20}
.skip:focus{left:12px;top:12px}

/* signature gold bar */
.bar{height:5px;width:96px;background:var(--gold-bar);border-radius:3px;margin:18px 0 26px}

/* header */
.site-head{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.logo img{height:42px;width:auto}
.nav{display:flex;align-items:center;gap:26px}
.nav a{text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}
.nav a[aria-current="page"]{color:var(--navy);box-shadow:inset 0 -2px 0 var(--gold)}
.nav a:hover{color:var(--navy)}
.nav .btn{color:#fff}
.nav .btn:hover{color:#fff}
.nav .dawn{font-weight:700;letter-spacing:.06em;color:var(--navy)}
.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;font-weight:700;padding:12px 20px;border-radius:var(--r);border:2px solid var(--navy);font-size:.95rem}
.btn:hover{background:var(--navy-deep);text-decoration:none}
.btn.ghost{background:transparent;color:var(--navy)}
.btn.ghost:hover{background:var(--mist)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:var(--r);padding:8px 12px;font:600 .95rem var(--sans);color:var(--navy)}

/* sections */
section{padding:72px 0}
.band{background:var(--mist)}
.lead{font-size:1.18rem;color:var(--muted)}
.crumbs{font-size:.9rem;color:var(--muted);margin:28px 0 0}
.crumbs a{color:var(--muted)}

/* hero */
.hero{padding:64px 0 72px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-art{position:relative;align-self:stretch;min-height:360px}
.hero-art img{position:absolute;inset:-64px -24px -72px 0;width:calc(100% + 24px);height:calc(100% + 136px);object-fit:cover;object-position:left center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28%);mask-image:linear-gradient(90deg,transparent 0,#000 28%)}
.hero-home{overflow:hidden}
.hero-photo img{border-radius:var(--r);width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%}
.hero-photo.square img{aspect-ratio:1/1;object-position:center}
.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px}
.path{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;text-decoration:none;color:var(--ink)}
.path:hover{border-color:var(--navy)}
.path h3{margin:0}
.path p{color:var(--muted);font-size:.97rem;margin:0 0 8px}
.path .go{margin-top:auto;font-weight:700;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.journey{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;position:relative}
.journey::before{content:"";position:absolute;left:9px;right:9px;top:9px;height:3px;background:var(--gold-bar);border-radius:2px}
.journey li{position:relative;padding-top:38px}
.journey .node{position:absolute;top:0;left:0;width:21px;height:21px;border-radius:50%;background:#fff;border:3px solid var(--navy)}
.journey li:last-child .node{background:var(--navy)}
.journey h3{font-size:1.35rem;margin-bottom:.3em}
.journey p{color:var(--muted);font-size:.97rem}
.research{margin-top:40px;padding:22px 24px;border-left:4px solid var(--navy);background:var(--mist);border-radius:0 var(--r) var(--r) 0;max-width:760px}
.research p{margin:0 0 .5em}
.research p:last-child{margin:0}
.pointer{display:flex;flex-wrap:wrap;gap:20px 36px;align-items:center;justify-content:space-between}
.pointer h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:.25em}
.pointer p{margin:0}
.spotlight{position:relative;margin:0}
.spotlight img{border-radius:var(--r);aspect-ratio:1/1;object-fit:cover;width:100%}
.spotlight figcaption{margin-top:14px;font-size:.95rem;color:var(--muted)}
.spotlight figcaption strong{display:block;font-family:var(--serif);font-size:1.4rem;color:var(--navy)}

/* two doors */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.door{padding:40px 36px 40px 0}
.door + .door{padding-left:36px;border-left:1px solid var(--line)}
.door ul{margin:0 0 22px;padding-left:1.1em}
.door li{margin:4px 0}

/* lists */
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px 36px;margin-top:20px}
.svc h3{font-size:1.3rem;margin-bottom:.3em}
.svc p{font-size:.97rem;color:var(--muted)}
.svc.six{grid-template-columns:repeat(3,1fr)}
.steps.three{grid-template-columns:repeat(3,1fr)}
.fees{width:100%;border-collapse:collapse;margin-top:16px}
.fees th,.fees td{text-align:left;padding:16px 12px 16px 0;border-bottom:1px solid var(--line);vertical-align:top}
.fees th{font-family:var(--serif);font-size:1.25rem;color:var(--navy);font-weight:600}
.fees td.price{font-weight:700;white-space:nowrap}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:20px}
.option{border:1px solid var(--line);border-radius:var(--r);padding:28px;background:#fff}
.option.featured{border-color:var(--navy);border-width:2px}
.steps{counter-reset:s;list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.steps li{counter-increment:s;border-top:2px solid var(--navy);padding-top:14px}
.steps li::before{content:counter(s);font-family:var(--serif);font-size:2rem;color:var(--gold);display:block;line-height:1}
.steps strong{display:block;margin:6px 0 4px}

/* difficulty scale */
.level{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:.9rem;color:var(--ink)}
.level .segs{display:inline-flex;gap:3px}
.level .segs i{width:22px;height:7px;border-radius:2px;background:var(--line)}
.level .segs i.on{background:var(--gold-bar);background-size:69px 7px}
.level .segs i.on:nth-child(2){background-position:-25px 0}
.level .segs i.on:nth-child(3){background-position:-50px 0}

/* faculty */
.fac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:36px;margin-top:24px}
.fac-card img{aspect-ratio:1/1;object-fit:cover;border-radius:var(--r);width:100%}
.fac-card h3{margin:16px 0 4px}
.fac-card h3 a{text-decoration:none}
.fac-card h3 a:hover{text-decoration:underline}
.meta{font-size:.92rem;color:var(--muted);margin:0 0 10px}
.meta dt{display:inline;font-weight:700;color:var(--ink)}
.meta dd{display:inline;margin:0}
.meta div{margin:2px 0}
.fac-card .courses{list-style:none;padding:0;margin:12px 0 0;border-top:1px solid var(--line)}
.fac-card .courses li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.fac-card .courses .where{display:block;color:var(--muted);font-size:.85rem}

.profile{display:grid;grid-template-columns:320px 1fr;gap:56px;align-items:start}
.profile img{border-radius:var(--r);aspect-ratio:1/1;object-fit:cover}
blockquote{margin:0 0 28px;padding:0 0 0 22px;border-left:4px solid;border-image:var(--gold-bar) 1;font-family:var(--serif);font-size:1.5rem;line-height:1.35;color:var(--navy);font-style:italic;max-width:46ch}

/* course page */
.course-head{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}
.by{display:flex;align-items:center;gap:14px;margin-top:8px}
.by img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:36px 0 0}
.facts div{padding:18px 18px 18px 0}
.facts div + div{padding-left:18px;border-left:1px solid var(--line)}
.facts dt{font-size:.85rem;color:var(--muted)}
.facts dd{margin:4px 0 0;font-weight:700}
.facts.three{grid-template-columns:repeat(3,1fr)}
.cols{display:grid;grid-template-columns:1.4fr 1fr;gap:56px}
.outcomes{padding-left:1.1em}
.outcomes li{margin:6px 0}
details{border-top:1px solid var(--line)}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;position:relative;font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--navy)}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.panel{padding:0 0 28px}
.panel ol,.panel ul{padding-left:1.2em}
.panel li{margin:6px 0}
.todo{display:inline-block;background:#FFF6DD;border:1px dashed var(--gold);color:#6B4A0E;padding:2px 8px;border-radius:4px;font-size:.92rem}
.note{color:var(--muted);font-size:.95rem}
.video{aspect-ratio:16/9;width:100%;border:0;border-radius:var(--r);background:var(--mist)}

/* catalog */
.toolbar{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin:24px 0 18px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font:600 .9rem var(--sans);color:var(--ink);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.catalog{width:100%;border-collapse:collapse}
.catalog th{text-align:left;font-size:.85rem;color:var(--muted);font-weight:700;padding:10px 12px 10px 0;border-bottom:2px solid var(--navy)}
.catalog td{padding:16px 12px 16px 0;border-bottom:1px solid var(--line);vertical-align:top}
.catalog td a{font-family:var(--serif);font-size:1.25rem;font-weight:600;text-decoration:none}
.catalog td a:hover{text-decoration:underline}
.sortbtn{background:none;border:0;font:inherit;color:inherit;cursor:pointer;padding:0}
.type{font-size:.85rem;color:var(--muted)}
.empty{padding:28px 0;color:var(--muted)}

.cert-list{list-style:none;padding:0;margin:20px 0 0}
.cert-list li{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:18px}
.status{display:inline-block;font-size:.85rem;font-weight:700;color:var(--navy);border:1px solid var(--navy);border-radius:999px;padding:3px 12px}

/* DAWN band */
.dawn-band{background:var(--navy);color:#E6EBF5}
.dawn-band h2{color:#fff}
.dawn-band .btn{background:#fff;color:var(--navy);border-color:#fff}
.dawn-band .bar{margin:14px 0 20px}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.email-big{font-family:var(--serif);font-size:1.7rem;font-weight:600}

.founder{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:start;margin-top:8px}
.founder img{border-radius:var(--r);aspect-ratio:1/1;object-fit:cover}
.founder h3{margin:0 0 2px}
@media (max-width:640px){.founder{grid-template-columns:1fr}.founder img{max-width:220px}}

.coaches{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:20px}
.coach{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:start}
.coach img{border-radius:var(--r);aspect-ratio:1/1;object-fit:cover;width:100%}
.coach h3,.coach h4{font-family:var(--serif);font-size:1.35rem;color:var(--navy);margin:0 0 4px;font-weight:600}
.coach p{font-size:.97rem}
@media (max-width:900px){.coaches{grid-template-columns:1fr}}
@media (max-width:480px){.coach{grid-template-columns:1fr}.coach img{max-width:160px}}

/* footer */
.site-foot{border-top:1px solid var(--line);padding:48px 0 36px;font-size:.93rem;color:var(--muted)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
.foot-grid ul{list-style:none;padding:0;margin:0}
.foot-grid li{margin:6px 0}
.foot-grid a{color:var(--ink);text-decoration:none}
.foot-grid a:hover{text-decoration:underline}
.site-foot .logo img{height:36px;margin-bottom:12px}
.fine{margin-top:32px;font-size:.85rem}

@media (max-width:900px){
  .hero-grid,.profile,.cols,.contact-grid,.course-head{grid-template-columns:1fr}
  .hero-grid{gap:36px}
  .hero-art{min-height:0}
  .hero-art img{position:static;width:100%;height:200px;object-fit:cover;object-position:center 35%;border-radius:var(--r);-webkit-mask-image:none;mask-image:none}
  .hero-photo{max-width:420px}
  .paths,.journey{grid-template-columns:1fr}
  .journey::before{left:9px;right:auto;top:9px;bottom:9px;width:3px;height:auto}
  .journey li{padding:0 0 0 40px}
  .spotlight{max-width:420px}
  .profile img{max-width:280px}
  .steps{grid-template-columns:1fr 1fr}
  .svc.six{grid-template-columns:1fr 1fr}
  .steps.three{grid-template-columns:1fr}
  .facts,.facts.three{grid-template-columns:1fr 1fr}
  .facts div:nth-child(3){padding-left:0;border-left:0}
  .facts div:nth-child(n+3){border-top:1px solid var(--line)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:1080px){
  .menu-btn{display:inline-block}
  .nav{display:none;position:absolute;left:-24px;right:-24px;top:76px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 20px}
  .nav.open{display:flex}
  .nav a{padding:12px 0;width:100%;border-bottom:1px solid var(--line)}
  .nav a[aria-current="page"]{box-shadow:none;color:var(--navy)}
  .nav .btn{margin-top:14px;width:auto;border-bottom:2px solid var(--navy);padding:12px 20px}
  .head-row{position:relative}
}
@media (max-width:640px){
  body{font-size:16px}
  section{padding:52px 0}
  .wrap{padding:0 16px}
  .doors,.compare{grid-template-columns:1fr}
  .door{padding:32px 0}
  .door + .door{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .steps{grid-template-columns:1fr}
  .svc.six{grid-template-columns:1fr}
  .fees th,.fees td{display:block;padding:4px 0;border:0}
  .fees tr{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
  .catalog thead{display:none}
  .catalog tr{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
  .catalog td{display:block;border:0;padding:3px 0}
  .cert-list li{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .logo img{height:36px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- LMS-style sample module ---------- */
.modcard{display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:var(--r);padding:20px 22px;margin-bottom:14px;background:#fff;transition:box-shadow .15s}
.modcard:hover{box-shadow:0 6px 22px rgba(18,40,90,.12)}
.modcard strong{display:block;font-family:var(--serif);font-size:1.5rem;color:var(--navy);line-height:1.15;margin:4px 0 6px}
.modcard span{display:block;color:var(--muted);font-size:.95rem}
.modcard .go{color:var(--navy);font-weight:700;margin-top:10px}
.kicker,.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.lms-bar{background:var(--navy);color:#fff;padding:18px 0 26px}
.lms-bar .crumbs{margin:0 0 14px}
.lms-bar .crumbs,.lms-bar .crumbs a{color:#C9D3E8}
.lms-bar h1{color:#fff;font-size:clamp(2rem,4vw,3rem);margin:4px 0 0}
.lms-bar .eyebrow{color:#F0C766;margin:0}
.lms-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.prog{min-width:200px;font-size:.85rem;color:#C9D3E8}
.meter{height:6px;background:rgba(255,255,255,.18);border-radius:3px;margin-top:6px;overflow:hidden}
.meter i{display:block;height:100%;width:0;background:var(--gold-bar);transition:width .3s}
.lms{display:grid;grid-template-columns:270px minmax(0,1fr);gap:48px;padding-top:36px;padding-bottom:64px}
.lms-side{position:sticky;top:96px;align-self:start}
.lms-side summary{font-weight:700;color:var(--navy);cursor:pointer;padding:6px 0 10px;list-style:none}
.lms-side summary::-webkit-details-marker{display:none}
.units{list-style:none;margin:0 0 18px;padding:0;border-left:2px solid var(--line)}
.units a{display:flex;gap:10px;align-items:flex-start;padding:8px 10px 8px 14px;margin-left:-2px;border-left:2px solid transparent;text-decoration:none;color:var(--ink);font-size:.93rem;line-height:1.3}
.units a small{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.units a:hover{background:var(--mist)}
.units a.cur{border-left-color:var(--gold);background:var(--mist);font-weight:700}
.tick{flex:none;width:16px;height:16px;border:1.5px solid #AEB8CC;border-radius:50%;margin-top:3px}
.units a.isdone .tick{background:var(--navy);border-color:var(--navy);box-shadow:inset 0 0 0 3px #fff}
.unit{padding:34px 0 30px;border-top:1px solid var(--line);scroll-margin-top:90px}
.unit:first-child{border-top:0;padding-top:0}
.unit-head h2{margin-top:6px}
.unit h3{font-size:1.3rem}
.callout{background:var(--mist);border-left:4px solid var(--navy);border-radius:var(--r);padding:18px 22px;margin:20px 0}
.callout.gold{border-left-color:var(--gold);background:#FBF5E8}
.callout ol{margin:0;padding-left:20px}.callout h3{margin-bottom:8px}.callout p:last-child{margin:0}
.done-btn{font:700 .85rem var(--sans);color:var(--navy);background:#fff;border:1.5px solid var(--navy);border-radius:999px;padding:7px 16px;cursor:pointer;margin-top:18px}
.done-btn[aria-pressed="true"]{background:var(--navy);color:#fff}
.done-btn[aria-pressed="true"]::before{content:"✓ "}
.weeks{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:w}
.weeks li{padding:14px 14px 0 0;border-top:4px solid var(--line);font-size:.92rem}
.weeks li.now{border-top-color:var(--gold)}
.weeks b{display:block;color:var(--navy)}
.vframe{position:relative;aspect-ratio:16/9;background:var(--navy-deep);border-radius:var(--r);overflow:hidden;margin:6px 0 16px}
.vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.empty-v{display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:radial-gradient(circle at 30% 30%,#24407f,#0C1D44)}
.empty-v p{color:#DDE4F2;margin:12px auto 0}
.play{display:block;width:64px;height:64px;margin:0 auto;border-radius:50%;border:2px solid #F0C766;position:relative}
.play::after{content:"";position:absolute;left:25px;top:19px;border-left:20px solid #F0C766;border-top:13px solid transparent;border-bottom:13px solid transparent}
.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.q{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.q h3{font-size:1.2rem;margin-bottom:6px}.q p{margin:0;color:var(--muted);font-size:.93rem}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:18px}
.gallery.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery figure{margin:0;display:flex;flex-direction:column}
.pic{aspect-ratio:4/3;background:var(--mist);border-radius:var(--r);overflow:hidden;position:relative}
.pic img{width:100%;height:100%;object-fit:cover}
.pic .ph{display:none}
.pic.noimg{display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;background:repeating-linear-gradient(45deg,#F0F3F8 0 10px,#E8EDF5 10px 20px)}
.pic.noimg .ph{display:block;font-family:var(--serif);font-size:1.25rem;color:var(--navy)}
.pic.noimg .ph small{display:block;font-family:var(--sans);font-size:.75rem;color:var(--muted);margin-top:6px}
.gallery figcaption{font-size:.88rem;padding-top:10px}
.gallery figcaption .date{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.gallery figcaption strong{display:block;font-family:var(--serif);font-size:1.2rem;color:var(--navy);line-height:1.2}
.gallery figcaption .artist{display:block;color:var(--muted);margin-bottom:6px}
.gallery figcaption p{margin:0 0 6px}
.vids{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.vids h3{margin-bottom:2px}
.reads{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:20px}
.links{list-style:none;padding:0;margin:8px 0 0}
.links li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.links li span{color:var(--muted);font-size:.85rem}
.links a{font-weight:600}
.parts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0 30px}
.part{border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:var(--r);padding:16px 18px}
.part p{margin:0;font-size:.93rem}
.tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#FBF5E8;color:#8A5A12;border-radius:999px;padding:3px 10px;margin-bottom:8px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
.titlepage{background:#FBF8F1;border:1px solid #E6DFCF;box-shadow:6px 6px 0 #EDE6D6;aspect-ratio:3/4;max-width:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;font-family:var(--serif);color:var(--ink)}
.titlepage p{margin:0 0 10px;font-size:1.05rem}
.titlepage .nm{font-style:italic;color:var(--muted);margin-bottom:22px}
.titlepage .big{font-size:2rem;color:var(--navy);font-weight:600;margin:14px 0 4px}
.titlepage .sm{font-family:var(--sans);font-size:.75rem;letter-spacing:.18em;font-weight:700;margin:0}
.checks{list-style:none;padding:0;margin:0 0 14px}
.checks li{padding:6px 0 6px 28px;position:relative}
.checks li::before{content:"";position:absolute;left:2px;top:12px;width:14px;height:8px;border-left:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg)}
.marks{width:100%;height:auto;margin:10px 0 8px;font-family:var(--sans)}
.grow{list-style:none;padding:0;margin:20px 0;display:flex;gap:0;flex-wrap:wrap}
.grow li{flex:1;min-width:120px;position:relative;padding:0 6px}
.grow li span{display:block;text-align:center;font-size:.85rem;font-weight:700;color:var(--navy);background:#fff;border:1.5px solid var(--navy);border-radius:var(--r);padding:12px 6px}
.grow li.now span{background:var(--navy);color:#fff}
.grow li:not(:last-child)::after{content:"→";position:absolute;right:-8px;top:50%;transform:translateY(-50%);color:var(--gold);font-weight:700;z-index:1}
.dropzone{border:2px dashed #AEB8CC;border-radius:var(--r);padding:22px;display:flex;gap:16px;align-items:center;background:var(--mist)}
.dropzone p{margin:0}
.up{flex:none;width:42px;height:42px;border-radius:50%;background:var(--navy);position:relative}
.up::after{content:"↑";position:absolute;inset:0;color:#fff;font-weight:700;font-size:1.3rem;display:flex;align-items:center;justify-content:center}
.pager{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
@media (max-width:900px){
  .lms{grid-template-columns:1fr;gap:10px;padding-top:20px}
  .lms-side{position:static;border:1px solid var(--line);border-radius:var(--r);padding:8px 14px}
  .gallery{grid-template-columns:1fr 1fr}
  .parts,.split,.vids,.reads{grid-template-columns:1fr}
}
@media (max-width:560px){
  .gallery,.gallery.two,.qgrid{grid-template-columns:1fr}
  .weeks{grid-template-columns:1fr 1fr;row-gap:14px}
  .grow{flex-direction:column;gap:14px}.grow li:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-16px;transform:translateX(-50%)}
}

/* ---------- Philosophy: pillars and virtues ---------- */
.motto{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--navy);margin-bottom:.4em}
.motto-lg{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,2.6vw,1.9rem);color:var(--navy);margin:0 0 .6em}
.beliefs h2{text-wrap:balance;max-width:24ch}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:28px 0 8px;border-top:1px solid var(--line)}
.pillar{padding:26px 28px 6px 0}
.pillar + .pillar{padding-left:28px;border-left:1px solid var(--line)}
.pillar h3{font-size:clamp(1.7rem,2.6vw,2.2rem);margin-bottom:.15em}
.pillar:last-child h3{font-style:italic}
.gloss{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.pillar p:last-child{color:var(--muted)}
.virtues-h{margin-top:40px;font-size:1.35rem}
.virtues{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:12px}
.virtues li{flex:1 1 140px;min-width:0;background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:var(--r);padding:14px 16px;font-size:.9rem;color:var(--muted);line-height:1.4}
.virtues li strong{display:block;font-family:var(--serif);font-size:1.3rem;color:var(--navy);font-weight:600;margin-bottom:4px}
.more{margin:24px 0 0;font-weight:700}
.virtue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;margin-top:12px}
.virtue{padding:26px 0;border-top:1px solid var(--line)}
.virtue h3{margin-bottom:.15em}
.virtue .practice{font-size:.95rem;color:var(--muted);margin:0}
.virtue .practice strong{color:var(--ink)}

/* ---------- About: swan symbol ---------- */
.story p{max-width:64ch}
.symbol{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.swan{margin:0;border-radius:var(--r);overflow:hidden;background:#F7F9FC;border:1px solid var(--line)}
.swan svg{display:block;width:100%;height:auto}
.symbol h2{text-wrap:balance}

/* ---------- DAWN page ---------- */
.dawn-hero{padding:72px 0 64px}
.dawn-hero h1{color:#fff;letter-spacing:.08em;font-family:var(--sans);font-weight:700;font-size:clamp(3rem,7vw,5rem);margin:6px 0 0}
.dawn-band .eyebrow{color:#F0C766}
.dawn-sub{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.3rem);color:#fff;margin:4px 0 0}
.dawn-band .lead{color:#C9D3E8}
.dawn-band .tagline{font-weight:700;color:#F0C766;margin:0}
.dawn-band .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.btn.ghost-light{background:transparent;color:#fff;border-color:#fff}
.dawn-band .btn.ghost-light{background:transparent;color:#fff;border-color:#C9D3E8}
.btn.ghost-light:hover{background:rgba(255,255,255,.1)}
.apps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:20px}
.app{border:1px solid var(--line);border-radius:var(--r);padding:26px 28px;display:flex;flex-direction:column}
.app:first-child{border:2px solid var(--navy)}
.app-top{margin:0 0 12px}
.app h3{margin-bottom:.2em}
.tagline-sm{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--navy);margin:0 0 12px}
.app p{font-size:.97rem}
.app .who{margin:auto 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
.journey.four{grid-template-columns:repeat(4,1fr)}
.journey .eyebrow{margin:0 0 4px}
.journey li.now .node{background:var(--gold);border-color:var(--navy)}
@media (max-width:900px){
  .pillars,.virtue-grid,.apps,.symbol,.journey.four{grid-template-columns:1fr}
  .pillar,.pillar + .pillar{padding:22px 0 4px;border-left:0}
  .pillar + .pillar{border-top:1px solid var(--line)}
  .symbol{gap:28px}
  .swan{max-width:460px}
}

/* ---------- Contact form ---------- */
.goe-form{display:grid;gap:18px;background:var(--mist);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.goe-form fieldset{border:0;margin:0;padding:0;min-width:0}
.goe-form legend{font-weight:700;color:var(--ink);margin-bottom:8px;padding:0}
.goe-form label{display:grid;gap:6px;font-weight:600;font-size:.93rem;color:var(--ink)}
.goe-form input[type=text],.goe-form input[type=email],.goe-form input[type=url],.goe-form select,.goe-form textarea{width:100%;font:400 1rem var(--sans);color:var(--ink);background:#fff;border:1px solid #B9C3D6;border-radius:var(--r);padding:10px 12px}
.goe-form textarea{resize:vertical}
.goe-form input:focus,.goe-form select:focus,.goe-form textarea:focus{outline:3px solid var(--gold);outline-offset:1px;border-color:var(--navy)}
.goe-form input:user-invalid,.goe-form select:user-invalid,.goe-form textarea:user-invalid{border-color:#A3302A}
.panel-f{display:grid;gap:18px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.switch{display:flex;flex-wrap:wrap;gap:8px}
.switch legend{width:100%}
.switch label{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;cursor:pointer;font-weight:700}
.switch label:has(input:checked){background:var(--navy);border-color:var(--navy);color:#fff}
.switch input{accent-color:var(--gold)}
.checks-f{display:flex;flex-wrap:wrap;gap:8px 18px}
.checks-f legend{width:100%}
.goe-form .check{display:flex;align-items:center;gap:8px;font-weight:400}
.goe-form .check input{width:18px;height:18px;accent-color:var(--navy)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.goe-form .btn{justify-self:start;cursor:pointer;font-family:var(--sans)}
.goe-form .btn:disabled{opacity:.6;cursor:wait}
.form-msg{margin:0;font-weight:600;color:var(--navy);min-height:1.4em}
@media (max-width:640px){.fgrid{grid-template-columns:1fr}.goe-form{padding:18px}}
.contact-grid > div{min-width:0}
.email-big{overflow-wrap:anywhere}
.panel-f[hidden]{display:none}
@media (max-width:640px){.email-big{font-size:1.2rem}}

/* faculty without a photo yet */
.monogram{aspect-ratio:1/1;width:100%;max-width:100%;border-radius:var(--r);background:radial-gradient(circle at 30% 25%,#24407f,var(--navy-deep));display:flex;align-items:center;justify-content:center}
.monogram span{font-family:var(--serif);font-size:clamp(3rem,9vw,5.5rem);color:#F0C766;font-weight:600;letter-spacing:.04em}
.profile .monogram{max-width:280px}
@media (min-width:901px){.profile .monogram{max-width:none}}
.profile .courses{border-top:1px solid var(--line)}
.profile .courses li{padding:10px 0;border-bottom:1px solid var(--line)}
.profile .courses .where{display:block;color:var(--muted);font-size:.85rem;margin-top:4px}
.by .monogram{width:56px;height:56px;border-radius:50%}
.by .monogram span{font-size:1.2rem}
.app-names{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:2px solid var(--navy)}
.app-names li{padding:18px 18px 4px 0}
.app-names li + li{padding-left:18px;border-left:1px solid var(--line)}
.app-names strong{display:block;font-family:var(--serif);font-size:1.35rem;color:var(--navy);font-weight:600;line-height:1.2;margin-bottom:6px}
.app-names span{color:var(--muted);font-size:.95rem}
.status-wrap{margin:24px 0 0}
@media (max-width:900px){.app-names{grid-template-columns:1fr 1fr}.app-names li:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:480px){.app-names{grid-template-columns:1fr}.app-names li,.app-names li + li{padding:16px 0 4px;border-left:0}.app-names li + li{border-top:1px solid var(--line)}}

/* Our palette: one color per value, in spectrum order */
.virtues li:nth-child(1),.virtue-grid .virtue:nth-child(1){--hue:#B5473A}
.virtues li:nth-child(2),.virtue-grid .virtue:nth-child(2){--hue:#CF7B32}
.virtues li:nth-child(3),.virtue-grid .virtue:nth-child(3){--hue:#C99A22}
.virtues li:nth-child(4),.virtue-grid .virtue:nth-child(4){--hue:#4E8A5B}
.virtues li:nth-child(5),.virtue-grid .virtue:nth-child(5){--hue:#2F6DB0}
.virtues li:nth-child(6),.virtue-grid .virtue:nth-child(6){--hue:#33408C}
.virtues li:nth-child(7),.virtue-grid .virtue:nth-child(7){--hue:#7A4E9A}
.virtues li{border-top:4px solid var(--hue,var(--navy))}
.virtue h3::before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--hue,var(--navy));margin-right:.4em;vertical-align:.08em}
.virtue{border-top-color:var(--line)}
.palette-sub{color:var(--muted);margin:-4px 0 0}

/* ---------- Oct 31 build: foundations, CTA band, accessibility ---------- */
:root{--bronze:#8A5A12}
.eyebrow,.kicker,.gloss{color:var(--bronze)}
.steps li::before{color:var(--bronze)}
.hero-type{padding:88px 0 80px}
.hero-type h1{max-width:18ch;text-wrap:balance;font-size:clamp(2.4rem,5.6vw,4.2rem)}
.identity{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,1.9rem);color:var(--navy);margin:0 0 .4em;font-weight:600}
.hero-type .lead{max-width:62ch}
.hero-type .actions,.cta-band .actions,section .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.approach{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
.approach h2{text-wrap:balance}
.foundations .pillar h3{font-size:clamp(1.5rem,2.4vw,1.9rem)}
.foundations .pillar p{color:var(--muted)}
.foundations{margin-top:8px}
.path.quiet{background:transparent;border-style:dashed}
.path .status{align-self:flex-start}
.status.ok{color:#1D6B4A;border-color:#1D6B4A}
.paths.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.why5{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.cta-band{background:var(--navy);color:#E6EBF5}
.cta-band h2{color:#fff}
.cta-band .bar{margin:14px 0 20px}
.cta-band .btn{background:#fff;color:var(--navy);border-color:#fff}
.cta-band .btn.ghost-light{background:transparent;color:#fff;border-color:#C9D3E8}
.btn.ghost-light{background:transparent;color:#fff;border-color:#fff}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:32px}
.mv > div{min-width:0}
.latin{font-style:italic;margin-bottom:.1em}
section .founder h2{text-wrap:balance}
@media (max-width:900px){.approach,.mv,.paths.two{grid-template-columns:1fr}.approach{gap:12px}}
.hero-type h1{max-width:none}
.hero-type h1 .ln{display:block}
.pillar:last-child h3{font-style:normal}
.nav{gap:22px}
.nav a{white-space:nowrap;font-size:.92rem}
@media (min-width:1081px){.why5{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}}
.steps.five{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:900px){.steps.five{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.steps.five{grid-template-columns:1fr}}
/* three coaches: one column each, photo above the bio */
@media (min-width:901px){.coaches{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.coach{grid-template-columns:1fr;gap:16px;align-content:start}.coach img{width:150px}}

.coach h3 a.coach-link{color:inherit;text-decoration:none}
.coach h3 a.coach-link:hover{text-decoration:underline}
.more-link{margin:0;font-weight:700;font-size:.95rem}
.cv-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:28px}
.cv-cols > div{min-width:0}
.cv-cols h3{font-size:1.3rem;margin-bottom:.3em}
.cv-cols li{font-size:.97rem}
@media (max-width:640px){.cv-cols{grid-template-columns:1fr;gap:12px}}

/* four coaches */
@media (min-width:1101px){.coaches{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}}
@media (min-width:901px) and (max-width:1100px){.coaches{grid-template-columns:repeat(2,minmax(0,1fr))}}

.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
