:where([data-etch-element="container"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  max-inline-size: var(--content-width, 1366px);
  align-self: center; margin-inline: auto;
}
:where([data-etch-element="flex-div"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
}
:where([data-etch-element="iframe"]) {
  inline-size: 100%;
  height: auto;
 aspect-ratio: 16/9;
}
:where([data-etch-element="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.fps-header {
  position: relative; z-index: 20; padding-inline: var(--gutter); border-block-end: var(--border); background: var(--bg-ultra-light); color: var(--text-dark);
}
.fps-header__inner {
  display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-m); padding-block: var(--space-s); @media (min-width: 64rem) { flex-wrap: nowrap; }
}
.fps-brand {
  display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--text-dark); text-decoration: none; flex-shrink: 0; max-inline-size: 100%; &:hover { color: var(--text-dark); text-decoration: none; }
}
.fps-brand__logo {
  inline-size: 5rem; block-size: auto; object-fit: contain; border-radius: 0; flex-shrink: 0;
}
.fps-brand__name {
  font-size: var(--text-s); font-weight: 600; line-height: 1.15; max-inline-size: 8ch;
}
.fps-header__menu-toggle {
  display: none; align-items: center; gap: var(--space-xs); min-block-size: 2.75rem; padding: var(--space-xs); border: var(--border); border-radius: var(--radius); color: var(--text-dark); font-weight: 500; .fps-header[data-enhanced] & { display: inline-flex; } @media (min-width: 64rem) { .fps-header[data-enhanced] & { display: none; } }
}
.fps-header__menu-icon {
  font-size: var(--text-l); line-height: 1;
}
.fps-header__nav {
  flex-basis: 100%; min-inline-size: 0; &[hidden] { display: none !important; } @media (min-width: 64rem) { flex-basis: auto; }
}
.fps-header__links {
  display: flex; flex-direction: column; align-items: stretch; gap: var(--space-xs); list-style: none; padding: 0; margin: 0; @media (min-width: 64rem) { flex-direction: row; align-items: center; gap: var(--space-m); }
}
.fps-nav-link {
  position: relative; display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: 2.75rem; padding-block: var(--space-xs); color: var(--text-dark); font-size: var(--text-s); font-weight: 500; text-decoration: none; white-space: nowrap;
&::after { content: ""; position: absolute; inset-inline: 0; inset-block-end: .35rem; block-size: 2px; background: var(--primary); transform: scaleX(0); transform-origin: left; transition: transform 260ms var(--transition-timing); }
&:is(:hover, :focus-visible, [aria-current="page"], [aria-expanded="true"])::after { transform: scaleX(1); }
&:is(:hover, [aria-current="page"]) { color: var(--text-dark); text-decoration: none; }
}
.fps-header__quote {
  font-size: var(--text-s); white-space: nowrap;
}
.fps-products {
  position: static; &:not([open]) > .fps-products__panel { display: none; }
}
.fps-products__toggle {
  list-style: none; cursor: pointer; &::-webkit-details-marker { display: none; }
}
.fps-products__chevron {
  display: inline-block; flex-shrink: 0; inline-size: .5rem; block-size: .5rem; margin-block-start: -.25rem; border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; font-size: 0; line-height: 0; rotate: 45deg; transition: rotate var(--transition-duration) var(--transition-timing), margin var(--transition-duration) var(--transition-timing); .fps-products[open] & { rotate: 225deg; margin-block-start: .25rem; }
}
.fps-products__panel {
  position: relative; display: grid; grid-template-columns: var(--grid-1); gap: var(--space-l); margin-block-start: var(--space-xs); padding: var(--space-m); overflow: hidden; border-radius: var(--radius); color: var(--text-light); background: var(--bg-dark); --focus-color: var(--accent); --relative-link-color: var(--text-light); --relative-link-color-hover: var(--primary-light); animation: fps-panel-in 260ms var(--transition-timing) both;
&::before { content: ""; position: absolute; inset-inline: 0; inset-block-start: 0; block-size: 2px; background: linear-gradient(90deg, var(--accent), var(--primary), var(--secondary)); transform-origin: left; animation: fps-heat-line 700ms var(--transition-timing) both; }
@media (min-width: 64rem) { position: absolute; inset-block-start: 100%; inset-inline: 0; margin-block-start: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr); gap: var(--space-l) var(--space-xl); padding-block: var(--space-xl) var(--space-m); padding-inline: max(var(--gutter), calc((100% - var(--content-width)) / 2)); border-radius: 0; box-shadow: 0 32px 48px -16px color-mix(in oklch, var(--base-ultra-dark) 45%, transparent); }
}
.fps-products__group {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-s); min-inline-size: 0;
}
.fps-products__heading {
  color: var(--text-light); font-size: var(--text-xl); font-weight: 600; line-height: 1.15; text-decoration: none; &:hover { color: var(--primary-light); text-decoration: none; }
}
.fps-products__description {
  color: var(--text-light-muted); font-size: var(--text-s); max-inline-size: 36ch;
}
.fps-products__tms-links {
  display: flex; flex-direction: column; inline-size: 100%; list-style: none; padding: 0; margin: 0; margin-block-start: var(--space-xs);
}
.fps-products__coatings {
  display: grid; grid-template-columns: var(--grid-1); column-gap: var(--space-l); inline-size: 100%; list-style: none; padding: 0; margin: 0; margin-block-start: var(--space-xs); @media (min-width: 64rem) { grid-template-columns: var(--grid-2); }
}
.fps-product-link {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name arrow" "surface arrow"; align-items: center; column-gap: var(--space-s); row-gap: .1em; min-block-size: 3.5rem; padding-block: var(--space-xs); color: var(--text-light); font-size: var(--text-s); text-decoration: none; border-block-end: var(--border-size) var(--border-style) var(--border-color-light);
&::before { content: ""; position: absolute; inset-inline: 0; inset-block-end: -1px; block-size: 2px; background: var(--primary); transform: scaleX(0); transform-origin: left; transition: transform 320ms var(--transition-timing); }
&::after { content: "→" / ""; grid-area: arrow; color: var(--text-light-muted); font-family: var(--font-mono); transition: transform 260ms var(--transition-timing), color 260ms var(--transition-timing); }
&:is(:hover, :focus-visible) { color: var(--text-light); text-decoration: none; }
&:is(:hover, :focus-visible)::before { transform: scaleX(1); }
&:is(:hover, :focus-visible)::after { color: var(--primary-light); transform: translateX(.3rem); }
&:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
}
.fps-product-link__name {
  grid-area: name; font-weight: 600; .fps-products__coatings & { font-family: var(--font-mono); font-weight: 500; letter-spacing: .02em; }
}
.fps-product-link__surface {
  grid-area: surface; color: var(--text-light-muted); font-weight: 400;
}
.fps-products__all {
  display: inline-flex; align-items: center; gap: var(--space-xs); margin-block-start: var(--space-xs); color: var(--primary-light); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase; text-decoration: none;
&::after { content: "→" / ""; transition: transform 260ms var(--transition-timing); }
&:is(:hover, :focus-visible) { color: var(--text-light); text-decoration: none; }
&:is(:hover, :focus-visible)::after { transform: translateX(.3rem); }
&:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
}
.fps-skip-link {
  position: absolute; inset-inline-start: var(--gutter); inset-block-start: var(--space-xs); z-index: 100; padding: var(--space-s); background: var(--accent); color: var(--base); transform: translateY(-200%); &:focus { transform: translateY(0); color: var(--base); }
}
.fps-footer {
  padding-inline: var(--gutter); padding-block: var(--section-space-s) var(--space-m); background: var(--bg-dark); color: var(--text-light);
--focus-color: var(--accent);
}
.fps-footer__inner {
  display: flex; flex-direction: column; gap: var(--space-xl);
}
.fps-footer__top {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-xl); inline-size: 100%; @media (min-width: 64rem) { grid-template-columns: var(--grid-1-2); }
}
.fps-footer__identity {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-s); min-inline-size: 0; & .fps-brand { color: var(--text-light); } & .fps-brand:hover { color: var(--text-light); }
}
.fps-footer__company {
  font-weight: 500; font-size: var(--text-s);
}
.fps-footer__intro {
  font-size: var(--text-s); color: var(--text-light-muted); max-inline-size: 32ch;
}
.fps-footer__navigation {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--grid-gap); @media (min-width: 48rem) { grid-template-columns: repeat(2, minmax(0, 1fr)); } @media (min-width: 64rem) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.fps-footer__nav {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-m); min-inline-size: 0;
& .fps-footer__link { color: var(--text-light-muted); }
& .fps-footer__link:hover { color: var(--text-light); }
}
.fps-footer__heading {
  font-size: var(--text-s); color: var(--text-light); font-weight: 600;
}
.fps-footer__links {
  display: flex; flex-direction: column; gap: var(--space-xs); list-style: none; padding: 0; margin: 0;
}
.fps-footer__link {
  display: inline-block; color: var(--text-light-muted); font-size: var(--text-s); text-decoration: none; min-block-size: 1.75rem; &:hover { color: var(--text-light); text-decoration: underline; text-underline-offset: .2em; }
}
.fps-footer__bottom {
  display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-s); padding-block-start: var(--space-m); border-block-start: var(--border-size) var(--border-style) var(--border-color-light); inline-size: 100%; color: var(--text-light-muted); font-size: var(--text-xs); @media (min-width: 64rem) { flex-direction: row; }
}
.fps-page-main {
  flex: 1; min-inline-size: 0;
}
.fps-products__eyebrow {
  margin: 0; color: var(--text-light-muted); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase;
}
.fps-products__foot {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xs) var(--space-l); padding-block-start: var(--space-m); border-block-start: var(--border-size) var(--border-style) var(--border-color-light); @media (min-width: 64rem) { grid-column: 1 / -1; }
}
.fps-products__note {
  flex: 1 1 24rem; margin: 0; max-inline-size: none; color: var(--text-light-muted); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .02em;
}
.fps-products__foot-link {
  display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--text-light); font-size: var(--text-s); font-weight: 500; text-decoration: none;
&::after { content: "→" / ""; font-family: var(--font-mono); transition: transform 260ms var(--transition-timing); }
&:is(:hover, :focus-visible) { color: var(--primary-light); text-decoration: none; }
&:is(:hover, :focus-visible)::after { transform: translateX(.3rem); }
&:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
}
.fps-eyebrow {
  margin: 0; color: var(--text-dark-muted); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase;
}
.fps-eyebrow--on-dark {
  color: var(--text-light-muted);
}
.fps-eyebrow--on-orange {
  color: var(--base);
}
.fps-lede {
  margin: 0; max-inline-size: 46ch; color: var(--text-dark-muted); font-size: var(--text-l);
}
.fps-actions {
  display: flex; flex-wrap: wrap; gap: var(--space-s);
}
.fps-section-head {
  display: flex; flex-direction: column; gap: var(--space-s); max-inline-size: 48rem;
}
.home-hero {
  padding-block: var(--section-space-s) var(--space-l);
}
.home-hero__grid {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-xl); align-items: center; @media (min-width: 64rem) { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
}
.home-hero__copy {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-m); min-inline-size: 0;
}
.home-hero__title {
  margin: 0; max-inline-size: 14ch; font-size: clamp(2.5rem, 4.6vw + .5rem, 4.4rem); font-weight: 600; line-height: 1.04; letter-spacing: -.02em; text-wrap: balance;
}
.home-hero__facts {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-m); inline-size: 100%; margin: 0; padding: var(--space-s) 0 0; border-block-start: var(--border); list-style: none; color: var(--text-dark-muted); font-family: var(--font-mono); font-size: var(--text-xs); line-height: 1.5; letter-spacing: .04em; text-transform: uppercase;
& li { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-xs); }
& li::before { content: ""; inline-size: 1.5rem; block-size: 2px; background: var(--primary); }
}
.fps-figure {
  display: flex; flex-direction: column; gap: var(--space-xs); margin: 0; min-inline-size: 0;
}
.fps-frame {
  position: relative; display: grid; place-items: center; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius); background: radial-gradient(120% 90% at 50% 40%, oklch(32% .008 67), oklch(16% .006 67)); color: var(--text-light); text-decoration: none;
&:hover { color: var(--text-light); text-decoration: none; }
&:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
&:is(:hover, :focus-visible) .fps-frame__play { background: var(--primary-hover); transform: scale(1.06); }
}
.fps-frame__play {
  position: relative; z-index: 1; display: grid; place-items: center; inline-size: 4.5rem; block-size: 4.5rem; border-radius: 50%; background: var(--primary); transition: transform 260ms var(--transition-timing), background-color 260ms var(--transition-timing);
&::before { content: ""; inline-size: 1.4rem; block-size: 1.6rem; margin-inline-start: .3rem; background: var(--base); clip-path: polygon(0 0, 100% 50%, 0 100%); }
}
.fps-frame__label {
  position: absolute; inset-inline: var(--space-s); inset-block-end: var(--space-s); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .06em; text-transform: uppercase; color: var(--text-light-muted);
}
.fps-caption {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3xs) var(--space-s); color: var(--text-dark-muted); font-family: var(--font-mono); font-size: var(--text-xs);
}
.home-ledger {
  padding-block: 0 var(--section-space-s);
}
.ledger {
  display: flex; flex-direction: column; border-block-start: 1px solid var(--base);
}
.ledger__row {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-3xs) var(--space-l); align-items: baseline; padding-block: var(--space-m); border-block-end: var(--border); @media (min-width: 64rem) { grid-template-columns: 12rem minmax(0, 1fr) minmax(0, 1.3fr) 11rem; }
}
.ledger__tag {
  margin: 0; color: var(--primary-dark); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 500; line-height: 1.4; letter-spacing: .06em; text-transform: uppercase; @media (min-width: 64rem) { white-space: nowrap; }
}
.ledger__title {
  margin: 0; font-size: var(--text-m); font-weight: 600; line-height: 1.3; letter-spacing: -.005em;
}
.ledger__scope {
  margin: 0; color: var(--text-dark-muted); font-size: var(--text-s); line-height: 1.5;
}
.ledger__link {
  justify-self: start; font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .04em; line-height: 1.4; color: var(--primary-dark); @media (min-width: 64rem) { justify-self: end; text-align: end; }
&::after { content: " →"; }
}
.home-explain {
  padding-block: var(--section-space-m);
}
.split {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-xl); @media (min-width: 64rem) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-2xl, var(--space-xl)); }
}
.split__col {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-s); min-inline-size: 0;
}
.split__title {
  margin: 0; font-weight: 600; letter-spacing: -.015em; text-wrap: balance;
}
.home-apps {
  padding-block: var(--section-space-m); background: color-mix(in oklch, var(--neutral-light) 40%, var(--neutral-ultra-light));
}
.apps {
  display: flex; flex-direction: column; border-block-start: 1px solid var(--base);
}
.app {
  border-block-end: var(--border);
&[open] .app__chevron { rotate: 225deg; margin-block-start: .25rem; }
}
.app__head {
  display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; align-items: center; gap: var(--space-s); min-block-size: 4.5rem; padding-block: var(--space-s); cursor: pointer; list-style: none; font-size: var(--text-xl); font-weight: 500; letter-spacing: -.01em;
&::-webkit-details-marker { display: none; }
&:hover { color: var(--primary-dark); }
&:focus-visible { outline: 2px solid var(--base); outline-offset: 4px; }
}
.app__index {
  color: var(--text-dark-muted); font-family: var(--font-mono); font-size: var(--text-s); letter-spacing: .06em;
}
.app__chevron {
  inline-size: .6rem; block-size: .6rem; margin-block-start: -.2rem; border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; rotate: 45deg; transition: rotate var(--transition-duration) var(--transition-timing), margin var(--transition-duration) var(--transition-timing);
}
.app__body {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-xs); padding: 0 0 var(--space-m) 3.75rem; max-inline-size: 62ch;
}
.app__text {
  margin: 0; color: var(--text-dark-muted);
}
.app__link {
  font-weight: 500; color: var(--primary-dark);
}
.home-proof {
  padding-block: var(--section-space-m); background: var(--bg-dark); color: var(--text-light); --relative-link-color: var(--text-light); --relative-link-color-hover: var(--primary-light); --focus-color: var(--accent);
}
.proof__copy {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-m); min-inline-size: 0;
}
.proof__title {
  margin: 0; color: var(--text-light); font-size: clamp(2rem, 3.2vw + .5rem, 3.4rem); font-weight: 600; line-height: 1.08; letter-spacing: -.02em; text-wrap: balance;
}
.proof__text {
  margin: 0; max-inline-size: 42ch; color: var(--text-light-muted); font-size: var(--text-l);
}
.proof__caption {
  color: var(--text-light-muted);
}
.proof__split {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-xl); align-items: center; @media (min-width: 64rem) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
}
.home-journey {
  padding-block: var(--section-space-m);
}
.home-wildfire {
  padding-block: var(--section-space-s); background: var(--primary); color: var(--base); --relative-link-color: var(--base); --relative-link-color-hover: var(--base);
}
.wildfire__grid {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-l); align-items: center; @media (min-width: 64rem) { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
}
.wildfire__copy {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-s);
}
.wildfire__title {
  margin: 0; color: var(--base); font-weight: 600; letter-spacing: -.015em;
}
.wildfire__text {
  margin: 0; max-inline-size: 48ch; color: var(--base);
}
.wildfire__surfaces {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-xs); margin: 0; padding: 0; list-style: none; @media (min-width: 40rem) { grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
}
.surface-chip {
  display: flex; flex-direction: column; min-inline-size: 0; padding: var(--space-s) var(--space-m); border-radius: var(--radius); background: var(--base); color: var(--text-light); font-size: var(--text-l); font-weight: 500; text-decoration: none; transition: transform 260ms var(--transition-timing);
&:hover { color: var(--text-light); text-decoration: none; transform: translateY(-2px); }
&:focus-visible { outline: 2px solid var(--base); outline-offset: 3px; }
}
.surface-chip__codes {
  color: var(--primary-light); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 400; letter-spacing: .04em; white-space: nowrap;
}
.fps-button--ink {
  display: inline-flex; align-items: center; min-block-size: 2.75rem; padding: .75em 1.25em; border: 1.5px solid var(--base); border-radius: var(--radius); background: var(--base); color: var(--text-light); font-weight: 500; text-decoration: none; transition: background-color 260ms var(--transition-timing);
&:hover { background: var(--base-ultra-dark); color: var(--text-light); text-decoration: none; }
&:focus-visible { outline: 2px solid var(--base); outline-offset: 3px; }
}
.home-cta {
  padding-block: var(--section-space-m);
}
.cta__grid {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-l); align-items: end; padding-block-start: var(--space-l); border-block-start: 1px solid var(--base); @media (min-width: 64rem) { grid-template-columns: minmax(0, 1.4fr) auto; }
}
.cta__title {
  margin: 0; font-size: clamp(2rem, 3.2vw + .5rem, 3.4rem); font-weight: 600; line-height: 1.08; letter-spacing: -.02em; text-wrap: balance;
}
.proof__video {
  display: block; inline-size: 100%; aspect-ratio: 16 / 9; border-radius: var(--radius); background: var(--base-ultra-dark);
}
.proof__source-link {
  color: var(--text-light); text-decoration: underline; text-underline-offset: .2em; &:hover { color: var(--primary-light); }
}
.fps-frame__img {
  position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover;
}
.fps-illustration {
  display: block; inline-size: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--radius);
}
.band {
  padding-block: var(--section-space-m);
}
.band--tint {
  background: color-mix(in oklch, var(--neutral-light) 40%, var(--neutral-ultra-light));
}
.band--dark {
  background: var(--bg-dark); color: var(--text-light); --relative-link-color: var(--text-light); --relative-link-color-hover: var(--primary-light); --focus-color: var(--accent);
}
.band--orange {
  background: var(--primary); color: var(--base); --relative-link-color: var(--base); --relative-link-color-hover: var(--base);
}
.band--tight {
  padding-block: var(--section-space-s);
}
.page-hero {
  padding-block: var(--section-space-s) var(--section-space-m);
}
.page-hero__grid {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-xl); align-items: center;
}
.page-hero__grid--split {
  @media (min-width: 64rem) { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
}
.page-hero__copy {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-m); min-inline-size: 0; max-inline-size: 52rem;
}
.page-hero__title {
  margin: 0; max-inline-size: 20ch; font-size: clamp(2.25rem, 3.6vw + .75rem, 3.75rem); font-weight: 600; line-height: 1.06; letter-spacing: -.02em; text-wrap: balance;
}
.prose {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-s); max-inline-size: 62ch; min-inline-size: 0;
& p { margin: 0; }
}
.prose--wide {
  max-inline-size: 72ch;
}
.prose__list {
  display: flex; flex-direction: column; gap: var(--space-2xs); margin: 0; padding-inline-start: 1.25rem;
}
.prose__small {
  color: var(--text-dark-muted); font-size: var(--text-s);
}
.scope-note {
  display: flex; flex-direction: column; gap: var(--space-3xs); max-inline-size: 62ch; padding: var(--space-s) var(--space-m); border: 1px solid var(--base); border-radius: var(--radius); background: var(--neutral-ultra-light); font-size: var(--text-s);
& p { margin: 0; }
}
.scope-note__label {
  color: var(--primary-dark); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase;
}
.usecases {
  display: flex; flex-direction: column; border-block-start: 1px solid var(--base);
}
.usecase {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-xs); padding-block: var(--space-m); border-block-end: var(--border);
& p { margin: 0; max-inline-size: 58ch; }
}
.usecase__title {
  margin: 0; font-size: var(--text-xl); font-weight: 500; letter-spacing: -.01em;
}
.usecase__index {
  color: var(--text-dark-muted); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase;
}
.sticky-figure {
  @media (min-width: 64rem) { position: sticky; inset-block-start: var(--space-l); align-self: start; }
}
.products {
  display: flex; flex-direction: column; border-block-start: 1px solid var(--base);
}
.product {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-xs) var(--space-l); align-items: start; padding-block: var(--space-m); border-block-end: var(--border); @media (min-width: 64rem) { grid-template-columns: 11rem minmax(0, 1fr) auto; }
}
.product__code {
  margin: 0; font-family: var(--font-mono); font-size: var(--text-m); font-weight: 500; letter-spacing: .02em;
}
.product__body {
  display: flex; flex-direction: column; gap: var(--space-2xs); min-inline-size: 0;
& p { margin: 0; max-inline-size: 58ch; }
}
.product__title {
  margin: 0; font-size: var(--text-l); font-weight: 600; letter-spacing: -.01em;
}
.product__actions {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2xs); @media (min-width: 64rem) { align-items: flex-end; }
}
.text-link {
  color: var(--primary-dark); font-weight: 500; text-decoration: underline; text-underline-offset: .2em;
}
.rating-facts {
  display: grid; grid-template-columns: var(--grid-1); gap: 0; margin: 0; border-block-start: 1px solid var(--base); @media (min-width: 48rem) { grid-template-columns: 12rem minmax(0, 1fr); }
}
.rating-facts__term {
  margin: 0; padding-block: var(--space-s) 0; color: var(--primary-dark); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase; @media (min-width: 48rem) { padding-block: var(--space-s); border-block-end: var(--border); }
}
.rating-facts__def {
  margin: 0; padding-block: var(--space-2xs) var(--space-s); border-block-end: var(--border); font-weight: 500; @media (min-width: 48rem) { padding-block: var(--space-s); }
}
.quote-form {
  display: flex; flex-direction: column; gap: var(--space-xl); max-inline-size: 48rem;
}
.form-block {
  display: grid; gap: var(--space-m); min-inline-size: 0; margin: 0; padding: 0; border: 0;
&[hidden] { display: none; }
}
.form-legend {
  padding: 0; margin-block-end: var(--space-2xs); color: var(--text-dark-muted); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase;
}
.form-row {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-m); @media (min-width: 48rem) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.field {
  display: flex; flex-direction: column; gap: var(--space-3xs); min-inline-size: 0;
&[hidden] { display: none; }
}
.field__label {
  display: flex; justify-content: space-between; gap: var(--space-xs); font-size: var(--text-s); font-weight: 500;
}
.field__req {
  color: var(--text-dark-muted); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 400; letter-spacing: .04em; text-transform: uppercase;
}
.field__hint {
  color: var(--text-dark-muted); font-size: var(--text-xs);
}
.field__control {
  inline-size: 100%; min-block-size: 2.75rem; padding: .65em .85em; border: 1.5px solid var(--neutral-dark); border-radius: var(--radius); background: color-mix(in oklch, var(--neutral-ultra-light) 70%, white); color: var(--text-dark); font: inherit;
&:focus-visible { outline: 2px solid var(--base); outline-offset: 2px; }
&:user-invalid { border-color: var(--secondary-dark); }
&:is(textarea) { min-block-size: 7rem; resize: vertical; }
}
.type-choice {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-s); @media (min-width: 48rem) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.type-choice__item {
  position: relative; display: flex; flex-direction: column; gap: var(--space-3xs); padding: var(--space-s) var(--space-m); border: 1.5px solid var(--neutral-dark); border-radius: var(--radius); cursor: pointer; transition: background-color 200ms var(--transition-timing);
&:has(input:checked) { border-color: var(--base); background: var(--primary-ultra-light); box-shadow: inset 0 0 0 1px var(--base); }
&:has(input:focus-visible) { outline: 2px solid var(--base); outline-offset: 3px; }
& input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
}
.type-choice__title {
  font-size: var(--text-m); font-weight: 600;
}
.type-choice__text {
  color: var(--text-dark-muted); font-size: var(--text-s);
}
.choice {
  display: flex; align-items: flex-start; gap: var(--space-xs); font-size: var(--text-s);
& input { flex: none; inline-size: 1.15rem; block-size: 1.15rem; margin-block-start: .15rem; accent-color: var(--base); }
}
.form-note {
  max-inline-size: 62ch; margin: 0; color: var(--text-dark-muted); font-size: var(--text-s);
}
.form-aside {
  display: flex; flex-direction: column; gap: var(--space-s); max-inline-size: 52ch;
& p { margin: 0; }
}
.quote-layout {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-xl); @media (min-width: 64rem) { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: start; }
}
.fps-illustration--siding {
  aspect-ratio: 4 / 3; object-position: 8% 50%;
}
.fps-illustration--deck {
  aspect-ratio: 4 / 3; object-position: 55% 85%;
}
.fps-illustration--wide {
  aspect-ratio: 16 / 9;
}
.compare {
  max-inline-size: 100%; overflow-x: auto; margin-block-start: var(--space-m); border-block: 1px solid var(--base);
&:focus-visible { outline: 2px solid var(--base); outline-offset: 4px; }
}
.compare__table {
  inline-size: 100%; min-inline-size: 46rem; border-collapse: collapse; text-align: start; font-size: var(--text-s);
& caption { padding-block: var(--space-s); color: var(--text-dark-muted); font-size: var(--text-xs); text-align: start; caption-side: bottom; }
}
.compare__head {
  padding: var(--space-s) var(--space-m) var(--space-s) 0; border-block-end: 1px solid var(--base); color: var(--text-dark-muted); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 500; letter-spacing: .08em; text-align: start; text-transform: uppercase;
}
.compare__name {
  padding: var(--space-m) var(--space-m) var(--space-m) 0; border-block-end: var(--border); vertical-align: top; font-size: var(--text-m); font-weight: 600; text-align: start; white-space: nowrap;
& a { color: var(--text-dark); text-decoration: none; }
& a:hover { color: var(--primary-dark); text-decoration: underline; text-underline-offset: .2em; }
}
.compare__cell {
  padding: var(--space-m) var(--space-m) var(--space-m) 0; border-block-end: var(--border); vertical-align: top; line-height: 1.5;
}
.fps-illustration--contain {
  aspect-ratio: 4 / 3; object-fit: contain; border-radius: 0;
}
.form-hp {
  display: none;
}
.form-status {
  margin: 0; padding: var(--space-m); border: 1px solid var(--base); border-radius: var(--radius); background: var(--neutral-ultra-light); font-size: var(--text-m); font-weight: 500;
&[hidden] { display: none; }
&:focus-visible { outline: 2px solid var(--base); outline-offset: 3px; }
&[data-state="error"] { border-color: var(--secondary-dark); }
}
.fps-footer__address {
  margin: 0; font-style: normal; color: var(--text-light-muted); font-size: var(--text-s); line-height: 1.5;
}
.about-address {
  margin: 0; font-style: normal; font-size: var(--text-l); line-height: 1.5; font-weight: 500;
}
.figure-pair {
  display: grid; grid-template-columns: var(--grid-1); gap: var(--space-m); margin-block-start: var(--space-m); @media (min-width: 48rem) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.compare__num {
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.compare__name--sm {
  font-size: var(--text-s); white-space: normal;
}
.hero-trio {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-xs); margin: 0;
}
.hero-trio__item {
  display: flex; flex-direction: column; gap: var(--space-2xs); margin: 0; min-inline-size: 0;
}
.hero-trio__img {
  display: block; inline-size: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--radius);
}
.hero-trio__label {
  color: var(--text-dark-muted); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .06em; text-transform: uppercase;
}