/* ═══════════════════════════════════════════════════════════════
   VIVA — Women's Fitness Platform
   Аудитория: женщины 25–50 лет, СНГ
   Концепция: «Современная роскошь»
   Палитра: Слоновая кость × Сливовый × Пыльная роза × Золото
   Шрифты: Cormorant Garamond (display) + Nunito (body)
═══════════════════════════════════════════════════════════════ */

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

:root {
  --ivory:       #FAF7F2;
  --ivory-dk:    #F2EDE4;
  --ivory-warm:  #EDE5D8;
  --white:       #FEFCF9;
  --plum:        #5C3D5E;
  --plum-dk:     #3D2640;
  --plum-md:     #7A5580;
  --plum-lt:     #B39AB8;
  --plum-pale:   #EEE4F0;
  --rose:        #C4727A;
  --rose-dk:     #A85860;
  --rose-lt:     #DFA8AE;
  --rose-pale:   #F8ECED;
  --gold:        #C9A84C;
  --gold-lt:     #E8D4A0;
  --gold-pale:   #FBF6E8;
  --sage:        #7A9E8A;
  --sage-pale:   #E4EFE8;
  --ink:         #2A1F2E;
  --ink-soft:    #4A3852;
  --stone:       #8A7A8E;
  --stone-lt:    #BDB0C2;

  --ff-display: 'Cormorant Garamond', Georgia, serif;
  --ff-body:    'Nunito', system-ui, sans-serif;
  --fw-light: 300; --fw-reg: 400; --fw-med: 500; --fw-semi: 600; --fw-bold: 700;

  --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;

  --r-sm:6px; --r-md:14px; --r-lg:24px; --r-xl:36px; --r-pill:9999px;

  --shadow-xs: 0 2px 8px rgba(42,31,46,.06);
  --shadow-sm: 0 4px 20px rgba(42,31,46,.08);
  --shadow-md: 0 12px 40px rgba(42,31,46,.11);
  --shadow-lg: 0 24px 64px rgba(42,31,46,.14);
  --shadow-rose: 0 8px 32px rgba(196,114,122,.25);
  --shadow-plum: 0 8px 32px rgba(92,61,94,.2);

  --ease: cubic-bezier(.4,0,.2,1);
  --ease-spring: cubic-bezier(.34,1.4,.64,1);
  --t:.3s; --t-slow:.55s;
}

*,*::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(--ivory);color:var(--ink);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;-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{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{display:inline-flex;align-items:center;gap:var(--s3);font-family:var(--ff-body);font-size:11px;font-weight:var(--fw-bold);letter-spacing:.2em;text-transform:uppercase;color:var(--rose)}
.eyebrow--light{color:rgba(250,247,242,.55)}
.eyebrow--plum{color:var(--plum-lt)}
.eyebrow::before{content:'';display:inline-block;width:24px;height:1.5px;background:currentColor}

.btn{display:inline-flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s8);font-family:var(--ff-body);font-size:13px;font-weight:var(--fw-semi);letter-spacing:.06em;border:1.5px 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}
.btn-rose{background:var(--rose);color:#fff;box-shadow:var(--shadow-rose)}
.btn-rose:hover{background:var(--rose-dk);box-shadow:0 12px 40px rgba(196,114,122,.35);transform:translateY(-2px)}
.btn-plum{background:var(--plum);color:#fff;box-shadow:var(--shadow-plum)}
.btn-plum:hover{background:var(--plum-dk);transform:translateY(-2px);box-shadow:0 14px 44px rgba(92,61,94,.28)}
.btn-outline{background:transparent;color:var(--plum);border-color:var(--plum-lt)}
.btn-outline:hover{background:var(--plum-pale);border-color:var(--plum)}
.btn-outline-light{background:transparent;color:rgba(250,247,242,.85);border-color:rgba(250,247,242,.3)}
.btn-outline-light:hover{background:rgba(250,247,242,.1);border-color:rgba(250,247,242,.6)}
.btn-login{background:transparent;color:var(--plum);border-color:var(--plum-pale);border-radius:var(--r-pill);font-size:13px;min-height:44px}
.btn-login:hover{background:var(--plum-pale);border-color:var(--plum-lt)}
.btn-xl{padding:var(--s5) var(--s12);font-size:15px}
.btn-arrow::after{content:' →'}

/* BANNER */
#offer-banner{background:linear-gradient(135deg,var(--plum-dk) 0%,var(--plum) 100%);color:rgba(250,247,242,.9);padding:var(--s3) var(--s6);padding-left:max(var(--s6),env(safe-area-inset-left));padding-right:max(var(--s6),env(safe-area-inset-right));display:flex;align-items:center;justify-content:center;gap:var(--s5);flex-wrap:wrap;font-size:13px;font-weight:var(--fw-med);position:relative;z-index:200}
#offer-banner strong{color:var(--gold-lt);font-weight:var(--fw-bold)}
.ban-pill{background:var(--rose);color:#fff;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.12em;text-transform:uppercase;padding:3px var(--s4);border-radius:var(--r-pill)}
.ban-timer-wrap{display:inline-flex;align-items:center;gap:var(--s2);border:1px solid rgba(201,168,76,.4);border-radius:var(--r-sm);padding:3px var(--s4);font-size:13px;font-weight:var(--fw-bold);color:var(--gold-lt);font-variant-numeric:tabular-nums;letter-spacing:.04em}

/* HEADER */
#main-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(250,247,242,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--ivory-warm);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{display:flex;align-items:center;gap:var(--s3);flex-shrink:0}
.logo-box{width:36px;height:36px;background:linear-gradient(135deg,var(--plum) 0%,var(--rose) 100%);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);flex-shrink:0}
.logo-box::after{content:'E';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.7rem;font-weight:var(--fw-semi);color:var(--plum);letter-spacing:-.02em;line-height:1}
.logo-word span{color:var(--rose)}
.nav-links{display:flex;align-items:center;gap:var(--s6)}
.nav-links a{font-size:14px;font-weight:var(--fw-semi);color:var(--stone);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:1.5px;background:var(--rose);border-radius:var(--r-pill);transition:width var(--t) var(--ease)}
.nav-links a:hover{color:var(--plum)}
.nav-links a:hover::after{width:100%}
.header-btns{display:flex;align-items:center;gap:var(--s3);flex-shrink:0}
.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:1.5px;background:var(--plum);transition:all var(--t);border-radius:var(--r-pill)}
.hamburger.active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
#mobile-nav{display:none;position:fixed;inset:0;background:linear-gradient(160deg,var(--plum-dk) 0%,var(--plum) 60%,#6B3D6E 100%);z-index:99;flex-direction:column;align-items:flex-start;justify-content:center;padding:var(--s12);padding-top:max(var(--s12),calc(env(safe-area-inset-top) + var(--s8)));padding-bottom:max(var(--s12),calc(env(safe-area-inset-bottom) + var(--s8)));padding-left:max(var(--s12),env(safe-area-inset-left));gap:var(--s2)}
#mobile-nav.open{display:flex}
#mobile-nav a{font-family:var(--ff-display);font-size:clamp(2rem,6vw,3.5rem);font-weight:var(--fw-semi);color:rgba(250,247,242,.85);letter-spacing:-.02em;line-height:1.2;transition:color var(--t)}
#mobile-nav a:hover{color:var(--gold-lt)}
.mob-close{position:absolute;top:max(var(--s6),calc(env(safe-area-inset-top) + var(--s4)));right:var(--s6);background:rgba(250,247,242,.12);border:1px solid rgba(250,247,242,.2);color:rgba(250,247,242,.8);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(--rose);border-color:var(--rose);color:#fff}
.mob-cta-row{display:flex;gap:var(--s3);margin-top:var(--s8);flex-wrap:wrap}

/* TICKER */
.ticker-wrap{background:linear-gradient(135deg,var(--plum) 0%,var(--plum-md) 100%);overflow:hidden;padding:var(--s3) 0}
.ticker-track{display:flex;width:max-content;animation:ticker 32s 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(250,247,242,.7);white-space:nowrap;letter-spacing:.08em;text-transform:uppercase}
.ticker-sep{color:var(--rose-lt);font-size:16px}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* HERO */
#hero{padding:0;background:linear-gradient(160deg,var(--plum-dk) 0%,#4A2D55 55%,#6B3D6E 100%);min-height:88vh;min-height:-webkit-fill-available;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}
#hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 80% 30%,rgba(196,114,122,.15) 0%,transparent 65%),radial-gradient(ellipse 50% 50% at 20% 80%,rgba(201,168,76,.08) 0%,transparent 60%);pointer-events:none}
.hero-left{padding:var(--s20) var(--s12) var(--s20);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.hero-tag{display:inline-flex;align-items:center;gap:var(--s3);background:rgba(196,114,122,.18);border:1px solid rgba(196,114,122,.35);border-radius:var(--r-pill);padding:var(--s2) var(--s5);font-size:12px;font-weight:var(--fw-semi);letter-spacing:.08em;color:var(--rose-lt);margin-bottom:var(--s8);align-self:flex-start}
.hero-h1{font-family:var(--ff-display);font-size:clamp(3.5rem,5.5vw,7rem);font-weight:var(--fw-light);line-height:1.05;letter-spacing:-.02em;color:#fff;margin-bottom:var(--s8)}
.hero-h1 .line-italic{font-style:italic;color:var(--rose-lt);display:block;font-weight:var(--fw-reg)}
.hero-h1 .line-accent{color:var(--gold-lt);display:block;font-weight:var(--fw-semi)}
.hero-sub{font-size:1.1rem;color:rgba(250,247,242,.55);line-height:1.85;max-width:440px;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(--s8)}
.hero-trust-line{font-size:11px;color:rgba(250,247,242,.3);letter-spacing:.04em;margin-bottom:var(--s8);display:flex;align-items:center;gap:var(--s2)}
.hero-social-proof{display:flex;align-items:center;gap:var(--s6);padding-top:var(--s8);border-top:1px solid rgba(250,247,242,.1)}
.proof-n{font-family:var(--ff-display);font-size:2rem;font-weight:var(--fw-semi);color:var(--gold-lt);display:block;line-height:1;letter-spacing:-.02em}
.proof-l{font-size:11px;color:rgba(250,247,242,.35);margin-top:3px;letter-spacing:.05em}
.proof-div{width:1px;height:36px;background:rgba(250,247,242,.1)}
.hero-right{position:relative;overflow:hidden}
.hero-right>img{width:100%;height:100%;object-fit:cover;opacity:.55;mix-blend-mode:luminosity;filter:contrast(1.05)}
.hero-right::before{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--plum-dk) 0%,transparent 30%),linear-gradient(to top,rgba(61,38,64,.6) 0%,transparent 50%);z-index:1}
.hero-card{position:absolute;bottom:var(--s10);right:var(--s8);background:rgba(250,247,242,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--r-lg);border:1px solid rgba(250,247,242,.5);padding:var(--s5) var(--s6);max-width:230px;z-index:4;box-shadow:var(--shadow-lg)}
.hc-stars{color:var(--gold);font-size:12px;letter-spacing:2px;margin-bottom:var(--s2)}
.hc-text{font-family:var(--ff-display);font-style:italic;font-size:15px;color:var(--ink-soft);line-height:1.6;margin-bottom:var(--s3)}
.hc-author{font-size:11px;font-weight:var(--fw-bold);color:var(--plum);letter-spacing:.06em;text-transform:uppercase}
.hc-result{font-size:10px;color:var(--rose);margin-top:2px;font-weight:var(--fw-semi)}

/* GOALS */
#goals{padding:var(--s10) 0;background:var(--ivory-dk);border-bottom:1px solid var(--ivory-warm)}
.goals-flex{display:flex;flex-wrap:wrap;gap:var(--s3);justify-content:center}
.goal-pill{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s5);border:1px solid var(--ivory-warm);border-radius:var(--r-pill);background:var(--white);font-size:13px;font-weight:var(--fw-med);color:var(--ink-soft);box-shadow:var(--shadow-xs);transition:all var(--t) var(--ease-spring);cursor:default}
.goal-pill:hover{background:var(--rose);border-color:var(--rose);color:#fff;transform:translateY(-3px);box-shadow:var(--shadow-rose)}

/* SECTION HEADINGS */
.sec-hd{margin-bottom:var(--s16)}
.sec-hd h2{font-family:var(--ff-display);font-size:clamp(2.4rem,4vw,4.5rem);font-weight:var(--fw-light);letter-spacing:-.02em;line-height:1.1;margin:var(--s4) 0 var(--s5);color:var(--plum-dk)}
.sec-hd h2 em{font-style:italic;color:var(--rose);font-weight:var(--fw-reg)}
.sec-hd p{font-size:1.1rem;color:var(--stone);max-width:520px;line-height:1.8;font-weight:var(--fw-light)}
.sec-hd--center{text-align:center}
.sec-hd--center p{margin:0 auto}
.sec-hd--center .eyebrow{justify-content:center}

/* TRANSFORMATIONS */
#transformations{background:var(--white)}
.trans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}
.trans-card{background:var(--white);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--ivory-warm);transition:transform var(--t) var(--ease),box-shadow var(--t)}
.trans-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.trans-imgs{display:grid;grid-template-columns:1fr 1fr;gap:2px;position:relative}
.trans-imgs img{height:190px;object-fit:cover;width:100%;transition:filter var(--t)}
.trans-imgs img:first-child{filter:grayscale(.6) brightness(.9)}
.trans-card:hover .trans-imgs img:first-child{filter:grayscale(.2)}
.tx-label{position:absolute;top:var(--s3);background:rgba(42,31,46,.75);color:rgba(250,247,242,.9);font-size:9px;font-weight:var(--fw-bold);letter-spacing:.15em;text-transform:uppercase;padding:3px var(--s3);border-radius:var(--r-sm);backdrop-filter:blur(4px)}
.tx-label.b{left:var(--s3)}
.tx-label.a{left:calc(50% + var(--s3));background:rgba(196,114,122,.85)}
.trans-body{padding:var(--s5) var(--s6) var(--s6)}
.trans-name{font-family:var(--ff-display);font-size:1.25rem;font-weight:var(--fw-semi);margin-bottom:2px;color:var(--plum-dk)}
.trans-meta{font-size:11px;color:var(--stone-lt);margin-bottom:var(--s3);letter-spacing:.04em}
.trans-quote{font-family:var(--ff-display);font-style:italic;font-size:15px;color:var(--stone);line-height:1.65;margin-bottom:var(--s3)}
.trans-stars{color:var(--gold);font-size:12px;letter-spacing:2px}

/* CATEGORIES */
#categories{padding:0;background:var(--ivory)}
.cat-header{padding:var(--s24) var(--s8) var(--s10);max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:var(--s8);align-items:end}
.cat-header h2{font-family:var(--ff-display);font-size:clamp(2.8rem,5vw,5.5rem);font-weight:var(--fw-light);letter-spacing:-.03em;line-height:1.05;color:var(--plum-dk)}
.cat-header h2 em{font-style:italic;color:var(--rose)}
.cat-header-right p{font-size:1.1rem;color:var(--stone);line-height:1.8;font-weight:var(--fw-light);max-width:400px}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4);padding:0 var(--s8) var(--s24);max-width:1200px;margin:0 auto}
.cat-cell{height:420px;position:relative;overflow:hidden;border-radius:var(--r-xl);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--t) var(--ease),box-shadow var(--t)}
.cat-cell:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.cat-cell img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);filter:brightness(.75) saturate(.9)}
.cat-cell:hover img{transform:scale(1.04)}
.cat-cell-body{position:absolute;inset:0;padding:var(--s6);display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,rgba(42,31,46,.88) 0%,transparent 55%);border-radius:var(--r-xl)}
.cat-tag{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.18em;text-transform:uppercase;color:var(--rose-lt);margin-bottom:var(--s2)}
.cat-name{font-family:var(--ff-display);font-size:1.5rem;font-weight:var(--fw-semi);color:#fff;letter-spacing:-.02em;margin-bottom:var(--s3);line-height:1.2}
.cat-desc{font-size:15px;color:rgba(250,247,242,.65);line-height:1.55;max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.cat-cell:hover .cat-desc{max-height:100px}

/* METHOD */
#method{background:var(--ivory-dk)}
.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s20);align-items:center}
.method-img-wrap{position:relative}
.method-img-wrap img{width:100%;height:560px;object-fit:cover;border-radius:var(--r-xl);box-shadow:var(--shadow-lg);filter:brightness(.95)}
.method-img-wrap::before{content:'';position:absolute;inset:-12px;border:2px solid var(--plum-pale);border-radius:calc(var(--r-xl) + 12px);z-index:0}
.method-img-wrap img{position:relative;z-index:1}
.method-badge{position:absolute;bottom:var(--s8);left:calc(-1 * var(--s10));background:linear-gradient(135deg,var(--rose) 0%,var(--rose-dk) 100%);color:#fff;border-radius:var(--r-lg);padding:var(--s5) var(--s8);z-index:3;box-shadow:var(--shadow-rose);text-align:center}
.method-badge .big{font-family:var(--ff-display);font-size:3.2rem;font-weight:var(--fw-semi);display:block;line-height:1;letter-spacing:-.03em}
.method-badge .sm{font-size:11px;font-weight:var(--fw-semi);letter-spacing:.06em;opacity:.85;margin-top:var(--s2)}
.method-text h2{font-family:var(--ff-display);font-size:clamp(2rem,3.2vw,3.8rem);font-weight:var(--fw-light);letter-spacing:-.02em;line-height:1.1;margin:var(--s5) 0;color:var(--plum-dk)}
.method-text h2 em{font-style:italic;color:var(--rose);font-weight:var(--fw-reg)}
.method-lead{font-size:1.1rem;color:var(--stone);line-height:1.85;margin-bottom:var(--s10);font-weight:var(--fw-light)}
.feats{display:flex;flex-direction:column;gap:var(--s4);margin-bottom:var(--s10)}
.feat{display:flex;gap:var(--s4);align-items:flex-start;padding:var(--s5) var(--s6);border-radius:var(--r-md);border:1px solid var(--ivory-warm);background:var(--white);transition:border-color var(--t),box-shadow var(--t),transform var(--t)}
.feat:hover{border-color:var(--plum-pale);box-shadow:var(--shadow-sm);transform:translateX(4px)}
.feat-icon{width:40px;height:40px;background:var(--plum-pale);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.feat h4{font-size:14px;font-weight:var(--fw-bold);margin-bottom:3px;color:var(--plum-dk)}
.feat p{font-size:15px;color:var(--stone);line-height:1.65}

/* PROGRESS */
#progress{background:linear-gradient(160deg,var(--plum-dk) 0%,var(--plum) 100%);position:relative;overflow:hidden}
#progress::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 85% 40%,rgba(196,114,122,.12) 0%,transparent 65%);pointer-events:none}
.progress-wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--s16);align-items:center;position:relative;z-index:1}
.prog-text h2{font-family:var(--ff-display);font-size:clamp(2.2rem,3.5vw,4rem);font-weight:var(--fw-light);letter-spacing:-.02em;line-height:1.1;color:#fff;margin:var(--s5) 0}
.prog-text h2 em{font-style:italic;color:var(--rose-lt)}
.prog-lead{font-size:1.1rem;color:rgba(250,247,242,.5);line-height:1.85;margin-bottom:var(--s8);font-weight:var(--fw-light)}
.prog-stats-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}
.p2-stat{border-left:2px solid rgba(196,114,122,.4);padding-left:var(--s5)}
.p2-n{font-family:var(--ff-display);font-size:2.5rem;font-weight:var(--fw-semi);color:var(--gold-lt);display:block;line-height:1}
.p2-l{font-size:12px;color:rgba(250,247,242,.35);margin-top:var(--s2)}
.tracker-card{background:rgba(250,247,242,.06);border:1px solid rgba(250,247,242,.12);border-radius:var(--r-xl);padding:var(--s8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tk-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--s8)}
.tk-title{font-family:var(--ff-display);font-size:1.4rem;font-weight:var(--fw-semi);color:#fff}
.tk-sub{font-size:11px;color:rgba(250,247,242,.35);margin-top:2px}
.tk-streak{background:rgba(196,114,122,.2);border:1px solid rgba(196,114,122,.35);border-radius:var(--r-pill);color:var(--rose-lt);font-size:12px;font-weight:var(--fw-bold);padding:var(--s2) var(--s4)}
.tk-bars{display:flex;flex-direction:column;gap:var(--s5);margin-bottom:var(--s8)}
.tk-label-row{display:flex;justify-content:space-between;font-size:11px;margin-bottom:var(--s2)}
.tk-label-row .l{color:rgba(250,247,242,.4)}
.tk-label-row .r{color:var(--gold-lt);font-weight:var(--fw-bold)}
.tk-track{height:4px;background:rgba(255,255,255,.08);border-radius:var(--r-pill);overflow:hidden}
.tk-fill{height:100%;background:linear-gradient(to right,var(--rose),var(--gold-lt));border-radius:var(--r-pill);transition:width 1.2s cubic-bezier(0,0,.2,1)}
.tk-medals{display:flex;gap:var(--s3);flex-wrap:wrap}
.tk-medal{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;border:1px solid rgba(250,247,242,.12);border-radius:var(--r-md);background:rgba(255,255,255,.05);transition:transform var(--t) var(--ease-spring)}
.tk-medal.l{opacity:.3;filter:grayscale(1)}
.tk-medal:hover{transform:scale(1.15) rotate(-5deg)}

/* COACHES */
#coaches{background:var(--ivory)}
.coaches-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}
.coach-card{background:var(--white);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--ivory-warm);transition:transform var(--t) var(--ease),box-shadow var(--t)}
.coach-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.coach-photo{height:300px;overflow:hidden;position:relative}
.coach-photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease);filter:saturate(.9)}
.coach-card:hover .coach-photo img{transform:scale(1.04);filter:saturate(1)}
.coach-badge{position:absolute;bottom:var(--s4);left:var(--s4);background:rgba(250,247,242,.92);color:var(--rose-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);backdrop-filter:blur(6px)}
.coach-body{padding:var(--s6)}
.coach-name{font-family:var(--ff-display);font-size:1.4rem;font-weight:var(--fw-semi);letter-spacing:-.02em;margin-bottom:var(--s3);color:var(--plum-dk)}
.coach-bio{font-size:15px;color:var(--stone);line-height:1.7;margin-bottom:var(--s4);font-weight:var(--fw-light)}
.coach-tags{display:flex;flex-wrap:wrap;gap:var(--s2)}
.coach-tag{font-size:11px;font-weight:var(--fw-semi);background:var(--plum-pale);color:var(--plum-md);padding:3px var(--s4);border-radius:var(--r-pill)}

/* COMMUNITY */
#community{background:linear-gradient(160deg,#2A1F2E 0%,var(--plum-dk) 100%)}
.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s16);align-items:center}
.comm-text h2{font-family:var(--ff-display);font-size:clamp(2.2rem,3.5vw,4rem);font-weight:var(--fw-light);letter-spacing:-.02em;line-height:1.1;color:#fff;margin:var(--s5) 0}
.comm-text h2 em{font-style:italic;color:var(--rose-lt)}
.comm-lead{font-size:1.1rem;color:rgba(250,247,242,.45);line-height:1.85;margin-bottom:var(--s10);font-weight:var(--fw-light)}
.comm-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}
.cs{border-top:1px solid rgba(196,114,122,.2);padding-top:var(--s4)}
.cs-n{font-family:var(--ff-display);font-size:2.2rem;font-weight:var(--fw-semi);color:var(--gold-lt);display:block;line-height:1}
.cs-l{font-size:12px;color:rgba(250,247,242,.3);margin-top:var(--s2)}
.comm-photos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:200px 200px;gap:var(--s4)}
.comm-photo{overflow:hidden;border-radius:var(--r-lg)}
.comm-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.8) saturate(.85);transition:filter var(--t),transform var(--t)}
.comm-photo:hover img{filter:brightness(.9) saturate(1);transform:scale(1.03)}
.comm-photo.tall{grid-row:span 2}

/* PRICING */
#pricing{background:var(--ivory)}
.pricing-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);max-width:900px;margin:0 auto}
.price-card{background:var(--white);border-radius:var(--r-xl);padding:var(--s10);position:relative;border:1px solid var(--ivory-warm);box-shadow:var(--shadow-sm);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(--plum-dk) 0%,var(--plum) 100%);color:rgba(250,247,242,.9);border-color:var(--plum);box-shadow:var(--shadow-plum)}
.feat-tab{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--rose) 0%,var(--rose-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-rose);white-space:nowrap}
.plan-name{font-size:11px;font-weight:var(--fw-bold);letter-spacing:.18em;text-transform:uppercase;color:var(--stone-lt);margin-bottom:var(--s5)}
.featured .plan-name{color:rgba(250,247,242,.35)}
.plan-price{font-family:var(--ff-display);font-size:5rem;font-weight:var(--fw-semi);letter-spacing:-.04em;line-height:1;margin-bottom:var(--s2);color:var(--plum-dk)}
.featured .plan-price{color:var(--gold-lt)}
.plan-period{font-size:12px;color:var(--stone-lt);margin-bottom:var(--s5)}
.featured .plan-period{color:rgba(250,247,242,.3)}
.plan-desc{font-size:16px;color:var(--stone);line-height:1.75;margin-bottom:var(--s8);font-weight:var(--fw-light)}
.featured .plan-desc{color:rgba(250,247,242,.55)}
.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:15px;color:var(--stone)}
.featured .plan-feature{color:rgba(250,247,242,.6)}
.plan-feature::before{content:'✓';width:20px;height:20px;background:var(--sage-pale);color:var(--sage);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(122,158,138,.15);color:#8ECBB0}
.pricing-note{text-align:center;margin-top:var(--s8);font-size:15px;color:var(--stone)}

/* REVIEWS */
#reviews{background:var(--ivory-dk)}
.reviews-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s6)}
.rev-featured{background:linear-gradient(160deg,var(--plum-dk) 0%,var(--plum) 100%);border-radius:var(--r-xl);padding:var(--s10);position:relative;overflow:hidden;box-shadow:var(--shadow-plum)}
.rev-featured::before{content:'"';position:absolute;top:-40px;right:var(--s6);font-family:var(--ff-display);font-size:18rem;color:rgba(250,247,242,.04);line-height:1}
.rf-stars{color:var(--gold);font-size:13px;letter-spacing:3px;margin-bottom:var(--s6)}
.rf-text{font-family:var(--ff-display);font-style:italic;font-size:1.3rem;line-height:1.6;color:rgba(250,247,242,.9);margin-bottom:var(--s8)}
.rf-auth{display:flex;align-items:center;gap:var(--s4)}
.rf-auth img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid rgba(196,114,122,.5)}
.rf-name{font-size:14px;font-weight:var(--fw-bold);color:#fff}
.rf-result{font-size:12px;color:var(--rose-lt);margin-top:2px;font-weight:var(--fw-semi)}
.reviews-right{display:flex;flex-direction:column;gap:var(--s4)}
.rev-mini{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--ivory-warm);padding:var(--s6);flex:1;box-shadow:var(--shadow-xs);transition:box-shadow var(--t),transform var(--t)}
.rev-mini:hover{box-shadow:var(--shadow-sm);transform:translateY(-3px)}
.rm-stars{color:var(--gold);font-size:11px;letter-spacing:2px;margin-bottom:var(--s3)}
.rm-text{font-family:var(--ff-display);font-style:italic;font-size:15px;color:var(--stone);line-height:1.65;margin-bottom:var(--s4)}
.rm-auth{display:flex;align-items:center;gap:var(--s3)}
.rm-auth img{width:32px;height:32px;border-radius:50%;object-fit:cover}
.rm-name{font-size:12px;font-weight:var(--fw-bold);color:var(--plum-dk)}
.rm-res{font-size:11px;color:var(--rose);margin-top:1px;font-weight:var(--fw-semi)}

/* TRUST */
#trust{background:var(--ivory-dk);padding:var(--s12) 0;border-top:1px solid var(--ivory-warm);border-bottom:1px solid var(--ivory-warm)}
.trust-grid{display:flex;justify-content:space-around;flex-wrap:wrap;gap:var(--s6)}
.trust-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s2);flex:1;min-width:100px}
.trust-icon{font-size:2rem}
.trust-title{font-size:13px;font-weight:var(--fw-bold);color:var(--plum-dk)}
.trust-sub{font-size:11px;color:var(--stone-lt)}

/* GUARANTEE */
#guarantee{background:var(--white)}
.guar-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s16);align-items:center}
.guar-img{position:relative}
.guar-img img{width:100%;height:520px;object-fit:cover;border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}
.guar-medal{position:absolute;bottom:var(--s8);right:calc(-1 * var(--s8));background:linear-gradient(135deg,var(--plum) 0%,var(--rose-dk) 100%);color:#fff;width:130px;height:130px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:var(--shadow-plum)}
.guar-medal .days{font-family:var(--ff-display);font-size:3rem;font-weight:var(--fw-semi);display:block;line-height:1}
.guar-medal .word{font-size:10px;font-weight:var(--fw-semi);opacity:.8;margin-top:2px;letter-spacing:.08em;text-transform:uppercase}
.guar-text h2{font-family:var(--ff-display);font-size:clamp(2rem,3.2vw,3.6rem);font-weight:var(--fw-light);letter-spacing:-.02em;line-height:1.1;margin:var(--s5) 0;color:var(--plum-dk)}
.guar-text h2 em{font-style:italic;color:var(--rose)}
.guar-lead{font-size:1.1rem;color:var(--stone);line-height:1.85;margin-bottom:var(--s5);font-weight:var(--fw-light)}
.pay-strips{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s8)}
.pay-strip{padding:var(--s2) var(--s4);border:1px solid var(--ivory-warm);border-radius:var(--r-sm);font-size:12px;font-weight:var(--fw-semi);color:var(--stone);background:var(--ivory)}

/* FAQ */
#faq-section{background:var(--ivory-dk)}
.faq-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:var(--s16);align-items:flex-start}
.faq-left h2{font-family:var(--ff-display);font-size:clamp(2rem,3.2vw,3.8rem);font-weight:var(--fw-light);letter-spacing:-.02em;line-height:1.1;margin:var(--s5) 0;color:var(--plum-dk)}
.faq-left h2 em{font-style:italic;color:var(--rose)}
.faq-left>p{font-size:1.1rem;color:var(--stone);line-height:1.85;margin-bottom:var(--s8);font-weight:var(--fw-light)}
.faq-item{border-bottom:1px solid var(--ivory-warm)}
.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(--ink-soft);cursor:pointer;gap:var(--s4);min-height:52px;transition:color var(--t)}
.faq-q:hover{color:var(--plum)}
.faq-icon{width:28px;height:28px;border:1.5px solid var(--ivory-warm);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--stone-lt);flex-shrink:0;transition:all var(--t);font-weight:300}
.faq-item.open .faq-icon{background:var(--rose);border-color:var(--rose);color:#fff;transform:rotate(45deg)}
.faq-ans{max-height:0;overflow:hidden;transition:max-height .42s cubic-bezier(.4,0,.2,1),padding .3s;font-size:16px;color:var(--stone);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(--plum-dk);padding:var(--s20) 0 var(--s10);padding-bottom:max(var(--s10),calc(env(safe-area-inset-bottom) + var(--s10)));color:rgba(250,247,242,.45)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--s10);margin-bottom:var(--s16)}
.footer-brand .logo-word{color:rgba(250,247,242,.9)}
.footer-desc{font-size:15px;color:rgba(250,247,242,.3);line-height:1.75;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(250,247,242,.12);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:16px;color:rgba(250,247,242,.35);transition:all var(--t)}
.soc-btn:hover{background:var(--rose);border-color:var(--rose);color:#fff}
.footer-col h5{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.2em;text-transform:uppercase;color:rgba(250,247,242,.7);margin-bottom:var(--s5)}
.footer-col ul{display:flex;flex-direction:column;gap:var(--s3)}
.footer-col a{font-size:15px;color:rgba(250,247,242,.3);transition:color var(--t);font-weight:var(--fw-light)}
.footer-col a:hover{color:var(--rose-lt)}
.footer-btm{padding-top:var(--s8);border-top:1px solid rgba(250,247,242,.06);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s4)}
.footer-copy{font-size:12px;color:rgba(250,247,242,.15)}
.pay-set{display:flex;gap:var(--s2)}
.pay-chip{background:rgba(250,247,242,.04);border:1px solid rgba(250,247,242,.08);border-radius:var(--r-sm);padding:3px var(--s3);font-size:10px;font-weight:var(--fw-bold);color:rgba(250,247,242,.2);letter-spacing:.06em}

/* SECONDARY PAGES */
.pg-hero{background:linear-gradient(160deg,var(--plum-dk) 0%,var(--plum) 60%,#6B3D6E 100%);padding:var(--s24) 0 var(--s20);position:relative;overflow:hidden}
.pg-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 65% at 90% 50%,rgba(196,114,122,.1) 0%,transparent 70%);pointer-events:none}
.pg-hero h1{font-family:var(--ff-display);font-size:clamp(3rem,6vw,6rem);font-weight:var(--fw-light);letter-spacing:-.03em;line-height:1.05;color:#fff;margin:var(--s5) 0}
.pg-hero h1 em{font-style:italic;color:var(--rose-lt)}
.pg-hero p{font-size:1.15rem;color:rgba(250,247,242,.45);max-width:540px;line-height:1.8;font-weight:var(--fw-light)}
.pg-hero-cream{background:var(--ivory-dk);padding:var(--s20) 0 var(--s16);border-bottom:1px solid var(--ivory-warm);text-align:center}
.pg-hero-cream h1{font-family:var(--ff-display);font-size:clamp(3rem,6vw,6rem);font-weight:var(--fw-light);letter-spacing:-.03em;margin:var(--s5) 0;color:var(--plum-dk);line-height:1.05}
.pg-hero-cream h1 em{font-style:italic;color:var(--rose)}
.pg-hero-cream p{font-size:1.05rem;color:var(--stone);max-width:540px;margin:0 auto;font-weight:var(--fw-light);line-height:1.8}

/* BLOG */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);margin-top:var(--s12)}
.blog-card{background:var(--white);border-radius:var(--r-lg);overflow:hidden;display:block;color:inherit;border:1px solid var(--ivory-warm);box-shadow:var(--shadow-xs);transition:transform var(--t) var(--ease),box-shadow var(--t)}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.blog-card img{width:100%;height:200px;object-fit:cover;filter:saturate(.9);transition:filter var(--t),transform .5s var(--ease)}
.blog-card:hover img{filter:saturate(1.05);transform:scale(1.03)}
.blog-body{padding:var(--s5) var(--s6) var(--s6)}
.blog-tag{display:inline-block;background:var(--rose-pale);color:var(--rose-dk);font-size:10px;font-weight:var(--fw-bold);letter-spacing:.15em;text-transform:uppercase;padding:3px var(--s4);border-radius:var(--r-pill);margin-bottom:var(--s3)}
.blog-ttl{font-family:var(--ff-display);font-size:1.2rem;font-weight:var(--fw-semi);letter-spacing:-.01em;line-height:1.2;margin-bottom:var(--s3);color:var(--plum-dk);transition:color var(--t)}
.blog-card:hover .blog-ttl{color:var(--rose-dk)}
.blog-desc{font-size:15px;color:var(--stone);line-height:1.65;font-weight:var(--fw-light)}
.blog-read{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:var(--fw-bold);color:var(--plum-md);margin-top:var(--s3)}

/* ABOUT */
.about-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s12);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)}
.mission-band{background:var(--rose-pale);border-top:1px solid rgba(196,114,122,.15);border-bottom:1px solid rgba(196,114,122,.15);padding:var(--s20) 0;text-align:center}
.mission-inner{max-width:800px;margin:0 auto;padding:0 var(--s8)}
.mission-inner blockquote{font-family:var(--ff-display);font-size:clamp(1.3rem,3vw,2.2rem);font-style:italic;color:var(--plum-dk);line-height:1.5;margin-bottom:var(--s6);font-weight:var(--fw-light)}
.mission-inner p{font-size:1.1rem;color:var(--stone);line-height:1.8;font-weight:var(--fw-light)}
.values-band{background:linear-gradient(160deg,var(--plum-dk) 0%,var(--plum) 100%);padding:var(--s16) 0}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s6);text-align:center}
.v-n{font-family:var(--ff-display);font-size:3.5rem;font-weight:var(--fw-semi);color:var(--gold-lt);display:block;letter-spacing:-.03em;line-height:1;margin-bottom:var(--s2)}
.v-l{font-size:12px;color:rgba(250,247,242,.35);letter-spacing:.08em;text-transform:uppercase}

/* SUPPORT */
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);max-width:1000px;margin:var(--s12) auto 0}
.support-card{background:var(--white);border-radius:var(--r-xl);border:1px solid var(--ivory-warm);padding:var(--s10);text-align:center;box-shadow:var(--shadow-xs);transition:all var(--t) var(--ease)}
.support-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--plum-pale)}
.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);letter-spacing:-.01em;margin-bottom:var(--s3);color:var(--plum-dk)}
.support-card p{font-size:15px;color:var(--stone);line-height:1.7;margin-bottom:var(--s6);font-weight:var(--fw-light)}

/* LOGIN */
.login-wrap{min-height:calc(100vh - 120px);min-height:-webkit-fill-available;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 0%,var(--plum-pale) 0%,var(--ivory-dk) 60%);padding:var(--s12) var(--s6)}
.login-card{background:var(--white);border-radius:var(--r-xl);border:1px solid var(--ivory-warm);box-shadow:var(--shadow-lg);padding:var(--s12);width:100%;max-width:460px}
.login-card h2{font-family:var(--ff-display);font-size:2.8rem;font-weight:var(--fw-light);letter-spacing:-.02em;margin-bottom:var(--s2);color:var(--plum-dk)}
.login-sub{font-size:16px;color:var(--stone);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(--stone);margin-bottom:var(--s2)}
.form-grp input{width:100%;padding:var(--s4) var(--s5);border:1.5px solid var(--ivory-warm);border-radius:var(--r-md);font-family:var(--ff-body);font-size:16px;color:var(--ink);background:var(--ivory);outline:none;transition:border-color var(--t),box-shadow var(--t);-webkit-appearance:none}
.form-grp input:focus{border-color:var(--plum-lt);box-shadow:0 0 0 3px var(--plum-pale)}
.login-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:var(--s8)}
.login-row a{color:var(--rose-dk);font-weight:var(--fw-semi)}
.login-submit{width:100%;justify-content:center}
.login-signup{text-align:center;margin-top:var(--s6);font-size:15px;color:var(--stone)}
.login-signup a{color:var(--rose-dk);font-weight:var(--fw-bold)}

/* LEGAL */
.legal-wrap{padding:var(--s24) 0;background:var(--ivory)}
.legal-content{max-width:760px;margin:0 auto}
.legal-content h1{font-family:var(--ff-display);font-size:clamp(2.4rem,4vw,4rem);font-weight:var(--fw-light);letter-spacing:-.02em;margin-bottom:var(--s3);color:var(--plum-dk)}
.legal-date{font-size:13px;color:var(--stone-lt);margin-bottom:var(--s12)}
.legal-content h2{font-size:1.05rem;font-weight:var(--fw-bold);color:var(--plum-dk);margin:var(--s10) 0 var(--s4);border-left:3px solid var(--rose-lt);padding-left:var(--s4)}
.legal-content p{font-size:16px;color:var(--stone);line-height:1.88;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:16px;color:var(--stone);line-height:1.75;margin-bottom:var(--s2);font-weight:var(--fw-light)}

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

/* POST */
.post-pg-hero{background:linear-gradient(160deg,var(--plum-dk) 0%,var(--plum) 60%,#6B3D6E 100%);padding:var(--s20) 0 0}
.post-pg-inner{max-width:880px;margin:0 auto;padding:0 var(--s8)}
.post-pg-meta{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s6)}
.post-pg-date,.post-pg-read{font-size:12px;color:rgba(250,247,242,.35)}
.post-pg-h1{font-family:var(--ff-display);font-size:clamp(2.2rem,5vw,4.2rem);font-weight:var(--fw-light);letter-spacing:-.02em;line-height:1.1;color:#fff;margin-bottom:var(--s8)}
.post-pg-h1 em{font-style:italic;color:var(--rose-lt)}
.post-pg-author{display:flex;align-items:center;gap:var(--s4);padding-bottom:var(--s8);border-bottom:1px solid rgba(250,247,242,.08)}
.post-pg-author img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid rgba(196,114,122,.5)}
.post-pg-nm{font-size:14px;font-weight:var(--fw-bold);color:#fff}
.post-pg-role{font-size:12px;color:rgba(250,247,242,.35);margin-top:1px}
.post-cover{width:100%;height:460px;object-fit:cover;display:block;filter:brightness(.95)}
.post-body{max-width:720px;margin:0 auto;padding:var(--s16) var(--s8) var(--s24);background:var(--ivory)}
.post-body p{font-size:1.15rem;color:var(--stone);line-height:1.9;margin-bottom:var(--s6);font-weight:var(--fw-light)}
.post-body h2{font-family:var(--ff-display);font-size:2rem;font-weight:var(--fw-semi);letter-spacing:-.02em;color:var(--plum-dk);margin:var(--s12) 0 var(--s5)}
.post-body h3{font-size:1.05rem;font-weight:var(--fw-bold);color:var(--plum-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.15rem;color:var(--stone);line-height:1.8;margin-bottom:var(--s3);font-weight:var(--fw-light)}
.post-body blockquote{border-left:3px solid var(--rose-lt);padding-left:var(--s6);margin:var(--s8) 0;font-family:var(--ff-display);font-style:italic;font-size:1.2rem;color:var(--plum-md);line-height:1.6}
.post-body strong{color:var(--plum-dk);font-weight:var(--fw-semi)}
.post-cta{background:linear-gradient(135deg,var(--plum-dk) 0%,var(--plum) 100%);border-radius:var(--r-xl);padding:var(--s10);text-align:center;margin:var(--s12) 0}
.post-cta h3{font-family:var(--ff-display);font-size:1.8rem;font-weight:var(--fw-light);color:#fff;margin-bottom:var(--s3)}
.post-cta p{font-size:16px;color:rgba(250,247,242,.5);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(250,247,242,.4);margin-bottom:var(--s6);transition:color var(--t)}
.post-back:hover{color:var(--rose-lt)}

/* DASHBOARD */
.dash-layout{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 120px);background:var(--ivory-dk)}
.dash-sidebar{background:linear-gradient(180deg,var(--plum-dk) 0%,#3D2650 100%);padding:var(--s8) 0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.dash-user{padding:var(--s6) var(--s6) var(--s8);border-bottom:1px solid rgba(250,247,242,.06);margin-bottom:var(--s4)}
.dash-avatar{width:52px;height:52px;object-fit:cover;border-radius:50%;margin-bottom:var(--s3);border:2px solid rgba(196,114,122,.4)}
.dash-user-name{font-family:var(--ff-display);font-size:1.1rem;font-weight:var(--fw-semi);color:rgba(250,247,242,.9)}
.dash-user-plan{font-size:11px;color:rgba(250,247,242,.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(--sage);flex-shrink:0}
.dash-nav{display:flex;flex-direction:column;gap:1px;padding:0 var(--s4);flex:1}
.dash-section-lbl{font-size:9px;font-weight:var(--fw-bold);letter-spacing:.22em;text-transform:uppercase;color:rgba(250,247,242,.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(250,247,242,.4);transition:all var(--t);cursor:pointer;text-decoration:none;min-height:40px;border-radius:var(--r-md)}
.dash-nav-item:hover{background:rgba(250,247,242,.05);color:rgba(250,247,242,.8)}
.dash-nav-item.active{background:rgba(196,114,122,.15);color:var(--rose-lt)}
.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(250,247,242,.05);margin-top:auto}
.dash-logout{display:flex;align-items:center;gap:var(--s3);font-size:15px;color:rgba(250,247,242,.2);cursor:pointer;padding:var(--s2) var(--s3);background:none;border:none;width:100%;transition:color var(--t)}
.dash-logout:hover{color:var(--rose-lt)}
.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(--stone)}
.dash-header-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid var(--plum-pale);flex-shrink:0}
.dash-header-logout{width:34px;height:34px;border:1px solid var(--ivory-warm);border-radius:var(--r-md);background:none;font-size:15px;color:var(--stone);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--t)}
.dash-header-logout:hover{border-color:var(--rose-lt);color:var(--rose-dk);background:var(--rose-pale)}
.dash-main{padding:var(--s10);overflow-y:auto}
.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-light);letter-spacing:-.02em;color:var(--plum-dk)}
.dash-greeting h1 em{font-style:italic;color:var(--rose)}
.dash-greeting p{font-size:16px;color:var(--stone);margin-top:var(--s2);font-weight:var(--fw-light)}
.dash-date{font-size:15px;color:var(--stone);background:var(--white);border:1px solid var(--ivory-warm);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(--ivory-warm);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(--plum) 0%,var(--plum-md) 100%);border-color:transparent;box-shadow:var(--shadow-plum)}
.dash-stat-lbl{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--stone-lt);margin-bottom:var(--s3)}
.dash-stat.accent .dash-stat-lbl{color:rgba(250,247,242,.35)}
.dash-stat-n{font-family:var(--ff-display);font-size:2.5rem;font-weight:var(--fw-semi);color:var(--plum-dk);display:block;line-height:1}
.dash-stat.accent .dash-stat-n{color:var(--gold-lt)}
.dash-stat-sub{font-size:12px;color:var(--stone-lt);margin-top:var(--s2)}
.dash-stat.accent .dash-stat-sub{color:rgba(250,247,242,.3)}
.dash-stat-ico{position:absolute;bottom:var(--s3);right:var(--s4);font-size:1.8rem;opacity:.07}
.dash-sec-ttl{font-size:1rem;font-weight:var(--fw-bold);margin-bottom:var(--s5);display:flex;align-items:center;justify-content:space-between;color:var(--plum-dk)}
.dash-sec-ttl a{font-size:12px;color:var(--rose-dk);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(--plum-dk)}
.dash-prog-img{width:100%;height:200px;object-fit:cover;opacity:.5;filter:saturate(.7)}
.dash-prog-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(42,31,46,.96) 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(--rose-lt);margin-bottom:var(--s2)}
.dash-prog-ttl{font-family:var(--ff-display);font-size:1.25rem;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(250,247,242,.35)}
.dash-bar-labels span:last-child{color:var(--gold-lt);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(--rose),var(--gold-lt));border-radius:var(--r-pill)}
.dash-sched{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--ivory-warm);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(--ivory);border-radius:var(--r-md);font-size:13px;transition:background var(--t)}
.week-row.done{background:var(--sage-pale)}
.week-row.today{background:var(--plum-pale);border-left:3px solid var(--rose)}
.week-row.rest{opacity:.45}
.week-day-lbl{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--stone-lt);width:28px;flex-shrink:0}
.week-name{flex:1;font-weight:var(--fw-med);color:var(--ink-soft)}
.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(--ivory-warm);transition:background var(--t),transform var(--t),box-shadow var(--t)}
.sess-row:hover{background:var(--plum-pale);border-color:var(--plum-pale);transform:translateX(4px);box-shadow:var(--shadow-xs)}
.sess-thumb{width:48px;height:48px;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(--plum-dk)}
.sess-meta{font-size:12px;color:var(--stone-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(--sage-pale);color:var(--sage)}
.sess-badge.next{background:var(--plum-pale);color:var(--plum-md)}
.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(--gold-pale);border:1px solid rgba(201,168,76,.25)}
.dash-medal.locked{background:rgba(42,31,46,.03);border:1px dashed rgba(42,31,46,.1);filter:grayscale(1);opacity:.3}
.dash-medal-lbl{font-size:9px;font-weight:var(--fw-bold);color:var(--stone-lt);letter-spacing:.04em;line-height:1.2}
.dash-medal.earned .dash-medal-lbl{color:var(--stone)}

/* 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:380px}
  .hero-left{padding:var(--s12) var(--s8)}
  .hero-card{display:none}
  .cat-header{grid-template-columns:1fr;gap:var(--s6)}
  .cat-grid{grid-template-columns:1fr 1fr;gap:var(--s4)}
  .trans-grid{grid-template-columns:1fr 1fr}
  .method-grid{grid-template-columns:1fr;gap:var(--s10)}
  .method-badge{left:var(--s4)}
  .method-img-wrap::before{display:none}
  .progress-wrap{grid-template-columns:1fr;gap:var(--s10)}
  .coaches-grid{grid-template-columns:1fr 1fr}
  .community-grid{grid-template-columns:1fr;gap:var(--s10)}
  .pricing-pair{grid-template-columns:1fr;max-width:480px;margin:0 auto}
  .reviews-layout{grid-template-columns:1fr}
  .guar-grid{grid-template-columns:1fr;gap:var(--s10)}
  .guar-medal{right:var(--s4)}
  .faq-layout{grid-template-columns:1fr;gap:var(--s8)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--s8)}
  .blog-grid{grid-template-columns:1fr 1fr}
  .about-hero-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr 1fr}
  .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)}
}

/* RESPONSIVE 600px */
@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}
  #offer-banner{flex-direction:column;gap:var(--s2);padding:var(--s3);text-align:center}
  .hero-h1{font-size:3rem}
  .hero-social-proof{flex-wrap:wrap;gap:var(--s4)}
  .cat-grid{grid-template-columns:1fr;padding:0 var(--s5) var(--s16)}
  .cat-cell{height:320px}
  .trans-grid{grid-template-columns:1fr}
  .coaches-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr 1fr}
  .comm-photos{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .guar-medal{display:none}
  .method-badge{display:none}
  .prog-stats-2{grid-template-columns:1fr}
  .comm-stats{grid-template-columns:1fr 1fr}
  .dash-medals{grid-template-columns:repeat(3,1fr)}
  .post-cover{height:220px}
}

/* ── BODY TEXT SIZE INCREASE ── */
body { font-size: 16.5px; }
.sec-hd p, .method-lead, .prog-lead, .comm-lead, .guar-lead,
.faq-left > p, .coach-row-bio, .coach-bio, .acc-bio,
.plan-desc, .rm-text, .rf-text, .hero-sub,
.story-text p, .milestone-text p, .mission-inner p,
.why-card p, .method-step p, .guar-point-text,
.inside-panel-desc, .footer-desc { font-size: 15px; line-height: 1.85; }
.post-body p, .post-body li { font-size: 1.1rem; line-height: 1.92; }
.legal-content p, .legal-content li { font-size: 16px; }
.plan-feature, .pricing-note, .faq-ans { font-size: 15px; }
.article-desc, .bfc-desc, .blog-desc, .blog-body,
.support-card p, .trans-quote { font-size: 15px; }
.footer-col a, .footer-copy { font-size: 14px; }
.result-full p, .tcard-text { font-size: 15px; }
