/* =========================================================
   Filingo Academy — landing
   Палитра, типографика и композиция сняты с макетов.
   Тема зафиксирована светлая: макеты существуют только в ней.
   ========================================================= */

/* ---------- 1. Токены ---------- */
:root{
  color-scheme: light;

  --navy:#0d1a5c;
  --navy-2:#16256b;
  --blue:#1f5fd6;
  --brand:#1f3bc9;
  --brand-2:#17309f;
  --icon:#2b7fd4;

  --sky-700:#4b9bde;
  --sky-500:#7cc0ea;
  --sky-400:#9dd0f0;
  --sky-300:#b9dcf4;
  --sky-200:#d6ebfa;
  --sky-100:#e9f4fd;
  --sky-50:#f4faff;

  --ink:#5b6b85;      /* 5.4:1 на белом */
  --ink-2:#5e6d87;    /* 5.2:1 на белом */
  --eyebrow:#45739a;  /* 5.0:1 на белом */
  --line:#dcebf8;

  --shadow-s:0 4px 18px rgba(20,60,130,.06);
  --shadow-m:0 12px 36px rgba(20,60,130,.09);
  --shadow-l:0 22px 60px rgba(20,60,130,.14);
  --shadow-btn:0 12px 28px rgba(26,48,168,.28);

  --r-card:20px;
  --r-btn:13px;
  --r-chip:14px;

  --ease:cubic-bezier(.23,1,.32,1);
  --pad:clamp(20px,4.2vw,72px);
  --header-h:88px;
  --wide:1920px;
}

/* ---------- 2. Сброс и база ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);overflow-x:clip}
body{
  margin:0;
  font-family:"Golos Text",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:16px;
  line-height:1.6;
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  /* clip, не hidden: hidden делает body скролл-контейнером и ломает sticky-шапку */
  overflow-x:clip;
}
img{max-width:100%;display:block;height:auto}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,p{margin:0}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
b,strong{font-weight:700}
:focus-visible{outline:3px solid #2f72d8;outline-offset:3px;border-radius:6px}

.skip-link{
  position:fixed;left:16px;top:-100px;z-index:200;
  padding:12px 20px;border-radius:10px;background:var(--brand);color:#fff;font-weight:700;
  transition:top .2s var(--ease);
}
.skip-link:focus{top:16px}

.heart{color:#4b93de}

/* ---------- 3. Раскладка ---------- */
.shell{
  width:100%;max-width:var(--wide);margin-inline:auto;
  padding-inline:var(--pad);
}
.section{
  position:relative;isolation:isolate;
  padding-block:clamp(34px,3.4vw,58px) clamp(30px,3vw,52px);
  background:linear-gradient(180deg,#fff 0%,#fbfdff 40%,#edf6fd 100%);
  overflow:hidden;
}
.section + .section{border-top:1px solid rgba(214,235,250,.7)}
.hero{padding-top:clamp(24px,2.6vw,44px)}

.split{
  width:100%;max-width:var(--wide);margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  align-items:center;
  gap:clamp(20px,2.4vw,44px);
}
.split__body{padding-left:var(--pad);min-width:0}
.split__media{min-width:0;position:relative}

.split--teachers{grid-template-columns:minmax(0,1fr) minmax(0,.96fr)}
.split--how{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)}
.split--rules{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.split--pricing{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}
.split--faq{grid-template-columns:minmax(0,1fr) minmax(0,.94fr)}
.split--final{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;row-gap:clamp(14px,1.6vw,26px)}

/* фоновая диагональная лента внизу секции */
.bg-band{position:absolute;inset:auto 0 0 0;height:clamp(110px,15vw,230px);z-index:-1;pointer-events:none}
.bg-band::before,.bg-band::after{content:"";position:absolute;inset:0}
.bg-band::before{background:var(--sky-100);clip-path:polygon(0 42%,100% 0,100% 100%,0 100%)}
.bg-band::after{background:var(--sky-200);clip-path:polygon(0 82%,58% 46%,100% 74%,100% 100%,0 100%);opacity:.85}

/* ---------- 4. Типографика ---------- */
.eyebrow{
  display:flex;align-items:center;gap:20px;
  margin-bottom:clamp(14px,1.6vw,24px);
  font-size:clamp(11px,.82vw,13.5px);font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow);
}
.eyebrow::after{content:"";height:2px;width:clamp(48px,5vw,90px);border-radius:2px;background:var(--sky-300);flex:none}

.display{
  font-weight:900;color:var(--navy);
  font-size:var(--h,clamp(38px,5.15vw,88px));
  line-height:.93;letter-spacing:-.028em;
}
.display--sm{--h:clamp(28px,2.4vw,40px);line-height:1}

/* размер заголовка задан для каждой секции отдельно: так на макетах */
.teachers .display{--h:clamp(35px,4.5vw,76px)}
.how      .display{--h:clamp(30px,3.25vw,55px);line-height:.98}
.rules    .display{--h:clamp(35px,4.6vw,78px)}
.pricing  .display{--h:clamp(32px,3.8vw,65px)}
.faq      .display{--h:clamp(32px,3.8vw,65px)}
.final    .display{--h:clamp(38px,4.85vw,82px)}

.display__accent{
  display:block;margin-top:.3em;
  font-size:var(--accent,clamp(21px,2.45vw,41px));
  font-weight:800;color:var(--blue);letter-spacing:-.02em;line-height:1.08;
}
.teachers .display__accent{--accent:clamp(33px,4.3vw,73px);margin-top:.06em}
.how      .display__accent{--accent:clamp(24px,2.75vw,47px);margin-top:.12em}
.pricing  .display__accent{--accent:clamp(22px,2.4vw,41px);margin-top:.18em}
.rules    .display__accent{--accent:clamp(17px,1.6vw,27px);font-weight:700;margin-top:.42em}
.faq      .display__accent{--accent:clamp(16px,1.58vw,27px);font-weight:700;margin-top:.42em}

.lead{
  margin-top:clamp(14px,1.5vw,24px);
  font-size:clamp(15px,1.15vw,19px);line-height:1.5;color:var(--ink);
  max-width:58ch;
}
.lead--lg{font-size:clamp(16px,1.28vw,21px)}

/* ---------- 5. Кнопки ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  min-height:52px;padding:17px 28px;border-radius:var(--r-btn);
  font-size:15.5px;font-weight:700;letter-spacing:-.01em;line-height:1.15;
  white-space:nowrap;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease);
}
.btn__icon{font-size:1.25em;line-height:0}
.btn--primary{
  background:linear-gradient(140deg,#2a4ad9 0%,#1a2ea8 100%);
  color:#fff;box-shadow:var(--shadow-btn);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(26,48,168,.34)}
.btn--primary:hover .btn__icon{transform:translateX(3px)}
.btn--primary:active{transform:translateY(0) scale(.99)}
.btn__icon{transition:transform .2s var(--ease)}
.btn--lg{min-height:60px;padding:20px 34px;font-size:clamp(15px,1.05vw,17px)}
.btn--xl{min-height:70px;padding:24px 40px;font-size:clamp(16px,1.25vw,20px);border-radius:15px}
.btn--ghost{
  border:2px solid var(--line);color:var(--navy);background:#fff;
}
.btn--ghost:hover{border-color:var(--sky-500);background:var(--sky-50)}

/* ---------- 6. Рукописные пометки ---------- */
.scribble{
  display:flex;align-items:center;gap:12px;
  font-family:"Caveat",cursive;font-weight:600;
  font-size:clamp(17px,1.35vw,22px);line-height:1.2;color:#2f72d8;
  transform:rotate(-2.5deg);
}
.scribble__arrow{width:clamp(46px,4vw,74px);height:auto;flex:none;color:#4b93de}
.scribble--under{flex-direction:row;align-items:flex-start;transform:rotate(-2deg);margin-top:6px}
.scribble__arrow--up{width:clamp(38px,3vw,54px)}

.script-mark{
  font-family:"Caveat",cursive;font-weight:600;
  font-size:clamp(17px,1.4vw,24px);line-height:1.25;color:#2f6fd6;
}
.script-mark--corner{
  position:absolute;right:var(--pad);bottom:clamp(14px,1.6vw,26px);
  z-index:2;text-align:right;pointer-events:none;
}
.script-mark--two{line-height:1.3}

/* ---------- 7. Шапка ---------- */
.header{
  position:sticky;top:0;z-index:60;background:#fff;
  border-bottom:1px solid transparent;
  transition:box-shadow .25s var(--ease),border-color .25s var(--ease);
}
.header.is-stuck{box-shadow:0 8px 26px rgba(20,60,130,.08);border-bottom-color:var(--line)}
.header__inner{
  display:flex;align-items:center;gap:clamp(16px,2vw,40px);
  min-height:var(--header-h);
}

.logo{display:flex;align-items:center;gap:12px;flex:none}
.logo__mark{width:clamp(38px,3vw,50px);height:auto;flex:none}
.logo__text{display:flex;flex-direction:column;line-height:1.05}
.logo__name{
  font-size:clamp(15px,1.35vw,22px);font-weight:800;color:var(--navy);letter-spacing:.005em;
}
.logo__tag{font-size:clamp(9px,.72vw,11.5px);color:var(--ink-2);letter-spacing:.01em;margin-top:3px}

.nav{margin-left:auto}
.nav__list{display:flex;align-items:center;gap:clamp(12px,1.5vw,28px)}
.nav__link{
  display:inline-block;padding:11px 4px;
  font-size:clamp(13px,.98vw,16px);font-weight:500;color:var(--navy-2);
  position:relative;transition:color .2s var(--ease);
}
.nav__link::after{
  content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;
  background:var(--blue);transform:scaleX(0);transform-origin:left;
  transition:transform .2s var(--ease);
}
.nav__link:hover{color:var(--blue)}
.nav__link:hover::after,.nav__link.is-active::after{transform:scaleX(1)}
.nav__link.is-active{color:var(--blue);font-weight:600}

.header__cta{margin-left:auto;flex:none;font-size:clamp(13px,.95vw,15.5px);padding:16px 24px;min-height:50px}
.header__cta-short{display:none}
.nav + .header__cta{margin-left:clamp(12px,1.6vw,34px)}

.burger{display:none;width:48px;height:48px;align-items:center;justify-content:center;
  font-size:26px;color:var(--navy);border-radius:12px;flex:none}
.burger:hover{background:var(--sky-50)}
.burger__close{display:none}
.burger[aria-expanded="true"] .burger__open{display:none}
.burger[aria-expanded="true"] .burger__close{display:block}

/* ---------- 8. Медиа-панель с диагоналями ---------- */
.media{
  position:relative;margin:0;
  aspect-ratio:1/.72;
}
.media--how{aspect-ratio:1/.83}
.media--rules{aspect-ratio:1/.85}
.media--pricing{aspect-ratio:1/1.42}
.media--faq{aspect-ratio:1/.7}
.media--final{aspect-ratio:1/.72}

.media img{
  width:100%;height:100%;object-fit:cover;
  clip-path:polygon(8% 0,100% 0,100% 100%,0 100%,0 17%);
}
.media--hero img{object-position:54% 42%}
.media--how img{object-position:50% 46%}
.media--rules img{object-position:58% 48%}
.media--pricing img{object-position:74% 66%}
.media--faq img{object-position:52% 42%}
.media--final img{object-position:48% 46%}

.wedge{position:absolute;pointer-events:none;z-index:2}
.wedge--tl{
  left:0;top:0;width:26%;height:39%;
  background:linear-gradient(158deg,#95cef0,#5da9e3);
  clip-path:polygon(27% 0,100% 0,0 100%);
}
.media--rules .wedge--tl,.media--faq .wedge--tl{width:20%;height:31%}
.wedge--tr{
  left:20%;top:0;width:44%;height:17%;
  background:#cbe6f8;
  clip-path:polygon(0 0,100% 0,26% 100%);
}
.wedge--bl{
  left:0;bottom:0;width:66%;height:24%;z-index:1;
  background:linear-gradient(205deg,#e6f2fb,#f7fbfe);
  clip-path:polygon(0 100%,100% 100%,0 4%);
}
.wedge--br{
  right:0;bottom:0;width:40%;height:36%;
  background:var(--sky-200);
  clip-path:polygon(100% 0,100% 100%,0 100%);
  opacity:.7;
}

/* пузыри и карточки поверх фото */
.bubble{
  position:absolute;z-index:3;
  padding:12px 20px;border-radius:18px;background:#fff;
  box-shadow:var(--shadow-m);
  font-family:"Caveat",cursive;font-weight:600;
  font-size:clamp(17px,1.5vw,26px);line-height:1.12;color:#1f4fd0;text-align:center;
}
.bubble::after{
  content:"";position:absolute;left:26px;bottom:-11px;
  width:20px;height:14px;background:#fff;
  clip-path:polygon(0 0,100% 0,18% 100%);
}
.bubble__spark{position:absolute;left:-30px;top:50%;width:26px;transform:translateY(-50%);color:#4b93de}
.bubble--hero{left:8%;top:20%}
.bubble--t1{left:2%;top:16%}
.bubble--t2{left:0;top:52%}
.bubble--h1{left:16%;top:16%}
.bubble--h2{right:6%;top:26%;color:#1f4fd0}
.bubble--h2::after{left:auto;right:26px;clip-path:polygon(0 0,100% 0,82% 100%)}

.note-card{
  position:absolute;z-index:3;
  padding:16px 22px;border-radius:16px;background:rgba(226,240,252,.94);
  backdrop-filter:blur(2px);
  font-family:"Caveat",cursive;font-weight:600;
  font-size:clamp(16px,1.3vw,23px);line-height:1.2;color:#2a63cf;
  transform:rotate(-1.5deg);box-shadow:var(--shadow-s);
}
.note-card--hero{right:3%;bottom:12%}
.note-card--faq{right:2%;bottom:8%}

.script-mark--t1{position:absolute;right:1%;top:8%;z-index:3;text-align:left;color:#2f6fd6}
.script-mark--f1{position:absolute;left:1%;top:34%;z-index:3;text-align:center;color:#2f6fd6}
.script-mark--c1{position:absolute;right:7%;bottom:8%;z-index:3;text-align:right}

/* ---------- 9. HERO ---------- */
.hero .split__body{padding-block:clamp(8px,1vw,20px)}

.perks{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,1.8vw,30px);
  margin-top:clamp(22px,2.6vw,40px);
}
.perks--tight{margin-top:clamp(16px,1.8vw,28px)}
.perk{display:flex;align-items:flex-start;gap:14px}
.perk__icon{font-size:clamp(26px,2.1vw,34px);color:var(--icon);line-height:1;flex:none;margin-top:2px}
.perk__title{font-size:clamp(14px,1.06vw,17.5px);font-weight:800;color:var(--blue);line-height:1.16;letter-spacing:-.012em}
.perk__text{margin-top:6px;font-size:clamp(12.5px,.92vw,15px);line-height:1.35;color:var(--ink)}

.cta-row{display:flex;align-items:center;gap:clamp(14px,1.6vw,28px);flex-wrap:wrap;margin-top:clamp(22px,2.5vw,38px)}
.pricing .cta-row{margin-top:clamp(18px,2vw,30px)}
.cta-row--stack{align-items:flex-start;flex-direction:column;gap:6px}

.students{display:flex;align-items:center;gap:16px;margin-top:clamp(22px,2.4vw,36px)}
.students__row{display:flex}
.students__row li{margin-left:-13px}
.students__row li:first-child{margin-left:0}
.students__row img{
  width:clamp(42px,3.1vw,52px);height:clamp(42px,3.1vw,52px);
  border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:var(--shadow-s);
}
.students__text{font-size:clamp(12.5px,.94vw,15px);line-height:1.35;color:var(--ink)}
.students__spark{width:22px;height:auto;color:#63a9e4;flex:none}

.stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:clamp(20px,2.2vw,32px);padding-right:var(--pad);
}
.stat{padding:0 clamp(12px,1.4vw,26px);position:relative}
.stat:first-child{padding-left:clamp(20px,3vw,56px)}
.stat + .stat::before{content:"";position:absolute;left:0;top:6%;bottom:6%;width:1px;background:var(--line)}
.stat__value{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:clamp(24px,2.5vw,42px);font-weight:800;color:var(--navy);line-height:1;letter-spacing:-.03em;
}
.stat__value--sm{font-size:clamp(16px,1.42vw,24px);line-height:1.16;letter-spacing:-.015em;display:block;position:relative;padding-right:38px}
.stat__stars{display:inline-flex;gap:2px;font-size:clamp(12px,1.05vw,17px);color:#2f72d8}
.stat__globe{position:absolute;right:0;top:0;font-size:clamp(20px,1.8vw,30px);color:var(--icon)}
.stat__label{display:block;margin-top:8px;font-size:clamp(11.5px,.85vw,14px);line-height:1.35;color:var(--ink-2)}

/* ---------- 10. Преподаватели ---------- */
.tiles{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(10px,1vw,16px);margin-top:clamp(22px,2.4vw,36px);
}
.tile{
  background:var(--sky-50);border:1px solid rgba(214,235,250,.9);
  border-radius:16px;padding:clamp(14px,1.2vw,20px);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-m)}
.tile__icon{display:block;font-size:clamp(26px,2.2vw,36px);color:var(--icon);line-height:1;margin-bottom:12px}
.tile__text{font-size:clamp(12px,.9vw,14.5px);line-height:1.34;color:var(--ink)}
.tile__text b{color:var(--blue);font-weight:800}

.collage{position:relative;aspect-ratio:1/.82}
.collage__item{
  position:absolute;margin:0;overflow:hidden;border-radius:18px;
  box-shadow:var(--shadow-l);background:#fff;
}
.collage__item img{width:100%;height:100%;object-fit:cover;object-position:56% 38%}
.collage__item--a{left:24%;top:0;width:50%;height:45%;transform:rotate(-2.4deg)}
.collage__item--b{left:11%;top:45%;width:45%;height:48%;transform:rotate(2deg)}
.collage__item--c{left:51%;top:40%;width:45%;height:52%;transform:rotate(-1.6deg)}

/* ---------- 11. Как проходит обучение ---------- */
.method{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(12px,1.1vw,18px);margin-top:clamp(22px,2.4vw,36px);
}
.method__item{
  display:flex;align-items:flex-start;gap:14px;
  background:var(--sky-50);border:1px solid rgba(214,235,250,.9);
  border-radius:16px;padding:clamp(14px,1.2vw,20px);
}
.method__item p{font-size:clamp(12.5px,.94vw,15px);line-height:1.4;color:var(--ink)}
.method__item b{color:var(--navy);font-weight:800}
.method__badge{
  flex:none;display:grid;place-items:center;
  width:clamp(38px,3.2vw,48px);height:clamp(38px,3.2vw,48px);
  border-radius:12px;background:#dfeefb;color:var(--icon);
  font-size:clamp(20px,1.6vw,26px);line-height:1;
}
.method__badge--letters{
  display:block;position:relative;
  font-family:"Golos Text",sans-serif;font-weight:800;letter-spacing:-.02em;
  font-size:clamp(12px,.98vw,16px);
}
.method__badge--letters i,.method__badge--letters b{position:absolute;font-style:normal;line-height:1}
.method__badge--letters i{left:26%;top:24%;color:var(--icon)}
.method__badge--letters b{right:24%;bottom:24%;color:#1a4fb0}

/* ---------- 12. Правила ---------- */
.rules__list{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,1.4vw,24px);margin-top:clamp(24px,2.6vw,38px);
}
.rule{
  position:relative;overflow:hidden;
  background:#fff;border-radius:var(--r-card);
  padding:clamp(20px,1.8vw,30px);padding-top:clamp(74px,7vw,116px);
  box-shadow:var(--shadow-m);
}
.rule::before{
  content:attr(data-num);
  position:absolute;left:clamp(18px,1.6vw,28px);top:clamp(10px,1vw,18px);
  font-size:clamp(52px,5.2vw,88px);font-weight:900;color:#e7f1fb;line-height:1;letter-spacing:-.04em;
}
.rule__icon{
  position:absolute;right:clamp(18px,1.6vw,30px);top:clamp(20px,1.8vw,32px);
  font-size:clamp(34px,3.1vw,52px);color:var(--icon);line-height:1;
}
.rule__title{font-size:clamp(16px,1.35vw,22px);font-weight:800;color:var(--navy);letter-spacing:-.015em}
.rule__text{margin-top:10px;font-size:clamp(12.5px,.94vw,15px);line-height:1.45;color:var(--ink)}

/* ---------- 13. Тарифы ---------- */
.plans{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.2vw,20px);align-items:center;
  margin-top:clamp(20px,2vw,30px);
}
.plan{
  position:relative;background:#fff;border:1px solid rgba(214,235,250,.9);
  border-radius:var(--r-card);padding:clamp(16px,1.45vw,24px);
  box-shadow:var(--shadow-m);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.plan:hover{transform:translateY(-4px);box-shadow:var(--shadow-l)}
.plan--featured{
  border:2px solid #5b9ee4;background:linear-gradient(180deg,#fbfdff,#f1f8fe);
  padding-block:clamp(20px,1.9vw,31px);
}
.plan__badge{
  position:absolute;right:clamp(14px,1.2vw,20px);top:-16px;
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 15px;border-radius:11px;background:var(--navy);color:#fff;
  font-size:clamp(11px,.82vw,13.5px);font-weight:600;white-space:nowrap;
  box-shadow:var(--shadow-m);
}
.plan__badge i{color:#8fc4f5;font-size:1.05em}
.plan__name{font-size:clamp(16px,1.4vw,23px);font-weight:800;color:var(--navy);letter-spacing:-.02em}
.plan__price{
  margin-top:6px;font-size:clamp(26px,2.55vw,43px);font-weight:800;color:var(--blue);
  line-height:1.05;letter-spacing:-.035em;
}
.plan__price span{font-weight:700}
.plan__list{margin-top:clamp(12px,1.1vw,17px);border-top:1px solid var(--line);padding-top:clamp(10px,.95vw,15px);display:grid;gap:9px}
.plan__list li{display:flex;align-items:center;gap:10px;font-size:clamp(12px,.9vw,14.5px);color:var(--navy-2)}
.plan__list i{color:#5aa6e4;font-size:1.25em;flex:none}

/* ---------- 14. FAQ ---------- */
.accordion{display:grid;gap:clamp(10px,1vw,16px);margin-top:clamp(24px,2.6vw,38px)}
.acc{background:#fff;border:1px solid rgba(214,235,250,.9);border-radius:18px;box-shadow:var(--shadow-s);overflow:hidden}
.acc__h{margin:0;font:inherit}
.acc__head{
  display:flex;align-items:center;gap:16px;width:100%;text-align:left;
  min-height:64px;padding:clamp(14px,1.3vw,20px) clamp(16px,1.5vw,24px);
  transition:background-color .2s var(--ease);
}
.acc__head:hover{background:var(--sky-50)}
.acc__num{
  flex:none;display:grid;place-items:center;
  width:clamp(26px,2.1vw,34px);height:clamp(26px,2.1vw,34px);border-radius:50%;
  background:linear-gradient(140deg,#3a76de,#2354c4);color:#fff;
  font-size:clamp(12px,.92vw,15px);font-weight:700;
}
.acc__q{flex:1;font-size:clamp(14.5px,1.22vw,20px);font-weight:800;color:var(--navy);letter-spacing:-.018em}
.acc__caret{font-size:clamp(16px,1.4vw,22px);color:#3d80da;transition:transform .3s var(--ease);flex:none}
.acc.is-open .acc__caret{transform:rotate(180deg)}

.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s var(--ease)}
.acc.is-open .acc__panel{grid-template-rows:1fr}
.acc__inner{overflow:hidden;visibility:hidden;transition:visibility 0s linear .32s}
.acc.is-open .acc__inner{visibility:visible;transition-delay:0s}
.acc__inner p{
  margin:0 clamp(16px,1.5vw,24px) clamp(16px,1.5vw,22px);
  padding:clamp(14px,1.3vw,20px) clamp(16px,1.5vw,24px);
  border-radius:14px;background:#eef6fd;
  font-size:clamp(12.5px,.94vw,15px);line-height:1.55;color:var(--ink);
}

.promise{
  display:flex;align-items:center;gap:clamp(16px,1.6vw,26px);
  margin-top:clamp(16px,1.6vw,26px);margin-right:var(--pad);
  padding:clamp(18px,1.6vw,26px) clamp(20px,1.8vw,30px);
  border-radius:18px;background:#e8f3fd;
}
.promise__icon{font-size:clamp(30px,2.6vw,44px);color:var(--icon);line-height:1;flex:none}
.promise span{
  padding-left:clamp(16px,1.6vw,26px);border-left:2px solid #b9d8f2;
  font-size:clamp(12.5px,.96vw,15.5px);line-height:1.45;color:var(--ink);
}
.promise b{color:var(--navy);font-weight:800;font-size:1.14em}

/* ---------- 15. Финальный блок ---------- */
.perks--wide{
  grid-column:1/-1;padding-left:var(--pad);padding-right:var(--pad);
  max-width:1300px;margin-top:0;
}
.final .split__media{align-self:start;position:relative}

.testimonial{
  position:absolute;z-index:4;left:-15%;top:22%;width:54%;margin:0;
  background:#fff;border-radius:22px;box-shadow:var(--shadow-l);
  padding:clamp(20px,1.7vw,30px);
}
.testimonial__mark{font-size:clamp(26px,2.2vw,38px);color:#bcd9f3;line-height:1;display:block;margin-bottom:8px}
.testimonial__title{font-size:clamp(17px,1.5vw,25px);font-weight:800;color:var(--navy);line-height:1.15;letter-spacing:-.022em}
.testimonial__title span{color:var(--blue)}
.testimonial__text{margin-top:10px;font-size:clamp(12.5px,.96vw,15.5px);line-height:1.45;color:var(--ink)}
.testimonial__person{
  display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:10px clamp(12px,1.2vw,18px);align-items:center;
  margin-top:clamp(16px,1.6vw,24px);
}
.testimonial__avatar{
  width:clamp(48px,4vw,66px);height:clamp(48px,4vw,66px);border-radius:50%;
  object-fit:cover;border:3px solid #fff;box-shadow:var(--shadow-s);
}
.testimonial__quote{
  position:relative;padding:12px 18px;border-radius:14px;background:#e8f2fd;
  font-family:"Caveat",cursive;font-weight:600;
  font-size:clamp(14px,1.05vw,18px);line-height:1.22;color:#2a5fca;
}
.testimonial__quote::before{
  content:"";position:absolute;left:-9px;top:50%;transform:translateY(-50%);
  width:12px;height:16px;background:#e8f2fd;clip-path:polygon(100% 0,100% 100%,0 50%);
}
.testimonial__name{
  grid-column:1/-1;font-size:clamp(13px,1vw,16px);font-weight:700;color:var(--navy);line-height:1.3;
}
.testimonial__name span{display:block;font-size:.82em;font-weight:400;color:var(--ink-2);margin-top:2px}

/* ---------- 16. Подвал ---------- */
.footer{background:linear-gradient(180deg,#eef7fd,#e2effb);padding-block:clamp(32px,3.4vw,54px) 0}
.footer__inner{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:clamp(20px,3vw,60px);
}
.footer__nav{display:flex;flex-wrap:wrap;gap:10px clamp(16px,2vw,32px);justify-content:center}
.footer__nav a{
  padding:11px 2px;font-size:clamp(13px,.95vw,15.5px);color:var(--navy-2);
  transition:color .2s var(--ease);
}
.footer__nav a:hover{color:var(--blue)}
.footer__contacts{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.footer__mail{font-size:clamp(14px,1.05vw,17px);font-weight:700;color:var(--navy);transition:color .2s var(--ease)}
.footer__mail:hover{color:var(--blue)}
.footer__social{display:flex;gap:8px}
.footer__social a{
  display:grid;place-items:center;width:44px;height:44px;border-radius:12px;
  background:#fff;color:var(--icon);font-size:21px;box-shadow:var(--shadow-s);
  transition:transform .2s var(--ease),color .2s var(--ease);
}
.footer__social a:hover{transform:translateY(-2px);color:var(--brand)}
.footer__legal{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;
  margin-top:clamp(24px,2.6vw,40px);padding-block:clamp(16px,1.6vw,24px);
  border-top:1px solid #cfe3f5;
  font-size:clamp(12px,.86vw,14px);color:var(--ink);
}
.footer__legal a{transition:color .2s var(--ease)}
.footer__legal a:hover{color:var(--blue)}

/* ---------- 17. Модальное окно ---------- */
.modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px}
.modal[hidden]{display:none}
.modal__scrim{position:absolute;inset:0;background:rgba(9,20,60,.5);backdrop-filter:blur(4px);animation:fade .25s var(--ease)}
.modal__dialog{
  position:relative;width:min(520px,100%);max-height:calc(100dvh - 40px);overflow:auto;
  background:#fff;border-radius:24px;box-shadow:0 40px 90px rgba(9,20,60,.3);
  animation:pop .3s var(--ease);
}
.modal__body{padding:clamp(26px,3vw,40px)}
.modal__close{
  position:absolute;right:14px;top:14px;z-index:2;
  display:grid;place-items:center;width:44px;height:44px;border-radius:12px;
  font-size:22px;color:var(--navy);background:#f2f8fd;
  transition:background-color .2s var(--ease)
}
.modal__close:hover{background:#e2eefb}
.modal__lead{margin-top:14px;font-size:15px;line-height:1.5;color:var(--ink)}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}

.form{margin-top:24px;display:grid;gap:18px}
.field{display:grid;gap:8px}
.field__label{font-size:14px;font-weight:700;color:var(--navy)}
.field__input{
  width:100%;min-height:52px;padding:14px 16px;
  border:2px solid #dbe9f7;border-radius:12px;background:#fff;color:var(--navy);
  font-size:16px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.field__input:hover{border-color:#c3ddf3}
.field__input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(31,95,214,.15)}
.field__input--select{appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,#3d80da 50%),linear-gradient(135deg,#3d80da 50%,transparent 50%);
  background-position:calc(100% - 22px) 23px,calc(100% - 16px) 23px;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px}
.field__hint{font-size:13px;color:var(--ink-2)}
.field__error{font-size:13px;font-weight:600;color:#c02b3d}
.field.has-error .field__input{border-color:#e0637a}
.form__submit{width:100%}
.form__note{font-size:12.5px;line-height:1.45;color:var(--ink-2)}
.form.is-sending .form__submit{pointer-events:none;opacity:.72}

.form-done{display:grid;justify-items:center;text-align:center;gap:12px;padding-block:clamp(20px,3vw,40px)}
.form-done__icon{font-size:56px;color:#3fa06a;line-height:1}
.form-done__title{font-size:clamp(20px,2vw,27px);font-weight:800;color:var(--navy);letter-spacing:-.02em}
.form-done__text{font-size:15px;line-height:1.5;color:var(--ink);max-width:34ch}
.form-done .btn{margin-top:8px}

/* ---------- 18. Появление по скроллу ---------- */
.reveal{
  opacity:0;transform:translateY(28px);filter:blur(var(--rv-blur,14px));
  transition:opacity .75s var(--ease),transform .75s var(--ease),filter .75s var(--ease);
}
.reveal.is-in{opacity:1;transform:none;filter:blur(0)}
.media.reveal,.collage.reveal{--rv-blur:0px}

/* ---------- 19. Адаптив ---------- */
@media (max-width:1240px){
  :root{--header-h:76px}
  .nav{
    position:fixed;left:0;right:0;top:var(--header-h);z-index:59;
    background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-m);
    padding:8px var(--pad) 20px;margin-left:0;
    transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .24s var(--ease),transform .24s var(--ease),visibility .24s;
  }
  .nav.is-open{opacity:1;transform:none;visibility:visible;pointer-events:auto}
  .nav__list{flex-direction:column;align-items:stretch;gap:0}
  .nav__link{padding:15px 4px;font-size:17px;border-bottom:1px solid #eef5fb}
  .nav__link::after{display:none}
  .nav + .header__cta{margin-left:auto}
  .burger{display:flex}
}

@media (max-width:900px){
  .header__cta-long{display:none}
  .header__cta-short{display:inline}
  .header__cta{padding:13px 16px;min-height:46px;font-size:14px;gap:9px;margin-right:6px}
  .logo__tag{display:none}
}

@media (max-width:560px){
  .header__inner{gap:8px}
  .logo{gap:8px}
  .logo__mark{width:31px}
  .logo__name{font-size:13px}
  .header__cta{padding:11px 12px;font-size:12.5px;min-height:44px;gap:7px;margin-right:0}
  .burger{width:44px;height:44px;font-size:23px}
}

@media (max-width:400px){
  .logo__name{font-size:11.5px}
  .header__cta{font-size:11.5px;padding:10px 10px}
}

@media (max-width:430px){
  .header{--pad:14px}
  .header__inner{padding-inline:14px}
  .logo__mark{width:29px}
  .logo__name{font-size:12px;letter-spacing:0}
  .header__cta{padding:10px 11px;font-size:12px;gap:6px}
  .burger{width:42px;height:42px;font-size:22px}
}

@media (max-width:1080px){
  .split,
  .split--teachers,.split--how,.split--rules,.split--pricing,.split--faq,.split--final{
    grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vw,48px);
  }
  .split__body{padding-inline:var(--pad)}
  .split__media{padding-inline:0}
  .media{aspect-ratio:16/10;max-height:62vh}
  .media img{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
  .wedge{display:none}
  .stats{padding-inline:var(--pad)}
  .collage{aspect-ratio:16/12;margin-inline:var(--pad)}
  .promise{margin-inline:var(--pad)}
  .final .perks{width:100%}
  .testimonial{position:static;width:auto;margin:clamp(-56px,-5vw,-28px) var(--pad) 0}
  .script-mark--corner{position:static;text-align:left;margin:20px var(--pad) 0}
  .bubble--hero{left:4%;top:12%}
  .bubble--t1{left:0;top:8%}
  .bubble--t2{left:0;top:56%}
  .note-card--hero{right:3%;bottom:6%}
  .lead{max-width:60ch}
}

@media (max-width:820px){
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rules__list{grid-template-columns:minmax(0,1fr)}
  .method{grid-template-columns:minmax(0,1fr)}
  .plans{grid-template-columns:minmax(0,1fr);gap:22px}
  .plan__badge{top:-14px}
  .footer__inner{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
  .footer__contacts{align-items:center}
  .footer__legal{justify-content:center;text-align:center}
}

@media (max-width:640px){
  .perks{grid-template-columns:minmax(0,1fr);gap:18px}
  .stats{grid-template-columns:minmax(0,1fr);gap:20px}
  .stat{padding:0}
  .stat:first-child{padding-left:0}
  .stat + .stat::before{display:none}
  .stat + .stat{padding-top:20px;border-top:1px solid var(--line)}
  .stat__value--sm{padding-right:0}
  .stat__globe{position:static;display:block;margin-top:8px}
  .display br{display:none}
  .lead br,.perk__text br,.students__text br,.stat__label br{display:none}
  .btn{white-space:normal;text-align:center}
  .header__cta{white-space:nowrap}
  .cta-row{gap:16px}
  .scribble{transform:none}
  .promise{flex-direction:column;align-items:flex-start;gap:14px}
  .promise span{padding-left:0;border-left:0;border-top:2px solid #b9d8f2;padding-top:14px}
  .testimonial__person{grid-template-columns:minmax(0,1fr);justify-items:start}
  .testimonial__quote::before{left:22px;top:-9px;transform:none;width:16px;height:11px;clip-path:polygon(0 100%,100% 100%,50% 0)}
  .modal{padding:0;align-items:end}
  .modal__dialog{border-radius:22px 22px 0 0;max-height:92dvh}
}

/* ---------- 20. Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* ---------- 21. Печать ---------- */
@media print{
  .header,.footer__social,.modal,.scribble,.bg-band,.wedge{display:none!important}
  .section{background:#fff;padding-block:20px}
  .reveal{opacity:1!important;transform:none!important;filter:none!important}
}

/* ---------- 22. Страница 404 ---------- */
.notfound{display:grid;align-items:center;min-height:calc(100dvh - var(--header-h));padding-block:clamp(40px,6vw,90px)}
.notfound__inner{
  width:100%;max-width:var(--wide);margin-inline:auto;
  padding-inline:var(--pad);
}
.notfound .display{--h:clamp(36px,4.6vw,78px);max-width:15ch}
.notfound .display__accent{--accent:clamp(18px,1.9vw,32px);max-width:26ch;font-weight:700}
.notfound .lead{max-width:52ch}
.notfound__links{
  display:flex;flex-wrap:wrap;gap:10px clamp(14px,1.6vw,26px);
  margin-top:clamp(26px,3vw,44px);padding-top:clamp(20px,2.2vw,32px);
  border-top:1px solid var(--line);
}
.notfound__links a{
  display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 2px;
  font-size:clamp(13px,1vw,16px);font-weight:600;color:var(--navy-2);
  transition:color .2s var(--ease);
}
.notfound__links i{font-size:1.35em;color:var(--icon);transition:transform .2s var(--ease)}
.notfound__links a:hover{color:var(--blue)}
.notfound__links a:hover i{transform:translateY(-2px)}
