
:root{--bg:#fff;--bg-2:#f7f7f9;--bg-3:#fff5ec;--fg:#1a1a1a;--fg-2:#4a4a4a;--muted:#8a8a8a;--primary:#ff6600;--primary-hover:#e55b00;--border:#e6e6e6;--green:#16a34a}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Roboto',sans-serif;color:var(--fg);background:var(--bg);line-height:1.55;font-size:16px}
a{color:var(--primary)}img{max-width:100%}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
section{padding:64px 0}
.sec-head{text-align:center;max-width:760px;margin:0 auto 40px}
.sec-tag{display:inline-block;background:var(--bg-3);color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:20px;margin-bottom:12px}
h2{font-size:30px;font-weight:900;line-height:1.2}
.sec-lead{color:var(--fg-2);margin-top:10px}
.deco-line{width:60px;height:3px;background:var(--primary);margin:14px auto 0;border-radius:2px}
.btn-square{display:inline-block;padding:15px 30px;background:var(--primary);color:#fff;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.03em;border:0;border-radius:0;cursor:pointer;box-shadow:0 4px 12px rgba(255,102,0,.25);text-decoration:none;text-align:center;font-family:'Roboto',sans-serif}
.btn-square:hover{background:var(--primary-hover)}
input,select,textarea{font-family:'Roboto',sans-serif;font-size:14px;padding:12px 15px;border:1px solid var(--border);border-radius:6px;width:100%;background:#fff}
.agree-row{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--fg-2);line-height:1.5;margin:14px 0 16px;cursor:pointer;text-align:left}
.agree-row input{width:18px;height:18px;flex-shrink:0;margin:1px 0 0;accent-color:var(--primary)}
.agree-row a{color:var(--primary);text-decoration:underline;font-weight:700}
.topbar{border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:50}
.topbar .container{display:flex;align-items:center;justify-content:space-between;height:62px;gap:16px}
.logo{font-weight:900;font-size:18px;color:var(--fg);text-decoration:none;white-space:nowrap}.logo span{color:var(--primary)}
.topbar-phone{font-weight:700;font-size:16px;color:var(--fg);text-decoration:none;white-space:nowrap}
.topbar .btn-square{padding:10px 18px;font-size:12px;white-space:nowrap}
.navstrip{background:var(--bg-2);border-bottom:1px solid var(--border);overflow-x:auto;white-space:nowrap}
.navstrip .container{display:flex;gap:4px;padding:0 16px}
.navstrip a{display:inline-block;padding:11px 12px;font-size:13.5px;color:var(--fg-2);text-decoration:none;border-bottom:2px solid transparent}
.navstrip a:hover,.navstrip a.act{color:var(--primary);border-color:var(--primary)}
.crumbs{font-size:13px;color:var(--muted);padding:14px 0 0}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--primary)}
.hero{padding:44px 0 56px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero h1{font-size:36px;font-weight:900;line-height:1.15;margin:14px 0}
.hero h1 em{color:var(--primary);font-style:normal}
.hero-lead{font-size:17px;color:var(--fg-2);margin-bottom:22px}
.hero-badge{display:inline-flex;gap:8px;align-items:center;background:var(--bg-3);color:var(--primary);font-size:13px;font-weight:700;padding:7px 14px;border-radius:20px}
.hero-feats{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;margin:20px 0 26px;max-width:520px}
.hero-feat{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:500}
.hero-feat svg{color:var(--primary);flex-shrink:0}
.hero-proof{font-size:13px;color:var(--muted);margin-top:14px}
.hero-side{position:relative}
.ph{background:linear-gradient(135deg,#e3e9ef,#cdd8e1);border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#6b7d8c;text-align:center;padding:20px}
.ph small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;max-width:260px}
.imgreal{object-fit:cover;display:block;width:100%;border-radius:16px;filter:brightness(1.13) saturate(1.04) contrast(.98)}
.case3-ph{aspect-ratio:4/3;border-radius:0;width:100%}
img.case3-ph{object-fit:cover}
.model-cloud{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:1020px;margin:0 auto}
.model-chip{display:inline-block;padding:8px 14px;border:1px solid var(--border);border-radius:8px;font-size:13px;color:var(--fg-2);text-decoration:none;background:#fff;transition:all .15s;line-height:1.4}
.model-chip b{color:var(--fg);font-weight:700}
.model-chip:hover{border-color:var(--primary);color:var(--primary)}
.model-chip:hover b{color:var(--primary)}
.geo-cloud{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;max-width:1060px;margin:0 auto}
.geo-chip{display:inline-block;padding:6px 12px;border:1px solid var(--border);border-radius:16px;font-size:12.5px;color:var(--fg-2);background:#fff}
.geo-chip--okrug{border-color:var(--primary);color:var(--primary);font-weight:700}
.check-wrap{max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:16px;padding:32px 36px;box-shadow:0 4px 16px rgba(0,0,0,.04)}
.check-item{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--bg-2);cursor:pointer}
.check-item:last-of-type{border-bottom:0}
.check-item input{width:22px;height:22px;flex-shrink:0;margin-top:1px;accent-color:var(--primary);cursor:pointer}
.check-item span{font-size:15px}
.check-progress{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}
.check-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}
.check-bar i{display:block;height:100%;width:0;background:var(--primary);transition:width .3s;border-radius:4px}
.check-count{font-size:13px;color:var(--fg-2);margin-top:8px}
.check-cta{display:none;margin-top:16px;background:var(--bg-3);border-left:3px solid var(--primary);padding:14px 16px;border-radius:0 8px 8px 0;font-size:14px}
.check-cta.show{display:block}
.calc-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:26px;align-items:start}
.calc-panel{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px}
.calc-group{margin-bottom:20px}.calc-group:last-child{margin-bottom:0}
.calc-label{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-2);margin-bottom:9px;display:block}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:10px 15px;border:1px solid var(--border);border-radius:8px;font-size:14px;cursor:pointer;background:#fff;font-family:'Roboto',sans-serif;transition:all .15s}
.chip.active{border-color:var(--primary);background:var(--bg-3);color:var(--primary);font-weight:700}
.calc-result{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px}
.calc-result h3{font-size:17px;margin-bottom:12px}
.calc-row{display:flex;justify-content:space-between;font-size:14px;color:var(--fg-2);padding:6px 0;border-bottom:1px dashed var(--border)}
.calc-row b{color:var(--fg)}
.calc-total{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 4px}
.calc-total span{font-size:15px;font-weight:700}
.calc-total b{font-size:30px;font-weight:900;color:var(--primary)}
.calc-note{font-size:12px;color:var(--muted)}
.calc-order{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}
.calc-order h4{margin:0 0 6px;font-size:16px;font-weight:700}
.calc-order p{margin:0 0 14px;font-size:13px;color:var(--fg-2)}
.calc-order .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
@media(max-width:960px){.calc-grid{grid-template-columns:1fr}}
.sym-price{color:var(--primary);font-weight:900;font-size:14px;margin-top:6px}
.disc-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.disc-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 22px;text-align:center;min-width:150px}
.disc-card b{display:block;font-size:24px;font-weight:900;color:var(--primary)}
.disc-card span{font-size:13px;color:var(--fg-2)}
.svc-ph.imgreal{border-radius:10px}.case-ph.imgreal{border-radius:0;height:100%}
.tile-ph.imgreal{border-radius:0;height:auto;aspect-ratio:16/8;object-fit:cover;display:block}
.hero-ph{aspect-ratio:16/10}
.hero-form{background:#fff;border:1px solid var(--border);box-shadow:0 12px 40px rgba(0,0,0,.1);padding:26px;margin-top:-70px;position:relative;margin-left:36px;margin-right:-8px}
.hero-form h3{font-size:18px;font-weight:900;margin-bottom:4px}
.hero-form p{font-size:13px;color:var(--fg-2);margin-bottom:14px}
.hero-form .fld{margin-bottom:10px}
.season{background:var(--bg-3);border:1px solid #ffd9bd;border-radius:12px;padding:12px 18px;font-size:14px;display:inline-flex;gap:10px;align-items:center;margin-bottom:14px}
.season b{color:var(--primary)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 4px 16px rgba(0,0,0,.04)}
.sym-card{display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:var(--fg)}
.sym-ico{flex:0 0 48px;height:48px;border-radius:10px;background:var(--bg-3);color:var(--primary);display:flex;align-items:center;justify-content:center}
.sym-card b{font-size:15px;display:block}
.sym-card span{font-size:12.5px;color:var(--muted)}
.svc-card{text-decoration:none;color:var(--fg);display:block;transition:transform .15s}
.svc-card:hover{transform:translateY(-3px)}
.svc-ph{aspect-ratio:16/9;border-radius:10px;margin-bottom:14px}
.svc-card b{font-size:16px;display:block;margin-bottom:4px}
.svc-price{color:var(--primary);font-weight:900;font-size:15px}
.svc-arrow{font-size:13px;color:var(--fg-2);margin-top:6px;display:block}
.steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.step-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px 18px}
.step-num{width:34px;height:34px;border-radius:8px;background:var(--primary);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.step-card b{font-size:14.5px;display:block;margin-bottom:4px}
.step-card p{font-size:12.5px;color:var(--fg-2)}
.price-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;font-size:15px}
.price-table th{background:var(--bg-2);text-align:left;padding:13px 18px;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-2)}
.price-table td{padding:13px 18px;border-top:1px solid var(--bg-2)}
.price-table tr:nth-child(even) td{background:#fbfbfc}
.p-price{font-weight:900;color:var(--primary);white-space:nowrap;text-align:right}
.p-free{font-weight:900;color:var(--green);text-align:right}
.expert{display:grid;grid-template-columns:1fr 2.2fr;gap:26px;align-items:start}
.expert-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px;text-align:center}
.expert-ava{width:110px;height:110px;border-radius:50%;background:var(--bg-3);border:3px solid var(--primary);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:44px}
.expert-card b{font-size:17px}.expert-card .role{font-size:12.5px;color:var(--fg-2);margin-top:2px}
.expert-card .cred{font-size:12.5px;color:var(--fg-2);margin-top:10px;text-align:left}
.tip{background:#fff;border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:0 12px 12px 0;padding:22px 26px}
.tip b{font-size:17px;display:block;margin-bottom:8px}
.tip p{font-size:15px;color:var(--fg-2)}
.tip{margin-bottom:14px}
.tip-head{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.tip-head b{font-size:16px}
.tip-num{width:30px;height:30px;background:var(--primary);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}
.hl{background:#fde68a;padding:1px 4px;border-radius:3px;color:var(--fg)}
.case-box{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;display:grid;grid-template-columns:1fr 1.4fr;max-width:920px;margin:0 auto}
.case-ph{min-height:220px;border-radius:0}
.case-body{padding:26px 30px}
.case-tag{display:inline-block;background:var(--primary);color:#fff;font-size:11px;font-weight:700;padding:4px 12px;border-radius:12px;text-transform:uppercase;margin-bottom:10px}
.case-body b{font-size:18px;display:block;margin-bottom:8px}
.case-body p{font-size:14px;color:var(--fg-2)}
.case-price{color:var(--primary);font-weight:900;font-size:17px;margin-top:12px}
.faq-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:26px;align-items:start}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:10px;overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:16px 20px;font-family:'Roboto',sans-serif;font-size:15px;font-weight:700;color:var(--fg);cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq-q i{font-style:normal;color:var(--primary);font-size:20px;transition:transform .2s}
.faq-item.open .faq-q i{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s;font-size:14px;color:var(--fg-2);padding:0 20px}
.faq-item.open .faq-a{max-height:200px;padding:0 20px 16px}
.side-form{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 4px 16px rgba(0,0,0,.04)}
.side-form h3{font-size:17px;margin-bottom:4px}
.side-form p{font-size:12.5px;color:var(--fg-2);margin-bottom:12px}
.side-form .fld{margin-bottom:10px}
.wiz-sec{background:radial-gradient(ellipse at 50% 0%,rgba(255,102,0,.08),transparent 60%),var(--bg-2)}
.wiz-card{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:16px;padding:32px 36px;box-shadow:0 12px 40px rgba(0,0,0,.08)}
.wiz-card h3{text-align:center;font-size:19px;margin-bottom:16px}
.wiz-card .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.warn{background:#fffbeb;border:1px solid #f59e0b;border-radius:10px;padding:14px 18px;font-size:14px;color:#78350f;margin:18px auto;max-width:860px}
.b2b-box{background:var(--bg-2);border-radius:16px;padding:28px 32px;margin-top:24px}
.b2b-box h3{font-size:18px;margin-bottom:8px}
.b2b-box p{font-size:14px;color:var(--fg-2)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tile{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--fg);transition:transform .15s;display:block}
.tile:hover{transform:translateY(-3px)}
.tile-ph{aspect-ratio:16/8;border-radius:0}
.tile-body{padding:16px 20px 18px}
.tile-body b{font-size:16px;display:block}
.tile-price{color:var(--primary);font-weight:900;font-size:14px;margin-top:4px;display:block}
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
.num b{font-size:34px;font-weight:900;color:var(--primary);display:block}
.num span{font-size:13px;color:var(--fg-2)}
.master-card{text-align:center}
.expert-photo{width:110px;height:110px;border-radius:50%;object-fit:cover;object-position:center 15%;border:3px solid var(--primary);margin:0 auto 12px;display:block;filter:brightness(1.13) saturate(1.04)}
.master-photo{width:92px;height:92px;border-radius:50%;object-fit:cover;object-position:center 15%;border:3px solid var(--primary);margin:0 auto 12px;display:block;filter:brightness(1.13) saturate(1.04)}
.master-ava{width:92px;height:92px;border-radius:50%;background:var(--bg-3);border:3px solid var(--primary);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:38px}
.master-card b{font-size:16px;display:block}
.master-card .spec{color:var(--primary);font-size:13px;font-weight:700;margin:2px 0 8px}
.master-card p{font-size:12.5px;color:var(--fg-2)}
footer{border-top:1px solid var(--border);padding:36px 0 96px;font-size:13px;color:var(--muted);background:var(--bg-2)}
.foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:20px}
.foot-grid b{display:block;color:var(--fg);margin-bottom:8px;font-size:13px}
.foot-grid a{display:block;color:var(--fg-2);text-decoration:none;padding:3px 0;font-size:12.5px}
.foot-grid a:hover{color:var(--primary)}
.bottom-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--border);box-shadow:0 -6px 24px rgba(0,0,0,.08)}
.bottom-bar a{flex:1;text-align:center;padding:12px 6px;font-size:12px;font-weight:700;text-decoration:none;color:var(--fg)}
.bottom-bar a.bb-cta{background:var(--primary);color:#fff}
@media(max-width:960px){
 h2{font-size:24px}.hero h1{font-size:27px}
 .hero-grid,.grid3,.grid4,.tiles,.steps-grid,.expert,.faq-grid,.case-box,.nums,.foot-grid{grid-template-columns:1fr}
 .nums{grid-template-columns:1fr 1fr}
 .hero-form{margin:16px 0 0}
 .bottom-bar{display:flex}
 section{padding:46px 0}
}

/* --- двухэтажное меню --- */
.navtop{background:#1a1a1a}
.navtop .container{display:flex;gap:4px;flex-wrap:wrap}
.navtop a{color:#cfcbc6;text-decoration:none;font-size:13px;font-weight:600;padding:8px 12px}
.navtop a:hover{color:#fff}
.navstrip-label{color:var(--muted);font-size:12.5px;font-weight:700;align-self:center;margin-right:4px}
/* --- EEAT блок директора --- */
.director-block{display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:center;background:#fff;border:1px solid var(--border);padding:28px;border-radius:4px}
.director-photo img{width:100%;border-radius:4px;display:block}
.director-quote{font-size:17px;line-height:1.6;color:var(--fg);font-style:italic}
.director-sign{margin-top:16px}
.director-sign b{display:block;font-size:16px}
.director-sign span{font-size:13px;color:var(--muted)}
.director-facts{display:flex;gap:24px;margin-top:18px;flex-wrap:wrap}
.dfact b{display:block;font-size:20px;font-weight:900;color:var(--primary)}
.dfact span{font-size:12.5px;color:var(--fg-2)}
@media(max-width:720px){.director-block{grid-template-columns:1fr;text-align:center}.director-facts{justify-content:center}}

/* --- квиз --- */
.quiz-card{max-width:680px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:4px;padding:26px}
.quiz-steps{display:flex;gap:10px;justify-content:center;margin-bottom:22px}
.quiz-steps .qs{width:34px;height:34px;border-radius:50%;background:var(--bg-2);color:var(--muted);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;border:2px solid var(--border)}
.quiz-steps .qs.act{background:var(--primary);color:#fff;border-color:var(--primary)}
.quiz-steps .qs.done{background:#e8f5e9;color:#1d8348;border-color:#1d8348}
.quiz-pane h3{font-size:19px;font-weight:900;text-align:center;margin-bottom:18px}
.quiz-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.quiz-opts button{border:1.5px solid var(--primary);color:var(--primary);background:#fff;padding:14px 10px;font-size:14.5px;font-weight:700;cursor:pointer;font-family:inherit;border-radius:3px;transition:all .15s}
.quiz-opts button:hover{background:var(--primary);color:#fff}
.quiz-pane form input[type=tel],.quiz-pane form input[type=text]{width:100%;border:1.5px solid var(--border);padding:12px;font-size:15px;font-family:inherit;margin-bottom:10px;box-sizing:border-box}
.quiz-summary{background:var(--bg-2);padding:12px 14px;font-size:14px;margin-bottom:14px;border-left:3px solid var(--primary)}
.quiz-done{text-align:center;padding:20px}
.quiz-check{width:60px;height:60px;border-radius:50%;background:#e8f5e9;color:#1d8348;font-size:32px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}

/* CLS-фикс: у img проставлены width/height (реальные размеры файла), но верстка
   задаёт пропорции через aspect-ratio — гасим presentational-высоту, иначе тянет по вертикали. */
img[width][height]{height:auto}
.case-ph.imgreal[width][height]{height:100%}
.expert-photo[width][height]{width:110px;height:110px}
.master-photo[width][height]{width:92px;height:92px}
