/* ============================================================
   The Facilitator Breathwork Pathway — shared styles
   Used by every page: marketing, login, and student portal.
   ============================================================ */

:root{
  --plum:#6B4E71; --plum-deep:#4E3956; --soft:#8A7A8E; --cream:#FAF6F2; --sand:#F1E9DE;
  --gold:#8A5A1C; --ink:#2B2B2B; --line:#E6DCD5;
  --green:#2C6E63; --green-deep:#1E4E46; --green-soft:#5B8A7E;
  --m1:#3A7486; --m2:#A07038; --m3:#833B57; --m4:#2E6E55;
  --serif:'Fraunces',Georgia,serif; --sans:'Nunito Sans',system-ui,sans-serif;
  --card-border:1px solid rgba(78,57,86,.07);
  --card-shadow:0 1px 2px rgba(43,43,43,.03),0 24px 48px -24px rgba(78,57,86,.18);
  --card-shadow-hover:0 2px 4px rgba(43,43,43,.04),0 32px 64px -24px rgba(78,57,86,.28);
  --r-lg:24px; --r-md:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.15;color:var(--plum-deep)}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--soft);font-weight:700}
.btn{display:inline-block;background:var(--green);color:#fff;font-weight:700;font-size:14.5px;letter-spacing:.04em;padding:16px 34px;border-radius:40px;transition:.22s;border:1.5px solid var(--green);cursor:pointer;font-family:var(--sans);box-shadow:0 10px 24px -12px rgba(44,110,99,.5)}
.btn:hover{background:var(--green-deep);border-color:var(--green-deep);transform:translateY(-2px);box-shadow:0 16px 32px -12px rgba(44,110,99,.55)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn.ghost{background:transparent;color:var(--green);border-color:rgba(44,110,99,.45);box-shadow:none}
.btn.ghost:hover{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 10px 24px -12px rgba(44,110,99,.5)}
.btn.gold{background:var(--gold);border-color:var(--gold);box-shadow:0 10px 24px -12px rgba(138,90,28,.5)}
.btn.gold:hover{background:#6f4714;border-color:#6f4714;box-shadow:0 16px 32px -12px rgba(138,90,28,.55)}
.btn.small{padding:10px 22px;font-size:14px}
.center{text-align:center}
section{padding:108px 0}

/* NAV */
nav{position:sticky;top:0;z-index:50;background:rgba(250,246,242,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.brand{font-family:var(--serif);font-size:20px;color:var(--plum-deep);letter-spacing:.01em}
.brand small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--soft);font-weight:700;margin-top:2px}
nav .btn{padding:11px 24px;font-size:14px}
.nav-actions{display:flex;align-items:center;gap:18px}
.nav-link{font-size:14px;font-weight:700;color:var(--green);letter-spacing:.02em;white-space:nowrap}
.nav-link:hover{color:var(--green-deep);text-decoration:underline}

/* HERO */
.hero{background:
  radial-gradient(58% 62% at 22% 8%,rgba(107,78,113,.10),transparent 70%),
  radial-gradient(52% 58% at 82% 90%,rgba(44,110,99,.10),transparent 70%),
  linear-gradient(160deg,#F6EEF1 0%,#FAF6F2 48%,#EBF2ED 100%);
  text-align:center;padding:120px 0 88px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(760px,92vw);aspect-ratio:1;border-radius:50%;border:1px solid rgba(107,78,113,.10);pointer-events:none}
.hero:after{content:"";position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(560px,72vw);aspect-ratio:1;border-radius:50%;border:1px solid rgba(107,78,113,.07);pointer-events:none}
.hero .wrap{position:relative;z-index:1}
.hero .eyebrow{margin-bottom:26px}
.hero h1{font-size:clamp(40px,6.4vw,76px);letter-spacing:-.02em;font-weight:380;line-height:1.04}
.hero .lead{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2.6vw,26px);color:var(--soft);max-width:720px;margin:22px auto 12px}
.hero p.sub{max-width:600px;margin:0 auto 34px;color:#5b5157;font-size:17px}
.hero .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.motif{margin:30px auto 0;max-width:240px;opacity:.6}
.tags{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.tag{font-size:13px;color:var(--plum);background:#fff;border:var(--card-border);box-shadow:0 2px 8px -2px rgba(78,57,86,.08);padding:8px 18px;border-radius:30px;font-weight:600}

/* HOOK */
.hook{background:radial-gradient(70% 120% at 50% 0%,#5A4462 0%,var(--plum-deep) 70%);color:#f4ecef;text-align:center}
.hook h2{color:#fff;font-size:clamp(26px,3.6vw,40px);max-width:760px;margin:0 auto}
.hook p{max-width:640px;margin:20px auto 0;color:#d9cdd4;font-size:17px}
.hook .em{font-style:italic;color:#e8bfa0}

/* SECTION HEADS */
.shead{text-align:center;max-width:700px;margin:0 auto 64px}
.shead h2{font-size:clamp(30px,4.2vw,48px);margin-top:12px;letter-spacing:-.015em}
.shead p{color:#5b5157;font-size:17.5px;margin-top:18px}

/* JOURNEY */
.modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.mod{background:#fff;border:var(--card-border);border-radius:var(--r-md);padding:34px 30px;border-top:4px solid var(--mc);box-shadow:var(--card-shadow);transition:.25s}
.mod:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover)}
.mod .n{font-family:var(--serif);font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--mc);font-weight:600}
.mod h3{font-size:24px;margin:8px 0 6px;color:var(--mc)}
.mod .cnt{font-size:13px;color:var(--soft);font-weight:700;margin-bottom:12px}
.mod p{font-size:15px;color:#544b50}

/* INCLUDED */
.inc-sec{background:var(--sand)}
.inc{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.card{background:#fff;border-radius:var(--r-md);padding:30px 28px;border:var(--card-border);box-shadow:var(--card-shadow);transition:.25s}
.card:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover)}
.card h4{font-size:20px;margin-bottom:6px;color:var(--plum-deep)}
.card p{font-size:14.5px;color:#544b50}

/* WHY */
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px 40px}
.why .item{border-left:3px solid var(--gold);padding-left:22px}
.why .item h4{font-size:19px;margin-bottom:4px}
.why .item p{font-size:15px;color:#544b50}

/* INCOME */
.income{background:linear-gradient(160deg,#E7F0EA,#F3EDF1);text-align:center}
.scale{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;max-width:760px;margin:0 auto}
.scale .s{background:#fff;border-radius:var(--r-md);padding:38px 30px;border:var(--card-border);box-shadow:var(--card-shadow)}
.scale .s .k{font-family:var(--serif);font-size:34px;color:var(--plum);margin-bottom:4px}
.scale .s .l{font-size:14px;color:var(--soft);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.scale .s p{font-size:14.5px;color:#544b50;margin-top:10px}
.fineprint{font-size:12.5px;color:var(--soft);margin-top:26px;font-style:italic}
.settings{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.settings span{background:#fff;border:var(--card-border);box-shadow:0 2px 8px -2px rgba(78,57,86,.08);padding:10px 22px;border-radius:30px;font-weight:700;color:var(--plum);font-size:14px}

/* PRICING */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;align-items:stretch}
.tier{background:#fff;border:var(--card-border);border-radius:var(--r-md);padding:34px 28px;display:flex;flex-direction:column;box-shadow:var(--card-shadow);transition:.25s}
.tier:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover)}
.tier.flag{border:2px solid var(--gold);position:relative;box-shadow:0 2px 4px rgba(43,43,43,.04),0 32px 64px -24px rgba(138,90,28,.35)}
.tier .badge{position:absolute;top:-13px;left:26px;background:var(--gold);color:#fff;font-size:12px;font-weight:700;letter-spacing:.05em;padding:5px 14px;border-radius:20px;text-transform:uppercase}
.tier .pop{position:absolute;top:-13px;left:26px;background:var(--m4);color:#fff;font-size:12px;font-weight:700;letter-spacing:.05em;padding:5px 14px;border-radius:20px;text-transform:uppercase}
.tier{position:relative}
.tier h4{font-size:21px;margin-bottom:4px}
.tier .price{font-family:var(--serif);font-size:34px;color:var(--plum);margin:8px 0 2px}
.tier .plan{font-size:13px;color:var(--soft);margin-bottom:16px}
.tier ul{list-style:none;margin-bottom:22px;flex:1}
.tier li{font-size:14.5px;color:#544b50;padding:6px 0 6px 24px;position:relative}
.tier li:before{content:"";position:absolute;left:0;top:12px;width:8px;height:8px;border-radius:50%;background:var(--m4)}
.tier .btn{width:100%;text-align:center;padding:13px}
.tier .pay-choice{display:flex;gap:8px;margin-bottom:14px}
.tier .pay-choice button{flex:1;font-family:var(--sans);font-size:12.5px;font-weight:700;padding:8px 6px;border-radius:20px;border:1.5px solid var(--line);background:#fff;color:var(--soft);cursor:pointer;transition:.15s;line-height:1.3}
.tier .pay-choice button[aria-pressed="true"]{border-color:var(--green);color:var(--green);background:#EEF5F1}
.plans-note{text-align:center;color:var(--soft);font-size:14px;margin-top:26px}
.checkout-error{text-align:center;color:#8c2f2f;font-size:14px;margin-top:16px;min-height:20px}

/* LIVING PATHWAY */
.living{background:linear-gradient(160deg,var(--green-deep),#1A423C);color:#EAF2EE}
.living h2{color:#fff}
.living .shead p{color:#C9DBD2}
.living .lp{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;max-width:820px;margin:0 auto}
.living .lp .b{text-align:center;padding:12px}
.living .lp .b .t{font-family:var(--serif);font-size:18px;color:#fff;margin-bottom:4px}
.living .lp .b p{font-size:13.5px;color:#B9D0C6}

/* STORY */
.story .wrap{display:grid;grid-template-columns:0.8fr 1.2fr;gap:50px;align-items:center}
.story .photo{background:linear-gradient(160deg,#E9D9DF,#DCEAE2);border-radius:var(--r-lg);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;color:var(--soft);font-size:14px;text-align:center;border:var(--card-border);font-style:italic;box-shadow:var(--card-shadow)}
.story h2{font-size:clamp(26px,3.6vw,38px)}
.story p{margin-top:16px;color:#4f464b;font-size:16.5px}
.story .sig{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--plum);margin-top:20px}

/* VSL */
.vsl-sec{background:var(--sand);text-align:center}
.vsl{max-width:800px;margin:0 auto;aspect-ratio:16/9;background:var(--plum-deep);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;color:#e8d9df;position:relative;overflow:hidden;box-shadow:0 40px 80px -32px rgba(78,57,86,.45)}
.vsl iframe{width:100%;height:100%;border:0;display:block}
.vsl .play{width:78px;height:78px;border-radius:50%;background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center}
.vsl .play:after{content:"";border-left:22px solid #fff;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px}
.vsl .cap{position:absolute;bottom:20px;font-size:13px;color:#cbbfc6;font-style:italic}

/* FINAL CTA */
.final{background:linear-gradient(160deg,#F6ECEF,#E7F0EA);text-align:center}
.final h2{font-size:clamp(30px,4.5vw,50px);max-width:720px;margin:0 auto}
.final p{max-width:560px;margin:18px auto 30px;color:#5b5157;font-size:17px}

/* FOOTER */
footer{background:var(--plum-deep);color:#cbbfc6;text-align:center;padding:48px 0;font-size:14px}
footer .brand{color:#fff}
footer a{color:#e8bfa0}

@media(max-width:720px){
  .story .wrap{grid-template-columns:1fr}
  .story .photo{max-width:320px;margin:0 auto}
  section{padding:60px 0}
  nav .wrap{flex-wrap:wrap}
}
