/* HELP96_STYLE_20261003_V1_3 — keep navigation visible in narrower desktop windows. */
html body :is(.h96-home, .h96-inner) {
  --ink: #12202d;
  --ink-soft: #43545e;
  --cream: #f7f8f4;
  --paper: #ffffff;
  --lime: #bcff2e;
  --lime-dark: #4e6c00;
  --coral: #bcff2e;
  --line: #12202d20;
  --h96-home-ink: #12202d;
  background: #f7f8f4;
  color: #12202d;
}
html body :is(.h96-home, .h96-inner) .site-header {
  background: #ffffffed;
  border-bottom: 1px solid #12202d0e;
  box-shadow: none;
  backdrop-filter: blur(16px);
}
html body :is(.h96-home, .h96-inner) .brand-number {
  background: #bcff2e;
  box-shadow: none;
}
html body :is(.h96-home, .h96-inner) .button {
  border-radius: 14px;
  min-height: 52px;
  font-size: 14px;
  font-weight: 750;
  box-shadow: none;
  transition: background-color .18s, border-color .18s, transform .18s;
}
html body :is(.h96-home, .h96-inner) .button-primary {
  background: #bcff2e;
  border-color: #bcff2e;
  color: #12202d;
}
html body :is(.h96-home, .h96-inner) .button-quiet {
  background: #fff;
  border-color: #12202d26;
  color: #12202d;
}
html body :is(.h96-home, .h96-inner) :is(.button, .problem-card, .format-card a, .home-all-prices):focus-visible {
  outline: 3px solid #12202d;
  outline-offset: 4px;
}
html body .h96-home .hero {
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  column-gap: 28px;
  padding: 24px clamp(20px, 3.2vw, 48px) 64px;
  background: #f7f8f4;
  overflow: visible;
}
html body .h96-home .hero-copy {
  padding: 32px 20px 32px 0;
  align-self: center;
}
html body .h96-home .hero h1 {
  max-width: 14ch;
  font-size: clamp(46px, 4.7vw, 72px) !important;
  line-height: 1.06 !important;
  font-weight: 780;
  letter-spacing: -.045em;
  text-wrap: balance;
  margin: 26px 0 24px;
}
html body .h96-home .eyebrow {
  background: transparent;
  border: 0;
  padding: 0;
  box-shadow: none;
  font-size: 10px;
  letter-spacing: .1em;
  line-height: 1.7;
}
html body .h96-home .status-dot { box-shadow: 0 0 0 5px #bcff2e28; }
html body .h96-home .hero-lead {
  max-width: 460px;
  font-size: 18px;
  line-height: 1.65;
  color: #43545e;
}
html body .h96-home .hero-lead strong {
  display: block;
  font-family: inherit;
  font-style: normal;
  font-size: inherit;
  font-weight: 600;
  color: #12202d;
}
html body .h96-home .hero-actions { gap: 12px; margin-top: 28px; }
html body .h96-home .home-availability { margin-top: 22px; font-size: 12px; color: #5d6a70; }
html body .h96-home .hero-visual {
  min-width: 0;
  min-height: 500px;
  border: 1px solid #12202d12;
  border-radius: 28px;
  background: #edf2e7;
  box-shadow: none;
  overflow: hidden;
  padding: 30px;
}
html body .h96-home .hero-visual::before {
  width: 96px;
  height: 5px;
  left: 30px;
  top: 0;
  background: #bcff2e;
}
html body .h96-home .hero-image {
  object-fit: contain;
  object-position: center;
  border-radius: 0;
}
html body .h96-home .visual-label { top: 28px; left: 28px; box-shadow: none; font-size: 10px; }
html body .h96-home .hero-sticker {
  top: 94px;
  left: 28px;
  right: auto;
  width: 86px;
  height: 86px;
  background: #bcff2e;
  border: 1px solid #12202d;
  box-shadow: none;
  transform: rotate(-8deg);
}
html body .h96-home .hero-sticker > span { font-size: 34px; line-height: 1; }
html body .h96-home .hero-sticker small { font-size: 8px; }
html body .h96-home .solved-card {
  right: 24px;
  bottom: 86px;
  box-shadow: 0 8px 28px #12202d0c;
  border-radius: 16px;
}
html body .h96-home .visual-caption {
  right: 28px;
  bottom: 26px;
  max-width: 230px;
  font-family: inherit;
  font-style: normal;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 600;
}
html body .h96-home .home-content-layout {
  display: block !important;
  max-width: 1400px;
  padding: 0 clamp(20px, 3.2vw, 48px) 64px;
  background: #f7f8f4;
}
html body .h96-home .home-content-main { min-width: 0; }
html body .h96-home .home-quick-links { padding: 22px 0; margin: 0; border-bottom: 1px solid #12202d16; }
html body .h96-home .problem-section { padding: 58px 0 64px !important; background: transparent; }
html body .h96-home .section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, .65fr);
  gap: 14px 36px;
  max-width: none !important;
  align-items: end;
  margin-bottom: 28px;
}
html body .h96-home .section-heading .section-kicker { grid-column: 1 / -1; }
html body .h96-home .section-kicker {
  width: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: #5d6a70;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: .14em;
}
html body .h96-home .section-heading h2,
html body .h96-home .format-intro h2,
html body .h96-home .how-title h2,
html body .h96-home .reviews-section-heading h2,
html body .h96-home .home-source-content > section > h2 {
  font-size: clamp(30px, 3.15vw, 44px) !important;
  line-height: 1.12 !important;
  font-weight: 720;
  letter-spacing: -.035em;
  font-family: inherit;
  font-style: normal;
  margin: 0;
}
html body .h96-home .section-heading > p:last-child { max-width: 330px; margin: 0 0 2px auto; font-size: 15px; line-height: 1.65; color: #43545e; }
html body .h96-home .problem-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
html body .h96-home .problem-card {
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  min-height: 225px !important;
  padding: 22px !important;
  background: #fff;
  border: 1px solid #12202d18;
  border-radius: 20px;
  box-shadow: none;
  transition: background-color .18s, border-color .18s, transform .18s;
}
html body .h96-home .problem-card::before { display: none; }
html body .h96-home .problem-card-top { display: flex; align-items: center; justify-content: space-between; width: 100%; }
html body .h96-home .problem-icon { width: 44px; height: 44px; background: #eef5e5; border: 0; border-radius: 13px; box-shadow: none; }
html body .h96-home .problem-icon svg { width: 25px; height: 25px; }
html body .h96-home .problem-number { position: static; border: 0; background: transparent; color: #738077; font-size: 11px; }
html body .h96-home .problem-text { margin: 24px 0 18px; }
html body .h96-home .problem-text strong { font-size: 19px; line-height: 1.25; letter-spacing: -.025em; }
html body .h96-home .problem-text small { margin-top: 7px; font-size: 13px; line-height: 1.4; color: #5d6a70; }
html body .h96-home .problem-card-action { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 8px; }
html body .h96-home .problem-card-action > span:first-child { font-size: 9px; letter-spacing: .09em; }
html body .h96-home .problem-arrow { width: 30px; height: 30px; background: #f3f5ef; border: 0; }
/* The legacy stylesheet sets white hover text with !important. Keep every
   label and SVG legible against the lime state, including keyboard focus. */
html body .h96-home .problem-card:is(:hover, :focus-visible) {
  background: #bcff2e !important;
  border-color: #8cbf17 !important;
  color: #12202d !important;
  box-shadow: none !important;
  transform: none !important;
}
html body .h96-home .problem-card:is(:hover, :focus-visible) .problem-icon,
html body .h96-home .problem-card:is(:hover, :focus-visible) .problem-arrow {
  background: #12202d !important;
  border-color: #12202d !important;
  color: #bcff2e !important;
  box-shadow: none !important;
}
html body .h96-home .problem-card:is(:hover, :focus-visible) .problem-text strong,
html body .h96-home .problem-card:is(:hover, :focus-visible) .problem-card-action > span:first-child {
  color: #12202d !important;
}
html body .h96-home .problem-card:is(:hover, :focus-visible) .problem-text small,
html body .h96-home .problem-card:is(:hover, :focus-visible) .problem-number {
  color: #31404b !important;
}
html body .h96-home .problem-card:focus-visible {
  outline: 3px solid #12202d !important;
  outline-offset: 4px;
}
html body .h96-home .format-section {
  display: block !important;
  padding: 40px !important;
  min-height: 0 !important;
  background: #edf2e7;
  color: #12202d;
  border: 1px solid #12202d0e;
  border-radius: 28px;
  margin: 0 0 56px;
}
html body .h96-home .format-intro { max-width: 650px; }
html body .h96-home .format-intro h2 { margin: 12px 0 16px; }
html body .h96-home .format-intro > p:last-child { font-family: inherit; font-style: normal; font-size: 16px; line-height: 1.6; color: #43545e; }
html body .h96-home .format-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
html body .h96-home .format-card { display: flex; flex-direction: column; min-width: 0; min-height: 250px !important; padding: 24px !important; background: #fff; border: 1px solid #12202d12; border-radius: 18px; }
html body .h96-home .format-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; font-size: 10px; color: #5d6a70; }
html body .h96-home .format-top > span:last-child { background: #f0f4ea; color: #43545e; border: 0; border-radius: 20px; padding: 4px 8px; }
html body .h96-home .format-card h3 { margin: 30px 0 12px; color: #12202d; font-family: inherit; font-style: normal; font-size: 24px; line-height: 1.2; letter-spacing: -.025em; }
html body .h96-home .format-card p { margin: 0 0 24px; color: #43545e; font-size: 14px; line-height: 1.65; }
html body .h96-home .format-card a { margin-top: auto; font-size: 12px; color: #12202d; }
html body .h96-home .how-section { display: block !important; min-height: 0 !important; padding: 44px !important; margin: 0 0 56px; border-radius: 28px; background: #12202d; }
html body .h96-home .how-section::before { display: none; }
html body .h96-home .how-title { position: relative; }
html body .h96-home .how-title .section-kicker { color: #bcff2e; margin-bottom: 14px; }
html body .h96-home .how-title h2 { color: #fff; }
html body .h96-home .steps { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; border: 0; margin: 32px 0 0; }
html body .h96-home .home-process-step { display: block !important; padding: 0 !important; border: 0; min-width: 0; }
html body .h96-home .step-number { display: grid; place-items: center; width: 38px; height: 38px; background: #bcff2e; color: #12202d; border-radius: 12px; font-size: 12px !important; font-family: inherit; font-style: normal; }
html body .h96-home .home-process-step h3 { margin: 22px 0 12px; font-size: 20px; line-height: 1.25; font-weight: 650; color: #fff; }
html body .h96-home .home-process-step p { font-size: 14px; line-height: 1.75; color: #c5cfd3; max-width: none; }
html body .h96-home .home-source-section { padding: 0 !important; background: transparent; }
html body .h96-home .home-reviews { margin: 0 0 56px; padding: 36px !important; background: #fff; border: 1px solid #12202d14; border-radius: 28px; }
html body .h96-home .home-reviews .reviews-experience,
html body .h96-home .home-reviews-list { margin: 0; padding: 0 !important; min-height: 0; }
html body .h96-home .reviews-section-heading { margin-bottom: 24px; }
html body .h96-home .reviews-section-heading > span { margin-bottom: 12px; font-size: 10px; color: #5d6a70; letter-spacing: .12em; }
html body .h96-home .home-reviews .review-card-grid { grid-template-columns: minmax(0, 1fr); }
html body .h96-home .home-review-card { min-height: 0; padding: 24px; background: #f7f8f4; border: 0; border-radius: 18px; box-shadow: none; }
html body .h96-home .home-review-card > p { font-family: inherit; font-style: normal; font-size: 21px; line-height: 1.6; }
html body .h96-home .home-review-card > svg { width: 28px; height: 28px; color: #68832c; }
html body .h96-home .home-review-card footer { margin-top: 22px; font-size: 13px; }
html body .h96-home .home-source-content { max-width: none; margin: 0; }
html body .h96-home .home-source-content > section { margin: 0; padding: 0 !important; }
html body .h96-home .home-source-content > section + section { margin-top: 56px; }
html body .h96-home .home-source-content > section > h2 { padding: 0; margin: 0 0 20px; }
html body .h96-home .home-section-lead { font-size: 16px; line-height: 1.7; color: #43545e; max-width: 700px; }
html body .h96-home .home-price-meta { margin: 26px 0; padding: 24px; background: #edf2e7; border: 0; border-radius: 20px; }
html body .h96-home .home-price-meta > div { padding: 0 18px; border-color: #12202d18; }
html body .h96-home .home-price-meta > div > span { display: none; }
html body .h96-home .home-price-meta > div > strong { font-size: 26px; font-family: inherit; font-style: normal; }
html body .h96-home .home-price-meta > div > small { font-size: 12px; line-height: 1.6; color: #43545e; }
html body .h96-home .home-price-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; }
html body .h96-home .home-price-grid > a { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 12px; min-height: 170px; padding: 22px; background: #fff; border: 1px solid #12202d18; border-radius: 18px; }
html body .h96-home .home-price-grid > a > span { color: #738077; font-size: 10px; }
html body .h96-home .home-price-grid > a > strong { font-size: 16px; line-height: 1.35; color: #12202d; }
html body .h96-home .home-price-grid > a > b { grid-column: 2; font-size: 23px; color: #12202d; }
html body .h96-home .home-price-grid > a > small { grid-column: 2; font-size: 12px; line-height: 1.5; color: #5d6a70; }
html body .h96-home .home-all-prices { display: inline-flex; align-items: center; gap: 24px; padding: 14px 18px; margin-top: 22px; border: 1px solid #12202d26; border-radius: 12px; font-size: 13px; background: #fff; }
html body .h96-home .home-faq-list { border-top: 1px solid #12202d18; }
html body .h96-home .home-faq-list details { border-bottom: 1px solid #12202d18; padding: 18px 0; }
html body .h96-home .home-faq-list summary { font-size: 18px; line-height: 1.45; }
html body .h96-home .home-faq-list p { font-size: 15px; line-height: 1.75; color: #43545e; max-width: 820px; }
html body .h96-home .home-scroll-banner { position: static !important; top: auto !important; width: auto; margin-top: 56px; padding: 0; }
html body .h96-home .home-scroll-banner .aside-call { padding: 36px !important; border: 0; border-radius: 28px; background: #12202d; box-shadow: none; text-align: center; }
html body .h96-home .home-scroll-banner .aside-call h2 { font-family: inherit; font-style: normal; font-size: 34px; line-height: 1.15; margin: 16px 0; }
html body .h96-home .home-scroll-banner .aside-call p { max-width: 510px; margin: 0 auto 24px; }
html body .h96-home .home-scroll-banner .aside-call-button { display: inline-flex; width: auto; min-height: 52px; padding: 14px 28px; border-radius: 14px; background: #bcff2e; }
/* Shared inner pages: same palette, readable headings, lighter cards. */
html body .h96-inner .inner-hero { background: #f7f8f4; }
html body .h96-inner .inner-hero h1 { font-size: clamp(42px, 4.7vw, 70px) !important; line-height: 1.06 !important; font-weight: 760; letter-spacing: -.04em; text-wrap: balance; }
html body .h96-inner .inner-description { font-size: 18px; line-height: 1.7; color: #43545e; }
html body .h96-inner .inner-eyebrow::before { background: #bcff2e; border-color: #8cbf17; }
html body .h96-inner .inner-hero-side { background: #edf2e7; color: #12202d; border-left: 1px solid #12202d12; }
html body .h96-inner .inner-hero-side::before { opacity: .025; }
html body .h96-inner .page-index { color: #12202d; opacity: .18; }
html body .h96-inner .inner-hero-side > div { border-color: #12202d18; }
html body .h96-inner .content-layout { background: #fff; }
html body .h96-inner .source-content > h2,
html body .h96-inner .h96-service-content > h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.18; letter-spacing: -.025em; font-weight: 700; }
html body .h96-inner .source-content { color: #43545e; }
/* Nested components provide their own text colours, including white headings
   in the dark blog, price, review and contact panels. */
html body .h96-inner .source-content :is(.contact-channel-grid > a, .contact-channel-grid > div, .price-popular-grid > article, .knowledge-card, .review-card, .company-details-card) { border-color: #12202d18; border-radius: 20px; box-shadow: none; }
html body .h96-inner .aside-call { box-shadow: none; border-radius: 24px; }
html body .h96-inner .aside-call h2 { font-family: inherit; font-style: normal; font-size: 29px; line-height: 1.2; }
html body .h96-inner .aside-call-button { border-radius: 14px; }
html body :is(.h96-home, .h96-inner) .site-footer { border-radius: 0; background: #12202d; }
html body :is(.h96-home, .h96-inner) .footer-brand .brand-number { color: #12202d; }
@media (hover: hover) {
  html body :is(.h96-home, .h96-inner) .button:hover { transform: translateY(-2px); }
  html body :is(.h96-home, .h96-inner) .button-primary:hover { background: #a9ed24; border-color: #a9ed24; }
  html body .h96-home .problem-card:hover { transform: translateY(-3px) !important; }
  html body .h96-home .home-price-grid > a:hover { border-color: #8cbf17; transform: translateY(-2px); }
}
@media (max-width: 1100px) {
  html body .h96-home .hero { grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); column-gap: 18px; }
  html body .h96-home .hero h1 { font-size: clamp(40px, 4.7vw, 56px) !important; }
  html body .h96-home .hero-visual { min-height: 440px; }
  html body .h96-home .problem-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body .h96-home .format-list { gap: 12px; }
  html body .h96-home .format-card { padding: 20px !important; }
  html body .h96-home .format-card h3 { font-size: 21px; }
}
@media (max-width: 900px) {
  html body .h96-home .hero { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; gap: 28px; padding-bottom: 28px; }
  html body .h96-home .hero-copy { padding: 24px 0 0; }
  html body .h96-home .hero h1 { max-width: 18ch; font-size: clamp(40px, 6.5vw, 60px) !important; }
  html body .h96-home .hero-visual { min-height: 390px; }
  html body .h96-home .home-hero-scroll { grid-column: 1; position: relative; left: auto; bottom: auto; transform: none; justify-self: center; margin: 0; }
  html body .h96-home .format-list { grid-template-columns: minmax(0, 1fr); }
  html body .h96-home .format-card { min-height: 0 !important; }
  html body .h96-home .format-card h3 { margin-top: 20px; }
  html body .h96-home .steps { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  html body .h96-home .home-process-step { display: grid !important; grid-template-columns: 38px minmax(0, 1fr); gap: 18px; }
  html body .h96-home .home-process-step h3 { margin-top: 0; }
  html body .h96-home .home-price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  html body .h96-home .hero { padding: 16px 20px 26px; gap: 24px; }
  html body .h96-home .hero-copy { padding: 16px 0 0; }
  html body .h96-home .eyebrow { font-size: 8px; letter-spacing: .055em; }
  html body .h96-home .hero h1 { font-size: clamp(35px, 9.3vw, 50px) !important; line-height: 1.08 !important; margin: 22px 0 20px; }
  html body .h96-home .hero-lead { font-size: 16px; line-height: 1.65; }
  html body .h96-home .hero-actions { flex-wrap: wrap; gap: 10px; }
  html body .h96-home .hero-actions { flex-direction: column; align-items: stretch; }
  html body .h96-home .hero-actions .button { flex: 0 0 auto; width: 100%; min-height: 52px; padding: 14px 18px; font-size: 14px; line-height: 1.4; }
  html body .h96-home .home-availability { margin-top: 16px; }
  html body .h96-home .hero-visual { min-height: 340px; padding: 20px; border-radius: 22px; }
  html body .h96-home .visual-label { top: 20px; left: 20px; }
  html body .h96-home .hero-sticker { top: 62px; left: 20px; width: 66px; height: 66px; }
  html body .h96-home .hero-sticker > span { font-size: 28px; }
  html body .h96-home .hero-sticker small { font-size: 7px; }
  html body .h96-home .solved-card { right: 16px; bottom: 66px; max-width: 220px; }
  html body .h96-home .visual-caption { right: 20px; bottom: 18px; font-size: 14px; }
  html body .h96-home .home-content-layout { padding: 0 20px 40px; }
  html body .h96-home .home-quick-links { padding: 18px 0; }
  html body .h96-home .problem-section { padding: 40px 0 !important; }
  html body .h96-home .section-heading { display: block; }
  html body .h96-home .section-heading .section-kicker { margin-bottom: 12px; }
  html body .h96-home .section-heading > p:last-child { max-width: none; margin: 16px 0 0; font-size: 14px; }
  html body .h96-home .problem-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  html body .h96-home .problem-card { display: grid !important; grid-template-columns: 44px minmax(0, 1fr) 30px; grid-template-rows: auto; align-items: center; gap: 14px; min-height: 106px !important; padding: 18px !important; border-radius: 16px; }
  html body .h96-home .problem-card-top { display: contents; }
  html body .h96-home .problem-icon { grid-column: 1; grid-row: 1; }
  html body .h96-home .problem-number { position: absolute; top: 7px; right: 18px; width: auto; height: auto; padding: 0; font-size: 8px; }
  html body .h96-home .problem-text { grid-column: 2; grid-row: 1; margin: 0; }
  html body .h96-home .problem-text strong { font-size: 17px; }
  html body .h96-home .problem-text small { font-size: 12px; margin-top: 5px; }
  html body .h96-home .problem-card-action { grid-column: 3; grid-row: 1; }
  html body .h96-home .problem-card-action > span:first-child { display: none; }
  html body .h96-home .format-section,
  html body .h96-home .how-section,
  html body .h96-home .home-reviews { padding: 24px !important; border-radius: 22px; margin-bottom: 40px; }
  html body .h96-home .format-intro > p:last-child { font-size: 14px; }
  html body .h96-home .format-card h3 { font-size: 23px; }
  html body .h96-home .home-review-card { padding: 20px; }
  html body .h96-home .home-review-card > p { font-size: 17px; }
  html body .h96-home .home-price-meta { padding: 20px; }
  html body .h96-home .home-price-meta > div { padding: 12px 0; }
  html body .h96-home .home-price-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  html body .h96-home .home-price-grid > a { min-height: 0; padding: 20px; }
  html body .h96-home .home-price-grid > a > b { font-size: 21px; }
  html body .h96-home .home-source-content > section + section { margin-top: 40px; }
  html body .h96-home .home-faq-list summary { font-size: 16px; }
  html body .h96-home .home-faq-list p { font-size: 14px; }
  html body .h96-home .home-scroll-banner { margin-top: 40px; }
  html body .h96-home .home-scroll-banner .aside-call { padding: 28px 20px !important; border-radius: 22px; }
  html body .h96-home .home-scroll-banner .aside-call h2 { font-size: 28px; }
  html body .h96-inner .inner-hero h1 { font-size: clamp(34px, 9.3vw, 50px) !important; line-height: 1.08 !important; }
  html body .h96-inner .inner-description { font-size: 16px; line-height: 1.7; }
}
/* Full-site audit: readable green accents and consistent related content. */
html body .h96-home .format-intro .section-kicker { color: #4e6c00 !important; }
html body .h96-inner .price-company-contacts svg { color: #4e6c00; }
html body .h96-inner .related-grid-section {
  max-width: 1500px;
  padding: 64px clamp(20px, 3.2vw, 48px) 72px;
  background: #f7f8f4;
  border-top: 1px solid #12202d16;
}
html body .h96-inner .related-heading { gap: 20px 36px; margin-bottom: 28px; }
html body .h96-inner .related-heading > span {
  color: #5d6a70;
  font-size: 10px;
  letter-spacing: .12em;
  line-height: 1.6;
}
html body .h96-inner .related-heading h2 {
  color: #12202d;
  font-size: clamp(28px, 3.15vw, 42px);
  font-weight: 720;
  letter-spacing: -.035em;
  line-height: 1.15;
}
html body .h96-inner .related-grid { gap: 16px; border: 0; }
html body .h96-inner .related-grid > a {
  min-width: 0;
  min-height: 250px;
  padding: 24px;
  color: #12202d;
  background: #fff;
  border: 1px solid #12202d20;
  border-radius: 20px;
  box-shadow: 0 4px 18px #12202d04;
  transition: background-color .18s, border-color .18s, transform .18s;
}
html body .h96-inner .related-grid > a > span { color: #4e6c00; }
html body .h96-inner .related-grid > a > strong {
  margin-top: 26px;
  color: #12202d;
  font-size: 19px;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: -.02em;
}
html body .h96-inner .related-grid > a > p { color: #43545e; font-size: 13px; line-height: 1.6; }
html body .h96-inner .related-grid > a:is(:hover, :focus-visible) {
  background: #bcff2e;
  border-color: #12202d;
  color: #12202d;
}
html body .h96-inner .related-grid > a:focus-visible { outline: 3px solid #12202d; outline-offset: 4px; }
@media (hover: hover) {
  html body .h96-inner .related-grid > a:hover { transform: translateY(-3px); }
}
@media (max-width: 720px) {
  html body .h96-inner .related-grid-section { padding: 40px 20px 48px; }
  html body .h96-inner .related-grid { gap: 12px; }
  html body .h96-inner .related-grid > a { min-height: 220px; padding: 20px; border-radius: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html body :is(.h96-home, .h96-inner) :is(.button, .problem-card, .home-price-grid > a, .related-grid > a) { transition: none !important; }
  html body :is(.h96-home, .h96-inner) :is(.problem-card, .related-grid > a):is(:hover, :focus-visible) { transform: none !important; }
}
@media print {
  html body .h96-home .hero { display: block; padding: 0; min-height: 0; }
  html body .h96-home .hero-visual,
  html body .h96-home .home-scroll-banner { display: none; }
  html body .h96-home .home-content-layout { padding: 0; }
}

/* The base stylesheet switches to a hamburger at 1120px, including desktop
   windows and browser zoom. Keep the six main links on their own visible row.
   The menu button remains available so an open mobile dialog can still close
   when resizing across 720px; the existing JS closes it above 1120px. */
@media screen and (min-width: 721px) and (max-width: 1120px) {
  html body :is(.h96-home, .h96-inner) .site-header {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    grid-template-rows: auto 44px;
    column-gap: 12px;
    row-gap: 8px;
    min-height: 0;
    padding: 12px 24px 10px;
  }
  html body :is(.h96-home, .h96-inner) .site-header .brand {
    grid-column: 1;
    grid-row: 1;
  }
  html body :is(.h96-home, .h96-inner) .header-contacts {
    display: flex !important;
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }
  html body :is(.h96-home, .h96-inner) .mobile-menu-trigger {
    grid-column: 3;
    grid-row: 1;
    margin-left: 0;
  }
  html body :is(.h96-home, .h96-inner) .h96-desktop-nav {
    display: grid !important;
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: stretch;
    gap: 4px;
    justify-self: stretch;
    width: 100%;
    min-width: 0;
    max-width: none;
  }
  html body :is(.h96-home, .h96-inner) .h96-services-menu {
    display: flex;
    align-items: stretch;
    min-width: 0;
  }
  html body :is(.h96-home, .h96-inner) .h96-desktop-nav > .site-nav-link,
  html body :is(.h96-home, .h96-inner) .h96-services-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    width: 100% !important;
    padding-inline: 8px !important;
    white-space: nowrap;
    text-align: center;
  }
  html body :is(.h96-home, .h96-inner) .h96-desktop-nav > .site-nav-link::after {
    display: none;
  }
  html body :is(.h96-home, .h96-inner) .h96-services-menu .services-menu-content {
    left: 0 !important;
    top: 100% !important;
    transform: none !important;
    min-width: 0;
    width: min(760px, calc(100vw - 48px)) !important;
    max-width: calc(100vw - 48px);
  }
}

/* A footer control needs a usable tap area, including narrow phones. */
html body :is(.h96-home, .h96-inner) .h96-cookie-settings {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid #ffffff33;
  border-radius: 10px;
  color: #d5e0e6;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  text-decoration-thickness: 1px;
  transition: color .18s, border-color .18s, background-color .18s;
}
html body :is(.h96-home, .h96-inner) .h96-cookie-settings:is(:hover, :focus-visible) {
  color: #12202d;
  background: #bcff2e;
  border-color: #bcff2e;
}
html body :is(.h96-home, .h96-inner) .h96-cookie-settings:focus-visible {
  outline: 3px solid #bcff2e;
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  html body :is(.h96-home, .h96-inner) .h96-cookie-settings { transition: none; }
}
