/* Archam print — light e-commerce theme */
:root{
  --bg:#ffffff;--bg2:#f6f7f9;--card:#ffffff;--text:#16202b;--muted:#5c6b7c;
  --accent:#2563eb;--accent-d:#1d4ed8;--border:#e5e9ee;--ok:#1fa06d;--err:#d64545;
  --radius:14px;--shadow:0 2px 14px rgba(22,32,43,.07);
  --font:'Inter','Noto Sans Georgian',-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6;font-size:16px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1160px;margin:0 auto;padding:0 20px}
h1{font-size:clamp(1.8rem,4.5vw,3rem);line-height:1.2}
h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:.5em}
h3{font-size:1.05rem}
section{padding:56px 0}
.muted{color:var(--muted)}
.accent{color:var(--accent)}
.hidden{display:none!important}

/* topbar + header */
.topbar{background:#16202b;color:#cfd8e3;font-size:.82rem;padding:7px 0}
.topbar .container{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.topbar a{color:#cfd8e3}
.topbar a:hover{color:#fff}
header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;gap:18px;height:66px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.2rem;white-space:nowrap}
.logo svg{width:32px;height:32px;flex:none}
.nav-links{display:flex;gap:18px;margin-left:auto;font-size:.95rem;font-weight:500}
.nav-links a:hover{color:var(--accent)}
.langs{display:flex;gap:4px}
.langs a{padding:4px 9px;border-radius:8px;border:1px solid var(--border);font-size:.82rem;font-weight:600;color:var(--muted)}
.langs a.active{background:var(--accent);border-color:var(--accent);color:#fff}
.cartbtn{position:relative;border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:1.05rem;cursor:pointer;background:#fff}
.cartbtn b{position:absolute;top:-7px;right:-7px;background:var(--accent);color:#fff;font-size:.7rem;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center}
.burger{display:none;background:none;border:1px solid var(--border);border-radius:8px;color:var(--text);padding:6px 10px;font-size:1.05rem;cursor:pointer}

/* hero */
.hero{background:linear-gradient(180deg,#eef4ff,#fff);padding:64px 0 52px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.hero p.lead{font-size:1.1rem;color:var(--muted);margin:16px 0 24px;max-width:540px}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.badge{background:#fff;border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:.84rem;color:var(--muted);box-shadow:var(--shadow)}
.badge b{color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:12px;font-weight:700;font-size:.98rem;border:none;cursor:pointer;transition:.15s;text-align:center}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-d)}
.btn-ghost{background:#fff;color:var(--text);border:1px solid var(--border)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.hero-art{display:flex;justify-content:center}
.hero-art svg{width:min(300px,75%);filter:drop-shadow(0 16px 32px rgba(37,99,235,.25))}

/* section heads */
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.sec-head .all{color:var(--accent);font-weight:600;font-size:.92rem}

/* product grid */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pcard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.15s;display:flex;flex-direction:column}
.pcard:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(22,32,43,.12)}
.pimg{aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.pimg .ph{font-size:4rem}
.pimg img{width:100%;height:100%;object-fit:cover}
.pimg .tag{position:absolute;top:10px;left:10px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px}
.pimg .tag.green{background:var(--ok)}
.pbody{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.pbody h3{font-size:.98rem;line-height:1.35}
.pbody .cat{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.prow{display:flex;align-items:center;justify-content:space-between;margin-top:auto;gap:8px}
.price{font-weight:800;font-size:1.15rem;white-space:nowrap}
.add{background:#e8efff;color:var(--accent);border:none;border-radius:10px;padding:8px 14px;font-weight:700;cursor:pointer;font-size:.86rem;white-space:nowrap}
.add:hover{background:var(--accent);color:#fff}

/* works */
#works{background:var(--bg2)}
.wcard{border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:var(--shadow)}
.wimg{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-size:4.5rem;overflow:hidden}
.wimg img{width:100%;height:100%;object-fit:cover}
.wcap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(22,32,43,.85));color:#fff;padding:26px 16px 12px;font-size:.9rem;font-weight:600}
.wcap span{display:block;font-size:.76rem;font-weight:400;opacity:.85}

/* calculator */
.calc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.drop{border:2px dashed #d8dee6;border-radius:var(--radius);padding:34px 20px;text-align:center;cursor:pointer;background:var(--bg2);transition:.15s}
.drop:hover,.drop.drag{border-color:var(--accent);background:#eef4ff}
.drop .big{font-size:2.2rem}
.drop p{color:var(--muted);font-size:.88rem;margin-top:6px}
#previewBox{display:none;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-top:14px;box-shadow:var(--shadow)}
#stlCanvas{width:100%;height:230px;border-radius:10px;background:#f0f3f7;display:block}
.model-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.model-stats span{background:var(--bg2);border-radius:8px;padding:4px 10px;font-size:.8rem;color:var(--muted)}
.model-stats b{color:var(--text)}
.model-stats .warn{background:#fdecec;color:var(--err);font-weight:600}
.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.field{margin-bottom:14px}
.field label{display:block;font-size:.84rem;color:var(--muted);margin-bottom:6px;font-weight:600}
.field select,.field input[type=number],.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea{
  width:100%;background:#fff;border:1px solid #d8dee6;border-radius:10px;color:var(--text);padding:10px 12px;font-size:.94rem;font-family:var(--font)}
.field select:focus,.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.range-row{display:flex;align-items:center;gap:12px}
.range-row input[type=range]{flex:1;accent-color:var(--accent)}
.range-row output{min-width:44px;text-align:right;font-weight:700}
.check{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--muted);cursor:pointer}
.check input{width:17px;height:17px;accent-color:var(--accent)}
.price-box{background:#eef4ff;border:1px solid #bfd3f8;border-radius:var(--radius);padding:16px 18px;margin-top:4px}
.price-line{display:flex;justify-content:space-between;font-size:.88rem;color:var(--muted);padding:2px 0}
.price-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #bfd3f8;margin-top:8px;padding-top:8px}
.price-total .sum{font-size:1.8rem;font-weight:800;color:var(--accent)}
.price-note{font-size:.78rem;color:var(--muted);margin-top:6px}
.order-btns{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.form-status{margin-top:12px;font-size:.92rem;display:none;padding:10px 14px;border-radius:10px}
.form-status.ok{display:block;background:#e7f6ee;color:var(--ok);border:1px solid #b8e6cf}
.form-status.err{display:block;background:#fdecec;color:var(--err);border:1px solid #f3c1c1}
#nonStl{background:#fff8e8;border:1px solid #f0dfae;border-radius:var(--radius);padding:16px 18px;margin-top:14px;font-size:.9rem}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:st}
.step{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;padding-top:52px;box-shadow:var(--shadow)}
.step::before{counter-increment:st;content:counter(st);position:absolute;top:14px;left:18px;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.9rem}
.step p{color:var(--muted);font-size:.88rem}

/* table */
.tbl{width:100%;border-collapse:collapse;background:#fff;font-size:.92rem}
.tbl th,.tbl td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border)}
.tbl th{background:var(--bg2);color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.tbl tr:last-child td{border-bottom:none}
.tbl-scroll{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow)}

/* faq */
details{background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:10px;overflow:hidden;box-shadow:var(--shadow)}
details summary{padding:15px 20px;cursor:pointer;font-weight:600;list-style:none;position:relative;padding-right:44px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:1.3rem;font-weight:400}
details[open] summary::after{content:'−'}
details .ans{padding:0 20px 15px;color:var(--muted);font-size:.93rem}

/* cart drawer */
#overlay{position:fixed;inset:0;background:rgba(22,32,43,.45);opacity:0;pointer-events:none;transition:.25s;z-index:90}
#overlay.show{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:-420px;width:min(400px,94vw);height:100%;background:#fff;z-index:95;transition:.28s;display:flex;flex-direction:column;box-shadow:-8px 0 30px rgba(22,32,43,.15)}
.drawer.open{right:0}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border)}
.drawer-head h3{font-size:1.1rem}
.x{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--muted);line-height:1}
#cartItems{flex:1;overflow-y:auto;padding:10px 20px}
.cart-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.cart-thumb{width:52px;height:52px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex:none}
.cart-info{flex:1;min-width:0;font-size:.9rem}
.cart-info b{display:block;line-height:1.3}
.qty-ctl{display:flex;align-items:center;gap:8px}
.qty-ctl button{width:26px;height:26px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:1rem}
.cart-del{background:none;border:none;color:var(--muted);font-size:1.2rem;cursor:pointer}
.drawer-foot{padding:16px 20px;border-top:1px solid var(--border)}
.drawer-total{display:flex;justify-content:space-between;font-weight:800;font-size:1.1rem;margin-bottom:12px}
.drawer-foot .btn{width:100%}
.pay-note{font-size:.78rem;color:var(--muted);margin-top:10px;text-align:center}

/* checkout modal */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:96;padding:16px}
.modal.open{display:flex}
.modal-card{background:#fff;border-radius:16px;max-width:520px;width:100%;max-height:92vh;overflow-y:auto;padding:24px;position:relative;box-shadow:0 20px 60px rgba(22,32,43,.3)}
.modal-card .x{position:absolute;top:14px;right:16px}
.modal-card h3{margin-bottom:14px;font-size:1.2rem}
.modal-card textarea{resize:vertical;min-height:80px;font-size:.86rem;color:var(--muted)}

/* contacts / footer */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}
.contact-card{text-align:center;padding:22px}
.contact-card .ic{font-size:1.8rem;margin-bottom:8px}
footer{background:#16202b;color:#aeb9c7;padding:36px 0 24px;font-size:.88rem}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}
.foot h4{color:#fff;margin-bottom:8px;font-size:.95rem}
.foot a{display:block;padding:2px 0}
.foot a:hover{color:var(--accent)}
.copyright{border-top:1px solid #2a3a4d;margin-top:26px;padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.8rem}

/* toast */
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:#16202b;color:#fff;padding:12px 22px;border-radius:12px;font-size:.92rem;opacity:0;pointer-events:none;transition:.3s;z-index:100;max-width:90vw;text-align:center}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media(max-width:920px){
  .hero-grid,.calc-wrap{grid-template-columns:1fr}
  .grid4,.grid3,.steps,.contact-grid{grid-template-columns:1fr 1fr}
  .hero-art{display:none}
  .foot{grid-template-columns:1fr}
  .nav-links{display:none;position:absolute;top:66px;left:0;right:0;background:#fff;flex-direction:column;padding:14px 20px;border-bottom:1px solid var(--border);box-shadow:var(--shadow)}
  .nav-links.open{display:flex}
  .burger{display:block;margin-left:auto}
}
@media(max-width:560px){
  .grid4,.grid3,.steps,.contact-grid{grid-template-columns:1fr}
  section{padding:40px 0}
}

/* ---- production additions (по паттернам утверждённой линии) ---- */
.lead{font-size:1.1rem}
.price s{color:var(--muted);font-weight:500;font-size:.85rem;margin-right:6px}
.cat-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px;font-size:.88rem}
.chip{background:#fff;border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:.86rem;font-weight:600;color:var(--muted);box-shadow:var(--shadow)}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.cat-hero{padding:40px 0 0}
.cat-hero h1{margin-top:10px}
.crumbs{font-size:.85rem;color:var(--muted)}
.crumbs a:hover{color:var(--accent)}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cta-band h2{margin-bottom:4px}
#trackResult .panel{margin-top:0}
.status-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.82rem;font-weight:700;background:#e8efff;color:var(--accent)}
.status-badge.done{background:#e7f6ee;color:var(--ok)}
.status-badge.cancelled{background:#fdecec;color:var(--err)}
.foot-legal{margin-top:22px;font-size:.82rem}
.foot-legal a{display:inline;opacity:.85}
.foot-legal a:hover{color:var(--accent)}
.pay-opts{display:flex;flex-direction:column;gap:8px;margin-top:2px}
#payTransferInfo{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:.86rem;color:var(--muted);margin-top:10px}
.site-credit a{display:inline;opacity:.9}
.site-credit a:hover{color:var(--accent)}
.site-credit b{font-weight:600}
.float-chat{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:10px;z-index:80}
.fc-btn{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 18px rgba(22,32,43,.28);transition:.15s}
.fc-btn svg{width:28px;height:28px}
.fc-btn:hover{transform:scale(1.08)}
.fc-wa{background:#25d366}
.fc-tg{background:#229ED9}
@media(max-width:560px){.float-chat{right:12px;bottom:12px}.fc-btn{width:48px;height:48px}}
.model-stats .warn-soft{background:#fdf3d7;color:#8a6d1a;font-weight:600;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.warn-soft button{background:#f2b705;color:#16202b;border:none;border-radius:8px;padding:4px 10px;font-weight:700;font-size:.8rem;cursor:pointer}
.warn-soft button:hover{background:#e0a800}
.size-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.size-row input{width:90px}
.size-preset{background:var(--bg2);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:600;cursor:pointer;color:var(--muted)}
.size-preset:hover{border-color:var(--accent);color:var(--accent)}
/* ---- hero: каскадное появление + «работающий принтер» ---- */
@keyframes heroUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero h1{animation:heroUp .6s ease-out both}
.hero p.lead{animation:heroUp .6s ease-out .12s both}
.hero .hero-badges{animation:heroUp .6s ease-out .24s both}
.hero .cta-row{animation:heroUp .6s ease-out .36s both}
.hero-badges .badge{transition:transform .15s}
.hero-badges .badge:hover{transform:translateY(-2px)}
.hero-art svg{animation:heroFloat 6s ease-in-out 2.4s infinite}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.pr-head{transform-box:fill-box;animation:prHead 2.4s ease-in-out .4s infinite alternate}
@keyframes prHead{from{transform:translateX(-28px)}to{transform:translateX(28px)}}
.pr-cube{transform-box:fill-box;transform-origin:center bottom;animation:prGrow 1.6s cubic-bezier(.2,.8,.3,1) .3s backwards}
@keyframes prGrow{from{transform:scaleY(.08);opacity:.35}to{transform:scaleY(1);opacity:1}}
.pr-scan{transform-box:fill-box;opacity:0;animation:prScan 3s linear 2.2s infinite}
@keyframes prScan{0%{transform:translateY(62px);opacity:0}12%{opacity:.65}80%{opacity:.65}100%{transform:translateY(0);opacity:0}}
@media (prefers-reduced-motion: reduce){
  .hero h1,.hero p.lead,.hero .hero-badges,.hero .cta-row,.hero-art svg,.pr-head,.pr-cube,.pr-scan{animation:none}
  .pr-scan{opacity:0}
}
/* ---- единый переключатель языка ---- */
.lang-menu{position:relative}
.lang-menu summary{list-style:none;cursor:pointer;border:1px solid var(--border);border-radius:999px;padding:7px 14px;font-weight:600;font-size:.88rem;white-space:nowrap;user-select:none}
.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu summary:hover{border-color:var(--accent);color:var(--accent)}
.lang-menu[open] summary{border-color:var(--accent)}
.lang-list{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px rgba(22,32,43,.14);padding:6px;min-width:170px;z-index:60;display:flex;flex-direction:column}
.lang-list a{padding:9px 12px;border-radius:9px;font-size:.9rem;font-weight:600;white-space:nowrap}
.lang-list a:hover{background:var(--bg2)}
.lang-list a.active{background:var(--accent);color:#fff}
/* ---- hero-фото и фотовставка ---- */
.hero-art img{width:min(430px,100%);height:auto;border-radius:22px;box-shadow:0 24px 60px rgba(37,99,235,.28);animation:heroFloat 6s ease-in-out 2.4s infinite}
.photo-band{padding:0 0 26px}
.photo-band img{width:100%;height:340px;object-fit:cover;border-radius:var(--radius);box-shadow:0 16px 40px rgba(22,32,43,.16)}
@media(max-width:560px){.photo-band img{height:200px}}
@media (prefers-reduced-motion: reduce){.hero-art img{animation:none}}
.lang-menu summary::after{content:none}
details.lang-menu{background:none;border:none;padding:0;margin:0;border-radius:0;overflow:visible;box-shadow:none}
.lang-menu summary{padding:7px 14px}
/* ---- scroll-reveal нижних секций ---- */
.rev-ready .rev h2{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.rev-ready .rev .step,.rev-ready .rev .contact-card,.rev-ready .rev details,.rev-ready .rev tbody tr,.rev-ready .photo-band.rev img{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}
.rev-ready .photo-band.rev img{transform:scale(1.045)}
.rev.rev-in h2,.rev.rev-in .step,.rev.rev-in .contact-card,.rev.rev-in details,.rev.rev-in tbody tr{opacity:1;transform:none}
.photo-band.rev.rev-in img{opacity:1;transform:scale(1)}
.rev.rev-in .step:nth-child(1),.rev.rev-in .contact-card:nth-child(1),.rev.rev-in tbody tr:nth-child(1){transition-delay:.06s}
.rev.rev-in .step:nth-child(2),.rev.rev-in .contact-card:nth-child(2),.rev.rev-in tbody tr:nth-child(2){transition-delay:.14s}
.rev.rev-in .step:nth-child(3),.rev.rev-in .contact-card:nth-child(3),.rev.rev-in tbody tr:nth-child(3){transition-delay:.22s}
.rev.rev-in .step:nth-child(4),.rev.rev-in .contact-card:nth-child(4),.rev.rev-in tbody tr:nth-child(4){transition-delay:.30s}
.rev.rev-in tbody tr:nth-child(5){transition-delay:.38s}
.rev.rev-in details:nth-of-type(1){transition-delay:.05s}
.rev.rev-in details:nth-of-type(2){transition-delay:.10s}
.rev.rev-in details:nth-of-type(3){transition-delay:.15s}
.rev.rev-in details:nth-of-type(4){transition-delay:.20s}
.rev.rev-in details:nth-of-type(5){transition-delay:.25s}
.rev.rev-in details:nth-of-type(6){transition-delay:.30s}
.rev.rev-in details:nth-of-type(7){transition-delay:.35s}
.rev.rev-in details:nth-of-type(8){transition-delay:.40s}
/* ---- «Как заказать»: линия маршрута и живые шаги ---- */
.steps{position:relative}
@media(min-width:921px){.steps::before{content:'';position:absolute;top:29px;left:6%;right:6%;border-top:2px dashed #bfd3f8;z-index:0}}
.step{position:relative;z-index:1;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.step:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(37,99,235,.14);border-color:var(--accent)}
.rev.rev-in .step::before{animation:stepPop .45s cubic-bezier(.3,1.6,.5,1) backwards}
.rev.rev-in .step:nth-child(1)::before{animation-delay:.15s}
.rev.rev-in .step:nth-child(2)::before{animation-delay:.30s}
.rev.rev-in .step:nth-child(3)::before{animation-delay:.45s}
.rev.rev-in .step:nth-child(4)::before{animation-delay:.60s}
@keyframes stepPop{from{transform:scale(0)}to{transform:scale(1)}}
/* ---- материалы: цветные маркеры и hover строк ---- */
.tbl tbody tr{transition:background .15s}
.tbl tbody tr:hover{background:#eef4ff}
.tbl td:first-child b{display:inline-flex;align-items:center;gap:8px}
.tbl td:first-child b::before{content:'';width:10px;height:10px;border-radius:50%;flex:none}
.tbl tbody tr:nth-child(1) td:first-child b::before{background:#2563eb}
.tbl tbody tr:nth-child(2) td:first-child b::before{background:#0d9488}
.tbl tbody tr:nth-child(3) td:first-child b::before{background:#7c3aed}
.tbl tbody tr:nth-child(4) td:first-child b::before{background:#db2777}
.tbl tbody tr:nth-child(5) td:first-child b::before{background:#475569}
.tbl tbody td:nth-child(2){font-weight:700;color:var(--accent);white-space:nowrap}
/* ---- карточки доставки/контактов и FAQ ---- */
.contact-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.contact-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(37,99,235,.14);border-color:var(--accent)}
.contact-card .ic{transition:transform .25s ease}
.contact-card:hover .ic{transform:scale(1.18) rotate(-4deg)}
details{transition:border-color .15s,box-shadow .15s}
details:hover{border-color:var(--accent)}
details[open] .ans{animation:ansIn .3s ease}
@keyframes ansIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
  .rev h2,.rev .step,.rev .contact-card,.rev details,.rev tbody tr,.photo-band.rev img{opacity:1;transform:none;transition:none}
  .rev.rev-in .step::before{animation:none}
  details[open] .ans{animation:none}
}
/* ---- объёмные декоративные элементы ---- */
.hero,.photo-band,#contact-cards{position:relative;overflow:visible}
.hero{overflow:hidden}
#contact-cards{overflow:hidden}
.deco{position:absolute;pointer-events:none;z-index:0}
.hero .container,.photo-band .container,#contact-cards .container{position:relative;z-index:1}
.deco-blob{border-radius:50%;filter:blur(60px);opacity:.55}
.deco-blob.b1{width:420px;height:420px;left:-120px;top:-80px;background:radial-gradient(circle,#bfd3f8,transparent 70%)}
.deco-blob.b2{width:360px;height:360px;right:6%;bottom:-140px;background:radial-gradient(circle,#dbe7ff,transparent 70%)}
.deco-cube{width:92px;height:92px;right:4%;top:64px;perspective:700px}
.deco-cube.small{width:64px;height:64px;left:3%;bottom:30px;top:auto;right:auto}
.deco-cube .c{position:absolute;inset:0;transform-style:preserve-3d;animation:cubeSpin 18s linear infinite}
.deco-cube .f{position:absolute;inset:0;border:2px solid rgba(37,99,235,.32);background:rgba(37,99,235,.04);border-radius:8px}
.deco-cube .f1{transform:translateZ(46px)}
.deco-cube .f2{transform:rotateY(180deg) translateZ(46px)}
.deco-cube .f3{transform:rotateY(90deg) translateZ(46px)}
.deco-cube .f4{transform:rotateY(-90deg) translateZ(46px)}
.deco-cube .f5{transform:rotateX(90deg) translateZ(46px)}
.deco-cube .f6{transform:rotateX(-90deg) translateZ(46px)}
.deco-cube.small .f1,.deco-cube.small .f2,.deco-cube.small .f3,.deco-cube.small .f4,.deco-cube.small .f5,.deco-cube.small .f6{border-radius:6px}
.deco-cube.small .f1{transform:translateZ(32px)}
.deco-cube.small .f2{transform:rotateY(180deg) translateZ(32px)}
.deco-cube.small .f3{transform:rotateY(90deg) translateZ(32px)}
.deco-cube.small .f4{transform:rotateY(-90deg) translateZ(32px)}
.deco-cube.small .f5{transform:rotateX(90deg) translateZ(32px)}
.deco-cube.small .f6{transform:rotateX(-90deg) translateZ(32px)}
@keyframes cubeSpin{from{transform:rotateX(-18deg) rotateY(0)}to{transform:rotateX(-18deg) rotateY(360deg)}}
.deco-ring{width:150px;height:150px;left:8%;bottom:40px;border:2.5px dashed rgba(37,99,235,.3);border-radius:50%;animation:ringSpin 26s linear infinite}
.deco-ring.r2{left:auto;right:3%;top:-40px;bottom:auto;width:180px;height:180px;border-color:rgba(37,99,235,.22)}
@keyframes ringSpin{from{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.06)}to{transform:rotate(360deg) scale(1)}}
/* ---- tilt за курсором ---- */
[data-tilt]{transform-style:preserve-3d;will-change:transform}
[data-tilt].tilting{transition:transform .08s linear}
[data-tilt].tilt-reset{transition:transform .45s ease}
@media(max-width:920px){.deco{display:none}}
@media (prefers-reduced-motion: reduce){.deco-cube .c,.deco-ring{animation:none}}
.alt-chat{margin-top:12px;font-size:.85rem;color:var(--muted)}
.alt-chat a{font-weight:700;color:var(--accent)}
.alt-chat a:hover{text-decoration:underline}
/* ---- hero: типографика вместо «рамочек» ---- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;animation:heroUp .6s ease-out both}
.eyebrow::before{content:'';width:28px;height:2px;background:var(--accent);border-radius:2px;flex:none}
.hero h1 .accent{background:linear-gradient(95deg,#2563eb,#0ea5e9);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-facts{display:flex;flex-wrap:wrap;gap:12px 26px;margin:6px 0 30px;animation:heroUp .6s ease-out .24s both}
.hero-facts .hf{display:inline-flex;align-items:center;gap:8px;font-size:.93rem;font-weight:600;color:#3b4a5c}
.hero-facts .hf svg{width:19px;height:19px;color:var(--accent);flex:none}
.btn-hero{padding:15px 26px;border-radius:14px;font-size:1.02rem;background:linear-gradient(135deg,#2f6bff,#1d4ed8);box-shadow:0 12px 28px rgba(37,99,235,.35);display:inline-flex;align-items:center;gap:10px;transition:transform .18s ease,box-shadow .18s ease}
.btn-hero svg{width:19px;height:19px;transition:transform .18s ease}
.btn-hero:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(37,99,235,.45);background:linear-gradient(135deg,#2f6bff,#1d4ed8)}
.btn-hero:hover svg{transform:translateX(4px)}
.link-cta{display:inline-flex;align-items:center;font-weight:700;color:var(--ink);padding:15px 10px;transition:color .15s}
.link-cta:hover{color:var(--accent)}
@media (prefers-reduced-motion: reduce){.eyebrow,.hero-facts{animation:none}}
/* ---- блок лайв-эфира ---- */
.live-band{background:linear-gradient(120deg,#16202b,#1e3a8a);color:#fff;padding:44px 0}
.live-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.live-band h2{color:#fff;display:inline}
.live-band p{color:#c7d4ea;margin-top:10px;max-width:560px}
.live-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:#ef4444;margin-right:10px;animation:livePulse 1.6s ease-in-out infinite}
@keyframes livePulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.5)}50%{box-shadow:0 0 0 9px rgba(239,68,68,0)}}
@media (prefers-reduced-motion: reduce){.live-dot{animation:none}}
/* ---- отзывы ---- */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.rv-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;margin:0}
.rv-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.rv-card blockquote{margin:0;font-size:.95rem;line-height:1.55;color:var(--ink)}
.rv-card figcaption{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.9rem}
.rv-stars{color:#f2b705;letter-spacing:2px}
