:root{
  --bg:#fff; --surface:#f5f5f7; --surface-2:#e9e9ee; --ink:#0b0b0f; --ink-2:#3c3c45; --ink-3:#73737f;
  --accent:#0a84ff; --accent-deep:#0066d6; --accent-soft:#e8f2ff;
  --r:24px; --r-sm:16px; --max:1200px; --shadow:0 18px 50px rgba(15,15,30,.08);
}
*{box-sizing:border-box} html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.55 "Google Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-kerning:normal;font-feature-settings:"liga" 1,"kern" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto} a{color:inherit;text-decoration:none} button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.01em;line-height:1.1}
h1{font-size:clamp(38px,4.6vw,62px);letter-spacing:-.02em;line-height:1.04;text-wrap:balance}
h2{font-size:clamp(28px,3.8vw,40px);letter-spacing:-.015em}
h3{font-size:19px;line-height:1.3} p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.sec{padding:96px 0} .sec--tight{padding-top:56px}
.sec__head{max-width:720px;margin-bottom:40px} .sec__head p{margin-top:14px;font-size:18px;color:var(--ink-2)} .sec__head--center{margin-left:auto;margin-right:auto;text-align:center} .sec__more{display:flex;justify-content:center;margin-top:36px}
.sec__row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px} .sec__row .sec__head{margin:0}
.eyebrow{display:inline-block;margin-bottom:18px;font-size:14px;font-weight:600;color:var(--ink-3);letter-spacing:.01em}
.more{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--accent-deep);font-size:16px} .more svg{width:18px;height:18px} .more:hover{color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;font-weight:600;font-size:16px;background:var(--surface);color:var(--ink);transition:transform .15s ease,background .15s ease,box-shadow .15s ease;white-space:nowrap}
.btn:hover{background:var(--surface-2);transform:translateY(-1px)} .btn:active{transform:translateY(0)}
.btn--primary{background:var(--accent);color:#fff;box-shadow:0 10px 24px rgba(10,132,255,.25)} .btn--primary:hover{background:var(--accent-deep)}
.btn--small{height:42px;padding:0 18px;font-size:15px} .btn--white{background:#fff} .btn--white:hover{background:#f0f0f3}
.btn svg{width:20px;height:20px;flex:none}
/* шапка — как у «Класса»: матовое стекло с растворяющейся кромкой, иконка-плитка, меню по центру, пилюли */
.top{position:sticky;top:0;z-index:50;isolation:isolate}
.top::before{content:"";position:absolute;left:0;right:0;top:0;bottom:-26px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 52%,rgba(255,255,255,.55) 78%,rgba(255,255,255,0) 100%);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);mask-image:linear-gradient(180deg,#000 58%,rgba(0,0,0,.5) 82%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 58%,rgba(0,0,0,.5) 82%,transparent 100%)}
.top__in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;height:80px;padding:0 32px;gap:20px}
.brand{display:inline-flex;align-items:center;gap:14px;justify-self:start}
.brand__mark{width:48px;height:48px;display:block;filter:drop-shadow(0 8px 14px rgba(20,110,120,.28))} .brand__mark img{width:100%;height:100%;object-fit:contain}
.brand__copy{display:flex;flex-direction:column;line-height:1} .brand__copy b{font-size:26px;font-weight:700;letter-spacing:0;color:#1f2937;white-space:nowrap} .brand__copy span{margin-top:4px;font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#94a3b8}
.nav{display:flex;gap:28px;justify-self:center} .nav a{font-size:16px;font-weight:500;color:#475569;transition:color .15s;white-space:nowrap} .nav .nav__cta{display:none} .nav a:hover{color:#0f172a} .nav a[aria-current]{color:#0f172a;font-weight:600}
.top__cta{display:flex;align-items:center;gap:12px;justify-self:end}
.btn--grad{height:48px;padding:0 24px;font-weight:500;color:#fff;background-color:#2563eb;background-image:linear-gradient(90deg,#3b82f6 0%,#2f74ee 40%,#2563eb 72%,#1d4ed8 100%);background-size:220% 100%;background-position:0 50%;box-shadow:0 10px 26px -18px rgba(37,99,235,.78);transition:background-position .5s cubic-bezier(.22,1,.36,1),transform .18s ease,box-shadow .22s ease}
.btn--grad:hover{background-position:100% 50%;transform:translateY(-1px);box-shadow:0 14px 30px -18px rgba(37,99,235,.82)}
.btn--soft{height:48px;padding:0 22px;font-weight:500;color:#1f2937;background:var(--surface)} .btn--soft:hover{background:var(--surface-2)} .top__phone{font-weight:600;white-space:nowrap;background:transparent;padding:0 10px;font-size:17px;color:#1f2937} .top__phone:hover{background:transparent;color:var(--accent-deep);transform:none} .top__phone svg{width:18px;height:18px;color:var(--accent-deep)}
@media (max-width:1359px){.top__cta .btn--soft:not(.top__phone){display:none}}
.burger{display:none;width:44px;height:44px;border-radius:999px;background:var(--surface);align-items:center;justify-content:center}
.burger i{position:relative;display:block;width:18px;height:2px;background:var(--ink);border-radius:2px} .burger i::before,.burger i::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s}
.burger i::before{top:-6px} .burger i::after{top:6px}
.top.is-open .burger i{background:transparent} .top.is-open .burger i::before{transform:translateY(6px) rotate(45deg)} .top.is-open .burger i::after{transform:translateY(-6px) rotate(-45deg)}
/* герой — как у «Класса»: логотип с сиянием, крупный заголовок, абзац, пилюля; мягкие пятна на фоне */
.hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;min-height:calc(100vh - 80px);min-height:calc(100svh - 80px);padding:40px 0;background:#fff}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 60% at 12% 8%,rgba(59,130,246,.20) 0%,rgba(59,130,246,0) 70%),radial-gradient(50% 55% at 88% 12%,rgba(34,197,94,.16) 0%,rgba(34,197,94,0) 70%),radial-gradient(60% 50% at 50% 105%,rgba(14,165,233,.14) 0%,rgba(14,165,233,0) 70%),linear-gradient(180deg,#f8fafc 0%,#fff 100%)}
.hero__content{position:relative;z-index:1;max-width:1200px}
.hero__logo{position:relative;width:80px;height:80px;margin:0 auto} .hero__logo img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;transform-origin:50% 55%;filter:drop-shadow(0 16px 24px rgba(59,130,246,.24)) drop-shadow(0 6px 12px rgba(15,23,42,.18));animation:heroLogoFloat 5.8s ease-in-out infinite}
.hero__glow{position:absolute;left:50%;top:63%;width:80%;height:38%;border-radius:999px;z-index:1;filter:blur(10px);transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(59,130,246,.42) 0%,rgba(34,197,94,.24) 42%,rgba(59,130,246,0) 74%);animation:heroLogoGlow 5.8s ease-in-out infinite}
@keyframes heroLogoFloat{0%,100%{transform:translateY(0) rotate(-2deg) scale(1)}25%{transform:translateY(-3px) rotate(-.4deg) scale(1.01)}50%{transform:translateY(-7px) rotate(1.8deg) scale(1.03)}75%{transform:translateY(-3px) rotate(.2deg) scale(1.01)}}
@keyframes heroLogoGlow{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(.94)}50%{opacity:.95;transform:translate(-50%,-50%) scale(1.12)}}
.hero h1{margin:26px auto 0;max-width:12em;font-size:clamp(2.7rem,6.6vw,5.8rem);font-weight:600;line-height:1;letter-spacing:0;color:#0f172a}
.hero .lead{margin:24px auto 0;max-width:768px;font-size:1.16rem;line-height:2rem;color:#475569}
.hero__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:36px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px} .sec--stats{padding:72px 0}
.stat{text-align:center;padding:0 12px} .stat__ic{display:flex;justify-content:center;margin-bottom:14px;color:var(--ink-2)} .stat__ic svg{width:34px;height:34px} .stat__n{font-size:clamp(40px,4.4vw,58px);font-weight:600;letter-spacing:-.02em;line-height:1;color:#0f172a} .stat__t{margin:12px auto 0;font-size:15px;color:var(--ink-2);line-height:1.4;max-width:230px}
/* распределение баллов ЕГЭ: две полосы по 100 % */
.dist{margin-top:56px;padding:0 8px}
.dist__row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;align-items:end;padding:10px 0} .dist__row+.dist__row{margin-top:8px}
.dist__subj{font-size:19px;font-weight:600;line-height:1.15;padding-bottom:6px;color:#0f172a} .dist__subj small{display:block;margin-top:4px;font-size:13px;font-weight:500;color:var(--ink-3)}
.dist__cap{width:var(--w);min-width:max-content;margin-bottom:8px;padding-bottom:6px;font-size:13.5px;font-weight:600;letter-spacing:.005em;white-space:nowrap;position:relative}
.dist__cap::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:2px;background:currentColor;opacity:.9}
.dist__row--chem .dist__cap{color:#1d4ed8} .dist__row--bio .dist__cap{color:#15803d}
.dist__bar{display:flex;gap:3px;height:60px} .dist__seg{flex:var(--w) 1 0;min-width:0;background:var(--c);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;line-height:1.1;color:#0f172a;container-type:inline-size;overflow:hidden}
.dist__seg:first-child{border-radius:16px 4px 4px 16px} .dist__seg:last-child{border-radius:4px 16px 16px 4px} .dist__seg:nth-child(-n+2){color:#fff}
.dist__seg b{font-size:17px;font-weight:700;letter-spacing:-.01em;white-space:nowrap} .dist__seg b i{font-style:normal;font-size:12px;font-weight:600;margin-left:2px;opacity:.85} .dist__seg span{font-size:12px;font-weight:500;white-space:nowrap;opacity:.8}
@container (max-width:40px){.dist__seg span{display:none}} @container (max-width:30px){.dist__seg b{display:none}}
@media (max-width:900px){.dist__row{grid-template-columns:118px minmax(0,1fr)}}
.dist__note{margin:22px 0 0;font-size:14px;line-height:1.5;color:var(--ink-3);max-width:760px}
/* статьи: страница статьи и раздел */
.phead--post{max-width:920px} .phead--post h1{font-size:clamp(30px,4vw,46px);line-height:1.12;text-wrap:balance}
.crumb{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;font-size:14px;font-weight:600;color:var(--ink-3)} .crumb::before{content:"←"} .crumb:hover{color:var(--accent-deep)}
.post-meta{margin-top:14px!important;font-size:15px!important;color:var(--ink-3)!important} .post-meta a{color:var(--accent-deep);font-weight:600}
.post-hero{max-width:920px;margin:8px 0 36px} .post-hero img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:24px;background:var(--surface)}
.article{max-width:760px;font-size:18px;line-height:1.7;color:var(--ink);overflow-wrap:anywhere} .article>p{margin:0 0 1.15em} .article h2{font-size:26px;line-height:1.25;margin:1.7em 0 .6em;letter-spacing:-.01em} .article h3{font-size:20px;line-height:1.3;margin:1.5em 0 .5em}
.article ul,.article ol{margin:0 0 1.2em;padding-left:1.35em} .article li{margin:.4em 0} .article li p{margin:0}
.article a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.article blockquote{margin:1.5em 0;padding:16px 22px;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 16px 16px 0;color:var(--ink-2)} .article blockquote p{margin:0}
.article__fig{margin:1.7em 0} .article__fig img{display:block;width:100%;height:auto;border-radius:18px;background:var(--surface);cursor:zoom-in} .article__fig figcaption{margin-top:10px;font-size:14px;line-height:1.45;color:var(--ink-3);text-align:center}
.article__table{overflow-x:auto;margin:1.5em 0;-webkit-overflow-scrolling:touch} .article table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.5} .article td,.article th{border:1px solid var(--surface-2);padding:8px 12px;vertical-align:top;text-align:left} .article th{background:var(--surface);font-weight:600}
.article hr{border:0;height:1px;background:var(--surface-2);margin:2em 0}
.article__video{position:relative;aspect-ratio:16/9;margin:1.7em 0;border-radius:18px;overflow:hidden;background:var(--surface)} .article__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.post-foot{max-width:760px;margin-top:40px;padding-top:28px;border-top:1px solid var(--surface-2)}
.posts-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px} .posts-search{flex:1 1 280px;max-width:420px;height:48px;padding:0 18px;border:0;border-radius:999px;background:var(--surface);font:inherit;font-size:16px;color:var(--ink);outline:none} .posts-search:focus{background:var(--surface-2)} .posts-count{font-size:15px;color:var(--ink-3);font-weight:500}
.post__noimg{aspect-ratio:16/9;background:linear-gradient(135deg,var(--accent-soft),#e5f6ec)} .posts-more-wrap{margin-top:28px} .posts-more-wrap[hidden]{display:none} .posts-empty{padding:40px 0;color:var(--ink-3);text-align:center}
/* о репетиторе (кратко) */
.intro{display:grid;grid-template-columns:400px minmax(0,1fr);gap:64px;align-items:center}
.intro__photo{position:relative}
.intro__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:32px;box-shadow:0 30px 60px -30px rgba(15,23,42,.35)}
.intro__body h2{font-size:clamp(30px,3.2vw,40px);text-wrap:balance} .intro__sub{margin-top:12px;font-size:16px;font-weight:600;color:var(--accent-deep)}
.intro p{color:var(--ink-2);margin-top:16px;font-size:18px} .intro__btn{margin-top:22px} .intro__body .docs--mini{margin:22px 0 0}

/* цены списком */
.sec--tint{background:#f8fafc}
.sec--tint .trainer{background:#fff;box-shadow:0 12px 36px -24px rgba(15,23,42,.28)} .sec--tint .trainer:hover{background:#fff;transform:translateY(-2px);box-shadow:0 24px 46px -24px rgba(15,23,42,.32)}
.track--cards{gap:16px;padding:0;margin:0}
.plan{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start;background:#fff;border-radius:var(--r);padding:26px 26px 24px;display:flex;flex-direction:column;box-shadow:0 12px 36px -24px rgba(15,23,42,.28)}
.plan h3{font-size:23px;letter-spacing:-.01em}
.plan__price{margin-top:18px;display:flex;align-items:baseline;gap:8px} .plan__price b{font-size:38px;font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--accent)} .plan--free .plan__price b{color:var(--ink)} .plan__price span{font-size:15px;color:var(--ink-2)}
.plan .btn{margin-top:16px;width:100%} .btn--outline{height:48px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(15,23,42,.18)} .btn--outline:hover{background:var(--surface)}
.plan__inc{margin-top:22px;display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--ink)} .plan__inc svg{width:22px;height:22px;color:var(--accent);flex:none}
.plan__list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px} .plan__list li{display:flex;gap:10px;font-size:15.5px;line-height:1.45;color:var(--ink)} .plan__list svg{width:18px;height:18px;flex:none;color:var(--accent);margin-top:3px}
.pnote{margin-top:22px;font-size:15px;color:var(--ink-3);max-width:720px} .pcta{margin-top:28px}
/* онлайн */
.online{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}
.online p{margin-top:16px;font-size:18px;color:var(--ink-2)} .online .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.carousel{position:relative} .track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 0 8px;-webkit-overflow-scrolling:touch} .track::-webkit-scrollbar{display:none}
.slide{flex:0 0 min(80%,640px);margin:0;scroll-snap-align:start;cursor:zoom-in} .slide img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;background:#0f4d2b}
.car__nav{display:flex;gap:10px;justify-content:flex-end;margin-top:6px} .car__btn{width:44px;height:44px;border-radius:999px;background:var(--surface);display:flex;align-items:center;justify-content:center} .car__btn:hover{background:var(--surface-2)} .car__btn svg{width:18px;height:18px}
.trainers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px}
.trainer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border-radius:var(--r);background:var(--surface);transition:background .15s} .trainer:hover{background:var(--surface-2)}
.trainer h3{font-size:19px} .trainer p{margin-top:5px;font-size:15px;color:var(--ink-2)} .trainer svg{width:22px;height:22px;flex:none;color:var(--ink-3)}
/* отзывы */
.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.reviews--cols{display:block;columns:3;column-gap:16px} .reviews--cols .review{break-inside:avoid;margin-bottom:16px}
.review{background:var(--surface);border-radius:var(--r);padding:26px;display:flex;flex-direction:column}
.review__t{font-size:15.5px;line-height:1.55;color:var(--ink-2)} .review--clamp .review__t{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden} .review.is-open .review__t{display:block;-webkit-line-clamp:unset}
.review__more{margin-top:10px;font-size:14px;font-weight:600;color:var(--accent-deep);align-self:flex-start}
.sec__tools{display:flex;align-items:center;gap:18px} .sec__tools .car__nav{margin:0}
.rev{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start;background:var(--surface);border-radius:var(--r);padding:26px;display:flex;flex-direction:column}
.rev__q{width:40px;height:40px;border-radius:13px;background:#fff;color:var(--accent-deep);display:flex;align-items:center;justify-content:center;margin-bottom:16px} .rev__q svg{width:20px;height:20px}
.rev__t{font-size:15.5px;line-height:1.55;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.rev .review__more{margin-top:10px}
.rev footer{margin-top:auto;padding-top:20px;display:flex;align-items:center;gap:12px} .rev__av{width:42px;height:42px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex:none} .rev__av--a{background:var(--accent-soft);color:var(--accent-deep)} .rev__av--b{background:#e5f6ec;color:#1d8a4e}
.rev__who{display:flex;flex-direction:column;min-width:0} .rev__who b{font-size:15px} .rev__who span{font-size:13px;color:var(--ink-3);margin-top:2px} .review footer{margin-top:auto;padding-top:16px;display:flex;flex-direction:column} .review footer b{font-size:15px} .review footer span{font-size:13px;color:var(--ink-3);margin-top:2px}
/* контакты */
.contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.card{background:#fff;border-radius:28px;padding:36px;box-shadow:0 12px 36px -24px rgba(15,23,42,.28)} .card h2{font-size:30px} .card p{margin-top:12px;color:var(--ink-2);font-size:17px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px} .chip{height:38px;padding:0 14px;border-radius:999px;background:var(--surface);font-size:14px;font-weight:500;color:var(--ink-2);transition:background .15s,color .15s} .chip:hover{background:var(--surface-2)} .chip--on{background:var(--accent);color:#fff}
.card .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.ctiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.ctile{display:flex;flex-direction:column;gap:2px;padding:18px 18px 16px;border-radius:18px;background:var(--surface);transition:background .15s;min-width:0} .ctile:hover{background:var(--surface-2)}
.ctile__ic{width:38px;height:38px;border-radius:12px;background:#fff;color:var(--accent-deep);display:flex;align-items:center;justify-content:center;margin-bottom:12px} .ctile__ic svg{width:18px;height:18px}
.ctile b{font-size:15px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .ctile span{font-size:13px;color:var(--ink-3)}
.foot{padding:40px 0 56px;color:var(--ink-3);font-size:14px} .foot__in{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap} .foot a:hover{color:var(--ink)} .foot__links{display:flex;gap:18px;flex-wrap:wrap}
/* слайд «О репетиторе»: документы миниатюрами */
.docs.docs--mini{display:flex;grid-template-columns:none;gap:14px;margin:20px 0 18px;align-items:stretch} .docs--mini .doc{width:auto;padding:0;border-radius:12px;background:transparent;cursor:zoom-in;transition:transform .15s} .docs--mini .doc:hover{transform:translateY(-2px)} .docs--mini .doc img{height:150px;width:auto;max-width:100%;border-radius:12px;box-shadow:0 10px 26px -14px rgba(15,23,42,.35)}
.intro .more{margin-top:6px}
/* слайд «Как проходят занятия» */
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px} .pr{background:var(--surface);border-radius:var(--r);padding:22px 24px} .pr h3{font-size:17px;margin-bottom:8px} .pr p{font-size:14.5px;color:var(--ink-2);line-height:1.5}
/* логотипы репетиторских сайтов под отзывами */
.logos{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px} .logos__lbl{font-size:13px;color:var(--ink-3);margin-right:6px} .logo{display:flex;align-items:center;height:36px;opacity:.75;transition:opacity .15s} .logo:hover{opacity:1} .logo img{height:30px;width:auto;max-width:110px;object-fit:contain;border-radius:6px}
.sec--tint .rev{background:#fff} .sec--tint .rev__q{background:var(--surface)}
/* внутренние страницы */
.pay{display:flex;flex-direction:column;gap:16px;margin-top:8px} .pay[hidden],.pay__off[hidden]{display:none}
.pay__field{display:flex;flex-direction:column;gap:7px} .pay__field span{font-size:14px;font-weight:600;color:var(--ink-2)}.pay__field input,.pay__field select{height:52px;padding:0 16px;border:1px solid rgba(15,23,42,.12);border-radius:14px;background:#fff;font:inherit;font-size:16px;color:var(--ink);appearance:none;-webkit-appearance:none}.pay__field select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:20px;padding-right:44px}.pay__field input:focus,.pay__field select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}.pay__go{margin-top:4px;align-self:flex-start} .pay__hint{margin:0;font-size:13px;color:var(--ink-3);line-height:1.5}.pay__err{margin-bottom:16px;padding:14px 16px;border-radius:14px;background:#fef2f2;color:#991b1b;font-size:15px;line-height:1.5}"
       ".pay__off p{margin:0;color:var(--ink-2);line-height:1.6}.pay__legal{margin-top:12px;color:var(--ink-2);line-height:1.8;list-style:none;padding:0}@media (max-width:700px){.pay__go{align-self:stretch}}
.phead{padding:64px 0 8px} .phead h1{font-size:clamp(34px,4.8vw,54px)} .phead p{margin-top:16px;font-size:19px;color:var(--ink-2);max-width:700px}
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:start} .cols2 h3{font-size:22px;margin-bottom:6px}
.tl{list-style:none;margin:0;padding:0} .tl li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;padding:14px 0} .tl__y{font-weight:600;color:var(--accent-deep);font-size:15px;padding-top:2px} .tl__t{color:var(--ink-2)}
.docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.doc{background:var(--surface);border-radius:var(--r);padding:14px;text-align:left;width:100%} .doc img{border-radius:14px;width:100%;height:auto} .doc figcaption{padding:12px 6px 2px;font-size:14px;color:var(--ink-3);font-weight:500;display:flex;justify-content:space-between} .doc figcaption span{color:var(--accent-deep)}
.method{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px} .method__text p{color:var(--ink-2);margin-bottom:18px} .method__text p:last-child{margin-bottom:0}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px} .fact{background:var(--surface);border-radius:var(--r);padding:26px} .fact h4{font-size:17px;margin-bottom:10px} .fact p{font-size:15px;color:var(--ink-2);line-height:1.5}
.ege{display:grid;gap:10px} .ege__row{display:grid;grid-template-columns:100px minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start;background:var(--surface);border-radius:var(--r-sm);padding:18px 22px}
.ege__season{font-weight:700;font-size:18px;letter-spacing:-.01em;padding-top:2px} .ege__label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:8px}
.ege__scores{display:flex;flex-wrap:wrap;gap:6px} .sc{display:inline-flex;align-items:center;height:30px;padding:0 11px;border-radius:999px;background:#fff;font-size:14px;font-weight:600;color:var(--ink-2)}
.sc--90{background:var(--accent-soft);color:var(--accent-deep)} .sc--100{background:var(--accent);color:#fff} .sc--none{background:transparent;color:var(--ink-3)}
.ege__note{grid-column:2/-1;font-size:13px;color:var(--ink-3)}
.acc{background:var(--surface);border-radius:var(--r-sm);padding:0 24px;margin-bottom:10px} .acc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:20px 0;font-weight:700;font-size:18px;cursor:pointer} .acc summary::-webkit-details-marker{display:none}
.acc__i{width:28px;height:28px;border-radius:999px;background:#fff;position:relative;flex:none} .acc__i::before,.acc__i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .2s} .acc__i::after{transform:translate(-50%,-50%) rotate(90deg)} .acc[open] .acc__i::after{transform:translate(-50%,-50%) rotate(0)}
.acc ul{margin:0;padding:0 0 22px 20px;color:var(--ink-2)} .acc li{margin-bottom:8px;font-size:16px}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px} .post{background:var(--surface);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s} .post:hover{transform:translateY(-3px)}
.post img{width:100%;aspect-ratio:16/9;object-fit:cover} .post__b{padding:20px 22px 24px} .post time{font-size:13px;color:var(--ink-3);font-weight:500} .post h3{font-size:18px;margin:8px 0 8px;line-height:1.3} .post p{font-size:14.5px;color:var(--ink-2);line-height:1.5}
.libs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lib{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;background:var(--surface);border-radius:var(--r);padding:16px} .lib img{width:120px;aspect-ratio:2/3;object-fit:cover;border-radius:12px}
.lib__b{display:flex;flex-direction:column;justify-content:center;gap:6px;padding-right:6px} .lib__fmt{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)} .lib h3{font-size:17px} .lib__meta{font-size:13px;color:var(--ink-3)} .lib .btn{align-self:flex-start;margin-top:8px}
.links2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.linkcard{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--surface);border-radius:var(--r);padding:26px 28px;transition:background .15s} .linkcard:hover{background:var(--surface-2)} .linkcard p{margin-top:5px;font-size:15px;color:var(--ink-2)} .linkcard svg{width:22px;height:22px;flex:none;color:var(--ink-3)}
.profiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px} .profile{background:var(--surface);border-radius:var(--r-sm);padding:24px 18px;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--ink-2);transition:background .15s} .profile:hover{background:var(--surface-2)} .profile img{height:56px;width:auto;max-width:150px;object-fit:contain;border-radius:10px}
.cta{margin-top:64px;background:var(--surface);border-radius:28px;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap} .cta h2{font-size:28px} .cta p{margin-top:8px;color:var(--ink-2)}
.lb{border:0;padding:0;background:transparent;max-width:min(96vw,1400px);max-height:96vh} .lb::backdrop{background:rgba(10,10,14,.82);backdrop-filter:blur(6px)} .lb img{max-width:min(96vw,1400px);max-height:92vh;width:auto;height:auto;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.5)} .lb button{position:fixed;top:18px;right:18px;width:44px;height:44px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease} .reveal.in{opacity:1;transform:none}
@media (max-width:480px){.top__cta .btn--grad{display:none}}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none} html{scroll-behavior:auto} .hero__logo img,.hero__glow{animation:none}}
/* главная: вертикальная страница; класс deck-mode на широких экранах = её визуал (единый фон, прозрачные шапка и сайдбар, белые карточки) */
.deck__foot{margin-top:28px;font-size:13px;color:var(--ink-3)} .deck__foot a:hover{color:var(--ink)}
.deck-nav,.deck-dots,.side{display:none}
@media (min-width:1025px){
  .deck-mode .side,.side-mode .side{display:flex;flex-direction:column;position:fixed;left:0;top:80px;bottom:0;width:250px;padding:18px 14px 20px;overflow:auto;z-index:45;background:#fff}
  .deck-mode .side__nav,.side-mode .side__nav{display:flex;flex-direction:column;gap:2px} .deck-mode .side__nav a,.side-mode .side__nav a{display:flex;align-items:center;gap:14px;height:48px;padding:0 14px;border-radius:14px;font-size:17px;font-weight:500;color:#1f2937;transition:background .15s} .deck-mode .side__nav a:hover,.side-mode .side__nav a:hover{background:var(--surface)}
  .deck-mode .side__nav a[aria-current],.side-mode .side__nav a[aria-current]{background:var(--surface-2);font-weight:600} .deck-mode .side__nav svg,.side-mode .side__nav svg{width:26px;height:26px;flex:none;color:#1f2937}
  .deck-mode .side__nav--2 a,.side-mode .side__nav--2 a{height:44px;font-size:16px} .deck-mode .side__sep,.side-mode .side__sep{height:1px;background:rgba(15,23,42,.08);margin:14px 14px}
  .deck-mode .side__links,.side-mode .side__links{display:flex;flex-direction:column;gap:10px;padding:2px 14px 0;margin-top:auto} .deck-mode .side__links a,.side-mode .side__links a{font-size:14.5px;color:var(--ink-3)} .deck-mode .side__links a:hover,.side-mode .side__links a:hover{color:var(--ink)}
  .deck-mode .nav{display:none} .deck-mode .deck>section{scroll-margin-top:80px}
  /* каждый раздел главной — экран: занимает высоту окна минус шапка, содержимое по центру, следующий не выглядывает; мягкая прилипающая прокрутка */
  .deck-mode{scroll-snap-type:y proximity} .deck-mode .deck>section{scroll-snap-align:start;min-height:calc(100vh - 80px);min-height:calc(100svh - 80px);display:flex;align-items:center;padding:56px 0} .deck-mode .deck>section>.wrap{width:100%}
  .deck-mode .deck>.hero{padding:40px 0}
  /* названия разделов главной — крупные заголовки, как на первом экране */
  .deck-mode .deck>section .sec__head h2,.deck-mode .deck>section .intro__body h2,.deck-mode .deck>section .online h2,.deck-mode .deck>section .card h2{font-size:clamp(38px,3.9vw,54px);letter-spacing:-.02em;line-height:1.05}
  .deck-mode .deck>section .sec__head p{font-size:19px;margin-top:14px} .deck-mode .deck>section .card h2{font-size:clamp(30px,2.8vw,38px)}
  /* единый фон: мягкий сине-зелёный градиент на весь экран, шапка/сайдбар/секции прозрачные */
  .deck-mode body{background:#f8fafc} .deck-mode body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(80% 65% at 24% -5%,rgba(59,130,246,.16) 0%,rgba(59,130,246,0) 72%),radial-gradient(60% 55% at 96% 10%,rgba(34,197,94,.13) 0%,rgba(34,197,94,0) 72%),radial-gradient(75% 45% at 55% 108%,rgba(14,165,233,.12) 0%,rgba(14,165,233,0) 72%),linear-gradient(180deg,#f8fafc 0%,#fdfdfe 100%)}
  .deck-mode .hero::before{display:none} .deck-mode .hero,.deck-mode .sec--tint{background:transparent} .deck-mode .side{background:transparent!important}
  /* стекло шапки на главной: невидимо наверху, при прокрутке — мягкое размытие почти без белой подмеси (фон под ним цветной) */
  .deck-mode .top::before{opacity:0;transition:opacity .25s;background:linear-gradient(180deg,rgba(248,250,252,.34) 0%,rgba(248,250,252,.22) 55%,rgba(248,250,252,0) 100%);backdrop-filter:blur(18px) saturate(1.05);-webkit-backdrop-filter:blur(18px) saturate(1.05)}
  .deck-mode.scrolled .top::before{opacity:1}
  .deck-mode .top__in,.side-mode .top__in{padding-left:28px} .side-mode .nav{display:none} .side-mode main,.side-mode .foot{margin-left:250px} .side-mode .side{background:#fff}
  .deck-mode .plan,.deck-mode .rev{background:#fff}
  .deck-mode .pr,.deck-mode .card,.deck-mode .trainer{background:#fff;box-shadow:0 12px 36px -26px rgba(15,23,42,.22)} .deck-mode .trainer:hover{background:#fff}
  .deck-mode .rev__q,.deck-mode .ctile,.deck-mode .chip{background:var(--surface)} .deck-mode .chip--on{background:var(--accent)} .deck-mode .ctile__ic{background:#fff}
}
/* невысокие экраны ноутбуков: те же слайды компактнее, чтобы помещались без внутренней прокрутки */
@media (min-width:1025px) and (max-height:800px){
  .deck-mode .deck>section{padding:28px 0} .deck-mode .sec__head{margin-bottom:22px} .deck-mode .sec__row{margin-bottom:18px} .deck-mode .deck>section .sec__head p{margin-top:10px;font-size:17px} .deck-mode .deck>section .sec__head h2,.deck-mode .deck>section .intro__body h2,.deck-mode .deck>section .online h2{font-size:clamp(32px,3.2vw,42px)} .deck-mode .deck>section .card h2{font-size:28px}
  .deck-mode .intro{grid-template-columns:300px minmax(0,1fr);gap:44px} .deck-mode .intro p{font-size:16px;margin-top:12px} .deck-mode .intro__body .docs--mini{margin-top:16px} .deck-mode .docs--mini .doc img{height:120px} .deck-mode .intro__btn{margin-top:16px}
  .deck-mode .stat__n{font-size:clamp(36px,4vw,50px)} .deck-mode .sec__more{margin-top:20px}
  .deck-mode #prices .sec__row{margin-bottom:14px} .deck-mode #prices .sec__head h2{font-size:clamp(30px,3vw,38px)} .deck-mode #prices .sec__head p{font-size:15px;margin-top:8px}
  .deck-mode .plan{padding:20px 20px 18px} .deck-mode .plan h3{font-size:20px} .deck-mode .plan__price{margin-top:12px} .deck-mode .plan__price b{font-size:32px} .deck-mode .plan .btn{margin-top:12px;height:42px} .deck-mode .plan__inc{margin-top:16px;font-size:14px} .deck-mode .plan__list{gap:7px;margin-top:10px} .deck-mode .plan__list li{font-size:13.5px}
  .deck-mode .rev{padding:20px} .deck-mode .rev__t{-webkit-line-clamp:5} .deck-mode .logos{margin-top:16px}
  .deck-mode .card{padding:28px} .deck-mode .card h2{font-size:26px} .deck-mode .ctile{padding:14px 16px 12px} .deck-mode .deck__foot{margin-top:18px}
  .deck-mode .pr{padding:18px 20px} .deck-mode .pr p{font-size:14px} .deck-mode .trainers{margin-top:20px} .deck-mode .trainer{padding:18px 22px}
}
@media (max-width:1024px){
  .stats,.posts,.libs,.facts,.reviews,.principles{grid-template-columns:repeat(2,minmax(0,1fr))} .plan,.rev{flex-basis:calc((100% - 16px)/2)} .docs.docs--mini{flex-wrap:wrap} .docs--mini .doc img{height:120px} .reviews--cols{columns:2} .profiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .intro,.online,.contact,.trainers,.cols2,.method,.links2{grid-template-columns:minmax(0,1fr)} .intro__photo{max-width:420px}
  .top__in{display:flex;justify-content:space-between;height:68px;padding:0 20px} .hero{min-height:calc(100vh - 68px);min-height:calc(100svh - 68px)} .nav{display:none} .burger{display:flex} .top__cta .btn--soft{display:none}
  .brand__mark{width:40px;height:40px} .brand__copy b{font-size:22px}
  .top.is-open .nav{display:flex;flex-direction:column;gap:0;position:absolute;left:16px;right:16px;top:78px;background:#fff;border-radius:22px;padding:10px;box-shadow:var(--shadow)} .top.is-open .nav a{padding:14px 16px;font-size:17px}
  .top.is-open .nav .nav__cta{display:block;margin-top:6px;background:var(--surface);border-radius:16px;text-align:center;font-weight:600} .top.is-open .nav .nav__cta--login{background:var(--accent);color:#fff}
}
@media (max-width:640px){
  .wrap{padding:0 16px} .sec{padding:64px 0} .hero{padding:32px 0} .hero__logo{width:64px;height:64px} .hero h1{margin-top:20px;font-size:clamp(2.14rem,11.5vw,3.15rem);line-height:1.01} .hero .lead{margin-top:16px;font-size:.98rem;line-height:1.62} .hero__cta{margin-top:24px} .hero__cta .btn{width:min(100%,22rem)} h1{font-size:38px}
  .posts,.libs,.facts,.reviews,.principles{grid-template-columns:minmax(0,1fr)} .docs:not(.docs--mini){grid-template-columns:minmax(0,1fr)} .stats{grid-template-columns:repeat(2,minmax(0,1fr))} .plan,.rev{flex-basis:86%} .sec__tools{width:100%;justify-content:space-between} .reviews--cols{columns:1} .profiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dist{margin-top:40px;padding:0} .dist__row{grid-template-columns:minmax(0,1fr);gap:10px;padding:8px 0} .dist__subj{padding-bottom:0}
  .dist__cap{width:auto;min-width:0;margin-bottom:6px;padding-bottom:0;white-space:normal} .dist__cap::after{display:none}
  .dist__bar{display:grid;gap:6px;height:auto} .dist__seg{display:grid;grid-template-columns:52px minmax(0,1fr) 46px;align-items:center;gap:10px;background:none;color:#0f172a!important;border-radius:0!important;overflow:visible;container-type:normal}
  .dist__seg::before{content:"";grid-column:2;height:22px;width:calc(var(--w) * 1%);min-width:6px;border-radius:6px;background:var(--c)}
  .dist__seg span{grid-column:1;grid-row:1;order:-1;font-size:13px;opacity:1;color:var(--ink-2)} .dist__seg b{grid-column:3;grid-row:1;font-size:15px;text-align:right} .dist__seg b i{font-size:11px}
  .stats{gap:28px 12px} .ege__row{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px} .ege__note{grid-column:auto}
  .tl li{grid-template-columns:78px minmax(0,1fr)} .card{padding:26px} .card h2{font-size:26px} .slide{flex-basis:88%}
  .top__cta .btn--grad{height:40px;padding:0 14px;font-size:14px} .top__in{padding:0 16px} .brand{gap:10px} .brand__copy span{display:none} .intro__photo img{aspect-ratio:4/4.2} .ctiles{grid-template-columns:minmax(0,1fr)} .card .btns .btn{width:100%}
  .btn{white-space:normal;text-align:center;height:auto;min-height:50px;padding-top:12px;padding-bottom:12px;line-height:1.2} .cta{padding:26px}
}
