
    :root{
      --bg:#0B1220;
      --bg2:#0F1B33;
      --card:#0F172A;
      --muted:#94A3B8;
      --text:#E6ECF5;
      --line:rgba(255,255,255,.10);
      --soft:rgba(255,255,255,.06);

      --accent:#C21F2B;
      --accent2:#B88A44;
      --ok:#22C55E;

      --radius:18px;
      --radius2:26px;
      --shadow: 0 18px 50px rgba(0,0,0,.38);
      --shadow2: 0 10px 26px rgba(0,0,0,.25);

      --max: 1200px;
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
      background: radial-gradient(1200px 700px at 10% 0%, rgba(194,31,43,.24), transparent 55%),
                  radial-gradient(900px 600px at 85% 10%, rgba(184,138,68,.20), transparent 55%),
                  linear-gradient(180deg, var(--bg) 0px, var(--bg) 600px, #070B12 1000px);
      background-attachment: fixed;
      color:var(--text);
      line-height:1.45;
      overflow-x:hidden;
    }

    a{color:inherit; text-decoration:none}
    .container{max-width:var(--max); margin:0 auto; padding:0 20px}

    .bg-pattern{
      position:fixed; inset:0;
      pointer-events:none;
      opacity:.55;
      mix-blend-mode:screen;
      z-index:-1;
      background:
        linear-gradient(to right, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 48px 48px,
        linear-gradient(to bottom, rgba(255,255,255,.025) 1px, transparent 1px) 0 0 / 48px 48px;
      mask-image: radial-gradient(1200px 900px at 20% 10%, rgba(0,0,0,1), rgba(0,0,0,.2) 55%, rgba(0,0,0,0) 80%);
    }

    .topbar{
      position:sticky; top:0;
      backdrop-filter: blur(12px);
      background: rgba(11,18,32,.62);
      border-bottom:1px solid var(--line);
      z-index:50;
    }
    .topbar-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:14px 0;
    }

    /* ===== Header (responsive, standard layout) ===== */
    .topbar-inner{
      display:flex;
      flex-direction:column;
      gap:10px;
      padding:14px 0 12px;
    }
    .topbar-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
    }
    .topbar-row--main{gap:16px}
    .nav{
      display:flex;
      gap:10px;
      align-items:center;
      justify-content:center;
      flex:1 1 auto;
      flex-wrap:wrap;
    }
    .nav a{
      font-size:13px;
      color:rgba(230,236,245,.86);
      padding:10px 12px;
      border-radius:999px;
      border:1px solid transparent;
      transition:.2s ease;
      white-space:nowrap;
    }
    .nav a:hover{border-color:var(--line); background:rgba(255,255,255,.03)}
    .header-actions{display:flex; gap:10px; align-items:center; justify-content:flex-end}
    /* Скрыть кнопку переключения темы */
    #themeToggle {
      display: none !important;
    }
    .btn-sm{padding:10px 14px; font-size:13px}

    /* Phones as chips (separate row) */
    .phones--bar{
      width:100%;
      display:flex;
      gap:10px;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:wrap;
    }
    .phone-chip{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:9px 12px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.02);
      color:rgba(230,236,245,.92);
      font-weight:700;
      letter-spacing:.02em;
      font-variant-numeric: tabular-nums;
      transition:.18s ease;
    }
    .phone-chip:hover{transform:translateY(-1px); background:rgba(255,255,255,.05)}
    .phone-number{line-height:1}
    .phone-chip--block{width:100%; justify-content:flex-start}

    /* Burger (mobile) */
    .burger{
      display:none;
      width:44px; height:40px;
      border-radius:14px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.03);
      cursor:pointer;
      align-items:center;
      justify-content:center;
      flex-direction:column;
      gap:0;
      padding:0;
      transition:.18s ease;
    }
    .burger:hover{background:rgba(255,255,255,.06)}
    .burger span{
      display:block;
      width:20px;
      height:2px;
      background:rgba(230,236,245,.92);
      border-radius:2px;
      margin:0;
      transition:.18s ease;
    }
    /* Обеспечиваем правильное расположение трех линий бургера */
    .burger span:nth-child(1) {
      margin-top: 0;
      margin-bottom: 0;
    }
    .burger span:nth-child(2) {
      margin-top: 5px;
      margin-bottom: 0;
    }
    .burger span:nth-child(3) {
      margin-top: 5px;
      margin-bottom: 0;
    }

    /* Drawer */
    .drawer{
      position:fixed;
      inset:0;
      z-index:80;
    }
    .drawer[hidden]{display:none}
    .drawer-backdrop{
      position:absolute; inset:0;
      background:rgba(0,0,0,.55);
      backdrop-filter: blur(6px);
    }
    .drawer-panel{
      position:absolute;
      top:10px; right:10px; left:10px;
      max-width: 520px;
      margin-left:auto;
      border-radius: 22px;
      border:1px solid var(--line);
      background: rgba(11,18,32,.92);
      box-shadow: var(--shadow);
      overflow:hidden;
    }

    /* Drawer positioning: keep below header and prevent overlap */
    .drawer-panel{
      top: calc(var(--header-offset, 84px) + 10px);
      max-height: calc(100vh - (var(--header-offset, 84px) + 20px));
      overflow:auto;
    }

    .drawer-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:14px 14px;
      border-bottom:1px solid var(--line);
    }
    .drawer-close{
      width:42px; height:38px;
      border-radius:14px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.03);
      color:rgba(230,236,245,.92);
      cursor:pointer;
    }
    .drawer-links{
      display:flex;
      flex-direction:column;
      gap:8px;
      padding:12px 14px;
    }
    .drawer-links a{
      padding:12px 12px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.02);
      color:rgba(230,236,245,.92);
      font-weight:650;
    }
    .drawer-links a:hover{background:rgba(255,255,255,.05)}
    .drawer-cta{padding:0 14px 12px}
    .drawer-phones{
      padding:12px 14px 16px;
      border-top:1px solid var(--line);
      display:flex;
      flex-direction:column;
      gap:10px;
    }


    .brand{
      display:flex; align-items:center; gap:12px;
      min-width: 220px;
    }
    .logo{
      width:42px; height:42px;
      border-radius:14px;
      background-image: url('/images/logo-7e6946b57d6c789638ed07fd9f564e29.webp');
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      box-shadow: 0 10px 30px rgba(194,31,43,.22);
      position:relative;
      overflow:hidden;
    }
    .logo:after{
      display:none;
    }
    .brand-title{display:flex; flex-direction:column; gap:2px}
    .brand-title b{letter-spacing:.12em; font-size:13px}
    .brand-title span{color:var(--muted); font-size:12px}

    nav{
      display:flex;
      gap:18px;
      align-items:center;
      flex-wrap:wrap;
      justify-content:center;
    }
    nav a{
      font-size:13px;
      color:rgba(230,236,245,.86);
      padding:10px 10px;
      border-radius:999px;
      border:1px solid transparent;
      transition: .2s ease;
    }
    nav a:hover{border-color:var(--line); background:rgba(255,255,255,.03)}

    .phones{
      display:flex;
      gap:10px;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:wrap;
      min-width: 320px;
    }
    .pill{
      display:flex;
      align-items:center;
      gap:8px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.02);
      font-size:12px;
      color:rgba(230,236,245,.9);
    }
    .pill{
      display:flex;
      align-items:center;
      gap:10px;
      padding:9px 12px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.02);
      font-size:12.5px;
      color:rgba(230,236,245,.92);
    }
    .pill a{
      opacity:.98;
      font-weight:700;
      letter-spacing:.02em;
      font-variant-numeric: tabular-nums;
    }
    .flag{
      width:22px; height:22px;
      display:grid; place-items:center;
      border-radius:999px;
      background: rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.10);
      box-shadow: 0 8px 18px rgba(0,0,0,.18);
      font-size:14px;
      line-height:1;
      flex:0 0 auto;
    }

    .pill small{color:var(--muted); font-size:11px}
    .pill a{opacity:.98}
    .pill a:hover{text-decoration:underline}

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:12px 16px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      color:var(--text);
      cursor:pointer;
      transition:.18s ease;
      font-weight:600;
      font-size:14px;
      white-space:nowrap;
    }
    .btn:hover{transform:translateY(-1px); background:rgba(255,255,255,.06)}
    .btn.primary{
      border-color: rgba(194,31,43,.55);
      background:
        radial-gradient(200px 120px at 20% 20%, rgba(255,255,255,.20), transparent 55%),
        linear-gradient(135deg, rgba(194,31,43,.98), rgba(184,138,68,.90));
      box-shadow: 0 18px 40px rgba(194,31,43,.18);
    }
    .btn.primary:hover{filter:saturate(1.05)}
    .btn.ghost{background:transparent}

    /* Кнопки hero: по очереди заполняются (8 с каждая), когда следующая начинает — предыдущая сбрасывается; цикл 24 с, бесконечно */
    .hero-cta-fill{
      overflow:hidden;
      position:relative;
      background:transparent !important;
      border-color:var(--line) !important;
      box-shadow:none !important;
      animation:hero-cta-border-1 24s linear infinite;
      -webkit-animation:hero-cta-border-1 24s linear infinite;
    }
    .hero-cta-fill:nth-child(2){animation-name:hero-cta-border-2;-webkit-animation-name:hero-cta-border-2}
    .hero-cta-fill:nth-child(3){animation-name:hero-cta-border-3;-webkit-animation-name:hero-cta-border-3}
    .hero-cta-fill::before{
      content:"";
      position:absolute;
      left:0; top:0; bottom:0;
      width:0;
      background:
        radial-gradient(200px 120px at 20% 20%, rgba(255,255,255,.20), transparent 55%),
        linear-gradient(135deg, rgba(194,31,43,.98), rgba(184,138,68,.90));
      border-radius:inherit;
      z-index:-1;
      animation:hero-cta-fill-slot1 24s linear infinite;
      -webkit-animation:hero-cta-fill-slot1 24s linear infinite;
      -webkit-backface-visibility:hidden;
      backface-visibility:hidden;
    }
    .hero-cta-fill:nth-child(2)::before{animation-name:hero-cta-fill-slot2;-webkit-animation-name:hero-cta-fill-slot2}
    .hero-cta-fill:nth-child(3)::before{animation-name:hero-cta-fill-slot3;-webkit-animation-name:hero-cta-fill-slot3}
    .hero-cta-fill span{position:relative; z-index:1}
    .hero-cta-fill:hover::before{filter:saturate(1.05)}
    @keyframes hero-cta-fill-slot1{
      0%{width:0} 33.333%{width:100%} 33.334%{width:0} 100%{width:0}
    }
    @-webkit-keyframes hero-cta-fill-slot1{
      0%{width:0} 33.333%{width:100%} 33.334%{width:0} 100%{width:0}
    }
    @keyframes hero-cta-fill-slot2{
      0%{width:0} 33.333%{width:0} 33.334%{width:0} 66.666%{width:100%} 66.667%{width:0} 100%{width:0}
    }
    @-webkit-keyframes hero-cta-fill-slot2{
      0%{width:0} 33.333%{width:0} 33.334%{width:0} 66.666%{width:100%} 66.667%{width:0} 100%{width:0}
    }
    @keyframes hero-cta-fill-slot3{
      0%{width:0} 66.666%{width:0} 66.667%{width:0} 99%{width:100%} 100%{width:0}
    }
    @-webkit-keyframes hero-cta-fill-slot3{
      0%{width:0} 66.666%{width:0} 66.667%{width:0} 99%{width:100%} 100%{width:0}
    }
    @keyframes hero-cta-border-1{
      0%{border-color:var(--line);box-shadow:none} 33.333%{border-color:rgba(194,31,43,.55);box-shadow:0 18px 40px rgba(194,31,43,.18)} 33.334%{border-color:var(--line);box-shadow:none} 100%{border-color:var(--line);box-shadow:none}
    }
    @-webkit-keyframes hero-cta-border-1{
      0%{border-color:var(--line);box-shadow:none} 33.333%{border-color:rgba(194,31,43,.55);box-shadow:0 18px 40px rgba(194,31,43,.18)} 33.334%{border-color:var(--line);box-shadow:none} 100%{border-color:var(--line);box-shadow:none}
    }
    @keyframes hero-cta-border-2{
      0%{border-color:var(--line);box-shadow:none} 33.333%{border-color:var(--line);box-shadow:none} 33.334%{border-color:var(--line);box-shadow:none} 66.666%{border-color:rgba(194,31,43,.55);box-shadow:0 18px 40px rgba(194,31,43,.18)} 66.667%{border-color:var(--line);box-shadow:none} 100%{border-color:var(--line);box-shadow:none}
    }
    @-webkit-keyframes hero-cta-border-2{
      0%{border-color:var(--line);box-shadow:none} 33.333%{border-color:var(--line);box-shadow:none} 33.334%{border-color:var(--line);box-shadow:none} 66.666%{border-color:rgba(194,31,43,.55);box-shadow:0 18px 40px rgba(194,31,43,.18)} 66.667%{border-color:var(--line);box-shadow:none} 100%{border-color:var(--line);box-shadow:none}
    }
    @keyframes hero-cta-border-3{
      0%{border-color:var(--line);box-shadow:none} 66.666%{border-color:var(--line);box-shadow:none} 66.667%{border-color:var(--line);box-shadow:none} 99%{border-color:rgba(194,31,43,.55);box-shadow:0 18px 40px rgba(194,31,43,.18)} 100%{border-color:var(--line);box-shadow:none}
    }
    @-webkit-keyframes hero-cta-border-3{
      0%{border-color:var(--line);box-shadow:none} 66.666%{border-color:var(--line);box-shadow:none} 66.667%{border-color:var(--line);box-shadow:none} 99%{border-color:rgba(194,31,43,.55);box-shadow:0 18px 40px rgba(194,31,43,.18)} 100%{border-color:var(--line);box-shadow:none}
    }

    .hero{padding:56px 0 26px}
    .hero-grid{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:28px;
      align-items:stretch;
    }
    .badge{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:8px 12px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.03);
      color:rgba(230,236,245,.9);
      font-size:12px;
      width:fit-content;
    }
    .dot{
      width:8px; height:8px; border-radius:999px;
      background:linear-gradient(135deg, var(--accent), var(--accent2));
      box-shadow: 0 0 0 6px rgba(194,31,43,.14);
    }
    h1{
      margin:14px 0 10px;
      font-size:44px;
      line-height:1.08;
      letter-spacing:-.02em;
    }
    .lead{
      margin:0;
      color:rgba(230,236,245,.82);
      font-size:16px;
      max-width: 54ch;
    }
    .hero-actions{
      display:flex;
      gap:12px;
      margin-top:18px;
      flex-wrap:wrap;
    }
    .trustline{
      margin-top:16px;
      display:flex;
      gap:18px;
      flex-wrap:wrap;
      color:rgba(230,236,245,.72);
      font-size:12px;
    }
    .trustline b{color:rgba(230,236,245,.92); font-weight:700}

    .hero-card{
      border-radius: var(--radius2);
      border:1px solid var(--line);
      background:
        radial-gradient(400px 200px at 20% 10%, rgba(194,31,43,.18), transparent 50%),
        radial-gradient(400px 200px at 80% 30%, rgba(184,138,68,.18), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
      box-shadow: var(--shadow);
      overflow:hidden;
      position:relative;
      min-height: 340px;
    }
    .hero-card:before{
      content:"";
      position:absolute; inset:0;
      background:
        radial-gradient(120px 120px at 85% 20%, rgba(255,255,255,.10), transparent 65%),
        radial-gradient(150px 150px at 20% 80%, rgba(255,255,255,.07), transparent 70%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.03) 0 8px, transparent 8px 18px);
      opacity:.55;
      mix-blend-mode:screen;
      pointer-events:none;
    }
    .hero-visual{
      position:absolute;
      inset:18px;
      border-radius: calc(var(--radius2) - 10px);
      border:1px solid rgba(255,255,255,.08);
      background: rgba(2,6,16,.18);
      overflow:hidden;
    }
    .map{
      position:absolute; inset:-30px -40px -40px -40px;
      opacity:.95;
      filter: drop-shadow(0 10px 20px rgba(0,0,0,.25));
    }
    .seal{
      position:absolute;
      right:16px; bottom:16px;
      width:98px; height:98px;
      border-radius:22px;
      background:
        radial-gradient(60px 60px at 30% 30%, rgba(255,255,255,.12), transparent 60%),
        linear-gradient(135deg, rgba(194,31,43,.96), rgba(184,138,68,.86));
      border:1px solid rgba(255,255,255,.14);
      box-shadow: 0 18px 40px rgba(194,31,43,.18);
      display:grid;
      place-items:center;
      transform: rotate(2deg);
    }
    .seal span{
      font-weight:800;
      letter-spacing:.18em;
      font-size:12px;
      text-align:center;
      line-height:1.05;
    }
    .seal span small{display:block; font-weight:700; letter-spacing:.22em; opacity:.9}

    section{padding:34px 0; scroll-margin-top: calc(var(--header-offset, 100px) + 20px);}
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:16px;
      margin-bottom:14px;
    }
    .section-head h2{
      margin:0;
      font-size:22px;
      letter-spacing:-.01em;
    }
    .section-head p{
      margin:0;
      color:rgba(230,236,245,.72);
      font-size:13px;
      max-width: 60ch;
    }

    .grid-3{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px}
    .card{
      border:1px solid var(--line);
      background: rgba(255,255,255,.02);
      border-radius: var(--radius);
      padding:16px;
      box-shadow: var(--shadow2);
      position:relative;
      overflow:hidden;
    }
    .card:after{
      content:"";
      position:absolute; inset:-40%;
      background: radial-gradient(circle at 30% 30%, rgba(194,31,43,.10), transparent 55%),
                  radial-gradient(circle at 70% 70%, rgba(184,138,68,.10), transparent 55%);
      transform: rotate(14deg);
      opacity:.6;
      pointer-events:none;
    }
    .card > *{position:relative; z-index:1}
    .card h3{margin:0 0 6px; font-size:15px; letter-spacing:-.01em}
    .card p{margin:0; color:rgba(230,236,245,.72); font-size:13px}
    .kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-bottom:10px;
      font-size:12px;
      color:rgba(230,236,245,.75);
    }
    .kicker i{
      width:22px; height:22px;
      border-radius:8px;
      background: rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.08);
      display:grid;
      place-items:center;
      font-style:normal;
      font-weight:800;
      color:rgba(230,236,245,.9);
    }

    .steps{display:grid; grid-template-columns: repeat(5, 1fr); gap:12px}
    .step{
      border:1px solid var(--line);
      background: rgba(255,255,255,.02);
      border-radius: 16px;
      padding:14px;
      min-height: 140px;
      position:relative;
      overflow:hidden;
    }
    .step:before{
      content:"";
      position:absolute;
      inset:-30%;
      background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.08), transparent 60%);
      opacity:.8;
      pointer-events:none;
    }
    .step b{
      display:inline-flex;
      width:30px; height:30px;
      border-radius:12px;
      align-items:center;
      justify-content:center;
      background: rgba(194,31,43,.18);
      border:1px solid rgba(194,31,43,.35);
      color:rgba(230,236,245,.92);
      margin-bottom:10px;
    }
    .step h3{margin:0 0 6px; font-size:14px}
    .step p{margin:0; font-size:12.5px; color:rgba(230,236,245,.72)}

    .icon-row{display:grid; grid-template-columns: repeat(4, 1fr); gap:12px}
    .mode{display:flex; gap:12px; align-items:flex-start}
    .mode .ico{
      width:44px; height:44px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.10);
      background:
        radial-gradient(26px 26px at 30% 30%, rgba(255,255,255,.10), transparent 60%),
        linear-gradient(135deg, rgba(194,31,43,.26), rgba(184,138,68,.18));
      display:grid;
      place-items:center;
      flex:0 0 auto;
    }
    .mode svg{width:22px; height:22px; opacity:.95}
    .mode h3{margin:0 0 4px; font-size:14px}
    .mode p{margin:0; font-size:12.5px; color:rgba(230,236,245,.72)}

    .trust{display:grid; grid-template-columns: 1fr 1fr; gap:14px; align-items:stretch}
    .trust ul{margin:0; padding:0 0 0 18px; color:rgba(230,236,245,.78); font-size:13px}
    .trust li{margin:8px 0}
    .stat-row{display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; margin-top:12px}
    .stat{border:1px solid var(--line); border-radius:16px; padding:12px; background: rgba(255,255,255,.02)}
    .stat b{font-size:18px}
    .stat span{display:block; color:rgba(230,236,245,.70); font-size:12px; margin-top:3px}

    .case{display:flex; flex-direction:column; gap:10px}
    .case .meta{display:flex; gap:10px; flex-wrap:wrap; font-size:12px; color:rgba(230,236,245,.72)}
    .tag{padding:6px 10px; border-radius:999px; border:1px solid var(--line); background:rgba(255,255,255,.02)}

    .form-wrap{
      border-radius: var(--radius2);
      border:1px solid var(--line);
      background:
        radial-gradient(600px 260px at 20% 0%, rgba(194,31,43,.16), transparent 55%),
        radial-gradient(520px 240px at 90% 20%, rgba(184,138,68,.14), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
      box-shadow: var(--shadow);
      overflow:hidden;
      position:relative;
    }
    .form-inner{display:grid; grid-template-columns: 1fr 1fr; gap:0; align-items:stretch}
    .form-left{padding:18px; border-right:1px solid var(--line)}
    .form-right{padding:18px; display:flex; flex-direction:column; justify-content:space-between; gap:14px}
    .form-left h2{margin:0 0 8px; font-size:22px}
    .form-left p{margin:0; color:rgba(230,236,245,.72); font-size:13px; max-width:65ch}
    form{margin-top:14px}
    .fields{display:grid; grid-template-columns: 1fr 1fr; gap:12px}
    .field{display:flex; flex-direction:column; gap:6px}
    label{font-size:12px; color:rgba(230,236,245,.78)}
    input, textarea, select{
      width:100%;
      padding:12px 12px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.12);
      background: rgba(2,6,16,.26);
      color:var(--text);
      outline:none;
      transition:.15s ease;
    }
    input:focus, textarea:focus, select:focus{
      border-color: rgba(194,31,43,.45);
      box-shadow: 0 0 0 4px rgba(194,31,43,.12);
    }
    /* Стили для выпадающего меню select */
    select {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23E6ECF5' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 12px center;
      padding-right: 36px;
      cursor: pointer;
    }
    /* Стили для выпадающего списка опций - черный фон как на сайте */
    select option {
      background: #0B1220 !important;
      background-color: #0B1220 !important;
      color: #E6ECF5 !important;
      padding: 10px 12px;
    }
    /* Для Firefox */
    select:-moz-focusring {
      color: transparent;
      text-shadow: 0 0 0 #E6ECF5;
    }
    /* Стили для активных состояний опций */
    select option:hover,
    select option:focus {
      background: rgba(194,31,43,.35) !important;
      background-color: rgba(194,31,43,.35) !important;
      color: #E6ECF5 !important;
    }
    select option:checked,
    select option[selected] {
      background: rgba(194,31,43,.45) !important;
      background-color: rgba(194,31,43,.45) !important;
      color: #E6ECF5 !important;
    }
    /* Дополнительные стили для лучшей видимости в разных браузерах */
    select::-ms-expand {
      display: none;
    }
    /* Для WebKit браузеров (Chrome, Safari, Edge) */
    select::-webkit-select {
      background: #0B1220;
      color: #E6ECF5;
    }
    textarea{min-height:110px; resize:vertical; grid-column: 1 / -1}
    .full{grid-column: 1 / -1}
    .form-actions{display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:12px}
    .note{font-size:12px; color:rgba(230,236,245,.68)}
    .ok{
      display:none;
      margin-top:10px;
      padding:10px 12px;
      border-radius:14px;
      border:1px solid rgba(34,197,94,.35);
      background: rgba(34,197,94,.10);
      color:rgba(230,236,245,.92);
      font-size:13px;
    }

    footer{
      padding:24px 0 40px;
      color:rgba(230,236,245,.62);
      font-size:12px;
      border-top:1px solid var(--line);
      margin-top:34px;
    }
    .footer-grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:16px; align-items:start}
    .footer-links{display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end}
    .footer-links a{
      padding:5px 8px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.02);
      font-size:11px;
    }
    .footer-links a:hover{text-decoration:underline}

    @media (max-width: 980px){
      .nav{display:none}
      .burger{display:inline-flex}
      .brand{min-width: auto; flex-shrink: 1}
      .brand-title b{font-size: 12px}
      .brand-title span{font-size: 11px}
      .header-actions{flex-shrink: 0}
      .topbar-row--phones{overflow:visible}
      .phones--bar{justify-content:center; flex-wrap:wrap; gap:8px; overflow:visible}
      .phones--bar .phone-chip{flex-shrink:0}
      .phones--bar::-webkit-scrollbar{height:6px}
      .phones--bar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12); border-radius:999px}
      /* Футер: вертикальное расположение ссылок в мобильной версии */
      .footer-grid{grid-template-columns: 1fr; gap:20px}
      .footer-links{
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap:6px;
      }
      .footer-links a{
        width: 100%;
        text-align: left;
        padding:5px 8px;
        font-size:11px;
      }

      .hero-grid{grid-template-columns: 1fr}
      .hero-card{min-height:320px}
      .steps{grid-template-columns: 1fr}
      .icon-row{grid-template-columns: 1fr 1fr}
      .grid-3{grid-template-columns: 1fr}
      .trust{grid-template-columns: 1fr}
      .form-inner{grid-template-columns: 1fr}
      .form-left{border-right:none; border-bottom:1px solid var(--line)}
      .fields{grid-template-columns: 1fr}
      .phones{min-width: unset}
      h1{font-size:36px}
    }

    @media (prefers-reduced-motion: reduce){
      .btn{transition:none}
      .btn:hover{transform:none}
      .hero-cta-fill{animation:none;-webkit-animation:none}
      .hero-cta-fill::before{animation:none;-webkit-animation:none;width:100%}
      .hero-cta-fill{border-color:rgba(194,31,43,.55);box-shadow:0 18px 40px rgba(194,31,43,.18)}
    }
  
    /* ===== MOBILE MENU HARD FIX ===== */
    @media (max-width: 980px){
      .topbar{
        position:relative;
        z-index:10;
      }
      .topbar .container{
        position:relative;
        z-index:auto;
      }
      .drawer{
        position:fixed !important;
        inset:0 !important;
        z-index:99999 !important;
      }
      .drawer-backdrop{
        position:fixed !important;
        inset:0 !important;
        background:rgba(5,10,20,.72) !important;
        backdrop-filter: blur(8px) !important;
        z-index:99999 !important;
      }
      .drawer-panel{
        position:fixed !important;
        top:0 !important;
        right:0 !important;
        left:auto !important;
        height:100dvh !important;
        max-height:100dvh !important;
        width:100% !important;
        max-width:420px !important;
        border-radius: 0 !important;
        overflow-y:auto !important;
        -webkit-overflow-scrolling: touch !important;
        animation: slideIn .22s ease-out !important;
        z-index:100000 !important;
      }
      @keyframes slideIn{
        from{transform:translateX(12px); opacity:.6}
        to{transform:none; opacity:1}
      }
      /* Ensure page-hero and other elements don't overlap drawer */
      .page-hero,
      .page-hero .container,
      .page-hero__overlay,
      .hero,
      .hero-card,
      section,
      main{
        position:relative;
        z-index:1;
      }
    }


    /* ===== SEO/UI helpers ===== */
    .breadcrumbs{
      display:flex;
      gap:10px;
      align-items:center;
      flex-wrap:wrap;
      margin-top:10px;
      padding:10px 12px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.02);
      width:fit-content;
      color:rgba(230,236,245,.78);
      font-size:12px;
    }
    .breadcrumbs a{color:rgba(230,236,245,.88)}
    .breadcrumbs a:hover{text-decoration:underline}
    .breadcrumbs .sep{opacity:.55}
    details.faq{
      border:1px solid var(--line);
      background:rgba(255,255,255,.02);
      border-radius:16px;
      padding:12px 14px;
    }
    details.faq + details.faq{margin-top:10px}
    details.faq summary{
      cursor:pointer;
      font-weight:750;
      color:rgba(230,236,245,.92);
      list-style:none;
    }
    details.faq summary::-webkit-details-marker{display:none}
    details.faq p{margin:10px 0 0; color:rgba(230,236,245,.72); font-size:13px}


    /* ===== Light Theme (Business) ===== */
    body.light{
      /* palette */
      --bg:#F6F8FB;
      --bg2:#FFFFFF;
      --card:#FFFFFF;
      --text:#0F172A;      /* slate-900 */
      --muted:#475569;     /* slate-600 */
      --line:rgba(15,23,42,.14);
      --soft:rgba(15,23,42,.06);

      /* keep brand accents */
      --accent:#C21F2B;
      --accent2:#B88A44;

      background:
        radial-gradient(1200px 700px at 10% 0%, rgba(194,31,43,.10), transparent 55%),
        radial-gradient(900px 600px at 85% 10%, rgba(184,138,68,.10), transparent 55%),
        linear-gradient(180deg, var(--bg), #EEF2F7 80%);
      color:var(--text);
    }

    /* Header / topbar */
    body.light .topbar{
      background: rgba(255,255,255,.80);
      border-bottom:1px solid var(--line);
    }
    body.light .brand-title span{color:rgba(15,23,42,.55)}
    body.light .nav a{color:rgba(15,23,42,.80)}
    body.light .nav a:hover{background:rgba(15,23,42,.04); border-color:var(--line)}

    /* Background grid */
    body.light .bg-pattern{
      opacity:.30;
      mix-blend-mode:normal;
      background:
        linear-gradient(to right, rgba(15,23,42,.05) 1px, transparent 1px) 0 0 / 48px 48px,
        linear-gradient(to bottom, rgba(15,23,42,.04) 1px, transparent 1px) 0 0 / 48px 48px;
      mask-image: radial-gradient(1200px 900px at 20% 10%, rgba(0,0,0,1), rgba(0,0,0,.35) 55%, rgba(0,0,0,0) 80%);
    }

    /* Cards and sections */
    body.light .card,
    body.light .form-wrap,
    body.light .hero-card,
    body.light footer{
      background: rgba(255,255,255,.86);
      color:var(--text);
      border-color: var(--line);
      box-shadow: 0 16px 40px rgba(2,6,23,.10);
    }
    body.light .card:after{opacity:.18}
    body.light .step,
    body.light .stat,
    body.light .breadcrumbs,
    body.light details.faq,
    body.light .phone-chip{
      background: rgba(255,255,255,.78);
      border-color: var(--line);
    }

    /* Typography fixes (override hardcoded dark-mode RGBA) */
    body.light .lead,
    body.light .section-head p,
    body.light .card p,
    body.light .step p,
    body.light .mode p,
    body.light .trustline,
    body.light .meta,
    body.light .note,
    body.light .form-left p,
    body.light .footer-grid,
    body.light ul,
    body.light li{
      color: rgba(15,23,42,.68) !important;
    }
    body.light h1,
    body.light h2,
    body.light h3,
    body.light .brand-title b{
      color: rgba(15,23,42,.92) !important;
    }

    /* Badge and tags */
    body.light .badge{
      background: rgba(255,255,255,.78);
      border-color: var(--line);
      color: rgba(15,23,42,.78);
    }
    body.light .tag{
      background: rgba(255,255,255,.70);
      border-color: var(--line);
      color: rgba(15,23,42,.78);
    }

    /* Inputs */
    body.light input,
    body.light textarea,
    body.light select{
      background: rgba(255,255,255,.92);
      color: rgba(15,23,42,.92);
      border-color: rgba(15,23,42,.16);
    }
    body.light input:focus,
    body.light textarea:focus,
    body.light select:focus{
      border-color: rgba(194,31,43,.55);
      box-shadow: 0 0 0 4px rgba(194,31,43,.12);
    }
    /* Стили для выпадающего меню в светлой теме */
    body.light select {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230F172A' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
    }
    body.light select option {
      background: rgba(255,255,255,.98) !important;
      color: rgba(15,23,42,.92) !important;
    }
    body.light select option:hover,
    body.light select option:focus {
      background: rgba(194,31,43,.15) !important;
      color: rgba(15,23,42,.92) !important;
    }
    body.light select option:checked {
      background: rgba(194,31,43,.25) !important;
      color: rgba(15,23,42,.92) !important;
    }

    /* Buttons */
    body.light .btn{
      background: rgba(255,255,255,.72);
      border-color: rgba(15,23,42,.16);
      color: rgba(15,23,42,.88);
    }
    body.light .btn:hover{background: rgba(255,255,255,.92)}
    body.light .btn.ghost{background: transparent}
    body.light .btn.primary{
      color: #fff;
      border-color: rgba(194,31,43,.50);
      box-shadow: 0 16px 34px rgba(194,31,43,.18);
    }

    /* Phone chips and flags */
    body.light .phone-chip{
      color: rgba(15,23,42,.90);
      box-shadow: 0 10px 24px rgba(2,6,23,.10);
    }
    body.light .flag{
      background: rgba(15,23,42,.05);
      border-color: rgba(15,23,42,.12);
      box-shadow: 0 8px 16px rgba(2,6,23,.08);
    }

    /* Drawer (mobile menu) */
    body.light .drawer-backdrop{
      background: rgba(2,6,23,.35);
      backdrop-filter: blur(10px);
    }
    body.light .drawer-panel{
      background: rgba(255,255,255,.94);
      border-color: var(--line);
    }
    body.light .drawer-links a{
      background: rgba(255,255,255,.88);
      border-color: rgba(15,23,42,.12);
      color: rgba(15,23,42,.90);
    }
    body.light .drawer-links a:hover{background: rgba(255,255,255,1)}
    body.light .drawer-close{color: rgba(15,23,42,.85)}



/* ===== Light Theme CTA & Contrast Fix ===== */
body.light .btn.primary{
  background: linear-gradient(135deg, #C21F2B, #E24A4A);
  color:#fff !important;
  border-color: rgba(194,31,43,.55);
  box-shadow: 0 14px 30px rgba(194,31,43,.22);
}
body.light .btn.primary:hover{
  filter: brightness(1.05);
}

body.light .btn{
  color: rgba(15,23,42,.9);
}

body.light .hero .btn{
  box-shadow: none;
}

body.light .hero .btn.primary{
  box-shadow: 0 18px 38px rgba(194,31,43,.28);
}

/* Fix faint secondary buttons */
body.light .btn:not(.primary){
  background: rgba(255,255,255,.95);
  border-color: rgba(15,23,42,.18);
}

/* Improve muted text readability in hero */
body.light .hero p,
body.light .hero .lead{
  color: rgba(15,23,42,.78) !important;
}


/* ===== Light Theme: Visibility Patch (keep default dark) ===== */
body.light{
  color-scheme: light;
}

/* Make all "muted" UI text readable */
body.light .muted,
body.light .sub,
body.light .note,
body.light .meta,
body.light .kicker,
body.light .kicker span,
body.light .kicker i,
body.light .lead,
body.light .section-head p,
body.light .card p,
body.light .step p,
body.light .mode p,
body.light .trustline,
body.light .trustline span,
body.light .small,
body.light small{
  color: rgba(15,23,42,.72) !important;
  opacity: 1 !important;
}

/* Headings and strong text */
body.light h1, body.light h2, body.light h3,
body.light .card h3, body.light .section-head h2,
body.light .brand-title b{
  color: rgba(15,23,42,.94) !important;
}

/* Badges / pills / tags / chips */
body.light .badge,
body.light .tag,
body.light .pill,
body.light .phone-chip,
body.light .breadcrumbs{
  background: rgba(255,255,255,.92) !important;
  border-color: rgba(15,23,42,.16) !important;
  color: rgba(15,23,42,.86) !important;
}

/* Small "dot" marker and numbering chips */
body.light .dot{
  background: rgba(194,31,43,.85) !important;
  box-shadow: 0 0 0 4px rgba(194,31,43,.10);
}
body.light .step i,
body.light .kicker i{
  background: rgba(194,31,43,.10) !important;
  border-color: rgba(194,31,43,.25) !important;
  color: rgba(194,31,43,.88) !important;
}

/* Icon tiles in delivery modes */
body.light .ico{
  background: rgba(194,31,43,.10) !important;
  border: 1px solid rgba(194,31,43,.18) !important;
  color: rgba(194,31,43,.90) !important;
}

/* Inputs placeholders */
body.light ::placeholder{
  color: rgba(15,23,42,.42) !important;
  opacity: 1 !important;
}
body.light label{
  color: rgba(15,23,42,.70) !important;
}

/* Footer links */
body.light footer a{
  color: rgba(15,23,42,.78) !important;
}
body.light footer a:hover{
  color: rgba(15,23,42,.92) !important;
}

/* Ensure subtle separators visible */
body.light .divider,
body.light hr{
  border-color: rgba(15,23,42,.12) !important;
}

/* Fix any leftover low-opacity text blocks */
body.light [style*="opacity:"]{
  opacity: 1 !important;
}


/* ===== Light Theme: Targeted Fixes for Underlined Areas ===== */

/* Trustline (hero meta) stronger */
body.light .trustline{
  color: rgba(15,23,42,.78) !important;
}
body.light .trustline b{
  color: rgba(15,23,42,.92) !important;
}

/* Step number chips were using light bg + white text -> low contrast */
body.light .step b{
  background: rgba(194,31,43,.10) !important;
  border-color: rgba(194,31,43,.22) !important;
  color: rgba(194,31,43,.92) !important;
}

/* Step headings + delivery format headings */
body.light .step h3,
body.light .card h3,
body.light .mode h3{
  color: rgba(15,23,42,.92) !important;
}

/* Delivery format descriptions */
body.light .formats .card p,
body.light .steps .step p{
  color: rgba(15,23,42,.72) !important;
}

/* Buttons in light theme: ensure text visible even when not primary */
body.light .btn{
  color: rgba(15,23,42,.88) !important;
}


/* ===== Responsive Patch (all pages) ===== */

/* Make hero layouts wrap nicely on smaller screens */
@media (max-width: 1100px){
  .hero-grid{grid-template-columns: 1fr; gap:18px;}
  .hero-visual{min-height: 320px;}
}

/* Global grids */
@media (max-width: 980px){
  section{padding: 42px 0;}
  .container{padding: 0 16px;}
  h1{font-size: 34px;}
  .lead{font-size: 14px;}
  .grid-3{grid-template-columns: 1fr;}
  .grid-2{grid-template-columns: 1fr;}
  .icon-row{grid-template-columns: 1fr;}
  .hero-actions{flex-wrap: wrap;}
  .hero-actions .btn{width: auto;}
  .section-head{gap:12px; align-items:flex-start;}
  .section-head a.btn{margin-left:0;}
  .trustline{flex-wrap: wrap; gap:8px 12px;}
  .card{padding:16px;}
  .badge{max-width: 100%;}
}

/* Small screens */
@media (max-width: 640px){
  .topbar-inner{gap:8px;}
  .brand{min-width: auto;}
  .brand .logo{width: 36px; height: 36px;}
  .brand-title b{font-size: 11px;}
  .brand-title span{font-size: 10px; display: none;}
  .header-actions{gap: 6px;}
  h1{font-size: 30px;}
  h2{font-size: 22px;}
  .nav{display:none;}
  .btn{padding: 11px 14px;}
  .btn-sm{padding: 10px 12px;}
  .phone-chip{padding: 8px 10px;}
  .breadcrumbs{padding: 8px 10px;}
  .hero-visual{min-height: 260px;}
  .hero-card{border-radius: 22px;}
  .card{border-radius: 18px;}
}

/* Prevent long words/phones from breaking layouts */
.phone-number{white-space:nowrap;}
.card, .step{min-width:0;}

/* ===== Page Hero (for inner pages) ===== */
.page-hero{
  position:relative;
  padding:44px 0 34px;
  min-height:600px;
  background-size:100% auto;
  background-position:center top;
  background-repeat:no-repeat;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.06);
  display:flex;
  align-items:flex-start;
}

.page-hero__overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(6,8,12,.42), rgba(6,8,12,.22));
  pointer-events:none;
}

.page-hero .container{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  padding-top:44px;
  width:100%;
}

.page-hero__content{
  max-width:640px;
  margin:0 auto 0 0;
  text-align:left !important;
  position:relative;
  padding:18px 18px 16px;
}

.page-hero__content::before{
  content:"";
  position:absolute;
  inset:-14px -18px -14px -14px;
  background: rgba(6,8,12,.62);
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index:-1;
}

.page-hero__content .hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-start !important;
}

@media (max-width: 768px){
  .page-hero{
    min-height:700px;
    align-items:flex-end;
    padding:22px 16px 18px;
    background-position:center top;
    background-size:cover;
    margin:0 16px;
  }
  .page-hero .container{
    padding-top:0;
    align-items:flex-end;
  }
  .page-hero__content{
    max-width:100%;
    margin:0;
    padding:12px 12px 10px;
  }
  .page-hero__content::before{
    inset:-10px -10px -10px -10px;
    border-radius:16px;
    background: rgba(6,8,12,.70);
  }
  .page-hero h1{ font-size:26px !important; line-height:1.12; }
  .page-hero .lead{ font-size:15px; }
  .page-hero__content .badge{ display:none; }
}

/* ===== Hero Rotator (sourcing page) ===== */
.hero-rotator{
  position:relative;
  min-height:662px;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.06);
  display:flex;
  align-items:flex-start;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.hero-rotator__track{
  position:relative;
  width:100%;
  min-height:662px;
}
.hero-rotator__slide{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  transition:opacity .4s ease;
}
.hero-rotator__slide--active{
  position:relative;
  opacity:1;
  pointer-events:auto;
}
.hero-rotator__media{
  position:absolute;
  inset:0;
  z-index:0;
}
.hero-rotator__media picture,
.hero-rotator__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.hero-rotator__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(6,8,12,.42), rgba(6,8,12,.22));
  pointer-events:none;
}
.hero-rotator__content{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  min-height:662px;
  padding-top:44px;
}
.hero-rotator__content--left{
  justify-content:flex-start;
}
.hero-rotator__benefits{
  margin:12px 0 0;
  padding-left:20px;
  color:rgba(230,236,245,.85);
  font-size:14px;
  line-height:1.6;
}
.hero-rotator__nav{
  position:absolute;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  z-index:3;
  display:flex;
  gap:12px;
  padding:8px 14px;
  background:rgba(6,8,12,.62);
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.hero-rotator__btn{
  width:44px;
  height:6px;
  padding:0;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.2);
  cursor:pointer;
  overflow:hidden;
  position:relative;
  transition:background .2s;
}
.hero-rotator__btn:hover{
  background:rgba(255,255,255,.35);
}
.hero-rotator__btn--active{
  background:rgba(255,255,255,.25);
}
.hero-rotator__progress{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:0;
  background:var(--accent);
  border-radius:999px;
}
.hero-rotator__btn--active .hero-rotator__progress{
  animation:hero-rotator-progress 5s linear forwards;
}
.hero-rotator--paused .hero-rotator__progress{
  animation-play-state:paused;
}
@keyframes hero-rotator-progress{
  0%{width:0}
  100%{width:100%}
}
/* В hero-rotator: только первая CTA заполняется за 5 с, вторая — без заполнения */
.hero-rotator__slide--active .hero-actions .hero-cta-fill:first-child{
  animation:hero-rotator-cta-border 5s linear forwards;
}
.hero-rotator__slide--active .hero-actions .hero-cta-fill:first-child::before{
  animation:hero-rotator-progress 5s linear forwards;
}
.hero-rotator .hero-actions .hero-cta-fill:nth-child(2){
  animation:none;
}
.hero-rotator .hero-actions .hero-cta-fill:nth-child(2)::before{
  animation:none;
  width:0;
}
.hero-rotator--paused .hero-rotator__slide--active .hero-actions .hero-cta-fill:first-child,
.hero-rotator--paused .hero-rotator__slide--active .hero-actions .hero-cta-fill:first-child::before{
  animation-play-state:paused;
}
@keyframes hero-rotator-cta-border{
  0%,98%{border-color:var(--line);box-shadow:none}
  100%{border-color:rgba(194,31,43,.55);box-shadow:0 18px 40px rgba(194,31,43,.18)}
}
@media (max-width: 768px){
  .hero-rotator{ min-height:772px; align-items:flex-end; margin:0; padding-left:0; padding-right:0; }
  .hero-rotator__track{ min-height:772px; }
  .hero-rotator__content{ min-height:772px; align-items:flex-end; padding-top:0; padding-bottom:56px; }
  .hero-rotator .container{ padding-top:0; align-items:flex-end; }
  .hero-rotator__media::after{
    background:linear-gradient(180deg, rgba(6,8,12,.3) 0%, rgba(6,8,12,.5) 100%);
  }
  .hero-rotator__nav{ bottom:10px; gap:10px; padding:6px 12px; }
  .hero-rotator__btn{ width:36px; height:8px; }
}
@media (max-width: 420px){
  .hero-rotator{ min-height:617px; }
  .hero-rotator__track{ min-height:617px; }
  .hero-rotator__content{ min-height:617px; padding-bottom:56px; }
}

/* Cookie banner */
.cookie-banner{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  background:var(--card);
  border-top:1px solid var(--line);
  padding:18px 20px;
  z-index:100;
  display:none;
  transform:translateY(100%);
  transition:transform .3s ease-out;
  box-shadow:0 -4px 20px rgba(0,0,0,.3);
}
.cookie-banner.show{
  transform:translateY(0);
}
.cookie-banner-inner{
  max-width:var(--max);
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.cookie-banner p{
  margin:0;
  flex:1;
  min-width:200px;
  font-size:13px;
  color:rgba(230,236,245,.82);
  line-height:1.4;
}
.cookie-banner a{
  color:var(--accent);
  text-decoration:underline;
}
.cookie-banner a:hover{
  color:var(--accent2);
}
.cookie-banner-actions{
  display:flex;
  gap:10px;
  align-items:center;
}
.cookie-banner .btn{
  padding:10px 18px;
  font-size:13px;
  white-space:nowrap;
}
@media (max-width: 768px){
  .cookie-banner{padding:16px 16px;}
  .cookie-banner-inner{flex-direction:column; align-items:stretch;}
  .cookie-banner p{margin-bottom:10px;}
  .cookie-banner-actions{width:100%;}
  .cookie-banner .btn{flex:1;}
}

@media (max-width: 420px){
  .page-hero{ 
    min-height:560px;
    align-items:flex-end;
  }
  .page-hero .container{
    align-items:flex-end;
  }
  .page-hero h1{ font-size:24px !important; }
}

/* Grid 2 columns */
.grid-2{display:grid; grid-template-columns:repeat(2, 1fr); gap:14px}


/* ===== Page Hero: Gradient starts after breadcrumbs ===== */
body:has(.page-hero){
  background: radial-gradient(1200px 700px at 10% 0%, rgba(194,31,43,.24), transparent 55%),
              radial-gradient(900px 600px at 85% 10%, rgba(184,138,68,.20), transparent 55%),
              linear-gradient(180deg, var(--bg) 0px, var(--bg) 800px, #070B12 1200px);
  background-attachment: fixed;
}

/* Стили для иконок мессенджеров */
.pill a[href*="wa.me"],
.pill a[href*="t.me"],
.pill a[href*="weixin"],
.pill a[href*="max://"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.2s ease;
}

.pill a[href*="wa.me"]:hover,
.pill a[href*="t.me"]:hover,
.pill a[href*="weixin"]:hover,
.pill a[href*="max://"]:hover {
  opacity: 1 !important;
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
}

.pill a[href*="wa.me"] svg,
.pill a[href*="t.me"] svg,
.pill a[href*="weixin"] svg,
.pill a[href*="max://"] svg {
  width: 16px;
  height: 16px;
}

/* Стили для email ссылок на странице контактов */
.card a[href^="mailto:"]:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  transform: translateY(-1px);
}

/* ========== Popup-форма (быстрая заявка) ========== */
.popup-lead-overlay{
  position:fixed; inset:0;
  z-index:10000;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  display:none;
  align-items:center;
  justify-content:center;
  opacity:0;
  transition:opacity .3s ease;
}
.popup-lead-overlay.show{opacity:1}

.popup-lead-modal{
  position:relative;
  width:90vw;
  max-width:440px;
  padding:32px;
  background:
    radial-gradient(400px 180px at 20% 0%, rgba(194,31,43,.14), transparent 55%),
    radial-gradient(360px 160px at 85% 20%, rgba(184,138,68,.12), transparent 55%),
    var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius2);
  box-shadow:var(--shadow);
  color:var(--text);
}

.popup-lead-close{
  position:absolute; top:16px; right:16px;
  width:32px; height:32px;
  background:none; border:none;
  color:var(--muted); font-size:24px;
  cursor:pointer; line-height:1;
  display:flex; align-items:center; justify-content:center;
  border-radius:8px;
  transition:color .2s, background .2s;
}
.popup-lead-close:hover{color:var(--text); background:rgba(255,255,255,.08)}

.popup-lead-modal h3{margin:0 0 8px; font-size:22px; padding-right:32px}
.popup-lead-modal > p{margin:0 0 18px; font-size:14px; color:rgba(230,236,245,.72); max-width:40ch; line-height:1.5}

.popup-lead-field{display:flex; flex-direction:column; gap:6px; margin-bottom:12px}
.popup-lead-field label{font-size:12px; color:rgba(230,236,245,.78)}
.popup-lead-field input[type="tel"]{
  width:100%; padding:12px 14px;
  background:rgba(2,6,16,.26);
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--text);
  font-size:15px;
  outline:none;
  transition:border-color .2s;
}
.popup-lead-field input[type="tel"]:focus{border-color:var(--accent)}

.popup-lead-consent{margin-bottom:14px}
.popup-lead-consent label{
  display:flex; align-items:flex-start; gap:8px;
  cursor:pointer; font-size:12px; color:rgba(230,236,245,.72); line-height:1.5;
}
.popup-lead-consent input[type="checkbox"]{
  margin-top:2px; flex-shrink:0; width:16px; height:16px; cursor:pointer;
  accent-color:var(--accent);
}
.popup-lead-consent a{color:inherit; text-decoration:underline}

.popup-lead-submit{width:100%}

.popup-lead-ok{
  display:none;
  margin-top:14px;
  padding:12px 16px;
  background:rgba(34,197,94,.12);
  border:1px solid rgba(34,197,94,.3);
  border-radius:10px;
  color:var(--ok);
  font-size:14px;
  text-align:center;
}

@media (max-width:980px){
  .popup-lead-modal{padding:28px}
}
@media (max-width:768px){
  .popup-lead-modal{
    width:calc(100vw - 32px);
    max-width:none;
    padding:24px 20px;
    border-radius:var(--radius);
  }
  .popup-lead-modal h3{font-size:20px}
}
@media (max-width:420px){
  .popup-lead-modal{
    width:calc(100vw - 24px);
    padding:20px 16px;
  }
  .popup-lead-modal h3{font-size:18px}
  .popup-lead-modal > p{font-size:13px}
  .popup-lead-close{top:12px; right:12px; width:28px; height:28px; font-size:20px}
}
@media (prefers-reduced-motion:reduce){
  .popup-lead-overlay{transition:none}
}

/* Стили для текстовых ссылок мессенджеров на странице контактов */
.card a[href*="wa.me"]:hover,
.card a[href*="t.me"]:hover,
.card a[href*="weixin"]:hover,
.card a[href*="max://"]:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  transform: translateY(-1px);
}
