/* Главная курса: оформление повторяет отдельный лендинг. */
.landing-page {
  --ink: #171918;
  --ink-soft: #373b38;
  --muted: #686f6b;
  --paper: #fbfcf8;
  --paper-2: #eef4ee;
  --lime: #d9ff46;
  --green: #23d47a;
  --line: rgba(23, 25, 24, .12);
  background: var(--paper);
}
.landing-page .top {
  width: 100%; max-width: none; padding: 12px max(24px, calc((100vw - 1180px)/2));
  background: rgba(251,252,248,.88); border-bottom: 1px solid rgba(23,25,24,.06);
  backdrop-filter: blur(14px);
}
.landing-page .brand { font-size: 14px; letter-spacing: -.03em; }
.landing-page .brand-dot { background: #71e6a0; width: 32px; height: 32px; }
.landing-page nav a { margin-left: 14px; }
.landing-page nav .pill { padding: 11px 20px; background: #171918; color: #fff !important; }
.landing-page main { max-width: none; padding: 0; }
.landing-page h1, .landing-page h2, .landing-page h3 { color: var(--ink); }
.landing-page h1 { font-size: clamp(42px, 6.4vw, 76px); letter-spacing: -.065em; line-height: 1.02; }
.landing-page h2 { font-size: clamp(29px, 4.3vw, 48px); letter-spacing: -.055em; line-height: 1.08; }
.landing-page h3 { font-size: clamp(18px, 2vw, 23px); letter-spacing: -.045em; }
.landing-page .hero {
  position: relative; isolation: isolate; max-width: none; min-height: 650px; margin: 0; padding: 76px max(24px, calc((100vw - 1180px)/2));
  display: grid; grid-template-columns: minmax(0,1.08fr) minmax(300px,.92fr); gap: 42px; align-items: center; overflow: hidden;
  background: radial-gradient(ellipse at 92% 16%,rgba(88,229,155,.65),transparent 33%),radial-gradient(ellipse at 9% 92%,rgba(218,255,70,.62),transparent 30%),linear-gradient(118deg,#e9f8ed 0%,#edfbf4 48%,#dff8e6 100%);
}
.landing-page .hero::after { content:""; position:absolute; z-index:-1; width:420px; height:420px; right:-80px; bottom:-240px; border:1px solid rgba(24,45,32,.2); border-radius:48% 52% 38% 62%; transform:rotate(-24deg); box-shadow:0 0 0 28px rgba(255,255,255,.12),0 0 0 58px rgba(255,255,255,.1); }
.landing-page .hero-copy { max-width: 690px; }
.landing-page .hero-copy { animation: landing-enter .7s cubic-bezier(.2,.7,.2,1) both; }
.landing-page .kicker { color: #21804b; font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.landing-page .hero .kicker { display:inline-flex; padding:8px 13px; border:1px solid rgba(23,25,24,.1); border-radius:999px; background:rgba(255,255,255,.46); text-transform:none; letter-spacing:0; font-size:14px; color:var(--ink); }
.landing-page .hero h1 span { display:block; color:var(--ink); text-decoration: underline; text-decoration-color:#d9ff46; text-decoration-thickness:9px; text-underline-offset:5px; }
.landing-page .lead { max-width:720px; color:#454c47; font-size:clamp(17px,1.8vw,20px); line-height:1.65; }
.landing-page .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.landing-page .btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:13px 22px; border:1px solid var(--ink); border-radius:999px; background:var(--ink); color:#fff; font-weight:800; text-decoration:none; transition:transform .18s ease,background .18s ease; }
.landing-page .btn:hover { transform:translateY(-2px); background:#303532; }
.landing-page .btn-ghost { border-color:rgba(23,25,24,.13); background:#fff; color:var(--ink); }
.landing-page .note { color:#656d67; font-size:14px; }
.landing-page .hero .note { margin-top:20px; }
.landing-page .hero-card { position:relative; min-height:480px; filter:drop-shadow(0 22px 48px rgba(46,157,91,.2)); }
.landing-page .hero-flipper { position:absolute; inset:0; border-radius:36px; animation:landing-enter .85s .12s cubic-bezier(.2,.7,.2,1) both; }
.landing-page .hero-face { position:absolute; inset:0; overflow:hidden; border:1px solid rgba(255,255,255,.76); border-radius:36px; transition:opacity .72s ease,transform .9s cubic-bezier(.2,.72,.2,1),visibility .72s; }
.landing-page .hero-face-photo { background:#dff1e3; opacity:1; transform:scale(1); visibility:visible; }
.landing-page .hero-face-info { display:flex; flex-direction:column; justify-content:center; gap:14px; padding:clamp(28px,4vw,52px); border-color:rgba(255,255,255,.72); background:radial-gradient(circle at 88% 5%,rgba(80,235,164,.56),transparent 35%),linear-gradient(145deg,rgba(249,255,241,.88),rgba(232,255,194,.78) 58%,rgba(249,245,255,.78)); color:#172019; box-shadow:inset 0 1px 0 rgba(255,255,255,.88); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); opacity:0; transform:translateY(12px) scale(.97); visibility:hidden; }
.landing-page .hero-card.is-card .hero-face-photo { opacity:0; transform:scale(1.025); visibility:hidden; }
.landing-page .hero-card.is-card .hero-face-info { opacity:1; transform:translateY(0) scale(1); visibility:visible; }
.landing-page .hero-face-info strong { position:relative; z-index:1; margin:-15px 0 0 -8px; color:#caff36; font-family:Unbounded,sans-serif; font-size:clamp(110px,15vw,188px); font-weight:900; line-height:.95; letter-spacing:-.1em; text-shadow:0 4px 0 rgba(255,255,255,.85); }
.landing-page .hero-card-kicker { position:relative; z-index:2; color:#627268; font-size:11px; font-weight:900; letter-spacing:.1em; }
.landing-page .hero-card-badge { position:absolute; z-index:2; top:28px; right:24px; display:grid; place-items:center; min-width:112px; min-height:60px; padding:10px 14px; border:1px solid rgba(255,255,255,.58); border-radius:999px; background:rgba(26,37,29,.48); color:#fff; text-align:center; font-size:10px; font-weight:900; line-height:1.25; box-shadow:0 8px 26px rgba(36,93,58,.1); backdrop-filter:blur(16px); }
.landing-page .hero-card-lesson { position:relative; z-index:2; display:flex; align-items:center; gap:12px; margin-top:auto; padding:14px; border:1px solid rgba(255,255,255,.88); border-radius:19px; background:rgba(255,255,255,.82); box-shadow:0 12px 34px rgba(48,110,69,.08); backdrop-filter:blur(16px); }
.landing-page .hero-card-play { display:grid; place-items:center; flex:none; width:40px; height:40px; border-radius:50%; background:#172019; color:white; font-size:14px; }
.landing-page .hero-card-lesson-copy { display:flex; flex:1; min-width:0; flex-direction:column; gap:4px; }
.landing-page .hero-card-lesson-copy small { color:#718078; font-size:9px; font-weight:900; }
.landing-page .hero-card-lesson-copy b { color:#1b251e; font-size:13px; }
.landing-page .hero-card-lesson-copy i { display:block; height:5px; margin-top:3px; overflow:hidden; border-radius:99px; background:#e7eee6; }
.landing-page .hero-card-lesson-copy u { display:block; width:54%; height:100%; border-radius:inherit; background:#20cc79; text-decoration:none; }
.landing-page .hero-card-orbit { position:absolute; z-index:0; top:-16%; right:1%; width:190px; height:190px; border-radius:50%; background:rgba(34,211,122,.18); filter:blur(2px); }
.landing-page .hero-portrait { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 24%; }
.landing-page .hero-face-photo::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(209,255,220,.32)); pointer-events:none; }
.landing-page .portrait-caption { position:absolute; z-index:1; right:18px; bottom:18px; left:18px; display:flex; flex-direction:column; gap:3px; padding:17px 19px; border:1px solid rgba(255,255,255,.68); border-radius:20px; background:rgba(241,251,239,.6); color:#172019; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.landing-page .portrait-caption span, .landing-page .portrait-caption small { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.landing-page .portrait-caption strong { font-family:Unbounded,sans-serif; font-size:20px; }
.landing-page .block, .landing-page .cta { max-width:none; margin:0; padding:88px max(24px, calc((100vw - 1180px)/2)); border-radius:0; }
.landing-page .block, .landing-page .cta { animation: landing-enter .65s both; }
.landing-page .block > .lead, .landing-page .block > h2 { max-width:790px; }
.landing-page .block-dark { background:#181b19; color:#fff; }
.landing-page .block-dark h2, .landing-page .block-dark h3 { color:#fff; }
.landing-page .block-dark .lead, .landing-page .block-dark .kicker { color:#c8d0ca; }
.landing-page #inside { position:relative; }
.landing-page .program-cursor,.landing-page .program-cursor-chip { position:fixed; z-index:1000; display:grid; place-items:center; pointer-events:none; transform:translate(-50%,-50%); }
.landing-page .program-cursor { left:0; top:0; width:104px; height:104px; padding:12px; border:1px solid rgba(255,255,255,.68); border-radius:50%; background:radial-gradient(circle at 32% 25%,#efffa4 0%,#caff42 46%,#71e85d 100%); color:#14200a; text-align:center; font-size:12px; font-weight:900; line-height:1.15; box-shadow:0 10px 36px rgba(104,255,68,.3),inset 0 1px 0 rgba(255,255,255,.65); opacity:0; transition:opacity .2s,scale .2s; }
.landing-page .program-cursor.is-visible { opacity:1; scale:1; }
.landing-page .program-cursor-chip { width:56px; height:56px; border:1px solid rgba(184,255,107,.35); border-radius:16px; background:rgba(190,255,100,.18); color:#d9ff75; font-size:13px; font-weight:900; box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 28px rgba(0,0,0,.18); backdrop-filter:blur(12px); animation:program-chip-out .9s ease-out forwards; }
@media (hover:hover) and (pointer:fine) { .landing-page { cursor:none; } .landing-page input,.landing-page textarea,.landing-page select { cursor:auto; } }
@media (hover:none),(pointer:coarse),(max-width:767px) {
  .landing-page .program-cursor { left:auto; top:auto; right:16px; bottom:calc(18px + env(safe-area-inset-bottom)); width:68px; height:68px; padding:8px; transform:none; font-size:9px; line-height:1.12; opacity:1; animation:mobile-cursor-float 3.8s ease-in-out infinite; }
  .landing-page .program-cursor.is-mobile.is-following { left:var(--touch-x); top:var(--touch-y); right:auto; bottom:auto; transform:translate(-50%,-50%) scale(.94); animation:mobile-cursor-tap .32s ease-out; }
  .landing-page .program-cursor-chip { display:none; }
}
.landing-page .grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:30px; }
.landing-page .point, .landing-page .outcome, .landing-page .steps li, .landing-page .module { border:1px solid var(--line); border-radius:24px; background:rgba(255,255,255,.77); }
.landing-page .point { display:flex; gap:18px; min-height:145px; align-items:flex-start; padding:24px; }
.landing-page .problem-carousel { margin-top:30px; }
.landing-page .problem-viewport { overflow:hidden; padding:8px 3px 16px; }
.landing-page .problem-track { display:flex; gap:14px; width:max-content; transform:translate3d(0,0,0); }
.landing-page .problem-track.is-moving { transition:transform .82s cubic-bezier(.22,.75,.22,1); }
.landing-page .problem-track .point { position:relative; flex:0 0 auto; min-height:145px; overflow:hidden; border:1px solid rgba(171,255,91,.28); border-radius:24px; background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(139,255,80,.045)); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 18px 42px rgba(0,0,0,.16); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.landing-page .problem-track .point::after { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 42%); }
.landing-page .problem-track .point span { position:relative; z-index:1; flex:none; color:#69ff49; text-shadow:0 0 14px rgba(89,255,57,.55); }
.landing-page .problem-track .point p { position:relative; z-index:1; margin:0; color:#caff5a; background:linear-gradient(100deg,#caff42 0%,#64ff35 38%,#c8ff46 68%,#65ff35 100%); background-size:230% 100%; background-position:0% 50%; background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; font-size:18px; font-weight:800; line-height:1.55; filter:drop-shadow(0 0 10px rgba(137,255,54,.2)); }
.landing-page .problem-track .point p.is-typing { clip-path:inset(0 100% 0 0); animation:neon-type 1.4s steps(42,end) forwards,neon-shimmer 3.4s 1.4s ease-in-out infinite; }
.landing-page .carousel-controls { display:flex; align-items:center; justify-content:center; gap:11px; }
.landing-page .carousel-arrow,.landing-page .carousel-pause { display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:38px; padding:0 13px; border:1px solid rgba(184,255,107,.3); border-radius:999px; background:rgba(255,255,255,.08); color:#d0ff70; font:inherit; font-size:13px; font-weight:800; cursor:pointer; backdrop-filter:blur(10px); transition:background .2s,transform .2s; }
.landing-page .carousel-arrow:hover,.landing-page .carousel-pause:hover { transform:translateY(-1px); background:rgba(177,255,94,.16); }
.landing-page .carousel-dots { display:flex; align-items:center; gap:6px; padding:0 3px; }
.landing-page .carousel-dot { width:6px; height:6px; border-radius:99px; background:rgba(255,255,255,.33); transition:width .25s,background .25s; }
.landing-page .carousel-dot.is-active { width:20px; background:#80ff45; box-shadow:0 0 12px rgba(117,255,62,.7); }
.landing-page .point span, .landing-page .num, .landing-page .module-num { color:#24814e; font-size:12px; font-weight:900; letter-spacing:.09em; }
.landing-page .point p { margin:0; font-size:18px; font-weight:700; line-height:1.5; }
.landing-page .outcome { padding:26px; }
.landing-page .outcome h3 { margin:16px 0 10px; }
.landing-page .outcome p, .landing-page .module p { color:#626a64; }
.landing-page .block-light { background:#f0f5ee; }
.landing-page .steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:32px 0 0; padding:0; list-style:none; }
.landing-page .steps li { padding:24px; }
.landing-page .steps li h3 { margin:10px 0; }
.landing-page .steps li p { margin-bottom:0; color:#646c66; }
.landing-page .modules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:32px; }
.landing-page .module { padding:23px; transition:transform .18s ease,box-shadow .18s ease; }
.landing-page .module:hover { transform:translateY(-3px); box-shadow:0 16px 35px rgba(31,63,41,.08); }
.landing-page .module { animation: landing-enter .55s both; }
.landing-page .module:nth-child(3n+2) { animation-delay:.06s; }
.landing-page .module:nth-child(3n) { animation-delay:.12s; }
.landing-page .module-head { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.landing-page .module-label { padding:5px 9px; border-radius:999px; background:#e9f5ea; color:#26794b; font-size:10px; font-weight:900; letter-spacing:.07em; }
.landing-page .module h3 { margin:22px 0 10px; }
.landing-page .module p { min-height:56px; margin:0; font-size:15px; }
.landing-page .module-lessons { margin:17px 0 0; padding:13px 0 0; border-top:1px solid var(--line); list-style:none; font-size:14px; }
.landing-page .module-lessons li { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.landing-page .soon { flex:none; color:#8a6a13; font-size:12px; font-style:normal; font-weight:800; }
.landing-page .tariffs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:32px; }
.landing-page .card { padding:32px; border:1px solid var(--line); border-radius:30px; background:#fff; box-shadow:0 14px 40px rgba(31,63,41,.045); }
.landing-page .card.featured { border:2px solid #171918; background:linear-gradient(145deg,#faffef,#fff); }
.landing-page .card-kicker { color:#568262; font-size:12px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.landing-page .card h3 { margin:16px 0 4px; font-size:28px; }
.landing-page .price { margin:0 0 14px; font-family:Unbounded,sans-serif; font-size:34px; font-weight:700; letter-spacing:-.06em; }
.landing-page .features, .landing-page .safety { padding-left:20px; }
.landing-page .features li, .landing-page .safety li { margin:9px 0; }
.landing-page .card .btn { margin-top:16px; }
.landing-page .safety { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 36px; max-width:900px; margin-top:28px; }
.landing-page .author { display:grid; grid-template-columns:145px 1fr; gap:30px; align-items:start; }
.landing-page .author-photo { display:block; width:145px; height:190px; border:5px solid white; border-radius:28px; object-fit:cover; object-position:center 24%; box-shadow:0 12px 30px rgba(31,63,41,.13); }
.landing-page .author h2 { margin-top:0; }
.landing-page .chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.landing-page .chips span { padding:8px 12px; border:1px solid var(--line); border-radius:999px; background:white; font-size:13px; font-weight:700; }
.landing-page .faq { max-width:850px; margin-top:28px; }
.landing-page .faq details { padding:19px 0; border-bottom:1px solid var(--line); }
.landing-page .faq summary { font-size:17px; }
.landing-page .cta { background:radial-gradient(ellipse at 90% 10%,rgba(93,231,157,.42),transparent 34%),linear-gradient(120deg,#eaffef,#f5ffd9); }
.landing-page .cta h2, .landing-page .cta .lead { max-width:750px; }
.landing-page .btn-telegram { border:1px solid rgba(25,43,30,.14); background:rgba(255,255,255,.86); color:#141a16; box-shadow:0 8px 25px rgba(12,42,21,.1); backdrop-filter:blur(14px); }
.landing-page .btn-telegram:hover { background:#fff; color:#111; }
.landing-page footer { max-width:none; margin:0; padding:28px max(24px, calc((100vw - 1180px)/2)); background:#f0f5ee; }
.landing-page .block:not(.block-dark) { position:relative; isolation:isolate; overflow:hidden; background-color:#f5fbf5; background-image:radial-gradient(circle at 87% 15%,rgba(33,212,122,.12) 0 90px,transparent 92px),radial-gradient(circle at 12% 90%,rgba(202,255,54,.13) 0 125px,transparent 128px),radial-gradient(circle at 72% 78%,rgba(135,190,255,.08) 0 72px,transparent 74px),linear-gradient(135deg,#eaf8ee,#f7fbee 55%,#e8f6ed); }
.landing-page .block:not(.block-dark)::before { content:""; position:absolute; z-index:-1; top:8%; right:8%; width:190px; aspect-ratio:1; border-radius:50%; background:rgba(35,212,122,.16); filter:blur(36px); pointer-events:none; }
.landing-page .block:not(.block-dark) > * { position:relative; z-index:1; }
.landing-page #outcomes { background-image:radial-gradient(circle at 4% 84%,rgba(37,210,125,.22) 0 120px,transparent 123px),radial-gradient(circle at 92% 22%,rgba(201,255,53,.28) 0 165px,transparent 168px),linear-gradient(130deg,#e9f8ed,#f5fbea 52%,#e1f7ea); }
.landing-page #outcomes .outcome { background:rgba(255,255,255,.44); border:1px solid rgba(255,255,255,.68); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); box-shadow:0 16px 42px rgba(23,64,36,.08),inset 0 1px 0 rgba(255,255,255,.72); transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s,background .34s; }
.landing-page #outcomes .outcome:hover { transform:translateY(-9px) scale(1.025) rotate(-.4deg); background:rgba(255,255,255,.66); box-shadow:0 26px 54px rgba(23,64,36,.18),inset 0 1px 0 white; }
.landing-page .block-how.block-light { color:#f5fff7; background-color:#161b18; background-image:radial-gradient(480px circle at var(--wave-x,16%) var(--wave-y,5%),rgba(44,221,126,.22),transparent 75%),radial-gradient(ellipse at 87% 100%,rgba(157,255,49,.13),transparent 34%),linear-gradient(135deg,#121714,#1c2420 52%,#111613); transition:background-position .35s ease; }
.landing-page .block-how h2,.landing-page .block-how h3 { color:#f8fff9; }
.landing-page .block-how .lead,.landing-page .block-how .kicker { color:#b8c6bc; }
.landing-page .block-how .steps li { background:rgba(246,255,247,.075); border-color:rgba(216,255,223,.18); color:#f8fff9; backdrop-filter:blur(15px); transition:transform .32s,background .32s,border-color .32s; }
.landing-page .block-how .steps li p { color:#bdc9c1; }
.landing-page .block-how .steps li:hover { transform:translateY(-6px) rotate(.4deg); background:rgba(192,255,205,.13); border-color:rgba(174,255,77,.38); }
.landing-page .card.featured { border:2px solid rgba(217,255,70,.75); background:linear-gradient(145deg,#191d1a,#252a26); color:white; box-shadow:0 22px 60px rgba(12,25,16,.22); }
.landing-page .card.featured h3,.landing-page .card.featured .price { color:#fff; }
.landing-page .card.featured .card-kicker,.landing-page .card.featured .card-text,.landing-page .card.featured .features { color:#d6ddd7; }
.landing-page .card.featured .btn { border-color:#d9ff46; background:#d9ff46; color:#11180c; }
.landing-page .faq details { margin:12px 0; padding:22px 26px; border:1px solid rgba(255,255,255,.72); border-radius:20px; background:rgba(255,255,255,.55); box-shadow:0 12px 32px rgba(32,72,44,.055),inset 0 1px 0 rgba(255,255,255,.65); }
.landing-page .faq details p { max-width:760px; padding:0 3px; line-height:1.7; }
.landing-page footer { position:relative; isolation:isolate; overflow:hidden; padding:58px max(24px, calc((100vw - 1180px)/2)) 22px; color:#dbe2dc; background:radial-gradient(ellipse at 8% 0%,rgba(62,112,70,.17),transparent 42%),linear-gradient(145deg,#101311,#090b0a 75%); }
.landing-page footer::before { content:""; position:absolute; z-index:-1; inset:0; opacity:.16; pointer-events:none; background:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:88px 88px; mask-image:linear-gradient(to bottom,transparent,#000 40%,transparent); }
.landing-page footer p,.landing-page footer a,.landing-page footer strong,.landing-page footer span { color:#aab1ab; }
.landing-page footer .footer-grid { display:grid; grid-template-columns:minmax(250px,1.45fr) repeat(3,minmax(145px,1fr)); gap:clamp(24px,4vw,58px); padding-bottom:44px; }
.landing-page footer .footer-brand { min-width:0; }
.landing-page footer .footer-logo { display:inline-flex; align-items:center; gap:11px; color:#f3f6f2; font-family:Unbounded,sans-serif; font-size:18px; font-weight:700; letter-spacing:-.05em; text-decoration:none; }
.landing-page footer .footer-logo span { display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(217,255,70,.5); border-radius:50%; background:rgba(217,255,70,.1); color:#d9ff46; font-family:Manrope,sans-serif; font-size:20px; }
.landing-page footer .footer-course { margin-top:16px; color:#f1f4f1; font-size:15px; font-weight:800; }
.landing-page footer .footer-tagline { max-width:300px; margin-top:8px; font-size:14px; line-height:1.6; }
.landing-page footer .footer-requisites { display:grid; gap:7px; margin-top:20px; font-size:12px; line-height:1.6; }
.landing-page footer .footer-requisites strong { color:#d9ff46; font-size:13px; }
.landing-page footer .footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.landing-page footer .footer-column h2 { position:relative; margin:0 0 7px; padding-bottom:10px; color:#f3f6f2; font-family:Manrope,sans-serif; font-size:12px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.landing-page footer .footer-column h2::after { content:""; position:absolute; bottom:0; left:0; width:25px; height:1px; background:#d9ff46; }
.landing-page footer .footer-column a { font-size:13px; line-height:1.55; text-decoration:none; transition:color .2s,translate .2s; }
.landing-page footer .footer-column a:hover,.landing-page footer .footer-column a:focus-visible { color:#d9ff46; translate:2px 0; }
.landing-page footer .footer-social-link { display:inline-flex; align-items:center; gap:10px; }
.landing-page footer .footer-social-link span { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(255,255,255,.12); border-radius:10px; background:rgba(255,255,255,.035); color:#d9ff46; font-size:15px; font-weight:900; }
.landing-page footer .footer-bottom { display:flex; flex-direction:column; gap:9px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); }
.landing-page footer .footer-bottom p { margin:0; font-size:11px; line-height:1.55; }
.landing-page .referral-note { max-width:760px; margin:20px 0 0; padding:16px 20px; border:1px solid rgba(35,125,72,.18); border-radius:16px; background:rgba(255,255,255,.56); color:#48564c; font-size:14px; line-height:1.6; }
.landing-page .checkout-form [data-paid-fields] { display:grid; gap:15px; }
.landing-page .checkout-form [data-paid-fields][hidden] { display:none; }
.checkout-open { overflow:hidden; }
.checkout-overlay { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:20px; background:rgba(15,20,17,.68); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.checkout-overlay[hidden] { display:none; }
.checkout-dialog { position:relative; width:min(100%,640px); max-height:min(92vh,900px); overflow:auto; padding:34px; border:1px solid rgba(255,255,255,.72); border-radius:28px; background:linear-gradient(145deg,rgba(251,252,248,.98),rgba(239,248,235,.98)); color:#171918; box-shadow:0 30px 100px rgba(0,0,0,.32); outline:none; }
.checkout-dialog h2 { max-width:520px; margin:8px 42px 10px 0; font-size:clamp(27px,4vw,38px); }
.checkout-intro { margin:0 0 22px; color:#58615a; line-height:1.55; }
.checkout-close { position:absolute; top:18px; right:18px; display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(23,25,24,.13); border-radius:50%; background:#fff; color:#171918; font-size:26px; cursor:pointer; }
.checkout-form { display:grid; gap:15px; }
.checkout-locked { display:grid; gap:15px; min-width:0; margin:0; padding:0; border:0; }
.checkout-form > label:not(.checkout-check),.checkout-fields label { display:grid; gap:7px; color:#333a35; font-size:14px; font-weight:750; }
.checkout-form .checkout-email { display:grid; gap:7px; color:#333a35; font-size:14px; font-weight:750; }
.checkout-email-hint { display:block; max-width:100%; margin-top:1px; color:#667069; font-size:12px; font-weight:500; line-height:1.45; overflow-wrap:anywhere; }
.checkout-fields { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.checkout-form input:not([type="checkbox"]),.checkout-form select { width:100%; min-height:48px; padding:11px 13px; border:1px solid rgba(23,25,24,.18); border-radius:12px; background:rgba(255,255,255,.9); color:#171918; font:inherit; font-size:16px; }
.checkout-form input:focus,.checkout-form select:focus,.checkout-close:focus-visible,.checkout-submit:focus-visible { outline:3px solid rgba(35,212,122,.48); outline-offset:2px; }
.checkout-check { display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; color:#424a44; font-size:13px; line-height:1.5; }
.checkout-check[hidden] { display:none; }
.checkout-check input { width:18px; height:18px; margin:2px 0 0; accent-color:#18a85b; }
.checkout-check a { color:#176c42; text-decoration:underline; text-underline-offset:2px; }
.checkout-submit { width:100%; margin-top:4px; color:#15200e; }
.checkout-safe { margin:0; color:#667069; font-size:12px; line-height:1.45; text-align:center; }
.other-activity[hidden] { display:none !important; }
.legal-document { max-width:850px; margin:0 auto; padding:42px clamp(20px,5vw,48px); border:1px solid rgba(23,25,24,.1); border-radius:24px; background:#fff; }
.legal-document h1 { margin-top:0; font-size:clamp(28px,5vw,42px); }
.legal-document h2 { margin:32px 0 12px; font-size:24px; }
.legal-document p,.legal-document li { color:#454c47; font-size:16px; line-height:1.7; }
.legal-document a { color:#176c42; text-decoration:underline; text-underline-offset:2px; }
.legal-document .markdown-body h1:first-child { margin-top:18px; }
.legal-document .markdown-body h2 { margin-top:30px; }
.legal-back { display:inline-flex; margin-bottom:14px; color:#176c42; font-size:14px; font-weight:800; text-decoration:none; }
.legal-links { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:20px; }
.legal-links a { color:#176c42; font-size:13px; }
@media (max-width:760px) {
  .landing-page .top { padding:10px 24px; flex-wrap:wrap; gap:6px; }
  .landing-page .top nav { width:100%; display:flex; justify-content:space-between; align-items:center; gap:7px; overflow-x:auto; }
  .landing-page nav a { margin-left:0; font-size:clamp(10px,3vw,12px); white-space:nowrap; }
  .landing-page .top nav > a:not(.pill) { display:block; }
  .landing-page .top nav .pill { padding:8px 10px; }
  .landing-page .hero { min-height:0; padding:58px 26px 40px; grid-template-columns:minmax(0,1fr); gap:28px; }
  .landing-page .hero h1 { font-size:clamp(32px,9vw,40px); overflow-wrap:normal; word-break:normal; text-wrap:balance; }
  .landing-page .hero-card { min-height:400px; }
  .landing-page .hero-flipper { transform:none; }
  .landing-page .hero-face-info { padding:26px; }
  .landing-page .hero-card-badge { top:18px; right:18px; }
  .landing-page .hero-face-info strong { font-size:clamp(110px,36vw,160px); }
  .landing-page .portrait-caption strong { font-size:18px; }
  .landing-page .block, .landing-page .cta { padding:64px 26px; }
  .landing-page .grid-3, .landing-page .modules { grid-template-columns:1fr; }
  .landing-page .problem-track .point { min-height:175px; padding:24px; }
  .landing-page .problem-track .point p { font-size:19px; }
  .landing-page .steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .landing-page .tariffs { grid-template-columns:1fr; }
  .landing-page .safety { grid-template-columns:1fr; gap:0; }
  .landing-page .author { grid-template-columns:1fr; gap:18px; }
  .landing-page .faq details { padding:20px 22px; }
  .landing-page footer { padding:44px 26px 20px; }
  .landing-page footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 22px; padding-bottom:30px; }
  .landing-page footer .footer-brand { grid-column:1 / -1; }
  .landing-page footer .footer-tagline { max-width:360px; }
  .landing-page footer .footer-column a { overflow-wrap:anywhere; }
  .checkout-overlay { align-items:end; padding:0; }
  .checkout-dialog { width:100%; max-height:94dvh; padding:28px 20px calc(22px + env(safe-area-inset-bottom)); border-radius:24px 24px 0 0; }
  .checkout-fields { grid-template-columns:1fr; gap:15px; }
  .legal-document { padding:28px 20px; border-radius:18px; }
}
@media (max-width:520px) {
  .landing-page .steps { grid-template-columns:1fr; }
}
@media (max-width:390px) {
  .landing-page .steps { grid-template-columns:1fr; }
  .landing-page .hero-actions .btn { width:100%; }
  .landing-page footer .footer-grid { grid-template-columns:1fr; }
  .landing-page footer .footer-brand { grid-column:auto; }
}
@keyframes landing-enter { from { opacity:0; translate:0 14px; } to { opacity:1; translate:0 0; } }
@keyframes neon-type { to { clip-path:inset(0 0 0 0); } }
@keyframes neon-shimmer { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
@keyframes program-chip-out { from { opacity:.95; scale:1; } to { opacity:0; scale:.6; translate:0 -30px; } }
@keyframes mobile-cursor-float { 0%,100% { translate:0 0; } 50% { translate:0 -7px; } }
@keyframes mobile-cursor-tap { from { scale:.72; opacity:.65; } to { scale:.94; opacity:1; } }
@media(prefers-reduced-motion:reduce) { .landing-page *, .landing-page *::before, .landing-page *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

/* Footer: make the links and business details read as deliberate UI blocks. */
.landing-page footer { padding-top:72px; }
.landing-page footer .footer-grid { align-items:stretch; }
.landing-page footer .footer-brand,
.landing-page footer .footer-column { padding:24px; border:1px solid rgba(255,255,255,.09); border-radius:22px; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); box-shadow:inset 0 1px rgba(255,255,255,.045); }
.landing-page footer .footer-brand { border-color:rgba(217,255,70,.16); background:radial-gradient(circle at 12% 0%,rgba(217,255,70,.09),transparent 55%),rgba(255,255,255,.025); }
.landing-page footer .footer-column { gap:12px; }
.landing-page footer .footer-column h2 { margin-bottom:10px; }
.landing-page footer .footer-column a { display:block; width:100%; color:#c2cbc3; }
.landing-page footer .footer-column:not(.footer-social) a::before { content:"↗"; display:inline-block; margin-right:9px; color:#d9ff46; font-size:11px; }
.landing-page footer .footer-social-link { display:flex !important; width:auto !important; }
.landing-page footer .footer-social-link::before { display:none !important; }
.landing-page footer .footer-bottom { max-width:1180px; margin:0 auto; }
@media (max-width:720px) {
  .landing-page footer { padding:54px 20px 22px; }
  .landing-page footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .landing-page footer .footer-brand { grid-column:1 / -1; }
  .landing-page footer .footer-column { padding:20px 16px; border-radius:18px; }
  .landing-page footer .footer-social { grid-column:1 / -1; }
  .landing-page footer .footer-requisites { font-size:13px; }
}
@media (max-width:520px) {
  .landing-page footer .footer-grid { grid-template-columns:minmax(0,1fr); }
  .landing-page footer .footer-brand,.landing-page footer .footer-social { grid-column:auto; }
  .landing-page footer .footer-column a { overflow-wrap:anywhere; }
}
@media (max-width:390px) {
  .landing-page footer .footer-grid { grid-template-columns:1fr; }
  .landing-page footer .footer-brand,.landing-page footer .footer-social { grid-column:auto; }
}

/* Security badge follows a shallow orbit beside the heading. */
.landing-page .safety-heading { display:flex; align-items:center; gap:20px; margin-bottom:22px; }
.landing-page .safety-heading .kicker { margin:0; }
.landing-page .safety-orbit { position:relative; display:grid; place-items:center; flex:0 0 86px; height:86px; perspective:500px; }
.landing-page .safety-orbit::before { content:""; position:absolute; inset:7px -2px; border:1px solid rgba(198,255,39,.4); border-radius:50%; transform:rotateX(62deg) rotateZ(-24deg); }
.landing-page .safety-shield { display:block; width:48px; color:#c6ff27; filter:drop-shadow(3px 4px 0 #359858) drop-shadow(0 0 14px rgba(163,255,40,.35)); animation:security-orbit 7s linear infinite; }
.landing-page .safety-shield svg { display:block; width:100%; height:auto; }
@keyframes security-orbit { 0%,100% { transform:translate(13px,0) rotateY(-22deg) rotateZ(5deg); } 25% { transform:translate(0,-9px) rotateY(0deg) rotateZ(-4deg); } 50% { transform:translate(-13px,0) rotateY(22deg) rotateZ(-5deg); } 75% { transform:translate(0,9px) rotateY(0deg) rotateZ(4deg); } }
@media(max-width:760px) { .landing-page .safety-heading { gap:12px; } .landing-page .safety-orbit { flex-basis:68px; height:76px; } .landing-page .safety-shield { width:40px; } }
@media(prefers-reduced-motion:reduce) { .landing-page .safety-shield { animation:none; } }
