/* ============ TOKENS ============ */
:root{
  --text-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);
  --text-sm:clamp(0.875rem,0.8rem + 0.35vw,1rem);
  --text-base:clamp(1rem,0.95rem + 0.25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + 0.75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(1.875rem,1.1rem + 1.9vw,2.9rem);

  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem;

  --radius-sm:.5rem; --radius:.875rem; --radius-lg:1.25rem; --radius-xl:1.5rem;
  --font:'Satoshi','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --maxw:1200px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* dark = brand default */
[data-theme="dark"]{
  --bg:#12161d;
  --surface:#1b202a;
  --surface-2:#222834;
  --surface-3:#2a313f;
  --border:#333c4c;
  --border-soft:#272e3a;
  --text:#f2f5fa;
  --text-mut:#a3adbe;
  --text-faint:#6f7a8c;
  --brand:#2f6fe4;
  --brand-2:#1a4fb0;
  --hero-a:#0b2f74;
  --hero-b:#123f9c;
  --hero-c:#0e1a33;
  --base-a:#f6a75b;
  --base-b:#e8590c;
  --base-tint:rgba(232,89,12,.10);
  --base-brd:rgba(240,140,60,.55);
  --pro-a:#b892f8;
  --pro-b:#7c4dea;
  --pro-tint:rgba(124,77,234,.12);
  --pro-brd:rgba(168,130,247,.45);
  --ok:#4ec07c;
  --shadow:0 18px 48px -18px rgba(0,0,0,.75);
  --card-img-bg:#0f1930;
}
[data-theme="light"]{
  --bg:#f2f4f8;
  --surface:#ffffff;
  --surface-2:#f7f9fc;
  --surface-3:#eef2f8;
  --border:#d8dfea;
  --border-soft:#e6ebf3;
  --text:#131822;
  --text-mut:#5a6577;
  --text-faint:#8c96a6;
  --brand:#1f5fd6;
  --brand-2:#17489f;
  --hero-a:#0b2f74;
  --hero-b:#1a5cd0;
  --hero-c:#0d2450;
  --base-a:#f19246;
  --base-b:#d94f06;
  --base-tint:rgba(217,79,6,.07);
  --base-brd:rgba(217,79,6,.35);
  --pro-a:#9d74f2;
  --pro-b:#6b39e0;
  --pro-tint:rgba(107,57,224,.07);
  --pro-brd:rgba(107,57,224,.3);
  --ok:#1f8a4c;
  --shadow:0 18px 44px -20px rgba(18,30,60,.28);
  --card-img-bg:#0f1930;
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--font);font-size:var(--text-base);line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;line-height:1.12;letter-spacing:-.02em;font-weight:900}
h1{font-size:var(--text-2xl)}
h2{font-size:var(--text-xl)}
h3{font-size:var(--text-lg);letter-spacing:-.01em}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}
.sr,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;top:12px;left:12px;width:auto;height:auto;clip:auto;padding:var(--space-3) var(--space-4);background:var(--brand);color:#fff;border-radius:var(--radius-sm);z-index:99}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--space-5)}
.wrap--nar{max-width:820px}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  font-size:var(--text-sm);font-weight:700;letter-spacing:-.01em;
  padding:var(--space-3) var(--space-5);border-radius:var(--radius);
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .18s var(--ease),filter .18s var(--ease),background .18s var(--ease);
}
.btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.btn:active{transform:translateY(0)}
.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}
.btn--full{width:100%}
.btn--pri{background:var(--brand);color:#fff}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--border)}
.btn--ghost:hover{background:var(--surface-3)}
.btn--base{background:linear-gradient(96deg,var(--base-a),var(--base-b));color:#fff;box-shadow:0 10px 26px -14px rgba(232,89,12,.85)}
.btn--pro{background:linear-gradient(96deg,var(--pro-a),var(--pro-b));color:#fff;box-shadow:0 10px 26px -14px rgba(124,77,234,.85)}

.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--space-3)}

/* ============ HEADER ============ */
.hdr{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-soft)}
.hdr__in{display:flex;align-items:center;gap:var(--space-6);height:68px}
.logo{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text);flex-shrink:0}
.logo__svg{display:block;height:28px;width:auto}
.ftr .logo__svg{height:24px}
@media (max-width:520px){.logo__svg{height:24px}}
.nav{display:flex;gap:var(--space-6);margin-inline:auto;font-size:var(--text-sm);font-weight:500}
.nav a{color:var(--text-mut);transition:color .15s}
.nav a:hover{color:var(--text)}
.hdr__act{display:flex;align-items:center;gap:var(--space-3)}
.theme{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-mut);cursor:pointer}
.theme:hover{background:var(--surface-3);color:var(--text)}
[data-theme="dark"] .ico-sun{display:none}
[data-theme="light"] .ico-moon{display:none}
.burger{display:none;flex-direction:column;gap:5px;width:38px;height:38px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;cursor:pointer;align-items:center;justify-content:center}
.burger span{display:block;width:16px;height:2px;background:var(--text);border-radius:2px}
.mnav{display:none;flex-direction:column;padding:var(--space-2) var(--space-5) var(--space-5);border-bottom:1px solid var(--border-soft);background:var(--bg)}
.mnav a{padding:var(--space-3) 0;color:var(--text-mut);border-bottom:1px solid var(--border-soft);font-weight:500}
.mnav .btn{border-bottom:0;color:#fff;justify-content:center;margin-top:var(--space-4);padding:var(--space-4)}
.mnav.is-open{display:flex}

/* ============ HERO ============ */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(130% 105% at 76% 4%,var(--hero-b) 0%,var(--hero-a) 46%,var(--hero-c) 100%);
  padding-block:clamp(var(--space-10),5vw,var(--space-16)) clamp(var(--space-12),6vw,var(--space-20));
  color:#f2f5fa;
}
.hero__glow{position:absolute;inset:auto -10% -40% 30%;height:60%;background:radial-gradient(closest-side,rgba(60,130,255,.35),transparent);filter:blur(30px);pointer-events:none}
.hero__in{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(var(--space-8),5vw,var(--space-20));align-items:center}
.hero .eyebrow{color:rgba(214,228,255,.72)}
.hero h1{max-width:19ch}
.lead{margin-top:var(--space-4);font-size:var(--text-base);color:rgba(222,232,248,.86);max-width:50ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}
.hero .btn--ghost{color:#f2f5fa;border-color:rgba(220,232,255,.35)}
.hero .btn--ghost:hover{background:rgba(255,255,255,.10)}
.hero__note{margin-top:var(--space-3);font-size:var(--text-xs);color:rgba(200,216,244,.66)}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);margin:var(--space-8) 0 0;padding-top:var(--space-6);border-top:1px solid rgba(220,232,255,.18);max-width:600px}
.stats dt{font-size:var(--text-lg);font-weight:900;letter-spacing:-.02em}
.stats dd{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:rgba(200,216,244,.7);line-height:1.45}

.stores{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}
.store{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border:1px solid rgba(220,232,255,.3);border-radius:var(--radius);background:rgba(255,255,255,.07);color:#fff;transition:background .18s}
.store:hover{background:rgba(255,255,255,.14)}
.store span{display:flex;flex-direction:column;font-weight:700;font-size:var(--text-sm);line-height:1.2}
.store small{font-weight:500;font-size:var(--text-xs);color:rgba(214,228,255,.72)}

.hero__vis{display:flex;align-items:flex-end;gap:var(--space-6);justify-content:center}
/* ---- device mockup ---- */
.device{position:relative;width:min(306px,100%);flex-shrink:0;isolation:isolate}
.device__frame{position:relative;aspect-ratio:9/19.3;padding:10px;border-radius:46px;
  background:linear-gradient(146deg,#e9eef7 0%,#a3adc2 14%,#5b6478 38%,#3b4253 52%,#6d7688 70%,#b9c2d3 88%,#8b94a7 100%);
  box-shadow:0 2px 3px rgba(255,255,255,.5) inset,0 -2px 4px rgba(0,0,0,.35) inset,0 44px 80px -34px rgba(3,8,20,.85),0 12px 30px -14px rgba(3,8,20,.6)}
.device__screen{position:relative;height:100%;border-radius:37px;overflow:hidden;background:#0a0f18;
  box-shadow:0 0 0 2px rgba(6,10,18,.95),0 0 0 3px rgba(255,255,255,.06)}
.device__screen img{width:100%;height:100%;object-fit:cover;object-position:top center}
.device__island{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:30%;height:5.4%;min-height:18px;border-radius:999px;background:#04070d;box-shadow:0 0 0 1px rgba(255,255,255,.05)}
.device__glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(112deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.05) 22%,transparent 42%,transparent 100%)}
.device__key{position:absolute;background:linear-gradient(90deg,#7d879b,#3c4354);border-radius:2px}
.device__key--vup{left:-2px;top:25%;width:3px;height:7%}
.device__key--vdn{left:-2px;top:34%;width:3px;height:7%}
.device__key--pwr{right:-2px;top:29%;width:3px;height:11%}
.device__shadow{position:absolute;left:8%;right:8%;bottom:-26px;height:34px;z-index:-1;
  background:radial-gradient(60% 100% at 50% 0%,rgba(3,8,20,.65),transparent 72%);filter:blur(6px)}

.chip{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;
  background:rgba(16,22,34,.72);border:1px solid rgba(220,232,255,.22);backdrop-filter:blur(10px);
  box-shadow:0 18px 34px -18px rgba(3,8,20,.8);color:#fff;white-space:nowrap}
.chip b{display:block;font-size:var(--text-sm);font-weight:700;line-height:1.2}
.chip i{display:block;font-style:normal;font-size:var(--text-xs);color:rgba(214,228,255,.72);margin-top:2px}
.chip--a{top:13%;right:-15%}
.chip--a b{color:#5ee0a4}
.chip--b{bottom:4%;left:-15%;color:#8fc0ff}
.chip--b b{color:#fff}
.chip__dot{width:8px;height:8px;border-radius:50%;background:#5ee0a4;box-shadow:0 0 0 4px rgba(94,224,164,.18)}
@media (max-width:1180px){.chip--a{right:-9%}.chip--b{left:-9%}}
@media (max-width:820px){.device{width:min(288px,100%)}.chip{padding:8px 12px}.chip--a{right:-6%}.chip--b{left:-6%}}
@media (max-width:640px){.chip{display:none}}
@media (max-width:520px){.device{width:min(252px,80%)}}
.qr{display:block;text-decoration:none;color:inherit;flex-shrink:0;background:rgba(255,255,255,.09);border:1px solid rgba(220,232,255,.25);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;backdrop-filter:blur(6px)}
.qr:hover{border-color:rgba(220,232,255,.55);background:rgba(255,255,255,.14)}
.qr svg{display:block;margin:0 auto}
.qr p{margin-top:var(--space-3);font-size:var(--text-xs);color:rgba(214,228,255,.8);line-height:1.4}

/* ============ SECTIONS ============ */
.sec{padding-block:clamp(var(--space-16),8vw,var(--space-24))}
.sec__head{max-width:62ch;margin-bottom:var(--space-12)}
.sec__sub{margin-top:var(--space-4);color:var(--text-mut);font-size:var(--text-base)}

/* ============ PRICING ============ */
.pricing{background:var(--bg)}
.switch{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);margin-bottom:var(--space-8);overflow-x:auto}
.switch__b{flex:1;min-width:118px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:0;border-radius:var(--radius);background:transparent;color:var(--text-mut);font-family:inherit;font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background .2s var(--ease),color .2s}
.switch__b:hover{color:var(--text)}
.switch__b.is-on{background:var(--brand);color:#fff}
.tag{font-size:var(--text-xs);font-weight:700;padding:2px 6px;border-radius:99px;background:rgba(78,192,124,.18);color:var(--ok)}
.switch__b.is-on .tag{background:rgba(255,255,255,.22);color:#fff}

.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);align-items:start}
.plan{position:relative;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow)}
.plan--base{border-color:var(--base-brd);background:linear-gradient(180deg,var(--base-tint),transparent 42%),var(--surface)}
.plan--pro{border-color:var(--pro-brd);background:linear-gradient(180deg,var(--pro-tint),transparent 42%),var(--surface)}
.pop{position:absolute;top:var(--space-6);right:var(--space-6);font-size:var(--text-xs);font-weight:700;padding:3px 10px;border-radius:99px;background:var(--surface-3);color:var(--text-mut)}
.badge{align-self:flex-start;font-size:var(--text-xs);font-weight:900;letter-spacing:.02em;padding:4px 10px;border-radius:8px}
.badge--start{background:var(--surface-3);color:var(--text-mut);border:1px solid var(--border)}
.badge--base{background:linear-gradient(96deg,var(--base-a),var(--base-b));color:#fff}
.badge--pro{background:linear-gradient(96deg,var(--pro-a),var(--pro-b));color:#fff}
.plan__for{font-size:var(--text-sm);font-weight:700;color:var(--text)}
.plan__price{display:flex;align-items:baseline;gap:var(--space-2);margin-top:var(--space-1)}
.plan__price b{font-size:clamp(1.75rem,1.2rem + 1.6vw,2.4rem);font-weight:900;letter-spacing:-.03em;line-height:1}
.plan__price span{font-size:var(--text-sm);color:var(--text-mut);font-weight:500}
.plan__price .plan__free{font-size:clamp(1.75rem,1.2rem + 1.6vw,2.4rem);font-weight:900;letter-spacing:-.03em;color:var(--text)}
.plan__meta{font-size:var(--text-xs);color:var(--text-mut);margin-top:calc(var(--space-3) * -1)}
.plan__save{font-size:var(--text-xs);font-weight:700;color:var(--ok);min-height:1.1em;margin-top:calc(var(--space-3) * -1)}
.feats{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border-soft);margin-top:var(--space-2);flex:1}
.feats li{position:relative;padding-left:26px;font-size:var(--text-sm);line-height:1.45}
.feats li::before{position:absolute;left:0;top:1px;font-weight:900}
.feats .yes::before{content:"✓";color:var(--ok)}
.feats .no{color:var(--text-faint);text-decoration:line-through;text-decoration-color:var(--text-faint)}
.feats .no::before{content:"✕";color:var(--text-faint)}
.plan__foot{text-align:center;font-size:var(--text-xs);color:var(--text-mut)}

/* ============ COMPARE ============ */
.compare{background:var(--surface-2);border-block:1px solid var(--border-soft)}
.tbl__scroll{overflow-x:auto;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface)}
.tbl{width:100%;min-width:720px;border-collapse:collapse;font-size:var(--text-sm)}
.tbl th,.tbl td{padding:var(--space-4) var(--space-5);text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:middle}
.tbl thead th{font-size:var(--text-xs);color:var(--text-mut);font-weight:700;background:var(--surface-2);white-space:nowrap}
.tbl tbody th{font-weight:700;color:var(--text);width:34%}
.tbl td{color:var(--text-mut)}
.tbl td.ok{color:var(--text);font-weight:500}
.tbl td.off{color:var(--text-faint)}
.tbl tbody tr:last-child th,.tbl tbody tr:last-child td{border-bottom:0}
.tbl__price th,.tbl__price td{background:var(--surface-2);font-weight:700;color:var(--text)}

/* ============ FEATURES ============ */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}
.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-xl);overflow:hidden;transition:transform .25s var(--ease),border-color .25s}
.card:hover{transform:translateY(-3px);border-color:var(--border)}
.card__txt{padding:var(--space-6) var(--space-6) var(--space-5)}
.card__txt p{margin-top:var(--space-3);color:var(--text-mut);font-size:var(--text-sm)}
.card__img{background:var(--card-img-bg);padding:var(--space-5) var(--space-5) 0;overflow:hidden;height:300px;display:flex;justify-content:center;align-items:flex-start}
.card__img img{width:100%;height:100%;border-radius:12px 12px 0 0;object-fit:cover;object-position:top center}

/* ============ REVIEWS ============ */
.reviews{background:var(--surface-2);border-block:1px solid var(--border-soft)}
.rev{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}
.rev__i{margin:0;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}
.rev__i:not(:has(footer)){gap:0}
.rev__i p{font-size:var(--text-sm);line-height:1.6}
.rev__i footer{font-size:var(--text-xs);color:var(--text-mut);margin-top:auto}

/* ============ CTA ============ */
.cta{background:linear-gradient(100deg,var(--hero-a),var(--hero-b));color:#f4f7fc;padding-block:clamp(var(--space-12),6vw,var(--space-20))}
.cta__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-8)}
.cta h2{max-width:22ch}
.cta p{margin-top:var(--space-4);color:rgba(222,232,248,.85);font-size:var(--text-sm);max-width:46ch}
.cta__btns{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.cta .btn--ghost{color:#fff;border-color:rgba(220,232,255,.4)}
.cta .btn--ghost:hover{background:rgba(255,255,255,.12)}

/* ============ FAQ ============ */
.acc{display:flex;flex-direction:column;gap:var(--space-3)}
.acc details{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden}
.acc summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);font-weight:700;font-size:var(--text-sm);cursor:pointer;list-style:none}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"";flex-shrink:0;width:10px;height:10px;border-right:2px solid var(--text-mut);border-bottom:2px solid var(--text-mut);transform:rotate(45deg);transition:transform .22s var(--ease)}
.acc details[open] summary::after{transform:rotate(225deg)}
.acc details[open] summary{border-bottom:1px solid var(--border-soft)}
.acc div{padding:var(--space-5) var(--space-6)}
.acc div p{color:var(--text-mut);font-size:var(--text-sm)}

/* ============ FOOTER ============ */
.ftr{background:var(--surface-2);border-top:1px solid var(--border-soft);padding-top:var(--space-16)}
.ftr__in{display:grid;grid-template-columns:1.1fr 1.6fr;gap:var(--space-12)}
.ftr__d{margin-top:var(--space-5);font-size:var(--text-xs);color:var(--text-faint);max-width:44ch;line-height:1.55}
.ftr__nav{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.ftr__nav h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin-bottom:var(--space-4);font-weight:700}
.ftr__nav div{display:flex;flex-direction:column;gap:var(--space-3)}
.ftr__nav a{font-size:var(--text-sm);color:var(--text-mut)}
.ftr__nav a:hover{color:var(--text)}
.ftr__b{margin-top:var(--space-12);padding-block:var(--space-6);border-top:1px solid var(--border-soft)}
.ftr__b p{font-size:var(--text-xs);color:var(--text-faint)}

/* ============ REVEAL ============ */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
}

.course__card{position:relative;overflow:hidden;border-radius:28px;
  background:linear-gradient(104deg,var(--hero-a),var(--hero-b));color:#f2f6fd;
  padding:clamp(var(--space-8),4vw,var(--space-16));
  box-shadow:0 40px 70px -40px rgba(3,8,20,.7);border:1px solid rgba(220,232,255,.16)}
.course__txt{position:relative;z-index:2;max-width:min(60%,640px)}
.course__kicker{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:rgba(214,228,255,.72);margin-bottom:var(--space-4)}
.course__h{font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.18;color:#fff;margin:0;max-width:20ch}
.course__list{list-style:none;margin:var(--space-6) 0 0;padding:0;display:grid;gap:var(--space-3)}
.course__list li{position:relative;padding-left:26px;font-size:var(--text-lg);color:rgba(232,240,255,.94)}
.course__list li::before{content:"";position:absolute;left:6px;top:.62em;width:7px;height:7px;border-radius:50%;background:#fff;opacity:.9}
.course__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6);margin-top:var(--space-8)}
.course__foot p{max-width:34ch;font-size:var(--text-sm);color:rgba(214,228,255,.78);line-height:1.45}
.course__author{position:absolute;right:0;bottom:0;width:clamp(280px,34%,440px);margin:0;z-index:1;pointer-events:none}
.course__author img{display:block;width:100%;height:auto}
.course__author figcaption{position:absolute;left:2%;right:auto;bottom:20%;max-width:70%;text-align:left;line-height:1.3;
  padding:8px 13px;border-radius:13px;background:rgba(9,16,32,.5);border:1px solid rgba(220,232,255,.16);backdrop-filter:blur(6px)}
.course__author b{display:block;font-size:var(--text-sm);font-weight:700;color:#fff}
.course__author i{display:block;font-style:normal;font-size:var(--text-sm);color:rgba(226,236,255,.88)}

/* ============ RESPONSIVE ============ */
@media (max-width:1080px){
  .nav{display:none}
  .plans{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .hero__in{grid-template-columns:1fr;gap:var(--space-12)}
  .hero h1{max-width:22ch}
  .hero__vis{justify-content:flex-start;align-items:center}
}
@media (max-width:1080px){
  .course__txt{max-width:66%}
  .course__author{width:clamp(230px,36%,320px)}
}
@media (max-width:820px){
  .course__txt{max-width:100%}
  .course__author{position:relative;right:auto;bottom:auto;width:min(320px,80%);margin:var(--space-6) auto 0}
  .course__author figcaption{left:4%;bottom:15%}
  .course__list li{font-size:var(--text-base)}
  .hdr__login,.hdr__act > .btn--pri{display:none}
  .burger{display:inline-flex}
  .hdr__in{justify-content:space-between}
  .hdr__act{margin-left:auto}
  .mnav .btn{margin-top:var(--space-4)}
  .switch{display:grid;grid-template-columns:1fr 1fr;overflow:visible}
  .switch__b{min-width:0}
  .rev,.cards,.ftr__in{grid-template-columns:1fr}
  .ftr__in{gap:var(--space-10)}
  .cta__in{flex-direction:column;align-items:flex-start}
}
@media (max-width:600px){
  .hdr__in{height:60px;gap:var(--space-3)}
  .hero__vis{flex-direction:column;align-items:center;gap:var(--space-5)}
  .device{width:min(250px,78%)}
  .stats{grid-template-columns:1fr 1fr;gap:var(--space-5)}
  .stores{gap:var(--space-2)}
  .store{flex:1 1 auto;padding:var(--space-3) var(--space-4)}
  .card__img{height:240px}
  .ftr__nav{grid-template-columns:1fr 1fr}
  .btn--lg{width:100%}
  .hero__cta,.cta__btns{width:100%}
}

/* ---- подвал: подписки и правовая информация ---- */
.ftr__subs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-10);margin-top:var(--space-12);padding-top:var(--space-10);border-top:1px solid var(--border-soft)}
.subs h3{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:700;color:var(--text-mut);margin-bottom:var(--space-5)}
.subs__tg{color:var(--brand);flex-shrink:0}
.subs__share{display:flex;gap:var(--space-3)}
.shr{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-sm);color:#fff;transition:transform .16s ease,filter .16s ease}
.shr:hover{transform:translateY(-2px);filter:brightness(1.12)}
.shr--tg{background:#2aabee}
.shr--wa{background:#25d366}
.shr--vk{background:#5f7fb0}
.subs__note{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--text-faint);max-width:34ch;line-height:1.5}
.subs__list{list-style:none;display:flex;flex-direction:column;gap:var(--space-4)}
.chan{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--text);font-size:var(--text-sm)}
.chan:hover{color:var(--brand)}
.chan__mk{flex-shrink:0}
.chan__t b{font-weight:700}
.chan__yt{display:inline-flex;align-items:center;justify-content:center;width:30px;height:21px;border-radius:6px;background:#ff0000;flex-shrink:0}
.ftr__legal + .ftr__b{margin-top:var(--space-4);border-top:0;padding-top:0}
.ftr__legal{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--border-soft)}
.ftr__ent{font-size:var(--text-xs);color:var(--text-faint);line-height:1.6}
.ftr__docs{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-8);margin-top:var(--space-4)}
.ftr__docs a{font-size:var(--text-xs);color:var(--text-mut)}
.ftr__docs a:hover{color:var(--text)}
@media (max-width:900px){
  .ftr__subs{grid-template-columns:1fr 1fr;gap:var(--space-8)}
}
@media (max-width:640px){
  .ftr__subs{grid-template-columns:1fr}
  .ftr__docs{gap:var(--space-3) var(--space-5)}
}

/* ---- правки по ТЗ: подпись под переключателем, сноска таблицы, сетка отзывов ---- */
.switch__note{margin:calc(var(--space-6) * -1) 0 var(--space-8);font-size:var(--text-xs);color:var(--text-faint)}
.tbl__note{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--text-faint)}

/* ---------- Форма оплаты ---------- */
.pay{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:var(--space-5);background:rgba(6,9,14,.72);backdrop-filter:blur(6px)}
.pay.is-open{display:flex}
.pay__box{position:relative;width:100%;max-width:480px;max-height:calc(100vh - var(--space-10));overflow-y:auto;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6) var(--space-6);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.pay__x{position:absolute;top:var(--space-5);right:var(--space-5);display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border-soft);border-radius:50%;background:transparent;color:var(--text-mut);cursor:pointer;transition:color .2s,border-color .2s}
.pay__x:hover{color:var(--text);border-color:var(--border)}
.pay__h{font-size:var(--text-xl);letter-spacing:-.02em;padding-right:var(--space-8);overflow-wrap:anywhere}
.pay__sum{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-5) 0 var(--space-6);padding:var(--space-4) var(--space-5);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius);font-size:var(--text-sm);color:var(--text-mut)}
.pay__sum li{position:relative;padding-left:16px;line-height:1.5}
.pay__sum li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--brand)}
.pay__lbl{display:block;font-size:var(--text-xs);font-weight:700;color:var(--text-mut);margin-bottom:var(--space-2)}
.pay__inp{width:100%;padding:var(--space-4);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:var(--text-base);transition:border-color .2s}
.pay__inp:focus{outline:none;border-color:var(--brand)}
.pay__chk{display:flex;gap:var(--space-3);margin:var(--space-5) 0 0;font-size:var(--text-xs);color:var(--text-mut);line-height:1.5;cursor:pointer}
.pay__chk input{margin-top:2px;width:17px;height:17px;flex:none;accent-color:var(--brand);cursor:pointer}
.pay__chk a{color:var(--text);text-decoration:underline;text-underline-offset:2px}
.pay__err{min-height:1.2em;margin:var(--space-4) 0 var(--space-3);font-size:var(--text-xs);color:#f87171}
.pay__note{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--text-faint);line-height:1.5}
.pay__done{text-align:center}
.pay__done p{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--text-mut);line-height:1.6}
.pay__done .btn{margin-top:var(--space-5)}
.pay__done .btn--ghost{margin-top:var(--space-3)}
.pay__ok{display:grid;place-items:center;width:56px;height:56px;margin:0 auto var(--space-5);border-radius:50%;background:rgba(47,191,106,.14);color:var(--ok)}
.pay__tx{font-size:var(--text-xs);color:var(--text-faint)}
@media (max-width:640px){.pay{padding:var(--space-3)}.pay__box{padding:var(--space-6) var(--space-5) var(--space-5)}.pay__h{font-size:var(--text-lg)}}
