:root {
      --bg: #f6f3ea;
      --bg-soft: #fdfbf6;
      --card: rgba(255,255,255,0.92);
      --card-border: rgba(191, 149, 63, 0.18);
      --text: #161616;
      --muted: #5c5c5c;
      --accent: #c99a2e;
      --accent-dark: #a77f23;
      --dark: #101010;
      --white: #ffffff;
      --radius-xl: 28px;
      --radius-lg: 20px;
      --radius-md: 14px;
      --shadow: 0 24px 60px rgba(0,0,0,0.12);
      --container: 1180px;
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: Arial, Helvetica, sans-serif;
      color: var(--text);
      background:
        linear-gradient(180deg, rgba(246,243,234,0.94) 0%, rgba(250,247,239,0.9) 55%, rgba(246,243,234,0.95) 100%),
        url('https://images.unsplash.com/photo-1505664194779-8beaceb93744?auto=format&fit=crop&w=1800&q=80') center top / cover fixed no-repeat;
      line-height: 1.5;
    }

    img { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); }
    a { text-decoration: none; color: inherit; }

    .container { width: min(100% - 32px, var(--container)); margin: 0 auto; }
    .section { padding: 84px 0; }
    .section-title { font-size: clamp(32px, 4vw, 54px); line-height: 1.04; margin-bottom: 18px; max-width: 860px; }
    .section-subtitle { max-width: 760px; color: var(--muted); font-size: 18px; margin-bottom: 34px; }

    .badge {
      display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 999px;
      background: rgba(201,154,46,0.1); border: 1px solid rgba(201,154,46,0.16); color: #89651c; font-size: 14px; margin-bottom: 22px;
    }

    .btn, button {
      border: none; cursor: pointer; border-radius: 999px; background: var(--accent); color: #151515;
      font-weight: 700; padding: 16px 26px; font-size: 16px; transition: .25s ease;
    }
    .btn:hover, button:hover { background: var(--accent-dark); transform: translateY(-1px); }
    .btn--ghost { background: transparent; color: var(--white); border: 1px solid rgba(255,255,255,0.18); }
    .btn--ghost:hover { background: rgba(255,255,255,0.08); }

    .header {
      position: sticky; top: 0; z-index: 60; backdrop-filter: blur(14px);
      background: rgba(255,255,255,0.82); border-bottom: 1px solid rgba(16,16,16,0.06);
    }
    .header__inner {
      min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px;
    }
    .logo { font-size: 22px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
    .logo span { color: var(--accent); }
    .nav { display: flex; gap: 22px; color: var(--muted); font-size: 15px; }
    .header__right { display: flex; align-items: center; gap: 18px; }
    .header__contact small { display: block; color: var(--muted); font-size: 12px; }
    .header__contact a { font-weight: 700; font-size: 18px; }

    .hero { padding: 56px 0 72px; }
    .hero__grid {
      display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr); gap: 26px; align-items: start;
    }

    .panel, .hero__content, .hero__form, .service-card, .feature-card, .cta-card, .contact-card {
      background: var(--card); border: 1px solid var(--card-border); box-shadow: var(--shadow); backdrop-filter: blur(10px);
    }

    .hero__content {
      border-radius: var(--radius-xl); padding: 48px; min-height: 650px; overflow: hidden; position: relative;
      display: flex; flex-direction: column; justify-content: space-between;
      background: linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.1)), url('https://images.unsplash.com/photo-1589829545856-d10d557cf95f?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
    }
    .hero__content::before {
      content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(10,10,10,0.84) 16%, rgba(10,10,10,0.56) 58%, rgba(24,18,10,0.8) 100%);
    }
    .hero__top, .hero__bottom { position: relative; z-index: 1; }
    .hero h1 {
      font-size: clamp(38px, 5vw, 66px); line-height: .98; max-width: 760px; margin-bottom: 22px;
      color: #ffffff; text-shadow: 0 10px 30px rgba(0,0,0,0.22);
    }
    .hero p {
      max-width: 620px; color: #f6f3ea; font-size: 18px; margin-bottom: 28px; text-shadow: 0 4px 18px rgba(0,0,0,0.18);
    }
    .hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 28px; }
    .hero__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
    .hero__stat {
      padding: 18px; border-radius: 18px; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.14);
    }
    .hero__stat strong { display: block; font-size: 28px; margin-bottom: 6px; color: #fff3cf; }
    .hero__stat span { color: #ffffff; font-size: 14px; }

    .hero__form, .cta-card, .contact-card {
      border-radius: var(--radius-xl);
      padding: 34px;
    }

    .cta-card, .contact-card {
      display: flex;
      flex-direction: column;
      gap: 14px;
      height: 100%;
    }
    .hero__form { position: relative; top: 38px; }
    .hero__form h2, .cta-card h3, .contact-card h3 { font-size: 28px; line-height: 1.1; margin-bottom: 10px; color: var(--dark); }
    .muted { color: var(--muted); }

    .lead-form, .mini-form { display: grid; gap: 12px; }
    input, select, textarea {
      width: 100%; border-radius: 14px; border: 1px solid rgba(201,154,46,0.18); background: #ffffff;
      color: var(--text); padding: 15px 16px; font-size: 15px; outline: none;
    }
    input::placeholder, textarea::placeholder { color: #787878; }
    textarea { resize: vertical; min-height: 120px; }
    .form-note { font-size: 13px; color: #666666; }
    .consent-legal {
      display: grid;
      gap: 12px;
      padding: 14px 16px;
      border-radius: 16px;
      background: rgba(201, 154, 46, 0.06);
      border: 1px solid rgba(201, 154, 46, 0.12);
    }
    .consent-note,
    .hero .consent-note,
    .hero__form .consent-note {
      margin: 0;
      max-width: none;
      font-size: 12px;
      line-height: 1.4;
      color: var(--muted);
      text-shadow: none;
    }
    .consent {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      padding: 0;
      background: transparent;
      border: none;
    }
    .consent__control {
      position: relative;
      flex-shrink: 0;
      margin-top: 2px;
      cursor: pointer;
    }
    .consent input.consent__input {
      position: absolute;
      inset: 0;
      width: 48px;
      height: 28px;
      margin: 0;
      padding: 0;
      opacity: 0;
      border: 0;
      cursor: pointer;
      z-index: 1;
    }
    .consent__switch {
      position: relative;
      display: block;
      width: 48px;
      height: 28px;
      border-radius: 999px;
      background: rgba(16, 16, 16, 0.12);
      border: 1px solid rgba(201, 154, 46, 0.2);
      transition: background .25s ease, border-color .25s ease;
      pointer-events: none;
    }
    .consent__switch::after {
      content: '';
      position: absolute;
      top: 2px;
      left: 2px;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: #ffffff;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
      transition: transform .25s ease;
    }
    .consent__input:checked + .consent__switch {
      background: var(--accent);
      border-color: var(--accent-dark);
    }
    .consent__input:checked + .consent__switch::after {
      transform: translateX(20px);
    }
    .consent__input:focus-visible + .consent__switch {
      outline: 2px solid rgba(201, 154, 46, 0.45);
      outline-offset: 2px;
    }
    .consent__text,
    .hero .consent__text,
    .hero__form .consent__text {
      margin: 0;
      max-width: none;
      font-size: 12px;
      line-height: 1.4;
      color: var(--muted);
      text-shadow: none;
    }
    .consent__link,
    .hero .consent__link,
    .hero__form .consent__link {
      color: var(--accent-dark);
      text-decoration: underline;
      text-underline-offset: 2px;
      font-weight: 600;
    }
    .consent__link:hover,
    .hero .consent__link:hover,
    .hero__form .consent__link:hover {
      color: var(--accent);
    }
    .form-status {
      font-size: 14px;
      line-height: 1.4;
      min-height: 1.2em;
      margin-top: 4px;
    }
    .form-status--pending { color: #666666; }
    .form-status--success { color: #2f6b3a; font-weight: 600; }
    .form-status--error { color: #a33b3b; font-weight: 600; }
    button:disabled { opacity: 0.7; cursor: wait; transform: none; }

    .trust-list { display: grid; gap: 12px; }
    .trust-item {
      display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: 16px;
      background: rgba(201,154,46,0.06); border: 1px solid rgba(201,154,46,0.1);
    }
    .trust-item__icon {
      min-width: 34px; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
      background: rgba(201,154,46,0.14); color: #8f691b; font-weight: 700;
    }

    .features__grid {
      display: grid;
      grid-template-columns: 0.95fr 1.05fr;
      gap: 18px;
      align-items: start;
    }
    .feature-card {
      border-radius: var(--radius-xl);
      padding: 30px;
      display: flex;
      flex-direction: column;
      gap: 14px;
      height: 100%;
    }
    .feature-card--tall { min-height: 100%; }
    .feature-card h3 { font-size: 26px; margin-bottom: 10px; line-height: 1.15; }
    .feature-card p { color: var(--muted); margin-bottom: 0; }
    .feature-card strong {
      display: inline-block; margin-bottom: 16px; font-size: 14px; padding: 8px 12px; border-radius: 999px;
      background: rgba(201,154,46,0.1); color: #8b681c;
    }

    .services__grid {
      display: grid;
      grid-template-columns: 1.15fr 0.85fr 1fr;
      gap: 20px;
      margin-bottom: 28px;
      align-items: stretch;
    }
    .service-card {
      border-radius: var(--radius-lg);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      background: rgba(255,255,255,0.96);
    }

    .service-card img {
      width: 100%;
      display: block;
    }

    .service-card__body {
      padding: 24px;
      display: flex;
      flex-direction: column;
      gap: 12px;
      flex: 1;
      justify-content: space-between;
    }

    .service-card__content {
      display: grid;
      gap: 12px;
      align-content: start;
    }

    .service-card h3 {
      font-size: 24px;
      margin-bottom: 0;
      line-height: 1.15;
    }

    .service-card p {
      color: var(--muted);
      margin-bottom: 0;
    }

    .service-card .btn {
      align-self: flex-start;
      margin-top: 4px;
    }

    .services__grid .service-card:first-child {
      grid-row: span 2;
    }

    .services__grid .service-card:first-child img {
      min-height: 320px;
      object-fit: cover;
    }

    .services__grid .service-card:nth-child(2) img,
    .services__grid .service-card:nth-child(3) img {
      min-height: 220px;
      object-fit: cover;
    }
    .service-card__body { padding: 22px; }
    .service-card h3 { font-size: 24px; margin-bottom: 10px; }
    .service-card p { color: var(--muted); margin-bottom: 18px; }
    .service-card__meta {
      display: inline-flex; padding: 8px 12px; border-radius: 999px; background: rgba(201,154,46,0.1); color: #8b681c; font-size: 13px; margin-bottom: 14px;
    }

    .services__cta, .contacts__grid {
      display: grid;
      grid-template-columns: 0.9fr 1.1fr;
      gap: 20px;
      align-items: start;
    }

    .contact-grid-list { display: grid; gap: 12px; }
    .contact-row {
      padding: 14px 16px; border-radius: 16px; background: rgba(201,154,46,0.05); border: 1px solid rgba(201,154,46,0.08);
    }
    .contact-row strong { display: block; margin-bottom: 4px; }

    .footer { padding: 30px 0 90px; color: var(--muted); font-size: 14px; }
    .footer__inner { display: flex; justify-content: space-between; gap: 18px; padding-top: 24px; border-top: 1px solid rgba(16,16,16,0.08); }
    .footer a {
      color: var(--muted);
      text-decoration: underline;
      text-underline-offset: 2px;
      transition: color .2s ease;
    }
    .footer a:hover { color: var(--accent-dark); }

    .cookies {
      position: fixed;
      right: 22px;
      bottom: 22px;
      left: auto;
      z-index: 80;
      width: min(460px, calc(100% - 24px));
      max-width: 460px;
    }
    .cookies__toggle { display: none; }
    .cookies__box {
      background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(250,246,236,0.98) 100%);
      border: 1px solid rgba(201,154,46,0.22);
      box-shadow: 0 18px 40px rgba(0,0,0,0.16);
      border-radius: 18px;
      padding: 18px 18px 16px;
      display: block;
    }
    .cookies__box p {
      color: #4f4f4f;
      font-size: 14px;
      line-height: 1.45;
      margin-bottom: 14px;
      max-width: none;
    }
    .cookies__actions {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }
    .cookies__close {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      padding: 10px 18px;
      border-radius: 999px;
      border: 1px solid rgba(16,16,16,0.1);
      cursor: pointer;
      background: rgba(16,16,16,0.03);
      font-weight: 700;
      color: #1c1c1c;
    }
    .cookies__toggle:checked + .cookies__box { display: none; }

    @media (max-width: 1120px) {
      .hero__grid, .features__grid, .services__grid, .services__cta, .contacts__grid { grid-template-columns: 1fr 1fr; }
      .services__grid .service-card:first-child { grid-row: auto; }
      .nav { display: none; }
      .hero__content { min-height: 560px; }
      .hero__form { top: 0; }
    }

    @media (max-width: 760px) {
      .section { padding: 60px 0; }
      .header__inner, .hero__grid, .hero__stats, .features__grid, .services__grid, .services__cta, .contacts__grid, .footer__inner {
        display: grid; grid-template-columns: 1fr;
      }
      .header__inner { padding: 12px 0; }
      .header__contact { display: none; }
      .hero__content, .hero__form, .feature-card, .service-card__body, .cta-card, .contact-card { padding: 22px; }
      .hero__content { min-height: 520px; }
      .hero h1 { font-size: 40px; }
      .section-subtitle { font-size: 16px; }
      .cookies {
        left: 12px;
        right: 12px;
        bottom: 12px;
        width: auto;
        max-width: none;
      }
      .cookies__box { padding: 14px; }
    }
