/* ==========================================================================
   mPOWER Fitness Organization — site stylesheet
   Palette keeps the existing brand orange (#E67A15) and pairs it with a deep
   ink and warm paper so the athletic and wellness halves share one system.
   ========================================================================== */

:root{
  --ink:#14181C;
  --ink-soft:#2B3238;
  --paper:#FBF9F6;
  --card:#FFFFFF;
  --line:#E6E1D9;
  --line-soft:#F0ECE5;
  --text:#23282D;
  --muted:#6A7178;
  --faint:#9AA1A8;

  --orange:#E67A15;          /* existing brand accent */
  --orange-deep:#C2620A;
  --orange-soft:#FDF1E3;
  --teal:#1F6F7A;            /* Christina / wellness lane */
  --teal-soft:#E8F2F3;

  --ok:#2E7D4F;
  --warn:#B3261E;
  --warn-soft:#FCEBEA;
  --warn-line:#F3C9C6;

  --r:14px;
  --r-sm:10px;
  --shadow:0 1px 2px rgba(20,24,28,.04), 0 8px 24px rgba(20,24,28,.06);
  --shadow-lg:0 2px 4px rgba(20,24,28,.05), 0 18px 48px rgba(20,24,28,.10);
  --wrap:1120px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--paper); color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  font-size:17px; line-height:1.62; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:var(--orange-deep); text-decoration:none}
a:hover{text-decoration:underline}

h1,h2,h3,h4{
  font-family:'Sora',system-ui,sans-serif; color:var(--ink);
  line-height:1.18; letter-spacing:-0.018em; margin:0;
}
h1{font-size:clamp(2.3rem,5.2vw,3.9rem); font-weight:700}
h2{font-size:clamp(1.75rem,3.4vw,2.5rem); font-weight:700}
h3{font-size:1.25rem; font-weight:600}
p{margin:0 0 1.1em}
.lede{font-size:clamp(1.06rem,1.7vw,1.24rem); color:var(--ink-soft); line-height:1.6}

.wrap{max-width:var(--wrap); margin:0 auto; padding:0 24px}
.narrow{max-width:760px; margin:0 auto}
section{padding:clamp(56px,8vw,104px) 0}
.section-tight{padding:clamp(40px,5vw,64px) 0}
.bg-card{background:var(--card); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft)}
.bg-ink{background:var(--ink); color:#E8EAEC}
.bg-ink h2,.bg-ink h3{color:#fff}
.bg-ink .lede{color:#B9BFC5}

/* ---------- eyebrow / rules ---------- */
.eyebrow{
  font-family:'Sora',sans-serif; font-size:.72rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--orange-deep);
  display:flex; align-items:center; gap:12px; margin-bottom:16px;
}
.eyebrow::after{content:''; flex:1; height:1px; background:var(--line)}
.eyebrow-teal{color:var(--teal)}
.bg-ink .eyebrow{color:var(--orange)}
.bg-ink .eyebrow::after{background:#333A40}

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:60; background:rgba(251,249,246,.92);
  backdrop-filter:saturate(180%) blur(12px); border-bottom:1px solid var(--line-soft);
}
.hdr{display:flex; align-items:center; justify-content:space-between; height:74px; gap:20px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none}
.brand:hover{text-decoration:none}
.brand-mark{
  width:40px; height:40px; border-radius:11px; flex:none;
  background:linear-gradient(145deg,var(--orange) 0%,var(--orange-deep) 100%);
  display:grid; place-items:center; color:#fff; font-family:'Sora',sans-serif;
  font-weight:700; font-size:1.02rem; letter-spacing:-.03em;
}
.brand-name{font-family:'Sora',sans-serif; font-weight:700; font-size:1.06rem; color:var(--ink); letter-spacing:-.02em; line-height:1.15}
.brand-sub{display:block; font-family:'Inter',sans-serif; font-size:.66rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--faint); margin-top:2px}

.nav{display:flex; align-items:center; gap:6px}
.nav a{
  font-size:.92rem; font-weight:500; color:var(--ink-soft); padding:9px 13px;
  border-radius:8px; text-decoration:none; white-space:nowrap;
}
.nav a:hover{background:var(--orange-soft); color:var(--orange-deep); text-decoration:none}
.nav a[aria-current="page"]{color:var(--orange-deep); font-weight:600}
.nav-cta{
  background:var(--ink) !important; color:#fff !important; padding:10px 18px !important;
  border-radius:999px !important; font-weight:600 !important; margin-left:8px;
}
.nav-cta:hover{background:var(--orange-deep) !important}

.menu-btn{display:none; background:none; border:1px solid var(--line); border-radius:9px; padding:8px 11px; cursor:pointer; font-size:1.1rem; line-height:1; color:var(--ink)}

@media(max-width:920px){
  .menu-btn{display:block}
  .nav{
    position:absolute; top:74px; left:0; right:0; background:var(--card);
    border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch;
    padding:12px 20px 20px; gap:2px; display:none; box-shadow:var(--shadow);
  }
  .nav.open{display:flex}
  .nav a{padding:12px 10px}
  .nav-cta{margin:8px 0 0; text-align:center}
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:14px 27px; border-radius:999px; font-family:'Sora',sans-serif;
  font-weight:600; font-size:.98rem; cursor:pointer; border:1.5px solid transparent;
  text-decoration:none; transition:background .14s ease, color .14s ease, border-color .14s ease;
}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--orange); color:#fff}
.btn-primary:hover{background:var(--orange-deep)}
.btn-dark{background:var(--ink); color:#fff}
.btn-dark:hover{background:var(--ink-soft)}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--line)}
.btn-ghost:hover{border-color:var(--orange); color:var(--orange-deep)}
.btn-light{background:#fff; color:var(--ink)}
.btn-light:hover{background:#F2EEE8}
.btn-teal{background:var(--teal); color:#fff}
.btn-teal:hover{background:#175A63}
.btn-row{display:flex; gap:13px; flex-wrap:wrap; margin-top:28px}

/* ---------- hero ---------- */
.hero{padding:clamp(56px,9vw,116px) 0 clamp(48px,7vw,88px); position:relative; overflow:hidden}
.hero::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(58% 46% at 88% 6%, rgba(230,122,21,.11), transparent 62%),
    radial-gradient(48% 40% at 4% 92%, rgba(31,111,122,.09), transparent 60%);
}
.hero .wrap{position:relative}
.hero-grid{display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(32px,5vw,68px); align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr; gap:38px}}
.hero h1 .accent{color:var(--orange)}
.bec{
  display:inline-flex; align-items:center; gap:14px; margin-bottom:22px;
  font-family:'Sora',sans-serif; font-size:.76rem; font-weight:700;
  letter-spacing:.19em; text-transform:uppercase; color:var(--orange-deep);
}
.bec span{position:relative; padding-left:14px}
.bec span:first-child{padding-left:0}
.bec span:not(:first-child)::before{
  content:''; position:absolute; left:0; top:50%; width:5px; height:5px;
  border-radius:50%; background:var(--orange); transform:translate(-50%,-50%);
}

/* image slot — looks intentional while photography is pending */
.slot{
  position:relative; border-radius:var(--r); overflow:hidden;
  background:linear-gradient(150deg,#EFE9E0 0%,#E4DCD1 52%,#DED5C8 100%);
  border:1px solid var(--line); box-shadow:var(--shadow);
  display:grid; place-items:center; text-align:center; padding:34px;
}
.slot-tall{aspect-ratio:4/5}
.slot-wide{aspect-ratio:16/10}
.slot-sq{aspect-ratio:1/1}
.slot::after{
  content:''; position:absolute; inset:0;
  background:radial-gradient(70% 55% at 50% 22%, rgba(255,255,255,.55), transparent 65%);
  pointer-events:none;
}
.slot-note{position:relative; z-index:1; font-size:.82rem; color:#8C8375; font-weight:600; letter-spacing:.04em; max-width:250px; line-height:1.5}
.slot-mono{
  position:relative; z-index:1; font-family:'Sora',sans-serif; font-weight:700;
  font-size:clamp(2.6rem,6vw,4.2rem); color:#fff; letter-spacing:-.03em;
  width:clamp(96px,17vw,140px); aspect-ratio:1; border-radius:50%;
  display:grid; place-items:center; box-shadow:0 10px 30px rgba(20,24,28,.16);
}
.slot-mono-j{background:linear-gradient(150deg,var(--orange),var(--orange-deep))}
.slot-mono-c{background:linear-gradient(150deg,#2E8A96,var(--teal))}

/* ---------- stats ---------- */
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden}
@media(max-width:720px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{background:var(--card); padding:24px 20px; text-align:center}
.stat-n{font-family:'Sora',sans-serif; font-size:clamp(1.7rem,3.4vw,2.3rem); font-weight:700; color:var(--orange-deep); line-height:1; letter-spacing:-.03em}
.stat-l{font-size:.8rem; color:var(--muted); margin-top:8px; font-weight:500; line-height:1.4}

/* ---------- cards / grids ---------- */
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(20px,3vw,32px)}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2.4vw,26px)}
@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}

.card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:clamp(24px,3vw,34px); box-shadow:var(--shadow);
}
.card h3{margin-bottom:10px}
.card p:last-child{margin-bottom:0}
.card-accent{border-top:3px solid var(--orange)}
.card-teal{border-top:3px solid var(--teal)}

.path{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column;
}
.path-head{padding:26px clamp(22px,3vw,30px) 22px}
.path-tag{font-family:'Sora',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin-bottom:12px}
.path-j .path-tag{color:var(--orange-deep)}
.path-c .path-tag{color:var(--teal)}
.path-body{padding:0 clamp(22px,3vw,30px) 26px; flex:1; display:flex; flex-direction:column}
.path-body ul{margin:0 0 22px; padding-left:0; list-style:none}
.path-body li{position:relative; padding-left:24px; margin:9px 0; font-size:.96rem; color:var(--ink-soft)}
.path-body li::before{
  content:''; position:absolute; left:2px; top:.6em; width:8px; height:8px;
  border-radius:50%; border:2px solid var(--orange);
}
.path-c .path-body li::before{border-color:var(--teal)}
.path-body .btn{margin-top:auto; align-self:flex-start}

/* ---------- method steps ---------- */
.steps{counter-reset:s; display:grid; gap:14px}
.step{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:22px 24px 22px 74px; position:relative;
}
.step::before{
  counter-increment:s; content:counter(s);
  position:absolute; left:22px; top:21px; width:34px; height:34px; border-radius:10px;
  background:var(--orange-soft); color:var(--orange-deep); font-family:'Sora',sans-serif;
  font-weight:700; font-size:.95rem; display:grid; place-items:center;
}
.step h3{font-size:1.06rem; margin-bottom:5px}
.step p{margin:0; font-size:.95rem; color:var(--muted)}

/* ---------- pricing ---------- */
.tiers{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch}
@media(max-width:900px){.tiers{grid-template-columns:1fr}}
.tier{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:30px 26px; display:flex; flex-direction:column; position:relative;
}
.tier-pop{border-color:var(--orange); box-shadow:0 0 0 3px var(--orange-soft), var(--shadow-lg)}
.tier-flag{
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--orange); color:#fff; font-family:'Sora',sans-serif; font-size:.68rem;
  font-weight:700; letter-spacing:.13em; text-transform:uppercase; padding:5px 14px; border-radius:999px;
  white-space:nowrap;
}
.tier-name{font-family:'Sora',sans-serif; font-weight:700; font-size:1.18rem; color:var(--ink)}
.tier-price{font-family:'Sora',sans-serif; font-size:2.4rem; font-weight:700; color:var(--ink); letter-spacing:-.035em; margin:12px 0 2px; line-height:1}
.tier-price small{font-size:.92rem; font-weight:500; color:var(--muted); letter-spacing:0}
.tier-note{font-size:.83rem; color:var(--faint); margin-bottom:20px}
.tier ul{list-style:none; margin:0 0 24px; padding:0; flex:1}
.tier li{position:relative; padding-left:26px; margin:11px 0; font-size:.94rem; color:var(--ink-soft)}
.tier li::before{
  content:'✓'; position:absolute; left:0; top:0; color:var(--orange-deep);
  font-weight:700; font-size:.95rem;
}

/* ---------- quote ---------- */
.quote{
  border-left:3px solid var(--orange); padding:4px 0 4px 26px; margin:0;
  font-family:'Sora',sans-serif; font-size:clamp(1.16rem,2.3vw,1.55rem);
  font-weight:600; line-height:1.42; color:var(--ink); letter-spacing:-.015em;
}
.bg-ink .quote{color:#fff; border-color:var(--orange)}
.quote-by{display:block; margin-top:14px; font-family:'Inter',sans-serif; font-size:.86rem; font-weight:500; color:var(--muted); letter-spacing:.02em}
.bg-ink .quote-by{color:#9AA1A8}

/* ---------- credentials ---------- */
.creds{display:flex; flex-wrap:wrap; gap:9px; margin:0; padding:0; list-style:none}
.creds li{
  background:var(--card); border:1px solid var(--line); border-radius:999px;
  padding:8px 16px; font-size:.87rem; font-weight:500; color:var(--ink-soft);
}
.creds-teal li{border-color:#CFE2E4}

/* ---------- book ---------- */
.book{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(28px,4vw,54px); align-items:center}
@media(max-width:820px){.book{grid-template-columns:1fr}}
.chapters{list-style:none; margin:20px 0 0; padding:0; display:grid; gap:11px}
.chapters li{padding-left:22px; position:relative; font-size:.96rem; color:var(--ink-soft)}
.chapters li::before{content:''; position:absolute; left:0; top:.62em; width:9px; height:1.5px; background:var(--teal)}
.chapters b{color:var(--ink); font-weight:600}

/* ---------- CTA band ---------- */
.cta-band{background:var(--ink); color:#fff; border-radius:var(--r); padding:clamp(34px,5vw,58px); text-align:center}
.cta-band h2{color:#fff; margin-bottom:14px}
.cta-band p{color:#B9BFC5; max-width:580px; margin:0 auto 8px}
.cta-band .btn-row{justify-content:center}

/* ---------- footer ---------- */
.site-footer{background:var(--ink); color:#9AA1A8; padding:clamp(46px,6vw,72px) 0 32px; font-size:.92rem}
.foot-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:clamp(26px,4vw,48px); margin-bottom:38px}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr}}
.site-footer h4{color:#fff; font-size:.76rem; letter-spacing:.15em; text-transform:uppercase; margin-bottom:16px; font-family:'Sora',sans-serif}
.site-footer a{color:#C6CCD1; display:block; margin-bottom:10px}
.site-footer a:hover{color:var(--orange)}
.foot-tag{color:#7C848B; max-width:330px; margin-top:14px; font-size:.9rem}
.foot-bottom{border-top:1px solid #262C31; padding-top:24px; display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; font-size:.84rem; color:#6C747B}
.foot-bottom a{display:inline; margin:0}

/* ==========================================================================
   FORM (apply page) — logic-critical classes; restyled from the tested build
   ========================================================================== */
.form-wrap{max-width:800px; margin:0 auto}
fieldset{border:1px solid var(--line); border-radius:var(--r); background:var(--card); padding:clamp(20px,3vw,30px); margin:0 0 20px; box-shadow:var(--shadow)}
legend{
  font-family:'Sora',sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.15em;
  text-transform:uppercase; color:var(--orange-deep); padding:0 10px;
}
.sec-note{color:var(--muted); font-size:.92rem; margin:-2px 0 20px}
.field{margin-bottom:18px}
.row{display:flex; gap:16px; flex-wrap:wrap}
.row>.field{flex:1 1 180px; margin-bottom:18px}
label{display:block; font-weight:600; font-size:.94rem; margin-bottom:7px; color:var(--ink)}
.req{color:var(--warn); font-weight:700}
.hint{display:block; font-weight:400; color:var(--muted); font-size:.86rem; margin-top:3px; line-height:1.45}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{
  width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:var(--r-sm);
  background:#fff; color:var(--text); font-family:'Inter',sans-serif; font-size:1rem;
}
textarea{min-height:104px; resize:vertical}
textarea.tall{min-height:140px}
input:focus,select:focus,textarea:focus{outline:none; border-color:var(--orange); box-shadow:0 0 0 3px rgba(230,122,21,.16)}
.counter{font-size:.78rem; color:var(--faint); text-align:right; margin-top:4px}
.counter.warn{color:var(--warn); font-weight:600}
.checkgrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; margin-top:6px}
.chk{display:flex; align-items:flex-start; gap:10px; font-size:.94rem; font-weight:400; padding:10px 12px; border:1px solid var(--line); border-radius:var(--r-sm); background:#fff; cursor:pointer}
.chk:hover{border-color:var(--orange)}
.chk input{margin:2px 0 0; flex:none; width:17px; height:17px; accent-color:var(--orange)}
.toggle{display:flex; align-items:center; gap:11px; font-size:1rem; font-weight:500; cursor:pointer; padding:12px 13px; border:1px solid var(--line); border-radius:var(--r-sm); background:#fff}
.toggle input{width:18px; height:18px; accent-color:var(--orange)}
/* honeypot — field name MUST stay "website" to match trigger-external */
.hp{position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden}
.msg{padding:14px 16px; border-radius:var(--r-sm); font-size:.95rem; margin-top:18px; display:none}
.msg.err{background:var(--warn-soft); color:var(--warn); border:1px solid var(--warn-line); display:block}
.msg.ok{background:#E8F3EC; color:var(--ok); border:1px solid #C4E2D0; display:block}
.done{background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:clamp(38px,6vw,64px) 28px; text-align:center; box-shadow:var(--shadow)}
.done .tick{width:60px; height:60px; border-radius:50%; background:#E8F3EC; color:var(--ok); display:grid; place-items:center; margin:0 auto 20px; font-size:1.7rem}
.dbg{margin-top:28px; border:1px dashed #C9CDD2; border-radius:var(--r); background:#F7F5F2; padding:18px}
.dbg h3{font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:12px}
.dbg pre{background:#14181C; color:#D8DEE4; padding:14px; border-radius:var(--r-sm); overflow:auto; font-size:.79rem; line-height:1.5; max-height:300px; margin:0 0 12px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.dbg .status{font-family:ui-monospace,Menlo,monospace; font-size:.83rem; font-weight:700; margin-bottom:9px}
.dbg .s-ok{color:var(--ok)} .dbg .s-bad{color:var(--warn)}
.banner{background:#FFF6E5; border:1px solid #F0DCB4; color:#7A5B12; padding:12px 16px; border-radius:var(--r-sm); font-size:.9rem; margin-bottom:22px}

/* ---------- utilities ---------- */
.mt0{margin-top:0}.mb0{margin-bottom:0}
.center{text-align:center}
.tal{text-align:left}
@media(prefers-reduced-motion:reduce){*{animation:none !important; transition:none !important} html{scroll-behavior:auto}}
