@layer overrides {
  :root {
    --color-base: #f5f5f7;
    --color-base-soft: #fbfbfd;
    --color-line: #d2d2d7;
    --color-line-soft: #ececf0;
    --color-main: #0071e3;
    --color-main-deep: #0066cc;
    --color-main-tint: #eaf4ff;
    --color-accent: #0071e3;
    --color-text: #1d1d1f;
    --color-text-soft: #515154;
    --color-text-mute: #86868b;
    --radius-card: 1.75rem;
  }

  html,
  body {
    min-height: 100%;
    letter-spacing: 0;
    background: #f5f5f7;
  }

  .bg-paper {
    background:
      radial-gradient(circle at 50% 0%, rgba(255,255,255,.96), rgba(255,255,255,0) 42%),
      linear-gradient(180deg, #fbfbfd 0%, #f5f5f7 34%, #f5f5f7 100%);
  }

  .shadow-card,
  .shadow-card-hover {
    box-shadow: none;
  }

  .flex-1.flex.items-center.justify-center {
    align-items: center;
    padding-top: clamp(34px, 7vw, 92px);
    padding-bottom: clamp(34px, 7vw, 92px);
  }

  .flex-1.flex.items-center.justify-center > .w-full.max-w-2xl {
    max-width: 1120px;
  }

  .text-center.space-y-8,
  .text-center.space-y-10 {
    position: relative;
    max-width: 980px;
    margin-inline: auto;
    padding: clamp(30px, 5.6vw, 76px) clamp(18px, 4.5vw, 64px);
    border: 0;
    border-radius: 34px;
    background:
      radial-gradient(circle at 50% 15%, rgba(255,255,255,1), rgba(255,255,255,.72) 46%, rgba(255,255,255,0) 68%),
      linear-gradient(180deg, #ffffff 0%, #fbfbfd 100%);
    overflow: hidden;
  }

  .text-center.space-y-8::before,
  .text-center.space-y-10::before {
    content: "";
    display: block;
    width: min(440px, 70vw);
    aspect-ratio: 2.9 / 1;
    margin: 0 auto clamp(18px, 3vw, 30px);
    border-radius: 999px;
    background:
      radial-gradient(ellipse at 18% 50%, rgba(255,255,255,1) 0 20%, transparent 21%),
      radial-gradient(ellipse at 82% 50%, rgba(255,255,255,1) 0 20%, transparent 21%),
      linear-gradient(90deg, #eef0f4, #ffffff 36%, #ffffff 64%, #eef0f4);
    box-shadow:
      inset 0 0 0 1px rgba(210,210,215,.62),
      0 34px 80px rgba(0,0,0,.08);
  }

  .text-center.space-y-8::after,
  .text-center.space-y-10::after {
    content: "";
    position: absolute;
    left: 50%;
    top: clamp(38px, 7vw, 86px);
    width: min(390px, 62vw);
    aspect-ratio: 2.9 / 1;
    transform: translateX(-50%);
    border-radius: 999px;
    background:
      radial-gradient(circle at 28% 42%, rgba(0,113,227,.15), transparent 18%),
      radial-gradient(circle at 72% 44%, rgba(0,113,227,.12), transparent 17%);
    filter: blur(28px);
    pointer-events: none;
  }

  .text-center.space-y-8 > *,
  .text-center.space-y-10 > * {
    position: relative;
    z-index: 1;
  }

  .inline-flex.rounded-full.bg-white.border.border-line {
    border-color: rgba(0,0,0,.08);
    background: rgba(255,255,255,.78);
    color: #1d1d1f;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }

  h1.font-serif {
    font-family: var(--font-sans);
    max-width: 880px;
    margin-inline: auto;
    color: #1d1d1f;
    font-size: clamp(2.85rem, 7.4vw, 6.15rem);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.04em;
  }

  .text-text-soft.leading-\[1\.9\] {
    max-width: 690px;
    font-size: clamp(17px, 1.75vw, 22px);
    font-weight: 600;
    line-height: 1.45;
    color: #515154;
  }

  .grid.grid-cols-3 {
    max-width: 720px;
    gap: 14px;
  }

  .grid.grid-cols-3 > .bg-white {
    min-height: 96px;
    border: 0;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(0,0,0,.045);
    transition: transform .24s ease, box-shadow .24s ease;
  }

  .grid.grid-cols-3 > .bg-white:hover {
    transform: translateY(-4px);
    box-shadow: 0 26px 62px rgba(0,0,0,.08);
  }

  .grid.grid-cols-3 .bg-main-tint {
    background: #f5f5f7;
    color: #0071e3;
  }

  button.bg-main,
  .bg-main.text-white {
    background: #0071e3;
  }

  button.bg-main:hover {
    background: #0077ed;
  }

  .inline-flex.items-center.justify-center.rounded-full.font-medium {
    min-height: 56px;
    border-radius: 999px;
    font-weight: 700;
    box-shadow: none;
  }

  .text-xs.text-text-mute {
    color: #86868b;
  }

  .flex-1.flex.flex-col {
    background: #f5f5f7;
  }

  .w-full.max-w-2xl.mx-auto.flex-1.flex.flex-col {
    max-width: 860px;
  }

  .mb-6.sm\:mb-8.space-y-3 {
    margin-bottom: 18px;
  }

  .mb-6.sm\:mb-8.space-y-3 > .flex {
    min-height: 44px;
    padding: 0 4px;
  }

  .rounded-\[var\(--radius-card\)\] {
    border: 0;
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 18px 60px rgba(0,0,0,.06);
  }

  .inline-flex.items-center.gap-2.text-\[11px\].tracking-\[0\.2em\] {
    color: #86868b;
  }

  .inline-block.h-px.w-6.bg-accent {
    background: #d2d2d7;
  }

  h2.text-xl,
  h2.sm\:text-2xl {
    font-family: var(--font-sans);
    font-size: clamp(2rem, 4.5vw, 4.25rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.035em;
    color: #1d1d1f;
  }

  .rounded-\[var\(--radius-card\)\] p.text-sm {
    max-width: 620px;
    margin-inline: auto;
    color: #6e6e73;
    font-size: 15px;
    line-height: 1.7;
  }

  [role="group"] button[role="checkbox"] {
    border: 0;
    border-radius: 22px;
    background: #f5f5f7;
    min-height: 72px;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.04);
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
  }

  [role="group"] button[role="checkbox"]:hover {
    transform: translateY(-2px);
    background: #fff;
    box-shadow: 0 16px 38px rgba(0,0,0,.06);
  }

  [role="group"] button[aria-checked="true"] {
    background: #eaf4ff;
    box-shadow: inset 0 0 0 2px rgba(0,113,227,.42), 0 18px 40px rgba(0,113,227,.12);
  }

  [role="group"] button[role="checkbox"] .h-6.w-6 {
    width: 28px;
    height: 28px;
    border-color: #d2d2d7;
    background: #fff;
  }

  [role="group"] button[aria-checked="true"] .h-6.w-6 {
    background: #0071e3;
    border-color: #0071e3;
  }

  .h-full.bg-main.rounded-full {
    background: #0071e3;
  }

  .bg-main-tint {
    background: #eaf4ff;
  }

  .border-main,
  .focus\:border-main:focus {
    border-color: #0071e3;
  }

  .text-main,
  .hover\:text-main:hover {
    color: #0071e3;
  }

  textarea {
    min-height: 220px;
    border: 0;
    background: #f5f5f7;
    border-radius: 22px;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.05);
  }

  pre {
    white-space: pre-wrap;
    background: #f5f5f7;
    border: 0;
  }

  details.group,
  section.bg-white,
  .rounded-2xl.border.border-line.bg-base-soft,
  .rounded-2xl.border.p-4 {
    border: 0;
    background: #fff;
    box-shadow: 0 14px 44px rgba(0,0,0,.05);
  }

  @media (max-width: 640px) {
    .flex-1.flex.items-center.justify-center {
      padding: 18px 12px 34px;
    }

    .text-center.space-y-8,
    .text-center.space-y-10 {
      padding: 28px 14px 34px;
      border-radius: 28px;
    }

    .text-center.space-y-8::before,
    .text-center.space-y-10::before {
      width: min(300px, 82vw);
      margin-bottom: 22px;
    }

    h1.font-serif {
      font-size: clamp(2.65rem, 13vw, 3.55rem);
      line-height: 1;
    }

    .text-text-soft.leading-\[1\.9\] {
      font-size: 17px;
      line-height: 1.55;
    }

    .grid.grid-cols-3 > .bg-white {
      min-height: 82px;
      padding-inline: 10px;
    }

    .rounded-\[var\(--radius-card\)\] {
      padding: 28px 16px;
      border-radius: 28px;
    }

    h2.text-xl,
    h2.sm\:text-2xl {
      font-size: 2.15rem;
    }

    [role="group"] button[role="checkbox"] {
      min-height: 68px;
      padding-inline: 18px;
    }
  }
}
