body.page-faq {
      background:
        radial-gradient(circle at 84% 9%, rgba(var(--mint-rgb), 0.14), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #fbfdfb 48%, #f7fbf8 100%);
    }

    body.page-faq main {
      max-width: 1368px;
      padding: 24px 38px 58px;
    }

    .faq-page {
      display: grid;
      gap: 34px;
    }

    .faq-hero {
      display: grid;
      grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
      gap: 56px;
      align-items: center;
      padding: 26px 20px 20px;
    }

    .faq-hero-copy {
      display: grid;
      gap: 24px;
      text-align: left;
    }

    .faq-hero h1 {
      max-width: 12ch;
      font-family: "Manrope", "Segoe UI", sans-serif;
      font-size: clamp(44px, 5vw, 72px);
      line-height: 1.08;
      letter-spacing: 0;
      color: #111820;
    }

    .faq-hero .lead {
      max-width: 54ch;
      color: #4d5b66;
      font-size: clamp(17px, 1.35vw, 20px);
      line-height: 1.7;
    }

    .faq-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 18px;
      margin-top: 10px;
    }

    .faq-actions .button {
      min-width: 205px;
      border-radius: 10px;
      background: #009347;
      color: #ffffff;
      border-color: #009347;
      box-shadow: 0 18px 36px rgba(0, 122, 61, 0.18);
    }

    .faq-actions .button.secondary {
      background: #ffffff;
      color: #007a3d;
      border-color: rgba(0, 122, 61, 0.44);
      box-shadow: none;
    }

    .faq-visual {
      position: relative;
      min-height: 396px;
      border-radius: 14px;
      overflow: hidden;
      background:
        radial-gradient(circle at 88% 18%, rgba(0, 122, 61, 0.12), transparent 26%),
        linear-gradient(135deg, #eef8ef 0%, #ffffff 82%);
      border: 1px solid rgba(0, 122, 61, 0.09);
      box-shadow: 0 22px 48px rgba(17, 24, 32, 0.08);
      isolation: isolate;
    }

    .faq-doctor-card {
      position: absolute;
      left: 38px;
      top: 52px;
      width: min(390px, 58%);
      aspect-ratio: 16 / 9;
      border-radius: 16px;
      overflow: hidden;
      border: 10px solid #141c25;
      box-shadow: 0 24px 44px rgba(17, 24, 32, 0.16);
      background: #dfeee4;
    }

    .faq-doctor-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 18%;
    }

    .faq-device {
      position: absolute;
      left: 39%;
      bottom: 28px;
      z-index: 2;
      width: min(330px, 43%);
      filter: drop-shadow(0 24px 26px rgba(17, 24, 32, 0.18));
    }

    .faq-shield {
      position: absolute;
      top: 220px;
      left: 78px;
      z-index: 2;
      width: 96px;
      height: 116px;
      display: grid;
      place-items: center;
      color: #ffffff;
      filter: drop-shadow(0 16px 22px rgba(0, 122, 61, 0.22));
    }

    .faq-essential-card {
      position: absolute;
      top: 0;
      right: 0;
      z-index: 3;
      width: min(240px, 36%);
      padding: 24px;
      border-radius: 20px;
      background: rgba(255, 255, 255, 0.94);
      border: 1px solid rgba(17, 24, 32, 0.08);
      box-shadow: 0 24px 46px rgba(17, 24, 32, 0.14);
      text-align: left;
    }

    .faq-essential-card h3 {
      color: #007a3d;
      font-size: 24px;
      letter-spacing: -0.04em;
      margin-bottom: 14px;
    }

    .faq-check-list,
    .faq-panel-list,
    .faq-assurance-list {
      display: grid;
      gap: 10px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .faq-check-list li,
    .faq-panel-list li {
      display: grid;
      grid-template-columns: 19px minmax(0, 1fr);
      gap: 9px;
      color: #33424d;
      font-weight: 700;
      line-height: 1.42;
    }

    .faq-check-list li::before,
    .faq-panel-list li::before {
      content: "\2713";
      width: 18px;
      height: 18px;
      display: grid;
      place-items: center;
      border-radius: 999px;
      background: #009347;
      color: #ffffff;
      font-size: 11px;
      font-weight: 900;
      margin-top: 1px;
    }

    .faq-section-title {
      text-align: center;
      font-family: "Manrope", "Segoe UI", sans-serif;
      font-size: clamp(26px, 2.7vw, 38px);
      line-height: 1.12;
      letter-spacing: 0;
      color: #111820;
    }

    .faq-key-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 26px 42px;
      padding: 0 16px;
    }

    .faq-key-card {
      display: grid;
      grid-template-columns: 78px minmax(0, 1fr);
      gap: 22px;
      align-items: center;
      min-height: 124px;
      padding: 22px 28px;
      border-radius: 14px;
      border: 1px solid rgba(17, 24, 32, 0.09);
      background: rgba(255, 255, 255, 0.96);
      box-shadow: 0 16px 32px rgba(17, 24, 32, 0.08);
      text-align: left;
    }

    .faq-icon {
      width: 58px;
      height: 58px;
      color: #00863f;
      flex: 0 0 auto;
    }

    .faq-icon-img {
      display: block;
      object-fit: contain;
    }

    .faq-key-card h3 {
      font-size: 18px;
      line-height: 1.35;
      letter-spacing: 0;
    }

    .faq-accordion-card {
      padding: 22px;
      border-radius: 16px;
      border: 1px solid rgba(17, 24, 32, 0.1);
      background: #ffffff;
      box-shadow: 0 18px 38px rgba(17, 24, 32, 0.08);
    }

    .faq-tabs {
      display: flex;
      flex-wrap: nowrap;
      gap: 10px;
      justify-content: space-between;
      margin-bottom: 18px;
    }

    .faq-tab {
      appearance: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 42px;
      padding: 10px 16px;
      border-radius: 999px;
      border: 1px solid rgba(17, 24, 32, 0.1);
      background: #ffffff;
      color: #5a6772;
      font: inherit;
      font-size: 13px;
      line-height: 1.2;
      font-weight: 800;
      text-align: center;
      white-space: nowrap;
      cursor: pointer;
      transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
    }

    .faq-tab:hover,
    .faq-tab:focus-visible {
      border-color: rgba(0, 147, 71, 0.42);
      color: #007a3d;
      box-shadow: 0 10px 22px rgba(0, 122, 61, 0.08);
      outline: none;
    }

    .faq-tab.is-active {
      background: #009347;
      border-color: #009347;
      color: #ffffff;
      box-shadow: 0 12px 24px rgba(0, 122, 61, 0.16);
    }

    .faq-category-panel[hidden] {
      display: none;
    }

    .faq-list {
      display: grid;
      gap: 0;
      border-radius: 14px;
      overflow: hidden;
      border: 1px solid rgba(17, 24, 32, 0.08);
    }

    .faq-list details {
      border: 0;
      border-bottom: 1px solid rgba(17, 24, 32, 0.08);
      background: #ffffff;
      box-shadow: none;
    }

    .faq-list details:last-child {
      border-bottom: none;
    }

    .faq-list summary {
      position: relative;
      display: grid;
      grid-template-columns: 58px minmax(0, 1fr) 28px;
      gap: 20px;
      align-items: center;
      min-height: 82px;
      padding: 18px 24px;
      cursor: pointer;
      list-style: none;
      font-size: 18px;
      font-weight: 900;
      line-height: 1.34;
      color: #111820;
    }

    .faq-list summary::-webkit-details-marker {
      display: none;
    }

    .faq-list summary::after {
      content: "\203A";
      justify-self: center;
      transform: rotate(90deg);
      color: #1f2b35;
      font-size: 22px;
      transition: transform 0.18s ease;
    }

    .faq-list details[open] summary::after {
      transform: rotate(-90deg);
    }

    .faq-row-icon {
      width: 46px;
      height: 46px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      background: rgba(0, 147, 71, 0.09);
      color: #00863f;
    }

    .faq-row-icon svg {
      width: 28px;
      height: 28px;
    }

    .faq-row-icon img {
      width: 30px;
      height: 30px;
      object-fit: contain;
    }

    .faq-list details p {
      margin: 0 76px 0 104px;
      padding: 0 0 26px;
      color: #53616d;
      font-size: 16px;
      line-height: 1.72;
    }

    .faq-panels {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 38px;
    }

    .faq-info-panel {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 150px;
      gap: 26px;
      align-items: center;
      min-height: 244px;
      padding: 34px 38px;
      border-radius: 14px;
      border: 1px solid rgba(0, 147, 71, 0.18);
      background:
        radial-gradient(circle at 86% 55%, rgba(0, 147, 71, 0.11), transparent 28%),
        linear-gradient(135deg, #f5fbf6 0%, #ffffff 100%);
      text-align: left;
    }

    .faq-info-panel[data-tone="red"] {
      border-color: rgba(217, 44, 44, 0.2);
      background:
        radial-gradient(circle at 86% 55%, rgba(217, 44, 44, 0.1), transparent 28%),
        linear-gradient(135deg, #fff6f6 0%, #ffffff 100%);
    }

    .faq-info-panel h3 {
      color: #00863f;
      font-size: 22px;
      letter-spacing: 0;
      margin-bottom: 16px;
    }

    .faq-info-panel[data-tone="red"] h3,
    .faq-info-panel[data-tone="red"] .faq-panel-list li::before,
    .faq-info-panel[data-tone="red"] .faq-panel-illustration {
      color: #d92c2c;
    }

    .faq-info-panel[data-tone="red"] .faq-panel-list li::before {
      content: "!";
      background: #d92c2c;
    }

    .faq-panel-illustration {
      width: 142px;
      height: 142px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      color: #00863f;
      background: rgba(255, 255, 255, 0.58);
      border: 1px solid rgba(0, 147, 71, 0.12);
    }

    .faq-panel-illustration svg {
      width: 84px;
      height: 84px;
    }

    .faq-note {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 12px;
      padding: 12px 18px;
      border-radius: 10px;
      border: 1px solid rgba(17, 24, 32, 0.08);
      background: #ffffff;
      color: #697783;
      font-weight: 700;
      text-align: center;
    }

    .faq-note span[aria-hidden="true"] {
      width: 22px;
      height: 22px;
      display: inline-grid;
      place-items: center;
      border-radius: 999px;
      border: 1px solid rgba(17, 24, 32, 0.12);
      color: #007a3d;
      font-weight: 900;
      font-size: 13px;
      flex: 0 0 auto;
    }

    .faq-final-cta {
      display: grid;
      gap: 26px;
      justify-items: center;
      padding: 42px 44px 30px;
      border-radius: 14px;
      background:
        radial-gradient(circle at 88% 20%, rgba(0, 147, 71, 0.12), transparent 28%),
        linear-gradient(135deg, #f0f8f1 0%, #ffffff 100%);
      border: 1px solid rgba(0, 147, 71, 0.1);
      text-align: center;
    }

    .faq-final-cta > div:first-child {
      display: grid;
      gap: 10px;
      justify-items: center;
      max-width: 760px;
    }

    .faq-final-cta h2 {
      font-family: "Manrope", "Segoe UI", sans-serif;
      font-size: clamp(30px, 3vw, 42px);
      line-height: 1.12;
      letter-spacing: 0;
      margin: 0;
    }

    .faq-final-cta p {
      color: #53616d;
      font-size: 18px;
      line-height: 1.45;
      margin: 0;
    }

    .faq-assurance-list {
      width: 100%;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0;
      margin-top: 0;
      padding: 24px 0 0;
      border-top: 1px solid rgba(0, 147, 71, 0.12);
    }

    .faq-assurance-list li {
      display: grid;
      grid-template-columns: 58px minmax(0, 1fr);
      gap: 16px;
      align-items: center;
      min-width: 0;
      padding: 0 26px;
      border-right: 1px solid rgba(17, 24, 32, 0.09);
      text-align: left;
    }

    .faq-assurance-list li:last-child {
      border-right: none;
    }

    .faq-assurance-list strong,
    .faq-assurance-list span {
      display: block;
    }

    .faq-assurance-list strong {
      color: #111820;
      line-height: 1.2;
      margin-bottom: 4px;
    }

    .faq-assurance-list span {
      color: #63717c;
      font-size: 13px;
      line-height: 1.42;
    }

    .faq-assurance-list .faq-icon {
      width: 52px;
      height: 52px;
    }

    @media (max-width: 1080px) {
      .faq-hero,
      .faq-panels {
        grid-template-columns: 1fr;
      }

      .faq-hero-copy {
        justify-items: center;
        text-align: center;
      }

      .faq-hero h1,
      .faq-hero .lead {
        max-width: 760px;
      }

      .faq-actions {
        justify-content: center;
      }

      .faq-tabs {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 12px;
      }

      .faq-tab {
        font-size: 14px;
        padding: 10px 18px;
      }

      .faq-key-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .faq-assurance-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px 0;
      }

      .faq-assurance-list li:nth-child(2n) {
        border-right: none;
      }
    }

    @media (max-width: 700px) {
      body.page-faq main {
        padding: 20px 18px 44px;
      }

      .faq-hero {
        padding: 12px 0;
      }

      .faq-visual {
        min-height: 500px;
      }

      .faq-doctor-card {
        left: 18px;
        top: 28px;
        width: calc(100% - 36px);
      }

      .faq-device {
        left: 22px;
        bottom: 152px;
        width: 48%;
      }

      .faq-shield {
        top: 250px;
        left: 28px;
        right: auto;
      }

      .faq-essential-card {
        top: auto;
        left: 18px;
        right: 18px;
        bottom: 18px;
        width: auto;
      }

      .faq-key-grid,
      .faq-panels,
      .faq-assurance-list {
        grid-template-columns: 1fr;
      }

      .faq-key-card {
        grid-template-columns: 58px minmax(0, 1fr);
        padding: 20px;
      }

      .faq-list summary {
        grid-template-columns: 46px minmax(0, 1fr) 24px;
        gap: 14px;
        min-height: 76px;
        padding: 16px;
        font-size: 16px;
      }

      .faq-list details p {
        margin: 0 18px 0 76px;
        padding-bottom: 20px;
      }

      .faq-info-panel {
        grid-template-columns: 1fr;
        padding: 26px;
      }

      .faq-panel-illustration {
        justify-self: center;
      }

      .faq-assurance-list li,
      .faq-assurance-list li:nth-child(2) {
        border-right: none;
        padding: 0 4px;
      }

      .faq-final-cta {
        padding: 30px 20px 24px;
      }

      .faq-final-cta p {
        font-size: 16px;
      }
    }

    @media (max-width: 560px) {
      body.page-faq main {
        padding: 16px 14px 36px;
      }

      .faq-hero h1 {
        max-width: 100%;
        font-size: clamp(34px, 11vw, 42px);
      }

      .faq-actions {
        width: 100%;
        gap: 10px;
      }

      .faq-tabs {
        gap: 10px;
      }

      .faq-tab {
        width: 100%;
        white-space: normal;
      }

      .faq-actions .button {
        width: 100%;
        min-width: 0;
      }

      .faq-visual {
        min-height: 400px;
      }

      .faq-device {
        width: 46%;
        bottom: 132px;
      }

      .faq-key-card,
      .faq-info-panel {
        padding: 18px 14px;
      }

      .faq-list summary {
        padding: 14px 12px;
      }

      .faq-list details p {
        margin: 0 14px 0 64px;
      }
    }
