
    :root {
      --logo-green: #ecf1ec;
      --soft-green: #bdcab7;
      --brand-green: #2fa03a;
      --deep-green: #17331c;
      --text: #26352a;
      --muted: #607064;
      --white: #ffffff;
      --line: rgba(23, 51, 28, 0.14);
      --page-bg: #f8faf8;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      background: var(--page-bg);
      color: var(--text);
      font-family: "Montserrat-Regular", Arial, sans-serif;
      line-height: 1.7;
    }

    .faq-page {
      width: min(1180px, calc(100% - 40px));
      margin: 0 auto;
      padding: 72px 0 96px;
    }

    .faq-header {
      display: grid;
      grid-template-columns: 0.9fr 1.6fr;
      gap: 48px;
      align-items: end;
      margin-bottom: 48px;
      padding: 34px;
      background: var(--soft-green);
      border: 1px solid rgba(23, 51, 28, 0.1);
    }

    .faq-brand {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 22px;
      color: var(--deep-green);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }

    .faq-brand-mark {
      width: 34px;
      height: 34px;
      display: inline-grid;
      place-items: center;
      background: var(--logo-green);
      color: var(--brand-green);
      border: 1px solid rgba(23, 51, 28, 0.16);
      font-size: 12px;
      font-weight: 800;
    }

    .faq-kicker {
      margin: 0 0 10px;
      color: var(--brand-green);
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }

    .faq-title {
      max-width: 680px;
      margin: 0;
      color: var(--deep-green);
      font-size: clamp(38px, 5vw, 70px);
      line-height: 1.04;
      letter-spacing: -0.03em;
    }

    .faq-intro {
      max-width: 620px;
      margin: 0;
      color: var(--deep-green);
      font-size: 17px;
    }

    .faq-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }

    .faq-card {
      position: relative;
      min-height: 270px;
      overflow: hidden;
      padding: 28px 28px 30px;
      background: var(--logo-green);
      border: 1px solid var(--line);
      transition:
        transform 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease,
        background-color 220ms ease;
    }

    .faq-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 4px;
      background: var(--brand-green);
      transition: width 260ms ease;
    }

    .faq-card:hover,
    .faq-card:focus-within {
      transform: translateY(-6px);
      background: var(--white);
      border-color: var(--brand-green);
      box-shadow: 0 16px 34px rgba(23, 51, 28, 0.12);
    }

    .faq-card:hover::before,
    .faq-card:focus-within::before {
      width: 100%;
    }

    .faq-card:focus-visible {
      outline: 3px solid rgba(47, 160, 58, 0.35);
      outline-offset: 4px;
    }

    .faq-card-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 22px;
    }

    .faq-index {
      display: inline-grid;
      place-items: center;
      width: 43px;
      height: 43px;
      flex: 0 0 43px;
      background: var(--soft-green);
      color: var(--deep-green);
      font-size: 13px;
      font-weight: 800;
      transition:
        transform 220ms ease,
        background-color 220ms ease,
        color 220ms ease;
    }

    .faq-card:hover .faq-index,
    .faq-card:focus-within .faq-index {
      transform: translateY(-3px) rotate(-7deg);
      background: var(--brand-green);
      color: var(--white);
    }

    .faq-arrow {
      color: var(--brand-green);
      font-size: 25px;
      line-height: 1;
      opacity: 0.55;
      transition:
        transform 220ms ease,
        opacity 220ms ease;
    }

    .faq-card:hover .faq-arrow,
    .faq-card:focus-within .faq-arrow {
      transform: translate(4px, -4px);
      opacity: 1;
    }

    .faq-question {
      margin: 0 0 14px;
      color: var(--brand-green);
      font-size: 21px;
      line-height: 1.3;
    }

    .faq-answer {
      margin: 0;
      color: var(--muted);
      font-size: 15px;
    }

    .faq-footer {
      display: flex;
      justify-content: space-between;
      gap: 24px;
      margin-top: 42px;
      padding-top: 22px;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-size: 14px;
    }

    .faq-footer strong {
      color: var(--deep-green);
    }

    @media (max-width: 820px) {
      .faq-page {
        width: min(100% - 28px, 680px);
        padding: 38px 0 60px;
      }

      .faq-header {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 26px;
      }

      .faq-list {
        grid-template-columns: 1fr;
      }

      .faq-card {
        min-height: auto;
      }

      .faq-footer {
        display: block;
      }

      .faq-footer p {
        margin: 6px 0;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      *,
      *::before,
      *::after {
        transition-duration: 0.01ms !important;
      }
    }
  