@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
:root{--accent:#1B5FD9;--paper:#F3F3F0;--ink:#111;--muted:#71716d;--line:#d8d8d2;--card:#fff;--max:1240px;--shadow:0 18px 60px rgba(20,20,20,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}#brands,#education,#company,#contacts{scroll-margin-top:96px}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%}.shell{width:min(var(--max),calc(100% - 48px));margin:auto}.topbar{height:34px;background:#0c0c0c;color:#fff;font-size:10px;letter-spacing:.035em}.topbar .shell{height:100%;display:flex;align-items:center;justify-content:space-between}.topbar-note{opacity:.52}.site-header{height:74px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(16px)}.header-inner{width:min(var(--max),calc(100% - 48px));height:100%;margin:auto;display:grid;grid-template-columns:185px 1fr 230px;align-items:center;gap:22px}.logo{display:flex}.logo img{width:154px;display:block}.nav{display:flex;justify-content:center;gap:28px;font-size:12px}.nav a{padding:10px 0;position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:#111;transition:.2s}.nav a:hover:after{right:0}.actions{display:flex;justify-content:flex-end;align-items:center;gap:18px}.header-search{font-size:12px;border-bottom:1px solid #bdbdb8;padding:4px 0}.pill{min-height:46px;padding:0 21px;border:1px solid var(--line);border-radius:999px;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;cursor:pointer}.pill.dark{background:#111;color:#fff;border-color:#111}.pill.compact{min-height:44px;padding:0 22px;gap:12px}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto;padding:22px 0 72px}.eyebrow{font-size:10px;line-height:1.2;letter-spacing:.2em;font-weight:800;color:var(--accent);margin:0 0 18px;text-transform:uppercase}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #bbb;padding-bottom:5px}
/* HERO — editorial, deliberately not 50/50 */
.hero-v5{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);gap:14px;min-height:520px}.hero-copy,.hero-stage{border-radius:28px;overflow:hidden}.hero-copy{background:#fff;border:1px solid var(--line);padding:58px 58px 42px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow)}.hero h1{font-size:clamp(45px,4.35vw,62px);line-height:.98;letter-spacing:-.06em;font-weight:500;margin:0;max-width:710px}.hero h1 em{display:block;color:var(--accent);font-style:italic;font-weight:400;margin-top:8px;max-width:660px}.hero-sub{font-size:14px;line-height:1.7;color:#676762;max-width:590px;margin:24px 0 0}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}.audience-toggle{display:inline-flex;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:999px;padding:4px;background:#f8f8f5}.audience-toggle button{border:0;background:transparent;border-radius:999px;padding:10px 15px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.audience-toggle .active{background:#111;color:#fff}.hero-arrow{width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:23px}.hero-stage{position:relative;background:linear-gradient(155deg,#dcecee 0%,#badde1 52%,#d7d8ce 100%);padding:24px 26px 22px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}.stage-top,.stage-foot{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:flex-start;font-size:8px;letter-spacing:.13em;font-weight:700}.stage-top span:last-child{opacity:.5}.stage-orbit{position:absolute;border:1px solid rgba(255,255,255,.58);border-radius:50%;z-index:0}.orbit-a{width:430px;height:430px;right:-220px;top:-150px}.orbit-b{width:270px;height:270px;left:-150px;bottom:-105px}.product-stage{position:absolute;inset:58px 20px 52px;display:flex;align-items:flex-end;justify-content:center;gap:11px;z-index:2}.bottle{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:800;letter-spacing:-.02em;box-shadow:0 24px 45px rgba(15,25,25,.12)}.bottle span{font-size:12px}.bottle small{font-size:8px;margin-top:4px}.b1{width:102px;height:325px;background:#f9f9f4;border-radius:17px 17px 23px 23px;transform:rotate(-3deg) translateY(-4px)}.b2{width:94px;height:244px;background:#e5d5ca;border-radius:16px 16px 22px 22px;transform:rotate(2deg)}.b3{width:98px;height:205px;background:#1a2526;color:#e0c89b;border-radius:50px 50px 20px 20px;transform:rotate(4deg) translateY(-2px)}.stage-foot{align-items:end}.stage-foot>div{display:flex;align-items:flex-end;gap:9px}.stage-foot b{font-size:34px;line-height:.8}.stage-foot span{font-size:8px;line-height:1.35;letter-spacing:.03em;font-weight:600}.stage-foot a{font-size:9px;letter-spacing:.03em;border-bottom:1px solid rgba(17,17,17,.35);padding-bottom:4px}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:14px;background:#111;color:#fff;border-radius:22px;padding:0 18px}.trust-strip>div{min-height:112px;padding:24px 20px;border-right:1px solid #2d2d2d;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:13px;align-content:center}.trust-strip>div:last-child{border-right:0}.trust-strip span{grid-row:1/3;font-size:9px;color:#7d9fe9;font-weight:800}.trust-strip b{font-size:11px}.trust-strip small{font-size:9px;color:#8f8f8f;line-height:1.45;margin-top:5px}
.section-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin:74px 0 24px}.section-intro h2{font-size:clamp(35px,3.4vw,48px);line-height:1.04;letter-spacing:-.05em;font-weight:500;margin:0}.section-intro h2 em{font-style:italic;color:var(--accent);font-weight:400}.section-side{max-width:430px;justify-self:end}.section-side p{font-size:13px;line-height:1.7;color:#6b6b67;margin:0 0 20px}

/* BRANDS — calm premium grid, equal visual weight */
.brands-intro{grid-template-columns:.85fr 1.15fr;gap:56px}
.brands-intro .section-side{max-width:620px}
.brands-panel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:17px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;box-shadow:var(--shadow)}
.brand-tile{min-height:118px;border-radius:20px;background:#f7f7f4;padding:21px 22px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid transparent;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.brand-tile:hover{background:#f0f3fa;border-color:#dbe3f5;transform:translateY(-2px);box-shadow:0 10px 25px rgba(20,20,20,.04)}
.brand-tile b{font-size:14px;line-height:1.2;letter-spacing:-.025em;font-weight:700}
.brand-tile span{font-size:9px;line-height:1.45;color:#8a8a84}
.brand-tile-more{background:#f3f5fb}.brand-tile-more b{color:var(--accent)}
.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:74px}.editorial-card{min-height:430px;border-radius:26px;padding:26px 30px 30px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(17,17,17,.08)}.training-card{background:#dfeaec}.knowledge-card{background:#eee9de}.editorial-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em;font-weight:700;opacity:.55}.editorial-card h2{font-size:clamp(32px,3vw,43px);line-height:1.04;letter-spacing:-.05em;font-weight:500;margin:0 0 16px;max-width:510px}.editorial-card p:not(.eyebrow){font-size:12px;line-height:1.65;color:#62625e;max-width:470px;margin:0}.editorial-card>a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(17,17,17,.14);padding-top:18px;font-size:11px;font-weight:800}
.company-section{margin-top:12px;background:#111;color:#fff;border-radius:26px;padding:28px 30px 32px;display:grid;grid-template-columns:1.05fr .95fr;gap:38px 70px}.company-kicker{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid #2d2d2d;padding-bottom:18px;font-size:8px;letter-spacing:.14em;color:#8c8c8c}.company-main h2{font-size:clamp(34px,3.2vw,46px);line-height:1.06;letter-spacing:-.05em;font-weight:500;margin:0}.company-main .eyebrow{color:#7da0eb}.company-copy{align-self:end;color:#b9b9b9;font-size:12px;line-height:1.75;max-width:500px}.company-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #2d2d2d;margin-top:8px}.company-stats>div{padding:24px 18px 4px 0;border-right:1px solid #2d2d2d}.company-stats>div:last-child{border-right:0;padding-left:18px}.company-stats>div:nth-child(2){padding-left:18px}.company-stats b{font-size:28px}.company-stats span{display:block;color:#858585;font-size:9px;margin-top:6px}
.contact-band{margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:42px 44px;display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-band h2{font-size:clamp(32px,3vw,43px);line-height:1.04;letter-spacing:-.05em;font-weight:500;margin:0 0 14px}.contact-band p:not(.eyebrow){font-size:11px;color:#777;margin:0}.contact-cta{width:158px;height:158px;border-radius:50%;background:var(--accent);color:#fff;flex:0 0 158px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;font-size:11px;font-weight:700}.contact-cta b{font-size:26px;align-self:flex-end}.footer{background:#fff;border-top:1px solid var(--line)}.footer-inner{width:min(var(--max),calc(100% - 48px));min-height:84px;margin:auto;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:25px;font-size:9px;color:#777}.footer-logo img{width:120px}.footer-links{display:flex;gap:20px}.admin-link{opacity:.38}
/* catalog/account public pages */
.page-head{padding:44px 0 28px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}.page-head h1{font-size:clamp(42px,4vw,58px);line-height:1.02;letter-spacing:-.055em;font-weight:500;margin:0}.page-head p:not(.eyebrow){max-width:520px;font-size:13px;line-height:1.7;color:#70706c;margin:0}.catalog-controls{background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;display:flex;gap:9px;align-items:center;margin-bottom:18px}.catalog-toolbar{display:flex;gap:7px;flex-wrap:wrap}.catalog-toolbar.filters{flex:1}.filter-btn{border:1px solid var(--line);background:#f7f7f5;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:700;cursor:pointer}.filter-btn.active{background:#111;color:#fff;border-color:#111}.search-input{width:300px;border:1px solid var(--line);border-radius:999px;padding:10px 15px;outline:none}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.product-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;display:flex;flex-direction:column;min-height:390px;transition:.2s}.product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.product-visual{height:190px;border-radius:17px;background:var(--product,#ddd);position:relative;display:grid;place-items:center}.product-visual:before{content:"";width:70px;height:130px;background:rgba(255,255,255,.86);border-radius:15px;box-shadow:0 14px 30px rgba(0,0,0,.1)}.product-badge{position:absolute;left:10px;top:10px;background:#fff;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:800}.product-meta{font-size:8px;color:#888;text-transform:uppercase;letter-spacing:.07em;margin-top:12px}.product-card h3{font-size:18px;letter-spacing:-.03em;margin:7px 0 4px}.product-detail{font-size:11px;line-height:1.55;color:#666;flex:1;margin:0}.price-row{margin-top:12px}.price{font-size:18px;font-weight:800}.pro-price{font-size:9px;color:var(--accent);font-weight:800;margin-top:3px}.locked{color:#999}.card-actions{display:flex;gap:6px;margin-top:10px}.card-actions a,.card-actions button{flex:1;min-height:38px;border:1px solid var(--line);background:#fff;border-radius:999px;font-size:9px;font-weight:800;display:grid;place-items:center;cursor:pointer}.card-actions .primary{background:#111;color:#fff;border-color:#111}.catalog-note{margin-top:16px;background:#e8eef9;border-radius:20px;padding:22px 25px;display:flex;align-items:center;justify-content:space-between;gap:25px}.catalog-note p{margin:0;font-size:11px;line-height:1.6;color:#50545c}.account-page{width:min(1040px,calc(100% - 48px));margin:auto;padding:44px 0 72px}.account-layout{display:grid;grid-template-columns:.88fr 1.12fr;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden}.account-aside{background:#111;color:#fff;padding:48px 40px;min-height:560px;display:flex;flex-direction:column;justify-content:space-between}.account-aside h1{font-size:42px;line-height:1.03;letter-spacing:-.05em;font-weight:500;margin:0}.account-aside p{font-size:12px;line-height:1.7;color:#aaa}.account-aside .eyebrow{color:#86a7ef}.account-points{display:grid;gap:10px}.account-point{border-top:1px solid #303030;padding-top:12px;font-size:10px;color:#ccc}.account-card{padding:48px 44px}.account-card h2{font-size:29px;letter-spacing:-.04em;font-weight:500;margin:0 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:12px;padding:13px;outline:none}.field textarea{min-height:95px}.notice{border-radius:14px;padding:13px;background:#eef3fd;font-size:10px;line-height:1.55}.notice.good{background:#eaf8ef}.notice.warn{background:#fff4df}
@media(max-width:1050px){:root{--max:960px}.header-inner{grid-template-columns:165px 1fr 190px}.nav{gap:18px;font-size:11px}.hero-v5{grid-template-columns:1fr 355px}.hero-copy{padding:48px 40px}.hero h1{font-size:48px}.b1{width:88px;height:295px}.b2{width:80px;height:225px}.b3{width:84px;height:190px}.brands-panel{grid-template-columns:repeat(4,1fr)}.catalog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.shell,.wrap,.header-inner,.footer-inner,.account-page{width:min(100% - 28px,var(--max))}.topbar-note,.nav,.header-search{display:none}.header-inner{grid-template-columns:1fr auto}.site-header{height:68px}.hero-v5{grid-template-columns:1fr}.hero-stage{min-height:430px}.trust-strip{grid-template-columns:1fr 1fr}.trust-strip>div:nth-child(2){border-right:0}.trust-strip>div:nth-child(-n+2){border-bottom:1px solid #2d2d2d}.section-intro,.editorial-grid,.company-section,.page-head,.account-layout{grid-template-columns:1fr}.section-side{justify-self:start}.brands-panel{grid-template-columns:repeat(2,1fr)}.company-kicker,.company-stats{grid-column:1}.company-stats{grid-template-columns:1fr}.company-stats>div{border-right:0;border-bottom:1px solid #2d2d2d;padding-left:0!important}.catalog-controls{flex-direction:column;align-items:stretch}.search-input{width:100%}.footer-inner{grid-template-columns:1fr auto}.footer-inner>span{display:none}}
@media(max-width:560px){.topbar .shell span:nth-child(2){display:none}.hero-copy{padding:38px 23px 28px}.hero h1{font-size:40px}.hero-bottom{align-items:flex-end}.audience-toggle{display:grid;grid-template-columns:1fr 1fr;width:100%}.audience-toggle button{white-space:normal;padding:9px 7px}.hero-arrow{display:none}.hero-stage{min-height:365px}.product-stage{inset:52px 10px 48px}.b1{width:78px;height:260px}.b2{width:72px;height:200px}.b3{width:76px;height:170px}.trust-strip{grid-template-columns:1fr}.trust-strip>div{border-right:0!important;border-bottom:1px solid #2d2d2d!important;min-height:92px}.section-intro{margin-top:52px;gap:20px}.section-intro h2{font-size:35px}.brands-panel{grid-template-columns:1fr 1fr;padding:10px}.brand-tile{min-height:108px;padding:17px}.editorial-grid{margin-top:52px}.editorial-card{min-height:360px;padding:22px}.company-section{padding:24px 22px;gap:26px}.contact-band{padding:32px 24px;display:block}.contact-cta{width:132px;height:132px;flex-basis:132px;margin-top:28px}.catalog-grid{grid-template-columns:1fr}.account-aside,.account-card{padding:34px 24px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-inner{display:flex;flex-direction:column;align-items:flex-start;padding:22px 0}.footer-links{flex-wrap:wrap}}

@media(max-width:1050px){.brands-panel{grid-template-columns:repeat(4,1fr)}.brand-tile{padding:18px;min-height:112px}.brand-tile b{font-size:13px}}
@media(max-width:820px){.brands-intro{grid-template-columns:1fr;gap:18px}.brands-intro .section-side{justify-self:start;max-width:640px}.brands-panel{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.brands-panel{grid-template-columns:1fr;padding:10px}.brand-tile{min-height:98px}}

@media(max-width:820px){#brands,#education,#company,#contacts{scroll-margin-top:84px}}

/* CONTACTS / BRANCHES */
.branches-section{position:relative;overflow:hidden;isolation:isolate;margin-top:12px;background:linear-gradient(180deg,#08090e 0%,#0b0d13 58%,#090b10 100%);color:#fff;border-radius:26px;padding:34px 30px 30px;scroll-margin-top:110px;border:1px solid rgba(125,160,235,.10);box-shadow:0 24px 70px rgba(8,11,22,.18)}
.branches-section:before,.branches-section:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.branches-section:before{width:460px;height:460px;right:-140px;top:-180px;background:radial-gradient(circle,rgba(53,102,214,.24) 0%,rgba(53,102,214,.08) 38%,rgba(53,102,214,0) 72%)}
.branches-section:after{width:300px;height:300px;left:-120px;bottom:-160px;background:radial-gradient(circle,rgba(32,82,194,.16) 0%,rgba(32,82,194,0) 72%)}
.branches-map-bg{position:absolute;right:-14px;top:16px;width:min(56%,720px);height:470px;pointer-events:none;z-index:0;opacity:.92;mix-blend-mode:screen}
.branches-map-svg{width:100%;height:100%;display:block}
.kz-orbit{stroke:rgba(78,122,240,.16);stroke-width:1}
.kz-fill{fill:url(#kzFill);opacity:.88}
.kz-outline-pulse{stroke:rgba(122,167,255,.42);stroke-width:1.6;filter:drop-shadow(0 0 16px rgba(45,100,255,.26))}
.kz-outline-dash{stroke:#5f93ff;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:10 13;opacity:.9}
.kz-marker circle:first-child{fill:#8db2ff;filter:drop-shadow(0 0 10px rgba(108,158,255,.75))}
.kz-marker .ring{fill:none;stroke:rgba(132,176,255,.56);stroke-width:1.4;transform-origin:center;opacity:.55}
.branches-section.is-visible .branches-map-bg{animation:mapDrift 11s ease-in-out infinite}
.branches-section.is-visible .kz-outline-dash{animation:kzDash 18s linear infinite}
.branches-section.is-visible .kz-outline-pulse{animation:kzPulse 4.6s ease-in-out infinite}
.branches-section.is-visible .kz-marker .ring{animation:markerPulse 3.4s ease-in-out infinite}
.kz-marker.m-pavlodar .ring{animation-delay:.2s}.kz-marker.m-ekibastuz .ring{animation-delay:.45s}.kz-marker.m-semey .ring{animation-delay:.7s}.kz-marker.m-ust .ring{animation-delay:.95s}.kz-marker.m-shymkent .ring{animation-delay:1.2s}.kz-marker.m-almaty .ring{animation-delay:1.45s}.kz-marker.m-aktobe .ring{animation-delay:1.7s}
@keyframes kzDash{from{stroke-dashoffset:0}to{stroke-dashoffset:-460}}
@keyframes kzPulse{0%,100%{opacity:.38}50%{opacity:.88}}
@keyframes markerPulse{0%{opacity:.15;transform:scale(.72)}45%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(1.55)}}
@keyframes mapDrift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-8px,6px,0)}}
.branches-head,.branches-grid,.branches-bottom{position:relative;z-index:2}
.branches-head{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:end;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.10)}
.branches-head h2{font-size:clamp(40px,4.3vw,62px);line-height:.98;letter-spacing:-.06em;font-weight:500;margin:0;max-width:560px}
.branches-head .eyebrow{color:#7da0eb;margin-bottom:20px}
.branches-side{justify-self:end;max-width:440px;width:100%;display:grid;gap:18px}
.branches-lead{color:#a2a7b5;font-size:12px;line-height:1.78;margin:0}
.branches-badge{display:inline-flex;flex-direction:column;gap:7px;justify-self:start;min-width:230px;padding:14px 16px;border-radius:16px;border:1px solid rgba(125,160,235,.16);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));backdrop-filter:blur(10px)}
.branches-badge span{font-size:8px;letter-spacing:.14em;color:#6f7686;font-weight:700}
.branches-badge b{font-size:12px;font-weight:700;letter-spacing:-.01em;color:#edf3ff}
.branches-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.branch-card{min-height:118px;display:grid;grid-template-columns:34px 1fr auto 18px;gap:16px;align-items:center;color:#fff;border:1px solid rgba(125,160,235,.13);border-radius:20px;text-decoration:none;padding:18px 18px 18px 16px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));backdrop-filter:blur(10px);transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease}
.branch-card:hover{transform:translateY(-2px);background:linear-gradient(180deg,rgba(64,107,221,.12),rgba(255,255,255,.02));border-color:rgba(126,162,236,.34);box-shadow:0 16px 34px rgba(17,28,62,.28)}
.branch-num{font-size:8px;letter-spacing:.16em;color:#5f6674;font-weight:800;align-self:start;padding-top:4px}
.branch-card div{display:flex;flex-direction:column;gap:8px}
.branch-card b{font-size:17px;line-height:1.1;font-weight:600;letter-spacing:-.025em}
.branch-card small{font-size:9px;color:#7f8796;line-height:1.45;max-width:260px}
.branch-phone{font-size:10px;color:#cfd7e8;white-space:nowrap;align-self:center}
.branch-card i{font-style:normal;font-size:15px;color:#7da0eb;transition:transform .2s ease}
.branch-card:hover i{transform:translate(2px,-2px)}
.branches-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:18px;align-items:center;margin-top:18px;padding:18px 20px;border-radius:20px;border:1px solid rgba(125,160,235,.13);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.014));backdrop-filter:blur(10px)}
.branches-bottom>div{display:flex;flex-direction:column;gap:7px}
.branches-bottom span{font-size:8px;letter-spacing:.16em;color:#677081;font-weight:800}
.branches-bottom a{color:#fff;text-decoration:none;font-size:15px;font-weight:600}
.branches-whatsapp{width:198px;height:54px;border-radius:999px;background:linear-gradient(180deg,#3b6fe4 0%,#2954b8 100%);display:flex!important;align-items:center;justify-content:space-between;padding:0 18px;color:#fff!important;box-shadow:0 12px 30px rgba(29,74,180,.33)}
.branches-whatsapp span{color:#fff;font-size:10px;letter-spacing:0}
.branches-whatsapp b{font-size:16px}
@media(max-width:1100px){.branches-map-bg{width:min(62%,640px);height:430px;right:-40px;top:44px}.branch-card{grid-template-columns:28px 1fr auto 18px}.branch-phone{font-size:9px}}
@media(max-width:820px){.branches-section{padding:28px 22px}.branches-head{grid-template-columns:1fr;gap:22px}.branches-side{justify-self:start;max-width:100%}.branches-grid{grid-template-columns:1fr}.branch-card{padding:18px 16px}.branches-bottom{grid-template-columns:1fr 1fr}.branches-whatsapp{grid-column:1/-1;width:100%;box-sizing:border-box}.branches-map-bg{width:min(92%,560px);right:-70px;top:24px;height:360px;opacity:.72}}
@media(max-width:560px){.branches-head h2{font-size:46px}.branches-map-bg{width:125%;right:-140px;top:56px;height:290px;opacity:.5}.branch-card{grid-template-columns:28px 1fr 20px;gap:12px;min-height:auto}.branch-phone{grid-column:2;grid-row:2;margin-top:-4px;font-size:11px}.branch-card i{grid-column:3;grid-row:1/3}.branches-bottom{grid-template-columns:1fr}.branches-whatsapp{grid-column:1}.branches-badge{min-width:0;width:100%}}
@media (prefers-reduced-motion: reduce){.branches-section.is-visible .branches-map-bg,.branches-section.is-visible .kz-outline-dash,.branches-section.is-visible .kz-outline-pulse,.branches-section.is-visible .kz-marker .ring{animation:none!important}}


/* CONTACTS COMPACT OVERRIDES v0.5.1.3 */
.branches-section{
  padding:28px 28px 24px;
}
.branches-map-bg{
  right:-18px;
  top:24px;
  width:min(52%,650px);
  height:360px;
  opacity:.72;
}
.branches-head{
  grid-template-columns:1fr .9fr;
  gap:34px;
  padding-bottom:22px;
}
.branches-head h2{
  font-size:clamp(35px,3.4vw,48px);
  line-height:1.04;
  letter-spacing:-.05em;
  max-width:480px;
}
.branches-head .eyebrow{
  margin-bottom:16px;
}
.branches-side{
  gap:12px;
  max-width:420px;
}
.branches-lead{
  font-size:11px;
  line-height:1.65;
}
.branches-badge{
  min-width:205px;
  padding:11px 13px;
  border-radius:14px;
}
.branches-badge b{
  font-size:11px;
}
.branches-grid{
  gap:8px;
  margin-top:14px;
}
.branch-card{
  min-height:84px;
  grid-template-columns:28px 1fr auto 16px;
  gap:12px;
  padding:13px 14px;
  border-radius:16px;
}
.branch-card b{
  font-size:15px;
}
.branch-card small{
  font-size:8.5px;
}
.branch-card div{
  gap:5px;
}
.branch-phone{
  font-size:9px;
}
.branches-bottom{
  gap:14px;
  margin-top:12px;
  padding:14px 16px;
  border-radius:16px;
}
.branches-bottom a{
  font-size:13px;
}
.branches-whatsapp{
  width:184px;
  height:48px;
}
.kz-outline-pulse{
  stroke-width:1.3;
}
.kz-outline-dash{
  stroke-width:1.45;
  stroke-dasharray:9 12;
}
@media(max-width:820px){
  .branches-map-bg{width:min(94%,560px);height:300px;top:40px;opacity:.55}
  .branches-section{padding:24px 20px 22px}
}
@media(max-width:560px){
  .branches-head h2{font-size:36px}
  .branches-map-bg{height:230px;top:60px}
  .branch-card{padding:12px 13px}
}


/* CONTACTS EXTRA COMPACT v0.5.1.4 */
.branches-section{
  padding:24px 26px 20px;
}
.branches-head{
  padding-bottom:18px;
  gap:28px;
}
.branches-head h2{
  font-size:clamp(32px,3vw,43px);
  max-width:430px;
}
.branches-head .eyebrow{
  margin-bottom:12px;
}
.branches-side{
  gap:9px;
}
.branches-lead{
  font-size:10.5px;
  line-height:1.55;
}
.branches-badge{
  min-width:190px;
  padding:9px 12px;
}
.branches-badge b{
  font-size:10px;
}
.branches-map-bg{
  width:min(48%,610px);
  height:300px;
  top:20px;
  right:-12px;
  opacity:.62;
}
.branches-grid{
  margin-top:10px;
  gap:7px;
}
.branch-card{
  min-height:72px;
  padding:10px 13px;
  border-radius:14px;
  grid-template-columns:26px 1fr auto 15px;
  gap:10px;
}
.branch-card b{
  font-size:14px;
}
.branch-card small{
  font-size:8px;
}
.branch-card div{
  gap:3px;
}
.branch-num{
  font-size:7px;
  padding-top:2px;
}
.branch-phone{
  font-size:8.5px;
}
.branches-bottom{
  margin-top:9px;
  padding:11px 14px;
  border-radius:14px;
}
.branches-bottom>div{
  gap:4px;
}
.branches-bottom span{
  font-size:7px;
}
.branches-bottom a{
  font-size:12px;
}
.branches-whatsapp{
  width:175px;
  height:44px;
}
.branches-whatsapp span{
  font-size:9px;
}
@media(max-width:820px){
  .branches-section{padding:22px 18px 18px}
  .branches-map-bg{height:250px;top:32px}
  .branch-card{min-height:68px}
}
@media(max-width:560px){
  .branches-head h2{font-size:34px}
  .branches-map-bg{height:210px;top:54px}
}


/* CONTACTS HEADING SIZE FIX v0.5.1.5 */
.branches-head h2{
  font-size:clamp(28px,2.55vw,38px);
  line-height:1.06;
  letter-spacing:-.045em;
  max-width:390px;
}
@media(max-width:820px){
  .branches-head h2{font-size:34px}
}
@media(max-width:560px){
  .branches-head h2{font-size:30px}
}


/* HOME HERO COMPACT v0.5.1.6 */
.hero-v5{
  min-height:450px;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
  gap:12px;
}
.hero-copy{
  padding:42px 48px 34px;
}
.hero h1{
  font-size:clamp(40px,3.85vw,54px);
  line-height:.98;
  max-width:650px;
}
.hero h1 em{
  margin-top:5px;
  max-width:600px;
}
.hero-sub{
  font-size:12.5px;
  line-height:1.6;
  max-width:560px;
  margin-top:18px;
}
.hero-bottom{
  margin-top:21px;
}
.audience-toggle button{
  padding:8px 13px;
  font-size:10px;
}
.hero-arrow{
  width:46px;
  height:46px;
  flex-basis:46px;
  font-size:20px;
}
.hero-stage{
  padding:20px 22px 18px;
}
.product-stage{
  inset:46px 18px 42px;
  gap:9px;
}
.b1{
  width:88px;
  height:275px;
}
.b2{
  width:82px;
  height:207px;
}
.b3{
  width:86px;
  height:176px;
}
.stage-foot b{
  font-size:30px;
}
.trust-strip{
  margin-top:10px;
}
.trust-strip>div{
  min-height:86px;
  padding:17px 18px;
}
.wrap{
  padding-top:16px;
}
@media(max-width:1050px){
  .hero-v5{
    grid-template-columns:1fr 330px;
    min-height:430px;
  }
  .hero-copy{padding:38px 34px 30px}
  .hero h1{font-size:44px}
  .b1{width:82px;height:255px}
  .b2{width:76px;height:194px}
  .b3{width:80px;height:165px}
}
@media(max-width:820px){
  .hero-v5{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .hero-stage{min-height:360px}
}
@media(max-width:560px){
  .hero-copy{padding:31px 22px 25px}
  .hero h1{font-size:36px}
  .hero-sub{font-size:12px}
  .hero-stage{min-height:330px}
}


/* HOME SECTION RHYTHM v0.5.1.7
   Единый вертикальный ритм между крупными смысловыми блоками */
.editorial-grid{
  margin-top:74px;
}
.company-section{
  margin-top:74px;
}
.contact-band{
  margin-top:74px;
}
.branches-section{
  margin-top:74px;
}

/* На планшете сохраняем воздух, но без чрезмерного растягивания */
@media(max-width:820px){
  .editorial-grid,
  .company-section,
  .contact-band,
  .branches-section{
    margin-top:52px;
  }
}

/* На мобильном расстояние чуть компактнее */
@media(max-width:560px){
  .editorial-grid,
  .company-section,
  .contact-band,
  .branches-section{
    margin-top:40px;
  }
}


/* HERO ALIGNMENT FIX v0.5.1.8
   Текст первого экрана возвращаем в верхнюю треть, а не в центр карточки. */
.hero-copy{
  justify-content:flex-start;
  padding-top:52px;
}
.hero-copy .eyebrow{
  margin-top:0;
}
.hero-bottom{
  margin-top:24px;
}

/* На широком экране блок текста не "плавает" по центру,
   а держится ближе к верхней части карточки. */
@media(min-width:1051px){
  .hero-copy{
    padding-top:54px;
    padding-bottom:32px;
  }
}

/* На ноутбуке — чуть компактнее, но логика та же. */
@media(max-width:1050px) and (min-width:821px){
  .hero-copy{
    justify-content:flex-start;
    padding-top:42px;
  }
}

/* На мобильных сохраняем естественный поток. */
@media(max-width:820px){
  .hero-copy{
    justify-content:flex-start;
  }
}


/* HERO REFERENCE LAYOUT v0.5.1.9
   Компоновка по присланному референсу: заголовок ниже, но не по центру всей карточки. */
.hero-v5{
  min-height:372px;
  grid-template-columns:minmax(0,1.62fr) minmax(330px,.98fr);
  gap:10px;
}
.hero-copy{
  padding:42px 42px 28px;
  justify-content:flex-start;
}
.hero-copy .eyebrow{
  margin:0 0 74px;
}
.hero h1{
  font-size:clamp(36px,3.15vw,47px);
  line-height:.99;
  letter-spacing:-.055em;
  max-width:720px;
}
.hero h1 em{
  margin-top:4px;
  max-width:690px;
}
.hero-sub{
  max-width:570px;
  margin-top:16px;
  font-size:11.5px;
  line-height:1.55;
}
.hero-bottom{
  margin-top:18px;
}
.audience-toggle{
  padding:3px;
}
.audience-toggle button{
  padding:7px 12px;
  font-size:9.5px;
}
.hero-arrow{
  width:42px;
  height:42px;
  flex:0 0 42px;
  font-size:18px;
}
.hero-stage{
  min-height:372px;
  padding:16px 18px 15px;
}
.product-stage{
  inset:55px 18px 37px;
  gap:8px;
}
.b1{
  width:76px;
  height:235px;
}
.b2{
  width:70px;
  height:178px;
}
.b3{
  width:74px;
  height:154px;
}
.bottle span{
  font-size:10px;
}
.bottle small{
  font-size:7px;
}
.stage-foot b{
  font-size:27px;
}
.stage-foot span{
  font-size:7px;
}
.stage-foot a{
  font-size:8px;
}
.trust-strip{
  margin-top:8px;
}
.trust-strip>div{
  min-height:72px;
  padding:13px 16px;
}
.trust-strip b{
  font-size:9.5px;
}
.trust-strip small{
  font-size:8px;
}
.wrap{
  padding-top:14px;
}

@media(max-width:1050px){
  .hero-v5{
    grid-template-columns:1fr 315px;
    min-height:360px;
  }
  .hero-copy{
    padding:38px 30px 26px;
  }
  .hero-copy .eyebrow{
    margin-bottom:58px;
  }
  .hero h1{
    font-size:40px;
  }
  .hero-stage{
    min-height:360px;
  }
}
@media(max-width:820px){
  .hero-v5{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .hero-copy .eyebrow{
    margin-bottom:36px;
  }
  .hero-stage{
    min-height:330px;
  }
}
@media(max-width:560px){
  .hero-copy{
    padding:30px 21px 24px;
  }
  .hero-copy .eyebrow{
    margin-bottom:28px;
  }
  .hero h1{
    font-size:34px;
  }
}


/* HERO AUDIENCE + LARGE CATALOG CTA v0.5.1.10 */
.hero-copy{position:relative}
.hero-catalog-cta{
  width:116px;height:116px;border-radius:50%;
  background:var(--accent);color:#fff;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:22px;flex:0 0 116px;
  box-shadow:0 18px 38px rgba(27,95,217,.22);
  transition:transform .22s ease,box-shadow .22s ease;
}
.hero-catalog-cta:hover{transform:translateY(-3px);box-shadow:0 22px 44px rgba(27,95,217,.28)}
.hero-catalog-cta span{font-size:11px;font-weight:800;line-height:1.15}
.hero-catalog-cta b{font-size:25px;align-self:flex-end;font-weight:500}
.hero-bottom{align-items:flex-end}

/* Two visibly different right-side scenes */
.hero-stage{transition:background .35s ease}
.hero-stage.retail-mode{
  background:linear-gradient(155deg,#dcecee 0%,#c4e0e4 54%,#dfddd3 100%);
}
.hero-stage.master-mode{
  background:linear-gradient(155deg,#d3e4e8 0%,#b4d6dc 52%,#cdd1c7 100%);
}
.hero-stage.retail-mode .b1{
  background:#f8f8f3;border-radius:22px 22px 28px 28px;
  transform:rotate(-4deg) translateY(-2px);
}
.hero-stage.retail-mode .b2{
  background:#d9c8ba;border-radius:28px 28px 24px 24px;
  transform:rotate(2deg);
}
.hero-stage.retail-mode .b3{
  width:92px;height:150px;border-radius:46px;
  background:#f2efe8;color:#1b2526;
  transform:rotate(4deg) translateY(-3px);
}
.hero-stage.master-mode .b1{
  background:#f9f9f4;border-radius:17px 17px 23px 23px;
  transform:rotate(-3deg) translateY(-4px);
}
.hero-stage.master-mode .b2{
  background:#e5d5ca;border-radius:16px 16px 22px 22px;
  transform:rotate(2deg);
}
.hero-stage.master-mode .b3{
  background:#1a2526;color:#e0c89b;border-radius:50px 50px 20px 20px;
  transform:rotate(4deg) translateY(-2px);
}

/* AI assistant homepage block */
.assistant-launch-section{
  margin-top:74px;background:#fff;border:1px solid var(--line);
  border-radius:26px;padding:38px 44px;
  display:flex;align-items:center;justify-content:space-between;gap:48px;
  box-shadow:var(--shadow);
}
.assistant-launch-copy{max-width:780px}
.assistant-launch-section h2{
  font-size:clamp(32px,3vw,43px);line-height:1.04;
  letter-spacing:-.05em;font-weight:500;margin:0 0 14px;
}
.assistant-launch-section p:not(.eyebrow){
  font-size:11px;line-height:1.65;color:#777;margin:0;
}
.assistant-launch-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.assistant-launch-tags span{
  border:1px solid var(--line);border-radius:999px;padding:8px 12px;
  font-size:8px;font-weight:800;color:#6b6b67;background:#fafaf8;
}
.assistant-launch-cta{
  width:158px;height:158px;border:0;border-radius:50%;
  background:var(--accent);color:#fff;flex:0 0 158px;
  padding:28px;display:flex;flex-direction:column;justify-content:space-between;
  font-size:11px;font-weight:800;cursor:pointer;text-align:left;
  box-shadow:0 18px 42px rgba(27,95,217,.22);
}
.assistant-launch-cta b{font-size:26px;align-self:flex-end;font-weight:500}

/* AI modal */
.assistant-backdrop{
  position:fixed;inset:0;z-index:120;background:rgba(5,7,12,.54);
  backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;
  padding:24px;
}
.assistant-backdrop.open{display:flex}
.assistant-panel{
  width:min(720px,100%);max-height:min(760px,calc(100vh - 48px));
  overflow:hidden;background:#f8f8f5;border:1px solid rgba(255,255,255,.5);
  border-radius:26px;box-shadow:0 35px 100px rgba(0,0,0,.28);
  display:flex;flex-direction:column;
}
.assistant-panel-head{
  padding:22px 24px 18px;display:flex;justify-content:space-between;align-items:flex-start;
  background:#111;color:#fff;
}
.assistant-panel-head span{font-size:8px;letter-spacing:.15em;color:#7da0eb;font-weight:800}
.assistant-panel-head h2{font-size:24px;letter-spacing:-.04em;font-weight:500;margin:7px 0 0}
.assistant-close{
  width:38px;height:38px;border-radius:50%;border:1px solid #333;background:#191919;
  color:#fff;font-size:24px;line-height:1;cursor:pointer;
}
.assistant-progress{height:3px;background:#252525}
.assistant-progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .25s ease}
.assistant-body{padding:24px;overflow:auto}
.assistant-message{max-width:82%;padding:12px 14px;border-radius:16px;font-size:11px;line-height:1.6;margin-bottom:12px}
.assistant-message.bot{background:#fff;border:1px solid var(--line)}
.assistant-message.user{background:#111;color:#fff;margin-left:auto}
.assistant-step-label{font-size:8px;letter-spacing:.14em;color:#878780;font-weight:800;text-transform:uppercase;margin:18px 0 8px}
.assistant-question{font-size:24px;letter-spacing:-.035em;font-weight:500;margin:0 0 14px}
.assistant-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.assistant-choice{
  border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 14px;
  text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;
}
.assistant-choice span{font-size:11px;font-weight:800}
.assistant-choice small{font-size:8px;line-height:1.45;color:#888}
.assistant-choice:hover,.assistant-choice.selected{border-color:#9db7ee;background:#eef3fd}
.assistant-task-input{
  width:100%;min-height:95px;border:1px solid var(--line);border-radius:14px;
  padding:13px;margin-top:10px;resize:vertical;outline:none;background:#fff;font-size:11px;
}
.assistant-next{
  width:100%;height:46px;border:0;border-radius:999px;background:#111;color:#fff;
  font-size:10px;font-weight:800;margin-top:9px;cursor:pointer;
}
.assistant-summary{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}
.assistant-summary span,.assistant-result-tag{
  border-radius:999px;background:#e9eef9;color:#315da8;padding:6px 9px;font-size:7px;font-weight:800;
}
.assistant-results{display:grid;gap:8px}
.assistant-result{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}
.assistant-result h3{font-size:16px;letter-spacing:-.025em;margin:9px 0 4px}
.assistant-result-brand{font-size:8px;color:#777}
.assistant-result p,.assistant-result small{font-size:9px;line-height:1.55;color:#666}
.assistant-result-price{font-size:14px;font-weight:800;margin-top:8px}
.assistant-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.assistant-actions a,.assistant-actions button{
  min-height:40px;border:1px solid var(--line);border-radius:999px;padding:0 14px;
  display:inline-flex;align-items:center;justify-content:center;background:#fff;font-size:9px;font-weight:800;cursor:pointer;
}
.assistant-actions .assistant-whatsapp{background:#111;color:#fff;border-color:#111}
.assistant-chat{display:grid;grid-template-columns:1fr 42px;gap:7px;margin-top:12px}
.assistant-chat input{border:1px solid var(--line);border-radius:999px;padding:11px 14px;outline:none;font-size:10px}
.assistant-chat button{border:0;border-radius:50%;background:var(--accent);color:#fff;font-size:17px}
.assistant-note{font-size:8px!important;color:#999!important;margin-top:10px!important}

@media(max-width:820px){
  .hero-catalog-cta{width:92px;height:92px;flex-basis:92px;padding:18px}
  .assistant-launch-section{margin-top:52px;padding:30px 24px;display:block}
  .assistant-launch-cta{width:132px;height:132px;margin-top:24px}
}
@media(max-width:560px){
  .hero-bottom{align-items:center}
  .hero-catalog-cta{width:78px;height:78px;flex-basis:78px;padding:14px}
  .hero-catalog-cta span{font-size:9px}
  .assistant-choices{grid-template-columns:1fr}
  .assistant-panel{max-height:calc(100vh - 24px)}
  .assistant-backdrop{padding:12px}
}


/* COMPANY AI CTA + FIRST SCREEN SPACING v0.5.1.11 */
.company-section{
  position:relative;
  grid-template-columns:1.02fr .78fr 158px;
  align-items:end;
}
.company-kicker{
  grid-column:1/-1;
}
.company-main{
  align-self:end;
}
.company-copy{
  align-self:end;
  padding-bottom:4px;
}
.company-ai-cta{
  width:158px;
  height:158px;
  border:0;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  flex:0 0 158px;
  cursor:pointer;
  text-align:left;
  box-shadow:0 18px 42px rgba(27,95,217,.24);
  transition:transform .22s ease,box-shadow .22s ease;
}
.company-ai-cta:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 48px rgba(27,95,217,.30);
}
.company-ai-cta span{
  font-size:11px;
  line-height:1.08;
  font-weight:800;
}
.company-ai-cta b{
  font-size:26px;
  align-self:flex-end;
  font-weight:500;
}
.company-stats{
  grid-column:1/-1;
}

/* Убираем ощущение, что следующий раздел "лезет" в первый экран */
.brands-intro{
  margin-top:112px;
}

/* Старый отдельный блок AI больше не нужен */
.assistant-launch-section{
  display:none!important;
}

@media(max-width:1050px){
  .company-section{
    grid-template-columns:1fr 1fr 132px;
  }
  .company-ai-cta{
    width:132px;
    height:132px;
    flex-basis:132px;
    padding:23px;
  }
}
@media(max-width:820px){
  .company-section{
    grid-template-columns:1fr;
  }
  .company-ai-cta{
    width:124px;
    height:124px;
    margin-top:8px;
  }
  .brands-intro{
    margin-top:78px;
  }
}
@media(max-width:560px){
  .company-ai-cta{
    width:112px;
    height:112px;
    padding:20px;
  }
  .brands-intro{
    margin-top:58px;
  }
}


/* HERO SLIGHT VERTICAL STRETCH v0.5.1.12
   Чуть больше воздуха по вертикали, без возврата к слишком высокому первому экрану. */
.hero-v5{
  min-height:410px;
}
.hero-copy{
  padding-top:46px;
  padding-bottom:34px;
}
.hero-copy .eyebrow{
  margin-bottom:82px;
}
.hero-stage{
  min-height:410px;
}
.product-stage{
  inset:58px 18px 42px;
}
.trust-strip{
  margin-top:10px;
}

/* Сохраняем более плотную версию на ноутбуках */
@media(max-width:1050px){
  .hero-v5{
    min-height:392px;
  }
  .hero-stage{
    min-height:392px;
  }
  .hero-copy .eyebrow{
    margin-bottom:66px;
  }
}

/* На мобильных высота остаётся естественной */
@media(max-width:820px){
  .hero-v5{
    min-height:auto;
  }
  .hero-stage{
    min-height:345px;
  }
  .hero-copy .eyebrow{
    margin-bottom:38px;
  }
}


/* HERO FILL VIEWPORT v0.5.1.13
   Чуть сильнее растягиваем первый экран, чтобы после чёрной полосы
   не оставался большой пустой кусок окна. */
.hero-v5{
  min-height:468px;
}
.hero-stage{
  min-height:468px;
}
.hero-copy{
  padding-top:50px;
  padding-bottom:38px;
}
.hero-copy .eyebrow{
  margin-bottom:94px;
}
.product-stage{
  inset:62px 18px 44px;
}
.b1{
  height:255px;
}
.b2{
  height:192px;
}
.b3{
  height:164px;
}
.trust-strip>div{
  min-height:82px;
}

/* На типичном ноутбуке 1366–1600 px тоже заполняем экран плотнее */
@media(max-width:1050px){
  .hero-v5{
    min-height:438px;
  }
  .hero-stage{
    min-height:438px;
  }
  .hero-copy .eyebrow{
    margin-bottom:76px;
  }
}

/* На планшетах и мобильных не форсируем высоту */
@media(max-width:820px){
  .hero-v5{
    min-height:auto;
  }
  .hero-stage{
    min-height:355px;
  }
  .hero-copy .eyebrow{
    margin-bottom:40px;
  }
}


/* COMPANY CONTENT REFRESH v0.5.1.14 */
.company-section{
  grid-template-columns:1fr .95fr 150px;
  gap:30px 42px;
}
.company-main h2{
  max-width:620px;
}
.company-copy-rich{
  align-self:start;
  padding-top:1px;
  max-width:560px;
}
.company-copy-rich p{
  margin:0 0 12px;
  color:#b8b8b8;
  font-size:11px;
  line-height:1.65;
}
.company-copy-rich p:last-child{
  margin-bottom:0;
}
.company-copy-rich strong{
  color:#fff;
  font-weight:700;
}
.company-focus{
  color:#8e8e8e!important;
}
.company-scale-title{
  grid-column:1/-1;
  margin-top:4px;
  padding-top:20px;
  border-top:1px solid #2d2d2d;
  font-size:9px;
  letter-spacing:.16em;
  font-weight:800;
  color:#7d9fe9;
}
.company-features{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid #2d2d2d;
}
.company-feature{
  min-height:150px;
  padding:22px 20px 8px 0;
  border-right:1px solid #2d2d2d;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.company-feature:not(:first-child){
  padding-left:20px;
}
.company-feature:last-child{
  border-right:0;
}
.company-feature-icon{
  width:42px;
  height:42px;
  margin-bottom:auto;
  color:#7da0eb;
}
.company-feature-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.company-feature b{
  font-size:12px;
  line-height:1.25;
  color:#fff;
  margin-bottom:5px;
}
.company-feature span{
  font-size:8.5px;
  line-height:1.45;
  color:#7e7e7e;
}
.company-ai-cta{
  width:150px;
  height:150px;
  flex-basis:150px;
  padding:26px;
}

@media(max-width:1050px){
  .company-section{
    grid-template-columns:1fr 1fr 126px;
    gap:28px 30px;
  }
  .company-ai-cta{
    width:126px;
    height:126px;
    flex-basis:126px;
    padding:21px;
  }
  .company-features{
    grid-template-columns:repeat(2,1fr);
  }
  .company-feature:nth-child(2){
    border-right:0;
  }
  .company-feature:nth-child(-n+2){
    border-bottom:1px solid #2d2d2d;
  }
}
@media(max-width:820px){
  .company-section{
    grid-template-columns:1fr;
  }
  .company-ai-cta{
    width:122px;
    height:122px;
    margin-top:2px;
  }
  .company-scale-title{
    margin-top:4px;
  }
}
@media(max-width:560px){
  .company-features{
    grid-template-columns:1fr;
  }
  .company-feature{
    border-right:0!important;
    border-bottom:1px solid #2d2d2d;
    padding-left:0!important;
  }
  .company-feature:last-child{
    border-bottom:0;
  }
}


/* COMPANY ALIGNMENT + CTA SIZE v0.5.1.15 */
.company-section{
  grid-template-columns:1fr .95fr 116px;
  align-items:start;
}
.company-main{
  align-self:start;
}
.company-copy-rich{
  align-self:start;
  padding-top:40px; /* визуально на уровне первой строки большого заголовка */
}
.company-copy-rich p{
  font-size:11px;
  line-height:1.62;
}
.company-ai-cta{
  width:116px;
  height:116px;
  flex:0 0 116px;
  padding:22px;
  align-self:start;
  margin-top:34px;
}
.company-ai-cta span{
  font-size:10px;
}
.company-ai-cta b{
  font-size:23px;
}
@media(max-width:1050px){
  .company-section{grid-template-columns:1fr 1fr 116px}
  .company-ai-cta{width:116px;height:116px;flex-basis:116px;padding:22px}
}
@media(max-width:820px){
  .company-section{grid-template-columns:1fr}
  .company-copy-rich{padding-top:0}
  .company-ai-cta{margin-top:0}
}


/* =========================================================
   WORKING ACCOUNT V2 · v0.5.1.16
   ========================================================= */
.account-v2-page{
  width:min(var(--max),calc(100% - 48px));
  margin:22px auto 72px;
}
.account-v2-auth{
  min-height:610px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.account-v2-auth[hidden],
.account-v2-dashboard[hidden]{display:none!important}
.account-v2-auth-aside{
  background:#111;color:#fff;
  padding:48px 42px 38px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.account-v2-auth-aside .eyebrow{color:#7da0eb}
.account-v2-auth-aside h1{
  font-size:clamp(38px,3.5vw,50px);
  line-height:1.02;letter-spacing:-.055em;
  font-weight:500;margin:0;
}
.account-v2-auth-aside p:not(.eyebrow){
  color:#a8a8a8;font-size:11px;line-height:1.7;
  max-width:410px;margin:18px 0 0;
}
.account-v2-auth-points{display:grid}
.account-v2-auth-points>div{
  display:grid;grid-template-columns:32px 1fr;
  gap:3px 10px;padding:14px 0;border-top:1px solid #303030
}
.account-v2-auth-points span{
  grid-row:1/3;color:#7da0eb;font-size:8px;font-weight:800
}
.account-v2-auth-points b{font-size:10px}
.account-v2-auth-points small{font-size:8px;color:#777}
.account-v2-auth-form{padding:48px 44px}
.account-v2-auth-form h2{
  font-size:32px;font-weight:500;letter-spacing:-.045em;
  margin:0 0 9px
}
.account-v2-form-lead{
  font-size:10px;line-height:1.6;color:#777;
  max-width:500px;margin:0 0 22px
}
.account-v2-form-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:12px
}
.account-v2-field{display:flex;flex-direction:column;gap:7px}
.account-v2-field.full,.account-v2-login-note.full,.account-v2-submit.full{grid-column:1/-1}
.account-v2-field>span{
  font-size:8px;letter-spacing:.1em;text-transform:uppercase;font-weight:800
}
.account-v2-field input,.account-v2-field select{
  width:100%;height:48px;border:1px solid var(--line);
  border-radius:13px;background:#fff;padding:0 14px;outline:none;
  font-size:11px
}
.account-v2-field input:focus,.account-v2-field select:focus{
  border-color:#9db7ee;box-shadow:0 0 0 3px rgba(27,95,217,.06)
}
.account-v2-login-note{
  background:#f4f5f8;border-radius:13px;
  padding:13px 14px;font-size:8px;line-height:1.55;color:#777
}
.account-v2-submit{
  height:48px;border:0;border-radius:999px;
  background:#111;color:#fff;padding:0 18px;
  display:flex;align-items:center;justify-content:space-between;
  font-size:10px;font-weight:800;cursor:pointer
}

/* Dashboard */
.account-v2-dashboard{display:grid;gap:12px}
.account-v2-hero{
  position:relative;overflow:hidden;
  min-height:226px;
  background:#111;color:#fff;border-radius:26px;
  padding:30px;
  display:grid;grid-template-columns:1fr auto;
  align-items:end;gap:30px
}
.account-v2-hero:after{
  content:"";position:absolute;width:420px;height:420px;
  border:1px solid rgba(125,160,235,.17);border-radius:50%;
  right:-190px;top:-265px;pointer-events:none
}
.account-v2-hero .eyebrow{color:#7da0eb}
.account-v2-hero h1{
  font-size:clamp(38px,3.7vw,52px);line-height:1.01;
  letter-spacing:-.058em;font-weight:500;margin:0
}
.account-v2-hero p:not(.eyebrow){
  margin:15px 0 0;max-width:560px;color:#aaa;
  font-size:10px;line-height:1.65
}
.account-v2-statuses{
  display:flex;gap:7px;position:relative;z-index:2;align-self:start
}
.account-v2-statuses span{
  border:1px solid #333;border-radius:999px;
  padding:9px 11px;color:#ccc;font-size:7px;font-weight:800;
  letter-spacing:.06em
}
.account-v2-statuses .blue{
  background:var(--accent);border-color:var(--accent);color:#fff
}
.account-v2-layout{
  display:grid;grid-template-columns:230px 1fr;gap:12px
}
.account-v2-sidebar{
  align-self:start;position:sticky;top:90px;
  background:#fff;border:1px solid var(--line);border-radius:22px;
  padding:18px
}
.account-v2-side-label{
  padding:4px 9px 12px;margin:0;
  font-size:7px;letter-spacing:.14em;color:#888;font-weight:800
}
.account-v2-sidebar nav{display:grid;gap:3px}
.account-v2-sidebar nav button,.account-v2-sidebar nav a{
  width:100%;min-height:42px;border:0;background:transparent;
  padding:0 11px;border-radius:11px;
  display:flex;align-items:center;justify-content:space-between;
  text-align:left;color:#666;font-size:9px;font-weight:700;cursor:pointer
}
.account-v2-sidebar nav button.active{
  background:#111;color:#fff
}
.account-v2-sidebar nav a:hover,.account-v2-sidebar nav button:hover:not(.active){
  background:#f4f4f1;color:#111
}
.account-v2-side-sep{height:1px;background:var(--line);margin:14px 0}
.account-v2-sidebar>p:last-of-type{
  font-size:7.5px;line-height:1.55;color:#888;padding:0 9px
}
.account-v2-logout{
  width:100%;height:40px;border:1px solid var(--line);
  background:#fff;border-radius:999px;margin-top:12px;
  font-size:8px;font-weight:800;cursor:pointer
}
.account-v2-content{min-width:0}
.account-v2-panel{display:none}
.account-v2-panel.active{display:grid;gap:12px}
.account-v2-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px
}
.account-v2-stats article{
  min-height:116px;background:#fff;border:1px solid var(--line);
  border-radius:20px;padding:17px;
  display:flex;flex-direction:column;justify-content:space-between
}
.account-v2-stats span{
  font-size:7px;letter-spacing:.12em;color:#888;font-weight:800
}
.account-v2-stats b{
  font-size:25px;letter-spacing:-.045em;line-height:1
}
.account-v2-stats small{font-size:7.5px;color:#888;line-height:1.35}
.account-v2-main-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:12px
}
.account-v2-card{
  background:#fff;border:1px solid var(--line);
  border-radius:22px;padding:22px
}
.account-v2-card-head{
  display:flex;justify-content:space-between;gap:20px;align-items:start
}
.account-v2-card h2,.account-v2-ai-card h2{
  font-size:25px;line-height:1.04;letter-spacing:-.045em;
  font-weight:500;margin:0
}
.account-v2-mini-status{
  border-radius:999px;background:#eef3fd;color:#315da8;
  padding:7px 9px;font-size:7px;font-weight:800;white-space:nowrap
}
.account-v2-profile-lines{display:grid;margin-top:21px}
.account-v2-profile-lines>div,.account-v2-profile-table>div{
  min-height:49px;border-top:1px solid #e5e5e0;
  display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center
}
.account-v2-profile-lines span,.account-v2-profile-table span{
  color:#888;font-size:8px
}
.account-v2-profile-lines b,.account-v2-profile-table b{
  font-size:9px;text-align:right
}
.account-v2-ai-card{
  min-height:302px;
  position:relative;overflow:hidden;
  background:linear-gradient(150deg,#dcebee 0%,#e7edf4 100%);
  border:1px solid #d5e0e7;border-radius:22px;padding:22px;
  display:flex;flex-direction:column
}
.account-v2-ai-card:after{
  content:"";position:absolute;width:280px;height:280px;
  border:1px solid rgba(27,95,217,.15);border-radius:50%;
  right:-140px;top:-155px
}
.account-v2-ai-card .eyebrow{position:relative;z-index:2}
.account-v2-ai-card p:not(.eyebrow){
  font-size:8.5px;line-height:1.55;color:#68727d;
  max-width:330px;position:relative;z-index:2
}
.account-v2-ai-button{
  width:116px;height:116px;border:0;border-radius:50%;
  background:var(--accent);color:#fff;padding:22px;
  display:flex;flex-direction:column;justify-content:space-between;
  text-align:left;margin-top:auto;cursor:pointer;position:relative;z-index:2;
  box-shadow:0 16px 34px rgba(27,95,217,.2)
}
.account-v2-ai-button span{font-size:9px;font-weight:800}
.account-v2-ai-button b{font-size:23px;align-self:flex-end;font-weight:500}
.account-v2-quick{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px
}
.account-v2-quick a{
  min-height:108px;background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:16px;
  display:flex;flex-direction:column;justify-content:space-between
}
.account-v2-quick span{
  font-size:7px;color:#888;font-weight:800;letter-spacing:.1em
}
.account-v2-quick b{font-size:11px}
.account-v2-quick i{
  font-style:normal;color:var(--accent);align-self:flex-end
}

/* Profile tab */
.account-v2-profile-panel{min-height:440px}
.account-v2-profile-panel>h2{
  font-size:30px;margin-bottom:8px
}
.account-v2-profile-info{
  font-size:9px;color:#777;line-height:1.55;margin:0 0 20px
}
.account-v2-profile-table{display:grid}
.account-v2-profile-table>div{min-height:58px}
.account-v2-profile-help{
  margin-top:20px;border-radius:14px;background:#f2f4f9;
  padding:14px;font-size:8px;color:#6f7786;line-height:1.55
}

@media(max-width:1050px){
  .account-v2-layout{grid-template-columns:200px 1fr}
  .account-v2-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .account-v2-page{width:min(100% - 28px,var(--max))}
  .account-v2-auth{grid-template-columns:1fr}
  .account-v2-auth-aside{min-height:430px}
  .account-v2-layout{grid-template-columns:1fr}
  .account-v2-sidebar{position:static}
  .account-v2-sidebar nav{grid-template-columns:1fr 1fr}
  .account-v2-main-grid{grid-template-columns:1fr}
  .account-v2-quick{grid-template-columns:1fr}
}
@media(max-width:560px){
  .account-v2-auth-form,.account-v2-auth-aside{padding:32px 23px}
  .account-v2-form-grid{grid-template-columns:1fr}
  .account-v2-field.full,.account-v2-login-note.full,.account-v2-submit.full{grid-column:auto}
  .account-v2-hero{grid-template-columns:1fr;padding:24px 22px}
  .account-v2-statuses{align-self:auto;flex-wrap:wrap}
  .account-v2-stats{grid-template-columns:1fr 1fr}
  .account-v2-sidebar nav{grid-template-columns:1fr}
}


/* =========================================================
   CITY SELECTOR + CART / E-COMMERCE v0.5.1.20
   ========================================================= */

/* Top bar city selector */
.topbar .shell{
  position:relative;
}
.city-selector-slot{
  justify-self:end;
  position:relative;
  z-index:70;
}
.city-selector{position:relative}
.city-selector-button{
  border:0;background:transparent;color:#fff;
  height:30px;padding:0 0 0 10px;
  display:flex;align-items:center;gap:6px;cursor:pointer;
  font-size:9px;
}
.city-selector-button>span{
  opacity:.45;font-size:7px;letter-spacing:.08em;text-transform:uppercase;
}
.city-selector-button>b{font-size:9px;font-weight:600}
.city-selector-button>i{font-style:normal;color:#7da0eb;font-size:11px}
.city-selector-menu{
  position:absolute;right:0;top:31px;width:210px;
  padding:7px;background:#151515;border:1px solid #2b2b2b;
  border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.28);
  z-index:100;
}
.city-selector-menu button{
  width:100%;height:34px;border:0;border-radius:9px;background:transparent;
  color:#aaa;padding:0 9px;display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;text-align:left;font-size:9px;
}
.city-selector-menu button:hover{background:#202020;color:#fff}
.city-selector-menu button.active{background:#1b315f;color:#fff}
.city-selector-menu button span{color:#7da0eb}

/* Header cart */
.header-cart-button{
  height:42px;min-width:102px;border:1px solid var(--line);
  border-radius:999px;background:#fff;padding:0 12px 0 15px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-size:9px;font-weight:800;cursor:pointer;
}
.header-cart-button b{
  min-width:23px;height:23px;border-radius:50%;background:var(--accent);color:#fff;
  display:grid;place-items:center;font-size:8px;
}

/* Product actions */
.product-card .card-actions{display:grid;grid-template-columns:1fr 1fr}
.product-card .card-actions button.primary{
  background:var(--accent);border-color:var(--accent);color:#fff;
}
.product-card .card-actions button.primary:hover{filter:brightness(.95)}

/* Drawer */
.cart-drawer-backdrop{
  position:fixed;inset:0;background:rgba(5,7,12,.48);
  backdrop-filter:blur(9px);z-index:160;
  display:none;justify-content:flex-end;
}
.cart-drawer-backdrop.open{display:flex}
.cart-drawer{
  width:min(470px,100%);height:100%;
  background:#f7f7f4;border-left:1px solid rgba(255,255,255,.25);
  box-shadow:-28px 0 80px rgba(0,0,0,.18);
  padding:22px;display:flex;flex-direction:column;
}
.cart-drawer-head{
  display:flex;align-items:start;justify-content:space-between;
  padding:4px 2px 18px;border-bottom:1px solid var(--line);
}
.cart-drawer-head span{
  font-size:7px;color:#777;letter-spacing:.13em;font-weight:800
}
.cart-drawer-head h2{
  font-size:29px;letter-spacing:-.045em;font-weight:500;margin:5px 0 0
}
.cart-drawer-head>button{
  width:38px;height:38px;border:1px solid var(--line);
  background:#fff;border-radius:50%;font-size:23px;cursor:pointer
}
.cart-drawer-city{
  margin:13px 0 8px;padding:10px 12px;border-radius:12px;
  background:#eaf0fb;font-size:8px;color:#59677e
}
.cart-drawer-city b{color:#234b98}
.cart-drawer-items{overflow:auto;flex:1;padding:4px 0}
.cart-drawer-item,.account-cart-item{
  position:relative;display:grid;
  grid-template-columns:52px minmax(0,1fr) auto auto 24px;
  gap:10px;align-items:center;
  padding:13px 0;border-bottom:1px solid #deded8
}
.cart-item-visual{
  width:52px;height:64px;border-radius:12px;
  background:linear-gradient(160deg,#dcebee,#e9e3db);
  display:grid;place-items:center;font-size:9px;font-weight:800
}
.cart-item-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.cart-item-main small{font-size:7px;color:#888;text-transform:uppercase}
.cart-item-main b{
  font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.cart-item-main>span{font-size:9px;color:#555}
.cart-qty{
  display:grid;grid-template-columns:25px 25px 25px;align-items:center;
  border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff
}
.cart-qty button{width:25px;height:29px;border:0;background:#fff;cursor:pointer}
.cart-qty b{text-align:center;font-size:9px}
.cart-item-sum{font-size:9px;font-weight:800;white-space:nowrap}
.cart-remove{
  width:22px;height:22px;border:0;background:transparent;color:#999;
  font-size:17px;cursor:pointer
}
.cart-drawer-bottom{border-top:1px solid var(--line);padding-top:16px}
.cart-drawer-total{
  display:flex;justify-content:space-between;align-items:end;margin-bottom:12px
}
.cart-drawer-total span{font-size:7px;letter-spacing:.12em;color:#777;font-weight:800}
.cart-drawer-total b{font-size:22px}
.cart-checkout{
  height:48px;border-radius:999px;background:#111;color:#fff;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 17px;font-size:9px;font-weight:800
}
.cart-checkout.disabled,.account-cart-checkout.disabled{
  opacity:.35;pointer-events:none
}
.cart-empty{
  min-height:260px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;gap:8px
}
.cart-empty b{font-size:16px}
.cart-empty span{font-size:9px;color:#888}
.cart-empty a{font-size:9px;font-weight:800;border-bottom:1px solid #aaa;padding-bottom:4px}

/* Account cart */
.account-cart-panel{min-height:470px}
.account-cart-head{
  display:flex;justify-content:space-between;align-items:end;gap:30px;
  padding-bottom:18px;border-bottom:1px solid var(--line)
}
.account-cart-head h2{
  font-size:30px;letter-spacing:-.045em;font-weight:500;margin:0
}
.account-cart-head p:not(.eyebrow){
  font-size:8.5px;line-height:1.5;color:#777;margin:8px 0 0
}
.account-cart-clear{
  border:1px solid var(--line);background:#fff;border-radius:999px;
  padding:9px 12px;font-size:8px;font-weight:800;cursor:pointer
}
.account-cart-list{display:grid}
.account-cart-item{
  grid-template-columns:58px minmax(0,1fr) auto 95px 24px;
  padding:15px 0
}
.account-cart-item .cart-item-visual{width:58px;height:70px}
.account-cart-summary{
  margin-top:18px;background:#111;color:#fff;border-radius:18px;
  padding:16px;display:grid;grid-template-columns:1fr 1fr auto;
  gap:20px;align-items:center
}
.account-cart-summary>div{display:flex;flex-direction:column;gap:4px}
.account-cart-summary span{
  font-size:7px;letter-spacing:.12em;color:#777;font-weight:800
}
.account-cart-summary>div b{font-size:16px}
.account-cart-checkout{
  min-width:185px;height:46px;border-radius:999px;background:var(--accent);color:#fff;
  padding:0 15px;display:flex;align-items:center;justify-content:space-between;
  font-size:9px;font-weight:800
}
.account-cart-empty{
  min-height:280px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center
}
.account-cart-empty b{font-size:18px}
.account-cart-empty p{font-size:9px;color:#888}
.account-cart-empty a{font-size:9px;font-weight:800;border-bottom:1px solid #aaa;padding-bottom:4px}
.account-v2-sidebar nav button span[data-cart-count]{
  min-width:20px;height:20px;border-radius:50%;background:var(--accent);
  color:#fff;display:grid;place-items:center;font-size:7px
}
.account-cart-stat{cursor:pointer}

/* Toast */
.commerce-toast{
  position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);
  opacity:0;z-index:190;background:#111;color:#fff;border-radius:999px;
  padding:10px 14px;font-size:9px;font-weight:800;
  pointer-events:none;transition:.2s
}
.commerce-toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1050px){
  .header-cart-button{min-width:88px;padding-left:11px}
  .header-cart-button span{display:none}
}
@media(max-width:820px){
  .topbar .shell{grid-template-columns:1fr auto}
  .topbar-note{display:none}
  .header-cart-button{min-width:42px;width:42px;padding:0;justify-content:center}
  .header-cart-button b{min-width:24px}
  .account-cart-item{
    grid-template-columns:48px minmax(0,1fr) auto 22px
  }
  .account-cart-item .cart-item-sum{grid-column:2;grid-row:2}
  .account-cart-item .cart-remove{grid-column:4;grid-row:1/3}
  .account-cart-summary{grid-template-columns:1fr 1fr}
  .account-cart-checkout{grid-column:1/-1;width:100%}
}
@media(max-width:560px){
  .city-selector-button>span{display:none}
  .city-selector-menu{right:-4px;width:190px}
  .cart-drawer{padding:16px}
  .cart-drawer-item{
    grid-template-columns:46px 1fr auto 22px
  }
  .cart-drawer-item .cart-item-visual{width:46px;height:58px}
  .cart-drawer-item .cart-item-sum{grid-column:2;grid-row:2}
  .cart-drawer-item .cart-remove{grid-column:4;grid-row:1/3}
  .account-cart-head{display:block}
  .account-cart-clear{margin-top:12px}
}


/* =========================================================
   RETAIL CHECKOUT + KASPI READY v0.5.1.30
   ========================================================= */
.checkout-page{
  width:min(var(--max),calc(100% - 48px));
  margin:28px auto 78px;
}
.checkout-head{
  display:grid;grid-template-columns:1fr .75fr;gap:60px;align-items:end;
  margin-bottom:24px
}
.checkout-head h1{
  font-size:clamp(42px,4.2vw,60px);line-height:.98;
  letter-spacing:-.06em;font-weight:500;margin:0
}
.checkout-head>p{
  max-width:520px;color:#777;font-size:10px;line-height:1.65;margin:0 0 4px
}
.checkout-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:12px;align-items:start
}
.checkout-form-card,.checkout-summary-card{
  background:#fff;border:1px solid var(--line);border-radius:24px
}
.checkout-form-card{overflow:hidden}
.checkout-section{
  display:grid;grid-template-columns:48px 1fr;gap:12px;
  padding:26px 28px;border-bottom:1px solid var(--line)
}
.checkout-section:last-child{border-bottom:0}
.checkout-section-number{
  font-size:8px;color:#7da0eb;font-weight:800;padding-top:4px
}
.checkout-section-body h2{
  font-size:25px;line-height:1.05;letter-spacing:-.045em;font-weight:500;margin:0 0 18px
}
.checkout-label{
  font-size:7px;letter-spacing:.14em;color:#888;font-weight:800;margin:0 0 7px
}
.checkout-fields{
  display:grid;grid-template-columns:1fr 1fr;gap:10px
}
.checkout-fields label,.checkout-address label,.checkout-comment{
  display:flex;flex-direction:column;gap:6px
}
.checkout-fields .full{grid-column:1/-1}
.checkout-fields span,.checkout-address span,.checkout-comment span{
  font-size:7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase
}
.checkout-fields input,.checkout-address textarea,.checkout-comment textarea{
  border:1px solid var(--line);border-radius:12px;padding:12px 13px;outline:none;
  background:#fff;font-size:10px
}
.checkout-fields input{height:45px}
.checkout-address textarea,.checkout-comment textarea{min-height:76px;resize:vertical}
.checkout-fields input:focus,.checkout-address textarea:focus,.checkout-comment textarea:focus{
  border-color:#9db7ee;box-shadow:0 0 0 3px rgba(27,95,217,.05)
}
.checkout-city-info{
  min-height:50px;border:1px solid var(--line);border-radius:13px;
  display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;
  padding:0 13px;margin-bottom:10px
}
.checkout-city-info span{font-size:8px;color:#888}
.checkout-city-info b{font-size:10px}
.checkout-city-info button{
  border:0;background:transparent;color:var(--accent);font-size:8px;font-weight:800;cursor:pointer
}
.checkout-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.checkout-option{
  min-height:85px;border:1px solid var(--line);border-radius:14px;
  background:#fff;padding:13px;text-align:left;cursor:pointer;
  display:flex;flex-direction:column;gap:5px
}
.checkout-option b{font-size:10px}
.checkout-option span{font-size:8px;line-height:1.45;color:#888}
.checkout-option.active{border-color:#8ca9e8;background:#eef3fd}
.checkout-address{margin-bottom:10px}
.checkout-payment{
  border:1px solid var(--line);border-radius:15px;padding:14px;
  display:grid;grid-template-columns:42px 1fr 20px;gap:12px;align-items:center
}
.checkout-payment.selected{border-color:#8ca9e8;background:#f1f5fd}
.checkout-payment-mark{
  width:42px;height:42px;border-radius:12px;background:#ef3239;color:#fff;
  display:grid;place-items:center;font-size:20px;font-weight:800
}
.checkout-payment div:nth-child(2){display:flex;flex-direction:column;gap:4px}
.checkout-payment b{font-size:11px}
.checkout-payment span{font-size:8px;color:#777}
.checkout-radio{
  width:17px;height:17px;border-radius:50%;border:5px solid var(--accent);background:#fff
}
.kaspi-setup-note{
  margin-top:10px;border-radius:12px;background:#f4f4f1;
  padding:11px 12px;color:#777;font-size:7.5px;line-height:1.55
}
.checkout-summary-card{
  position:sticky;top:96px;padding:20px
}
.checkout-summary-top{
  display:flex;justify-content:space-between;align-items:center;
  padding-bottom:14px;border-bottom:1px solid var(--line)
}
.checkout-summary-top span{font-size:7px;letter-spacing:.13em;color:#888;font-weight:800}
.checkout-summary-top button{
  border:0;background:transparent;font-size:8px;font-weight:800;border-bottom:1px solid #bbb;padding:0 0 3px;cursor:pointer
}
.checkout-summary-items{display:grid}
.checkout-summary-item{
  display:grid;grid-template-columns:1fr auto;gap:12px;
  padding:13px 0;border-bottom:1px solid #e3e3de
}
.checkout-summary-item div{display:flex;flex-direction:column;gap:3px;min-width:0}
.checkout-summary-item small{font-size:7px;color:#888}
.checkout-summary-item b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checkout-summary-item span{font-size:8px;color:#777}
.checkout-summary-item strong{font-size:9px;white-space:nowrap}
.checkout-summary-lines{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}
.checkout-summary-lines div{display:flex;justify-content:space-between;gap:15px}
.checkout-summary-lines span{font-size:8px;color:#888}
.checkout-summary-lines b{font-size:8px;text-align:right}
.checkout-summary-total{
  display:flex;justify-content:space-between;align-items:end;padding:15px 0
}
.checkout-summary-total span{font-size:7px;letter-spacing:.12em;color:#888;font-weight:800}
.checkout-summary-total b{font-size:23px}
.checkout-submit{
  width:100%;height:52px;border:0;border-radius:999px;background:var(--accent);color:#fff;
  padding:0 17px;display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;font-size:9px;font-weight:800
}
.checkout-submit:disabled{opacity:.35;cursor:not-allowed}
.checkout-submit b{font-size:20px;font-weight:500}
.checkout-terms{font-size:7px;line-height:1.55;color:#999;margin:10px 5px 0}
.checkout-empty{padding:30px 0;text-align:center;font-size:9px;color:#888}
.checkout-empty a{font-weight:800;color:#111}
.checkout-success{
  background:#111;color:#fff;border-radius:26px;padding:44px;min-height:400px;
  position:relative;overflow:hidden
}
.checkout-success:after{
  content:"";position:absolute;width:440px;height:440px;border-radius:50%;
  border:1px solid rgba(125,160,235,.18);right:-190px;top:-240px
}
.checkout-success h2{
  font-size:clamp(40px,4vw,58px);line-height:.98;letter-spacing:-.06em;
  font-weight:500;margin:0 0 18px
}
.checkout-success>p:not(.eyebrow){
  color:#aaa;max-width:620px;font-size:10px;line-height:1.7
}
.checkout-success strong{color:#fff}
.checkout-success-actions{
  margin-top:26px;display:flex;gap:9px;flex-wrap:wrap;position:relative;z-index:2
}
.checkout-success-actions a{
  min-height:44px;border:1px solid #333;border-radius:999px;
  padding:0 15px;display:flex;align-items:center;color:#fff;font-size:8px;font-weight:800
}
.checkout-success-actions .checkout-kaspi-pay{
  background:#ef3239;border-color:#ef3239;gap:20px
}
.checkout-b2b-redirect{
  min-height:calc(100vh - 1px);background:#111;color:#fff;
  display:grid;place-items:center;padding:30px
}
.checkout-b2b-redirect>div{max-width:680px}
.checkout-b2b-redirect h1{
  font-size:clamp(42px,5vw,68px);line-height:.98;letter-spacing:-.06em;font-weight:500
}
.checkout-b2b-redirect p{font-size:11px;line-height:1.7;color:#aaa}
.checkout-b2b-redirect a{display:inline-block;margin-top:18px;border-bottom:1px solid #777;padding-bottom:4px;font-size:9px}

/* Kaspi product link */
.card-actions .kaspi-product-link{
  background:#ef3239;color:#fff;border-color:#ef3239
}

/* Account order history */
.account-orders-panel{min-height:470px}
.account-orders-head{
  display:flex;justify-content:space-between;gap:30px;align-items:end;
  padding-bottom:18px;border-bottom:1px solid var(--line)
}
.account-orders-head h2{
  font-size:30px;letter-spacing:-.045em;font-weight:500;margin:0
}
.account-orders-head p:not(.eyebrow){font-size:8px;color:#888;margin:7px 0 0}
.account-orders-head>a{font-size:8px;font-weight:800;border-bottom:1px solid #aaa;padding-bottom:3px}
#accountOrdersRoot{display:grid}
.account-order-card{
  display:grid;grid-template-columns:1.2fr 1fr auto;gap:20px;align-items:center;
  padding:16px 0;border-bottom:1px solid #e2e2dc
}
.account-order-top{display:flex;justify-content:space-between;gap:15px;align-items:center}
.account-order-top>div{display:flex;flex-direction:column;gap:4px}
.account-order-top span{font-size:10px;font-weight:800}
.account-order-top b{font-size:7px;color:#888;font-weight:500}
.account-order-top strong{font-size:11px}
.account-order-meta{display:flex;gap:7px;flex-wrap:wrap}
.account-order-meta span,.account-order-statuses i{
  border-radius:999px;background:#f3f3ef;padding:6px 8px;
  font-size:7px;font-style:normal;color:#777
}
.account-order-statuses{display:flex;gap:5px;justify-content:flex-end}
.account-order-statuses i:first-child{background:#eef3fd;color:#315da8}
.account-orders-empty,.account-orders-loading{
  min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center
}
.account-orders-empty b{font-size:17px}
.account-orders-empty p{font-size:9px;color:#888}
.account-orders-empty a{font-size:9px;font-weight:800;border-bottom:1px solid #aaa;padding-bottom:4px}

/* Cart checkout buttons can be buttons now */
button.cart-checkout,button.account-cart-checkout{border:0;cursor:pointer}
button.cart-checkout.disabled,button.account-cart-checkout.disabled{pointer-events:none}

@media(max-width:900px){
  .checkout-layout{grid-template-columns:1fr}
  .checkout-summary-card{position:static}
  .checkout-head{grid-template-columns:1fr;gap:16px}
}
@media(max-width:560px){
  .checkout-page{width:min(100% - 24px,var(--max));margin-top:18px}
  .checkout-section{grid-template-columns:30px 1fr;padding:22px 17px}
  .checkout-fields,.checkout-option-grid{grid-template-columns:1fr}
  .checkout-fields .full{grid-column:auto}
  .checkout-city-info{grid-template-columns:1fr auto}
  .checkout-city-info>span{grid-column:1/-1}
  .account-order-card{grid-template-columns:1fr}
  .account-order-statuses{justify-content:flex-start}
}


/* PRO TERRITORY FIELDS v0.5.1.40 */
.account-pro-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;border-radius:15px;background:#f1f4f9;border:1px solid #e0e6f1}
.account-pro-fields[hidden]{display:none!important}
.account-pro-hint{grid-column:1/-1;margin:0;font-size:8px;line-height:1.55;color:#6d7788}
@media(max-width:560px){.account-pro-fields{grid-template-columns:1fr}.account-pro-hint{grid-column:auto}}

/* =========================================================
   HOME SCROLL SCENES / SCROLLYTELLING v0.6.0
   Desktop + tablet: one sticky stage, full scene replacement.
   Mobile/reduced motion: natural flow with soft reveal.
   ========================================================= */

html.story-scroll-enabled{scroll-behavior:auto}
.home-page.story-home-active{
  padding-top:14px;
  padding-bottom:26px;
}
.story-scroll{
  position:relative;
  width:100%;
}
.story-scroll-desktop{
  margin:0;
}
.story-stage{
  position:sticky;
  top:var(--story-header,84px);
  width:100%;
  overflow:hidden;
  isolation:isolate;
  border-radius:28px;
}
.story-stage:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  background:var(--paper);
}
.story-scene{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  width:100%;
  opacity:0;
  transform-origin:50% 52%;
  will-change:opacity,transform,filter;
  backface-visibility:hidden;
}
.story-scene:first-of-type{opacity:1}
.story-scene-inner{
  position:relative;
  width:100%;
  max-height:100%;
  padding:8px 0;
}
.story-scene-inner>*{
  position:relative;
}
.story-scene.is-story-active{z-index:3}
.story-scene:not(.is-story-active){z-index:2}

/* Remove old long-page gaps only inside the scene stage. */
.story-scene .brands-intro{
  margin:0 0 20px;
}
.story-scene .editorial-grid,
.story-scene .company-section,
.story-scene .branches-section{
  margin-top:0;
}
.story-scene .section-intro{
  margin-top:0;
}

/* Scene 01 */
.story-scene-hero .story-scene-inner{
  display:grid;
  gap:10px;
}
.story-scene-hero .hero-v5{
  min-height:min(468px,calc(100vh - 260px));
}
.story-scene-hero .hero-stage{
  min-height:min(468px,calc(100vh - 260px));
}
.story-scene-hero .trust-strip{
  margin-top:0;
}
.story-scroll-hint{
  position:absolute;
  right:18px;
  bottom:8px;
  z-index:8;
  display:flex;
  align-items:center;
  gap:8px;
  color:#858585;
  font-size:8px;
  letter-spacing:.12em;
  text-transform:uppercase;
  pointer-events:none;
  animation:storyHint 2.2s ease-in-out infinite;
}
.story-scroll-hint b{
  color:var(--accent);
  font-size:16px;
  font-weight:500;
}
@keyframes storyHint{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(5px);opacity:1}}

/* Scene 02 */
.story-scene-brands .story-scene-inner{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.story-scene-brands .brand-tile{
  min-height:118px;
}

/* Scene 03 */
.story-scene-expertise .editorial-grid{
  min-height:min(520px,calc(100vh - 160px));
}
.story-scene-expertise .editorial-card{
  min-height:min(520px,calc(100vh - 160px));
}

/* Scene 04 */
.story-scene-company .company-section{
  width:100%;
}

/* Scene 05: fit contacts cleanly into one screen on desktop. */
.story-scene-contacts .branches-section{
  padding-top:26px;
  padding-bottom:22px;
}
.story-scene-contacts .branches-head{
  margin-bottom:15px;
}
.story-scene-contacts .branches-head h2{
  font-size:clamp(31px,2.8vw,42px);
}
.story-scene-contacts .branches-grid{
  gap:6px;
}
.story-scene-contacts .branch-card{
  min-height:58px;
  padding-top:10px;
  padding-bottom:10px;
}
.story-scene-contacts .branches-bottom{
  margin-top:13px;
  padding-top:13px;
}

/* Persistent editorial story navigation. */
.story-ui{
  position:absolute;
  z-index:12;
  top:50%;
  right:12px;
  width:62px;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:9px;
  color:#111;
  pointer-events:auto;
  transition:color .35s ease;
}
.story-ui.on-dark{color:#fff}
.story-ui-caption{
  font-size:6px;
  letter-spacing:.18em;
  font-weight:800;
  opacity:.36;
}
.story-ui-counter{
  display:flex;
  align-items:baseline;
  gap:3px;
  font-variant-numeric:tabular-nums;
}
.story-ui-counter b{
  font-size:13px;
  line-height:1;
}
.story-ui-counter span{
  font-size:7px;
  opacity:.35;
}
.story-ui-label{
  max-width:58px;
  text-align:right;
  font-size:6.5px;
  line-height:1.25;
  font-weight:700;
  opacity:.55;
}
.story-ui-dots{
  display:grid;
  justify-items:end;
  gap:7px;
  padding:3px 0;
}
.story-dot{
  width:28px;
  height:10px;
  padding:0;
  border:0;
  background:transparent;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  cursor:pointer;
}
.story-dot span{
  display:block;
  width:9px;
  height:1px;
  background:currentColor;
  opacity:.28;
  transition:width .25s ease,opacity .25s ease;
}
.story-dot.active span{
  width:26px;
  opacity:.9;
}
.story-ui-progress{
  position:relative;
  width:1px;
  height:46px;
  margin-right:1px;
  background:currentColor;
  opacity:.16;
  overflow:hidden;
}
.story-ui-progress i{
  position:absolute;
  inset:0;
  background:var(--accent);
  transform:scaleY(.02);
  transform-origin:top;
  opacity:1;
}

/* Keep important content away from the small story UI rail. */
.story-scene-inner{
  padding-right:76px;
}
.story-scene-hero .story-scene-inner{
  padding-right:76px;
}

/* Medium desktop / laptop. */
@media(max-width:1180px) and (min-width:760px){
  .story-scene-inner{padding-right:58px}
  .story-ui{right:7px;width:48px}
  .story-ui-label{display:none}
  .story-scene-brands .brand-tile{min-height:105px}
  .story-scene-contacts .branch-card{min-height:54px}
  .story-scene-contacts .branches-lead{font-size:9px}
}

/* Mobile and reduced motion: keep natural scrolling and simply reveal blocks. */
.story-home-mobile{padding-top:16px}
.story-scroll-mobile{
  display:grid;
  gap:42px;
}
.story-scroll-mobile .story-scene{
  position:relative;
  inset:auto;
  display:block;
  opacity:1;
  transform:none;
  filter:none;
}
.story-scroll-mobile .story-scene-inner{
  padding:0;
}
.story-scroll-mobile .story-scene{
  opacity:.22;
  transform:translateY(26px) scale(.985);
  transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);
}
.story-scroll-mobile .story-scene.is-mobile-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}
.story-scroll-mobile .brands-intro,
.story-scroll-mobile .editorial-grid,
.story-scroll-mobile .company-section,
.story-scroll-mobile .branches-section{
  margin-top:0;
}

@media(max-width:759px){
  .story-scroll-mobile{gap:38px}
}

@media(prefers-reduced-motion:reduce){
  .story-scroll-mobile .story-scene{transition:none;opacity:1;transform:none}
  .story-scroll-hint{animation:none}
}

/* HERO FILL TUNING FOR STORY STAGE v0.6.0.1 */
@media(min-width:760px){
  .story-scene-hero{align-items:flex-start}
  .story-scene-hero .hero-v5,
  .story-scene-hero .hero-stage{
    min-height:clamp(468px,calc(100vh - 250px),650px);
  }
  .story-scene-brands,
  .story-scene-expertise,
  .story-scene-company,
  .story-scene-contacts{
    align-items:center;
  }
}


/* =========================================================
   HOME SCROLL SCENES v0.7.0
   Uniform viewport framing + header neon navigation.
   ========================================================= */

@media(min-width:760px){

  /* Remove both the custom side rail and the browser scrollbar while
     the homepage story is active. Scrolling still works normally. */
  html.story-scroll-enabled{
    scrollbar-width:none;
  }
  html.story-scroll-enabled::-webkit-scrollbar{
    width:0;
    height:0;
  }
  .story-ui{
    display:none!important;
  }

  /* The white header itself becomes the scroll-position indicator. */
  .site-header .nav a{
    transition:
      color .28s ease,
      text-shadow .28s ease,
      opacity .28s ease;
  }
  .site-header .nav a.story-nav-active{
    color:#2f67ee;
    text-shadow:
      0 0 8px rgba(47,103,238,.45),
      0 0 18px rgba(47,103,238,.24);
  }
  .site-header .nav a.story-nav-active:after{
    right:0;
    height:2px;
    background:#2f67ee;
    box-shadow:
      0 0 7px rgba(47,103,238,.70),
      0 0 14px rgba(47,103,238,.35);
  }

  /* Every scene now receives exactly the same usable frame. */
  .home-page.story-home-active{
    padding-top:0;
    padding-bottom:0;
  }
  .story-stage{
    border-radius:0;
    background:var(--paper);
  }
  .story-stage:before{
    border-radius:0;
  }
  .story-scene{
    align-items:stretch!important;
  }
  .story-scene-inner,
  .story-scene-hero .story-scene-inner{
    width:100%;
    height:100%;
    max-height:none;
    padding:20px 0 24px;
    padding-right:0;
  }

  /* -----------------------------------------------------
     01 / HERO
     ----------------------------------------------------- */
  .story-scene-hero .story-scene-inner{
    display:grid;
    grid-template-rows:minmax(0,1fr) 82px;
    gap:10px;
  }
  .story-scene-hero .hero-v5{
    height:100%;
    min-height:0!important;
    max-height:none;
  }
  .story-scene-hero .hero-copy,
  .story-scene-hero .hero-stage{
    height:100%;
    min-height:0!important;
  }
  .story-scene-hero .trust-strip{
    height:82px;
    min-height:82px;
    margin:0;
  }
  .story-scene-hero .trust-strip>div{
    min-height:82px;
    padding-top:16px;
    padding-bottom:16px;
  }

  /* -----------------------------------------------------
     02 / BRANDS
     ----------------------------------------------------- */
  .story-scene-brands .story-scene-inner{
    display:grid;
    grid-template-rows:minmax(150px,.36fr) minmax(0,.64fr);
    gap:18px;
  }
  .story-scene-brands .brands-intro{
    height:100%;
    margin:0;
    align-items:end;
  }
  .story-scene-brands .brands-intro h2{
    font-size:clamp(37px,3.25vw,50px);
    max-width:640px;
  }
  .story-scene-brands .brands-panel{
    height:100%;
    min-height:0;
    grid-template-rows:repeat(2,minmax(0,1fr));
  }
  .story-scene-brands .brand-tile{
    min-height:0!important;
    height:100%;
  }

  /* -----------------------------------------------------
     03 / TRAINING + KNOWLEDGE
     ----------------------------------------------------- */
  .story-scene-expertise .story-scene-inner{
    display:block;
  }
  .story-scene-expertise .editorial-grid{
    width:100%;
    height:100%;
    min-height:0!important;
    margin:0;
  }
  .story-scene-expertise .editorial-card{
    height:100%;
    min-height:0!important;
  }

  /* -----------------------------------------------------
     04 / COMPANY
     ----------------------------------------------------- */
  .story-scene-company .story-scene-inner{
    display:block;
  }
  .story-scene-company .company-section{
    width:100%;
    height:100%;
    min-height:0;
    margin:0;
    grid-template-rows:auto minmax(0,1fr) auto minmax(128px,.62fr);
    align-content:stretch;
  }
  .story-scene-company .company-main,
  .story-scene-company .company-copy-rich,
  .story-scene-company .company-ai-cta{
    align-self:center;
  }
  .story-scene-company .company-scale-title{
    align-self:end;
  }
  .story-scene-company .company-features{
    height:100%;
    align-self:stretch;
  }
  .story-scene-company .company-feature{
    min-height:0;
  }

  /* -----------------------------------------------------
     05 / CONTACTS
     ----------------------------------------------------- */
  .story-scene-contacts .story-scene-inner{
    display:block;
  }
  .story-scene-contacts .branches-section{
    width:100%;
    height:100%;
    min-height:0;
    margin:0;
    padding:25px 28px 24px;
    display:flex;
    flex-direction:column;
  }
  .story-scene-contacts .branches-head{
    flex:0 0 auto;
    margin-bottom:0;
    padding-bottom:18px;
  }
  .story-scene-contacts .branches-grid{
    flex:1 1 auto;
    min-height:0;
    margin-top:14px;
    grid-auto-rows:minmax(0,1fr);
    align-content:stretch;
  }
  .story-scene-contacts .branch-card{
    min-height:0!important;
    height:100%;
  }
  .story-scene-contacts .branches-bottom{
    flex:0 0 auto;
    margin-top:12px;
    padding-top:12px;
  }

  /* Keep all scenes visually aligned to the same left/right edges. */
  .story-scene-inner > *{
    width:100%;
  }
}

/* Slightly tighter laptop treatment so every scene still fits in one frame. */
@media(max-width:1180px) and (min-width:760px){
  .story-scene-inner,
  .story-scene-hero .story-scene-inner{
    padding:14px 0 18px;
  }
  .story-scene-brands .story-scene-inner{
    grid-template-rows:minmax(130px,.34fr) minmax(0,.66fr);
    gap:14px;
  }
  .story-scene-company .company-section{
    gap:20px 28px;
    padding:22px 24px 24px;
  }
  .story-scene-company .company-feature{
    padding-top:14px;
  }
  .story-scene-contacts .branches-section{
    padding:20px 22px;
  }
}


/* =========================================================
   CONTACTS LIGHT / OPEN SCENE v0.8.0
   По композиции — как сцена Бренды.
   ========================================================= */

.branches-section.branches-section-light{
  position:relative;
  overflow:visible;
  isolation:auto;
  margin:0;
  padding:0;
  background:transparent;
  color:#111;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.branches-section.branches-section-light:before,
.branches-section.branches-section-light:after{
  display:none!important;
}

/* Верх сцены — открытый, светлый, как Бренды */
.branches-section-light .branches-head{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  gap:56px;
  align-items:end;
  padding:0;
  border:0;
}
.branches-section-light .branches-title{
  align-self:end;
}
.branches-section-light .branches-head .eyebrow{
  color:var(--accent);
  margin:0 0 18px;
}
.branches-section-light .branches-head h2{
  margin:0;
  max-width:650px;
  color:#111;
  font-size:clamp(38px,3.45vw,52px);
  line-height:1;
  letter-spacing:-.055em;
  font-weight:500;
}
.branches-section-light .branches-side{
  width:100%;
  max-width:none;
  justify-self:stretch;
  display:grid;
  grid-template-columns:minmax(210px,.72fr) minmax(290px,1.28fr);
  gap:18px;
  align-items:end;
}
.branches-section-light .branches-lead{
  margin:0 0 5px;
  color:#7b7b77;
  font-size:10px;
  line-height:1.65;
}

/* Маленькая карта — отдельная плашка, видна полностью */
.branches-map-card{
  position:relative;
  height:190px;
  overflow:hidden;
  border-radius:22px;
  background:
    radial-gradient(circle at 76% 34%,rgba(46,91,205,.30),transparent 38%),
    linear-gradient(145deg,#0b1020 0%,#11182a 58%,#0b101c 100%);
  border:1px solid rgba(63,105,214,.20);
  box-shadow:0 18px 42px rgba(25,40,80,.12);
}
.branches-map-caption{
  position:absolute;
  z-index:3;
  left:16px;
  top:14px;
  display:flex;
  flex-direction:column;
  gap:3px;
  pointer-events:none;
}
.branches-map-caption span{
  font-size:6px;
  letter-spacing:.16em;
  color:#687492;
  font-weight:800;
}
.branches-map-caption b{
  color:#fff;
  font-size:9px;
}
.branches-map-card .branches-map-svg{
  position:absolute;
  inset:18px 10px 8px 62px;
  width:calc(100% - 72px);
  height:calc(100% - 26px);
  overflow:visible;
  display:block;
}
.branches-map-card .kz-fill{
  opacity:.72;
}
.branches-map-card .kz-outline-pulse{
  fill:none;
  stroke:rgba(135,178,255,.52);
  stroke-width:1.65;
}
.branches-map-card .kz-outline-dash{
  fill:none;
  stroke:#76a4ff;
  stroke-width:1.5;
  stroke-dasharray:10 14;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.88;
}

/* Светящиеся связи между точками */
.kz-thread-base{
  fill:none;
  stroke:rgba(125,163,246,.15);
  stroke-width:1.1;
}
.kz-thread-flow{
  fill:none;
  stroke:#d7e5ff;
  stroke-width:2;
  stroke-linecap:round;
  stroke-dasharray:2 13;
  opacity:.86;
  filter:drop-shadow(0 0 6px rgba(137,180,255,.88));
}
.branches-section.is-visible .kz-thread-flow{
  animation:kzThreadFlow 4.8s linear infinite;
}
.branches-section.is-visible .thread-2{animation-delay:-.55s}
.branches-section.is-visible .thread-3{animation-delay:-1.10s}
.branches-section.is-visible .thread-4{animation-delay:-1.65s}
.branches-section.is-visible .thread-5{animation-delay:-2.20s}
.branches-section.is-visible .thread-6{animation-delay:-2.75s}
.branches-section.is-visible .thread-7{animation-delay:-3.30s}
@keyframes kzThreadFlow{
  from{stroke-dashoffset:0}
  to{stroke-dashoffset:-120}
}

.branches-map-card .kz-marker circle:first-child{
  fill:#d8e7ff;
  filter:drop-shadow(0 0 8px rgba(117,166,255,.95));
}
.branches-map-card .kz-marker .ring{
  fill:none;
  stroke:rgba(132,176,255,.60);
  stroke-width:1.5;
}

/* Филиалы — светлая карточная сетка, как у брендов */
.branches-section-light .branches-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:18px 0 0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:25px;
  background:#fff;
  box-shadow:var(--shadow);
}
.branches-section-light .branch-card{
  min-height:0;
  height:100%;
  display:grid;
  grid-template-columns:26px minmax(0,1fr) 15px;
  grid-template-rows:1fr auto;
  gap:8px 10px;
  align-items:start;
  color:#111;
  border:0;
  border-radius:18px;
  padding:17px 16px 14px;
  background:#f5f5f2;
  box-shadow:none;
  backdrop-filter:none;
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
}
.branches-section-light .branch-card:hover{
  transform:translateY(-2px);
  background:#eef2fb;
  box-shadow:0 14px 30px rgba(24,48,100,.08);
}
.branches-section-light .branch-num{
  grid-column:1;
  grid-row:1;
  color:#315fd2;
  font-size:7px;
  padding-top:2px;
}
.branches-section-light .branch-card>div{
  grid-column:2/4;
  grid-row:1;
  gap:5px;
}
.branches-section-light .branch-card b{
  color:#111;
  font-size:13px;
  line-height:1.15;
}
.branches-section-light .branch-card small{
  color:#969691;
  font-size:7.5px;
  line-height:1.4;
}
.branches-section-light .branch-phone{
  grid-column:2;
  grid-row:2;
  color:#676762;
  font-size:8px;
  align-self:end;
  white-space:nowrap;
}
.branches-section-light .branch-card i{
  grid-column:3;
  grid-row:2;
  color:var(--accent);
  justify-self:end;
  align-self:end;
}
.branches-section-light .branch-card-contact{
  background:#eef2fb;
}
.branches-section-light .branch-card-contact b{
  color:#315fd2;
}

/* Нижняя строка — светлая и тонкая */
.branches-section-light .branches-bottom{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:18px;
  align-items:center;
  margin:10px 0 0;
  padding:10px 13px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fff;
  box-shadow:none;
  backdrop-filter:none;
}
.branches-section-light .branches-bottom>div{
  gap:3px;
}
.branches-section-light .branches-bottom span{
  color:#9a9a95;
  font-size:6.5px;
}
.branches-section-light .branches-bottom a{
  color:#111;
  font-size:10px;
}
.branches-section-light .branches-whatsapp{
  width:170px;
  height:40px;
  border-radius:999px;
  background:var(--accent);
  color:#fff!important;
  padding:0 13px;
  box-shadow:0 10px 24px rgba(27,95,217,.18);
}
.branches-section-light .branches-whatsapp span{
  color:#fff;
  font-size:8px;
}

/* В полноэкранной сцене контакты занимают тот же рабочий кадр,
   но без тяжёлой чёрной плашки. */
@media(min-width:760px){
  .story-scene-contacts .branches-section.branches-section-light{
    width:100%;
    height:100%;
    min-height:0;
    padding:18px 0 18px;
    display:grid;
    grid-template-rows:minmax(180px,.38fr) minmax(0,.52fr) auto;
    gap:0;
  }
  .story-scene-contacts .branches-section-light .branches-head{
    align-self:stretch;
  }
  .story-scene-contacts .branches-section-light .branches-grid{
    min-height:0;
    height:100%;
    margin-top:16px;
  }
  .story-scene-contacts .branches-section-light .branches-bottom{
    margin-top:10px;
  }
}

/* Ноутбук */
@media(max-width:1180px) and (min-width:760px){
  .branches-section-light .branches-head{
    grid-template-columns:1fr .95fr;
    gap:30px;
  }
  .branches-section-light .branches-side{
    grid-template-columns:1fr;
  }
  .branches-section-light .branches-lead{
    display:none;
  }
  .branches-map-card{
    height:170px;
  }
  .branches-section-light .branch-card{
    padding:14px 13px 12px;
  }
  .branches-section-light .branch-card b{
    font-size:11px;
  }
}

/* Планшет / мобильный — естественный поток */
@media(max-width:820px){
  .branches-section.branches-section-light{
    padding:0;
  }
  .branches-section-light .branches-head{
    grid-template-columns:1fr;
    gap:18px;
  }
  .branches-section-light .branches-side{
    grid-template-columns:1fr;
  }
  .branches-map-card{
    height:230px;
  }
  .branches-map-card .branches-map-svg{
    inset:28px 12px 8px 50px;
    width:calc(100% - 62px);
    height:calc(100% - 36px);
  }
  .branches-section-light .branches-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto;
  }
}
@media(max-width:560px){
  .branches-section-light .branches-head h2{
    font-size:34px;
  }
  .branches-map-card{
    height:200px;
  }
  .branches-section-light .branches-grid{
    grid-template-columns:1fr;
  }
  .branches-section-light .branches-bottom{
    grid-template-columns:1fr;
  }
  .branches-section-light .branches-whatsapp{
    width:100%;
    grid-column:1;
  }
}

@media(prefers-reduced-motion:reduce){
  .branches-section.is-visible .kz-thread-flow{
    animation:none!important;
  }
}


/* =========================================================
   GLOBAL SYMMETRY PASS v0.9.0
   Contacts aligned to Brands + transparent neon map.
   ========================================================= */

@media(min-width:760px){

  /* -----------------------------------------------------
     CONTACTS: use the exact same scene rhythm as BRANDS
     ----------------------------------------------------- */
  .story-scene-contacts .branches-section.branches-section-light{
    width:100%;
    height:100%;
    min-height:0;
    padding:20px 0 24px;
    display:grid;
    grid-template-rows:minmax(150px,.36fr) minmax(0,.64fr);
    gap:18px;
  }

  /* Exactly the same left/right proportions as .section-intro */
  .branches-section-light .branches-head{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:70px;
    align-items:end;
    height:100%;
    padding:0;
    border:0;
  }

  .branches-section-light .branches-title{
    align-self:end;
    min-width:0;
  }

  .branches-section-light .branches-head .eyebrow{
    margin:0 0 18px;
    font-size:10px;
    line-height:1.2;
    letter-spacing:.2em;
    font-weight:800;
  }

  /* Same title system as Brands */
  .branches-section-light .branches-head h2{
    margin:0;
    max-width:650px;
    font-size:clamp(35px,3.4vw,48px);
    line-height:1.04;
    letter-spacing:-.05em;
    font-weight:500;
  }

  /* Right column follows the same max width as Brands' section-side */
  .branches-section-light .branches-side{
    width:100%;
    max-width:430px;
    justify-self:end;
    align-self:end;
    display:grid;
    grid-template-columns:minmax(145px,.72fr) minmax(210px,1.28fr);
    gap:20px;
    align-items:end;
  }

  .branches-section-light .branches-lead{
    margin:0;
    font-size:13px;
    line-height:1.7;
    color:#6b6b67;
  }

  /* -----------------------------------------------------
     MAP: no blue plate, no card, just a clean neon object
     ----------------------------------------------------- */
  .branches-map-card{
    position:relative;
    height:150px;
    overflow:visible;
    border-radius:0;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  .branches-map-caption{
    left:0;
    top:0;
    gap:2px;
  }

  .branches-map-caption span{
    color:#8b8b86;
    font-size:6px;
  }

  .branches-map-caption b{
    color:#315fd2;
    font-size:9px;
  }

  .branches-map-card .branches-map-svg{
    position:absolute;
    inset:10px -4px -2px 22px;
    width:calc(100% - 18px);
    height:calc(100% - 8px);
    overflow:visible;
  }

  .branches-map-card .kz-fill{
    fill:#dfe8fb;
    opacity:.20;
  }

  .branches-map-card .kz-outline-pulse{
    stroke:rgba(47,103,238,.25);
    stroke-width:1.8;
    filter:drop-shadow(0 0 7px rgba(47,103,238,.28));
  }

  .branches-map-card .kz-outline-dash{
    stroke:#4f7ee8;
    stroke-width:1.55;
    opacity:.78;
    filter:drop-shadow(0 0 4px rgba(47,103,238,.22));
  }

  .kz-thread-base{
    stroke:rgba(73,118,224,.16);
    stroke-width:1;
  }

  .kz-thread-flow{
    stroke:#5f8df1;
    stroke-width:1.7;
    opacity:.92;
    filter:drop-shadow(0 0 4px rgba(69,120,240,.62));
  }

  .branches-map-card .kz-marker circle:first-child{
    fill:#2f67ee;
    filter:drop-shadow(0 0 7px rgba(47,103,238,.75));
  }

  .branches-map-card .kz-marker .ring{
    stroke:rgba(47,103,238,.32);
  }

  /* -----------------------------------------------------
     CONTACT CARDS = BRAND CARDS IN SIZE/RADIUS/PADDING
     ----------------------------------------------------- */
  .branches-section-light .branches-grid{
    height:100%;
    min-height:0;
    margin:0;
    padding:17px;
    gap:10px;
    border:1px solid var(--line);
    border-radius:28px;
    background:#fff;
    box-shadow:var(--shadow);
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
  }

  .branches-section-light .branch-card{
    min-height:0!important;
    height:100%;
    border-radius:20px;
    padding:21px 22px;
    background:#f7f7f4;
    grid-template-columns:26px minmax(0,1fr) 15px;
    grid-template-rows:1fr auto;
  }

  .branches-section-light .branch-card:hover{
    background:#f0f3fa;
    box-shadow:0 10px 25px rgba(20,20,20,.04);
  }

  .branches-section-light .branch-card b{
    font-size:14px;
    line-height:1.2;
    letter-spacing:-.025em;
    font-weight:700;
  }

  .branches-section-light .branch-card small{
    font-size:9px;
    line-height:1.45;
    color:#8a8a84;
  }

  .branches-section-light .branch-phone{
    font-size:9px;
    line-height:1.45;
    color:#8a8a84;
  }

  .branches-section-light .branch-num{
    font-size:8px;
    padding-top:1px;
  }

  .branches-section-light .branch-card-contact{
    background:#f3f5fb;
  }

  /* On desktop all general contact info already lives in the 8th card.
     Hiding the extra footer line makes Contacts and Brands vertically identical. */
  .story-scene-contacts .branches-bottom{
    display:none!important;
  }

  /* -----------------------------------------------------
     BRANDS: lock title/right-copy rhythm for symmetry
     ----------------------------------------------------- */
  .story-scene-brands .brands-intro{
    grid-template-columns:1.15fr .85fr;
    gap:70px;
  }

  .story-scene-brands .brands-intro h2{
    font-size:clamp(35px,3.4vw,48px);
    line-height:1.04;
    letter-spacing:-.05em;
    max-width:650px;
  }

  .story-scene-brands .brands-intro .section-side{
    width:100%;
    max-width:430px;
    justify-self:end;
  }

  .story-scene-brands .brands-intro .section-side p{
    font-size:13px;
    line-height:1.7;
  }
}

/* Laptop keeps the same visual grid rather than changing proportions too early. */
@media(max-width:1180px) and (min-width:760px){
  .branches-section-light .branches-head,
  .story-scene-brands .brands-intro{
    grid-template-columns:1.15fr .85fr;
    gap:36px;
  }

  .branches-section-light .branches-side{
    grid-template-columns:1fr 1.05fr;
    gap:12px;
    max-width:400px;
  }

  .branches-section-light .branches-lead,
  .story-scene-brands .brands-intro .section-side p{
    font-size:11px;
  }

  .branches-map-card{
    height:132px;
  }

  .branches-section-light .branch-card{
    padding:18px;
  }

  .branches-section-light .branch-card b{
    font-size:13px;
  }

  .branches-section-light .branch-card small,
  .branches-section-light .branch-phone{
    font-size:8px;
  }
}

/* Mobile: transparent map remains, footer contacts return for usability. */
@media(max-width:820px){
  .branches-map-card{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  .branches-map-caption b{
    color:#315fd2;
  }

  .branches-map-card .branches-map-svg{
    inset:20px 0 0 20px;
    width:calc(100% - 20px);
    height:calc(100% - 20px);
  }

  .branches-map-card .kz-fill{
    fill:#dfe8fb;
    opacity:.20;
  }

  .branches-map-card .kz-outline-pulse{
    stroke:rgba(47,103,238,.25);
  }

  .branches-map-card .kz-outline-dash,
  .kz-thread-flow{
    stroke:#4f7ee8;
  }

  .branches-map-card .kz-marker circle:first-child{
    fill:#2f67ee;
  }
}
