/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/landing/Footer.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.Footer_footer__LQHwI {
  content-visibility: auto;
  contain-intrinsic-size: auto 760px;
  width: 100%;
  background: var(--theme-bg);
  padding: var(--margin);
  transition: background-color 0.4s ease;
}

.Footer_container__9VfQF {
  display: flex;
  gap: 40px;
  max-width: var(--content-max-width);
  margin: 0 auto;
}

/* ─── Brand panel (flowers + Caddy logo) ─── */

.Footer_brandPanel__pYOab {
  position: relative;
  flex: 1 1;
  min-height: 326px;
  border-radius: 8px;
  overflow: hidden;
  background: #d35050;
  display: flex;
  align-items: center;
  justify-content: center;
}

.Footer_flowers__LdF1W {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.Footer_logo__5Tyzx {
  /* 424 / 640 of the panel — capped at the design size on wide screens. */
  position: relative;
  z-index: 1;
  width: 66.25%;
  max-width: 424px;
  height: auto;
}

/* ─── Links panel ─── */

.Footer_links__CJ4HL {
  flex: 1 1;
  min-height: 326px;
  background: var(--theme-surface);
  border-radius: 8px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 32px;
  transition: background-color 0.4s ease;
}

.Footer_linkGroup__iw6PT {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}

.Footer_label__aZCJi {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: var(--font-p1-size);
  line-height: var(--font-p1-lh);
  letter-spacing: var(--font-p1-tracking);
  color: var(--theme-footer-text-muted);
}

.Footer_buttonRow__U4c3R {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.Footer_learnMoreRow__PW33B {
  column-gap: 12px;
}

.Footer_arrow__3_R2o {
  width: 9.375px;
  height: 9.375px;
  flex-shrink: 0;
}

/* ─── Mobile (Figma node 6613:48085) ─── */

@media (max-width: 899.98px) {
  .Footer_footer__LQHwI {
    padding: 30px;
  }

  /* Mobile stacks links on top, brand panel below. In a column the base
     `flex: 1` (flex-basis: 0%) would override the panels' heights on the
     main axis, so reset to content/explicit sizing. */
  .Footer_container__9VfQF {
    flex-direction: column-reverse;
    gap: 20px;
  }

  .Footer_brandPanel__pYOab {
    flex: none;
    min-height: 0;
    height: 282px;
  }

  .Footer_logo__5Tyzx {
    /* 234 / mobile panel width — capped at the design size. */
    width: 71%;
    max-width: 234px;
  }

  .Footer_links__CJ4HL {
    flex: none;
    min-height: 0;
    padding: 20px;
    gap: 20px;
    justify-content: flex-start;
  }
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/landing/Button.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.Button_button__3UETu {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border-radius: var(--button-radius);
  border: 1.5px solid color-mix(in srgb, var(--theme-text) 10%, transparent);
  box-shadow: var(--button-shadow), var(--button-inset-shadow);
  padding: 6px 18px;
  font-family: var(--font-family);
  font-size: var(--font-p1-size);
  line-height: var(--font-p1-lh);
  letter-spacing: var(--font-p1-tracking);
  font-weight: 400;
  color: var(--theme-cta-text);
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    background-color 0.4s ease,
    color 0.4s ease;
}

.Button_button__3UETu:active {
  transform: scale(0.97);
}

@media (hover: hover) and (pointer: fine) {
  .Button_button__3UETu:hover:not(:disabled):not(:active) {
    transform: translateY(-1px);
  }
}

.Button_button__3UETu:disabled {
  cursor: default;
  opacity: 0.6;
  pointer-events: none;
}

.Button_secondary__eDdbX {
  background: var(--theme-cta-secondary-bg);
  color: var(--theme-cta-secondary-text);
  height: 36px;
  padding: 0 18px;
}

/* Primary action — themed accent pill, secondary's size. */
.Button_primary__P6jcw,
.Button_compactCta__uCBwF {
  background: var(--theme-cta-bg);
  height: 36px;
  padding: 0 18px;
}

.Button_primary__P6jcw {
  color: var(--theme-cta-text);
}

/* Compact CTAs use regular body type, so keep every theme at AA contrast.
   Mono's large CTA uses off-white, while the smaller pill uses black. */
.Button_compactCta__uCBwF {
  color: var(--theme-on-accent);
}

/* Medium action for backgrounds that change color beneath the button. */
.Button_contrastCta__BMdrc {
  height: 50px;
  padding: 0 28px;
  border-color: color-mix(in srgb, var(--color-black) 10%, transparent);
  background: var(--color-off-white);
  color: var(--color-black);
  box-shadow:
    var(--button-shadow),
    inset 0 3px 0 rgba(255, 255, 255, 0.85);
}

.Button_cta__X4zfF {
  background: var(--theme-cta-bg);
  color: var(--theme-cta-text);
  height: 72px;
  padding: 0 28px;
  font-size: var(--font-h3-size);
  line-height: var(--font-h3-lh);
  letter-spacing: var(--font-h3-tracking);
}

/* Mobile CTA matches Figma: H3 mobile type (20/29), 52px tall. */
@media (max-width: 899.98px) {
  .Button_cta__X4zfF {
    height: 52px;
    font-size: 20px;
    line-height: 29px;
    letter-spacing: -0.4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .Button_button__3UETu,
  .Button_button__3UETu:hover,
  .Button_button__3UETu:active {
    transition: none;
    transform: none;
  }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/ui/ColorSwatches.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Color-variant swatch dots — shared between the marketing nav and the
 * signed-in settings page. Ring colors derive from the theme so the active
 * indicator stays visible on every variant; `--swatch-ring-gap` lets a host
 * surface (e.g. a white settings card) match the gap ring to its own bg.
 */

.ColorSwatches_dots__oM5YX {
  --swatch-ring-gap: var(--theme-bg);
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

.ColorSwatches_dot__OXVK3 {
  position: relative;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  flex-shrink: 0;
  border: none;
  padding: 0;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-text) 18%, transparent);
  transition:
    transform 160ms ease,
    box-shadow 160ms ease;
}

/* Expand the touch target to ~44px without changing the visible 14px swatch. */
.ColorSwatches_dot__OXVK3::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 44px;
}

.ColorSwatches_dotActive__JVsyj {
  transform: scale(1.2);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--theme-text) 22%, transparent),
    0 0 0 2px var(--swatch-ring-gap),
    0 0 0 3.5px light-dark(var(--color-grey-700), var(--color-grey-200));
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/landing/Nav.module.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************/
.Nav_nav__VwDLV {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
}

/* Progressive background blur — strongest at the top edge, fading to none at the
   bottom (Figma: PROGRESSIVE background blur, 20px → 0). A single backdrop-blur
   layer masked opaque→transparent cross-fades into the unblurred page below.
   z-index: -1 keeps this and the gradient tint behind the nav content without
   trapping the mobile menu in a new stacking context. */
.Nav_nav__VwDLV::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
  pointer-events: none;
}

/* Soft gradient tint over the blur (per color mode via --theme-nav-bg). */
.Nav_nav__VwDLV::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--theme-nav-bg);
  pointer-events: none;
}

.Nav_container__CBdPG {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 30px var(--margin);
}

.Nav_left__3oiks {
  display: flex;
  align-items: center;
  gap: 10px;
}

.Nav_logoLink__3d_7h {
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-sm);
  color: var(--theme-logo);
  transition: color 0.4s ease;
}

.Nav_right__5et7j {
  display: flex;
  align-items: center;
}

/* Action groups — only one shows per breakpoint. */
.Nav_desktopActions__T4DQ2 {
  display: flex;
  align-items: center;
  gap: 20px;
}

.Nav_desktopUseCases__elpKQ {
  margin-left: 8px;
}

.Nav_mobileActions__R878Z {
  display: none;
  align-items: center;
  gap: 14px;
}

/* Swatch dots come from the shared ColorSwatches component; the mobile row
   just widens the gap between dots. */
.Nav_dotsMobile__hY1wU {
  gap: 10px;
}

/* Text-only login link — same size as the button, regular weight. */
.Nav_loginButton__O7RkU {
  font-family: var(--font-family);
  font-size: var(--font-p1-size);
  line-height: var(--font-p1-lh);
  letter-spacing: var(--font-p1-tracking);
  font-weight: 400;
  color: var(--theme-text);
  cursor: pointer;
  padding: 0 4px;
  transition: opacity 0.15s ease;
}

.Nav_loginButton__O7RkU:hover {
  opacity: 0.7;
}

/* Button shadow override */
.Nav_navButton__llP3i {
  box-shadow:
    0px 2px 4px rgba(0, 0, 0, 0.08),
    inset 0px 3px 0px rgba(255, 255, 255, 0.25);
}

@media (max-width: 899.98px) {
  .Nav_container__CBdPG {
    padding: 24px;
  }

  .Nav_desktopActions__T4DQ2 {
    display: none;
  }

  .Nav_mobileActions__R878Z {
    display: flex;
  }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/landing/MobileMenu.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************/
/* ─── Hamburger trigger (lives inside Nav's mobile-only group) ─── */

.MobileMenu_hamburger__KkdnX {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.MobileMenu_bar__hyxht {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: var(--theme-text);
}

/* ─── Silk top sheet ─── */

.MobileMenu_view__tKzH_ {
  z-index: var(--z-modal);
}

.MobileMenu_backdrop__TBZ3e {
  background-color: #000;
}

.MobileMenu_content__jT1FA.MobileMenu_content__jT1FA {
  position: relative;
  width: 100%;
  /* Silk defaults a sheet to 50% viewport height; let it size to its content. */
  --silk-default-height: auto;
  height: auto;
  max-height: 100dvh;
  /* Silk sets overflow on its content primitive; the sheet itself remains the
     scroll container when expanded content exceeds a short viewport. */
  overflow-y: auto !important;
  overscroll-behavior: contain;
  background: var(--theme-bg);
  border-bottom-left-radius: 28px;
  border-bottom-right-radius: 28px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.14);
  padding: calc(env(safe-area-inset-top, 0px) + 18px) 24px 28px;
}

.MobileMenu_head__4cLkR {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 40px;
  /* The themed Logo paints with currentColor; match Nav's logo so it recolors
     with the variant (accent in mono/orange mode, text otherwise). */
  color: var(--theme-logo);
}

.MobileMenu_close__iltgT {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-right: -8px;
  border-radius: 50%;
  color: var(--theme-text);
  cursor: pointer;
  transition: background 0.15s ease;
}

.MobileMenu_close__iltgT:active {
  background: color-mix(in srgb, var(--theme-text) 6%, transparent);
}

.MobileMenu_srTitle__AVQ2x {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.MobileMenu_links__kev1r {
  display: flex;
  flex-direction: column;
  margin-top: 14px;
}

.MobileMenu_link__tZzSa {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  border-top: 1px solid var(--theme-rule);
  padding: 18px 2px;
  font-family: var(--font-family);
  font-size: 22px;
  line-height: 1.1;
  letter-spacing: -0.4px;
  font-weight: 500;
  color: var(--theme-text);
  cursor: pointer;
  transition: opacity 0.15s ease;
}

.MobileMenu_link__tZzSa:active {
  opacity: 0.55;
}

.MobileMenu_disclosure__45fuG {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.MobileMenu_chevron__o_V3q {
  transition: transform 0.18s ease;
}

.MobileMenu_chevron__o_V3q[data-open] {
  transform: rotate(180deg);
}

.MobileMenu_useCaseLinks__LqCcN {
  display: grid;
  grid-template-rows: repeat(5, 0fr);
  opacity: 0;
  visibility: hidden;
  transition:
    grid-template-rows 0.2s ease,
    opacity 0.15s ease,
    visibility 0s linear 0.2s;
}

.MobileMenu_useCaseLinks__LqCcN[data-open] {
  grid-template-rows: repeat(5, 1fr);
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.MobileMenu_useCaseLink__KBUMn {
  min-height: 0;
  overflow: hidden;
  padding: 0 2px 0 18px;
  font-family: var(--font-family);
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -0.2px;
  font-weight: 400;
  color: var(--theme-text);
  opacity: 0.78;
  transition:
    padding 0.2s ease,
    opacity 0.15s ease;
}

.MobileMenu_useCaseLinks__LqCcN[data-open] .MobileMenu_useCaseLink__KBUMn {
  padding-top: 10px;
  padding-bottom: 10px;
}

.MobileMenu_useCaseLink__KBUMn:active {
  opacity: 0.5;
}

.MobileMenu_cta__EbtBk {
  width: 100%;
  height: 52px;
  margin-top: 22px;
  font-size: var(--font-h3-size);
}

@media (prefers-reduced-motion: reduce) {
  .MobileMenu_chevron__o_V3q,
  .MobileMenu_useCaseLinks__LqCcN,
  .MobileMenu_useCaseLink__KBUMn {
    transition-duration: 0.001ms;
  }
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/landing/UseCasesNavMenu.module.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************/
.UseCasesNavMenu_menu__gJMn0 {
  position: relative;
}

.UseCasesNavMenu_trigger__c9lqq {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 4px;
  font-family: var(--font-family);
  font-size: var(--font-p1-size);
  line-height: var(--font-p1-lh);
  letter-spacing: var(--font-p1-tracking);
  font-weight: 400;
  color: var(--theme-text);
  cursor: pointer;
  transition: opacity 0.15s ease;
}

.UseCasesNavMenu_trigger__c9lqq:hover {
  opacity: 0.7;
}

.UseCasesNavMenu_chevron__klmzZ {
  transition: transform 0.18s ease;
}

.UseCasesNavMenu_chevron__klmzZ[data-open] {
  transform: rotate(180deg);
}

.UseCasesNavMenu_panel__P0p0Q {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  z-index: 1;
  width: 220px;
  padding: 8px;
  border: 1px solid var(--theme-rule);
  border-radius: 14px;
  background: var(--theme-bg);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.14);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, -6px);
  transition:
    opacity 0.15s ease,
    transform 0.15s ease,
    visibility 0s linear 0.15s;
}

.UseCasesNavMenu_panel__P0p0Q[data-open] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
  transition-delay: 0s;
}

.UseCasesNavMenu_link__4zPTS {
  display: block;
  padding: 10px 12px;
  border-radius: 9px;
  font-family: var(--font-family);
  font-size: var(--font-p1-size);
  line-height: var(--font-p1-lh);
  letter-spacing: var(--font-p1-tracking);
  font-weight: 400;
  color: var(--theme-text);
  transition: background 0.15s ease;
}

.UseCasesNavMenu_link__4zPTS:hover,
.UseCasesNavMenu_link__4zPTS:focus-visible {
  background: color-mix(in srgb, var(--theme-text) 7%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .UseCasesNavMenu_chevron__klmzZ,
  .UseCasesNavMenu_panel__P0p0Q {
    transition-duration: 0.001ms;
  }
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./components/legal/LegalPage.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Legal pages (Terms, Privacy, Subprocessors, DPA) — styled to match the
 * marketing/home surface: cream background, ABC Diatype type, the landing nav +
 * footer, and a clean centered reading column.
 */

.LegalPage_root__79nBe {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--theme-bg);
}

.LegalPage_main__McA70 {
  flex: 1 1;
  display: flex;
  justify-content: center;
  padding: 56px var(--margin) 100px;
}

.LegalPage_article__9_HAt {
  width: 100%;
  max-width: 720px;
}

.LegalPage_title__Jwdcm {
  font-family: var(--font-family);
  font-size: 44px;
  line-height: 1.06;
  letter-spacing: -0.9px;
  font-weight: 700;
  color: var(--theme-text);
}

.LegalPage_meta__bdDHh {
  margin-top: 14px;
  font-size: var(--font-p1-size);
  line-height: var(--font-p1-lh);
  color: var(--theme-text-muted);
}

.LegalPage_prose__DogY6 {
  margin-top: 40px;
  padding-top: 36px;
  border-top: 1px solid var(--theme-rule);
  font-family: var(--font-family);
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: 0.1px;
  color: var(--theme-text);
}

.LegalPage_prose__DogY6 > * + * {
  margin-top: 16px;
}

.LegalPage_prose__DogY6 h2 {
  margin-top: 48px;
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -0.5px;
  font-weight: 700;
  color: var(--theme-text);
}

.LegalPage_prose__DogY6 h3 {
  margin-top: 30px;
  font-size: 19px;
  line-height: 1.3;
  letter-spacing: -0.3px;
  font-weight: 700;
  color: var(--theme-text);
}

.LegalPage_prose__DogY6 ul,
.LegalPage_prose__DogY6 ol {
  padding-left: 24px;
  list-style: disc;
}

.LegalPage_prose__DogY6 ol {
  list-style: decimal;
}

.LegalPage_prose__DogY6 li {
  margin-top: 8px;
}

.LegalPage_prose__DogY6 li::marker {
  color: var(--theme-text-muted);
}

.LegalPage_prose__DogY6 li:first-child {
  margin-top: 0;
}

.LegalPage_prose__DogY6 a {
  color: var(--theme-text);
  text-decoration: underline;
  -webkit-text-decoration-color: var(--theme-rule);
          text-decoration-color: var(--theme-rule);
  text-underline-offset: 3px;
  transition: -webkit-text-decoration-color 0.15s ease;
  transition: text-decoration-color 0.15s ease;
  transition: text-decoration-color 0.15s ease, -webkit-text-decoration-color 0.15s ease;
}

.LegalPage_prose__DogY6 a:hover {
  -webkit-text-decoration-color: var(--theme-text);
          text-decoration-color: var(--theme-text);
}

.LegalPage_prose__DogY6 strong {
  font-weight: 600;
  color: var(--theme-text);
}

.LegalPage_prose__DogY6 address {
  font-style: normal;
  color: var(--theme-text-muted);
}

.LegalPage_prose__DogY6 address > * + * {
  margin-top: 4px;
}

/* ─── Tables (Subprocessors / DPA) ─── */

.LegalPage_tableWrap__Ho8e2 {
  margin-top: 24px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--theme-rule);
  border-radius: var(--radius-md);
}

.LegalPage_prose__DogY6 .LegalPage_tableWrap__Ho8e2 + .LegalPage_tableWrap__Ho8e2 {
  margin-top: 24px;
}

.LegalPage_tableWrap__Ho8e2 table {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.5;
  color: var(--theme-text);
}

.LegalPage_tableWrap__Ho8e2 th {
  text-align: left;
  font-weight: 600;
  color: var(--theme-text-muted);
  padding: 12px 16px;
  border-bottom: 1px solid var(--theme-rule);
  background: var(--theme-surface);
  vertical-align: top;
  white-space: nowrap;
}

.LegalPage_tableWrap__Ho8e2 th:first-child {
  border-top-left-radius: var(--radius-md);
}

.LegalPage_tableWrap__Ho8e2 th:last-child {
  border-top-right-radius: var(--radius-md);
  white-space: normal;
}

.LegalPage_tableWrap__Ho8e2 td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--theme-rule);
  vertical-align: top;
}

.LegalPage_tableWrap__Ho8e2 td:first-child {
  font-weight: 600;
  color: var(--theme-text);
  white-space: nowrap;
}

.LegalPage_tableWrap__Ho8e2 tr:last-child td {
  border-bottom: 0;
}

/* ─── Mobile ─── */

@media (max-width: 899.98px) {
  .LegalPage_main__McA70 {
    padding: 32px 20px 64px;
  }

  .LegalPage_title__Jwdcm {
    font-size: 32px;
    letter-spacing: -0.6px;
  }

  .LegalPage_prose__DogY6 {
    margin-top: 32px;
    padding-top: 28px;
  }

  .LegalPage_prose__DogY6 h2 {
    margin-top: 40px;
    font-size: 24px;
  }

  .LegalPage_prose__DogY6 h3 {
    font-size: 18px;
  }
}

