/* ===== PIMS — premium teal/sage/navy/gold ===== */
:root{
  --navy:#0C1A30; --navy2:#10233F; --navy3:#15314f;
  --teal:#1F6F6B; --teal-d:#134B47; --teal-l:#2E8C87;
  --sage:#A7B79B; --sage-l:#C5D2BB;
  --gold:#D4AF37; --gold-l:#E6C75A; --gold-d:#B8932B;
  --cream:#F4EFE2; --cream2:#FBF8F0; --char:#1B2230; --muted:#5C6470;
  --line:#E7E1D2;
  --shadow:0 18px 50px rgba(12,26,48,.14);
  --rad:3px;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
html{scroll-behavior:smooth}
body{font-family:'Mulish',system-ui,sans-serif;background:var(--cream2);color:var(--char);line-height:1.62;-webkit-font-smoothing:antialiased;font-weight:400}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,.disp{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.1;letter-spacing:-.01em}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;font-weight:700;color:var(--gold-d)}
.eyebrow.on-dark{color:var(--gold)}
em.serif{font-style:italic;color:var(--gold-d)}

/* ===== NAV ===== */
header.nav{position:sticky;top:0;z-index:50;background:rgba(12,26,48,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(212,175,55,.18)}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;max-width:1120px;margin:0 auto}
.brand{display:flex;align-items:center;gap:11px;color:var(--cream)}
.brand img{width:42px;height:42px}
.brand b{font-family:'Fraunces',serif;font-weight:600;font-size:1.02rem;letter-spacing:.01em;line-height:1.05}
.brand span{display:block;font-family:'Mulish';font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{color:#cdd6e0;font-size:.92rem;font-weight:500}
.nav-links a:hover{color:var(--gold-l)}
.nav-cta{background:linear-gradient(180deg,var(--gold-l),var(--gold));color:var(--navy)!important;padding:9px 18px;border-radius:var(--rad);font-weight:700}
.burger{display:none;background:none;border:0;color:var(--cream);font-size:1.6rem;cursor:pointer;line-height:1}
@media(max-width:860px){
  .nav-links{position:fixed;inset:64px 0 auto 0;flex-direction:column;background:var(--navy);padding:20px 22px 28px;gap:18px;border-bottom:1px solid rgba(212,175,55,.2);transform:translateY(-130%);transition:transform .32s ease;align-items:flex-start}
  .nav-links.open{transform:translateY(0)}
  .burger{display:block}
}

/* ===== BUTTONS ===== */
.btn{font-family:'Mulish';font-weight:700;font-size:.98rem;padding:15px 28px;border-radius:var(--rad);cursor:pointer;border:1px solid transparent;display:inline-block;text-align:center;transition:transform .15s ease,box-shadow .15s ease;letter-spacing:.01em}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:linear-gradient(180deg,var(--gold-l),var(--gold));color:var(--navy);box-shadow:0 8px 24px rgba(212,175,55,.32)}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-l)}
.btn-ghost{background:transparent;border-color:rgba(244,239,226,.42);color:var(--cream)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-l)}
.btn-outline{background:transparent;border-color:var(--teal);color:var(--teal-d)}
.btn-wa{background:#1faa55;color:#fff}
.btn-wa:hover{background:#178f47}

/* ===== HERO ===== */
.hero{position:relative;background:radial-gradient(circle at 50% 34%,var(--navy3) 0%,var(--navy) 62%);color:var(--cream);text-align:center;padding:84px 22px 92px;overflow:hidden}
.hero .rings{position:absolute;top:50%;left:50%;width:860px;height:860px;transform:translate(-50%,-55%);border-radius:50%;border:1px solid rgba(212,175,55,.14);box-shadow:0 0 0 70px rgba(212,175,55,.045),0 0 0 160px rgba(212,175,55,.03);pointer-events:none}
.hero-logo{position:relative;width:170px;max-width:44vw;margin:0 auto 24px;filter:drop-shadow(0 14px 38px rgba(0,0,0,.55))}
.hero .eyebrow{position:relative;margin-bottom:16px}
.hero h1{position:relative;font-size:clamp(2rem,6.4vw,3.7rem);font-weight:600;max-width:780px;margin:0 auto}
.hero h1 em{font-style:italic;color:var(--gold-l)}
.hero .lede{position:relative;max-width:600px;margin:20px auto 0;font-size:clamp(1rem,2.5vw,1.2rem);color:#cdd6e0;font-weight:300}
.cta-row{position:relative;margin-top:32px;display:flex;gap:13px;justify-content:center;flex-wrap:wrap}
.hairline{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);max-width:220px;margin:40px auto 0}
.hero.sm{padding:64px 22px 70px}
.hero.sm .hero-logo{width:120px}
.hero.sm h1{font-size:clamp(1.8rem,5.6vw,3rem)}

/* ===== ACCRED BAR ===== */
.accbar{background:var(--navy2);color:#c9d3df;text-align:center;padding:14px 22px;font-size:.84rem;letter-spacing:.04em;border-bottom:1px solid rgba(212,175,55,.16)}
.accbar b{color:var(--gold-l);font-weight:700}

/* ===== SECTIONS ===== */
section{padding:74px 0}
section.tight{padding:54px 0}
.sec-head{max-width:640px;margin-bottom:42px}
.sec-head.center{margin:0 auto 46px;text-align:center}
h2.title{font-size:clamp(1.7rem,4.4vw,2.6rem);margin:10px 0}
.sub{color:var(--muted);font-size:1.05rem}
.bg-navy{background:var(--navy);color:var(--cream)}
.bg-navy .sub{color:#b6c0cd}
.bg-cream{background:var(--cream)}
.bg-teal{background:var(--teal-d);color:var(--cream)}
.bg-teal .sub{color:#cfe4e2}

/* ===== QUICK FACTS ===== */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.facts .f{background:#fff;padding:20px 18px}
.facts .f .k{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);font-weight:700;margin-bottom:6px}
.facts .f .v{font-family:'Fraunces',serif;font-size:1.18rem;font-weight:600;color:var(--char)}

/* ===== CARDS / PROGRAMS ===== */
.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 6px 24px rgba(12,26,48,.06);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card .top{padding:16px 22px;background:linear-gradient(135deg,var(--navy),var(--navy3));color:var(--cream);display:flex;justify-content:space-between;align-items:center}
.card .top .day{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-l);font-weight:700}
.card .top .batch{font-size:.72rem;color:#9fb0c2}
.card .body{padding:24px 22px;flex:1;display:flex;flex-direction:column}
.card h3{font-size:1.4rem;margin-bottom:8px}
.card p{color:var(--muted);font-size:.96rem;margin-bottom:18px}
.card .go{margin-top:auto;color:var(--teal-d);font-weight:700;font-size:.92rem}
.card .go:hover{color:var(--gold-d)}

/* ===== LIST FEATURES ===== */
.feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px}
.feat .it{padding-left:18px;border-left:2px solid var(--gold)}
.feat .it h4{font-size:1.12rem;margin-bottom:6px;color:var(--char)}
.feat .it p{color:var(--muted);font-size:.95rem}
.bg-navy .feat .it h4{color:var(--cream)}
.bg-navy .feat .it p{color:#aab6c4}

/* learn list */
.learn{columns:2;column-gap:40px}
.learn li{list-style:none;padding:11px 0 11px 28px;position:relative;break-inside:avoid;border-bottom:1px solid var(--line)}
.learn li:before{content:"";position:absolute;left:0;top:18px;width:10px;height:10px;border:2px solid var(--gold);border-radius:50%}
@media(max-width:680px){.learn{columns:1}}

/* ===== STEPS ===== */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.steps .st{position:relative;padding-top:14px}
.steps .st:before{counter-increment:s;content:"0" counter(s);font-family:'Fraunces',serif;font-size:2.4rem;color:var(--gold);font-weight:600;display:block;margin-bottom:6px}
.steps .st h4{font-size:1.15rem;margin-bottom:6px}
.steps .st p{color:var(--muted);font-size:.95rem}
.bg-navy .steps .st p{color:#aab6c4}

/* ===== FAQ ===== */
.faq{max-width:780px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;list-style:none;padding:18px 36px 18px 0;position:relative;font-family:'Fraunces',serif;font-size:1.12rem;font-weight:600;color:var(--char)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:4px;top:16px;font-size:1.5rem;color:var(--gold-d);font-family:'Mulish';transition:transform .2s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq .ans{padding:0 0 18px;color:var(--muted);font-size:.98rem}
.bg-navy .faq summary{color:var(--cream)}
.bg-navy .faq .ans{color:#aab6c4}
.bg-navy .faq details{border-color:rgba(255,255,255,.12)}

/* ===== DISCLAIMER ===== */
.disclaimer{background:#fff;border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:6px;padding:22px 24px;font-size:.9rem;color:var(--muted);max-width:860px;margin:0 auto}
.disclaimer b{color:var(--char)}

/* ===== MAGNETS ===== */
.magnet{background:linear-gradient(135deg,#fff,var(--cream));border:1px solid var(--line);border-radius:10px;padding:30px 26px;box-shadow:0 8px 30px rgba(12,26,48,.07)}
.magnet .tag{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);font-weight:700}
.magnet h3{font-size:1.32rem;margin:8px 0 8px}
.magnet p{color:var(--muted);font-size:.95rem;margin-bottom:18px}

/* ===== TESTIMONIALS ===== */
.quote{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px 24px;box-shadow:0 6px 22px rgba(12,26,48,.06)}
.quote .stars{color:var(--gold);letter-spacing:3px;margin-bottom:10px}
.quote p{font-size:1rem;color:var(--char);font-style:italic;margin-bottom:14px}
.quote .who{font-weight:700;font-size:.9rem;color:var(--teal-d)}

/* ===== CTA STRIP ===== */
.ctastrip{background:radial-gradient(circle at 50% 0%,var(--navy3),var(--navy));color:var(--cream);text-align:center;padding:72px 22px;position:relative;overflow:hidden}
.ctastrip h2{font-size:clamp(1.7rem,4.6vw,2.6rem);max-width:640px;margin:0 auto 14px}
.ctastrip p{color:#c3cdd9;max-width:540px;margin:0 auto 28px}

/* ===== FOOTER ===== */
footer.ft{background:var(--navy);color:#9aa6b4;padding:54px 22px 30px}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;max-width:1120px;margin:0 auto;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.1)}
.ft-grid img{width:64px;margin-bottom:14px}
.ft-grid h5{font-family:'Fraunces',serif;color:var(--cream);font-size:1.05rem;margin-bottom:14px;font-weight:600}
.ft-grid a{display:block;color:#9aa6b4;font-size:.92rem;padding:5px 0}
.ft-grid a:hover{color:var(--gold-l)}
.ft-social{display:flex;gap:14px;margin-top:14px}
.ft-social a{width:38px;height:38px;border:1px solid rgba(212,175,55,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold-l);padding:0}
.ft-social a:hover{background:var(--gold);color:var(--navy)}
.ft-social svg{width:18px;height:18px;fill:currentColor}
.ft-bottom{text-align:center;padding-top:24px;font-size:.8rem;color:#6b7686;max-width:1120px;margin:0 auto}
@media(max-width:760px){.ft-grid{grid-template-columns:1fr;gap:26px}}

/* ===== MODAL ===== */
.modal{position:fixed;inset:0;background:rgba(12,26,48,.72);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:100;padding:22px}
.modal.open{display:flex}
.modal-box{background:var(--cream2);border-radius:12px;max-width:440px;width:100%;padding:34px 30px;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.5);border-top:4px solid var(--gold)}
.modal-box .x{position:absolute;top:14px;right:18px;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--muted);line-height:1}
.modal-box .eyebrow{margin-bottom:8px}
.modal-box h3{font-size:1.5rem;margin-bottom:8px}
.modal-box p{color:var(--muted);font-size:.95rem;margin-bottom:20px}
.modal-box label{font-size:.8rem;font-weight:700;color:var(--char);display:block;margin-bottom:6px}
.modal-box input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:var(--rad);font-family:'Mulish';font-size:1rem;margin-bottom:16px;background:#fff}
.modal-box input:focus{outline:2px solid var(--teal);border-color:transparent}
.modal-box .btn{width:100%}
.modal-note{font-size:.78rem;color:var(--muted);margin-top:14px;text-align:center}
.modal-box .wa-alt{text-align:center;margin-top:16px;font-size:.88rem}
.modal-box .wa-alt a{color:var(--teal-d);font-weight:700}

/* utility */
.center{text-align:center}
.mt0{margin-top:0}
.mb0{margin-bottom:0}
@media(max-width:600px){section{padding:54px 0}.hero{padding:60px 18px 66px}.hero .rings{width:560px;height:560px}}
