

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background-color: var(--surface);
  color: var(--ink);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: var(--step-body);
  line-height: var(--lh-body);
  overflow-wrap: anywhere;
}
img, svg, video { max-width: 100%; }

:root {

  --sticky-bar-h: 56px;
  --c-bg: var(--surface);
  --c-ink: var(--ink);
  --c-muted: var(--muted);
  --c-line: var(--border);
  --c-link: var(--brand);
  --c-underline: var(--brand);
  --c-icon: var(--brand);
  --c-error: var(--error);
  --c-focus: var(--focus);
}
.ground-light  { --c-bg: var(--surface);     --c-ink: var(--ink); --c-muted: var(--muted);
                 --c-line: var(--border); --c-link: var(--brand); --c-underline: var(--brand);
                 --c-icon: var(--brand); --c-error: var(--error); --c-focus: var(--focus);
                 background-color: var(--surface); color: var(--ink); }
.ground-alt    { --c-bg: var(--surface-alt); --c-ink: var(--ink); --c-muted: var(--muted);
                 --c-line: var(--border); --c-link: var(--brand); --c-underline: var(--brand);
                 --c-icon: var(--brand); --c-error: var(--error); --c-focus: var(--focus);
                 background-color: var(--surface-alt); color: var(--ink); }
.ground-brand  { --c-bg: var(--brand);       --c-ink: var(--on-deep); --c-muted: var(--on-deep-muted);
                 --c-line: var(--on-deep-muted); --c-link: var(--on-deep); --c-underline: var(--on-deep-muted);
                 --c-icon: var(--on-deep); --c-error: var(--error-inverse); --c-focus: var(--on-deep);
                 background-color: var(--brand); color: var(--on-deep); }
.ground-deep   { --c-bg: var(--brand-deep);  --c-ink: var(--on-deep); --c-muted: var(--on-deep-muted);
                 --c-line: var(--on-deep-muted); --c-link: var(--on-deep); --c-underline: var(--on-deep-muted);
                 --c-icon: var(--on-deep); --c-error: var(--error-inverse); --c-focus: var(--on-deep);
                 background-color: var(--brand-deep); color: var(--on-deep); }
.ground-accent { --c-bg: var(--accent);      --c-ink: var(--on-accent); --c-muted: var(--on-accent);
                 --c-line: var(--accent-hover); --c-link: var(--on-accent); --c-underline: var(--on-accent);
                 --c-icon: var(--brand); --c-error: var(--error); --c-focus: var(--focus);
                 background-color: var(--accent); color: var(--on-accent); }

.surface-scrim { --c-bg: var(--scrim); background-color: var(--scrim); color: var(--c-ink); }

.field.is-invalid, .choice.is-invalid { --c-bg: var(--error-surface); background-color: var(--error-surface); }
.ground-brand .field.is-invalid, .ground-brand .choice.is-invalid,
.ground-deep  .field.is-invalid, .ground-deep  .choice.is-invalid { background-color: transparent; }

.ground-brand .btn-secondary,
.ground-deep  .btn-secondary  { color: var(--on-deep); border-color: var(--on-deep-muted); }
.ground-brand .btn-tertiary,
.ground-deep  .btn-tertiary   { color: var(--on-deep); text-decoration-color: var(--on-deep-muted); }
.ground-brand .link,
.ground-deep  .link           { color: var(--on-deep); text-decoration-color: var(--on-deep-muted); }
.ground-brand .h,
.ground-deep  .h              { color: var(--on-deep); }
.ground-brand .body,
.ground-deep  .body           { color: var(--on-deep); }
.ground-brand .muted,
.ground-deep  .muted          { color: var(--on-deep-muted); }

.ground-brand .disclosure-note,
.ground-deep  .disclosure-note { color: var(--on-deep-muted); }
.ground-brand .card,
.ground-deep  .card           { border-color: var(--on-deep-muted); }
.ground-brand .card-title, .ground-brand .card-body,
.ground-deep  .card-title, .ground-deep  .card-body { color: var(--on-deep); }
.ground-brand .badge,
.ground-deep  .badge          { border-color: var(--on-deep-muted); color: var(--on-deep); }
.ground-brand .divider,
.ground-deep  .divider        { border-top-color: var(--on-deep-muted); }
.ground-brand .icon,
.ground-deep  .icon           { color: var(--on-deep); }
.ground-brand .field-control,
.ground-deep  .field-control  { border-color: var(--on-deep-muted); color: var(--on-deep); }
.ground-brand .field-label, .ground-deep .field-label,
.ground-brand .choice-label, .ground-deep .choice-label { color: var(--on-deep); }
.ground-brand .field-control::placeholder,
.ground-deep  .field-control::placeholder { color: var(--on-deep-muted); opacity: 1; }
.ground-brand .field-error,
.ground-deep  .field-error    { color: var(--error-inverse); }
.ground-brand .choice-control,
.ground-deep  .choice-control { accent-color: var(--on-deep); border-color: var(--on-deep-muted); }
.ground-brand :focus-visible,
.ground-deep  :focus-visible  { outline-color: var(--on-deep); }

.ground-accent .icon, .btn-primary .icon { color: var(--brand); }
.ground-brand .accordion-summary,
.ground-deep  .accordion-summary { color: var(--on-deep); border-bottom-color: var(--on-deep-muted); }
.ground-brand .nav-link, .ground-deep .nav-link,
.ground-brand .footer-link, .ground-deep .footer-link,
.ground-brand .nap-link, .ground-deep .nap-link,
.ground-brand .channel-link, .ground-deep .channel-link { color: var(--on-deep); }

.section { padding-block: var(--section-pad-desktop); }

.stack.stack > * + * { margin-block-start: var(--s3); }
.prose { max-width: var(--measure-body); }
.grid { display: grid; gap: var(--s4); }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1024px) { .grid-3, .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 768px)  {
  .section { padding-block: var(--section-pad-mobile); }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: minmax(0, 1fr); }
}

.h { font-family: var(--font-display); font-weight: 600; color: var(--c-ink);
     line-height: var(--lh-display); margin-block: 0; }
.h-display { font-size: var(--step-display); }
.h2 { font-size: var(--step-h2); }
.h3 { font-size: var(--step-h3); }
.h4, .h5, .h6 { font-size: var(--step-body); }
.body { font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
        line-height: var(--lh-body); color: var(--c-ink); max-width: var(--measure-body); margin-block: 0; }
.muted { font-family: var(--font-body); font-weight: 500; font-size: var(--step-small);
         line-height: var(--lh-body); color: var(--c-muted); margin-block: 0; }
.positioning { font-family: var(--font-body); font-weight: 500; font-size: var(--step-h3);
               line-height: var(--lh-body); color: var(--c-ink); max-width: var(--measure-body); margin-block: 0; }

.price-figure { margin-block: 0; }
.price-figure-value { font-family: var(--font-display); font-weight: 600; font-size: var(--step-price);
                      line-height: var(--lh-display); color: var(--accent); display: block; }
.price-figure-qualifier { font-family: var(--font-body); font-size: var(--step-small);
                          color: var(--c-muted); display: block; margin-block-start: var(--s1); }
.hero-anchor, .tile-price, .quote-window, .promise { font-family: var(--font-body); font-weight: 500;
  font-size: var(--step-body); line-height: var(--lh-body); color: var(--c-ink); margin-block: 0; }
.tile-price-figure, .review-score { font-weight: 600; color: var(--c-ink); }

.hero-anchor-figure { font-weight: 600; color: var(--c-ink); font-size: var(--step-price);
  line-height: var(--lh-display); }
.hero-anchor-window, .quote-window-value, .promise-window, .step-window { font-weight: 600; color: var(--c-ink); }
.guarantee-duration { font-family: var(--font-display); font-weight: 600; font-size: var(--step-h3);
                      color: var(--c-ink); margin-block: 0; }

.guarantee-remedy { font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
  line-height: var(--lh-body); color: var(--c-ink); max-width: var(--measure-body); margin-block: 0; }
.guarantee-exclusion { font-family: var(--font-body); font-weight: 500; font-size: var(--step-small);
  line-height: var(--lh-body); color: var(--c-muted); max-width: var(--measure-body); margin-block: 0; }

.disclosure-note { font-family: var(--font-body); font-weight: 500; font-size: var(--step-small);
  line-height: var(--lh-body); color: var(--c-muted); max-width: var(--measure-body); margin-block: 0; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--s1);
       min-height: 48px; min-width: 48px; padding-block: 12px; padding-inline: var(--s3);
       border-radius: var(--radius-control); border: 2px solid transparent;
       font-family: var(--font-body); font-weight: 600; font-size: var(--step-body);
       line-height: 1.2; text-decoration: none; cursor: pointer; box-shadow: var(--shadow-rest);
       transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease; }
.btn-primary  { background-color: var(--accent); border-color: var(--accent-hover); color: var(--on-accent); }
.btn-secondary { background-color: transparent; border-color: var(--c-line); color: var(--c-ink); }
.btn-tertiary { background-color: transparent; border-color: transparent; color: var(--c-link);
                text-decoration: underline; text-decoration-color: var(--c-underline);
                text-underline-offset: 3px; padding-inline: var(--s1); }
.btn-primary:hover  { background-color: var(--accent-hover); box-shadow: var(--shadow-interaction); }
.btn-secondary:hover { border-color: var(--c-ink); box-shadow: var(--shadow-interaction); }
.btn-tertiary:hover { text-decoration-thickness: 2px; }
.btn:active { box-shadow: none; }
.btn[disabled], .btn[aria-disabled="true"] { cursor: not-allowed; opacity: 1;
  background-color: transparent; border-color: var(--c-line); color: var(--c-muted); }

.btn-primary[disabled], .btn-primary[aria-disabled="true"] {
  --c-ink: inherit; --c-muted: inherit; --c-line: inherit; --c-icon: inherit; --c-focus: inherit; }
.btn-label { display: inline-block; }
.link { color: var(--c-link); text-decoration: underline; text-decoration-color: var(--c-underline);
        text-underline-offset: 3px; font-weight: 500; }

:where(div, li, dd, dt, footer, section, form, nav) > .link {
  display: inline-flex; align-items: center; min-block-size: 48px; min-inline-size: 48px; }
.link:hover { text-decoration-thickness: 2px; }
.icon { color: var(--c-icon); flex: none; }

:focus-visible { outline: 3px solid var(--c-focus); outline-offset: 2px; transition: none; }

.card { display: block; background-color: transparent; border: 1px solid var(--c-line);
        border-radius: var(--radius-card); padding-block: var(--s3); padding-inline: var(--s3);
        box-shadow: var(--shadow-rest); transition: box-shadow 150ms ease, border-color 150ms ease;
        text-decoration: none; color: inherit; }
.card-linked { min-height: 48px; }
.card-linked:hover { box-shadow: var(--shadow-interaction); border-color: var(--c-ink); }
.card-text.card-text > * + * { margin-block-start: var(--s2); }
.card-eyebrow { font-family: var(--font-body); font-size: var(--step-small); color: var(--c-muted); margin-block: 0; }
.card-title { font-family: var(--font-display); font-weight: 600; font-size: var(--step-h3);
              color: var(--c-ink); line-height: var(--lh-display); margin-block: 0; }
.card-body { font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
             line-height: var(--lh-body); color: var(--c-ink); margin-block: 0; }
.badge { display: inline-flex; align-items: center; gap: var(--s1); min-height: 32px;
         padding-block: 4px; padding-inline: var(--s2); border: 1px solid var(--c-line);
         border-radius: var(--radius-control); }
.badge-text { font-family: var(--font-body); font-weight: 500; font-size: var(--step-small); color: var(--c-ink); }
.divider { border: 0; border-top: 1px solid var(--c-line); margin-block: var(--s4); }

.field, .choice { display: block; }
.field.field > * + *, .choice.choice > * + * { margin-block-start: var(--s1); }
.field-label, .choice-label { display: block; font-family: var(--font-body); font-weight: 600;
  font-size: var(--step-body); line-height: var(--lh-body); color: var(--c-ink); }
.field-optional { font-weight: 500; font-size: var(--step-small); color: var(--c-muted); margin-inline-start: var(--s1); }

.field-required { font-weight: 700; margin-inline-start: 0.15em; }
.form-required-legend { margin-block-end: var(--s2); }
.field-hint, .choice-hint { font-family: var(--font-body); font-size: var(--step-small);
  color: var(--c-muted); margin-block: 0; }
.field-control { display: block; width: 100%; min-height: 48px; padding-block: 12px;
  padding-inline: var(--s2); border: 1px solid var(--c-line); border-radius: var(--radius-control);
  background-color: transparent; color: var(--c-ink); font-family: var(--font-body);
  font-weight: 500; font-size: var(--step-body); line-height: var(--lh-body); }
.field-control::placeholder { color: var(--c-muted); opacity: 1; }
.field-control:hover { border-color: var(--c-ink); }
.field-control[disabled] { color: var(--c-muted); border-color: var(--c-line); cursor: not-allowed; }
.field-control[aria-invalid="true"] { border-color: var(--c-error); border-width: 2px; }
.field-control-area { min-height: 120px; resize: vertical; }
.field-error { font-family: var(--font-body); font-weight: 600; font-size: var(--step-small);
  color: var(--c-error); margin-block: 0; }
.choice { display: grid; }
.choice-label { display: flex; align-items: center; gap: var(--s2); min-height: 48px; cursor: pointer; }
.choice-control { inline-size: 24px; block-size: 24px; flex: none; accent-color: var(--c-link);
  font-size: var(--step-body); }
.choice-text { font-family: var(--font-body); font-weight: 600; font-size: var(--step-body);
  line-height: var(--lh-body); color: var(--c-ink); }
.choice-hint, .choice .field-error { margin-inline-start: calc(24px + var(--s2)); }
.honeypot { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap; }
.live-region { font-family: var(--font-body); font-size: var(--step-body); color: var(--c-ink);
  margin-block: 0; min-height: 0; }
.inline-form, .enquiry-form, .quote-flow { display: grid; gap: var(--s3); max-width: var(--measure-body); }
.quote-step { border: 1px solid var(--c-line); border-radius: var(--radius-card);
  padding-block: var(--s3); padding-inline: var(--s3); display: grid; gap: var(--s2); }
.quote-legend { font-family: var(--font-display); font-weight: 600; font-size: var(--step-h3); color: var(--c-ink); }
.quote-result { min-height: 0; }

.tick-list, .plain-list, .town-list, .channel-list, .footer-links, .nav-labels,
.credential-row, .identity-facts { list-style: none; margin-block: 0; padding-inline-start: 0; }
.tick-list > li { display: flex; align-items: flex-start; gap: var(--s2);
  font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
  line-height: var(--lh-body); color: var(--c-ink); }
.tick-list > li + li, .plain-list > li + li { margin-block-start: var(--s2); }
.tick-list-lg > li { font-size: var(--step-h3); }
.tick-detail { display: block; font-size: var(--step-small); color: var(--c-muted); }
.plain-list > li, .identity-facts > li { font-family: var(--font-body); font-weight: 500;
  font-size: var(--step-body); line-height: var(--lh-body); color: var(--c-ink); }
.town-list { display: flex; flex-wrap: wrap; gap: var(--s2); }
.town { font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
  color: var(--c-ink); border: 1px solid var(--c-line); border-radius: var(--radius-control);
  padding-block: var(--s1); padding-inline: var(--s2); }
.steps { list-style: none; margin-block: 0; padding-inline-start: 0; display: grid; gap: var(--s4); }
@media (min-width: 769px) { .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.step.step > * + * { margin-block-start: var(--s1); }
.step-number { font-family: var(--font-display); font-weight: 600; font-size: var(--step-h2);
  color: var(--c-ink); display: block; line-height: 1; }
.step-title { font-family: var(--font-body); font-weight: 600; font-size: var(--step-body);
  color: var(--c-ink); margin-block: 0; }
.step-body { font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
  line-height: var(--lh-body); color: var(--c-ink); margin-block: 0; }
.quote { margin: 0; border-inline-start: 2px solid var(--c-line); padding-inline-start: var(--s3); }
.quote-text { font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
  line-height: var(--lh-body); color: var(--c-ink); margin-block: 0; }
.quote-attribution { font-family: var(--font-body); font-size: var(--step-small);
  color: var(--c-muted); margin-block-start: var(--s2); }
.figure { margin: 0; }
.figure-img { display: block; max-width: 100%; height: auto; border-radius: var(--radius-media); }
.figure-caption { font-family: var(--font-body); font-size: var(--step-small);
  color: var(--c-muted); margin-block-start: var(--s2); }
.accordion { border-top: 1px solid var(--c-line); }
.accordion-item { border-bottom: 1px solid var(--c-line); }

.accordion-item + .accordion-item { margin-block-start: var(--s1); }
.accordion-summary { display: flex; align-items: center; justify-content: space-between;
  gap: var(--s2); min-height: 48px; padding-block: var(--s2); cursor: pointer;
  font-family: var(--font-body); font-weight: 600; font-size: var(--step-body); color: var(--c-ink);
  list-style: none; }
.accordion-summary::-webkit-details-marker { display: none; }
.accordion-panel { padding-block-end: var(--s3); }
details[open] > .accordion-summary .icon { transform: rotate(180deg); }
.key-facts { display: grid; gap: var(--s2); margin-block: 0; }
.key-facts-wide { grid-template-columns: minmax(0, 1fr); }
.key-fact { display: grid; grid-template-columns: minmax(0, 14rem) minmax(0, 1fr); gap: var(--s2); }
@media (max-width: 768px) { .key-fact { grid-template-columns: minmax(0, 1fr); } }
.key-fact dt { font-family: var(--font-body); font-weight: 600; font-size: var(--step-body); color: var(--c-ink); }
.key-fact dd { font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
  color: var(--c-ink); margin-inline-start: 0; }

.hero { position: relative; overflow: hidden; padding-block: var(--section-pad-desktop);
  min-block-size: 62vh; display: flex; align-items: center; }

.hero-frame { position: absolute; inset-block: 0; inset-inline-end: 0; z-index: 0;
  inline-size: min(var(--hero-frame-max, 1024px), 71%); }
.hero-frame .figure { block-size: 100%; margin: 0; }
.hero-frame .figure-img { inline-size: 100%; block-size: 100%; object-fit: cover;
  border-radius: 0; max-width: none; }

.hero-frame .figure-caption { position: absolute; inset-block-end: var(--s2);
  inset-inline-end: var(--s2); margin-block-start: 0; max-inline-size: min(100%, 46ch);
  --c-bg: var(--scrim); background-color: var(--scrim); color: var(--ink);
  padding-block: var(--s1); padding-inline: var(--s2);
  border-radius: var(--radius-control); }
.hero-inner { position: relative; z-index: 1; inline-size: 100%; }
.hero-copy { inline-size: min(620px, 100%); padding-block: var(--s4); padding-inline: var(--s3);
  margin-inline-start: calc(var(--s3) * -1); border-radius: var(--radius-media); }
.hero-copy.hero-copy > * + * { margin-block-start: var(--s3); }
.hero-actions { display: flex; flex-wrap: wrap; gap: var(--s2); }

@media (max-width: 1024px) {
  .hero-frame { inline-size: min(var(--hero-frame-max, 100%), 100%); }
  .hero-copy { inline-size: 100%; }
}
.review-line { font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
  color: var(--c-ink); margin-block: 0; }

.review-line-pill { display: inline-block; border: 1px solid var(--c-line);
  border-radius: var(--radius-control); padding-block: var(--s1); padding-inline: var(--s2); }
@media (max-width: 768px) {
  .hero { padding-block: var(--section-pad-mobile); }
  .hero-copy { padding-inline: var(--s2); margin-inline-start: calc(var(--s2) * -1); }
}

.skip-link { position: absolute; inset-inline-start: -9999px; z-index: 100;
  background-color: var(--surface); color: var(--ink); font-family: var(--font-body);
  font-weight: 600; padding-block: var(--s2); padding-inline: var(--s3);
  border: 2px solid var(--focus); border-radius: var(--radius-control); }
.skip-link:focus { inset-inline-start: var(--s2); inset-block-start: var(--s2); }
.site-header { border-bottom: 1px solid var(--c-line); }
.site-header-inner { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap;
  padding-block: var(--s2); }
.header-mark-img, .header-logo-img { display: block; max-width: 100%; height: auto; }

.header-home { display: inline-flex; align-items: center; min-height: 48px; text-decoration: none;
  color: var(--c-ink); }
.header-wordmark { font-family: var(--font-display); font-weight: 600; font-size: var(--step-body);
  line-height: 1.1; color: var(--c-ink); text-wrap: balance; }
.header-home:hover .header-wordmark { text-decoration: underline;
  text-decoration-color: var(--c-underline); text-underline-offset: 4px; }
@media (min-width: 1025px) {
  .header-wordmark { max-inline-size: 200px; }
}
@media (max-width: 1024px) {
  .header-home { flex: 1 1 0; min-inline-size: 0; }
}
.header-toggle { display: none; align-items: center; gap: var(--s1); min-height: 48px;
  min-width: 48px; padding-block: 12px; padding-inline: var(--s2); background-color: transparent;
  border: 1px solid var(--c-line); border-radius: var(--radius-control);
  font-family: var(--font-body); font-weight: 600; font-size: var(--step-body); color: var(--c-ink);
  cursor: pointer; margin-inline-start: auto; }
.header-panel { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap;
  margin-inline-start: auto; }
@media (min-width: 1025px) {
  .site-header-inner, .header-panel { flex-wrap: nowrap; }
  .header-panel { min-inline-size: 0; }
  .nav-labels { flex-wrap: nowrap; }
}
.nav-labels { display: flex; gap: var(--s2); flex-wrap: wrap; }
.nav-link { display: inline-flex; align-items: center; min-height: 48px; min-inline-size: 48px;
  justify-content: center;
  font-family: var(--font-body); font-weight: 600; font-size: var(--step-body);
  color: var(--c-ink); text-decoration: none; }
.nav-link:hover { text-decoration: underline; text-decoration-color: var(--c-underline);
  text-underline-offset: 4px; }

.header-contact { display: flex; flex-direction: column; align-items: flex-start;
  gap: 0; row-gap: 2px; }
.header-contact-numbers { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.header-tel { display: inline-flex; align-items: center; gap: var(--s1); min-height: 48px; min-inline-size: 48px;
  font-family: var(--font-body); font-weight: 600; font-size: var(--step-body);
  color: var(--c-ink); text-decoration: none; }
.header-hours { font-size: var(--step-small); }
@media (max-width: 1024px) {
  .header-toggle { display: inline-flex; }
  .header-panel { flex-direction: column; align-items: flex-start; inline-size: 100%;
    margin-inline-start: 0; gap: var(--s2); }
  .header-toggle[aria-expanded="false"] + .header-panel { display: none; }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .header-toggle[aria-expanded="false"] { order: 1; margin-inline-start: 0; }
  .header-toggle[aria-expanded="false"] + .header-panel { display: flex; flex-direction: row;
    align-items: center; inline-size: auto; margin-inline-start: auto; }
  .header-toggle[aria-expanded="false"] + .header-panel > .nav-primary,
  .header-toggle[aria-expanded="false"] + .header-panel > .btn { display: none; }
}

@media (max-width: 1024px) and (scripting: none) {
  .header-toggle { display: none; }
  .header-toggle[aria-expanded="false"] + .header-panel { display: flex; flex-direction: column;
    align-items: flex-start; inline-size: 100%; margin-inline-start: 0; }
  .header-toggle[aria-expanded="false"] + .header-panel > .nav-primary { display: block; }
  .header-toggle[aria-expanded="false"] + .header-panel > .btn { display: inline-flex; }
}

.noscript-notice { display: grid; gap: var(--s2);
  padding-block: var(--s3); padding-inline: var(--s3);
  border: 1px solid var(--c-line); border-radius: var(--radius-card); }
.noscript-text { font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
  color: var(--c-ink); max-width: var(--measure-body); }
.noscript-channels { display: flex; flex-wrap: wrap; gap: var(--s3); }
.noscript-tel { display: inline-flex; align-items: center; gap: var(--s1); min-height: 48px;
  min-inline-size: 48px; font-family: var(--font-body); font-weight: 600;
  font-size: var(--step-body); color: var(--c-ink); }

.sticky-bar { position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 90;
  display: flex; column-gap: var(--s1); min-height: var(--sticky-bar-h); }
.sticky-seg { flex: 1; display: inline-flex; align-items: center; justify-content: center;
  gap: var(--s1); min-height: var(--sticky-bar-h); padding-inline: var(--s2);
  font-family: var(--font-body); font-weight: 600; font-size: var(--step-body);
  color: var(--c-ink); text-decoration: none; }
.sticky-seg-alt { border-inline-start: 1px solid var(--c-line); }

.sticky-seg:focus-visible { outline-offset: -3px; }
@media (min-width: 769px) { .sticky-bar { display: none; } }

@media (max-width: 768px) {
  body { padding-block-end: var(--sticky-bar-h); }

  html { scroll-padding-bottom: calc(var(--sticky-bar-h) + var(--s2)); }

  body:has(:focus-visible):not(:has(.sticky-bar :focus-visible)) .sticky-bar { translate: 0 100%; }
}
.staging-banner { position: sticky; inset-block-start: 0; z-index: 95; }

html { scroll-padding-top: var(--s7); }
.staging-banner-inner { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap;
  padding-block: var(--s1); }
.staging-banner-text { font-family: var(--font-body); font-weight: 600; font-size: var(--step-small);
  color: var(--c-ink); margin-block: 0; }
.staging-banner-link { display: inline-flex; align-items: center; min-block-size: 48px;
  min-inline-size: 48px; color: var(--c-ink); text-decoration: underline;
  text-decoration-color: var(--c-underline); font-size: var(--step-small); }
.site-footer { padding-block: var(--section-pad-desktop); }
.site-footer-inner { display: grid; gap: var(--s5); }
.footer-columns { display: grid; gap: var(--s4); grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1024px) { .footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 768px)  { .footer-columns { grid-template-columns: minmax(0, 1fr); }
  .site-footer { padding-block: var(--section-pad-mobile); } }
.footer-column-heading { font-family: var(--font-body); font-weight: 600; font-size: var(--step-body);
  color: var(--c-ink); margin-block: 0 var(--s2); }
.footer-link { display: inline-flex; align-items: center; min-height: 48px; min-inline-size: 48px;
  font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
  color: var(--c-ink); text-decoration: underline; text-decoration-color: var(--c-underline);
  text-underline-offset: 3px; }
.nap, .identity, .disclosure, .credential-badges { display: grid; gap: var(--s2); }
.nap-address, .nap-line { margin-block: 0; }
.nap-address { display: flex; align-items: flex-start; gap: var(--s1);
  font-family: var(--font-body); font-weight: 500; font-size: var(--step-body); color: var(--c-ink); }
.nap-link, .channel-link { display: inline-flex; align-items: center; gap: var(--s1);
  min-height: 48px; min-inline-size: 48px; font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
  color: var(--c-ink); text-decoration: underline; text-decoration-color: var(--c-underline);
  text-underline-offset: 3px; }

.channel-link { font-size: var(--step-h3); }
.channel-link > span, .nap-link > span, .nap-address > span { min-inline-size: 0; }
.channel + .channel { margin-block-start: var(--s1); }
.identity-label { margin-block: 0; }
.identity-name, .identity-number, .disclosure-text, .disclosure-scope,
.credential-scheme, .credential-number, .credential-meaning { font-family: var(--font-body);
  font-weight: 500; font-size: var(--step-body); line-height: var(--lh-body);
  color: var(--c-ink); margin-block: 0; max-width: var(--measure-body); }
.identity-name, .credential-scheme { font-weight: 600; }
.disclosure-scope { font-size: var(--step-small); color: var(--c-muted); }
.credential-row { display: grid; gap: var(--s2); }
.credential-row-item { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap;
  font-family: var(--font-body); font-weight: 500; font-size: var(--step-body); color: var(--c-ink); }
.trust-strip { display: grid; gap: var(--s3); grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1024px) { .trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 768px)  { .trust-strip { grid-template-columns: minmax(0, 1fr); } }
.trust-strip-item { display: grid; gap: var(--s1); }
.trust-strip-label { font-family: var(--font-body); font-weight: 600; font-size: var(--step-body); color: var(--c-ink); }
.trust-strip-ref { font-family: var(--font-body); font-weight: 500; font-size: var(--step-body); color: var(--c-ink); }
.tile-benefit { font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
  line-height: var(--lh-body); color: var(--c-ink); margin-block: 0; }
.job-band { font-family: var(--font-body); font-weight: 600; font-size: var(--step-body);
  color: var(--c-ink); margin-block: 0; }
.conversion-actions { display: flex; flex-wrap: wrap; gap: var(--s2); }
.cost-group + .cost-group, .cost-included, .cost-excluded, .cost-drivers,
.honesty-not-priced { margin-block-start: var(--s5); }
.nap-block { font-style: normal; display: grid; gap: var(--s1); }

.wiz-reveal, .wiz-stop, .wiz-photos { display: grid; gap: var(--s4);

  scroll-margin-block-start: var(--s7); }
.wiz-reveal h2 { font-family: var(--font-display); font-weight: 600; font-size: var(--step-h2);
  line-height: var(--lh-display); color: var(--c-ink); margin-block: 0; }
.wiz-reveal h3, .wiz-photos h3, .save-panel h3 { font-family: var(--font-display); font-weight: 600;
  font-size: var(--step-h3); line-height: var(--lh-display); color: var(--c-ink); margin-block: 0; }
.wiz-reveal p, .wiz-stop p, .wiz-photos p, .save-panel p { font-family: var(--font-body);
  font-weight: 500; font-size: var(--step-body); line-height: var(--lh-body); color: var(--c-ink);
  max-width: var(--measure-body); margin-block: 0; }
.wiz-stop .lede, .wiz-photos .lede { font-size: var(--step-h3); }
.assump { display: grid; gap: var(--s2); border: 1px solid var(--c-line);
  border-radius: var(--radius-card); padding-block: var(--s3); padding-inline: var(--s3); }
.wiz-reveal .urgent { font-weight: 600; }
.entry { display: grid; gap: var(--s4); }
.from { display: block; }
.amt { display: block; font-family: var(--font-display); font-weight: 600;
  font-size: var(--step-price); line-height: var(--lh-display); color: var(--accent); }
.truefor, .included, .notincluded, .moves, .photos { display: grid; gap: var(--s2); }
.wiz-reveal .ticks, .wiz-photos .ticks { list-style: none; margin-block: 0; padding-inline-start: 0;
  display: grid; gap: var(--s2); }
.wiz-reveal .ticks > li, .wiz-photos .ticks > li { position: relative;
  padding-inline-start: var(--s3); font-family: var(--font-body); font-weight: 500;
  font-size: var(--step-body); line-height: var(--lh-body); color: var(--c-ink);
  max-width: var(--measure-body); }
.wiz-reveal .ticks > li::before, .wiz-photos .ticks > li::before { content: ""; position: absolute;
  inset-inline-start: 0; inset-block-start: 0.55em; inline-size: 8px; block-size: 8px;
  border-radius: 50%; background-color: var(--c-icon); }
.moves dl { display: grid; gap: 0; margin-block: 0; }
.moves .row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s2);
  align-items: baseline; padding-block: var(--s2); border-block-end: 1px solid var(--c-line); }
.moves dt { font-family: var(--font-body); font-weight: 500; font-size: var(--step-body);
  line-height: var(--lh-body); color: var(--c-ink); }
.moves dd { margin-inline-start: 0; font-family: var(--font-body); font-weight: 600;
  font-size: var(--step-body); line-height: var(--lh-body); color: var(--c-ink); white-space: nowrap; }
.wiz-reveal .micro, .wiz-photos .micro { font-family: var(--font-body); font-weight: 500;
  font-size: var(--step-small); line-height: var(--lh-body); color: var(--c-muted);
  max-width: var(--measure-body); margin-block: 0; }
.wiz-reveal .micro a, .wiz-photos .micro a { color: var(--c-link); text-decoration: underline;
  text-decoration-color: var(--c-underline); text-underline-offset: 3px; }

.wiz-reveal .micro > a:only-child, .wiz-photos .micro > a:only-child {
  display: inline-flex; align-items: center;
  min-block-size: 48px; min-inline-size: 48px; }
.photo-window, .save-panel { display: grid; gap: var(--s2); border: 1px solid var(--c-line);
  border-radius: var(--radius-card); padding-block: var(--s3); padding-inline: var(--s3); }
.entry-actions { display: flex; flex-wrap: wrap; gap: var(--s2); }

.btn-ghost { background-color: transparent; border-color: var(--c-line); color: var(--c-ink); }
.btn-ghost:hover { border-color: var(--c-ink); box-shadow: var(--shadow-interaction); }
.btn-lg { min-height: 56px; padding-inline: var(--s4); }
@media (max-width: 768px) {
  .moves .row { grid-template-columns: minmax(0, 1fr); gap: var(--s1); }
  .moves dd { white-space: normal; }
}
.hours { display: grid; gap: var(--s1); }
.hours-inline { display: flex; flex-wrap: wrap; gap: var(--s2); }
.hours-row { display: flex; gap: var(--s1); }
.hours-days { font-weight: 600; }
.hours-days, .hours-value { font-family: var(--font-body); font-size: var(--step-small); color: inherit; }

@media print {
  .ground-brand, .ground-deep, .ground-accent, .surface-scrim {
    --c-bg: var(--surface); --c-ink: var(--ink); --c-muted: var(--muted);
    --c-line: var(--border); --c-link: var(--brand); --c-underline: var(--brand);
    --c-icon: var(--brand); --c-error: var(--error); --c-focus: var(--focus);
    background-color: var(--surface) !important; color: var(--ink) !important; }
  .ground-brand .h, .ground-deep .h, .ground-accent .h,
  .ground-brand .body, .ground-deep .body, .ground-accent .body,
  .ground-brand .link, .ground-deep .link, .ground-accent .link,
  .ground-brand .btn, .ground-deep .btn, .ground-accent .btn { color: var(--ink) !important; }
  .ground-brand .muted, .ground-deep .muted, .ground-accent .muted { color: var(--muted) !important; }
  .site-footer, .site-footer a { color: var(--ink) !important; }

  .sticky-bar, .skip-link, .header-toggle { display: none !important; }
  .staging-banner { position: static !important; }
  a { text-decoration-color: var(--muted); }
  .wrap { max-width: none; }
}
