/* T & M — a consulting prospectus: open frames, ruled chapters, clear direction.
   Shared primitives precede page compositions; responsive adaptations follow. */
:root {
  color-scheme: light;
  --color-page: #f8f9fb;
  --color-surface: #ffffff;
  --color-soft: #eaf0f5;
  --color-text: #182e42;
  --color-muted: #506171;
  --color-border: #c7d1db;
  --color-control-border: #7c8b9b;
  --color-accent: #244fa7;
  --color-support: #a6c4ee;
  --color-hover: #183d86;
  --color-focus: #244fa7;
  --color-ink: #10283d;
  --color-on-ink: #f7f9fc;
  --color-muted-on-ink: #c0cfdf;
  --color-border-on-ink: #425b72;
  --color-focus-on-ink: #b8d6ff;
  --color-success: #225d45;
  --color-success-soft: #edf7f1;
  --color-warning: #775015;
  --color-warning-soft: #fbf3e3;
  --color-error: #a22934;
  --color-error-soft: #fff0f0;
  --color-disabled: #e5eaf0;
  --color-disabled-text: #526372;
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --font-numeral: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --text-small: 0.875rem;
  --text-body: 1rem;
  --text-lead: clamp(1.0625rem, 0.97rem + 0.4vw, 1.25rem);
  --text-title: clamp(2.65rem, 1.8rem + 3.3vw, 4.8rem);
  --text-section: clamp(2rem, 1.5rem + 2vw, 3.3rem);
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4rem;
  --space-section: clamp(3.25rem, 6vw, 6rem);
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --container-width: 76rem;
  --reading-width: 65ch;
  --radius: 0.125rem;
  --duration: 180ms;
  --ease: cubic-bezier(0.2, 0.6, 0.3, 1);
}
* { box-sizing: border-box; }
/* The native hidden contract must beat every layout display declaration. */
[hidden] { display: none !important; }
html { scroll-padding-block-start: 1.5rem; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; font-family: var(--font-body); font-size: var(--text-body); line-height: 1.65; color: var(--color-text); background: var(--color-page); overflow-wrap: anywhere; }
::selection { background: var(--color-accent); color: var(--color-surface); }
a { color: inherit; text-underline-offset: 0.25em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
button, input, select, textarea { font: inherit; }
button, .button { touch-action: manipulation; }
button { color: inherit; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, h4, p { margin: 0; }
h1, .section-heading { font-family: var(--font-display); font-weight: 400; letter-spacing: -0.035em; }
h1 { font-size: var(--text-title); line-height: 1.08; text-wrap: balance; }
h2 { font-size: 1.65rem; line-height: 1.3; font-weight: 600; letter-spacing: -0.02em; }
h3, h4 { font-size: 1.125rem; line-height: 1.4; }
ul, ol { padding-inline-start: var(--space-3); margin-block: 0; }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
main:focus { outline: none; }
.container { width: min(var(--container-width), calc(100% - 2 * var(--gutter))); margin-inline: auto; }
.stack > * + * { margin-block-start: var(--space-2); }
.measure { max-width: var(--reading-width); }
.section { padding-block: var(--space-section); }
.section--soft { background: var(--color-soft); }
.section--ink, .site-footer { --color-focus: var(--color-focus-on-ink); color: var(--color-on-ink); background: var(--color-ink); }
.section-heading { font-size: var(--text-section); line-height: 1.13; max-width: 24ch; text-wrap: balance; }
.section--ink .eyebrow, .section--ink .item-index, .section--ink .field-hint { color: var(--color-muted-on-ink); }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.eyebrow { color: var(--color-muted); font-size: var(--text-small); font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase; line-height: 1.5; }
.item-index { font-family: var(--font-numeral); font-size: var(--text-small); line-height: 1.5; color: var(--color-accent); font-variant-numeric: tabular-nums; }
.page-shell { flex: 1; }
.page-introduction { color: var(--color-muted); font-size: var(--text-lead); }

/* In-flow header and native disclosure. Keep 56rem aligned with navigation.js. */
.site-header { border-bottom: 1px solid var(--color-border); background: #e6ecf2; }
.header-layout { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); min-height: 5.5rem; padding-block: 1rem; }
.brand { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 2.75rem; text-decoration: none; line-height: 1.2; }
.brand-name { font-family: var(--font-display); font-size: 1.6rem; font-weight: 600; letter-spacing: -0.035em; }
.brand img { max-width: 4rem; }
.header-layout > .brand { flex-shrink: 0; max-width: 100%; }
.header-layout nav { margin-inline-start: auto; min-width: 0; }
.nav-list { display: flex; align-items: center; flex-wrap: wrap; gap: 0.25rem; padding: 0; list-style: none; }
.nav-link { display: block; min-height: 2.75rem; padding: 0.7rem clamp(0.5rem, 0.8vw, 0.8rem); border-radius: var(--radius); font-size: var(--text-small); font-weight: 500; text-decoration: none; transition: background-color var(--duration) var(--ease), color var(--duration) var(--ease); }
.nav-link:hover { color: var(--color-accent); background: var(--color-soft); }
.nav-link[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--color-accent); text-decoration-thickness: 2px; text-underline-offset: 0.55em; font-weight: 650; }
.nav-link--action { margin-inline-start: 0.75rem; padding-inline: 1.25rem; color: var(--color-surface); background: var(--color-accent); border: 1px solid var(--color-accent); }
.nav-link--action:hover { color: var(--color-surface); background: var(--color-hover); border-color: var(--color-hover); }
.nav-link--action[aria-current="page"] { text-decoration-color: currentColor; }
.menu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 0.75rem; min-height: 2.75rem; padding: 0.6rem 0.85rem; border: 1px solid var(--color-control-border); border-radius: var(--radius); background: transparent; font-size: var(--text-small); font-weight: 600; cursor: pointer; }
.menu-toggle:hover { background: var(--color-soft); }
.menu-icon { position: relative; display: block; width: 1rem; height: 0.75rem; }
.menu-icon::before, .menu-icon::after { content: ""; position: absolute; inset-inline: 0; top: 0.15rem; height: 1px; background: currentColor; transition: transform var(--duration) var(--ease); }
.menu-icon::after { top: auto; bottom: 0.15rem; }
.menu-toggle[aria-expanded="true"] .menu-icon::before { transform: translateY(0.19rem) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon::after { transform: translateY(-0.19rem) rotate(-45deg); }
.skip-link { clip-path: inset(50%); position: fixed; top: var(--space-1); left: var(--space-1); z-index: 10; padding: var(--space-2); background: var(--color-surface); transform: translateY(-200%); }
.skip-link:focus { clip-path: none; transform: translateY(0); }

/* Action hierarchy: clear destination, generous target, quiet response. */
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 1.15rem; width: fit-content; max-width: 100%; min-height: 3.25rem; padding: 0.8rem 1.3rem; border: 1px solid var(--color-accent); border-radius: var(--radius); color: var(--color-surface); background: var(--color-accent); font-size: var(--text-body); line-height: 1.4; font-weight: 600; text-decoration: none; cursor: pointer; transition: background-color var(--duration) var(--ease), border-color var(--duration) var(--ease), transform var(--duration) var(--ease); }
.button--primary { color: var(--color-surface); background: var(--color-accent); }
.button:hover { background: var(--color-hover); border-color: var(--color-hover); }
.button:active { transform: translateY(1px); }
.button--secondary { color: var(--color-text); background: transparent; border-color: var(--color-control-border); }
.button--secondary:hover { color: var(--color-text); background: var(--color-soft); border-color: var(--color-text); }
.button--text { padding-inline: 0; color: var(--color-accent); background: transparent; border-color: transparent; text-decoration: underline; text-underline-offset: 0.35em; }
.button--text:hover { color: var(--color-hover); background: transparent; border-color: transparent; }
.section--ink .button--text { color: var(--color-on-ink); }
.section--ink .button--secondary { color: var(--color-on-ink); border-color: var(--color-muted-on-ink); }
.section--ink .button--secondary:hover { background: var(--color-border-on-ink); }
.section--ink .button--primary { color: var(--color-ink); background: var(--color-surface); border-color: var(--color-surface); }
.section--ink .button--primary:hover { background: var(--color-soft); border-color: var(--color-soft); }
.icon { flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform var(--duration) var(--ease); }
.button:hover .icon { transform: translateX(3px); }
.button:disabled, .button[aria-disabled="true"], .button[aria-busy="true"] { color: var(--color-disabled-text); background: var(--color-disabled); border-color: var(--color-control-border); transform: none; cursor: not-allowed; }
.button[aria-busy="true"] { cursor: progress; }
.price { font-family: var(--font-body); font-variant-numeric: tabular-nums; font-weight: 600; line-height: 1.5; }
.notice { --color-focus: var(--color-accent); display: flex; align-items: flex-start; gap: 0.85rem; max-width: var(--reading-width); padding: var(--space-3); border: 1px solid var(--color-border); border-inline-start: 3px solid var(--color-accent); color: var(--color-text); background: var(--color-surface); }
.notice-mark { flex: 0 0 0.6rem; width: 0.6rem; height: 0.85rem; border-inline: 2px solid currentColor; }
.notice--success { border-color: var(--color-success); background: var(--color-success-soft); color: var(--color-success); }
.notice--warning { border-color: var(--color-warning); background: var(--color-warning-soft); color: var(--color-warning); }
.notice--error { border-color: var(--color-error); background: var(--color-error-soft); color: var(--color-error); }

/* Home: the promise is the composition; the framework is a quiet margin note. */
.home-hero { padding-block: clamp(3rem, 5.4vw, 5rem) clamp(2.5rem, 4vw, 4rem); }
.home-hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) 12rem; column-gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.home-hero-copy { min-width: 0; }
.home-hero .eyebrow { color: var(--color-support); }
.home-hero h1 { font-size: clamp(2.8rem, 1.7rem + 4.5vw, 5.8rem); line-height: 1.04; text-wrap: initial; margin-block-start: var(--space-4); }
.home-promise-lead { display: block; font-size: 0.66em; line-height: 1.2; margin-block-end: 0.24em; color: var(--color-muted-on-ink); letter-spacing: -0.025em; }
.home-promise-main { text-wrap: balance; display: block; max-width: 19ch; }
.framework-art { width: 100%; aspect-ratio: 0.75; background: var(--color-support); mask: url('/assets/graphics/framework-lines.svg') center / contain no-repeat; opacity: 0.75; }
.home-hero-support { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: var(--space-3) var(--space-6); border-block-start: 1px solid var(--color-border-on-ink); margin-block-start: var(--space-5); padding-block-start: var(--space-4); }
.home-hero-support > .stack { justify-self: end; }
.home-hero .page-introduction { color: var(--color-muted-on-ink); max-width: 49ch; font-size: 1.0625rem; }
.home-inquiry-note, .offer-inquiry-note { font-size: var(--text-small); }
.home-hero .home-inquiry-note { color: var(--color-muted-on-ink); }
.home-recognition, .home-process { background: var(--color-surface); }
.home-recognition .split { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.home-section-intro > p:not(.eyebrow) { max-width: 52ch; color: var(--color-muted); }
.home-section-intro .section-heading { max-width: 21ch; }
.home-statements { list-style: none; padding: 0; }
.home-statements > li { padding-block: 1.35rem; border-block-start: 1px solid var(--color-border); }
.home-statements > li:first-child { padding-block-start: 0; border-block-start: 0; }
.home-statements > li:last-child { padding-block-end: 0; }
.home-statements h3 { font-weight: 600; font-size: 1.2rem; }
.home-statements p { color: var(--color-muted); margin-block-start: var(--space-1); }
.home-pillar-layout { display: grid; grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr); gap: clamp(2rem, 7vw, 7rem); }
.home-pillars { background: var(--color-soft); color: var(--color-text); --color-focus: var(--color-accent); }
.home-pillars .eyebrow { color: var(--color-muted); }
.home-pillars .button--text { color: var(--color-accent); margin-block-start: var(--space-3); }
.home-pillar-list { border-block-start: 1px solid var(--color-control-border); }
.home-pillar { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-2); padding-block: var(--space-4); border-block-end: 1px solid var(--color-border); }
.home-pillar .item-index { color: var(--color-accent); padding-block-start: 0.2rem; }
.home-pillar h3 { font-family: var(--font-display); font-size: clamp(1.65rem, 1.2rem + 1.2vw, 2.4rem); font-weight: 400; line-height: 1.18; letter-spacing: -0.025em; }
.home-pillar p { color: var(--color-muted); margin-block-start: var(--space-1); max-width: 53ch; }
.home-section-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3) var(--space-5); align-items: flex-end; margin-block-end: var(--space-5); }
.home-section-top .home-section-intro { flex: 1 1 30rem; }
.home-section-top > .button { flex-shrink: 0; }
.home-paths { background: var(--color-page); }
.home-path-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.home-path { min-width: 0; position: relative; padding-block: 1.5rem 2rem; border-block-start: 1px solid var(--color-control-border); }
.home-path::before { content: ""; position: absolute; top: -1px; left: 0; width: 2.25rem; height: 3px; background: var(--color-accent); }
.home-path:nth-child(2)::before { width: 4.5rem; }
.home-path:nth-child(3)::before { width: 6.75rem; }
.home-path:nth-child(4)::before { width: 9rem; }
.home-path h3 { font-family: var(--font-display); font-size: clamp(2.8rem, 4vw, 4rem); font-weight: 400; letter-spacing: -0.035em; line-height: 1.15; margin-block-start: 0.65rem; }
.home-path p { color: var(--color-muted); }
.home-path .home-path-heading { color: var(--color-text); font-weight: 600; }
.home-path-help { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-2) var(--space-4); padding-block-start: var(--space-3); border-block-start: 1px solid var(--color-border); }
.home-path-help > p { max-width: 50ch; font-size: var(--text-lead); }
.home-process .container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--space-6); }
.home-process .home-section-top { display: block; margin: 0; }
.home-process .home-section-top > .button { margin-block-start: var(--space-3); }
.home-process-list { list-style: none; padding: 0; }
.home-process-list > li { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); column-gap: var(--space-3); padding-block: var(--space-3); border-block-start: 1px solid var(--color-border); }
.home-process-list > li:first-child { border-color: var(--color-control-border); padding-block-start: 0; border-block-start: 0; }
.home-process-list .item-index { grid-row: span 2; display: inline-flex; align-items: center; justify-content: center; align-self: start; min-height: 2.75rem; border: 1px solid var(--color-border); }
.home-process-list h3, .home-process-list p { margin: 0; }
.home-process-list p { color: var(--color-muted); margin-block-start: var(--space-1); }
.home-values { border-block-start: 1px solid var(--color-border); background: var(--color-page); }
.home-values .split { display: block; }
.home-values .home-section-intro { max-width: 52rem; }
.home-values .home-section-intro .section-heading { max-width: 30ch; }
.home-values .home-statements { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-block-start: var(--space-4); }
.home-values .home-statements > li { border: 0; padding: var(--space-3) 0 0; border-block-start: 1px solid var(--color-border); }

/* Services: an index, distinct chapters, and relationships between capabilities. */
.offer-header { border-block-end: 1px solid var(--color-border); background: var(--color-surface); padding-block-end: 0; }
.offer-header-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.85fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.offer-header h1 { max-width: 20ch; }
.offer-header .eyebrow { color: var(--color-accent); }
.offer-header--services .offer-index { border-block-start-color: var(--color-accent); }
.offer-header-copy > p:last-child { color: var(--color-muted); padding-inline-start: 1.25rem; border-inline-start: 2px solid var(--color-accent); }
.offer-index { margin-block-start: var(--space-5); border-block-start: 1px solid var(--color-control-border); }
.offer-index ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); list-style: none; padding: 0; gap: 0 var(--space-3); }
.offer-index a { display: flex; align-items: center; gap: 0.75rem; height: 100%; min-height: 5rem; padding-block: var(--space-2); font-size: var(--text-small); font-weight: 600; text-decoration: none; }
.offer-index a:hover { color: var(--color-accent); text-decoration: underline; }
.offer-index .icon { margin-inline-start: auto; transform: rotate(90deg); }
.offer-index .item-index { flex-shrink: 0; white-space: nowrap; }
.offer-intro { max-width: 65ch; }
.offer-intro > p:not(.eyebrow) { color: var(--color-muted); }
.offer-price { font-size: 1.125rem; }
.service-pillar { border-block-end: 1px solid var(--color-border); background: var(--color-surface); }
.service-pillar-layout { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 6vw, 6rem); }
.service-pillar-title { display: flex; align-items: baseline; gap: var(--space-2); }
.service-pillar-heading { min-width: 0; }
.service-pillar-title h2 { font-family: var(--font-display); font-weight: 400; font-size: clamp(2.2rem, 1.4rem + 2vw, 3.25rem); line-height: 1.13; letter-spacing: -0.03em; }
.service-pillar-title .item-index { flex-shrink: 0; }
.service-outcome { font-size: var(--text-lead); font-weight: 600; max-width: 37ch; }
.service-description { color: var(--color-muted); max-width: 57ch; }
.service-situation { margin-block-start: var(--space-4); padding-inline-start: var(--space-3); border-inline-start: 2px solid var(--color-accent); max-width: 52ch; }
.service-situation > p + p { margin-block-start: var(--space-1); color: var(--color-muted); }
.capability-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); padding: 0; list-style: none; }
.capability { padding-block-start: var(--space-3); border-block-start: 1px solid var(--color-control-border); }
.capability h3, .capability h4 { font-size: 1.125rem; font-weight: 600; }
.capability > p { margin-block-start: var(--space-1); color: var(--color-muted); }
.capability > .price { color: var(--color-text); }
.service-pillar--identity .service-pillar-layout { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
.service-pillar--identity .service-groups { border-inline-start: 1px solid var(--color-border); padding-inline-start: var(--space-4); }
.service-pillar--identity .capability { border-color: var(--color-accent); }
.service-pillar--operations { background: var(--color-soft); }
.service-pillar--operations .service-pillar-layout { display: block; }
.service-pillar--operations .service-pillar-intro { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--space-6); }
.service-pillar--operations .service-context { margin: 0; }
.service-pillar--operations .service-groups { margin-block-start: var(--space-5); }
.service-pillar--operations .capability-list { grid-template-columns: minmax(0, 1fr); gap: 0; }
.service-pillar--operations .capability { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--space-6); padding-block: 1.35rem; border-color: var(--color-border); }
.service-pillar--operations .capability:first-child { border-color: var(--color-control-border); }
.service-pillar--operations .capability > p { margin: 0; }
.service-pillar--digital { background: var(--color-ink); border-color: var(--color-border-on-ink); }
.service-pillar--digital .service-pillar-layout { display: block; }
.service-pillar--digital .service-pillar-intro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.service-pillar--digital .service-context { margin: 0; }
.service-pillar--digital .service-situation { border-color: var(--color-support); }
.service-pillar--digital :is(.service-description, .service-situation > p + p, .capability > p) { color: var(--color-muted-on-ink); }
.service-pillar--digital .service-groups { margin-block-start: var(--space-5); }
.service-pillar--digital .service-group { display: grid; grid-template-columns: minmax(0, 0.6fr) minmax(0, 1.4fr); gap: var(--space-5); padding-block: var(--space-4); border-block-start: 1px solid var(--color-border-on-ink); }
.service-group-heading { color: var(--color-support); font-family: var(--font-display); font-size: clamp(1.6rem, 1.2rem + 0.8vw, 2rem); line-height: 1.2; font-weight: 400; letter-spacing: -0.02em; max-width: 20ch; }
.service-pillar--digital .capability { padding-block-start: 0; border: 0; }
.service-pillar--digital .capability-list { gap: var(--space-4); }
/* A provider note belongs to the digital chapter, below its service scope. */
.technology-delivery { display: grid; grid-template-columns: minmax(0, 0.6fr) minmax(0, 1.4fr); gap: var(--space-5); margin-block-start: var(--space-2); padding-block-start: var(--space-4); border-block-start: 1px solid var(--color-border-on-ink); }
.technology-delivery > .eyebrow { color: var(--color-support); padding-block-start: 0.2rem; }
.technology-delivery-copy { max-width: 65ch; }
.technology-delivery h3 { font-family: var(--font-display); font-size: clamp(1.35rem, 1.15rem + 0.45vw, 1.65rem); line-height: 1.3; font-weight: 400; letter-spacing: -0.015em; text-wrap: balance; }
.technology-delivery-copy > p { color: var(--color-muted-on-ink); margin-block-start: 0.75rem; }
.technology-delivery-link { display: inline-flex; align-items: center; gap: 0.65rem; max-width: 100%; min-height: 2.75rem; font-size: var(--text-small); text-underline-offset: 0.3em; }
.service-pillar--workflows .capability:first-child { grid-column: 1 / -1; border-block-start: 2px solid var(--color-accent); padding: var(--space-3); background: var(--color-soft); }
.service-pillar--workflows .capability:first-child h3 { font-family: var(--font-display); font-weight: 400; font-size: 1.9rem; }
.service-connections { background: var(--color-page); }
.service-combinations { list-style: none; padding: 0; margin-block-start: var(--space-4); }
.service-combinations > li { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.05fr) minmax(0, 0.65fr); gap: var(--space-4); padding-block: var(--space-4); border-block-start: 1px solid var(--color-border); }
.service-combinations > li > * { margin: 0; }
.service-combinations h3 { font-family: var(--font-display); font-size: 1.6rem; line-height: 1.25; font-weight: 400; }
.service-combinations p { color: var(--color-muted); }
.combination-parts { list-style: none; padding: 0 0 0 var(--space-3); font-size: var(--text-small); border-inline-start: 1px solid var(--color-accent); }
.combination-parts li { padding-block: 0.25rem; }
.offer-next, .interior-next { border-block-start: 1px solid var(--color-border); padding-block: clamp(2.5rem, 4vw, 4rem); }
.offer-next .split, .interior-next .split { align-items: center; }
.offer-next .section-heading, .interior-next .section-heading { font-size: clamp(1.9rem, 1.5rem + 1.4vw, 2.75rem); }
.offer-next .actions, .interior-next .actions { align-items: flex-start; justify-self: end; flex-direction: column; }

/* Consulting paths: a connected entry index, then substantial engagement bands. */
.offer-header--packages { background: var(--color-soft); }
.offer-header--packages .offer-header-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); }
.offer-header--packages .offer-index ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.offer-header--packages .offer-index a { min-height: 7rem; font-family: var(--font-display); font-size: clamp(2rem, 3vw, 3rem); font-weight: 400; letter-spacing: -0.035em; gap: 1.25rem; }
.offer-header--packages .offer-index .item-index { align-self: flex-start; padding-block-start: 0.5rem; letter-spacing: 0; }
.package-focus-note { padding-block: var(--space-3); color: var(--color-muted); font-size: var(--text-small); }
.package-focus-note > p { max-width: 92ch; }
.package-path { border-block-start: 1px solid var(--color-border); }
.package-path-layout { display: grid; grid-template-columns: minmax(0, 0.65fr) minmax(0, 1.35fr); gap: var(--space-4) var(--space-6); }
.package-path-name { grid-row: span 2; padding-inline-end: var(--space-4); }
.package-path-name h2 { font-family: var(--font-display); font-size: clamp(3.8rem, 6vw, 6rem); font-weight: 400; line-height: 1; letter-spacing: -0.045em; }
.package-path-name .price { color: var(--color-muted); font-size: var(--text-small); font-weight: 500; }
.path-trace { display: flex; gap: 0.4rem; padding-block-end: var(--space-3); width: min(100%, 12rem); }
.path-trace > span { display: block; width: 2.5rem; height: 0.45rem; background: var(--color-border); }
.path-trace > .is-reached { background: var(--color-accent); }
.package-path-story > h3 { font-family: var(--font-display); font-size: clamp(2rem, 1.4rem + 1.7vw, 3rem); font-weight: 400; line-height: 1.15; letter-spacing: -0.03em; text-wrap: balance; max-width: 26ch; }
.package-path-story > p { color: var(--color-muted); max-width: 62ch; }
.package-path-story .package-situation { color: var(--color-text); padding-inline-start: var(--space-3); border-inline-start: 2px solid var(--color-accent); margin-block-start: var(--space-3); }
.package-inclusions h3 { font-size: 1.125rem; }
.package-focus { grid-column: 2; padding-block-start: var(--space-3); border-block-start: 1px solid var(--color-control-border); }
.package-focus-list { list-style: none; padding: 0; }
.package-focus-list > li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-3); padding-block: 0.75rem; border-block-end: 1px solid var(--color-border); }
.package-focus-list > li > p { font-weight: 600; padding-block-start: 0.45rem; }
.offer-service-links { list-style: none; padding: 0; }
.offer-service-links a { display: inline-flex; align-items: center; min-height: 2.75rem; padding-block: 0.5rem; color: var(--color-accent); font-size: var(--text-small); }
.package-tailoring { border-block-start: 1px solid var(--color-border); background: var(--color-surface); }
.package-tailoring .actions { margin-block-start: var(--space-3); }
.package-tailoring-steps { list-style: none; padding: 0; }
.package-tailoring-steps > li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-2); padding-block: var(--space-3); border-block-start: 1px solid var(--color-border); }
.package-tailoring-steps p { color: var(--color-muted); margin-block-start: var(--space-1); }

/* Interior mastheads share type but have deliberately different silhouettes. */
.interior-header { border-block-end: 1px solid var(--color-border); }
.interior-header-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.interior-header h1 { max-width: 18ch; }
.interior-header .eyebrow { color: var(--color-accent); }
.interior-header-copy { max-width: 55ch; }
.interior-header-note { padding-block-start: var(--space-3); border-block-start: 1px solid var(--color-control-border); color: var(--color-muted); }
.interior-header--process { background: var(--color-surface); }
.interior-header--process .interior-header-layout { border-inline-start: 3px solid var(--color-accent); padding-inline-start: clamp(1.25rem, 3vw, 3rem); }
.interior-header--about { background: var(--color-soft); }
.interior-header--about .interior-header-layout { align-items: center; }
.interior-header--about .interior-header-copy { display: contents; }
.interior-header--about .page-introduction { grid-column: 1; max-width: 50ch; }
.interior-header--about .interior-header-note { grid-column: 2; grid-row: 1 / span 2; margin: 0; padding: clamp(1.5rem, 3vw, 3rem); border: 0; border-block: 1px solid var(--color-control-border); color: var(--color-accent); font-family: var(--font-display); font-size: clamp(1.75rem, 1.25rem + 1.5vw, 2.6rem); font-weight: 400; line-height: 1.2; letter-spacing: -0.025em; }

/* A continuous vertical sequence: contribution and aim travel with each stage. */
.process-journey { background: var(--color-page); }
.process-journey > .container > .offer-intro { max-width: 46rem; }
.process-sequence { list-style: none; padding: 0; margin-block-start: var(--space-5); }
.process-stage { position: relative; display: grid; grid-template-columns: 5rem minmax(0, 1fr); column-gap: clamp(1.5rem, 4vw, 4rem); padding-block: 0 var(--space-5); }
.process-stage::before { content: ""; position: absolute; left: 2.45rem; top: 4.5rem; bottom: 0; width: 1px; background: var(--color-border); }
.process-stage:last-child { padding-block-end: 0; }
.process-stage:last-child::before { display: none; }
.process-number { align-self: start; display: grid; place-items: center; min-height: 4.5rem; font-family: var(--font-display); font-size: 3.5rem; line-height: 1; letter-spacing: -0.045em; color: var(--color-accent); background: var(--color-page); border-block-start: 2px solid var(--color-accent); }
.process-stage-body { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr); gap: var(--space-4); border-block-start: 1px solid var(--color-control-border); padding-block-start: var(--space-3); }
.process-stage-story h3 { font-family: var(--font-display); font-size: clamp(1.9rem, 1.4rem + 1.5vw, 2.8rem); font-weight: 400; line-height: 1.15; letter-spacing: -0.025em; text-wrap: balance; max-width: 24ch; }
.process-stage-story > p, .process-customer > p:not(.eyebrow) { max-width: 60ch; color: var(--color-muted); }
.process-customer { padding: var(--space-3); background: var(--color-soft); }
.process-customer .eyebrow { color: var(--color-accent); }
.process-outcome { grid-column: 1 / -1; display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: var(--space-2); padding-block-start: var(--space-3); border-block-start: 1px solid var(--color-border); font-weight: 500; }
.process-outcome > span { color: var(--color-accent); font-size: var(--text-small); font-weight: 600; }

/* About earns credibility through principles and an explicit role for tools. */
.about-approach, .about-connections { background: var(--color-surface); }
.about-approach > .container > .stack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: var(--space-6); }
.about-audience, .about-connections-note { max-width: 60ch; color: var(--color-muted); }
.about-principles, .about-technology-points, .about-pillar-list { list-style: none; padding: 0; }
.about-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-block-start: var(--space-5); }
.about-principles > li { padding-block-start: var(--space-3); border-block-start: 1px solid var(--color-control-border); }
.about-principles h3 { font-family: var(--font-display); font-size: 1.65rem; line-height: 1.25; font-weight: 400; letter-spacing: -0.015em; }
.about-principles p { color: var(--color-muted); }
.about-technology .offer-intro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2) var(--space-6); max-width: none; }
.about-technology .eyebrow { grid-column: 1 / -1; }
.about-technology .offer-intro > .section-heading { margin-block-start: 0; max-width: 20ch; }
.about-technology .offer-intro > p:not(.eyebrow) { color: var(--color-muted-on-ink); font-size: var(--text-lead); align-self: end; margin: 0; max-width: 40ch; }
.about-technology-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-block-start: var(--space-5); }
.about-technology-points > li { padding-block-start: var(--space-4); border-block-start: 1px solid var(--color-border-on-ink); }
.about-technology-points h3 { font-size: 1.3rem; color: var(--color-support); }
.about-technology-points p { color: var(--color-muted-on-ink); max-width: 55ch; }
.about-pillar-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.about-pillar-list > li { padding: var(--space-3); border-block-start: 1px solid var(--color-border); }
.about-pillar-list > li:nth-child(even) { border-inline-start: 1px solid var(--color-border); }
.about-pillar-list h3 { font-size: 1.15rem; }
.about-pillar-list p { color: var(--color-muted); margin-block-start: var(--space-1); }

/* One intentional close: an open frame, an invitation, then the brand directory. */
.closing { padding-block: clamp(3.5rem, 6vw, 6rem); }
.closing-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); align-items: end; gap: var(--space-6); border-block-start: 1px solid var(--color-border-on-ink); padding-block-start: var(--space-4); position: relative; }
.closing-layout::before { content: ""; position: absolute; left: 0; top: -1px; width: 3.5rem; height: 3px; background: var(--color-support); }
.closing .section-heading { max-width: 22ch; font-size: clamp(2.2rem, 1.5rem + 2.7vw, 4rem); }
.home-final-action > p, .offer-final-action > p { color: var(--color-muted-on-ink); }
.home-final-action > .actions, .offer-final-action > .actions { margin-block-start: var(--space-3); }
.site-footer { padding-block: 0 clamp(2.5rem, 4vw, 4rem); }
.footer-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: var(--space-6); border-block-start: 1px solid var(--color-border-on-ink); padding-block-start: var(--space-4); }
.footer-brand .brand-name { font-size: clamp(1.85rem, 2.7vw, 2.65rem); font-weight: 400; }
.footer-brand > a:not(.brand) { display: inline-block; min-height: 2.75rem; color: var(--color-muted-on-ink); }
.site-footer .eyebrow { color: var(--color-muted-on-ink); margin-block-end: var(--space-1); }
.footer-navigation { min-width: 0; }
.footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-3); padding: 0; list-style: none; }
.footer-links a { display: block; width: fit-content; min-height: 2.75rem; padding-block: 0.625rem; color: var(--color-muted-on-ink); font-size: var(--text-small); text-decoration: none; }
.footer-links a:hover { color: var(--color-on-ink); text-decoration: underline; }

/* Utility pages are finished destinations, including the default-off inquiry. */
.page-header { padding-block: var(--space-section); background: var(--color-soft); }
.utility-layout { padding-block: var(--space-4); }
.page-heading { min-width: 0; }
.page-heading h1 { margin-block-start: var(--space-3); }
.page-header--unavailable .utility-layout { border-block: 1px solid var(--color-control-border); padding-block: clamp(2rem, 4vw, 4rem); }
.page-header--unavailable .page-heading { max-width: 55rem; }
.page-header--unavailable .eyebrow { color: var(--color-accent); }
.inquiry-availability { display: flex; align-items: baseline; gap: var(--space-2); margin-block-start: var(--space-4); }
.inquiry-availability > p { font-family: var(--font-display); font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.3rem); line-height: 1.25; letter-spacing: -0.02em; }
.inquiry-availability .notice-mark { color: var(--color-accent); align-self: center; }
.availability-guidance { color: var(--color-muted); max-width: 54ch; }
.page-heading .actions { margin-block-start: var(--space-4); }
.page-header--404 .utility-layout { display: grid; grid-template-columns: minmax(0, 0.65fr) minmax(0, 1fr); gap: var(--space-6); align-items: center; }
.error-code { font-family: var(--font-display); font-size: clamp(6rem, 15vw, 13rem); line-height: 1; color: var(--color-accent); letter-spacing: -0.06em; }
.page-header--404 .eyebrow { color: var(--color-accent); }

/* Consultation workspace. Native controls and all existing state relationships. */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.intake-page { padding-block: clamp(2rem, 4vw, 4rem) var(--space-section); }
.intake-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); column-gap: clamp(2rem, 5vw, 5rem); margin-block-end: var(--space-5); }
.intake-intro > .eyebrow { grid-column: 1 / -1; color: var(--color-accent); }
.intake-intro h1 { grid-column: 1; max-width: 17ch; font-size: clamp(2.75rem, 2rem + 2.5vw, 4.25rem); text-wrap: balance; }
.intake-intro .page-introduction { grid-column: 2; align-self: end; max-width: 60ch; color: var(--color-muted); font-size: 1.125rem; line-height: 1.75; }
.intake-layout { display: grid; grid-template-columns: minmax(0, 0.6fr) minmax(0, 1.7fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.intake-context { padding-block-start: var(--space-3); border-block-start: 1px solid var(--color-control-border); max-width: 35ch; }
.intake-context > p:not(.eyebrow) { color: var(--color-muted); }
.intake-context > .field-hint { padding-block-start: var(--space-2); border-block-start: 1px solid var(--color-border); }
.intake-surface { min-width: 0; padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--color-surface); border: 1px solid var(--color-border); border-block-start: 3px solid var(--color-accent); box-shadow: 0 12px 32px rgb(16 40 61 / 5%); }
.form-progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2); padding: 0; list-style: none; counter-reset: form-step; }
.form-progress li { position: relative; padding-block: 0 var(--space-2); border-block-end: 2px solid var(--color-border); color: var(--color-muted); font-size: var(--text-small); counter-increment: form-step; }
.form-progress li::before { content: counter(form-step, decimal-leading-zero); display: grid; place-items: center; width: 2rem; min-height: 2rem; margin-block-end: var(--space-1); font-family: var(--font-numeral); border: 1px solid var(--color-control-border); }
.form-progress [aria-current="step"] { color: var(--color-accent); border-block-end-color: var(--color-accent); font-weight: 650; }
.form-progress [aria-current="step"]::before { background: var(--color-accent); color: var(--color-surface); border-color: var(--color-accent); }
.form-progress li:has(~ [aria-current="step"])::before { color: var(--color-text); background: var(--color-soft); border-color: var(--color-control-border); }
.intake-status { margin-block: var(--space-3); color: var(--color-muted); font-family: var(--font-numeral); font-size: var(--text-small); }
.intake-step { animation: step-enter 180ms var(--ease); }
@keyframes step-enter { from { transform: translateY(4px); } to { transform: translateY(0); } }
.intake-step-heading { padding-block-end: var(--space-3); }
.intake-step-heading > h2 { font-family: var(--font-display); font-size: clamp(1.85rem, 1.5rem + 1vw, 2.5rem); font-weight: 400; line-height: 1.2; }
.intake-step-heading > p { color: var(--color-muted); margin-block-start: var(--space-1); }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1.75rem; }
.field { display: flex; flex-direction: column; gap: 0.45rem; min-width: 0; }
.field label, legend { font-weight: 600; line-height: 1.5; }
.field-required { font-size: var(--text-small); color: var(--color-muted); font-weight: 400; }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
legend { padding: 0; }
input, select, textarea { --color-focus: var(--color-accent); min-width: 0; max-width: 100%; min-height: 3.125rem; padding: 0.75rem; border: 1px solid var(--color-control-border); border-radius: var(--radius); color: var(--color-text); background: var(--color-surface); accent-color: var(--color-accent); transition: border-color var(--duration) var(--ease), background-color var(--duration) var(--ease); }
input:not([type="checkbox"]):not([type="radio"]), select, textarea { width: 100%; }
input::placeholder, textarea::placeholder { color: var(--color-muted); opacity: 1; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline-offset: 3px; border-color: var(--color-accent); }
textarea { min-height: 9rem; resize: vertical; }
input[type="checkbox"], input[type="radio"] { flex: 0 0 1.25rem; width: 1.25rem; min-height: 1.25rem; height: 1.25rem; margin: 0.2rem 0 0; padding: 0; }
.field-hint, .field-error { font-size: var(--text-small); }
.field-hint { color: var(--color-muted); }
.field-error { color: var(--color-error); font-weight: 600; }
[aria-invalid="true"] { border-color: var(--color-error); background: var(--color-error-soft); }
input:disabled, select:disabled, textarea:disabled { color: var(--color-disabled-text); background: var(--color-disabled); cursor: not-allowed; opacity: 1; }
fieldset:disabled .choice, .choice:has(input:disabled) { cursor: not-allowed; }
.intake-field-wide, .intake-choices { grid-column: 1 / -1; }
.intake-choices { padding-block-start: var(--space-1); }
.intake-choices > legend { max-width: 100%; }
.intake-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; margin-block-start: var(--space-2); }
.choice { display: flex; align-items: flex-start; gap: 0.75rem; min-height: 3.3rem; padding: 0.8rem; border: 1px solid var(--color-control-border); border-radius: var(--radius); font-weight: 400; cursor: pointer; transition: border-color var(--duration) var(--ease), background-color var(--duration) var(--ease); }
.intake-choice-section { margin-block-start: 1.5rem; }
.intake-choice-heading { color: var(--color-muted); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.intake-choice-grid--single { grid-template-columns: minmax(0, 1fr); }
.choice--offering { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr); align-content: start; gap: 0.4rem 0.75rem; padding: 1rem; }
.choice--offering input { grid-column: 1; grid-row: 1 / span 2; }
.choice-label { grid-column: 2; font-weight: 600; line-height: 1.5; overflow-wrap: normal; hyphens: none; }
.choice-detail { grid-column: 2; color: var(--color-muted); font-size: 0.8125rem; line-height: 1.6; }
.choice-price { color: var(--color-accent); font-size: var(--text-small); font-variant-numeric: tabular-nums; }
.choice:hover { background: var(--color-page); border-color: var(--color-accent); }
.choice:has(input:checked) { color: var(--color-accent); background: var(--color-soft); border-color: var(--color-accent); box-shadow: inset 3px 0 var(--color-accent); }
.choice:has(input[aria-invalid="true"]) { border-color: var(--color-error); }
.choice:has(input:focus-visible) { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.choice input:focus-visible { outline: none; }
.choice:has(input:disabled) { color: var(--color-disabled-text); background: var(--color-disabled); }
.intake-summary { display: block; margin-block-end: var(--space-3); }
.intake-summary ul:empty { display: none; }
.intake-summary ul { margin-block-start: var(--space-1); }
.intake-summary a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.intake-summary:focus { outline: 3px solid var(--color-focus); outline-offset: 5px; }
.intake-success:focus, .intake-step h2:focus { outline: none; }
.intake-step h2 { scroll-margin-block-start: 1rem; }
.intake-honeypot { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.intake-context-note { padding: var(--space-3); border-inline-start: 2px solid var(--color-accent); color: var(--color-muted); background: var(--color-soft); }
.intake-review { border-block: 1px solid var(--color-control-border); margin-block-start: var(--space-4); }
.intake-review summary { padding-block: var(--space-2); min-height: 3.25rem; color: var(--color-accent); font-weight: 600; cursor: pointer; }
.intake-review[open] { border-block-start: 2px solid var(--color-accent); }
.intake-review dl { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); margin: 0; padding-block-end: var(--space-2); }
.intake-review dt, .intake-review dd { padding-block: 0.85rem; border-block-start: 1px solid var(--color-border); }
.intake-review dt { font-weight: 600; font-size: var(--text-small); padding-inline-end: var(--space-3); }
.intake-review dd { margin: 0; color: var(--color-muted); white-space: pre-wrap; }
.intake-privacy { color: var(--color-muted); font-size: var(--text-small); padding-block: var(--space-2); max-width: 72ch; }
.intake-verification { padding-block-start: var(--space-2); }
.intake-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); border-block-start: 1px solid var(--color-border); padding-block-start: var(--space-3); margin-block-start: var(--space-4); }
.intake-actions .button:last-child, .intake-actions #intake-continue { margin-inline-start: auto; }
#intake-back { border-color: transparent; padding-inline: 0.75rem; }
#intake-back:hover { border-color: var(--color-control-border); }
#intake-form[aria-busy="true"] .intake-status { color: var(--color-accent); font-weight: 600; }
.intake-success { padding-block: var(--space-4); }
.intake-success h2 { font-family: var(--font-display); font-size: clamp(2rem, 1.5rem + 2vw, 3rem); font-weight: 400; line-height: 1.15; max-width: 22ch; }
.intake-success .eyebrow { color: var(--color-success); border-inline-start: 3px solid var(--color-success); padding-inline-start: var(--space-2); }
#intake-success-reference { padding-block: var(--space-2); border-block: 1px solid var(--color-border); font-family: var(--font-numeral); }
#intake-retry-note { margin-block-end: var(--space-3); }

/* Responsive composition, rather than a uniform desktop stack. */
@media (max-width: 72rem) {
  .home-hero-layout { grid-template-columns: minmax(0, 1fr) 8rem; }
  .home-hero-support { gap: var(--space-4); }
  .service-pillar--identity .service-groups { padding-inline-start: 0; border-inline-start: 0; }
  .about-connections .split { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--space-4); }
  .intake-intro, .intake-layout { grid-template-columns: minmax(0, 1fr); }
  .intake-intro h1, .intake-intro .page-introduction { grid-column: 1; }
  .intake-context { padding-block: 0 var(--space-2); border: 0; max-width: 60ch; }
  .intake-context > p:not(.field-hint) { display: none; }
  .intake-context > .field-hint { margin: 0; padding: 0; border: 0; }
  .intake-layout { gap: var(--space-1); }
}
@media (max-width: 56rem) {
  .header-layout { flex-wrap: wrap; gap: var(--space-2); min-height: 5rem; padding-block: 1.05rem; }
  .header-layout > .brand { flex: 1 1 12rem; }
  .menu-toggle { margin-inline-start: auto; }
  .header-layout nav { flex-basis: 100%; margin-inline-start: 0; padding-block-start: var(--space-2); border-block-start: 1px solid var(--color-border); }
  .nav-list { flex-direction: column; align-items: stretch; gap: 0; }
  .nav-link { padding: 0.85rem var(--space-2); font-size: var(--text-body); }
  .nav-link--action { margin-inline-start: 0; margin-block-start: var(--space-1); text-align: center; }
  .home-hero-layout { grid-template-columns: minmax(0, 1fr); }
  .framework-art { display: none; }
  .home-hero h1 { max-width: 20ch; }
  .home-hero-support { grid-template-columns: minmax(0, 1fr); }
  .home-hero-support > .stack { justify-self: start; }
  .home-recognition .split, .home-pillar-layout, .home-process .container, .offer-header-grid, .offer-header--packages .offer-header-grid, .interior-header-layout { grid-template-columns: minmax(0, 1fr); }
  .home-path-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .home-path { display: grid; grid-template-columns: 2rem minmax(0, 0.7fr) minmax(0, 1.3fr); column-gap: var(--space-3); }
  .home-path .item-index { grid-row: span 2; padding-block-start: 0.25rem; }
  .home-path h3 { grid-row: span 2; margin: 0; }
  .home-path .home-path-heading { margin: 0; }
  .home-path p + p { margin-block-start: var(--space-1); }
  .home-values .home-statements { gap: var(--space-3); }
  .offer-header-copy { max-width: 65ch; }
  .offer-index ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .offer-index li { border-block-end: 1px solid var(--color-border); }
  .service-pillar-layout, .service-pillar--identity .service-pillar-layout { grid-template-columns: minmax(0, 1fr); }
  .service-pillar-intro { max-width: 65ch; }
  .service-pillar--operations .service-pillar-intro, .service-pillar--digital .service-pillar-intro { max-width: none; gap: var(--space-4); }
  .service-pillar--digital .service-group { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .technology-delivery { grid-template-columns: minmax(0, 1fr); gap: 0.85rem; }
  .service-group-heading { max-width: none; }
  .service-combinations > li { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-combinations h3 { grid-column: 1; }
  .service-combinations p { grid-column: 1; }
  .service-combinations .combination-parts { grid-column: 2; grid-row: 1 / span 2; }
  .package-path-layout { grid-template-columns: minmax(0, 0.65fr) minmax(0, 1fr); gap: var(--space-4); }
  .package-path-name { grid-row: auto; padding: 0; }
  .package-focus { grid-column: 1 / -1; }
  .interior-header--about .interior-header-copy { display: block; }
  .interior-header--about .interior-header-note { margin-block-start: var(--space-4); padding: var(--space-3) 0; }
  .process-stage-body { grid-template-columns: minmax(0, 1fr); }
  .process-customer { padding: var(--space-3); }
  .about-approach > .container > .stack, .about-connections .split { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .about-technology .offer-intro, .about-technology-points { gap: var(--space-3); }
  .closing-layout, .footer-layout { gap: var(--space-4); }
}
@media (max-width: 42rem) {
  body { --gutter: min(1.25rem, 20px); }
  .brand-name { font-size: 1.35rem; }
  .header-layout > .brand { flex-basis: 11rem; }
  .split, .home-recognition .split, .closing-layout, .footer-layout { grid-template-columns: minmax(0, 1fr); }
  .home-hero { padding-block: 2.5rem; }
  .home-hero h1 { font-size: clamp(2.65rem, 1.4rem + 5vw, 3.65rem); line-height: 1.07; margin-block-start: var(--space-3); }
  .home-promise-lead { font-size: 0.73em; margin-block-end: 0.45em; }
  .home-hero-support { margin-block-start: var(--space-4); padding-block-start: var(--space-3); }
  .home-hero .actions { gap: 0.75rem 1.25rem; }
  .home-pillar { grid-template-columns: 1.75rem minmax(0, 1fr); gap: var(--space-2); }
  .home-path { grid-template-columns: 1.5rem minmax(0, 1fr); gap: 0 var(--space-2); padding-block: var(--space-3) var(--space-4); }
  .home-path .item-index { grid-row: 1; }
  .home-path h3 { grid-row: 1; }
  .home-path p { grid-column: 2; }
  .home-path .home-path-heading { margin-block-start: var(--space-2); }
  .home-process .container { gap: var(--space-4); }
  .home-process-list > li { column-gap: var(--space-2); }
  .home-values .home-statements, .about-principles { grid-template-columns: minmax(0, 1fr); }
  .home-values .home-statements > li { padding-block-start: var(--space-3); }
  .offer-header { padding-block: var(--space-5) 0; }
  .offer-header h1 { font-size: clamp(2.65rem, 2rem + 2.8vw, 3.4rem); }
  .offer-index { margin-block-start: var(--space-4); }
  .offer-index a { align-items: baseline; gap: var(--space-1); min-height: 4.5rem; }
  .offer-index .icon { display: none; }
  .offer-header--packages .offer-index ul { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .offer-header--packages .offer-index a { min-height: 4.75rem; font-size: 2rem; align-items: center; gap: var(--space-3); }
  .offer-header--packages .offer-index .item-index { align-self: auto; padding: 0; }
  .offer-header--packages .offer-index .icon { display: block; }
  .service-pillar-title { gap: 0.65rem; align-items: start; }
  .service-pillar-title .item-index { padding-block-start: 0.5rem; }
  .service-pillar--operations .service-pillar-intro, .service-pillar--digital .service-pillar-intro, .capability-list { grid-template-columns: minmax(0, 1fr); }
  .service-pillar--operations .capability { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
  .service-pillar--digital .service-group { padding-block: var(--space-4); }
  .service-pillar--digital .capability + .capability { padding-block-start: var(--space-3); border-block-start: 1px solid var(--color-border-on-ink); }
  .service-combinations > li { display: block; }
  .service-combinations > li > * + * { margin-block-start: var(--space-2); }
  .offer-next .actions, .interior-next .actions { justify-self: start; }
  .package-path-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .package-path-name { position: relative; padding-inline-start: 1.5rem; border-inline-start: 2px solid var(--color-accent); }
  .path-trace { padding: 0; margin-block-end: var(--space-2); }
  .package-path-name h2 { font-size: clamp(3.6rem, 3rem + 3vw, 4.2rem); margin-block-start: 0.6rem; }
  .package-path-name .price { margin-block-start: var(--space-2); }
  .package-focus-list > li { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .package-focus { grid-column: 1; }
  .offer-service-links { display: flex; flex-wrap: wrap; column-gap: var(--space-3); }
  .interior-header { padding-block: var(--space-5); }
  .interior-header--process .interior-header-layout { border-inline: 0; border-block-start: 2px solid var(--color-accent); padding: var(--space-3) 0 0; }
  .process-stage { grid-template-columns: minmax(0, 1fr); padding-inline-start: min(1.25rem, 20px); padding-block-end: var(--space-5); }
  .process-stage::before { left: 0; top: 0; bottom: 0; }
  .process-number { justify-self: start; border: 0; border-block-end: 2px solid var(--color-accent); min-height: 0; padding-block: 0 0.5rem; font-family: var(--font-numeral); font-size: 1.25rem; letter-spacing: 0; }
  .process-stage-body { border: 0; gap: var(--space-3); }
  .process-customer { padding: var(--space-3) min(1rem, 16px); }
  .process-outcome { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
  .about-principles { gap: var(--space-4); }
  .about-principles > li { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); column-gap: var(--space-2); }
  .about-principles .item-index { grid-row: span 2; padding-block-start: 0.2rem; }
  .about-principles h3 { margin: 0; }
  .about-principles p { grid-column: 2; margin-block-start: var(--space-2); }
  .about-technology .offer-intro, .about-technology-points { grid-template-columns: minmax(0, 1fr); }
  .about-technology .offer-intro > p:not(.eyebrow) { margin-block-start: var(--space-2); }
  .about-technology-points > li { padding-block-start: var(--space-3); }
  .about-pillar-list { grid-template-columns: minmax(0, 1fr); }
  .about-pillar-list > li { padding: var(--space-3) 0; }
  .about-pillar-list > li:nth-child(even) { border-inline-start: 0; }
  .closing-layout { gap: var(--space-4); }
  .closing .section-heading { font-size: 2.3rem; }
  .footer-layout { gap: var(--space-3); }
  .footer-brand .brand-name { font-size: 2rem; }
  .page-header { padding-block: var(--space-5); }
  .page-header--404 .utility-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .error-code { font-size: 6rem; }
  .page-header--404 .eyebrow { display: none; }
  .page-header--unavailable .page-heading h1 { font-size: 2.75rem; }
  .page-header--unavailable .actions { align-items: flex-start; flex-direction: column; gap: var(--space-1); }
  .intake-surface { padding-inline: min(1rem, 16px); }
  .intake-intro { margin-block-end: var(--space-3); }
  .intake-intro > .page-introduction { font-size: 1rem; }
  .form-progress { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
  .form-progress li { display: flex; align-items: flex-start; gap: 0.55rem; }
  .form-progress li::before { flex: 0 0 1.5rem; width: 1.5rem; min-height: 1.5rem; line-height: 1.5; margin: 0; }
  .field-grid, .intake-choice-grid { grid-template-columns: minmax(0, 1fr); }
  .choice { gap: min(0.75rem, 12px); padding-inline: min(0.8rem, 12px); }
  .intake-context-note { padding: var(--space-2); }
  .intake-actions .button { flex: 1 1 auto; }
  .intake-review dl { grid-template-columns: minmax(0, 1fr); }
  .intake-review dt { padding-block: 0.85rem 0; }
  .intake-review dd { padding-block: 0.35rem 0.85rem; border: 0; }
}
/* Existing body hooks are retained for extensions; narrow resilience is global. */
.has-intake, .has-interior { min-width: 0; }
@media (prefers-reduced-motion: reduce) {
  /* Intentional accessibility override, including host/native scrolling behavior. */
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
  .button, .menu-toggle, .notice, .nav-link--action, .choice, .intake-surface, .form-progress li::before { border-color: ButtonText; }
  .framework-art, .path-trace { display: none; }
  .home-hero-layout { grid-template-columns: minmax(0, 1fr); }
  .menu-icon::before, .menu-icon::after { background: ButtonText; }
  .choice:has(input:checked) { outline: 2px solid Highlight; outline-offset: -2px; }
  .choice:has(input:focus-visible), :focus-visible { outline-color: Highlight; }
  .form-progress [aria-current="step"] { border-color: Highlight; }
}

/* Final commercial closeout: generous rows, intact names, quiet branding. */
.header-layout { gap: 1.25rem; padding-block: 0.25rem; }
.header-layout > .brand { flex-basis: auto; }
/* The header-specific transparent asset is trimmed at source, not cropped in CSS. */
.header-layout > .brand--mark { flex: 0 1 auto; }
.header-layout .brand--mark img { width: 6.8125rem; max-width: 6.8125rem; height: auto; filter: contrast(1.13) saturate(1.07); }
.brand { gap: 0.75rem; flex-wrap: wrap; min-width: 0; max-width: 100%; }
.brand img { width: 4.25rem; max-width: 4.25rem; flex: 0 0 auto; }
.brand-name { font-size: 1.4rem; overflow-wrap: normal; }
.footer-brand .brand { align-items: center; }
.footer-brand .brand img { width: 7rem; max-width: 7rem; }
.footer-description { color: var(--color-muted-on-ink); font-size: var(--text-small); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.75rem 2rem; margin-block-start: 2.5rem; padding-block-start: 1rem; border-block-start: 1px solid var(--color-border-on-ink); color: var(--color-muted-on-ink); font-size: 0.8125rem; }
.builder-credit { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 0.65rem; min-height: 2.75rem; text-decoration: none; }
.builder-credit:hover > span:first-child { text-decoration: underline; }
/* The footer-only transparent white/gold asset needs no crop or compositing. */
.builder-logo { display: flex; align-items: center; flex: 0 0 auto; width: 6.5rem; height: 2.75rem; }
.builder-logo img { width: 100%; height: auto; }
.home-path-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 4rem; }
.home-path { display: block; min-width: 0; padding-block: 1.5rem 0.5rem; }
.home-path h3 { display: flex; flex-direction: column; gap: 0.2rem; margin-block-start: 0.65rem; font-size: clamp(1.5rem, 5vw, 2.7rem); line-height: 1.12; overflow-wrap: normal; }
.home-path .package-name-prefix, .home-path .package-name-suffix { display: inline; font-size: 1rem; font-family: var(--font-body); letter-spacing: 0; }
.home-path .package-name-word { display: block; margin-block: 0.2rem; }
.home-path .home-path-heading { margin-block-start: 1.25rem; }
.package-name-prefix, .package-name-suffix { font-family: var(--font-body); font-size: 1rem; font-weight: 400; line-height: 1.4; letter-spacing: 0; }
.package-name-word { display: block; overflow-wrap: normal; word-break: normal; hyphens: none; }
.package-opening { background: var(--color-soft); border-block-end: 1px solid var(--color-border); }
.package-opening-layout { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; }
.package-opening-copy h1 { max-width: 11ch; }
.package-opening-copy .page-introduction { max-width: 39ch; margin-block-start: 1.75rem; }
.package-opening-copy .eyebrow { color: var(--color-accent); }
.package-opening-note { color: var(--color-muted); font-size: var(--text-small); max-width: 43ch; border-inline-start: 2px solid var(--color-accent); padding-inline-start: 1rem; }
.package-navigator { container-type: inline-size; }
.package-navigator ol { list-style: none; padding: 0; border-block-start: 1px solid var(--color-control-border); }
.package-navigator li { border-block-end: 1px solid var(--color-border); }
.package-navigator a { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr) auto 1rem; align-items: center; gap: 1rem; min-height: 6.25rem; padding: 1.3rem 0.4rem; text-decoration: none; transition: background-color var(--duration) var(--ease); }
.package-navigator a:hover { background: rgb(255 255 255 / 65%); }
.package-nav-copy { min-width: 0; }
.package-nav-name { display: block; font-family: var(--font-display); font-size: clamp(1.3rem, 1.1rem + 0.35vw, 1.5rem); font-weight: 600; line-height: 1.25; overflow-wrap: normal; word-break: normal; hyphens: none; }
.package-nav-detail { display: block; margin-block-start: 0.35rem; color: var(--color-muted); font-size: 0.75rem; }
.package-nav-price { font-size: 1rem; font-weight: 600; color: var(--color-accent); font-variant-numeric: tabular-nums; white-space: nowrap; }
.package-navigator .icon { width: 1rem; transform: rotate(90deg); }
.package-chapter { border-block-end: 1px solid var(--color-border); }
.package-chapter-layout { display: grid; grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.package-identity h2 { display: flex; flex-direction: column; gap: 0.25rem; font-family: var(--font-display); font-size: clamp(2.6rem, 2rem + 1.4vw, 3.5rem); line-height: 1.15; font-weight: 400; letter-spacing: -0.035em; overflow-wrap: normal; }
.package-identity .package-name-prefix { display: block; }
.package-identity .package-name-word { margin-block: 0.3rem; }
.package-identity .offer-price { font-family: var(--font-display); font-size: 2rem; line-height: 1.2; color: var(--color-accent); padding-block-start: 1.25rem; margin-block-start: 1.25rem; border-block-start: 1px solid var(--color-border); }
.package-fit { max-width: 32ch; color: var(--color-muted); font-size: var(--text-small); }
.package-detail > h3 { font-family: var(--font-display); font-size: clamp(1.8rem, 1.3rem + 1vw, 2.4rem); font-weight: 400; line-height: 1.2; letter-spacing: -0.025em; max-width: 25ch; text-wrap: balance; }
.package-description { color: var(--color-muted); max-width: 60ch; }
.package-inherits { padding: 1rem 1.25rem; background: var(--color-surface); border-inline-start: 2px solid var(--color-accent); font-size: var(--text-small); }
.package-inherits a { font-weight: 600; color: var(--color-accent); }
.package-deliverables { margin-block-start: 1.75rem; }
.package-deliverables ul { list-style: none; padding: 0; margin-block-start: 0.75rem; }
.package-deliverables li { position: relative; padding: 0.85rem 0 0.85rem 1.5rem; border-block-end: 1px solid var(--color-border); }
.package-deliverables li::before { content: ''; position: absolute; top: 1.35rem; left: 0.1rem; width: 0.45rem; height: 0.25rem; border-left: 1.5px solid var(--color-accent); border-bottom: 1.5px solid var(--color-accent); transform: rotate(-45deg); }
.package-scope-notes { padding-block: 0.35rem; color: var(--color-muted); font-size: var(--text-small); }
.package-scope-notes p + p { margin-block-start: 0.5rem; }
.package-related { font-size: var(--text-small); }
.package-related summary { display: list-item; width: fit-content; cursor: pointer; padding-block: 0.7rem; color: var(--color-accent); font-weight: 600; }
.package-related > p { color: var(--color-muted); padding-block: 0.5rem; }
.package-related .package-focus-list { margin-block-start: 0.5rem; }
.start-opening { background: var(--color-soft); border-block-end: 1px solid var(--color-border); }
.start-opening-layout { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.start-opening .eyebrow { color: var(--color-accent); }
.start-lead { font-family: var(--font-display); font-size: clamp(2rem, 1.5rem + 1.5vw, 3rem); line-height: 1.2; letter-spacing: -0.03em; }
.start-opening .page-introduction { max-width: 50ch; }
.start-routes { background: var(--color-page); }
.start-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.start-consultation { padding: clamp(1.5rem, 3vw, 3rem); border: 1px solid var(--color-border); border-block-start: 3px solid var(--color-accent); background: var(--color-surface); box-shadow: 0 12px 32px rgb(16 40 61 / 4%); }
.start-consultation .section-heading { font-size: clamp(2rem, 1.5rem + 1.5vw, 2.75rem); }
.start-consultation > p:not(.eyebrow), .start-option > p:not(.eyebrow) { color: var(--color-muted); }
.start-preparation { padding-block: 1.5rem; border-block: 1px solid var(--color-border); margin-block-start: 1.75rem; }
.start-preparation h3 { font-size: 1rem; }
.start-preparation ul { margin-block-start: 0.75rem; color: var(--color-muted); }
.start-preparation li + li { margin-block-start: 0.5rem; }
.start-availability { padding: 1rem 1.25rem; background: var(--color-soft); font-size: var(--text-small); }
.start-availability > p:first-child { color: var(--color-text); font-weight: 600; }
.start-availability > p + p { margin-block-start: 0.5rem; color: var(--color-muted); }
.start-options { display: grid; gap: 2.5rem; }
.start-option { padding-block: 0.5rem 2.25rem; border-block-end: 1px solid var(--color-border); }
.start-option .section-heading { font-size: 2rem; max-width: 24ch; }
.start-option .actions { margin-block-start: 1.25rem; }
.start-option .checkout-note { font-size: var(--text-small); margin-block-start: 1.25rem; padding-inline-start: 1rem; border-inline-start: 2px solid var(--color-border); }
.start-alternatives .start-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; }

@media (max-width: 64rem) {
  .header-layout .brand--mark img { width: 5.875rem; max-width: 5.875rem; }
  .brand-name { font-size: 1.2rem; }
  .header-layout { gap: 1rem; }
  .brand img { width: 3.5rem; max-width: 3.5rem; }
  .package-opening-layout { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .package-opening-copy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 3rem; }
  .package-opening-copy .eyebrow { grid-column: 1 / -1; }
  .package-opening-copy h1 { grid-column: 1; grid-row: 2 / span 2; }
  .package-opening-copy .page-introduction, .package-opening-note { grid-column: 2; }
  .package-opening-copy .page-introduction { margin-block-start: 1rem; }
  .package-chapter-layout { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 2.5rem; }
  .package-identity h2 { font-size: 2.6rem; }
  .start-layout { gap: 2rem; }
}
@media (max-width: 48rem) {
  .package-chapter-layout, .start-layout { grid-template-columns: minmax(0, 1fr); }
  .package-identity { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1.5rem; }
  .package-identity .eyebrow { grid-column: 1 / -1; }
  .package-identity h2 { grid-column: 1; }
  .package-identity .offer-price { grid-column: 2; align-self: center; border: 0; padding: 0; }
  .package-fit { grid-column: 1 / -1; max-width: 52ch; }
  .start-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
}
@media (max-width: 42rem) {
  .header-layout > .brand { max-width: 100%; }
  .header-layout .brand-name { max-width: 8rem; }
  .brand-name { font-size: 1.1rem; }
  .brand { gap: 0.5rem; }
  .footer-brand .brand-name { font-size: 1.6rem; }
  .footer-brand .brand img { width: 5rem; max-width: 5rem; }
  .footer-bottom { flex-direction: column; align-items: flex-start; margin-block-start: 2rem; }
  .home-path-grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .home-path { padding-block: 1.25rem; }
  .home-path h3 { font-size: clamp(1.5rem, 10.5vw, 2.4rem); }
  .home-path .package-name-prefix, .home-path .package-name-suffix { font-size: 0.9375rem; }
  .home-path .home-path-heading { margin-block-start: 1rem; }
  .package-opening-copy { display: block; }
  .package-opening-copy h1 { max-width: 12ch; font-size: 3rem; }
  .package-opening-copy .page-introduction { margin-block-start: 1.5rem; }
  .package-navigator a { grid-template-columns: minmax(0, 1fr) auto 1rem; gap: 0.75rem; min-height: 5.5rem; padding-inline: 0; }
  .package-navigator .item-index { display: none; }
  .package-nav-copy { min-width: 0; }
.package-nav-name { font-size: 1.25rem; }
  .package-nav-price { font-size: 0.9375rem; }
  .package-identity { display: block; }
  .package-identity h2 { font-size: clamp(1.5rem, 11.5vw, 3.2rem); }
  .package-identity .offer-price { padding-block-start: 1rem; margin-block-start: 1rem; border-block-start: 1px solid var(--color-border); }
  .package-chapter-layout { gap: 2.5rem; }
  .package-inherits { padding-inline: 1rem; }
  .start-opening-layout, .start-options, .start-alternatives .start-options { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .start-consultation { padding: 1.5rem; }
  .start-lead { font-size: 2rem; }
}
@media (forced-colors: active) {
  .package-deliverables li::before { border-color: CanvasText; }
  .start-consultation { border-color: CanvasText; }
}

/* A large-text narrow container moves price below the name before words crowd. */
@container (max-width: 17rem) {
  .package-navigator a { grid-template-columns: minmax(0, 1fr) 1rem; }
  .package-nav-copy { grid-column: 1; }
  .package-nav-price { grid-column: 1; }
  .package-nav-detail { display: none; }
  .package-navigator .icon { grid-column: 2; grid-row: 1 / span 2; }
}
