:root {
      --bg: #05070b;
      --bg-soft: #090d14;
      --panel: rgba(14, 19, 29, .76);
      --panel-strong: rgba(18, 24, 35, .88);
      --line: rgba(255, 255, 255, .12);
      --line-strong: rgba(255, 255, 255, .2);
      --text: #f8f8fb;
      --muted: #a7afbf;
      --muted-2: #727b8e;
      --accent: #ff4b20;
      --accent-2: #ff8022;
      --accent-3: #ff2f17;
      --ok: #55e6a5;
      --shadow: 0 22px 72px rgba(0, 0, 0, .46);
      --glow: 0 0 42px rgba(255, 76, 34, .32);
      --radius-xl: 28px;
      --radius-lg: 20px;
      --radius-md: 15px;
      --header: 74px;
      --max: 1180px;
      --ease: cubic-bezier(.18,.9,.22,1);
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header) + 18px); width: 100%; overflow-x: hidden; }
    body {
      width: 100%;
      min-height: 100vh;
      overflow-x: hidden;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
      line-height: 1.55;
      color: var(--text);
      background:
        radial-gradient(circle at 10% 3%, rgba(255, 76, 34, .18), transparent 24rem),
        radial-gradient(circle at 90% 10%, rgba(255, 128, 34, .12), transparent 26rem),
        radial-gradient(circle at 50% 70%, rgba(255, 47, 23, .08), transparent 34rem),
        var(--bg);
    }
    body::before {
      content: "";
      position: fixed;
      inset: 0;
      z-index: -3;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
      background-size: 72px 72px;
      mask-image: linear-gradient(180deg, black 0%, rgba(0,0,0,.74) 58%, transparent 100%);
    }
    body::after {
      content: "";
      position: fixed;
      inset: 0;
      z-index: -2;
      pointer-events: none;
      opacity: .26;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
      mix-blend-mode: overlay;
    }
    body.nav-open, body.modal-open { overflow: hidden; }

    a { color: inherit; text-decoration: none; }
    button, input, textarea, select { font: inherit; color: inherit; }
    button { border: 0; cursor: pointer; background: transparent; }
    img, svg { display: block; max-width: 100%; }
    :focus-visible { outline: 3px solid rgba(255, 76, 34, .55); outline-offset: 4px; }

    .container { width: min(100% - 32px, var(--max)); margin-inline: auto; }
    .progress { position: fixed; inset: 0 auto auto 0; z-index: 3000; width: 0%; height: 3px; background: linear-gradient(90deg, var(--accent), var(--accent-2)); box-shadow: var(--glow); }

    .header {
      position: sticky;
      top: 0;
      z-index: 1000;
      height: var(--header);
      border-bottom: 1px solid rgba(255,255,255,.075);
      background: rgba(5, 7, 11, .84);
      backdrop-filter: blur(18px);
      transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
    }
    .header.is-scrolled { background: rgba(5, 7, 11, .95); border-color: rgba(255,255,255,.12); box-shadow: 0 16px 46px rgba(0,0,0,.36); }
    .nav { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 14px; }

    .logo { display: inline-flex; align-items: center; gap: 10px; min-width: 0; font-weight: 950; line-height: .9; letter-spacing: -.04em; }
    .logo-mark { position: relative; flex: 0 0 auto; width: 40px; height: 40px; filter: drop-shadow(0 0 20px rgba(255,76,34,.48)); }
    .logo-mark::before, .logo-mark::after { content: ""; position: absolute; top: 4px; width: 14px; height: 34px; border-radius: 5px; background: linear-gradient(180deg, var(--accent-2), var(--accent)); transform-origin: 50% 88%; }
    .logo-mark::before { left: 8px; transform: rotate(-28deg); }
    .logo-mark::after { right: 8px; transform: rotate(28deg); }
    .logo-text { display: grid; gap: 1px; color: #fff; font-size: 18px; }
    .logo-text span:last-child { color: var(--accent); font-size: 14px; }

    .nav-list { display: flex; align-items: center; gap: 2px; list-style: none; }
    .nav-link { display: inline-flex; align-items: center; min-height: 38px; padding: 9px 12px; border-radius: 999px; color: rgba(255,255,255,.74); font-size: 14px; font-weight: 760; white-space: nowrap; transition: color .2s ease, background .2s ease; }
    .nav-link:hover, .nav-link.is-active { color: #fff; background: rgba(255,255,255,.07); }
    .mobile-menu-action { display: none; }
    .mobile-menu-action .btn { width: 100%; }
    .nav-actions { display: inline-flex; align-items: center; gap: 10px; }

    .btn {
      --mx: 50%; --my: 50%;
      position: relative;
      isolation: isolate;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 48px;
      padding: 13px 18px;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.13);
      border-radius: 15px;
      color: #fff;
      background: rgba(255,255,255,.055);
      font-weight: 850;
      line-height: 1;
      transition: transform .24s var(--ease), box-shadow .24s ease, border-color .24s ease, background .24s ease;
    }
    .btn::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; background: radial-gradient(circle at var(--mx) var(--my), rgba(255,255,255,.25), transparent 30%); transition: opacity .18s ease; }
    .btn:hover { transform: translateY(-2px); border-color: rgba(255,76,34,.38); box-shadow: 0 16px 42px rgba(0,0,0,.3); }
    .btn:hover::before { opacity: 1; }
    .btn-primary { border-color: rgba(255,76,34,.42); background: linear-gradient(135deg, var(--accent), var(--accent-2)); box-shadow: 0 16px 38px rgba(255,76,34,.23); }
    .btn-ghost { background: rgba(255,255,255,.045); }
    .btn-sm { min-height: 44px; padding: 12px 15px; font-size: 14px; }
    .icon-btn { display: none; place-items: center; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.06); }
    .burger { position: relative; width: 22px; height: 16px; }
    .burger span { position: absolute; left: 0; width: 100%; height: 2px; border-radius: 999px; background: #fff; transition: top .22s ease, transform .22s ease, opacity .22s ease; }
    .burger span:nth-child(1) { top: 0; } .burger span:nth-child(2) { top: 7px; } .burger span:nth-child(3) { top: 14px; }
    .icon-btn[aria-expanded="true"] .burger span:nth-child(1) { top: 7px; transform: rotate(45deg); }
    .icon-btn[aria-expanded="true"] .burger span:nth-child(2) { opacity: 0; }
    .icon-btn[aria-expanded="true"] .burger span:nth-child(3) { top: 7px; transform: rotate(-45deg); }

    .hero { position: relative; padding: 44px 0 24px; }
    .hero-shell {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
      gap: 28px;
      align-items: center;
      padding: 26px 8px 8px;
      border-top: 1px solid rgba(255,255,255,.06);
      border-radius: 0 0 var(--radius-xl) var(--radius-xl);
    }
    .hero-copy { position: relative; z-index: 2; padding-left: 8px; }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      width: fit-content;
      max-width: 100%;
      min-height: 34px;
      padding: 7px 13px;
      border: 1px solid rgba(255,76,34,.36);
      border-radius: 999px;
      color: #ffb09a;
      background: rgba(255,76,34,.09);
      box-shadow: inset 0 0 16px rgba(255,76,34,.055);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .07em;
      text-transform: uppercase;
      line-height: 1.15;
    }
    .eyebrow::before { content: ""; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 999px; background: var(--accent); box-shadow: 0 0 14px var(--accent); }
    .hero-title { max-width: 610px; margin-top: 18px; color: #fff; font-size: clamp(44px, 5.9vw, 72px); line-height: .94; letter-spacing: -.065em; }
    .accent-text { color: var(--accent); text-shadow: 0 0 30px rgba(255,76,34,.36); }
    .hero-lead { max-width: 570px; margin-top: 18px; color: var(--muted); font-size: clamp(16px, 1.4vw, 19px); }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
    .hero-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-width: 560px; margin-top: 26px; }
    .mini-point { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 56px; padding: 11px 12px; border: 1px solid rgba(255,255,255,.095); border-radius: 16px; background: rgba(255,255,255,.045); backdrop-filter: blur(14px); color: var(--muted); }
    .mini-point i { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 12px; color: var(--accent-2); background: rgba(255,76,34,.12); font-style: normal; }
    .mini-point span { min-width: 0; font-size: 12px; line-height: 1.25; }

    .hero-media { position: relative; min-width: 0; }
    .hero-frame {
      position: relative;
      overflow: hidden;
      min-height: 430px;
      border: 1px solid rgba(255,255,255,.09);
      border-radius: 30px;
      background: linear-gradient(145deg, rgba(255,76,34,.12), rgba(255,255,255,.035));
      box-shadow: var(--shadow), 0 0 70px rgba(255,76,34,.12);
      isolation: isolate;
    }
    .hero-frame::before { content: ""; position: absolute; inset: -22%; background: radial-gradient(circle at 50% 55%, rgba(255,76,34,.32), transparent 38%); z-index: -1; }
    .hero-img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; object-position: center; opacity: .95; transform: scale(1.02); }
    .hero-chip { position: absolute; display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; background: rgba(6,10,16,.64); backdrop-filter: blur(14px); color: #fff; font-size: 12px; font-weight: 850; box-shadow: 0 16px 38px rgba(0,0,0,.28); }
    .hero-chip::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: var(--accent); box-shadow: 0 0 12px var(--accent); }
    .hero-chip.one { left: 18px; top: 18px; }
    .hero-chip.two { right: 18px; bottom: 18px; }

    .stats { padding: 18px 0 42px; }
    .stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 21px; background: rgba(255,255,255,.06); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
    .stat { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 16px; align-items: center; min-width: 0; min-height: 114px; padding: 22px 24px; background: linear-gradient(180deg, rgba(255,255,255,.056), rgba(255,255,255,.02)); }
    .stat-icon, .card-icon { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid rgba(255,255,255,.12); border-radius: 17px; color: var(--accent-2); background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,76,34,.09)); box-shadow: inset 0 0 22px rgba(255,76,34,.08), 0 0 24px rgba(255,76,34,.08); }
    .stat b { display: block; color: var(--accent); font-size: clamp(30px, 3.4vw, 42px); line-height: 1; letter-spacing: -.04em; }
    .stat b span { display: inline; margin: 0; color: inherit; font: inherit; line-height: inherit; }
    .stat small { display: block; margin-top: 5px; color: var(--muted); font-size: 13px; line-height: 1.22; }

    .section { padding: 62px 0; }
    .section.compact { padding-top: 34px; }
    .section-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px, 440px); gap: 24px; align-items: end; margin-bottom: 26px; }
    .section-title { margin-top: 12px; color: #fff; font-size: clamp(30px, 4vw, 46px); line-height: 1.02; letter-spacing: -.05em; }
    .section-text { color: var(--muted); font-size: 16px; }
    .section-text p {padding: 10px 0;}
    .section-text ul {margin-left: 30px;}
    .center { text-align: center; }
    .center .eyebrow { margin-inline: auto; }

    .cards { display: grid; gap: 16px; }
    .cards.services { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .cards.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .split-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .95fr); gap: 16px; }
    .two-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
    .format-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }

    .card {
      --mx: 50%; --my: 0%;
      position: relative;
      min-width: 0;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
      box-shadow: 0 18px 52px rgba(0,0,0,.23);
      backdrop-filter: blur(16px);
      transition: transform .26s var(--ease), border-color .26s ease, box-shadow .26s ease;
    }
    .card::before { content: ""; position: absolute; inset: 0; opacity: 0; pointer-events: none; background: radial-gradient(420px circle at var(--mx) var(--my), rgba(255,76,34,.18), transparent 40%); transition: opacity .2s ease; }
    .card:hover { transform: translateY(-6px); border-color: rgba(255,76,34,.34); box-shadow: 0 26px 70px rgba(0,0,0,.34), 0 0 32px rgba(255,76,34,.1); }
    .card:hover::before { opacity: 1; }
    .service-card { display: flex; flex-direction: column; gap: 13px; min-height: 236px; padding: 20px; text-align: center; }
    .service-card .card-icon { margin-inline: auto; }
    .card h3 { position: relative; z-index: 1; color: #fff; font-size: 17px; line-height: 1.18; letter-spacing: -.025em; }
    .card p { position: relative; z-index: 1; color: var(--muted); font-size: 13px; }
    .price { position: relative; z-index: 1; margin-top: auto; color: var(--accent); font-weight: 950; }
    .more-toggle { position: relative; z-index: 1; align-self: center; color: #ffb39f; font-size: 13px; font-weight: 900; }
    .more-list { position: relative; z-index: 1; display: grid; gap: 7px; max-height: 0; overflow: hidden; text-align: left; color: var(--muted); font-size: 12px; transition: max-height .32s var(--ease), margin-top .32s ease; }
    .service-card.is-open .more-list { max-height: 140px; margin-top: 2px; }
    .more-list li { margin-left: 16px; }

    .big-card { min-width: 0; padding: 28px; }
    .process-row { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
    .process-step { position: relative; min-width: 0; padding: 14px; }
    .step-num { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,76,34,.38); border-radius: 999px; background: rgba(255,76,34,.11); color: #fff; font-weight: 950; box-shadow: 0 0 20px rgba(255,76,34,.18); }
    .process-step:not(:last-child)::after { content: ""; position: absolute; top: 35px; left: 68px; right: -12px; border-top: 1px dashed rgba(255,255,255,.19); }
    .process-step h3 { margin-top: 14px; color: #fff; font-size: 15px; }
    .process-step p { margin-top: 7px; color: var(--muted); font-size: 13px; }
    .check-list { display: grid; gap: 12px; margin-top: 14px; list-style: none; }
    .check-list li { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 10px; color: var(--muted); font-size: 14px; }
    .check-list li::before { content: "✓"; display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid rgba(255,76,34,.35); border-radius: 999px; color: var(--accent-2); font-weight: 900; font-size: 12px; }
    .gem { position: absolute; right: 22px; bottom: 18px; width: 124px; height: 102px; opacity: .95; filter: drop-shadow(0 0 28px rgba(255,76,34,.3)); }
    .gem::before { content: ""; position: absolute; inset: 22px 26px 0; border-radius: 18px; background: linear-gradient(135deg, var(--accent-2), var(--accent-3)); clip-path: polygon(50% 0, 100% 28%, 72% 100%, 28% 100%, 0 28%); }
    .gem::after { content: ""; position: absolute; inset: 62px 18px 0; border-radius: 50%; background: rgba(255,76,34,.15); filter: blur(12px); }

    .case-card { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 16px; padding: 16px; }
    .case-screen { min-height: 130px; border: 1px solid rgba(255,255,255,.11); border-radius: 16px; background: linear-gradient(160deg, rgba(255,76,34,.15), rgba(255,255,255,.05)); overflow: hidden; position: relative; }
    .case-screen::before { content: ""; position: absolute; inset: 15px; border-radius: 12px; background: repeating-linear-gradient(180deg, rgba(255,76,34,.9) 0 8px, transparent 8px 18px); opacity: .65; }
    .case-meta { position: relative; z-index: 1; width: fit-content; margin-bottom: 10px; padding: 5px 9px; border-radius: 999px; background: rgba(255,255,255,.07); color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; }
    .result { position: relative; z-index: 1; margin-top: 12px; color: var(--accent-2); font-weight: 900; font-size: 13px; }

    .slider-card { position: relative; min-height: 300px; padding: 24px; }
    .reviews { position: relative; min-height: 202px; }
    .review { position: absolute; inset: 0; display: grid; align-content: start; gap: 16px; opacity: 0; transform: translateX(18px); pointer-events: none; transition: opacity .3s ease, transform .3s ease; }
    .review.is-active { opacity: 1; transform: translateX(0); pointer-events: auto; }
    .quote { color: #d8dbe3; font-size: 16px; }
    .person { display: flex; align-items: center; gap: 12px; margin-top: 4px; }
    .avatar { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,76,34,.15)); border: 1px solid rgba(255,255,255,.12); }
    .person b { display: block; color: #fff; font-size: 14px; }
    .person span { color: var(--muted); font-size: 12px; }
    .slider-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 16px; }
    .round-btn { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.05); color: #fff; transition: background .2s ease, border-color .2s ease; }
    .round-btn:hover { background: rgba(255,76,34,.12); border-color: rgba(255,76,34,.3); }

    .price-card, .legal-card, .contact-card, .faq-card { padding: 22px; }
    .price-card h3, .legal-card h3, .contact-card h3, .faq-card h3 { margin-bottom: 10px; }
    .price-card .price { margin-top: 14px; }
    .legal-card p + p { margin-top: 12px; }
    .contact-card a { color: #ffb39f; font-weight: 800; overflow-wrap: anywhere; }
    .requisites { display: grid; gap: 10px; list-style: none; }
    .requisites li { display: grid; grid-template-columns: 145px minmax(0,1fr); gap: 10px; padding-bottom: 10px; border-bottom: 1px dashed rgba(255,255,255,.12); color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
    .requisites strong { color: #fff; }
    .copy-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
    .copy-btn { flex: 0 0 auto; min-height: 34px; padding: 7px 10px; border: 1px solid rgba(255,76,34,.28); border-radius: 999px; color: #ffb39f; background: rgba(255,76,34,.08); font-size: 12px; font-weight: 900; }

    .faq-list { display: grid; gap: 10px; }
    .faq-item { border: 1px solid var(--line); border-radius: 17px; overflow: hidden; background: rgba(255,255,255,.035); }
    .faq-q { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 18px; text-align: left; color: #fff; font-weight: 900; }
    .faq-q span:last-child { flex: 0 0 auto; transition: transform .22s ease; }
    .faq-a { max-height: 0; overflow: hidden; color: var(--muted); transition: max-height .3s var(--ease); }
    .faq-a p { padding: 0 18px 18px; }
    .faq-item.is-open .faq-a { max-height: 180px; }
    .faq-item.is-open .faq-q span:last-child { transform: rotate(45deg); }

    .cta { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 20px; padding: 28px; border-color: rgba(255,76,34,.35); background: radial-gradient(circle at 12% 12%, rgba(255,76,34,.18), transparent 30rem), linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)); }
    .cta h2 { font-size: clamp(27px, 3.6vw, 40px); line-height: 1.04; letter-spacing: -.04em; }
    .cta p { margin-top: 10px; color: var(--muted); }

    .form { display: grid; gap: 13px; }
    .field { display: grid; gap: 7px; }
    .field label { color: #fff; font-size: 13px; font-weight: 850; }
    .field input, .field textarea, .field select { width: 100%; min-width: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; padding: 13px 14px; background: rgba(0,0,0,.22); color: #fff; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
    .field textarea { min-height: 116px; resize: vertical; }
    .field input:focus, .field textarea:focus, .field select:focus { border-color: rgba(255,76,34,.48); box-shadow: 0 0 0 4px rgba(255,76,34,.11); }
    .form-note { color: var(--muted-2); font-size: 12px; }

    .footer { padding: 34px 0 44px; border-top: 1px solid rgba(255,255,255,.08); color: var(--muted); }
    .footer-grid { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 22px; }
    .footer-center { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
    .pay { color: #fff; font-weight: 950; letter-spacing: .04em; }
    .footer-right { text-align: right; }

    .modal { position: fixed; inset: 0; z-index: 2200; display: none; align-items: center; justify-content: center; padding: 18px; background: rgba(0,0,0,.68); backdrop-filter: blur(12px); }
    .modal.is-open { display: flex; }
    .modal-card { position: relative; width: min(100%, 520px); max-height: min(92vh, 760px); overflow: auto; padding: 24px; border: 1px solid var(--line-strong); border-radius: 24px; background: rgba(12, 17, 26, .96); box-shadow: var(--shadow); }
    .modal-close { position: absolute; right: 14px; top: 14px; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.05); color: #fff; font-size: 24px; }
    .modal-card h2 { padding-right: 48px; font-size: 28px; line-height: 1.08; letter-spacing: -.035em; }
    .modal-card > p { margin: 10px 0 18px; color: var(--muted); }

    .toast { position: fixed; left: 50%; bottom: 22px; z-index: 2500; transform: translate(-50%, 20px); opacity: 0; max-width: min(92vw, 460px); padding: 12px 16px; border: 1px solid rgba(255,76,34,.3); border-radius: 14px; background: rgba(12,17,26,.94); color: #fff; box-shadow: var(--shadow); transition: opacity .22s ease, transform .22s ease; }
    .toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
    .to-top { position: fixed; right: 18px; bottom: 18px; z-index: 1200; display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 999px; color: #fff; background: rgba(12,17,26,.78); box-shadow: 0 16px 38px rgba(0,0,0,.32); opacity: 0; pointer-events: none; transform: translateY(10px); transition: opacity .2s ease, transform .2s ease; }
    .to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }

    .reveal { opacity: 0; transform: translateY(18px); transition: opacity .62s ease, transform .62s var(--ease); transition-delay: var(--delay, 0ms); }
    .reveal.is-visible { opacity: 1; transform: translateY(0); }
    
    .under-footer {padding: 0 0 20px;}
    
    @keyframes slowFloat { from { transform: translate3d(0,0,0) scale(1.02); } to { transform: translate3d(0,-8px,0) scale(1.04); } }
    .hero-img { animation: slowFloat 7s ease-in-out infinite alternate; }

    @media (max-width: 1120px) {
      .cards.services { grid-template-columns: repeat(3, minmax(0,1fr)); }
      .stats-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .hero-shell { grid-template-columns: minmax(0,1fr); padding-inline: 0; }
      .hero-frame { min-height: 360px; }
      .hero-img { min-height: 360px; }
      .hero-copy { padding-left: 0; }
    }

    @media (max-width: 860px) {
      :root { --header: 68px; }
      .container { width: min(100% - 28px, var(--max)); }
      .nav-cta { display: none; }
      .icon-btn { display: grid; }
      .nav-list {
        position: fixed;
        left: 14px;
        right: 14px;
        top: calc(var(--header) + 10px);
        z-index: 999;
        display: grid;
        gap: 8px;
        padding: 12px;
        border: 1px solid var(--line);
        border-radius: 22px;
        background: rgba(8, 12, 19, .97);
        box-shadow: var(--shadow);
        backdrop-filter: blur(18px);
        opacity: 0;
        transform: translateY(-12px) scale(.98);
        pointer-events: none;
        transition: opacity .22s ease, transform .22s ease;
      }
      .mobile-menu-action { display: block; }
      .nav-link { width: 100%; min-height: 46px; justify-content: center; border-radius: 15px; background: rgba(255,255,255,.045); }
      body.nav-open .nav-list { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
      .section-head, .split-grid, .two-grid { grid-template-columns: 1fr; }
      .footer-grid { grid-template-columns: 1fr; text-align: center; }
      .footer-right { text-align: center; }
    }

    @media (max-width: 640px) {
      :root { --radius-xl: 22px; --radius-lg: 18px; }
      .container { width: min(100% - 24px, var(--max)); }
      .header { height: var(--header); }
      .logo-mark { width: 38px; height: 38px; }
      .logo-text { font-size: 17px; }
      .logo-text span:last-child { font-size: 13px; }
      .hero { padding: 20px 0 12px; }
      .hero-shell { gap: 20px; padding: 16px 0 0; border-top: 0; }
      .hero-copy { text-align: left; }
      .eyebrow { min-height: 32px; padding: 7px 11px; font-size: 10px; letter-spacing: .055em; }
      .hero-title { margin-top: 14px; font-size: clamp(34px, 10.4vw, 46px); line-height: .98; letter-spacing: -.055em; }
      .hero-lead { margin-top: 14px; font-size: 15px; line-height: 1.5; }
      .hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 20px; }
      .btn { width: 100%; min-height: 52px; border-radius: 16px; }
      .hero-points { grid-template-columns: 1fr; gap: 9px; margin-top: 16px; }
      .mini-point { min-height: 50px; padding: 9px 10px; }
      .mini-point i { width: 32px; height: 32px; flex-basis: 32px; }
      .hero-frame { min-height: 0; aspect-ratio: 1.45 / 1; border-radius: 22px; }
      .hero-img { min-height: 0; height: 100%; object-fit: cover; object-position: center; transform: none; animation: none; }
      .hero-chip { display: none; }
      .stats { padding: 20px 0 30px; }
      .stats-grid { grid-template-columns: repeat(2, minmax(0,1fr)); border-radius: 20px; }
      .stat { display: block; min-height: 134px; padding: 16px; }
      .stat-icon { width: 42px; height: 42px; border-radius: 14px; margin-bottom: 12px; }
      .stat b { font-size: 30px; }
      .stat small { font-size: 12px; }
      .section { padding: 42px 0; }
      .section-head { gap: 14px; margin-bottom: 18px; }
      .section-title { margin-top: 10px; font-size: clamp(26px, 8vw, 34px); line-height: 1.06; letter-spacing: -.04em; }
      .section-text { font-size: 14px; }
      .cards.services, .cards.three, .format-grid { grid-template-columns: 1fr; }
      .service-card { min-height: 0; text-align: left; padding: 18px; }
      .service-card .card-icon { margin-inline: 0; }
      .more-toggle { align-self: flex-start; }
      .big-card, .slider-card, .price-card, .legal-card, .contact-card, .faq-card, .cta { padding: 18px; }
      .process-row { grid-template-columns: 1fr; gap: 4px; }
      .process-step { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 12px; padding: 10px 0; }
      .process-step h3 { margin-top: 0; }
      .process-step p { margin-top: 5px; }
      .process-step:not(:last-child)::after { left: 20px; top: 54px; bottom: -2px; right: auto; border-top: 0; border-left: 1px dashed rgba(255,255,255,.2); }
      .gem { display: none; }
      .case-card { grid-template-columns: 1fr; padding: 14px; }
      .case-screen { min-height: 150px; }
      .slider-card { min-height: 344px; }
      .quote { font-size: 15px; }
      .slider-actions { justify-content: center; }
      .requisites li { grid-template-columns: 1fr; gap: 4px; }
      .copy-row { align-items: flex-start; }
      .cta { grid-template-columns: 1fr; }
      .cta .btn { justify-self: stretch; }
      .modal { padding: 12px; align-items: flex-end; }
      .modal-card { width: 100%; max-height: 90vh; padding: 20px; border-radius: 22px 22px 0 0; }
      .to-top { right: 14px; bottom: 14px; width: 44px; height: 44px; }
    }

    @media (max-width: 374px) {
      .container { width: min(100% - 20px, var(--max)); }
      .logo-text { display: none; }
      .hero-title { font-size: 32px; }
      .stats-grid { grid-template-columns: 1fr; }
      .stat { min-height: 96px; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 12px; align-items: center; }
      .stat-icon { margin: 0; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
      .reveal { opacity: 1; transform: none; }
    }