:root {
  --fs-public-navy: #04111f;
  --fs-public-navy-2: #06283a;
  --fs-public-ink: #07111f;
  --fs-public-muted: #405267;
  --fs-public-teal: #0b7f78;
  --fs-public-teal-dark: #063f3d;
  --fs-public-teal-bright: #10a193;
  --fs-public-blue: #155e75;
  --fs-public-mint: #70eadc;
  --fs-public-pale: #e9f7f4;
  --fs-public-pale-2: #f3faf8;
  --fs-public-pale-gradient-start: #e5f6f2;
  --fs-public-pale-gradient-end: #f4fbf9;
  --fs-public-pale-blue: #edf3f6;
  --fs-public-pale-blue-2: #e8f3f7;
  --fs-public-pale-blue-card: #f2f9fb;
  --fs-public-line-blue: #cbd7df;
  --fs-public-line-blue-strong: #bdccd6;
  --fs-public-inverse: #ffffff;
  --fs-public-danger: #b91c1c;
  --fs-public-danger-dark: #7f1d1d;
  --fs-public-danger-pale: #fee2e2;
  --fs-public-gradient-teal: #075b59;
  --fs-public-page: #f7f9f8;
  --fs-public-surface: #ffffff;
  --fs-public-line: rgba(7, 17, 31, 0.13);
  --fs-public-line-strong: rgba(7, 17, 31, 0.24);
  --fs-public-shadow: 0 24px 64px rgba(4, 17, 31, 0.15);
  --fs-public-shadow-soft: 0 12px 30px rgba(4, 17, 31, 0.08);
  --fs-public-radius-sm: 0.5rem;
  --fs-public-radius-md: 0.85rem;
  --fs-public-radius-lg: 1.3rem;
  --fs-public-control-height: 2.85rem;
  --fs-public-gutter: clamp(1rem, 3.8vw, 3rem);
  --fs-public-wide: 76rem;
  --fs-public-standard: 68rem;
  --fs-public-reading: 44rem;
  --fs-public-section-space: clamp(2rem, 3vw, 2.5rem);
  --fs-public-focus-ring: rgba(112, 234, 220, 0.55);
  --fs-public-accent-soft: rgba(11, 127, 120, 0.3);
  --fs-public-accent-faint: rgba(11, 127, 120, 0.26);
  --fs-public-blue-soft: rgba(21, 94, 117, 0.28);
  --fs-public-blue-faint: rgba(21, 94, 117, 0.24);
  --fs-public-mint-faint: rgba(112, 234, 220, 0.22);
  --fs-public-inverse-13: rgba(255, 255, 255, 0.13);
  --fs-public-inverse-18: rgba(255, 255, 255, 0.18);
  --fs-public-inverse-20: rgba(255, 255, 255, 0.2);
  --fs-public-inverse-40: rgba(255, 255, 255, 0.4);
  --fs-public-inverse-45: rgba(255, 255, 255, 0.45);
  --fs-public-inverse-58: rgba(255, 255, 255, 0.58);
  --fs-public-inverse-72: rgba(255, 255, 255, 0.72);
  --fs-public-inverse-78: rgba(255, 255, 255, 0.78);
  --fs-public-inverse-80: rgba(255, 255, 255, 0.8);
  --fs-public-inverse-82: rgba(255, 255, 255, 0.82);
  --fs-public-deep-glass: rgba(3, 19, 31, 0.5);
  --fs-public-deep-shadow: rgba(0, 0, 0, 0.18);
  --fs-public-teal-line: rgba(6, 63, 61, 0.2);
  --fs-public-teal-line-strong: rgba(6, 63, 61, 0.22);
}

* { box-sizing: border-box; }

html[data-fs-public-shell] { scroll-behavior: smooth; }
html.fs-public-dialog-open,
html.fs-public-dialog-open body { overflow: hidden; }

body.fs-public-shell,
.fs-public-shell {
  min-height: 100%;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--fs-public-ink);
  background: var(--fs-public-page);
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}

.fs-public-shell a { color: inherit; }
.fs-public-page-shell { min-height: 100svh; display: flex; flex-direction: column; }

.fs-public-header,
.fs-public-main,
.fs-public-footer {
  width: min(calc(100% - (2 * var(--fs-public-gutter))), var(--fs-public-wide));
  margin-inline: auto;
}

.fs-public-header {
  min-height: 4.8rem;
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, 1.4vw, 1rem);
  border-bottom: 1px solid var(--fs-public-line);
}

.fs-public-brand { display: inline-flex; align-items: center; gap: 0.65rem; text-decoration: none; font-weight: 900; letter-spacing: -0.04em; }
.fs-public-brand__mark { width: 2.15rem; height: 2.15rem; color: var(--fs-public-teal-dark); }
.fs-public-brand__mark svg { display: block; width: 100%; height: 100%; }
.fs-public-brand__name { font-size: 1.03rem; }
.fs-public-nav { margin-left: auto; display: flex; align-items: center; gap: 0.45rem; }
.fs-public-header__actions { display: flex; align-items: center; gap: 0.45rem; }

.fs-public-nav__link,
.fs-public-button {
  min-height: var(--fs-public-control-height);
  padding: 0.65rem 1rem;
  border: 1px solid var(--fs-public-line-strong);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--fs-public-surface);
  color: var(--fs-public-ink);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.fs-public-nav__link:hover,
.fs-public-button:hover { transform: translateY(-1px); border-color: var(--fs-public-teal); box-shadow: var(--fs-public-shadow-soft); }
.fs-public-nav__link.is-active { border-color: var(--fs-public-teal); color: var(--fs-public-teal-dark); }
.fs-public-shell .fs-public-nav__link--primary,
.fs-public-shell .fs-public-button--primary {
  border-color: transparent;
  color: var(--fs-public-inverse);
  background: linear-gradient(
    135deg,
    var(--fs-public-teal) 0%,
    var(--fs-public-blue) 100%
  );
  background-color: var(--fs-public-teal-dark);
}
.fs-public-shell .fs-public-nav__link--primary:hover,
.fs-public-shell .fs-public-button--primary:hover { color: var(--fs-public-inverse); }
.fs-public-button--secondary { background: transparent; }

.fs-public-nav__link--signin { flex: 0 0 auto; }

.fs-public-login-dialog {
  position: fixed;
  inset: 0;
  width: min(25rem, calc(100vw - (2 * var(--fs-public-gutter))));
  max-width: none;
  max-height: none;
  margin: auto;
  padding: 0;
  border: 0;
  overflow: visible;
  color: var(--fs-public-ink);
  background: transparent;
}
.fs-public-login-dialog::backdrop { background: var(--fs-public-deep-glass); }
.fs-public-login-dialog__surface {
  max-height: calc(100dvh - (2 * var(--fs-public-gutter)));
  padding: 1.35rem;
  border: 1px solid var(--fs-public-line);
  overflow-y: auto;
  background: var(--fs-public-surface);
  box-shadow: var(--fs-public-shadow);
}
.fs-public-login-dialog__header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.fs-public-login-dialog__header h2 { margin: 0; font-size: 1.65rem; }
.fs-public-login-dialog__close {
  width: var(--fs-public-control-height);
  height: var(--fs-public-control-height);
  padding: 0;
  border: 1px solid var(--fs-public-line-strong);
  border-radius: 999px;
  flex: 0 0 auto;
  color: var(--fs-public-ink);
  background: var(--fs-public-surface);
  font: inherit;
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
}
.fs-public-login-dialog form { margin-top: 1.15rem; display: grid; gap: 0.85rem; }
.fs-public-login-dialog__support { margin: 1rem 0 0; color: var(--fs-public-muted); font-size: 0.85rem; }
.fs-public-login-dialog__support a { color: var(--fs-public-teal-dark); font-weight: 800; text-underline-offset: 0.2em; }

.fs-public-main { min-width: 0; flex: 1 0 auto; }
.fs-public-eyebrow { margin: 0 0 0.75rem; color: var(--fs-public-teal); font-size: 0.82rem; font-weight: 850; letter-spacing: 0.02em; }
.fs-public-main h1,
.fs-public-main h2,
.fs-public-main h3,
.fs-public-main p { text-wrap: pretty; }
.fs-public-main h1,
.fs-public-main h2,
.fs-public-main h3 { line-height: 1.08; letter-spacing: -0.045em; }
.fs-public-main h2 { font-size: clamp(1.8rem, 3.2vw, 2.65rem); }
.fs-public-main h3 { font-size: 1.05rem; letter-spacing: -0.02em; }
.fs-public-lead { max-width: var(--fs-public-reading); color: var(--fs-public-muted); font-size: clamp(1rem, 1.5vw, 1.16rem); line-height: 1.65; }
.fs-public-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.fs-public-actions .fs-public-button { min-width: min(100%, 10rem); }

.fs-public-page-intro {
  padding: clamp(1rem, 1.8vw, 1.5rem);
  border-bottom: 1px solid var(--fs-public-line);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(1.5rem, 3vw, 2.75rem);
}
.fs-public-page-intro > div:first-child { min-width: 0; max-width: none; }
.fs-public-page-intro h1 { max-width: none; margin: 0; font-size: clamp(1.9rem, 3vw, 2.75rem); }
.fs-public-page-intro .fs-public-lead { max-width: none; margin: 0.75rem 0 0; }
.fs-public-page-intro .fs-public-actions { justify-content: flex-start; }
.fs-updates-intro { margin-block: var(--fs-space-5); }
.fs-updates-feed { margin-top: 1rem; }
.fs-updates-months { justify-content: flex-start; }
.fs-updates-month + .fs-updates-month { margin-top: 1.5rem; }
.fs-updates-month > h2 { margin: 0 0 0.75rem; scroll-margin-top: 6rem; }
.fs-updates-time-note { margin: 0 0 0.75rem; color: var(--fs-public-muted); font-size: 0.9rem; }
.fs-updates-feed > .fs-updates-time-note:last-child { margin: 1.5rem 0 0; }
.fs-updates-list { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.fs-updates-list > li { min-width: 0; }
.fs-updates-entry header { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem 1.25rem; }
.fs-updates-entry header .fs-public-eyebrow { margin: 0; }
.fs-updates-entry time { color: var(--fs-public-muted); font-size: 0.9rem; }
.fs-updates-entry { scroll-margin-top: 6rem; }
.fs-updates-entry h3 { flex-basis: 100%; margin: 0.25rem 0 0.5rem; font-size: clamp(1.2rem, 2vw, 1.5rem); }
.fs-updates-entry h3 a { color: inherit; text-decoration: none; }
.fs-updates-entry h3 a:hover { text-decoration: underline; text-underline-offset: 0.15em; }
.fs-updates-entry > p { margin: 0; line-height: 1.6; }
.fs-updates-entry__link { display: inline-block; margin-top: 0.6rem; color: var(--fs-public-teal-dark); font-weight: 800; text-underline-offset: 0.2em; }
.fs-terms-intro { margin-top: var(--fs-public-section-space); }

/* Canonical external major-panel accent: exact /tools top-edge ombre. */
.fs-public-major-panel {
  position: relative;
  overflow: hidden;
  border-radius: var(--fs-public-radius-lg);
}
.fs-public-major-panel > * { position: relative; z-index: 2; }

:where(.fs-public-premium-title-region, [data-fs-premium-title-region]) {
  border: 1px solid var(--fs-public-accent-soft);
  padding-inline: clamp(1.5rem, 3vw, 2rem);
  color: var(--fs-public-inverse);
  background: var(--fs-premium-hero-background);
  box-shadow: var(--fs-public-shadow);
}
:where(.fs-public-premium-title-region, [data-fs-premium-title-region]) :where(h1, h2) { color: var(--fs-public-inverse); }
:where(.fs-public-premium-title-region, [data-fs-premium-title-region]) .fs-public-eyebrow { color: var(--fs-public-mint); }
:where(.fs-public-premium-title-region, [data-fs-premium-title-region]) :where(.fs-public-lead, .fs-auth-panel__header > p:last-child, .fs-auth-microcopy) { color: var(--fs-public-inverse-82); }
.fs-public-premium-title-region .fs-public-lead { color: var(--fs-public-inverse-82); }
:where(.fs-public-premium-title-region, [data-fs-premium-title-region]) .fs-public-button--secondary {
  border-color: var(--fs-public-inverse-45);
  color: var(--fs-public-inverse);
}

.fs-public-policy-strip { width: min(100%, var(--fs-public-standard)); margin: var(--fs-public-section-space) auto 0; padding: 1.15rem 0; border-block: 1px solid var(--fs-public-teal); display: grid; grid-template-columns: minmax(10rem, 0.34fr) minmax(0, 1fr); gap: 1rem 2rem; color: var(--fs-public-teal-dark); }
.fs-public-policy-strip span { color: var(--fs-public-muted); }

/* Homepage owns the visual product showcase and concise buyer story. */
.fs-home-hero {
  margin-top: clamp(1rem, 2vw, 1.5rem);
  padding: clamp(1.35rem, 2.2vw, 2rem);
  border-radius: var(--fs-public-radius-lg);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(1rem, 2vw, 2rem);
  overflow: hidden;
  color: var(--fs-public-inverse);
  background: var(--fs-premium-hero-background);
  box-shadow: var(--fs-public-shadow);
}
.fs-home-hero .fs-public-eyebrow { color: var(--fs-public-mint); }
.fs-home-hero h1 { max-width: none; text-wrap: balance; margin: 0; font-size: clamp(2.1rem, 3vw, 2.85rem); line-height: 1.01; }
.fs-home-hero .fs-public-lead { max-width: none; margin: 0.9rem 0 0; color: var(--fs-public-inverse-82); font-size: clamp(1rem, 1.35vw, 1.12rem); line-height: 1.55; }
.fs-home-hero__mission { max-width: none; margin: 0.75rem 0 0; color: var(--fs-public-inverse-82); font-size: 1rem; line-height: 1.55; }
.fs-home-hero .fs-public-actions { margin-top: 1.2rem; }
.fs-home-hero .fs-public-button--secondary { border-color: var(--fs-public-inverse-45); color: var(--fs-public-inverse); }

.fs-home-offer.fs-public-card { margin-top: 0.75rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.5rem; background: linear-gradient(135deg, var(--fs-public-pale-gradient-start), var(--fs-public-pale-gradient-end)); }
.fs-home-offer__copy { flex: 1 1 28rem; min-width: 0; }
.fs-home-offer h2 { margin: 0; color: var(--fs-public-teal-dark); font-size: 1.35rem; }
.fs-home-offer p { margin: 0.4rem 0 0; line-height: 1.5; }

.fs-home-outcomes,
.fs-home-journey,
.fs-home-ecosystem,
.fs-home-conversion { margin-top: clamp(1rem, 1.8vw, 1.5rem); }

.fs-home-outcomes h2,
.fs-home-journey h2,
.fs-home-ecosystem h2,
.fs-home-conversion h2 { margin: 0; }

.fs-home-outcomes {
  padding: clamp(1.25rem, 2.5vw, 1.8rem);
  border-block: 1px solid var(--fs-public-teal-line);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(1.25rem, 3vw, 2.75rem);
  background: linear-gradient(
    135deg,
    var(--fs-public-pale-gradient-start) 0%,
    var(--fs-public-pale-gradient-end) 100%
  );
}
.fs-home-outcomes header > p:last-child { margin: 0.65rem 0 0; color: var(--fs-public-muted); line-height: 1.52; }
.fs-home-outcomes__list { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fs-home-outcomes__list > div { min-width: 0; padding: 0.15rem 1rem; }
.fs-home-outcomes__list > div:first-child { padding-left: 0; }
.fs-home-outcomes__list > div + div { border-left: 1px solid var(--fs-public-teal-line); }
.fs-home-outcomes__list dt { color: var(--fs-public-teal-dark); font-size: 0.94rem; font-weight: 850; line-height: 1.3; }
.fs-home-outcomes__list dd { margin: 0.35rem 0 0; color: var(--fs-public-muted); font-size: 0.9rem; line-height: 1.5; }

.fs-home-journey {
  padding: clamp(1.4rem, 2.7vw, 2.2rem);
  border: 1px solid var(--fs-public-line);
  background: var(--fs-public-surface);
  box-shadow: var(--fs-public-shadow-soft);
}
.fs-home-journey > header {
  max-width: 58rem;
}
.fs-home-journey > header > p:last-child {
  max-width: 50rem;
  margin-top: 0.65rem;
  margin-bottom: 0;
  color: var(--fs-public-muted);
  font-size: 1rem;
  line-height: 1.55;
}
.fs-home-journey__steps {
  margin: 1.1rem 0 0;
  padding: 0;
  border-top: 1px solid var(--fs-public-line-strong);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
}
.fs-home-journey__steps li {
  min-width: 0;
  padding: 1rem 1.25rem 1rem 0;
  border-bottom: 1px solid var(--fs-public-line);
  display: grid;
  grid-template-columns: 2.1rem minmax(0, 1fr);
  column-gap: 0.85rem;
  align-items: start;
}
.fs-home-journey__steps li:nth-child(even) { padding-right: 0; padding-left: 1.25rem; border-left: 1px solid var(--fs-public-line); }
.fs-home-journey__steps li:nth-last-child(-n + 2) { border-bottom: 0; }
.fs-home-journey__steps li > span {
  width: 2.1rem;
  height: 2.1rem;
  border: 1px solid var(--fs-public-teal-line);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--fs-public-teal);
  background: var(--fs-public-surface);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}
.fs-home-journey__steps h3 {
  grid-column: 2;
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.3;
}
.fs-home-journey__steps p {
  grid-column: 2;
  margin: 0.4rem 0 0;
  color: var(--fs-public-muted);
  font-size: 0.92rem;
  line-height: 1.5;
}

.fs-home-ecosystem {
  padding: clamp(1.35rem, 2.7vw, 2.1rem);
  border-block: 1px solid var(--fs-public-teal-line);
  background: var(--fs-public-pale-blue-card);
}
.fs-home-ecosystem > header { max-width: 58rem; }
.fs-home-ecosystem > header > p:last-child { max-width: 52rem; margin: 0.65rem 0 0; color: var(--fs-public-muted); font-size: 1rem; line-height: 1.55; }
.fs-home-ecosystem__index { margin: 1.1rem 0 0; border-top: 1px solid var(--fs-public-line-strong); }
.fs-home-ecosystem__index > div {
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--fs-public-line);
  display: grid;
  grid-template-columns: minmax(12rem, 0.35fr) minmax(0, 1fr);
  gap: 1rem 2rem;
}
.fs-home-ecosystem__index dt { color: var(--fs-public-teal-dark); font-size: 1rem; font-weight: 850; line-height: 1.4; }
.fs-home-ecosystem__index dd { margin: 0; color: var(--fs-public-muted); line-height: 1.52; }
.fs-home-ecosystem__availability { margin: 0.9rem 0 0; color: var(--fs-public-muted); font-size: 0.92rem; line-height: 1.5; }
.fs-home-ecosystem__availability strong { color: var(--fs-public-teal-dark); }

.fs-home-conversion h2 { font-size: var(--fs-display-dark-panel); }

.fs-home-conversion { margin-bottom: 0.75rem; padding: clamp(1.6rem, 2.7vw, 2.25rem); border: 1px solid var(--fs-public-accent-soft); border-radius: var(--fs-public-radius-lg); display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, auto); align-items: center; gap: 1.5rem; color: var(--fs-public-inverse); background: var(--fs-premium-hero-background); box-shadow: var(--fs-public-shadow); }
.fs-home-conversion h2 { max-width: 48rem; }
.fs-home-conversion .fs-public-eyebrow { color: var(--fs-public-mint); }
.fs-home-conversion > div:first-child > p:not(.fs-public-eyebrow) { max-width: 46rem; margin: 0.7rem 0 0; color: var(--fs-public-inverse-82); font-size: 1rem; line-height: 1.52; }
.fs-home-conversion .fs-home-conversion__price { margin-bottom: 0; padding-top: 0.75rem; border-top: 1px solid var(--fs-public-inverse-20); font-size: 0.94rem; line-height: 1.5; }
.fs-home-conversion .fs-public-actions { justify-content: flex-end; }
.fs-home-conversion .fs-public-button--secondary { border-color: var(--fs-public-inverse-45); color: var(--fs-public-inverse); }

/* About owns one concise reason-to-believe story, principles, and founder note. */
.fs-about-intro { margin-top: clamp(1rem, 2vw, 1.5rem); }
.fs-about-principles { margin-top: clamp(1rem, 1.8vw, 1.5rem); padding: clamp(1.5rem, 3vw, 2.2rem); border: 1px solid var(--fs-public-teal-line); background: linear-gradient(135deg, var(--fs-public-pale-gradient-start) 0%, var(--fs-public-pale-gradient-end) 100%); }
.fs-about-principles header { max-width: 42rem; }
.fs-about-principles h2 { margin: 0; }
.fs-about-principles > div { margin-top: 1.5rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fs-about-principles article { padding: 1.6rem clamp(1rem, 3vw, 2.5rem) 1.6rem 0; border-top: 1px solid var(--fs-public-line); }
.fs-about-principles article:nth-child(even) { padding-left: clamp(1rem, 3vw, 2.5rem); border-left: 1px solid var(--fs-public-line); }
.fs-about-principles article > span { color: var(--fs-public-teal); font-size: 0.75rem; font-weight: 900; letter-spacing: 0.1em; }
.fs-about-principles h3 { margin: 1rem 0 0; }
.fs-about-principles p { margin-bottom: 0; color: var(--fs-public-muted); }
.fs-about-founder { margin-block: clamp(1rem, 1.8vw, 1.5rem); padding: clamp(1.5rem, 3vw, 2.2rem); border: 1px solid var(--fs-public-line); display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 0.75rem; background: linear-gradient(135deg, var(--fs-public-pale-gradient-start), var(--fs-public-pale-gradient-end)); }
.fs-about-founder .fs-public-eyebrow { grid-column: 1 / -1; margin: 0; }
.fs-about-founder__heading { grid-column: 1; grid-row: 2; }
.fs-about-founder__heading h2 { margin: 0; }
.fs-about-founder__copy { grid-column: 1; grid-row: 3; margin: 0.5rem 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem; color: var(--fs-public-muted); }
.fs-about-founder__copy article { min-width: 0; padding-top: 1rem; border-top: 1px solid var(--fs-public-teal-line); }
.fs-about-founder__copy h3 { margin: 0 0 0.65rem; color: var(--fs-public-ink); }
.fs-about-founder__copy p { margin: 0; color: inherit; }
.fs-about-story { margin-top: clamp(1rem, 1.8vw, 1.5rem); padding: clamp(1.5rem, 3vw, 2.2rem); border: 1px solid var(--fs-public-line); display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr); gap: 2rem; align-items: start; background: var(--fs-public-pale-blue); }
.fs-about-story h2 { margin: 0; }
.fs-about-story > div { color: var(--fs-public-muted); }
.fs-about-story p:first-child { margin-top: 0; }
.fs-about-story p:last-child { margin-bottom: 0; }
.fs-about-conversion { width: 100%; margin: clamp(1rem, 1.8vw, 1.5rem) 0 0.75rem; padding: clamp(1.5rem, 3vw, 2rem); border: 1px solid var(--fs-public-mint-faint); border-radius: var(--fs-public-radius-lg); display: flex; align-items: center; justify-content: space-between; gap: 1.75rem; color: var(--fs-public-inverse); background: var(--fs-premium-hero-background); box-shadow: var(--fs-public-shadow-soft); }
.fs-about-conversion .fs-public-eyebrow { color: var(--fs-public-mint); }
.fs-about-conversion .fs-public-button--secondary { border-color: var(--fs-public-inverse-40); color: var(--fs-public-inverse); }
.fs-about-conversion h2 { margin: 0; }

/* Pricing owns its buyer-decision hero, access index, exact rates, policy, FAQ, and conversion. */

:where(
  [class^="fs-pricing-"],
  [class*=" fs-pricing-"]
) {
  min-width: 0;
  max-width: 100%;
}

/* One premium weatherization-workspace hero. */
.fs-pricing-intro {
  margin-top: 0.75rem;
  padding: 1.25rem clamp(1.4rem, 2.5vw, 2rem);
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 0.75rem;}
.fs-pricing-intro__copy {
  max-width: none;
}
.fs-pricing-intro h1 {
  max-width: none;
  margin-bottom: 0;
  font-size: clamp(1.9rem, 3vw, 2.75rem);
  line-height: 0.97;
  letter-spacing: -0.052em;
}
.fs-pricing-intro .fs-public-lead {
  max-width: none;
  margin-top: 0.6rem;
  font-size: 1rem;
  line-height: 1.48;
}
.fs-pricing-intro .fs-public-actions {
  margin-top: 0.75rem;
  justify-content: flex-start;
}

/* Open editorial description of the complete workspace. */
.fs-pricing-access {
  margin-top: clamp(1.75rem, 2.4vw, 2.5rem);
  padding-block: clamp(1.15rem, 1.8vw, 1.5rem);
  border-block: 1px solid var(--fs-public-line-strong);
}
.fs-pricing-access__mission { margin: 1.25rem 0 0; padding-top: 1.25rem; border-top: 1px solid var(--fs-public-line); color: var(--fs-public-muted); }
.fs-pricing-access header {
  max-width: none;
  padding-bottom: 1rem;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
  align-items: end;
  gap: 0.55rem 2.5rem;
}
.fs-pricing-access header .fs-public-eyebrow {
  grid-column: 1 / -1;
  margin-bottom: 0;
}
.fs-pricing-access h2 {
  grid-column: 1;
  max-width: 43rem;
  margin: 0;
  font-size: clamp(2rem, 3.35vw, 3rem);
  line-height: 1;
  letter-spacing: -0.04em;
}
.fs-pricing-access header > p:last-child {
  grid-column: 2;
  max-width: 39rem;
  margin: 0;
  color: var(--fs-public-muted);
  font-size: 1rem;
  line-height: 1.5;
}
.fs-pricing-access ol {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--fs-public-line-strong);
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.fs-pricing-access li {
  min-width: 0;
  padding-block: 1rem;
  border-bottom: 1px solid var(--fs-public-line);
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  align-content: start;
  column-gap: 0.75rem;
}
.fs-pricing-access li:not(:last-child) {
  padding-right: 1.5rem;
  border-right: 1px solid var(--fs-public-line);
}
.fs-pricing-access li + li {
  padding-left: 1.5rem;
}
.fs-pricing-access li {
  border-bottom: 0;
}
.fs-pricing-access li > span {
  grid-column: 1;
  grid-row: 1 / span 2;
  color: var(--fs-public-teal);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}
.fs-pricing-access h3 {
  grid-column: 2;
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.2;
}
.fs-pricing-access li p {
  grid-column: 2;
  margin: 0.42rem 0 0;
  color: var(--fs-public-muted);
  font-size: 1rem;
  line-height: 1.52;}

/* One exact-pricing surface with no cards inside cards. */
.fs-pricing-model {
  margin-top: clamp(1.75rem, 2.4vw, 2.5rem);
  padding: clamp(1.6rem, 2.8vw, 2.3rem);
  border: 1px solid var(--fs-public-accent-soft);
  border-radius: var(--fs-public-radius-lg);
  color: var(--fs-public-inverse);
  background: var(--fs-public-navy);
  box-shadow: var(--fs-public-shadow-soft);
}
.fs-pricing-model > header {
  max-width: 56rem;
}
.fs-pricing-model .fs-public-eyebrow {
  color: var(--fs-public-mint);
}
.fs-pricing-model h2 {
  max-width: 49rem;
  margin: 0;
  line-height: 1;
  letter-spacing: -0.04em;
}
.fs-pricing-model__lead {
  max-width: 43rem;
  margin: 0.75rem 0 0;
  color: var(--fs-public-inverse-78);
  font-size: 1rem;
  line-height: 1.5;
}
.fs-pricing-rates {
  margin-top: 1.5rem;
  border-block: 1px solid var(--fs-public-inverse-20);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fs-pricing-rate-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
  padding: 1.25rem 1.4rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  color: var(--fs-public-inverse);
  background: transparent;
}
.fs-pricing-rate-card + .fs-pricing-rate-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  border-left: 1px solid var(--fs-public-inverse-20);
}
.fs-pricing-rate-card .fs-public-button { margin-top: auto; }
.fs-pricing-rate-card p {
  margin: 0;
}
.fs-pricing-rate-card__cadence {
  color: var(--fs-public-mint);
  font-size: 0.9rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.fs-pricing-rate-card__price {
  margin-top: 0.48rem;
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  white-space: nowrap;
}
.fs-pricing-rate-card__price strong {
  color: var(--fs-public-inverse);
  font-size: clamp(2.7rem, 5vw, 4.1rem);
  line-height: 0.94;
  letter-spacing: -0.065em;
}
.fs-pricing-rate-card__price span {
  color: var(--fs-public-inverse-72);
  font-size: 0.95rem;
}
.fs-pricing-rate-card__platform {
  margin-top: 0.4rem;
  color: var(--fs-public-inverse-78);
  font-size: 1rem;
  line-height: 1.45;
}
.fs-pricing-rate-card__additional {
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--fs-public-inverse-13);
  display: grid;
  gap: 0.2rem;
}
.fs-pricing-rate-card__additional strong {
  color: var(--fs-public-mint);
  font-size: 1.35rem;
  letter-spacing: -0.025em;
}
.fs-pricing-rate-card__additional span {
  color: var(--fs-public-inverse-72);
  font-size: 1rem;
  line-height: 1.5;}
.fs-pricing-rate-card__note {
  margin-top: 0.55rem;
  color: var(--fs-public-mint);
  font-size: 0.95rem;
  font-weight: 800;
}
.fs-pricing-table-wrap {
  margin-top: 1.25rem;
  overflow-x: auto;
  border-top: 1px solid var(--fs-public-inverse-20);
  background: transparent;
}
.fs-pricing-table-wrap table {
  width: 100%;
  min-width: 35rem;
  border-collapse: collapse;
  color: var(--fs-public-inverse);
}
.fs-pricing-table-wrap caption {
  padding: 0.9rem 0;
  text-align: left;
  color: var(--fs-public-inverse-72);
  font-size: 0.95rem;
  font-weight: 750;
}
.fs-pricing-table-wrap th,
.fs-pricing-table-wrap td {
  padding: 0.72rem 0.8rem;
  border-top: 1px solid var(--fs-public-inverse-13);
  text-align: left;
}
.fs-pricing-table-wrap thead th {
  color: var(--fs-public-mint);
  background: transparent;
  font-size: 0.86rem;
  letter-spacing: 0.035em;
}
.fs-pricing-table-wrap tbody th {
  color: var(--fs-public-inverse);
  font-size: 1rem;}
.fs-pricing-table-wrap tbody td {
  color: var(--fs-public-inverse-78);
}
.fs-pricing-table__amount {
  color: var(--fs-public-inverse);
  font-weight: 800;
  white-space: nowrap;

  font-size: 1rem;
}
.fs-pricing-boundary {
  margin: 1rem 0 0;
  padding-top: 0.9rem;
  border-top: 1px solid var(--fs-public-inverse-20);
  color: var(--fs-public-inverse-78);
  font-size: 1rem;
  line-height: 1.55;}

/* Public pricing composes the shared FS card primitive over the inverse checkout model. */
.fs-pricing-model--public {
  margin-top: clamp(1.75rem, 2.4vw, 2.5rem);
  color: var(--fs-public-ink);
}
.fs-pricing-model--public > header { max-width: 56rem; }
.fs-pricing-model--public .fs-public-eyebrow { color: var(--fs-public-teal); }
.fs-pricing-model--public h2 { max-width: 49rem; margin: 0; line-height: 1; letter-spacing: -0.04em; }
.fs-pricing-model--public .fs-pricing-model__lead { max-width: 43rem; margin: 0.75rem 0 0; color: var(--fs-public-muted); font-size: 1rem; line-height: 1.5; }
.fs-pricing-model--public .fs-pricing-rates { margin-top: 1.5rem; border-block: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.fs-pricing-model--public .fs-pricing-rate-card { min-width: 0; padding: clamp(1.25rem, 2.5vw, 1.75rem); display: flex; flex-direction: column; align-items: flex-start; gap: 0.75rem; color: var(--fs-public-ink); }
.fs-pricing-model--public .fs-pricing-rate-card + .fs-pricing-rate-card { border-left: 0; }
.fs-pricing-model--public .fs-pricing-rate-card p { margin: 0; }
.fs-pricing-model--public .fs-pricing-rate-card__cadence { color: var(--fs-public-teal); font-size: 0.9rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }
.fs-pricing-model--public .fs-pricing-rate-card__price { margin-top: 0.48rem; display: flex; align-items: baseline; gap: 0.4rem; white-space: nowrap; }
.fs-pricing-model--public .fs-pricing-rate-card__price strong { color: var(--fs-public-ink); font-size: clamp(2.7rem, 5vw, 4.1rem); line-height: 0.94; letter-spacing: -0.065em; }
.fs-pricing-model--public .fs-pricing-rate-card__price span { color: var(--fs-public-muted); font-size: 0.95rem; }
.fs-pricing-model--public .fs-pricing-rate-card__platform { margin-top: 0.4rem; color: var(--fs-public-muted); font-size: 1rem; line-height: 1.45; }
.fs-pricing-model--public .fs-pricing-rate-card__additional { margin-top: 0.85rem; padding-top: 0.75rem; border-top: 1px solid var(--fs-public-line); display: grid; gap: 0.2rem; }
.fs-pricing-model--public .fs-pricing-rate-card__additional strong { color: var(--fs-public-teal-dark); font-size: 1.35rem; letter-spacing: -0.025em; }
.fs-pricing-model--public .fs-pricing-rate-card__additional span { color: var(--fs-public-muted); font-size: 1rem; line-height: 1.5; }
.fs-pricing-model--public .fs-pricing-rate-card__note { margin-top: 0.55rem; color: var(--fs-public-teal-dark); font-size: 0.95rem; font-weight: 800; }
.fs-pricing-model--public .fs-pricing-table-wrap { margin-top: 1.25rem; overflow-x: auto; border-top: 0; }
.fs-pricing-model--public .fs-pricing-table-wrap table { width: 100%; min-width: 35rem; border-collapse: collapse; color: var(--fs-public-ink); }
.fs-pricing-model--public .fs-pricing-table-wrap caption { padding: 0.9rem 0; text-align: left; color: var(--fs-public-muted); font-size: 0.95rem; font-weight: 750; }
.fs-pricing-model--public .fs-pricing-table-wrap th,
.fs-pricing-model--public .fs-pricing-table-wrap td { padding: 0.72rem 0.8rem; border-top: 1px solid var(--fs-public-line); text-align: left; }
.fs-pricing-model--public .fs-pricing-table-wrap thead th { color: var(--fs-public-teal-dark); background: var(--fs-public-pale-blue); font-size: 0.86rem; letter-spacing: 0.035em; }
.fs-pricing-model--public .fs-pricing-table-wrap tbody th { color: var(--fs-public-ink); font-size: 1rem; }
.fs-pricing-model--public .fs-pricing-table-wrap tbody td { color: var(--fs-public-muted); }
.fs-pricing-model--public .fs-pricing-table__amount { color: var(--fs-public-ink); font-weight: 800; white-space: nowrap; font-size: 1rem; }
.fs-pricing-model--public .fs-pricing-annual-note { margin: 0.8rem 0 0; color: var(--fs-public-teal-dark); font-size: 0.95rem; font-weight: 800; line-height: 1.45; }
.fs-pricing-model--public .fs-pricing-boundary { margin: 1rem 0 0; padding-top: 0.9rem; border-top: 1px solid var(--fs-public-line-strong); color: var(--fs-public-muted); font-size: 1rem; line-height: 1.55; }

/* Open billing terms. */
.fs-pricing-policy {
  margin-top: clamp(1.75rem, 2.4vw, 2.5rem);
  padding-block: 1.2rem;
  border-block: 1px solid var(--fs-public-line-strong);
  display: grid;
  grid-template-columns: minmax(17rem, 0.38fr) minmax(0, 1fr);
  align-items: start;
  gap: 1.4rem 2.5rem;
}
.fs-pricing-policy h2 {
  max-width: 25rem;
  margin: 0;
  font-size: clamp(1.8rem, 2.8vw, 2.35rem);
  line-height: 1.03;
  letter-spacing: -0.035em;
}
.fs-pricing-policy__items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.fs-pricing-policy__items article {
  padding: 0 1.2rem;
  border-left: 1px solid var(--fs-public-line);
}
.fs-pricing-policy__items h3 {
  margin: 0;
  font-size: 1.02rem;
}
.fs-pricing-policy__items p {
  margin: 0.45rem 0 0;
  color: var(--fs-public-muted);
  font-size: 1rem;
  line-height: 1.52;}

/* Open, natural-height purchase questions. */
.fs-pricing-faq {
  margin-top: clamp(1.75rem, 2.4vw, 2.5rem);
  padding-block: 1.15rem;
  border-block: 1px solid var(--fs-public-line-strong);
  background: transparent;
}
.fs-pricing-faq > header {
  max-width: 50rem;
  padding-bottom: 0.75rem;}
.fs-pricing-faq h2 {
  margin: 0;
  line-height: 1.02;
  letter-spacing: -0.035em;
}
.fs-pricing-faq > div {
  padding-top: 0.5rem;
  border-top: 1px solid var(--fs-public-line-strong);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 1.25rem;}
.fs-pricing-faq__group {
  min-width: 0;
}
.fs-pricing-faq__group h3 {
  margin: 0;
  padding: 0.65rem 0;
  color: var(--fs-public-teal-dark);
  font-size: 1rem;
}
.fs-pricing-faq details {
  border-top: 1px solid var(--fs-public-line);
}
.fs-pricing-faq summary {
  min-height: 3.1rem;
  padding: 0.72rem 1.25rem 0.72rem 0;
  cursor: pointer;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.42;}
.fs-pricing-faq details p {
  margin: 0 0 0.8rem;
  color: var(--fs-public-muted);
  font-size: 1rem;
  line-height: 1.55;}

/* One restrained purchase close. */
.fs-pricing-conversion {
  margin: clamp(1.75rem, 2.4vw, 2.5rem) 0 0.75rem;
  padding: clamp(1.5rem, 2.7vw, 2.15rem);
  border: 1px solid var(--fs-public-accent-soft);
  border-radius: var(--fs-public-radius-md);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 2rem;
  color: var(--fs-public-inverse);
  background: var(--fs-premium-hero-background);
}
.fs-pricing-conversion .fs-public-eyebrow {
  color: var(--fs-public-mint);
}
.fs-pricing-conversion h2 {
  max-width: 48rem;
  margin: 0;
  line-height: 1;
  letter-spacing: -0.04em;
}
.fs-pricing-conversion > div:first-child > p:last-child {
  max-width: 44rem;
  margin: 0.75rem 0 0;
  color: var(--fs-public-inverse-78);
  font-size: 1.02rem;
  line-height: 1.5;
}
.fs-pricing-conversion .fs-public-button--secondary {
  border-color: var(--fs-public-inverse-45);
  color: var(--fs-public-inverse);
}

/* Security owns one buyer-readable trust narrative. */
.fs-security-hero {
  margin-top: 1.25rem;
  padding: clamp(1rem, 1.8vw, 1.5rem);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.55fr);
  align-items: center;
  gap: clamp(1.5rem, 3vw, 3rem);
}
.fs-security-hero__copy {
  max-width: none;
}
.fs-security-hero h1 {
  max-width: none;
  margin: 0;
  font-size: clamp(1.9rem, 3vw, 2.75rem);
  line-height: 0.99;
}
.fs-security-hero .fs-public-lead {
  max-width: 45rem;
  margin: 0.9rem 0 0;
  line-height: 1.55;
}
.fs-security-hero .fs-public-actions {
  margin-top: 1.15rem;
}
.fs-security-hero__summary {
  padding: 0.35rem 1.15rem;
  border: 1px solid var(--fs-public-inverse-20);
  border-radius: var(--fs-public-radius-md);
  background: var(--fs-public-deep-glass);
  box-shadow: 0 18px 45px var(--fs-public-deep-shadow);
}
.fs-security-hero__summary dl {
  margin: 0;
}
.fs-security-hero__summary dl > div {
  padding: 0.9rem 0;
  border-bottom: 1px solid var(--fs-public-inverse-18);
}
.fs-security-hero__summary dl > div:last-child {
  border-bottom: 0;
}
.fs-security-hero__summary dt {
  color: var(--fs-public-mint);
  font-size: 0.83rem;
  font-weight: 900;
}
.fs-security-hero__summary dd {
  margin: 0.35rem 0 0;
  color: var(--fs-public-inverse-82);
  font-size: 0.92rem;
  line-height: 1.45;
}

.fs-security-controls {
  width: 100%;
  margin-top: clamp(1.25rem, 2vw, 1.75rem);
  padding: clamp(1.25rem, 2.3vw, 1.75rem);
  border: 1px solid var(--fs-public-line);
  background: var(--fs-public-surface);
}
.fs-security-controls > header {
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--fs-public-line-strong);
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 0.55fr);
  align-items: start;
  gap: 0.7rem 3rem;
}
.fs-security-controls > header > div { display: contents; }
.fs-security-controls > header .fs-public-eyebrow { grid-column: 1 / -1; grid-row: 1; margin-bottom: 0; }
.fs-security-controls > header h2,
.fs-security-controls > header p {
  margin-top: 0;
}
.fs-security-controls > header h2 {
  grid-column: 1;
  grid-row: 2;
  margin-bottom: 0;
}
.fs-security-controls > header > p {
  grid-column: 2;
  grid-row: 2;
  margin-bottom: 0;
  color: var(--fs-public-muted);
}
.fs-security-control-groups {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2.5rem);
}
.fs-security-control-group {
  min-width: 0;
  padding-top: 0.85rem;
  border-top: 3px solid var(--fs-public-teal);
}
.fs-security-control-group > h3 {
  margin: 0;
  font-size: 1.25rem;
}
.fs-security-control-group__lead {
  margin: 0.45rem 0 0;
  color: var(--fs-public-muted);
  font-size: 0.94rem;
  line-height: 1.48;
}
.fs-security-control-group dl {
  margin: 0.7rem 0 0;
}
.fs-security-control-group dl > div {
  padding: 0.8rem 0;
  border-top: 1px solid var(--fs-public-line);
}
.fs-security-control-group dl > div:last-child {
  border-bottom: 1px solid var(--fs-public-line);
}
.fs-security-control-group dt {
  color: var(--fs-public-ink);
  font-weight: 850;
}
.fs-security-control-group dd {
  margin: 0.42rem 0 0;
  color: var(--fs-public-muted);
  font-size: 0.95rem;
  line-height: 1.5;
}

.fs-security-payment {
  width: 100%;
  margin-top: clamp(1.25rem, 2vw, 1.75rem);
  padding: clamp(1.3rem, 2.4vw, 1.8rem);
  color: var(--fs-public-inverse);
  background: var(--fs-premium-hero-background);
  box-shadow: var(--fs-public-shadow-soft);
}
.fs-security-payment > header {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(18rem, 0.55fr);
  align-items: start;
  gap: 0.7rem 3rem;
}
.fs-security-payment > header .fs-public-eyebrow,
.fs-security-payment > header h2 {
  grid-column: 1;
}
.fs-security-payment > header .fs-public-eyebrow {
  grid-column: 1 / -1;
  grid-row: 1;
  color: var(--fs-public-mint);
  margin-bottom: 0;
}
.fs-security-payment > header h2 {
  grid-row: 2;
  margin: 0;
  color: var(--fs-public-inverse);
}
.fs-security-payment > header > p:last-child {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  color: var(--fs-public-inverse-82);
}
.fs-security-trust-grid {
  margin-top: 1.1rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.fs-security-trust-grid article {
  padding-top: 0.8rem;
  border-top: 1px solid var(--fs-public-inverse-40);
}
.fs-security-trust-grid span {
  color: var(--fs-public-mint);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}
.fs-security-trust-grid h3 {
  margin: 0.5rem 0 0;
  color: var(--fs-public-inverse);
}
.fs-security-trust-grid p {
  margin: 0.5rem 0 0;
  color: var(--fs-public-inverse-82);
  font-size: 0.94rem;
  line-height: 1.48;
}

.fs-security-responsibility {
  width: 100%;
  margin-top: clamp(1.25rem, 2vw, 1.75rem);
  padding: clamp(1.25rem, 2.3vw, 1.7rem);
  border: 1px solid var(--fs-public-line-blue);
  background: var(--fs-public-pale-blue);
}
.fs-security-responsibility h2 {
  margin: 0;
}
.fs-security-responsibility ol {
  margin: 1rem 0 0;
  padding: 0;
  border-top: 1px solid var(--fs-public-line-strong);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
}
.fs-security-responsibility li {
  min-width: 0;
  padding: 1rem 1rem 0 0;
}
.fs-security-responsibility li + li {
  padding-left: 1rem;
  border-left: 1px solid var(--fs-public-line);
}
.fs-security-responsibility li > span {
  color: var(--fs-public-teal);
  font-size: 0.78rem;
  font-weight: 900;
}
.fs-security-responsibility h3 {
  margin: 0.45rem 0 0;
}
.fs-security-responsibility li p {
  margin: 0.5rem 0 0;
  color: var(--fs-public-muted);
  font-size: 0.95rem;
  line-height: 1.48;
}

.fs-security-report {
  width: 100%;
  margin-top: clamp(1.25rem, 2vw, 1.75rem);
  padding: clamp(1.25rem, 2.3vw, 1.75rem);
  border: 1px solid var(--fs-public-line-blue);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.42fr);
  align-items: center;
  gap: 1.25rem clamp(2rem, 4vw, 4rem);
  background: var(--fs-public-pale-blue-card);
}
.fs-security-report h2 {
  margin: 0;
}
.fs-security-report > div > p:last-child {
  margin: 0.65rem 0 0;
  color: var(--fs-public-muted);
}
.fs-security-report aside {
  padding-left: clamp(1.25rem, 2.5vw, 2rem);
  border-left: 1px solid var(--fs-public-line-strong);
}
.fs-security-report__address {
  margin: 0;
  color: var(--fs-public-ink);
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  font-weight: 850;
  overflow-wrap: anywhere;
}
.fs-security-report aside .fs-public-button {
  width: 100%;
  margin-top: 0.85rem;
}

.fs-security-limitations {
  width: 100%;
  margin-block: clamp(1.25rem, 2vw, 1.75rem);
  padding-block: 0.9rem;
  border-block: 1px solid var(--fs-public-line-strong);
  display: grid;
  grid-template-columns: minmax(10rem, 0.25fr) minmax(0, 1fr);
  gap: 0.8rem 2rem;
}
.fs-security-limitations span {
  color: var(--fs-public-muted);
}

/* Privacy uses the public shell width, with readable label-and-copy rows. */
.fs-privacy-intro { margin-top: var(--fs-public-section-space); }
.fs-privacy-intro h1 { margin: 0; }
.fs-privacy-intro .fs-public-lead { max-width: 52rem; }
.fs-public-policy-date { margin: 1rem 0; color: var(--fs-public-muted); }
.fs-privacy-data,
.fs-privacy-purposes,
.fs-privacy-payment,
.fs-privacy-boundary,
.fs-privacy-practices,
.fs-privacy-close { width: 100%; margin: 1.5rem 0 0; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--fs-public-line); background: linear-gradient(135deg, var(--fs-public-pale-gradient-start), var(--fs-public-pale-gradient-end)); }
.fs-privacy-data h2,
.fs-privacy-purposes h2,
.fs-privacy-payment h2,
.fs-privacy-boundary h2,
.fs-privacy-practices h2,
.fs-privacy-close h2 { margin: 0; font-size: clamp(1.4rem, 2.5vw, 1.9rem); }
.fs-privacy-data p,
.fs-privacy-data dd,
.fs-privacy-purposes p,
.fs-privacy-payment > p,
.fs-privacy-boundary > p,
.fs-privacy-practices p,
.fs-privacy-close p { color: var(--fs-public-muted); font-size: 1rem; line-height: 1.65; }
.fs-privacy-data dl { margin: 0; }
.fs-privacy-data dl > div,
.fs-privacy-practice-group article { display: grid; grid-template-columns: minmax(10rem, 0.36fr) minmax(0, 1fr); gap: 0.5rem 2rem; }
.fs-privacy-data dd,
.fs-privacy-practice-group article p { max-width: var(--fs-public-reading); }
.fs-privacy-purposes > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem; }
.fs-privacy-payment,
.fs-privacy-boundary,
.fs-privacy-close { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr); gap: 1.75rem; align-items: start; }
.fs-privacy-payment > p,
.fs-privacy-boundary > p { margin: 0; }
.fs-privacy-data dl > div,
.fs-privacy-purposes article,
.fs-privacy-practice-group { padding-top: 1.25rem; margin-top: 1.25rem; border-top: 1px solid var(--fs-public-line); }
.fs-privacy-data dt { font-size: 1.05rem; font-weight: 850; }
.fs-privacy-data dd { margin: 0; }
.fs-privacy-purposes article > span { color: var(--fs-public-teal); font-weight: 850; }
.fs-privacy-purposes h3,
.fs-privacy-practice-group h3,
.fs-privacy-close h3 { margin: 0.4rem 0; }
.fs-privacy-practice-group h4 { margin: 0; font-size: 1.05rem; }
.fs-privacy-practice-group article { padding: 1rem 0; }
.fs-privacy-practice-group article + article { border-top: 1px solid var(--fs-public-line); }
.fs-privacy-practice-group article p { margin: 0; }
.fs-privacy-close aside { padding-left: 1.75rem; border-left: 1px solid var(--fs-public-line); }
.fs-privacy-close .fs-public-button { white-space: normal; }

.fs-terms-overview {
  margin-top: 1rem;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid var(--fs-public-line-blue);
  border-radius: var(--fs-public-radius-md);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  background: var(--fs-public-pale-blue);
  box-shadow: var(--fs-public-shadow-soft);
}
.fs-terms-overview > div {
  min-width: 0;
  padding: 0.9rem 1rem;
  border: 1px solid var(--fs-public-line);
  border-radius: var(--fs-public-radius-sm);
  background: var(--fs-public-surface);
}
.fs-terms-overview span,
.fs-terms-overview strong,
.fs-terms-overview a {
  display: block;
}
.fs-terms-overview span {
  color: var(--fs-public-teal-dark);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.045em;
}
.fs-terms-overview strong,
.fs-terms-overview a {
  margin-top: 0.32rem;
  color: var(--fs-public-ink);
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.fs-terms-overview a {
  text-decoration: none;
}
.fs-terms-overview a:hover {
  color: var(--fs-public-teal-dark);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.fs-terms-layout {
  margin-top: clamp(2rem, 4vw, 3rem);
  display: grid;
  grid-template-columns: minmax(15rem, 0.34fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(2rem, 4vw, 3.5rem);
}
.fs-terms-index {
  position: sticky;
  top: 1rem;
  border: 1px solid var(--fs-public-line-blue);
  border-radius: var(--fs-public-radius-md);
  background: var(--fs-public-surface);
  box-shadow: var(--fs-public-shadow-soft);
  overflow: hidden;
}
.fs-terms-index summary {
  padding: 1.15rem;
  border-bottom: 1px solid var(--fs-public-line);
  cursor: pointer;
  list-style: none;
  background: var(--fs-public-pale-blue);
}
.fs-terms-index summary::-webkit-details-marker {
  display: none;
}
.fs-terms-index summary span,
.fs-terms-index summary strong {
  display: block;
}
.fs-terms-index summary span {
  color: var(--fs-public-teal-dark);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.045em;
}
.fs-terms-index summary strong {
  margin-top: 0.28rem;
  color: var(--fs-public-ink);
  font-size: 1rem;
  line-height: 1.35;
}
.fs-terms-index nav {
  padding: 0.8rem;
}
.fs-terms-index ol {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
  list-style: none;
}
.fs-terms-index__chapter a {
  padding: 0.72rem;
  border-radius: var(--fs-public-radius-sm);
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  align-items: start;
  gap: 0.65rem;
  color: var(--fs-public-ink);
  text-decoration: none;
}
.fs-terms-index__chapter a:hover,
.fs-terms-index__chapter a:focus-visible {
  background: var(--fs-public-pale-blue);
}
.fs-terms-index__chapter a > span {
  color: var(--fs-public-teal-dark);
  font-size: 0.72rem;
  font-weight: 900;
}
.fs-terms-index__chapter strong,
.fs-terms-index__chapter small {
  display: block;
}
.fs-terms-index__chapter strong {
  font-size: 0.86rem;
  line-height: 1.3;
}
.fs-terms-index__chapter small {
  margin-top: 0.18rem;
  color: var(--fs-public-muted);
  font-size: 0.72rem;
}

.fs-terms-body {
  min-width: 0;
  display: grid;
  gap: clamp(1.25rem, 2.4vw, 1.75rem);
}
.fs-terms-chapter {
  border: 1px solid var(--fs-public-line);
  border-radius: var(--fs-public-radius-md);
  background: var(--fs-public-surface);
  box-shadow: var(--fs-public-shadow-soft);
  scroll-margin-top: 1rem;
  overflow: hidden;
}
.fs-terms-chapter__header {
  padding: clamp(1.15rem, 2.5vw, 1.65rem);
  border-bottom: 1px solid var(--fs-public-line-blue);
  background: linear-gradient(
    135deg,
    var(--fs-public-pale-blue) 0%,
    var(--fs-public-pale-2) 100%
  );
}
.fs-terms-chapter__header .fs-public-eyebrow {
  margin-bottom: 0.42rem;
  color: var(--fs-public-teal-dark);
}
.fs-terms-chapter__header h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.6vw, 2rem);
}
.fs-terms-body [data-fs-public-legal-section] {
  padding: clamp(1.25rem, 2.6vw, 1.7rem);
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  align-items: start;
  gap: 0.85rem 1.15rem;
  scroll-margin-top: 1rem;
}
.fs-terms-body [data-fs-public-legal-section]
  + [data-fs-public-legal-section] {
  border-top: 1px solid var(--fs-public-line);
}
.fs-terms-body [data-fs-public-legal-section] > span {
  padding-top: 0.2rem;
  color: var(--fs-public-teal-dark);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.fs-terms-body [data-fs-public-legal-section] h3 {
  margin: 0;
  color: var(--fs-public-ink);
  font-size: clamp(1.2rem, 2vw, 1.58rem);
  line-height: 1.2;
}
.fs-terms-body [data-fs-public-legal-section] p {
  max-width: 52rem;
  margin: 0.65rem 0 0;
  color: var(--fs-public-muted);
  font-size: 1rem;
  line-height: 1.72;
}



@media print {
  .fs-terms-overview {
    box-shadow: none;
  }

  .fs-terms-index {
    display: none;
  }

  .fs-terms-layout {
    display: block;
  }

  .fs-terms-body {
    display: block;
  }

  .fs-terms-chapter {
    margin-top: 1rem;
    border-color: var(--fs-public-line);
    box-shadow: none;
    overflow: visible;
  }

  .fs-terms-chapter__header {
    background: none;
  }

  .fs-terms-body [data-fs-public-legal-section] {
    break-inside: avoid;
  }

}

/* Support owns operational issue routing, evidence intake, and escalation. */
.fs-support-hero {
  margin-top: var(--fs-public-section-space);
  padding: clamp(1rem, 2vw, 1.75rem);
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(2rem, 4vw, 4rem);
}
.fs-support-hero__copy h1 {
  max-width: none;
  margin: 0;
  font-size: clamp(1.9rem, 3vw, 2.75rem);
  line-height: 1.01;
}
.fs-support-hero__copy .fs-public-lead {
  max-width: none;
  margin: 1.1rem 0 0;
  font-size: clamp(1.02rem, 1.4vw, 1.17rem);
  line-height: 1.62;
}
.fs-support-hero__copy .fs-public-actions {
  margin-top: 1.45rem;
}

.fs-support-navigator {
  margin-top: var(--fs-public-section-space);
  padding: clamp(1.7rem, 3.2vw, 2.5rem);
  border: 1px solid var(--fs-public-line-blue);
  background: var(--fs-public-pale-blue);
}
.fs-support-navigator > header {
  display: grid;
  grid-template-columns: minmax(16rem, 0.76fr) minmax(0, 1.24fr);
  align-items: start;
  gap: 0.75rem 4rem;
}
.fs-support-navigator > header > div { display: contents; }
.fs-support-navigator .fs-public-eyebrow { grid-column: 1 / -1; grid-row: 1; margin: 0; }
.fs-support-navigator h2 {
  grid-column: 1;
  grid-row: 2;
  max-width: 32rem;
  margin: 0;
}
.fs-support-navigator > header > p {
  grid-column: 2;
  grid-row: 2;
  max-width: 41rem;
  margin: 0;
  color: var(--fs-public-muted);
}
.fs-support-issues {
  margin: 1.6rem 0 0;
  padding: 0;
  border-top: 1px solid var(--fs-public-line-strong);
  list-style: none;
}
.fs-support-issue {
  padding: 1.15rem 0;
  border-bottom: 1px solid var(--fs-public-line);
  display: grid;
  grid-template-columns: 2.4rem minmax(12rem, 0.7fr) minmax(15rem, 1fr);
  align-items: start;
  gap: 1rem 1.5rem;
}
.fs-support-issue__number {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--fs-public-inverse);
  background: var(--fs-public-teal-dark);
  font-size: 0.72rem;
  font-weight: 850;
}
.fs-support-issue h3 {
  margin: 0;
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
}
.fs-support-issue__copy p {
  margin: 0.45rem 0 0;
  color: var(--fs-public-muted);
}
.fs-support-issue__include {
  margin: 0;
  padding-left: 1.4rem;
  border-left: 1px solid var(--fs-public-line);
}
.fs-support-issue__include strong,
.fs-support-issue__include span {
  display: block;
}
.fs-support-issue__include strong {
  color: var(--fs-public-teal-dark);
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.fs-support-issue__include span {
  margin-top: 0.3rem;
  color: var(--fs-public-muted);
  font-size: 0.86rem;
}

.fs-support-boundaries {
  margin-top: var(--fs-public-section-space);
  padding: clamp(1.7rem, 3vw, 2.35rem);
  border: 1px solid var(--fs-public-line-blue);
  background: var(--fs-public-pale-2);
}
.fs-support-boundaries h2 {
  max-width: 48rem;
  margin: 0;
}
.fs-support-boundaries__grid {
  margin-top: 1.4rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.fs-support-boundaries__grid article {
  padding: 1.25rem;
  border: 1px solid var(--fs-public-line);
  border-radius: var(--fs-public-radius-md);
  background: var(--fs-public-surface);
}
.fs-support-boundaries__grid article > p {
  margin: 0;
  color: var(--fs-public-teal-dark);
  font-weight: 850;
}
.fs-support-boundaries__grid ul {
  margin: 0.8rem 0 0;
  padding-left: 1.15rem;
  color: var(--fs-public-muted);
}
.fs-support-boundaries__grid li + li {
  margin-top: 0.5rem;
}

.fs-support-escalation {
  margin-top: var(--fs-public-section-space);
  padding: clamp(1.5rem, 3vw, 2rem);
  border: 1px solid var(--fs-public-line-blue);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem 3rem;
  background: var(--fs-public-pale-blue);
}
.fs-support-escalation h2 {
  margin: 0;
}
.fs-support-escalation p:last-child {
  max-width: 58rem;
  margin-bottom: 0;
  color: var(--fs-public-muted);
}
.fs-public-page--support .fs-public-policy-strip { margin-bottom: 0.75rem; }

/* Contact owns one founder-led buyer, rollout, and support conversation. */
.fs-contact-hero {
  margin-top: var(--fs-public-section-space);
  padding: clamp(1rem, 2vw, 1.75rem);
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(2rem, 4vw, 4rem);
}
.fs-contact-hero__copy h1 {
  max-width: none;
  margin: 0;
  font-size: clamp(1.9rem, 3vw, 2.75rem);
  line-height: 1.01;
}
.fs-contact-hero__copy .fs-public-lead {
  max-width: none;
  margin: 1.15rem 0 0;
  font-size: clamp(1.02rem, 1.45vw, 1.18rem);
  line-height: 1.62;
}
.fs-contact-hero__copy .fs-public-actions { margin-top: 1.5rem; }
.fs-contact-hero .fs-public-button--secondary {
  border-color: var(--fs-public-inverse-45);
  color: var(--fs-public-inverse);
}
.fs-contact-social {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.fs-contact-paths {
  padding-block: clamp(1.5rem, 3vw, 2.5rem);
}
.fs-contact-paths > header {
  display: grid;
  grid-template-columns: minmax(16rem, 0.78fr) minmax(0, 1.22fr);
  align-items: start;
  gap: 0.75rem 4rem;
}
.fs-contact-paths > header > div { display: contents; }
.fs-contact-paths > header .fs-public-eyebrow { grid-column: 1 / -1; grid-row: 1; margin: 0; }
.fs-contact-paths > header h2 {
  grid-column: 1;
  grid-row: 2;
  max-width: 31rem;
  margin: 0;
}
.fs-contact-paths > header > p {
  grid-column: 2;
  grid-row: 2;
  max-width: 39rem;
  margin: 0;
  color: var(--fs-public-muted);
  font-size: 1.02rem;
}
.fs-contact-paths__grid {
  margin-top: 1.6rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.fs-contact-path {
  min-height: 13rem;
  padding: clamp(1.3rem, 2.5vw, 1.75rem);
  border: 1px solid var(--fs-public-line);
  border-radius: var(--fs-public-radius-md);
  background: var(--fs-public-surface);
  box-shadow: var(--fs-public-shadow-soft);
}
.fs-contact-path > span {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--fs-public-inverse);
  background: var(--fs-public-teal-dark);
  font-size: 0.76rem;
  font-weight: 850;
}
.fs-contact-path h3 {
  margin: 1rem 0 0;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}
.fs-contact-path p {
  margin: 0.65rem 0 0;
  color: var(--fs-public-muted);
}

.fs-contact-directory {
  margin-top: var(--fs-public-section-space);
  padding: clamp(1.8rem, 3.5vw, 2.75rem);
  color: var(--fs-public-inverse);
  background: linear-gradient(
    135deg,
    var(--fs-public-navy) 0%,
    var(--fs-public-gradient-teal) 100%
  );
  box-shadow: var(--fs-public-shadow);
}
.fs-contact-directory > header { max-width: 52rem; }
.fs-contact-directory .fs-public-eyebrow {
  color: var(--fs-public-mint);
}
.fs-contact-directory h2 {
  margin: 0;
  color: var(--fs-public-inverse);
}
.fs-contact-directory > header > p:last-child {
  margin: 0.8rem 0 0;
  color: var(--fs-public-inverse-78);
}
.fs-contact-directory__grid {
  margin-top: 1.5rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}
.fs-contact-directory__item {
  min-width: 0;
  padding: 1.1rem;
  border: 1px solid var(--fs-public-inverse-18);
  border-radius: var(--fs-public-radius-md);
  background: var(--fs-public-deep-glass);
}
.fs-contact-directory__item p {
  margin: 0;
  color: var(--fs-public-mint);
  font-size: 0.76rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.fs-contact-directory__item a {
  margin-top: 0.45rem;
  display: block;
  color: var(--fs-public-inverse);
  font-size: 0.96rem;
  font-weight: 850;
  line-height: 1.35;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.fs-contact-directory__item a:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.fs-contact-directory__item span {
  margin-top: 0.55rem;
  display: block;
  color: var(--fs-public-inverse-72);
  font-size: 0.82rem;
  line-height: 1.48;
}
.fs-public-page--contact .fs-public-policy-strip { margin-bottom: 0.75rem; }

/* Real-object surfaces shared by checkout and account/billing status pages. */
.fs-public-card { border: 1px solid var(--fs-public-line); border-radius: var(--fs-public-radius-md); background: var(--fs-public-surface); box-shadow: var(--fs-public-shadow-soft); }
.fs-public-card--padded { padding: clamp(1.25rem, 2.5vw, 1.75rem); }
.fs-public-card--compact { padding: 1.1rem; }
.fs-public-form,
.fs-public-checkout-form,
.fs-public-billing-actions { display: grid; gap: 1rem; }
.fs-public-field { min-width: 0; display: grid; align-content: start; gap: 0.4rem; color: var(--fs-public-ink); font-size: 0.9rem; font-weight: 800; }
.fs-public-field--wide { grid-column: 1 / -1; }
.fs-public-field__hint { color: var(--fs-public-muted); font-size: 0.78rem; font-weight: 500; line-height: 1.45; }
.fs-public-field input,
.fs-public-field select,
.fs-public-field textarea,
.fs-public-form input,
.fs-public-form select,
.fs-public-form textarea,
.fs-public-billing-actions input,
.fs-public-billing-actions select { width: 100%; min-height: var(--fs-public-control-height); padding: 0.7rem 0.8rem; border: 1px solid var(--fs-public-line-strong); border-radius: var(--fs-public-radius-sm); color: var(--fs-public-ink); background: var(--fs-public-surface); font: inherit; font-size: 1rem; }
.fs-public-field textarea { min-height: 6rem; resize: vertical; }
.fs-public-field input:focus-visible,
.fs-public-field select:focus-visible,
.fs-public-field textarea:focus-visible,
.fs-public-consent-option input:focus-visible,
.fs-checkout-email-reuse input:focus-visible,
.fs-public-button:focus-visible,
.fs-public-nav__link:focus-visible,
.fs-public-shell a:focus-visible { outline: 3px solid var(--fs-public-focus-ring); outline-offset: 3px; }
.fs-public-consent-list { display: grid; gap: 0.8rem; }
.fs-public-consent-option { min-height: 2.8rem; padding: 0.65rem 0; border-top: 1px solid var(--fs-public-line); font-weight: 650; }
.fs-public-consent-option label { min-height: 2.75rem; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0.65rem; cursor: pointer; }
.fs-public-consent-option p { margin: 0 0 0 1.8rem; color: var(--fs-public-muted); font-size: 0.85rem; font-weight: 500; }
.fs-public-consent-option input { width: 1.15rem; height: 1.15rem; margin-top: 0.15rem; }
.fs-checkout-email-reuse:not([hidden]) { display: flex; align-items: center; gap: 0.65rem; min-height: 2.75rem; cursor: pointer; }
.fs-checkout-email-reuse input { width: 1.15rem; height: 1.15rem; flex-shrink: 0; }

.fs-public-button[aria-pressed="true"] { border-color: var(--fs-public-teal); background: var(--fs-public-teal); color: var(--fs-public-inverse); }
.fs-checkout-plan-rail > .fs-public-field { margin-top: 1rem; }

/* Checkout owns transactional composition and responsive reflow. */
.fs-public-transaction-body .fs-public-main,
.fs-checkout-main { width: min(calc(100% - (2 * var(--fs-public-gutter))), var(--fs-public-standard)); }
.fs-public-transaction-body { background: linear-gradient(180deg, var(--fs-public-pale-2), var(--fs-public-page) 24rem); }
.fs-checkout-header { width: min(calc(100% - (2 * var(--fs-public-gutter))), var(--fs-public-standard)); }
.fs-checkout-nav { flex-wrap: wrap; }
.fs-checkout-hero { margin-top: clamp(0.75rem, 1.5vw, 1.25rem); padding: clamp(1rem, 2vw, 1.4rem) clamp(1rem, 2.5vw, 1.5rem); border: 1px solid var(--fs-public-line); border-left: 0.3rem solid var(--fs-public-teal); border-radius: var(--fs-public-radius-md); display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.72fr); align-items: center; gap: 1rem 2rem; background: var(--fs-public-surface); box-shadow: var(--fs-public-shadow-soft); }
.fs-checkout-hero h1,
.fs-checkout-status-hero h1 { margin: 0; font-size: clamp(1.9rem, 3.5vw, 2.75rem); }
.fs-checkout-hero h1 { font-size: clamp(1.85rem, 3vw, 2.4rem); }
.fs-checkout-hero .fs-public-lead,
.fs-checkout-status-hero .fs-public-lead { margin: 0.65rem 0 0; }
.fs-checkout-hero .fs-public-lead { max-width: 46rem; font-size: clamp(1rem, 1.8vw, 1.1rem); }
.fs-public-progress { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fs-public-progress li { position: relative; padding-top: 1.35rem; border-top: 1px solid var(--fs-public-line-strong); color: var(--fs-public-muted); font-size: 0.75rem; }
.fs-public-progress li::before { content: ""; position: absolute; top: -0.3rem; left: 0; width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--fs-public-teal); }
.fs-public-progress span { display: block; color: var(--fs-public-teal); font-weight: 900; }
.fs-public-progress strong { display: block; color: var(--fs-public-ink); }
.fs-checkout-progress li[aria-current="step"] { border-top-color: var(--fs-public-teal); }
.fs-checkout-progress li[aria-current="step"]::before { box-shadow: 0 0 0 0.3rem var(--fs-public-accent-soft); }
.fs-checkout-layout { margin-block: clamp(1.25rem, 2.5vw, 2rem); display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.44fr); align-items: start; gap: clamp(1.25rem, 2.5vw, 2rem); }
.fs-checkout-form-card { grid-column: 1; grid-row: 1; }
.fs-checkout-plan-rail { grid-column: 2; grid-row: 1; border-color: var(--fs-public-line-blue); background: var(--fs-public-pale-blue-card); }
.fs-checkout-plan-rail h2 { margin: 0; font-size: clamp(1.35rem, 2.2vw, 1.75rem); }
.fs-checkout-plan-rail > p:not(.fs-public-eyebrow) { color: var(--fs-public-muted); }
.fs-checkout-plan-grid { margin: 1rem 0 0; padding: 0; border: 0; display: grid; gap: 0.65rem; }
.fs-checkout-plan-grid legend { margin-bottom: 0.65rem; font-weight: 850; }
.fs-checkout-plan-option { min-height: 3.5rem; padding: 0.75rem; border: 1px solid var(--fs-public-line-strong); border-radius: var(--fs-public-radius-sm); display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0.7rem; background: var(--fs-public-surface); cursor: pointer; }
.fs-checkout-plan-option:has(input:checked) { border-color: var(--fs-public-teal); background: var(--fs-public-pale); }
.fs-checkout-plan-option input { width: 1.2rem; height: 1.2rem; }
.fs-checkout-plan-option span { display: grid; gap: 0.2rem; }
.fs-checkout-plan-option small { color: var(--fs-public-muted); font-weight: 500; }
.fs-checkout-order-lines { margin: 1.1rem 0 0; border-top: 1px solid var(--fs-public-line-blue); }
.fs-checkout-order-lines > div { padding: 0.65rem 0; border-bottom: 1px solid var(--fs-public-line-blue); display: grid; gap: 0.15rem; }
.fs-checkout-order-lines dt { color: var(--fs-public-muted); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.fs-checkout-order-lines dd { min-width: 0; margin: 0; font-size: 1rem; font-weight: 800; overflow-wrap: anywhere; }
.fs-checkout-order-next { margin-top: 1rem; padding: 0.85rem; border-left: 0.25rem solid var(--fs-public-teal); display: grid; gap: 0.25rem; background: var(--fs-public-surface); }
.fs-checkout-order-next span { color: var(--fs-public-muted); font-size: 0.82rem; }
.fs-public-section-nav,
.fs-checkout-section-nav {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.fs-public-section-nav a,
.fs-checkout-section-nav a {
  min-height: 44px;
  padding: 0.55rem 0.75rem;
  border-bottom: 2px solid var(--fs-public-accent-soft);
  display: inline-flex;
  align-items: center;
  color: var(--fs-public-teal-dark);
  font-size: 0.82rem;
  font-weight: 800;
  text-decoration: none;
}
.fs-public-plan-button { width: 100%; white-space: normal; }
.fs-public-checkout-panel__header { padding-bottom: 1.15rem; border-bottom: 1px solid var(--fs-public-line-strong); }
.fs-public-checkout-panel__header h2 { margin: 0; font-size: clamp(1.5rem, 2.7vw, 2.15rem); }
.fs-public-checkout-panel__header > p:last-child { color: var(--fs-public-muted); }
.fs-checkout-form-grid,
.fs-public-checkout-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem 1.2rem; }
.fs-checkout-section-heading { grid-column: 1 / -1; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--fs-public-line-strong); display: flex; align-items: center; gap: 0.65rem; color: var(--fs-public-teal-dark); }
.fs-checkout-section-heading[id] { scroll-margin-top: 5rem; }
.fs-checkout-section-heading span { width: 1.65rem; height: 1.65rem; border: 1px solid var(--fs-public-teal); border-radius: 50%; display: grid; place-items: center; font-size: 0.72rem; font-weight: 900; }
.fs-checkout-consent-card,
.fs-checkout-after-card,
.fs-checkout-final-review { margin-top: 1.25rem; }
.fs-checkout-cancellation-policy { padding-top: 1rem; border-top: 1px solid var(--fs-public-line); color: var(--fs-public-muted); }
.fs-checkout-cancellation-policy p { margin: 0; }
.fs-checkout-cancellation-policy p + p { margin-top: 0.65rem; }
.fs-checkout-form-card { border-color: var(--fs-public-accent-soft); background: var(--fs-public-surface); }
.fs-checkout-consent-card { padding: clamp(1rem, 2vw, 1.35rem); border: 1px solid var(--fs-public-accent-soft); border-radius: var(--fs-public-radius-md); background: var(--fs-public-pale-2); }
.fs-checkout-consent-header h3,
.fs-checkout-after-card h3,
.fs-checkout-final-review h3 { margin: 0; font-size: clamp(1.2rem, 2vw, 1.5rem); }
.fs-checkout-consent-header > p:last-child { margin-bottom: 0; color: var(--fs-public-muted); }
.fs-checkout-consent-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.75rem; }
.fs-checkout-consent-grid .fs-public-consent-option { padding: 0.75rem; border: 1px solid var(--fs-public-line); background: var(--fs-public-surface); }
.fs-checkout-consent-grid .fs-public-consent-option p { line-height: 1.5; }
.fs-checkout-after-card { padding: clamp(1rem, 2vw, 1.35rem); border: 1px solid var(--fs-public-accent-soft); border-radius: var(--fs-public-radius-md); background: var(--fs-public-pale); }
.fs-checkout-after-steps { margin: 1rem 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; counter-reset: checkout-after; }
.fs-checkout-after-steps li { min-width: 0; padding-top: 0.75rem; border-top: 2px solid var(--fs-public-accent-soft); display: grid; align-content: start; gap: 0.35rem; counter-increment: checkout-after; }
.fs-checkout-after-steps strong::before { content: counter(checkout-after) ". "; color: var(--fs-public-teal); }
.fs-checkout-after-steps span { color: var(--fs-public-muted); font-size: 0.86rem; line-height: 1.5; }
.fs-checkout-final-review { padding: clamp(1.1rem, 2vw, 1.5rem); border-radius: var(--fs-public-radius-md); display: grid; grid-template-columns: minmax(0, 1fr) minmax(13rem, 0.42fr); align-items: center; gap: 1.25rem 2rem; color: var(--fs-public-inverse); background-color: var(--fs-public-navy); background-image: var(--fs-premium-hero-background); box-shadow: var(--fs-public-shadow); }
.fs-checkout-final-review h3 { color: var(--fs-public-inverse); }
.fs-checkout-final-review .fs-public-eyebrow { color: var(--fs-public-mint); }
.fs-checkout-final-review p { margin-bottom: 0; color: var(--fs-public-inverse-82); }
.fs-checkout-final-review__action { display: grid; gap: 0.65rem; }
.fs-checkout-final-review__action p { margin: 0; font-size: 0.8rem; }
.fs-checkout-final-review__action a { color: var(--fs-public-inverse); }
.fs-checkout-status-hero { width: min(100%, 48rem); margin: var(--fs-public-section-space) auto; padding: clamp(1.5rem, 3.5vw, 2.35rem); border: 1px solid var(--fs-public-line); border-top: 0.3rem solid var(--fs-public-teal); border-radius: var(--fs-public-radius-lg); background: var(--fs-public-surface); box-shadow: var(--fs-public-shadow-soft); }
.fs-checkout-main:is([data-fs-public-checkout-return], [data-fs-public-billing-status]) { min-block-size: calc(100svh - 10rem); display: grid; align-content: center; }
[data-fs-checkout-state="checkout_processing"] { border-color: var(--fs-public-accent-soft); background: var(--fs-public-pale); }
[data-fs-checkout-state="checkout_handoff"] { border-color: var(--fs-public-accent-soft); color: var(--fs-public-inverse); background-color: var(--fs-public-navy); background-image: var(--fs-premium-hero-background); box-shadow: var(--fs-public-shadow); }
[data-fs-checkout-state="checkout_handoff"] :where(h1, h2) { color: var(--fs-public-inverse); }
[data-fs-checkout-state="checkout_handoff"] .fs-public-eyebrow { color: var(--fs-public-mint); }
[data-fs-checkout-state="checkout_handoff"] > .fs-public-lead { color: var(--fs-public-inverse-82); }
[data-fs-checkout-state="checkout_handoff"] .fs-checkout-safe-summary { color: var(--fs-public-ink); }
[data-fs-checkout-state="checkout_handoff"] .fs-checkout-safe-summary h2 { color: var(--fs-public-ink); }
[data-fs-checkout-state="checkout_handoff"] .fs-checkout-safe-summary p { color: var(--fs-public-muted); }
[data-fs-checkout-state="checkout_recovery"] { border-color: var(--fs-public-accent-soft); background: var(--fs-public-pale); }
[data-fs-checkout-state="checkout_failure"] { border-color: var(--fs-public-danger); background: var(--fs-public-danger-pale); }
.fs-checkout-status-hero:not([data-fs-checkout-state="checkout_handoff"]) .fs-public-eyebrow { color: var(--fs-public-teal-dark); }
.fs-checkout-status-hero .fs-public-button--primary { color: var(--fs-public-inverse); background: var(--fs-public-teal-dark); }
.fs-checkout-status-hero > .fs-public-actions { margin-top: 1.25rem; }
.fs-checkout-status-support { margin: 1rem 0 0; color: var(--fs-public-muted); font-size: 0.84rem; }
[data-fs-checkout-state="checkout_handoff"] .fs-checkout-status-support { color: var(--fs-public-inverse-82); }
[data-fs-checkout-state="checkout_handoff"] .fs-checkout-status-support a { color: var(--fs-public-inverse); }
.fs-checkout-safe-summary { margin-top: 1.25rem; }
.fs-checkout-review { margin: clamp(1.25rem, 2.5vw, 2rem) auto; max-width: var(--fs-public-standard); display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.44fr); align-items: start; gap: clamp(1.25rem, 2.5vw, 2rem); }
.fs-checkout-review__summary { padding: clamp(1.25rem, 2.5vw, 1.75rem); border: 1px solid var(--fs-public-accent-soft); border-radius: var(--fs-public-radius-md); background: var(--fs-public-surface); box-shadow: var(--fs-public-shadow-soft); }
.fs-checkout-review__summary h2 { margin: 0; overflow-wrap: anywhere; }
.fs-checkout-review__summary form { padding-top: 0.25rem; }
.fs-checkout-review > .fs-public-policy-strip { width: 100%; margin: 0; padding: 1.2rem; border: 1px solid var(--fs-public-line-blue); border-left-width: 0.3rem; grid-template-columns: 1fr; background: var(--fs-public-pale-blue-card); }
.fs-public-definition-grid { margin: 1.5rem 0; border-top: 1px solid var(--fs-public-line); }
.fs-public-definition-grid > div { padding: 0.9rem 0; border-bottom: 1px solid var(--fs-public-line); display: grid; grid-template-columns: minmax(8rem, 0.32fr) minmax(0, 1fr); gap: 1rem; }
.fs-public-definition-grid dt { font-weight: 850; }
.fs-public-definition-grid dd { margin: 0; color: var(--fs-public-muted); }

.fs-public-state { width: min(100%, var(--fs-public-standard)); margin: var(--fs-public-section-space) auto; padding: clamp(1.75rem, 4vw, 2.75rem); border: 1px solid var(--fs-public-accent-soft); border-radius: var(--fs-public-radius-lg); color: var(--fs-public-inverse); background-color: var(--fs-public-navy); background-image: var(--fs-premium-hero-background); box-shadow: var(--fs-public-shadow); }
.fs-public-state h1 { max-width: 38rem; margin: 0; font-size: clamp(2rem, 4vw, 3.1rem); }
.fs-public-state .fs-public-eyebrow { color: var(--fs-public-mint); }
.fs-public-state .fs-public-lead { margin: 1rem 0 0; color: var(--fs-public-inverse-82); }
.fs-public-state .fs-public-button--secondary { border-color: var(--fs-public-inverse-45); color: var(--fs-public-inverse); }
.fs-public-state .fs-public-actions { margin-top: 1.5rem; }

.fs-public-footer { width: min(calc(100% - (2 * var(--fs-public-gutter))), var(--fs-public-standard)); padding-block: 1.5rem; border-top: 1px solid var(--fs-public-line); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; color: var(--fs-public-muted); font-size: 0.82rem; }
.fs-public-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.75rem 1.1rem; }
.fs-public-footer a { text-decoration: none; }
.fs-public-footer a:hover { color: var(--fs-public-teal-dark); text-decoration: underline; text-underline-offset: 0.2em; }

@media (max-width: 68rem) {
  .fs-home-hero { grid-template-columns: 1fr; gap: 1.25rem; }
  .fs-checkout-hero,
  .fs-checkout-layout,
  .fs-checkout-review { grid-template-columns: 1fr; }
  .fs-checkout-form-card,
  .fs-checkout-plan-rail { grid-column: 1; grid-row: auto; }
  .fs-checkout-plan-rail { position: static; }
  .fs-checkout-main:is([data-fs-public-checkout-return], [data-fs-public-billing-status]) { min-block-size: auto; }
}

@media (max-width: 62rem) {
  .fs-public-page-intro,
  .fs-home-conversion { grid-template-columns: 1fr; align-items: start; }
  .fs-home-outcomes { grid-template-columns: 1fr; }
  .fs-public-page-intro .fs-public-actions { justify-content: flex-start; }
  .fs-security-controls{ grid-template-columns: 1fr; gap: 2rem; }
  .fs-pricing-policy,
  .fs-pricing-conversion {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .fs-pricing-faq > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fs-pricing-intro {
    margin-top: 0.85rem;
    padding: 1.25rem;
    gap: 0.9rem;
  }
  .fs-pricing-intro h1 {
    max-width: none;
    font-size: clamp(1.9rem, 3vw, 2.75rem);
    line-height: 0.97;
  }
  .fs-pricing-intro .fs-public-lead {
    margin-top: 0.7rem;
    font-size: 0.98rem;
    line-height: 1.45;
  }
  .fs-pricing-intro .fs-public-actions {
    margin-top: 0.9rem;
  }
  .fs-security-payment > header .fs-public-eyebrow { margin-bottom: 0.4rem; }

/* Security responsive owner. */
  .fs-security-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .fs-security-hero__summary {
    width: 100%;
  }

  .fs-security-hero__summary dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .fs-security-hero__summary dl > div {
    padding: 0.8rem;
    border-bottom: 0;
  }

  .fs-security-hero__summary dl > div + div {
    border-left: 1px solid var(--fs-public-inverse-18);
  }

  .fs-security-controls > header,
  .fs-security-payment > header {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.7rem;
  }

  .fs-security-controls > header .fs-public-eyebrow,
  .fs-security-controls > header h2,
  .fs-security-controls > header > p,
  .fs-security-payment > header .fs-public-eyebrow,
  .fs-security-payment > header h2,
  .fs-security-payment > header > p:last-child {
    grid-column: 1;
    grid-row: auto;
  }

  .fs-security-report {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .fs-security-report aside {
    padding: 1rem 0 0;
    border-top: 1px solid var(--fs-public-line-strong);
    border-left: 0;
  }

  .fs-contact-hero,
  .fs-contact-paths > header {
    grid-template-columns: 1fr;
  }

  .fs-contact-hero {
    align-items: stretch;
  }

  .fs-contact-directory__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fs-support-hero,
  .fs-support-navigator > header,
  .fs-support-escalation {
    grid-template-columns: 1fr;
  }

  .fs-support-navigator .fs-public-eyebrow,
  .fs-support-navigator h2,
  .fs-support-navigator > header > p,
  .fs-contact-paths > header .fs-public-eyebrow,
  .fs-contact-paths > header h2,
  .fs-contact-paths > header > p {
    grid-column: 1;
    grid-row: auto;
  }

  .fs-support-hero {
    align-items: stretch;
  }

  .fs-support-escalation .fs-public-button {
    justify-self: start;
  }

  .fs-terms-layout {
    grid-template-columns: 1fr;
  }

  .fs-terms-index {
    position: static;
  }

  .fs-terms-index ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 48rem) {
  .fs-about-founder__copy,
  .fs-about-story,
  .fs-privacy-data dl > div,
  .fs-privacy-purposes > div,
  .fs-privacy-practice-group article,
  .fs-privacy-payment,
  .fs-privacy-boundary,
  .fs-privacy-close { grid-template-columns: minmax(0, 1fr); gap: 0.75rem; }
  .fs-privacy-close aside { padding: 1rem 0 0; border-left: 0; border-top: 1px solid var(--fs-public-line); }
  .fs-about-founder__heading,
  .fs-support-navigator > header > div,
  .fs-contact-paths > header > div,
  .fs-security-controls > header > div { display: block; }

  .fs-checkout-form-grid,
  .fs-public-checkout-form-grid { grid-template-columns: 1fr; }
  .fs-checkout-consent-grid,
  .fs-checkout-after-steps,
  .fs-checkout-final-review { grid-template-columns: 1fr; }
  .fs-checkout-progress strong { font-size: 0.75rem; }

  .fs-pricing-access header{
    grid-template-columns: 1fr;
    align-items: start;
    gap: 0.55rem;
  }
  .fs-pricing-access header .fs-public-eyebrow,
  .fs-pricing-access h2,
  .fs-pricing-access header > p:last-child{
    grid-column: 1;
  }

  .fs-pricing-access ol,
  .fs-pricing-policy__items,
  .fs-pricing-faq > div {
    grid-template-columns: 1fr;
  }

  .fs-pricing-rates,
  .fs-pricing-model--public .fs-pricing-rates {
    grid-template-columns: 1fr;
  }

  .fs-pricing-access li,
  .fs-pricing-access li:nth-child(odd),
  .fs-pricing-access li:nth-child(even) {
    padding-inline: 0;
    border-right: 0;
  }
  .fs-pricing-access li:not(:last-child) {
    border-bottom: 1px solid var(--fs-public-line);
  }
  .fs-pricing-access li:last-child {
    border-bottom: 0;
  }

  .fs-pricing-rate-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
    padding-inline: 0;

    padding-block: 1.2rem;
}
  .fs-pricing-rate-card + .fs-pricing-rate-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
    border-top: 1px solid var(--fs-public-inverse-20);
    border-left: 0;
  }

  .fs-pricing-policy__items article {
    padding: 1.15rem 0;
    border-top: 1px solid var(--fs-public-line);
    border-left: 0;
  }

  .fs-pricing-faq > div {
    gap: 1rem;}

  .fs-pricing-conversion {
    grid-template-columns: 1fr;
  }

  .fs-pricing-intro {
    margin-top: 0.7rem;
    padding: 1rem;
    gap: 0.75rem;
  }
  .fs-pricing-intro h1 {
    max-width: none;
    font-size: clamp(1.9rem, 3vw, 2.75rem);
    line-height: 0.97;
  }
  .fs-pricing-intro .fs-public-lead {
    margin-top: 0.6rem;
    font-size: 0.95rem;
    line-height: 1.42;
  }
  .fs-pricing-intro .fs-public-actions {
    margin-top: 0.8rem;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .fs-pricing-intro .fs-public-actions .fs-public-button {
    width: auto;
    min-width: 0;
    padding-inline: 0.65rem;
    flex: 1 1 9rem;
  }

  .fs-public-page--privacy .fs-public-policy-date {
    padding-inline: 0.1rem;
  }

/* Security mobile owner. */
  .fs-security-hero {
    margin-top: 0.6rem;
    padding: 0.85rem;
    gap: 0.65rem;
  }

  .fs-security-hero h1 {
    font-size: clamp(1.9rem, 3vw, 2.75rem);
    line-height: 0.98;
  }

  .fs-security-hero .fs-public-lead {
    margin-top: 0.55rem;
    font-size: 0.92rem;
    line-height: 1.4;
  }

  .fs-security-hero__summary {
    padding: 0.15rem 0.7rem;
  }

  .fs-security-hero__summary dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fs-security-hero__summary dl > div,
  .fs-security-hero__summary dl > div + div {
    min-width: 0;
    padding: 0.6rem 0;
    border-left: 0;
    border-bottom: 1px solid var(--fs-public-inverse-18);
  }

  .fs-security-hero__summary dl > div:last-child {
    grid-column: 1 / -1;
    padding-inline: 0;
    border-left: 0;
    border-bottom: 0;
  }

  .fs-security-controls,
  .fs-security-payment,
  .fs-security-responsibility,
  .fs-security-report {
    padding: 1rem;
  }

  .fs-security-control-groups,
  .fs-security-trust-grid,
  .fs-security-responsibility ol {
    grid-template-columns: minmax(0, 1fr);
  }

  .fs-security-responsibility li,
  .fs-security-responsibility li + li {
    padding: 0.85rem 0;
    border-left: 0;
    border-top: 1px solid var(--fs-public-line);
  }

  .fs-security-responsibility li:first-child {
    border-top: 0;
  }

  .fs-security-limitations {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.4rem;
  }

  .fs-security-hero .fs-public-actions {
    margin-top: 0.75rem;
    flex-direction: row;
    gap: 0.45rem;
  }

  .fs-security-hero .fs-public-actions .fs-public-button {
    width: auto;
    min-width: 0;
    padding-inline: 0.6rem;
    flex: 1 1 0;
    font-size: 0.8rem;
  }

  .fs-security-hero__summary dl > div:nth-child(odd) {
    padding-right: 0.65rem;
  }

  .fs-security-hero__summary dl > div:nth-child(even) {
    padding-left: 0.65rem;
    border-left: 1px solid var(--fs-public-inverse-18);
  }

  .fs-security-hero__summary dl > div:last-child {
    padding-inline: 0;
  }

  .fs-security-hero__summary dt {
    font-size: 0.76rem;
    line-height: 1.2;
  }

  .fs-security-hero__summary dd {
    margin-top: 0.25rem;
    font-size: 0.82rem;
    line-height: 1.32;
  }

  .fs-contact-hero {
    margin-top: 1rem;
    padding: 1rem;
    gap: 1rem;
  }

  .fs-contact-hero__copy h1 {
    font-size: clamp(1.9rem, 3vw, 2.75rem);
  }

  .fs-contact-hero .fs-public-actions {
    flex-direction: row;
  }

  .fs-contact-hero .fs-public-actions .fs-public-button {
    width: auto;
    flex: 1 1 9rem;
  }

  .fs-contact-paths__grid,
  .fs-contact-directory__grid {
    grid-template-columns: 1fr;
  }

  .fs-contact-path {
    min-height: 0;
  }

  .fs-contact-directory {
    padding: 1.4rem;
  }

  .fs-support-hero {
    margin-top: 1rem;
    padding: 1rem;
    gap: 1rem;
  }

  .fs-support-hero__copy h1 {
    font-size: clamp(1.9rem, 3vw, 2.75rem);
  }

  .fs-support-navigator,
  .fs-support-boundaries,
  .fs-support-escalation {
    padding: 1.35rem;
  }

  .fs-support-issue {
    grid-template-columns: 2.2rem minmax(0, 1fr);
  }

  .fs-support-issue__include {
    grid-column: 2;
    padding: 0.8rem 0 0;
    border-top: 1px solid var(--fs-public-line);
    border-left: 0;
  }

  .fs-support-boundaries__grid {
    grid-template-columns: 1fr;
  }

  .fs-support-escalation .fs-public-button {
    width: 100%;
  }

  .fs-terms-overview,
  .fs-terms-index ol {
    grid-template-columns: 1fr;
  }

  .fs-terms-chapter__header,
  .fs-terms-body [data-fs-public-legal-section] {
    padding: 1.15rem;
  }
}

@media (max-width: 390px) {
  .fs-pricing-table-wrap {
    overflow-x: visible;
  }
  .fs-pricing-model--public .fs-pricing-table-wrap {
    overflow-x: visible;
  }
  .fs-pricing-table-wrap table,
  .fs-pricing-table-wrap caption,
  .fs-pricing-table-wrap thead,
  .fs-pricing-table-wrap tbody {
    min-width: 0;
    width: 100%;
    display: block;
  }
  .fs-pricing-model--public .fs-pricing-table-wrap table {
    min-width: 0;
  }
  .fs-pricing-table-wrap thead {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip-path: none;
    white-space: normal;
  }
  .fs-pricing-table-wrap thead tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) repeat(2, minmax(0, 1fr));
  }
  .fs-pricing-table-wrap thead th {
    min-width: 0;
    padding: 0.72rem 0.35rem;
    font-size: 0.8rem;
    line-height: 1.25;
  }
  .fs-pricing-table-wrap tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: 1rem;
    border-top: 1px solid var(--fs-public-inverse-13);
  }
  .fs-pricing-table-wrap tbody th,
  .fs-pricing-table-wrap tbody td {
    min-width: 0;
    padding: 0.55rem 0;
    border-top: 0;
  }
  .fs-pricing-table-wrap tbody th {
    font-size: 1rem;
  }
  .fs-pricing-table-wrap tbody td {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    gap: var(--fs-space-3);
  }
  .fs-pricing-table-wrap tbody td::before {
    content: attr(data-label);
    color: var(--fs-public-inverse-72);
    font-size: 0.9rem;
    font-weight: var(--fs-font-weight-bold);
  }
  .fs-pricing-model--public .fs-pricing-table-wrap tbody tr {
    border-top-color: var(--fs-public-line);
  }
  .fs-pricing-model--public .fs-pricing-table-wrap tbody td::before {
    color: var(--fs-public-muted);
    font-size: var(--fs-font-size-base);
  }
  .fs-pricing-table__amount {
    justify-self: end;
    white-space: nowrap;
  }

}

@media screen and (max-width: 48rem), screen and (orientation: landscape) and (max-height: 30rem) {
  .fs-public-header:not(.fs-public-header--focused) {
    min-height: 0;
    padding-block: 0.75rem;
    display: flex;
    gap: 0.5rem;
  }

  .fs-public-header:not(.fs-public-header--focused) > .fs-public-nav,
  .fs-public-header:not(.fs-public-header--focused) > .fs-public-header__actions > .fs-public-nav__link--primary { display: none; }
  .fs-public-header:not(.fs-public-header--focused) > .fs-public-header__actions { margin-left: auto; }
  .fs-public-header--focused {
    min-height: 0;
    padding-block: 0.75rem;
    display: grid;
    grid-template-areas: "brand" "nav";
    grid-template-columns: minmax(0, 1fr);
    gap: 0.6rem;
  }
  .fs-public-header--focused .fs-public-nav {
    width: 100%;
    margin-left: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, auto));
    justify-content: start;
  }
  .fs-public-header--focused .fs-public-nav__link--primary { grid-column: 1 / -1; }
  .fs-public-nav__link,
  .fs-public-button { min-height: 2.75rem; }
  .fs-public-page-intro { padding-block: 1rem; }
  .fs-home-hero { margin-top: 0.9rem; padding: 1rem; gap: 0.9rem; }
  .fs-home-hero .fs-public-eyebrow { margin-bottom: 0.45rem; }
  .fs-home-hero h1 { font-size: 2.1rem; line-height: 0.99; letter-spacing: -0.04em; }
  .fs-home-hero .fs-public-lead { margin-top: 0.7rem; font-size: 0.98rem; line-height: 1.5; }
  .fs-home-hero .fs-public-actions { margin-top: 0.85rem; gap: 0.55rem; }
  .fs-home-hero .fs-public-button { min-height: 2.75rem; padding-block: 0.55rem; }
  .fs-home-outcomes,
  .fs-home-journey,
  .fs-home-ecosystem,
  .fs-home-conversion { margin-top: 1rem; }
  .fs-home-conversion { margin-bottom: 0.35rem; padding: 1.25rem 1.1rem; gap: 1rem; }
  .fs-home-outcomes,
  .fs-home-journey,
  .fs-home-ecosystem { padding: 1.15rem 1.05rem; }
  .fs-home-outcomes { gap: 0.9rem; }
  .fs-home-outcomes__list { grid-template-columns: 1fr; }
  .fs-home-outcomes__list > div,
  .fs-home-outcomes__list > div:first-child {
    padding: 0.8rem 0;
    border-top: 1px solid var(--fs-public-teal-line);
    border-left: 0;
  }
  .fs-home-outcomes__list > div:last-child { padding-bottom: 0; }
  .fs-home-outcomes .fs-public-eyebrow,
  .fs-about-founder .fs-public-eyebrow,
  .fs-support-navigator .fs-public-eyebrow,
  .fs-contact-paths > header .fs-public-eyebrow,
  .fs-security-controls > header .fs-public-eyebrow { margin-bottom: 0.75rem; }
  .fs-support-navigator > header,
  .fs-contact-paths > header { row-gap: 2rem; }
  .fs-security-responsibility ul { grid-template-columns: 1fr; }
  .fs-home-journey__steps {
    position: relative;
    padding-left: 2.75rem;
    border-top: 0;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .fs-home-journey__steps::before {
    content: "";
    position: absolute;
    top: 0.25rem;
    bottom: 0.75rem;
    left: 1rem;
    width: 1px;
    background: var(--fs-public-line-strong);
  }
  .fs-home-journey__steps li {
    position: relative;
    padding: 0 0 1.5rem;
    border-top: 0;
    border-bottom: 0;
    border-left: 0;
    display: block;
  }
  .fs-home-journey__steps li:nth-child(even) { padding: 0 0 1.5rem; border-left: 0; }
  .fs-home-journey__steps li:last-child { padding-bottom: 0; }
  .fs-home-journey__steps li > span {
    position: absolute;
    top: 0;
    left: -2.75rem;
    margin: 0;
  }
  .fs-home-journey__steps h3 { margin-top: 0; }
  .fs-home-ecosystem__index > div { grid-template-columns: 1fr; gap: 0.45rem; }
  .fs-security-responsibility li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--fs-public-teal-line-strong); }
  .fs-security-controls dl > div { grid-template-columns: 1fr; gap: 0.35rem; }
  .fs-about-principles > div{ grid-template-columns: 1fr; }
  .fs-about-principles article:nth-child(even){ padding-left: 0; border-left: 0; }
  .fs-home-ecosystem__availability { margin-top: 0.75rem; }
  .fs-public-page--home .fs-public-footer { padding-block: 1rem; }
  .fs-about-founder,
  .fs-security-payment{ grid-template-columns: 1fr; gap: 1.25rem; }
  .fs-about-founder .fs-public-eyebrow,
  .fs-about-founder__heading,
  .fs-about-founder__copy { grid-column: 1; grid-row: auto; }
  .fs-about-conversion,
  .fs-security-report { align-items: stretch; flex-direction: column; }
  .fs-security-limitations,
  .fs-public-policy-strip { grid-template-columns: 1fr; }
  .fs-public-progress strong { font-size: 0.68rem; }
  .fs-public-footer { align-items: flex-start; flex-direction: column; }
  .fs-public-footer nav { justify-content: flex-start; }

  /* Compact support spacing belongs after the shared intro rule. */
  .fs-support-hero {
    padding-block: 1rem;
  }
  .fs-support-hero__copy .fs-public-lead {
    margin-top: 0.5rem;
    line-height: 1.4;
  }
  .fs-support-hero__copy .fs-public-actions {
    margin-top: 0.75rem;
  }

}

@media screen and (max-width: 48rem) {
  .fs-home-hero .fs-public-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .fs-home-hero .fs-public-actions .fs-public-button {
    width: 100%;
  }
}

@media (max-width: 30rem) {
  .fs-public-header:not(.fs-public-header--focused) .fs-public-brand { gap: 0.45rem; }
  .fs-public-header:not(.fs-public-header--focused) .fs-public-brand__mark { width: 1.9rem; height: 1.9rem; }
  .fs-public-header:not(.fs-public-header--focused) .fs-public-brand__name { display: inline; font-size: 0.96rem; }
  .fs-public-header:not(.fs-public-header--focused) .fs-public-nav__link { padding-inline: 0.72rem; font-size: 0.8rem; }
  .fs-public-actions { flex-direction: column; }
  .fs-public-actions .fs-public-button { width: 100%; }
  .fs-public-definition-grid > div { grid-template-columns: 1fr; }
  .fs-public-progress { grid-template-columns: 1fr; gap: 0.7rem; }
  .fs-public-progress li { padding: 0 0 0.8rem 1.3rem; border-top: 0; border-left: 1px solid var(--fs-public-line-strong); }
  .fs-public-progress li::before { top: 0.35rem; left: -0.3rem; }
  .fs-checkout-progress { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  .fs-checkout-progress li { padding: 1.35rem 0 0; border-top: 1px solid var(--fs-public-line-strong); border-left: 0; }
  .fs-checkout-progress li::before { top: -0.3rem; left: 0; }

  .fs-contact-hero .fs-public-actions {
    flex-direction: column;
  }

  .fs-contact-hero .fs-public-actions .fs-public-button {
    flex: 0 1 auto;
    width: 100%;
  }

  .fs-support-hero .fs-public-actions .fs-public-button {
    width: 100%;
  }

  .fs-support-issue {
    grid-template-columns: 1fr;
  }

  .fs-support-issue__include {
    grid-column: 1;
  }

  .fs-terms-body [data-fs-public-legal-section] {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  .fs-terms-body [data-fs-public-legal-section] > span {
    padding-top: 0;
  }
}

@media (orientation: landscape) and (max-height: 30rem) {
  .fs-home-hero { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .fs-public-login-dialog__surface { max-height: calc(100dvh - 1rem); padding: 1rem 1.15rem; }
  .fs-public-login-dialog form { margin-top: 0.75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fs-public-login-dialog form > input,
  .fs-public-login-dialog form > button { grid-column: 1 / -1; }
  .fs-public-login-dialog__support { margin-top: 0.65rem; }
}

@media (min-width: 700px) and (orientation: landscape) and (max-height: 30rem) {
  .fs-security-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
  }
  .fs-support-hero {
    padding-block: 0.5rem;
  }
  .fs-support-hero h1,
  .fs-contact-hero h1,
  .fs-security-hero h1,
  .fs-pricing-intro h1,
  .fs-public-page--privacy .fs-public-page-intro h1 {
    font-size: 1.75rem;
    line-height: 1.1;
  }
  .fs-security-hero .fs-public-lead {
    margin-top: 0.65rem;
    font-size: 1rem;
    line-height: 1.4;
  }
  .fs-security-hero .fs-public-actions {
    margin-top: 0.75rem;
    gap: 0.5rem;
  }
  .fs-security-hero .fs-public-actions .fs-public-button {
    min-width: 0;
    padding-inline: 0.65rem;
    flex: 1 1 auto;
    font-size: 0.85rem;
  }
  .fs-security-hero__summary dl {
    display: block;
  }
  .fs-security-hero__summary dl > div:nth-child(n) {
    padding: 0.35rem 0;
    border-left: 0;
    border-bottom: 0;
  }
  .fs-security-hero__summary dl > div + div {
    border-left: 0;
    border-top: 1px solid var(--fs-public-inverse-18);
  }
  .fs-security-hero__summary dd {
    margin-top: 0.2rem;
  }
}

.fs-public-footer [data-fs-field-guidance] { flex-basis: 100%; margin: 0; line-height: 1.5; }
/* Keep the public rate cards comfortable at phone widths. */
@media (max-width: 48rem) {
  .fs-pricing-model--public .fs-pricing-rate-card { padding: clamp(1.25rem, 2.5vw, 1.75rem); }
  .fs-pricing-model--public .fs-pricing-rate-card + .fs-pricing-rate-card { border-top: 0; border-left: 0; }
}
