/* ----- Style Block 1 ----- */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Unbounded:wght@400;500;600;700&display=swap');

  :root{
    --bg:#ffffff;
    --surface:#f5f3ee;
    --ink:#14130f;
    --ink-soft:#5a564c;
    --line:#e0dbcf;
    --accent:#f04c23;
    --accent-dark:#c93c19;
    --dark:#0c0c0b;
    --dark-2:#191815;
    --on-dark:#f2efe8;
    --on-dark-soft:#a29e94;
    --green:#2c6b3f;
    --display:'Unbounded','Manrope',sans-serif;
    --body:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --r-lg:24px;
    --r-md:18px;
  }

  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
  [hidden]{display:none!important;}
  html,body{margin:0;padding:0;}
  body{
    background:var(--bg);color:var(--ink);font-family:var(--body);
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  a,button{touch-action:manipulation;}
  @media(max-width:860px){body{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px));}}
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3,h4{margin:0;text-wrap:balance;}
  p{margin:0;}
  button{font-family:inherit;cursor:pointer;}
  input,select{font-family:inherit;}
  ::selection{background:var(--accent);color:#fff;}
  :focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

  .wrap{max-width:1180px;margin:0 auto;padding-inline:20px;}
  @media(min-width:640px){.wrap{padding-inline:32px;}}

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:14px 24px;border-radius:2px;font-size:14.5px;font-weight:700;
    border:1.5px solid transparent;white-space:nowrap;
    transition:background .15s ease,color .15s ease,border-color .15s ease;
  }
  .btn-accent{background:var(--accent);color:#fff;}
  .btn-accent:hover{background:var(--accent-dark);}
  .btn-outline-dark{border-color:rgba(255,255,255,.4);color:#fff;}
  .btn-outline-dark:hover{border-color:#fff;background:rgba(255,255,255,.08);}
  .btn-outline{border-color:var(--ink);color:var(--ink);}
  .btn-outline:hover{border-color:var(--accent);color:var(--accent);}
  .btn-sm{padding:10px 18px;font-size:13px;}
  .btn-block{width:100%;}

  /* ---------- Header ---------- */
  header.site{
    position:sticky;top:env(safe-area-inset-top,0px);z-index:60;
    background:var(--dark);border-bottom:1px solid rgba(255,255,255,.08);
  }
  .header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;height:70px;}
  .logo{display:flex;flex-direction:column;align-items:flex-start;gap:5px;line-height:1.05;}
  .logo-mark{height:18px;width:auto;display:block;}
  .logo span{font-size:9.5px;font-weight:600;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;}
  nav.main{display:none;gap:18px;font-size:13.5px;font-weight:600;color:var(--on-dark-soft);white-space:nowrap;}
  nav.main a:hover{color:#fff;}
  @media(min-width:1220px){nav.main{display:flex;align-items:center;}}

  /* ---------- Выпадающее меню «Спецпроекты» ---------- */
  .nav-drop{position:relative;}
  .nav-drop__btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:5px;color:inherit;font:inherit;transition:color .15s ease;}
  .nav-drop__arrow{width:13px;height:13px;flex:none;transition:transform .15s ease;}
  .nav-drop:hover .nav-drop__arrow,.nav-drop__btn[aria-expanded="true"] .nav-drop__arrow{transform:rotate(180deg);}
  .nav-drop__panel{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);margin-top:14px;min-width:250px;background:#fff;border-radius:var(--r-md);box-shadow:0 20px 40px rgba(0,0,0,.18);padding:8px;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility .15s;z-index:70;}
  .nav-drop__panel::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px;}
  .nav-drop:hover .nav-drop__panel,.nav-drop__panel:hover,.nav-drop__btn[aria-expanded="true"] + .nav-drop__panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
  .nav-drop__panel a{display:block;padding:10px 14px;border-radius:8px;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;transition:background .12s ease,color .12s ease;}
  .nav-drop__panel a:hover{background:var(--accent);color:#fff;}
  .nav-drop__btn:hover{color:var(--accent);}

  /* Разделитель групп в мобильном меню */
  .menu-group-label{display:block;margin:18px 26px 6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);}
  .head-actions{display:flex;align-items:center;gap:16px;}
  .head-phone{font-size:14.5px;font-weight:700;color:#fff;display:none;}
  @media(min-width:700px){.head-phone{display:block;}}
  .head-cta{display:none;}
  @media(min-width:861px){.head-cta{display:inline-flex;}}

  /* ---------- Мобильное меню ---------- */
  .menu-toggle{
    flex:none;width:40px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
    background:none;border:none;padding:0;-webkit-tap-highlight-color:transparent;
  }
  @media(min-width:1220px){.menu-toggle{display:none;}}
  .menu-toggle span{width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .3s ease,opacity .2s ease;}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .mobile-menu{position:fixed;inset:0;z-index:120;}
  .mobile-menu-backdrop{position:absolute;inset:0;background:rgba(6,8,5,.55);opacity:0;transition:opacity .3s ease;}
  .mobile-menu-panel{
    position:absolute;top:0;right:0;bottom:0;width:min(340px,84vw);background:var(--dark);color:#fff;
    display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 22px) 26px 26px;
    transform:translateX(100%);transition:transform .32s cubic-bezier(.2,.8,.25,1);
    box-shadow:-20px 0 50px rgba(0,0,0,.35);
  }
  .mobile-menu.open .mobile-menu-backdrop{opacity:1;}
  .mobile-menu.open .mobile-menu-panel{transform:translateX(0);}
  .mobile-menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
  .mobile-menu-title{font-family:var(--display);font-weight:600;font-size:15px;color:var(--on-dark-soft);}
  .mobile-menu-close{
    width:38px;height:38px;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:none;
    display:flex;align-items:center;justify-content:center;color:#fff;-webkit-tap-highlight-color:transparent;
  }
  .mobile-menu-close svg{width:16px;height:16px;}
  .mobile-menu-panel a{
    display:flex;align-items:center;min-height:52px;font-size:16px;font-weight:700;color:#fff;
    border-top:1px solid rgba(255,255,255,.1);-webkit-tap-highlight-color:transparent;
  }
  .mobile-menu-panel > a:active{color:var(--accent);}
  .mobile-menu-foot{margin-top:auto;padding-top:22px;display:flex;flex-direction:column;gap:14px;}
  .mobile-menu-phone{font-family:var(--display);font-weight:600;font-size:19px;color:#fff;}
  .mobile-menu-foot .btn{width:100%;justify-content:center;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;color:#fff;overflow:hidden;
    background:
      linear-gradient(175deg,rgba(8,10,7,.62) 0%,rgba(8,10,7,.78) 60%,rgba(8,10,7,.94) 100%),
      radial-gradient(110% 80% at 15% 20%,#3c5a3a 0%,#1b2a1c 55%,#101710 100%);
    padding-block:70px 58px;
  }
  @media(min-width:900px){.hero{padding-block:104px 84px;}}
  .hero h1{
    font-family:var(--display);font-weight:600;
    font-size:clamp(29px,4.6vw,54px);line-height:1.08;letter-spacing:-.01em;color:#fff;max-width:26ch;
  }
  .hero .lead{margin-top:24px;font-size:17px;line-height:1.6;color:rgba(255,255,255,.82);max-width:54ch;}
  .proof-row{
    display:flex;flex-wrap:wrap;margin-top:34px;
    border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);
  }
  .proof{flex:1 1 100%;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12);}
  .proof:last-child{border-bottom:none;}
  @media(min-width:620px){
    .proof{
      flex:0 1 auto;padding:18px 26px 18px 0;margin-right:26px;
      border-bottom:none;border-right:1px solid rgba(255,255,255,.14);
    }
    .proof:last-child{border-right:none;margin-right:0;padding-right:0;}
  }
  .proof b{display:block;font-family:var(--display);font-size:25px;font-weight:600;color:#fff;line-height:1.1;white-space:nowrap;}
  .proof b i{
    font-style:normal;font-family:var(--body);font-weight:700;font-size:.62em;
    margin-left:4px;vertical-align:baseline;color:rgba(255,255,255,.8);
  }
  .proof > span{display:block;margin-top:8px;font-size:12.5px;color:rgba(255,255,255,.62);}
  .hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;}
  .hero-note{margin-top:20px;font-size:13px;color:rgba(255,255,255,.55);}
  .hero-note a{color:rgba(255,255,255,.8);border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1px;}
  .hero-note a:hover{color:#fff;border-color:#fff;}

  /* ---------- sections ---------- */
  section{padding-block:64px;}
  @media(min-width:900px){section{padding-block:94px;}}
  .surface{background:var(--surface);}
  .dark{background:var(--dark);color:var(--on-dark);}
  .dark h2,.dark h3{color:#fff;}

  .sec-title{
    font-family:var(--display);font-weight:600;letter-spacing:-.01em;
    font-size:clamp(23px,3.1vw,35px);line-height:1.16;
  }
  .sec-intro{margin-top:14px;font-size:16px;line-height:1.65;color:var(--ink-soft);max-width:62ch;}
  .dark .sec-intro{color:var(--on-dark-soft);}
  .kicker{
    font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
    color:var(--accent);display:block;margin-bottom:14px;
  }

  /* ---------- Catalog ---------- */
  .cat-head{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:flex-end;margin-bottom:26px;}
  .tabs{
    display:flex;gap:2px;background:var(--surface);padding:4px;border:1px solid var(--line);
    max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .tabs::-webkit-scrollbar{display:none;}
  .tab{padding:11px 20px;border:none;background:none;font-size:13.5px;font-weight:700;color:var(--ink-soft);flex:none;white-space:nowrap;}
  @media(max-width:520px){.tab{padding:14px 16px;font-size:13px;}}
  .tab.is-active{background:var(--ink);color:#fff;}
  .tab.is-active[data-tab="exclusive"]{background:var(--accent);}
  .cat-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:24px;}
  .chips{display:flex;flex-wrap:wrap;gap:6px;}
  .chip{
    padding:8px 15px;border:1px solid var(--line);background:#fff;border-radius:18px;
    font-size:12.5px;font-weight:700;color:var(--ink-soft);
  }
  .chip:hover{border-color:var(--ink);color:var(--ink);}
  .chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff;}
  @media(max-width:640px){.chip{padding:12px 16px;}}
  .search{position:relative;margin-left:auto;min-width:230px;flex:1;max-width:310px;}
  .search input{
    width:100%;padding:10px 14px 10px 36px;border:1px solid var(--line);border-radius:18px;
    font-size:13px;background:#fff;outline:none;
  }
  @media(max-width:640px){.search input{font-size:16px;}}
  .search input:focus{border-color:var(--ink);}
  .search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:14px;height:14px;opacity:.4;}

  .grid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);}
  @media(min-width:680px){.grid{grid-template-columns:repeat(3,1fr);}}
  @media(min-width:1000px){.grid{grid-template-columns:repeat(4,1fr);}}

  .card{
    border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;
    border-radius:var(--r-lg);overflow:hidden;
    transition:border-color .15s ease,box-shadow .3s ease;
  }
  .card:hover{border-color:var(--ink);}
  .card.is-exclusive{border-color:rgba(240,76,35,.45);}
  .card.is-exclusive:hover{border-color:var(--accent);}
  .card.flash{animation:flash .6s ease;}
  @keyframes flash{
    0%{box-shadow:0 0 0 0 rgba(44,107,63,.55);}
    100%{box-shadow:0 0 0 14px rgba(44,107,63,0);}
  }
  .card-open{
    all:unset;cursor:pointer;display:flex;flex-direction:column;flex:1;min-height:0;
  }
  .card-photo{
    aspect-ratio:1/1;flex:none;position:relative;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(150deg,rgba(255,255,255,.07),rgba(0,0,0,.18)),var(--ph,#3e5740);
  }
  .card-photo.has-photo{background-size:cover;background-position:center;}
  .card-photo::after{
    content:"";position:absolute;inset:0;background:rgba(8,10,7,0);
    transition:background .2s ease;pointer-events:none;
  }
  @media(hover:hover){
    .card-open:hover .card-photo::after{background:rgba(8,10,7,.32);}
    .card-open:hover .zoom{opacity:1;}
  }
  .zoom{
    position:absolute;inset:auto 10px 10px auto;background:rgba(0,0,0,.55);color:#fff;
    font-size:10.5px;font-weight:700;padding:5px 9px;opacity:0;transition:opacity .15s ease;
    border-radius:7px;
  }
  /* на тач-устройствах нет hover — показываем подсказку сразу, приглушённо */
  @media(hover:none){.zoom{opacity:.8;}}
  .photo-soon{
    font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    color:#fff;border:1px solid rgba(255,255,255,.3);padding:5px 10px;
    border-radius:7px;background:rgba(0,0,0,.28);text-shadow:0 1px 3px rgba(0,0,0,.5);
  }
  .badge-lux{
    position:absolute;top:10px;right:10px;z-index:2;background:var(--accent);color:#fff;
    font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 8px;
    border-radius:7px;box-shadow:0 2px 6px rgba(0,0,0,.18);
    display:flex;align-items:center;gap:5px;
  }
  .badge-lux::before{content:"";width:5px;height:5px;background:#fff;transform:rotate(45deg);flex:none;}
  @media(min-width:520px){.badge-lux{font-size:10px;letter-spacing:.08em;padding:6px 10px;}}

  /* эксклюзив отличается рамкой и подложкой фото — бейдж на фото уже называет категорию */
  .card.is-exclusive{border-color:rgba(240,76,35,.5);box-shadow:inset 0 0 0 1px rgba(240,76,35,.12);}
  .card.is-exclusive .card-photo{
    background-image:linear-gradient(150deg,rgba(240,76,35,.22),rgba(0,0,0,.35));
  }
  .card.is-exclusive .card-name{color:var(--ink);}

  .badge-pack{
    display:inline-flex;align-items:center;gap:4px;background:var(--dark);color:#fff;
    font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;
    border-radius:6px;flex:none;vertical-align:1px;margin-left:6px;
  }
  .badge-pack::before{content:"";width:7px;height:5px;border:1.3px solid #fff;border-radius:1px;flex:none;}
  .card.is-package{border-color:rgba(12,12,11,.2);box-shadow:inset 0 0 0 1px rgba(12,12,11,.08);}
  .card.is-package .card-photo{
    background-image:linear-gradient(150deg,rgba(255,255,255,.05),rgba(0,0,0,.4));
  }
  .card-body{padding:13px 14px 0;display:flex;flex-direction:column;gap:5px;flex:1;}
  .card-name{font-size:13.5px;font-weight:800;line-height:1.3;}
  .card-lat{font-size:11.5px;font-style:italic;color:var(--ink-soft);}
  .card-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px;}
  .pill{font-size:10.5px;font-weight:700;color:var(--ink-soft);border:1px solid var(--line);padding:3px 8px;border-radius:10px;}
  /* статус наличия — спокойный текстовый пилл с точкой вместо кричащего бейджа на фото */
  .pill-avail{display:inline-flex;align-items:center;gap:5px;}
  .pill-avail i{width:6px;height:6px;border-radius:50%;flex:none;background:currentColor;}
  .pill-avail.stock{color:#22783c;border-color:rgba(34,120,60,.3);}
  .pill-avail.order{color:var(--ink-soft);}
  .pill-avail.dealer{color:#8a6a2c;border-color:rgba(138,106,44,.35);}
  .add{
    flex:none;margin-top:12px;border:none;border-top:1px solid var(--line);background:none;
    padding:12px 14px;font-size:12.5px;font-weight:800;color:var(--accent);text-align:left;width:100%;
    transition:background .15s ease;
  }
  .add:hover{background:rgba(8,10,7,.06);}
  .add.on{color:var(--green);}
  .add.on:hover{background:rgba(44,107,63,.08);}
  .empty{display:none;padding:44px 0;text-align:center;color:var(--ink-soft);font-size:14.5px;}

  .more-row{display:flex;justify-content:center;margin-top:28px;}
  .more-row.hide{display:none;}
  .cat-foot{margin-top:26px;font-size:13.5px;color:var(--ink-soft);max-width:58ch;line-height:1.6;}

  .req-bar{
    position:sticky;bottom:14px;z-index:40;margin-top:22px;
    display:none;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
    background:var(--dark);color:#fff;padding:15px 20px;box-shadow:0 16px 34px rgba(0,0,0,.26);
  }
  .req-bar.on{display:flex;}
  @media(max-width:860px){.req-bar.on{display:none;}}
  .req-bar span{font-size:13.5px;font-weight:700;}
  .req-bar b{color:var(--accent);display:inline-block;}
  .bump{animation:bump .4s ease;}
  @keyframes bump{
    0%{transform:scale(1);}
    35%{transform:scale(1.45);}
    100%{transform:scale(1);}
  }

  /* ---------- Modal ---------- */
  .modal{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:18px;}
  .modal-bg{position:absolute;inset:0;background:rgba(10,10,8,.72);}
  .modal-card{
    position:relative;background:#fff;max-width:760px;width:100%;max-height:90vh;overflow:auto;
    display:grid;border-radius:var(--r-lg);
  }
  @media(min-width:720px){.modal-card{grid-template-columns:1fr 1fr;}}
  .modal-photo{aspect-ratio:4/3;position:relative;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(150deg,rgba(255,255,255,.07),rgba(0,0,0,.2)),var(--mph,#3e5740);}
  @media(min-width:720px){.modal-photo{aspect-ratio:auto;min-height:340px;}}
  .modal-info{padding:24px 24px 26px;display:flex;flex-direction:column;}
  .modal-info h3{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.28;padding-right:36px;}
  .modal-lat{font-style:italic;color:var(--ink-soft);font-size:14px;margin-top:6px;}
  .modal-specs{margin:18px 0 0;border-top:1px solid var(--line);}
  .modal-specs div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
  .modal-specs dt{color:var(--ink-soft);}
  .modal-specs dd{margin:0;font-weight:700;text-align:right;}
  .modal-comp-label{font-size:12.5px;font-weight:700;color:var(--ink-soft);margin:18px 0 0;}
  .modal-comp{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--line);}
  .modal-comp li{padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;}
  .modal-actions{margin-top:18px;display:flex;flex-direction:column;gap:10px;}
  .modal-hint{font-size:12px;color:var(--ink-soft);line-height:1.5;}
  .modal-close{
    position:absolute;top:10px;right:10px;width:34px;height:34px;border:none;background:rgba(255,255,255,.9);
    font-size:18px;line-height:1;color:var(--ink);z-index:2;
  }
  .modal-close:hover{background:#fff;}

  /* ---------- Scale ---------- */
  .scale{
    position:relative;color:#fff;padding-block:84px;
    background:
      linear-gradient(90deg,rgba(8,10,7,.8) 0%,rgba(8,10,7,.5) 42%,rgba(8,10,7,.12) 100%),
      #101a14 url('/local/templates/sl/images/landing/aerial-heart.jpg') center 62%/cover no-repeat;
    background-attachment:scroll, fixed;
  }
  @media(max-width:860px){.scale{background-attachment:scroll, scroll;}}
  @media(min-width:900px){.scale{padding-block:126px;}}
  .scale-num{
    font-family:var(--display);font-weight:600;
    font-size:clamp(58px,11.5vw,150px);line-height:.85;letter-spacing:-.03em;color:#fff;
  }
  .scale-num i{
    font-style:normal;font-family:var(--body);font-weight:700;font-size:.24em;
    color:var(--accent);margin-left:.1em;letter-spacing:0;vertical-align:baseline;
  }
  .scale h2{font-family:var(--display);font-weight:600;font-size:clamp(20px,2.7vw,30px);margin-top:26px;max-width:20ch;line-height:1.25;}
  .scale p{margin-top:16px;font-size:16px;line-height:1.65;color:rgba(255,255,255,.76);max-width:52ch;}

  /* ---------- About ---------- */
  .about-grid{display:grid;gap:44px;}
  @media(min-width:960px){.about-grid{grid-template-columns:1.05fr .95fr;gap:60px;align-items:start;}}
  .figures{display:flex;flex-wrap:wrap;margin:30px 0;}
  .figure{flex:1 1 40%;padding:18px 20px 18px 0;border-top:2px solid var(--ink);margin-right:20px;min-width:130px;}
  .figure:nth-child(even){margin-right:0;}
  .figure b{display:block;font-family:var(--display);font-size:clamp(23px,3vw,31px);font-weight:600;line-height:1.1;white-space:nowrap;}
  .figure b i{
    font-style:normal;font-family:var(--body);font-weight:700;font-size:.52em;
    color:var(--accent);margin-left:4px;vertical-align:baseline;
  }
  .figure > span{display:block;margin-top:8px;font-size:13px;color:var(--ink-soft);line-height:1.4;}
  /* флагманская цифра — крупнее остальных и на всю ширину, чтобы не терялась в ряду */
  .figure-hero{flex:1 1 100%;margin-right:0;border-top-color:var(--accent);padding-top:22px;}
  .figure-hero + .figure,.figure:has(+ .figure-hero){margin-right:0;}
  .figure-hero b{font-size:clamp(40px,6.2vw,64px);letter-spacing:-.01em;}
  .figure-hero b i{font-size:.56em;}
  .figure-hero > span{font-size:14.5px;margin-top:10px;}
  .about-text{font-size:15.5px;line-height:1.72;color:var(--ink-soft);}
  .about-text + .about-text{margin-top:14px;}
  .video-frame{
    position:relative;aspect-ratio:3/4;overflow:hidden;display:flex;align-items:center;justify-content:center;
    border-radius:var(--r-lg);
    background:linear-gradient(180deg,rgba(8,10,7,.2),rgba(8,10,7,.6)),
      radial-gradient(120% 90% at 30% 25%,#41603e 0%,#1d2c1d 65%,#101710 100%);
  }
  .about-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
  .video-cap{
    position:absolute;left:0;right:0;bottom:0;z-index:1;text-align:center;
    background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.5) 60%,rgba(0,0,0,0) 100%);
    color:#fff;font-size:12.5px;font-weight:700;padding:26px 16px 16px;
  }

  /* ---------- Process ---------- */
  .steps{display:grid;margin-top:40px;}
  @media(min-width:860px){.steps{grid-template-columns:repeat(5,1fr);}}
  .step{padding:24px 22px 26px 0;border-top:2px solid var(--line);margin-right:18px;}
  .step:last-child{margin-right:0;}
  .step.is-first{border-top-color:var(--accent);}
  .step b{display:block;font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--accent);margin-bottom:12px;}
  .step h4{font-size:16.5px;font-weight:800;margin-bottom:8px;}
  .step p{font-size:13.5px;line-height:1.55;color:var(--ink-soft);}
  .dark .step{border-top-color:rgba(255,255,255,.2);}
  .dark .step p{color:var(--on-dark-soft);}

  /* ---------- Преимущества контейнера ---------- */
  .adv{display:grid;margin-top:38px;}
  @media(min-width:760px){.adv{grid-template-columns:1fr 1fr;column-gap:60px;}}
  .adv-item{padding:26px 0 28px;border-top:1px solid var(--line);}
  .adv-item:first-child,.adv-item:nth-child(2){border-top-color:var(--accent);border-top-width:2px;}
  @media(max-width:759px){
    .adv-item:nth-child(2){border-top-color:var(--line);border-top-width:1px;}
  }
  .adv-item h4{
    font-family:var(--display);font-weight:600;font-size:clamp(17px,2vw,20px);
    line-height:1.3;margin-bottom:11px;
  }
  .adv-item p{font-size:15px;line-height:1.65;color:var(--ink-soft);max-width:44ch;}

  /* ---------- Cases ---------- */
  .cases{display:grid;gap:18px;margin-top:38px;grid-template-columns:repeat(2,1fr);}
  /* карточек нечётное число: нижние занимают всю ширину ряда, без пустого места */
  .case:last-child{grid-column:span 2;aspect-ratio:4/3;}
  @media(min-width:640px){
    .cases{grid-template-columns:repeat(6,1fr);}
    .case{grid-column:span 2;}
    .case:nth-child(n+4){grid-column:span 3;aspect-ratio:9/8;}
  }
  .case{
    position:relative;overflow:hidden;background:var(--dark-2);color:#fff;
    aspect-ratio:3/4;display:flex;border-radius:var(--r-lg);
  }
  .case-img{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,9,.35) 0%,rgba(10,12,9,.88) 78%),var(--cimg,#2b3a2a);}
  .case-img.has-photo{background-size:cover;background-position:center 40%;}
  .case-inner{position:relative;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;width:100%;}
  .case h4{font-family:var(--display);font-weight:500;font-size:clamp(14.5px,1.9vw,17px);line-height:1.3;}
  .case-nums{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;}
  .case-nums div b{display:block;font-family:var(--display);font-size:19px;font-weight:600;line-height:1;}
  .case-nums div b i{font-style:normal;font-family:var(--body);font-weight:700;font-size:.8em;margin-left:3px;color:var(--accent);}
  .case-nums div > span{display:block;margin-top:5px;font-size:11.5px;color:rgba(255,255,255,.62);}
  .case p{margin-top:9px;font-size:12.5px;color:rgba(255,255,255,.66);line-height:1.5;}

  /* ---------- Map ---------- */
  .map-grid{display:grid;gap:30px;align-items:center;}
  .map-grid > *{min-width:0;}
  .map-facts{margin-top:26px;}
  .map-facts div{padding:14px 0;border-top:1px solid rgba(255,255,255,.14);font-size:14px;color:var(--on-dark-soft);}
  .map-facts div b{color:#fff;font-weight:700;}
  @media(min-width:900px){
    /* секция логистики шире остальных: схеме нужен размер, иначе подписи не читаются */
    #map > .wrap{max-width:1400px;}
    .map-grid{grid-template-columns:.62fr 1.38fr;gap:48px;}
  }
  .map-svg{width:100%;height:auto;display:block;overflow:visible;}

  /* маршрут: проявляется по очереди, затем штрихи текут к городу */
  .route{
    stroke:rgba(240,76,35,.7);stroke-width:2.6;fill:none;stroke-dasharray:7 7;
    opacity:0;transition:opacity .7s ease,stroke .2s ease,stroke-width .2s ease;
  }
  .map-svg.go .route{opacity:1;}
  .map-svg.flow .route{animation:flow 1.1s linear infinite;}
  @keyframes flow{to{stroke-dashoffset:-14;}}

  .cargo{fill:#ff7a52;opacity:0;}
  .map-svg.flow .cargo{opacity:1;}

  .ring{fill:none;stroke:rgba(240,76,35,.16);stroke-width:1;}
  .radar{fill:none;stroke:rgba(240,76,35,.5);stroke-width:1.5;}
  .map-svg.flow .radar{animation:radar 4.5s cubic-bezier(.2,.6,.4,1) infinite;}
  @keyframes radar{
    0%{r:16;opacity:.55;}
    100%{r:330;opacity:0;}
  }

  .city{opacity:0;transition:opacity .5s ease;}
  .map-svg.go .city{opacity:1;}
  .city .dot{fill:#fff;}
  .city .halo{fill:none;stroke:#fff;stroke-width:1.5;opacity:0;}
  .city.hit .halo{animation:hit .7s ease-out;}
  @keyframes hit{
    0%{r:6;opacity:.8;}
    100%{r:26;opacity:0;}
  }
  .city-label{fill:#fff;font-family:var(--body);font-size:21px;font-weight:700;}
  .city-dist{fill:rgba(255,255,255,.55);font-family:var(--body);font-size:36px;}

  /* приглушаем только когда курсор реально на городе, иначе линии «пропадают» на всей карте */
  .map-svg.dim .city{opacity:.35;}
  .map-svg.dim .city.on{opacity:1;}
  .map-svg.dim .route{stroke:rgba(240,76,35,.2);}
  .map-svg.dim .route.lit{stroke:rgba(255,122,82,.95);stroke-width:2.6;}
  .city-tag{fill:var(--accent);font-family:var(--body);font-size:28px;font-weight:800;letter-spacing:.05em;}

  .hub-label{fill:var(--accent);font-family:var(--body);font-size:44px;font-weight:800;}
  .hub-note{fill:rgba(255,255,255,.42);font-family:var(--body);font-size:30px;}

  .map-visual{display:none;}
  @media(min-width:900px){.map-visual{display:block;}}
  .map-visual-m{display:block;max-width:440px;margin:0 auto;}
  @media(min-width:900px){.map-visual-m{display:none;}}
  /* мобильная схема компактнее десктопной — свои размеры текста, не трогая .map-visual */
  .map-visual-m .city-label{font-size:15px;}
  .map-visual-m .city-dist{font-size:13px;}
  .map-visual-m .city-tag{font-size:10.5px;}
  .map-visual-m .hub-label{font-size:14px;}
  .map-visual-m .hub-note{font-size:11px;}
  .hub-ring{fill:none;stroke:var(--accent);stroke-width:1.5;opacity:.5;}
  .hub-ring.pulse{animation:ring 2.6s ease-out infinite;}
  @keyframes ring{
    0%{r:14;opacity:.55;}
    100%{r:40;opacity:0;}
  }
  .hub-label{fill:var(--accent);font-family:var(--body);font-size:22px;font-weight:800;}
  .grid-line{stroke:rgba(255,255,255,.06);stroke-width:1;}

  /* ---------- Dealer ---------- */
  .dealer-strip{position:relative;overflow:hidden;display:grid;gap:30px;align-items:center;padding:40px 24px 26px;color:var(--on-dark);border-radius:var(--r-lg);
    background:radial-gradient(70% 100% at 86% 55%,rgba(63,138,80,.30),rgba(63,138,80,0) 70%),radial-gradient(50% 70% at 0% 100%,rgba(240,76,35,.16),rgba(240,76,35,0) 70%),var(--dark);}
  @media(min-width:880px){.dealer-strip{grid-template-columns:1.2fr .8fr;gap:40px;padding:56px 56px 56px;}}
  .dealer-text{min-width:0;}
  .dealer-strip h3{font-family:var(--display);font-weight:600;font-size:clamp(22px,2.8vw,32px);line-height:1.22;color:#fff;max-width:22ch;}
  .dealer-lead{margin-top:16px;font-size:16px;line-height:1.65;color:var(--on-dark-soft);max-width:54ch;}
  .dealer-points{display:grid;margin-top:28px;border-top:1px solid rgba(255,255,255,.14);}
  .dealer-points div{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);}
  @media(min-width:640px){
    .dealer-points{grid-template-columns:repeat(3,1fr);}
    .dealer-points div{padding:16px 18px 4px 0;border-bottom:none;}
    .dealer-points div + div{padding-left:18px;border-left:1px solid rgba(255,255,255,.12);}
  }
  .dealer-points b{display:block;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:7px;}
  .dealer-points span{font-size:14px;line-height:1.5;color:var(--on-dark);}
  .dealer-strip .btn{margin-top:28px;}

  /* фото дерева в питомнике */
  .tree-film{
    position:relative;width:100%;max-width:400px;aspect-ratio:4/5;margin:0 auto;border-radius:var(--r-md);overflow:hidden;
    background:#0c1410;box-shadow:0 30px 60px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.06);
  }
  .tree-film img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:90% 50%;display:block;}
  @media(max-width:879px){.tree-film{max-width:340px;}}

  /* кнопки-ссылки на другие проекты */
  .route-btn{margin-top:28px;gap:10px;}
  .route-btn svg{width:18px;height:18px;flex:none;}
  .route-btn .arr{transition:transform .2s ease;}
  .route-btn:hover .arr{transform:translateX(4px);}
  .gc-btn{
    display:flex;width:fit-content;align-items:center;gap:10px;margin-top:16px;
    padding:11px 16px 11px 12px;background:var(--green);color:#fff;border-radius:2px;
    font-size:13.5px;font-weight:700;transition:background .15s ease;
  }
  .gc-btn:hover{background:var(--ink);}
  .gc-btn svg{width:18px;height:18px;flex:none;}
  .gc-btn .arr{transition:transform .2s ease;}
  .gc-btn:hover .arr{transform:translateX(4px);}


  /* заглушки под данные, которые подставим позже */
  .ph{background:#ffe27a;color:#14130f;padding:0 .2em;border-radius:3px;font-style:normal;font-family:inherit;}
  .proof b .ph{font-size:.8em;}
  /* пять фактов: на широком экране ровно в одну строку, на среднем — без вертикальных разделителей, чтобы не оставалась пустая линия */
  @media(min-width:620px) and (max-width:1049px){.proof{border-right:none;}}
  @media(min-width:1050px){
    .proof-row{display:grid;grid-template-columns:repeat(4,1fr);}
    .proof{margin-right:0;padding:18px 18px 18px 22px;}
    .proof:first-child{padding-left:0;}
  }
  .pill .ph{padding:0 2px;}
  /* посадка — отдельное предложение */
  .plant-strip{display:grid;gap:22px;align-items:center;padding:30px 26px;border:1px solid var(--line);border-radius:var(--r-lg);}
  @media(min-width:760px){.plant-strip{grid-template-columns:1fr auto;gap:40px;padding:36px 40px;}}
  .plant-strip h3{font-family:var(--display);font-weight:600;font-size:clamp(20px,2.4vw,28px);line-height:1.25;margin-top:10px;}
  .plant-strip p{margin-top:12px;font-size:14.5px;line-height:1.65;color:var(--ink-soft);max-width:60ch;}
  .plant-strip .gc-btn{margin-top:0;}
  .txt-link{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
  .txt-link:hover{color:var(--accent-dark);}
  /* FAQ */
  .faq{margin-top:34px;max-width:860px;}
  .faq details{border-top:1px solid var(--line);}
  .faq details:last-child{border-bottom:1px solid var(--line);}
  .faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-size:16px;font-weight:800;line-height:1.4;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:"+";flex:none;font-size:24px;font-weight:500;color:var(--accent);line-height:1;transition:transform .2s ease;}
  .faq details[open] summary::after{transform:rotate(45deg);}
  .faq .faq-a{padding:0 0 22px;font-size:14.5px;line-height:1.7;color:var(--ink-soft);max-width:70ch;}
  .faq .faq-a p+p{margin-top:10px;}

  /* ---------- Conditions ---------- */
  .cond{display:grid;margin-top:34px;}
  @media(min-width:760px){.cond{grid-template-columns:1fr 1fr;}}
  .cond-item{padding:22px 24px 22px 0;border-top:1px solid var(--line);margin-right:24px;}
  .cond-item:nth-child(even){margin-right:0;}
  .cond-item b{display:block;font-size:14.5px;font-weight:800;margin-bottom:7px;}
  .cond-item span{font-size:13.5px;line-height:1.6;color:var(--ink-soft);}

  /* ---------- Подарок: перчатки ---------- */
  .gloves-grid{display:grid;gap:36px;align-items:center;}
  @media(min-width:900px){.gloves-grid{grid-template-columns:.85fr 1.15fr;gap:56px;}}
  .gift-icon{
    width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;
    display:flex;align-items:center;justify-content:center;margin-bottom:18px;
  }
  .gift-icon svg{width:21px;height:21px;}
  .gloves-list{margin-top:22px;display:flex;flex-direction:column;}
  .gloves-list div{
    padding:13px 0;border-top:1px solid var(--line);font-size:14px;color:var(--ink-soft);line-height:1.5;
    display:flex;gap:10px;align-items:flex-start;
  }
  .gloves-list div svg{flex:none;width:17px;height:17px;color:var(--accent);margin-top:2px;}

  .slideshow{
    position:relative;aspect-ratio:5/4;border-radius:var(--r-lg);overflow:hidden;
    box-shadow:0 24px 50px rgba(18,17,15,.14);background:var(--dark-2);
  }
  .slide{
    position:absolute;inset:0;opacity:0;transition:opacity .9s ease;
  }
  .slide.on{opacity:1;}
  .slide img{width:100%;height:100%;object-fit:cover;display:block;}
  .slide-dots{
    position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:7px;z-index:2;
  }
  .slide-dots button{
    all:unset;cursor:pointer;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);
    transition:background .2s ease,transform .2s ease;
  }
  .slide-dots button.on{background:#fff;transform:scale(1.3);}
  .slide-arrow{
    position:absolute;top:50%;transform:translateY(-50%);z-index:2;
    width:38px;height:38px;border-radius:50%;background:rgba(12,12,11,.4);color:#fff;
    display:flex;align-items:center;justify-content:center;backdrop-filter:blur(3px);
    opacity:0;transition:opacity .2s ease,background .2s ease;
  }
  .slideshow:hover .slide-arrow{opacity:1;}
  .slide-arrow:hover{background:rgba(12,12,11,.65);}
  .slide-arrow.prev{left:14px;} .slide-arrow.next{right:14px;}
  .slide-arrow svg{width:17px;height:17px;}
  @media(max-width:640px){.slide-arrow{opacity:1;}}

  /* ---------- Presentation ---------- */
  .pres{display:grid;gap:32px;align-items:center;}
  @media(min-width:880px){.pres{grid-template-columns:.8fr 1.2fr;gap:56px;}}
  .pres-cover{
    aspect-ratio:3/4;max-width:300px;position:relative;overflow:hidden;
    box-shadow:0 20px 46px rgba(18,17,15,.16);border-radius:var(--r-lg);
  }
  .pres-cover img{width:100%;height:100%;object-fit:cover;display:block;}
  .field{margin-bottom:12px;}
  .field label{display:block;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:7px;}
  .field input,.field select{
    width:100%;padding:12px 13px;border:1px solid var(--line);background:#fff;font-size:14.5px;
    color:var(--ink);outline:none;border-radius:2px;
  }
  /* 16px на мобильном — иначе Safari зумит страницу при фокусе в поле */
  @media(max-width:640px){.field input,.field select{font-size:16px;}}
  .field input:focus,.field select:focus{border-color:var(--ink);}
  .form-row{display:grid;gap:12px;}
  @media(min-width:560px){.form-row{grid-template-columns:1fr 1fr;}}
  .note{font-size:11.5px;color:var(--ink-soft);margin-top:12px;line-height:1.55;}

  /* согласие на обработку данных */
  .consent{
    display:flex;gap:10px;align-items:flex-start;margin-top:16px;cursor:pointer;
    font-size:12px;line-height:1.5;color:var(--ink-soft);
  }
  .consent input{
    flex:none;appearance:none;-webkit-appearance:none;margin:1px 0 0;
    width:18px;height:18px;border:1.5px solid var(--line);background:#fff;border-radius:2px;
    cursor:pointer;position:relative;transition:background .15s ease,border-color .15s ease;
  }
  .consent input:hover{border-color:var(--ink-soft);}
  .consent input:checked{background:var(--accent);border-color:var(--accent);}
  .consent input:checked::after{
    content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
    border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
  }
  .consent input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
  .consent a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;}
  .consent a:hover{color:var(--accent);}
  .done{display:none;}
  .done.on{display:block;}
  .done .tick{width:38px;height:38px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:14px;}
  .done h3{font-family:var(--display);font-weight:600;font-size:18px;margin-bottom:8px;}
  .done p{font-size:14px;color:var(--ink-soft);line-height:1.6;}

  /* ---------- Final ---------- */
  .final{display:grid;gap:40px;}
  @media(min-width:960px){.final{grid-template-columns:1fr .92fr;gap:64px;align-items:start;}}
  .final-list{margin-top:26px;display:flex;flex-direction:column;}
  .final-list div{padding:15px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-soft);line-height:1.5;}
  .manager{display:flex;gap:16px;align-items:center;margin-top:28px;padding-top:24px;border-top:1px solid var(--line);}
  .manager .ava{
    width:56px;height:56px;flex:none;border-radius:50%;
    background:linear-gradient(150deg,#5c7a4f,#2b3d28);display:flex;align-items:center;justify-content:center;
    color:rgba(255,255,255,.75);font-size:9px;font-weight:700;letter-spacing:.06em;text-align:center;line-height:1.2;
  }
  .manager .ava{overflow:hidden;}
  .manager .ava img{width:100%;height:100%;object-fit:cover;display:block;}
  .manager b{display:block;font-size:14.5px;font-weight:800;}
  .manager span{display:block;margin-top:4px;font-size:13px;color:var(--ink-soft);}
  .manager-note{display:block;margin-top:3px;font-size:12px;font-style:italic;color:var(--accent);}
  .msg-row{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap;}
  .msg{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid var(--line);font-size:13.5px;font-weight:700;border-radius:22px;}
  .msg:hover{border-color:var(--ink);}
  .msg svg{width:15px;height:15px;}
  .max-ico{display:block;flex:none;background:currentColor;-webkit-mask:url(/local/templates/sl/images/landing/icon-max.png) center/contain no-repeat;mask:url(/local/templates/sl/images/landing/icon-max.png) center/contain no-repeat;}
  .msg-max-icon{width:15px;height:15px;}
  .final-form{background:#fff;border:1px solid var(--line);padding:30px 28px;border-radius:var(--r-lg);}

  /* ведомость, собранная в каталоге, должна быть видна в самой форме — иначе выбор растений теряется */
  .wishlist{
    margin-bottom:22px;padding:16px 16px 14px;background:var(--surface);
    border:1px solid var(--line);border-radius:var(--r-md);
  }
  .wishlist-head{
    display:flex;align-items:center;justify-content:space-between;
    font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);
  }
  .wishlist-head b{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:22px;height:22px;padding:0 6px;border-radius:11px;
    background:var(--accent);color:#fff;font-size:12px;font-weight:800;
    font-family:var(--body);letter-spacing:0;
  }
  .wishlist-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
  .wishlist-chip{
    display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);
    border-radius:16px;padding:5px 6px 5px 11px;font-size:12px;font-weight:600;color:var(--ink);
  }
  .wishlist-chip button{
    all:unset;cursor:pointer;width:17px;height:17px;border-radius:50%;flex:none;
    display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;
    color:var(--ink-soft);
  }
  .wishlist-chip button:hover{background:var(--surface);color:var(--accent);}
  .toggle{display:flex;gap:8px;}
  .toggle button{flex:1;padding:12px 8px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:700;color:var(--ink-soft);border-radius:2px;}
  .toggle button.on{background:var(--ink);border-color:var(--ink);color:#fff;}

  /* ---------- Floating messengers (desktop) ---------- */
  .float-msg{
    position:fixed;right:20px;bottom:24px;z-index:70;display:none;flex-direction:column;gap:10px;
  }
  @media(min-width:861px){.float-msg{display:flex;}}
  .float-msg a{
    width:50px;height:50px;border-radius:50%;background:var(--dark);color:#fff;
    display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.22);
    transition:background .15s ease,transform .15s ease;
  }
  .float-msg a:hover{background:var(--accent);transform:translateY(-2px);}
  .float-msg svg{width:21px;height:21px;}
  .float-msg .lbl{font-size:11px;font-weight:800;letter-spacing:.02em;}
  .float-max-icon{width:21px;height:21px;}

  /* ---------- Mobile sticky bar ---------- */
  .mbar{
    position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;gap:10px;align-items:center;
    background:var(--dark);border-top:1px solid rgba(255,255,255,.12);
    padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));
  }
  @media(max-width:860px){.mbar{display:flex;}}
  .mbar .mb-msg{
    width:46px;height:46px;flex:none;border:1px solid rgba(255,255,255,.25);color:#fff;
    display:flex;align-items:center;justify-content:center;
  }
  .mbar .mb-msg svg{width:20px;height:20px;}
  .mbar .mb-cta{flex:1;padding:14px 12px;font-size:14px;}
  .mbar .mb-count{
    font-size:13px;font-weight:800;color:#fff;padding-right:4px;white-space:nowrap;
  }
  .mbar .mb-count b{color:var(--accent);display:inline-block;}

  .reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease;}
  .reveal.in{opacity:1;transform:none;}

  /* ---------- Полоса прогресса чтения ---------- */
  .progress{
    position:fixed;top:0;left:0;right:0;height:2px;z-index:95;
    background:var(--accent);transform:scaleX(0);transform-origin:0 50%;
    will-change:transform;
  }

  /* ---------- Сжимающаяся шапка ---------- */
  header.site{transition:box-shadow .25s ease;}
  .header-row{transition:height .25s ease;}
  header.site.shrink{box-shadow:0 6px 18px rgba(0,0,0,.55);}
  header.site.shrink .header-row{height:58px;}

  /* ---------- Плавная прокрутка к якорям ---------- */
  html{scroll-behavior:smooth;}
  section[id],div[id]{scroll-margin-top:86px;}

  /* ---------- Вход первого экрана ---------- */
  .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
  .hero::after{
    content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
    background:
      linear-gradient(95deg,rgba(8,12,8,.93) 0%,rgba(8,12,8,.82) 38%,rgba(8,12,8,.42) 62%,rgba(8,12,8,.2) 100%),
      linear-gradient(180deg,rgba(8,12,8,.5) 0%,rgba(8,12,8,.08) 34%,rgba(8,12,8,.35) 100%);
  }
  /* на мобильном текст занимает всю ширину — горизонтальный градиент десктопа не даёт контраста справа, нужен ровный тёмный слой */
  @media(max-width:899px){
    .hero::after{
      background:
        linear-gradient(180deg,rgba(8,12,8,.72) 0%,rgba(8,12,8,.58) 40%,rgba(8,12,8,.55) 70%,rgba(8,12,8,.8) 100%);
    }
  }
  .hero .wrap{position:relative;z-index:2;}
  .intro{opacity:0;transform:translateY(22px);animation:introUp .9s cubic-bezier(.2,.7,.2,1) forwards;}
  @keyframes introUp{to{opacity:1;transform:none;}}
  .d1{animation-delay:.05s;} .d2{animation-delay:.18s;} .d3{animation-delay:.31s;}
  .d4{animation-delay:.44s;} .d5{animation-delay:.57s;}

  /* ---------- Каскад карточек каталога ---------- */
  .card.enter{opacity:0;transform:translateY(14px);animation:cardIn .5s cubic-bezier(.2,.7,.2,1) forwards;}
  @keyframes cardIn{to{opacity:1;transform:none;}}
  .card{transition:border-color .15s ease,transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease;}
  @media(hover:hover){.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(18,17,15,.1);}}
  @media(hover:none){.card:active{transform:scale(.98);transition-duration:.1s;}}
  .card-photo{overflow:hidden;}

  /* ---------- Кнопки ---------- */
  .btn{position:relative;overflow:hidden;}
  .btn-accent::after{
    content:"";position:absolute;inset:0;background:rgba(255,255,255,.18);
    transform:translateX(-101%) skewX(-12deg);transition:transform .45s ease;
  }
  .btn-accent:hover::after{transform:translateX(101%) skewX(-12deg);}

  /* ---------- Модалка ---------- */
  .modal-bg{animation:fadeIn .22s ease;}
  .modal-card{animation:popIn .3s cubic-bezier(.2,.8,.25,1);}
  @keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
  @keyframes popIn{from{opacity:0;transform:translateY(14px) scale(.985);}to{opacity:1;transform:none;}}

  /* ---------- Шаги: прорисовка линии ---------- */
  .steps{position:relative;}
  .steps::before{
    content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);
    transform:scaleX(0);transform-origin:0 50%;transition:transform 1.4s cubic-bezier(.4,0,.2,1);
  }
  .steps.in::before{transform:scaleX(1);}
  @media(max-width:859px){.steps::before{display:none;}}
  .step{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease;}
  .steps.in .step{opacity:1;transform:none;}
  .steps.in .step:nth-child(1){transition-delay:.12s;}
  .steps.in .step:nth-child(2){transition-delay:.26s;}
  .steps.in .step:nth-child(3){transition-delay:.4s;}
  .steps.in .step:nth-child(4){transition-delay:.54s;}
  .steps.in .step:nth-child(5){transition-delay:.68s;}

  /* ---------- Кейсы: медленный наезд ---------- */
  .case{overflow:hidden;}
  .case-img{transform:scale(1);transition:transform 9s linear;}
  .case.in .case-img{transform:scale(1.09);}
  .case:hover .case-img{transition:transform 1.2s ease;transform:scale(1.13);}
  .case::after{
    content:"";position:absolute;inset:0;background:rgba(8,10,7,0);
    transition:background .2s ease;pointer-events:none;z-index:1;
  }
  .case:hover::after{background:rgba(8,10,7,.22);}

  /* ---------- Преимущества: по очереди ---------- */
  .adv-item{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease;}
  .adv.in .adv-item{opacity:1;transform:none;}
  .adv.in .adv-item:nth-child(1){transition-delay:.05s;}
  .adv.in .adv-item:nth-child(2){transition-delay:.16s;}
  .adv.in .adv-item:nth-child(3){transition-delay:.27s;}
  .adv.in .adv-item:nth-child(4){transition-delay:.38s;}

  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    .reveal{opacity:1;transform:none;transition:none;}
    .card.flash,.bump,.hub-ring.pulse,.route.draw,.card.enter,.intro,
    .modal-bg,.modal-card{animation:none;}
    .intro,.card.enter{opacity:1;transform:none;}
    .route.draw{stroke-dashoffset:0;}
    .step,.adv-item{opacity:1;transform:none;transition:none;}
    .steps::before{transform:scaleX(1);transition:none;}
    .case-img{transition:none;}
    .case.in .case-img{transform:none;}
    .btn-accent::after{display:none;}
    .card:hover{transform:none;}
  }

/* ----- Style Block 2 ----- */
.contest-cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
  @media(min-width:760px){.contest-cta{align-items:center;text-align:center;}}
  .contest-btn{background:var(--accent);color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:100px;font-weight:600;font-size:15px;transition:transform .2s ease,background .2s ease;}
  .contest-btn:hover{background:#d83f18;color:#fff;transform:translateY(-1px);}
  .route-btn{background:var(--accent);color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:100px;font-weight:600;font-size:15px;transition:transform .2s ease,background .2s ease;}
  .route-btn:hover{background:#d83f18;color:#fff;transform:translateY(-1px);}
  .contest-off,.contest-off:hover{background:#e6e2d8;color:#8a867b;cursor:not-allowed;transform:none;box-shadow:none;border-color:transparent;}
  .contest-off svg{opacity:.7;}
  .contest-note{font-size:13px;font-weight:600;color:var(--accent);line-height:1.4;}

/* ----- Style Block 3 ----- */
.route-off,.route-off:hover{background:rgba(255,255,255,.12);color:rgba(255,255,255,.45);cursor:not-allowed;transform:none;box-shadow:none;border-color:transparent;}
  .route-note{display:block;margin-top:10px;font-size:13px;font-weight:600;color:var(--accent);}

/* ----- Style Block 4 ----- */
/* чёрно-оранжевая лента «в разработке» по центру карточек пакетов */
  .dev-tape{position:absolute;left:-8%;right:-8%;top:50%;z-index:3;transform:translateY(-50%) rotate(-6deg);pointer-events:none;background:#111;padding:8px 0;text-align:center;box-shadow:0 4px 10px rgba(0,0,0,.4);}
  .dev-tape::before,.dev-tape::after{content:"";position:absolute;left:0;right:0;height:7px;background:repeating-linear-gradient(-45deg,#f04c23 0 9px,#111 9px 18px);}
  .dev-tape::before{top:-7px;}
  .dev-tape::after{bottom:-7px;}
  .dev-tape span{display:block;color:#f04c23;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;line-height:1.2;}
  .card.is-package .photo-soon{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);white-space:nowrap;}

/* ----- Style Block 5 ----- */
footer{background:var(--dark);color:var(--on-dark-soft);padding-block:48px 26px;}
  .f-top{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.1);}
  .f-brand{max-width:360px;}
  .f-brand .logo{margin-bottom:14px;}
  .f-brand p{font-size:13px;line-height:1.65;}
  .f-contacts{display:flex;flex-direction:column;gap:11px;font-size:14px;}
  .f-contacts a.tel{font-family:var(--display);font-size:18px;font-weight:600;color:#fff;}
  .f-contacts .msg{border-color:rgba(255,255,255,.22);color:#fff;}
  .f-contacts .msg:hover{border-color:var(--accent);color:var(--accent);}
  .f-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;padding-top:22px;font-size:12px;}
  .f-bot a{text-decoration:underline;text-underline-offset:2px;}
  .f-bot a:hover{color:#fff;}
  .f-legal{display:flex;flex-wrap:wrap;gap:8px 20px;}