  :root{
    --black:#0d0d0c;
    --yellow:#ffd100;
    --paper:#f6f3ea;
    --paper-dark:#ece7d8;
    --ink:#17160f;
    --grey:#6b6654;     /* вторичный текст на светлом: ≥4.5:1 на paper / paper-dark / белом (WCAG AA) */
    --grey-soft:#8a8471; /* вторичный текст на чёрном (5.2:1 на --black) */
    --line:#d9d3bf;
    --red:#d7261e;      /* супрематический красный — только редкая фигура/полоса, не для ошибок */
    --radius:2px;
    /* шрифты: заголовки — Geologica 900 (с кириллицей; Archivo Black кириллицы не имел),
       текст — Manrope, данные/цены/размеры — IBM Plex Mono, рукописная нота — Neucha */
    --font-display:'Geologica','Arial Black',sans-serif;
    --font-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
    --font-mono:'IBM Plex Mono',ui-monospace,'Cascadia Mono',monospace;
    --font-hand:'Neucha',cursive;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  html{overflow-x:hidden;width:100%;}
  body{
    margin:0;
    overflow-x:hidden;
    max-width:100%;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--font-body);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:var(--font-display);font-weight:900;
    text-transform:uppercase;
    letter-spacing:0.01em;
    line-height:1.05;
    margin:0;
  }
  .mono{font-family:var(--font-mono);}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
  ::selection{background:var(--yellow);color:var(--black);}

  /* ---------- header ---------- */
  header{position:relative;z-index:50;}
  header nav.menu-bar{position:relative;z-index:80;}  /* липкая вся шапка — см. «ЛИПКОЕ МЕНЮ» ниже */

  .top-strip{
    background:#ffffff;position:relative;z-index:3;
    box-shadow:0 4px 10px rgba(0,0,0,.15);
  }
  .top-strip-inner{
    max-width:1180px;margin:0 auto;padding:11px 24px;
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--grey);
  }
  .top-strip a{text-decoration:none;color:var(--ink);font-weight:500;text-transform:uppercase;letter-spacing:.04em;}
  .top-strip-auth-btn{
    background:none;border:none;padding:0;cursor:pointer;
    color:var(--ink);font-weight:500;text-transform:uppercase;letter-spacing:.04em;
    font-family:var(--font-body);font-size:inherit;
  }
  .top-strip-auth-btn:hover{color:var(--grey);}

  .top-strip-icon-link{display:inline-flex;align-items:center;gap:6px;}
  .top-strip-icon-link svg{width:16px;height:16px;flex:none;}

  .auth-modal-overlay{
    display:none;position:fixed;inset:0;background:rgba(13,13,12,.6);z-index:200;
    align-items:center;justify-content:center;padding:20px;
  }
  .auth-modal-overlay.open{display:flex;}
  .auth-modal{
    background:#fff;max-width:420px;width:100%;padding:32px;position:relative;
    border:2px solid var(--black);max-height:90vh;overflow-y:auto;
  }
  .auth-modal-close{
    position:absolute;top:14px;right:16px;background:none;border:none;font-size:26px;
    cursor:pointer;color:var(--ink);line-height:1;
  }
  .auth-modal-tabs{display:flex;gap:0;margin-bottom:24px;border-bottom:2px solid var(--line);}
  .auth-modal-tab{
    flex:1;background:none;border:none;padding:12px 8px;cursor:pointer;
    font-family:var(--font-display);font-weight:900;font-size:13px;text-transform:uppercase;
    color:var(--grey);border-bottom:3px solid transparent;margin-bottom:-2px;
  }
  .auth-modal-tab.active{color:var(--ink);border-bottom-color:var(--black);}
  .auth-modal-panel{display:none;}
  .auth-modal-panel.active{display:block;}
  .top-strip a:hover{color:var(--grey);}
  .top-address-link{
    color:var(--ink) !important;font-weight:500 !important;text-transform:none !important;
    letter-spacing:normal !important;display:inline-flex;align-items:center;gap:5px;
  }
  .top-address-link .geo-icon{width:15px;height:15px;flex:none;}
  .top-address-link:hover{color:var(--ink) !important;text-decoration:underline !important;}
  .top-strip-auth{display:flex;align-items:center;gap:24px;}
  .auth-sep{color:var(--line);}

  .top-bar{background:#ffffff;position:relative;z-index:2;}
  .top-bar-inner{
    display:flex;align-items:center;justify-content:space-between;gap:20px;
    padding:32px 24px;max-width:1180px;margin:0 auto;
  }
  .logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex:none;}
  .logo-mark{
    width:42px;height:42px;background:var(--black);position:relative;flex:none;
    transform:rotate(-6deg);
  }
  .logo-mark span{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    color:var(--yellow);font-family:var(--font-display);font-weight:900;font-size:22px;
    transform:rotate(6deg);
  }
  .logo-text{font-family:var(--font-display);font-weight:900;font-size:24px;text-transform:uppercase;}

  .site-search{
    max-width:312px;display:flex;align-items:center;gap:8px;
    border:2px solid var(--line);border-radius:var(--radius);padding:8px 14px;
    color:var(--grey);flex:1;position:relative;
  }
  .site-search svg{width:16px;height:16px;flex:none;}
  .site-search input{
    border:none;outline:none;background:none;font-family:var(--font-body);
    font-size:13px;color:var(--ink);width:100%;
  }
  .site-search input::placeholder{color:var(--grey);}
  .site-search:focus-within{border-color:var(--black);}

  .top-social{display:flex;align-items:center;gap:14px;}
  .social-icon{
    width:33px;height:33px;flex:none;
    display:flex;align-items:center;justify-content:center;
    text-decoration:none;cursor:pointer;
    transition:transform .15s ease,filter .15s ease;
  }
  .social-icon svg{width:100%;height:100%;display:block;}
  .social-icon:hover{transform:translateY(-3px);filter:brightness(1.08);}

  .top-contacts{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none;}
  .top-contacts a{
    text-decoration:none;font-family:var(--font-body);font-size:16px;font-weight:700;
    color:var(--black);white-space:nowrap;letter-spacing:.01em;
  }
  .top-contacts a:hover{color:var(--grey);}

  .menu-bar{background:var(--black);}
  .menu-bar-inner{
    display:flex;align-items:center;flex-wrap:wrap;
    max-width:1180px;margin:0 auto;padding:0 24px;
  }

  .nav-item{position:relative;flex:none;}
  .nav-link{
    display:flex;align-items:center;gap:6px;white-space:nowrap;
    background:none;border:none;cursor:pointer;
    font-family:var(--font-body);font-weight:700;font-size:13.5px;
    text-transform:uppercase;letter-spacing:.02em;color:var(--paper);
    padding:14px 14px;text-decoration:none;
    transition:background .12s ease,color .12s ease;
  }
  .menu-bar .nav-link:hover{background:var(--yellow);color:var(--black);}
  .nav-item.has-dropdown .nav-link::after{
    content:"";width:6px;height:6px;
    border-right:2px solid currentColor;border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-2px);margin-left:2px;transition:transform .15s ease;
  }
  .nav-item.open .nav-link::after{transform:rotate(225deg) translateY(2px);}
  .dropdown-menu{
    position:absolute;top:100%;left:0;
    min-width:230px;background:var(--paper);
    border:2px solid var(--black);
    display:none;flex-direction:column;
    z-index:60;box-shadow:6px 6px 0 var(--yellow);
  }
  .section-tabs-shadow-wrap{
    background:var(--paper);position:relative;z-index:5;
  }
  .section-tabs{
    display:flex;max-width:1180px;margin:0 auto;padding:0 24px;
  }
  .section-tab{
    padding:13px 20px;font-family:var(--font-display);font-weight:900;font-size:12.5px;text-transform:uppercase;letter-spacing:.02em;
    cursor:pointer;border:none;background:var(--black);color:var(--paper);white-space:nowrap;
    border-top:3px solid transparent;transition:background .15s ease,color .15s ease;
  }
  a.section-tab{text-decoration:none;display:inline-block;}
  .section-tab.active{background:#ffffff;color:var(--black);border-top-color:var(--yellow);}
  .section-tab:not(.active):hover{background:#262620;}

  .dropdown-menu.mega{
    display:none;flex-direction:row;gap:22px;
    position:fixed;left:50%;transform:translateX(-50%);
    width:900px;max-width:92vw;
    background:var(--paper);border:2px solid var(--black);
    box-shadow:6px 6px 0 var(--yellow);
    padding:22px;
  }
  .nav-item.open .dropdown-menu.mega{display:flex;}
  .mega-promo{
    flex:0 0 232px;background:var(--black);color:var(--paper);
    padding:16px;display:flex;flex-direction:column;
  }
  .mega-promo .ph{
    width:200px;height:200px;max-width:100%;border:2px dashed var(--yellow);
    display:flex;align-items:center;justify-content:center;
    color:var(--yellow);font-family:var(--font-mono);font-size:12px;text-align:center;margin-bottom:12px;
  }

  .subcat-layout{display:flex;gap:24px;align-items:stretch;}
  .subcat-grid{
    flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  }
  .subcat-tile{
    display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;text-decoration:none;
    border:2px solid var(--black);background:var(--paper);padding:16px;box-shadow:5px 5px 0 var(--yellow);
    transition:transform .15s ease;
  }
  .subcat-tile:hover{transform:translateY(-3px);}
  .subcat-tile .ph{
    width:100%;aspect-ratio:1/1;background:var(--paper-dark);overflow:hidden;
  }
  .subcat-tile .ph img{width:100%;height:100%;object-fit:cover;display:block;}
  .subcat-tile span{font-size:13.5px;font-weight:700;color:var(--ink);}
  .subcat-tile .price-yellow{background:var(--yellow);color:var(--black);padding:3px 12px;font-family:var(--font-display);font-weight:900;font-size:13px;}
  .subcat-promo{
    flex:0 0 260px;background:var(--black);color:var(--paper);text-decoration:none;
    padding:20px;display:flex;flex-direction:column;transition:transform .15s ease;
  }
  .subcat-promo:hover{transform:translateY(-3px);}
  .subcat-promo .ph{
    width:100%;aspect-ratio:1/1;border:2px solid var(--yellow);margin-bottom:14px;overflow:hidden;
  }
  .subcat-promo .ph img{width:100%;height:100%;object-fit:cover;display:block;}
  .subcat-promo b{font-family:var(--font-display);font-weight:900;font-size:16px;text-transform:uppercase;display:block;margin-bottom:8px;}
  .subcat-promo b em{background:var(--yellow);color:var(--black);padding:0 4px;font-style:normal;}
  .subcat-promo span{font-size:12.5px;color:#cfcabb;line-height:1.5;}
  .subcat-promo span s{color:#8a8471;}
  .subcat-promo span .price-yellow{background:var(--yellow);color:var(--black);padding:1px 6px;font-family:var(--font-display);font-weight:900;}
  @media (max-width:900px){
    .subcat-layout{flex-direction:column;}
    .subcat-grid{grid-template-columns:repeat(2,1fr);}
    .subcat-promo{flex:none;}
  }
  .mega-promo .ph img{width:100%;height:100%;object-fit:cover;}
  .mega-promo b{font-family:var(--font-display);font-weight:900;font-size:14px;text-transform:uppercase;display:block;margin-bottom:4px;}
  .mega-promo span{font-size:12px;color:#cfcabb;}
  .mega-promo .price-yellow{color:var(--yellow);font-family:var(--font-body);font-weight:700;font-size:14px;}
  .mega-grid{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-content:start;}
  .mega-item{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;text-align:center;}
  .mega-item .ph{
    width:100%;aspect-ratio:1/1;border:2px dashed var(--line);background:var(--paper-dark);
    display:flex;align-items:center;justify-content:center;color:var(--grey);
    font-family:var(--font-mono);font-size:12px;overflow:hidden;
  }
  .mega-item .ph img{width:100%;height:100%;object-fit:cover;display:block;}
  .mega-item .ph:has(img){border-style:solid;}
  .mega-item span{font-size:12.5px;font-weight:700;color:var(--ink);}
  .mega-item:hover .ph{border-color:var(--black);}
  .mega-item:hover span{color:var(--grey);}
  .nav-item.open .dropdown-menu{display:flex;}
  .dropdown-menu > a{
    display:block;padding:13px 18px;font-size:13px;font-weight:700;
    text-transform:none;letter-spacing:0;border-bottom:1px solid var(--line);color:var(--ink);
  }
  .dropdown-menu > a:last-child{border-bottom:none;}
  .dropdown-menu > a:hover{background:var(--black);color:var(--yellow);}
  .dropdown-menu > a.soon{color:var(--grey);pointer-events:none;font-style:italic;font-weight:500;}
  .dropdown-menu > a.soon::after{content:" — скоро";font-size:12px;}

  .cta-menu{
    margin-left:auto;flex:none;
    background:var(--yellow)!important;color:var(--black)!important;
    padding:8px 16px;font-weight:600;
  }
  .cta-menu:hover{background:var(--paper)!important;}

  .btn{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--black);color:var(--paper);
    font-weight:600;text-transform:uppercase;font-size:13px;letter-spacing:.03em;
    padding:12px 20px;border:none;cursor:pointer;text-decoration:none;
    border-radius:var(--radius);
    transition:transform .15s ease, background .15s ease;
  }
  .btn:hover{background:var(--yellow);color:var(--black);transform:translateY(-2px);}
  .btn-outline{
    background:transparent;color:var(--black);border:2px solid var(--black);
  }
  .btn-outline:hover{background:var(--black);color:var(--yellow);}
  .nav-toggle{display:none;background:none;border:none;cursor:pointer;flex:none;}
  .nav-toggle span{display:block;width:26px;height:3px;background:var(--black);margin:5px 0;}

  /* ---------- hero ---------- */
  .hero-slider-wrap{
    position:relative;overflow:hidden;width:100%;background:var(--paper);
  }
  .hero-track{
    display:flex;width:500%;
    transition:transform .55s cubic-bezier(.4,0,.2,1);
  }
  .hero-slide{
    width:20%;flex:none;
    padding:56px 0 56px;
  }
  .hero-inner{
    display:grid;grid-template-columns:0.85fr 1.15fr;gap:40px;align-items:center;
    max-width:1400px;margin:0 auto;padding:0 24px;
  }
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;
    text-transform:uppercase;color:var(--grey);margin-bottom:18px;
  }
  .eyebrow::before{content:"";width:22px;height:2px;background:var(--black);display:inline-block;}
  .hero-slide h1{font-family:var(--font-display);font-weight:900;text-transform:uppercase;line-height:1.05;font-size:clamp(30px,3.8vw,52px);margin:0;}
  .hero-slide h1 em{
    font-style:normal;background:var(--yellow);padding:0 8px;box-decoration-break:clone;
    -webkit-box-decoration-break:clone;
  }
  .hero-slide p.lead{max-width:480px;margin:22px 0 30px;font-size:17px;color:#3c3a30;}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
  .hero-slogan{
    margin-top:18px;font-family:var(--font-hand);font-size:26px;font-weight:400;
    color:#9c7208;line-height:1.35; /* тёмное золото: ≥3:1 для крупного текста */
    max-width:420px;
  }
  .hero-visual{position:relative;display:flex;align-items:center;justify-content:center;}
  .slide-img-ph{
    width:100%;max-width:620px;aspect-ratio:4/3;
    display:flex;align-items:center;justify-content:center;text-align:center;
    color:var(--grey);font-family:var(--font-mono);font-size:13px;line-height:1.5;
  }
  .slide-img-ph img{width:100%;height:100%;object-fit:contain;}
  .slide-img-ph-first{max-width:713px;} /* на 15% крупнее остальных слайдов (620px) */

  .hero-arrows{position:absolute;top:38%;left:0;right:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none;padding:0 20px;z-index:5;}
  .arrow{
    pointer-events:auto;width:42px;height:42px;border-radius:50%;flex:none;
    background:var(--paper);border:2px solid var(--black);color:var(--black);
    display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;
    cursor:pointer;transition:background .15s ease,color .15s ease;
  }
  .arrow:hover{background:var(--black);color:var(--yellow);}
  .hero-dots-outer{
    position:absolute;bottom:20px;left:0;right:0;
    display:flex;gap:8px;justify-content:center;z-index:5;
  }
  .dot{
    width:10px;height:10px;border-radius:50%;padding:0;
    background:transparent;border:2px solid var(--black);cursor:pointer;
  }
  .dot.active{background:var(--black);}

  /* stat strip */
  .strip{
    background:var(--black);color:var(--paper);
    padding:18px 0;overflow:hidden;
  }
  .strip .wrap{display:flex;gap:60px;justify-content:space-between;flex-wrap:wrap;}
  .strip-item{font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#cfcabb;}
  .strip-item b{color:var(--yellow);font-size:15px;}

  /* ---------- section heading ---------- */
  section{padding:84px 0;}
  .sec-head{max-width:640px;margin-bottom:48px;}
  .sec-head .eyebrow{margin-bottom:14px;}
  .sec-head h2,.sec-head h1{font-size:clamp(28px,3.6vw,42px);}
  .sec-head h2 em,.sec-head h1 em{
    font-style:normal;background:var(--yellow);padding:0 8px;box-decoration-break:clone;
    -webkit-box-decoration-break:clone;
  }
  .sec-head p{color:var(--grey);margin-top:14px;font-size:16px;}

  /* ---------- services grid ---------- */
  .services{background:var(--paper-dark);}
  .services-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
    background:var(--black);border:2px solid var(--black);
  }
  .service-card{
    background:var(--paper);padding:30px 26px;min-height:190px;
    display:flex;flex-direction:column;justify-content:space-between;
    cursor:pointer;transition:background .15s ease,color .15s ease;
  }
  .service-card:hover{background:var(--black);color:var(--paper);}
  .service-card:hover .service-num{color:var(--yellow);}
  .service-num{
    font-family:var(--font-mono);font-size:13px;color:var(--grey);
  }
  .service-card h3{font-size:19px;margin-top:24px;}
  .service-card p{margin:8px 0 0;font-size:13px;color:var(--grey);}
  .service-card:hover p{color:#cfcabb;}

  /* ---------- calculator ---------- */
  .calc{background:var(--paper);}
  .tabs{
    display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px;
  }
  .tab-btn{
    font-family:var(--font-mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;
    padding:10px 16px;background:transparent;border:2px solid var(--black);cursor:pointer;
    color:var(--ink);border-radius:var(--radius);font-weight:600;
  }
  .tab-btn.active{background:var(--black);color:var(--yellow);}

  .calc-panel{display:none;}
  .calc-panel.active{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border:2px solid var(--black);}
  .calc-form{padding:36px;border-right:2px solid var(--black);}
  .field{margin-bottom:20px;}
  .field label{
    display:block;font-family:var(--font-mono);font-size:12.5px;font-weight:700;text-transform:uppercase;
    letter-spacing:.05em;color:var(--ink);margin-bottom:8px;
  }
  .field-label-big{
    display:block;font-family:var(--font-body);font-weight:700;font-size:20px;
    text-transform:none;letter-spacing:normal;color:var(--ink);margin-bottom:8px;
  }
  .field-label-big em{font-style:normal;border-bottom:2px solid var(--yellow);padding:0 1px;}
  .field select, .field input[type=number], .field input[type=text], .field textarea{
    width:100%;padding:12px 14px;border:2px solid var(--line);background:var(--paper);
    font-family:var(--font-body);font-size:15px;font-weight:700;color:var(--ink);
    border-radius:var(--radius);
  }
  .field select:focus, .field input:focus, .field textarea:focus{outline:none;border-color:var(--black);}
  .field input::placeholder, .field textarea::placeholder{color:var(--line);font-weight:600;}
  .field-lg{padding:18px 20px !important;font-size:22px !important;letter-spacing:.02em;}
  .req-star{color:#d64545;font-weight:800;}
  .field-note{font-size:12.5px;color:var(--grey);font-style:italic;margin:-8px 0 20px;}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .toggle-row{display:flex;gap:10px;}
  .toggle-btn{
    flex:1;padding:12px;border:2px solid var(--line);background:var(--paper);
    cursor:pointer;font-weight:700;font-size:14px;border-radius:var(--radius);text-align:center;
  }
  .toggle-btn.active{border-color:var(--black);background:var(--black);color:var(--yellow);}

  .calc-result{
    background:var(--black);color:var(--paper);padding:36px;
    display:flex;flex-direction:column;justify-content:center;position:relative;
  }
  .stamp{
    border:3px dashed var(--yellow);border-radius:50%;
    width:100%;max-width:230px;aspect-ratio:1/1;margin:0 auto 22px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    transform:rotate(-4deg);
    text-align:center;padding:10px;
  }
  .stamp .price{font-family:var(--font-body);font-weight:700;font-size:clamp(26px,3vw,34px);color:var(--yellow);}
  .stamp .price-sub{font-family:var(--font-mono);font-size:12px;color:#cfcabb;margin-top:6px;text-transform:uppercase;letter-spacing:.04em;}
  .breakdown{font-family:var(--font-mono);font-size:12.5px;color:#cfcabb;text-align:center;}
  .breakdown div{margin-top:4px;}
  .calc-note{
    margin-top:22px;font-size:12px;color:var(--grey-soft);text-align:center; /* на чёрной плашке итога */
  }

  /* ---------- portfolio ---------- */
  .portfolio{background:var(--paper-dark);}
  .p-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--black);border:2px solid var(--black);}
  .p-tile{
    background:var(--paper);aspect-ratio:1/1;position:relative;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
    padding:14px;text-align:center;
  }
  .p-tile .ic{width:40px;height:40px;}
  .p-tile span{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;color:var(--grey);letter-spacing:.03em;}
  .p-tile.add-photo{border:2px dashed var(--grey);}

  /* ---------- contacts ---------- */
  .contacts{background:var(--black);color:var(--paper);}
  .contacts .sec-head p{color:#cfcabb;}
  .contacts .eyebrow{color:#a9a38c;}
  .contacts .eyebrow::before{background:var(--yellow);}
  .c-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
  .c-item{border-top:2px solid #333026;padding:18px 0;}
  .c-item .label{font-family:var(--font-mono);font-size:12px;color:#a9a38c;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;}
  .c-item .value{font-size:20px;font-weight:700;}
  .c-item .value.edit{color:var(--yellow);}
  .c-item .value a{text-decoration:none;border-bottom:2px solid var(--yellow);transition:opacity .15s ease;}
  .c-item .value a:hover{opacity:.7;}

  /* ---------- map (виджет 2ГИС, вставляется через DGWidgetLoader) ---------- */
  .map-sec{padding-bottom:0;background:var(--paper);}
  .map-sec .sec-head{margin-bottom:36px;}
  .map-full-2gis{width:100%;height:600px;overflow:hidden;}
  .map-full-2gis iframe{width:100% !important;height:600px !important;border:0;display:block;}
  .map-full-2gis .dg-widget-link{display:none;}

  footer{background:var(--black);color:#a9a38c;padding:60px 0 0;border-top:1px solid #2a2820;}
  footer .wrap{padding-top:36px;padding-bottom:36px;border-top:1px solid #2a2820;}
  footer .wrap:first-of-type{border-top:none;padding-top:0;}

  .footer-top{
    display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:32px;
  }
  .footer-brand p{margin:16px 0 0;font-size:13.5px;line-height:1.6;max-width:280px;color:var(--grey-soft);}
  .footer-logo{display:flex;align-items:center;gap:10px;}
  .footer-logo .logo-mark{
    width:34px;height:34px;background:var(--yellow);position:relative;flex:none;transform:rotate(-6deg);
  }
  .footer-logo .logo-mark span{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    color:var(--black);font-family:var(--font-display);font-weight:900;font-size:18px;transform:rotate(6deg);
  }
  .footer-logo .logo-text{font-family:var(--font-display);font-weight:900;font-size:20px;text-transform:uppercase;color:var(--paper);}

  footer h2{
    font-family:var(--font-display);font-weight:900;font-size:14px;text-transform:uppercase;letter-spacing:.02em;
    color:var(--paper);margin:0 0 18px;
  }
  .footer-links{display:flex;flex-direction:column;}
  .footer-links a{color:#a9a38c;text-decoration:none;font-size:14px;margin-bottom:12px;width:fit-content;}
  .footer-links a:hover{color:var(--yellow);}

  .footer-contacts div{font-size:14px;margin-bottom:12px;}
  .footer-contacts a{color:#a9a38c;text-decoration:none;}
  .footer-contacts a:hover{color:var(--yellow);}

  .footer-info{display:flex;flex-direction:column;}
  .footer-info a{color:#a9a38c;text-decoration:none;font-size:14px;margin-bottom:12px;width:fit-content;}
  .footer-info a:hover{color:var(--yellow);}
  .footer-requisites{font-size:14px;margin-top:8px;line-height:1.5;display:flex;flex-direction:column;gap:4px;}
  .footer-requisites a{color:#a9a38c;text-decoration:none;font-weight:400;}
  .footer-requisites a:hover{color:var(--yellow);}

  .footer-connect{
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:32px;
  }
  .footer-social-block h2,.footer-ratings-block h2{margin-bottom:16px;}
  .footer-social{display:flex;gap:16px;}
  .footer-social a{
    width:46px;height:46px;border-radius:50%;
    border:1.5px solid var(--yellow);color:var(--yellow);
    display:flex;align-items:center;justify-content:center;
    transition:background .15s ease,color .15s ease;
  }
  .footer-social a svg{width:20px;height:20px;}
  .footer-social a:hover{background:var(--yellow);color:var(--black);}

  .footer-ratings-block{text-align:right;}
  .footer-ratings{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap;}
  .footer-ratings iframe{border-radius:4px;}

  @media (max-width:600px){
    .footer-connect{flex-direction:column;align-items:flex-start;}
    .footer-ratings-block{text-align:left;}
    .footer-ratings{justify-content:flex-start;}
  }

  .footer-bottom{
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
    font-size:12px;font-family:var(--font-mono);color:var(--grey-soft);
  }
  .payment-badges{display:flex;gap:8px;flex-wrap:wrap;}
  .pay-badge{
    border:1px solid #3a382c;border-radius:4px;padding:4px 10px;
    font-family:var(--font-body);font-weight:700;font-size:12px;letter-spacing:.02em;
    color:#cfcabb;background:#1a1912;
  }

  .back-to-top{
    position:fixed;left:24px;bottom:24px;z-index:90;
    width:48px;height:48px;border-radius:50%;
    background:var(--black);color:var(--yellow);border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 14px rgba(0,0,0,.3);
    opacity:0;transform:translateY(12px);pointer-events:none;
    transition:opacity .25s ease,transform .25s ease,background .15s ease,color .15s ease;
  }
  .back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto;}
  .back-to-top:hover{background:var(--yellow);color:var(--black);}
  .back-to-top svg{width:20px;height:20px;}

  @media (max-width:860px){
    .back-to-top{left:16px;bottom:16px;width:44px;height:44px;}
    .footer-top{grid-template-columns:1fr;gap:32px;}
    .footer-bottom{flex-direction:column;gap:6px;}
    .top-contacts{display:none;}
    .site-search{display:none;}
    header nav.menu-bar{
      display:none;position:absolute;top:100%;left:0;right:0;
      background:var(--black);border-bottom:3px solid var(--yellow);
      max-height:80vh;overflow-y:auto;
    }
    .menu-bar.mobile-open{display:block;}
    .menu-bar-inner{
      flex-direction:column;align-items:stretch;gap:0;
      overflow-x:visible;padding:8px 0;
    }
    .nav-item{width:100%;}
    .nav-link{width:100%;padding:14px 24px;justify-content:space-between;font-size:13px;}
    .dropdown-menu.mega{position:static;left:auto;transform:none;border:none;box-shadow:none;border-top:1px solid var(--line);background:var(--paper-dark);}
    .dropdown-menu.mega{flex-direction:column;width:100%;max-width:none;padding:16px;}
    .mega-grid{grid-template-columns:repeat(3,1fr);}
    .mega-promo{flex:none;}
    .dropdown-menu > a{padding:12px 36px;}
    .cta-menu{margin-left:0;justify-content:center;}
    .nav-toggle{display:block;}
    .hero-inner{grid-template-columns:1fr;}
    .hero-visual{order:-1;margin:0 auto 20px;}
    .hero-slide{padding:70px 0 90px;}
    .hero-arrows{top:34%;padding:0 10px;}
    .arrow{width:36px;height:36px;font-size:19px;}
    .services-grid{grid-template-columns:1fr 1fr;}
    .calc-panel.active{grid-template-columns:1fr;}
    .calc-form{border-right:none;border-bottom:2px solid var(--black);}
    .p-grid{grid-template-columns:1fr 1fr;}
    .c-grid{grid-template-columns:1fr;}
    .field-row{grid-template-columns:1fr;}
  }

  /* ---------- CATEGORY PAGE COMPONENTS (переиспользуются на страницах разделов) ---------- */
  .breadcrumbs{
    padding:18px 0;font-family:var(--font-mono);font-size:12.5px;color:var(--grey);
  }
  .breadcrumbs a{color:var(--grey);text-decoration:none;}
  .breadcrumbs a:hover{color:var(--ink);}
  .breadcrumbs span{margin:0 8px;}
  .breadcrumbs .current{color:var(--ink);font-weight:700;}

  .cat-hero{padding:20px 0 60px;}
  .cat-hero-title{
    text-align:center;max-width:760px;margin:0 auto 40px;
    font-size:clamp(28px,3.6vw,42px);
  }
  .cat-hero-title em{
    font-style:normal;background:var(--yellow);padding:0 8px;box-decoration-break:clone;
    -webkit-box-decoration-break:clone;
  }
  .cat-hero-inner{display:grid;grid-template-columns:0.9fr 1.1fr;gap:48px;align-items:center;}
  .cat-hero-img{width:100%;border:0;display:block;}
  .cat-hero-desc{font-size:19px;line-height:1.55;color:#3c3a30;max-width:560px;}

  .cat-features{
    display:grid;grid-template-columns:repeat(4,1fr);gap:28px;
    background:none;border:none;margin-top:48px;
  }
  .cat-feature{background:none;padding:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;}
  .cat-feature .icon{width:30px;height:30px;color:var(--black);}
  .cat-feature b{font-size:14px;line-height:1.35;}
  .cat-feature span{font-size:12.5px;color:var(--grey);}

  .cat-tiles{
    display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:36px 0 0;
  }
  .cat-tile{
    padding:16px 10px;text-align:center;background:var(--paper);
    border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;
    font-weight:700;font-size:13.5px;color:var(--ink);
    transition:border-color .15s ease,background .15s ease,color .15s ease;
  }
  .cat-tile.active,.cat-tile:hover{border-color:var(--black);background:var(--black);color:var(--yellow);}
  .cat-tile.soon{cursor:default;pointer-events:none;position:relative;color:var(--grey);border-style:dashed;background:transparent;}
  .cat-tile.soon::after{content:"скоро";display:block;font-size:12px;font-weight:500;color:var(--grey);margin-top:4px;text-transform:none;}

  @media (max-width:860px){
    .cat-hero-inner{grid-template-columns:1fr;}
    .cat-features{grid-template-columns:1fr 1fr;}
    .cat-tiles{grid-template-columns:1fr 1fr;}
  }

  /* ---------- WIZARD (многошаговая форма заказа) ---------- */
  .wizard-steps{
    display:flex;justify-content:space-between;gap:6px;margin-bottom:44px;flex-wrap:wrap;
  }
  .wizard-step{
    flex:1;min-width:90px;text-align:center;font-family:var(--font-mono);
    font-size:12px;color:var(--grey);padding-bottom:12px;border-bottom:3px solid var(--line);
    text-transform:uppercase;letter-spacing:.03em;cursor:default;transition:color .15s ease,background .15s ease;
  }
  .wizard-step.done{cursor:pointer;}
  .wizard-step.done:hover{color:var(--ink);background:var(--paper-dark);}
  .wizard-step b{display:block;font-family:var(--font-body);font-weight:700;font-size:15px;color:var(--grey);margin-bottom:4px;}
  .wizard-step.active{color:var(--ink);border-bottom-color:var(--yellow);}
  .wizard-step.active b{color:var(--black);}
  .wizard-step.done{border-bottom-color:var(--black);}
  .wizard-step.done b{color:var(--black);}
  .wizard-arrow{
    display:flex;align-items:center;justify-content:center;color:var(--ink);
    font-size:26px;font-weight:900;flex:none;padding-bottom:12px;
  }
  @media (max-width:600px){ .wizard-arrow{display:none;} }

  .wizard-live-price{
    display:flex;justify-content:flex-end;align-items:center;gap:24px;flex-wrap:wrap;
    font-size:14.5px;margin:20px 0 24px;color:var(--ink);
  }
  .wizard-live-price .wlp-item{display:flex;align-items:center;gap:8px;}
  .wizard-live-price b{
    font-family:var(--font-body);font-weight:700;font-size:18px;
    background:var(--yellow);color:var(--black);padding:4px 14px;font-weight:800;
  }

  .wizard-final-badge{
    display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;
    background:var(--yellow);color:var(--black);padding:16px 22px;margin-top:32px;
  }
  .wizard-final-badge .label{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.03em;}
  .wizard-final-badge .value{font-family:var(--font-body);font-weight:700;font-size:16px;}
  .wizard-final-badge .price{font-family:var(--font-body);font-weight:700;font-size:22px;background:var(--black);color:var(--yellow);padding:4px 14px;margin-left:auto;}


  .wizard-panel{display:none;}
  .wizard-panel.active{display:block;}

  .wizard-card{background:transparent;padding:0;}
  .wizard-section{
    border:2px solid var(--black);background:var(--paper);
    padding:28px;margin-bottom:28px;
  }
  .wizard-section:last-child{margin-bottom:0;}

  .checkout-layout{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start;}
  .checkout-sidebar{position:sticky;top:100px;}
  .checkout-summary{padding:24px;}
  .checkout-summary .wizard-summary{border-top:none;margin-top:0;padding-top:0;}
  .checkout-total{
    display:flex;justify-content:space-between;align-items:center;
    font-family:var(--font-display);font-weight:900;font-size:20px;margin:16px 0 20px;padding-top:14px;border-top:2px solid var(--line);
  }
  .checkout-total b{background:var(--yellow);color:var(--black);padding:2px 12px;}
  .checkout-submit-btn{width:100%;justify-content:center;font-size:15px;padding:16px;}
  .checkout-disclaimer{font-size:12px;color:var(--grey);line-height:1.45;margin-top:14px;}

  .promo-row{display:flex;flex-direction:column;gap:10px;}
  .promo-row input{width:100%;text-align:left;}
  .promo-row .btn{width:100%;justify-content:center;padding:12px 20px;}
  .promo-message{font-size:12.5px;margin:10px 0 0;min-height:16px;}
  .promo-message.ok{color:#1c6b1c;font-weight:700;}
  .promo-message.error{color:#c0392b;font-weight:700;}
  .checkout-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
  .chip{display:inline-flex;align-items:center;padding:6px 14px;font-size:12.5px;font-weight:700;}
  .chip-outline{border:2px solid var(--black);background:transparent;color:var(--black);}
  .chip-yellow{background:var(--yellow);color:var(--black);}
  .chip-yellow b{font-family:var(--font-display);font-weight:900;}
  @media (max-width:900px){
    .checkout-layout{grid-template-columns:1fr;}
    .checkout-sidebar{position:static;}
  }

  .write-us-title{
    font-size:clamp(24px,3vw,32px);margin:0 0 16px;
  }
  .write-us-title em{
    font-style:normal;background:var(--yellow);padding:0 8px;box-decoration-break:clone;
    -webkit-box-decoration-break:clone;
  }
  .contact-row{
    display:flex;flex-wrap:nowrap;gap:12px;margin-top:18px;
    overflow-x:auto;padding-bottom:6px;
  }
  .contact-row .btn{white-space:nowrap;flex:none;}

  .org-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  .org-tile{
    cursor:pointer;border:2px solid var(--line);border-radius:var(--radius);padding:16px;
    text-align:center;transition:border-color .15s ease,background .15s ease,color .15s ease;
  }
  .org-tile:hover{border-color:var(--ink);}
  .org-tile.active{border-color:var(--black);border-width:3px;background:var(--paper-dark);color:var(--ink);}
  .org-img{
    width:100%;aspect-ratio:1/1;background:var(--paper-dark);border:2px solid var(--line);
    display:flex;align-items:center;justify-content:center;color:var(--grey);overflow:hidden;
    font-family:var(--font-mono);font-size:12px;text-align:center;margin-bottom:12px;
  }
  .org-img img{width:100%;height:100%;object-fit:cover;}
  .org-tile.active .org-img{border-color:var(--black);}
  .org-tile b{font-size:14px;display:block;}

  .holder-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
  .holder-tile.combo-tile{border-color:var(--yellow);}
  .holder-tile.combo-tile span s{color:var(--grey);}
  .price-badge{
    display:inline-block;background:var(--yellow) !important;color:var(--black) !important;
    padding:1px 6px;font-family:var(--font-body);font-weight:700;
  }

  .urgency-price-tag{
    display:inline-block;background:var(--yellow);color:var(--black) !important;
    padding:4px 14px;margin:8px 0;font-family:var(--font-display);font-weight:900;font-size:16px;
  }
  .pickup-address-lg{display:block;font-size:14.5px;font-weight:700;margin-top:4px;}
  .urgency-card .pickup-hours{font-size:12.5px;}

  .combo-promo{
    display:flex;gap:20px;margin-top:24px;padding:20px;
    border:2px solid var(--yellow);background:var(--paper-dark);align-items:center;
  }
  .combo-promo-img{
    flex:none;width:120px;height:120px;background:var(--paper);border:2px dashed var(--line);
    display:flex;align-items:center;justify-content:center;color:var(--grey);
    font-family:var(--font-mono);font-size:12px;text-align:center;
  }
  .combo-promo-text p{font-size:14px;margin:0 0 14px;color:var(--ink);}
  .combo-promo-text p s{color:var(--grey);}
  .combo-promo-text p b{color:var(--black);background:var(--yellow);padding:1px 8px;font-family:var(--font-body);font-weight:700;}
  @media (max-width:600px){
    .combo-promo{flex-direction:column;align-items:flex-start;}
  }

  .holder-tile{
    cursor:pointer;border:2px solid var(--line);border-radius:var(--radius);padding:16px;
    text-align:center;transition:border-color .15s ease,background .15s ease,color .15s ease;
    display:flex;flex-direction:column;height:100%;
  }
  .holder-tile > span{margin-top:auto;padding-top:10px;}
  .holder-tile:hover{border-color:var(--ink);}
  .holder-tile.active{border-color:var(--black);border-width:3px;background:var(--paper-dark);color:var(--ink);}
  .holder-img{
    width:100%;aspect-ratio:1/1;background:var(--paper-dark);border:2px solid var(--line);
    display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:12px;
  }
  .holder-img img{width:100%;height:100%;object-fit:contain;}
  .holder-tile.active .holder-img{border-color:var(--black);}
  .holder-tile b{font-size:14px;display:block;margin-bottom:4px;}
  .holder-tile span{font-size:12px;color:var(--grey);}
  .holder-tile.active span{color:#cfcabb;}

  .tpl-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
    max-height:770px;overflow-y:auto;padding:4px;
  }
  .tpl-item{
    cursor:pointer;border:2px solid var(--line);border-radius:var(--radius);padding:12px;text-align:center;
    transition:border-color .15s ease;
  }
  .tpl-item.active{border-color:var(--black);box-shadow:3px 3px 0 var(--yellow);}
  .tpl-img{
    width:100%;aspect-ratio:1/1;background:var(--paper-dark);border:1px dashed var(--line);
    display:flex;align-items:center;justify-content:center;color:var(--grey);font-size:12px;margin-bottom:10px;
  }
  .tpl-item span{font-size:12.5px;color:var(--grey);font-family:var(--font-mono);}

  .agree-block{margin-top:32px;padding-top:28px;border-top:2px solid var(--line);}
  .agree-title{
    font-family:var(--font-body);font-weight:700;text-transform:none;letter-spacing:normal;
    font-size:20px;margin-bottom:16px;text-align:center;
  }
  .agree-title em{
    font-style:normal;border-bottom:2px solid var(--yellow);padding:0 1px;
  }
  .checkbox-row{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14.5px;font-weight:600;}
  .checkbox-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--black);cursor:pointer;}

  .upload-zone{
    border:2px dashed var(--line);border-radius:var(--radius);padding:44px 20px;
    text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease;
  }
  .upload-zone.dragover{border-color:var(--black);background:var(--paper-dark);}
  .upload-zone b{display:block;font-size:15px;margin-bottom:6px;}
  .upload-zone span{font-size:12.5px;color:var(--grey);}
  .upload-list{margin-top:18px;font-family:var(--font-mono);font-size:12.5px;}
  .upload-list div{padding:8px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;}
  .upload-list button{background:none;border:none;color:var(--grey);cursor:pointer;font-size:12px;}
  .upload-list button:hover{color:#d64545;}

  .urgency-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .urgency-card{
    border:2px solid var(--line);border-radius:var(--radius);padding:22px 16px;cursor:pointer;text-align:center;
    background:var(--paper);transition:border-color .15s ease,background .15s ease,color .15s ease;
  }
  .urgency-card:hover{border-color:var(--ink);}
  .urgency-card.active{border-color:var(--black);border-width:3px;background:var(--paper-dark);color:var(--ink);}
  .urgency-card.disabled{opacity:.4;cursor:not-allowed;pointer-events:none;}
  .urgency-card b{display:block;font-family:var(--font-display);font-weight:900;font-size:17px;margin-bottom:2px;text-transform:uppercase;}
  .urgency-card .urg-sub{display:block;font-size:12px;color:var(--grey);margin-bottom:8px;}
  .urgency-card.active .urg-sub{color:var(--grey);}
  .urgency-card span{font-size:12.5px;color:var(--grey);}
  .urgency-card .pickup-hours{display:block;margin-top:6px;font-size:12px;color:var(--grey);}
  .urgency-card.active span{color:var(--grey);}

  .urg-date-row{display:none;}
  .urg-date{font-family:var(--font-body);font-weight:700;font-size:19px;text-transform:none;color:var(--ink);}
  .urgency-card.active .urg-date{color:var(--paper);}
  .urg-dot{width:11px;height:11px;border-radius:50%;flex:none;box-shadow:0 0 0 2px rgba(0,0,0,.08);}
  .urg-dot.green{background:#3fae57;}
  .urg-dot.yellow{background:#d6ad1f;}
  .urg-dot.red{background:#d64545;}
  .urg-price{display:block;font-size:12.5px;color:var(--grey);}
  .urgency-card.active .urg-price{color:#cfcabb;}

  .wizard-nav{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:36px;}
  .wizard-nav #wizardBack{margin-right:auto;}
  .wizard-summary{
    margin-top:28px;border-top:2px solid var(--line);padding-top:16px;
  }
  .wizard-summary .row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;color:var(--grey);}
  .wizard-total-outside{
    font-family:var(--font-body);font-weight:700;font-size:28px;margin-top:12px;
    display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--ink);
  }
  .wizard-total-outside span{color:var(--black);background:var(--yellow);padding:4px 18px;font-weight:800;}

  @media (max-width:860px){
    .org-tiles{grid-template-columns:1fr 1fr;}
    .holder-tiles{grid-template-columns:1fr 1fr;}
    .tpl-grid{grid-template-columns:repeat(2,1fr);max-height:none;}
    .urgency-options{grid-template-columns:1fr;}
    .wizard-section{padding:20px;}
    .wizard-step span{display:none;}
  }

  /* ---------- QUICK ORDER MODAL ---------- */
  .modal-overlay{
    display:none;position:fixed;inset:0;z-index:200;
    background:rgba(13,13,12,.7);
    align-items:center;justify-content:center;padding:20px;
  }
  .modal-overlay.open{display:flex;}
  .modal-box{
    position:relative;background:var(--paper);border:2px solid var(--black);
    max-width:480px;width:100%;max-height:90vh;overflow-y:auto;
    padding:36px;box-shadow:10px 10px 0 var(--yellow);
  }
  .modal-close{
    position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;
    background:var(--black);color:var(--yellow);border:none;cursor:pointer;
    font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;
  }
  .modal-close:hover{background:var(--yellow);color:var(--black);}

  @media (max-width:600px){
    .modal-box{padding:24px;}
  }


/* =========================================================
   ЛИПКОЕ МЕНЮ
   Вся шапка sticky, но сдвинута вверх на высоту верхних строк (JS в script.js
   считает сдвиг): на компьютере у верха остаётся чёрная полоса меню,
   на телефоне — строка с логотипом и кнопкой меню.
   ========================================================= */
body{overflow-x:hidden;overflow-x:clip;}   /* clip не ломает position:sticky, hidden — запасной вариант для старых браузеров */
body > header{position:-webkit-sticky;position:sticky;top:0;z-index:100;}
body > header.is-stuck .menu-bar{box-shadow:0 3px 0 var(--yellow);}
html{scroll-padding-top:calc(var(--sticky-h, 56px) + 12px);}

/* корзина — иконка справа от телефона и почты; число товаров — жёлтый бейдж на углу иконки */
.hdr-cart{position:relative;flex:none;display:flex;align-items:center;justify-content:center;width:48px;height:48px;
  border:2px solid var(--black);border-radius:var(--radius);background:#fff;color:var(--black);text-decoration:none;
  transition:background .15s ease,transform .15s ease;}
.hdr-cart svg{width:26px;height:26px;display:block;}
.hdr-cart:hover{background:var(--yellow);transform:translateY(-2px);}
.hdr-cart-count{position:absolute;top:-10px;right:-10px;min-width:24px;height:24px;padding:0 5px;
  display:flex;align-items:center;justify-content:center;background:var(--yellow);color:var(--black);
  border:2px solid var(--black);font-family:var(--font-mono);font-size:12px;font-weight:600;line-height:1;
  font-variant-numeric:tabular-nums;letter-spacing:0;transform:rotate(-6deg);}
.hdr-cart:hover .hdr-cart-count{background:var(--black);color:var(--yellow);}
@media (max-width:860px){
  .hdr-cart{width:38px;height:38px;}
  .hdr-cart svg{width:20px;height:20px;}
  .hdr-cart-count{top:-8px;right:-8px;min-width:20px;height:20px;padding:0 4px;font-size:12px;}
}

/* =========================================================
   АДАПТИВ — общие правки для всех страниц (360 / 768 / 1180+)
   ========================================================= */
.wrap.breadcrumbs{padding-left:24px;padding-right:24px;}
img,video{height:auto;}
.services-grid,.p-grid,.c-grid,.cat-features,.cat-tiles,.subcat-grid,.mega-grid{min-width:0;}
.services-grid > *,.p-grid > *,.subcat-grid > *,.cat-tiles > *{min-width:0;}

/* старая страница заказа кружки (zakaz-kruzhki.php) */
body .mug-product-layout > *{min-width:0;}
body .mug-color-grid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));}
@media (max-width:900px){
  body .mug-product-layout{grid-template-columns:minmax(0,1fr);gap:24px;padding:0 16px;}
  body .mug-gallery-col{position:static;min-width:0;}
  body .style-gallery-main{width:100%;}
  body .mug-color-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}

@media (max-width:860px){
  .wrap{padding-left:16px;padding-right:16px;}
  .wrap.breadcrumbs{padding:12px 16px;font-size:12px;}
  .breadcrumbs span{margin:0 5px;}

  /* шапка */
  .section-tabs{padding:0 16px;}
  .section-tab{padding:10px 14px;font-size:12px;}
  .top-strip-inner{padding:8px 16px;font-size:13px;gap:10px;}
  .top-strip-auth{gap:14px;}
  .top-bar-inner{padding:12px 16px;gap:12px;}
  .logo{gap:10px;}
  .logo-mark{width:34px;height:34px;}
  .logo-mark span{font-size:18px;}
  .logo-text{font-size:19px;}
  .top-social{gap:8px;margin-left:auto;}
  .social-icon{width:28px;height:28px;}
  .nav-toggle{padding:4px 0 4px 6px;}
  .nav-link{padding:13px 16px;}
  .dropdown-menu.mega{padding:12px 16px;}
  .mega-promo{display:none;}   /* на телефоне в меню — только разделы, без рекламного блока */
  .mega-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .mega-item span{font-size:12px;}

  /* главная */
  .hero-slide{padding:36px 0 84px;}
  .hero-arrows{top:auto;bottom:22px;padding:0 16px;}
  .strip .wrap{gap:10px 28px;justify-content:flex-start;}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .service-card{padding:18px 14px;min-height:150px;}
  .service-card h3{font-size:15px;margin-top:14px;overflow-wrap:anywhere;hyphens:auto;}
  .service-card p{font-size:12px;}

  /* разделы */
  .cat-hero{padding:8px 0 40px;}
  .cat-hero-title{margin-bottom:24px;}
  .cat-hero-desc{font-size:16px;}
  .cat-features{gap:20px;margin-top:32px;}
  .sec-head p{font-size:15px;}
}

@media (max-width:600px){
  .top-strip-inner{font-size:12px;}
  .top-address-link{max-width:170px;line-height:1.3;}
  .hero-cta .btn,.cat-hero .btn{width:100%;justify-content:center;}
  .wizard-nav .btn{padding-left:14px;padding-right:14px;}
  .mug-color-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
  .subcat-grid{gap:10px;}
  .subcat-tile{padding:10px;box-shadow:3px 3px 0 var(--yellow);}
}
@media (max-width:380px){
  .top-social{display:none;}           /* соцсети есть в подвале — на узких экранах освобождаем место для меню */
  .top-strip-auth{gap:10px;}
  .logo-text{font-size:17px;}
  .services-grid{grid-template-columns:minmax(0,1fr);}
}

/* ==============================================================   СТРАНИЦА УСЛУГИ — шаблон inc/service-page.php (кружки, футболки, …)
   Параллакс, слайдер, липкая кнопка — assets/service.js
   ===================================================================== */
.btn-accent{background:var(--yellow);color:var(--black);border:2px solid var(--black);}
.btn-accent:hover{background:var(--black);color:var(--yellow);}

.svc-hero{padding:8px 0 72px;overflow:hidden;overflow:clip;}   /* clip не мешает липкой картинке */
.svc-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  grid-template-areas:"visual info";gap:28px 56px;align-items:start;}
.svc-info{grid-area:info;}

/* левая колонка: PNG + супрематические фигуры, всё двигается от мыши/прокрутки */
.svc-visual{grid-area:visual;position:relative;aspect-ratio:1/0.8;display:flex;align-items:center;justify-content:center;}
/* картинка «едет» рядом с правой колонкой, пока та не закончится — колонки не выглядят разной высоты */
@media (min-width:861px){ .svc-visual{position:sticky;top:calc(var(--sticky-h, 56px) + 32px);} }
.svc-visual > *{will-change:transform;transition:transform .25s ease-out;}
.svc-visual-img{position:relative;z-index:2;width:100%;display:block;
  transform:translate3d(calc(var(--px,0) * var(--d,0) * 1px),calc((var(--py,0) + var(--sy,0)) * var(--d,0) * 1px),0);}
.svc-visual-img img{width:100%;height:auto;filter:drop-shadow(0 26px 22px rgba(13,13,12,.16));}
.svc-shape{position:absolute;display:block;z-index:1;
  transform:translate3d(calc(var(--px,0) * var(--d,0) * 1px),calc((var(--py,0) + var(--sy,0)) * var(--d,0) * 1px),0) rotate(var(--rot,0deg));}
.svc-shape-sq{--rot:-6deg;width:58%;aspect-ratio:1;left:14%;top:6%;background:var(--yellow);}
.svc-shape-bar{--rot:-24deg;width:74%;height:18px;left:6%;bottom:20%;background:var(--red);z-index:1;}
.svc-shape-circle{width:15%;aspect-ratio:1;right:3%;top:2%;border-radius:50%;background:var(--black);}
/* раскладка «квадрат слева» — когда справа на картинке жёлтый предмет (печати) */
.svc-visual--left .svc-shape-sq{left:0;top:10%;width:52%;}
.svc-visual--left .svc-shape-circle{right:auto;left:40%;top:-2%;width:12%;}
.svc-sticker{position:absolute;z-index:4;right:4%;bottom:6%;background:var(--black);color:var(--yellow);
  padding:10px 14px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;transform:rotate(-5deg);}
.svc-sticker span{display:block;}

/* правая колонка */
.svc-info .eyebrow{margin-bottom:14px;}
.svc-title{font-size:clamp(30px,4vw,50px);margin-bottom:18px;}
.svc-title em{font-style:normal;background:var(--yellow);padding:0 8px;-webkit-box-decoration-break:clone;box-decoration-break:clone;}
.svc-lead{font-size:16px;line-height:1.55;color:#3c3a30;margin:0 0 22px;max-width:560px;}

.svc-buy{background:#fff;border:2px solid var(--black);padding:22px 22px 18px;position:relative;}
.svc-buy::before{content:"";position:absolute;left:-2px;top:-2px;width:34px;height:6px;background:var(--yellow);}
.svc-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-bottom:16px;}
.svc-price-from{font-size:13px;text-transform:uppercase;color:var(--grey);}
.svc-price-num{font-family:var(--font-display);font-weight:900;font-size:clamp(32px,3.6vw,44px);line-height:1;}
.svc-price-note{flex-basis:100%;font-size:13px;color:var(--grey);}
.svc-cta-row{display:flex;flex-wrap:wrap;gap:10px;}
.svc-cta{font-size:15px;padding:16px 26px;gap:12px;}
.svc-facts{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;}
.svc-facts li{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  border:1px solid var(--line);padding:5px 9px;color:var(--ink);background:var(--paper);}
.svc-facts li.is-link{padding:0;border-color:var(--black);background:#fff;}
.svc-facts li.is-link a{display:flex;align-items:center;gap:5px;padding:5px 8px;letter-spacing:.03em;color:inherit;text-decoration:none;}
.svc-facts li.is-link a span{font-family:var(--font-body);font-weight:700;}
.svc-facts li.is-link:hover{background:var(--yellow);}
.svc-facts li.is-link a:focus-visible{outline:3px solid var(--black);outline-offset:2px;}

.svc-specs{margin-top:30px;}
.svc-specs-title,.svc-prices-title{font-size:15px;margin:0 0 6px;}
/* характеристики — лёгкий список в 2 колонки: без рамок, только тонкая линия сверху */
.svc-spec-grid{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;}
.svc-spec-grid > div{padding:9px 0;border-top:1px solid var(--line);min-width:0;}
.svc-spec-grid dt{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--grey);}
.svc-spec-grid dd{margin:2px 0 0;font-weight:600;font-size:14.5px;line-height:1.35;overflow-wrap:anywhere;}

/* цены — справа, свёрнуты в строку «Цена … от N ₽ +»; внутри лёгкий список, выделенная строка — жёлтый маркер */
.svc-prices{margin-top:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.svc-prices-sum{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding:14px 0;}
.svc-prices-sum::-webkit-details-marker{display:none;}
.svc-prices-sum .svc-prices-title{margin:0;flex:1;}
.svc-prices-from{font-size:13px;font-weight:600;color:var(--ink);}
.svc-prices-sum::after{content:"+";display:flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;
  border:2px solid var(--black);font-size:18px;font-weight:700;line-height:1;transition:background .15s ease;}
.svc-prices[open] .svc-prices-sum::after{content:"−";background:var(--yellow);}
.svc-prices-sum:hover::after{background:var(--yellow);}
.svc-prices-sum:focus-visible{outline:3px solid var(--black);outline-offset:2px;}
.svc-prices[open]{padding-bottom:14px;}
.svc-price-table{width:100%;border-collapse:collapse;font-size:15px;}
.svc-price-table th{font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;
  color:var(--grey);text-align:left;padding:6px 0;border-bottom:1px solid var(--line);}
.svc-price-table th:last-child,.svc-price-table td:last-child{text-align:right;}
.svc-price-table td{padding:9px 0;border-bottom:1px solid var(--line);}
.svc-price-table td:last-child{font-weight:700;white-space:nowrap;padding-left:16px;}
.svc-price-table tr.hl td:first-child::before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;
  background:var(--yellow);border:1.5px solid var(--black);transform:rotate(-6deg);vertical-align:-1px;}
.svc-price-table tr.hl td{font-weight:700;}
.svc-prices-note{margin:10px 0 0;font-size:13px;color:var(--grey);max-width:70ch;}

.svc-download{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-weight:700;font-size:14px;
  text-decoration:none;border-bottom:2px solid var(--yellow);padding-bottom:2px;}
.svc-download:hover{border-bottom-color:var(--black);}

/* варианты */
.svc-variants{background:var(--paper-dark);padding:72px 0;}
.svc-var-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;}
@media (min-width:861px){.svc-var-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}}
.svc-var{position:relative;display:flex;flex-direction:column;gap:6px;text-align:left;text-decoration:none;color:var(--ink);
  background:#fff;border:2px solid var(--black);padding:16px 16px 14px;cursor:pointer;font:inherit;
  transition:transform .15s ease,box-shadow .15s ease;}
.svc-var:hover,.svc-var:focus-visible{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--black);outline:none;}
.svc-var:hover .svc-var-go{background:var(--yellow);}
.svc-var-pic{display:flex;align-items:center;justify-content:center;aspect-ratio:6/5;background:var(--paper);margin-bottom:8px;}
.svc-var-pic img{width:100%;height:100%;object-fit:cover;}
.svc-mug{width:72%;height:auto;}
.svc-var-name{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:16px;}
.svc-var-desc{font-size:13px;color:var(--grey);line-height:1.4;}
.svc-var-foot{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;align-items:center;gap:8px;}
.svc-var-price{font-size:13px;font-weight:600;}
.svc-var-go{font-size:12px;font-weight:700;text-transform:uppercase;padding:4px 6px;transition:background .15s ease;}
.svc-var-badge{position:absolute;top:10px;right:-8px;z-index:1;background:var(--yellow);color:var(--black);border:2px solid var(--black);
  font-size:12px;font-weight:600;text-transform:uppercase;padding:3px 8px;transform:rotate(4deg);}

/* примеры работ */
.svc-works{padding:72px 0 80px;}
.svc-works-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;}
.svc-works-head .sec-head{margin-bottom:28px;}
.svc-slider-nav{display:flex;gap:8px;margin-bottom:28px;flex:none;}
.svc-slider-btn{width:48px;height:48px;background:var(--black);color:var(--paper);border:none;font-size:20px;cursor:pointer;}
.svc-slider-btn:hover{background:var(--yellow);color:var(--black);}
.svc-slider-btn:disabled{opacity:.3;cursor:default;background:var(--black);color:var(--paper);}
.svc-slider{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * 14px) / 4);gap:14px;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:4px;}
.svc-slider::-webkit-scrollbar{display:none;}
.svc-slide{margin:0;scroll-snap-align:start;border:2px solid var(--black);background:#fff;}
.svc-slide img{width:100%;aspect-ratio:1;object-fit:cover;}
.svc-slide figcaption{padding:10px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-top:2px solid var(--black);}
.svc-works-cta{margin-top:32px;text-align:center;}

/* липкая кнопка (только телефон) */
.svc-sticky{display:none;}

@media (max-width:900px){
  .svc-hero-grid{gap:36px;}
  .svc-slider{grid-auto-columns:calc((100% - 2 * 14px) / 3);}
}
@media (max-width:860px){
  .svc-hero{padding:0 0 48px;}
  .svc-hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"visual" "info";}
  .svc-visual{max-width:520px;width:100%;margin:0 auto;}
  .svc-title{font-size:clamp(28px,8vw,40px);}
  .svc-lead{font-size:15.5px;}
  .svc-variants,.svc-works{padding:48px 0;}
  .svc-slider{grid-auto-columns:calc((100% - 14px) / 2.3);}
}
@media (max-width:600px){
  .svc-shape-bar{height:12px;}
  .svc-shape-circle{width:12%;}
  .svc-buy{padding:18px 16px 14px;}
  .svc-cta-row .btn{width:100%;justify-content:center;}
  .svc-var-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .svc-var{padding:10px 10px 12px;}
  .svc-var-name{font-size:14px;}
  .svc-var-desc{font-size:12px;}
  .svc-var-foot{flex-direction:column;align-items:flex-start;gap:2px;}
  .svc-var-badge{right:-4px;font-size:12px;}
  .svc-works-head .svc-slider-nav{display:none;}
  .svc-slider{grid-auto-columns:72%;}
  .svc-works-cta .btn{width:100%;justify-content:center;}
  .svc-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;align-items:center;gap:12px;
    background:#fff;border-top:2px solid var(--black);padding:10px 16px calc(10px + env(safe-area-inset-bottom));
    transform:translateY(110%);transition:transform .25s ease;}
  .svc-sticky.show{transform:none;}
  .svc-sticky-price{font-family:var(--font-display);font-weight:900;font-size:18px;white-space:nowrap;}
  .svc-sticky-price .mono{font-family:var(--font-mono);font-size:12px;color:var(--grey);}
  .svc-sticky .btn{flex:1;justify-content:center;padding:14px 12px;}
  body.svc-sticky-on .back-to-top{bottom:84px;}   /* кнопка «наверх» не перекрывает липкую панель */
}
@media (prefers-reduced-motion:reduce){
  .svc-visual > *{transition:none;transform:none!important;}
  .svc-shape-sq{transform:rotate(-6deg)!important;}
  .svc-shape-bar{transform:rotate(-24deg)!important;}
}

/* =========================================================
   SEO-БЛОКИ страниц услуг (inc/seo.php): цены, шаги, FAQ, текст, перелинковка, CTA
   ========================================================= */
.seo-sec{padding:72px 0;}
.seo-bg-paper{background:var(--paper);}
.seo-bg-paper-dark{background:var(--paper-dark);}
.seo-sec .sec-head{margin-bottom:36px;}

/* таблица цен */
.price-table-wrap{border:2px solid var(--black);background:#fff;overflow-x:auto;}
.price-table{width:100%;border-collapse:collapse;font-size:15px;}
.price-table th{
  background:var(--black);color:var(--paper);text-align:left;padding:14px 18px;
  font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
}
.price-table td{padding:14px 18px;border-top:1px solid var(--line);vertical-align:top;}
.price-table tr:nth-child(even) td{background:var(--paper);}
.price-table td:last-child{font-family:var(--font-display);font-weight:900;white-space:nowrap;}
.price-table td small{display:block;font-family:var(--font-body);font-size:12.5px;color:var(--grey);font-weight:500;white-space:normal;}
.price-note{margin:16px 0 0;font-size:14px;color:var(--grey);max-width:70ch;}

/* шаги */
.steps-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--black);border:2px solid var(--black);}
.step-card{background:var(--paper);padding:24px 20px;display:flex;flex-direction:column;gap:10px;}
.step-num{
  width:44px;height:44px;background:var(--black);color:var(--yellow);display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:900;font-size:16px;transform:rotate(-5deg);
}
.step-card b{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:15px;line-height:1.2;}
.step-card p{margin:0;font-size:14px;color:#3c3a30;}
.steps-row.steps-3{grid-template-columns:repeat(3,minmax(0,1fr));}

/* FAQ */
.faq-list{border-top:2px solid var(--black);max-width:900px;}
.faq-item{border-bottom:2px solid var(--black);}
.faq-item summary{
  list-style:none;cursor:pointer;padding:18px 48px 18px 0;position:relative;
  font-weight:700;font-size:16.5px;line-height:1.4;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::before,.faq-item summary::after{
  content:"";position:absolute;right:6px;top:50%;width:18px;height:3px;margin-top:-1.5px;background:var(--black);
  transition:transform .15s ease;
}
.faq-item summary::after{transform:rotate(90deg);}
.faq-item[open] summary::after{transform:rotate(0deg);}
.faq-item summary:hover{color:var(--grey);}
.faq-a{padding:0 0 20px;font-size:15px;color:#3c3a30;max-width:780px;}
.faq-a p{margin:0 0 10px;}
.faq-a a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;}

/* текстовый блок */
.seo-text{max-width:70ch;font-size:16px;line-height:1.7;color:#2c2a22;}
.seo-text h2{font-size:clamp(24px,3vw,34px);margin:0 0 20px;}
.seo-text h2 em,.sec-head h2 em{font-style:normal;background:var(--yellow);padding:0 6px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.cat-hero + .seo-sec{padding-top:24px;}
.seo-text h3{font-size:18px;margin:32px 0 12px;}
.seo-text p{margin:0 0 14px;}
.seo-text ul{margin:0 0 16px;padding:0;list-style:none;}
.seo-text li{position:relative;padding-left:24px;margin-bottom:8px;}
.seo-text li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:10px;background:var(--yellow);border:2px solid var(--black);}
.seo-text a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;}
.seo-cols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:start;}
.seo-aside{border:2px solid var(--black);background:#fff;padding:24px;position:relative;}
.seo-aside::before{content:"";position:absolute;right:-12px;top:-12px;width:36px;height:36px;background:var(--yellow);transform:rotate(-6deg);z-index:0;}
.seo-aside > *{position:relative;}
.seo-aside h3{font-size:17px;margin:0 0 14px;}
.seo-aside ul{margin:0;padding:0;list-style:none;}
.seo-aside li{padding:10px 0;border-top:1px solid var(--line);font-size:14.5px;}
.seo-aside li:first-child{border-top:0;}
.seo-aside li b{display:block;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--grey);font-weight:600;}

/* карточки вариантов (стили портрета, виды багета и т.п.) */
.opt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.opt-card{border:2px solid var(--black);background:#fff;padding:22px;display:flex;flex-direction:column;gap:8px;}
.opt-card b{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:16px;}
.opt-card p{margin:0;font-size:14px;color:#3c3a30;}
.opt-card .opt-tag{
  align-self:flex-start;background:var(--yellow);color:var(--black);padding:3px 10px;
  font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;transform:rotate(-4deg);
}

/* перелинковка */
.related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--black);border:2px solid var(--black);}
.related-card{background:var(--paper);padding:20px 18px;text-decoration:none;display:flex;flex-direction:column;gap:6px;min-height:104px;transition:background .15s ease,color .15s ease;}
.related-card b{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:14.5px;line-height:1.2;}
.related-card span{font-family:var(--font-mono);font-size:12px;color:var(--grey);text-transform:uppercase;}
.related-card:hover{background:var(--black);color:var(--paper);}
.related-card:hover span{color:var(--yellow);}

/* CTA */
.seo-cta{background:var(--black);color:var(--paper);padding:64px 0;position:relative;overflow:hidden;}
.seo-cta::before{content:"";position:absolute;left:-46px;top:-46px;width:96px;height:96px;background:var(--yellow);transform:rotate(-6deg);}
.seo-cta::after{content:"";position:absolute;right:-60px;bottom:-60px;width:160px;height:160px;border-radius:50%;border:2px solid #3a3a33;}
.seo-cta-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.seo-cta h2{font-size:clamp(24px,3.2vw,38px);max-width:640px;}
.seo-cta h2 em{font-style:normal;color:var(--yellow);}
.seo-cta p{margin:12px 0 0;color:#cfcabb;max-width:600px;}
.seo-cta-btns{display:flex;gap:12px;flex-wrap:wrap;}
.seo-cta .btn{background:var(--yellow);color:var(--black);}
.seo-cta .btn:hover{background:var(--paper);}
.seo-cta .btn-outline{background:transparent;color:var(--paper);border-color:var(--paper);}
.seo-cta .btn-outline:hover{background:var(--paper);color:var(--black);}

/* фото работ из папки */
.p-tile.p-photo{padding:0;overflow:hidden;}
.p-tile.p-photo img{width:100%;height:100%;object-fit:cover;}

/* заголовок слайда без H1 (на главной H1 один — на первом слайде) */
.hero-slide .hero-title{font-family:var(--font-display);font-weight:900;text-transform:uppercase;line-height:1.05;font-size:clamp(30px,3.8vw,52px);margin:0;}
.hero-slide .hero-title em{font-style:normal;background:var(--yellow);padding:0 8px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}

/* заголовок служебных страниц (контакты, оферта и т.п.) */
.page-title{font-size:clamp(28px,3.6vw,42px);margin:0 0 12px;}
.page-title em{font-style:normal;background:var(--yellow);padding:0 8px;}

/* геометрия вместо «Фото» в меню, пока нет снимков */
.ph.geo{border-style:solid !important;position:relative;background:var(--paper-dark);color:transparent !important;font-size:0 !important;}
.ph.geo::before,.ph.geo::after{content:"";position:absolute;}
.ph.geo.g1::before{width:46%;height:46%;background:var(--black);transform:rotate(-8deg);}
.ph.geo.g1::after{width:22%;height:22%;background:var(--yellow);right:18%;top:16%;}
.ph.geo.g2::before{width:48%;height:48%;border-radius:50%;background:var(--yellow);border:2px solid var(--black);}
.ph.geo.g2::after{width:70%;height:8%;background:var(--black);transform:rotate(-24deg);}
.ph.geo.g3::before{width:60%;height:18%;background:var(--black);transform:rotate(12deg);}
.ph.geo.g3::after{width:26%;height:26%;background:var(--yellow);left:18%;bottom:18%;transform:rotate(-6deg);}
.ph.geo.g4::before{width:14%;height:58%;background:var(--black);}
.ph.geo.g4::after{width:58%;height:14%;background:var(--black);}
.ph.geo.g4{background:linear-gradient(var(--yellow),var(--yellow)) 72% 28%/18% 18% no-repeat,var(--paper-dark);}
.mega-promo .ph.geo{border:2px solid var(--yellow) !important;background:transparent;}

/* поиск */
.search-results{list-style:none;margin:0;padding:0;border-top:2px solid var(--black);max-width:820px;}
.search-results li{border-bottom:2px solid var(--black);}
.search-results a{display:block;padding:18px 0;text-decoration:none;}
.search-results b{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:16px;display:block;}
.search-results span{font-size:14px;color:var(--grey);}
.search-results a:hover b{background:var(--yellow);}

@media (max-width:900px){
  .steps-row,.steps-row.steps-3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .related-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .opt-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .seo-cols{grid-template-columns:minmax(0,1fr);gap:32px;}
}
@media (max-width:600px){
  .seo-sec{padding:48px 0;}
  .seo-cta{padding:48px 0;}
  .seo-cta::before{width:60px;height:60px;top:-30px;left:-30px;}
  .seo-cta::after{display:none;}
  .seo-cta-btns,.seo-cta-btns .btn{width:100%;justify-content:center;}
  .steps-row,.steps-row.steps-3,.opt-grid{grid-template-columns:minmax(0,1fr);}
  .price-table thead{display:none;}
  .price-table,.price-table tbody,.price-table tr,.price-table td{display:block;width:100%;}
  .price-table tr{border-top:2px solid var(--black);padding:8px 0;}
  .price-table tr:first-child{border-top:0;}
  .price-table td{border:0;padding:6px 16px;display:flex;justify-content:space-between;gap:16px;text-align:right;}
  .price-table td::before{content:attr(data-label);font-family:var(--font-mono);font-size:12px;text-transform:uppercase;color:var(--grey);text-align:left;flex:none;max-width:45%;}
  .price-table td:first-child{display:block;text-align:left;font-weight:700;font-size:15.5px;padding-top:10px;}
  .price-table td:first-child::before{display:none;}
  .price-table td small{margin-top:2px;}
  .price-table tr:nth-child(even) td{background:transparent;}
  .faq-item summary{font-size:15.5px;}
  .seo-text{font-size:15.5px;}
}

/* шапка страницы услуги без фото — супрематическая композиция */
.hero-geo{position:relative;aspect-ratio:4/3;border:2px solid var(--black);background:var(--paper-dark);overflow:hidden;}
.hero-geo.has-photo{background:var(--black);}
.hero-geo.has-photo img{width:100%;height:100%;object-fit:cover;}
.hero-geo i{position:absolute;display:block;}
.hero-geo .hg-sq{width:44%;aspect-ratio:1/1;background:var(--black);left:12%;top:16%;transform:rotate(-6deg);}
.hero-geo .hg-circle{width:26%;aspect-ratio:1/1;border-radius:50%;background:var(--yellow);right:14%;top:12%;border:2px solid var(--black);}
.hero-geo .hg-bar{width:78%;height:9%;background:var(--black);left:18%;bottom:20%;transform:rotate(-14deg);}
.hero-geo-label{
  position:absolute;left:18%;top:36%;color:var(--paper);font-family:var(--font-display);font-weight:900;text-transform:uppercase;
  font-size:clamp(14px,1.8vw,22px);line-height:1.05;max-width:36%;transform:rotate(-6deg);
}
.hero-geo-sticker{
  position:absolute;right:6%;bottom:8%;background:var(--yellow);color:var(--black);border:2px solid var(--black);
  padding:10px 16px;font-family:var(--font-display);font-weight:900;font-size:clamp(16px,2vw,24px);text-transform:uppercase;transform:rotate(-4deg);line-height:1.1;
}
.hero-geo-sticker small{display:block;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.05em;}
.cat-hero .hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.cat-hero-text .cat-hero-desc{margin:0;}
.hero-facts{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.hero-facts li{border:2px solid var(--black);padding:6px 12px;font-family:var(--font-mono);font-size:12.5px;font-weight:600;text-transform:uppercase;background:#fff;}
.link-btn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;}

/* быстрая заявка: зона файла — блоком (label по умолчанию строчный), текст заявки — обычным размером */
.upload-zone{display:block;}
.modal-box textarea.field-lg{font-size:16px !important;letter-spacing:0;}
.mega-promo .ph.geo{background:var(--paper-dark);}

/* =========================================================
   КОНТАКТЫ (kontakty.php) — светлая страница на бумажном фоне
   ========================================================= */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.ct-page{padding:24px 0 84px;position:relative;overflow:hidden;}
.ct-page::before{ /* единственная фигура: жёлтый квадрат с наклоном, уходит за край */
  content:"";position:absolute;right:-70px;top:30px;width:240px;height:240px;
  background:var(--yellow);transform:rotate(-6deg);z-index:0;
}
.ct-page .wrap{position:relative;z-index:1;}
.ct-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px;}
.ct-head h1{font-size:clamp(30px,4vw,52px);max-width:720px;}
.ct-head h1 em{font-style:normal;background:var(--yellow);padding:0 8px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.ct-head p{margin:16px 0 0;max-width:560px;font-size:16px;color:var(--grey);}
.ct-status{
  flex:none;font-family:var(--font-mono);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;
  background:var(--black);color:var(--paper);padding:10px 14px;transform:rotate(-4deg);
  display:inline-flex;align-items:center;gap:10px;
}
.ct-status::before{content:"";width:9px;height:9px;background:var(--grey-soft);flex:none;}
.ct-status.is-open::before{background:var(--yellow);}

.ct-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;
  background:var(--black);border:2px solid var(--black);
}
.ct-block{background:#fff;padding:32px;min-width:0;}
.ct-block:nth-child(2),.ct-block:nth-child(3){background:var(--paper);}
.ct-block h2{font-size:20px;margin-bottom:20px;}
.ct-muted{margin:14px 0 18px;font-size:14.5px;color:var(--grey);max-width:46ch;}

.ct-phone{
  display:inline-block;font-family:var(--font-display);font-weight:900;font-size:clamp(28px,3.4vw,40px);line-height:1.1;
  color:var(--ink);text-decoration:none;border-bottom:4px solid var(--yellow);
}
.ct-phone:hover{background:var(--yellow);}

.ct-channels{list-style:none;margin:0;padding:0;border-top:2px solid var(--black);}
.ct-channels li{border-bottom:2px solid var(--black);}
.ct-channel{
  display:flex;align-items:center;gap:16px;padding:14px 6px;color:var(--ink);text-decoration:none;
  transition:background .15s ease;
}
.ct-channel:hover{background:var(--yellow);}
.ct-ico{
  width:44px;height:44px;flex:none;border:2px solid var(--black);background:#fff;
  display:flex;align-items:center;justify-content:center;
}
.ct-ico svg{width:22px;height:22px;}
.ct-channel:hover .ct-ico{background:var(--black);color:var(--yellow);}
.ct-ch-text{display:flex;flex-direction:column;min-width:0;flex:1;}
.ct-ch-text b{font-size:16px;}
.ct-ch-handle{font-family:var(--font-mono);font-size:13px;overflow-wrap:anywhere;}
.ct-ch-note{font-size:13px;color:var(--grey);}
.ct-channel:hover .ct-ch-note{color:var(--ink);}
.ct-arrow{width:22px;height:22px;flex:none;transition:transform .15s ease;}
.ct-channel:hover .ct-arrow{transform:translateX(4px);}

.ct-address{font-style:normal;font-size:20px;font-weight:700;line-height:1.3;}
.ct-hours{border-collapse:collapse;margin:18px 0 22px;width:100%;max-width:340px;}
.ct-hours th,.ct-hours td{padding:8px 0;border-bottom:1px solid var(--line);font-size:15px;text-align:left;}
.ct-hours th{font-weight:500;color:var(--grey);}
.ct-hours td{font-family:var(--font-mono);font-weight:600;text-align:right;font-variant-numeric:tabular-nums;}
.ct-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;}

.ct-req-list{margin:0 0 22px;display:grid;gap:10px;}
.ct-req-list div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:baseline;}
.ct-req-list dt{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--grey);}
.ct-req-list dd{margin:0;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.ct-link{font-weight:600;font-size:14px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:4px;}
.ct-link:hover{background:var(--yellow);}

.ct-channel:focus-visible,.ct-phone:focus-visible,.ct-link:focus-visible,.ct-page .btn:focus-visible{
  outline:3px solid var(--black);outline-offset:3px;
}
.ct-map-anchor{scroll-margin-top:80px;}
.ct-phone-hours{margin:12px 0 0;font-family:var(--font-mono);font-size:13px;color:var(--grey);}
.ct-route{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;}
.ct-yandex-touch{display:none;}
@media (pointer:coarse){
  .ct-yandex-desk{display:none;}
  .ct-yandex-touch{display:inline;}
}

@media (max-width:860px){
  .ct-page::before{width:120px;height:120px;right:-50px;top:10px;}
  .ct-head{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:28px;}
  .ct-grid{grid-template-columns:minmax(0,1fr);}
  .ct-block{padding:24px 18px;}
  .ct-block:nth-child(3){background:#fff;}
  .ct-block:nth-child(2),.ct-block:nth-child(4){background:var(--paper);}
}
@media (max-width:600px){
  .ct-actions .btn{width:100%;justify-content:center;}
  .ct-route .btn{width:100%;justify-content:center;}
  .ct-page::before{display:none;}
  .ct-req-list div{grid-template-columns:minmax(0,1fr);gap:2px;}
}

/* ---------- статус «открыто / закрыто» в верхней строке шапки (inc/hours.php) ---------- */
.top-strip .top-status{
  margin-right:auto;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-mono);font-size:12.5px;font-weight:600;letter-spacing:.04em;
  color:var(--grey);padding:3px 8px;border:1px solid var(--line);white-space:nowrap;
}
.top-strip .top-status::before{content:"";width:8px;height:8px;background:var(--grey-soft);flex:none;}
.top-strip .top-status.is-open{color:var(--ink);border-color:var(--black);}
.top-strip .top-status.is-open::before{background:var(--yellow);outline:1px solid var(--black);}
.top-strip .top-status:hover{background:var(--yellow);color:var(--black);border-color:var(--black);}
@media (max-width:600px){
  .top-address-link{display:none;}
  .top-strip .top-status{font-size:12px;padding:3px 6px;gap:6px;}
}

/* ---------- ПОИСК: подсказки, мобильная форма, страница результатов ---------- */
.search-suggest{
  position:absolute;left:-2px;right:-2px;top:calc(100% + 6px);z-index:120;
  background:#fff;border:2px solid var(--black);max-height:70vh;overflow-y:auto;text-align:left;
}
.site-search .search-suggest{min-width:380px;}
.search-suggest-item{display:block;padding:10px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);}
.search-suggest-item b{display:block;font-size:14px;font-weight:700;text-transform:none;letter-spacing:0;}
.search-suggest-item span{display:block;font-size:12.5px;color:var(--grey);line-height:1.35;margin-top:2px;text-transform:none;letter-spacing:0;}
.search-suggest-item:hover,.search-suggest-item.is-active{background:var(--yellow);}
.search-suggest-item:hover span,.search-suggest-item.is-active span{color:var(--ink);}
.search-suggest-all{display:block;padding:10px 14px;font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);text-decoration:none;background:var(--paper);}
.search-suggest-all:hover{background:var(--black);color:var(--yellow);}
.search-suggest-empty,.search-suggest-note{padding:10px 14px;font-size:13px;color:var(--grey);}
.search-suggest-note{font-family:var(--font-mono);font-size:12px;background:var(--paper);}

.nav-search{display:none;}
@media (max-width:860px){
  .nav-search{display:flex;position:relative;margin:4px 16px 10px;border:2px solid var(--yellow);background:#fff;}
  .nav-search input{flex:1;min-width:0;border:0;outline:0;padding:12px 14px;font:500 15px 'Manrope',sans-serif;color:var(--ink);background:transparent;}
  .nav-search button{flex:none;width:48px;border:0;background:var(--yellow);color:var(--black);cursor:pointer;display:flex;align-items:center;justify-content:center;}
  .nav-search button svg{width:20px;height:20px;}
  .nav-search{flex-wrap:wrap;}
  .nav-search .search-suggest{position:static;flex-basis:100%;border:0;border-top:2px solid var(--black);max-height:none;}
}

.search-big{display:flex;max-width:820px;border:2px solid var(--black);background:#fff;margin:0 0 20px;}
.search-big input{flex:1;min-width:0;border:0;outline:0;padding:14px 16px;font:500 17px 'Manrope',sans-serif;color:var(--ink);background:transparent;}
.search-big input:focus-visible{box-shadow:inset 0 -3px 0 var(--yellow);}
.search-big .btn{border-radius:0;padding:0 26px;}
.search-count,.search-note{max-width:820px;margin:0 0 14px;font-family:var(--font-mono);font-size:13px;color:var(--grey);}
.search-note{color:var(--ink);}
.search-results mark{background:var(--yellow);color:var(--ink);padding:0 2px;}
.search-popular{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:820px;margin:8px 0 36px;}
.search-popular span{font-family:var(--font-mono);font-size:13px;color:var(--grey);margin-right:4px;}
.search-popular a{padding:6px 12px;border:2px solid var(--black);font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;}
.search-popular a:hover{background:var(--yellow);}
.search-all-title{font-size:20px;margin:0 0 16px;}
@media (max-width:600px){
  .search-big .btn{padding:0 16px;}
  .search-big input{font-size:16px;padding:12px;}
}

.top-bar:focus-within,.top-bar:has(.search-suggest:not([hidden])){z-index:90;}
.search-page{padding-top:28px;}

/* =========================================================
   IMPECCABLE · POLISH (v12) — «поверхности браузера» и общие правки качества.
   Стиль Малевича не меняется: только палитра бренда, фокус, читаемость.
   ========================================================= */
/* поверхности браузера в палитре бренда */
html{accent-color:var(--black);scrollbar-color:var(--black) var(--paper-dark);-webkit-tap-highlight-color:rgba(255,209,0,.35);}
input,textarea,[contenteditable]{caret-color:var(--black);}
a{text-underline-offset:.2em;text-decoration-thickness:from-font;}
::placeholder{color:var(--grey);opacity:1;}
/* видимый фокус с клавиатуры — везде; на тёмных плашках жёлтый */
:focus-visible{outline:3px solid var(--black);outline-offset:3px;}
footer :focus-visible,.menu-bar :focus-visible,.strip :focus-visible,.calc-result :focus-visible,.btn:focus-visible{outline-color:var(--yellow);}
.btn:focus-visible{box-shadow:0 0 0 3px var(--black);}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.ed-input:focus-visible{outline:3px solid var(--yellow);outline-offset:0;}
/* цифры цен и размеров не «прыгают» */
.mono,.price-table td:last-child,.svc-price-num,.svc-sticky-price,.ct-hours td,.ct-req-list dd,[class*="price"]{font-variant-numeric:tabular-nums;}
/* заголовки Geologica: ровный перенос строк */
h1,h2,h3,.display{text-wrap:balance;}
p,li,dd{text-wrap:pretty;}
/* прозаические блоки — комфортная длина строки */
.wizard-card > p,.wizard-card > ul,.wizard-card > ol,.cat-hero-desc,.svc-lead{max-width:72ch;}
/* карточки-ссылки без подчёркивания */
a.service-card,a.related-card,a.subcat-tile,a.cat-tile{text-decoration:none;color:inherit;}
/* подпись поверх фигуры в hero разделов не перекрывается */
.hero-geo-label{z-index:2;}
/* результаты поиска: заголовки в обычном регистре — быстрее читать список */
.search-results b{font-family:var(--font-body);font-weight:800;text-transform:none;font-size:17px;letter-spacing:0;}
/* слайдер на главной: стрелки рядом с точками, не поверх заголовка */
.hero-arrows{top:auto;bottom:12px;left:50%;right:auto;transform:translateX(-50%);width:230px;padding:0;}
.hero-dots-outer{bottom:28px;}
.arrow{width:40px;height:40px;}
/* меньше движения, если так настроено в системе */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

/* длинные слова в заголовках на узких экранах (Geologica шире Archivo): «ШИРОКОФОРМАТНАЯ» */
@media (max-width:420px){
  h1,h2,.cat-hero-title{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;}
  .cat-hero-title{font-size:clamp(24px,7.6vw,34px);}
}

/* =========================================================
   СЛАЙДЕР НА ГЛАВНОЙ: параллакс, как на страницах услуг (.svc-visual)
   Картинка (PNG без фона) и 3 фигуры — жёлтый квадрат, красная полоса,
   чёрный круг — сдвигаются от мыши и прокрутки на разную глубину (--d).
   --px/--py/--sy ставит скрипт index.php на #heroSliderWrap.
   Раскладка фигур: .hv-a (по умолчанию) / .hv-b / .hv-c / .hv-d.
   ========================================================= */
.hero-visual{isolation:isolate;}
.hero-layer{
  transform:translate3d(calc(var(--px,0) * var(--d,0) * 1px),calc((var(--py,0) + var(--sy,0)) * var(--d,0) * 1px),0) rotate(var(--rot,0deg));
  transition:transform .3s ease-out;will-change:transform;
}
.hero-visual .slide-img-ph{position:relative;z-index:2;--d:.25;}
.hero-visual picture{display:contents;}
.hero-shape{position:absolute;display:block;z-index:1;pointer-events:none;}
.hero-shape-sq{--d:.6;--rot:-6deg;width:48%;aspect-ratio:1;left:24%;top:8%;background:var(--yellow);}
.hero-shape-bar{--d:1.2;--rot:-24deg;width:78%;height:18px;left:8%;bottom:17%;background:var(--red);}
.hero-shape-circle{--d:-.8;width:13%;aspect-ratio:1;right:3%;top:3%;border-radius:50%;background:var(--black);}
/* другие раскладки, чтобы слайды не повторяли друг друга */
.hv-b .hero-shape-sq{width:52%;left:auto;right:8%;top:4%;}
.hv-b .hero-shape-bar{left:4%;bottom:12%;width:70%;}
.hv-b .hero-shape-circle{right:auto;left:6%;top:10%;width:12%;}
.hv-c .hero-shape-sq{width:44%;left:10%;top:16%;}
.hv-c .hero-shape-bar{left:16%;bottom:10%;width:76%;}
.hv-c .hero-shape-circle{right:6%;top:auto;bottom:20%;width:14%;}
.hv-d .hero-shape-sq{width:50%;left:30%;top:2%;}
.hv-d .hero-shape-bar{left:2%;bottom:26%;width:66%;}
.hv-d .hero-shape-circle{right:auto;left:10%;top:auto;bottom:6%;width:11%;}
@media (max-width:900px){
  .hero-visual{width:100%;max-width:560px;}
}
@media (max-width:600px){
  .hero-shape-bar{height:10px;}
  .hero-shape-circle{width:11%;}
}
@media (prefers-reduced-motion:reduce){
  .hero-layer{transition:none;transform:rotate(var(--rot,0deg));}
}
/* полоса с точками не перехватывает клики по стрелкам слайдера */
.hero-dots-outer{pointer-events:none;}
.hero-dots-outer .dot{pointer-events:auto;}

/* =========================================================
   НОВОСТИ (inc/news.php): блок на главной, /novosti.php, особый график
   ========================================================= */
.news-sec{padding:72px 0;background:var(--paper);}
.news-sec-page{padding:24px 0 80px;}
.news-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-bottom:28px;}
.news-head .sec-head{margin-bottom:0;}
.news-all{font-weight:700;font-size:14px;text-decoration:none;border-bottom:2px solid var(--yellow);padding-bottom:2px;white-space:nowrap;}
.news-all:hover{border-bottom-color:var(--black);}
.news-page-title{font-size:clamp(30px,4vw,48px);}
.news-page-title em{font-style:normal;background:var(--yellow);padding:0 8px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.news-card{display:flex;flex-direction:column;background:#fff;border:2px solid var(--black);text-decoration:none;color:var(--ink);
  transition:transform .15s ease,box-shadow .15s ease;min-width:0;}
.news-card:hover,.news-card:focus-visible{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--black);outline:none;}
.news-card-pic{position:relative;display:block;aspect-ratio:16/10;background:var(--paper-dark);border-bottom:2px solid var(--black);overflow:hidden;}
.news-card-pic img{width:100%;height:100%;object-fit:cover;display:block;}
.news-card-geo{position:absolute;left:18%;top:16%;width:42%;aspect-ratio:1;background:var(--yellow);transform:rotate(-6deg);}
.news-card-geo::after{content:"";position:absolute;right:-60%;bottom:-8%;width:46%;aspect-ratio:1;border-radius:50%;background:var(--black);}
.news-card-tag{position:absolute;left:10px;top:10px;background:var(--yellow);color:var(--black);border:2px solid var(--black);
  font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;transform:rotate(-4deg);}
.news-card-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1;}
.news-card-date{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--grey);}
.news-card-title{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:17px;line-height:1.15;margin:0;}
.news-card-text{font-size:14px;line-height:1.5;color:#3c3a30;}
.news-card-more{margin-top:auto;padding-top:6px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
.news-card:hover .news-card-more{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;}
.news-empty{font-size:16px;color:var(--grey);}

.news-article{padding:12px 0 80px;}
.news-article-wrap{max-width:820px;}
.news-article-head .eyebrow{margin-bottom:14px;}
.news-article-title{font-size:clamp(28px,4vw,46px);margin:0 0 24px;hyphens:auto;overflow-wrap:break-word;}
.news-article-pic{margin:0 0 28px;border:2px solid var(--black);background:var(--paper-dark);}
.news-article-pic img{width:100%;height:auto;display:block;}
.news-article-text{font-size:17px;line-height:1.65;max-width:70ch;}
.news-article-text p{margin:0 0 16px;}
.news-article-text a{text-decoration-color:var(--yellow);text-decoration-thickness:2px;overflow-wrap:anywhere;}
.news-article-back{margin-top:32px;}
.news-article-back a{font-weight:700;text-decoration:none;border-bottom:2px solid var(--yellow);padding-bottom:2px;}

.news-sched{margin:28px 0 8px;background:#fff;border:2px solid var(--black);padding:18px 20px;position:relative;max-width:560px;}
.news-sched::before{content:"";position:absolute;left:-2px;top:-2px;width:34px;height:6px;background:var(--yellow);}
.news-sched-title{font-size:16px;margin:0 0 10px;}
.news-sched-table{width:100%;border-collapse:collapse;font-size:15px;}
.news-sched-table th,.news-sched-table td{padding:9px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400;}
.news-sched-table td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:16px;}
.news-sched-table tr:last-child th,.news-sched-table tr:last-child td{border-bottom:0;}
.news-sched-table tr.off td b::before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;background:var(--red);transform:rotate(-6deg);vertical-align:0;}

@media (max-width:860px){
  .news-sec{padding:48px 0;}
  .news-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:600px){
  .news-grid{grid-template-columns:minmax(0,1fr);gap:14px;}
  .news-article-text{font-size:16px;}
  .news-sched{padding:16px;}
}

/* =========================================================
   КОММЕРЧЕСКОЕ ПРЕДЛОЖЕНИЕ (kp.php): форма и документ для печати / PDF
   ========================================================= */
.kp-page{padding:8px 0 80px;}
.kp-page-title{font-size:clamp(30px,4vw,48px);}
.kp-page-title em{font-style:normal;background:var(--yellow);padding:0 8px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.kp-error{background:#fdeaea;border:2px solid #c0392b;padding:12px 16px;margin-bottom:18px;font-weight:600;}
.kp-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start;}
.kp-form,.kp-cart{background:#fff;border:2px solid var(--black);padding:22px;position:relative;}
.kp-form::before{content:"";position:absolute;left:-2px;top:-2px;width:34px;height:6px;background:var(--yellow);}
.kp-form-title{font-size:16px;margin:0 0 14px;}
.kp-form-title:not(:first-of-type){margin-top:22px;}
.kp-opt{font-family:var(--font-body);font-weight:500;text-transform:none;color:var(--grey);font-size:14px;}
.kp-form .field{margin-bottom:12px;display:flex;flex-direction:column;gap:5px;}
.kp-form label{font-size:13px;font-weight:700;}
.kp-form input{font:inherit;font-size:15px;border:2px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:#fff;color:var(--ink);min-width:0;}
.kp-form input:focus{outline:none;border-color:var(--black);}
.kp-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;}
.kp-search{position:relative;}
.kp-search input{border-color:var(--black);}
.kp-search-note{margin:2px 0 0;font-size:13px;color:var(--grey);}
.kp-suggest{position:absolute;left:0;right:0;top:70px;z-index:20;background:#fff;border:2px solid var(--black);max-height:340px;overflow:auto;box-shadow:0 8px 0 rgba(13,13,12,.08);}
.kp-suggest-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-top:1px solid var(--line);cursor:pointer;}
.kp-suggest-item:first-child{border-top:0;}
.kp-suggest-item b{font-size:14.5px;}
.kp-suggest-item span{font-size:12.5px;color:var(--grey);}
.kp-suggest-item .mono{font-size:12px;color:var(--ink);}
.kp-suggest-item.is-active,.kp-suggest-item:hover{background:var(--yellow);}
.kp-suggest-item.is-active span,.kp-suggest-item:hover span{color:var(--ink);}
.kp-suggest-item.is-off b{color:var(--grey);}
.kp-off{font-size:12px;font-weight:600;color:#c0392b;text-transform:uppercase;margin-left:6px;}
.kp-submit{width:100%;justify-content:center;margin-top:10px;padding:16px;font-size:14px;}
.kp-cart-list{list-style:none;margin:0;padding:0;}
.kp-cart-list li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;}
.kp-cart-list b{white-space:nowrap;font-variant-numeric:tabular-nums;}
.kp-cart-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px;}
.kp-cart-total b{font-family:var(--font-display);font-weight:900;font-size:26px;font-variant-numeric:tabular-nums;}
.kp-back{display:inline-block;margin-top:14px;font-weight:700;font-size:14px;text-decoration:none;border-bottom:2px solid var(--yellow);}

/* корзина: главная кнопка «Оформить заказ» — жёлтый акцент бренда */
.ct-submit.btn-accent{gap:10px;padding:18px;font-size:15px;border-width:3px;}
.ct-submit.btn-accent:disabled{background:var(--paper-dark);color:var(--grey);border-color:var(--line);cursor:wait;}

/* корзина: коммерческое предложение — отдельная карточка под товарами */
.ct-kp-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 24px;align-items:center;margin-top:18px;padding:22px 24px;background:var(--paper-dark);border:2px solid var(--black);}
.ct-kp-card::before{content:"";position:absolute;top:-11px;left:22px;width:20px;height:20px;background:var(--yellow);border:2px solid var(--black);transform:rotate(-6deg);}
.ct-kp-card .eyebrow{margin-bottom:8px;}
.ct-kp-card h3{font-size:18px;margin:0 0 6px;}
.ct-kp-card p{margin:0;font-size:14px;color:var(--grey);line-height:1.45;max-width:52ch;}
.ct-kp{white-space:nowrap;padding:14px 20px;font-size:13px;}
@media (max-width:600px){
  .ct-kp-card{grid-template-columns:1fr;padding:20px 16px;}
  .ct-kp{width:100%;justify-content:center;}
}

/* документ КП */
.kp-body{background:var(--paper-dark);margin:0;}
.kp-toolbar{max-width:840px;margin:0 auto;padding:18px 16px 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.kp-toolbar-hint{font-size:13px;color:var(--grey);flex-basis:100%;}
.kp-doc{max-width:840px;margin:16px auto 40px;background:#fff;border:2px solid var(--black);padding:40px 44px;font-size:14px;line-height:1.5;color:var(--ink);box-sizing:border-box;}
.kp-expired{background:#fdeaea;border:2px solid #c0392b;padding:10px 14px;margin:0 0 20px;font-weight:600;}
.kp-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding-bottom:18px;border-bottom:2px solid var(--black);}
.kp-logo{display:flex;align-items:center;gap:10px;flex:none;}
.kp-logo-mark{width:40px;height:40px;background:var(--black);position:relative;transform:rotate(-6deg);display:inline-block;}
.kp-logo-mark span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--yellow);font-family:var(--font-display);font-weight:900;font-size:20px;transform:rotate(6deg);}
.kp-logo-text{font-family:var(--font-display);font-weight:900;font-size:22px;text-transform:uppercase;}
.kp-seller{font-size:12.5px;text-align:right;color:#3c3a30;}
.kp-seller b{color:var(--ink);}
.kp-title{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:24px;line-height:1.15;margin:26px 0 4px;}
.kp-title .mono{font-family:var(--font-mono);font-size:18px;font-weight:600;white-space:nowrap;}
.kp-date{margin:0 0 18px;color:var(--grey);}
.kp-to{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);background:var(--paper);padding:12px 14px;margin-bottom:18px;}
.kp-to b{font-size:16px;}
.kp-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--grey);display:inline-flex;align-items:center;gap:8px;}
.kp-label::before{content:"";width:10px;height:10px;background:var(--yellow);border:1.5px solid var(--black);transform:rotate(-6deg);}
.kp-intro{margin:0 0 12px;}
.kp-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.kp-table th{background:var(--black);color:var(--paper);text-align:left;font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;}
.kp-table td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top;}
.kp-table td small{display:block;color:var(--grey);font-size:12px;margin-top:2px;}
.kp-table .c{text-align:center;width:32px;}
.kp-table .n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
.kp-table th:nth-child(n+3){text-align:right;}
.kp-table tfoot td{font-weight:700;font-size:15px;border-bottom:2px solid var(--black);border-top:2px solid var(--black);}
.kp-table tfoot td:first-child{text-align:right;}
.kp-words{margin:10px 0 20px;}
.kp-terms h2,.kp-bank h2{font-size:14px;margin:18px 0 8px;}
.kp-terms ul{margin:0;padding-left:18px;}
.kp-terms li{margin-bottom:4px;}
.kp-bank p{margin:0;font-size:13px;}
.kp-sign{display:flex;align-items:flex-end;gap:14px;margin-top:40px;font-size:14px;}
.kp-sign-line{flex:0 0 180px;border-bottom:1px solid var(--ink);height:28px;}
@media (max-width:860px){
  .kp-layout{grid-template-columns:minmax(0,1fr);}
  .kp-doc{padding:24px 18px;margin:12px 12px 32px;}
  .kp-head{flex-direction:column;}
  .kp-seller{text-align:left;}
}
@media (max-width:600px){
  .kp-row3{grid-template-columns:minmax(0,1fr);}
  .kp-table th:nth-child(4),.kp-table td:nth-child(4){display:none;}
}
@media print{
  @page{size:A4;margin:14mm;}
  .kp-body{background:#fff;}
  .no-print{display:none!important;}
  .kp-doc{border:0;margin:0;padding:0;max-width:none;}
  .kp-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .kp-to{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .kp-table tr{break-inside:avoid;}
  .kp-head{flex-direction:row;}
  .kp-seller{text-align:right;}
}

/* мастер заказа печати: подсказка автозаполнения по ИНН/ОГРН (assets/stamp-org.js) */
.org-autofill-note{display:flex;align-items:center;gap:8px;margin:-4px 0 16px;font-size:13.5px;color:var(--grey);}
.org-autofill-note::before{content:"";flex:none;width:10px;height:10px;border:1.5px solid var(--black);background:#fff;transform:rotate(-6deg);}
.org-autofill-note.is-wait::before{background:var(--paper-dark);}
.org-autofill-note.is-ok{color:var(--ink);font-weight:600;}
.org-autofill-note.is-ok::before{background:var(--yellow);}
.org-autofill-note.is-warn{color:#c0392b;font-weight:600;}
.org-autofill-note.is-warn::before{background:#c0392b;border-color:#c0392b;}
.field-sub{display:block;font-size:12.5px;color:var(--grey);margin-bottom:8px;max-width:70ch;}

/* промокод в корзине */
.ct-promo-row{display:flex;gap:8px;}
.ct-promo-row input{flex:1;min-width:0;}
.ct-promo-row .btn{padding:10px 14px;font-size:12px;flex:none;}
.ct-promo-msg{margin:6px 0 0;font-size:13px;min-height:0;}
.ct-promo-msg:empty{display:none;}
.ct-promo-msg.ok{color:#1c6b1c;font-weight:600;}
.ct-promo-msg.err{color:#c0392b;font-weight:600;}

/* Мастер печати: подписи и значения в итоге не слипаются, длинная дата уходит вправо */
.wizard-summary .row{gap:12px;}
.wizard-summary .row > span:last-child{text-align:right;}

/* ===== Таблица размеров футболок (inc/tee-size-chart.php + assets/size-chart.js) ===== */
.szc-link{display:inline-flex;align-items:center;gap:8px;padding:4px 0 2px;background:none;border:0;border-bottom:2px solid var(--yellow);
  font:600 14px var(--font-body);color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap;}
.szc-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;flex:none;}
.szc-link:hover{border-bottom-color:var(--black);}
.szc-link:focus-visible{outline:3px solid var(--black);outline-offset:3px;}
.szc{--szc-gap:28px;}
.szc-tabs{display:inline-flex;border:2px solid var(--black);margin-bottom:22px;max-width:100%;}
.szc-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 18px;background:#fff;border:0;border-right:2px solid var(--black);
  font:800 14px var(--font-body);text-transform:uppercase;letter-spacing:.02em;color:var(--ink);cursor:pointer;text-align:left;}
.szc-tab:last-child{border-right:0;}
.szc-tab small{font:500 12px var(--font-body);text-transform:none;letter-spacing:0;color:var(--grey);}
.szc-tab:hover:not(.active){background:var(--paper);}
.szc-tab.active{background:var(--black);color:var(--yellow);}
.szc-tab.active small{color:var(--grey-soft);}
.szc-tab:focus-visible{outline:3px solid var(--black);outline-offset:3px;position:relative;z-index:1;}
.szc-panel{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:var(--szc-gap);align-items:start;}
.szc-panel[hidden]{display:none;}
.szc-fig{margin:0;background:#fff;border:2px solid var(--black);padding:14px 10px 10px;}
.szc-fig figcaption{font-size:12px;color:var(--grey);text-align:center;margin-top:6px;}
.szc-svg{display:block;width:100%;height:auto;max-height:340px;}
.szc-shirt{fill:var(--paper);stroke:var(--black);stroke-width:2;stroke-linejoin:round;}
.szc-seam{fill:none;stroke:var(--grey);stroke-width:1;}
.szc-dim{fill:none;stroke:var(--black);stroke-width:1.5;stroke-dasharray:5 4;}
.szc-arrow{fill:none;stroke:var(--black);stroke-width:1.5;stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round;}
.szc-lbl rect{fill:var(--yellow);stroke:var(--black);stroke-width:1.5;}
.szc-lbl text{font-family:var(--font-mono);font-weight:600;font-size:14px;fill:var(--ink);}
.szc-scroll{overflow-x:auto;}
.szc-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;background:#fff;}
.szc-cap{caption-side:top;text-align:left;font-size:13px;color:var(--grey);padding-bottom:10px;}
.szc-table thead th{font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--grey);
  text-align:center;vertical-align:bottom;padding:8px 6px;border-bottom:2px solid var(--black);white-space:nowrap;}
.szc-table thead th:first-child{text-align:left;}
.szc-l{display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:0 auto 6px;background:var(--yellow);
  border:1.5px solid var(--black);transform:rotate(-6deg);color:var(--ink);font-size:13px;letter-spacing:0;}
.szc-table abbr{text-decoration:none;}
.szc-table tbody th{font-family:var(--font-display);font-weight:900;font-size:16px;text-align:left;padding:9px 6px;border-bottom:1px solid var(--line);}
.szc-table td{text-align:center;font-weight:700;font-size:15px;padding:9px 6px;border-bottom:1px solid var(--line);}
.szc-table td.szc-ru{font-family:var(--font-mono);font-weight:500;font-size:13px;color:var(--grey);}
.szc-table tbody tr:hover{background:var(--paper);}
.szc-note{display:flex;gap:10px;margin:14px 0 0;font-size:14px;line-height:1.5;max-width:70ch;}
.szc-note::before{content:"";flex:none;width:12px;height:12px;margin-top:4px;background:var(--yellow);border:1.5px solid var(--black);transform:rotate(-6deg);}
.szc-foot{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--szc-gap);margin-top:24px;padding-top:20px;border-top:2px solid var(--black);}
.szc-how b{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:15px;}
.szc-how p{margin:8px 0 0;font-size:14px;line-height:1.55;color:var(--ink);max-width:70ch;}
.szc-fabric{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;align-content:start;}
.szc-fabric li{font-size:14px;font-weight:700;}
.szc-fabric span{display:block;font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--grey);}
.szc-card{background:#fff;border:2px solid var(--black);padding:28px;}
@media (max-width:860px){
  .szc{--szc-gap:18px;}
  .szc-panel{grid-template-columns:1fr;}
  .szc-fig{max-width:340px;width:100%;justify-self:center;}
  .szc-foot{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .szc-tabs{display:flex;width:100%;}
  .szc-tab{flex:1;padding:9px 10px;}
  .szc-table thead th{font-size:12px;letter-spacing:0;padding:8px 3px;}
  .szc-table td,.szc-table tbody th{padding:8px 3px;}
  .szc-card{padding:18px 14px;}
}

/* ===== Инфо-страницы: DTF и уход (dtf-pechat.php, uhod-za-izdeliem.php) ===== */
.info-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;}
.info-hero .cat-hero-title{margin:0 0 20px;text-align:left;}
.info-hero .hero-cta{margin-top:28px;}
.dtf-layers{margin:0;}
.dtf-layers svg{display:block;width:100%;height:auto;}
.dtf-l rect{stroke:var(--black);stroke-width:2;}
.dtf-ink rect{fill:var(--black);}
.dtf-white rect{fill:#fff;}
.dtf-glue rect{fill:var(--yellow);}
.dtf-fabric rect{fill:var(--paper-dark);}
.dtf-lead{fill:none;stroke:var(--black);stroke-width:1.5;stroke-dasharray:4 3;}
.dtf-layers text{font-family:var(--font-mono);font-weight:600;font-size:17px;fill:var(--ink);text-transform:uppercase;}
.dtf-layers figcaption{font-size:13px;color:var(--grey);margin-top:10px;max-width:46ch;}
.care-main{background:var(--black);color:var(--paper);padding:28px 28px 24px;position:relative;}
.care-main-tag{position:absolute;top:-14px;left:22px;background:var(--yellow);color:var(--ink);font-family:var(--font-mono);font-weight:600;
  font-size:12px;text-transform:uppercase;letter-spacing:.08em;padding:5px 10px;transform:rotate(-4deg);}
.care-main ol{margin:0;padding:0;list-style:none;counter-reset:care;}
.care-main li{counter-increment:care;display:flex;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid #2c2b26;font-size:16px;}
.care-main li:last-child{border-bottom:0;}
.care-main li::before{content:"0" counter(care);font-family:var(--font-mono);font-size:13px;color:var(--yellow);}
.care-main b{font-family:var(--font-display);font-weight:900;text-transform:uppercase;}
.care-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;background:var(--black);border:2px solid var(--black);}
.care-item{background:#fff;padding:22px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
.care-item svg{width:56px;height:56px;margin-bottom:8px;fill:none;stroke:var(--black);stroke-width:2;stroke-linejoin:round;}
.care-item svg text{fill:var(--ink);stroke:none;font-family:var(--font-mono);font-weight:600;font-size:13px;}
.care-item svg .care-dot{fill:var(--black);stroke:none;}
.care-item b{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:14px;line-height:1.2;}
.care-item span{font-size:13px;color:var(--grey);}
@media (max-width:860px){
  .info-hero{grid-template-columns:1fr;gap:32px;}
  .care-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .care-item:last-child:nth-child(odd){grid-column:span 2;}
}
@media (max-width:600px){
  .care-main{padding:24px 18px 18px;}
}

/* =========================================================
   МЕНЮ: плитки-композиции с параллаксом (v37)
   PNG товара без фона + 3 фигуры (жёлтый квадрат, красная полоса, чёрный круг).
   При наведении мыши слои сдвигаются с разной глубиной — JS в script.js ставит --mx/--my (−1…1).
   ========================================================= */
.mega-item .ph.ph-art{position:relative;display:block;background:var(--paper);border:2px solid var(--black);overflow:hidden;isolation:isolate;}
.ph-art > i,.ph-art .art-img{position:absolute;display:block;will-change:transform;
  transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.ph-art .art-sq{width:50%;aspect-ratio:1;left:8%;top:9%;background:var(--yellow);z-index:0;
  transform:translate(calc(var(--mx,0) * -6px),calc(var(--my,0) * -6px)) rotate(-6deg);}
.ph-art .art-bar{width:88%;height:8%;left:6%;bottom:20%;background:var(--red);z-index:1;
  transform:translate(calc(var(--mx,0) * 10px),calc(var(--my,0) * 10px)) rotate(-14deg);}
.ph-art .art-dot{width:18%;aspect-ratio:1;right:8%;top:9%;border-radius:50%;background:var(--black);z-index:3;
  transform:translate(calc(var(--mx,0) * 14px),calc(var(--my,0) * 14px));}
.ph-art .art-img{inset:10% 6% 8%;z-index:2;
  transform:translate(calc(var(--mx,0) * 4px),calc(var(--my,0) * 4px));}
.mega-item .ph-art .art-img img{width:100%;height:100%;object-fit:contain;display:block;}
/* разные раскладки для разных товаров — те же фигуры и углы, другое место */
.ph-art--m .art-sq{left:auto;right:10%;top:10%;}
.ph-art--m .art-dot{right:auto;left:8%;top:8%;width:16%;}
.ph-art--m .art-img{inset:18% 4% 16%;}
.ph-art--t .art-sq{left:18%;top:6%;width:56%;}
.ph-art--t .art-bar{bottom:auto;top:62%;}
.ph-art--t .art-img{inset:8% 4% 6%;}
.ph-art--c .art-bar{bottom:12%;}
.ph-art--c .art-img{inset:6% 4% 4%;}
.mega-item:hover .ph-art,.mega-item:focus-visible .ph-art{border-color:var(--black);}
.mega-item:hover .ph-art .art-img{transform:translate(calc(var(--mx,0) * 4px),calc(var(--my,0) * 4px)) scale(1.06);}
.mega-item:hover .ph-art .art-sq{transform:translate(calc(var(--mx,0) * -6px),calc(var(--my,0) * -6px)) rotate(-6deg) scale(1.04);}
@media (prefers-reduced-motion: reduce){
  .ph-art > i,.ph-art .art-img{transition:none;}
  .mega-item:hover .ph-art .art-img,.mega-item:hover .ph-art .art-sq{transform:none;}
  .ph-art .art-sq{transform:rotate(-6deg);}
  .ph-art .art-bar{transform:rotate(-14deg);}
  .ph-art .art-dot,.ph-art .art-img{transform:none;}
}

/* =========================================================
   ПЕЧАТЬ ЧЕРТЕЖЕЙ (pechat-chertezhey.php) — калькулятор PDF, прайс, «под ключ по ГОСТ»
   JS — assets/chertezhi.js
   ========================================================= */
.dr-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start;}
.dr-main{min-width:0;}
/* зона загрузки — пунктир (по гайду: только для загрузки файла) */
.dr-drop{position:relative;display:block;border:3px dashed var(--black);background:#fff;padding:36px 28px 32px 118px;cursor:pointer;
  transition:background .15s ease;min-height:132px;}
.dr-drop:hover,.dr-drop.dragover{background:var(--paper);}
.dr-drop:focus-within{outline:3px solid var(--black);outline-offset:3px;}
.dr-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.dr-drop b{display:block;font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:18px;line-height:1.15;}
.dr-drop b u{text-decoration:none;background:var(--yellow);padding:0 4px;}
.dr-drop-note{display:block;margin-top:8px;font-size:14px;color:var(--grey);max-width:60ch;}
.dr-drop-sq{position:absolute;left:30px;top:34px;width:58px;height:58px;background:var(--black);transform:rotate(-6deg);}
.dr-drop-sq::after{content:"";position:absolute;right:-12px;top:-12px;width:22px;height:22px;background:var(--yellow);border:2px solid var(--black);}
.dr-status{min-height:22px;margin:10px 0 0;font-family:var(--font-mono);font-size:12.5px;color:var(--grey);}

.dr-opts{display:flex;flex-wrap:wrap;gap:16px 28px;margin:14px 0 20px;align-items:flex-end;}
.dr-opt{border:0;margin:0;padding:0;min-width:0;}
.dr-opt legend,.dr-opt-label{display:block;padding:0;margin-bottom:8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);}
.dr-seg{display:inline-flex;border:2px solid var(--black);background:#fff;}
.dr-seg label{position:relative;cursor:pointer;}
.dr-seg input{position:absolute;opacity:0;width:1px;height:1px;}
.dr-seg span{display:block;padding:9px 14px;font-size:14px;font-weight:700;white-space:nowrap;border-left:2px solid var(--black);}
.dr-seg label:first-child span{border-left:0;}
.dr-seg input:checked + span{background:var(--black);color:var(--yellow);}
.dr-seg input:focus-visible + span{outline:3px solid var(--yellow);outline-offset:-5px;}
.dr-step{display:inline-flex;border:2px solid var(--black);background:#fff;}
.dr-step button{width:40px;border:0;background:#fff;font-size:20px;font-weight:700;cursor:pointer;color:var(--ink);}
.dr-step button:hover{background:var(--yellow);}
.dr-step input{width:64px;border:0;border-left:2px solid var(--black);border-right:2px solid var(--black);text-align:center;
  font-family:var(--font-display);font-weight:900;font-size:17px;padding:8px 0;-moz-appearance:textfield;appearance:textfield;background:#fff;color:var(--ink);}
.dr-step input::-webkit-inner-spin-button,.dr-step input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}

/* файлы и листы */
.dr-file{border:2px solid var(--black);background:#fff;margin-bottom:14px;overflow:hidden;}
.dr-file-head{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;border-bottom:2px solid var(--black);background:var(--paper);}
.dr-file-name{font-weight:700;font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dr-file-meta{font-size:12px;color:var(--grey);text-transform:uppercase;white-space:nowrap;}
.dr-x{margin-left:auto;flex:none;width:32px;height:32px;border:2px solid var(--black);background:#fff;font-size:18px;line-height:1;cursor:pointer;color:var(--ink);}
.dr-x:hover{background:var(--black);color:var(--yellow);}
.dr-file-msg{margin:0;padding:12px 16px;font-size:14px;color:var(--grey);}
.dr-progress{height:8px;margin:14px 16px;background:var(--paper-dark);}
.dr-progress i{display:block;height:100%;background:var(--black);transition:width .2s ease;}
.dr-pages{list-style:none;margin:0 -1px -1px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));background:#fff;}
.dr-pg{display:grid;grid-template-columns:56px minmax(0,1fr) auto;grid-template-areas:"th info price" "th ctrl ctrl";gap:4px 10px;
  background:#fff;padding:10px 12px;align-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.dr-pg.is-off{background:var(--paper);}
.dr-pg.is-off .dr-pg-thumb,.dr-pg.is-off .dr-pg-info{filter:grayscale(1);}
.dr-pg.is-off .dr-pg-price{color:var(--grey);}
.dr-pg-thumb{grid-area:th;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--paper-dark);}
.dr-pg-thumb img{max-width:52px;max-height:52px;border:1px solid var(--line);background:#fff;}
.dr-pg-info{grid-area:info;min-width:0;display:flex;flex-direction:column;}
.dr-pg-info b{font-size:14px;}
.dr-pg-info .mono{font-size:12.5px;font-weight:600;text-transform:uppercase;color:var(--grey);}
.dr-pg-price{grid-area:price;font-size:13px;font-weight:600;white-space:nowrap;}
.dr-pg-ctrl{grid-area:ctrl;display:flex;align-items:center;gap:12px;}
.dr-pg-color{border:2px solid var(--black);background:#fff;padding:3px 10px;font-size:12px;font-weight:600;text-transform:uppercase;cursor:pointer;color:var(--ink);}
.dr-pg-color.is-color{background:var(--yellow);}
.dr-pg-color:hover{background:var(--black);color:var(--yellow);}
.dr-pg-on{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;}
.dr-pg-on input{width:16px;height:16px;accent-color:var(--black);}
.dr-man-list{list-style:none;margin:0;padding:0;}
.dr-man-list li{display:flex;align-items:center;gap:14px;padding:8px 12px 8px 16px;border-top:1px solid var(--line);font-size:14px;}
.dr-man-list li:first-child{border-top:0;}
.dr-man-list .mono{font-weight:600;text-transform:uppercase;font-size:13px;}

.dr-manual{border:2px solid var(--black);background:var(--paper);padding:16px;}
.dr-manual-title{display:block;font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:14px;margin-bottom:12px;}
.dr-manual-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;}
.dr-mf{display:flex;flex-direction:column;gap:6px;flex:1 1 150px;}
.dr-mf--qty{flex:0 1 110px;}
.dr-mf .mono{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
.dr-mf select,.dr-mf input{border:2px solid var(--black);background:#fff;padding:9px 10px;font:700 15px var(--font-body);color:var(--ink);border-radius:var(--radius);width:100%;}
.dr-manual-row .btn{padding:12px 18px;}

/* итог справа */
.dr-sum{background:#fff;border:2px solid var(--black);padding:22px 20px;position:sticky;top:calc(var(--sticky-h, 56px) + 20px);}
.dr-sum-title{font-size:20px;margin-bottom:14px;}
.dr-sum-empty{font-size:14px;color:var(--grey);padding:14px;border:2px dashed var(--line);}
.dr-sum-table{width:100%;border-collapse:collapse;font-size:14px;}
.dr-sum-table th{font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;color:var(--grey);text-align:left;padding:0 0 6px;border-bottom:2px solid var(--black);}
.dr-sum-table th:not(:first-child),.dr-sum-table td:not(:first-child){text-align:right;padding-left:8px;white-space:nowrap;}
.dr-sum-table td{padding:8px 0;border-bottom:1px solid var(--line);vertical-align:top;font-weight:700;}
.dr-sum-table td small{display:block;font-weight:500;font-size:12px;color:var(--grey);}
.dr-sum-disc{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding:8px 10px;background:var(--black);color:var(--paper);font-size:13px;}
.dr-sum-disc-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
.dr-sum-disc b{color:var(--yellow);white-space:nowrap;font-family:var(--font-mono);}
.dr-sum-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:12px;border-top:2px solid var(--black);}
.dr-sum-total .mono{font-size:13px;font-weight:600;text-transform:uppercase;}
.dr-sum-total b{font-family:var(--font-display);font-weight:900;font-size:34px;line-height:1;}
.dr-sum-hint{margin:8px 0 18px;font-size:13px;color:var(--grey);}
.dr-order .field{margin-bottom:12px;}
.dr-order .field input,.dr-order .field textarea{width:100%;padding:10px 12px;border:2px solid var(--line);background:var(--paper);font:700 15px var(--font-body);color:var(--ink);border-radius:var(--radius);resize:vertical;}
.dr-order .field input:focus,.dr-order .field textarea:focus{outline:none;border-color:var(--black);}
.dr-check{display:flex;gap:10px;align-items:flex-start;margin:4px 0 14px;font-size:14px;font-weight:700;cursor:pointer;}
.dr-check input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--black);}
.dr-check small{display:block;font-weight:500;font-size:12.5px;color:var(--grey);}
.dr-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;}
.dr-submit{width:100%;justify-content:center;padding:15px 20px;font-size:14px;}
.dr-submit:disabled{cursor:wait;background:var(--paper-dark);}
.dr-legal{font-size:12px;color:var(--grey);margin:10px 0 0;}
.dr-alert{margin:0 0 10px;padding:8px 10px;border:2px solid #c0392b;color:#c0392b;font-size:13.5px;font-weight:700;}
.dr-done{border-top:2px solid var(--black);margin-top:16px;padding-top:14px;}
.dr-done-num{display:block;font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:18px;}
.dr-done-num span{background:var(--yellow);padding:0 4px;}
.dr-done p{font-size:14px;margin:8px 0 0;}

/* прайс */
.dr-price-table th[colspan]{text-align:center;border-left:1px solid #2c2b26;}
.dr-price-table thead tr + tr th{border-left:1px solid #2c2b26;}
.dr-price-table td{font-family:var(--font-display);font-weight:900;white-space:nowrap;}
.dr-price-table td:nth-child(1){font-family:var(--font-body);}
.dr-price-table td.mono{font-family:var(--font-mono);font-weight:500;font-size:13.5px;}
.dr-price-table td.dr-pt-small small{display:inline;margin-left:8px;}
.dr-price-table td.dr-pt-na{color:var(--grey);font-family:var(--font-body);font-weight:500;}
.dr-price-table tr.dr-pt-m2 td{background:var(--paper-dark) !important;}
.dr-discounts-wrap{margin-top:28px;display:flex;flex-direction:column;gap:26px;}
.dr-disc-eyebrow{margin-bottom:12px;}
.dr-discounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--black);border:2px solid var(--black);}
.dr-disc-card{background:#fff;padding:22px 18px;display:flex;flex-direction:column;gap:4px;}
.dr-disc-card .dr-disc-pct{align-self:flex-start;background:var(--red);color:#fff;font-family:var(--font-display);font-weight:900;font-size:28px;line-height:1;padding:6px 10px;transform:rotate(-4deg);margin-bottom:10px;}
.dr-disc-card b{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:16px;}
.dr-disc-card span{font-size:13.5px;color:var(--grey);}
.dr-disc-card--ex{background:var(--black);color:var(--paper);}
.dr-disc-card--ex span{color:var(--grey-soft);}
.dr-disc-card--ex s{color:var(--grey-soft);}
.dr-disc-card--ex span:last-child{color:var(--yellow);font-family:var(--font-mono);font-weight:600;font-size:15px;}
.dr-disc-card .dr-disc-ex{align-self:flex-start;background:var(--yellow);color:var(--ink) !important;font-size:12px !important;text-transform:uppercase;padding:4px 8px;transform:rotate(-4deg);margin-bottom:10px;}

/* под ключ по ГОСТ — чёрная секция */
.dr-gost{background:var(--black);color:var(--paper);padding:72px 0;position:relative;overflow:hidden;}
.dr-gost::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;background:var(--yellow);transform:rotate(-6deg);}
.dr-gost-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;position:relative;}
.dr-gost .dr-gost-eyebrow{color:var(--grey-soft);}
.dr-gost .dr-gost-eyebrow::before{background:var(--yellow);}
.dr-gost-title{font-size:clamp(28px,3.6vw,42px);}
.dr-gost-title em{font-style:normal;background:var(--yellow);color:var(--black);padding:0 8px;}
.dr-gost-lead{margin:18px 0 0;font-size:16px;color:#cfcabb;max-width:52ch;}
.dr-gost-list{list-style:none;margin:0;padding:0;counter-reset:gost;border-top:1px solid #2c2b26;background:var(--black);position:relative;}
.dr-gost-list li{counter-increment:gost;display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 14px;padding:14px 0;border-bottom:1px solid #2c2b26;}
.dr-gost-list li::before{content:"0" counter(gost);grid-row:span 2;font-family:var(--font-mono);font-size:13px;color:var(--yellow);padding-top:3px;}
.dr-gost-list b{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:16px;}
.dr-gost-list span{font-size:14px;color:var(--grey-soft);}

@media (max-width:900px){
  .dr-grid{grid-template-columns:1fr;}
  .dr-sum{position:static;}
  .dr-discounts{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dr-gost-grid{grid-template-columns:1fr;gap:28px;}
}
@media (max-width:600px){
  .dr-drop{padding:24px 16px 22px 86px;}
  .dr-drop-sq{left:18px;top:26px;width:44px;height:44px;}
  .dr-drop b{font-size:15px;}
  .dr-opts{flex-direction:column;align-items:stretch;gap:14px;}
  .dr-seg{display:flex;}
  .dr-seg label{flex:1;}
  .dr-seg span{text-align:center;padding:9px 6px;font-size:13px;}
  .dr-pages{grid-template-columns:1fr;}
  .dr-manual-row .btn{width:100%;justify-content:center;}
  .dr-sum{padding:18px 14px;}
  .dr-price-table td.dr-pt-na{display:none;}
  .dr-price-table td.dr-pt-small small{display:none;}
  .dr-gost{padding:56px 0;}
  .dr-gost::before{width:120px;height:120px;right:-40px;top:-40px;}
  .dr-disc-card{padding:16px 14px;}
  .dr-disc-card .dr-disc-pct{font-size:22px;}
}
/* почти квадратная картинка героя (чертежи) — уже, чтобы не выходила за блок 1:0.8 */
.svc-visual--tall .svc-visual-img{width:78%;}
body.dr-in-calc .svc-sticky{display:none;}

/* ===== v38: «Полезные сервисы» — скромная ссылка справа в верхней строке + служебная страница /servisy.php ===== */
.section-tabs{align-items:stretch;}
.section-tabs-tools{
  margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:0 2px 0 12px;
  font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--grey);text-decoration:none;white-space:nowrap;
}
.section-tabs-tools svg{width:15px;height:15px;flex:none;}
.section-tabs-tools:hover,.section-tabs-tools.active{color:var(--ink);}
.section-tabs-tools:hover .section-tabs-tools-full,.section-tabs-tools:hover .section-tabs-tools-short{text-decoration:underline;text-underline-offset:3px;}
.section-tabs-tools.active svg{color:var(--black);fill:var(--yellow);}
.section-tabs-tools:focus-visible,a.section-tab:focus-visible{outline:3px solid var(--black);outline-offset:-3px;}
.section-tabs-tools-short{display:none;}
@media (max-width:600px){
  .section-tabs-tools-full{display:none;}
  .section-tabs-tools-short{display:inline;}
}
@media (max-width:420px){
  .section-tab{padding:10px 10px;font-size:11.5px;}
  .section-tabs-tools{padding-left:8px;}
  .section-tabs-tools-short{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
  .section-tabs-tools svg{width:18px;height:18px;}
}

.tools-page{background:var(--paper);}
.tools-main{max-width:1180px;margin:0 auto;padding:56px 24px 80px;}
.tools-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:32px;}
.tools-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--grey);margin-bottom:14px;}
.tools-eyebrow::before{content:"";width:10px;height:10px;background:var(--yellow);transform:rotate(-6deg);}
.tools-head h1{font-size:clamp(30px,5vw,52px);hyphens:auto;}
.tools-head h1 em{font-style:normal;background:var(--yellow);padding:0 .12em;}
.tools-head p{margin:12px 0 0;max-width:60ch;color:var(--grey);font-size:15px;}
.tools-home{font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--black);padding-bottom:2px;}
.tools-home:hover{background:var(--yellow);}
.tools-home:focus-visible{outline:3px solid var(--black);outline-offset:3px;}
.tools-group{padding:0;margin:0;}
.tools-group + .tools-group{margin-top:40px;}
.tools-group-title{font-size:18px;margin:0 0 14px;}
.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--black);border:2px solid var(--black);}
.tools-grid--2{grid-template-columns:repeat(2,1fr);}
.tools-grid.tools-grid--1{grid-template-columns:1fr;max-width:calc(50% + 1px);}
@media (max-width:600px){ .tools-grid.tools-grid--1{max-width:none;} }
.tool-top{display:flex;align-items:center;gap:12px;}
.tool-soon{font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--grey);border:2px dashed var(--grey);padding:2px 8px;}
.tool-btn:hover .tool-soon{color:var(--ink);border-color:var(--ink);}
.tool-btn{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:190px;padding:22px 22px 20px;
  background:#fff;color:var(--ink);text-decoration:none;border:none;text-align:left;font:inherit;cursor:pointer;
  transition:background .15s ease;
}
.tool-btn:hover{background:var(--yellow);}
.tool-btn:focus-visible{outline:3px solid var(--black);outline-offset:-6px;}
.tool-num{
  display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--black);color:var(--paper);
  font-family:var(--font-mono);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;transform:rotate(-5deg);
}
.tool-num span{display:block;transform:rotate(5deg);}
.tool-btn:hover .tool-num{background:var(--ink);}
.tool-ico{position:absolute;top:22px;right:22px;width:30px;height:30px;color:var(--black);}
.tool-title{font-family:var(--font-display);font-weight:900;font-size:19px;line-height:1.1;text-transform:uppercase;margin-top:auto;}
.tool-meta{font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--grey);}
.tool-btn:hover .tool-meta{color:var(--ink);}
.tools-note{margin:22px 0 0;font-size:13px;color:var(--grey);max-width:70ch;}
@media (max-width:860px){
  .tools-main{padding:36px 16px 56px;}
  .tool-btn{min-height:150px;}
}
@media (max-width:860px){
  .tools-grid{grid-template-columns:repeat(2,1fr);}
  .tools-grid--3 > :last-child{grid-column:1 / -1;}
}
@media (max-width:600px){
  .tools-grid,.tools-grid--2{grid-template-columns:1fr;}
  .tool-btn{min-height:0;padding:18px 18px 16px;}
  .tool-title{font-size:17px;margin-top:4px;}
  .tool-ico{top:18px;right:18px;width:26px;height:26px;}
}

/* =========================================================
   СЛАЙДЕР НА ГЛАВНОЙ — панель управления внизу (v29)
   Квадратные кнопки-стрелки, квадратные точки (активная — жёлтый
   наклонённый маркер), счётчик слайдов. Листать можно и свайпом.
   ========================================================= */
.hero-slider-wrap{touch-action:pan-y;} /* горизонтальный свайп отдаём слайдеру, вертикальная прокрутка — как обычно */
.hero-controls{
  position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:5;
  display:flex;align-items:center;gap:14px;
}
.hero-ctrl{
  width:44px;height:44px;flex:none;padding:0;border-radius:var(--radius);
  background:var(--paper);border:2px solid var(--black);color:var(--black);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}
.hero-ctrl svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:square;stroke-linejoin:miter;}
.hero-ctrl:hover{background:var(--black);color:var(--yellow);transform:translateY(-2px);}
.hero-ctrl:active{transform:translateY(0);}
.hero-dots{display:flex;align-items:center;}
.hero-dot{
  width:26px;height:32px;padding:0;background:transparent;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.hero-dot::before{
  content:"";width:10px;height:10px;border:2px solid var(--black);background:transparent;
  transition:background .15s ease,transform .15s ease,width .15s ease,height .15s ease;
}
.hero-dot:hover::before{background:var(--black);}
.hero-dot.active::before{width:14px;height:14px;background:var(--yellow);transform:rotate(-6deg);}
.hero-count{
  font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--grey);
  font-variant-numeric:tabular-nums;min-width:52px;text-align:center;white-space:nowrap;
}
.hero-count b{color:var(--ink);font-weight:600;}
@media (max-width:600px){
  .hero-controls{bottom:14px;gap:8px;}
  .hero-dot{width:24px;}
}
@media (max-width:360px){
  .hero-count{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .hero-ctrl:hover{transform:none;}
}

.dr-order-btns{display:flex;gap:10px;flex-wrap:wrap;}
.dr-order-btns .dr-submit{width:auto;flex:1 1 140px;}

/* описание в карточке сервиса (servisy.php) */
.tool-desc{font-size:13px;line-height:1.45;color:var(--grey);text-transform:none;letter-spacing:0;margin-top:2px;max-width:46ch;}
.tool-btn:hover .tool-desc{color:var(--ink);}
.tool-btn:has(.tool-desc) .tool-title{margin-top:12px;}

.tools-thanks{margin:48px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--grey);}
.tools-thanks a{color:var(--grey);text-decoration:underline;text-underline-offset:2px;}
.tools-thanks a:hover{color:var(--ink);}

/* servisy.php: заголовок по центру */
.tools-page .tools-head{justify-content:center;text-align:center;}
.tools-page .tools-head p{margin-left:auto;margin-right:auto;}
