body .wsf-form button.wsf-button.wsf-button-primary[type="submit"],
body .wsf-form input.wsf-button.wsf-button-primary[type="submit"] {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-ultra-light);
  border-radius: 999px;
  font-weight: 600;
  min-block-size: 52px;
}
body .wsf-form button.wsf-button.wsf-button-primary[type="submit"]:hover:enabled,
body .wsf-form input.wsf-button.wsf-button-primary[type="submit"]:hover:enabled {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
}

@media (width <= 56rem) {
  html {
    scroll-padding-block-end: 6rem;
  }
}

/* The fixed call bar overlays the end of the footer on phones. */
@media (width <= 56rem) {
  body .fsc-lp-footer {
    padding-block-end: 7.5rem;
  }
}

/* ==========================================================================
   fsc-studio-match — landing pages matched to the Etch Studio original
   (fullscopebpi.hilary-b3a.workers.dev), measured 27 Oct 2026.
   Scoped to the landing templates so the rest of the site is untouched.
   ========================================================================== */

/* The Studio palette's light primary is far less saturated than this one. */
:root {
  --fsc-primary-soft: oklch(0.85 0.081 265.24);
}

:is(.page-template-ads-landing, .page-template-thank-you) {

  /* Announcement */
  & .fsc-announce {
    padding: 9px var(--gutter);
    font-size: var(--text-s);
    line-height: 1.7;
    & strong { color: var(--fsc-primary-soft); }
  }

  /* Header: white, hairline, sticky */
  & header:has(> .sd-lp__bar) {
    background: var(--white);
    border-block-end: 1px solid var(--border-color-light);
    padding-block: 0;
    padding-inline: var(--gutter);
    position: sticky;
    inset-block-start: 0;
    z-index: 20;
  }
  & .sd-lp__bar {
    padding: 0;
    min-block-size: 78px;
    align-items: center;
  }
  & .fsc-logo { block-size: 52px; inline-size: auto; }
  & .fsc-header__actions { gap: 1.2rem; align-items: center; }
  & .fsc-header__tel {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-block-size: 44px;
    font-weight: 600;
    color: var(--text-dark);
    text-decoration: none;
    &::before {
      content: "";
      inline-size: 20px;
      block-size: 20px;
      flex: none;
      background: currentColor;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.9.6 2.8.7a2 2 0 0 1 1.8 2z'/%3E%3C/svg%3E") center / contain no-repeat;
    }
  }

  /* Buttons: the Studio pill */
  & :is(.btn--accent, .fsc-sticky .btn--outline) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-block-size: 52px;
    padding: 0 28px;
    border: 0;
    border-radius: 999px;
    background: var(--accent);
    color: var(--white);
    font-size: var(--text-m);
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    text-decoration: none;
    box-shadow: 0 8px 24px color-mix(in oklch, var(--accent) 30%, transparent);
    transition: transform .15s ease, background .15s ease;
    &:hover { background: var(--accent-hover); color: var(--white); transform: translateY(-1px); }
  }

  /* Footer */
  & .fsc-lp-footer {
    background: var(--black);
    color: color-mix(in oklch, var(--white) 75%, transparent);
    padding: 34px var(--gutter);
    & strong { color: var(--white); }
    & a { color: var(--white); text-decoration: none; }
  }
  & .fsc-lp-footer .sd-lp__foot {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding: 0;
    text-align: start;
  }
  & .fsc-footer-col { margin: 0; line-height: inherit; }
  & .fsc-footer-col--end { text-align: end; }
  & .fsc-lp-footer a.fsc-footer-mail { color: inherit; }

  /* Sticky call bar */
  & .fsc-sticky .btn--outline {
    background: var(--base-dark);
    box-shadow: none;
    &:hover { background: var(--base-ultra-dark); }
  }
}

.page-template-ads-landing {

  /* Type */
  & main h2 { color: var(--black); }
  & main .bg--ultra-dark h2 { color: var(--white); }
  & main h3 { font-size: var(--text-l); }

  /* Hero */
  & .fsc-hero__inner {
    grid-template-columns: 1.1fr .9fr;
    gap: var(--space-xl);
    align-items: start;
  }
  & .fsc-hero h1 {
    color: var(--white);
    margin-block: var(--space-xs);
  }
  & .fsc-hero h1 .fsc-kicker {
    display: block;
    font-size: var(--text-l);
    font-weight: inherit;
    line-height: 1.35;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--accent-light);
    margin-block-end: var(--space-xs);
  }
  & .fsc-hero__em { display: block; color: var(--fsc-primary-soft); }
  & .fsc-hero__copy > p.text--l {
    font-size: var(--text-m);
    line-height: inherit;
    color: color-mix(in oklch, var(--white) 88%, transparent);
    margin-block: 0 var(--space-m);
  }
  & .fsc-hero__copy > .fsc-ticks { color: var(--white); margin-block-end: var(--space-m); }
  & .fsc-hero__copy > .sd-sec__actions { margin: 0; }
  & .fsc-or-call {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .3rem;
    min-block-size: 44px;
    margin-block: var(--space-xs) 0;
    font-size: var(--text-s);
    color: var(--text-dark-muted);
    & a { font-weight: 600; }
  }
  & .bg--ultra-dark .fsc-or-call {
    color: color-mix(in oklch, var(--white) 75%, transparent);
    & a { color: var(--white); }
  }
  & .fsc-quote-card {
    margin: var(--space-m) 0 0;
    max-inline-size: 560px;
    padding: 16px 18px;
    background: color-mix(in oklch, var(--white) 7%, transparent);
    border: 1px solid color-mix(in oklch, var(--white) 14%, transparent);
    border-inline-start: 4px solid var(--fsc-primary-soft);
    border-radius: 10px;
    & blockquote { margin: 0; padding: 0; border: 0; font-size: var(--text-s); color: color-mix(in oklch, var(--white) 92%, transparent); }
    & figcaption { margin-block-start: .5rem; font-size: var(--text-s); color: color-mix(in oklch, var(--white) 70%, transparent); }
    & b { color: var(--white); }
    & .fsc-stars { color: #F5B301; letter-spacing: .06em; }
  }

  /* Rating badges sit flush with the copy, not centred */
  & .fsc-hero__badge {
    display: flex;
    align-items: center;
    min-block-size: 44px;
    min-inline-size: 240px;
    margin: 0;
    & .ti-widget { text-align: start !important; inline-size: 100%; }
    & .ti-widget-container { margin-inline: 0 !important; }
  }

  /* Form cards */
  & .fsc-form-card {
    background: var(--white);
    color: var(--text-dark);
    border-radius: var(--radius);
    border-block-start: 5px solid var(--primary);
    box-shadow: var(--box-shadow-2);
    padding: var(--space-s);
    & > h2 { font-size: var(--text-l); color: var(--text-dark); margin-block: 0 4px; }
    & > p { font-size: var(--text-s); color: var(--text-dark-muted); margin-block: 0 var(--space-s); }
  }

  /* Ticks: blue disc with a white check */
  & .fsc-ticks:not(.fsc-ticks--row) {
    list-style: none;
    padding: 0;
    margin-inline: 0;
    display: grid;
    gap: .6rem;
    & li { display: flex; gap: .7rem; align-items: flex-start; padding: 0; }
    & li::before {
      content: "";
      flex: 0 0 22px;
      block-size: 22px;
      inline-size: 22px;
      margin: 2px 0 0;
      border-radius: 50%;
      mask: none;
      -webkit-mask: none;
      background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat;
    }
  }

  /* Trust strip */
  & section:has(> .content-width > .fsc-trust) {
    padding: 22px var(--gutter);
    border-block-end: 1px solid var(--border-color-light);
  }
  & .fsc-trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: .8rem 2.6rem;
    font-weight: 600;
    & .ti-widget { text-align: center !important; }
  }
  & .fsc-ticks--row {
    display: contents;
    list-style: none;
    & li { display: flex; align-items: center; gap: .5rem; padding: 0; min-block-size: 44px; }
    & li::before {
      content: "";
      flex: none;
      inline-size: 9px;
      block-size: 9px;
      margin: 0;
      border-radius: 50%;
      mask: none;
      -webkit-mask: none;
      background: var(--primary);
    }
  }

  /* Section heads: eyebrow, h2, short rule */
  & .sd-sec__head { display: block; margin: 0; max-inline-size: none; }
  & .sd-sec__kicker {
    display: block;
    font-size: var(--text-xs);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--primary-semi-dark);
    margin-block-end: var(--space-xs);
  }
  & .bg--ultra-dark .sd-sec__kicker { color: var(--fsc-primary-soft); }
  & .sd-sec__head h2 { margin: 0; }
  & .sd-sec__head:not(:has(+ .sd-faq))::after {
    content: "";
    display: block;
    block-size: 4px;
    inline-size: 64px;
    background: var(--primary);
    border-radius: 2px;
    margin-block: var(--space-xs) var(--space-m);
  }
  & .bg--ultra-dark .sd-sec__head::after { background: var(--fsc-primary-soft); }

  /* Copy + photo splits */
  & .sd-split {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl);
    align-items: center;
  }
  & .sd-split .sd-stack { gap: 0; }
  & .sd-split .sd-stack > p {
    color: var(--text-dark-muted);
    margin-block: 0 var(--space-xs);
    max-inline-size: 62ch;
  }
  & .sd-split .sd-stack > p.text--l { font-weight: 600; color: var(--text-dark); }
  & .sd-media { margin: 0; }
  & .sd-media__img {
    inline-size: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: var(--radius);
  }

  /* Reviews */
  & .fsc-reviews + .sd-sec__actions,
  & .sd-sec__head + .fsc-reviews { margin-block-start: var(--space-l); }

  /* What we inspect: two bordered columns, photo flush to the top */
  & .fsc-stack { gap: 0; }
  & .fsc-stack > .sd-cards {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-l);
    margin-block-start: var(--space-l);
  }
  & .fsc-stack .sd-tile {
    background: var(--white);
    border: 1px solid var(--border-color-light);
    border-radius: var(--radius);
    overflow: hidden;
    padding: 0 0 var(--space-m);
    gap: 0;
    & > :not(img) { margin-inline: var(--space-m); }
    & > h3 { margin-block: var(--space-m) var(--space-xs); }
    & .fsc-ticks li { color: var(--text-dark-muted); }
  }
  & .fsc-tile__img {
    inline-size: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 0;
    margin: 0;
  }
  & .fsc-stack > p { margin-block: var(--space-l) 0; color: var(--text-dark-muted); }

  /* Why: translucent cells on the dark ground */
  & .fsc-why-layout {
    grid-template-columns: 1.2fr .8fr;
    gap: var(--space-xl);
    align-items: center;
  }
  & .fsc-why-layout .sd-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  & .fsc-why-layout .sd-tile {
    background: color-mix(in oklch, var(--white) 6%, transparent);
    border: 1px solid color-mix(in oklch, var(--white) 12%, transparent);
    border-radius: var(--radius);
    padding: 20px;
    gap: 0;
    & h3 { color: var(--white); margin-block: 0 .3rem; }
    & p { font-size: var(--text-s); color: color-mix(in oklch, var(--white) 75%, transparent); margin: 0; }
  }

  /* What if we find a problem? */
  & section:not(.bg--ultra-dark) .sd-cta {
    text-align: center;
    align-items: center;
    max-inline-size: 820px;
    margin-inline: auto;
    gap: 0;
    & > .sd-sec__kicker { margin-inline: auto; }
    & > h2 { margin-block: 0; }
    & > p { color: var(--text-dark-muted); margin-block: 0 var(--space-xs); max-inline-size: 62ch; }
    & > p.text--l:first-of-type {
      font-size: var(--text-m);
      font-weight: 700;
      color: var(--text-dark);
      margin-block-start: var(--space-s);
    }
    & > p.text--l:not(:first-of-type) {
      font-size: var(--h3);
      font-weight: 700;
      line-height: 1.35;
      color: var(--text-dark);
      margin-block: var(--space-m) var(--space-s);
    }
    & > .sd-sec__actions { margin: 0; justify-content: center; }
    & > .fsc-or-call { flex-direction: column; justify-content: center; gap: .15rem; margin-block-start: var(--space-m); }
  }

  /* Steps */
  & .sd-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-block: var(--space-l) 0;
    padding: 0;
    list-style: none;
    counter-reset: fsc-step;
  }
  & .sd-step {
    background: var(--white);
    border: 1px solid var(--border-color-light);
    border-radius: var(--radius);
    padding: 24px;
    margin: 0;
    &::before {
      counter-increment: fsc-step;
      content: counter(fsc-step);
      display: grid;
      place-items: center;
      inline-size: 40px;
      block-size: 40px;
      border-radius: 50%;
      background: var(--primary);
      color: var(--white);
      font-size: var(--text-m);
      font-weight: 700;
      line-height: 1;
      margin-block-end: 14px;
    }
    & h3 { margin-block: 0 .4rem; }
    & p { font-size: var(--text-s); color: var(--text-dark-muted); margin: 0; }
  }
  & .sd-steps + p.text--l {
    font-size: var(--h4);
    font-weight: 700;
    margin-block: var(--space-l) var(--space-s);
  }
  & .sd-steps + p.text--l + .sd-sec__actions { margin: 0; }

  /* FAQ */
  & .sd-sec__head:has(+ .sd-faq) { text-align: center; }
  & .sd-faq {
    inline-size: 100%;
    max-inline-size: 820px;
    margin: var(--space-l) auto 0;
    display: grid;
    gap: 10px;
  }
  & .sd-faq__item {
    background: var(--white);
    border: 1px solid var(--border-color-light);
    border-radius: 10px;
    padding: 0 20px;
    margin: 0;
    & > p {
      padding-block-end: 18px;
      margin: 0;
      color: var(--text-dark-muted);
      font-size: var(--text-s);
      max-inline-size: 62ch;
    }
  }
  & .sd-faq__q {
    cursor: pointer;
    list-style: none;
    font-size: var(--text-m);
    font-weight: 600;
    padding: 18px 0;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    &::-webkit-details-marker { display: none; }
    &::before { content: none; }
    &::after {
      content: "+";
      flex: 0 0 auto;
      font-size: 1.6rem;
      line-height: 1;
      font-weight: 500;
      color: var(--primary);
      transform: none;
      background: none;
      mask: none;
      -webkit-mask: none;
      inline-size: auto;
      block-size: auto;
    }
  }
  & .sd-faq__item[open] > .sd-faq__q::after { content: "–"; }

  /* Closing */
  & .fsc-close-layout {
    display: grid;
    grid-template-columns: 1fr .9fr;
    gap: var(--space-xl);
    align-items: center;
  }
  & #enquire {
    text-align: start;
    align-items: flex-start;
    gap: 0;
    & > h2 { margin-block: var(--space-xs) var(--space-s); }
    & > p:not(.fsc-or-call) { color: color-mix(in oklch, var(--white) 85%, transparent); margin-block: 0 var(--space-s); }
    & > .sd-sec__actions { margin: 0; justify-content: flex-start; }
    & > .fsc-or-call { color: color-mix(in oklch, var(--white) 70%, transparent); }
  }
}

/* Desktop: the closing form is not shown — the hero form is on screen. */
@media (width > 56rem) {
  .page-template-ads-landing #enquire-form { display: none; }
}

@media (width <= 56rem) {
  :is(.page-template-ads-landing, .page-template-thank-you) .fsc-lp-footer .sd-lp__foot { grid-template-columns: 1fr; }
  :is(.page-template-ads-landing, .page-template-thank-you) .fsc-footer-col--end { text-align: start; }
  .page-template-ads-landing {
    & .fsc-hero__inner,
    & .sd-split,
    & .fsc-why-layout,
    & .fsc-close-layout,
    & .fsc-stack > .sd-cards,
    & .sd-steps,
    & .fsc-why-layout .sd-cards { grid-template-columns: 1fr; }
    & .sd-split .sd-media,
    & .fsc-why-layout .sd-media { order: -1; }
    & .fsc-hero h1 .fsc-kicker { font-size: var(--text-m); }
    & .fsc-announce { font-size: var(--text-xs); }
  }
}

/* fsc-studio-match, pass 2: template caps that held the layout back */
:is(.page-template-ads-landing, .page-template-thank-you) {
  & .sd-lp__brand .fsc-logo { block-size: 52px; max-inline-size: none; }
  & .fsc-lp-footer .sd-lp__foot { font-size: var(--text-m); }
}
.page-template-ads-landing {
  & .fsc-hero__inner > .fsc-hero__copy { display: block; max-inline-size: none; }
  & .fsc-stack .sd-tile { max-inline-size: none; }
}

/* fsc-studio-match, pass 3 */
@media (width > 30rem) {
  :is(.page-template-ads-landing, .page-template-thank-you) .sd-lp__brand .fsc-logo { max-block-size: none; }
}
:is(.page-template-ads-landing, .page-template-thank-you) .fsc-lp-footer .fsc-footer-col { font-size: var(--text-m); }
/* The pill rule above must not bring back the header CTA on phones. */
@media (width <= 56rem) {
  :is(.page-template-ads-landing, .page-template-thank-you) .fsc-header__actions > .btn--accent { display: none; }
}

/* fsc-studio-match, pass 4: phones keep the fsc-cta-trim spacing, which puts
   the hero CTA in the first screen with all approved copy visible. */
@media (width <= 56rem) {
  :is(.page-template-ads-landing, .page-template-thank-you) .fsc-announce { line-height: 1.3; padding-block: .5625rem; }
  :is(.page-template-ads-landing, .page-template-thank-you) .fsc-lp-footer.fsc-lp-footer { padding-block-end: 7.5rem; }
  .page-template-ads-landing {
    & .fsc-hero__inner > .fsc-hero__copy { display: grid; gap: .625rem; }
    & .fsc-hero h1 { margin: 0; line-height: 1.12; }
    & .fsc-hero h1 .fsc-kicker { margin-block-end: .375rem; line-height: 1.3; }
    & .fsc-hero__copy > p.text--l { line-height: 1.3; margin: 0; }
    & .fsc-hero__copy > .fsc-ticks { margin: 0; gap: .375rem; }
    & .fsc-hero__copy > .fsc-or-call { margin: 0; }
    & .fsc-quote-card { margin-block-start: .625rem; }
  }
}

/* fsc-studio-match, pass 5 */
.page-template-ads-landing .fsc-hero::after {
  background: linear-gradient(100deg, color-mix(in oklch, var(--base-ultra-dark) 82%, transparent) 0%, color-mix(in oklch, var(--base-ultra-dark) 55%, transparent) 45%, color-mix(in oklch, var(--base-ultra-dark) 10%, transparent) 100%);
}
@media (width <= 56rem) {
  .page-template-ads-landing {
    & .fsc-hero.section--m { padding-block-start: .5rem; }
    & .fsc-hero h1 .fsc-kicker { font-size: .8125rem; }
    & .fsc-hero__copy > .fsc-ticks { gap: .5rem; line-height: 1.3; }
  }
}

/* fsc-studio-match, pass 6: neutralise the template rules underneath */
.page-template-ads-landing {
  & main .fsc-form-card > h2 { color: var(--text-dark); }
  & section:not(.bg--ultra-dark) .fsc-or-call a { color: var(--primary); }
  & .fsc-ticks:not(.fsc-ticks--row) li::before,
  & .fsc-ticks--row li::before {
    position: static;
    inset: auto;
    rotate: none;
    border: 0;
  }
  & .fsc-ticks--row li::before { margin-inline-end: 0; }
  & .sd-steps { margin-block-end: 0; }
  & .sd-step { display: block; }
  & .sd-step::before { opacity: 1; }
  & .sd-faq { border-block-start: 0; }
  & .sd-faq .sd-faq__item { border: 1px solid var(--border-color-light); padding-block: 0; }
  & .sd-faq__q { min-block-size: 0; }
}

/* fsc-studio-match, pass 7: phone CTAs and call bar as in the original */
@media (width <= 56rem) {
  .page-template-ads-landing main .sd-sec__actions { display: block; }
  .page-template-ads-landing main .sd-sec__actions > .btn--accent { inline-size: 100%; }
  :is(.page-template-ads-landing, .page-template-thank-you) .fsc-sticky {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 10px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: color-mix(in oklch, var(--white) 96%, transparent);
    backdrop-filter: blur(8px);
    border-block-start: 1px solid var(--border-color-light);
    & > a { inline-size: 100%; min-block-size: 48px; padding: 0 14px; }
  }
}

/* fsc-studio-match, pass 8: thank-you page, matched to the Studio /thank-you/ */
.page-template-thank-you {
  & .fsc-ty-hero { color: var(--white); }
  & .fsc-ty-hero .sd-sec__kicker {
    display: block;
    font-size: var(--text-xs);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--fsc-primary-soft);
    margin-block-end: var(--space-xs);
  }
  & .fsc-ty-hero h1 {
    color: var(--white);
    max-inline-size: 22ch;
    margin-block: var(--space-xs) 0;
  }
  & .fsc-rule {
    block-size: 4px;
    inline-size: 64px;
    background: var(--fsc-primary-soft);
    border-radius: 2px;
    margin-block: var(--space-xs) var(--space-m);
  }
  & .fsc-ty-lead {
    font-size: var(--text-l);
    font-weight: 600;
    color: color-mix(in oklch, var(--white) 88%, transparent);
    margin: 0;
  }
  & .fsc-ty-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 0;
    counter-reset: fsc-ty-step;
  }
  & .fsc-ty-step {
    background: var(--white);
    border: 1px solid var(--border-color-light);
    border-radius: var(--radius);
    padding: 24px;
    &::before {
      counter-increment: fsc-ty-step;
      content: counter(fsc-ty-step);
      display: grid;
      place-items: center;
      inline-size: 40px;
      block-size: 40px;
      border-radius: 50%;
      background: var(--primary);
      color: var(--white);
      font-weight: 700;
      line-height: 1;
      margin-block-end: 14px;
    }
    & p { font-size: var(--text-m); color: var(--text-dark-muted); margin: 0; }
    & b { color: var(--text-dark); }
  }
  & .fsc-ty-call { margin-block-start: var(--space-l); }
}
@media (width <= 56rem) {
  .page-template-thank-you {
    & .fsc-ty-steps { grid-template-columns: 1fr; }
    & .fsc-ty-call .btn--accent { inline-size: 100%; }
  }
  body.page-template-thank-you .fsc-lp-footer.fsc-lp-footer { padding-block-end: 110px; }
}

/* fsc-studio-match, pass 9 */
.page-template-thank-you .fsc-ty-hero > .content-width { display: flex; flex-direction: column; }
/* The Studio footer's phone link is a block, so the break after it leaves an empty line. */
:is(.page-template-ads-landing, .page-template-thank-you) .fsc-footer-col--end > a:first-child { display: block; }
/* Studio keeps the 52px logo at every width. */
:is(.page-template-ads-landing, .page-template-thank-you) .sd-lp__brand .fsc-logo { max-block-size: none; }
.page-template-thank-you .fsc-ty-hero > .content-width { gap: 0; }
/* Studio's footer columns stack with no gap on phones. */
:is(.page-template-ads-landing, .page-template-thank-you) .fsc-lp-footer .sd-lp__foot { row-gap: 0; }

/* Webvizio 2: body is a flex column and #main is flex:1, so on a tall screen the
   leftover space showed as a strip of page background between the 404 section and
   the footer. Let the section take the slack instead. */
body.error404 #main {
  display: flex;
  flex-direction: column;
}
body.error404 #main > section {
  flex: 1 1 auto;
}
