:root{
--bg:#F4F7FA; --card:#FFFFFF; --ink:#0A1720; --muted:#566877; --line:#DCE5EC;
--accent:#58AEE6; --accent-dark:#3F98D2; --dark:#0A1720; --radius:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;line-height:1.1;letter-spacing:-0.02em;color:var(--ink)}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
section{padding:110px 0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:18px}
.eyebrow::before{content:"";width:22px;height:3px;background:var(--accent);border-radius:2px}
.h2{font-size:clamp(32px,4.4vw,54px);font-weight:600;max-width:760px}
.lead{color:var(--muted);font-size:18px;max-width:560px;margin-top:18px}
.sec-head{margin-bottom:56px}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;border-radius:999px;font-weight:600;font-size:16px;transition:transform .2s,background .2s,color .2s,box-shadow .2s;white-space:nowrap}
.btn-primary{background:var(--accent);color:var(--ink)}
.btn-primary:hover{background:var(--accent-dark);transform:translateY(-2px)}
.btn-dark{background:var(--dark);color:#fff}
.btn-dark:hover{background:#333;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-sm{padding:12px 22px;font-size:15px}
.btn-block{width:100%}
/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(245,242,236,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
.logo{display:flex;align-items:center;gap:12px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;color:var(--ink)}
.logo-mark{width:40px;height:40px;border-radius:12px;background:var(--dark);display:grid;place-items:center;color:var(--accent);font-size:18px}
.nav-links{display:flex;gap:30px;font-size:15px;font-weight:500}
.nav-links a{color:var(--ink);position:relative;padding:4px 0}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--accent);transition:width .25s}
.nav-links a:hover::after{width:100%}
.nav-right{display:flex;align-items:center;gap:20px}
.nav-phone{display:flex;flex-direction:column;line-height:1.2;text-align:right}
.nav-phone b{font-family:'Space Grotesk',sans-serif;font-size:18px;color:var(--ink)}
.nav-phone small{font-size:12px;color:var(--muted)}
.burger{display:none;width:44px;height:44px;border-radius:12px;background:var(--dark);color:#fff;font-size:18px}
.mobile-menu{display:none;flex-direction:column;gap:6px;padding:12px 24px 24px;border-top:1px solid var(--line);background:var(--bg)}
.mobile-menu a{padding:12px 0;font-weight:500;font-size:18px;color:var(--ink);border-bottom:1px solid var(--line)}
.mobile-menu.open{display:flex}
/* Hero */
.hero{padding:70px 0 90px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);padding:8px 16px 8px 8px;border-radius:999px;font-size:14px;font-weight:500;color:var(--ink);margin-bottom:28px}
.badge i{width:28px;height:28px;border-radius:50%;background:var(--accent);display:grid;place-items:center;font-size:12px;color:var(--ink)}
.hero h1{font-size:clamp(35px,3.2vw,74px);font-weight:700}
.mark{background:linear-gradient(transparent 62%,var(--accent) 62%);padding:0 4px}
.hero p.sub{font-size:19px;color:var(--muted);margin-top:26px;max-width:520px}
.hero-actions{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}
.hero-trust{display:flex;gap:36px;margin-top:48px;flex-wrap:wrap}
.trust b{display:block;font-family:'Space Grotesk',sans-serif;font-size:32px;color:var(--ink);line-height:1}
.trust span{font-size:14px;color:var(--muted)}
.stars{color:var(--accent-dark);font-size:13px;margin-top:6px;letter-spacing:2px}
.form-card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:36px;position:relative}
.form-card::before{content:"";position:absolute;left:36px;right:36px;top:-1px;height:5px;background:var(--accent);border-radius:0 0 6px 6px}
.form-card h3{font-size:28px;font-weight:600}
.form-card .fc-sub{color:var(--muted);font-size:15px;margin:10px 0 24px}
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink)}
.field input,.field select{width:100%;padding:15px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);font-family:inherit;font-size:16px;color:var(--ink);transition:border .2s,background .2s;outline:none;appearance:none}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23141414' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.field textarea{width:100%;min-height:130px;resize:vertical;padding:15px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);font-family:inherit;font-size:16px;line-height:1.5;color:var(--ink);transition:border .2s,background .2s;outline:none}
.field textarea:focus{border-color:var(--ink);background:#fff}
.field[hidden]{display:none}
.field.error textarea{border-color:#D6342B}
.field input:focus,.field select:focus{border-color:var(--ink);background:#fff}
.field.error input{border-color:#D6342B}
.field .err{display:none;color:#D6342B;font-size:12px;margin-top:4px}
.field.error .err{display:block}
.consent{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.5}
.success{display:none;text-align:center;padding:24px 0}
.success .ok{width:68px;height:68px;border-radius:50%;background:var(--accent);display:grid;place-items:center;margin:0 auto 20px;font-size:28px;color:var(--ink)}
.success h4{font-size:26px;margin-bottom:10px}
.success p{color:var(--muted)}
.lead-form.done .form-body{display:none}
.lead-form.done .success{display:block}
/* Marquee */
.marquee{background:var(--dark);padding:22px 0;overflow:hidden;color:#fff}
.marquee-track{display:flex;gap:56px;width:max-content;animation:scroll 32s linear infinite}
.marquee-track span{display:flex;align-items:center;gap:56px;font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:500;color:#fff;white-space:nowrap}
.marquee-track i{color:var(--accent);font-size:16px}
@keyframes scroll{to{transform:translateX(-50%)}}
/* Features */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:32px;transition:transform .3s,border-color .3s;position:relative;overflow:hidden}
.tile:hover{transform:translateY(-4px);border-color:var(--ink)}
.tile .ic{width:52px;height:52px;border-radius:14px;background:var(--bg);display:grid;place-items:center;font-size:20px;color:var(--ink);margin-bottom:24px}
.tile h3{font-size:22px;font-weight:600;margin-bottom:10px}
.tile p{color:var(--muted);font-size:15px}
.t-a{grid-column:span 3}.t-b{grid-column:span 3}
.t-c,.t-d,.t-e{grid-column:span 2}
.tile.accent{background:var(--accent);border-color:var(--accent)}
.tile.accent .ic{background:rgba(20,20,20,.1)}
.tile.accent p{color:#3b3320}
.tile.dark{background:var(--dark);border-color:var(--dark)}
.tile.dark h3{color:#fff}.tile.dark p{color:#b9b5ab}
.tile.dark .ic{background:#2a2a2a;color:var(--accent)}
.big-num{font-family:'Space Grotesk',sans-serif;font-size:72px;font-weight:700;line-height:1;color:var(--ink);margin-bottom:10px}
/* Pricing */
.pricing{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.price-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.toggle{display:inline-flex;background:var(--bg);border-radius:999px;padding:5px;border:1px solid var(--line)}
.toggle button{padding:12px 24px;border-radius:999px;background:transparent;font-weight:600;font-size:15px;color:var(--muted);transition:all .2s}
.toggle button.active{background:var(--dark);color:#fff}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{background:var(--bg);border:1px solid var(--line);border-radius:24px;padding:36px;display:flex;flex-direction:column;position:relative;transition:transform .3s}
.plan:hover{transform:translateY(-4px)}
.plan.featured{background:var(--dark);border-color:var(--dark)}
.plan.featured h3,.plan.featured .price{color:#fff}
.plan.featured .plan-desc,.plan.featured li,.plan.featured .monthly{color:#b9b5ab}
.plan.featured li i{color:var(--accent)}
.plan .tag{position:absolute;top:-14px;left:36px;background:var(--accent);color:var(--ink);font-size:12px;font-weight:700;padding:6px 14px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}
.plan h3{font-size:26px;font-weight:600}
.plan-desc{color:var(--muted);font-size:15px;margin-top:6px;min-height:48px}
.price{font-family:'Space Grotesk',sans-serif;font-size:46px;font-weight:700;margin-top:24px;color:var(--ink);line-height:1}
.monthly{font-size:14px;color:var(--muted);margin:8px 0 26px}
.monthly b{color:inherit}
.plan ul{list-style:none;display:grid;gap:12px;margin-bottom:32px;flex:1}
.plan li{display:flex;gap:12px;font-size:15px;color:var(--ink)}
.plan li i{color:var(--ink);margin-top:5px;font-size:13px}
.price-note{margin-top:28px;color:var(--muted);font-size:14px;display:flex;align-items:center;gap:10px}
.price-note i{color:var(--ink)}
.price-note a{color:var(--ink);font-weight:600;border-bottom:1.5px solid var(--accent)}
/* Category cards + calculator */
.pcards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}
.pcard{background:var(--bg);border:1.5px solid var(--line);border-radius:22px;padding:26px;text-align:left;color:var(--ink);display:flex;flex-direction:column;gap:6px;transition:transform .25s,border-color .25s,background .25s}
.pcard:hover{border-color:var(--ink);transform:translateY(-3px)}
.pcard .letter{font-family:'Space Grotesk',sans-serif;font-size:48px;font-weight:700;line-height:1;color:var(--ink)}
.pcard .kind{font-size:14px;color:var(--muted);margin-bottom:10px}
.pcard .row{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
.pcard .row b{color:var(--ink);font-weight:600;white-space:nowrap}
.pcard.active{background:var(--dark);border-color:var(--dark)}
.pcard.active .letter{color:var(--accent)}
.pcard.active .kind,.pcard.active .row{color:#b9b5ab}
.pcard.active .row{border-top-color:#333}
.pcard.active .row b{color:#fff}
.calc{display:grid;grid-template-columns:1.3fr .9fr;gap:20px}
.calc-main{background:var(--bg);border:1px solid var(--line);border-radius:24px;padding:40px}
.calc-main h3{font-size:30px;font-weight:600;color:var(--ink)}
.calc-main .cm-sub{color:var(--muted);font-size:15px;margin-top:6px}
.range-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:36px;font-weight:600;font-size:15px;color:var(--ink)}
.range-head output{font-family:'Space Grotesk',sans-serif;font-size:40px;font-weight:700;line-height:1;color:var(--ink)}
.range-head small{display:block;font-weight:500;color:var(--muted);font-size:13px;margin-top:4px;text-align:right}
.range{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:4px;outline:none;margin:22px 0 8px;background-color:var(--line);background-image:linear-gradient(var(--ink),var(--ink));background-repeat:no-repeat;background-size:var(--p,25%) 100%}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:var(--accent);border:3px solid var(--ink);cursor:pointer}
.range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent);border:3px solid var(--ink);cursor:pointer}
.range-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.cm-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.cm-facts div{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.cm-facts small{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.cm-facts b{font-family:'Space Grotesk',sans-serif;font-size:20px;color:var(--ink);font-weight:600}
.calc-total{background:var(--accent);border-radius:24px;padding:40px;display:flex;flex-direction:column;color:var(--ink)}
.ct-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#3b3320}
.ct-sum{font-family:'Space Grotesk',sans-serif;font-size:clamp(44px,5vw,60px);font-weight:700;line-height:1;margin:14px 0 26px;color:var(--ink)}
.ct-list{list-style:none;display:grid;gap:0;margin-bottom:28px;flex:1}
.ct-list li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid rgba(20,20,20,.18);font-size:15px;color:var(--ink)}
.ct-list li b{white-space:nowrap;color:var(--ink)}
.ct-note{font-size:13px;color:#3b3320;margin-top:16px;line-height:1.5}
@media(max-width:1024px){.calc{grid-template-columns:1fr}.pcards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.pcards{gap:12px}.pcard{padding:18px}.pcard .letter{font-size:38px}.pcard .row{flex-direction:column;gap:2px}.calc-main,.calc-total{padding:28px 22px}.cm-facts{grid-template-columns:1fr}}
/* Memo cards */
.rev .memo-ic{width:52px;height:52px;border-radius:14px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;font-size:20px;color:var(--ink)}
.rev h3{font-size:22px;font-weight:600;color:var(--ink)}
.rev .formula{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15px;color:var(--ink);background:var(--accent);padding:8px 14px;border-radius:12px;align-self:flex-start}
/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.step{border-top:2px solid var(--ink);padding-top:24px}
.step .n{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:600;color:var(--ink);background:var(--accent);display:inline-block;padding:4px 12px;border-radius:999px;margin-bottom:20px}
.step h3{font-size:24px;font-weight:600;margin-bottom:10px}
.step p{color:var(--muted);font-size:15px}
.step small{display:block;margin-top:14px;font-weight:600;font-size:13px;color:var(--ink)}
.step-photo{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--bg);margin-bottom:22px}
.step-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.step:hover .step-photo img{transform:scale(1.05)}
/* Instructors */
.team{background:var(--dark)}
.team .h2,.team .lead{color:#fff}
.team .lead{color:#b9b5ab}
.team .eyebrow{color:#b9b5ab}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.person{background:#1f1f1f;border:1px solid #2c2c2c;border-radius:var(--radius);padding:28px;transition:border-color .3s,transform .3s}
.person:hover{border-color:var(--accent);transform:translateY(-4px)}
.avatar{width:84px;height:84px;border-radius:50%;background:var(--accent);color:var(--ink);display:grid;place-items:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:28px;margin-bottom:22px}
.person:nth-child(even) .avatar{background:#EDE8DC}
.person h3{color:#fff;font-size:22px;font-weight:600}
.person .role{color:#b9b5ab;font-size:14px;margin:4px 0 18px}
.person .meta{display:flex;gap:18px;font-size:13px;color:#fff;border-top:1px solid #2c2c2c;padding-top:16px}
.person .meta span{display:flex;align-items:center;gap:6px;color:#fff}
.person .meta i{color:var(--accent)}
/* Fleet */
.fleet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.car-photo{height:300px;background:var(--bg);position:relative;border-bottom:1px solid var(--line);overflow:hidden}
.car-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.car:hover .car-photo img{transform:scale(1.04)}
.car-photo .pill{position:absolute;top:16px;left:16px;background:var(--accent);padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;color:var(--ink);z-index:2}
.tile-photo{margin:-32px -32px 24px;height:190px;overflow:hidden;border-bottom:1px solid var(--line)}
.tile-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.tile:hover .tile-photo img{transform:scale(1.05)}
.car{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.car-visual{height:190px;background:var(--bg);display:grid;place-items:center;position:relative;border-bottom:1px solid var(--line)}
.car-visual>i{font-size:86px;color:var(--ink)}
.car-visual .road{position:absolute;left:0;right:0;bottom:34px;height:3px;background:repeating-linear-gradient(90deg,var(--ink) 0 26px,transparent 26px 46px);opacity:.15}
.car-visual .pill{position:absolute;top:16px;left:16px;background:var(--accent);padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;color:var(--ink)}
.car-body{padding:26px}
.car-body h3{font-size:22px;font-weight:600}
.car-body p{color:var(--muted);font-size:14px;margin:6px 0 16px}
.car-tags{display:flex;gap:8px;flex-wrap:wrap}
.car-tags span{font-size:12px;font-weight:600;padding:6px 12px;background:var(--bg);border-radius:999px;color:var(--ink)}
/* Reviews */
.reviews{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rev{background:var(--bg);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column;gap:20px;border:1px solid var(--line)}
.rev .stars{margin:0}
.rev p{font-size:16px;color:var(--ink);flex:1}
.rev-who{display:flex;align-items:center;gap:14px}
.rev-who .av{width:46px;height:46px;border-radius:50%;background:var(--dark);color:var(--accent);display:grid;place-items:center;font-weight:700;font-family:'Space Grotesk',sans-serif}
.rev-who b{display:block;font-size:15px;color:var(--ink)}
.rev-who small{color:var(--muted);font-size:13px}
/* FAQ */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}
details{border-bottom:1px solid var(--line);padding:24px 0}
details:first-child{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:'Space Grotesk',sans-serif;font-size:21px;font-weight:600;color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary i{width:36px;height:36px;border-radius:50%;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;font-size:13px;color:var(--ink);transition:transform .3s,background .3s;flex-shrink:0}
details[open] summary i{transform:rotate(45deg);background:var(--accent);border-color:var(--accent)}
details p{color:var(--muted);margin-top:14px;max-width:620px}
/* CTA */
.cta{padding:0 0 110px}
.cta-box{background:var(--accent);border-radius:36px;padding:72px;display:grid;grid-template-columns:1fr 440px;gap:56px;align-items:center;position:relative;overflow:hidden}
.cta-box h2{font-size:clamp(34px,4.6vw,58px);font-weight:700}
.cta-box p{margin-top:20px;color:#3b3320;font-size:18px;max-width:460px}
.cta-list{margin-top:28px;display:grid;gap:12px;list-style:none}
.cta-list li{display:flex;gap:12px;align-items:center;font-weight:500;color:var(--ink)}
.cta-list i{width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--accent);display:grid;place-items:center;font-size:11px}
.cta-box .form-card{border:none}
.cta-box .form-card::before{display:none}
/* Footer */
footer{background:var(--dark);color:#fff;padding:80px 0 40px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:56px;border-bottom:1px solid #2c2c2c}
footer .logo{color:#fff}
footer .logo-mark{background:var(--accent);color:var(--ink)}
footer p{color:#b9b5ab;font-size:15px;margin-top:18px;max-width:300px}
footer h4{color:#fff;font-size:16px;margin-bottom:18px;font-weight:600}
footer ul{list-style:none;display:grid;gap:12px}
footer li,footer li a{color:#b9b5ab;font-size:15px;transition:color .2s}
footer li a:hover{color:var(--accent)}
footer li i{color:var(--accent);margin-right:10px;width:16px}
.socials{display:flex;gap:10px;margin-top:24px}
.socials a{width:44px;height:44px;border-radius:50%;border:1px solid #3a3a3a;display:grid;place-items:center;color:#fff;transition:all .2s}
.socials a:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:32px;font-size:13px;color:#8d897f}
/* Modal */
.modal{position:fixed;inset:0;background:rgba(20,20,20,.6);display:none;align-items:center;justify-content:center;padding:20px;z-index:100}
.modal.open{display:flex;animation:fade .25s}
.modal .form-card{width:100%;max-width:460px;max-height:92vh;overflow:auto}
.modal-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;background:var(--bg);color:var(--ink);font-size:16px;z-index:2}
.modal-close:hover{background:var(--accent)}
@keyframes fade{from{opacity:0}to{opacity:1}}
/* Sticky mobile bar */
.mbar{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;gap:10px}
.mbar a,.mbar button{flex:1;padding:16px;border-radius:999px;font-weight:600;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px}
.mbar a{background:var(--dark);color:#fff}
.mbar button{background:var(--accent);color:var(--ink)}
/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}
/* Responsive */
@media(max-width:1024px){
.nav-links,.nav-phone{display:none}
.burger{display:block}
.hero-grid,.faq-grid{grid-template-columns:1fr}
.faq-grid{gap:36px}
.team-grid{grid-template-columns:repeat(2,1fr)}
.steps{grid-template-columns:repeat(2,1fr);gap:36px 20px}
.cta-box{grid-template-columns:1fr;padding:48px 32px}
.foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
section{padding:76px 0}
.bento{grid-template-columns:1fr 1fr}
.t-a,.t-b,.t-c,.t-d,.t-e{grid-column:span 2}
.price-grid,.fleet-grid,.rev-grid{grid-template-columns:1fr}
.plan-desc{min-height:0}
}
@media(max-width:640px){
.container{padding:0 18px}
.hero{padding:40px 0 60px}
.nav-right .btn{display:none}
.team-grid,.steps{grid-template-columns:1fr}
.form-card{padding:28px 22px}
.form-card::before{left:22px;right:22px}
.hero-trust{gap:24px}
.cta-box{padding:36px 22px;border-radius:26px}
.foot-grid{grid-template-columns:1fr}
.mbar{display:flex}
footer{padding-bottom:100px}
.hero-actions .btn{flex:1}
.marquee-track span{font-size:18px}
.toggle button{padding:11px 18px}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important}
.reveal{opacity:1;transform:none}
}
/* ===== Views / Сведения об образовательной организации ===== */
.nav-links{gap:26px}
@media(max-width:1240px){.nav-links{gap:18px}}
@media(max-width:1180px){.nav-phone{display:none}}
.vi-btn{width:44px;height:44px;border-radius:12px;background:var(--card);border:1px solid var(--line);color:var(--ink);font-size:18px;transition:background .2s,border-color .2s}
.vi-btn:hover{border-color:var(--ink);background:var(--accent)}
.view[hidden]{display:none}
.crumbs{font-size:14px;color:var(--muted);padding:36px 0 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.crumbs a{color:var(--ink);border-bottom:1.5px solid var(--accent)}
.crumbs span{color:var(--muted)}
.sv-h1{font-size:clamp(30px,4vw,48px);font-weight:700;margin:18px 0 14px;max-width:820px}
.sv-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:36px}
.sv-top p{color:var(--muted);font-size:15px;max-width:640px}
.sv-layout{display:grid;grid-template-columns:300px 1fr;gap:40px;padding-bottom:100px;align-items:start}
.sv-nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.sv-nav a{padding:10px 14px;border-radius:12px;font-size:14px;font-weight:500;color:var(--ink);display:flex;gap:10px;line-height:1.35;transition:background .2s}
.sv-nav a .n{color:var(--muted);font-size:12px;min-width:20px;padding-top:2px;font-family:'Space Grotesk',sans-serif}
.sv-nav a:hover{background:var(--bg)}
.sv-nav a.active{background:var(--dark);color:#fff}
.sv-nav a.active .n{color:var(--accent)}
.sv-panel{display:none;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:40px;min-width:0}
.sv-panel.active{display:block}
.sv-panel h2{font-size:clamp(26px,3vw,34px);font-weight:600;margin-bottom:8px}
.sv-panel h3{font-size:20px;font-weight:600;margin:32px 0 12px}
.sv-panel p,.sv-panel li.t{color:var(--muted);font-size:15px;margin-top:10px}
.sv-panel p a,.sv-table a{color:var(--ink);font-weight:600;border-bottom:1.5px solid var(--accent)}
.sv-panel ul.list{list-style:disc;padding-left:22px;display:grid;gap:8px;margin-top:12px;color:var(--ink);font-size:15px}
.tbl-wrap{overflow-x:auto;margin-top:20px;border:1px solid var(--line);border-radius:14px}
.sv-table{width:100%;border-collapse:collapse;font-size:15px;min-width:0}
.sv-table th,.sv-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink)}
.sv-table tr:last-child>*{border-bottom:0}
.kv th{width:34%;color:var(--muted);font-weight:500;background:var(--bg)}
.grid.sv-table{min-width:720px}
.grid.sv-table thead th{background:var(--bg);font-size:13px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.grid.sv-table td a{display:block;margin-bottom:4px}
.fill{background:#FFF3C4;color:#141414;padding:1px 8px;border-radius:6px;border:1px dashed var(--accent-dark);font-size:.92em}
.docs{list-style:none;display:grid;gap:10px;margin-top:14px}
.docs a{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--bg);transition:border-color .2s,transform .2s;color:var(--ink)}
.docs a:hover{border-color:var(--ink);transform:translateY(-2px)}
.docs i{font-size:20px;color:var(--ink);margin-top:3px}
.docs b{display:block;font-size:15px;color:var(--ink);font-weight:600}
.docs small{display:block;font-size:13px;color:var(--muted);margin-top:2px;line-height:1.45}
.note-box{margin-top:24px;padding:18px 20px;border-radius:14px;background:var(--bg);border-left:4px solid var(--accent);font-size:14px;color:var(--ink)}
/* Teaser on main */
.svlinks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.svlink{display:flex;align-items:center;gap:16px;padding:20px 22px;background:var(--bg);border:1px solid var(--line);border-radius:16px;color:var(--ink);transition:border-color .2s,transform .2s,background .2s}
.svlink:hover{border-color:var(--ink);transform:translateY(-3px);background:#fff}
.svlink .n{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:14px;background:var(--accent);color:var(--ink);padding:4px 10px;border-radius:999px}
.svlink .t{flex:1;font-weight:500;font-size:15px;line-height:1.35;color:var(--ink)}
.svlink i{color:var(--ink);font-size:13px}
/* Consumer info */
.consumer{margin-top:56px;border-top:1px solid var(--line);padding-top:40px}
.consumer h3{font-size:26px;font-weight:600}
.cons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.cons-grid>div{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:20px}
.cons-grid dt{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--muted);margin-bottom:6px}
.cons-grid dd{font-size:15px;color:var(--ink)}
.cons-grid dd a{font-weight:600;border-bottom:1.5px solid var(--accent)}
/* Consent checkbox */
.check{margin:6px 0 16px}
.chk{position:relative;display:flex;gap:12px;align-items:flex-start;font-size:13px;color:var(--ink);line-height:1.5;cursor:pointer}
.chk input{position:absolute;opacity:0;width:22px;height:22px;margin:0;cursor:pointer}
.chk .box{flex:0 0 22px;height:22px;border:1.5px solid var(--ink);border-radius:6px;background:var(--card);display:grid;place-items:center;margin-top:1px;transition:background .2s,border-color .2s}
.chk .box::after{content:"";width:10px;height:5px;border-left:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.chk input:checked+.box{background:var(--accent)}
.chk input:checked+.box::after{opacity:1}
.chk input:focus-visible+.box{outline:2px solid var(--ink);outline-offset:2px}
.chk a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;font-weight:600}
.check .err{display:none;color:#D6342B;font-size:12px;margin-top:6px}
.check.error .err{display:block}
.check.error .box{border-color:#D6342B}
/* Legal pages */
.legal{max-width:820px;padding-bottom:100px}
.legal h2{font-size:clamp(26px,3.4vw,38px);font-weight:600;margin:40px 0 8px}
.legal h3{font-size:19px;font-weight:600;margin:28px 0 8px}
.legal p,.legal li{color:var(--ink);font-size:16px;margin-top:10px}
.legal ul{padding-left:22px;display:grid;gap:4px}
.legal a{font-weight:600;border-bottom:1.5px solid var(--accent)}
.legal hr{border:0;border-top:1px solid var(--line);margin:56px 0 0}
/* Visually impaired panel */
.vi-panel{display:none;background:#141414;color:#fff;padding:14px 0}
html.vi .vi-panel{display:block}
.vi-row{display:flex;gap:14px 32px;flex-wrap:wrap;align-items:center}
.vi-g{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:#fff}
.vi-g>span{font-weight:600;margin-right:4px}
.vi-b{min-width:44px;height:40px;padding:0 14px;border-radius:10px;border:2px solid #fff;background:#141414;color:#fff;font-weight:600;font-size:15px}
.vi-b.on{background:#fff;color:#141414}
.vi-b.sw{border-color:#888}
.vi-b.sw.on{outline:3px solid #FFC21A;outline-offset:1px}
html.vi.cs1{--vbg:#fff;--vfg:#000}
html.vi.cs2{--vbg:#000;--vfg:#fff}
html.vi.cs3{--vbg:#9DD1FF;--vfg:#063462}
html.vi.cs4{--vbg:#F7F3D6;--vfg:#4D4B43}
html.vi{background:var(--vbg)}
html.vi.fz2 body{zoom:1.25}
html.vi.fz3 body{zoom:1.5}
html.vi body *:not(.sw){background:var(--vbg)!important;background-image:none!important;color:var(--vfg)!important;border-color:var(--vfg)!important;box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important;backdrop-filter:none!important;font-family:Arial,Helvetica,sans-serif!important;letter-spacing:0!important}
html.vi body{background:var(--vbg);color:var(--vfg)}
html.vi .vi-b.on{outline:3px solid var(--vfg);outline-offset:2px}
html.vi .vi-b{border:2px solid var(--vfg)}
html.vi a{text-decoration:underline!important}
html.vi .btn,html.vi .tile,html.vi .plan,html.vi .pcard,html.vi .svlink,html.vi .sv-nav,html.vi .sv-panel,html.vi .form-card,html.vi .field input,html.vi .field select,html.vi .tbl-wrap,html.vi .docs a,html.vi .cons-grid>div,html.vi .cookie{border:2px solid var(--vfg)!important}
html.vi .sv-nav a.active{outline:3px solid var(--vfg);outline-offset:-3px;font-weight:700}
html.vi .reveal{opacity:1!important;transform:none!important}
html.vi .marquee{display:none}
html.vi.noimg img{display:none!important}
html.vi .modal{background:var(--vbg)!important}
html.vi .range{background:var(--vbg)!important;border:2px solid var(--vfg)!important}
@media(max-width:1024px){
.sv-layout{grid-template-columns:1fr;gap:24px}
.sv-nav{position:static;flex-direction:row;overflow-x:auto;white-space:nowrap}
.sv-nav a{flex:0 0 auto}
.cons-grid{grid-template-columns:repeat(2,1fr)}
.svlinks{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
.sv-panel{padding:26px 18px}
.svlinks,.cons-grid{grid-template-columns:1fr}
.cookie{left:12px;right:12px;bottom:84px;max-width:none}
.kv th,.kv td{display:block;width:100%}
.kv th{padding-bottom:2px;border-bottom:0}
.vi-btn{width:40px;height:40px}
}
/* ===== Blue / white theme refinements ===== */
:root{--yellow:#FFD447;--shadow:0 12px 32px rgba(10,23,32,.07);--shadow-h:0 18px 40px rgba(10,23,32,.12);--dim:#A9BCCB;--navy2:#11242F;--navy-line:#1E3442}
::selection{background:var(--accent);color:#0A1720}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
header{background:rgba(255,255,255,.88)}
.hero{background:radial-gradient(900px 420px at 85% 0%,rgba(88,174,230,.16),transparent 70%)}
.btn-primary{box-shadow:0 8px 20px rgba(88,174,230,.35)}
.btn-primary:hover{box-shadow:0 10px 24px rgba(88,174,230,.45)}
.btn-dark:hover{background:#1C3342}
.mark{background:linear-gradient(transparent 62%,var(--yellow) 62%)}
.tile,.form-card,.plan,.car,.rev,.calc-main,.sv-panel,.person{box-shadow:var(--shadow)}
.tile:hover,.plan:hover{box-shadow:var(--shadow-h)}
.tile.accent p,.ct-label,.ct-note,.cta-box p{color:#12303F}
.tile.dark p,.plan.featured .plan-desc,.plan.featured li,.plan.featured .monthly,.pcard.active .kind,.pcard.active .row,.team .lead,.team .eyebrow,.person .role,footer p,footer li,footer li a,.cookie p{color:var(--dim)}
.tile.dark .ic{background:var(--navy2)}
.person{background:var(--navy2);border-color:var(--navy-line)}
.person .meta{border-top-color:var(--navy-line)}
.person:nth-child(even) .avatar{background:#DCEBF6}
.pcard.active .row{border-top-color:var(--navy-line)}
.pcard.active .letter{color:var(--yellow)}
.foot-grid{border-bottom-color:var(--navy-line)}
.foot-bottom{color:#7F93A3}
.socials a{border-color:#2B4352}
.step .n,.svlink .n,.rev .formula,.car-photo .pill,.plan .tag{background:var(--yellow);color:var(--ink)}
.range-head output{background:linear-gradient(transparent 62%,var(--yellow) 62%);padding:0 4px}
.fill{background:#FFF1BF;border-color:#E6B800}
.stars{color:#F2B705}
.modal{background:rgba(10,23,32,.6)}
@media(max-width:1320px){.nav-phone{display:none}}
@media(max-width:1120px){.nav-links{display:none}.burger{display:block}}
/* Gallery */
.g-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:44px}
.g-top .sec-head{margin-bottom:0}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chips button{padding:11px 22px;border-radius:999px;background:var(--bg);border:1.5px solid var(--line);color:var(--ink);font-weight:600;font-size:15px;transition:background .2s,border-color .2s,color .2s}
.chips button:hover{border-color:var(--ink)}
.chips button.active{background:var(--dark);border-color:var(--dark);color:#fff}
.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.g-item{position:relative;display:block;padding:0;border-radius:var(--radius);overflow:hidden;background:var(--bg);aspect-ratio:4/3;cursor:zoom-in;border:1px solid var(--line);width:100%}
.g-item[hidden]{display:none}
.g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.g-item:hover img{transform:scale(1.05)}
.g-cap{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 16px;color:#fff;font-weight:500;font-size:14px;text-align:left;line-height:1.4;background:linear-gradient(transparent,rgba(10,23,32,.8))}
.g-zoom{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);display:grid;place-items:center;font-size:14px;opacity:0;transform:scale(.9);transition:opacity .25s,transform .25s}
.g-item:hover .g-zoom,.g-item:focus-visible .g-zoom{opacity:1;transform:none}
@media(hover:none){.g-zoom{opacity:1;transform:none}}
/* Lightbox */
.lb{position:fixed;inset:0;z-index:120;background:rgba(10,23,32,.95);display:none;flex-direction:column;align-items:center;justify-content:center;padding:72px 84px 40px}
.lb.open{display:flex;animation:fade .25s}
.lb-fig{margin:0;max-width:min(1200px,100%);display:flex;flex-direction:column;align-items:center;gap:16px}
.lb-fig img{max-width:100%;max-height:calc(100vh - 210px);max-height:calc(100dvh - 210px);object-fit:contain;border-radius:14px;display:block;background:var(--navy2)}
.lb-fig figcaption{display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff;font-size:15px;text-align:center}
.lb-fig figcaption small{color:var(--dim);font-size:13px}
.lb-close,.lb-nav{position:absolute;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:18px;display:grid;place-items:center;transition:background .2s,color .2s}
.lb-close:hover,.lb-nav:hover{background:var(--accent);color:var(--dark)}
.lb-close{top:18px;right:18px}
.lb-nav{top:50%;transform:translateY(-50%)}
.lb-prev{left:18px}.lb-next{right:18px}
/* Yandex reviews */
.yrev-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.yrev-top .sec-head{margin-bottom:0}
.ya-badge{display:inline-flex;align-items:center;gap:12px;padding:10px 20px 10px 10px;background:var(--card);border:1px solid var(--line);border-radius:999px;font-size:14px;font-weight:600;color:var(--ink);box-shadow:var(--shadow)}
.ya-badge[hidden]{display:none}
.ya-badge i{width:32px;height:32px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;color:var(--ink);font-size:14px}
.yrev-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.yrev-grid .yrev{grid-column:span 2;background:var(--card)}
.yrev-grid .yrev:nth-child(-n+2){grid-column:span 3}
.yrev p{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.yrev-more{margin-top:36px;display:flex;gap:16px 20px;align-items:center;flex-wrap:wrap}
.yrev-more span{color:var(--muted);font-size:14px}
/* Contacts + map */
.cn-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:stretch}
.cn-list{display:grid;gap:14px;align-content:start}
.cn-card{display:flex;gap:18px;align-items:flex-start;padding:22px 24px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.cn-card .ic{width:46px;height:46px;flex:0 0 46px;border-radius:14px;background:var(--accent);color:var(--ink);display:grid;place-items:center;font-size:18px}
.cn-card small{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--muted);margin-bottom:2px}
.cn-card b,.cn-card a{display:block;font-size:16px;font-weight:600;color:var(--ink);line-height:1.5}
.cn-card a:hover{text-decoration:underline;text-underline-offset:3px}
.cn-card .sub{display:block;font-size:14px;color:var(--muted);font-weight:400}
.cn-map{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}
.cn-map-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:4px 4px 0}
.cn-frame{position:relative;flex:1;min-height:460px;border-radius:16px;overflow:hidden;background:var(--bg)}
.cn-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cn-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
@media(max-width:1024px){
.cn-grid{grid-template-columns:1fr}
.cn-frame{min-height:380px}
.g-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
.yrev-grid{grid-template-columns:1fr}
.yrev-grid .yrev:nth-child(-n+2),.yrev-grid .yrev{grid-column:auto}
.lb{padding:64px 56px 40px}
}
@media(max-width:640px){
.g-grid{gap:10px}
.g-cap{font-size:12px;padding:30px 12px 10px}
.lb{padding:64px 12px 96px}
.lb-nav{top:auto;bottom:22px;transform:none;width:48px;height:48px}
.lb-prev{left:calc(50% - 62px)}
.lb-next{right:calc(50% - 62px)}
.lb-close{top:12px;right:12px;width:46px;height:46px}
.lb-fig img{max-height:calc(100vh - 240px);max-height:calc(100dvh - 240px)}
.cn-frame{min-height:320px}
.cn-card{padding:18px}
}
/* ===== Update: nav, buttons, marquee, tiles, calc states ===== */
.nav-links{flex:1;justify-content:center}
.nav-links a{white-space:nowrap}
.btn-yellow{background:var(--yellow);color:var(--ink);box-shadow:0 8px 20px rgba(255,212,71,.45)}
.btn-yellow:hover{background:#F5C21B;transform:translateY(-2px)}
.btn-green{background:#17804F;color:#fff;box-shadow:0 8px 20px rgba(23,128,79,.3)}
.btn-green:hover{background:#0F6A40;transform:translateY(-2px)}
.marquee-track{gap:0;animation-duration:96s}
.marquee-track span{padding-right:56px}
.marquee-track b{font-weight:500;color:#fff}
.marquee-track b.hl{color:var(--yellow)}
.tile-photo{position:relative}
button.tile-photo{display:block;width:calc(100% + 64px);padding:0;cursor:zoom-in;background:var(--bg)}
.t-b .tile-photo{height:250px}
.tile-photo:hover .g-zoom,.tile-photo:focus-visible .g-zoom{opacity:1;transform:none}
.tile-count{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.95);color:var(--ink);font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;z-index:2}
.tile-count i{color:var(--ink)}
.range-wrap{position:relative;padding-top:40px}
.range-wrap .range{margin:6px 0 8px}
.pop{position:absolute;left:50%;top:0;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;background:var(--yellow);color:var(--ink);font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;white-space:nowrap;transition:background .2s,color .2s}
.pop i{color:inherit}
.pop::after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;border:5px solid transparent;border-bottom:0;border-top-color:var(--yellow)}
.pop:hover{background:#F5C21B}
.pop:hover::after{border-top-color:#F5C21B}
.pop.on{background:var(--dark);color:#fff}
.pop.on::after{border-top-color:var(--dark)}
.pop[hidden]{display:none}
.calc-total{--ct-bg:var(--accent);--ct-fg:#0A1720;--ct-sub:#12303F;--ct-line:rgba(10,23,32,.2);background:var(--ct-bg);color:var(--ct-fg);transition:background .4s,color .4s}
.calc-total.lvl-mid{--ct-bg:#FFB938;--ct-fg:#0A1720;--ct-sub:#3B2A00;--ct-line:rgba(10,23,32,.25)}
.calc-total.lvl-high{--ct-bg:#17804F;--ct-fg:#FFFFFF;--ct-sub:#DDF3E7;--ct-line:rgba(255,255,255,.3)}
.calc-total .ct-label,.calc-total .ct-note{color:var(--ct-sub)}
.calc-total .ct-sum,.calc-total .ct-list li,.calc-total .ct-list li b{color:var(--ct-fg)}
.calc-total .ct-list li{border-top-color:var(--ct-line)}
.calc-total.lvl-high .btn-dark{background:#fff;color:#0A1720}
.calc-total.lvl-high .btn-dark:hover{background:#E8F5EE}
/* ===== Road theme: yellow / black with small green accents ===== */
:root{--bg:#F6F4EE;--card:#FFFFFF;--ink:#111111;--muted:#5F5B50;--line:#E4E0D3;--accent:#FFC81F;--accent-dark:#E3A900;--dark:#111111;--yellow:#FFC81F;--green:#17804F;--shadow:0 12px 32px rgba(17,17,17,.07);--shadow-h:0 18px 40px rgba(17,17,17,.12);--dim:#B9B5A8;--navy2:#1C1C1C;--navy-line:#303030}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:2px}
header::after{content:"";display:block;height:6px;background:repeating-linear-gradient(-45deg,#FFC81F 0 12px,#111 12px 24px)}
html.vi header::after{display:none}
.hero{background:radial-gradient(900px 420px at 85% 0%,rgba(255,200,31,.22),transparent 70%)}
.btn-primary{box-shadow:0 8px 20px rgba(255,200,31,.4)}
.btn-primary:hover{box-shadow:0 10px 24px rgba(255,200,31,.5)}
.btn-dark:hover{background:#2C2C2C}
.badge i{background:var(--green);color:#fff}
.tile.accent p,.cta-box p{color:#3B3000}
.person:nth-child(even) .avatar{background:#F6E7AE}
.foot-bottom{color:#8D897F}
.socials a{border-color:#3A3A3A}
.modal{background:rgba(17,17,17,.6)}
.lb{background:rgba(17,17,17,.95)}
.g-cap{background:linear-gradient(transparent,rgba(17,17,17,.8))}
.marquee{border-top:4px solid var(--accent);border-bottom:4px solid var(--accent)}
.marquee-track i{color:#2FBF71}
footer{border-top:6px solid var(--accent)}
.success .ok{background:var(--green);color:#fff}
.cta-list i{background:var(--green);color:#fff}
.price-note i{color:var(--green)}
/* Calculator keeps blue; hot offer is yellow; 30+ lessons — light green */
.calc-total{--ct-bg:#58AEE6;--ct-fg:#0A1720;--ct-sub:#12303F;--ct-line:rgba(10,23,32,.2)}
.calc-total.lvl-mid{--ct-bg:#FFC81F;--ct-fg:#111111;--ct-sub:#3B2A00;--ct-line:rgba(17,17,17,.25)}
.calc-total.lvl-high{--ct-bg:#B5EBC8;--ct-fg:#0B2E1A;--ct-sub:#14502D;--ct-line:rgba(11,46,26,.25)}
.calc-total.lvl-high .btn-dark{background:#111111;color:#fff}
.calc-total.lvl-high .btn-dark:hover{background:#2C2C2C}
.pop{background:#FFC81F;color:#111111}
.pop::after{border-top-color:#FFC81F}
.pop:hover{background:#FFB800}
.pop:hover::after{border-top-color:#FFB800}
.pop.on{background:#FFB000;color:#111111;box-shadow:0 0 0 2px #111111}
.pop.on::after{border-top-color:#FFB000}
/* Conditions / info cards */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.info-grid .tile ul{list-style:none;display:grid;gap:10px;margin-top:16px}
.info-grid .tile li{display:flex;gap:10px;font-size:15px;color:var(--ink);line-height:1.5}
.info-grid .tile li i{color:var(--green);margin-top:5px;font-size:13px;flex:0 0 auto}
.info-grid .tile.dark li{color:#fff}
.info-grid .tile.dark li i{color:var(--accent)}
.info-note{margin-top:28px;color:var(--muted);font-size:14px;display:flex;gap:10px;align-items:flex-start}
.info-note i{color:var(--green);margin-top:4px}
@media(max-width:1024px){.info-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.info-grid{grid-template-columns:1fr}}
/* Visually impaired mode: keep Font Awesome glyphs visible */
html.vi body i.fa-solid,html.vi body i.fa-solid::before{font-family:"Font Awesome 7 Free"!important;font-weight:900!important;font-style:normal!important}
/* Multi-select categories */
.cats{display:flex;flex-wrap:wrap;gap:8px}
.cat-chip{position:relative;display:inline-block}
.cat-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.cat-chip span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);font-weight:600;font-size:15px;color:var(--ink);transition:background .2s,border-color .2s,color .2s}
.cat-chip:hover span{border-color:var(--ink)}
.cat-chip input:checked+span{background:var(--dark);border-color:var(--dark);color:#fff}
.cat-chip input:focus-visible+span{outline:3px solid var(--green);outline-offset:2px}
.cat-hint{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.45}
html.vi .cat-chip input:checked+span{background:var(--vfg)!important;color:var(--vbg)!important;font-weight:700}
/* ===== Responsive hardening ===== */
img{max-width:100%}
.hero-grid>*,.sv-layout>*,.cn-grid>*,.calc>*,.faq-grid>*,.cta-box>*,.foot-grid>*,.fleet-grid>*,.price-grid>*{min-width:0}
.sv-layout aside,.sv-body{min-width:0;max-width:100%}
.sv-panel{max-width:100%}
.sv-panel h2,.sv-panel h3,.sv-panel p,.sv-panel li,.sv-table td,.sv-table th,.docs b,.docs small,.cn-card b,.cn-card a,.foot-bottom span,footer li{overflow-wrap:anywhere}
.docs a>span{min-width:0}
.docs i{flex:0 0 auto}
@media(max-width:1024px){
.sv-nav{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.sv-nav a{white-space:nowrap}
.sv-nav a.active{background:var(--dark)}
.sv-panel{padding:32px 26px}
.sv-top .btn{flex:0 0 auto}
}
@media(max-width:820px){
.g-top,.yrev-top,.price-top{align-items:flex-start}
.chips button{padding:10px 18px}
.cta-box{gap:36px}
}
@media(max-width:640px){
.btn{white-space:normal;text-align:center}
.sv-top .btn{width:100%}
.sv-h1{font-size:28px}
.crumbs{padding-top:24px}
.sv-layout{padding-bottom:70px}
.sv-table th,.sv-table td{padding:12px}
.grid.sv-table{min-width:620px}
.kv,.kv tbody,.kv tr{display:block;width:100%}
.kv tr{padding:10px 0;border-bottom:1px solid var(--line)}
.kv tr:last-child{border-bottom:0}
.kv th,.kv td{border-bottom:0!important}
.kv th{background:transparent;font-size:13px}
.h2{font-size:clamp(28px,8vw,40px)}
.lead{font-size:16px}
.sec-head{margin-bottom:36px}
.big-num{font-size:56px}
.range-head output{font-size:32px}
.range-head{flex-wrap:wrap}
.t-b .tile-photo{height:200px}
.car-photo{height:220px}
.cn-card b,.cn-card a{font-size:15px}
.pop{font-size:11px;padding:5px 10px}
.cat-chip span{padding:0 14px}
.foot-bottom{flex-direction:column;gap:10px}
.yrev-more .btn{width:100%}
.info-grid .tile,.tile{padding:26px 22px}
button.tile-photo{width:calc(100% + 44px)}
.tile-photo{margin:-26px -22px 22px}
summary{font-size:18px}
}

/* ==========================================================================
   ДОПОЛНИТЕЛЬНЫЕ СТИЛИ: Google reCAPTCHA, Cookie, Honeypot
   ========================================================================== */

/* Google reCAPTCHA (адаптивность для мобильных) */
.g-recaptcha {
    margin-top: 16px;
    display: flex;
    justify-content: center;
    overflow: hidden;
}
.g-recaptcha > div {
    margin: 0 auto;
}
@media (max-width: 640px) {
    .g-recaptcha {
        transform: scale(0.85);
        transform-origin: center;
        margin-top: 0;
        margin-bottom: -15px;
    }
}

/* Cookie Banner (улучшенный) */
.cookie {
    position: fixed;
    left: 20px;
    bottom: 20px;
    max-width: 420px;
    z-index: 90;
    background: var(--dark);
    color: #fff;
    border-radius: 18px;
    padding: 20px 22px;
    display: none;
    flex-direction: column;
    gap: 14px;
    font-size: 14px;
    line-height: 1.5;
    box-shadow: 0 12px 32px rgba(0,0,0,0.3);
    border: 1px solid var(--navy-line);
    animation: fadeUp 0.4s ease;
}
.cookie.show { display: flex; }
.cookie p { color: #e6e2d8; margin: 0; }
.cookie a { color: var(--accent); text-decoration: underline; }
@keyframes fadeUp { 
    from { opacity: 0; transform: translateY(20px); } 
    to { opacity: 1; transform: translateY(0); } 
}

/* Honeypot (скрытое поле от ботов) */
.hp-field { 
    position: absolute; 
    left: -9999px; 
    opacity: 0; 
    height: 0; 
    width: 0; 
}


/* Multi-select категории — поддержка hover и фокус */
.cat-chip:hover span { border-color: var(--ink); }
.cat-chip input:checked + span { background: var(--dark); border-color: var(--dark); color: #fff; }
.cat-chip input:focus-visible + span { outline: 3px solid var(--green); outline-offset: 2px; }
.cat-hint { font-size: 12px; color: var(--muted); margin-top: 8px; line-height: 1.45; }

/* Pop-marker калькулятора (бейдж "Самый популярный выбор") */
.range-wrap { position: relative; padding-top: 40px; }
.range-wrap .range { margin: 6px 0 8px; }
.pop {
    position: absolute; left: 50%; top: 0; transform: translateX(-50%);
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--yellow); color: var(--ink);
    font-size: 12px; font-weight: 700; padding: 6px 12px;
    border-radius: 999px; white-space: nowrap;
    transition: background .2s, color .2s;
    border: none; cursor: pointer;
}
.pop i { color: inherit; }
.pop::after {
    content: ""; position: absolute; left: 50%; bottom: -5px;
    margin-left: -5px; border: 5px solid transparent;
    border-bottom: 0; border-top-color: var(--yellow);
}
.pop:hover { background: #F5C21B; }
.pop:hover::after { border-top-color: #F5C21B; }
.pop.on { background: #FFB000; box-shadow: 0 0 0 2px var(--dark); }
.pop.on::after { border-top-color: #FFB000; }
.pop[hidden] { display: none; }

/* Калькулятор — динамические уровни цвета */
.calc-total {
    --ct-bg: var(--accent); --ct-fg: #0A1720;
    --ct-sub: #12303F; --ct-line: rgba(10,23,32,.2);
    background: var(--ct-bg); color: var(--ct-fg);
    transition: background .4s, color .4s;
}
.calc-total.lvl-mid { --ct-bg: #FFC81F; --ct-fg: #111; --ct-sub: #3B2A00; --ct-line: rgba(17,17,17,.25); }
.calc-total.lvl-high { --ct-bg: #B5EBC8; --ct-fg: #0B2E1A; --ct-sub: #14502D; --ct-line: rgba(11,46,26,.25); }
.calc-total .ct-label, .calc-total .ct-note { color: var(--ct-sub); }
.calc-total .ct-sum, .calc-total .ct-list li, .calc-total .ct-list li b { color: var(--ct-fg); }
.calc-total .ct-list li { border-top-color: var(--ct-line); }
.calc-total.lvl-high .btn-dark { background: #111; color: #fff; }
.calc-total.lvl-high .btn-dark:hover { background: #2C2C2C; }

/* Поле вопроса в модалке */
#mQuestionField[hidden] { display: none; }
#mQuestionField textarea { min-height: 120px; resize: vertical; }

/* Ссылка "Отзывы" (возвращаем) */
.yrev-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 48px; }
.yrev-top .sec-head { margin-bottom: 0; }
.ya-badge {
    display: inline-flex; align-items: center; gap: 12px;
    padding: 10px 20px 10px 10px; background: var(--card);
    border: 1px solid var(--line); border-radius: 999px;
    font-size: 14px; font-weight: 600; color: var(--ink);
    box-shadow: var(--shadow);
}
.ya-badge[hidden] { display: none; }
.ya-badge i {
    width: 32px; height: 32px; border-radius: 50%;
    background: var(--yellow); display: grid; place-items: center;
    color: var(--ink); font-size: 14px;
}
.yrev-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.yrev-grid .yrev { grid-column: span 2; background: var(--card); }
.yrev-grid .yrev:nth-child(-n+2) { grid-column: span 3; }
.yrev p {
    display: -webkit-box; -webkit-line-clamp: 7;
    -webkit-box-orient: vertical; overflow: hidden;
}
.yrev-more {
    margin-top: 36px; display: flex; gap: 16px 20px;
    align-items: center; flex-wrap: wrap;
}
.yrev-more span { color: var(--muted); font-size: 14px; }

/* Памятка (memo) */
.rev .memo-ic {
    width: 52px; height: 52px; border-radius: 14px;
    background: var(--card); border: 1px solid var(--line);
    display: grid; place-items: center; font-size: 20px; color: var(--ink);
}
.rev .formula {
    font-family: 'Space Grotesk', sans-serif; font-weight: 600;
    font-size: 15px; color: var(--ink); background: var(--accent);
    padding: 8px 14px; border-radius: 12px; align-self: flex-start;
    margin-top: 12px;
}

/* Условия обучения (info-grid) */
.info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.info-grid .tile ul { list-style: none; display: grid; gap: 10px; margin-top: 16px; }
.info-grid .tile li { display: flex; gap: 10px; font-size: 15px; color: var(--ink); line-height: 1.5; }
.info-grid .tile li i { color: var(--green); margin-top: 5px; font-size: 13px; flex: 0 0 auto; }
.info-grid .tile.dark li { color: #fff; }
.info-grid .tile.dark li i { color: var(--accent); }
.info-note { margin-top: 28px; color: var(--muted); font-size: 14px; display: flex; gap: 10px; align-items: flex-start; }
.info-note i { color: var(--green); margin-top: 4px; }
@media (max-width: 1024px) { .info-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
    .info-grid { grid-template-columns: 1fr; }
    .yrev-grid { grid-template-columns: 1fr; }
    .yrev-grid .yrev:nth-child(-n+2), .yrev-grid .yrev { grid-column: auto; }
}

/* Карта — вкладки и кнопки маршрута */
.cn-map-head {
    display: flex; justify-content: space-between;
    align-items: center; gap: 12px; flex-wrap: wrap;
    padding: 4px 4px 0;
}
.cn-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }

/* Lightbox улучшенный (стрелки, счётчик) */
.lb {
    position: fixed; inset: 0; z-index: 120;
    background: rgba(17,17,17,.95); display: none;
    flex-direction: column; align-items: center; justify-content: center;
    padding: 72px 84px 40px;
}
.lb.open { display: flex; animation: fade .25s; }
.lb-fig {
    margin: 0; max-width: min(1200px, 100%);
    display: flex; flex-direction: column; align-items: center; gap: 16px;
}
.lb-fig img {
    max-width: 100%; max-height: calc(100dvh - 210px);
    object-fit: contain; border-radius: 14px;
    display: block; background: var(--navy2, #1C1C1C);
}
.lb-fig figcaption {
    display: flex; flex-direction: column; align-items: center;
    gap: 4px; color: #fff; font-size: 15px; text-align: center;
}
.lb-fig figcaption small { color: var(--dim, #B9B5A8); font-size: 13px; }
.lb-close, .lb-nav {
    position: absolute; width: 52px; height: 52px;
    border-radius: 50%; background: rgba(255,255,255,.14);
    color: #fff; font-size: 18px; display: grid; place-items: center;
    transition: background .2s, color .2s; border: none; cursor: pointer;
}
.lb-close:hover, .lb-nav:hover { background: var(--accent); color: var(--dark); }
.lb-close { top: 18px; right: 18px; }
.lb-nav { top: 50%; transform: translateY(-50%); }
.lb-prev { left: 18px; }
.lb-next { right: 18px; }
@media (max-width: 820px) { .lb { padding: 64px 56px 40px; } }
@media (max-width: 640px) {
    .lb { padding: 64px 12px 96px; }
    .lb-nav { top: auto; bottom: 22px; transform: none; width: 48px; height: 48px; }
    .lb-prev { left: calc(50% - 62px); }
    .lb-next { right: calc(50% - 62px); }
    .lb-close { top: 12px; right: 12px; width: 46px; height: 46px; }
    .lb-fig img { max-height: calc(100dvh - 240px); }
}

/* Мобильная плашка */
.mbar {
    display: none; position: fixed; left: 12px; right: 12px;
    bottom: 12px; z-index: 60; gap: 10px;
}
.mbar a, .mbar button {
    flex: 1; padding: 16px; border-radius: 999px;
    font-weight: 600; font-size: 15px;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    border: none; cursor: pointer; text-decoration: none;
}
.mbar a { background: var(--dark); color: #fff; }
.mbar button { background: var(--accent); color: var(--ink); }
@media (max-width: 640px) {
    .mbar { display: flex; }
    footer { padding-bottom: 100px; }
}

/* reCAPTCHA адаптивность */
.g-recaptcha {
    margin-top: 16px; display: flex; justify-content: center; overflow: hidden;
}
.g-recaptcha > div { margin: 0 auto; }
@media (max-width: 640px) {
    .g-recaptcha {
        transform: scale(0.85); transform-origin: center;
        margin-top: 0; margin-bottom: -15px;
    }
}

/* Honeypot */
.hp-field {
    position: absolute; left: -9999px;
    opacity: 0; height: 0; width: 0; pointer-events: none;
}

/* Cookie баннер */
.cookie {
    position: fixed; left: 20px; bottom: 20px;
    max-width: 420px; z-index: 90;
    background: var(--dark); color: #fff; border-radius: 18px;
    padding: 20px 22px; display: none;
    flex-direction: column; gap: 14px;
    font-size: 14px; line-height: 1.5;
    box-shadow: 0 12px 32px rgba(0,0,0,0.3);
    border: 1px solid var(--navy-line, #303030);
    animation: fadeUp .4s ease;
}
.cookie.show { display: flex; }
.cookie p { color: #e6e2d8; margin: 0; }
.cookie a { color: var(--accent); text-decoration: underline; }
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 640px) {
    .cookie { left: 12px; right: 12px; bottom: 84px; max-width: none; }
}
/* Кнопка «Вернуться к началу» */
.to-top {
    position: fixed; right: 24px; bottom: 24px; z-index: 80;
    width: 52px; height: 52px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: var(--dark); color: #fff;
    border: 1px solid rgba(255,255,255,.14);
    font-size: 18px; line-height: 1; cursor: pointer;
    box-shadow: 0 10px 26px rgba(10,23,32,.24);
    opacity: 0; visibility: hidden; transform: translateY(10px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease, background .2s ease, color .2s ease;
}
.to-top.show { opacity: 1; visibility: visible; transform: none; }
.to-top:hover { background: var(--accent); color: var(--ink); }
.to-top:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
html.vi .to-top { border: 2px solid var(--vfg) !important; }
@media (max-width: 640px) {
    .to-top { width: 46px; height: 46px; right: 12px; bottom: 84px; font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .to-top { transition: none; }
}

/* =====================================================
   КОНВЕРСИОННЫЕ ДОПОЛНЕНИЯ
   ===================================================== */

/* Телефоны в шапке: мобильный крупно, городской мелким */
.nav-phones{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;text-align:right}
.nav-phones .nav-phone{display:block;text-align:right}
.nav-phone-sub{font-size:12px;color:var(--muted);text-decoration:none;white-space:nowrap}
.nav-phone-sub:hover{color:var(--ink)}
@media(max-width:1320px){.nav-phones{display:none}}

/* Кнопка MAX в шапке */
.nav-max{display:inline-flex;align-items:center;gap:7px;padding:7px 13px 7px 8px;border-radius:999px;background:var(--dark);color:#fff;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}
.nav-max img{display:block;width:24px;height:24px;border-radius:7px}
.nav-max:hover{background:#1b2c38;transform:translateY(-1px)}
@media(max-width:1180px){.nav-max{display:none}}

/* Выбор способа связи в формах */
.comm-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.comm-chip{cursor:pointer;margin:0;position:relative}
.comm-chip input{position:absolute;opacity:0;pointer-events:none}
.comm-chip span{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 6px;border:1.5px solid var(--line);border-radius:12px;font-size:12.5px;font-weight:600;background:var(--card);color:var(--ink);transition:border-color .18s,background .18s,color .18s;white-space:nowrap}
.comm-chip span img{display:block;width:16px;height:16px;border-radius:4px}
.comm-chip input:checked + span{background:var(--dark);color:#fff;border-color:var(--dark)}
.comm-chip input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}

/* Калькулятор: быстрые пресеты и пояснение */
.calc-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.preset-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);font-size:11.5px;font-weight:600;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,color .15s}
.preset-btn b{font-size:13.5px;color:var(--ink);font-weight:700}
.preset-btn:hover{border-color:var(--accent)}
.preset-btn.active{border-color:var(--accent);background:#EAF4FB}
.preset-btn.active b{color:var(--accent-dark)}

.calc-flex-note{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding:14px 16px;background:#F1F6FA;border-left:3px solid var(--accent);border-radius:12px}
.calc-flex-note i{font-size:17px;color:var(--accent-dark);margin-top:2px}
.calc-flex-note b{display:block;font-size:13.5px;margin-bottom:3px}
.calc-flex-note span{font-size:13px;color:var(--muted);line-height:1.5}

/* Баннер про маткапитал и вычет */
.benefit-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:26px;padding:26px 30px;border-radius:var(--radius);background:var(--dark);color:#fff}
.benefit-banner h3{font-size:20px;color:#fff;margin:8px 0 8px;max-width:720px}
.benefit-banner p{margin:0;font-size:14px;line-height:1.55;color:#C9D6DF;max-width:720px}
.bb-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:rgba(88,174,230,.18);color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.02em}
.bb-right .btn{white-space:nowrap}

/* Перехватчик на грузовые категории */
.pro-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:26px;padding:24px 28px;border-radius:var(--radius);background:#EAF4FB;border:1px solid #CDE5F5}
.pro-banner h4{font-size:17px;margin:0 0 6px;display:flex;align-items:center;gap:8px}
.pro-banner h4 i{color:var(--accent-dark)}
.pro-banner p{margin:0;font-size:14px;line-height:1.55;color:var(--muted);max-width:720px}

/* CTA под блоком страхов */
.memo-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:26px;padding:22px 26px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line)}
.memo-cta p{margin:0;font-size:14.5px;color:var(--muted);max-width:680px}
.memo-cta p b{color:var(--ink)}

/* Плашка с расчётом в модалке */
.modal-calc-badge{margin-bottom:14px;padding:12px 14px;border-radius:12px;background:#EAF4FB;border:1px solid #CDE5F5;font-size:12.5px;line-height:1.5;font-weight:600;color:var(--ink)}

/* Экран «спасибо»: быстрый переход в мессенджер */
.success p.ok-links{margin-top:16px;font-size:14px;color:var(--muted)}
.ok-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.ok-actions .btn img{display:block;width:18px;height:18px;border-radius:5px}

/* Мобильная плашка: три действия */
.mbar a.mbar-max{background:var(--dark);color:#fff}
.mbar a.mbar-max img{display:block;width:18px;height:18px;border-radius:5px}
@media(max-width:640px){
    .mbar a,.mbar button{padding:14px 8px;font-size:12.5px;gap:6px}
    .mbar i{font-size:14px}
}

@media(max-width:640px){
    .comm-chips{grid-template-columns:repeat(3,1fr);gap:6px}
    .comm-chip span{justify-content:center;padding:10px 4px;font-size:11px;gap:4px;letter-spacing:-.01em}
    .comm-chip span img{width:13px;height:13px}
    .comm-chip i{font-size:12px}
    .calc-presets{grid-template-columns:1fr}
    .preset-btn{flex-direction:row;justify-content:space-between;align-items:center}
    .benefit-banner,.pro-banner,.memo-cta{padding:20px}
    .benefit-banner h3{font-size:18px}
    .bb-right,.benefit-banner .btn,.pro-banner .btn{width:100%}
}

/* Кнопки первого экрана на мобиле — в столбик, иначе длинные подписи ломаются */
@media(max-width:640px){
    .hero-actions{flex-direction:column;gap:10px}
    .hero-actions .btn{flex:none;width:100%}
}

/* =====================================================
   ПРАВКИ ПО ЗАМЕЧАНИЯМ: MAX, шапка, калькулятор
   ===================================================== */

/* MAX в шапке — просто иконка, как кнопка для слабовидящих */
.nav-max{
    display:inline-flex;align-items:center;justify-content:center;
    width:44px;height:44px;border-radius:12px;
    background:var(--card);border:1px solid var(--line);
    transition:background .2s,border-color .2s;
}
.nav-max img{display:block;width:24px;height:24px;filter:brightness(0)}
.nav-max:hover{background:var(--accent);border-color:var(--accent);transform:none}

/* Иконка MAX на светлых кнопках и плашках */
.ok-actions .btn img,
.cn-card .ic img,
.comm-chip span img,
.mbar a.mbar-max img{filter:brightness(0)}

/* Шапка: только мобильный телефон */
.nav-phones,.nav-phone-sub{display:none}

/* Первый экран: счётчик, пояснение, крупные значения */
.live-line{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;padding:12px 16px;border-radius:14px;background:#EAF7EF;border:1px solid #CDEBD8;font-size:14px;line-height:1.45;color:#14603B;max-width:560px}
.live-line b{color:#0F4C2E}
.live-dot{width:9px;height:9px;border-radius:50%;background:#1F9D63;flex:0 0 9px;margin-top:6px;box-shadow:0 0 0 0 rgba(31,157,99,.6);animation:livePulse 2s infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(31,157,99,.5)}70%{box-shadow:0 0 0 8px rgba(31,157,99,0)}100%{box-shadow:0 0 0 0 rgba(31,157,99,0)}}
.trust b.sm{font-size:22px;line-height:1.15}
.hero-note{display:flex;align-items:flex-start;gap:8px;margin-top:22px;font-size:13.5px;line-height:1.5;color:var(--muted);max-width:560px}
.hero-note i{color:#1F9D63;margin-top:4px}

/* Калькулятор: коробка передач */
.gear-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 4px}
.gear-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.gear-chips{display:inline-flex;gap:6px;flex-wrap:wrap}
.gear-btn{padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.gear-btn:hover{border-color:var(--accent)}
.gear-btn.active{border-color:var(--accent);background:#EAF4FB;color:var(--ink)}

/* Крупнее подписи в блоке расчёта */
.calc-total .ct-list li{font-size:18px;padding:16px 0}
.calc-total .ct-list li b{font-size:18px}
.ct-fine{margin:-6px 0 18px;font-size:13px;line-height:1.5;color:var(--muted)}
.ct-fine + .btn{margin-top:4px}

/* Коробка передач в модалке — три варианта в ряд */
.comm-chips{grid-template-columns:repeat(2,1fr)}
.comm-chips.gear-3{grid-template-columns:repeat(3,1fr)}

/* Мобильная плашка: MAX белый */
.mbar a.mbar-max{background:var(--card);color:var(--ink);border:1px solid var(--line)}

@media(max-width:640px){
    .comm-chips{grid-template-columns:repeat(2,1fr)}
    .comm-chips.gear-3{grid-template-columns:repeat(3,1fr)}
    .comm-chips.gear-3 .comm-chip span{padding:10px 2px;font-size:10.5px}
    .live-line{font-size:13px;padding:10px 13px}
    .trust b.sm{font-size:19px}
    .calc-total .ct-list li{font-size:16px}
    .calc-total .ct-list li b{font-size:16px}
}

.gear-row[hidden]{display:none}


/* =====================================================
   ДОРАБОТКИ: иконка MAX, мобильная плашка, отступ hero
   ===================================================== */

/* Иконка MAX в шапке — оптически по центру */
.nav-max img{margin-left:4px}

/* Первый экран: убираем лишний воздух над адресом */
.hero{padding:56px 0 90px}
.hero-grid{align-items:start}

/* Мобильная плашка: три кнопки без горизонтального скролла */
.mbar a,.mbar button{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mbar a.mbar-max{flex:0 0 54px;padding:14px 0;gap:0}
.mbar a.mbar-max img{display:block;width:22px;height:22px;margin:0 auto}

@media(max-width:640px){
    .hero{padding:32px 0 60px}
    .mbar{gap:8px}
    .mbar a,.mbar button{padding:14px 6px;font-size:12px;gap:5px}
    .mbar i{font-size:13px}
    .mbar a.mbar-max{flex:0 0 50px}
}

/* =====================================================
   Сообщение администратора, акционный счётчик, кнопки
   ===================================================== */

/* Сообщение над первым экраном */
.hero-message{
    display:flex;align-items:flex-start;gap:12px;
    margin:0 0 24px;padding:14px 18px;border-radius:16px;
    background:#FFF8E6;border:1px solid #F2DFA8;color:#6B4E00;
    font-size:14.5px;line-height:1.5;
}
.hero-message i{color:#C9860A;margin-top:3px;font-size:16px}
.hero-message > div{min-width:0}

/* Акционный счётчик мест */
.promo-counter{
    display:inline-flex;align-items:center;gap:12px;
    margin-top:18px;padding:12px 18px 12px 14px;
    border-radius:14px;background:var(--card);
    border:1px solid var(--line);box-shadow:0 8px 22px rgba(10,23,32,.06);
}
.pc-ic{
    width:36px;height:36px;flex:0 0 36px;border-radius:11px;
    background:#FFE8E1;color:#D9482A;display:grid;place-items:center;font-size:16px;
}
.pc-body b{display:block;font-family:'Space Grotesk',sans-serif;font-size:18px;line-height:1.2;color:var(--ink)}
.pc-sub{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}

/* Длинные подписи в баннерах переносятся, а не вылезают за кнопку */
.benefit-banner .btn,
.pro-banner .btn,
.memo-cta .btn,
.bb-right .btn{
    white-space:normal;text-align:center;line-height:1.25;height:auto;
}

@media(max-width:640px){
    /* Телефоны в подписи — в столбик */
    .price-note{display:block;font-size:14px;line-height:1.5}
    .price-note i{margin-right:6px}
    .price-note a{display:block;margin-top:6px}

    .hero-message{font-size:13.5px;padding:12px 14px;margin-bottom:18px}
    .promo-counter{width:100%;justify-content:flex-start}
    .pc-body b{font-size:16px}
}

/* Плитка-призыв в блоке «Условия обучения» */
.cta-tile{
    display:flex;flex-direction:column;align-items:flex-start;
    background:#EAF4FB;border-color:#CDE5F5;
}
.cta-tile .ic{background:var(--accent);color:var(--ink)}
.cta-tile p{margin-bottom:18px}
.cta-tile .btn{margin-top:auto;width:100%}

/* =====================================================
   Трастовый блок на первом экране — три ровные колонки
   ===================================================== */
.hero-trust{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;margin-top:44px;align-items:start;
}
.hero-trust .trust{min-width:0}
.trust b{
    display:block;font-family:'Space Grotesk',sans-serif;
    font-size:24px;line-height:1.15;margin-bottom:6px;
    white-space:normal;overflow-wrap:break-word;
}
.trust span{display:block;font-size:13.5px;line-height:1.35;color:var(--muted)}

@media(max-width:640px){
    .hero-trust{gap:10px;margin-top:26px}
    .trust b{font-size:16px;line-height:1.2;margin-bottom:3px}
    .trust span{font-size:11.5px;line-height:1.25}
}

/* «Об услугах» теперь отдельная секция внизу — убираем лишний верхний разделитель */
#consumer-info .consumer{margin-top:0;border-top:0;padding-top:0}

/* Блоки вне view-main показываем только на главной */
body:not(.page-main) #sveden-info,
body:not(.page-main) #consumer-info{display:none}

/* =====================================================
   ПРАВКИ: шаги, заголовки, отступы секций, лайтбокс
   ===================================================== */

/* Номер шага и заголовок — в одну строку */
.step-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.step-head .n{flex:0 0 auto;margin:0}
.step-head h3{margin:0;font-size:24px;line-height:1.15;min-width:0}
@media(max-width:820px){
    .step-head h3{font-size:21px}
}

/* Заголовки на мобиле — ровно 26px */
@media(max-width:640px){
    .h2{font-size:clamp(26px,7vw,26px);line-height:1.2}
    .sv-h1{font-size:clamp(24px,6.4vw,26px)}
}

/* Отступы секций на планшете и мобиле */
@media(max-width:820px){
    section{padding:30px 0}
    .hero{padding:26px 0 34px}
    /* заголовок секции не должен «прилипать» к контенту */
    .sec-head{margin-bottom:24px}
}

/* Лайтбокс: кнопки связи поверх чёрного фона, стрелки выше */
body.lb-open .lb{padding-bottom:170px}

@media(max-width:640px){
    body.lb-open .mbar{display:flex;z-index:130;bottom:12px}
    body.lb-open .lb{padding:56px 12px 150px}
    body.lb-open .lb-nav{bottom:86px}
    body.lb-open .lb-fig img{max-height:calc(100dvh - 330px)}
}

/* На широком экране плашка скрыта — оставляем только стрелки выше */
@media(min-width:641px){
    body.lb-open .lb-nav{width:56px;height:56px}
}

/* Лайтбокс: плотный фон и контрастные кнопки связи */
body.lb-open .lb{background:var(--dark)}
body.lb-open .cookie{display:none}
body.lb-open .mbar{z-index:130}
body.lb-open .mbar a:not(.mbar-max){
    background:#fff;color:var(--ink);border:1px solid rgba(255,255,255,.85);
}
body.lb-open .mbar a.mbar-max{background:#fff;color:var(--ink);border:1px solid rgba(255,255,255,.85)}
body.lb-open .mbar button{box-shadow:0 6px 18px rgba(0,0,0,.35)}

@media(max-width:640px){
    body.lb-open .mbar a:not(.mbar-max),
    body.lb-open .mbar a.mbar-max{background:#fff;color:var(--ink)}
}

/* =====================================================
   Иконка слева, заголовок справа — единый вид блоков
   ===================================================== */

/* 1. Плитки «Условия обучения» */
.info-grid .tile{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    column-gap:14px;
    align-items:center;
}
.info-grid .tile > .ic{
    grid-column:1;grid-row:1;
    width:46px;height:46px;min-width:46px;
    margin:0;border-radius:13px;font-size:18px;
}
.info-grid .tile > h3{
    grid-column:2;grid-row:1;
    margin:0;font-size:20px;line-height:1.2;
}
.info-grid .tile > ul,
.info-grid .tile > p,
.info-grid .tile > .btn{grid-column:1 / -1}
.info-grid .tile > ul{margin-top:16px}
.info-grid .tile > p{margin-top:10px;margin-bottom:0}
.info-grid .tile.cta-tile > .btn{margin-top:16px;width:100%}

/* 2. Карточки «О школе»: маленькая иконка, текст справа */
.person{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    column-gap:16px;
    align-items:center;
}
.person > .avatar{
    grid-column:1;grid-row:1;
    width:56px;height:56px;
    margin:0;
    font-size:19px;
}
.person > h3{
    grid-column:2;grid-row:1;
    margin:0;font-size:20px;line-height:1.2;
}
.person > .role,
.person > .meta{grid-column:1 / -1}
.person > .role{margin:14px 0 16px}
.person > .meta{margin:0}

/* 3. Блок «Переживаете перед записью?» */
#memo .rev{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    column-gap:14px;
    row-gap:0;
    align-items:center;
}
#memo .rev > .memo-ic{
    grid-column:1;grid-row:1;
    width:46px;height:46px;
    margin:0;border-radius:13px;font-size:18px;
}
#memo .rev > h3{
    grid-column:2;grid-row:1;
    margin:0;font-size:19px;line-height:1.25;
}
#memo .rev > p{
    grid-column:1 / -1;
    margin-top:14px;
    flex:none;
}

@media(max-width:640px){
    .info-grid .tile > h3,
    .person > h3{font-size:18px}
    #memo .rev > h3{font-size:17.5px}
    .person > .avatar{width:48px;height:48px;font-size:17px}
}

/* Модалка должна быть поверх просмотра фото */
.modal{z-index:150}
body.lb-open .modal{z-index:150}

/* =====================================================
   ТОЧЕЧНЫЕ ПРАВКИ
   ===================================================== */

/* 1. Разделители в бегущей строке — цвет выделения текста */
.marquee-track i{color:var(--accent)}

/* 2. Мобильное меню выше нижней плашки с кнопками */
header{z-index:70}
.mobile-menu{
    position:relative;
    z-index:71;
    max-height:calc(100vh - 76px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
}
@media(max-width:640px){
    .mobile-menu{max-height:calc(100dvh - 76px)}
}

/* 3. Карточки категорий: буква слева, описание справа */
.pcard{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    column-gap:12px;
    row-gap:6px;
    align-items:center;
    text-align:left;
}
.pcard .letter{
    grid-column:1;
    grid-row:1;
    line-height:1;
}
.pcard .kind{
    grid-column:2;
    grid-row:1;
    margin:0;
    line-height:1.3;
}
.pcard .row{grid-column:1 / -1}

/* Заголовок первого экрана: мягче кегль, плотнее межстрочный */
h1{line-height:1.3}
.hero h1{font-size:clamp(30px, 3vw, 60px)}

@media(max-width:640px){
    .hero h1{font-size:clamp(30px, 3vw, 60px)}
}

/* Иконки не должны сжиматься флексом (кружки в списке CTA, «+» в вопросах) */
.cta-list i{flex:0 0 24px;min-width:24px}
summary i{flex:0 0 36px;min-width:36px}
.nav-max img{flex:0 0 auto}
.info-grid .tile > ul li > i,
.step-head > .n,
.person > .avatar{flex:0 0 auto}

@media(max-width:640px){
    .cta-list i{flex:0 0 22px;min-width:22px}
    summary i{flex:0 0 32px;min-width:32px}
}

/* Доводка иконок: квадратные размеры и без лишних отступов у кнопки MAX */
.nav-max{padding:0}
.nav-max img{width:24px;height:24px}

.info-grid .tile > ul > li > i{
    flex:0 0 auto;
    align-self:flex-start;
    width:1.05em;
    text-align:center;
}

@media(max-width:640px){
    .cta-list i{width:22px;height:22px;flex:0 0 22px;min-width:22px}
    summary i{width:32px;height:32px;flex:0 0 32px;min-width:32px}
}

/* Первый экран: отступы и бейдж */
.hero p.sub{margin-top:20px}
.hero-actions{margin-top:28px}
.badge{border-radius:15px}
.badge i{flex:0 0 28px;width:28px;height:28px;min-width:28px}
