/* ═══════════════════════════════════════════════════════════
   WELLSHAPE — Coastal Clarity
   Palette: White · Teal · Coral · Charcoal · Sand
   Fonts: Playfair Display (display) + DM Sans (body)
   Mood: Clean, energetic, warm, trustworthy — like a bright
         wellness studio overlooking the ocean
═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,900;1,400;1,600&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300&display=swap');

/* ─── TOKENS ─── */
:root {
  /* Core Palette */
  --teal:        #2D9B8A;
  --teal-dk:     #1E7A6D;
  --teal-md:     #4DB8A6;
  --teal-lt:     #8FD4C8;
  --teal-pale:   #E0F5F2;
  --teal-xpale:  #F0FAF8;

  --coral:       #E07B54;
  --coral-dk:    #C5623C;
  --coral-lt:    #EDAA8C;
  --coral-pale:  #FBF0EB;

  --sand:        #C4A882;
  --sand-lt:     #E8D9C4;
  --sand-pale:   #FAF6F0;

  --white:       #FFFFFF;
  --off-white:   #FAFAF8;
  --cream:       #F5F2EE;
  --cream-dk:    #EDE8E0;

  --charcoal:    #1E2D3A;
  --charcoal-md: #2E4253;
  --slate:       #5C7080;
  --slate-lt:    #95ACBA;
  --mist:        #C8D6DE;

  /* Typography */
  --ff-display: 'Playfair Display', Georgia, serif;
  --ff-body:    'DM Sans', system-ui, sans-serif;

  --fw-light:  300;
  --fw-reg:    400;
  --fw-med:    500;
  --fw-semi:   600;
  --fw-bold:   700;
  --fw-black:  900;

  /* Spacing — 4pt grid */
  --s1:.25rem; --s2:.5rem;  --s3:.75rem; --s4:1rem;
  --s5:1.25rem; --s6:1.5rem; --s8:2rem;  --s10:2.5rem;
  --s12:3rem; --s16:4rem; --s20:5rem; --s24:6rem; --s32:8rem;

  /* Radii — friendly and rounded */
  --r-sm:  8px;
  --r-md:  16px;
  --r-lg:  28px;
  --r-xl:  40px;
  --r-pill:9999px;

  /* Shadows */
  --shadow-xs: 0 2px 8px rgba(30,45,58,.05);
  --shadow-sm: 0 4px 20px rgba(30,45,58,.08);
  --shadow-md: 0 12px 40px rgba(30,45,58,.10);
  --shadow-lg: 0 24px 64px rgba(30,45,58,.12);
  --shadow-teal:  0 8px 32px rgba(45,155,138,.22);
  --shadow-coral: 0 8px 32px rgba(224,123,84,.22);

  /* Motion */
  --ease:        cubic-bezier(.4,0,.2,1);
  --ease-out:    cubic-bezier(0,0,.2,1);
  --ease-spring: cubic-bezier(.34,1.4,.64,1);
  --t:  .28s;
  --ts: .5s;
}

/* ─── RESET ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{
  font-family:var(--ff-body);
  background:var(--off-white);
  color:var(--charcoal);
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:none;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:var(--ff-body)}
ul{list-style:none}
a,button,input,[role="button"]{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}

/* ─── CONTAINER ─── */
.container{
  width:100%;max-width:1200px;margin:0 auto;
  padding:0 var(--s8);
  padding-left: max(var(--s8), env(safe-area-inset-left));
  padding-right:max(var(--s8), env(safe-area-inset-right));
}
section{padding:var(--s24) 0}

/* ─── EYEBROW ─── */
.eyebrow{
  display:inline-flex;align-items:center;gap:var(--s3);
  font-family:var(--ff-body);font-size:11px;font-weight:var(--fw-bold);
  letter-spacing:.22em;text-transform:uppercase;color:var(--teal);
}
.eyebrow::before{content:'';display:inline-block;width:20px;height:2px;background:currentColor;border-radius:var(--r-pill)}
.eyebrow--light{color:rgba(255,255,255,.6)}
.eyebrow--coral{color:var(--coral)}
.eyebrow--sand{color:var(--sand)}

/* ─── BUTTONS ─── */
.btn{
  display:inline-flex;align-items:center;gap:var(--s3);
  padding:var(--s4) var(--s8);
  font-family:var(--ff-body);font-size:14px;font-weight:var(--fw-semi);
  letter-spacing:.03em;border:2px solid transparent;
  border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;
  min-height:44px;transition:all var(--t) var(--ease);
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
/* Primary teal */
.btn-teal{background:var(--teal);color:#fff;box-shadow:var(--shadow-teal)}
.btn-teal:hover{background:var(--teal-dk);transform:translateY(-2px);box-shadow:0 12px 40px rgba(45,155,138,.3)}
.btn-teal:active{transform:translateY(0);opacity:.9}
/* Coral accent */
.btn-coral{background:var(--coral);color:#fff;box-shadow:var(--shadow-coral)}
.btn-coral:hover{background:var(--coral-dk);transform:translateY(-2px);box-shadow:0 12px 40px rgba(224,123,84,.3)}
.btn-coral:active{transform:translateY(0)}
/* Outline on light */
.btn-outline{background:transparent;color:var(--teal);border-color:var(--teal-lt)}
.btn-outline:hover{background:var(--teal-pale);border-color:var(--teal)}
/* Outline on dark */
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.btn-outline-light:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.65)}
/* Ghost log-in */
.btn-login{background:transparent;color:var(--charcoal);border-color:var(--mist);border-radius:var(--r-pill);font-size:14px;min-height:44px}
.btn-login:hover{background:var(--cream);border-color:var(--slate-lt)}
/* Sizes */
.btn-xl{padding:var(--s5) var(--s12);font-size:15px}
.btn-sm{padding:var(--s3) var(--s6);font-size:13px;min-height:40px}
.btn-arrow::after{content:' →';display:inline}

/* ═══════════════════════════════════
   HEADER
═══════════════════════════════════ */
#main-header{
  position:-webkit-sticky;position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--cream-dk);
  transition:box-shadow var(--t);
}
#main-header.scrolled{box-shadow:var(--shadow-sm)}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:var(--s4) var(--s8);
  padding-left: max(var(--s8),env(safe-area-inset-left));
  padding-right:max(var(--s8),env(safe-area-inset-right));
  max-width:1200px;margin:0 auto;gap:var(--s5);
}

/* Logo */
.logo{display:flex;align-items:center;gap:var(--s3);flex-shrink:0;min-height:44px}
.logo-mark{
  width:38px;height:38px;border-radius:var(--r-md);
  background:linear-gradient(135deg,var(--teal) 0%,var(--teal-md) 100%);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(45,155,138,.25);flex-shrink:0;
}
.logo-mark::after{
  content:'W';font-family:var(--ff-display);font-size:20px;
  font-weight:var(--fw-bold);color:#fff;line-height:1;
}
.logo-word{
  font-family:var(--ff-display);font-size:1.5rem;font-weight:var(--fw-semi);
  color:var(--charcoal);letter-spacing:-.02em;line-height:1;
}
.logo-word span{color:var(--teal)}

/* Nav */
.nav-links{display:flex;align-items:center;gap:var(--s5)}
.nav-links a{
  font-size:13.5px;font-weight:var(--fw-med);color:var(--slate);
  transition:color var(--t);min-height:44px;display:inline-flex;
  align-items:center;position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:6px;left:0;
  width:0;height:2px;background:var(--teal);
  border-radius:var(--r-pill);transition:width var(--t) var(--ease);
}
.nav-links a:hover{color:var(--charcoal)}
.nav-links a:hover::after{width:100%}

/* Legal nav links — smaller, subtler */
.nav-links .nav-legal{
  font-size:12px;color:var(--slate-lt);font-weight:var(--fw-reg);
}
.nav-links .nav-legal:hover{color:var(--slate)}
.nav-sep{width:1px;height:20px;background:var(--mist)}

.header-btns{display:flex;align-items:center;gap:var(--s3);flex-shrink:0}

/* Hamburger */
.hamburger{
  display:none;flex-direction:column;gap:5px;
  background:none;border:none;padding:var(--s2);
  min-width:44px;min-height:44px;align-items:center;justify-content:center;
}
.hamburger span{
  display:block;width:22px;height:2px;background:var(--charcoal);
  transition:all var(--t);border-radius:var(--r-pill);
}
.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile overlay */
#mobile-nav{
  display:none;position:fixed;inset:0;
  background:linear-gradient(160deg,var(--charcoal) 0%,var(--charcoal-md) 100%);
  z-index:99;flex-direction:column;align-items:flex-start;justify-content:center;
  padding:var(--s12) var(--s10);
  padding-top:   max(var(--s16),calc(env(safe-area-inset-top) + var(--s10)));
  padding-bottom:max(var(--s10),calc(env(safe-area-inset-bottom) + var(--s8)));
  padding-left:  max(var(--s10),env(safe-area-inset-left));
  gap:var(--s2);
}
#mobile-nav.open{display:flex}
#mobile-nav a{
  font-family:var(--ff-display);font-size:clamp(1.8rem,5vw,3rem);
  font-weight:var(--fw-reg);color:rgba(255,255,255,.8);
  letter-spacing:-.02em;line-height:1.25;transition:color var(--t);
  padding:var(--s2) 0;display:block;min-height:44px;
}
#mobile-nav a:hover{color:var(--teal-md)}
#mobile-nav .mob-legal{font-size:1rem;font-family:var(--ff-body);color:rgba(255,255,255,.35);font-weight:var(--fw-reg)}
.mob-close{
  position:absolute;top:max(var(--s6),calc(env(safe-area-inset-top)+var(--s4)));right:var(--s6);
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.75);width:44px;height:44px;border-radius:var(--r-pill);
  font-size:18px;display:flex;align-items:center;justify-content:center;transition:all var(--t);
}
.mob-close:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.mob-cta-row{display:flex;gap:var(--s3);margin-top:var(--s8);flex-wrap:wrap}

/* ═══════════════════════════════════
   TICKER STRIP
═══════════════════════════════════ */
.ticker-wrap{
  background:linear-gradient(90deg,var(--teal-dk) 0%,var(--teal) 50%,var(--teal-dk) 100%);
  overflow:hidden;padding:var(--s3) 0;
}
.ticker-track{display:flex;width:max-content;animation:ticker 30s linear infinite}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{
  display:inline-flex;align-items:center;gap:var(--s3);
  padding:0 var(--s8);font-family:var(--ff-body);font-size:12px;
  font-weight:var(--fw-semi);color:rgba(255,255,255,.8);
  white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;
}
.ticker-dot{width:4px;height:4px;border-radius:50%;background:var(--teal-lt);flex-shrink:0}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ═══════════════════════════════════
   §1 HERO
═══════════════════════════════════ */
#hero{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:100dvh;min-height:-webkit-fill-available;
  padding:0;background:var(--charcoal);overflow:hidden;position:relative;
}
#hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 65% 60% at 70% 30%,rgba(45,155,138,.12) 0%,transparent 65%),
    radial-gradient(ellipse 40% 50% at 20% 80%,rgba(224,123,84,.06) 0%,transparent 60%);
  pointer-events:none;
}
.hero-left{
  display:flex;flex-direction:column;justify-content:center;
  padding:var(--s20) var(--s12) var(--s20) var(--s12);
  position:relative;z-index:2;
}
.hero-tag{
  display:inline-flex;align-items:center;gap:var(--s3);
  background:rgba(45,155,138,.15);border:1px solid rgba(45,155,138,.3);
  border-radius:var(--r-pill);padding:var(--s2) var(--s5);
  font-size:12px;font-weight:var(--fw-semi);letter-spacing:.06em;
  color:var(--teal-lt);margin-bottom:var(--s8);align-self:flex-start;
}
.hero-h1{
  font-family:var(--ff-display);
  font-size:clamp(3.2rem,5.5vw,6.8rem);
  font-weight:var(--fw-reg);line-height:1.05;
  letter-spacing:-.03em;color:#fff;margin-bottom:var(--s8);
}
.hero-h1 .line-teal{color:var(--teal-md);font-style:italic;display:block}
.hero-h1 .line-coral{color:var(--coral-lt);font-weight:var(--fw-semi);display:block}
.hero-sub{
  font-size:1rem;color:rgba(255,255,255,.5);line-height:1.85;
  max-width:430px;margin-bottom:var(--s10);font-weight:var(--fw-light);
}
.hero-ctas{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s5)}
.hero-fine{
  font-size:11px;color:rgba(255,255,255,.28);letter-spacing:.04em;
  margin-bottom:var(--s8);display:flex;align-items:center;gap:var(--s2);
}
.hero-fine::before{content:'✓';color:var(--teal-md)}
.hero-proof{
  display:flex;align-items:center;gap:var(--s5);
  padding-top:var(--s8);border-top:1px solid rgba(255,255,255,.08);
}
.proof-avs{display:flex}
.proof-avs img{
  width:30px;height:30px;border-radius:50%;object-fit:cover;
  border:2px solid var(--charcoal);margin-left:-7px;
}
.proof-avs img:first-child{margin-left:0}
.proof-text{font-size:12px;color:rgba(255,255,255,.4);line-height:1.5}
.proof-text strong{color:rgba(255,255,255,.8);display:block;font-size:14px;font-weight:var(--fw-semi)}
.proof-divider{width:1px;height:36px;background:rgba(255,255,255,.1)}
.proof-stat .n{
  font-family:var(--ff-display);font-size:1.8rem;font-weight:var(--fw-semi);
  color:var(--teal-md);display:block;line-height:1;letter-spacing:-.03em;
}
.proof-stat .l{font-size:11px;color:rgba(255,255,255,.3);margin-top:2px;letter-spacing:.04em}

/* Hero right — image mosaic */
.hero-right{position:relative;overflow:hidden}
.hero-mosaic{
  display:grid;grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;gap:3px;height:100%;
}
.hero-mosaic::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to right,var(--charcoal) 0%,transparent 25%),
             linear-gradient(to top,rgba(30,45,58,.5) 0%,transparent 40%);
  z-index:1;pointer-events:none;
}
.mosaic-cell{overflow:hidden}
.mosaic-cell img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.9);transition:filter var(--ts)}
.mosaic-cell:hover img{filter:brightness(.82) saturate(1)}
.mosaic-cell.tall{grid-row:span 2}
/* Floating review card */
.hero-float{
  position:absolute;bottom:var(--s8);right:var(--s6);
  background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border-radius:var(--r-lg);border:1px solid rgba(255,255,255,.5);
  padding:var(--s5) var(--s6);max-width:220px;z-index:4;
  box-shadow:var(--shadow-lg);
}
.hf-stars{color:var(--coral);font-size:11px;letter-spacing:2px;margin-bottom:var(--s2)}
.hf-quote{font-family:var(--ff-display);font-style:italic;font-size:12px;color:var(--slate);line-height:1.55;margin-bottom:var(--s3)}
.hf-auth{display:flex;align-items:center;gap:var(--s3)}
.hf-auth img{width:26px;height:26px;border-radius:50%;object-fit:cover}
.hf-name{font-size:11px;font-weight:var(--fw-bold);color:var(--charcoal)}
.hf-result{font-size:10px;color:var(--teal);font-weight:var(--fw-semi)}

/* ═══════════════════════════════════
   §2 WHY WELLSHAPE
═══════════════════════════════════ */
#why{
  background:linear-gradient(160deg,var(--charcoal-md) 0%,var(--charcoal) 100%);
  padding:var(--s20) 0;
}
.why-top{display:grid;grid-template-columns:1fr 1fr;gap:var(--s16);align-items:end;margin-bottom:var(--s16)}
.why-top h2{
  font-family:var(--ff-display);font-size:clamp(2.8rem,4.5vw,5rem);
  font-weight:var(--fw-reg);letter-spacing:-.03em;line-height:1.1;color:#fff;
}
.why-top h2 em{font-style:italic;color:var(--teal-md)}
.why-top p{font-size:1rem;color:rgba(255,255,255,.4);line-height:1.85;font-weight:var(--fw-light)}
.why-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.why-card{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--r-lg);padding:var(--s8);
  transition:background var(--t),border-color var(--t),transform var(--t);
}
.why-card:hover{background:rgba(255,255,255,.08);border-color:rgba(45,155,138,.3);transform:translateY(-4px)}
.why-icon{
  width:52px;height:52px;border-radius:var(--r-md);
  background:rgba(45,155,138,.15);border:1px solid rgba(45,155,138,.25);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;
  margin-bottom:var(--s5);
}
.why-card h3{font-family:var(--ff-display);font-size:1.25rem;font-weight:var(--fw-semi);color:#fff;margin-bottom:var(--s3)}
.why-card p{font-size:14px;color:rgba(255,255,255,.4);line-height:1.8;font-weight:var(--fw-light)}

/* ═══════════════════════════════════
   §3 RESULTS
═══════════════════════════════════ */
#results{background:var(--off-white);overflow:hidden}
.results-layout{
  display:grid;grid-template-columns:5fr 7fr;
  border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-lg);
}
.results-left{
  background:linear-gradient(160deg,var(--teal-dk) 0%,var(--teal) 100%);
  padding:var(--s12) var(--s10);display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
}
.results-left::before{
  content:'"';position:absolute;top:-50px;right:var(--s4);
  font-family:var(--ff-display);font-size:18rem;color:rgba(255,255,255,.05);line-height:1;
}
.results-big-num{
  font-family:var(--ff-display);font-size:5rem;color:rgba(255,255,255,.08);
  line-height:.8;margin-bottom:var(--s4);
}
.results-quote{
  font-family:var(--ff-display);font-style:italic;
  font-size:clamp(1rem,1.8vw,1.4rem);color:rgba(255,255,255,.9);
  line-height:1.6;margin-bottom:var(--s8);flex:1;
}
.results-person{display:flex;align-items:center;gap:var(--s4)}
.results-person img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3)}
.results-person-name{font-size:14px;font-weight:var(--fw-bold);color:#fff}
.results-person-meta{font-size:12px;color:rgba(255,255,255,.55);margin-top:2px}
.results-right{
  background:var(--white);padding:var(--s8);
  display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);align-content:start;
}
.result-mini{
  background:var(--off-white);border-radius:var(--r-md);
  border:1px solid var(--cream-dk);overflow:hidden;
  transition:transform var(--t),box-shadow var(--t);
}
.result-mini:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.result-mini img{width:100%;height:140px;object-fit:cover}
.result-mini-body{padding:var(--s4) var(--s5)}
.result-name{font-family:var(--ff-display);font-size:1rem;font-weight:var(--fw-semi);color:var(--charcoal)}
.result-meta{font-size:11px;color:var(--slate-lt);margin:2px 0 var(--s2)}
.result-badge{
  display:inline-block;font-size:10px;font-weight:var(--fw-bold);
  background:var(--teal-pale);color:var(--teal-dk);
  padding:2px var(--s3);border-radius:var(--r-pill);
}
.result-wide{
  grid-column:span 2;display:flex;align-items:center;gap:var(--s5);
  background:var(--teal-xpale);border-radius:var(--r-md);
  padding:var(--s5) var(--s6);border:1px solid rgba(45,155,138,.15);
}
.result-wide img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0}
.result-wide p{font-family:var(--ff-display);font-style:italic;font-size:13px;color:var(--teal-dk);line-height:1.65}
.result-wide-who{font-size:11px;font-weight:var(--fw-bold);color:var(--charcoal);margin-top:4px}

/* ═══════════════════════════════════
   §4 INSIDE — PROGRAMME PANELS
═══════════════════════════════════ */
#inside{background:var(--cream)}
.inside-hd{text-align:center;margin-bottom:var(--s12)}
.inside-hd h2{
  font-family:var(--ff-display);font-size:clamp(2.2rem,4vw,4.2rem);
  font-weight:var(--fw-reg);letter-spacing:-.03em;line-height:1.1;
  color:var(--charcoal);margin:var(--s4) 0 var(--s5);
}
.inside-hd h2 em{font-style:italic;color:var(--teal)}
.inside-hd p{font-size:1rem;color:var(--slate);max-width:500px;margin:0 auto;line-height:1.8;font-weight:var(--fw-light)}
.inside-panels{display:flex;flex-direction:column;gap:var(--s4)}
.inside-panel{
  display:grid;grid-template-columns:280px 1fr 60px 120px;
  align-items:center;gap:0;
  background:var(--white);border-radius:var(--r-lg);
  border:1px solid var(--cream-dk);overflow:hidden;box-shadow:var(--shadow-xs);
  transition:box-shadow var(--t),transform var(--t);
}
.inside-panel:hover{box-shadow:var(--shadow-md);transform:translateX(4px)}
.inside-panel-img{height:180px;overflow:hidden;flex-shrink:0}
.inside-panel-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:filter var(--t),transform .5s}
.inside-panel:hover .inside-panel-img img{filter:saturate(1.05);transform:scale(1.04)}
.inside-panel-body{padding:var(--s6) var(--s8)}
.inside-panel-tag{
  display:inline-block;font-size:10px;font-weight:var(--fw-bold);
  letter-spacing:.15em;text-transform:uppercase;color:var(--teal-dk);
  background:var(--teal-pale);padding:2px var(--s4);border-radius:var(--r-pill);
  margin-bottom:var(--s3);
}
.inside-panel-title{font-family:var(--ff-display);font-size:1.4rem;font-weight:var(--fw-semi);color:var(--charcoal);margin-bottom:var(--s3)}
.inside-panel-desc{font-size:14px;color:var(--slate);line-height:1.75;font-weight:var(--fw-light);max-width:480px}
.inside-panel-num{
  font-family:var(--ff-display);font-size:3.5rem;font-weight:var(--fw-black);
  color:var(--cream-dk);letter-spacing:-.08em;line-height:1;text-align:center;
}
.inside-panel-cta{padding:0 var(--s6);display:flex;justify-content:center}

/* ═══════════════════════════════════
   §5 METHOD
═══════════════════════════════════ */
#method{background:var(--white)}
.method-headline{
  font-family:var(--ff-display);font-size:clamp(2.6rem,4.5vw,5rem);
  font-weight:var(--fw-reg);letter-spacing:-.03em;line-height:1.1;
  color:var(--charcoal);max-width:720px;margin-bottom:var(--s16);
}
.method-headline em{font-style:italic;color:var(--teal)}
.method-steps{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.method-step{
  padding:var(--s10);border:1px solid var(--cream-dk);border-radius:var(--r-lg);
  position:relative;overflow:hidden;transition:border-color var(--t),box-shadow var(--t);
}
.method-step:hover{border-color:var(--teal-lt);box-shadow:var(--shadow-sm)}
.method-step-num{
  position:absolute;top:var(--s5);right:var(--s6);
  font-family:var(--ff-display);font-size:5rem;font-weight:var(--fw-black);
  color:var(--cream);line-height:1;letter-spacing:-.08em;
}
.method-step-ico{
  width:52px;height:52px;border-radius:var(--r-md);background:var(--teal-pale);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:var(--s5);
}
.method-step h3{font-family:var(--ff-display);font-size:1.35rem;font-weight:var(--fw-semi);color:var(--charcoal);margin-bottom:var(--s3)}
.method-step p{font-size:14px;color:var(--slate);line-height:1.8;font-weight:var(--fw-light)}
.method-step.accent{background:linear-gradient(135deg,var(--teal-dk) 0%,var(--teal) 100%);border-color:transparent}
.method-step.accent .method-step-num{color:rgba(255,255,255,.08)}
.method-step.accent .method-step-ico{background:rgba(255,255,255,.12)}
.method-step.accent h3{color:#fff}
.method-step.accent p{color:rgba(255,255,255,.5)}
/* Stat strip */
.method-stats{
  grid-column:span 2;display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--cream-dk);border-radius:var(--r-lg);
  overflow:hidden;border:1px solid var(--cream-dk);margin-top:var(--s4);
}
.mstat{background:var(--white);padding:var(--s8);text-align:center}
.mstat-n{
  font-family:var(--ff-display);font-size:2.6rem;font-weight:var(--fw-semi);
  color:var(--teal);letter-spacing:-.04em;display:block;line-height:1;
}
.mstat-l{font-size:13px;color:var(--slate);margin-top:var(--s2)}

/* ═══════════════════════════════════
   §6 COACHES
═══════════════════════════════════ */
#coaches{background:var(--off-white)}
.coaches-top{display:grid;grid-template-columns:1fr 1fr;gap:var(--s16);align-items:end;margin-bottom:var(--s12)}
.coaches-top h2{font-family:var(--ff-display);font-size:clamp(2.2rem,4vw,4.2rem);font-weight:var(--fw-reg);letter-spacing:-.03em;line-height:1.1;color:var(--charcoal)}
.coaches-top h2 em{font-style:italic;color:var(--teal)}
.coaches-top p{font-size:1rem;color:var(--slate);line-height:1.8;font-weight:var(--fw-light)}
.coaches-list{display:flex;flex-direction:column;gap:var(--s4)}
.coach-row{
  display:grid;grid-template-columns:210px 1fr;
  background:var(--white);border-radius:var(--r-xl);
  border:1px solid var(--cream-dk);overflow:hidden;box-shadow:var(--shadow-xs);
  transition:box-shadow var(--t),transform var(--t);
}
.coach-row:hover{box-shadow:var(--shadow-md);transform:translateX(5px)}
.coach-img{overflow:hidden}
.coach-img img{width:100%;height:220px;object-fit:cover;filter:saturate(.9);transition:filter var(--t),transform .6s}
.coach-row:hover .coach-img img{filter:saturate(1.05);transform:scale(1.04)}
.coach-body{padding:var(--s8);display:flex;flex-direction:column;justify-content:center}
.coach-role{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:var(--s3)}
.coach-name{font-family:var(--ff-display);font-size:1.5rem;font-weight:var(--fw-semi);color:var(--charcoal);letter-spacing:-.02em;margin-bottom:var(--s4)}
.coach-bio{font-size:14px;color:var(--slate);line-height:1.8;margin-bottom:var(--s5);font-weight:var(--fw-light);max-width:580px}
.coach-tags{display:flex;flex-wrap:wrap;gap:var(--s2)}
.coach-tag{font-size:11px;font-weight:var(--fw-semi);background:var(--teal-pale);color:var(--teal-dk);padding:3px var(--s4);border-radius:var(--r-pill)}

/* ═══════════════════════════════════
   §7 COMMUNITY
═══════════════════════════════════ */
#community{background:var(--cream)}
.community-wrap{
  background:linear-gradient(160deg,var(--charcoal) 0%,var(--charcoal-md) 100%);
  border-radius:var(--r-xl);overflow:hidden;
  display:grid;grid-template-columns:1fr 1fr;
}
.community-left{padding:var(--s16) var(--s12);display:flex;flex-direction:column;justify-content:center}
.community-left h2{font-family:var(--ff-display);font-size:clamp(2rem,3.5vw,3.8rem);font-weight:var(--fw-reg);letter-spacing:-.03em;line-height:1.1;color:#fff;margin:var(--s5) 0}
.community-left h2 em{font-style:italic;color:var(--teal-md)}
.community-left p{font-size:1rem;color:rgba(255,255,255,.45);line-height:1.85;margin-bottom:var(--s10);font-weight:var(--fw-light)}
.community-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);padding-top:var(--s8);border-top:1px solid rgba(255,255,255,.08)}
.cs-n{font-family:var(--ff-display);font-size:2.2rem;font-weight:var(--fw-semi);color:var(--teal-md);display:block;line-height:1}
.cs-l{font-size:12px;color:rgba(255,255,255,.3);margin-top:var(--s2);text-transform:uppercase;letter-spacing:.06em}
.community-right{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;background:rgba(0,0,0,.3)}
.comm-photo{overflow:hidden}
.comm-photo img{width:100%;height:100%;object-fit:cover;opacity:.65;filter:saturate(.8);transition:opacity .4s,filter .4s}
.comm-photo:hover img{opacity:.8;filter:saturate(1)}
.comm-photo.tall{grid-row:span 2}

/* ═══════════════════════════════════
   §8 PRICING
═══════════════════════════════════ */
#pricing{background:var(--off-white)}
.pricing-hd{text-align:center;margin-bottom:var(--s16)}
.pricing-hd h2{font-family:var(--ff-display);font-size:clamp(2.2rem,4vw,4.2rem);font-weight:var(--fw-reg);letter-spacing:-.03em;line-height:1.1;color:var(--charcoal);margin:var(--s4) 0 var(--s5)}
.pricing-hd h2 em{font-style:italic;color:var(--teal)}
.pricing-hd p{font-size:1rem;color:var(--slate);max-width:500px;margin:0 auto;line-height:1.8;font-weight:var(--fw-light)}
.pricing-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);max-width:880px;margin:0 auto}
.price-card{
  background:var(--white);border-radius:var(--r-xl);padding:var(--s10);
  border:1.5px solid var(--cream-dk);box-shadow:var(--shadow-xs);
  position:relative;overflow:hidden;transition:transform var(--t),box-shadow var(--t);
}
.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.price-card.featured{
  background:linear-gradient(160deg,var(--charcoal) 0%,var(--charcoal-md) 100%);
  border-color:transparent;box-shadow:var(--shadow-md);
}
.feat-badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:linear-gradient(135deg,var(--teal) 0%,var(--teal-dk) 100%);
  color:#fff;font-size:10px;font-weight:var(--fw-bold);
  letter-spacing:.15em;text-transform:uppercase;
  padding:var(--s2) var(--s5);border-radius:var(--r-pill);
  box-shadow:var(--shadow-teal);white-space:nowrap;
}
.plan-label{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.2em;text-transform:uppercase;color:var(--slate-lt);margin-bottom:var(--s5)}
.featured .plan-label{color:rgba(255,255,255,.3)}
.plan-price{font-family:var(--ff-display);font-size:4.5rem;font-weight:var(--fw-semi);letter-spacing:-.05em;line-height:1;margin-bottom:var(--s2);color:var(--charcoal)}
.featured .plan-price{color:var(--teal-md)}
.plan-period{font-size:12px;color:var(--slate-lt);margin-bottom:var(--s5)}
.featured .plan-period{color:rgba(255,255,255,.3)}
.plan-desc{font-size:14px;color:var(--slate);line-height:1.75;margin-bottom:var(--s8);font-weight:var(--fw-light)}
.featured .plan-desc{color:rgba(255,255,255,.5)}
.plan-btn{width:100%;justify-content:center;margin-bottom:var(--s8)}
.plan-features{display:flex;flex-direction:column;gap:var(--s3)}
.plan-feature{display:flex;align-items:flex-start;gap:var(--s3);font-size:14px;color:var(--slate)}
.featured .plan-feature{color:rgba(255,255,255,.6)}
.plan-feature::before{
  content:'✓';width:20px;height:20px;
  background:var(--teal-pale);color:var(--teal);
  font-size:11px;font-weight:var(--fw-bold);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;border-radius:var(--r-sm);
}
.featured .plan-feature::before{background:rgba(45,155,138,.15);color:var(--teal-md)}
.pricing-note{text-align:center;margin-top:var(--s8);font-size:14px;color:var(--slate)}

/* ═══════════════════════════════════
   §9 TESTIMONIALS
═══════════════════════════════════ */
#testimonials{background:var(--cream)}
.testimonials-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--s10);flex-wrap:wrap;gap:var(--s6)}
.testimonials-top h2{font-family:var(--ff-display);font-size:clamp(2rem,3.5vw,3.8rem);font-weight:var(--fw-reg);letter-spacing:-.03em;color:var(--charcoal);line-height:1.1}
.testimonials-top h2 em{font-style:italic;color:var(--teal)}
.rating-pill{
  display:flex;align-items:center;gap:var(--s3);
  background:var(--white);border:1px solid var(--cream-dk);
  border-radius:var(--r-lg);padding:var(--s4) var(--s6);
  flex-shrink:0;box-shadow:var(--shadow-xs);
}
.rating-num{font-family:var(--ff-display);font-size:1.8rem;font-weight:var(--fw-semi);color:var(--charcoal);letter-spacing:-.04em}
.rating-stars{color:var(--coral);font-size:12px;letter-spacing:2px}
.rating-count{font-size:11px;color:var(--slate-lt)}
.tcard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.tcard{
  background:var(--white);border-radius:var(--r-lg);padding:var(--s8);
  border:1px solid var(--cream-dk);box-shadow:var(--shadow-xs);
  display:flex;flex-direction:column;gap:var(--s4);
  transition:transform var(--t),box-shadow var(--t);
}
.tcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.tcard.featured{background:linear-gradient(160deg,var(--teal-dk) 0%,var(--teal) 100%);border-color:transparent;box-shadow:var(--shadow-teal)}
.tcard-stars{color:var(--coral);font-size:12px;letter-spacing:2px}
.tcard.featured .tcard-stars{color:var(--coral-lt)}
.tcard-text{font-family:var(--ff-display);font-style:italic;font-size:1rem;color:var(--slate);line-height:1.7;flex:1}
.tcard.featured .tcard-text{color:rgba(255,255,255,.88)}
.tcard-author{display:flex;align-items:center;gap:var(--s3)}
.tcard-author img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.tcard-name{font-size:13px;font-weight:var(--fw-bold);color:var(--charcoal)}
.tcard.featured .tcard-name{color:#fff}
.tcard-result{font-size:11px;color:var(--teal);font-weight:var(--fw-semi)}
.tcard.featured .tcard-result{color:var(--teal-lt)}

/* ═══════════════════════════════════
   §10 GUARANTEE
═══════════════════════════════════ */
#guarantee{background:var(--white)}
.guarantee-wrap{
  display:grid;grid-template-columns:1fr 1fr;
  border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-lg);
}
.guarantee-left{
  background:linear-gradient(160deg,var(--teal-dk) 0%,var(--teal) 100%);
  padding:var(--s16) var(--s12);display:flex;flex-direction:column;justify-content:center;
}
.guarantee-left h2{font-family:var(--ff-display);font-size:clamp(1.8rem,3vw,3.2rem);font-weight:var(--fw-reg);letter-spacing:-.03em;line-height:1.1;color:#fff;margin:var(--s5) 0}
.guarantee-left h2 em{font-style:italic;color:var(--teal-lt)}
.guarantee-left>p{font-size:1rem;color:rgba(255,255,255,.5);line-height:1.85;margin-bottom:var(--s8);font-weight:var(--fw-light)}
.guarantee-points{display:flex;flex-direction:column;gap:var(--s4);margin-bottom:var(--s10)}
.guar-pt{display:flex;align-items:flex-start;gap:var(--s4)}
.guar-pt-ico{width:32px;height:32px;background:rgba(255,255,255,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;margin-top:2px}
.guar-pt-text{font-size:14px;color:rgba(255,255,255,.6);line-height:1.7;font-weight:var(--fw-light)}
.guar-pt-text strong{color:#fff;display:block;font-weight:var(--fw-semi);margin-bottom:2px}
.guarantee-right{position:relative;min-height:480px}
.guarantee-right img{width:100%;height:100%;object-fit:cover;filter:brightness(.88) saturate(.92)}
.guarantee-badge{
  position:absolute;top:var(--s8);left:calc(-1*var(--s10));
  width:120px;height:120px;border-radius:50%;
  background:linear-gradient(135deg,var(--coral) 0%,var(--coral-dk) 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;box-shadow:var(--shadow-coral);
}
.guarantee-badge .days{font-family:var(--ff-display);font-size:2.8rem;font-weight:var(--fw-semi);color:#fff;display:block;line-height:1}
.guarantee-badge .word{font-size:9px;color:rgba(255,255,255,.8);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase}

/* ═══════════════════════════════════
   §11 FAQ
═══════════════════════════════════ */
#faq-section{background:var(--off-white)}
.faq-hd{text-align:center;margin-bottom:var(--s12)}
.faq-hd h2{font-family:var(--ff-display);font-size:clamp(2rem,3.5vw,3.8rem);font-weight:var(--fw-reg);letter-spacing:-.03em;color:var(--charcoal);margin:var(--s4) 0}
.faq-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--s10)}
.faq-item{border-bottom:1px solid var(--cream-dk)}
.faq-q{
  display:flex;justify-content:space-between;align-items:center;
  padding:var(--s5) 0;background:none;border:none;width:100%;text-align:left;
  font-family:var(--ff-body);font-size:15px;font-weight:var(--fw-semi);
  color:var(--charcoal-md);cursor:pointer;gap:var(--s4);min-height:52px;
  transition:color var(--t);
}
.faq-q:hover{color:var(--teal)}
.faq-icon{
  width:28px;height:28px;border:1.5px solid var(--mist);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;color:var(--slate-lt);flex-shrink:0;transition:all var(--t);font-weight:300;
}
.faq-item.open .faq-icon{background:var(--teal);border-color:var(--teal);color:#fff;transform:rotate(45deg)}
.faq-ans{
  max-height:0;overflow:hidden;
  transition:max-height .42s var(--ease),padding .3s;
  font-size:14px;color:var(--slate);line-height:1.85;font-weight:var(--fw-light);
}
.faq-item.open .faq-ans{max-height:300px;padding-bottom:var(--s5)}

/* ═══════════════════════════════════
   FOOTER
═══════════════════════════════════ */
#main-footer{
  background:var(--charcoal);
  padding:var(--s20) 0 var(--s10);
  padding-bottom:max(var(--s10),calc(env(safe-area-inset-bottom)+var(--s10)));
  color:rgba(255,255,255,.45);
}
.footer-top-line{height:3px;background:linear-gradient(90deg,var(--teal) 0%,var(--teal-md) 50%,var(--coral) 100%)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--s10);margin-bottom:var(--s16)}
.footer-logo-word{font-family:var(--ff-display);font-size:1.5rem;font-weight:var(--fw-semi);color:rgba(255,255,255,.9)}
.footer-logo-word span{color:var(--teal-md)}
.footer-desc{font-size:14px;color:rgba(255,255,255,.3);line-height:1.8;margin:var(--s5) 0;max-width:280px;font-weight:var(--fw-light)}
.footer-social{display:flex;gap:var(--s3)}
.soc-btn{
  width:36px;height:36px;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;font-size:14px;
  color:rgba(255,255,255,.3);transition:all var(--t);
}
.soc-btn:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.footer-col h5{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:var(--s5)}
.footer-col ul{display:flex;flex-direction:column;gap:var(--s3)}
.footer-col a{font-size:14px;color:rgba(255,255,255,.3);transition:color var(--t);font-weight:var(--fw-light)}
.footer-col a:hover{color:var(--teal-md)}
.footer-btm{padding-top:var(--s8);border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s4)}
.footer-copy{font-size:12px;color:rgba(255,255,255,.15)}
.pay-row{display:flex;gap:var(--s2)}
.pay-chip{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-sm);padding:3px var(--s3);font-size:10px;font-weight:var(--fw-bold);color:rgba(255,255,255,.2);letter-spacing:.06em}

/* ═══════════════════════════════════
   SECONDARY PAGE HEROES
═══════════════════════════════════ */
.pg-hero{
  background:linear-gradient(160deg,var(--charcoal) 0%,var(--charcoal-md) 100%);
  padding:var(--s24) 0 var(--s20);position:relative;overflow:hidden;
}
.pg-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 70% at 85% 45%,rgba(45,155,138,.1) 0%,transparent 65%);pointer-events:none}
.pg-hero h1{font-family:var(--ff-display);font-size:clamp(2.8rem,6vw,5.5rem);font-weight:var(--fw-reg);letter-spacing:-.03em;line-height:1.05;color:#fff;margin:var(--s5) 0}
.pg-hero h1 em{font-style:italic;color:var(--teal-md)}
.pg-hero p{font-size:1rem;color:rgba(255,255,255,.45);max-width:540px;line-height:1.85;font-weight:var(--fw-light)}

.pg-hero-light{background:var(--cream);padding:var(--s20) 0 var(--s16);border-bottom:1px solid var(--cream-dk)}
.pg-hero-light h1{font-family:var(--ff-display);font-size:clamp(2.8rem,6vw,5.5rem);font-weight:var(--fw-reg);letter-spacing:-.03em;line-height:1.05;color:var(--charcoal);margin:var(--s5) 0}
.pg-hero-light h1 em{font-style:italic;color:var(--teal)}
.pg-hero-light p{font-size:1rem;color:var(--slate);max-width:540px;line-height:1.85;font-weight:var(--fw-light)}

/* BLOG */
.blog-featured-card{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--cream-dk)}
.bfc-img{overflow:hidden}
.bfc-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:filter var(--t),transform .6s}
.blog-featured-card:hover .bfc-img img{filter:saturate(1.05);transform:scale(1.03)}
.bfc-body{padding:var(--s12);background:var(--white);display:flex;flex-direction:column;justify-content:center}
.bfc-tag{display:inline-block;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.18em;text-transform:uppercase;color:var(--teal-dk);background:var(--teal-pale);padding:3px var(--s4);border-radius:var(--r-pill);margin-bottom:var(--s5)}
.bfc-title{font-family:var(--ff-display);font-size:clamp(1.7rem,2.8vw,2.6rem);font-weight:var(--fw-semi);letter-spacing:-.03em;line-height:1.15;color:var(--charcoal);margin-bottom:var(--s5)}
.bfc-title em{font-style:italic;color:var(--teal)}
.bfc-desc{font-size:14px;color:var(--slate);line-height:1.8;font-weight:var(--fw-light);margin-bottom:var(--s8)}
.bfc-meta{display:flex;align-items:center;gap:var(--s4);margin-bottom:var(--s8)}
.bfc-meta img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.bfc-meta-name{font-size:13px;font-weight:var(--fw-bold);color:var(--charcoal)}
.bfc-meta-sub{font-size:12px;color:var(--slate-lt)}
.blog-section-title{font-family:var(--ff-display);font-size:clamp(1.6rem,2.5vw,2.4rem);font-weight:var(--fw-reg);letter-spacing:-.02em;color:var(--charcoal);margin-bottom:var(--s10);padding-top:var(--s8);border-top:1px solid var(--cream-dk)}
.blog-section-title em{font-style:italic;color:var(--teal)}
.blog-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);margin-bottom:var(--s16)}
.article-card{background:var(--white);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--cream-dk);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;transition:transform var(--t),box-shadow var(--t)}
.article-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.article-img{overflow:hidden;flex-shrink:0}
.article-img img{width:100%;height:180px;object-fit:cover;filter:saturate(.9);transition:filter var(--t),transform .5s}
.article-card:hover .article-img img{filter:saturate(1.05);transform:scale(1.04)}
.article-body{padding:var(--s5) var(--s6) var(--s6);flex:1;display:flex;flex-direction:column}
.article-tag{display:inline-block;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.15em;text-transform:uppercase;color:var(--teal-dk);background:var(--teal-pale);padding:2px var(--s4);border-radius:var(--r-pill);margin-bottom:var(--s3)}
.article-title{font-family:var(--ff-display);font-size:1.1rem;font-weight:var(--fw-semi);line-height:1.3;color:var(--charcoal);margin-bottom:var(--s3);transition:color var(--t);flex:1}
.article-card:hover .article-title{color:var(--teal-dk)}
.article-desc{font-size:13px;color:var(--slate);line-height:1.7;font-weight:var(--fw-light);margin-bottom:var(--s4)}
.article-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--s4);border-top:1px solid var(--cream-dk)}
.article-author{display:flex;align-items:center;gap:var(--s2)}
.article-author img{width:22px;height:22px;border-radius:50%;object-fit:cover}
.article-author-name{font-size:11px;color:var(--slate);font-weight:var(--fw-semi)}
.article-read{font-size:11px;color:var(--teal);font-weight:var(--fw-bold)}
.article-wide{grid-column:span 2;display:grid;grid-template-columns:300px 1fr}
.article-wide .article-img img{height:100%}
.article-wide .article-title{font-size:1.3rem}
/* Newsletter */
.newsletter-strip{background:linear-gradient(135deg,var(--charcoal) 0%,var(--charcoal-md) 100%);border-radius:var(--r-xl);padding:var(--s12);display:flex;align-items:center;justify-content:space-between;gap:var(--s8);flex-wrap:wrap;margin-top:var(--s10)}
.newsletter-strip h3{font-family:var(--ff-display);font-size:clamp(1.4rem,2.5vw,2rem);font-weight:var(--fw-reg);color:#fff}
.newsletter-strip h3 em{font-style:italic;color:var(--teal-md)}
.newsletter-strip p{font-size:13px;color:rgba(255,255,255,.4);margin-top:var(--s2)}
.newsletter-form{display:flex;gap:var(--s3);flex-wrap:wrap}
.newsletter-form input{padding:var(--s4) var(--s6);border:1px solid rgba(255,255,255,.15);border-radius:var(--r-pill);background:rgba(255,255,255,.07);color:#fff;font-family:var(--ff-body);font-size:16px;min-width:230px;outline:none;-webkit-appearance:none}
.newsletter-form input::placeholder{color:rgba(255,255,255,.3)}
.newsletter-form input:focus{border-color:var(--teal-lt);background:rgba(255,255,255,.1)}

/* ABOUT */
.about-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s16);align-items:center}
.about-hero-img{width:100%;height:500px;object-fit:cover;border-radius:var(--r-xl);box-shadow:var(--shadow-lg);filter:saturate(.9)}
.about-hero-stat{position:absolute;bottom:var(--s8);left:calc(-1*var(--s8));background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--r-lg);padding:var(--s5) var(--s8);box-shadow:var(--shadow-lg)}
.about-hero-stat-n{font-family:var(--ff-display);font-size:2.8rem;font-weight:var(--fw-semi);color:var(--teal);display:block;line-height:1;letter-spacing:-.04em}
.about-hero-stat-l{font-size:12px;color:var(--slate);margin-top:4px}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s16);align-items:center}
.story-text h2{font-family:var(--ff-display);font-size:clamp(2.2rem,4vw,4rem);font-weight:var(--fw-reg);letter-spacing:-.03em;line-height:1.1;color:var(--charcoal);margin:var(--s5) 0}
.story-text h2 em{font-style:italic;color:var(--teal)}
.story-text p{font-size:1rem;color:var(--slate);line-height:1.85;margin-bottom:var(--s5);font-weight:var(--fw-light)}
.milestones{display:flex;flex-direction:column}
.milestone{display:flex;gap:var(--s5);padding:var(--s6) 0;border-bottom:1px solid var(--cream-dk)}
.milestone:last-child{border-bottom:none}
.milestone-year{font-family:var(--ff-display);font-size:1.4rem;font-weight:var(--fw-semi);color:var(--teal-pale);letter-spacing:-.04em;flex-shrink:0;width:68px;padding-top:2px}
.milestone-title{font-size:14px;font-weight:var(--fw-bold);color:var(--charcoal);margin-bottom:4px}
.milestone-desc{font-size:13px;color:var(--slate);line-height:1.7;font-weight:var(--fw-light)}
.mission-section{background:var(--teal-pale);border-top:1px solid rgba(45,155,138,.15);border-bottom:1px solid rgba(45,155,138,.15);padding:var(--s24) 0;text-align:center}
.mission-inner{max-width:840px;margin:0 auto;padding:0 var(--s8)}
.mission-inner blockquote{font-family:var(--ff-display);font-size:clamp(1.3rem,2.8vw,2.2rem);font-style:italic;color:var(--charcoal);line-height:1.5;margin-bottom:var(--s6);font-weight:var(--fw-reg)}
.mission-inner p{font-size:1rem;color:var(--slate);line-height:1.85;font-weight:var(--fw-light)}
.about-coaches-hd{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--s12);flex-wrap:wrap;gap:var(--s6)}
.about-coaches-hd h2{font-family:var(--ff-display);font-size:clamp(2rem,3.5vw,3.8rem);font-weight:var(--fw-reg);letter-spacing:-.03em;line-height:1.1;color:var(--charcoal)}
.about-coaches-hd h2 em{font-style:italic;color:var(--teal)}
.about-coaches-hd p{font-size:1rem;color:var(--slate);line-height:1.8;font-weight:var(--fw-light);max-width:380px}
.about-coach-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.about-coach-card{background:var(--white);border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--cream-dk);box-shadow:var(--shadow-xs);transition:transform var(--t),box-shadow var(--t)}
.about-coach-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.acc-photo{height:280px;overflow:hidden;position:relative}
.acc-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:filter var(--t),transform .6s}
.about-coach-card:hover .acc-photo img{filter:saturate(1.05);transform:scale(1.04)}
.acc-badge{position:absolute;bottom:var(--s4);left:var(--s4);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--teal-dk);font-size:10px;font-weight:var(--fw-bold);letter-spacing:.12em;text-transform:uppercase;padding:var(--s2) var(--s4);border-radius:var(--r-pill)}
.acc-body{padding:var(--s6)}
.acc-name{font-family:var(--ff-display);font-size:1.4rem;font-weight:var(--fw-semi);color:var(--charcoal);margin-bottom:var(--s3)}
.acc-bio{font-size:13px;color:var(--slate);line-height:1.75;margin-bottom:var(--s4);font-weight:var(--fw-light)}
.acc-tags{display:flex;flex-wrap:wrap;gap:var(--s2)}
.acc-tag{font-size:11px;font-weight:var(--fw-semi);background:var(--teal-pale);color:var(--teal-dk);padding:3px var(--s4);border-radius:var(--r-pill)}
.stats-band{background:linear-gradient(160deg,var(--teal-dk) 0%,var(--teal) 100%);padding:var(--s16) 0}
.stats-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s6);text-align:center}
.stat-n{font-family:var(--ff-display);font-size:3.2rem;font-weight:var(--fw-semi);color:#fff;display:block;letter-spacing:-.05em;line-height:1;margin-bottom:var(--s3)}
.stat-l{font-size:12px;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.1em}
.about-cta-strip{background:var(--off-white);padding:var(--s20) 0}
.about-cta-inner{background:linear-gradient(160deg,var(--charcoal) 0%,var(--charcoal-md) 100%);border-radius:var(--r-xl);padding:var(--s16);display:flex;align-items:center;justify-content:space-between;gap:var(--s8);flex-wrap:wrap}
.about-cta-inner h2{font-family:var(--ff-display);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:var(--fw-reg);color:#fff;letter-spacing:-.03em}
.about-cta-inner h2 em{font-style:italic;color:var(--teal-md)}
.about-cta-inner p{font-size:14px;color:rgba(255,255,255,.4);margin-top:var(--s2)}

/* SUPPORT */
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);max-width:1000px;margin:var(--s12) auto 0}
.support-card{background:var(--white);border-radius:var(--r-xl);border:1px solid var(--cream-dk);padding:var(--s10);text-align:center;box-shadow:var(--shadow-xs);transition:all var(--t)}
.support-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--teal-lt)}
.support-ico{font-size:2.5rem;margin-bottom:var(--s5);display:block}
.support-card h3{font-family:var(--ff-display);font-size:1.4rem;font-weight:var(--fw-semi);color:var(--charcoal);margin-bottom:var(--s3)}
.support-card p{font-size:14px;color:var(--slate);line-height:1.75;margin-bottom:var(--s6);font-weight:var(--fw-light)}

/* FAQ PAGE */
.faq-page-sec{background:var(--off-white);padding:var(--s24) 0}
.faq-list{max-width:760px;margin:var(--s12) auto 0}

/* LOGIN */
.login-wrap{min-height:100dvh;min-height:-webkit-fill-available;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 0%,var(--teal-pale) 0%,var(--off-white) 55%);padding:var(--s12) var(--s6)}
.login-card{background:var(--white);border-radius:var(--r-xl);border:1px solid var(--cream-dk);box-shadow:var(--shadow-lg);padding:var(--s12);width:100%;max-width:460px}
.login-card h2{font-family:var(--ff-display);font-size:2.6rem;font-weight:var(--fw-reg);letter-spacing:-.02em;color:var(--charcoal);margin-bottom:var(--s2)}
.login-sub{font-size:14px;color:var(--slate);margin-bottom:var(--s10);font-weight:var(--fw-light)}
.form-grp{margin-bottom:var(--s5)}
.form-grp label{display:block;font-size:11px;font-weight:var(--fw-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:var(--s2)}
.form-grp input{width:100%;padding:var(--s4) var(--s5);border:1.5px solid var(--cream-dk);border-radius:var(--r-md);font-family:var(--ff-body);font-size:16px;color:var(--charcoal);background:var(--off-white);outline:none;transition:border-color var(--t),box-shadow var(--t);-webkit-appearance:none}
.form-grp input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-pale)}
.login-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:var(--s8)}
.login-row a{color:var(--teal);font-weight:var(--fw-semi)}
.login-submit{width:100%;justify-content:center}
.login-signup{text-align:center;margin-top:var(--s6);font-size:13px;color:var(--slate)}
.login-signup a{color:var(--teal);font-weight:var(--fw-bold)}

/* LEGAL */
.legal-wrap{padding:var(--s24) 0;background:var(--off-white)}
.legal-content{max-width:760px;margin:0 auto}
.legal-content h1{font-family:var(--ff-display);font-size:clamp(2.2rem,4vw,3.8rem);font-weight:var(--fw-reg);letter-spacing:-.02em;color:var(--charcoal);margin-bottom:var(--s3)}
.legal-date{font-size:13px;color:var(--mist);margin-bottom:var(--s12)}
.legal-content h2{font-size:1rem;font-weight:var(--fw-bold);color:var(--charcoal);margin:var(--s10) 0 var(--s4);border-left:3px solid var(--teal-lt);padding-left:var(--s4)}
.legal-content p{font-size:15px;color:var(--slate);line-height:1.9;margin-bottom:var(--s5);font-weight:var(--fw-light)}
.legal-content ul{list-style:disc;padding-left:var(--s6);margin-bottom:var(--s5)}
.legal-content li{font-size:15px;color:var(--slate);line-height:1.8;margin-bottom:var(--s2);font-weight:var(--fw-light)}

/* POST */
.post-hero{background:linear-gradient(160deg,var(--charcoal) 0%,var(--charcoal-md) 60%,#2E4A3E 100%);padding:var(--s20) 0 0}
.post-inner{max-width:880px;margin:0 auto;padding:0 var(--s8)}
.post-meta{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s6)}
.post-date,.post-read{font-size:12px;color:rgba(255,255,255,.3)}
.post-h1{font-family:var(--ff-display);font-size:clamp(2rem,5vw,4rem);font-weight:var(--fw-reg);letter-spacing:-.03em;line-height:1.1;color:#fff;margin-bottom:var(--s8)}
.post-h1 em{font-style:italic;color:var(--teal-md)}
.post-author-row{display:flex;align-items:center;gap:var(--s4);padding-bottom:var(--s8);border-bottom:1px solid rgba(255,255,255,.07)}
.post-author-row img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(45,155,138,.4)}
.post-author-name{font-size:14px;font-weight:var(--fw-bold);color:#fff}
.post-author-role{font-size:12px;color:rgba(255,255,255,.3);margin-top:1px}
.post-cover{width:100%;height:460px;object-fit:cover;display:block;filter:brightness(.92) saturate(.9)}
.post-body{max-width:720px;margin:0 auto;padding:var(--s16) var(--s8) var(--s24);background:var(--off-white)}
.post-body p{font-size:1.05rem;color:var(--slate);line-height:1.92;margin-bottom:var(--s6);font-weight:var(--fw-light)}
.post-body h2{font-family:var(--ff-display);font-size:1.9rem;font-weight:var(--fw-semi);letter-spacing:-.02em;color:var(--charcoal);margin:var(--s12) 0 var(--s5)}
.post-body h3{font-size:1.05rem;font-weight:var(--fw-bold);color:var(--charcoal-md);margin:var(--s8) 0 var(--s3)}
.post-body ul,.post-body ol{padding-left:var(--s6);margin-bottom:var(--s6)}
.post-body li{font-size:1.05rem;color:var(--slate);line-height:1.85;margin-bottom:var(--s3);font-weight:var(--fw-light)}
.post-body blockquote{border-left:3px solid var(--teal-lt);padding-left:var(--s6);margin:var(--s8) 0;font-family:var(--ff-display);font-style:italic;font-size:1.2rem;color:var(--charcoal-md);line-height:1.6}
.post-body strong{color:var(--charcoal);font-weight:var(--fw-semi)}
.post-cta-box{background:linear-gradient(135deg,var(--charcoal) 0%,var(--charcoal-md) 100%);border-radius:var(--r-xl);padding:var(--s10);text-align:center;margin:var(--s12) 0}
.post-cta-box h3{font-family:var(--ff-display);font-size:1.8rem;font-weight:var(--fw-reg);color:#fff;margin-bottom:var(--s3)}
.post-cta-box p{font-size:14px;color:rgba(255,255,255,.45);margin-bottom:var(--s6);line-height:1.65;font-weight:var(--fw-light)}
.post-back{display:inline-flex;align-items:center;gap:var(--s2);font-size:12px;font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:var(--s6);transition:color var(--t);min-height:44px}
.post-back:hover{color:var(--teal-md)}

/* DASHBOARD */
.dash-layout{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 120px);background:var(--cream)}
.dash-sidebar{background:linear-gradient(180deg,var(--charcoal) 0%,var(--charcoal-md) 100%);padding:var(--s8) 0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.dash-user{padding:var(--s6) var(--s6) var(--s8);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:var(--s4)}
.dash-avatar{width:50px;height:50px;border-radius:50%;object-fit:cover;margin-bottom:var(--s3);border:2px solid rgba(45,155,138,.4)}
.dash-user-name{font-family:var(--ff-display);font-size:1.05rem;font-weight:var(--fw-semi);color:rgba(255,255,255,.9)}
.dash-user-plan{font-size:11px;color:rgba(255,255,255,.3);margin-top:2px;display:flex;align-items:center;gap:var(--s2)}
.dash-user-plan::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--teal-md);flex-shrink:0}
.dash-nav{display:flex;flex-direction:column;gap:1px;padding:0 var(--s4);flex:1}
.dash-nav-sec{font-size:9px;font-weight:var(--fw-bold);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.18);padding:var(--s5) var(--s3) var(--s2)}
.dash-nav-item{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);font-size:13px;font-weight:var(--fw-med);color:rgba(255,255,255,.4);transition:all var(--t);cursor:pointer;text-decoration:none;min-height:40px;border-radius:var(--r-md)}
.dash-nav-item:hover{background:rgba(255,255,255,.05);color:rgba(255,255,255,.8)}
.dash-nav-item.active{background:rgba(45,155,138,.15);color:var(--teal-md)}
.dash-nav-icon{font-size:15px;width:20px;text-align:center;flex-shrink:0}
.dash-sidebar-btm{padding:var(--s6) var(--s4);border-top:1px solid rgba(255,255,255,.05);margin-top:auto}
.dash-logout{display:flex;align-items:center;gap:var(--s3);font-size:13px;color:rgba(255,255,255,.2);cursor:pointer;padding:var(--s2) var(--s3);background:none;border:none;width:100%;transition:color var(--t)}
.dash-logout:hover{color:var(--teal-md)}
.dash-header-profile{display:flex;align-items:center;gap:var(--s3);flex-shrink:0}
.dash-header-name{font-size:13px;font-weight:var(--fw-semi);color:var(--slate)}
.dash-header-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--teal-pale);flex-shrink:0}
.dash-header-logout{width:34px;height:34px;border:1px solid var(--cream-dk);border-radius:var(--r-md);background:none;font-size:15px;color:var(--slate);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--t)}
.dash-header-logout:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-pale)}
.dash-main{padding:var(--s10);overflow-y:auto;-webkit-overflow-scrolling:touch}
.dash-topbar{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--s10);flex-wrap:wrap;gap:var(--s4)}
.dash-greeting h1{font-family:var(--ff-display);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:var(--fw-reg);letter-spacing:-.02em;color:var(--charcoal)}
.dash-greeting h1 em{font-style:italic;color:var(--teal)}
.dash-greeting p{font-size:14px;color:var(--slate);margin-top:var(--s2);font-weight:var(--fw-light)}
.dash-date{font-size:13px;color:var(--slate);background:var(--white);border:1px solid var(--cream-dk);border-radius:var(--r-md);padding:var(--s2) var(--s5)}
.dash-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4);margin-bottom:var(--s10)}
.dash-stat{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--cream-dk);box-shadow:var(--shadow-xs);padding:var(--s5) var(--s6);position:relative;overflow:hidden;transition:transform var(--t),box-shadow var(--t)}
.dash-stat:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.dash-stat.accent{background:linear-gradient(135deg,var(--teal-dk) 0%,var(--teal) 100%);border-color:transparent;box-shadow:var(--shadow-teal)}
.dash-stat-lbl{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--slate-lt);margin-bottom:var(--s3)}
.dash-stat.accent .dash-stat-lbl{color:rgba(255,255,255,.4)}
.dash-stat-n{font-family:var(--ff-display);font-size:2.4rem;font-weight:var(--fw-semi);color:var(--charcoal);display:block;line-height:1}
.dash-stat.accent .dash-stat-n{color:#fff}
.dash-stat-sub{font-size:12px;color:var(--slate-lt);margin-top:var(--s2)}
.dash-stat.accent .dash-stat-sub{color:rgba(255,255,255,.4)}
.dash-stat-ico{position:absolute;bottom:var(--s3);right:var(--s4);font-size:1.8rem;opacity:.07}
.dash-stat.accent .dash-stat-ico{opacity:.15}
.dash-sec-title{font-size:1rem;font-weight:var(--fw-bold);margin-bottom:var(--s5);display:flex;align-items:center;justify-content:space-between;color:var(--charcoal)}
.dash-sec-title a{font-size:12px;color:var(--teal);font-weight:var(--fw-semi)}
.dash-2col{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--s5);margin-bottom:var(--s10)}
.dash-prog-card{border-radius:var(--r-lg);overflow:hidden;position:relative;background:var(--charcoal)}
.dash-prog-img{width:100%;height:200px;object-fit:cover;opacity:.45;filter:saturate(.7)}
.dash-prog-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(30,45,58,.97) 0%,transparent 55%)}
.dash-prog-body{position:absolute;bottom:0;left:0;right:0;padding:var(--s6)}
.dash-prog-tag{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.15em;text-transform:uppercase;color:var(--teal-md);margin-bottom:var(--s2)}
.dash-prog-title{font-family:var(--ff-display);font-size:1.2rem;font-weight:var(--fw-semi);color:#fff;margin-bottom:var(--s4)}
.dash-bar-wrap{margin-bottom:var(--s4)}
.dash-bar-labels{display:flex;justify-content:space-between;font-size:11px;margin-bottom:var(--s2)}
.dash-bar-labels span:first-child{color:rgba(255,255,255,.35)}
.dash-bar-labels span:last-child{color:var(--teal-md);font-weight:var(--fw-bold)}
.dash-track{height:4px;background:rgba(255,255,255,.08);border-radius:var(--r-pill)}
.dash-fill{height:100%;background:linear-gradient(to right,var(--teal-dk),var(--teal-md));border-radius:var(--r-pill)}
.dash-sched{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--cream-dk);padding:var(--s6);box-shadow:var(--shadow-xs)}
.week-list{display:flex;flex-direction:column;gap:var(--s2);margin-top:var(--s4)}
.week-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--off-white);border-radius:var(--r-md);font-size:13px;transition:background var(--t)}
.week-row.done{background:var(--teal-xpale)}
.week-row.today{background:var(--teal-pale);border-left:3px solid var(--teal)}
.week-row.rest{opacity:.45}
.week-day-lbl{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--mist);width:26px;flex-shrink:0}
.week-name{flex:1;font-weight:var(--fw-med);color:var(--charcoal-md)}
.week-icon{font-size:14px}
.dash-sessions{display:flex;flex-direction:column;gap:var(--s3)}
.sess-row{display:flex;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);background:var(--white);border-radius:var(--r-md);border:1px solid var(--cream-dk);transition:background var(--t),transform var(--t),box-shadow var(--t)}
.sess-row:hover{background:var(--teal-xpale);border-color:var(--teal-lt);transform:translateX(4px);box-shadow:var(--shadow-xs)}
.sess-thumb{width:46px;height:46px;object-fit:cover;border-radius:var(--r-md);flex-shrink:0}
.sess-info{flex:1}
.sess-name{font-size:14px;font-weight:var(--fw-semi);color:var(--charcoal)}
.sess-meta{font-size:12px;color:var(--slate-lt);margin-top:2px}
.sess-badge{font-size:11px;font-weight:var(--fw-bold);padding:4px var(--s4);border-radius:var(--r-pill);letter-spacing:.04em}
.sess-badge.done{background:var(--teal-pale);color:var(--teal-dk)}
.sess-badge.next{background:var(--coral-pale);color:var(--coral-dk)}
.dash-medals{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s3);margin-bottom:var(--s10)}
.dash-medal{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s1);font-size:1.4rem;border-radius:var(--r-lg);transition:transform var(--t) var(--ease-spring);text-align:center}
.dash-medal:hover{transform:scale(1.12) rotate(-4deg)}
.dash-medal.earned{background:var(--teal-xpale);border:1px solid rgba(45,155,138,.2)}
.dash-medal.locked{background:rgba(30,45,58,.04);border:1px dashed rgba(30,45,58,.1);filter:grayscale(1);opacity:.3}
.dash-medal-lbl{font-size:9px;font-weight:var(--fw-bold);color:var(--slate-lt);letter-spacing:.04em;line-height:1.2}
.dash-medal.earned .dash-medal-lbl{color:var(--teal-dk)}

/* ═══════════════════════════════════
   RESPONSIVE — 960px
═══════════════════════════════════ */
@media(max-width:960px){
  section{padding:var(--s16) 0}
  .nav-links,.header-btns{display:none}
  .hamburger{display:flex}
  #hero{grid-template-columns:1fr;min-height:auto}
  .hero-right{height:340px}
  .hero-left{padding:var(--s12) var(--s8)}
  .hero-float{display:none}
  .why-top{grid-template-columns:1fr;gap:var(--s6)}
  .why-cards{grid-template-columns:1fr}
  .results-layout{grid-template-columns:1fr;border-radius:var(--r-lg)}
  .results-right{grid-template-columns:1fr 1fr}
  .inside-panel{grid-template-columns:180px 1fr}
  .inside-panel-num,.inside-panel-cta{display:none}
  .method-steps{grid-template-columns:1fr}
  .method-stats{grid-column:auto;grid-template-columns:1fr 1fr}
  .coaches-top{grid-template-columns:1fr;gap:var(--s5)}
  .coach-row{grid-template-columns:150px 1fr}
  .community-wrap{grid-template-columns:1fr}
  .community-right{height:240px}
  .pricing-pair{grid-template-columns:1fr;max-width:480px;margin:0 auto}
  .tcard-grid{grid-template-columns:1fr 1fr}
  .guarantee-wrap{grid-template-columns:1fr}
  .guarantee-right{min-height:300px}
  .guarantee-badge{left:var(--s4);top:var(--s4)}
  .faq-2col{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--s8)}
  .blog-featured-card{grid-template-columns:1fr}
  .bfc-img{height:280px}
  .blog-3col{grid-template-columns:1fr 1fr}
  .article-wide{grid-column:auto;grid-template-columns:1fr}
  .article-wide .article-img img{height:180px}
  .newsletter-strip{flex-direction:column}
  .about-hero-grid{grid-template-columns:1fr}
  .about-coaches-hd{flex-direction:column;align-items:flex-start}
  .about-coach-cards{grid-template-columns:1fr 1fr}
  .stats-4{grid-template-columns:1fr 1fr}
  .about-cta-inner{flex-direction:column;align-items:flex-start}
  .support-grid{grid-template-columns:1fr;max-width:440px}
  .dash-layout{grid-template-columns:1fr}
  .dash-sidebar{height:auto;position:static}
  .dash-header-profile{display:none}
  .dash-stat-row{grid-template-columns:1fr 1fr}
  .dash-2col{grid-template-columns:1fr}
  .dash-medals{grid-template-columns:repeat(4,1fr)}
  .story-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .container{padding:0 var(--s5);padding-left:max(var(--s5),env(safe-area-inset-left));padding-right:max(var(--s5),env(safe-area-inset-right))}
  section{padding:var(--s12) 0}
  .hero-h1{font-size:3rem}
  .hero-proof{flex-wrap:wrap;gap:var(--s4)}
  .hero-right{height:260px}
  .results-right{grid-template-columns:1fr}
  .result-wide{grid-column:auto}
  .inside-panel{grid-template-columns:1fr}
  .inside-panel-img{height:150px}
  .coach-row{grid-template-columns:1fr}
  .coach-img img{height:200px}
  .tcard-grid{grid-template-columns:1fr}
  .guarantee-badge{display:none}
  .blog-3col{grid-template-columns:1fr}
  .about-coach-cards{grid-template-columns:1fr}
  .stats-4{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .dash-medals{grid-template-columns:repeat(3,1fr)}
  .post-cover{height:220px}
  .post-body{padding:var(--s10) var(--s5) var(--s16)}
}
