/* Scandere for offer owners: the Patent Sheet.
   One continuous drawing sheet in india ink on white bond, ruled border, gold only for the bottleneck
   and the action. The first viewport is authored in comp units (a 2688-wide sheet): calc(N * var(--u)).
   Everything below it is set in rem. Standalone: the closer site's redesign.css is not loaded here. */

@font-face { font-family: "Libre Caslon Text"; src: url("../fonts/libre-caslon-text-normal-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Libre Caslon Text"; src: url("../fonts/libre-caslon-text-italic-400.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Libre Caslon Text"; src: url("../fonts/libre-caslon-text-normal-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Figtree"; src: url("../fonts/figtree.woff2") format("woff2"); font-weight: 300 700; font-display: swap; }

:root {
  --bond: #F8F8F6;
  --ink: #111626;
  --ink-soft: #3E4452;
  --ink-muted: #5A606C;
  --rule: #1B2131;
  --hatch: #D9DBE0;
  --gold: #A98949;
  /* Gold that carries text or a white label: 4.6:1 and up on bond. */
  --gold-ink: #7A6230;
  --gold-button: #8A6F32;
  --gold-hair: #DCCFB0;
  --gold-light: #CDB47A;
  --charcoal: #211E1E;
  --on-dark: #E9E4DA;
  --on-dark-muted: #B3ACA1;

  --serif: "Libre Caslon Text", "Baskerville", "Georgia", serif;
  --sans: "Figtree", "Avenir Next", "Segoe UI", Arial, sans-serif;

  /* Same cap as the closer site's --frame: browser zoom scales the sheet and wide screens get side margins. */
  --sheet-max: 1240px;
  --gutter: clamp(1.25rem, 4vw, 3.5rem);
  --content: 1040px;
  --section-y: clamp(3.5rem, 2.25rem + 3.5vw, 5.5rem);
  --h2: clamp(1.625rem, 1.3rem + 0.9vw, 2.125rem);
  --h3: clamp(1.1875rem, 1.1rem + 0.3vw, 1.375rem);
  --body: clamp(1rem, 0.96rem + 0.12vw, 1.0625rem);
  --small: 0.9375rem;
  --label: 0.75rem;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  color-scheme: light;
  scrollbar-color: var(--gold) var(--bond);
  background: var(--bond);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--bond); font-family: var(--sans); font-weight: 400; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: 0.22em; text-decoration-thickness: 1px; }
[hidden] { display: none !important; }
::selection { background: var(--gold); color: #fff; }
:focus-visible { outline: 2px solid var(--gold-ink); outline-offset: 3px; }
::-webkit-scrollbar { width: 12px; }
::-webkit-scrollbar-track { background: var(--bond); }
::-webkit-scrollbar-thumb { background: var(--gold); border: 3px solid var(--bond); }

.skip-link { position: absolute; left: 12px; top: -60px; z-index: 100; padding: 10px 16px; background: var(--ink); color: var(--bond); }
.skip-link:focus { top: 12px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.caps { font-family: var(--sans); font-weight: 500; text-transform: uppercase; letter-spacing: 0.16em; }

/* ---------- The sheet ---------- */
.sheet {
  position: relative;
  container-type: inline-size;
  width: min(100%, var(--sheet-max));
  margin: 0 auto;
  overflow-x: clip;
}
.sheet * { --u: calc(100cqw / 2688); }
/* The ruled border sits a hair inside the sheet edge, like a drawing sheet's frame line. */
.sheet__frame {
  position: absolute;
  z-index: 30;
  inset: calc(26 * var(--u)) calc(24 * var(--u));
  border: max(1px, calc(2 * var(--u))) solid var(--rule);
  pointer-events: none;
}
.gate .sheet { width: 100%; max-width: none; margin: 0; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.95rem 1.6rem;
  font-family: var(--sans);
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  color: var(--gold-ink);
  background: var(--bond);
  border: 1px solid var(--gold);
  transition: background-color 0.35s var(--ease-out), color 0.35s var(--ease-out), border-color 0.35s var(--ease-out);
}
.btn:hover { background: var(--gold-ink); border-color: var(--gold-ink); color: #fff; }
.btn--gold { background: var(--gold-button); border-color: var(--gold-button); color: #fff; }
.btn--gold:hover { background: var(--ink); border-color: var(--ink); }
.btn--ink { color: var(--ink); border-color: var(--ink); }
.btn--ink:hover { background: var(--ink); color: var(--bond); border-color: var(--ink); }
.btn:disabled { opacity: 0.6; cursor: progress; }
.actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.75rem; }
.actions--center { justify-content: center; }

/* ---------- Sheet head (navigation) ---------- */
.masthead { position: relative; z-index: 20; height: calc(186 * var(--u)); }
.masthead::after { content: ""; position: absolute; left: calc(27 * var(--u)); right: calc(27 * var(--u)); top: calc(181 * var(--u)); height: max(1px, calc(2 * var(--u))); background: var(--rule); }
.brand { position: absolute; left: calc(67 * var(--u)); top: calc(46 * var(--u)); display: flex; align-items: center; gap: calc(40 * var(--u)); text-decoration: none; }
.brand img { width: calc(126 * var(--u)); height: calc(126 * var(--u)); }
.brand span { font-family: var(--serif); font-size: max(calc(50 * var(--u)), 1.25rem); line-height: 1; letter-spacing: 0.32em; text-transform: uppercase; color: var(--ink); }
.nav {
  position: absolute;
  left: calc(726 * var(--u));
  top: calc(90 * var(--u));
  width: calc(1134 * var(--u));
  height: calc(40 * var(--u));
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style: none;
}
.nav a { font-family: var(--sans); font-weight: 500; font-size: max(calc(25 * var(--u)), 0.6875rem); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; color: var(--ink); padding-block: calc(8 * var(--u)); }
.nav a:hover { color: var(--gold-ink); }
.nav__apply { display: none; }
.masthead__apply { position: absolute; left: calc(1965 * var(--u)); top: calc(64 * var(--u)); width: calc(489 * var(--u)); height: calc(84 * var(--u)); padding: 0; font-size: max(calc(23 * var(--u)), 0.625rem); white-space: nowrap; }
.sheet-note { position: absolute; left: calc(2420 * var(--u)); top: calc(41 * var(--u)); margin: 0; font-size: max(calc(17 * var(--u)), 0.5625rem); letter-spacing: 0.3em; color: var(--ink-soft); white-space: nowrap; }
.nav-toggle { display: none; }

/* ---------- First viewport ---------- */
.first { position: relative; height: calc(1290 * var(--u)); }
.first__title {
  position: absolute;
  left: calc(444 * var(--u));
  top: calc(18 * var(--u));
  width: calc(1800 * var(--u));
  margin: 0;
  font-family: var(--serif);
  font-weight: 700;
  font-size: calc(96 * var(--u));
  line-height: 1.06;
  letter-spacing: -0.012em;
  text-align: center;
  color: var(--ink);
}
.first__lede { position: absolute; left: calc(634 * var(--u)); top: calc(244 * var(--u)); width: calc(1422 * var(--u)); margin: 0; font-size: max(calc(40 * var(--u)), 0.9375rem); line-height: 1.2; text-align: center; color: var(--ink-soft); }
.first__actions { position: absolute; left: calc(771 * var(--u)); top: calc(319 * var(--u)); display: flex; gap: calc(35 * var(--u)); margin: 0; }
.first__actions .btn { height: calc(81 * var(--u)); padding: 0; font-size: max(calc(24 * var(--u)), 0.625rem); }
.first__actions .btn--gold { width: calc(672 * var(--u)); }
.first__actions .btn:not(.btn--gold) { width: calc(435 * var(--u)); }
.first__rule { position: absolute; left: calc(27 * var(--u)); right: calc(27 * var(--u)); top: calc(425 * var(--u)); height: max(1px, calc(2 * var(--u))); background: var(--rule); }

.fig1__title { position: absolute; z-index: 2; left: calc(73 * var(--u)); top: calc(451 * var(--u)); margin: 0; font-family: var(--serif); font-weight: 400; font-size: max(calc(51 * var(--u)), 1rem); letter-spacing: 0.13em; text-transform: uppercase; color: var(--ink); white-space: nowrap; }
.fig1__plate { position: absolute; left: calc(242 * var(--u)); top: calc(480 * var(--u)); width: calc(2231 * var(--u)); height: calc(584 * var(--u)); margin: 0; }
/* 62% keeps every leader-line end inside the band: the labels below are placed at those ends. */
.fig1__plate img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; filter: brightness(1.07) contrast(1.1); mix-blend-mode: multiply; }
.fig1__label { position: absolute; margin: 0; font-family: var(--serif); font-size: max(calc(31 * var(--u)), 0.75rem); line-height: 1.12; color: var(--ink); white-space: nowrap; }
.fig1__label b { display: block; font-weight: 400; }
.fig1__label--10 { left: calc(690 * var(--u)); top: calc(520 * var(--u)); }
.fig1__label--20 { left: calc(1052 * var(--u)); top: calc(520 * var(--u)); }
.fig1__label--30 { left: calc(1432 * var(--u)); top: calc(976 * var(--u)); color: var(--gold-ink); }
.fig1__label--40 { left: calc(1848 * var(--u)); top: calc(976 * var(--u)); }
.fig1__label--50 { left: calc(2326 * var(--u)); top: calc(976 * var(--u)); }
.fig1__callout { position: absolute; left: calc(1540 * var(--u)); top: calc(462 * var(--u)); margin: 0; font-family: var(--sans); font-weight: 500; font-size: max(calc(26 * var(--u)), 0.625rem); line-height: 1.35; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-ink); white-space: nowrap; }

.results { position: absolute; left: 0; right: 0; top: calc(1077 * var(--u)); height: calc(212 * var(--u)); margin: 0; }
.results::before { content: ""; position: absolute; left: calc(27 * var(--u)); right: calc(27 * var(--u)); top: 0; height: max(1px, calc(2 * var(--u))); background: var(--rule); }
.results__label { position: absolute; left: calc(86 * var(--u)); top: calc(79 * var(--u)); margin: 0; font-size: max(calc(31 * var(--u)), 0.625rem); letter-spacing: 0.46em; color: var(--ink); }
.result { position: absolute; top: calc(43 * var(--u)); margin: 0; }
.result::before { content: ""; position: absolute; left: calc(-105 * var(--u)); top: calc(1 * var(--u)); width: max(1px, calc(3 * var(--u))); height: calc(116 * var(--u)); background: var(--gold); }
.result--1 { left: calc(602 * var(--u)); }
.result--2 { left: calc(1349 * var(--u)); }
.result--3 { left: calc(2121 * var(--u)); }
.result strong { display: block; font-family: var(--serif); font-weight: 700; font-size: max(calc(61 * var(--u)), 1.25rem); line-height: 1; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; }
.result span { display: block; margin-top: calc(16 * var(--u)); font-size: max(calc(37 * var(--u)), 0.8125rem); line-height: 1.15; color: var(--ink-soft); white-space: nowrap; }

/* ---------- Sections below the first viewport ---------- */
.band { position: relative; padding: var(--section-y) var(--gutter); }
.results__note { margin-left: 0.2em; color: var(--gold-ink); text-decoration: none; letter-spacing: 0; }
.band::before { content: ""; position: absolute; left: calc(27 * var(--u)); right: calc(27 * var(--u)); top: 0; height: 1px; background: var(--rule); }
.band__inner { width: min(100%, var(--content)); margin-inline: auto; }
.fig-title { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(1.125rem, 0.95rem + 0.6vw, 1.5rem); line-height: 1.2; letter-spacing: 0.2em; text-transform: uppercase; text-align: center; text-wrap: balance; }
.band__lede { max-width: 58ch; margin: 1rem auto 0; font-size: var(--body); line-height: 1.6; text-align: center; color: var(--ink-soft); }
.title { margin: 0; font-family: var(--serif); font-weight: 400; font-size: var(--h2); line-height: 1.12; text-wrap: balance; }
.prose { font-size: var(--body); line-height: 1.65; }
.prose p { margin: 0; max-width: 60ch; }
.prose p + p { margin-top: 1em; }
.title + .prose { margin-top: 1rem; }
.checks { margin: 1.25rem 0 0; padding: 0; list-style: none; font-size: var(--body); line-height: 1.5; }
.checks li { position: relative; padding-left: 1.5em; max-width: 58ch; }
.checks li + li { margin-top: 0.55em; }
.checks li::before { content: ""; position: absolute; left: 0.1em; top: 0.62em; width: 0.5em; height: 1px; background: var(--gold); }

/* FIG. 2: three fixes, each drawn from a module of the Fig. 1 plate. */
.fixes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 3.5rem); margin: clamp(2rem, 1.5rem + 2vw, 3rem) 0 0; padding: 0; list-style: none; position: relative; }
.fixes::before { content: ""; position: absolute; left: 4%; right: 4%; top: 4.95rem; border-top: 1px dashed var(--ink-soft); }
.fix { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; scroll-margin-top: 2rem; }
/* Drawings are SVG viewBox crops of the approved rasters. The filter lifts their grey paper so multiply leaves only ink on the bond. */
.ink-crop { filter: brightness(1.07) contrast(1.1); mix-blend-mode: multiply; }
.fix__art { position: relative; width: min(100%, 17rem); aspect-ratio: 16 / 9; margin: 0; }
.fix__art svg { display: block; width: 100%; height: 100%; }
/* Reference numerals drawn inside the SVG crops in the Fig. 1 label style; sizes are viewBox units. */
.plate-ref { font-family: var(--serif); font-size: 30px; fill: var(--ink); }
.plate-ref--gold { fill: var(--gold-ink); }
.plate-ref--big { font-size: 54px; }
.fix h3 { margin: 1.25rem 0 0; font-family: var(--serif); font-weight: 400; font-size: 0.9375rem; letter-spacing: 0.16em; text-transform: uppercase; }
.fix h3 span { color: var(--gold-ink); }
.fix p { margin: 0.75rem 0 0; max-width: 34ch; font-size: var(--small); line-height: 1.6; color: var(--ink-soft); }

/* Models: the three machines owners run, cropped from the Fig. 1 plate at a growing scale. */
.models { margin: clamp(2rem, 1.5rem + 2vw, 3rem) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.model { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; padding: clamp(1.5rem, 1rem + 1.5vw, 2.25rem) 0; border-bottom: 1px solid var(--rule); }
/* The svg takes its viewBox's own ratio, so nothing outside the crop shows in the letterbox. */
.model__fig { margin: 0; }
.model__art { display: flex; justify-content: center; aspect-ratio: 2 / 1; }
.model__art svg { display: block; width: auto; height: 100%; max-width: 100%; }
.model__caption { margin-top: 0.75rem; font-family: var(--serif); font-size: 0.9375rem; text-align: center; color: var(--ink-soft); }
.model__name { margin: 0; font-family: var(--serif); font-weight: 400; font-size: var(--h3); line-height: 1.15; }
.model__story, .model__fix { margin: 0.7rem 0 0; max-width: 52ch; font-size: var(--small); line-height: 1.6; color: var(--ink-soft); }
.model__fix { color: var(--ink); }
.model__fix b { font-weight: 600; }
.text-link { display: inline-block; margin-top: 0.9rem; font-size: var(--label); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-ink); text-decoration-color: var(--gold-hair); }
.text-link:hover { color: var(--ink); text-decoration-color: currentColor; }

/* FIG. 4: the growth cycle, a loop that restarts at the bottleneck (the gold module at its centre). */
.cycle { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2.5rem, 5vw, 4.5rem); align-items: center; margin-top: clamp(2rem, 1.5rem + 2vw, 3rem); }
.cycle__ring { position: relative; justify-self: center; width: min(100%, 30rem); margin: 0; }
.cycle__svg { display: block; width: 100%; height: auto; overflow: visible; }
.cycle__track { fill: none; stroke: var(--ink-muted); stroke-width: 1; stroke-dasharray: 4 6; }
.cycle__arc { fill: none; stroke: var(--gold); stroke-width: 2; stroke-dasharray: 1; stroke-dashoffset: 0; }
.cycle__head { fill: var(--gold); }
.cycle__node circle { fill: var(--bond); stroke: var(--ink); stroke-width: 1.25; }
.cycle__node--go circle { stroke: var(--gold); stroke-width: 2.5; }
.cycle__num { font-family: var(--serif); font-size: 26px; fill: var(--ink); text-anchor: middle; dominant-baseline: central; }
.cycle__word { font-family: var(--sans); font-weight: 500; font-size: 19px; letter-spacing: 0.16em; fill: var(--ink); }
.cycle__word--go { fill: var(--gold-ink); }
.cycle__core { position: absolute; left: 50%; top: 50%; width: 40%; height: auto; aspect-ratio: 272 / 252; transform: translate(-50%, -50%); pointer-events: none; }
.cycle .title + .prose { margin-top: 0.8rem; }
.cycle__steps { display: grid; gap: 1.1rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.cycle__steps li { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: 1rem; align-items: start; }
.cycle__step-num { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 1px solid var(--ink); border-radius: 50%; font-family: var(--serif); font-size: 1rem; }
.cycle__steps li:first-child .cycle__step-num { border: 2px solid var(--gold); color: var(--gold-ink); }
.cycle__steps h4 { margin: 0.35rem 0 0; font-weight: 500; font-size: 0.8125rem; letter-spacing: 0.18em; text-transform: uppercase; }
.cycle__steps p { margin: 0.3rem 0 0; max-width: 46ch; font-size: var(--small); line-height: 1.55; color: var(--ink-soft); }

/* FIG. 4: the analysis, shown as an example Scandere Insights readout. */
.analysis { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: center; margin-top: clamp(2rem, 1.5rem + 2vw, 3rem); }
.readout { position: relative; margin: 0; padding: clamp(1.25rem, 1rem + 1.5vw, 2rem); border: 1px solid var(--rule); background: var(--bond); }
.readout__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: 0.9rem; border-bottom: 1px solid var(--rule); }
.readout__title { margin: 0; font-size: var(--label); letter-spacing: 0.2em; }
.stamp { flex: none; padding: 0.35em 0.8em; font-size: var(--label); letter-spacing: 0.2em; color: var(--gold-ink); border: 1.5px solid var(--gold); transform: rotate(-5deg); }
.readout table { width: 100%; margin-top: 1rem; border-collapse: collapse; font-size: var(--small); font-variant-numeric: tabular-nums; }
.readout caption { padding: 0.25rem 0 0.5rem; text-align: left; font-size: var(--label); letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); }
.readout th, .readout td { padding: 0.55rem 0; text-align: left; font-weight: 400; border-bottom: 1px solid var(--hatch); }
.readout td { text-align: right; }
.readout .is-bottleneck th, .readout .is-bottleneck td { color: var(--gold-ink); font-weight: 600; }
.readout .is-bottleneck td::after { content: " ← bottleneck"; font-weight: 500; font-size: var(--label); letter-spacing: 0.08em; }
.readout figcaption { margin-top: 0.9rem; font-size: var(--label); color: var(--ink-muted); }

/* Prior art: the usual hire set against the Scandere process, row by row. */
.compare__title { margin: 1rem auto 0; max-width: 30ch; text-align: center; }
.compare { width: 100%; margin: clamp(2rem, 1.5rem + 2vw, 3rem) 0 0; border-collapse: collapse; font-size: var(--small); line-height: 1.55; }
.compare th, .compare td { padding: 1rem clamp(0.75rem, 0.5rem + 1vw, 1.5rem); text-align: left; vertical-align: top; border-bottom: 1px solid var(--rule); }
.compare thead th { padding-top: 0; font-size: var(--label); font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); }
.compare thead th:last-child { color: var(--gold-ink); border-bottom-color: var(--gold); }
.compare thead td, .compare thead th { border-bottom-width: 2px; }
.compare tbody th { width: 22%; padding-left: 0; font-family: var(--serif); font-weight: 400; font-size: 1.0625rem; line-height: 1.3; }
.compare td { color: var(--ink-muted); }
.compare td + td { color: var(--ink); }

/* Exhibit 1: named results on the charcoal band, the page's one dark proof moment. */
.exhibit-band { background: var(--charcoal); color: var(--on-dark); margin: 0 calc(24 * var(--u)); }
.exhibit-band::before { display: none; }
.exhibit-band .fig-title { color: #fff; }
.exhibit-table { width: 100%; margin: clamp(2rem, 1.5rem + 2vw, 3rem) 0 0; border-collapse: collapse; font-size: var(--small); line-height: 1.5; }
.exhibit-table th, .exhibit-table td { padding: 1rem clamp(0.75rem, 0.5rem + 1vw, 1.5rem); text-align: left; vertical-align: top; border-bottom: 1px solid rgba(233, 228, 218, 0.22); }
.exhibit-table th:first-child { padding-left: 0; }
.exhibit-table thead th { padding-top: 0; font-size: var(--label); font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--on-dark-muted); border-bottom-color: rgba(233, 228, 218, 0.5); }
.exhibit-table tbody th { width: 40%; font-family: var(--serif); font-weight: 400; font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.3125rem); line-height: 1.3; color: #fff; }
.exhibit-table td { color: var(--on-dark); }
.exhibit-table__ref { display: inline-block; min-width: 2.5rem; font-size: 0.875rem; color: var(--on-dark-muted); }
.exhibit-note { margin: 2rem 0 0; font-size: var(--label); color: var(--on-dark-muted); }
.exhibit-note a { color: var(--on-dark); }

/* Engagements: scoped on the call, so no prices here. */
.tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: clamp(2rem, 1.5rem + 2vw, 3rem) 0 0; border: 1px solid var(--rule); }
.tier { display: flex; flex-direction: column; padding: clamp(1.5rem, 1rem + 1.5vw, 2.25rem); }
.tier + .tier { border-left: 1px solid var(--rule); }
.tier--pick { position: relative; }
/* Stamped across the sheet rule above the recommended claim, clear of its heading. */
.tier__stamp { position: absolute; top: -0.85rem; right: 1rem; background: var(--bond); }
.tier h3 { margin: 0; font-family: var(--serif); font-weight: 400; font-size: var(--h3); line-height: 1.2; }
.tier__promise { margin: 0.6rem 0 0; font-size: var(--body); line-height: 1.5; }
.tier .checks { flex: 1; font-size: var(--small); }
.tier__terms { margin: 1.25rem 0 0; padding-top: 0.9rem; border-top: 1px solid var(--hatch); font-size: 0.875rem; line-height: 1.55; color: var(--ink-muted); }
.tier--pick .tier__terms { border-top-color: var(--gold-hair); }

/* Operators. */
.operators { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2.5rem, 5vw, 5rem); margin-top: clamp(2rem, 1.5rem + 2vw, 3rem); }
.operator { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.operator__mark { display: grid; place-items: center; aspect-ratio: 1; border: 1px solid var(--rule); font-family: var(--serif); font-size: 1.625rem; color: var(--ink); background-image: repeating-linear-gradient(135deg, transparent 0 7px, var(--hatch) 7px 8px); }
.partner__name { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(1.375rem, 1.2rem + 0.5vw, 1.75rem); line-height: 1.1; }
.partner__role { margin: 0.4rem 0 0; font-size: var(--label); letter-spacing: 0.18em; color: var(--gold-ink); }
.partner__story { margin: 0.9rem 0 0; font-size: var(--small); line-height: 1.6; color: var(--ink-soft); }
.partner__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.5rem; margin: 1.1rem 0 0; padding: 0; list-style: none; }
.partner__stats li { padding-top: 0.7rem; border-top: 1px solid var(--gold); }
.partner__stats strong { display: block; font-family: var(--serif); font-weight: 400; font-size: clamp(1.375rem, 1.15rem + 0.6vw, 1.75rem); line-height: 1.05; font-variant-numeric: tabular-nums; }
.partner__stats span { display: block; margin-top: 0.3rem; font-size: 0.875rem; line-height: 1.45; color: var(--ink-muted); }
.partner__note { margin: 1.75rem 0 0; font-size: var(--label); color: var(--ink-muted); text-align: center; }
.ledger { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1.75rem; margin: 2.25rem 0 0; padding: 1rem 0 0; list-style: none; border-top: 1px solid var(--hatch); }
.ledger__label { width: 100%; margin: 0; text-align: center; font-size: var(--label); letter-spacing: 0.2em; color: var(--ink-muted); }
.ledger li { font-family: var(--serif); font-size: 1.0625rem; color: var(--ink); }

/* Client video placeholders: labeled exhibits waiting for their film. */
.exhibits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.5rem); margin: clamp(2rem, 1.5rem + 2vw, 3rem) 0 0; padding: 0; list-style: none; }
.exhibit { margin: 0; }
.exhibit__frame { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 9; border: 1px solid var(--rule); background-image: repeating-linear-gradient(135deg, transparent 0 10px, var(--hatch) 10px 11px); }
.exhibit__frame span { padding: 0.5rem 0.9rem; font-size: var(--label); letter-spacing: 0.18em; text-transform: uppercase; background: var(--bond); border: 1px solid var(--gold-hair); color: var(--ink-soft); }
.exhibit figcaption { margin-top: 0.7rem; font-size: var(--small); color: var(--ink-muted); }
.exhibit figcaption b { font-family: var(--serif); font-weight: 400; color: var(--ink); }

/* Fit. */
.fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4rem); margin-top: clamp(2rem, 1.5rem + 2vw, 3rem); }
.fit h3 { margin: 0; padding-top: 1rem; border-top: 1px solid var(--gold); font-family: var(--serif); font-weight: 400; font-size: var(--h3); }
.fit__not h3 { border-top-color: var(--rule); }
.fit__not .checks li::before { background: var(--ink-muted); }

/* FAQ. */
.faq { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
.faq-list { border-top: 1px solid var(--rule); }
.faq-list details { border-bottom: 1px solid var(--rule); }
.faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 1.05rem 0; font-family: var(--serif); font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem); line-height: 1.25; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: ""; flex: none; width: 0.6em; height: 0.6em; background: linear-gradient(var(--gold-ink), var(--gold-ink)) center / 100% 1.5px no-repeat, linear-gradient(var(--gold-ink), var(--gold-ink)) center / 1.5px 100% no-repeat; transition: transform 0.4s var(--ease-out); }
.faq-list details[open] summary::after { transform: rotate(45deg); }
.faq-list summary:hover { color: var(--gold-ink); }
.faq-list details p { margin: 0; padding: 0 0 1.25rem; max-width: 64ch; font-size: var(--small); line-height: 1.6; color: var(--ink-soft); }

/* ---------- VSL slot (filled from js/config.js) ---------- */
.vsl { margin: 0; padding: 0.5rem; border: 1px solid var(--rule); background: var(--bond); }
.vsl__screen { position: relative; aspect-ratio: 16 / 9; max-width: 100%; background: var(--charcoal); }
.vsl__screen iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vsl figcaption { margin-top: 0.7rem; font-size: var(--label); letter-spacing: 0.2em; text-align: center; color: var(--ink-muted); }
.vsl-band { padding: 0 var(--gutter); }
/* The space rides on the figure, so an unconfigured (hidden) video leaves no gap under the results strip. */
.vsl-band .vsl { width: min(100%, 58rem); margin: 0 auto var(--section-y); }
.has-vsl [data-longform] { display: none !important; }

/* ---------- Application ---------- */
.apply-band { background: var(--charcoal); color: var(--on-dark); margin: 0 calc(24 * var(--u)); }
.apply-band::before { display: none; }
.apply-band .title { color: #fff; }
.apply-band .prose { color: var(--on-dark); }
.apply-layout { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: start; width: min(100%, var(--content)); margin-inline: auto; }
.apply-card { position: relative; margin: 0; padding: clamp(1.75rem, 1rem + 2.5vw, 2.75rem); overflow: hidden; background: var(--bond); color: var(--ink); border: 1px solid var(--gold); scroll-margin-top: 1.5rem; }
.apply__progress { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--gold-hair); }
.apply__progress-fill { display: block; width: 0; height: 100%; background: var(--gold); transition: width 0.35s var(--ease-out); }
.apply__title { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(1.625rem, 1.35rem + 0.9vw, 2.125rem); line-height: 1.12; }
.apply__count { margin: 0 0 0.75rem; font-family: var(--sans); font-weight: 500; font-size: var(--label); letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-ink); }
.apply__meta { margin: 1rem 0 0; font-size: var(--label); color: var(--ink-muted); }
.apply-card [data-intro] .btn { margin-top: 1.5rem; }
.apply-card [data-intro] .apply__help { margin-top: 0.75rem; }
.apply__fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.apply__question { display: block; margin: 0 0 0.5rem; padding: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(1.375rem, 1.15rem + 0.8vw, 1.75rem); line-height: 1.2; text-wrap: balance; }
.apply__help { margin: 0 0 0.5rem; max-width: 60ch; font-size: var(--small); line-height: 1.55; color: var(--ink-muted); }
.apply-card input[type="text"], .apply-card input[type="email"], .apply-card input[type="tel"] { width: 100%; margin-top: 0.75rem; padding: 0.75rem 0; font: inherit; font-size: clamp(1.0625rem, 1rem + 0.4vw, 1.25rem); color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--gold); border-radius: 0; }
.apply-card textarea { width: 100%; min-height: 7rem; margin-top: 0.75rem; padding: 0.75rem 0.9rem; font: inherit; font-size: var(--body); line-height: 1.5; color: var(--ink); background: transparent; border: 1px solid var(--gold-hair); border-radius: 0; resize: vertical; }
.apply-card input:focus-visible, .apply-card textarea:focus-visible { outline: none; border-color: var(--gold-ink); box-shadow: 0 1px 0 var(--gold-ink); }
.apply__choices { display: grid; gap: 0.6rem; margin-top: 1rem; }
.apply__choice { position: relative; display: flex; align-items: center; gap: 0.85rem; padding: 0.8rem 1rem; font-size: var(--body); line-height: 1.35; background: var(--bond); border: 1px solid var(--hatch); cursor: pointer; transition: border-color 0.2s var(--ease-out), background-color 0.2s var(--ease-out); }
.apply__choice:hover { border-color: var(--gold); }
/* The radio stays focusable for keyboards; the row shows its state. */
.apply__choice input { position: absolute; opacity: 0; pointer-events: none; }
.apply__choice:has(input:checked) { background: #F1ECE0; border-color: var(--gold-ink); }
.apply__choice:has(input:focus-visible) { outline: 2px solid var(--gold-ink); outline-offset: 3px; }
.apply__key { display: grid; flex: none; place-items: center; width: 1.75rem; height: 1.75rem; font-size: 0.6875rem; color: var(--gold-ink); border: 1px solid var(--gold-hair); }
.apply__choice:has(input:checked) .apply__key { color: #fff; background: var(--ink); border-color: var(--ink); }
.apply__error { min-height: 1.5em; margin: 0.75rem 0 0; font-size: var(--small); font-weight: 600; color: #9B2C1F; }
.apply__consent { margin: 0.25rem 0 0; font-size: 0.8125rem; line-height: 1.55; color: var(--ink-muted); }
.apply__nav { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1rem; }
.apply-card .btn--dark { background: var(--ink); border-color: var(--ink); color: #fff; }
.apply-card .btn--dark:hover { background: var(--gold-button); border-color: var(--gold-button); }
.apply__back { padding: 0.5rem 0; font: inherit; font-size: var(--small); color: var(--ink-muted); background: none; border: 0; cursor: pointer; }
.apply__back:hover { color: var(--ink); }
.apply__honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.booking__frame { display: block; width: 100%; height: min(760px, 85vh); min-height: 620px; margin-top: 1.25rem; background: #fff; border: 1px solid var(--hatch); }
.apply__fallback { display: inline-block; margin-top: 1rem; font-size: var(--small); color: var(--gold-ink); }
.notice { margin: 1rem 0 0; padding: 1rem 1.25rem; font-size: var(--small); background: var(--bond); border: 1px dashed var(--gold); }

/* ---------- Footer ---------- */
.footer { position: relative; padding: var(--section-y) var(--gutter) calc(var(--section-y) * 0.6); }
.footer::before { content: ""; position: absolute; left: calc(27 * var(--u)); right: calc(27 * var(--u)); top: 0; height: 1px; background: var(--rule); }
.footer__inner { width: min(100%, var(--content)); margin-inline: auto; }
.footer__top { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)); gap: 2rem; }
.footer__brand { display: inline-flex; align-items: center; gap: 0.75rem; text-decoration: none; }
.footer__brand img { width: 2.5rem; height: 2.5rem; }
.footer__brand span { font-family: var(--serif); font-size: 1.125rem; letter-spacing: 0.4em; text-transform: uppercase; }
.footer__line { margin: 0.9rem 0 0; max-width: 34ch; font-size: var(--small); line-height: 1.6; color: var(--ink-soft); }
.footer__title { margin: 0 0 1em; font-size: var(--label); letter-spacing: 0.22em; color: var(--gold-ink); }
.footer ul { display: grid; gap: 0.65em; margin: 0; padding: 0; list-style: none; font-size: var(--small); }
.footer ul a { text-decoration: none; }
.footer ul a:hover { color: var(--gold-ink); text-decoration: underline; }
.footer__legal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin-top: 2.5rem; padding-top: 1.75rem; border-top: 1px solid var(--hatch); }
.footer__legal h3 { margin: 0 0 0.7em; font-size: var(--label); letter-spacing: 0.2em; font-weight: 500; }
.footer__legal p { margin: 0; font-size: 0.8125rem; line-height: 1.6; color: var(--ink-muted); }
.footer__bottom { margin: 2rem 0 0; font-size: 0.8125rem; color: var(--ink-muted); }

/* ---------- Booked and review pages ---------- */
.page-head { padding: var(--section-y) var(--gutter) calc(var(--section-y) * 0.5); }
.page-head__inner { width: min(100%, 58rem); margin-inline: auto; text-align: center; }
.page-title { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(2rem, 1.5rem + 1.8vw, 3.25rem); line-height: 1.08; text-wrap: balance; }
.page-head .prose p { margin-inline: auto; }
.page-head .prose { margin-top: 1rem; color: var(--ink-soft); }
.page-head .vsl { width: min(100%, 52rem); margin: 2rem auto 0; }
.prep { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2.5rem, 5vw, 5rem); width: min(100%, var(--content)); margin-inline: auto; }
.p-agenda { display: grid; gap: 1rem; margin: 1.25rem 0 0; padding: 0; list-style: none; counter-reset: step; }
.p-agenda li { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: 1rem; align-items: center; font-size: var(--body); line-height: 1.5; counter-increment: step; }
.p-agenda li::before { content: counter(step); display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--gold-button); color: #fff; font-family: var(--serif); font-size: 1rem; }
.p-note { margin: 1.1rem 0 0; font-size: var(--small); line-height: 1.55; color: var(--ink-muted); }
.breakouts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; margin-top: 2rem; }
.breakout h3 { margin: 0 0 0.8rem; font-family: var(--serif); font-weight: 400; font-size: var(--h3); }
.proof-shots { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: 1rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.proof-shots a { display: block; padding: 0.4rem; border: 1px solid var(--rule); }
.proof-shots img { width: 100%; height: auto; }
.contact-band { background: var(--charcoal); color: var(--on-dark); margin: 0 calc(24 * var(--u)); }
.contact-band::before { display: none; }
.contact-band .title { color: #fff; }
.contact-band p { margin: 1rem 0 0; max-width: 60ch; font-size: var(--body); line-height: 1.6; }
.contact-band strong { color: #fff; }
.downsell { margin: 2.5rem 0 0; padding: clamp(1.25rem, 1rem + 1.5vw, 2rem); border: 1px solid var(--rule); text-align: left; }
.downsell h2 { margin: 0; font-family: var(--serif); font-weight: 400; font-size: var(--h3); }
.downsell p { margin: 0.75rem 0 0; font-size: var(--small); line-height: 1.6; color: var(--ink-soft); }

.mobile-cta { display: none; }

/* Gold-ink focus rings fall under 3:1 on charcoal. */
.exhibit-band :focus-visible, .contact-band :focus-visible { outline-color: var(--gold-light); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .mobile-cta, .faq-list summary::after, .nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after, .apply__progress-fill { transition: none; }
}

/* ---------- The one authored moment: the growth cycle draws itself arc by arc, starting at the analysis ---------- */
@media (prefers-reduced-motion: no-preference) {
  .js .cycle__arc { stroke-dashoffset: 1; transition: stroke-dashoffset 0.9s var(--ease-out); transition-delay: calc(var(--i) * 380ms + 150ms); }
  .js .cycle__ring.is-visible .cycle__arc { stroke-dashoffset: 0; }
  .js .cycle__head { opacity: 0; transition: opacity 0.3s var(--ease-out); transition-delay: calc(var(--i) * 380ms + 950ms); }
  .js .cycle__ring.is-visible .cycle__head { opacity: 1; }
}

/* ---------- Tablet and phone ---------- */
@media (max-width: 1099px) {
  .sheet { width: 100%; margin: 0; }
  .sheet__frame { inset: 0.5rem; border-width: 1px; }
  .first__break { display: none; }
  .nav-toggle { margin-left: auto; }
  .masthead { position: sticky; top: 0; height: auto; display: flex; align-items: center; justify-content: flex-start; padding: 1.1rem calc(var(--gutter) + 0.25rem) 0.9rem; background: var(--bond); }
  .masthead::after { left: 0.5rem; right: 0.5rem; top: auto; bottom: 0; height: 1px; }
  .brand { position: static; gap: 0.6rem; }
  .brand img { width: 2.25rem; height: 2.25rem; }
  .brand span { font-size: 1rem; letter-spacing: 0.32em; }
  .masthead__apply, .sheet-note { display: none; }
  .nav-toggle { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; padding: 0; background: transparent; border: 1px solid var(--rule); color: var(--ink); cursor: pointer; }
  .nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after { display: block; width: 18px; height: 1.5px; background: currentColor; transition: transform 0.35s var(--ease-out), background-color 0.2s; }
  .nav-toggle__bars { position: relative; }
  .nav-toggle__bars::before, .nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
  .nav-toggle__bars::before { top: -6px; }
  .nav-toggle__bars::after { top: 6px; }
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars { background: transparent; }
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars::before { transform: translateY(6px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars::after { transform: translateY(-6px) rotate(-45deg); }
  .nav { position: absolute; top: 100%; left: 0.5rem; right: 0.5rem; width: auto; height: auto; display: none; flex-direction: column; align-items: stretch; padding: 0.25rem var(--gutter) 1.1rem; background: var(--bond); border-bottom: 1px solid var(--rule); }
  .nav.is-open { display: flex; }
  .nav a { display: block; padding: 0.9rem 0; font-size: 0.8125rem; border-bottom: 1px solid var(--hatch); }
  .nav__apply { display: block; }
  .nav__apply a { color: var(--gold-ink); border-bottom: 0; }

  .first { height: auto; display: flex; flex-direction: column; padding: 2.5rem calc(var(--gutter) + 0.25rem) 0; }
  .first__title, .first__lede, .first__actions, .first__rule, .fig1__title, .fig1__plate, .fig1__label, .fig1__callout, .results, .results__label, .result { position: static; width: auto; height: auto; }
  .first__title { font-size: clamp(2.125rem, 1.4rem + 3.6vw, 3.25rem); line-height: 1.08; }
  .first__lede { margin-top: 1rem; font-size: 1.0625rem; line-height: 1.5; }
  .first__actions { flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-top: 1.5rem; }
  .first__actions .btn { flex: 1 1 15rem; width: auto !important; height: 3.25rem; font-size: 0.6875rem; }
  .first__rule { display: none; }
  .fig1 { position: relative; margin: 2.5rem -0.25rem 0; padding-top: 1.5rem; border-top: 1px solid var(--rule); }
  .fig1__title { font-size: 0.875rem; letter-spacing: 0.18em; white-space: normal; text-align: center; }
  /* Phones get modules 20 to 40 at full width so the gold bottleneck still reads; 10 and 50 stay in the legend. */
  .fig1__plate { margin-top: 1rem; aspect-ratio: 995 / 490; overflow: hidden; }
  .fig1__plate img { width: 201%; max-width: none; height: auto; margin: -20.1% 0 0 -47.2%; object-fit: fill; }
  .fig1__legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem 1rem; margin: 1rem 0 0; }
  .fig1__label { font-size: 0.9375rem; white-space: normal; }
  .fig1__label b { display: inline; margin-right: 0.35em; }
  .fig1__callout { grid-column: 1 / -1; font-size: 0.6875rem; white-space: normal; }
  .results { display: grid; gap: 1.1rem; margin: 2rem -0.25rem 0; padding: 1.5rem 0 0.5rem; }
  .results::before { left: 0; right: 0; }
  .results__label { font-size: 0.6875rem; letter-spacing: 0.32em; }
  .result { padding-left: 1rem; border-left: 2px solid var(--gold); }
  .result::before { display: none; }
  .result strong { font-size: 1.625rem; }
  .result span { margin-top: 0.3rem; font-size: 0.9375rem; white-space: normal; }

  .band::before, .footer::before { left: 0.5rem !important; right: 0.5rem !important; }
  .apply-band, .contact-band { margin: 0 0.5rem; }
  .fixes, .exhibits, .tiers { grid-template-columns: minmax(0, 1fr); }
  .tier + .tier { border-left: 0; border-top: 1px solid var(--rule); }
  .fixes::before { display: none; }
  .analysis, .faq, .apply-layout, .operators, .cycle, .model { grid-template-columns: minmax(0, 1fr); }
  .exhibit-band { margin: 0 0.5rem; }
}
@media (max-width: 760px) {
  .footer { padding-bottom: 6rem; }
  .mobile-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: flex; padding: 0.625rem 0.75rem calc(0.625rem + env(safe-area-inset-bottom)); background: rgba(248, 248, 246, 0.97); border-top: 1px solid var(--rule); transform: translateY(110%); transition: transform 0.45s var(--ease-out); }
  .mobile-cta.is-visible { transform: none; }
  .mobile-cta .btn { flex: 1; padding: 0.9rem 0.5rem; }
  .exhibit-table thead { display: none; }
  .exhibit-table tr { display: grid; padding: 1rem 0; border-bottom: 1px solid rgba(233, 228, 218, 0.22); }
  .exhibit-table th, .exhibit-table td { padding: 0.2rem 0; border: 0; }
  .exhibit-table tbody th { width: auto; }
  .exhibit-table td::before { content: attr(data-label) " · "; color: var(--on-dark-muted); }
  /* The ledger becomes one card per row: the row label, then each side with its own heading. */
  .compare thead { display: none; }
  .compare tr { display: grid; padding: 1rem 0; border-bottom: 1px solid var(--rule); }
  .compare th, .compare td { padding: 0.3rem 0; border: 0; }
  .compare tbody th { width: auto; }
  .compare td::before { content: attr(data-label); display: block; margin-bottom: 0.15rem; font-size: var(--label); font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-muted); }
  .compare td + td { margin-top: 0.4rem; }
  .compare td + td::before { color: var(--gold-ink); }
}
@media (min-width: 1100px) {
  .fig1__legend { display: contents; }
}
@media (max-width: 760px) {
  .fit, .prep, .breakouts, .footer__top, .footer__legal { grid-template-columns: minmax(0, 1fr); }
  .operator { grid-template-columns: 4rem minmax(0, 1fr); }
  .partner__stats { grid-template-columns: minmax(0, 1fr); }
  .apply__nav .btn { flex: 1 1 100%; }
}
