/* Approved compact design shared by the local demo and published pages. */
html:has(body.compact-design) { scrollbar-gutter: stable; }
@media (min-width: 901px) {
  .compact-design .site-shell { max-width: 1200px; }
  .compact-design.home-page { --u: min(calc(100vw / 1024), 1.171875px); }
  .compact-design.home-page .hero { height: calc(680 * var(--u)); }
  .compact-design.home-page .hero-copy { top: calc(148 * var(--u)); }
  .compact-design.home-page .hero h1 { font-size: calc(52 * var(--u)); }

  .compact-design.subpage-design .wrap { width: min(1080px, calc(100% - 80px)); }
  .compact-design.subpage-design .site-header { height: 80px; padding-block: 10px; }
  .compact-design.subpage-design .page-intro { padding-block: 32px; }
  .compact-design.subpage-design .page-intro h1,
  .compact-design.subpage-design .service-hero h1,
  .compact-design.subpage-design .about-intro h1,
  .compact-design.subpage-design .contact-intro h1 { font-size: 46px; }
  .compact-design.subpage-design .service-hero { padding-block: 30px 32px; }
  .compact-design.subpage-design .service-body { padding-block: 32px 42px; gap: 40px; }
  .compact-design.subpage-design .service-choice,
  .compact-design.subpage-design .service-choice:nth-child(even) { padding: 24px 26px; min-height: 128px; }
  .compact-design.subpage-design .service-choice h2 { font-size: 21px; }
  .compact-design.subpage-design .about-intro { padding-block: 34px; gap: 40px; }
  .compact-design.subpage-design .about-photo img { height: 300px; }
  .compact-design.subpage-design .contact-page { padding-block: 38px 48px; gap: 44px; }
}

/* Match the accepted subpage header without rescaling the homepage content. */
.compact-design.home-page .site-header {
  color: #032b40;
  font-size: 15px;
  line-height: 1.8;
}
.compact-design.home-page .site-header .nav-cta {
  font-weight: 650;
  line-height: 1.5;
  border-radius: 4px;
  background: #00bed7;
}
.compact-design.home-page .site-header .nav-cta:hover { background: #3ccddd; }
.compact-design.home-page .site-header .nav-cta svg { width: 21px; height: 21px; }
@media (min-width: 901px) {
  .compact-design.home-page .site-header {
    height: 80px;
    padding: 10px max(30px, calc((100% - 1160px) / 2));
    gap: 25px;
  }
  .compact-design.home-page .site-header .brand-crop { width: 208px; height: 52px; }
  .compact-design.home-page .site-header .brand-crop img {
    width: 1024px;
    left: -48px;
    top: -17px;
  }
  .compact-design.home-page .site-header #main-menu {
    min-height: 45px;
    padding-inline: 16px;
    font-size: 13px;
    line-height: 1.8;
    gap: 25px;
    border-radius: 5px;
  }
  .compact-design.home-page .site-header .nav-cta {
    width: 160px;
    min-width: 160px;
    min-height: 47px;
    padding: 13px 17px;
    font-size: 12px;
    gap: 18px;
    white-space: nowrap;
  }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .compact-design.home-page .site-header { padding-inline: 32px; gap: 20px; }
  .compact-design.home-page .site-header #main-menu { font-size: 12px; gap: 17px; }
  .compact-design.home-page .site-header .nav-cta {
    padding-inline: 13px;
    font-size: 11px;
    gap: 12px;
  }
}
@media (max-width: 900px) {
  .compact-design.home-page .site-header { height: 80px; padding: 12px 24px; gap: 20px; }
  .compact-design.home-page .site-header #main-menu {
    padding: 12px 24px 22px;
    font-size: 14px;
    line-height: 1.8;
  }
  .compact-design.home-page .site-header .nav-cta {
    width: auto;
    min-width: 0;
    min-height: 47px;
    padding: 13px;
    font-size: 11px;
    gap: 12px;
  }
}
@media (max-width: 600px) {
  .compact-design.home-page .site-header { height: 73px; padding-inline: 20px; }
  .compact-design.home-page .site-header .brand-crop { width: 173px; height: 43px; }
  .compact-design.home-page .site-header .brand-crop img { width: 850px; left: -40px; top: -14px; }
  .compact-design.home-page .site-header .nav-cta { display: none; }
  .compact-design.home-page .site-header .menu-toggle { margin-left: auto; }
  .compact-design.home-page .site-header #main-menu { padding-inline: 20px; }
}
