.hero { display: flex; min-height: clamp(560px, calc(100svh - var(--nav-h) - var(--alert-h)), 880px); border-bottom: 3px solid var(--color-ink); }
.hero-inner { display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-xl); padding-block: var(--space-xl); }
.hero h1 { max-width: none; font-size: var(--text-marquee); line-height: 0.96; letter-spacing: -0.025em; }
.hero-line { display: block; }
.hero-foot { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); align-items: end; }
.hero-lead { grid-column: 1 / span 5; max-width: 44ch; }
.hero-routes-wrap { grid-column: 7 / -1; }
.hero-routes-label { margin-bottom: var(--space-sm); color: var(--color-muted); font-size: var(--text-sm); }
.routes { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--color-ink); }
.routes a { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; column-gap: var(--space-md); min-height: 60px; padding-block: var(--space-sm); border-top: 1px solid var(--color-ink); color: var(--color-ink); text-decoration: none; }
.route-title { font-weight: 600; font-size: 1.0625rem; line-height: 1.3; white-space: nowrap; transition: color var(--dur-short) var(--ease-out); }
.route-fact { font-family: var(--font-display); font-weight: 600; font-size: var(--text-lg); line-height: 1.3; color: var(--color-ink-2); text-align: end; }
.route-icon { color: var(--color-ink-2); }
.routes a:hover { color: var(--color-ink); text-decoration: none; }
.routes a:hover .route-title { color: var(--color-link); }
.routes a:active { transform: translateY(1px); }

@media (prefers-reduced-motion: no-preference) {
  .hero-line, .hero-foot { animation: settle var(--dur-long) var(--ease-out) both; animation-delay: calc(var(--i, 0) * 60ms); }
  .hero-line:nth-of-type(2) { --i: 1; } .hero-line:nth-of-type(3) { --i: 2; } .hero-foot { --i: 4; }
}

@media (max-width: 60rem) {
  .hero { min-height: 0; }
  .hero-inner { gap: var(--space-xl); padding-block: var(--space-xl); }
  .hero-foot { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-xl); }
  .hero-lead, .hero-routes-wrap { grid-column: 1 / -1; }
  .section-head { grid-template-columns: minmax(0, 1fr); }
  .section-head > h2, .section-head > p { grid-column: 1 / -1; }
}
@media (max-width: 75rem) {
  .routes a { grid-template-columns: minmax(0, 1fr) auto; row-gap: var(--space-3xs); }
  .route-title { white-space: normal; }
  .route-fact { grid-column: 1; grid-row: 2; text-align: start; font-size: var(--text-md); }
  .route-icon { grid-column: 2; grid-row: 1 / span 2; }
}

.ledger-section { padding-top: var(--section-gap-s); }
.ledger { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--color-ink); border-bottom: 1px solid var(--color-rule-2); }
.ledger-row + .ledger-row a { border-top: 1px solid var(--color-rule); }
.ledger a, .work a { position: relative; isolation: isolate; color: var(--color-ink); text-decoration: none; }
.ledger a::before, .work a::before { content: ""; position: absolute; inset-block: 0; inset-inline: calc(-1 * var(--space-md)); z-index: -1; background: var(--color-paper-2); opacity: 0; transition: opacity var(--dur-short) var(--ease-out); }
.ledger a:hover, .work a:hover { color: var(--color-ink); text-decoration: none; }
.ledger a:hover::before, .work a:hover::before { opacity: 1; }
.ledger a:active, .work a:active { transform: translateY(1px); }
.ledger a { display: grid; grid-template-columns: minmax(0, 5.4fr) minmax(0, 2.4fr) minmax(0, 4.2fr) 20px; column-gap: var(--gap-columns); align-items: center; min-height: 96px; padding-block: var(--space-lg); }
.ledger-symptom { max-width: 48ch; font-size: var(--text-lg); line-height: 1.4; }
.ledger-urgent { color: var(--color-urgent); font-weight: 700; }
.ledger-service { font-weight: 600; }
.ledger-price { font-family: var(--font-display); font-size: var(--text-lg); font-weight: 600; line-height: 1.3; text-align: end; }
.ledger-icon { justify-self: end; color: var(--color-ink-2); }
.ledger-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-sm) var(--space-xl); margin-top: var(--space-lg); font-size: var(--text-sm); }
.ledger-note { font-weight: 600; }
.ledger-more { display: flex; flex-wrap: wrap; column-gap: var(--space-md); color: var(--color-ink-2); }
.ledger-more a { font-weight: 600; }

.offer { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-xl); margin-top: var(--space-3xl); padding: var(--space-2xl); background: var(--color-paper-2); border-radius: var(--radius-card); }
.offer-figure { grid-column: 1 / span 4; }
.offer-price { font-variant-numeric: tabular-nums lining-nums; font-family: var(--font-display); font-size: clamp(4.5rem, 9vw, 9rem); font-weight: 700; line-height: 0.9; letter-spacing: -0.03em; }
.offer-price-note { margin-top: var(--space-sm); font-variant-numeric: tabular-nums; font-family: var(--font-display); font-size: var(--text-title); font-weight: 600; }
.offer-body { grid-column: 5 / -1; display: grid; gap: var(--space-lg); align-content: start; }
.offer-body h3 { font-size: var(--text-2xl); }
.offer-lead { max-width: 54ch; font-size: var(--text-lead); line-height: 1.45; }
.offer-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md) var(--gap-columns); margin: 0; }
.offer-list > div { padding-top: var(--space-sm); border-top: 1px solid var(--color-rule-2); }
.offer-list dt { font-weight: 700; }
.offer-list dd { margin: 0; color: var(--color-ink-2); }
.offer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-md) var(--space-xl); }
.offer-call a { font-weight: 600; white-space: nowrap; }

.work-section { padding-block: var(--section-gap-l) var(--section-gap); }
.work { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--color-ink); border-bottom: 1px solid var(--color-rule-2); }
.work-row + .work-row a { border-top: 1px solid var(--color-rule); }
.work a { display: grid; grid-template-columns: 176px minmax(0, 3fr) minmax(0, 4fr) minmax(0, 2fr) 20px; column-gap: var(--gap-columns); align-items: center; min-height: 128px; padding-block: var(--space-lg); }
.work-logo { display: flex; align-items: center; justify-content: flex-start; gap: var(--space-sm); height: 80px; }
.work-logo img { width: auto; height: auto; max-width: 100%; max-height: 72px; object-fit: contain; mix-blend-mode: multiply; }
.work-logo--pair img { max-width: calc(50% - var(--space-xs)); }

.work-wordmark { display: grid; place-items: center; width: 100%; max-width: 160px; height: 72px; padding-inline: var(--space-sm); border-radius: var(--radius-card); background: var(--color-field); color: var(--color-field-ink); font-family: var(--font-display); font-size: var(--text-md); font-weight: 700; line-height: 1.1; text-align: center; }
.work-name { max-width: none; font-family: var(--font-display); font-size: var(--text-title); font-weight: 700; line-height: 1.2; }
.work-name-2 { display: block; margin-top: var(--space-3xs); font-family: var(--font-body); font-size: var(--text-md); font-weight: 600; color: var(--color-ink-2); }
.work-summary { color: var(--color-ink-2); }
.work-credit { display: block; margin-top: var(--space-2xs); color: var(--color-muted); font-size: var(--text-sm); }
.work-kind { color: var(--color-muted); font-size: var(--text-sm); }
.work-icon { justify-self: end; color: var(--color-ink-2); }
.work-row--lead a { min-height: 200px; }
.work-row--lead .work-logo { height: 144px; }
.work-row--lead .work-logo img { max-height: 136px; }
.work-row--lead .work-name { font-size: var(--text-2xl); }
.work-row--lead .work-summary { font-size: var(--text-lg); color: var(--color-ink); }
.work-more { margin-top: var(--space-lg); }

.a11y { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-2xl); align-items: start; }
.a11y-main { grid-column: 1 / span 7; display: grid; gap: var(--space-lg); }
.a11y-main h2 { max-width: 20ch; }
.a11y-lead { max-width: 62ch; color: var(--color-ink-2); }
.a11y-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-md) var(--space-xl); margin-top: var(--space-xs); }
.a11y-check { grid-column: 9 / -1; display: grid; gap: var(--space-md); padding-top: var(--space-lg); border-top: 3px solid var(--color-ink); }
.agency-terms { margin: 0; padding: 0; list-style: none; }
.agency-terms li { display: flex; align-items: flex-start; gap: var(--space-sm); padding-block: var(--space-sm); border-bottom: 1px solid var(--color-rule-2); }
.agency-terms .icon { margin-top: 0.2em; }
.a11y-note { color: var(--color-muted); font-size: var(--text-sm); }

.a11y-section { padding-block: var(--section-gap) var(--section-gap-s); }
.agency-section { padding-block: 0 var(--section-gap); }
.agency { padding-top: var(--section-gap-s); border-top: 1px solid var(--color-rule-2); }
.statement { max-width: 24ch; font-size: var(--text-display-s); line-height: 1.04; }
.agency-body { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-lg); margin-top: var(--space-2xl); align-items: start; }
.agency-body .lead { grid-column: 1 / span 6; }
.agency-terms { grid-column: 8 / -1; grid-row: 1 / span 2; }
.agency-cta { grid-column: 1 / span 6; justify-self: start; }

.enquiry { padding-block: var(--section-gap-l) var(--section-gap); }
.enquiry-head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-2xl); align-items: end; margin-bottom: var(--space-3xl); }
.enquiry-copy { grid-column: 1 / span 7; display: grid; gap: var(--space-lg); align-content: end; }
.enquiry-copy .lead { max-width: 46ch; }
.enquiry-steps { max-width: 56ch; color: var(--color-ink-2); }
.quote { margin: var(--space-md) 0 0; }
.quote p { max-width: 28ch; font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 600; line-height: 1.25; text-indent: -0.4em; }
.contact-phone { display: inline-grid; grid-template-columns: auto auto; column-gap: var(--space-sm); align-items: center; justify-self: start; color: var(--color-ink); text-decoration: none; }
.contact-phone .icon { grid-row: 1 / span 2; width: 24px; height: 24px; color: var(--color-ink-2); }
.contact-phone__number { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 700; line-height: 1.1; transition: color var(--dur-short) var(--ease-out); }
.contact-phone__note { color: var(--color-muted); font-size: var(--text-sm); }
.contact-phone:hover { color: var(--color-ink); text-decoration: none; }
.contact-phone:hover .contact-phone__number { color: var(--color-link); }
.portrait { grid-column: 9 / -1; margin: 0; }
.portrait picture { display: block; overflow: hidden; aspect-ratio: 4 / 5; border-radius: var(--radius-card); background: var(--color-field-2); }
.portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; }
.portrait figcaption { display: grid; margin-top: var(--space-sm); font-size: var(--text-sm); }
.portrait figcaption span { color: var(--color-muted); }

.pc-card { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); column-gap: var(--space-2xl); row-gap: var(--space-xl); padding-top: var(--space-xl); border-top: 2px solid var(--color-ink); }
.pc-main { display: flex; flex-direction: column; min-width: 0; }
.pc-progress-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-sm); }
.pc-counter { font-size: var(--text-sm); font-weight: 600; }
.pc-remaining { color: var(--color-muted); font-size: var(--text-sm); }
.pc-progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-xs); margin: var(--space-sm) 0 0; padding: 0; list-style: none; }
.pc-progress li { overflow: hidden; padding-top: var(--space-xs); border-top: 3px solid var(--color-rule); color: var(--color-muted); font-size: var(--text-sm); white-space: nowrap; text-overflow: ellipsis; transition: border-color var(--dur-short) var(--ease-out); }
.pc-progress li.is-done { border-top-color: var(--color-ink-2); color: var(--color-ink); }
.pc-progress li[aria-current="step"] { border-top-color: var(--color-accent); color: var(--color-ink); font-weight: 600; }
.pc-choice { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2xs) var(--space-xs); margin-top: var(--space-md); color: var(--color-ink-2); font-size: var(--text-sm); }
.pc-choice strong { color: var(--color-ink); }
.pc-change { position: relative; padding: 0; border: 0; background: none; color: var(--color-link); font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 0.18em; cursor: pointer; }
.pc-change::before { content: ""; position: absolute; inset: calc(-1 * var(--space-sm)); }
.pc-change:hover { color: var(--color-link-hover); text-decoration-thickness: 2px; }
.pc-change:active { transform: translateY(1px); }
.pc-mobile-offer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--space-2xs) var(--space-md); margin-top: var(--space-sm); padding: var(--space-sm) var(--space-md); background: var(--color-paper-2); font-size: var(--text-sm); }
.pc-mobile-offer strong { font-family: var(--font-display); font-size: var(--text-lg); white-space: nowrap; }
.pc-step { min-width: 0; margin: var(--space-xl) 0 0; padding: 0; border: 0; }
.pc-step + .pc-step { padding-top: var(--space-xl); border-top: 1px solid var(--color-rule); }
.pc-card:not(.is-enhanced) .pc-step--branches { display: none; }
.pc-card.is-enhanced .pc-step { margin-top: var(--space-lg); padding-top: 0; border-top: 0; }
.pc-card.is-enhanced .pc-step:not(.is-active) { display: none; }
.pc-branch { min-width: 0; margin: 0; padding: 0; border: 0; }
.pc-step-title { float: left; width: 100%; padding: 0; font-family: var(--font-display); font-size: var(--text-title); font-weight: 700; line-height: 1.25; text-wrap: balance; }
.pc-step-hint { clear: both; margin-top: var(--space-2xs); color: var(--color-ink-2); }
.pc-group { clear: both; min-width: 0; margin: var(--space-lg) 0 0; padding: 0; border: 0; }
.pc-group-label { margin-bottom: var(--space-sm); padding: 0; font-weight: 600; }
.pc-paths, .pc-goals, .pc-checks, .pc-fields, .pc-options { display: grid; gap: var(--space-sm); }
.pc-paths { margin-top: var(--space-lg); }
.pc-path input, .pc-goal input, .pc-check input, .pc-option input, .pc-chip input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.pc-path, .pc-goal, .pc-option { position: relative; display: grid; gap: var(--space-sm); align-items: start; padding: var(--space-md); border: 1px solid var(--color-rule-2); border-radius: var(--radius-card); background: var(--color-paper); cursor: pointer; transition: border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out); }
.pc-path, .pc-goal { grid-template-columns: 24px minmax(0, 1fr) 22px; }
.pc-option { grid-template-columns: 20px minmax(0, 1fr); align-items: center; min-height: 52px; padding-block: var(--space-sm); }
.pc-path:hover, .pc-goal:hover, .pc-option:hover, .pc-chip:hover { border-color: var(--color-ink-2); }
.pc-path:active, .pc-goal:active, .pc-option:active, .pc-chip:active, .pc-check:active { transform: translateY(1px); }
.pc-path:has(input:checked), .pc-goal:has(input:checked), .pc-option:has(input:checked) { border-color: var(--color-ink); box-shadow: inset 0 0 0 1px var(--color-ink); }
.pc-path:has(input:focus-visible), .pc-goal:has(input:focus-visible), .pc-check:has(input:focus-visible), .pc-option:has(input:focus-visible), .pc-chip:has(input:focus-visible) { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.pc-path:has(input:disabled), .pc-goal:has(input:disabled), .pc-option:has(input:disabled), .pc-chip:has(input:disabled), .pc-check:has(input:disabled) { opacity: 0.55; cursor: not-allowed; }
.pc-path-icon svg, .pc-goal-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; color: var(--color-ink-2); }
.pc-path-text, .pc-goal-text, .pc-option-text { display: grid; gap: var(--space-3xs); min-width: 0; }
.pc-path-title, .pc-goal-title, .pc-option-title { font-weight: 600; line-height: 1.35; }
.pc-path-desc, .pc-goal-desc, .pc-option-desc { color: var(--color-muted); font-size: var(--text-sm); line-height: 1.45; }
.pc-option-flag { display: block; color: var(--color-link); font-size: var(--text-sm); font-weight: 600; }
.pc-path-mark, .pc-goal-check, .pc-check-box { display: grid; place-items: center; flex-shrink: 0; width: 22px; height: 22px; border: 1px solid var(--color-muted); background: var(--color-paper); transition: background-color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out); }
.pc-path-mark, .pc-goal-check { border-radius: 50%; }
.pc-check-box { border-radius: 3px; }
.pc-path-mark .icon, .pc-goal-check .icon, .pc-check-box .icon { width: 14px; height: 14px; stroke-width: 3; color: var(--color-paper); opacity: 0; }
.pc-path:has(input:checked) .pc-path-mark, .pc-goal:has(input:checked) .pc-goal-check, .pc-check:has(input:checked) .pc-check-box { border-color: var(--color-ink); background: var(--color-ink); }
.pc-path:has(input:checked) .pc-path-mark .icon, .pc-goal:has(input:checked) .pc-goal-check .icon, .pc-check:has(input:checked) .pc-check-box .icon { opacity: 1; }
.pc-check { position: relative; display: flex; align-items: center; gap: var(--space-sm); min-height: 44px; cursor: pointer; }
.pc-option-dot { width: 20px; height: 20px; border: 1px solid var(--color-muted); border-radius: 50%; background: var(--color-paper); transition: box-shadow var(--dur-micro) var(--ease-out); }
.pc-option:has(input:checked) .pc-option-dot { border-color: var(--color-ink); box-shadow: inset 0 0 0 5px var(--color-ink); }
.pc-chips { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.pc-chip { position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--space-md); border: 1px solid var(--color-rule-2); border-radius: var(--radius-pill); background: var(--color-paper); font-size: var(--text-sm); font-weight: 600; cursor: pointer; transition: background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out); }
.pc-chip:has(input:checked) { border-color: var(--color-ink); background: var(--color-ink); color: var(--color-paper); }
.pc-website, .pc-text { max-width: 29rem; margin-top: var(--space-lg); }
.pc-text { clear: both; }
.pc-fields { margin-top: var(--space-lg); }
.pc-message { margin-top: var(--space-md); }
.pc-legal { display: flex; align-items: flex-start; gap: var(--space-xs); margin-top: var(--space-md); color: var(--color-muted); font-size: var(--text-sm); }
.pc-legal .icon { width: 16px; height: 16px; margin-top: 0.2em; }
.pc-error { margin: var(--space-md) 0 0; padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-error); border-radius: var(--radius-card); color: var(--color-error); font-size: var(--text-sm); font-weight: 600; }
.pc-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-md) var(--space-lg); margin-top: var(--space-xl); padding-top: var(--space-lg); border-top: 1px solid var(--color-rule); }
.pc-nav-buttons { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.pc-nav .btn .icon { width: 18px; height: 18px; }
.pc-back .icon { transform: rotate(180deg); }
.pc-alt { color: var(--color-ink-2); font-size: var(--text-sm); }
.pc-alt a, .pc-person-phone { display: inline-flex; align-items: center; gap: var(--space-2xs); font-weight: 600; white-space: nowrap; }
.pc-alt-phone .icon, .pc-person-phone .icon { width: 16px; height: 16px; }

.pc-aside { position: sticky; top: calc(var(--nav-h) + var(--space-lg)); display: flex; flex-direction: column; gap: var(--space-md); align-self: start; min-width: 0; padding: var(--space-lg); border-radius: var(--radius-card); background: var(--color-paper-2); }
.pc-kicker { font-family: var(--font-display); font-size: var(--text-title); font-weight: 700; line-height: 1.2; }
.pc-empty { display: grid; gap: var(--space-2xs); }
.pc-empty-title { font-weight: 600; }
.pc-empty p:not(.pc-empty-title) { color: var(--color-ink-2); font-size: var(--text-sm); }
.no-js .pc-empty { display: none; }
.pc-prices-label { color: var(--color-muted); font-size: var(--text-sm); }
.pc-overview ul { margin: var(--space-xs) 0 0; padding: 0; list-style: none; }
.pc-price { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--space-md); align-items: baseline; padding-block: var(--space-sm); border-top: 1px solid var(--color-rule-2); }
.pc-price-name { font-size: var(--text-sm); font-weight: 600; }
.pc-price-value { font-family: var(--font-display); font-size: var(--text-lg); font-weight: 600; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; text-align: end; }
.pc-price-sub { grid-column: 1 / -1; color: var(--color-muted); font-size: var(--text-xs); }
.pc-offer { display: grid; gap: var(--space-sm); padding-top: var(--space-md); border-top: 2px solid var(--color-ink); }
.pc-offer-kicker { color: var(--color-muted); font-size: var(--text-sm); }
.pc-offer-title { font-family: var(--font-display); font-size: var(--text-title); font-weight: 700; line-height: 1.2; }
.pc-offer-price { display: grid; gap: var(--space-3xs); padding-bottom: var(--space-sm); border-bottom: 1px solid var(--color-rule-2); }
.pc-offer-price strong { justify-self: start; font-family: var(--font-display); font-size: var(--text-3xl); font-weight: 700; line-height: 1.05; font-variant-numeric: tabular-nums lining-nums; }
.pc-offer-price span { color: var(--color-ink-2); font-size: var(--text-sm); }
.pc-needs { font-family: var(--font-display); font-weight: 600; line-height: 1.35; }
.pc-offer-items { display: grid; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
.pc-offer-items li { display: flex; align-items: flex-start; gap: var(--space-xs); color: var(--color-ink-2); font-size: var(--text-sm); }
.pc-offer-items .icon { width: 18px; height: 18px; margin-top: 0.15em; color: var(--color-ink); }
.pc-offer-link { display: inline-flex; align-items: center; gap: var(--space-2xs); font-size: var(--text-sm); font-weight: 600; }
.pc-offer-link .icon { width: 16px; height: 16px; }
.pc-answers { padding-top: var(--space-md); border-top: 1px solid var(--color-rule-2); }
.pc-answers-title { font-size: var(--text-sm); font-weight: 600; }
.pc-answers dl { margin: var(--space-2xs) 0 0; }
.pc-answers dl > div { display: grid; padding-block: var(--space-xs); border-bottom: 1px solid var(--color-rule); }
.pc-answers dt { color: var(--color-muted); font-size: var(--text-xs); }
.pc-answers dd { margin: 0; font-size: var(--text-sm); font-weight: 600; overflow-wrap: anywhere; }
.pc-note { padding-top: var(--space-sm); border-top: 1px solid var(--color-rule-2); font-size: var(--text-sm); }
.pc-footnote { color: var(--color-muted); font-size: var(--text-xs); }
.pc-person { display: flex; align-items: center; gap: var(--space-sm); padding-top: var(--space-md); border-top: 1px solid var(--color-rule-2); }
.pc-person img { flex-shrink: 0; width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.pc-person p { color: var(--color-ink-2); font-size: var(--text-sm); }
.pc-person strong { color: var(--color-ink); }
.pc-person-phone { color: var(--color-ink); text-decoration: none; }
.pc-person-phone:hover { color: var(--color-link); }
@media (prefers-reduced-motion: no-preference) {
  .pc-offer, .pc-answers { animation: pc-in var(--dur-long) var(--ease-out); }
  .pc-offer-price strong.is-updated { animation: pc-flash 900ms var(--ease-out); }
}
@keyframes pc-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes pc-flash { from { opacity: 0.35; } to { opacity: 1; } }

@media (min-width: 40rem) {
  .pc-paths, .pc-goals, .pc-checks, .pc-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc-path--compact { grid-column: 1 / -1; }
}
@media (max-width: 64rem) {
  .pc-card { grid-template-columns: minmax(0, 1fr); }
  .pc-aside { position: static; }
  .work a { grid-template-columns: 128px minmax(0, 1fr) 20px; row-gap: var(--space-2xs); }
  .work-logo { grid-row: 1 / span 3; height: 72px; }
  .work-row--lead .work-logo { height: 112px; }
  .work-row--lead .work-logo img { max-height: 104px; }
  .work-name, .work-summary, .work-kind { grid-column: 2; }
  .work-icon { grid-column: 3; grid-row: 1 / span 3; }
}
@media (min-width: 64.001rem) { .pc-mobile-offer { display: none !important; } }
@media (max-width: 60rem) {
  .ledger a { grid-template-columns: minmax(0, 1fr) 20px; row-gap: var(--space-2xs); }
  .ledger-symptom, .ledger-service, .ledger-price { grid-column: 1; text-align: start; }
  .ledger-icon { grid-column: 2; grid-row: 1 / span 3; }
  .offer { padding: var(--space-xl); }
  .offer-figure, .offer-body { grid-column: 1 / -1; }
  .a11y-main, .a11y-check, .agency-body .lead, .agency-terms, .agency-cta, .faq-head, .faq-list, .enquiry-copy { grid-column: 1 / -1; }
  .agency-terms { grid-row: auto; }
  .faq-head { position: static; }
  .portrait { grid-column: 1 / span 8; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .offer { padding: var(--space-lg); }
  .offer-list { grid-template-columns: minmax(0, 1fr); }
  .work a { grid-template-columns: 88px minmax(0, 1fr) 20px; }
  .work-logo, .work-row--lead .work-logo { height: 64px; }
  .work-logo img, .work-row--lead .work-logo img { max-height: 60px; }
  .portrait { grid-column: 1 / -1; }
  .quote p { font-size: var(--text-xl); text-indent: 0; }
  .footer-grid { grid-template-columns: minmax(0, 1fr); }
}
.pc-step-title.visually-hidden { float: none; width: 1px; }
@media (max-width: 40rem) {
  .pc-price { grid-template-columns: minmax(0, 1fr); }
  .pc-price-value { text-align: start; white-space: normal; }
  .work-row--lead a { min-height: 0; }
  .work-row--lead .work-name { font-size: var(--text-title); }
  .work-row--lead .work-summary { font-size: var(--text-md); color: var(--color-ink-2); }
}

.hero { --hero-cell: 60px; position: relative; overflow: clip; border-bottom: 0; background-color: var(--color-field); background-image: linear-gradient(var(--color-field-grid) 1px, transparent 1px), linear-gradient(90deg, var(--color-field-grid) 1px, transparent 1px); background-size: var(--hero-cell) var(--hero-cell); background-position: -1px -1px; color: var(--color-field-ink); }
.hero > .container { position: relative; z-index: 1; }
.hero h1.scan-title { position: relative; padding-bottom: 0.14em; margin-bottom: -0.14em; color: var(--color-field-ink); }
.hero-lead { color: var(--color-field-muted); }
.hero-routes-label { color: var(--color-field-muted); }
.hero .routes { border-bottom-color: var(--color-field-rule); }
.hero-routes-wrap { container-type: inline-size; }
.hero .routes a { position: relative; isolation: isolate; grid-template-columns: 24px minmax(0, 1fr) auto 20px; align-items: baseline; column-gap: var(--space-md); border-top-color: var(--color-field-rule); color: var(--color-field-ink); }
.hero .route-sym, .hero .route-icon { align-self: center; }
.hero .routes a::before { content: ""; position: absolute; inset-block: 0; inset-inline: calc(-1 * var(--space-sm)); z-index: -1; background: var(--color-field-2); opacity: 0; transition: opacity var(--dur-short) var(--ease-out); }
.hero .routes a:hover { color: var(--color-field-ink); }
.hero .routes a:hover::before { opacity: 1; }
.hero .routes a:hover .route-title { color: var(--color-field-ink); }
.route-sym { width: 24px; height: 24px; stroke-width: 1.75; color: var(--color-accent); }
.hero .route-fact { color: var(--color-accent-on-field); }
.hero .route-icon { color: var(--color-field-muted); }

@media (prefers-reduced-motion: no-preference) {
  .hero-line, .hero-foot { animation: none; }
  .hero-lead { animation: settle 0.6s var(--ease-out) 0.4s both; }
  .hero-routes-label { animation: settle 0.6s var(--ease-out) 0.45s both; }
  .hero .routes li { animation: settle 0.5s var(--ease-out) both; }
  .hero .routes li:nth-child(1) { animation-delay: 0.5s; } .hero .routes li:nth-child(2) { animation-delay: 0.56s; } .hero .routes li:nth-child(3) { animation-delay: 0.62s; } .hero .routes li:nth-child(4) { animation-delay: 0.68s; }
}

.ledger a { grid-template-columns: 24px minmax(0, 5.2fr) minmax(0, 2.4fr) minmax(0, 4.2fr) 20px; }
.ledger-sym { width: 24px; height: 24px; stroke-width: 1.75; color: var(--color-icon); }
.ledger-row--urgent .ledger-sym { color: var(--color-urgent); }
.ledger-service { color: var(--color-link); }
.offer { background: var(--color-field); color: var(--color-field-ink); }
.offer-price { color: var(--color-accent); }
.offer-lead, .offer-list dd { color: var(--color-field-muted); }
.offer-lead strong, .offer-list dt { color: var(--color-field-ink); }
.offer-list > div { border-top-color: var(--color-field-rule); }
.offer-call { color: var(--color-field-muted); }
.work-kind { justify-self: start; padding: var(--space-2xs) var(--space-sm); border-radius: var(--radius-pill); background: var(--color-signal-soft); color: var(--color-signal-ink); font-weight: 600; line-height: 1.4; }
.work-icon { color: var(--color-icon); }
.a11y-check { border-top-color: var(--color-accent); }
.a11y-section { padding-bottom: var(--section-gap); }
.agency-section { padding-block: var(--section-gap-s); }
.agency { padding-top: 0; border-top: 0; }
.statement-sym { display: block; width: 40px; height: 40px; margin-bottom: var(--space-lg); stroke-width: 1.5; color: var(--color-accent); }
.agency-body .lead { color: var(--color-field-muted); }
.agency-body .lead strong { color: var(--color-field-ink); }
.agency-terms li { border-bottom-color: var(--color-field-rule); }
.agency-terms .icon { color: var(--color-accent); }
.enquiry-contact { grid-column: 8 / -1; display: grid; gap: var(--space-lg); align-content: end; }
.enquiry-contact .quote { margin: 0; padding-top: var(--space-lg); border-top: 3px solid var(--color-accent); }
.enquiry-contact .quote p { max-width: 28ch; text-indent: 0; }
.contact-lines { display: grid; gap: var(--space-sm); margin: 0; padding: 0; list-style: none; }
.contact-lines li { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: var(--space-sm); align-items: center; }
.contact-lines .icon { width: 22px; height: 22px; color: var(--color-icon); }
.contact-lines a { font-weight: 600; }
.contact-lines .contact-phone { display: grid; grid-template-columns: minmax(0, 1fr); color: var(--color-ink); }
.addr-line { display: grid; grid-template-columns: 18px minmax(0, 1fr); column-gap: var(--space-xs); align-items: start; margin-bottom: var(--space-xs); }
.addr-line .icon { width: 16px; height: 16px; margin-top: 0.3em; color: var(--color-accent); }
.pc-progress li[aria-current="step"] { border-top-color: var(--color-accent); }
.pc-path:has(input:checked), .pc-goal:has(input:checked), .pc-option:has(input:checked) { border-color: var(--color-icon); box-shadow: inset 0 0 0 1px var(--color-icon); }
.pc-path:has(input:checked) .pc-path-mark, .pc-goal:has(input:checked) .pc-goal-check, .pc-check:has(input:checked) .pc-check-box { border-color: var(--color-icon); background: var(--color-icon); }
.pc-path-icon svg, .pc-goal-icon svg { color: var(--color-icon); }
.pc-offer { border-top-color: var(--color-accent); }

@container (min-width: 39rem) {
  .hero .routes a { grid-template-columns: 24px minmax(0, 1fr) auto 20px; align-content: center; row-gap: 0; }
  .hero .route-sym, .hero .route-title, .hero .route-fact, .hero .route-icon { grid-column: auto; grid-row: auto; }
  .hero .route-title { white-space: nowrap; }
  .hero .route-fact { text-align: end; font-size: var(--text-lg); }
}
@container (max-width: 38.99rem) {
  .hero .routes a { grid-template-columns: 24px minmax(0, 1fr) 20px; align-items: center; row-gap: var(--space-3xs); }
  .hero .route-sym { grid-column: 1; grid-row: 1 / span 2; }
  .hero .route-title { grid-column: 2; grid-row: 1; white-space: normal; }
  .hero .route-fact { grid-column: 2; grid-row: 2; text-align: start; font-size: var(--text-md); }
  .hero .route-icon { grid-column: 3; grid-row: 1 / span 2; }
}
@media (max-width: 60rem) {
  .enquiry-contact { grid-column: 1 / -1; }
  .ledger a { grid-template-columns: 24px minmax(0, 1fr) 20px; }
  .ledger-sym { grid-row: 1 / span 3; align-self: start; margin-top: 0.2em; }
  .ledger-symptom, .ledger-service, .ledger-price { grid-column: 2; }
  .ledger-icon { grid-column: 3; }
}

.seo-section { padding-block: var(--section-gap) var(--section-gap-s); background: var(--color-signal-wash); border-bottom: 1px solid var(--color-rule); }
.seo-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); align-items: end; }
.seo-copy { grid-column: 1 / span 7; display: grid; gap: var(--space-md); }
.seo-copy h2 { text-wrap: balance; }
.seo-copy h2 .nowrap { display: block; }
.seo-copy .lead { max-width: 52ch; color: var(--color-ink-2); }
.seo-price { grid-column: 9 / -1; display: grid; justify-items: start; gap: var(--space-xs); }
.seo-figure { font-family: var(--font-display); font-weight: 700; font-size: clamp(4rem, 2.75rem + 4.5vw, 7.5rem); font-variant-numeric: tabular-nums lining-nums; line-height: 0.9; letter-spacing: -0.02em; white-space: nowrap; color: var(--color-signal-ink); }
.seo-price-note { color: var(--color-ink-2); font-size: var(--text-sm); }
.seo-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm) var(--space-lg); margin-top: var(--space-md); }
.seo-more { display: inline-flex; align-items: center; gap: var(--space-2xs); min-height: 44px; font-weight: 600; }

.seo-checks { grid-column: 1 / span 7; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--gap-columns); align-self: start; margin-top: var(--space-3xl); padding-top: var(--space-lg); border-top: 2px solid var(--color-ink); }
.seo-col { display: grid; align-content: start; gap: var(--space-xs); }
.seo-col h3, .seo-get h3 { font-size: var(--text-xl); }
.seo-col .sym-head__icon { color: var(--color-signal-ink); }
.seo-col .checks li { border-bottom-color: var(--color-rule); }
.seo-get { grid-column: 9 / -1; align-self: start; display: grid; gap: var(--space-sm); margin-top: var(--space-3xl); padding-top: var(--space-lg); border-top: 2px solid var(--color-ink); }
.seo-get-list { margin: 0; padding: 0; list-style: none; counter-reset: get; }
.seo-get-list li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); align-items: baseline; padding-block: var(--space-sm); border-bottom: 1px solid var(--color-rule); counter-increment: get; }
.seo-get-list li::before { content: counter(get); font-family: var(--font-display); font-weight: 700; font-size: var(--text-lg); font-variant-numeric: tabular-nums; color: var(--color-signal-ink); }
.seo-note { grid-column: 1 / span 7; margin-top: var(--space-xl); max-width: 72ch; color: var(--color-muted); font-size: var(--text-sm); }
@media (max-width: 60rem) {
  .seo-copy, .seo-price, .seo-checks, .seo-get, .seo-note { grid-column: 1 / -1; }
  .seo-price { margin-top: var(--space-xl); }
  .seo-checks { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-xl); margin-top: var(--space-2xl); }
  .seo-get { margin-top: var(--space-2xl); }
}

.hero .routes a { --row-fill: var(--color-field-2); }
.ledger a { --row-fill: var(--color-signal-soft); }
.hero .routes a::before, .ledger a::before { background: var(--row-fill); transform-origin: right center; transition: opacity var(--dur-micro) var(--ease-out); }
.ledger a:focus-visible::before, .hero .routes a:focus-visible::before { opacity: 1; }
.work a::before { display: none; }
.work a::after { content: ""; position: absolute; inset-inline: 0; top: -1px; height: 2px; background: var(--color-link); opacity: 0; transform-origin: right center; transition: opacity var(--dur-micro) var(--ease-out); pointer-events: none; }
.work a:focus-visible::after { opacity: 1; }
.work-name { transition: color var(--dur-short) var(--ease-out); }
.work a:focus-visible .work-name { color: var(--color-link); }
.seo-more .icon, .pc-offer-link .icon { transition: transform var(--dur-short) var(--ease-out); }
.seo-more:hover, .pc-offer-link:hover { text-decoration-thickness: 1px; }
@media (hover: hover) {
  .ledger a:hover::before, .hero .routes a:hover::before { opacity: 1; }
  .work a:hover::after { opacity: 1; }
  .work a:hover .work-name { color: var(--color-link); }
}
@media (prefers-reduced-motion: no-preference) {
  .hero .routes a::before, .ledger a::before, .work a::after { opacity: 1; transform: scaleX(0); transition: transform 160ms var(--ease-in); }
  .hero .routes a:focus-visible::before, .ledger a:focus-visible::before { transform: none; transform-origin: left center; transition: transform 260ms var(--ease-out); }
  .work a:focus-visible::after { transform: none; transform-origin: left center; transition: transform var(--dur-long) var(--ease-out); }
  .seo-more:focus-visible .icon, .pc-offer-link:focus-visible .icon { transform: translateX(3px); }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .hero .routes a:hover::before, .ledger a:hover::before { transform: none; transform-origin: left center; transition: transform 260ms var(--ease-out); }
  .work a:hover::after { transform: none; transform-origin: left center; transition: transform var(--dur-long) var(--ease-out); }
  .seo-more:hover .icon, .pc-offer-link:hover .icon { transform: translateX(3px); }
}

:lang(en) .hero h1.scan-title { font-size: clamp(2.25rem, 5.6vw, 5.5rem); }

.prices-section { padding-bottom: var(--section-gap-s); }
.prices-section .ledger a { grid-template-columns: 24px minmax(0, 3.6fr) minmax(0, 4.4fr) minmax(0, 3.8fr) 20px; min-height: 80px; }
.prices-section .ledger-service { color: var(--color-ink); font-family: var(--font-display); font-size: var(--text-lg); line-height: 1.3; }
.prices-section .ledger a:hover .ledger-service { color: var(--color-link); }
.prices-section .ledger-symptom { color: var(--color-ink-2); font-size: var(--text-md); }
@media (max-width: 60rem) {
  .prices-section .ledger a { grid-template-columns: 24px minmax(0, 1fr) 20px; }
}

.value-section { padding-block: var(--section-gap-s) 0; }
.value { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-lg); align-items: start; }
.value-title { grid-column: 1 / span 5; max-width: 16ch; font-size: var(--text-display-s); line-height: 1.04; }
.value-body { grid-column: 7 / -1; display: grid; gap: var(--space-lg); }
.value-body .lead { max-width: 58ch; }
.value-facts { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-xl); margin: 0; padding: 0; list-style: none; font-weight: 600; }
.value-facts li { display: flex; align-items: center; gap: var(--space-xs); }
.value-facts .icon { color: var(--color-signal-ink); }
@media (max-width: 60rem) {
  .value-title, .value-body { grid-column: 1 / -1; }
}

.seo-next { margin-top: var(--space-xs); color: var(--color-ink-2); font-size: var(--text-sm); }
.seo-next a { font-weight: 600; white-space: nowrap; }
