    /* Hero */
    .hero{
      padding:26px 0 18px;
    }
    .hero__grid{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap:18px;
      align-items:stretch;
    }
    .hero__card{
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:linear-gradient(180deg,#ffffff 0%, #f7faff 100%);
      box-shadow: var(--shadow);
      padding:20px;
      position:relative;
      overflow:hidden;
      min-height: 320px;
    }
    .hero__card:before{
      content:"";
      position:absolute;
      right:-120px; top:-120px;
      width:260px; height:260px;
      background: radial-gradient(closest-side, rgba(11,75,179,.22), rgba(11,75,179,0));
      border-radius:50%;
    }
    .kicker{
      display:inline-flex; align-items:center; gap:8px;
      font-size:13px; color:var(--muted);
      padding:6px 10px;
      background:#fff;
      border:1px solid var(--line);
      border-radius:999px;
    }
    h1{
      margin:12px 0 10px;
      font-size: clamp(26px, 3.2vw, 40px);
      line-height:1.08;
      letter-spacing:-.4px;
    }
    .lead{
      margin:0;
      font-size:16px;
      line-height:1.55;
      color:var(--muted);
      max-width: 62ch;
    }
    .hero__points{
      margin-top:14px;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:10px;
    }
    .point{
      display:flex; gap:10px; align-items:flex-start;
      padding:10px 12px;
      border:1px solid var(--line);
      border-radius:14px;
      background:#fff;
    }
    .ico{
      width:22px; height:22px; flex:0 0 22px;
      color:var(--blue);
    }
    .point b{display:block; font-size:14px; margin-bottom:2px}
    .point span{display:block; font-size:13px; color:var(--muted); line-height:1.35}

    .hero__aside{
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:#fff;
      box-shadow: var(--shadow);
      padding:18px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      min-height: 320px;
    }
    .aside__title{
      margin:0 0 8px;
      font-weight:900;
      font-size:18px;
    }
    .form{
      display:grid;
      gap:10px;
      margin-top:10px;
    }
    .field{
      display:grid;
      gap:6px;
    }
    .field label{
      font-size:13px; color:var(--muted); font-weight:700;
    }
    .input, .select, .textarea{
      width:100%;
      padding:12px 12px;
      border:1px solid var(--line);
      border-radius:14px;
      outline:none;
      font-size:15px;
      background:#fff;
      transition:border-color .15s ease, box-shadow .15s ease;
    }
    .textarea{min-height:90px; resize:vertical}
    .input:focus, .select:focus, .textarea:focus{
      border-color: rgba(11,75,179,.45);
      box-shadow:0 0 0 4px rgba(11,75,179,.10);
    }
    .form__row{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:10px;
    }
    .hint{
      font-size:12px; color:var(--muted);
      line-height:1.35;
      margin:6px 0 0;
    }
    .trustline{
      display:flex; gap:10px; flex-wrap:wrap;
      margin-top:12px;
    }
    .badge{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 10px;
      border:1px solid var(--line);
      border-radius:999px;
      background:var(--card);
      font-size:12px;
      color:var(--muted);
      font-weight:700;
    }
    .badge svg{width:16px; height:16px; color:var(--blue)}

    /* Sections */
    section{padding:26px 0}
    .sec-title{
      margin:0 0 10px;
      font-size:22px;
      letter-spacing:-.2px;
    }
    .sec-lead{
      margin:0 0 14px;
      color:var(--muted);
      line-height:1.6;
      max-width: 80ch;
    }

    .grid-3{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:12px;
    }
    .card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:var(--radius);
      padding:16px;
      box-shadow: var(--shadow);
    }
    .card h3{margin:0 0 8px; font-size:16px}
    .card p{margin:0; color:var(--muted); line-height:1.55; font-size:14px}

    .list{
      margin:0; padding:0; list-style:none;
      display:grid; gap:10px;
    }
    .li{
      display:flex; gap:10px; align-items:flex-start;
      padding:12px 12px;
      border:1px solid var(--line);
      border-radius:16px;
      background: #fff;
    }
    .li .ico{margin-top:1px}
    .li b{display:block}
    .li span{display:block; color:var(--muted); margin-top:2px; line-height:1.5; font-size:14px}

    .split{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap:12px;
      align-items:start;
    }

    .prices{
      width:100%;
      border-collapse:separate;
      border-spacing:0;
      overflow:hidden;
      border-radius:16px;
      border:1px solid var(--line);
      background:#fff;
    }
    .prices th, .prices td{
      padding:12px 12px;
      border-bottom:1px solid var(--line);
      text-align:left;
      font-size:14px;
      vertical-align:top;
    }
    .prices th{
      background: var(--card);
      font-weight:900;
      color: var(--text);
    }
    .prices tr:last-child td{border-bottom:0}
    .prices td small{display:block; color:var(--muted); margin-top:4px; line-height:1.35}

    .note{
      margin-top:10px;
      padding:12px 12px;
      border:1px dashed #cfd7ea;
      border-radius:16px;
      background:#fff;
      color:var(--muted);
      line-height:1.55;
      font-size:13px;
    }

    .steps{
      counter-reset: step;
      display:grid;
      gap:10px;
    }
    .step{
      display:flex; gap:12px; align-items:flex-start;
      padding:14px 14px;
      border:1px solid var(--line);
      border-radius:18px;
      background:#fff;
      box-shadow: var(--shadow);
    }
    .step:before{
      counter-increment: step;
      content: counter(step);
      width:32px; height:32px;
      border-radius:12px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      background: rgba(11,75,179,.10);
      color: var(--blue);
      font-weight:900;
      flex:0 0 32px;
      margin-top:1px;
    }
    .step b{display:block; margin-bottom:4px}
    .step span{display:block; color:var(--muted); line-height:1.5; font-size:14px}

    /* FAQ */
    details{
      border:1px solid var(--line);
      border-radius:16px;
      padding:12px 12px;
      background:#fff;
    }
    details + details{margin-top:10px}
    summary{
      cursor:pointer;
      font-weight:900;
      list-style:none;
      outline:none;
    }
    summary::-webkit-details-marker{display:none}
    details p{
      margin:10px 0 0;
      color:var(--muted);
      line-height:1.6;
      font-size:14px;
    }

    /* Footer */
    .footer{
      padding:22px 0 34px;
      border-top:1px solid var(--line);
      background:#fff;
    }
    .footer__grid{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:12px;
      align-items:start;
    }
    .foot-card{
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:16px;
      background:var(--card);
    }
    .foot-card h3{margin:0 0 8px}
    .foot-card p{margin:0; color:var(--muted); line-height:1.6}
    .contacts{
      display:grid;
      gap:10px;
      margin-top:12px;
    }
    .contact{
      display:flex; gap:10px; align-items:flex-start;
      padding:12px 12px;
      border:1px solid var(--line);
      border-radius:16px;
      background:#fff;
    }
    .contact b{display:block}
    .contact a{font-weight:900; text-decoration:none}
    .contact span{display:block; color:var(--muted); margin-top:2px; font-size:14px; line-height:1.45}

    /* Sticky mobile bar */
    .stickybar{
      position:fixed;
      left:0; right:0; bottom:0;
      background:rgba(255,255,255,.92);
      backdrop-filter:saturate(160%) blur(10px);
      border-top:1px solid var(--line);
      padding:10px 12px;
      display:flex;
      gap:10px;
      justify-content:center;
      z-index:60;
    }
    .stickybar .btn{flex:1; max-width: 560px}

    /* Responsive */
    @media (min-width: 980px){
      .nav{display:flex}
      .stickybar{display:none}
    }
    @media (max-width: 980px){
      .hero__grid, .split, .footer__grid{grid-template-columns:1fr}
      .hero__points{grid-template-columns:1fr}
      .form__row{grid-template-columns:1fr}
      .grid-3{grid-template-columns:1fr}
      .hero__card, .hero__aside{min-height:auto}
    }