
    .snt-faq {
      --snt-faq-purple: #37003a;
      --snt-faq-purple-light: #600964;
      --snt-faq-red: #b5121b;
      --snt-faq-ink: #211629;
      --snt-faq-muted: #6b6170;
      --snt-faq-line: #e7dfea;
      --snt-faq-soft: #fbf9fc;
      --snt-faq-white: #ffffff;

      position: relative;
      overflow: hidden;
      box-sizing: border-box;
      width: 100%;
      padding: 88px 32px;
      background:
        radial-gradient(circle at 92% 8%, rgba(55, 0, 58, 0.045), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fbf9fc 100%);
      color: var(--snt-faq-ink);
      font-family: inherit;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    .snt-faq *,
    .snt-faq *::before,
    .snt-faq *::after {
      box-sizing: border-box;
    }

    .snt-faq__shell {
      width: 100%;
      max-width: 1180px;
      margin: 0 auto;
    }

    .snt-faq__header {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(280px, 480px);
      gap: 36px 72px;
      align-items: end;
      margin-bottom: 46px;
      padding-bottom: 34px;
      border-bottom: 1px solid var(--snt-faq-line);
    }

    .snt-faq__eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 16px;
      color: var(--snt-faq-purple);
      font-size: 12px;
      font-weight: 700;
      line-height: 1;
      letter-spacing: 0.18em;
      text-transform: uppercase;
    }

    .snt-faq__eyebrow-line {
      position: relative;
      display: inline-block;
      width: 38px;
      height: 2px;
      overflow: hidden;
      background: rgba(55, 0, 58, 0.14);
    }

    .snt-faq__eyebrow-line::after {
      content: "";
      position: absolute;
      inset: 0;
      background: var(--snt-faq-red);
      transform: translateX(-100%);
      animation: sntFaqEyebrowLine 3.2s ease-in-out infinite;
    }

    .snt-faq__title {
      max-width: 720px;
      margin: 0;
      color: var(--snt-faq-purple);
      font-size: clamp(34px, 4.4vw, 58px);
      font-weight: 700;
      line-height: 1.08;
      letter-spacing: -0.035em;
    }

    .snt-faq__intro {
      max-width: 480px;
      margin: 0;
      color: var(--snt-faq-muted);
      font-size: 16px;
      line-height: 1.8;
    }

    .snt-faq__list {
      display: grid;
      gap: 0;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .snt-faq__item {
      position: relative;
      display: grid;
      grid-template-columns: 76px minmax(0, 1fr);
      gap: 24px;
      padding: 32px 30px 32px 0;
      border-top: 1px solid var(--snt-faq-line);
      isolation: isolate;
      transition:
        transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1),
        background-color 0.45s ease,
        border-color 0.45s ease;
    }

    .snt-faq__item:last-child {
      border-bottom: 1px solid var(--snt-faq-line);
    }

    .snt-faq__item::before {
      content: "";
      position: absolute;
      top: 0;
      left: -1px;
      z-index: -1;
      width: 2px;
      height: 0;
      background: linear-gradient(
        180deg,
        var(--snt-faq-red) 0%,
        var(--snt-faq-purple) 100%
      );
      transition: height 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    .snt-faq__item::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      opacity: 0;
      background: linear-gradient(
        90deg,
        rgba(55, 0, 58, 0.05) 0%,
        rgba(55, 0, 58, 0.018) 48%,
        transparent 100%
      );
      transition: opacity 0.45s ease;
    }

    .snt-faq__item:hover::before,
    .snt-faq__item:focus-within::before {
      height: 100%;
    }

    .snt-faq__item:hover::after,
    .snt-faq__item:focus-within::after {
      opacity: 1;
    }

    .snt-faq__number {
      position: relative;
      display: block;
      padding: 3px 0 0 28px;
      color: rgba(55, 0, 58, 0.58);
      font-size: 13px;
      font-weight: 700;
      line-height: 1;
      letter-spacing: 0.14em;
      transition: color 0.35s ease;
    }

    .snt-faq__number::before {
      content: "";
      position: absolute;
      top: 7px;
      left: 0;
      width: 9px;
      height: 9px;
      border: 1px solid rgba(55, 0, 58, 0.5);
      border-radius: 50%;
      background: transparent;
      transition:
        transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1),
        background-color 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease;
    }

    .snt-faq__number::after {
      content: "";
      position: absolute;
      top: 2px;
      left: -5px;
      width: 19px;
      height: 19px;
      border: 1px solid rgba(55, 0, 58, 0.34);
      border-radius: 50%;
      opacity: 0;
      transform: scale(0.55);
      transition:
        opacity 0.45s ease,
        transform 0.55s cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    .snt-faq__item:hover .snt-faq__number,
    .snt-faq__item:focus-within .snt-faq__number {
      color: var(--snt-faq-purple);
    }

    .snt-faq__item:hover .snt-faq__number::before,
    .snt-faq__item:focus-within .snt-faq__number::before {
      background: var(--snt-faq-purple);
      border-color: var(--snt-faq-purple);
      transform: scale(1.08);
      box-shadow: 0 0 0 5px rgba(55, 0, 58, 0.08);
    }

    .snt-faq__item:hover .snt-faq__number::after,
    .snt-faq__item:focus-within .snt-faq__number::after {
      opacity: 1;
      transform: scale(1.42);
    }

    .snt-faq__content {
      min-width: 0;
      transform: translateX(0);
      transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    .snt-faq__item:hover .snt-faq__content,
    .snt-faq__item:focus-within .snt-faq__content {
      transform: translateX(6px);
    }

    .snt-faq__question {
      position: relative;
      margin: 0;
      color: var(--snt-faq-ink);
      font-size: clamp(18px, 1.8vw, 22px);
      font-weight: 700;
      line-height: 1.45;
      letter-spacing: -0.018em;
      transition: color 0.35s ease;
    }

    .snt-faq__question::after {
      content: "";
      display: block;
      width: 42px;
      height: 2px;
      margin-top: 11px;
      background: var(--snt-faq-red);
      opacity: 0.9;
      transform: scaleX(0);
      transform-origin: left center;
      transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    .snt-faq__item:hover .snt-faq__question,
    .snt-faq__item:focus-within .snt-faq__question {
      color: var(--snt-faq-purple);
    }

    .snt-faq__item:hover .snt-faq__question::after,
    .snt-faq__item:focus-within .snt-faq__question::after {
      transform: scaleX(1);
    }

    .snt-faq__answer {
      max-width: 980px;
      margin-top: 15px;
      color: var(--snt-faq-muted);
      font-size: 15.5px;
      line-height: 1.85;
    }

    .snt-faq__answer p {
      margin: 0;
    }

    .snt-faq__answer p + p,
    .snt-faq__answer p + ul,
    .snt-faq__answer ul + p {
      margin-top: 14px;
    }

    .snt-faq__bullets {
      display: grid;
      gap: 10px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .snt-faq__bullets li {
      position: relative;
      margin: 0;
      padding-left: 20px;
    }

    .snt-faq__bullets li::before {
      content: "";
      position: absolute;
      top: 0.76em;
      left: 0;
      width: 6px;
      height: 6px;
      border: 1px solid rgba(181, 18, 27, 0.65);
      border-radius: 50%;
      background: transparent;
      transition:
        transform 0.35s ease,
        background-color 0.35s ease,
        border-color 0.35s ease;
    }

    .snt-faq__item:hover .snt-faq__bullets li::before,
    .snt-faq__item:focus-within .snt-faq__bullets li::before {
      background: var(--snt-faq-red);
      border-color: var(--snt-faq-red);
      transform: scale(1.16);
    }

    .snt-faq__answer strong {
      color: #3a2d3d;
      font-weight: 700;
    }

    .snt-faq__note {
      display: block;
      margin-top: 14px;
      padding-left: 14px;
      border-left: 2px solid rgba(55, 0, 58, 0.18);
      color: rgba(107, 97, 112, 0.9);
      font-size: 14px;
      line-height: 1.7;
    }

    .snt-faq__contact {
      color: var(--snt-faq-purple);
      font-weight: 700;
      text-decoration: none;
      text-decoration-thickness: 1px;
      text-underline-offset: 4px;
      transition: color 0.3s ease;
    }

    .snt-faq__contact:hover,
    .snt-faq__contact:focus-visible {
      color: var(--snt-faq-red);
    }

    @keyframes sntFaqEyebrowLine {
      0%,
      14% {
        transform: translateX(-100%);
      }

      42%,
      62% {
        transform: translateX(0);
      }

      90%,
      100% {
        transform: translateX(100%);
      }
    }

    @media (max-width: 960px) {
      .snt-faq {
        padding: 72px 24px;
      }

      .snt-faq__header {
        grid-template-columns: 1fr;
        gap: 20px;
      }

      .snt-faq__intro {
        max-width: 680px;
      }

      .snt-faq__item {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 18px;
        padding: 28px 18px 28px 0;
      }
    }

    @media (max-width: 640px) {
      .snt-faq {
        padding: 56px 18px;
      }

      .snt-faq__header {
        margin-bottom: 34px;
        padding-bottom: 26px;
      }

      .snt-faq__title {
        font-size: 34px;
      }

      .snt-faq__intro {
        font-size: 15px;
      }

      .snt-faq__item {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 12px;
        padding: 24px 8px 24px 0;
      }

      .snt-faq__number {
        padding-left: 20px;
        font-size: 11px;
        letter-spacing: 0.08em;
      }

      .snt-faq__number::before {
        top: 6px;
        width: 8px;
        height: 8px;
      }

      .snt-faq__number::after {
        top: 1px;
        left: -5px;
        width: 18px;
        height: 18px;
      }

      .snt-faq__question {
        font-size: 18px;
      }

      .snt-faq__answer {
        font-size: 15px;
        line-height: 1.8;
      }

      .snt-faq__item:hover .snt-faq__content,
      .snt-faq__item:focus-within .snt-faq__content {
        transform: translateX(3px);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .snt-faq *,
      .snt-faq *::before,
      .snt-faq *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }
    }
  