/* ═══════════════════════════════════════════════════════════════════════════
   simplify.css - the quiet pass.
   Loaded last on every page, after naka-layer.css and (on home)
   minimal-saas.css, so it settles the cascade fights those layers started.

   It does three things and nothing else:
     1. Makes the supporting text small, so headings carry the page.
     2. Shrinks the footer to a compact index rather than a second page.
     3. Repairs the two layouts that lost an element when the copy was cut
        (the use-cases intro paragraph and the CTA banner eyebrow).

   The repeated :not(#sp*) guards are how the editorial and Naka layers raise
   specificity in this project; they match nothing on their own.
   Delete this file and its head-manifest links to revert the pass.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. Supporting text ──────────────────────────────────────────────────── */

/* The hero sub-line is a caption under the headline, not a paragraph. */
html[data-theme] body[data-page='home']:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) .hero .hero-intro__lede {
  max-width: 42ch !important;
  margin-top: clamp(10px, 1.2vw, 16px) !important;
  font-size: clamp(14px, 1.05vw, 15px) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

html[data-theme] body[data-page='home']:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) .hero .hero-intro h1:first-child {
  margin-top: 0 !important;
}

/* The same restraint on the inner pages' intro lead. */
html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) :is(.page-intro .lead, .hx__inner .sx__lede) {
  max-width: 52ch !important;
  font-size: clamp(14px, 1.2vw, 17px) !important;
  line-height: 1.5 !important;
}

/* Section ledes and card bodies read in one or two lines. */
html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) :is(.sx__lede, .ed-head__lede, .p-prop) {
  max-width: 50ch !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) :is(.sx-step__body, .sx-feature__body, .pr-plan__summary, .hws__copy, .saas-use-case p) {
  max-width: 42ch !important;
}

/* ── 2. Footer ───────────────────────────────────────────────────────────── */

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft[data-shared-footer] {
  padding: clamp(44px, 5.5vw, 76px) 0 clamp(20px, 2.4vw, 28px) !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__top { gap: 32px var(--ft-gap) !important; }
html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__brand { gap: 14px !important; }
html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__logo { min-height: 0 !important; }
html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__logo img { height: 30px !important; }

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__line {
  max-width: 24ch !important;
  font-size: clamp(14px, 1.05vw, 16px) !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: -.01em !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__social a { width: 34px !important; height: 34px !important; }
html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__social-icon { width: 15px !important; height: 15px !important; }

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__cta {
  min-height: 40px !important;
  padding: 9px 15px !important;
  font-size: 13px !important;
}

/* Four columns since the Contact column became the two buttons above. */
html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__cols {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px var(--ft-gap) !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__head {
  margin: 0 0 6px !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  letter-spacing: .02em !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__link {
  min-height: 34px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__news {
  margin-top: clamp(32px, 3.5vw, 48px) !important;
  padding-top: clamp(20px, 2vw, 26px) !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__news-row input {
  min-height: 42px !important;
  font-size: 14px !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__news-submit {
  min-height: 42px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__news-consent {
  min-height: 0 !important;
  font-size: 12px !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__news-consent input {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
}

/* The newsletter row sits on the same seven tracks as the row above it, but
   its fields were set to `3 / span 3` - tracks 3 to 5 - leaving the last two
   empty and the whole block bunched to the left while the link columns above
   it ran to the right edge. Running the fields to the end lines the form up
   with those columns and uses the width.

   The label keeps the brand column, so "Newsletter" sits under the logo and
   the form sits under the links: two columns down the whole footer. */
/* NOTE: css/site-chrome.css sets .ft__news to display:block inside
   @layer site-controls. A layered !important beats an unlayered one, so
   while that file is linked these three rules are inert and the newsletter
   is the 426px block it describes. They are kept because they correct
   editorial.css's `3 / span 3`, which is what applies if site-chrome is
   ever removed.

   Only where the seven-track grid exists. Below 1024px editorial.css
   collapses .ft__news to one column and sets both children to
   grid-column: auto; an unscoped `3 / -1` here would override that and ask
   for track 3 of a one-track grid. */
@media (min-width: 1024px) {
  html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__news-fields { grid-column: 3 / -1 !important; }

  /* With the hint line gone the label is a single small word holding open a
     two-track column, so it centres against the field beside it rather than
     floating at the top of the gap. */
  html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__news-intro { align-content: center; }
}

/* The row reads left to right: address, then the button. Capping the input
   stops it stretching to the full five tracks on a wide screen, which left
   the submit button marooned at the far edge. */
html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__news-row {
  max-width: 520px;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__bottom {
  margin-top: clamp(24px, 3vw, 36px) !important;
  padding-top: 14px !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__bottom :is(p, span) { font-size: 12px !important; }

/* Touch pointers keep a finger-sized target; only the type stays small. */
@media (hover: none) {
  html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__link { min-height: 42px !important; }
  html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft :is(.ft__cta, .ft__news-submit) { min-height: 46px !important; }
}

@media (max-width: 1023px) {
  html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__cols { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ── 3. Layouts that lost an element with the copy ───────────────────────── */

/* The use-cases intro was a two-column grid: heading beside a paragraph. */
html[data-theme] body[data-page='home']:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) .saas-use-cases__intro {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* The CTA banner card was eyebrow | right-aligned question. */
html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) .cta-banner__glass {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) .cta-banner__title { text-align: left !important; }

/* ── 4. Shared public-site colour contract ──────────────────────────────── */

/* Page-specific layers previously left the home footer dark green while the
   other public routes resolved to near-black. Keep the shared footer neutral
   and give its social controls the one approved Evergreen Leaf treatment. */
html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft[data-shared-footer] {
  --ft-ink: #000;
  --ft-muted: #000;
  color: #000 !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft :is(.ft__line, .ft__head, .ft__link, .ft__news-consent, .ft__news-consent span, .ft__bottom p, .ft__bottom span) {
  color: #000 !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__social a,
html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__social a:visited {
  color: #479c73 !important;
  border-color: rgb(71 156 115 / 42%) !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__social a:hover {
  color: #26503c !important;
  border-color: currentColor !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__social a:focus-visible {
  color: #479c73 !important;
  outline: 3px solid #479c73 !important;
  outline-offset: 3px !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__social a:active {
  color: #1f4030 !important;
}

/* Important declarations inside the shared control layer outrank the older
   unlayered home presentation without requiring route-specific footer rules. */
@layer site-controls {
  body[data-page] footer.ft[data-shared-footer] :is(.ft__line, .ft__head, .ft__link, .ft__news-consent, .ft__news-consent span, .ft__bottom p, .ft__bottom span) {
    color: #000 !important;
  }

  body[data-page] footer.ft[data-shared-footer] .ft__social a,
  body[data-page] footer.ft[data-shared-footer] .ft__social a:visited {
    color: #479c73 !important;
    background: transparent !important;
    border: 1px solid rgb(71 156 115 / 42%) !important;
    border-color: rgb(71 156 115 / 42%) !important;
    border-radius: 50% !important;
    box-shadow: none !important;
  }

  body[data-page] footer.ft[data-shared-footer] .ft__social a:hover {
    color: #26503c !important;
    border-color: currentColor !important;
  }

  body[data-page] footer.ft[data-shared-footer] .ft__social a:focus-visible {
    color: #479c73 !important;
    outline: 3px solid #479c73 !important;
    outline-offset: 3px !important;
  }

  body[data-page] footer.ft[data-shared-footer] .ft__social a:active {
    color: #1f4030 !important;
  }
}

/* ── 5. Mobile heading alignment ────────────────────────────────────────── */

@media (max-width: 767px) {
  /* Titles and section headers share one mobile axis. Their supporting copy
     stays left-aligned for comfortable reading. */
  html[data-theme] body[data-page]:not([data-page='portal']):not([data-page='auth']):not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) :is(#app, main) :is(h1, h2):not(.visually-hidden) {
    margin-inline: auto !important;
    text-align: center !important;
    text-wrap: balance;
  }

  html[data-theme] body[data-page]:not([data-page='portal']):not([data-page='auth']):not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) :is(#app, main) :is(p, dd) {
    text-align: left;
  }

  html[data-theme] body[data-page]:not([data-page='portal']):not([data-page='auth']):not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) :is(#app, main) :is(.sx__head, .ed-head, .studio-process__heading, .saas-use-cases__head, .system-path__intro, .page-intro, .page-hero, .hx__inner, .cs-ed__head) {
    justify-items: center !important;
    text-align: center !important;
  }

  /* The site has several generations of label classes. Treat them as one
     visual primitive so every eyebrow and display pill centres consistently. */
  html[data-theme] body[data-page]:not([data-page='portal']):not([data-page='auth']):not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) :is(#app, main) :is(.sx__eyebrow, .hx__eyebrow, .hx__eye, .section-label, .ed-eyebrow, .hero-intro__eyebrow, .sx-plan__flag, .eyebrow, .book-call__eyebrow, .cta-banner__eyebrow, .system-path__eyebrow, .wcta__eyebrow, .analytics-eyebrow, .cs-ed__label, .aud__tag) {
    align-self: center !important;
    justify-self: center !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  html[data-theme] body[data-page]:not([data-page='portal']):not([data-page='auth']):not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) :is(#app, main) :is(.fq__chips, .p-list, .hws__tags, .wp__tags, .cs-ed__chips) {
    justify-content: center !important;
  }
}

/* ── 6. Public-site polish and usability ────────────────────────────────── */

/* The pricing tabs intentionally scroll at narrow widths. Their fit-content
   width was also enlarging the 768px document, so the scroll now stays inside
   the available section width. */
@media (max-width: 1023px) {
  html[data-theme] body[data-page='pricing']:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) :is(#app, main) .pr-tabs {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overscroll-behavior-inline: contain;
  }
}

/* Compact type remains useful for labels and metadata. Reading copy should
   not fall below 16px on a phone, including the intro and end-of-page CTAs. */
@media (max-width: 767px) {
  html[data-theme] body[data-page]:not([data-page='portal']):not([data-page='auth']):not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) :is(#app, main) :is(.lead, .hero-intro__lede, .sx__lede, .sx-feature__body, .sx-step__body, .ed-lede, .ed-project__copy, .aud__copy, .hws__copy, .p-prop, .cta-banner__lead, .book-call__text, .book-call__alt, .review-aside__note) {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__news-row input {
    font-size: 16px !important;
  }
}

/* Restore finger-sized shared footer targets. The quiet pass had reduced the
   visual circles and link rows to 34px even though they are primary controls. */
html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__social a {
  width: 44px !important;
  height: 44px !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft .ft__link {
  min-height: 44px !important;
}

html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) footer.ft :is(.ft__cta, .ft__news-submit) {
  min-height: 44px !important;
}

/* Keyboard focus must remain visible even where page-specific button layers
   replace the default outline. */
html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #479c73 !important;
  outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) *,
  html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) *::before,
  html[data-theme] body[data-page]:not(#sp1):not(#sp2):not(#sp3):not(#sp4):not(#sp5):not(#sp6):not(#sp7):not(#sp8):not(#sp9):not(#sp10):not(#sp11):not(#sp12):not(#sp13):not(#sp14) *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@layer site-controls {
  body[data-page] footer.ft[data-shared-footer] .ft__social a {
    width: 44px !important;
    height: 44px !important;
  }

  @media (max-width: 767px) {
    body[data-page] footer.ft[data-shared-footer] .ft__news-row input {
      font-size: 16px !important;
    }
  }
}
