@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-latin-ext-400.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-cyrillic-400.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-latin-ext-500.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-cyrillic-500.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-latin-ext-600.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-cyrillic-600.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-latin-ext-700.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-cyrillic-700.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{
  --ink:#1E1C21; --ink-2:#3E3A42; --ink-3:#4E4A52; --muted:#6A6670;
  --card:#F6F4F1; --line:#ECEAEA; --line-2:#E6E1DB;
  --accent:#ff66c4; --accent-hover:#ff7ccd; --mark:rgba(255,102,196,.18);
  --pc1:#F8DDEA; --pc2:#DDE6F8;
  --pad:clamp(20px, -8.23px + 7.238vw, 96px);
  --sec:clamp(64px, 43.20px + 5.333vw, 120px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:clamp(17px, 16.26px + 0.190vw, 19px);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,p,figure,blockquote{margin:0}
h1,h2,h3{font-weight:700;letter-spacing:-.03em}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:#5B4650}
img{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:6px}
body:has(dialog[open]){overflow:hidden}
.skip{position:absolute;left:-9999px;top:12px;z-index:100;background:#fff;padding:10px 16px;border-radius:999px;font-weight:600}
.skip:focus{left:16px}
.wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--pad)}
.nowrap{white-space:nowrap}

/* ---------- type ---------- */
.h1{font-size:clamp(38px, 25.37px + 3.238vw, 72px);line-height:1.05;letter-spacing:-.035em}
.h2{font-size:clamp(30px, 23.31px + 1.714vw, 48px);line-height:1.1}
.h2-xl{font-size:clamp(30px, 20.34px + 2.476vw, 56px);line-height:1.08}
.h2-m{font-size:clamp(26px, 22.29px + 0.952vw, 36px);line-height:1.15;letter-spacing:-.025em}
.h3{font-size:clamp(22px, 19.77px + 0.571vw, 28px);line-height:1.2;letter-spacing:-.02em}
.lead{font-size:clamp(18px, 16.51px + 0.381vw, 22px);line-height:1.55}
.t-18{font-size:clamp(16px, 15.26px + 0.190vw, 18px);line-height:1.6}
.t-15{font-size:15px;line-height:1.5}
.muted{color:var(--muted)}
.ink-2{color:var(--ink-2)}
.ink-3{color:var(--ink-3)}
.semi{font-weight:600}
.stack{display:flex;flex-direction:column;gap:var(--s,24px)}
.mark{color:var(--ink);background:var(--mark);border-radius:6px;padding:1px 3px;margin:0 -2px;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.mark-lg{color:var(--ink);background:var(--mark);border-radius:10px;padding:0 8px;white-space:nowrap;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.wave{position:relative;display:inline-block;white-space:nowrap}
.wave svg{position:absolute;left:0;bottom:-.16em;width:100%;height:14px;overflow:visible;fill:none;stroke:var(--accent);stroke-width:3.5;stroke-linecap:round}
.heart{display:inline-block;vertical-align:-4px;margin-left:6px;color:var(--accent)}

/* ---------- buttons & links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:62px;padding:0 34px;border-radius:999px;
  background:var(--accent);color:var(--ink);font-size:17px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;
  transition:background-color .2s ease,transform .15s ease}
.btn:hover{background:var(--accent-hover);color:var(--ink)}
.btn:active{transform:translateY(1px)}
.btn svg{flex-shrink:0}
.btn--lg{min-height:64px;padding:0 38px;font-size:18px}
.btn--block{display:flex;width:100%}
.btn-dark{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 22px;border-radius:999px;background:var(--ink);color:#fff;
  font-size:15px;font-weight:600;text-decoration:none;transition:background-color .2s ease}
.btn-dark:hover{background:#3a3640;color:#fff}
.more{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:17px;font-weight:600;text-decoration:none}
.more svg{transition:transform .2s ease}
.more:hover svg{transform:translateX(3px)}
.pill{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;border:1px solid #DDD8D2;background:#fff;
  font-size:16px;font-weight:600;cursor:pointer}
.pill:hover{border-color:#bdb6ae}

/* ---------- layout ---------- */
.sec{padding-bottom:var(--sec)}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}
.at-6-7{grid-column:6/span 7}.at-7-6{grid-column:7/span 6}.at-8-5{grid-column:8/span 5}.at-9-4{grid-column:9/span 4}
.ai-c{align-items:center}.ai-s{align-items:start}.ai-e{align-items:end}
.ph{width:100%;height:var(--h,600px);object-fit:cover;border-radius:32px;background:var(--card)}
.card{background:var(--card)}

/* ---------- header ---------- */
.site-header{position:relative;z-index:30;background:#fff}
.bar{height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:baseline;gap:12px;text-decoration:none}
.brand__name{font-size:20px;font-weight:700;letter-spacing:-.01em}
.brand__role{font-size:15px;color:var(--muted)}
.nav{display:flex;gap:clamp(20px,2.5vw,36px);margin-top:11px;font-size:16px;font-weight:500}
.nav a{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--ink-2)}
.nav a::after{content:"";width:5px;height:5px;border-radius:999px}
.nav a:hover{color:var(--ink)}
.nav a[aria-current=page]{font-weight:700;color:var(--ink)}
.nav a[aria-current=page]::after{background:var(--accent)}
.menu-btn{display:none;width:44px;height:44px;border:0;border-radius:999px;background:var(--card);align-items:center;justify-content:center;padding:0;cursor:pointer}
.menu-btn .i-close{display:none}
.menu-open .menu-btn .i-close{display:block}
.menu-open .menu-btn .i-burger{display:none}
.mnav{display:none}

/* ---------- hero (home) ---------- */
.hero{padding-top:clamp(12px, -4.34px + 4.190vw, 56px);padding-bottom:clamp(64px, 49.14px + 3.810vw, 104px)}
.hero__text{padding-right:32px}
.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;padding-top:8px}
.hero__note{font-size:15px;line-height:1.45;color:var(--muted)}
.page-hero{padding-top:clamp(24px, 6.17px + 4.571vw, 72px)}

/* ---------- intro ---------- */
.intro{display:flex;flex-direction:column;align-items:center;gap:36px;text-align:center;padding-top:64px}
.intro h2{max-width:900px}.intro .lead{max-width:800px}.intro .muted{max-width:760px}

/* ---------- topics ---------- */
.topics__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.topic{padding:clamp(22px,2.5vw,36px);border-radius:28px;background:var(--card);display:flex;flex-direction:column;gap:20px}
.topic p{font-size:clamp(16px, 14.89px + 0.286vw, 19px);line-height:1.55;color:var(--ink-3)}
.topic b{font-weight:700;color:var(--ink)}
.dot{width:10px;height:10px;flex-shrink:0;border-radius:999px;background:var(--accent)}
.topics__more{display:none}

/* ---------- pearl panels ---------- */
.pearl{position:relative;overflow:hidden;border-radius:40px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E"), radial-gradient(45% 70% at 58% 38%,rgba(255,255,255,.75) 0%,rgba(255,255,255,0) 70%),linear-gradient(125deg,var(--pc1) 0%,var(--pc2) 100%)}
.pearl--mid{padding:88px 96px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:32px}
.pearl--mid h2{font-size:clamp(28px, 19.09px + 2.286vw, 52px);line-height:1.08;max-width:900px}
.pearl--mid .p1{font-size:clamp(18px, 16.51px + 0.381vw, 22px);line-height:1.65;color:var(--ink-2);max-width:780px}
.pearl--mid .p2{font-size:clamp(17px, 15.51px + 0.381vw, 21px);line-height:1.5;font-weight:600}
.cta{padding:104px 96px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px}
.cta h2{font-size:clamp(32px, 20.11px + 3.048vw, 64px);line-height:1.04;letter-spacing:-.035em}
.cta .p1{font-size:clamp(17px, 15.89px + 0.286vw, 20px);line-height:1.6;color:var(--ink-3);max-width:720px}
.cta .p2{font-size:clamp(16px, 15.26px + 0.190vw, 18px);line-height:1.6;font-weight:500}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.stat{padding:40px;border-radius:28px;background:var(--card);display:flex;flex-direction:column;gap:6px}
.stat__n{font-size:clamp(21px, 8.00px + 3.333vw, 56px);font-weight:700;letter-spacing:-.04em;line-height:1.15;white-space:nowrap}
.stat__l{font-size:17px;line-height:1.4;color:var(--muted)}
.stat .l-short{display:none}
.stats--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.stats--2 .stat{padding:36px;gap:8px}
.stats--2 .stat__n{font-size:clamp(28px, 22.06px + 1.524vw, 44px)}
.stats--2 .stat--word{justify-content:flex-end}
.stats--2 .stat--word .stat__n{font-size:clamp(20px, 16.29px + 0.952vw, 30px)}

/* ---------- price ---------- */
.price{padding:44px;border-radius:32px;background:var(--card);display:flex;flex-direction:column}
.price__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:18px}
.price__row b{font-size:22px;font-weight:700;white-space:nowrap}
.price__row:first-child{padding-bottom:24px;border-bottom:1px solid var(--line-2)}
.price__row:nth-child(2){padding:24px 0 32px}
.price__note{font-size:15px;line-height:1.55;text-align:center;padding-top:20px;color:var(--ink-3)}
.price__note a{font-weight:600}

/* ---------- reviews ---------- */
.rev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.feature{padding:64px 80px;border-radius:40px;background:var(--card);display:flex;flex-direction:column;gap:28px}
.feature p{font-size:clamp(21px, 16.17px + 1.238vw, 34px);font-weight:500;line-height:1.36;letter-spacing:-.02em;max-width:1080px}
.qicon{width:48px;height:38px;fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round}
.qcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.qcard{padding:40px;border-radius:28px;background:var(--card);font-size:18px;line-height:1.6}
.shots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.shot{position:relative;display:block;width:100%;height:250px;padding:0;border:0;border-radius:18px;overflow:hidden;background:var(--card);cursor:zoom-in}
.shot img{width:100%;height:auto}
.shot::after{content:"";position:absolute;left:0;right:0;bottom:0;height:72px;background:linear-gradient(rgba(255,255,255,0),#fff)}
.coach{padding-top:72px;border-top:1px solid var(--line)}
.coach-quote p{font-size:clamp(21px, 18.40px + 0.667vw, 28px);font-weight:500;line-height:1.34;letter-spacing:-.02em}
.ccards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ccard{padding:32px;border-radius:24px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.ccard p{font-size:17px;line-height:1.6}
.ccard figcaption{font-size:14px;line-height:1.4;color:var(--muted)}
.ccard figcaption b{color:var(--ink);font-weight:600}
.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.pill[aria-expanded=true] .plus{transform:rotate(45deg)}
.plus{display:inline-block;font-weight:400;transition:transform .2s ease}

/* lightbox */
dialog.lb{padding:0;border:0;background:transparent;max-width:min(92vw,760px);max-height:94vh;overflow:visible}
dialog.lb::backdrop{background:rgba(24,20,26,.82)}
dialog.lb img{max-width:100%;max-height:88vh;width:auto;border-radius:16px;margin:0 auto}
.lb__close{position:fixed;top:20px;right:20px;width:52px;height:52px;border-radius:999px;border:0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}

/* ---------- accordion ---------- */
.acc{display:flex;flex-direction:column;gap:12px}
.acc details{border-radius:24px;background:var(--card)}
.acc summary{list-style:none;min-height:84px;padding:26px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;
  font-size:clamp(17px, 15.89px + 0.286vw, 20px);font-weight:600;line-height:1.4;cursor:pointer}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";flex-shrink:0;width:20px;text-align:center;font-size:26px;font-weight:400;line-height:1}
.acc details[open] summary::after{content:"\2212"}
.acc details p{padding:0 32px 28px;margin-top:-8px;font-size:clamp(16px, 15.26px + 0.190vw, 18px);line-height:1.6;color:var(--ink-3)}

/* ---------- contacts ---------- */
.ccols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.cbox{padding:44px 44px 26px;border-radius:32px;background:var(--card);display:flex;flex-direction:column}
.cbox h3{margin-bottom:18px}
.crow{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:18px 0;border-top:1px solid var(--line-2)}
.crow__k{font-size:15px;color:var(--muted)}
.crow__v{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;min-width:0}
.crow__v a{overflow-wrap:anywhere}
.crow__v a{display:inline-flex;align-items:center;gap:6px;font-size:18px;font-weight:600;text-decoration:none}
.crow__v span{font-size:14px;color:var(--muted)}
.tgcard{padding:56px;border-radius:40px;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;min-height:420px}
.tgcard__k{font-size:16px;font-weight:600;color:var(--ink-3)}
.tgcard__v{font-size:clamp(44px, 36.57px + 1.905vw, 64px);font-weight:700;line-height:1.05;letter-spacing:-.035em}
.tgcard .btn{align-self:flex-start;margin-top:18px}
.readbox{padding:48px 56px 32px;border-radius:32px;background:var(--card)}

/* ---------- inner pages ---------- */
.big-muted{font-size:clamp(21px, 18.40px + 0.667vw, 28px);font-weight:700;line-height:1.35;letter-spacing:-.02em;color:var(--muted);padding:8px 0}
.band{padding:88px 96px;border-radius:40px;background:var(--card)}
.edu{display:flex;flex-direction:column;border-bottom:1px solid var(--line)}
.edu__row{display:flex;gap:28px;padding:22px 0;border-top:1px solid var(--line);align-items:baseline}
.edu__y{width:88px;flex-shrink:0;font-size:16px;color:var(--muted)}
.edu__t{font-size:18px;line-height:1.45;font-weight:600}
.edu__d{font-size:15px;line-height:1.5;color:var(--muted)}
.facts{padding:28px 32px 12px;border-radius:28px;background:var(--card)}
.facts div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--line-2);font-size:17px}
.facts div:first-child{border-top:0}
.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:600;text-align:right}
.steps{border-bottom:1px solid var(--line)}
.step{padding:48px 0;border-top:1px solid var(--line)}
.step__h{display:flex;gap:24px;align-items:baseline}
.step__n{font-size:15px;font-weight:600;color:var(--muted)}
.step__h h2{font-size:clamp(24px, 21.03px + 0.762vw, 32px);line-height:1.2;letter-spacing:-.02em}
.note{display:flex;gap:14px;align-items:flex-start;padding:22px 24px;border-radius:20px;background:var(--card);margin-top:6px}
.note p{font-size:17px;line-height:1.55}
.note svg{flex-shrink:0;margin-top:2px}
.fgroup{padding:56px 0 40px;border-top:1px solid var(--line)}
.fgroup h2{font-size:clamp(24px, 21.77px + 0.571vw, 30px);line-height:1.2;letter-spacing:-.02em}
.fgroup h3{font-size:clamp(18px, 16.89px + 0.286vw, 21px);line-height:1.4;font-weight:700;letter-spacing:-.01em}
.fgroup p{font-size:clamp(16px, 15.26px + 0.190vw, 18px);line-height:1.6;color:var(--ink-3)}
.compact{padding:56px 64px;border-radius:32px;background:var(--card);display:flex;justify-content:space-between;align-items:center;gap:40px}
.compact .btn{flex-shrink:0}
.fcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fcard{padding:40px;border-radius:32px;background:var(--card);display:flex;flex-direction:column;gap:18px}
.fcard span{font-size:15px;font-weight:600;color:var(--muted)}
.fcard h2{font-size:clamp(22px, 19.77px + 0.571vw, 28px);line-height:1.2;letter-spacing:-.02em}
.fcard p{font-size:clamp(16px, 15.26px + 0.190vw, 18px);line-height:1.6;color:var(--ink-3)}
.dash{display:flex;align-items:center;gap:12px;font-size:17px;line-height:1.6;color:var(--muted)}
.dash::before{content:"";width:32px;height:2px;flex-shrink:0;background:var(--accent)}

/* ---------- footer ---------- */
.site-footer{margin-top:var(--sec)}
.foot{padding:48px 0 40px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:36px;font-size:15px;color:var(--muted)}
.foot__top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px}
.foot__brand{display:flex;flex-direction:column;gap:6px}
.foot__brand a{font-size:18px;font-weight:700;color:var(--ink);text-decoration:none}
.foot__cols{display:flex;gap:72px}
.foot__col{display:flex;flex-direction:column;gap:10px}
.foot__col>span{font-size:13px}
.foot__col a{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;text-decoration:none}
.foot__col a:hover{color:#5B4650}
.foot__legal{display:flex;justify-content:space-between;gap:40px;font-size:13px;line-height:1.5}
.foot__legal span:last-child{max-width:520px;text-align:right}

/* ================= responsive ================= */
@media (max-width:1080px){
  .bar{height:64px}
  .brand__name{font-size:17px}
  .brand__role,.nav,.bar>.btn-dark{display:none}
  .menu-btn{display:inline-flex}
  .mnav{position:absolute;left:0;right:0;top:64px;background:#fff;flex-direction:column;padding:4px var(--pad) 28px;
    box-shadow:0 28px 40px -28px rgba(30,28,33,.28)}
  .menu-open .mnav{display:flex}
  .mnav a.mnav__a{display:flex;align-items:center;gap:10px;min-height:56px;font-size:20px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
  .mnav a[aria-current=page]::after{content:"";width:6px;height:6px;border-radius:999px;background:var(--accent)}
  .mnav .btn{margin-top:24px}
  .topics__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1080px) and (min-width:901px){
  .pearl--mid,.cta{padding-inline:64px}
  .band{padding:64px}
}
@media (max-width:900px){
  .g12{display:flex;flex-direction:column;align-items:stretch;row-gap:var(--row,28px)}
  .hero__text{padding-right:0}
  .hero__media{order:-1}
  .ph{height:var(--hm,420px);border-radius:24px}
  .topics__grid,.qcards,.ccards,.fcards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rev-head{flex-direction:column;align-items:flex-start;gap:12px}
  .ccols{grid-template-columns:minmax(0,1fr)}
  .ccols .cbox--first-m{order:-1}
  .compact{flex-direction:column;align-items:flex-start;gap:24px}
  .tgcard{min-height:0}
  .pearl--mid,.cta{padding:56px 40px}
  .band{padding:48px 40px}
}
@media (max-width:640px){
  :root{--sec:64px}
  body{line-height:1.6}
  .btn{min-height:58px;padding:0 26px;gap:10px;font-size:16px}
  .btn--m-block{display:flex;width:100%}
  .hero__cta{flex-direction:column;align-items:stretch;gap:14px;padding-top:0}
  .hero__note{text-align:center;font-size:14px}
  .hero__note br{display:none}
  .intro{align-items:flex-start;text-align:left;gap:20px;padding-top:0}
  .topics__grid{grid-template-columns:1fr;gap:10px}
  .topic{padding:22px;border-radius:20px;flex-direction:row;align-items:baseline;gap:14px}
  .topic .dot{width:8px;height:8px}
  .topics:not(.is-open) .topic--extra{display:none}
  .topics__more{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:56px;margin-top:10px;padding:0 22px;
    border:0;border-radius:20px;background:var(--card);font-size:16px;font-weight:600;cursor:pointer;text-align:left}
  .pearl{border-radius:28px}
  .pearl--mid{padding:40px 24px;align-items:flex-start;text-align:left;gap:18px}
  .cta{padding:48px 24px;align-items:flex-start;text-align:left;gap:18px}
  .cta .btn{align-self:stretch}
  .wave svg{stroke-width:3;bottom:-.2em}
  .stats{gap:8px}
  .stat{padding:18px 14px;border-radius:18px}
  .stat__l{font-size:12px}
  .stats:not(.stats--2) .l-long{display:none}
  .stats:not(.stats--2) .l-short{display:inline}
  .stats--2 .stat{padding:22px 18px;border-radius:20px}
  .stats--2 .stat__l{font-size:14px}
  .price{padding:26px 22px;border-radius:24px}
  .price__row{font-size:15px}.price__row b{font-size:18px}
  .feature{padding:32px 24px;border-radius:28px;gap:16px}
  .qicon{width:40px;height:32px}
  .qcards,.ccards,.fcards{grid-template-columns:1fr;gap:12px}
  .qcard{padding:26px 24px;border-radius:22px;font-size:16px}
  .shots{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .shot{height:200px;border-radius:14px}
  .coach{padding-top:48px}
  .ccard{padding:24px}
  .ccard p{font-size:16px}
  .actions{gap:12px}
  .acc summary{min-height:64px;padding:18px 22px;gap:16px}
  .acc details p{padding:0 22px 22px;margin-top:-4px}
  .acc details{border-radius:20px}
  .cbox{padding:28px 24px 14px;border-radius:24px}
  .cbox h3{margin-bottom:12px}
  .crow{padding:14px 0}
  .crow__k{font-size:14px}
  .crow__v a{font-size:16px}
  .crow__v span{font-size:13px}
  .tgcard{padding:32px 24px;border-radius:28px}
  .tgcard .btn{align-self:stretch}
  .readbox{padding:28px 24px 14px;border-radius:24px}
  .band{padding:36px 24px;border-radius:28px}
  .edu__row{gap:16px;padding:18px 0}
  .edu__y{width:64px;font-size:14px}
  .edu__t{font-size:16px}.edu__d{font-size:14px}
  .facts{padding:18px 22px 6px;border-radius:22px}
  .facts div{font-size:16px;padding:13px 0}
  .step{padding:32px 0}
  .step__h{gap:14px}
  .note{padding:18px;border-radius:18px}
  .note p{font-size:15px}
  .fgroup{padding:36px 0 28px}
  .compact{padding:32px 24px;border-radius:24px}
  .compact .btn{align-self:stretch}
  .fcard{padding:28px 24px;border-radius:24px}
  .dash{font-size:15px;align-items:flex-start}
  .dash::before{margin-top:.8em}
  .site-footer{margin-top:64px}
  .foot{padding:32px 0;gap:22px;font-size:14px}
  .foot__top{flex-direction:column;gap:20px}
  .foot__cols{flex-direction:column;gap:12px}
  .foot__col>span{display:none}
  .foot__col{gap:12px}
  .foot__legal{flex-direction:column;gap:6px;font-size:12px}
  .foot__legal span:last-child{text-align:left}
}

/* ---------- hover & motion ---------- */
.nav a::after{background:var(--accent);transform:scaleX(0);opacity:0;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease,width .28s cubic-bezier(.2,.8,.2,1)}
.nav a[aria-current=page]::after{transform:none;opacity:1}
.nav a{transition:color .2s ease}
.btn,.btn-dark{transition:background-color .2s ease,transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}
.btn svg,.btn-dark svg,.foot__col a svg,.crow__v a svg{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.brand__name{transition:color .2s ease}
.pill{transition:border-color .2s ease,background-color .2s ease}
.acc summary::after{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.acc details{transition:background-color .2s ease}
.foot__col a,.crow__v a{transition:color .2s ease}
main p a:not([class]),main li a:not([class]),.price__note a{text-decoration:none;
  background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;
  transition:background-size .3s ease,color .2s ease}
@media (hover:hover){
  .nav a:not([aria-current=page]):hover::after{transform:scaleX(1);opacity:1;width:18px}
  .brand:hover .brand__name{color:#5B4650}
  .btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(255,102,196,.75)}
  .btn-dark:hover{transform:translateY(-2px);box-shadow:0 10px 22px -12px rgba(30,28,33,.6)}
  .btn:hover svg,.btn-dark:hover svg,.foot__col a:hover svg,.crow__v a:hover svg{transform:translateX(3px)}
  .foot__col a:hover,.crow__v a:hover{color:#c2408f}
  .pill:hover{background:var(--card)}
  .acc details:hover{background:#F1EEEA}
  .acc summary:hover::after{transform:rotate(90deg)}
  main p a:not([class]):hover,main li a:not([class]):hover,.price__note a:hover{color:#c2408f;
    background-image:linear-gradient(var(--accent),var(--accent));background-size:100% 2px}
}
.btn:active,.btn-dark:active{transform:translateY(1px);box-shadow:none}
@media (max-width:1080px){
  .mnav a.mnav__a{transition:color .15s ease,padding-left .2s ease}
  .mnav a.mnav__a:active{color:#c2408f;padding-left:6px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
