:root{
  --bg:#FFFFFF; --bg2:#F4F7FA; --surface:#FFFFFF; --surface2:#EEF3F7;
  --line:#E4EAF0; --line2:#D2DCE6;
  --ink:#13243A; --text:#41505F; --muted:#74838F; --dim:#9AA7B2;
  --navy:#1A5C8A; --teal:#00B8A9; --teal-d:#0C8076; --green:#2E8B57;
  --coral:#E85D04; --footer:#0E2236;
  --r-s:8px; --r-m:12px; --r-l:18px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg); color:var(--text); font-family:'Inter',sans-serif; -webkit-font-smoothing:antialiased;}
.wrap{max-width:1280px; margin:0 auto; padding:0 48px;}
a{text-decoration:none; color:inherit;}
.disp{font-family:'Manrope',sans-serif; letter-spacing:-0.03em; line-height:1.0; color:var(--ink);}
.serif{font-family:'Lora',serif; font-style:italic; font-weight:500; color:var(--teal-d);}
.kick{font-family:'Manrope',sans-serif; font-size:12px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--teal-d); display:inline-flex; align-items:center; gap:9px; padding:8px 16px; border-radius:30px; background:rgba(0,184,169,.07); border:1px solid rgba(0,184,169,.25);}
.kick::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--teal);}
.kick.on-dark{color:#4FE3D2; background:rgba(79,227,210,.1); border-color:rgba(79,227,210,.3);}
.kick.on-dark::before{background:#4FE3D2;}
.btn{display:inline-flex; align-items:center; gap:10px; font-family:'Manrope',sans-serif; font-weight:500; font-size:15px; padding:14px 24px; border-radius:var(--r-m); cursor:pointer; border:none; transition:.2s;}
.btn-coral{background:var(--coral); color:#fff;}
.btn-navy{background:var(--navy); color:#fff;}
.btn-out{border:1px solid var(--line2); color:var(--ink); background:transparent;}
.ic{stroke:currentColor; stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round;}
.sec{padding:120px 0;}
.sec-h{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:56px; gap:40px;}
.sec-h h2{font-size:50px; font-weight:600; max-width:660px;}
.sec-h h2 .ac{color:var(--teal-d);}
.sec-h p{color:var(--muted); font-size:16px; max-width:330px; line-height:1.6;}

/* HEADER */
header{position:fixed; top:0; left:0; right:0; z-index:50; transition:background .3s, height .3s, box-shadow .3s, border-color .3s; border-bottom:1px solid transparent;}
header .wrap{display:flex; align-items:center; height:84px; gap:24px; transition:height .3s; justify-content: space-between;}
header.scrolled{background:rgba(255,255,255,.9); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); box-shadow:0 4px 24px -16px rgba(19,36,58,.3);}
header.scrolled .wrap{height:66px;}
.logo{display:flex; align-items:center; gap:12px;}
.logo .mk{width:40px; height:40px; border-radius:11px; background:var(--navy); display:flex; align-items:center; justify-content:center;}
.logo .mk svg{width:22px; height:22px; stroke:#6fe3d4; stroke-width:1.7; fill:none; transition:transform .6s ease;}
.logo:hover .mk svg{transform:rotate(-8deg) scale(1.08);}
.logo{flex-shrink:0;}
/* .logo .logo-img (0,2,0) — перебивает WooCommerce `.woocommerce img{height:auto}` (0,1,1) на WC-страницах */
.logo .logo-img{height:44px; width:auto; display:block; transition:height .3s;}
header.scrolled .logo .logo-img{height:38px;}
.ft-logo .logo-img{height:48px;}
.logo b{font-family:'Manrope',sans-serif; font-size:18px; font-weight:600; letter-spacing:-0.02em; color:var(--ink); white-space:nowrap;}
nav{display:flex; gap:24px; margin:0 auto;}
nav a{font-size:15px; color:var(--muted); position:relative; transition:color .2s; white-space:nowrap;}
nav a.on,nav a:hover{color:var(--ink);}
nav a::after{content:""; position:absolute; left:0; bottom:-7px; height:2px; width:0; background:var(--teal); transition:width .3s;}
nav a:hover::after,nav a.on::after{width:100%;}
.hd-r{display:flex; align-items:center; gap:16px; flex-shrink:0;}
.hd-r .lang{font-family:'Manrope',sans-serif; font-size:14px; color:var(--muted); white-space:nowrap; margin-left: 12px;} .hd-r .lang b{color:var(--ink);}
.btn svg{transition:transform .25s;} .btn:hover{transform:translateY(-2px);} .btn:hover svg{transform:translateX(3px);}
.burgerCart{display: none;}

/* Ссылка «Подборка» в шапке (счётчик). На десктопе — иконка+счётчик (слово скрыто), в мобильном меню — с подписью. */
.hd-sel{position:relative; display:inline-flex; align-items:center; gap:6px; font-family:'Manrope',sans-serif; font-size:14px; font-weight:500; color:var(--ink); white-space:nowrap;}
.hd-sel svg{width:20px; height:20px; stroke:var(--ink); stroke-width:1.7; fill:none; transition:stroke .2s;}
.hd-sel:hover{color:var(--teal-d);} .hd-sel:hover svg{stroke:var(--teal-d);}
.hd-sel .hd-sel-lbl{display:none;}
.hd-sel-c{min-width:18px; height:18px; padding:0 5px; display:none; align-items:center; justify-content:center; font-size:11px; font-weight:700; line-height:1; color:#fff; background:var(--coral); border-radius:20px;}
.hd-sel-c.has{display:inline-flex;}
.mnav .m-sel{font-size:16px; padding:6px 0; color:var(--ink); margin-bottom:4px;}
.mnav .m-sel svg{stroke:var(--ink);}
.mnav .m-sel .hd-sel-lbl{display:inline;}

/* HERO */
.hero{position:relative; overflow:hidden; padding-top:84px; background:linear-gradient(180deg,#F4F8FB,#FFFFFF 60%);}
.hero .glow{position:absolute; top:-180px; right:-140px; width:620px; height:620px; border-radius:50%; background:radial-gradient(circle,rgba(0,184,169,.10),transparent 62%);}
.hero .wrap{position:relative; padding-top:70px; padding-bottom:56px;}
.hero-grid{display:grid; grid-template-columns:1.04fr .96fr; gap:36px; align-items:center;}
.hero h1{font-size:clamp(46px,5.2vw,74px); font-weight:700; margin-bottom:24px; color:var(--ink);}
.hero h1 .serif{color:var(--teal-d); font-weight:500;}
.hero .lead{color:var(--muted); font-size:18px; line-height:1.6; max-width:505px; margin-bottom:32px;}
.hero .cta{display:flex; gap:14px;}
.hero .trust{display:flex; gap:36px;}
.hero .trust .mini .n{font-family:'Manrope',sans-serif; font-size:25px; font-weight:600; color:var(--ink);}
.hero .trust .mini .l{font-size:13px; color:var(--muted); margin-top:3px;}
.hero .hero-r{height: 100%;}
.hero .visual{position:relative; height:100%; border-radius:var(--r-l); overflow:hidden; background:linear-gradient(155deg,#E9F4F1,#F2F7FA); border:1px solid var(--line);}
.hero .visual svg.art{position:absolute; inset:0; width:100%; height:100%;}
.hero .visual .art-photo{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.hero .visual .badge{position:absolute; left:41px; bottom:41px; background:rgba(255,255,255,.78); border:1px solid var(--line2); backdrop-filter:blur(6px); border-radius:14px; padding:15px 19px;}
.hero .visual .badge .n{font-family:'Manrope',sans-serif; font-size:32px; font-weight:600; color:var(--teal-d); line-height:1;}
.hero .visual .badge .l{font-size:13px; color:var(--muted); margin-top:4px;}
.hero-foot{display:flex; align-items:center; gap:30px; margin-top:52px; padding-top:30px; border-top:1px solid var(--line);}
.hero-foot .brands{display:flex; gap:26px; align-items:center;}
.hero-foot .brands b{font-family:'Manrope',sans-serif; font-size:19px; font-weight:600; color:var(--muted);}
.hero-foot .chips{display:flex; flex:1; gap:10px 16px; margin-left:0; flex-wrap:wrap; justify-content:space-between;}

/* Сравнение брендов (эталон Евгении) */
.sec-brands{padding:14px 0 6px;}
.brandc{display:grid; grid-template-columns:1fr 1fr; gap:44px;}
.brand-card{background:var(--bg2); border:1px solid var(--line); border-radius:var(--r-l); padding:28px 32px;}
.brand-head{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px;}
.brand-head h3{font-family:'Manrope',sans-serif; font-size:28px; font-weight:700; color:var(--ink);}
.brand-badge{font-family:'Manrope',sans-serif; font-size:12px; font-weight:500; color:rgba(255,255,255,.85); background:var(--navy); padding:9px 16px; border-radius:30px; white-space:nowrap;}
.brand-badge b{font-size:16px; font-weight:700; color:#fff; margin-right:5px;}
.brand-card p{color:var(--muted); font-size:15px; line-height:1.65;}
.brand-card p b{color:var(--green); font-weight:600;}
.hero-foot .chip{display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--ink); border:1px solid var(--line); border-radius:var(--r-s); padding:7px 13px; background:var(--surface);}
.hero-foot .chip svg{width:15px; height:15px; stroke:var(--teal-d); stroke-width:1.8; fill:none;}

/* SEGMENTS bento */
.bento{display:grid; grid-template-columns:repeat(3,1fr); gap:18px 20px;}
.seg{display:flex; flex-direction:column;}
.seg.wide{grid-column:span 2;}
.seg-photo{position:relative; display:block; height:232px; overflow:hidden; border:1px solid var(--line); background:#EDF2F5 center/cover no-repeat;border-radius:var(--r-m) var(--r-m) 0 0;}
.seg-card{ border-radius:var(--r-m);transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s;}
.seg-photo::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,25,45,.22), rgba(10,25,45,0) 42%);}
.seg-card:hover{transform:translateY(-6px); box-shadow:0 22px 46px -28px rgba(19,36,58,.5);}
.seg-photo .tg{position:absolute; z-index:2; top:18px; left:18px; font-family:'Manrope',sans-serif; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--navy); background:#fff; padding:9px 16px; border-radius:30px; box-shadow:0 2px 10px rgba(10,25,45,.16);}
.seg-photo .ar{position:absolute; z-index:2; top:18px; right:18px; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; transition:background .3s;}
.seg-photo .ar svg{width:17px; height:17px; stroke:var(--ink); fill:none; stroke-width:1.8; transition:transform .3s, stroke .3s;}
.seg-photo:hover .ar{background:var(--teal);} .seg-photo:hover .ar svg{stroke:#fff; transform:translate(2px,-2px);}
.seg-cap{color:var(--muted); font-size:13px; line-height:1.45; background:var(--bg2); border:1px solid var(--line); padding:12px 15px;border-radius: 0 0 var(--r-m) var(--r-m);}
.seg-sec .sec-h{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:56px; gap:14px; flex-direction: column;}
.seg-sec .sec-h h2{font-size:50px; font-weight:600; max-width:660px; margin-top: -0.35em}
.seg-sec .sec-h .text{display: flex; justify-content: space-between; width: 100%; align-items: center;}

/* ADVANTAGES */
.adv-sec{background:var(--bg2);}
/* Шапка секции по 2-колоночной сетке: кикер слева, заголовок над правой колонкой (вровень с «02») */
.adv-sec .sec-h{display:grid; grid-template-columns:1fr 1fr; gap:0 70px; align-items:start;}
.adv-sec .sec-h .kick{align-self:start; justify-self:start;}
.adv{display:grid; grid-template-columns:1fr 1fr; gap:0 70px;}
.adv .it{display:grid; grid-template-columns:78px 1fr; gap:20px; padding:34px 0; border-top:1px solid var(--line2);}
.adv .it .nm{font-family:'Manrope',sans-serif; font-size:34px; font-weight:700; color:var(--teal-d); line-height:1;}
.adv .it h3{font-family:'Manrope',sans-serif; font-size:22px; font-weight:600; margin-bottom:11px; color:var(--ink);}
.adv .it p{color:var(--muted); font-size:15px; line-height:1.6;}
.adv-sec .sec-h h2{margin-top: -0.30em;}

/* CATALOG — product cards on light */
.prod{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.pcard{border:1px solid var(--line); border-radius:var(--r-l); background:var(--surface); overflow:hidden; transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s, border-color .35s;}
.pcard:hover{transform:translateY(-6px); box-shadow:0 22px 44px -28px rgba(19,36,58,.4); border-color:var(--line2);}
.pcard .img{position:relative; height:176px; background:linear-gradient(160deg,#F7FAFB,#EDF2F5); display:flex; align-items:center; justify-content:center; border-bottom:1px solid var(--line);}
.pcard .img .ph{font-size:11px; color:var(--dim); position:absolute; bottom:10px; right:12px; letter-spacing:.04em;}
.pcard .img svg{width:96px; height:96px; stroke:var(--navy); stroke-width:1.2; fill:none; opacity:.55;}
.pcard .img .brand{position:absolute; top:12px; left:12px; font-family:'Manrope',sans-serif; font-size:11px; font-weight:600; color:var(--navy); background:#fff; border:1px solid var(--line); padding:4px 9px; border-radius:30px;}
.pcard .pb{padding:16px 18px 18px;}
.pcard h4{font-family:'Manrope',sans-serif; font-size:16px; font-weight:600; color:var(--ink); margin-bottom:3px;}
.pcard .sku{font-size:12px; color:var(--muted); margin-bottom:14px;}
.pcard .act{display:flex; gap:8px;}
.pcard .act .b1{flex:1; display:flex; align-items:center; justify-content:center; gap:7px; text-align:center; font-family:'Manrope',sans-serif; font-size:13px; font-weight:500; color:#fff; background:var(--navy); border-radius:8px; padding:9px 0; transition:background .18s;}
.pcard .act .b1:hover{background:#154C73;}
.pcard .act .b1 svg{transition:transform .2s;}          /* стрелка = будет переход на страницу подборки */
.pcard .act .b1:hover svg{transform:translateX(3px);}
.pcard .act .b2{width:40px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line2); border-radius:8px; transition:background .18s, border-color .18s;}
.pcard .act .b2 svg{width:18px; height:18px; stroke:var(--navy); stroke-width:1.7; fill:none; transition:stroke .18s, fill .18s;}
/* Активное состояние «в подборке»: сразу при клике (WC добавляет .added) и постоянно (.in-sel) */
.pcard .act .b2.added,.pcard .act .b2.in-sel{border-color:var(--teal-d); background:rgba(0,184,169,.09);}
.pcard .act .b2.added svg,.pcard .act .b2.in-sel svg{stroke:var(--teal-d); fill:var(--teal-d);}
/* Убираем добавляемую WooCommerce ссылку «Просмотр корзины» — вместо неё подсветка иконки */
a.added_to_cart{display:none !important;}
.cat-foot{display:flex; justify-content:space-between; align-items:center; margin-top:34px; padding:22px 26px; background:var(--bg2); border-radius:var(--r-l);}
.cat-foot p{color:var(--muted); font-size:15px;} .cat-foot b{color:var(--ink);}
.sec-catalog .sec-h p{max-width: 500px;}
.sec-catalog .sec-h h2{margin-top: -0.32em;}
.sec-catalog .sec-h{align-items: flex-start;}

/* PROCESS — hybrid dark section */
.proc-sec{background:linear-gradient(150deg,#0E2236,#123F61); position:relative; overflow:hidden;}
.proc-sec .deco{position:absolute; top:-120px; right:-80px; width:520px; height:520px; opacity:.35; pointer-events:none;}
.proc-sec .wrap{position:relative;}
.proc-sec .sec-h h2{color:#fff;}
.proc-sec .sec-h p{color:#9FB3C6;}
.proc-sec .kick{color:#4FE3D2;} .proc-sec .kick::before{background:#4FE3D2;}
.proc-sec .proc .st h4{color:#fff;}
.proc-sec .proc .st p{color:#A9BDCD; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; line-clamp: 2;}
.proc-sec .proc .st .n{color:#4FE3D2;}
.proc{display:grid; grid-template-columns:repeat(5,1fr); gap:24px; position:relative; padding-top:2px;}
.proc .pl{position:absolute; top:0; left:0; height:2px; width:100%; background:var(--teal); transform:scaleX(0); transform-origin:left; transition:transform 1.3s cubic-bezier(.16,1,.3,1);}
.proc.in .pl{transform:scaleX(1);}
.proc .st{padding-top:30px;}
.proc .st .n{font-family:'Manrope',sans-serif; font-size:15px; color:var(--teal-d); margin-bottom:44px;}
.proc .st h4{font-family:'Manrope',sans-serif; font-size:19px; font-weight:600; margin-bottom:10px; color:var(--ink);}
.proc .st p{color:var(--muted); font-size:14px; line-height:1.55;}

/* PROJECTS */
.pr{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.prc{border-radius:var(--r-l); overflow:hidden; border:1px solid var(--line); background:var(--surface); transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s, border-color .4s;}
.prc:hover{transform:translateY(-8px); box-shadow:0 24px 50px -30px rgba(19,36,58,.4); border-color:var(--line2);}
.prc .ph{height:224px; position:relative; background:linear-gradient(160deg,#1A5C8A,#123F61); overflow:hidden;}
.prc .ph svg{position:absolute; inset:0; width:100%; height:100%; opacity:.5; transition:transform 1.2s ease;}
.prc .ph .pphoto{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease;}
.prc:hover .ph .pphoto{transform:scale(1.05);}
.prc:hover .ph svg{transform:scale(1.06);}
.prc .ph .lbl{position:absolute; bottom:12px; right:14px; font-size:11px; color:rgba(255,255,255,.6); letter-spacing:.04em;}
.prc .ph .ty{position:absolute; top:18px; left:18px; background:#fff; color:var(--navy); font-family:'Manrope',sans-serif; font-size:13px; font-weight:700; padding:9px 16px; border-radius:30px; box-shadow:0 2px 10px rgba(10,25,45,.14);}
.prc .bd{padding:22px 24px 26px;}
.prc h3{font-family:'Manrope',sans-serif; font-size:21px; font-weight:600; margin-bottom:7px; color:var(--ink);}
.prc .mt{color:var(--muted); font-size:14px; margin-bottom:15px;}
.prc .tg{display:flex; gap:8px; flex-wrap:wrap;}
.prc .tg span{font-size:12px; color:var(--navy); border:1px solid var(--line); padding:5px 11px; border-radius:var(--r-s); background:var(--bg2);}
.sec-projects .sec-h{align-items: flex-start;}
.sec-projects .sec-h h2{margin-top: -0.32em;}

/* STATS */
.stats{background:linear-gradient(120deg,#123F61,#1A5C8A); color:#fff;}
.stats .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:30px; padding:80px 48px;}
.stats .it .n{font-family:'Manrope',sans-serif; font-size:64px; font-weight:500; line-height:.9; color:#fff;}
.stats .it .n em{font-style:normal; color:#4FE3D2;}
.stats .it .l{color:#C6DCEC; font-size:15px; margin-top:14px;}

/* CTA / FORM */
.cta-sec{background:var(--bg);}
.cta-grid{display:grid; grid-template-columns:1.02fr .98fr; gap:60px; align-items:start;}
.cta-l h2{font-family:'Manrope',sans-serif; font-size:48px; font-weight:600; letter-spacing:-0.03em; line-height:1.04; margin:18px 0 18px; color:var(--ink);}
.cta-l h2 .serif{color:var(--teal-d);}
.cta-l p{color:var(--muted); font-size:17px; line-height:1.6; max-width:420px; margin-bottom:30px;}
.cta-l .cc{display:flex; gap:34px;}
.cta-l .cc .it .lb{font-size:13px; color:var(--dim); margin-bottom:4px;}
.cta-l .cc .it .vl{font-family:'Manrope',sans-serif; font-size:18px; font-weight:600; color:var(--ink);}
.formc{background:var(--bg2); border:1px solid var(--line); border-radius:var(--r-l); padding:34px;}
.formc label{font-size:13px; font-weight:600; color:var(--text); margin-bottom:7px; display:block;} .formc label em{color:var(--coral); font-style:normal;}
.formc .fi{width:100%; height:50px; border:1px solid var(--line2); border-radius:var(--r-m); background:#fff; padding:0 15px; font-size:15px; font-family:inherit; color:var(--ink); margin-bottom:16px; outline:none; transition:border-color .2s, box-shadow .2s;}
.formc textarea.fi{height:80px; padding-top:13px; resize:none;}
.formc .fi::placeholder{color:var(--dim);}
.formc .fi:focus{border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,184,169,.16);}
.formc select.fi{color:var(--muted);}
.formc .submit{width:100%; justify-content:center; margin-top:4px;}
.formc .nt{font-size:12px; color:var(--dim); text-align:center; margin-top:13px;}
.mag-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.form-msg{font-size:14px; line-height:1.5; border-radius:var(--r-m); padding:12px 15px; margin-bottom:18px;}
.form-msg.ok{color:#0C6B54; background:rgba(46,139,87,.10); border:1px solid rgba(46,139,87,.30);}
.form-msg.err{color:#B0450A; background:rgba(232,93,4,.08); border:1px solid rgba(232,93,4,.30);}

/* СТРАНИЦА КОНТАКТОВ */
.contacts-sec .page-head{max-width:640px; margin-bottom:44px;}
.contacts-sec .page-head h1{font-size:52px; font-weight:600; letter-spacing:-0.03em; line-height:1.04; margin:16px 0 16px; color:var(--ink);}
.contacts-sec .page-head p{color:var(--muted); font-size:17px; line-height:1.6;}
.contact-list{display:flex; flex-direction:column; gap:14px;}
.contact-row{display:flex; align-items:flex-start; gap:16px; background:var(--bg2); border:1px solid var(--line); border-radius:var(--r-l); padding:20px 22px; transition:border-color .2s, transform .2s;}
a.contact-row:hover{border-color:var(--teal); transform:translateY(-2px);}
.contact-ic{flex-shrink:0; width:44px; height:44px; border-radius:12px; background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center;}
.contact-ic svg{width:20px; height:20px; stroke:var(--teal-d); stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round;}
.contact-tx{display:flex; flex-direction:column; gap:4px; font-family:'Manrope',sans-serif; font-size:17px; font-weight:600; color:var(--ink); padding-top:2px;}
.contact-tx b{font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--dim);}
.contact-map{margin-top:16px; height:230px; border-radius:var(--r-l); overflow:hidden; border:1px solid var(--line);}
.contact-map iframe{width:100%; height:100%; border:0; display:block;}

/* СТРАНИЦА УСЛУГ */
.services-sec .page-head{max-width:720px; margin-bottom:32px;}
.services-sec .page-head h1{font-size:52px; font-weight:600; letter-spacing:-0.03em; line-height:1.04; margin:16px 0 16px; color:var(--ink);}
.services-sec .page-head p{color:var(--muted); font-size:17px; line-height:1.6;}
.srv-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:30px; margin-bottom:64px;}
.srv-card{background:var(--bg2); border:1px solid var(--line); border-radius:var(--r-l); overflow:hidden; display:flex; flex-direction:column; transition:transform .25s, box-shadow .25s, border-color .25s;}
.srv-card:hover{transform:translateY(-4px); border-color:var(--line2); box-shadow:0 24px 48px -28px rgba(19,36,58,.35);}
.srv-img{position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--bg2);}
.srv-img img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s;}
.srv-card:hover .srv-img img{transform:scale(1.04);}
.srv-num{position:absolute; top:16px; left:16px; min-width:40px; height:40px; padding:0 10px; display:inline-flex; align-items:center; justify-content:center; font-family:'Manrope',sans-serif; font-weight:700; font-size:16px; color:var(--teal-d); background:rgba(255, 255, 255, .78); backdrop-filter:blur(6px); border-radius:11px;}
.srv-bd{padding:24px 26px 28px;}
.srv-bd h3{font-family:'Manrope',sans-serif; font-size:21px; font-weight:600; letter-spacing:-0.01em; color:var(--ink); margin-bottom:10px; line-height:1.2;}
.srv-bd p{color:var(--muted); font-size:15px; line-height:1.6;}
/* «Почему в каталоге нет цен» — блок без заливки, чтобы не спорить с плашкой CTA ниже */
.srv-price{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:start; margin-bottom:64px;}
.spr-txt p{color:var(--text); font-size:17px; line-height:1.7; margin-bottom:18px;}
.spr-txt .btn{margin-top:6px;}
.spr-parts{background:var(--bg2); border:1px solid var(--line); border-radius:var(--r-l); padding:28px 32px;}
.spr-lbl{display:block; font-family:'Manrope',sans-serif; font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:6px; color:var(--navy); background:#fff; border:1px solid var(--line); padding:4px 9px; border-radius:30px; width: fit-content;}
.spr-part{padding:20px 0; border-bottom:1px solid var(--line);}
.spr-part:last-child{padding-bottom:0; border-bottom:none;}
.spr-part h3{font-family:'Manrope',sans-serif; font-size:17px; font-weight:600; color:var(--ink); margin-bottom:6px;}
.spr-part p{color:var(--muted); font-size:15px; line-height:1.6;}
.srv-cta{display:flex; align-items:center; justify-content:space-between; gap:34px; background:var(--bg2); border:1px solid var(--line); border-radius:var(--r-l); padding:40px 44px;}
.srv-cta-l h2{font-family:'Manrope',sans-serif; font-size:30px; font-weight:600; letter-spacing:-0.02em; color:var(--ink); margin-bottom:8px;}
.srv-cta-l p{color:var(--muted); font-size:16px; line-height:1.6; max-width:560px;}
.srv-cta .btn{flex-shrink:0;}

/* СТРАНИЦА ПРОЕКТОВ */
.projects-sec .page-head{max-width:720px; margin-bottom:30px;}
.projects-sec .page-head h1{font-size:52px; font-weight:600; letter-spacing:-0.03em; line-height:1.04; margin:16px 0 16px; color:var(--ink);}
.projects-sec .page-head p{color:var(--muted); font-size:17px; line-height:1.6;}
.pj-filter{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px;}
.pj-chip{font-family:'Manrope',sans-serif; font-size:14px; font-weight:500; color:var(--text); background:var(--surface); border:1px solid var(--line2); border-radius:30px; padding:10px 20px; cursor:pointer; transition:background .2s, color .2s, border-color .2s;}
.pj-chip:hover{border-color:var(--teal); color:var(--ink);}
.pj-chip.on{background:var(--navy); border-color:var(--navy); color:#fff;}
.pj-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-bottom:64px;}
.pj-card{background:var(--bg2); border:1px solid var(--line); border-radius:var(--r-l); overflow:hidden; display:flex; flex-direction:column; transition:transform .25s, box-shadow .25s, border-color .25s;}
.pj-card:hover{transform:translateY(-4px); border-color:var(--line2); box-shadow:0 24px 48px -28px rgba(19,36,58,.35);}
.pj-card.hide{display:none;}
.pj-ph{position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--bg2);}
.pj-ph img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s;}
.pj-card:hover .pj-ph img{transform:scale(1.04);}
.pj-ty{position:absolute; top:14px; left:14px; font-family:'Manrope',sans-serif; font-size:12px; font-weight:600; letter-spacing:.03em; color:var(--teal-d); background:rgba(255,255,255,.78); backdrop-filter:blur(6px); padding:7px 13px; border-radius:20px;}
.pj-bd{padding:20px 22px 22px; display:flex; flex-direction:column; gap:12px;}
.pj-bd h3{font-family:'Manrope',sans-serif; font-size:19px; font-weight:600; color:var(--ink); line-height:1.2;}
.pj-tags{display:flex; flex-wrap:wrap; gap:8px;}
.pj-tags span{font-size:12px; color:var(--teal-d); background:rgba(0,184,169,.08); border:1px solid rgba(0,184,169,.22); border-radius:20px; padding:5px 11px;}
.pj-eco{display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:500; color:var(--navy);}
.pj-eco svg{width:15px; height:15px; stroke:var(--navy); stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round;}

/* СТРАНИЦА О КОМПАНИИ */
.about-sec .page-head{max-width:720px; margin-bottom:44px;}
.about-sec .page-head h1{font-size:52px; font-weight:600; letter-spacing:-0.03em; line-height:1.04; margin:16px 0 16px; color:var(--ink);}
.about-sec .about-txt-small{color:var(--muted); font-size:17px; line-height:1.6;}
.about-intro{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; margin-bottom:72px;}
.about-txt p{color:var(--text); font-size:17px; line-height:1.7; margin-bottom:18px;}
.about-tags{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px;}
.about-tags span{font-family:'Manrope',sans-serif; font-size:13px; font-weight:500; color:#fff; background:var(--navy); padding:9px 18px; border-radius:30px;}
.about-img{border-radius:var(--r-l); overflow:hidden; border:1px solid var(--line); aspect-ratio:4/5;}
.about-img img{width:100%; height:100%; object-fit:cover; display:block;}
.as-n{font-family:'Manrope',sans-serif; font-size:52px; font-weight:600; letter-spacing:-0.02em; color:var(--ink); line-height:1;}
.as-n em{color:var(--teal-d); font-style:normal;}
.as-l{color:var(--muted); font-size:14px; line-height:1.5; margin-top:12px;}
.about-values{padding-block:32px; margin-block:32px; background-color: var(--bg2);}
.av-head{margin-bottom:38px;}
.av-head h2{font-size:38px; font-weight:600; letter-spacing:-0.02em; color:var(--ink); margin-top:14px;}
.av-head h2 .ac{color:var(--teal-d);}
.av-grid{display:grid; grid-template-columns:1fr 1fr; gap:32px 48px;}
.av-it{display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start;}
.av-n{font-family:'Manrope',sans-serif; font-size:22px; font-weight:700; color:var(--teal-d); line-height:1.1; min-width:30px;} /* фикс. ширина — иначе «01» и «03» дают разный отступ заголовка */
.av-it h3{font-family:'Manrope',sans-serif; font-size:18px; font-weight:600; color:var(--ink); margin-bottom:7px;}
.av-it p{color:var(--muted); font-size:15px; line-height:1.6;}
/* «Мировые бренды» — аргументация + фирменные плашки Hunter / Rain Bird */
.about-brands{margin-bottom:64px; margin-top: 72px;}
.brands-grid{display:grid; grid-template-columns:1.35fr .65fr; gap:56px; align-items:start;}
.brands-lead{color:var(--text); font-size:17px; line-height:1.7; margin-bottom:28px;}
.brands-list{list-style:none; margin:0; padding:0; display:grid; gap:22px;}
.brands-list li{display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start;}
.bl-ic{width:34px; height:34px; border-radius:10px; background:var(--surface2); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.bl-ic svg{stroke:var(--teal-d); stroke-width:2.2; fill:none; stroke-linecap:round; stroke-linejoin:round;}
.brands-list h3{font-family:'Manrope',sans-serif; font-size:17px; font-weight:600; color:var(--ink); margin-bottom:6px;}
.brands-list p{color:var(--muted); font-size:15px; line-height:1.6;}
.brands-card{background:var(--surface2); border:1px solid var(--line); border-radius:var(--r-l); padding:26px;}
.brands-logos{display:grid; gap:14px;}
/* Плашка — фирменный цвет бренда фоном, логотип белый PNG с прозрачностью (масштабируется чисто) */
.bl-plate{border-radius:var(--r-m); height:84px; display:flex; align-items:center; justify-content:center; padding:0 26px;}
.bl-hunter{background:#016589;}
.bl-rb{background:#00823C;}
.bl-plate img{height:34px; width:auto; max-width:100%; object-fit:contain; display:block;}
.brands-note{color:var(--muted); font-size:13px; line-height:1.55; margin-top:18px;}
/* «Кто делает работу» — фото слева, текст справа (зеркалит интро) */
.about-team{display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; margin-bottom:64px;}
.team-img{border-radius:var(--r-l); overflow:hidden; border:1px solid var(--line); aspect-ratio:3/2;}
.team-img img{width:100%; height:100%; object-fit:cover; display:block;}
.team-txt .av-head{margin-bottom:24px;}
.team-txt p{color:var(--text); font-size:17px; line-height:1.7; margin-bottom:16px;}
.team-txt p:last-child{margin-bottom:0;}
.about-content{height: 100%; display: flex;flex-direction: column; justify-content: space-between;}

/* --- Модалка подтверждения ------------------------------------------------ */
.mag-modal{ position:fixed; inset:0; z-index:90; display:flex; align-items:center; justify-content:center; padding:20px; }
.mag-modal[hidden]{ display:none; }
.mag-modal-ov{ position:absolute; inset:0; background:rgba(10,25,45,.5); animation:magFade .18s ease-out; }
.mag-modal-box{
	position:relative; width:min(440px,100%); background:#fff; border-radius:var(--r-l);
	padding:30px 32px; box-shadow:0 40px 80px -30px rgba(19,36,58,.5);
	animation:magPop .22s cubic-bezier(.16,1,.3,1);
}
.mag-modal-box h2{ font-family:'Manrope',sans-serif; font-size:22px; font-weight:600; letter-spacing:-0.02em; color:var(--ink); margin-bottom:10px; }
.mag-modal-box p{ font-size:15px; line-height:1.6; color:var(--muted); margin-bottom:24px; }
.mag-modal-act{ display:flex; gap:12px; justify-content:flex-end; }
/* Вариант модалки с формой заявки — шире и со скроллом, форма высокая */
.mag-modal-lead{ width:min(520px,100%); max-height:88vh; overflow-y:auto; }
.mag-modal-lead .formc{ background:none; border:none; padding:0; box-shadow:none; }
.mag-modal-sub{ margin-bottom:20px; }
.mag-modal-x{
	position:absolute; top:16px; right:16px; width:34px; height:34px;
	display:flex; align-items:center; justify-content:center;
	background:none; border:none; border-radius:50%; cursor:pointer; transition:background .18s;
}
.mag-modal-x svg{ stroke:var(--muted); stroke-width:2; fill:none; stroke-linecap:round; }
.mag-modal-x:hover{ background:var(--surface2); }
.mag-modal-x:hover svg{ stroke:var(--ink); }
/* Подпись «Запрос по товару: …» — появляется, когда модалку открыли со страницы товара */
.formc .lead-product{
	margin:0 0 16px; padding:11px 14px; border-radius:var(--r-s);
	background:var(--surface2); border:1px solid var(--line);
	font-size:13px; line-height:1.45; color:var(--muted);
}
.formc .lead-product b{ display:block; margin-top:2px; font-family:'Manrope',sans-serif; font-size:14px; font-weight:600; color:var(--ink); }
.formc .lead-product[hidden]{ display:none; }

/* Чекбокс «приложить подборку».
   Селектор с `.formc` обязателен: правило `.formc label{display:block}` выше
   специфичнее одиночного класса и ломало бы выравнивание по центру. */
.formc .lead-attach{
	display:flex; align-items:center; gap:10px; cursor:pointer; user-select:none;
	margin:4px 0 2px; padding:11px 14px; border-radius:var(--r-s);
	background:rgba(0,184,169,.07); border:1px solid rgba(0,184,169,.25);
	font-family:'Manrope',sans-serif; font-size:14px; font-weight:500; line-height:1.35; color:var(--teal-d);
}
.formc .lead-attach input{ width:16px; height:16px; accent-color:var(--teal-d); margin:0; flex-shrink:0; }
.mag-modal-act .btn{ padding:12px 22px; font-size:14px; }
@keyframes magFade{ from{ opacity:0; } }
@keyframes magPop{ from{ opacity:0; transform:translateY(10px) scale(.98); } }
@media (prefers-reduced-motion:reduce){
	.mag-modal-ov, .mag-modal-box{ animation:none; }
}

/* СТРАНИЦА 404 */
.e404-sec{background:linear-gradient(180deg,#F4F8FB,#FFFFFF 55%);}
.e404{max-width:660px; margin:0 auto; text-align:center; padding:12px 0 8px;}
/* Крупная «404» фирменным градиентом — единственный декор на странице */
.e404-art{display:flex; justify-content:center; margin:10px 0 2px;}
.e404-n{font-size:clamp(96px,16vw,168px); font-weight:700; line-height:1; letter-spacing:-0.05em;
	background:linear-gradient(135deg,#1A5C8A,#00B8A9); -webkit-background-clip:text; background-clip:text; color:transparent; opacity:.18;}
.e404 h1{font-size:44px; font-weight:600; letter-spacing:-0.03em; line-height:1.06; margin:6px 0 14px; color:var(--ink);}
.e404 > p{color:var(--muted); font-size:17px; line-height:1.6; max-width:520px; margin:0 auto 28px;}
/* Поиск по каталогу — частый сценарий: пришли по устаревшей ссылке на товар */
.e404-search{display:flex; gap:10px; max-width:520px; margin:0 auto 24px; position:relative;}
.e404-search input{flex:1; height:50px; padding:0 16px 0 46px; font-family:'Inter',sans-serif; font-size:15px; color:var(--ink);
	background:#fff; border:1px solid var(--line2); border-radius:var(--r-m); transition:border-color .18s, box-shadow .18s; -webkit-appearance:none; appearance:none;}
.e404-search input::placeholder{color:var(--dim);}
.e404-search input:focus{outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(26,92,138,.10);}
.e404-search input::-webkit-search-cancel-button{-webkit-appearance:none;}
.e404-search-ic{position:absolute; left:15px; top:15px; pointer-events:none; stroke:var(--muted); stroke-width:1.8; fill:none; stroke-linecap:round;}
.e404-search:focus-within .e404-search-ic{stroke:var(--navy);}
.e404-search .btn{flex-shrink:0; padding:0 24px; height:50px;}
.e404-cta{display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}

/* СТРАНИЦА ПАРТНЁРАМ */
.partners-sec .page-head{max-width:720px; margin-bottom:44px;}
.partners-sec .page-head h1{font-size:52px; font-weight:600; letter-spacing:-0.03em; line-height:1.04; margin:16px 0 16px; color:var(--ink);}
.partners-sec .page-head p{color:var(--muted); font-size:17px; line-height:1.6;}
.ptr-intro{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-bottom:80px;}
.ptr-left{display: flex;height: 100%; flex-direction: column; justify-content: space-between;}
.ptr-txt p{color:var(--text); font-size:17px; line-height:1.7; margin-bottom:18px;}
.ptr-txt .btn{margin-top:12px;}
.ptr-img{border-radius:var(--r-l); overflow:hidden; border:1px solid var(--line); height: 100%;}
.ptr-img img{width:100%; height:100%; object-fit:cover; display:block;}
.ptr-block{margin-bottom:72px;}
.ptr-types{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.ptr-type{background:var(--bg2); border:1px solid var(--line); border-radius:var(--r-l); padding:28px 24px; transition:border-color .2s, transform .2s;}
.ptr-type:hover{border-color:var(--teal); transform:translateY(-3px);}
.ptr-type h3{font-family:'Manrope',sans-serif; font-size:17px; font-weight:600; color:var(--ink); margin:16px 0 8px;}
.ptr-type p{color:var(--muted); font-size:14px; line-height:1.55;}
.ptr-ic{width:52px; height:52px; border-radius:14px; background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center;}
.ptr-ic svg{width:24px; height:24px; stroke:var(--teal-d); stroke-width:1.6; fill:none; stroke-linecap:round; stroke-linejoin:round;}
.ptr-ic.sm{width:46px; height:46px; border-radius:12px; flex-shrink:0;}
.ptr-ic.sm svg{width:21px; height:21px;}
.ptr-benefits{display:grid; grid-template-columns:repeat(3,1fr); gap:30px 34px;}
.ptr-benefit{display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start;}
.ptr-benefit h3{font-family:'Manrope',sans-serif; font-size:17px; font-weight:600; color:var(--ink); margin-bottom:6px;}
.ptr-benefit p{color:var(--muted); font-size:14px; line-height:1.55;}

/* FOOTER */
footer{background:var(--footer); color:#9FB3C6; padding:84px 0 36px; position: relative;}
.ft-top{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; padding-bottom:52px; border-bottom:1px solid rgba(255,255,255,.12);}
.ft-top .logo .mk{background:rgba(255,255,255,.08);} .ft-top .logo b{color:#fff;}
.ft-big{font-family:'Manrope',sans-serif; font-size:28px; font-weight:600; letter-spacing:-0.02em; max-width:360px; line-height:1.15; color:#fff;}
.ft-big span{color:#6E8298;}
.ft-chips{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;}
.ft-chip{font-size:13px; color:#CFE0EC; border:1px solid rgba(255,255,255,.18); border-radius:30px; padding:8px 15px; background:rgba(255,255,255,.04);}
.ft-col h5{font-family:'Manrope',sans-serif; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:#6E8298; margin-bottom:18px;}
.ft-col a{display:block; font-size:15px; color:#9FB3C6; transition:color .2s;}
.ft-col a:hover{color:#fff;}
.ft-bot{display:flex; justify-content:space-between; align-items:center; padding-top:26px; color:#6E8298; font-size:14px;}
.ft-bot .r{display:flex; gap:12px;}
.ft-bot .r a{width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; transition:border-color .2s;}
.ft-bot .r a:hover{border-color:var(--teal);} .ft-bot .r a svg{width:17px; height:17px; fill:#9FB3C6; stroke:none;}
.ft-bot .r a:hover svg{fill:var(--teal);}
.ft-col{display: flex; flex-direction: column; gap: 12px;}

/* FLOATING WHATSAPP */
.wa{position:fixed; right:26px; bottom:26px; z-index:60; width:58px; height:58px; border-radius:50%; background:var(--teal); display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -8px rgba(0,184,169,.55); transition:transform .25s;}
.wa:hover{transform:scale(1.08);}
.wa svg{width:30px; height:30px; fill:#fff; stroke:none;}

/* PROCESS DOTS + hover grow */
.proc .st{position:relative; cursor:default;}
.proc .st::before{content:""; position:absolute; top:-5px; left:0; width:10px; height:10px; border-radius:50%; background:#2FE0CC; box-shadow:0 0 0 4px rgba(47,224,204,.16); transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s;}
.proc .st:hover::before{transform:scale(1.7); box-shadow:0 0 0 9px rgba(47,224,204,.22);}
.proc .st .n{transition:transform .35s cubic-bezier(.16,1,.3,1); transform-origin:left bottom;}
.proc .st:hover .n{transform:scale(1.45);}
.proc .st h4{transition:transform .35s cubic-bezier(.16,1,.3,1); transform-origin:left top;}
.proc .st:hover h4{transform:scale(1.06);}
@media (prefers-reduced-motion:reduce){
  .proc .st:hover::before, .proc .st:hover .n, .proc .st:hover h4{transform:none;}
}

/* WATER SAVINGS CHIP */
.prc .eco{display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:#0C8076; background:#E7F6F4; border:1px solid rgba(0,184,169,.3); padding:5px 12px; border-radius:30px; margin-top:10px;}
.prc .eco svg{width:13px; height:13px; stroke:#0C8076; stroke-width:1.8; fill:none;}

/* BRAND CARDS (hero-foot) */
.bcard{display:flex; align-items:center; gap:12px;}
.bcard .blogo{min-width:96px; height:44px; padding:0 14px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-family:'Manrope',sans-serif; font-weight:800; color:#fff; font-size:15px;}
.bcard .blogo.hunter{background:#187B44; font-style:italic;}
.bcard .blogo.rainbird{background:#1E6B3C;}
.bcard span{font-size:12.5px; color:var(--muted); max-width:180px; line-height:1.35;}
.bnote{font-size:13.5px; color:var(--muted); max-width:270px; line-height:1.5; margin-left:auto;}

/* CONTACT ICONS */
.cc-ic{width:17px; height:17px; stroke:var(--teal-d); stroke-width:1.8; fill:none; stroke-linecap:round; stroke-linejoin:round;}
.ft-ci{display:flex; gap:10px; align-items:flex-start; font-size:15px; color:#9FB3C6;}
.ft-ci svg{width:17px; height:17px; stroke:#4FE3D2; stroke-width:1.8; fill:none; flex-shrink:0; margin-top:2px; stroke-linecap:round; stroke-linejoin:round;}
.ft-ci.dim{color:#6E8298;} .ft-ci.dim svg{stroke:#6E8298;}

/* FLOATING TELEGRAM */
.tg-fab{position:fixed; right:26px; bottom:96px; z-index:60; width:58px; height:58px; border-radius:50%; background:#2AABEE; display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -8px rgba(42,171,238,.55); transition:transform .25s;}
.tg-fab:hover{transform:scale(1.08);}
.tg-fab svg{width:30px; height:30px; fill:#fff; stroke:none;}

/* ANIM */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1; transform:none;}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(-40px,30px)}}
@keyframes ripple{0%,100%{opacity:.3}50%{opacity:.7}}
@keyframes draw{from{stroke-dashoffset:1500}to{stroke-dashoffset:0}}
.hero .glow{animation:drift 18s ease-in-out infinite alternate;}
.hero .visual .art circle{transform-box:fill-box; transform-origin:center; animation:ripple 4.4s ease-in-out infinite;}
.hero .visual .art path{stroke-dasharray:1500; animation:draw 2.6s cubic-bezier(.16,1,.3,1) forwards;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1!important; transform:none!important; transition:none!important;}
  .proc .pl{transform:scaleX(1)!important;}
  .glow,.hero .visual .art circle,.hero .visual .art path{animation:none!important; stroke-dashoffset:0!important;}
  html{scroll-behavior:auto;}
}


.cookie-modal__content {position: fixed;left: 50px;bottom: 50px;width: 676px;background: var(--bg2);border-radius: var(--r-l);padding: 32px;display: flex;gap: 20px; align-items: center;box-shadow: 0 14px 30px -8px rgba(0,0,0,0.3);}
.cookie-modal__content p{font-size: 13px;color:var(--muted);}
.cookie-modal__content .btn{font-size: 14px; height: 50px;}
.cookie-modal__content a{color: var(--teal-d); text-decoration: underline;cursor: pointer;}

.privacy-sec .legal-grid{display: grid; grid-template-columns: 230px 1fr; gap: clamp(28px, 5vw, 72px); align-items: start;margin-top: 130px;}
.privacy-sec .legal-toc{flex-direction: column; gap:10px; position: sticky; top: 80px;}
.privacy-sec .page-head{max-width:640px; margin-bottom:44px;}
.privacy-sec .page-head h1{font-size:52px; font-weight:600; letter-spacing:-0.03em; line-height:1.04; margin:16px 0 16px; color:var(--ink);}
.privacy-sec .page-head p{color:var(--muted); font-size:17px; line-height:1.6;}
.privacy-sec .legal-block{padding-block: 30px;scroll-margin-top: 100px; border-bottom: 1px solid var(--dim); display: flex; flex-direction: column; gap: 14px;}
.privacy-sec .legal-block ol, .privacy-sec .legal-block ul{padding-left: 40px; gap: 11px; display: grid;}
.privacy-sec .legal-block .av-n{margin-right: 18px;}
.privacy-sec .updated, .privacy-sec .legal-toc h4{color: var(--dim); font-size: 14px; font-family: 'Manrope', sans-serif;}
.privacy-sec .updated{margin-bottom: 14px;}
.privacy-sec p, .privacy-sec a, .privacy-sec li{color: var(--muted); font-size: 15px;line-height: 1.6;}
.privacy-sec h2, .privacy-sec h4, .privacy-sec b{color: var(--ink); font-family: 'Manrope', sans-serif;}
.privacy-sec .legal-block:last-of-type {border-bottom: none;}

.terms-sec .legal-grid{display: grid; grid-template-columns: 230px 1fr; gap: clamp(28px, 5vw, 72px); align-items: start;margin-top: 130px;}
.terms-sec .legal-toc{flex-direction: column; gap:10px; position: sticky; top: 80px;}
.terms-sec .page-head{max-width:640px; margin-bottom:44px;}
.terms-sec .page-head h1{font-size:52px; font-weight:600; letter-spacing:-0.03em; line-height:1.04; margin:16px 0 16px; color:var(--ink);}
.terms-sec .page-head p{color:var(--muted); font-size:17px; line-height:1.6;}
.terms-sec .legal-block{padding-block: 30px;scroll-margin-top: 100px; border-bottom: 1px solid var(--dim); display: flex; flex-direction: column; gap: 14px;}
.terms-sec .legal-block ol, .terms-sec .legal-block ul{padding-left: 40px; gap: 11px; display: grid;}
.terms-sec .legal-block .av-n{margin-right: 18px;}
.terms-sec .updated, .terms-sec .legal-toc h4{color: var(--dim); font-size: 14px; font-family: 'Manrope', sans-serif;}
.terms-sec .updated{margin-bottom: 14px;}
.terms-sec p, .terms-sec a, .terms-sec li{color: var(--muted); font-size: 15px;line-height: 1.6;}
.terms-sec h2, .terms-sec h4, .terms-sec b{color: var(--ink); font-family: 'Manrope', sans-serif;}
.terms-sec .legal-block:last-of-type {border-bottom: none;}

/* --- Тост-уведомление (Добавление в подборку) --------------------------- */
.mag-toast{position:fixed; top:102px; right:48px; z-index:999;background:#ffffff; color:var(--ink); border-radius:var(--r-m);padding:14px 20px; display:flex; align-items:center; gap:12px;box-shadow:0 12px 36px rgba(19,36,58,.15); border:1px solid var(--line);transform:translateX(120%); opacity:0; pointer-events:none;transition:transform .3s cubic-bezier(.16,1,.3,1), opacity .3s;}
.mag-toast.show{transform:translateX(0); opacity:1; pointer-events:auto;}
.mag-toast svg{width:20px; height:20px; stroke:var(--teal); stroke-width:2.5; fill:none; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0;}
.mag-toast span{font-family:'Manrope',sans-serif; font-size:15px; font-weight:600; color:var(--ink); white-space:nowrap;}