/* ===========================================================
   Fit with Kriss — Stylesheet
   Recalibrated: cool monochrome + deep rose accent.
   Unbounded (display) + Onest (body), full Cyrillic.
   =========================================================== */

/* -------- TOKENS -------- */
:root{
  /* ink (cool near-black) */
  --ink-950:#111114;
  --ink-700:#2C2D33;
  --ink-500:#585A64;

  /* base (cool off-whites) */
  --base-0:#FFFFFF;
  --base-50:#F7F7F8;
  --base-100:#EFEFF2;
  --line-200:#E3E3E8;
  --line-300:#D2D3DA;

  /* accent — deep rose */
  --accent-600:#B01E54;
  --accent-700:#8E1843;
  --accent-300:#E8537F;  /* accent on dark surfaces */
  --accent-050:#FBEEF3;
  --accent-100:#F4D7E2;

  /* on-dark */
  --on-dark:#F5F5F7;
  --on-dark-dim:#A7A8B3;

  --ok:#2E7D4F;
  --err-soft:#FFE2E8;
  --wa:#25D366;

  --max:1280px;
  --gutter:clamp(1rem, 4vw, 5rem);

  --font-display:'Unbounded', sans-serif;
  --font-body:'Onest', system-ui, sans-serif;

  --fs-display: clamp(2.1rem, 1rem + 4.4vw, 4.4rem);
  --fs-h2: clamp(1.55rem, 1.05rem + 2.1vw, 2.5rem);
  --fs-body: 1rem;

  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 24px;
  --r-pill: 999px;

  --t-fast: 180ms;
  --t-base: 300ms;
  --t-slow: 650ms;
  --ease: cubic-bezier(.2,0,0,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-drawer: cubic-bezier(.32,.72,0,1);

  /* z-scale: nav < overlay < float */
  --z-nav:100;
  --z-menu:110;
  --z-float:90;
}

/* -------- BASE -------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:clip}

body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:1.6;
  color:var(--ink-700);
  background:var(--base-50);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{margin:0;padding:0;list-style:none}
figure{margin:0}

::selection{background:var(--accent-600);color:#fff}

:focus-visible{outline:2px solid var(--accent-600);outline-offset:3px;border-radius:4px}

/* -------- TYPE -------- */
.eyebrow{
  display:inline-block;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent-700);
  font-weight:600;
  margin-bottom:1.1rem;
}
.eyebrow--inv{color:rgba(255,255,255,.85)}

.h2{
  font-family:var(--font-display);
  font-weight:500;
  font-size:var(--fs-h2);
  line-height:1.12;
  letter-spacing:-.01em;
  color:var(--ink-950);
  margin:0 0 1.5rem;
  text-wrap:balance;
}
.h2 em,
.hero__title em,
.cta__title em{
  font-style:normal;
  color:var(--accent-600);
}
.h2--center{text-align:center}

.lead{
  font-size:1.1rem;
  color:var(--ink-700);
  max-width:58ch;
  text-wrap:pretty;
}

/* -------- BUTTONS -------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.9rem 1.6rem;
  font-weight:600;
  font-size:.95rem;
  letter-spacing:.01em;
  border-radius:var(--r-pill);
  transition:transform 160ms var(--ease-out),
             box-shadow var(--t-base) var(--ease),
             background var(--t-base) var(--ease),
             color var(--t-base) var(--ease);
  white-space:nowrap;
  cursor:pointer;
}
.btn:active{transform:scale(.97)}
.btn--lg{padding:1.05rem 1.9rem;font-size:1rem}
.btn--full{width:100%}

.btn--primary{
  background:var(--accent-600);
  color:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.08);
}
.btn--primary:hover{
  background:var(--accent-700);
  transform:translateY(-2px);
  box-shadow:0 14px 28px -12px rgba(176,30,84,.45);
}

.btn--ghost{
  background:transparent;
  color:var(--ink-950);
  box-shadow:inset 0 0 0 1.5px var(--ink-950);
}
.btn--ghost:hover{
  background:var(--ink-950);
  color:var(--base-50);
  transform:translateY(-2px);
}

.btn--light{
  background:#fff;
  color:var(--accent-700);
}
.btn--light:hover{
  background:var(--accent-050);
  transform:translateY(-2px);
  box-shadow:0 14px 28px -14px rgba(0,0,0,.35);
}

.btn svg{flex:0 0 auto}

/* -------- NAV (floating pill) -------- */
.nav{
  position:fixed;
  top:max(.9rem, env(safe-area-inset-top));
  /* centered via auto margins, NOT transform: a transformed ancestor
     would re-anchor the fixed-position mobile menu overlay */
  left:0;right:0;
  margin-inline:auto;
  z-index:var(--z-nav);
  width:min(1180px, calc(100% - 1.6rem));
  display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem;
  padding:.5rem .5rem .5rem 1.15rem;
  border-radius:var(--r-pill);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  color:#fff;
  transition:box-shadow var(--t-base) var(--ease);
}
/* glass surface lives on a pseudo-element: backdrop-filter on .nav itself
   would create a containing block and re-anchor the fixed mobile menu */
.nav::before{
  content:"";position:absolute;inset:0;z-index:-1;
  border-radius:inherit;
  background:rgba(17,17,20,.62);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  transition:background var(--t-base) var(--ease);
}
.nav.is-scrolled{
  box-shadow:0 12px 32px -16px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06);
}
.nav.is-scrolled::before{
  background:rgba(17,17,20,.86);
}
.nav__logo{
  display:flex;align-items:center;gap:.6rem;
  font-family:var(--font-display);
  font-size:.92rem;font-weight:500;
  color:#fff;
}
/* SVG brand logo (white wordmark + rose tag chip), rendered as <img> */
.brand{
  display:block;height:31px;width:auto;
  transition:transform var(--t-base) var(--ease-out);
}
.nav__logo:hover .brand{transform:translateY(-1px)}
@media (max-width:600px){.brand{height:26px}}
.brand--footer{height:34px;margin-bottom:1rem}
.nav__logo-mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:var(--accent-600);color:#fff;
  font-family:var(--font-body);font-size:.74rem;font-weight:700;
  letter-spacing:.05em;
}
.nav__links{display:flex;gap:1.5rem}
.nav__links a{
  font-size:.88rem;font-weight:500;
  color:rgba(255,255,255,.78);
  position:relative;
  transition:color var(--t-fast) var(--ease);
}
.nav__links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1.5px;
  background:var(--accent-300);
  transition:right var(--t-base) var(--ease);
}
.nav__links a:hover{color:#fff}
.nav__links a:hover::after{right:0}

.nav__right{display:flex;align-items:center;gap:.7rem}
.lang{
  display:inline-flex;align-items:center;gap:.15rem;
  padding:.15rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--r-pill);
}
.lang__btn{
  padding:.3rem .65rem;
  font-size:.7rem;font-weight:600;letter-spacing:.06em;
  border-radius:var(--r-pill);
  color:rgba(255,255,255,.75);
  transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease);
}
.lang__btn.is-active{background:#fff;color:var(--ink-950)}

.nav__cta{padding:.62rem 1.15rem;font-size:.84rem}

.nav__burger{display:none;flex-direction:column;gap:5px;width:34px;height:34px;justify-content:center;align-items:center;z-index:calc(var(--z-menu) + 1)}
.nav__burger span{display:block;width:20px;height:1.5px;background:#fff;transition:transform var(--t-base) var(--ease),opacity var(--t-base) var(--ease)}

@media (max-width:960px){
  .nav__links{
    position:fixed;inset:0;
    z-index:var(--z-menu);
    background:var(--ink-950);
    flex-direction:column;justify-content:center;align-items:flex-start;
    gap:1.4rem;
    transform:translateX(100%);
    /* exit faster than enter */
    transition:transform 380ms var(--ease-drawer);
    padding:6rem 2.2rem 2rem;
  }
  .nav__links a{
    font-family:var(--font-display);font-size:1.7rem;color:#fff;font-weight:500;
    opacity:0;transform:translateY(14px);
    transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out);
  }
  body.menu-open .nav__links{
    transform:translateX(0);
    transition-duration:550ms;
  }
  body.menu-open .nav__links a{
    opacity:1;transform:none;
    transition-duration:420ms;
  }
  body.menu-open .nav__links a:nth-child(1){transition-delay:120ms}
  body.menu-open .nav__links a:nth-child(2){transition-delay:160ms}
  body.menu-open .nav__links a:nth-child(3){transition-delay:200ms}
  body.menu-open .nav__links a:nth-child(4){transition-delay:240ms}
  body.menu-open .nav__links a:nth-child(5){transition-delay:280ms}
  body.menu-open .nav__burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  body.menu-open .nav__burger span:nth-child(2){opacity:0}
  body.menu-open .nav__burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .nav__burger{display:flex}
  .nav__cta{display:none}
}

/* -------- HERO -------- */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:8rem var(--gutter) 5.5rem;
  overflow:hidden;
  isolation:isolate;
}
.hero__media{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero__poster{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;object-fit:cover;
  object-position:center 28%;
  filter:saturate(1.02) contrast(1.05);
  animation:heroDrift 26s ease-in-out infinite alternate;
}
@keyframes heroDrift{
  from{transform:scale(1.04) translate3d(0,0,0)}
  to{transform:scale(1.08) translate3d(-1.2%,-.8%,0)}
}
.hero__overlay{
  position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(75deg, rgba(13,13,17,.72) 0%, rgba(13,13,17,.42) 48%, rgba(13,13,17,.18) 100%),
    linear-gradient(180deg, rgba(13,13,17,.25) 0%, transparent 30%, rgba(13,13,17,.66) 100%);
}
.hero__grain{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
.hero__content{
  position:relative;
  max-width:var(--max);
  margin:0 auto;width:100%;
  color:var(--on-dark);
}
.hero__title{
  font-family:var(--font-display);
  font-weight:500;
  font-size:var(--fs-display);
  line-height:1.06;
  letter-spacing:-.01em;
  margin:0 0 1.4rem;
  color:#fff;
  max-width:18ch;
}
.hero__title span{display:block;overflow:hidden}
.hero__title em{color:var(--accent-300)}

.hero__sub{
  font-size:1.15rem;
  max-width:46ch;
  color:rgba(255,255,255,.88);
  margin:0 0 2.2rem;
  text-wrap:pretty;
}
.hero__cta{display:flex;flex-wrap:wrap;gap:.9rem}
.hero__cta .btn--ghost{
  color:#fff;
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.65);
}
.hero__cta .btn--ghost:hover{
  background:#fff;color:var(--ink-950);
  box-shadow:inset 0 0 0 1.5px #fff;
}

/* -------- STATS -------- */
.stats{padding:5.5rem var(--gutter) 5rem;background:var(--base-50)}
.stats__row{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:2rem;
  max-width:var(--max);margin:0 auto;
  border-top:1px solid var(--line-300);
  border-bottom:1px solid var(--line-300);
  padding:3rem 0;
}
.stats__item{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}
.stats__num{
  font-family:var(--font-display);
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:500;line-height:1;
  color:var(--ink-950);
  font-feature-settings:"tnum";
}
.stats__lbl{font-size:.8rem;color:var(--ink-500);letter-spacing:.05em;text-transform:uppercase}
@media (max-width:760px){
  .stats__row{grid-template-columns:repeat(2,1fr);gap:2.4rem 1.4rem;padding:2rem 0}
}

/* -------- ABOUT -------- */
.about{
  display:grid;grid-template-columns:5fr 7fr;
  gap:clamp(2rem,5vw,5rem);
  max-width:var(--max);margin:0 auto;
  padding:7rem var(--gutter);
  align-items:start;
}
.about__photo{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r-lg)}
.about__photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.96)}
.about__text{padding-top:1rem}
@media (min-width:1024px){
  .about__text{position:sticky;top:7rem}
}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.chip{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.45rem 1rem;
  background:var(--base-0);
  border:1px solid var(--line-200);
  border-radius:var(--r-pill);
  font-size:.82rem;font-weight:500;
  color:var(--ink-700);
}
.chip--accent{
  background:var(--ink-950);color:var(--on-dark);
  border-color:var(--ink-950);
}
@media (max-width:900px){
  .about{grid-template-columns:1fr;gap:2rem}
}

/* -------- AUDIENCE (asymmetric bento) -------- */
.audience{padding:7rem var(--gutter);background:var(--base-100)}
.audience__head{max-width:var(--max);margin:0 auto 3rem}
.audience__grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-flow:dense;
  gap:1rem;
  max-width:var(--max);margin:0 auto;
}
.audience__media{
  grid-column:1/6;grid-row:1/3;
  border-radius:var(--r-lg);overflow:hidden;
  min-height:420px;
}
.audience__media img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(1.02) contrast(1.04);
  transition:transform 1.1s var(--ease-out);
}
.audience__media:hover img{transform:scale(1.04)}

.aud{
  padding:2.1rem 2rem;
  border-radius:var(--r-lg);
  background:var(--base-0);
  border:1px solid var(--line-200);
  transition:transform var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease);
}
.aud:hover{
  transform:translateY(-4px);
  border-color:var(--accent-600);
  box-shadow:0 24px 48px -28px rgba(17,17,20,.25);
}
.aud__title{
  font-family:var(--font-display);
  font-size:1.15rem;font-weight:500;
  color:var(--ink-950);margin:0 0 .55rem;
}
.aud__body{margin:0;color:var(--ink-500);font-size:.95rem;line-height:1.55}

.aud--feature{
  grid-column:6/13;
  background:var(--ink-950);
  border-color:var(--ink-950);
  color:var(--on-dark);
}
.aud--feature .aud__title{color:#fff;font-size:1.35rem}
.aud--feature .aud__body{color:var(--on-dark-dim);font-size:1rem}
.aud--feature:hover{border-color:var(--accent-300)}

.aud--a{grid-column:6/10}
.aud--b{grid-column:10/13}

.aud--accent{
  grid-column:1/13;
  background:var(--accent-050);
  border-color:var(--accent-100);
  display:flex;align-items:baseline;gap:2rem;flex-wrap:wrap;
}
.aud--accent .aud__title{flex:0 0 auto}
.aud--accent .aud__body{flex:1 1 320px;color:var(--ink-700)}

@media (max-width:900px){
  .audience__grid{grid-template-columns:1fr}
  .audience__media,
  .aud--feature,.aud--a,.aud--b,.aud--accent{grid-column:1/-1;grid-row:auto}
  .audience__media{min-height:260px}
  .aud--accent{flex-direction:column;gap:.5rem}
}

/* -------- COACHING / PRICING -------- */
.coaching{padding:7rem var(--gutter)}
.coaching__head{max-width:var(--max);margin:0 auto 3rem;text-align:center}

.plans{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1.25rem;
  max-width:var(--max);margin:0 auto;
}
@media (max-width:1240px){.plans{grid-template-columns:repeat(2,1fr);gap:2rem 1.25rem}}
.plan{
  position:relative;
  padding:2.4rem 2rem;
  background:var(--base-0);
  border:1px solid var(--line-200);
  border-radius:var(--r-lg);
  display:flex;flex-direction:column;
  transition:transform var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease);
}
.plan:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 48px -28px rgba(17,17,20,.2);
}
.plan--featured{
  background:var(--ink-950);color:var(--on-dark);
  border-color:var(--ink-950);
}
.plan__tag{
  position:absolute;top:-.8rem;left:50%;transform:translateX(-50%);
  background:var(--accent-600);color:#fff;
  padding:.3rem 1rem;border-radius:var(--r-pill);
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.plan__name{font-family:var(--font-display);font-size:1.25rem;font-weight:500;margin:0 0 .35rem}
.plan__lead{margin:0;color:var(--ink-500);font-size:.92rem}
.plan--featured .plan__lead{color:var(--on-dark-dim)}

.plan__price{display:flex;align-items:baseline;gap:.4rem;margin:1.6rem 0 1.4rem}
.plan__amt{
  font-family:var(--font-display);
  font-size:clamp(1.5rem,1rem + 1vw,1.9rem);
  font-weight:500;line-height:1;
  white-space:nowrap;
}
.plan__per{font-size:.88rem;color:var(--ink-500)}
.plan--featured .plan__per{color:var(--on-dark-dim)}
.plan__from{font-size:.82rem;font-weight:500;color:var(--ink-500);letter-spacing:.01em}
.plan--featured .plan__from{color:var(--on-dark-dim)}

.plan__feat{display:flex;flex-direction:column;gap:.7rem;margin:0 0 2rem}
.plan__feat li{
  position:relative;padding-left:1.5rem;
  font-size:.92rem;line-height:1.5;
}
.plan__feat li::before{
  content:"";position:absolute;left:0;top:.5em;
  width:7px;height:7px;border-radius:50%;background:var(--accent-600);
}
.plan--featured .plan__feat li::before{background:var(--accent-300)}

.plan a.btn{margin-top:auto}
.plan--featured .btn--ghost{
  color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5);
}
.plan--featured .btn--ghost:hover{background:#fff;color:var(--ink-950);box-shadow:inset 0 0 0 1.5px #fff}

.coaching__hint{
  text-align:center;margin:3rem auto 0;
  max-width:46ch;color:var(--ink-500);font-size:.95rem;
}
.coaching__hint a{color:var(--accent-700);text-decoration:underline;text-underline-offset:3px}

@media (max-width:900px){.plans{grid-template-columns:1fr;gap:1.6rem}}

/* -------- METHOD STEPS -------- */
.method{padding:7rem var(--gutter);background:var(--base-100)}
.method__head{max-width:var(--max);margin:0 auto 3rem;text-align:center}
.steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
  max-width:var(--max);margin:0 auto;
  position:relative;
}
.steps::before{
  content:"";position:absolute;top:1.6rem;left:0;right:0;
  height:1px;background:linear-gradient(90deg,transparent,var(--line-300) 10%,var(--line-300) 90%,transparent);
}
.step{position:relative;padding-top:3.4rem}
.step__num{
  position:absolute;top:0;left:0;
  display:flex;align-items:center;justify-content:center;
  width:3.2rem;height:3.2rem;border-radius:50%;
  background:var(--base-50);border:1px solid var(--line-300);
  font-size:.85rem;font-weight:600;
  color:var(--accent-700);
}
.step__title{font-family:var(--font-display);font-size:1.1rem;font-weight:500;margin:0 0 .5rem;color:var(--ink-950)}
.step__body{margin:0;color:var(--ink-500);font-size:.94rem;line-height:1.55}
@media (max-width:880px){
  .steps{grid-template-columns:1fr;gap:.6rem}
  .steps::before{display:none}
  .step{padding:1rem 0 1rem 4.5rem;border-bottom:1px solid var(--line-200)}
  .step:last-child{border-bottom:0}
  .step__num{top:1rem}
}

/* -------- CHAMPION -------- */
.champ{
  display:grid;grid-template-columns:7fr 5fr;
  gap:clamp(2rem,5vw,5rem);
  max-width:var(--max);margin:0 auto;
  padding:7rem var(--gutter);
  align-items:center;
}
.champ__photo-frame{
  aspect-ratio:4/5;
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:0 40px 80px -40px rgba(17,17,20,.4);
}
.champ__photo-frame img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(1.04) contrast(1.04);
  transition:transform 1.2s var(--ease-out);
}
.champ__cap{
  display:flex;flex-direction:column;gap:.15rem;
  margin-top:1rem;
}
.champ__cap strong{
  font-size:.95rem;font-weight:600;color:var(--ink-950);
}
.champ__cap span{font-size:.85rem;color:var(--ink-500)}

.champ__copy .lead{margin:0 0 2rem}
.champ__points{display:flex;flex-direction:column;margin:0}
.champ__points li{
  display:flex;flex-direction:column;gap:.25rem;
  padding:1.15rem 0;
}
.champ__points li + li{border-top:1px solid var(--line-200)}
.champ__points strong{
  font-size:.98rem;font-weight:600;
  color:var(--ink-950);
}
.champ__points span{font-size:.92rem;color:var(--ink-500);line-height:1.55}

@media (max-width:900px){
  .champ{grid-template-columns:1fr}
  .champ__photo{order:-1}
}

/* -------- LEAD MAGNET (accent color block) -------- */
.lead-band{
  padding:7rem var(--gutter);
  background:var(--accent-700);
  color:#fff;
  position:relative;overflow:hidden;
}
.lead-band::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 85% 15%, rgba(255,255,255,.1), transparent 45%);
  pointer-events:none;
}
.lead-band__inner{
  position:relative;
  display:grid;grid-template-columns:6fr 5fr;gap:3.5rem;
  max-width:var(--max);margin:0 auto;
  align-items:center;
}
.lead-band__copy .h2{color:#fff}
.lead-band__copy .h2 em{color:var(--accent-100)}
.lead-band__sub{margin:0;color:rgba(255,255,255,.92);max-width:46ch;text-wrap:pretty}
.lead-band__form{display:flex;gap:.6rem;flex-wrap:wrap}
.lead-band__form input{
  flex:1 1 240px;
  padding:1rem 1.3rem;
  background:transparent;
  color:#fff;
  border:1.5px solid rgba(255,255,255,.45);
  border-radius:var(--r-pill);
  font-size:1rem;font-family:inherit;
  transition:border-color var(--t-base) var(--ease);
}
.lead-band__form input::placeholder{color:rgba(255,255,255,.78)}
.lead-band__form input:focus{outline:none;border-color:#fff}
.lead-band__msg{
  flex-basis:100%;font-size:.88rem;min-height:1.2rem;margin:.2rem 0 0;
  color:var(--err-soft);font-weight:500;
}
.lead-band__msg.is-ok{color:#fff}
@media (max-width:900px){.lead-band__inner{grid-template-columns:1fr;gap:2rem}}

/* -------- FAQ -------- */
.faq{padding:7rem var(--gutter)}
.faq__head{max-width:780px;margin:0 auto 2.5rem}
.faq__list{max-width:780px;margin:0 auto}
.faq__item{
  border-top:1px solid var(--line-300);
  padding:1.4rem 0;
}
.faq__item:last-of-type{border-bottom:1px solid var(--line-300)}
.faq__item summary{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  list-style:none;cursor:pointer;
  font-size:1.05rem;font-weight:600;
  color:var(--ink-950);
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary i{
  flex:0 0 auto;
  position:relative;width:18px;height:18px;
}
.faq__item summary i::before,
.faq__item summary i::after{
  content:"";position:absolute;left:50%;top:50%;
  background:var(--accent-600);
  transition:transform var(--t-base) var(--ease),opacity var(--t-base) var(--ease);
}
.faq__item summary i::before{width:18px;height:1.5px;transform:translate(-50%,-50%)}
.faq__item summary i::after{width:1.5px;height:18px;transform:translate(-50%,-50%)}
.faq__item[open] summary i::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq__item p{
  margin:1rem 0 0;color:var(--ink-500);font-size:.98rem;line-height:1.6;
  max-width:62ch;
}
.faq__item[open] p{
  animation:faqIn 200ms var(--ease-out);
}
@keyframes faqIn{
  from{opacity:0;transform:translateY(4px)}
  to{opacity:1;transform:none}
}

/* -------- FIND / LOCATION -------- */
.find{
  display:grid;grid-template-columns:5fr 7fr;
  gap:clamp(2rem,5vw,5rem);
  max-width:var(--max);margin:0 auto;
  padding:7rem var(--gutter);
  align-items:center;
}
.find__head{display:flex;flex-direction:column;align-items:flex-start}
.find__head .h2{margin-bottom:1.4rem}
.find__head .lead{margin:0 0 1.6rem}
.find__meta{
  display:grid;grid-template-columns:1fr 1fr;gap:.9rem;
  margin:0 0 1.8rem;width:100%;
}
.find__meta li{
  display:flex;flex-direction:column;gap:.25rem;
  padding:1rem 1.1rem;
  background:var(--base-0);
  border:1px solid var(--line-200);
  border-radius:var(--r-md);
}
.find__meta li span{
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-500);font-weight:600;
}
.find__meta li strong{
  font-size:1rem;font-weight:600;
  color:var(--ink-950);
}
.find__map{
  position:relative;
  aspect-ratio:16/10;
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:0 30px 60px -36px rgba(17,17,20,.35);
}
.find__map iframe{
  width:100%;height:100%;border:0;
  filter:saturate(1.02);
}
.find__map-link{
  position:absolute;left:1rem;bottom:1rem;
  display:inline-flex;align-items:center;
  padding:.6rem 1rem;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border-radius:var(--r-pill);
  font-size:.82rem;font-weight:600;
  color:var(--ink-950);
  box-shadow:0 6px 18px -6px rgba(0,0,0,.25);
  transition:transform var(--t-fast) var(--ease);
}
.find__map-link:hover{transform:translateY(-2px)}
.find__map-link:active{transform:scale(.97)}
@media (max-width:900px){
  .find{grid-template-columns:1fr;gap:2rem}
  .find__meta{grid-template-columns:1fr}
  .find__map{aspect-ratio:1/1}
}

/* -------- FINAL CTA + FOOTER (one dark block) -------- */
.cta{
  padding:8rem var(--gutter) 7rem;
  text-align:center;position:relative;overflow:hidden;
  background:var(--ink-950);color:var(--on-dark);
}
.cta::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(176,30,84,.22), transparent 55%);
  pointer-events:none;
}
.cta__inner{position:relative;max-width:780px;margin:0 auto}
.cta__title{
  font-family:var(--font-display);
  font-weight:500;font-size:clamp(1.8rem,1.2rem + 2.8vw,3.1rem);
  line-height:1.1;
  color:#fff;
  margin:0 0 1.2rem;
  text-wrap:balance;
}
.cta__title span{display:block;overflow:hidden}
.cta__title em{color:var(--accent-300)}
.cta__sub{margin:0 0 2.2rem;color:var(--on-dark-dim);font-size:1.1rem}

.footer{
  padding:5rem var(--gutter) 2rem;
  background:var(--ink-950);color:var(--on-dark-dim);
  border-top:1px solid rgba(255,255,255,.08);
}
.footer__inner{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
  gap:2rem;max-width:var(--max);margin:0 auto 3rem;
}
.footer__col h4{
  font-size:.74rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--on-dark);
  margin:0 0 1rem;font-weight:600;
}
.footer__col a{display:block;font-size:.92rem;color:var(--on-dark-dim);padding:.25rem 0;transition:color var(--t-fast)}
.footer__col a:hover{color:#fff}
.footer__logo{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;
  background:var(--accent-600);color:#fff;
  font-weight:700;letter-spacing:.05em;font-size:.85rem;
  margin-bottom:1rem;
}
.footer__col p{margin:0;color:var(--on-dark-dim);font-size:.92rem;max-width:30ch}
.footer__bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);
  font-size:.82rem;color:var(--on-dark-dim);
  max-width:var(--max);margin:0 auto;
}
@media (max-width:760px){.footer__inner{grid-template-columns:1fr 1fr}.footer__bottom{flex-direction:column;gap:.5rem}}

/* -------- WHATSAPP FLOAT -------- */
.wa{
  position:fixed;right:1.5rem;bottom:1.5rem;z-index:var(--z-float);
  width:58px;height:58px;border-radius:50%;
  background:var(--wa);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 30px -10px rgba(37,211,102,.5);
  transition:transform var(--t-base) var(--ease-out);
}
.wa:hover{transform:scale(1.06)}
.wa:active{transform:scale(.95)}
.wa::before{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:2px solid var(--wa);opacity:0;
  animation:waPulse 3.2s ease-out infinite;
}
@keyframes waPulse{
  0%{transform:scale(1);opacity:.5}
  100%{transform:scale(1.5);opacity:0}
}

/* -------- REVEAL ANIMATIONS (JS-gated, fail-open) -------- */
.js [data-reveal]{
  opacity:0;
  transform:translateY(24px);
  transition:opacity 700ms var(--ease-out),transform 700ms var(--ease-out);
}
.js [data-reveal].in{opacity:1;transform:none}

/* stagger within grids */
.js .stats__item:nth-child(2),
.js .plans .plan:nth-child(2),
.js .steps .step:nth-child(2),
.js .audience__grid > :nth-child(2){transition-delay:.08s}
.js .stats__item:nth-child(3),
.js .plans .plan:nth-child(3),
.js .steps .step:nth-child(3),
.js .audience__grid > :nth-child(3){transition-delay:.16s}
.js .stats__item:nth-child(4),
.js .plans .plan:nth-child(4),
.js .steps .step:nth-child(4),
.js .audience__grid > :nth-child(4){transition-delay:.24s}
.js .audience__grid > :nth-child(5){transition-delay:.32s}

[data-split] span{display:block;overflow:hidden}
.js .split-word{
  display:inline-block;
  transform:translateY(110%);
  transition:transform 900ms var(--ease-out);
}
.js [data-split].in .split-word{transform:none}
.js .hero__title .split-word{transition-delay:.05s}

/* ===========================================================
   ATMOSPHERE — depth for the light surfaces
   =========================================================== */

/* fine film grain across the whole page so the off-white has texture */
body::after{
  content:"";
  position:fixed;inset:0;z-index:4;pointer-events:none;
  opacity:.035;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size:200px 200px;
}

/* soft rose glows so the white sections breathe as you scroll */
.coaching,.find{position:relative;isolation:isolate}
.coaching::before,.find::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
}
.coaching::before{background:radial-gradient(70% 55% at 82% 6%, rgba(176,30,84,.07), transparent 70%)}
.find::before{background:radial-gradient(65% 65% at 12% 92%, rgba(176,30,84,.06), transparent 70%)}

/* ===========================================================
   SCROLL-DRIVEN MOTION — gentle cinematic zoom on the big photos
   (off main thread; progressive enhancement; reduced-motion safe)
   =========================================================== */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .about__photo img,
    .champ__photo-frame img{
      animation:imgZoom linear both;
      animation-timeline:view();
      animation-range:entry 5% cover 48%;
      will-change:transform;
    }
    @keyframes imgZoom{
      from{transform:scale(1.12)}
      to{transform:scale(1)}
    }
  }
}

/* ===========================================================
   MOBILE POLISH
   =========================================================== */

@media (max-width:900px){
  .hero{padding:7rem var(--gutter) 3.5rem;min-height:92svh}
  .stats{padding:3.5rem var(--gutter)}
  .about,.audience,.coaching,.method,.champ,.find,.faq,.lead-band{padding:4.5rem var(--gutter)}
  .cta{padding:5.5rem var(--gutter)}
}

@media (max-width:600px){
  .nav{padding:.45rem .45rem .45rem .9rem;gap:.5rem;width:calc(100% - 1.2rem)}
  .nav__logo-text{display:none}
  .nav__right{gap:.45rem}
  .lang{padding:.1rem}
  .lang__btn{padding:.28rem .55rem;font-size:.64rem}

  .hero{padding:6.5rem 1.25rem 2.5rem;min-height:90svh}
  .hero__title{font-size:clamp(1.9rem,8vw,2.7rem);line-height:1.1}
  .hero__sub{font-size:1.02rem;margin-bottom:1.8rem}
  .hero__cta{flex-direction:column;align-items:stretch;gap:.65rem;width:100%}
  .hero__cta .btn{width:100%;padding:.95rem 1.2rem;font-size:.95rem}

  .h2{font-size:clamp(1.4rem,6.4vw,1.9rem)}
  .eyebrow{font-size:.66rem;margin-bottom:.8rem}

  .stats__row{gap:1.6rem 1rem;padding:1.6rem 0}
  .stats__num{font-size:1.8rem}
  .stats__lbl{font-size:.68rem}

  .about__photo{aspect-ratio:1/1.1}
  .chips{gap:.4rem;margin-top:1.2rem}
  .chip{font-size:.74rem;padding:.4rem .8rem}

  .aud{padding:1.6rem 1.3rem}
  .aud__title{font-size:1.05rem}
  .aud--feature .aud__title{font-size:1.15rem}

  .plan{padding:1.8rem 1.4rem}
  .plan__amt{font-size:1.6rem}
  .plan__name{font-size:1.1rem}
  .plan__feat li{font-size:.88rem}
  .plan__tag{font-size:.65rem;padding:.25rem .8rem}
  .coaching__hint{font-size:.88rem;margin-top:2rem}

  .step{padding:.85rem 0 .85rem 4rem}
  .step__num{width:2.6rem;height:2.6rem;top:.85rem;font-size:.78rem}
  .step__title{font-size:1rem}

  .champ{gap:1.8rem}
  .champ__photo-frame{aspect-ratio:4/5}
  .champ__points li{padding:.95rem 0}
  .champ__points strong{font-size:.92rem}
  .champ__points span{font-size:.86rem}

  .lead-band__inner{gap:1.6rem}
  .lead-band__form{flex-direction:column;align-items:stretch}
  .lead-band__form input{flex:1 1 auto;width:100%;padding:.9rem 1.1rem}
  .lead-band__form .btn{width:100%}

  .faq__item{padding:1.1rem 0}
  .faq__item summary{font-size:.98rem;gap:.8rem}
  .faq__item p{font-size:.92rem}

  .find__map{aspect-ratio:1/1}
  .find__meta{gap:.6rem}
  .find__meta li{padding:.8rem .9rem}
  .find__meta li strong{font-size:.92rem}
  .find__map-link{font-size:.74rem;padding:.45rem .8rem;left:.7rem;bottom:.7rem}

  .cta__title{font-size:clamp(1.5rem,7vw,2.1rem)}
  .cta__sub{font-size:1rem}

  .footer{padding:3.5rem var(--gutter) 1.5rem}
  .footer__inner{gap:1.6rem;margin-bottom:2rem}
  .footer__col h4{font-size:.68rem}
  .footer__col a,.footer__col p{font-size:.86rem}

  .wa{width:50px;height:50px;right:1rem;bottom:1rem}
  .wa svg{width:24px;height:24px}

  .btn--lg{padding:.95rem 1.4rem;font-size:.95rem}
}

@media (max-width:380px){
  :root{--gutter:1rem}
  .hero__title{font-size:1.7rem}
  .lang__btn{padding:.25rem .45rem;font-size:.6rem}
  .nav__logo-mark{width:30px;height:30px;font-size:.68rem}
  .stats__num{font-size:1.6rem}
  .plan__amt{font-size:1.45rem}
}

html{overflow-x:hidden;max-width:100vw}

@media (max-width:900px){
  .wa{bottom:max(1rem,env(safe-area-inset-bottom));right:max(1rem,env(safe-area-inset-right))}
}

/* hover lifts only on real pointers — touch taps shouldn't stick */
@media (hover: none){
  .btn:hover,
  .aud:hover,
  .plan:hover,
  .find__map-link:hover,
  .wa:hover{transform:none;box-shadow:inherit}
  .audience__media:hover img,
  .champ__photo:hover .champ__photo-frame img{transform:none}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .js [data-reveal]{opacity:1;transform:none}
  .js .split-word{transform:none}
  html{scroll-behavior:auto}
}
