.home-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100svh - var(--header-height));
  padding-block: clamp(2.5rem, 6vh, 6rem) var(--space-10);
}
.hero-heading {
  max-width: 12ch;
  font-size: var(--heading-hero);
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -.035em;
  text-wrap: initial;
}
.hero-heading .hero-line { display: block; }
.hero-heading .line-wrap { padding-block: .035em; }
.hero-word-slot {
  display: inline-grid;
  grid-template-columns: minmax(0, 1fr);
  max-width: 100%;
  padding-inline-end: .055em;
  color: var(--terracotta);
  vertical-align: baseline;
}
.hero-word {
  grid-area: 1 / 1;
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  padding-block: .025em;
}
.hero-word-slot > [hidden] { display: none !important; }
.hero-word-slot.is-enhanced .hero-word:not(.is-current) { visibility: hidden; }
.hero-word-slot.is-enhanced .hero-word.is-current { visibility: visible; }
.hero-word-slot.is-enhanced { min-inline-size: 0; }
.hero-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: var(--section-gap);
  align-items: end;
  margin-block-start: clamp(2rem, 5vw, 4rem);
}
.hero-intro .lead { max-width: 39ch; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; }
.hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 2.25rem;
  padding-block: 1.25rem;
  margin-block-start: 2.5rem;
  border-block-start: 1px solid var(--line);
  font: 400 var(--text-xs)/1.7 var(--busa-5b7);
  color: var(--ink-muted);
}
.hero-meta > * { min-width: 0; }
.hero-meta dt { color: var(--ink-muted); }
.hero-meta dd { color: var(--ink); }
.hero-photo { margin-block-start: var(--space-8); }
.hero-photo img { aspect-ratio: 16 / 7; object-fit: cover; object-position: center 55%; }
.hero-footnote { max-width: 48ch; margin-block-start: 1.25rem; font: 400 var(--text-xs)/1.7 var(--busa-5b7); }
.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .65fr);
  gap: var(--section-gap);
  align-items: end;
  margin-block-end: clamp(2rem, 5vw, 4rem);
}
.section-heading h2 { max-width: 17ch; }
.section-heading > p { max-width: 42ch; color: var(--ink-muted); }
.section-label { display: flex; flex-wrap: wrap; align-items: baseline; gap: 1rem; margin-block-end: 1.5rem; }
.section-label .eyebrow { margin: 0; }
.section-tick { padding-inline-start: 1rem; border-inline-start: var(--stripe-width) solid var(--accent); }
.manifesto { padding-block: var(--section-space); border-block-end: 1px solid var(--line); }
.manifesto-layout { display: grid; grid-template-columns: minmax(5rem, .24fr) minmax(0, 1fr); gap: var(--section-gap); align-items: start; }
.manifesto-number { font: 900 clamp(5rem, 13vw, 12rem)/.95 var(--busa-ba0); letter-spacing: -.045em; color: var(--ochre); }
.manifesto-copy { padding-block-start: .35rem; }
.manifesto-copy h2 { max-width: 23ch; font-size: clamp(2.4rem, 5vw, 5rem); line-height: 1.08; }
.manifesto-copy > p { margin-block-start: 1.75rem; max-width: 53ch; font-size: var(--text-lg); }
.home-services { padding-block: var(--section-space); }
.home-services__intro { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 1rem 2rem; margin-block-end: 2rem; }
.home-services__intro h2 { max-width: 22ch; }
.home-services__intro p { max-width: 36ch; font-size: var(--text-sm); }
.numbers-section { padding-block: var(--section-space); background: var(--surface); }
.numbers-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: var(--section-gap); align-items: start; }
.numbers-copy h2 { max-width: 16ch; margin-block-end: 2rem; }
.stat-list { display: grid; gap: 0; }
.stat-item { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 1.5rem; align-items: center; padding-block: 1.65rem; border-block-start: 1px solid var(--line); }
.stat-item dt { grid-column: 2; grid-row: 1; font-size: var(--text-sm); line-height: 1.6; max-width: 24ch; }
.stat-item dd { grid-column: 1; grid-row: 1; font: 900 clamp(4.5rem, 8vw, 8rem)/1 var(--busa-ba0); letter-spacing: -.04em; }
.stat-item small { display: block; margin-block-start: .6rem; font: 400 var(--text-xs)/1.6 var(--busa-5b7); color: var(--ink-muted); }
.numbers-photo { margin-block-start: clamp(0rem, 6vw, 5rem); }
.numbers-photo img { aspect-ratio: 4 / 5; object-fit: cover; }
.numbers-source { padding-block-start: 1rem; border-block-start: 1px solid var(--line); font: 400 var(--text-xs)/1.7 var(--busa-5b7); }
.process-preview { padding-block: var(--section-space); }
.process-preview-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--section-gap); }
.process-preview-intro h2 { max-width: 13ch; }
.process-preview-intro p { max-width: 34ch; margin-block: 1.5rem; }
.preview-steps { list-style: none; padding: 0; }
.preview-step { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 1.25rem; margin: 0; padding-block: 1.5rem; border-block-start: 1px solid var(--line); }
.preview-step:last-child { border-block-end: 1px solid var(--line); }
.preview-step__number { font: 500 var(--text-sm)/1.7 var(--busa-5b7); color: var(--error); }
.preview-step h3 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.preview-step p { margin-block-start: .75rem; max-width: 46ch; font-size: var(--text-sm); }
.calculator-teaser { background: var(--ink); color: var(--paper); padding-block: var(--section-space); --focus: var(--paper); }
.calculator-teaser-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: var(--section-gap); align-items: end; }
.calculator-teaser h2 { max-width: 16ch; font-size: var(--heading-lg); }
.calculator-teaser .eyebrow { color: var(--surface); }
.calculator-teaser-copy { display: grid; gap: 1.75rem; justify-items: start; }
.calculator-teaser-copy p { max-width: 40ch; }
.teaser-formula { padding-block: 1.25rem; border-block: 1px solid var(--line-dark); font: 400 var(--text-sm)/1.9 var(--busa-5b7); }
.calculator-teaser .button-secondary { color: var(--paper); border-color: var(--paper); }
.calculator-teaser .button-secondary:hover { color: var(--ink); background: var(--paper); }
.calculator-teaser .button-secondary:active { color: white; background: var(--terracotta); }
.calculator-teaser .button-secondary:focus-visible { outline-color: var(--paper); }
.refusals { padding-block: var(--section-space); }
.refusals-layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: var(--section-gap); }
.refusals h2 { max-width: 13ch; }
.refusal-list { list-style: none; padding: 0; }
.refusal-list li { margin: 0; padding-block: 1.75rem; border-block-start: 1px solid var(--line); }
.refusal-list h3 { font-size: var(--heading-sm); }
.refusal-list p { max-width: 51ch; margin-block-start: 1rem; }
.case-study { padding-block: var(--section-space); border-block-start: 1px solid var(--line); }
.case-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: var(--section-gap); }
.case-copy h2 { max-width: 17ch; }
.case-copy p { margin-block-start: 1.5rem; max-width: 51ch; }
.case-calculation { align-self: start; background: var(--surface); padding: clamp(1.25rem, 3vw, 2.5rem); border-block-start: 4px solid var(--accent); }
.case-calculation dl > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem; padding-block: 1rem; border-block-end: 1px solid var(--line-soft); }
.case-calculation dt { font-size: var(--text-sm); }
.case-calculation dd { font: 500 var(--text-sm)/1.7 var(--busa-5b7); }
.case-calculation .case-total { display: block; padding-block: 1.75rem; border: 0; }
.case-total dd { margin-block-start: .6rem; font: 500 clamp(1.4rem, 3vw, 2.2rem)/1.4 var(--busa-5b7); overflow-wrap: anywhere; }
.case-disclaimer { font-size: var(--text-xs); line-height: 1.7; color: var(--ink-muted); }
.contact-strip { padding-block: var(--section-space); background: var(--surface); }
.contact-strip-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: var(--section-gap); align-items: end; }
.contact-strip h2 { max-width: 15ch; font-size: var(--heading-lg); }
.contact-strip-details { display: grid; gap: 1rem; font: 400 var(--text-sm)/1.8 var(--busa-5b7); }
.contact-strip-details address { max-width: 35ch; }
.contact-strip-details .text-link { justify-self: start; }
.page-intro { padding-block: clamp(2.5rem, 6vw, 5rem) clamp(3rem, 6vw, 5.5rem); }
.page-intro .breadcrumbs { margin-block-end: 2rem; }
.page-intro h1 { max-width: 17ch; font-size: var(--heading-lg); }
.page-intro .lead { margin-block-start: 2rem; }
.page-intro .eyebrow { margin-block-end: 1.25rem; }
.page-intro .button-group { margin-block-start: 2rem; }
.page-intro-row { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: var(--section-gap); align-items: end; }
.page-intro-row .lead { margin: 0; }
.service-hero { padding-block: clamp(2.5rem, 5vw, 4.5rem) var(--section-space); }
.service-hero .breadcrumbs { margin-block-end: 2.25rem; }
.service-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: var(--section-gap); align-items: end; }
.service-hero h1 { max-width: 14ch; font-size: var(--heading-lg); }
.service-hero .lead { margin-block-start: 2rem; }
.service-hero .button-group { margin-block-start: 2rem; }
.service-facts { padding-block-start: 1.5rem; border-block-start: 4px solid var(--accent); }
.service-facts > p { margin-block-end: 1rem; font: 500 var(--text-xs)/1.7 var(--busa-5b7); }
.service-facts .spec-list > div { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
.service-photo { margin-block-start: clamp(2.5rem, 6vw, 5rem); }
.service-photo img { aspect-ratio: 16 / 8; object-fit: cover; }
.service-editorial { padding-block: var(--section-space); }
.service-editorial-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--section-gap); align-items: start; }
.service-editorial h2 { max-width: 15ch; }
.service-editorial .prose { width: 100%; }
.deliverables { padding-block: var(--section-space); background: var(--surface); }
.deliverables-heading { max-width: 52rem; margin-block-end: 3rem; }
.deliverables-heading p { max-width: 54ch; margin-block-start: 1.5rem; }
.deliverable-list { list-style: none; padding: 0; }
.deliverable { display: grid; grid-template-columns: 4rem minmax(0, .9fr) minmax(0, 1.1fr); gap: 2rem; margin: 0; padding-block: 2rem; border-block-start: 1px solid var(--line); align-items: start; }
.deliverable:last-child { border-block-end: 1px solid var(--line); }
.deliverable-number { color: var(--terracotta); font: 700 3rem/1 var(--busa-ba0); }
.deliverable h3 { font-size: clamp(1.9rem, 3vw, 3rem); }
.deliverable p { max-width: 50ch; }
.service-fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--section-gap); padding-block: var(--section-space); }
.service-fit > section { border-block-start: 1px solid var(--line); padding-block-start: 1.75rem; }
.service-fit h2 { margin-block-end: 1.5rem; font-size: var(--heading-sm); }
.service-fit li { padding-block: .35rem; }
.service-boundary { padding: clamp(1.5rem, 4vw, 3rem); border-inline-start: 4px solid var(--accent); background: var(--surface); }
.service-boundary h2 { max-width: 19ch; }
.service-boundary p { max-width: 60ch; margin-block-start: 1.25rem; }
.service-price-basis { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: var(--section-gap); padding-block: var(--section-space); border-block-start: 1px solid var(--line); }
.service-price-basis h2 { max-width: 14ch; }
.service-price-basis .prose { max-width: 54ch; }
.service-next { padding-block: clamp(3rem, 6vw, 5rem); border-block-start: 1px solid var(--line); }
.service-next-inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 2rem 3rem; }
.service-next h2 { flex: 1 1 24rem; max-width: 20ch; }
.document-example { padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--paper-light); border-block: 1px solid var(--ink); }
.document-example__label { margin-block-end: 1.5rem; font: 500 var(--text-xs)/1.6 var(--busa-5b7); color: var(--ink-muted); }
.document-example__name { font: 500 clamp(1rem, 2vw, 1.5rem)/1.6 var(--busa-5b7); overflow-wrap: anywhere; }
.document-example .spec-list { margin-block-start: 1.5rem; }
.document-example__note { font-size: var(--text-xs); margin-block-start: 1.5rem; }
.transaction-detail { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: var(--section-gap); align-items: center; padding-block: var(--section-space); }
.transaction-detail .photo-frame img { aspect-ratio: 1 / 1; object-fit: cover; }
.transaction-detail h2 { max-width: 16ch; }
.transaction-detail p { max-width: 50ch; margin-block-start: 1.5rem; }
.report-structure { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 3rem; margin-block-start: 2.5rem; }
.report-page { padding-block: 1.75rem; border-block-start: 1px solid var(--line); }
.report-page .meta { color: var(--error); margin-block-end: .75rem; }
.report-page h3 { font-size: var(--heading-sm); }
.report-page p { margin-block-start: 1rem; font-size: var(--text-sm); max-width: 48ch; }
.process-intro { padding-block-end: var(--section-space); }
.process-intro .photo-frame { margin-block-start: 3rem; }
.process-intro .photo-frame img { aspect-ratio: 16 / 7; object-fit: cover; }
.process-timeline { list-style: none; padding: 0; }
.process-stage { display: grid; grid-template-columns: minmax(0, .22fr) minmax(0, 1fr); gap: var(--section-gap); padding-block: var(--section-space); border-block-start: 1px solid var(--line); margin: 0; }
.process-stage__number { font: 900 clamp(4.5rem, 12vw, 10rem)/1 var(--busa-ba0); color: var(--ochre); letter-spacing: -.035em; }
.process-stage__heading { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: 1.25rem 2rem; margin-block-end: 2rem; }
.process-stage__heading h2 { max-width: 17ch; }
.process-stage__duration { padding-block: .7rem; font: 500 var(--text-xs)/1.7 var(--busa-5b7); border-block-start: 4px solid var(--accent); }
.process-stage__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: 2rem; }
.process-stage__output { padding-inline-start: 1.5rem; border-inline-start: 1px solid var(--line); font-size: var(--text-sm); }
.process-stage__output h3 { font: 600 var(--text-base)/1.5 var(--busa-b9d); margin-block-end: .75rem; }
.process-stage__output li + li { margin-block-start: .7rem; }
.process-handover { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: var(--section-gap); padding-block: var(--section-space); align-items: center; }
.process-handover h2 { max-width: 17ch; }
.process-handover p { margin-block-start: 1.5rem; max-width: 46ch; }
.process-handover img { aspect-ratio: 4 / 3; object-fit: cover; }
.calculator-section { padding-block-end: var(--section-space); }
.calculator-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: var(--section-gap); align-items: start; }
.calculator-inputs { display: grid; gap: 1.75rem; padding-block-start: 1.75rem; border-block-start: 1px solid var(--line); }
.calculator-inputs > h2 { font-size: var(--heading-sm); }
.calculator-inputs .form-field input[type='number'] { font-family: var(--busa-5b7); font-size: 1.125rem; }
.calculator-input-group { display: grid; gap: .65rem; }
.calculator-range-labels { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; font: 400 var(--text-xs)/1.6 var(--busa-5b7); color: var(--ink-muted); }
.calculator-results { background: var(--surface); border-block-start: 4px solid var(--accent); padding: clamp(1.25rem, 3vw, 2.5rem); }
.calculator-results h2 { font-size: var(--heading-sm); margin-block-end: 1.5rem; }
.calculator-result-list { display: grid; }
.calculator-result { padding-block: 1.25rem; border-block-start: 1px solid var(--line); }
.calculator-result dt { font-size: var(--text-sm); max-width: 34ch; }
.calculator-result dd { margin-block-start: .65rem; font: 500 clamp(1.4rem, 2.5vw, 2.125rem)/1.35 var(--busa-5b7); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.calculator-result output { display: block; max-width: 100%; overflow-wrap: anywhere; }
.calculator-result__unit { display: block; margin-block-start: .3rem; color: var(--ink-muted); font: 400 var(--text-xs)/1.6 var(--busa-5b7); }
.calculator-result--recovery { border-block-start: 2px solid var(--ink); }
.calculator-results .text-link { margin-block-start: 1rem; }
.calculator-disclaimer { margin-block-start: 1.25rem; font-size: var(--text-xs); line-height: 1.75; max-width: 52ch; }
.calculator-formula { padding-block: var(--section-space); border-block-start: 1px solid var(--line); }
.formula-layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: var(--section-gap); }
.formula-layout h2 { max-width: 13ch; }
.formula-list { list-style: none; padding: 0; }
.formula-list li { padding-block: 1.1rem; border-block-start: 1px solid var(--line); margin: 0; font: 400 var(--text-sm)/1.9 var(--busa-5b7); overflow-wrap: anywhere; }
.formula-list li:last-child { border-block-end: 1px solid var(--line); }
.formula-assumption { margin-block-start: 1.75rem; max-width: 58ch; }
.calculator-context { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: var(--section-gap); align-items: center; padding-block: var(--section-space); }
.calculator-context img { aspect-ratio: 4 / 3; object-fit: cover; }
.calculator-context h2 { max-width: 16ch; }
.calculator-context p { margin-block-start: 1.5rem; }
.calculator-assumptions { margin-block-start: 2rem; }
.calculator-assumptions .spec-table { min-width: 34rem; }
.calculator-print-note { display: none; }
.about-opening { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: var(--section-gap); align-items: start; padding-block: var(--section-space); border-block-start: 1px solid var(--line); }
.about-opening h2 { max-width: 16ch; }
.about-opening p + p { margin-block-start: 1.5rem; }
.about-principle { background: var(--surface); padding-block: var(--section-space); }
.about-principle h2 { font-size: var(--heading-lg); max-width: 20ch; }
.about-principle .lead { margin-block-start: 2rem; max-width: 49ch; }
.about-principle .document-example { margin-block-start: 3rem; max-width: 58rem; margin-inline-start: auto; }
.team-section { padding-block: var(--section-space); }
.team-composition { display: grid; grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); gap: var(--section-gap); padding-block: 2rem; border-block-start: 1px solid var(--line); margin-block-end: 3rem; }
.team-composition h3 { font-size: var(--heading-sm); }
.team-composition dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2rem; }
.team-composition dl > div { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); align-items: baseline; gap: 1rem; }
.team-composition dt { grid-column: 2; grid-row: 1; font-size: var(--text-sm); }
.team-composition dd { grid-column: 1; grid-row: 1; font: 700 2.75rem/1.1 var(--busa-ba0); }
.team-portraits { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.team-portrait:nth-child(2) { margin-block-start: 6rem; }
.team-portrait img { aspect-ratio: 4 / 5; object-fit: cover; }
.team-portrait h3 { margin-block-start: 1.75rem; font-size: var(--heading-sm); }
.team-portrait > p { margin-block-start: 1rem; max-width: 43ch; font-size: var(--text-sm); }
.about-work { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: var(--section-gap); align-items: center; padding-block: var(--section-space); }
.about-work img { aspect-ratio: 4 / 3; object-fit: cover; }
.about-work h2 { max-width: 15ch; }
.about-work p { margin-block-start: 1.5rem; }
.contact-layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: clamp(2.5rem, 7vw, 6rem); align-items: start; padding-block-end: var(--section-space); }
.contact-details { padding-block-start: 1.5rem; border-block-start: 4px solid var(--accent); }
.contact-details h2 { font-size: var(--heading-sm); margin-block-end: 1.5rem; }
.contact-details address { font: 400 var(--text-sm)/1.9 var(--busa-5b7); max-width: 35ch; }
.contact-methods { display: grid; gap: .5rem; margin-block: 1.5rem; }
.contact-methods .text-link { justify-content: start; font: 500 var(--text-sm)/1.6 var(--busa-5b7); }
.contact-details > p { font-size: var(--text-sm); max-width: 36ch; }
.contact-form-heading { margin-block-end: 1.75rem; }
.contact-form-heading h2 { font-size: var(--heading-sm); }
.contact-form-heading p { margin-block-start: 1rem; font-size: var(--text-sm); max-width: 52ch; }
.contact-form-region { padding-block-start: 1.5rem; border-block-start: 1px solid var(--line); }
.contact-expectations { margin-block-start: 2.25rem; padding-block-start: 1.5rem; border-block-start: 1px solid var(--line); }
.contact-expectations h3 { font: 600 var(--text-base)/1.5 var(--busa-b9d); margin-block-end: .75rem; }
.contact-expectations p { font-size: var(--text-sm); }
.contact-locator { background: var(--surface); padding-block: var(--section-space); }
.locator-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: var(--section-gap); align-items: end; }
.locator-layout img { aspect-ratio: 3 / 2; object-fit: cover; }
.locator-address { padding-block-start: 1.5rem; border-block-start: 1px solid var(--line); }
.locator-address h2 { margin-block-end: 1.5rem; }
.locator-address address { font: 400 var(--text-sm)/1.9 var(--busa-5b7); }
.locator-address p { margin-block-start: 1.5rem; font-size: var(--text-sm); }
.faq-section { padding-block: var(--section-space); }
.faq-layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: var(--section-gap); align-items: start; }
.faq-intro h2 { max-width: 13ch; }
.faq-intro p { max-width: 33ch; margin-block-start: 1.5rem; font-size: var(--text-sm); }
.faq-list { min-width: 0; }
.faq-answer ul, .faq-answer ol { margin-block-start: 1rem; }
.faq-answer li + li { margin-block-start: .65rem; }
.faq-answer .text-link { margin-block-start: 1rem; }
.legal-header { padding-block: clamp(3rem, 6vw, 5rem); border-block-end: 1px solid var(--line); }
.legal-header h1 { font-size: var(--heading-lg); max-width: 17ch; }
.legal-header .lead { margin-block-start: 1.75rem; max-width: 52ch; }
.legal-meta { display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin-block-start: 2rem; font: 400 var(--text-xs)/1.75 var(--busa-5b7); color: var(--ink-muted); }
.legal-section-title { margin-block-end: 1.5rem; font-size: var(--heading-sm); }
.legal-section-number { display: block; font: 500 var(--text-xs)/1.6 var(--busa-5b7); color: var(--error); margin-block-end: 1rem; }
.legal-prose { line-height: 1.8; }
.legal-prose > * + * { margin-block-start: 1.35rem; }
.legal-prose h3 { margin-block-start: 2rem; font-size: clamp(1.65rem, 2.75vw, 2.35rem); }
.legal-prose ul, .legal-prose ol { padding-inline-start: 1.4em; }
.legal-prose li + li { margin-block-start: .8rem; }
.legal-prose li::marker { color: var(--terracotta); }
.legal-prose code { background: var(--surface); padding: .1em .25em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.legal-prose address { font: 400 var(--text-sm)/1.9 var(--busa-5b7); }
.legal-callout { border-inline-start: 4px solid var(--accent); padding: 1.25rem 1.5rem; background: var(--surface); }
.legal-callout > * + * { margin-block-start: .85rem; }
.legal-contact-links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin-block-start: 1.5rem; }
.legal-contact-links .text-link { font-size: var(--text-sm); }
.privacy-layout { display: grid; grid-template-columns: minmax(0, .35fr) minmax(0, 1fr); gap: clamp(2.5rem, 7vw, 6rem); align-items: start; padding-block: var(--section-space); }
.privacy-index { position: sticky; top: calc(var(--header-height) + 1.5rem); max-height: calc(100dvh - var(--header-height) - 3rem); overflow-y: auto; scrollbar-width: thin; padding: .25rem .5rem .5rem .25rem; }
.privacy-index h2 { font: 500 var(--text-xs)/1.6 var(--busa-5b7); margin-block-end: 1rem; text-transform: uppercase; letter-spacing: .04em; }
.privacy-index ol { list-style: none; padding: 0; border-block-start: 1px solid var(--line); }
.privacy-index li { margin: 0; }
.privacy-index a { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); align-items: baseline; gap: .5rem; min-height: 44px; padding: .75rem .6rem .75rem .75rem; border-inline-start: 4px solid transparent; border-block-end: 1px solid var(--line-soft); font-size: var(--text-xs); line-height: 1.6; text-decoration: none; }
.privacy-index a > span:first-child { font-family: var(--busa-5b7); }
.privacy-index a[aria-current='location'], .privacy-index a.is-current { border-inline-start-color: var(--accent); background: var(--surface); color: var(--ink); font-weight: 600; }
.privacy-index a:hover { background: var(--surface); color: var(--terracotta); }
.privacy-index a:active { background: var(--ink); color: var(--paper); }
.privacy-index a:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; background: var(--paper-light); color: var(--ink); }
.privacy-jump { display: none; }
.privacy-jump:not([open]) > :not(summary) { display: none; }
.privacy-content { max-width: 49rem; }
.privacy-section { padding-block: 3rem; border-block-start: 1px solid var(--line); scroll-margin-top: calc(var(--header-height) + 2rem); }
.privacy-section:first-child { padding-block-start: 0; border: 0; }
.privacy-section:last-child { padding-block-end: 0; }
.privacy-section > .legal-section-title { max-width: 24ch; }
.privacy-section .legal-prose { max-width: 66ch; }
.privacy-section .ruge684 { margin-block: 2rem; }
.rights-list { margin-block-start: 1.5rem; }
.rights-list > div { padding-block: 1.1rem; border-block-start: 1px solid var(--line-soft); }
.rights-list dt { font-weight: 600; margin-block-end: .5rem; }
.rights-list dd { font-size: var(--text-sm); }
.data-request-steps { margin-block: 1.5rem; }
.data-request-steps li { padding-block: .4rem; }
.accessibility-measures { margin-block: 1.5rem; }
.cookies-document { padding-block: clamp(1rem, 3vw, 3rem) var(--section-space); }
.cookie-section { display: grid; grid-template-columns: clamp(5rem, 14vw, 11rem) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 5rem); padding-block: clamp(3rem, 7vw, 6rem); border-block-end: 1px solid var(--line); align-items: start; }
.cookie-section:last-child { border-block-end: 0; padding-block-end: 0; }
.cookie-section__number { font: 900 clamp(5rem, 14vw, 11rem)/.95 var(--busa-ba0); color: var(--ochre); letter-spacing: -.045em; padding-block-start: .025em; }
.cookie-section__body { max-width: 54rem; }
.cookie-section__body h2 { margin-block-end: 1.75rem; max-width: 24ch; }
.cookie-section__body .legal-prose { max-width: 70ch; }
.cookie-section__body .ruge684 { margin-block: 2rem; }
.cookie-section__body .button-group { margin-block-start: 1.75rem; }
.storage-key { display: block; max-width: 100%; font: 500 clamp(1rem, 2.3vw, 1.65rem)/1.5 var(--busa-5b7); overflow-wrap: anywhere; padding-block: 1.25rem; border-block: 1px solid var(--line); margin-block: 1.75rem; }
.consent-state-list { list-style: none; padding: 0; margin-block: 1.75rem; }
.consent-state-list > li { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: 1.5rem; padding-block: 1.5rem; border-block-start: 1px solid var(--line); margin: 0; }
.consent-state-list > li:last-child { border-block-end: 1px solid var(--line); }
.consent-state-list h3 { font: 600 var(--text-base)/1.5 var(--busa-b9d); margin: 0; }
.consent-state-list p { font-size: var(--text-sm); }
.legal-table, .cookie-table, .legal-bases-table { width: 100%; min-width: 37rem; font-size: var(--text-sm); line-height: 1.75; }
.legal-table caption, .cookie-table caption, .legal-bases-table caption { padding-block: 1rem; font: 500 var(--text-xs)/1.65 var(--busa-5b7); }
.legal-table th, .cookie-table th, .legal-bases-table th { padding: 1rem 1.15rem; background: var(--ink); color: var(--paper); font: 500 var(--text-xs)/1.65 var(--busa-5b7); }
.legal-table td, .cookie-table td, .legal-bases-table td { padding: 1.2rem 1.15rem; border-block-end: 1px solid var(--line-soft); overflow-wrap: anywhere; }
.legal-table tbody tr:nth-child(even), .cookie-table tbody tr:nth-child(even), .legal-bases-table tbody tr:nth-child(even) { background: var(--surface); }
.legal-table tbody th, .cookie-table tbody th, .legal-bases-table tbody th { background: transparent; color: var(--ink); border-block-end: 1px solid var(--line-soft); }
.legal-table td > * + *, .cookie-table td > * + *, .legal-bases-table td > * + * { margin-block-start: .7rem; }
.table-description { margin-block-start: .85rem; color: var(--ink-muted); font: 400 var(--text-xs)/1.7 var(--busa-5b7); }
.terms-document { max-width: 68rem; margin-inline: auto; padding-block: var(--space-6) var(--section-space); }
.terms-section { padding-block: clamp(2.5rem, 5vw, 4rem); border-block-end: 1px solid var(--line); }
.terms-section:last-child { border-block-end: 0; padding-block-end: 0; }
.terms-section > h2 { max-width: 22ch; margin-block-end: 2rem; }
.terms-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .34fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.terms-row + .terms-row { margin-block-start: 2rem; }
.terms-row .legal-prose { max-width: 66ch; }
.margin-note { padding-block: .4rem; padding-inline-start: 1.25rem; border-inline-start: 1px solid var(--olive); color: var(--ink-muted); font: 400 var(--text-xs)/1.85 var(--busa-5b7); }
.margin-note strong { display: block; color: var(--ink); font-weight: 500; margin-block-end: .65rem; }
.margin-note > * + * { margin-block-start: .75rem; }
.margin-note a { display: inline-flex; align-items: center; min-height: 44px; padding-block: .55rem; }
.terms-section .legal-callout { margin-block: 1.75rem; }
.terms-section .ruge684 { margin-block: 1.75rem; }
.legal-end { border-block-start: 1px solid var(--line); padding-block: clamp(2rem, 5vw, 4rem); }
.legal-end-inner { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 1.5rem 3rem; }
.legal-end p { max-width: 52ch; font-size: var(--text-sm); }
.utility-page { min-height: calc(85svh - var(--header-height)); padding-block: clamp(3rem, 8vw, 7rem); display: flex; flex-direction: column; justify-content: center; }
.utility-layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); gap: var(--section-gap); align-items: center; }
.error-number { font: 900 clamp(6rem, 23vw, 19rem)/1 var(--busa-ba0); color: var(--ochre); letter-spacing: -.065em; }
.utility-copy { padding-block: 2rem; border-block-start: 4px solid var(--accent); }
.utility-copy h1 { font-size: var(--heading-md); max-width: 17ch; }
.utility-copy p { margin-block-start: 1.5rem; max-width: 46ch; }
.utility-copy .button-group { margin-block-start: 2rem; }
.thanks-page { padding-block: var(--section-space); min-height: calc(85svh - var(--header-height)); }
.thanks-layout { max-width: 58rem; margin-inline: auto; }
.thanks-layout h1 { max-width: 17ch; font-size: var(--heading-lg); }
.thanks-layout .lead { margin-block-start: 2rem; }
.thanks-next { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; padding-block-start: 2rem; margin-block-start: 3rem; border-block-start: 1px solid var(--line); }
.thanks-next h2 { font-size: var(--heading-sm); }
.thanks-next p { margin-block-start: 1rem; font-size: var(--text-sm); }
.thanks-layout > .button-group { margin-block-start: 2.5rem; }

@media (min-width: 1440px) {
  .hero-heading { font-size: clamp(9rem, 10.5vw, 11rem); }
  .hero-intro { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); }
  .hero-photo img { aspect-ratio: 16 / 6; }
  .process-stage__body { gap: 3rem; }
}
@media (min-width: 1920px) {
  .home-hero { min-height: min(60rem, calc(100svh - var(--header-height))); }
  .cookie-section { padding-block: 6.5rem; }
}
@media (max-width: 1023px) {
  .hero-intro { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .hero-intro .lead { max-width: 47ch; }
  .numbers-layout { gap: 2.5rem; }
  .stat-item { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  .stat-item dt { grid-column: 1; grid-row: 2; max-width: 30ch; }
  .stat-item dd { grid-row: 1; }
  .service-hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 2rem; }
  .service-hero h1 { font-size: clamp(2.75rem, 6vw, 5rem); }
  .deliverable { grid-template-columns: 3rem minmax(0, .8fr) minmax(0, 1.2fr); gap: 1.5rem; }
  .process-stage__body { grid-template-columns: minmax(0, 1fr); }
  .process-stage__output { border-inline-start: 0; border-block-start: 1px solid var(--line); padding: 1.25rem 0 0; }
  .calculator-layout { gap: 2rem; }
  .contact-layout { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 2rem; }
  .contact-layout .form-grid { grid-template-columns: minmax(0, 1fr); }
  .privacy-layout { grid-template-columns: minmax(0, .4fr) minmax(0, 1fr); gap: 2rem; }
  .privacy-index a { padding-inline: .45rem; grid-template-columns: 1.4rem minmax(0, 1fr); }
  .terms-row { grid-template-columns: minmax(0, 1fr) minmax(0, .35fr); gap: 1.75rem; }
  .margin-note { padding-inline-start: 1rem; }
}
@media (max-width: 767px) {
  .home-hero { min-height: calc(90svh - var(--header-height)); padding-block-start: 2.25rem; }
  .hero-heading { font-size: clamp(3rem, 11.5vw, 5.75rem); max-width: 12ch; }
  .hero-intro { margin-block-start: 2rem; }
  .hero-meta { gap: .75rem 1.5rem; margin-block-start: 2rem; }
  .hero-photo img { aspect-ratio: 4 / 3; }
  .section-heading, .page-intro-row { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .manifesto-layout { grid-template-columns: 3.5rem minmax(0, 1fr); gap: 1.25rem; }
  .manifesto-number { font-size: clamp(4rem, 12vw, 6rem); }
  .manifesto-copy h2 { font-size: clamp(2rem, 5.5vw, 3rem); }
  .manifesto-copy > p { font-size: var(--text-base); }
  .numbers-layout, .process-preview-layout, .calculator-teaser-layout, .refusals-layout, .case-layout, .contact-strip-layout { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .numbers-photo { margin-block-start: 0; }
  .numbers-photo img { aspect-ratio: 4 / 3; }
  .stat-item { grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); gap: 1.5rem; }
  .stat-item dt { grid-column: 2; grid-row: 1; }
  .stat-item dd { grid-column: 1; grid-row: 1; font-size: clamp(4rem, 14vw, 6rem); }
  .calculator-teaser h2, .contact-strip h2 { max-width: 16ch; }
  .service-hero-grid, .service-editorial-grid, .service-price-basis, .transaction-detail { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .service-hero h1 { font-size: var(--heading-lg); }
  .service-photo img { aspect-ratio: 4 / 3; }
  .service-facts .spec-list > div { grid-template-columns: minmax(0, .65fr) minmax(0, 1fr); gap: 1rem; }
  .deliverable { grid-template-columns: 2.5rem minmax(0, 1fr); gap: .75rem 1.25rem; }
  .deliverable p { grid-column: 2; }
  .deliverable-number { font-size: 2.5rem; }
  .service-fit { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .transaction-detail .photo-frame img { aspect-ratio: 4 / 3; }
  .process-intro .photo-frame img { aspect-ratio: 4 / 3; }
  .process-stage { grid-template-columns: 3.5rem minmax(0, 1fr); gap: 1.25rem; padding-block: 3rem; }
  .process-stage__number { font-size: 4rem; }
  .process-stage__heading { gap: 1.25rem; }
  .process-stage__heading h2 { font-size: clamp(2rem, 5.5vw, 3rem); }
  .process-handover, .calculator-layout, .formula-layout, .calculator-context { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .calculator-results { position: static; }
  .calculator-result dd { font-size: clamp(1.4rem, 5vw, 2rem); }
  .about-opening, .team-composition, .about-work { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .team-portraits { gap: 2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-portrait:nth-child(2) { margin-block-start: 3rem; }
  .contact-layout, .locator-layout, .faq-layout { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .contact-details > p { max-width: 50ch; }
  .contact-form-region { margin-block-start: 1rem; }
  .privacy-layout { display: block; padding-block-start: 1.5rem; }
  .privacy-index { display: none; }
  .privacy-jump { display: block; margin-block-end: 2.5rem; border-block: 1px solid var(--line); }
  .privacy-jump > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 48px; padding: 1rem .25rem; font: 500 var(--text-sm)/1.6 var(--busa-5b7); cursor: pointer; }
  .privacy-jump > summary:hover { background: var(--surface); color: var(--terracotta); }
  .privacy-jump > summary:active { background: var(--ink); color: var(--paper); }
  .privacy-jump > summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
  .privacy-jump ol { padding: .5rem 0 1rem; list-style: none; }
  .privacy-jump li { margin: 0; }
  .privacy-jump a { display: flex; align-items: baseline; gap: .75rem; min-height: 44px; padding: .65rem .75rem; font-size: var(--text-sm); line-height: 1.6; }
  .privacy-jump a:hover { background: var(--surface); }
  .privacy-jump a:active { background: var(--ink); color: var(--paper); }
  .privacy-jump a:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
  .privacy-jump .form-field { padding-block: 1rem; }
  .privacy-section { padding-block: 2.5rem; }
  .cookie-section { grid-template-columns: 3.5rem minmax(0, 1fr); gap: 1.25rem; padding-block: 3rem; }
  .cookie-section__number { font-size: 4.5rem; }
  .cookie-section__body h2 { font-size: clamp(2rem, 5.5vw, 3rem); }
  .consent-state-list > li { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .terms-row { display: flex; flex-direction: column; gap: 1.25rem; }
  .terms-row > * { width: 100%; }
  .margin-note { padding: 1rem 1.25rem; border-inline-start: 2px solid var(--olive); background: var(--surface); }
  .terms-row + .terms-row { margin-block-start: 2.5rem; }
  .utility-layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .error-number { font-size: clamp(7rem, 30vw, 12rem); }
}
@media (max-width: 479px) {
  .home-hero { min-height: auto; padding-block: 2.25rem 2rem; }
  .hero-heading { font-size: clamp(2.85rem, 11.5vw, 3.5rem); }
  .hero-actions { align-items: stretch; gap: .75rem; }
  .hero-actions .button { width: 100%; }
  .hero-actions .text-link { max-width: 100%; }
  .hero-meta { font-size: .75rem; }
  .manifesto-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .manifesto-number { font-size: 4.5rem; }
  .manifesto-copy h2 { font-size: clamp(2.25rem, 8.5vw, 2.75rem); }
  .stat-item { gap: 1rem; grid-template-columns: minmax(0, .75fr) minmax(0, 1fr); }
  .stat-item dd { font-size: 4.25rem; }
  .stat-item dt { font-size: .875rem; }
  .preview-step { grid-template-columns: 1.5rem minmax(0, 1fr); gap: 1rem; }
  .service-facts .spec-list > div { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  .deliverable { grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem 1rem; }
  .deliverable-number { font-size: 2.25rem; }
  .deliverable h3 { font-size: 1.9rem; }
  .report-structure { grid-template-columns: minmax(0, 1fr); }
  .process-stage { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .process-stage__number { font-size: 4.5rem; }
  .team-portraits { grid-template-columns: minmax(0, 1fr); gap: 3rem; }
  .team-portrait:nth-child(2) { margin-block-start: 0; }
  .team-composition dl { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .team-portrait img { max-height: none; }
  .cookie-section { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .cookie-section__number { font-size: clamp(4.5rem, 22vw, 6rem); }
  .cookie-section__body h2 { font-size: var(--heading-md); }
  .legal-callout { padding: 1rem 1.1rem; }
  .legal-meta { gap: .75rem; flex-direction: column; }
  .thanks-next { grid-template-columns: minmax(0, 1fr); }
  .utility-copy { padding-block: 1.5rem; }
}
@media (max-width: 359px) {
  .hero-heading { font-size: 2.85rem; }
  .hero-meta { display: grid; gap: .65rem; }
  .hero-word-slot { max-width: 100%; }
  .stat-item { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .stat-item dt { grid-column: 1; grid-row: 2; }
  .stat-item dd { grid-column: 1; grid-row: 1; }
  .calculator-results { padding: 1.25rem; }
  .calculator-result dd { font-size: 1.375rem; }
  .case-total dd { font-size: 1.35rem; }
  .contact-strip-details { font-size: .8125rem; }
}
@media (max-height: 600px) and (min-width: 768px) {
  .home-hero { min-height: auto; padding-block-start: 2.5rem; }
  .privacy-index { top: calc(var(--header-height-small) + 1rem); max-height: calc(100dvh - var(--header-height-small) - 2rem); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-word, .hero-word-slot, .hero-line { transform: none !important; clip-path: none !important; }
  .hero-word-slot.is-enhanced .hero-word.is-current { opacity: 1 !important; }
}
@media (forced-colors: active) {
  .hero-word-slot, .manifesto-number, .process-stage__number, .cookie-section__number, .error-number { color: CanvasText; }
  .privacy-index a[aria-current='location'], .privacy-index a.is-current { border-inline-start-color: Highlight; }
  .calculator-results, .document-example, .case-calculation, .legal-callout, .margin-note { border: 1px solid CanvasText; }
}
@media print {
  .home-hero, .utility-page, .thanks-page { min-height: auto; }
  .hero-heading { font-size: 48pt; }
  .hero-actions, .privacy-index, .privacy-jump, .calculator-inputs .form-actions, .legal-end { display: none !important; }
  .privacy-layout { display: block; }
  .privacy-section, .terms-section, .cookie-section { padding-block: 1.5rem; }
  .privacy-section { break-inside: auto; }
  .cookie-section { grid-template-columns: 4rem minmax(0, 1fr); gap: 1.5rem; }
  .cookie-section__number { font-size: 48pt; }
  .terms-row { display: block; }
  .margin-note { margin-block-start: 1rem; font-size: 9pt; }
  .calculator-layout { display: block; }
  .calculator-results { margin-block-start: 2rem; border: 1px solid black; }
  .calculator-print-note { display: block; font-size: 9pt; margin-block-start: 1rem; }
  .ruge684 { overflow: visible; }
  .legal-table, .cookie-table, .legal-bases-table { min-width: 0; font-size: 9pt; }
  .legal-table th, .cookie-table th, .legal-bases-table th { background: transparent; color: black; border-bottom: 1px solid black; }
  .hero-photo img, .service-photo img { aspect-ratio: auto; max-height: 18rem; object-fit: contain; }
  .team-portraits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-portrait:nth-child(2) { margin-block-start: 0; }
  .contact-layout { grid-template-columns: minmax(0, 1fr); }
  .contact-form-region { display: none; }
}
