:root{
  --navy:#0F0F4F; --navy-dk:#0A0A3E; --gold:#FFD200; --gold-dk:#A88A45; --gold-cream:#6B5214;
  --cream:#FAF5EB; --card:#FBF7EA; --text:#1A2A2F; --muted:#5A6B72; --rule:#9DB0BA; --alt:#F3EBDB;
  --white:#FFFFFF;
  --serif:'Zodiak', Georgia, 'Times New Roman', serif;
  --sans:'General Sans', 'Helvetica Neue', Arial, sans-serif;
  --text-xs:clamp(.75rem,.72rem + .15vw,.8125rem);
  --text-sm:clamp(.875rem,.85rem + .15vw,.9375rem);
  --text-base:clamp(1rem,.97rem + .15vw,1.0625rem);
  --text-lg:clamp(1.125rem,1.05rem + .4vw,1.375rem);
  --text-xl:clamp(1.75rem,1.4rem + 1.5vw,2.625rem);
  --text-hero:clamp(2.75rem,1.8rem + 4.4vw,5.5rem);
  --pad:clamp(4rem,9vw,8rem);
  --radius:6px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;font-family:var(--sans);font-size:var(--text-base);line-height:1.6;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:500;line-height:1.15;text-wrap:balance}
h2{font-family:var(--serif);font-size:var(--text-xl);letter-spacing:-.01em}
h3{font-size:var(--text-lg);font-weight:600}
h4{font-size:var(--text-base);font-weight:600}
p{margin:0}
.wrap{width:min(1200px,100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--navy);padding:.5rem 1rem;z-index:100}
.skip:focus{left:1rem}
:focus-visible{outline:2px solid var(--gold-dk);outline-offset:3px}

.eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-cream);margin-bottom:1rem}
.eyebrow.on-dark{color:var(--gold)}
.muted{color:var(--muted);max-width:60ch}
.muted-dark{color:#C9CDE0;max-width:62ch}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.5rem;border-radius:var(--radius);font-weight:600;font-size:var(--text-sm);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s;font-family:inherit}
.btn:active{transform:translateY(1px)}
.btn-sm{padding:.6rem 1rem}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:#FFE14D}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--navy-dk)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:var(--white)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:var(--white)}

/* Nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;color:var(--white);transition:background .3s,box-shadow .3s}
.nav.scrolled,.nav.open{background:var(--navy);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.nav-inner{display:flex;align-items:center;gap:2rem;height:76px}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.mark{width:36px;height:36px;color:var(--white)}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-family:var(--serif);font-size:1.25rem;font-weight:700;letter-spacing:.04em}
.brand-text small{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.links{display:flex;gap:1.75rem;list-style:none;margin:0 0 0 auto;padding:0}
.links a{text-decoration:none;font-size:var(--text-sm);opacity:.85;transition:opacity .2s}
.links a:hover{opacity:1}
.menu{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;padding:8px}
.menu span{display:block;height:2px;background:var(--white);border-radius:2px;transition:transform .2s}
.nav.open .menu span:first-child{transform:translateY(4px) rotate(45deg)}
.nav.open .menu span:last-child{transform:translateY(-4px) rotate(-45deg)}

/* Hero */
.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:flex-end;color:var(--white);overflow:hidden;background:var(--navy-dk)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 30%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,62,.94) 0%,rgba(10,10,62,.78) 42%,rgba(10,10,62,.25) 100%),linear-gradient(0deg,rgba(10,10,62,.85) 0%,rgba(10,10,62,0) 45%)}
.hero-content{position:relative;padding-block:9rem 4rem}
.hero h1{font-family:var(--serif);font-size:var(--text-hero);font-weight:400;letter-spacing:-.02em;line-height:1.02;max-width:14ch}
.hero h1 em{font-style:italic;color:var(--gold)}
.lede{font-size:var(--text-lg);max-width:46ch;margin-top:1.5rem;color:#E4E6F0;line-height:1.5}
.hero-cta{display:flex;flex-wrap:wrap;gap:.875rem;margin-top:2.25rem}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:4rem 0 0;padding-top:1.75rem;border-top:1px solid rgba(255,255,255,.2);max-width:900px}
.hero-stats dt{font-family:var(--serif);font-size:var(--text-lg);color:var(--white)}
.hero-stats dd{margin:.25rem 0 0;font-size:var(--text-sm);color:#C9CDE0}

/* Sections */
.section{padding-block:var(--pad)}
.cream{background:var(--cream)}
.navy{background:var(--navy);color:var(--white)}
.section-head{max-width:760px;margin-bottom:3.5rem}
.section-head h2{margin-bottom:1.25rem}
.sub{margin:4rem 0 1.5rem;font-family:var(--serif);font-weight:500;font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem)}
.sub.on-dark{color:var(--white)}

/* Path */
.path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;counter-reset:p}
.path-card{background:var(--card);border:1px solid #E7DFCB;border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:transform .3s,box-shadow .3s}
.path-card:hover{transform:translateY(-3px);box-shadow:0 14px 40px -20px rgba(15,15,79,.35)}
.step{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-cream)}
.path-card h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;color:var(--navy)}
.path-card p{color:var(--muted);flex:1}
.arrow{font-weight:600;font-size:var(--text-sm);color:var(--navy);text-decoration:none}
.arrow::after{content:" →";transition:margin .2s}
.arrow:hover::after{margin-left:.25rem}

/* Split */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.split.reverse{grid-template-columns:.95fr 1.05fr}
.split-text h2{margin-bottom:1.25rem;color:var(--navy)}
.split-text > p{color:var(--text);max-width:58ch}
.split-img{margin:0;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3.4}
.split-img img{width:100%;height:100%;object-fit:cover}
.facts{list-style:none;padding:0;margin:2rem 0;border-top:1px solid #E0D6BF}
.facts li{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid #E0D6BF;font-size:var(--text-sm)}
.facts span{font-weight:600;color:var(--gold-cream);text-transform:uppercase;letter-spacing:.08em;font-size:var(--text-xs);padding-top:.15rem}

/* Weeks */
.weeks{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#E0D6BF;border:1px solid #E0D6BF;border-radius:var(--radius);overflow:hidden}
.week{background:var(--white);padding:1.25rem;display:flex;flex-direction:column;gap:.4rem;min-height:128px}
.week b{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-cream)}
.week span{font-size:var(--text-sm);font-weight:500;color:var(--navy);line-height:1.35}
.week.hl{background:var(--navy)}
.week.hl b{color:var(--gold)}
.week.hl span{color:var(--white)}
.note{margin-top:1rem;font-size:var(--text-sm);color:var(--muted)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3.5rem}
.trio article{border-top:2px solid var(--navy);padding-top:1.25rem}
.trio h4{font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--navy);margin-bottom:.5rem}
.trio p{color:var(--muted);font-size:var(--text-sm)}

/* Pillars */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);overflow:hidden}
.pillar{background:var(--navy);padding:1.75rem 1.5rem;transition:background .25s}
.pillar:hover{background:#16165E}
.pillar i{font-style:normal;font-family:var(--serif);font-size:1.75rem;color:var(--gold);display:block;margin-bottom:1rem}
.pillar h4{color:var(--white);margin-bottom:.5rem}
.pillar p{color:#C9CDE0;font-size:var(--text-sm)}
.serve ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.75rem}
.serve li{border:1px solid rgba(255,210,0,.45);color:var(--white);padding:.55rem 1.1rem;border-radius:999px;font-size:var(--text-sm)}
.steps ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;counter-reset:s}
.steps li{counter-increment:s;display:flex;flex-direction:column;gap:.4rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.25)}
.steps li::before{content:"0" counter(s);font-family:var(--serif);color:var(--gold);font-size:1.25rem}
.steps b{color:var(--white);font-weight:600}
.steps span{color:#C9CDE0;font-size:var(--text-sm)}

/* VFO */
blockquote{margin:2rem 0 0;padding:0;font-family:var(--serif);font-style:italic;font-size:var(--text-lg);color:var(--navy);max-width:34ch}
.disciplines{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 2rem;margin-top:4.5rem}
.disciplines > div{padding-top:1.25rem;border-top:1px solid var(--rule)}
.disciplines h4{color:var(--navy);margin-bottom:.35rem;font-family:var(--serif);font-size:1.25rem;font-weight:500}
.disciplines p{color:var(--muted);font-size:var(--text-sm)}

/* Model */
.model{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.model h2{color:var(--navy)}
.model-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.col{background:var(--white);border:1px solid #E7DFCB;border-radius:var(--radius);padding:1.75rem}
.col h4{color:var(--navy);margin-bottom:1rem}
.col ul{margin:0;padding-left:1.1rem;color:var(--muted);font-size:var(--text-sm);display:grid;gap:.5rem}
.leader{display:flex;gap:2rem;align-items:center;margin-top:5rem;padding-top:3rem;border-top:1px solid #E0D6BF}
.leader-mark{flex:none;width:96px;height:96px;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-family:var(--serif);font-size:1.5rem;letter-spacing:.06em}
.leader h3{font-family:var(--serif);font-weight:500;font-size:1.75rem;color:var(--navy);margin-bottom:.5rem}
.leader p:last-child{color:var(--muted);max-width:62ch}
.leader .eyebrow{margin-bottom:.35rem}

/* CTA / form */
.cta-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.cta h2{margin-bottom:1.25rem}
.form{background:var(--navy-dk);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:2rem;display:grid;gap:1.1rem}
.form label{display:grid;gap:.4rem;font-size:var(--text-sm);color:#E4E6F0;font-weight:500}
.form input:not([type=checkbox]),.form select{font:inherit;font-size:var(--text-base);padding:.75rem .9rem;border-radius:var(--radius);border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:var(--white)}
.form select option{color:var(--text)}
.form input:focus,.form select:focus{outline:none;border-color:var(--gold)}
.form fieldset{border:0;padding:0;margin:0;display:grid;gap:.5rem}
.form legend{font-size:var(--text-sm);color:#E4E6F0;font-weight:500;margin-bottom:.5rem}
.form .chk{display:flex;align-items:center;gap:.6rem;font-weight:400}
.form .chk input{accent-color:var(--gold);width:18px;height:18px}
.form .btn{justify-self:start;margin-top:.5rem}
.form-msg{font-size:var(--text-sm);min-height:1.2em}
.form-msg.ok{color:var(--gold)}
.form-msg.err{color:#FFB4B4}

/* Footer */
.footer{background:var(--navy-dk);color:#C9CDE0;padding-block:3rem;font-size:var(--text-xs)}
.sig{color:var(--white);font-size:var(--text-sm);margin-bottom:1.25rem}
.sig a{color:var(--gold);text-decoration:none}
.disc{max-width:110ch;line-height:1.6;margin-bottom:1rem}
.copy{opacity:.7}

/* Reveal */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* Responsive */
@media (max-width:1024px){
  .links{gap:1.1rem}
  .pillars{grid-template-columns:repeat(2,1fr)}
  .weeks{grid-template-columns:repeat(2,1fr)}
  .steps ol{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .nav .btn-sm{display:none}
  .menu{display:flex;margin-left:auto}
  .links{position:absolute;top:76px;left:0;right:0;flex-direction:column;gap:0;background:var(--navy);padding:.5rem 1.25rem 1.25rem;display:none}
  .nav.open .links{display:flex}
  .links a{display:block;padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .path,.trio,.split,.split.reverse,.model,.model-cols,.cta-inner,.disciplines{grid-template-columns:1fr}
  .split.reverse .split-img{order:2}
  .hero-stats{grid-template-columns:1fr;gap:1rem}
}
@media (max-width:520px){
  .pillars,.weeks,.steps ol{grid-template-columns:1fr}
  .week{min-height:auto}
  .brand-text small{display:none}
  .leader{flex-direction:column;align-items:flex-start}
  .facts li{grid-template-columns:1fr;gap:.2rem}
}

/* ---- Refinements ---- */
.announce{background:var(--gold);color:var(--navy);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;padding:.5rem 0;text-align:center}
.announce .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--navy);margin-right:.6rem;vertical-align:middle;animation:pulse 2s infinite}
.announce a{margin-left:.75rem;color:var(--navy);text-underline-offset:3px}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.nav.open .links{top:108px}
.links a.active{opacity:1;box-shadow:inset 0 -2px 0 var(--gold);padding-bottom:4px}

.schedule{margin-top:2rem;background:var(--white);border:1px solid #E0D6BF;border-radius:var(--radius)}
.schedule summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;padding:1.25rem 1.5rem;font-weight:600;color:var(--navy)}
.schedule summary::-webkit-details-marker{display:none}
.schedule summary span::before{content:"+";display:inline-block;width:1.25rem;color:var(--gold-cream);font-weight:700;transition:transform .2s}
.schedule[open] summary span::before{content:"–"}
.schedule summary small{font-weight:400;color:var(--muted);font-size:var(--text-sm)}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:.8rem 1.5rem;border-top:1px solid #EDE5D2;vertical-align:top}
thead th{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-cream);font-weight:600;background:var(--card)}
tbody th{color:var(--navy);font-weight:600;white-space:nowrap}
td:nth-child(3),td:nth-child(4){white-space:nowrap}
tr.brk td{background:var(--alt);color:var(--gold-cream);font-weight:500;font-size:var(--text-xs);letter-spacing:.04em;padding:.55rem 1.5rem}

.emoney{margin-top:4.5rem;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.emoney-head h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem);color:var(--navy);margin-bottom:1rem}
.emoney-grid{background:var(--white);border:1px solid #E0D6BF;border-radius:var(--radius);overflow:hidden}
.emoney-row{display:grid;grid-template-columns:5.5rem 1fr 1fr;gap:1.25rem;padding:1rem 1.5rem;border-top:1px solid #EDE5D2;font-size:var(--text-sm);color:var(--muted)}
.emoney-row:first-child{border-top:0}
.emoney-row.head{background:var(--navy);color:var(--white);font-weight:600;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase}
.emoney-row b{color:var(--navy)}

table.dark{color:#DADDEB}
table.dark th,table.dark td{border-top:1px solid rgba(255,255,255,.12)}
table.dark thead th{background:rgba(255,255,255,.04);color:var(--gold)}
table.dark tbody th{color:var(--white)}
table.dark td:nth-child(3){color:var(--white);white-space:normal}
table.dark td:nth-child(2){white-space:normal;color:#AEB3CC}
.compare .table-wrap{border:1px solid rgba(255,255,255,.14);border-radius:var(--radius)}

.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.faq h2{color:var(--navy)}
.faq-list details{border-top:1px solid var(--rule)}
.faq-list details:last-child{border-bottom:1px solid var(--rule)}
.faq-list summary{cursor:pointer;list-style:none;padding:1.25rem 2.5rem 1.25rem 0;font-weight:600;color:var(--navy);position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:.25rem;top:1.1rem;font-size:1.35rem;color:var(--gold-cream);font-weight:400;transition:transform .25s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list p{padding:0 2.5rem 1.4rem 0;color:var(--muted);max-width:66ch}

.totop{position:fixed;right:1.25rem;bottom:1.25rem;width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;text-decoration:none;font-size:1.1rem;box-shadow:0 8px 24px -8px rgba(10,10,62,.5);opacity:0;pointer-events:none;transition:opacity .3s;z-index:40}
.totop.show{opacity:1;pointer-events:auto}

@media (max-width:900px){
  .emoney,.faq{grid-template-columns:1fr}
  .announce{font-size:.75rem;padding:.45rem .75rem}
}
@media (max-width:520px){
  .emoney-row{grid-template-columns:1fr;gap:.35rem}
  .emoney-row.head{display:none}
  .emoney-row span:nth-child(2)::before{content:"You: ";font-weight:600;color:var(--navy)}
  .emoney-row span:nth-child(3)::before{content:"Presenter: ";font-weight:600;color:var(--navy)}
  th,td{padding:.7rem 1rem}
}

/* nav fit */
.links a,.nav .btn-sm{white-space:nowrap}
.nav-inner{gap:1.5rem}
.links{gap:1.35rem}
@media (max-width:1280px){.brand-text small{display:none}.links{gap:1.1rem}}
@media (max-width:1100px) and (min-width:901px){.links a{font-size:.8125rem}.links{gap:.9rem}}

/* schedule as cards on small screens */
@media (max-width:640px){
  .schedule table,.schedule tbody,.schedule tr,.schedule td,.schedule th{display:block}
  .schedule thead{display:none}
  .schedule tbody tr{display:grid;grid-template-columns:2.25rem 1fr;gap:.2rem .75rem;padding:.9rem 1rem;border-top:1px solid #EDE5D2}
  .schedule tbody th,.schedule tbody td{border:0;padding:0;white-space:normal}
  .schedule tbody th{grid-row:span 3;font-family:var(--serif);font-size:1.25rem;color:var(--gold-cream)}
  .schedule tbody td:nth-child(2){font-weight:600;color:var(--navy)}
  .schedule tbody td:nth-child(3),.schedule tbody td:nth-child(4){color:var(--muted);font-size:var(--text-xs)}
  .schedule tr.brk{display:block;padding:.6rem 1rem}
  .schedule tr.brk td{padding:0;background:none}
  .schedule tr.brk{background:var(--alt)}
  .compare table,.compare tbody,.compare tr,.compare td,.compare th{display:block}
  .compare thead{display:none}
  .compare tbody tr{padding:1rem;border-top:1px solid rgba(255,255,255,.12)}
  .compare tbody th,.compare tbody td{border:0;padding:0 0 .35rem}
  .compare tbody th{color:var(--gold);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase}
  .compare td:nth-child(2)::before{content:"Traditional: ";font-weight:600}
  .compare td:nth-child(3)::before{content:"CPP Elite: ";font-weight:600;color:var(--gold)}
}

/* ---- CPP branding ---- */
.mark{width:54px;height:auto}
.brand{gap:.8rem}
.brand-text strong{font-family:var(--serif);font-size:1.15rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase}
.brand-text small{font-family:var(--serif);font-size:.78rem;letter-spacing:.06em;text-transform:none;opacity:.8;margin-top:2px}
.brand-intro{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;margin-bottom:4rem}
.brand-logo{width:100%;height:auto}
.brand-intro h2{margin-bottom:1.25rem;color:var(--navy)}
.step{color:var(--gold-dk)}
.cta-tree{width:110px;height:auto;margin-bottom:1.5rem}
.foot-top{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start;padding-bottom:2.5rem;margin-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-logo{width:100%;height:auto}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.foot-cols h5{margin:0 0 .9rem;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600}
.foot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.foot-cols a{color:#DADDEB;text-decoration:none;font-size:var(--text-sm)}
.foot-cols a:hover{color:var(--white)}
@media (max-width:900px){
  .brand-intro{grid-template-columns:1fr}
  .brand-logo{max-width:220px}
  .foot-top{grid-template-columns:1fr}
  .foot-logo{max-width:160px}
  .foot-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:1280px){.brand-text small{display:block}}
@media (max-width:1100px){.brand-text small{display:none}}
@media (max-width:640px){.hide-sm{display:none}}
@media (max-width:900px){.nav-inner{position:static}.nav{position:fixed}.links{top:100%!important}}

/* ---- Download ---- */
.download{background:var(--gold);padding-block:clamp(3.5rem,7vw,6rem)}
.dl-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.download .eyebrow{color:var(--navy)}
.download h2{color:var(--navy);margin-bottom:1rem}
.download .muted{color:#2A2A5E}
.dl-buttons{display:grid;gap:.85rem}
.btn-lg{padding:1.15rem 1.6rem;font-size:var(--text-base);justify-content:flex-start}
.btn-outline{border-color:var(--navy);color:var(--navy);justify-content:flex-start;background:transparent}
.btn-outline:hover{background:var(--navy);color:var(--white)}
.dl-float{position:fixed;left:1.25rem;bottom:1.25rem;z-index:45;display:inline-flex;align-items:center;gap:.55rem;background:var(--gold);color:var(--navy);font-weight:700;font-size:var(--text-sm);padding:.85rem 1.2rem;border-radius:999px;text-decoration:none;box-shadow:0 10px 30px -10px rgba(10,10,62,.55)}
.dl-float:hover{background:#FFE14D}
@media (max-width:900px){.dl-inner{grid-template-columns:1fr}.dl-float span{display:none}.dl-float{padding:.85rem}}
@media (max-width:1399px) and (min-width:901px){.dl-nav{display:none}}
.leader > div > p:not(.eyebrow){max-width:66ch;color:var(--text,#1A2A2F);margin-bottom:.9rem}
.leader .leader-note{font-size:var(--text-sm);color:var(--muted)!important;border-top:1px solid #E0D6BF;padding-top:.9rem}

/* Distinguished Contributors */
.contrib{margin-top:4.5rem}
.contrib-head{max-width:62ch;margin-bottom:2rem}
.contrib-head h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);color:var(--navy);margin:.35rem 0 .6rem}
.contrib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.contrib-card{background:#fff;border:1px solid #E0D6BF;border-top:4px solid var(--gold);border-radius:var(--radius);padding:1.6rem 1.5rem;display:flex;flex-direction:column;gap:.55rem}
.contrib-card h4{font-family:var(--serif);font-weight:500;font-size:1.45rem;color:var(--navy);margin:0}
.contrib-role{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#6B5214;margin:0}
.contrib-creds{font-weight:600;color:var(--navy);font-size:.9rem;margin:0}
.contrib-card p{margin:0}
.contrib-when{margin-top:auto !important;padding-top:.6rem;border-top:1px solid #EFE6D2;font-size:.85rem;font-weight:600;color:#6B5214}
.contrib-note{font-size:.8rem;color:var(--muted);font-style:italic}
.contrib .note{margin-top:1.5rem}
.guest{display:block;font-size:.78rem;font-weight:600;color:#6B5214;margin-top:.15rem}
@media (max-width:900px){.contrib-grid{grid-template-columns:1fr}}
.schedule > .note{padding:1rem 1.5rem 1.25rem;margin:0}
/* Leadership (Team Leader + Distinguished Contributors, up front) */
.leadership{background:#FBF7EA}
.leadership h2{margin-top:.35rem}
#leadership .leader{margin-top:2.5rem;padding-top:0;border-top:0}
#leadership .contrib{margin-top:3.5rem;padding-top:3rem;border-top:1px solid #E0D6BF}
#leadership .contrib-card{background:#fff}

/* ── Refinement pass: audiences, calendar, enrollment ── */
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}
.section-head{margin-bottom:2.5rem}
.aud-tabs{display:flex;flex-wrap:wrap;gap:.5rem;border-bottom:1px solid var(--rule);margin-bottom:2rem}
.aud-tabs button{font:inherit;font-size:var(--text-sm);font-weight:600;background:none;border:0;border-bottom:3px solid transparent;padding:.85rem 1rem;color:var(--muted);cursor:pointer;margin-bottom:-1px;transition:color .2s,border-color .2s}
.aud-tabs button:hover{color:var(--navy)}
.aud-tabs button[aria-selected="true"]{color:var(--navy);border-bottom-color:var(--gold-dk)}
.aud-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}
.aud-panel[hidden]{display:none}
.aud-panel figure{margin:0;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;background:var(--alt)}
.aud-panel img{width:100%;height:100%;object-fit:cover}
.aud-kicker{font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-cream);margin-bottom:.75rem}
.aud-body h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin-bottom:1rem}
.aud-body > p{color:var(--muted);max-width:56ch}
.aud-list{list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:.85rem}
.aud-list li{padding-left:1.25rem;position:relative;font-size:var(--text-sm);max-width:60ch}
.aud-list li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;background:var(--gold-dk);border-radius:50%}
.aud-list b{color:var(--navy)}
.aud-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--rule);font-size:var(--text-sm);font-weight:600;color:var(--navy)}

.cal-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin:4.5rem 0 1.75rem}
.cal-head .sub{margin-bottom:.5rem}
.cal-dl{display:flex;flex-wrap:wrap;gap:.6rem}
.cal{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.cal li{border:1px solid #E4DCC8;border-radius:var(--radius);padding:1.1rem 1.1rem 1rem;background:var(--card);display:flex;flex-direction:column;gap:.45rem;min-height:190px}
.cal-n{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-cream)}
.cal h4{font-size:var(--text-sm);line-height:1.35;color:var(--navy)}
.cal em{font-style:normal;font-size:.75rem;font-weight:600}
.cal-guest{color:var(--muted)}
.cal-mile{color:var(--gold-cream)}
.cal dl{margin:auto 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding-top:.7rem;border-top:1px solid #E4DCC8}
.cal dt{font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cal dd{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
.cal-wk.hl{background:var(--navy);border-color:var(--navy)}
.cal-wk.hl h4,.cal-wk.hl dd{color:var(--white)}
.cal-wk.hl .cal-n,.cal-wk.hl .cal-mile{color:var(--gold)}
.cal-wk.hl .cal-guest,.cal-wk.hl dt{color:#C9CDE0}
.cal-wk.hl dl{border-top-color:rgba(255,255,255,.2)}
.cal-hol{background:repeating-linear-gradient(135deg,var(--cream) 0 10px,var(--alt) 10px 20px) !important;border-style:dashed !important;border-color:var(--rule) !important;justify-content:center;text-align:center}
.cal-hol b{font-family:var(--serif);font-size:var(--text-lg);color:var(--navy);font-weight:500}
.cal-hol span{font-size:var(--text-sm);font-weight:600}
.cal-hol small{font-size:.75rem;color:var(--muted)}

.enroll{margin-top:4.5rem;background:var(--cream);border:1px solid #E4DCC8;border-radius:var(--radius);padding:clamp(1.75rem,4vw,3rem)}
.enroll-head h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin-bottom:.5rem}
.enroll-steps{list-style:none;padding:0;margin:2rem 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;counter-reset:es}
.enroll-steps li{position:relative;padding-top:1.1rem;border-top:3px solid var(--gold-dk)}
.enroll-steps span{display:block;font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-cream);margin-bottom:.35rem}
.enroll-steps b{display:block;color:var(--navy);margin-bottom:.35rem}
.enroll-steps p{font-size:var(--text-sm);color:var(--muted)}
.enroll-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;font-size:var(--text-sm);color:var(--muted)}
.enroll-cta a:not(.btn){color:var(--navy);font-weight:600}

@media (max-width:1024px){.cal{grid-template-columns:repeat(3,minmax(0,1fr))}.enroll-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.aud-panel{grid-template-columns:1fr}.aud-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.aud-tabs button{white-space:nowrap}}
@media (max-width:640px){.cal{grid-template-columns:1fr 1fr}.cal li{min-height:0}.enroll-steps{grid-template-columns:1fr}}
@media (max-width:420px){.cal{grid-template-columns:1fr}}
@media print{.aud-panel[hidden]{display:grid !important}.aud-panel{margin-bottom:2rem;break-inside:avoid}.aud-tabs{display:none}}
/* Resource Center */
#resources{background:var(--white);border-top:1px solid #E4DCC8}
.res-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.75rem}
.res-filter button{font:inherit;font-size:var(--text-sm);font-weight:600;padding:.5rem 1rem;border-radius:999px;border:1px solid var(--rule);background:var(--white);color:var(--navy);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.res-filter button:hover{border-color:var(--navy)}
.res-filter button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--white)}
.res-filter button:focus-visible{outline:2px solid var(--gold-dk);outline-offset:2px}
.res-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}
.res-card{background:var(--card);border:1px solid #E4DCC8;border-radius:var(--radius);padding:1.4rem 1.4rem 1.25rem;display:flex;flex-direction:column;gap:.6rem}
.res-card[hidden]{display:none}
.res-card h3{font-family:var(--serif);font-size:var(--text-lg);line-height:1.25;color:var(--navy);margin:0}
.res-card p{margin:0;font-size:var(--text-sm);color:var(--muted);line-height:1.5}
.res-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;font-size:var(--text-xs)!important;letter-spacing:.04em}
.res-tag{color:var(--gold-cream);font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.res-actions{margin-top:auto;padding-top:.6rem;display:flex;align-items:center;gap:1rem}
.res-view{font-size:var(--text-sm);font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.res-card-cal{background:var(--navy);border-color:var(--navy)}
.res-card-cal h3{color:var(--white)}
.res-card-cal p{color:#D5D8E6}
.res-card-cal .res-tag{color:var(--gold)}
.res-card-cal .btn-navy{background:var(--gold);color:var(--navy);border-color:var(--gold)}
@media print{.res-filter{display:none}.res-card[hidden]{display:flex!important}}

/* Resource Center access form */
.res-gate{display:grid;grid-template-columns:1fr 1.1fr;gap:2rem;align-items:start;background:var(--card);border:1px solid #E4DCC8;border-top:4px solid var(--gold);border-radius:var(--radius);padding:2rem}
.res-gate h3{font-family:var(--serif);font-size:var(--text-lg);color:var(--navy);margin:0 0 .6rem;line-height:1.25}
.res-gate-text p:not(.eyebrow){color:var(--muted);font-size:var(--text-sm);line-height:1.6;margin:0}
.res-form{display:grid;gap:.9rem}
.res-form label{display:grid;gap:.35rem;font-size:var(--text-sm);font-weight:600;color:var(--navy)}
.res-form input{font:inherit;font-size:var(--text-base);padding:.7rem .85rem;border-radius:var(--radius);border:1px solid var(--rule);background:var(--white);color:var(--text)}
.res-form input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(15,15,79,.12)}
.res-form input[aria-invalid="true"]{border-color:#B3261E}
.res-form .btn{justify-self:start}
.res-form-msg{margin:0;font-size:var(--text-sm);min-height:1.2em}
.res-form-msg.err{color:#B3261E}
.res-fine{margin:0;font-size:var(--text-xs);color:var(--muted)}
.res-welcome{margin:0 0 1.25rem;font-size:var(--text-sm);color:var(--navy)}
.res-welcome button{font:inherit;background:none;border:0;color:var(--navy);text-decoration:underline;cursor:pointer;padding:0;margin-left:.4rem}
@media (max-width:760px){.res-gate{grid-template-columns:1fr;padding:1.5rem}}
@media print{.res-gate{display:none}.res-library[hidden]{display:block!important}}
#resLibrary{scroll-margin-top:110px}
.res-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
