
:root {
  --navy: #073b7a;
  --navy-deep: #052f65;
  --blue: #0758a8;
  --blue-bright: #0b72c8;
  --green: #67aa3c;
  --green-dark: #4f8d2b;
  --ink: #123256;
  --muted: #52667f;
  --line: #dce8f2;
  --pale: #edf7fd;
  --pale-soft: #f7fbfe;
  --white: #ffffff;
  --shadow: 0 18px 50px rgba(7, 59, 122, 0.09);
  --radius: 22px;
}

/* High-resolution page media and shared footer social profiles (v1.2.6). */
/* Protected device and replacement-band commerce (v1.2.8). */
.hero-media.media-contain,
.split-media.media-contain {
  background: linear-gradient(145deg, #ffffff 0%, #f4f9fd 100%);
}

.hero-media.media-contain > img,
.split-media.media-contain > img {
  object-fit: contain !important;
  object-position: center !important;
  padding: clamp(24px, 3.2vw, 52px);
}

.hero-media.media-contain::after {
  box-shadow: inset 0 0 42px rgba(7, 59, 122, 0.035);
}

.footer-socials {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 20px;
}

.footer-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 2px solid rgba(255, 255, 255, 0.94);
  border-radius: 7px;
  color: #ffffff;
  line-height: 1;
}

a.footer-social-icon {
  transition: color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

a.footer-social-icon:hover,
a.footer-social-icon:focus-visible {
  color: #7dca51;
  border-color: #7dca51;
  transform: translateY(-2px);
}

.footer-social-facebook {
  border-radius: 50%;
}

.footer-social-icon svg {
  width: 24px;
  height: 24px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.footer-social-icon .social-fill {
  fill: currentColor;
  stroke: none;
}

@media (max-width: 900px) {
  .hero-media.media-contain > img,
  .split-media.media-contain > img {
    padding: clamp(18px, 5vw, 38px);
  }
}

@media (max-width: 620px) {
  .hero-media.media-contain,
  .split-media.media-contain {
    min-height: 0;
    aspect-ratio: 1 / 1;
  }

  .hero-media.media-contain > img,
  .split-media.media-contain > img {
    padding: 16px;
  }

  .footer-socials {
    gap: 12px;
  }
}

/* Footer-only resource pages: accessible grouped FAQ layout. */
.faq-group-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.38fr) minmax(0, 1fr);
  gap: clamp(38px, 7vw, 96px);
  align-items: start;
}

.faq-group-heading {
  position: sticky;
  top: 112px;
}

.faq-group-heading h2 {
  margin-bottom: 0;
}

.faq-list {
  display: grid;
  gap: 14px;
}

.faq-item {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: white;
  box-shadow: 0 8px 28px rgba(7, 59, 122, 0.045);
}

.faq-item summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 18px;
  align-items: center;
  padding: 22px 24px;
  color: var(--navy);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.4;
  cursor: pointer;
  list-style: none;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary i {
  position: relative;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--pale);
}

.faq-item summary i::before,
.faq-item summary i::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 16px;
  width: 14px;
  height: 2px;
  border-radius: 2px;
  background: var(--blue);
  transition: transform 180ms ease;
}

.faq-item summary i::after {
  transform: rotate(90deg);
}

.faq-item[open] summary i::after {
  transform: rotate(0deg);
}

.faq-item[open] summary {
  padding-bottom: 16px;
}

.faq-answer {
  padding: 0 76px 22px 24px;
}

.faq-answer p {
  margin: 0;
  color: var(--muted);
  font-size: 0.96rem;
  line-height: 1.75;
}

@media (max-width: 900px) {
  .faq-group-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  .faq-group-heading {
    position: static;
  }
}

@media (max-width: 620px) {
  .faq-item summary {
    grid-template-columns: minmax(0, 1fr) 30px;
    padding: 18px;
    font-size: 0.94rem;
  }

  .faq-item summary i {
    width: 30px;
    height: 30px;
  }

  .faq-item summary i::before,
  .faq-item summary i::after {
    left: 9px;
    top: 14px;
    width: 12px;
  }

  .faq-answer {
    padding: 0 18px 20px;
  }
}

/* Dedicated professional Contact Us page (v1.2.1). */
.contact-page {
  overflow: hidden;
  background: #fff;
}

.contact-hero {
  padding: 58px 0 52px;
  background:
    radial-gradient(circle at 8% 22%, rgba(11, 114, 200, 0.11), transparent 31%),
    linear-gradient(135deg, #f9fcff 0%, #eef8fd 100%);
}

.contact-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 54px;
}

.contact-hero-copy h1 {
  max-width: 590px;
  color: #111827;
}

.contact-hero-copy > p:not(.eyebrow) {
  max-width: 570px;
  margin-bottom: 26px;
  font-size: 1.05rem;
  line-height: 1.7;
}

.contact-hero-media {
  min-height: 420px;
  overflow: hidden;
  border-radius: 0 0 52px 0;
  background: #dcebf4;
  box-shadow: var(--shadow);
}

.contact-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  display: block;
  object-fit: cover;
  object-position: center;
}

.contact-quick-section {
  position: relative;
  z-index: 2;
  margin-top: -28px;
}

.contact-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(7, 59, 122, 0.1);
}

.contact-quick-card {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 22px 24px;
  border-right: 1px solid var(--line);
}

.contact-quick-card:last-child {
  border-right: 0;
}

a.contact-quick-card:hover {
  background: var(--pale-soft);
}

.contact-quick-card small,
.contact-quick-card strong {
  display: block;
}

.contact-quick-card small {
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.contact-quick-card strong {
  overflow-wrap: anywhere;
  color: var(--navy-deep);
  font-size: 0.9rem;
}


.contact-response-card em {
  display: block;
  margin-top: 5px;
  color: var(--green-dark);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.35;
}

.contact-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eff7ff;
  color: var(--blue);
}

.contact-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.contact-main-section {
  padding: 76px 0 88px;
}

.contact-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  align-items: start;
  gap: 34px;
}

.contact-form-card,
.contact-details-card {
  border: 1px solid var(--line);
  border-radius: 18px;
}

.contact-form-card {
  padding: 42px;
  background: #fff;
  box-shadow: var(--shadow);
  scroll-margin-top: 96px;
}

.contact-form-card > p:not(.eyebrow) {
  max-width: 620px;
  margin-bottom: 28px;
}

.contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.contact-form label {
  display: grid;
  gap: 7px;
  color: var(--navy-deep);
  font-size: 0.83rem;
  font-weight: 600;
}

.contact-form .is-wide {
  grid-column: 1 / -1;
}

.contact-form :is(input, select, textarea) {
  width: 100%;
  min-height: 48px;
  padding: 12px 13px;
  border: 1px solid #bfd3e4;
  border-radius: 8px;
  background: #fff;
  color: #172b46;
  font: inherit;
  font-weight: 400;
}

.contact-form textarea {
  min-height: 150px;
  resize: vertical;
}

.contact-form :is(input, select, textarea):focus {
  outline: 3px solid rgba(11, 114, 200, 0.16);
  border-color: var(--blue-bright);
}

.contact-check-row {
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: start;
  gap: 11px !important;
  margin: 24px 0;
  color: var(--muted) !important;
  font-size: 0.77rem !important;
  font-weight: 400 !important;
  line-height: 1.55;
}

.contact-check-row input {
  width: 18px !important;
  min-height: 18px !important;
  margin-top: 2px;
  padding: 0 !important;
}

.contact-check-row strong {
  color: var(--navy-deep);
}

.contact-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.contact-notice {
  margin: 0 0 24px;
  padding: 15px 17px;
  border: 1px solid;
  border-radius: 9px;
  font-size: 0.85rem;
  line-height: 1.5;
}

.contact-notice.is-success {
  border-color: #9ccd7d;
  background: #f3faed;
  color: #315e1a;
}

.contact-notice.is-error {
  border-color: #dda9a9;
  background: #fff3f3;
  color: #8b2424;
}

.contact-details-card {
  padding: 36px 30px;
  background: var(--navy);
  color: #fff;
}

.contact-details-card :is(h2, .eyebrow) {
  color: #fff;
}

.contact-details-card .eyebrow {
  color: #71d4ee;
}

.contact-route-list {
  margin-top: 28px;
}

.contact-route-list > div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 13px;
  padding: 18px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.19);
}

.contact-route-list > div > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  font-size: 0.78rem;
  font-weight: 700;
}

.contact-route-list p,
.contact-safety-note p {
  margin: 0;
  color: #d9e6f3;
  font-size: 0.78rem;
  line-height: 1.55;
}

.contact-route-list strong {
  display: block;
  margin-bottom: 4px;
  color: #fff;
  font-size: 0.9rem;
}

.contact-safety-note {
  margin-top: 20px;
  padding: 19px;
  border: 1px solid rgba(255, 255, 255, 0.19);
  border-left: 4px solid var(--green);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.06);
}

.contact-safety-note > strong {
  display: block;
  margin-bottom: 6px;
  color: #fff;
  font-size: 0.82rem;
}

@media (max-width: 840px) {
  .contact-hero {
    padding-top: 42px;
  }

  .contact-hero-grid,
  .contact-main-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-hero-grid {
    gap: 32px;
  }

  .contact-hero-media,
  .contact-hero-media img {
    min-height: 360px;
  }

  .contact-quick-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-quick-card {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .contact-quick-card:last-child {
    border-bottom: 0;
  }

  .contact-details-card {
    order: -1;
  }
}

@media (max-width: 560px) {
  .contact-hero {
    padding: 30px 0 48px;
  }

  .contact-hero-copy > p:not(.eyebrow) {
    font-size: 0.95rem;
  }

  .contact-hero-media,
  .contact-hero-media img {
    min-height: 270px;
  }

  .contact-hero-media {
    border-radius: 0 0 34px 0;
  }

  .contact-main-section {
    padding: 56px 0 64px;
  }

  .contact-form-card,
  .contact-details-card {
    padding: 26px 20px;
  }

  .contact-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-form .is-wide {
    grid-column: auto;
  }

  .contact-form > .button {
    width: 100%;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: "Poppins", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2,
h3 {
  color: var(--navy-deep);
  letter-spacing: -0.025em;
  line-height: 1.08;
}

h1 {
  font-size: clamp(2.55rem, 4vw, 3.375rem);
  max-width: 680px;
  margin-bottom: 18px;
}

h2 {
  font-size: clamp(1.8rem, 2.65vw, 2.25rem);
  margin-bottom: 18px;
}

h3 {
  font-size: 1rem;
  margin-bottom: 9px;
}

p {
  color: var(--muted);
}

.shell {
  width: min(1080px, calc(100% - 72px));
  margin-inline: auto;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 999;
  transform: translateY(-150%);
  padding: 10px 16px;
  border-radius: 8px;
  background: var(--navy);
  color: white;
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid #f0f1f1;
  background: #ffffff;
  box-shadow: none;
}

.header-inner {
  width: calc(100% - 74px);
  max-width: none;
  height: 70px;
  min-height: 70px;
  display: flex;
  align-items: center;
  gap: 0;
}

.brand {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.brand > a {
  width: 180px;
  height: 54px;
  display: flex;
  align-items: center;
  line-height: 0;
}

.brand img {
  width: 180px;
  height: 54px;
  object-fit: contain;
  object-position: left center;
}

.desktop-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-left: 28px;
}

.desktop-nav a,
.text-link {
  color: #374151;
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
}

.desktop-nav a:hover,
.text-link:hover,
.site-footer a:hover {
  color: var(--green);
}

/* Clearly identify the page currently being viewed. */
.desktop-nav-list :is(
  .current-menu-item,
  .current_page_item,
  .current-menu-ancestor,
  .current_page_ancestor
) > a,
.desktop-nav-list a[aria-current="page"] {
  position: relative;
  color: var(--green-dark);
}

.desktop-nav-list :is(
  .current-menu-item,
  .current_page_item,
  .current-menu-ancestor,
  .current_page_ancestor
) > a::after,
.desktop-nav-list a[aria-current="page"]::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 18px;
  left: 0;
  height: 3px;
  border-radius: 999px;
  background: var(--green);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-left: auto;
}

.nav-cta {
  min-width: 180px;
  height: 35px;
  min-height: 35px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 14px;
  border: 1.5px solid #91c87a;
  border-radius: 6px;
  background: #fffffe;
  color: #53983b;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.nav-cta:hover,
.nav-cta:focus-visible {
  border-color: #53983b;
  background: #f9fff7;
  color: #3f7f2f;
}

.nav-cta-arrow {
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-2px);
}

.mobile-menu {
  display: none;
  margin-left: auto;
  position: relative;
}

.mobile-menu summary {
  list-style: none;
  cursor: pointer;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 9px 16px;
  color: var(--navy);
  font-weight: 700;
}

.mobile-menu summary::-webkit-details-marker {
  display: none;
}

.mobile-menu nav {
  position: absolute;
  right: 0;
  top: 50px;
  width: min(320px, calc(100vw - 40px));
  display: grid;
  gap: 2px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: white;
  box-shadow: var(--shadow);
}

.mobile-menu nav a {
  color: #374151;
  padding: 10px 12px;
  border-radius: 8px;
  font-weight: 700;
}

.mobile-menu nav a:hover {
  background: var(--pale);
}

.mobile-nav-list :is(
  .current-menu-item,
  .current_page_item,
  .current-menu-ancestor,
  .current_page_ancestor
) > a,
.mobile-nav-list a[aria-current="page"] {
  border-left: 4px solid var(--green);
  background: #f1f8ed;
  color: var(--green-dark);
  font-weight: 800;
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

.button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid transparent;
  border-radius: 9px;
  padding: 12px 21px;
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(7, 59, 122, 0.18);
}

.button-small {
  min-height: 42px;
  padding: 9px 15px;
  font-size: 0.8rem;
}

.button-primary {
  background: var(--blue);
  color: white;
}

.button-green {
  background: var(--green);
  color: white;
}

.button-outline {
  border-color: var(--blue);
  color: var(--blue);
  background: white;
}

.button-light-outline {
  border-color: rgba(255, 255, 255, 0.7);
  color: white;
}

.eyebrow {
  margin-bottom: 12px;
  color: var(--green-dark) !important;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.15em;
  line-height: 1.4;
  text-transform: uppercase;
}

.page-hero {
  overflow: hidden;
  background:
    radial-gradient(circle at 13% 20%, rgba(11, 114, 200, 0.08), transparent 29%),
    linear-gradient(180deg, #ffffff 0%, #f8fcff 100%);
}

.dental-structure-home > .page-hero .hero-copy h1 {
  color: #000000;
}

.dental-structure-home > .page-hero .hero-copy .eyebrow {
  color: #052f65 !important;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 42fr) minmax(480px, 58fr);
  align-items: stretch;
  gap: clamp(28px, 4vw, 58px);
  min-height: 470px;
}

.hero-copy {
  align-self: center;
  padding: 64px 0;
}

.hero-description {
  max-width: 700px;
  margin-bottom: 26px;
  font-size: 1.0625rem;
  line-height: 1.55;
}

.hero-note {
  max-width: 690px;
  margin: 22px 0 0;
  padding-left: 15px;
  border-left: 3px solid var(--green);
  font-size: 0.9rem;
  color: var(--muted);
}

.hero-media {
  position: relative;
  min-height: 470px;
  border-radius: 0 0 0 56px;
  overflow: hidden;
  background: var(--pale);
}

.hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 30px 0 70px rgba(7, 59, 122, 0.06);
  pointer-events: none;
}

.hero-media img {
  object-fit: cover;
}

.value-strip {
  position: relative;
  z-index: 3;
  border-block: 1px solid var(--line);
  background: white;
}

.value-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding-block: 25px;
}

.value-grid > div {
  min-height: 58px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 4px 24px;
  border-right: 1px solid var(--line);
  text-align: center;
}

.value-grid > div:last-child {
  border-right: 0;
}

.value-grid strong {
  color: var(--navy);
  font-size: 1.05rem;
  line-height: 1.2;
}

.value-grid span {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.section {
  padding: 54px 0;
}

.section-pale {
  background: var(--pale-soft);
}

.section-navy {
  background: var(--navy-deep);
}

.section-navy h2,
.section-navy h3,
.section-navy p {
  color: white;
}

.section-heading {
  max-width: 780px;
  margin-bottom: 44px;
}

.section-heading > p:last-child {
  max-width: 720px;
  font-size: 1.05rem;
}

.section-heading.centered {
  margin-inline: auto;
  text-align: center;
}

.intro-section {
  padding-top: 88px;
  padding-bottom: 68px;
}

.intro-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(36px, 8vw, 110px);
  align-items: start;
}

.intro-grid h2 {
  margin-bottom: 0;
}

.intro-grid > p {
  margin: 12px 0 0;
  font-size: 1.12rem;
  line-height: 1.85;
}

.card-grid {
  display: grid;
  gap: 22px;
}

.columns-2 { grid-template-columns: repeat(2, 1fr); }
.columns-3 { grid-template-columns: repeat(3, 1fr); }
.columns-4 { grid-template-columns: repeat(4, 1fr); }

.content-card {
  position: relative;
  min-height: 225px;
  overflow: hidden;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: white;
  box-shadow: 0 10px 35px rgba(7, 59, 122, 0.055);
}

.content-card::after {
  content: "";
  position: absolute;
  inset: auto -45px -55px auto;
  width: 105px;
  height: 105px;
  border-radius: 50%;
  background: rgba(103, 170, 60, 0.08);
}

.card-number {
  display: inline-flex;
  min-width: 38px;
  height: 30px;
  align-items: center;
  justify-content: center;
  margin-bottom: 23px;
  border-radius: 999px;
  background: var(--pale);
  color: var(--blue);
  font-size: 0.75rem;
  font-weight: 900;
}

.content-card p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.72;
}

.content-card .evidence-classification {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin: -10px 0 16px;
  padding: 6px 10px;
  border: 1px solid rgba(7, 59, 122, 0.14);
  border-radius: 999px;
  background: var(--pale);
  color: var(--blue);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.35;
}

.evidence-card-links {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.evidence-card-links a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid rgba(7, 59, 122, 0.18);
  border-radius: 999px;
  background: #fff;
  color: var(--blue);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
}

.evidence-card-links a:hover,
.evidence-card-links a:focus-visible {
  border-color: var(--green);
  color: var(--green-dark);
}

.split-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(45px, 7vw, 95px);
  align-items: center;
}

.split-grid.split-reverse .split-copy {
  order: 2;
}

.split-grid.split-reverse .split-media {
  order: 1;
}

.split-copy > p:not(.eyebrow) {
  font-size: 1.05rem;
  line-height: 1.82;
}

.split-media {
  position: relative;
  min-height: 480px;
  overflow: hidden;
  border-radius: 30px;
  background: var(--pale);
  box-shadow: var(--shadow);
}

.split-media img {
  object-fit: cover;
}

.check-list {
  display: grid;
  gap: 12px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.check-list li {
  position: relative;
  padding-left: 30px;
  color: var(--ink);
  font-weight: 700;
}

.check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(103, 170, 60, 0.15);
  color: var(--green-dark);
  font-size: 0.76rem;
}

.steps-list {
  position: relative;
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.steps-list::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 30px;
  bottom: 30px;
  width: 2px;
  background: var(--line);
}

.steps-list li {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 20px;
  align-items: start;
  padding: 22px 28px 22px 0;
  border-radius: 18px;
  background: white;
  box-shadow: 0 8px 25px rgba(7, 59, 122, 0.045);
}

.steps-list li > span {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 2px solid var(--blue);
  border-radius: 50%;
  background: white;
  color: var(--blue);
  font-weight: 900;
}

.steps-list h3 {
  margin: 3px 0 7px;
}

.steps-list p {
  margin: 0;
}

.clinical-note {
  border-block: 1px solid #d5e6cf;
  background: #f4faef;
}

.clinical-note .shell {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 38px;
  align-items: start;
  padding-block: 27px;
}

.clinical-note strong {
  color: var(--green-dark);
}

.clinical-note p {
  margin: 0;
  font-size: 0.91rem;
  line-height: 1.7;
}

.page-cta {
  padding: 68px 0;
  background: linear-gradient(135deg, var(--navy-deep), var(--navy) 65%, #08569e);
}

.page-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 50px;
  align-items: center;
}

.page-cta .eyebrow {
  color: #94cc72 !important;
}

.page-cta h2,
.page-cta p {
  color: white;
}

.page-cta h2 {
  max-width: 740px;
  margin-bottom: 12px;
}

.page-cta p:last-child {
  max-width: 760px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.8);
}

.home-problem {
  background: linear-gradient(180deg, #f8fcff, #ffffff);
}

.benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.benefit-grid article {
  padding: 26px 24px;
  border-top: 4px solid var(--green);
  border-radius: 0 0 16px 16px;
  background: white;
  box-shadow: var(--shadow);
}

.benefit-grid span {
  display: block;
  margin-bottom: 28px;
  color: var(--blue-bright);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.benefit-grid p {
  margin: 0;
  font-size: 0.9rem;
}

.device-feature-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: clamp(50px, 8vw, 110px);
  align-items: center;
}

.device-feature-grid > div:first-child > p:not(.eyebrow) {
  font-size: 1.05rem;
}

.device-visual {
  position: relative;
  min-height: 560px;
  border-radius: 30px;
  background: radial-gradient(circle, #ffffff, var(--pale));
  box-shadow: var(--shadow);
}

.device-visual img {
  object-fit: contain;
  padding: 25px;
}

.inline-link {
  display: inline-flex;
  gap: 8px;
  margin-top: 26px;
  color: var(--blue);
  font-weight: 900;
}

.inline-link:hover {
  color: var(--green-dark);
}

.mode-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.mode-grid article {
  padding: 24px 28px 30px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: white;
  text-align: center;
  box-shadow: 0 12px 36px rgba(7, 59, 122, 0.06);
}

.mode-image {
  position: relative;
  height: 230px;
  margin-bottom: 20px;
}

.mode-image img {
  object-fit: contain;
}

.mode-grid h3 {
  margin-bottom: 5px;
  font-size: 1.4rem;
}

.mode-grid strong {
  display: block;
  margin-bottom: 12px;
  color: var(--green-dark);
}

.mode-grid p {
  margin: 0;
  font-size: 0.92rem;
}

.pathway-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.pathway-grid article {
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: white;
  box-shadow: var(--shadow);
}

.pathway-icon {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  margin-bottom: 26px;
  border-radius: 13px;
  background: var(--navy);
  color: white;
  font-size: 1.6rem;
  font-weight: 300;
}

.pathway-grid article:nth-child(2) .pathway-icon {
  background: var(--green);
}

.pathway-grid p {
  min-height: 90px;
}

.site-footer {
  padding-top: 62px;
  background: #04295a;
  color: white;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.45fr 0.72fr 0.88fr 1.25fr;
  gap: 42px;
  padding-bottom: 45px;
}

.footer-brand img {
  width: 235px;
  height: auto;
  margin-bottom: 20px;
  padding: 12px 15px;
  border-radius: 8px;
  background: white;
}

.site-footer h2 {
  margin-bottom: 20px;
  color: white;
  font-size: 0.78rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.site-footer a {
  display: block;
  margin-bottom: 10px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.88rem;
}

.footer-brand > p {
  max-width: 420px;
  color: rgba(255, 255, 255, 0.76);
}

.footer-brand .footer-status {
  font-size: 0.8rem;
  color: #b9d6f2;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  padding-block: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.footer-bottom p {
  margin: 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.75rem;
}

/*
 * Body presentation is intentionally 30% more compact.
 * Header and primary navigation measurements remain unchanged.
 */
main .shell {
  width: min(826px, calc(100% - 40px));
}

main h1 {
  font-size: clamp(1.96rem, 3.5vw, 3.955rem);
  max-width: 574px;
  margin-bottom: 18px;
}

main h2 {
  font-size: clamp(1.435rem, 2.38vw, 2.59rem);
  margin-bottom: 15px;
}

main h3 {
  font-size: 1.02rem;
  margin-bottom: 9px;
}

main .button {
  min-height: 42px;
  padding: 9px 16px;
  font-size: 0.82rem;
}

main .button-row {
  gap: 10px;
}

main .hero-grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(336px, 1.05fr);
  gap: clamp(24px, 3.5vw, 55px);
  min-height: 434px;
}

main .hero-copy {
  padding: 59px 0;
}

main .hero-description {
  max-width: 490px;
  margin-bottom: 21px;
  font-size: clamp(0.92rem, 1.15vw, 1.08rem);
}

main .hero-note {
  max-width: 483px;
  margin-top: 15px;
  padding-left: 11px;
  font-size: 0.8rem;
}

main .hero-media {
  min-height: 434px;
  border-radius: 0 0 0 56px;
}

main .value-grid {
  padding-block: 18px;
}

main .value-grid > div {
  min-height: 41px;
  padding: 3px 17px;
}

main .value-grid strong {
  font-size: 0.92rem;
}

main .value-grid span {
  font-size: 0.72rem;
}

main .section {
  padding: 67px 0;
}

main .section-heading {
  max-width: 546px;
  margin-bottom: 31px;
}

main .section-heading > p:last-child {
  max-width: 504px;
  font-size: 0.94rem;
}

main .intro-section {
  padding-top: 62px;
  padding-bottom: 48px;
}

main .intro-grid {
  gap: clamp(25px, 5.6vw, 77px);
}

main .intro-grid > p {
  margin-top: 8px;
  font-size: 0.98rem;
  line-height: 1.72;
}

main .card-grid {
  gap: 15px;
}

main .content-card {
  min-height: 158px;
  padding: 21px;
  border-radius: 15px;
}

main .card-number {
  min-width: 32px;
  height: 25px;
  margin-bottom: 16px;
  font-size: 0.68rem;
}

main .content-card p {
  font-size: 0.82rem;
  line-height: 1.62;
}

main .split-grid {
  gap: clamp(32px, 4.9vw, 67px);
}

main .split-copy > p:not(.eyebrow) {
  font-size: 0.94rem;
  line-height: 1.7;
}

main .split-media {
  min-height: 336px;
  border-radius: 21px;
}

main .check-list {
  gap: 8px;
  margin-top: 18px;
}

main .check-list li {
  padding-left: 25px;
  font-size: 0.86rem;
}

main .check-list li::before {
  width: 18px;
  height: 18px;
}

main .steps-list {
  gap: 11px;
}

main .steps-list::before {
  left: 18px;
  top: 21px;
  bottom: 21px;
}

main .steps-list li {
  grid-template-columns: 38px 1fr;
  gap: 14px;
  padding: 15px 20px 15px 0;
  border-radius: 13px;
}

main .steps-list li > span {
  width: 38px;
  height: 38px;
  font-size: 0.78rem;
}

main .steps-list p {
  font-size: 0.84rem;
}

main .clinical-note .shell {
  grid-template-columns: 154px 1fr;
  gap: 27px;
  padding-block: 19px;
}

main .clinical-note p {
  font-size: 0.8rem;
}

main .page-cta {
  padding: 48px 0;
}

main .page-cta-inner {
  gap: 35px;
}

main .page-cta h2 {
  max-width: 518px;
}

main .page-cta p:last-child {
  max-width: 532px;
  font-size: 0.88rem;
}

main .benefit-grid {
  gap: 13px;
}

main .benefit-grid article {
  padding: 18px 17px;
  border-radius: 0 0 11px 11px;
}

main .benefit-grid span {
  margin-bottom: 20px;
}

main .benefit-grid p {
  font-size: 0.8rem;
}

main .device-feature-grid {
  gap: clamp(35px, 5.6vw, 77px);
}

main .device-feature-grid > div:first-child > p:not(.eyebrow) {
  font-size: 0.94rem;
}

main .device-visual {
  min-height: 392px;
  border-radius: 21px;
}

main .device-visual img {
  padding: 18px;
}

main .mode-grid {
  gap: 15px;
}

main .mode-grid article {
  padding: 17px 20px 21px;
  border-radius: 14px;
}

main .mode-image {
  height: 161px;
  margin-bottom: 14px;
}

main .mode-grid h3 {
  font-size: 1.16rem;
}

main .mode-grid strong {
  margin-bottom: 8px;
  font-size: 0.82rem;
}

main .mode-grid p {
  font-size: 0.8rem;
}

main .pathway-grid {
  gap: 15px;
}

main .pathway-grid article {
  padding: 24px;
  border-radius: 15px;
}

main .pathway-icon {
  width: 36px;
  height: 36px;
  margin-bottom: 18px;
  border-radius: 9px;
  font-size: 1.25rem;
}

main .pathway-grid p {
  min-height: 63px;
  font-size: 0.84rem;
}

@media (max-width: 1120px) {
  .columns-4,
  .benefit-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .desktop-nav,
  .header-actions {
    display: none;
  }

  .mobile-menu {
    display: block;
  }

  .hero-grid,
  .intro-grid,
  .split-grid,
  .device-feature-grid,
  .page-cta-inner {
    grid-template-columns: 1fr;
  }

  .hero-grid {
    gap: 0;
  }

  .hero-copy {
    padding: 68px 0 54px;
  }

  .hero-media {
    min-height: 480px;
    border-radius: 35px 35px 0 0;
  }

  main .hero-media {
    min-height: 336px;
    border-radius: 25px 25px 0 0;
  }

  .intro-grid {
    gap: 20px;
  }

  .split-grid.split-reverse .split-copy,
  .split-grid.split-reverse .split-media {
    order: initial;
  }

  .columns-3,
  .mode-grid,
  .pathway-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .value-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .value-grid > div:nth-child(2) {
    border-right: 0;
  }

  .value-grid > div:nth-child(-n + 2) {
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--line);
  }

  .page-cta-inner {
    gap: 28px;
  }

  .footer-grid {
    grid-template-columns: 1.5fr 1fr 1fr;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .shell {
    width: min(100% - 28px, 1180px);
  }

  .header-inner {
    min-height: 70px;
  }

  .brand img {
    width: 165px;
    height: 48px;
  }

  h1 {
    font-size: clamp(2.4rem, 12vw, 3.6rem);
  }

  .section {
    padding: 74px 0;
  }

  .hero-copy {
    padding-top: 56px;
  }

  .hero-media {
    min-height: 360px;
  }

  main .shell {
    width: min(100% - 28px, 826px);
  }

  main .hero-media {
    min-height: 252px;
  }

  .columns-2,
  .columns-3,
  .columns-4,
  .benefit-grid,
  .mode-grid,
  .pathway-grid {
    grid-template-columns: 1fr;
  }

  .value-grid > div {
    padding-inline: 10px;
  }

  .split-media,
  .device-visual {
    min-height: 340px;
  }

  main .split-media,
  main .device-visual {
    min-height: 238px;
  }

  .mode-image {
    height: 210px;
  }

  main .mode-image {
    height: 147px;
  }

  .clinical-note .shell {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 38px 26px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }

  .footer-bottom {
    flex-direction: column;
  }
}

/* Professional provider and clinic portal. */
.page-provider-registration .wp-content-shell,
.page-provider-login .wp-content-shell,
.page-provider-portal .wp-content-shell,
.page-clinic-portal .wp-content-shell {
  max-width: 1180px;
}

.page-provider-registration .wp-content-card,
.page-provider-login .wp-content-card,
.page-provider-portal .wp-content-card,
.page-clinic-portal .wp-content-card {
  padding: 0;
  border: 0;
  box-shadow: none;
}

.page-provider-registration .wp-content-card > h1,
.page-provider-login .wp-content-card > h1,
.page-provider-portal .wp-content-card > h1,
.page-clinic-portal .wp-content-card > h1 {
  max-width: none;
  margin-bottom: 30px;
  font-size: clamp(2.35rem, 4vw, 4.2rem);
}

.iso-portal-shell {
  --portal-border: #d5e4f0;
  color: var(--ink);
}

.iso-portal-intro {
  max-width: 760px;
  margin-bottom: 30px;
}

.iso-portal-intro h2,
.iso-dashboard-header h2 {
  font-size: clamp(2rem, 3.2vw, 3.25rem);
}

.iso-portal-panel,
.iso-dashboard-section,
.iso-registration-form,
.iso-approval-card {
  border: 1px solid var(--portal-border);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 16px 44px rgba(7, 59, 122, 0.08);
}

.iso-portal-panel,
.iso-dashboard-section,
.iso-registration-form {
  padding: clamp(24px, 4vw, 42px);
}

.iso-portal-notice {
  margin-bottom: 24px;
  padding: 15px 18px;
  border: 1px solid #a9cae6;
  border-radius: 10px;
  background: #edf7ff;
  color: var(--navy-deep);
  font-weight: 700;
}

.iso-portal-notice.is-success {
  border-color: #aad18d;
  background: #f0fae9;
}

.iso-portal-notice.is-error {
  border-color: #e5a6a6;
  background: #fff1f1;
  color: #7f2020;
}

.iso-account-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 34px;
  padding: 0;
  border: 0;
}

.iso-account-choice legend {
  grid-column: 1 / -1;
  width: 100%;
  margin-bottom: 10px;
  color: var(--navy-deep);
  font-size: 1.15rem;
  font-weight: 800;
}

.iso-account-choice label {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  min-height: 102px;
  padding: 19px;
  border: 2px solid var(--portal-border);
  border-radius: 14px;
  cursor: pointer;
}

.iso-account-choice label:has(input:checked) {
  border-color: var(--blue);
  background: #f3f9ff;
}

.iso-account-choice input {
  margin-top: 5px;
  accent-color: var(--blue);
}

.iso-account-choice strong,
.iso-account-choice small {
  display: block;
}

.iso-account-choice small {
  margin-top: 5px;
  color: var(--muted);
  line-height: 1.45;
}

.iso-form-section {
  padding: 28px 0;
  border-top: 1px solid var(--portal-border);
}

.iso-form-section[hidden] {
  display: none;
}

.iso-form-section h3 {
  margin-bottom: 20px;
  font-size: 1.35rem;
}

.iso-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.iso-form-grid label,
.iso-portal-form > label,
#loginform label {
  color: var(--navy-deep);
  font-size: 0.88rem;
  font-weight: 800;
}

.iso-form-grid label.is-wide {
  grid-column: 1 / -1;
}

.iso-form-grid input,
.iso-form-grid select,
.iso-portal-form textarea,
#loginform input[type="text"],
#loginform input[type="password"] {
  display: block;
  width: 100%;
  min-height: 50px;
  margin-top: 7px;
  padding: 10px 13px;
  border: 1px solid #b9cddd;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.iso-form-grid input:focus,
.iso-form-grid select:focus,
#loginform input:focus {
  border-color: var(--blue);
  outline: 3px solid rgba(11, 114, 200, 0.15);
}

.iso-form-grid label small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 400;
}

.iso-check-row {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  margin: 25px 0 16px;
}

.iso-check-row input {
  margin-top: 6px;
  accent-color: var(--green-dark);
}

.iso-phi-warning,
.iso-commerce-message {
  margin: 16px 0 25px;
  padding: 16px 18px;
  border-left: 4px solid var(--green);
  background: var(--pale-soft);
  color: var(--muted);
}

.iso-form-signin {
  display: inline-block;
  margin: 0 0 0 18px;
}

.iso-form-signin a,
.iso-password-link,
.iso-login-shell a:not(.button),
.iso-order-table a {
  color: var(--blue);
  font-weight: 800;
}

.iso-login-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 28px;
}

#loginform {
  margin-top: 28px;
}

#loginform .login-remember label {
  display: flex;
  gap: 8px;
  align-items: center;
  font-weight: 600;
}

#loginform .button-primary {
  min-height: 48px;
  padding: 12px 22px;
  border: 0;
  border-radius: 9px;
  background: var(--blue);
  color: white;
  font-weight: 800;
  cursor: pointer;
}

.iso-login-help {
  padding: clamp(25px, 4vw, 42px);
  border-radius: 20px;
  background: var(--navy-deep);
  color: #fff;
}

.iso-login-help h3,
.iso-login-help p,
.iso-login-help small,
.iso-login-help a:not(.button) {
  color: #fff;
}

.iso-login-help small {
  display: block;
  margin-top: 30px;
}

.iso-dashboard-header {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
  margin-bottom: 30px;
  padding: clamp(25px, 4vw, 46px);
  border-radius: 22px;
  background: linear-gradient(135deg, #edf7fd, #fff 68%);
}

.iso-dashboard-header h2,
.iso-dashboard-header p {
  margin-bottom: 8px;
}

.iso-approval-card {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: clamp(25px, 4vw, 42px);
}

.iso-approval-icon {
  display: grid;
  flex: 0 0 60px;
  height: 60px;
  place-items: center;
  border-radius: 50%;
  background: var(--pale);
  color: var(--green-dark);
  font-size: 1.6rem;
  font-weight: 900;
}

.iso-dashboard-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 28px;
  overflow: hidden;
  border: 1px solid var(--portal-border);
  border-radius: 15px;
}

.iso-dashboard-stats > div {
  padding: 20px;
  border-right: 1px solid var(--portal-border);
}

.iso-dashboard-stats > div:last-child {
  border-right: 0;
}

.iso-dashboard-stats strong,
.iso-dashboard-stats span {
  display: block;
}

.iso-dashboard-stats strong {
  color: var(--navy-deep);
  font-size: 1.1rem;
}

.iso-dashboard-stats span {
  color: var(--muted);
  font-size: 0.8rem;
}

.iso-dashboard-section {
  margin-bottom: 28px;
}

.iso-section-title {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-end;
  margin-bottom: 20px;
}

.iso-section-title h3,
.iso-section-title p {
  margin-bottom: 0;
}

.iso-section-title > a {
  color: var(--blue);
  font-weight: 800;
}

.iso-product-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 0.55fr);
  gap: 32px;
  padding: 28px;
  border: 1px solid var(--portal-border);
  border-radius: 15px;
  background: var(--pale-soft);
}

.iso-product-purchase {
  padding: 22px;
  border-radius: 12px;
  background: #fff;
}

.iso-product-price {
  display: block;
  margin-bottom: 13px;
  color: var(--navy-deep);
  font-size: 1.6rem;
  font-weight: 900;
}

.iso-product-purchase form {
  display: flex;
  gap: 12px;
  align-items: end;
}

.iso-product-purchase label {
  color: var(--navy-deep);
  font-size: 0.8rem;
  font-weight: 800;
}

.iso-product-purchase input {
  display: block;
  width: 72px;
  min-height: 44px;
  margin-top: 4px;
  padding: 8px;
  border: 1px solid #b9cddd;
  border-radius: 7px;
}

.iso-product-purchase small {
  display: block;
  margin-top: 14px;
  color: var(--muted);
  line-height: 1.5;
}

.iso-order-table-wrap {
  overflow-x: auto;
}

.iso-order-table {
  width: 100%;
  border-collapse: collapse;
}

.iso-order-table th,
.iso-order-table td {
  padding: 13px 10px;
  border-bottom: 1px solid var(--portal-border);
  text-align: left;
}

.iso-order-table th {
  color: var(--navy-deep);
  font-size: 0.8rem;
  text-transform: uppercase;
}

.iso-status-badge {
  display: inline-block;
  padding: 4px 9px;
  border-radius: 99px;
  background: var(--pale);
  color: var(--navy);
  font-size: 0.77rem;
  font-weight: 800;
}

.iso-empty-state {
  padding: 22px;
  border: 1px dashed #b9cddd;
  border-radius: 12px;
}

.iso-empty-state strong,
.iso-empty-state span {
  display: block;
}

.iso-empty-state span {
  color: var(--muted);
}

.iso-dashboard-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.5fr);
  gap: 28px;
}

.iso-account-form .button {
  margin-top: 22px;
}

.iso-password-link {
  margin-left: 18px;
}

.iso-resource-panel > a {
  display: block;
  margin-top: 13px;
  padding: 17px;
  border: 1px solid var(--portal-border);
  border-radius: 10px;
}

.iso-resource-panel > a strong,
.iso-resource-panel > a span {
  display: block;
}

.iso-resource-panel > a strong {
  color: var(--blue);
}

.iso-resource-panel > a span {
  color: var(--muted);
  font-size: 0.82rem;
}

.iso-protected-price {
  color: var(--muted);
  font-size: 0.9rem;
}

.iso-commerce-shell .woocommerce {
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--shadow);
}

.iso-commerce-navigation {
  display: flex;
  align-items: center;
  margin-bottom: 14px;
}

.iso-commerce-back {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--blue);
  font-weight: 700;
  text-decoration: none;
}

.iso-commerce-back:hover,
.iso-commerce-back:focus-visible {
  color: var(--green);
}

.iso-continue-shopping-wrap {
  margin-top: 14px;
}

.iso-continue-shopping.button,
.woocommerce .iso-continue-shopping.button {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  border: 1px solid var(--blue);
  background: #fff;
  color: var(--blue);
}

.iso-continue-shopping.button:hover,
.iso-continue-shopping.button:focus-visible,
.woocommerce .iso-continue-shopping.button:hover,
.woocommerce .iso-continue-shopping.button:focus-visible {
  border-color: var(--green);
  background: #fff;
  color: var(--green);
}

.iso-single-band-material select {
  width: 100%;
  min-height: 42px;
}

.iso-checkout-flow {
  margin-bottom: 20px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f6fbff;
}

.iso-checkout-flow ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.iso-checkout-flow li {
  position: relative;
  z-index: 0;
  display: grid;
  gap: 8px;
  justify-items: center;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.iso-checkout-flow li:not(:last-child)::after {
  position: absolute;
  z-index: -1;
  top: 16px;
  left: calc(50% + 20px);
  width: calc(100% - 40px);
  height: 2px;
  background: #ceddea;
  content: "";
}

.iso-checkout-flow li.is-complete:not(:last-child)::after {
  background: var(--green);
}

.iso-checkout-step-number {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 2px solid #cad9e7;
  border-radius: 50%;
  background: #fff;
  color: var(--muted);
}

.iso-checkout-flow .is-current .iso-checkout-step-number {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.iso-checkout-flow .is-complete .iso-checkout-step-number {
  border-color: var(--green);
  background: var(--green);
  color: #fff;
}

.iso-checkout-flow .is-current .iso-checkout-step-label {
  color: var(--blue);
}

.iso-checkout-flow .is-complete .iso-checkout-step-label {
  color: #2e7d32;
}

.iso-commerce-shell .woocommerce h1,
.iso-commerce-shell .woocommerce h2 {
  max-width: none;
}

.iso-commerce-shell .woocommerce button.button,
.iso-commerce-shell .woocommerce a.button,
.iso-commerce-shell .woocommerce input.button {
  border-radius: 8px;
  background: var(--blue);
  color: #fff;
}

.iso-commerce-shell .woocommerce table,
.iso-commerce-shell .woocommerce form .form-row input,
.iso-commerce-shell .woocommerce form .form-row select,
.iso-commerce-shell .woocommerce form .form-row textarea {
  border-color: var(--line);
  border-radius: 8px;
}

@media (max-width: 840px) {
  .iso-login-grid,
  .iso-dashboard-columns,
  .iso-product-card {
    grid-template-columns: 1fr;
  }

  .iso-dashboard-header {
    align-items: flex-start;
  }
}

@media (max-width: 620px) {
  .iso-account-choice,
  .iso-form-grid,
  .iso-dashboard-stats {
    grid-template-columns: 1fr;
  }

  .iso-account-choice label {
    min-height: 0;
  }

  .iso-form-grid label.is-wide {
    grid-column: auto;
  }

  .iso-dashboard-header,
  .iso-section-title,
  .iso-product-purchase form {
    display: block;
  }

  .iso-dashboard-actions,
  .iso-section-title > a,
  .iso-product-purchase .button {
    margin-top: 16px;
  }

  .iso-dashboard-stats > div {
    border-right: 0;
    border-bottom: 1px solid var(--portal-border);
  }

  .iso-dashboard-stats > div:last-child {
    border-bottom: 0;
  }

  .iso-approval-card {
    display: block;
  }

  .iso-approval-icon {
    margin-bottom: 16px;
  }

  .iso-product-purchase input {
    width: 100%;
  }

  .iso-form-signin,
  .iso-password-link {
    display: block;
    margin: 15px 0 0;
  }
}

/* WordPress integration. */
.brand > a,
.brand .custom-logo-link {
  display: block;
}

.desktop-nav-list,
.mobile-nav-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.desktop-nav-list {
  display: flex;
  align-items: center;
  gap: clamp(15px, 1.55vw, 25px);
}

.desktop-nav-list a {
  display: block;
  padding: 25px 0;
  color: #374151;
  font-weight: 700;
  white-space: nowrap;
}

.mobile-nav-list li {
  display: block;
}

.mobile-menu .mobile-nav-list a {
  display: block;
}

.hero-media > img,
.split-media > img,
.dental-service-image > img,
.device-platform-image > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.wp-content-shell {
  max-width: 900px;
}

.wp-content-card {
  padding: clamp(28px, 5vw, 64px);
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.wp-content-card img,
.wp-content-shell img {
  max-width: 100%;
  height: auto;
}

.admin-bar .site-header {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar .site-header {
    top: 46px;
  }
}

/* Provider-network invitation displayed above the global footer. */
.provider-network-section {
  padding: 38px 0 30px;
  border-block: 10px solid #06376d;
  background:
    radial-gradient(circle at 52% 28%, rgba(222, 234, 250, 0.7), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
}

.provider-network-shell {
  width: min(1400px, calc(100% - 40px));
}

.provider-network-heading {
  max-width: 980px;
  margin: 0 auto 27px;
  text-align: center;
}

.provider-network-heading > p {
  margin: 0 0 15px;
  color: #258b3e;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.provider-network-heading > p::after {
  content: "";
  width: 48px;
  height: 2px;
  display: block;
  margin: 12px auto 0;
  background: #279747;
}

.provider-network-heading h2 {
  margin-bottom: 6px;
  color: #082462;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3.6vw, 3.35rem);
  line-height: 1.04;
}

.provider-network-heading > span {
  display: block;
  color: #102d6b;
  font-size: clamp(0.94rem, 1.4vw, 1.12rem);
  line-height: 1.4;
}

.provider-network-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 58px);
}

.provider-network-grid article {
  min-height: 300px;
  padding: 24px 25px 28px;
  border: 1px solid #cbdced;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 10px 28px rgba(7, 59, 122, 0.06);
}

.provider-network-card-heading {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 20px;
}

.provider-network-icon,
.provider-network-action-icon {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf3fe;
  color: #0e46a3;
}

.provider-network-icon svg,
.provider-network-action-icon svg {
  width: 48px;
  height: 48px;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.provider-network-icon svg .accent,
.provider-network-action-icon svg .accent {
  stroke: #279747;
}

.provider-network-grid h3,
.provider-network-action h3 {
  margin: 0;
  color: #09245d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.2rem, 1.7vw, 1.55rem);
  line-height: 1.05;
}

.provider-network-card-heading i {
  width: 46px;
  height: 2px;
  display: block;
  margin-top: 12px;
  background: #279747;
}

.provider-network-grid article > p {
  margin: 0;
  color: #17356a;
  font-size: 0.84rem;
  line-height: 1.48;
}

.provider-network-grid article > p strong {
  color: #0c275e;
}

.provider-network-action {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  margin-top: 19px;
  padding: 15px 22px;
  border-radius: 10px;
  background: #edf4ff;
}

.provider-network-action-icon {
  width: 64px;
  height: 64px;
  background: #ffffff;
}

.provider-network-action-icon svg {
  width: 42px;
  height: 42px;
}

.provider-network-action h3 {
  margin-bottom: 6px;
  font-size: 1.25rem;
}

.provider-network-action p {
  margin: 0;
  color: #17356a;
  font-size: 0.77rem;
  line-height: 1.45;
}

.provider-network-buttons {
  display: flex;
  gap: 14px;
  align-items: center;
}

.provider-network-buttons .button {
  min-height: 48px;
  padding-inline: 25px;
  border-radius: 4px;
  font-size: 0.78rem;
  white-space: nowrap;
}

.provider-network-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 18px;
}

.provider-network-facts > div {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 8px 20px;
  border-right: 1px solid #b8cee7;
  color: #15316a;
}

.provider-network-facts > div:last-child {
  border-right: 0;
}

.provider-network-facts span {
  color: #0e46a3;
  font-size: 1.5rem;
}

.provider-network-facts strong {
  font-size: 0.78rem;
}

@media (max-width: 980px) {
  .provider-network-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .provider-network-grid article {
    min-height: 0;
  }

  .provider-network-action {
    grid-template-columns: 64px 1fr;
  }

  .provider-network-buttons {
    grid-column: 1 / -1;
    justify-content: center;
  }

  .provider-network-facts {
    grid-template-columns: repeat(2, 1fr);
  }

  .provider-network-facts > div:nth-child(2) {
    border-right: 0;
  }
}

@media (max-width: 620px) {
  .provider-network-section {
    border-block-width: 7px;
  }

  .provider-network-shell {
    width: min(100% - 24px, 540px);
  }

  .provider-network-card-heading {
    grid-template-columns: 58px 1fr;
    gap: 13px;
  }

  .provider-network-icon {
    width: 56px;
    height: 56px;
  }

  .provider-network-icon svg {
    width: 38px;
    height: 38px;
  }

  .provider-network-grid article {
    padding: 21px 18px 23px;
  }

  .provider-network-action {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .provider-network-action-icon {
    margin-inline: auto;
  }

  .provider-network-buttons {
    flex-direction: column;
  }

  .provider-network-buttons .button {
    width: 100%;
  }

  .provider-network-facts {
    grid-template-columns: 1fr;
  }

  .provider-network-facts > div,
  .provider-network-facts > div:nth-child(2) {
    justify-content: flex-start;
    border-right: 0;
    border-bottom: 1px solid #b8cee7;
  }

  .provider-network-facts > div:last-child {
    border-bottom: 0;
  }
}

/* Homepage clinical banner: preserve the full scene on tablet and phone. */
@media (max-width: 900px) {
  .dental-structure-home > .page-hero .hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    padding-bottom: 28px;
  }

  .dental-structure-home > .page-hero .hero-copy {
    padding: 56px 0 20px;
  }

  .dental-structure-home > .page-hero .hero-media {
    width: min(100%, 760px);
    min-height: 0;
    aspect-ratio: 4 / 3;
    margin-inline: auto;
    border-radius: 26px;
    background: #edf7fd;
  }

  .dental-structure-home > .page-hero .hero-media > img {
    object-fit: contain;
    object-position: center center;
  }

  .dental-structure-home > .page-hero .hero-media::after {
    box-shadow: inset 0 0 35px rgba(7, 59, 122, 0.04);
  }
}

@media (max-width: 620px) {
  .dental-structure-home > .page-hero .hero-grid {
    gap: 16px;
    padding-bottom: 18px;
  }

  .dental-structure-home > .page-hero .hero-copy {
    padding: 42px 0 16px;
  }

  .dental-structure-home > .page-hero .hero-media {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 20px;
  }

  .dental-structure-home > .page-hero .hero-media > img {
    object-fit: cover;
    object-position: center center;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* Homepage structure follows the section rhythm of the ISO Metrik Dental site. */
.dental-how-section,
.dental-services-section,
.dental-benefits-section,
.device-platform-section,
.dental-difference-section {
  padding: 67px 0;
}

.dental-how-section {
  background: white;
}

.dental-how-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.dental-how-grid article {
  min-height: 184px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: white;
  text-align: center;
  box-shadow: 0 8px 26px rgba(7, 59, 122, 0.055);
}

.dental-how-grid article > span,
.dental-difference-grid li > span {
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  margin: 0 auto 17px;
  border-radius: 50%;
  background: var(--blue);
  color: white;
  font-weight: 900;
}

.dental-how-grid p,
.dental-difference-grid p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.62;
}

.dental-services-section {
  background: var(--pale-soft);
}

.dental-services-section .section-heading .eyebrow {
  color: var(--navy-deep);
}

.dental-services-section .section-heading h2 {
  color: #000000;
}

.dental-service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.dental-service-grid > article {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: white;
  box-shadow: var(--shadow);
}

.dental-service-image {
  position: relative;
  height: 165px;
  background: var(--pale);
}

.dental-service-image img {
  object-fit: cover;
}

.dental-service-copy {
  padding: 21px;
}

.dental-service-copy ul {
  display: grid;
  gap: 6px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.dental-service-copy li {
  position: relative;
  padding-left: 17px;
  color: var(--muted);
  font-size: 0.78rem;
}

.dental-service-copy li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--green);
  font-weight: 900;
}

.dental-service-copy a {
  display: inline-flex;
  gap: 6px;
  margin-top: 19px;
  color: var(--blue);
  font-size: 0.8rem;
  font-weight: 900;
}

.dental-benefits-section {
  padding-block: 42px;
  border-block: 1px solid var(--line);
  background: white;
}

.dental-benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.dental-benefit-grid article {
  min-height: 140px;
  padding: 15px 19px;
  border-right: 1px solid var(--line);
  text-align: center;
}

.dental-benefit-grid article:last-child {
  border-right: 0;
}

.dental-benefit-grid article > span {
  display: block;
  margin-bottom: 13px;
  color: var(--green-dark);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.dental-benefit-grid p {
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.55;
}

.device-platform-section {
  border-block: 1px solid #e2ebf3;
  background:
    radial-gradient(circle at 14% 20%, rgba(221, 238, 248, 0.9), transparent 34%),
    radial-gradient(circle at 88% 82%, rgba(232, 244, 250, 0.92), transparent 36%),
    #edf5fa;
}

.device-platform-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr);
  gap: clamp(38px, 5vw, 70px);
  align-items: center;
}

.device-platform-visual {
  position: relative;
  min-height: 610px;
  overflow: hidden;
  border: 1px solid #d6e4ee;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(7, 59, 122, 0.08);
}

.device-platform-visual::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 118px;
  left: -125px;
  width: 470px;
  height: 470px;
  border: 1px solid #c9e1f6;
  border-radius: 50%;
}

.device-platform-visual-copy {
  position: absolute;
  z-index: 4;
  top: 25px;
  left: 27px;
  width: min(285px, 58%);
}

.device-platform-visual-copy p {
  margin: 0 0 8px;
  color: #0b5cae;
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.device-platform-visual-copy h3 {
  max-width: 255px;
  margin: 0;
  color: #0a1d38;
  font-size: 1.03rem;
  line-height: 1.3;
}

.device-platform-image {
  position: absolute;
  z-index: 1;
  inset: 92px 15px 12px;
}

.device-platform-image img {
  object-fit: contain;
  object-position: center;
  transform: none;
}

.device-platform-callout {
  position: absolute;
  z-index: 5;
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #06468e;
  color: white;
  font-size: 0.7rem;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(4, 70, 142, 0.13);
}

.device-platform-callout::after {
  content: "";
  position: absolute;
  top: 50%;
  height: 3px;
  border-radius: 999px;
  background: #06468e;
}

.device-platform-callout-01 { top: 38%; left: 13%; }
.device-platform-callout-01::after {
  left: calc(100% + 10px);
  width: 52px;
  transform: rotate(35deg);
  transform-origin: left center;
}

.device-platform-callout-02 { top: 51%; right: 10%; }
.device-platform-callout-02::after {
  right: calc(100% + 10px);
  width: 49px;
  transform: rotate(-38deg);
  transform-origin: right center;
}

.device-platform-callout-03 { top: 67%; left: 13%; }
.device-platform-callout-03::after {
  left: calc(100% + 12px);
  width: 50px;
  transform: rotate(-75deg);
  transform-origin: left center;
}

.device-platform-callout-04 { right: 10%; bottom: 7%; }
.device-platform-callout-04::after {
  right: calc(100% + 10px);
  width: 55px;
  transform: rotate(-19deg);
  transform-origin: right center;
}

.device-platform-content {
  padding-block: 8px;
}

.device-platform-eyebrow {
  margin: 0 0 25px;
  color: #5c7187;
  font-size: 0.73rem;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.device-platform-content h2 {
  max-width: 720px;
  margin-bottom: 24px;
  color: #071b37;
  font-size: clamp(1.85rem, 3.2vw, 2.85rem);
  line-height: 1.08;
}

.device-platform-intro {
  max-width: 690px;
  margin: 0 0 25px;
  color: #60758a;
  font-size: 0.96rem;
  line-height: 1.62;
}

.device-component-list {
  border-top: 1px solid #d6e2eb;
}

.device-component-list article {
  display: grid;
  grid-template-columns: 53px 60px minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  min-height: 86px;
  padding: 12px 0;
  border-bottom: 1px solid #d6e2eb;
}

.device-component-number {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 4px;
  background: #064b99;
  color: white;
  font-size: 0.86rem;
  font-weight: 900;
}

.device-component-icon {
  width: 58px;
  display: grid;
  place-items: center;
  color: #073f86;
}

.device-component-icon svg {
  width: 58px;
  height: 39px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.device-component-list h3 {
  margin: 0 0 4px;
  color: #0a1d38;
  font-size: 0.99rem;
}

.device-component-list p {
  margin: 0;
  color: #657b90;
  font-size: 0.78rem;
  line-height: 1.45;
}

.dental-difference-section {
  background: white;
}

.dental-difference-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dental-difference-grid li {
  min-height: 180px;
  padding: 20px 15px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--pale-soft);
  text-align: center;
}

.dental-difference-grid li > span {
  background: var(--green);
}

.dental-difference-action {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}

.footer-connect-copy {
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.88rem;
  line-height: 1.55;
}

.site-footer .footer-connect h2 {
  margin-bottom: 20px;
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.3;
  text-transform: uppercase;
}

.footer-subscribe-form {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  width: 100%;
  max-width: 430px;
  margin: 18px 0 10px;
}

.footer-subscribe-form input[type="email"] {
  width: 100%;
  min-width: 0;
  height: 46px;
  margin: 0;
  padding: 0 14px;
  border: 1px solid white;
  border-radius: 6px 0 0 6px;
  background: white;
  color: #142238;
  font: inherit;
  font-size: 0.82rem;
  box-shadow: none;
}

.footer-subscribe-form input[type="email"]:focus {
  position: relative;
  z-index: 1;
  outline: 3px solid rgba(159, 210, 126, 0.55);
  outline-offset: 1px;
}

.footer-subscribe-form button {
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid #315ce0;
  border-radius: 0 6px 6px 0;
  background: #315ce0;
  color: white;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 800;
  cursor: pointer;
}

.footer-subscribe-form button:hover,
.footer-subscribe-form button:focus-visible {
  background: #244cc8;
  border-color: #244cc8;
}

.footer-subscribe-trap {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.footer-subscribe-status {
  margin: 0 0 10px;
  padding: 8px 10px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.12);
  color: white;
  font-size: 0.75rem;
  line-height: 1.45;
}

.footer-subscribe-status-success,
.footer-subscribe-status-exists {
  border-left: 3px solid #9fd27e;
}

.footer-subscribe-status-email,
.footer-subscribe-status-invalid,
.footer-subscribe-status-error {
  border-left: 3px solid #ffd166;
}

.footer-subscribe-note {
  margin: 0 0 14px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.68rem;
  line-height: 1.45;
}

.site-footer .footer-contact-link {
  margin-top: 18px;
  color: #9fd27e;
  font-weight: 800;
}

@media (max-width: 900px) {
  .dental-service-grid,
  .dental-how-grid {
    grid-template-columns: 1fr;
  }

  .dental-benefit-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .dental-benefit-grid article:nth-child(2) {
    border-right: 0;
  }

  .dental-benefit-grid article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .device-platform-layout {
    grid-template-columns: 1fr;
  }

  .device-platform-visual {
    width: min(100%, 610px);
    min-height: 650px;
    margin-inline: auto;
  }

  .dental-difference-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .dental-benefit-grid,
  .dental-difference-grid {
    grid-template-columns: 1fr;
  }

  .dental-benefit-grid article,
  .dental-benefit-grid article:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .dental-benefit-grid article:last-child {
    border-bottom: 0;
  }

  .device-platform-section {
    padding: 52px 0;
  }

  .device-platform-visual {
    min-height: 510px;
  }

  .device-platform-visual-copy {
    top: 20px;
    left: 20px;
  }

  .device-platform-image {
    inset: 80px 6px 8px;
  }

  .device-platform-callout {
    width: 36px;
    height: 36px;
    font-size: 0.62rem;
  }

  .device-platform-callout-01,
  .device-platform-callout-03 { left: 8%; }

  .device-platform-callout-02,
  .device-platform-callout-04 { right: 7%; }

  .device-platform-content h2 {
    font-size: clamp(1.75rem, 8vw, 2.25rem);
  }

  .device-component-list article {
    grid-template-columns: 46px 48px minmax(0, 1fr);
    gap: 10px;
  }

  .device-component-number {
    width: 42px;
    height: 42px;
  }

  .device-component-icon,
  .device-component-icon svg {
    width: 46px;
  }
}

/* Homepage human-impact, therapy-foundations, and connected-pathway sections. */
.human-impact-section {
  padding: 68px 0;
  background: #0b1d36;
}

.human-impact-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.45fr);
  gap: 30px;
  align-items: center;
}

.human-impact-photo {
  position: relative;
  aspect-ratio: 635 / 999;
  overflow: hidden;
  background-color: #c7b9ac;
  background-image: url("../images/human-impact-reference-v7.webp");
  background-repeat: no-repeat;
  background-size: 322.5% auto;
  background-position: 2.8% 38.3%;
}

.human-impact-photo::after,
.connected-pathway-photo::after {
  content: "";
  position: absolute;
  inset: 48% 0 0;
  background: linear-gradient(180deg, transparent 0%, rgba(5, 25, 51, 0.9) 100%);
}

.human-impact-photo-caption,
.connected-pathway-photo-caption {
  position: absolute;
  z-index: 1;
  right: 24px;
  bottom: 24px;
  left: 24px;
  display: grid;
  gap: 7px;
}

.human-impact-photo-caption span,
.connected-pathway-photo-caption span {
  color: #2bc6e7;
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.human-impact-photo-caption strong,
.connected-pathway-photo-caption strong {
  color: white;
  font-size: 1.02rem;
  line-height: 1.24;
}

.human-impact-kicker,
.connected-pathway-kicker,
.therapy-foundations-heading > p {
  margin-bottom: 14px;
  color: #28c5e7;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.human-impact-content h2 {
  max-width: 555px;
  color: white;
  font-size: clamp(1.55rem, 2.7vw, 2.4rem);
}

.human-impact-intro {
  max-width: 560px;
  margin-bottom: 24px;
  color: #a9bed5;
  font-size: 0.9rem;
  line-height: 1.58;
}

.human-impact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.human-impact-grid article {
  min-height: 145px;
  display: grid;
  grid-template-columns: 52px 2px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 18px 15px;
  border: 1px solid #1766aa;
  border-radius: 12px;
  background: #073f80;
}

.human-impact-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: white;
  color: #0b4f92;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.human-impact-grid article:nth-child(1) .human-impact-icon,
.human-impact-grid article:nth-child(4) .human-impact-icon {
  color: #61b63b;
}

.human-impact-divider {
  width: 2px;
  min-height: 78px;
  align-self: center;
  background: #60bb35;
}

.human-impact-grid h3 {
  margin-bottom: 10px;
  color: white;
  font-size: 0.96rem;
  line-height: 1.14;
}

.human-impact-grid p {
  margin: 0;
  color: #c9d7e7;
  font-size: 0.73rem;
  line-height: 1.52;
}

.therapy-foundations-section {
  padding: 70px 0;
  background: #fbfcfa;
}

.therapy-foundations-heading {
  max-width: 760px;
  margin: 0 auto 36px;
  text-align: center;
}

.therapy-foundations-heading > p {
  color: #5c7188;
}

.therapy-foundations-heading h2 {
  color: #071d3b;
  font-size: clamp(1.65rem, 3vw, 2.5rem);
}

.therapy-foundations-heading > span {
  display: block;
  color: #6f8297;
  font-size: 0.9rem;
}

.therapy-foundations-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid #d8e3ec;
  background: white;
  box-shadow: 0 14px 38px rgba(8, 38, 70, 0.1);
}

.therapy-foundation-card {
  min-width: 0;
  border-right: 1px solid #d8e3ec;
}

.therapy-foundation-card:last-child {
  border-right: 0;
}

.therapy-foundation-photo {
  aspect-ratio: 644 / 338;
  background-color: #c9c8c3;
  background-image: url("../images/therapy-modes-reference-v7.webp");
  background-repeat: no-repeat;
  background-size: 318% auto;
}

.therapy-foundation-photo-isometric {
  background-position: 3.1% 34.4%;
}

.therapy-foundation-photo-isotonic {
  background-position: 49.1% 34.4%;
}

.therapy-foundation-photo-isokinetic {
  background-position: 95.2% 34.4%;
}

.therapy-foundation-body {
  padding: 21px 18px 18px;
}

.therapy-foundation-body h3 {
  margin-bottom: 5px;
  color: #071d3b;
  font-size: 1.13rem;
}

.therapy-foundation-body > strong {
  display: block;
  margin-bottom: 16px;
  color: #54b838;
  font-size: 0.63rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.therapy-foundation-body > p {
  min-height: 74px;
  padding-top: 14px;
  border-top: 1px solid #d8e3ec;
  color: #64788d;
  font-size: 0.75rem;
  line-height: 1.5;
}

.therapy-foundation-chart {
  position: relative;
  height: 76px;
  margin: 16px 0 12px;
  overflow: hidden;
  border: 1px solid #cfe3f2;
  background: #edf7fd;
}

.therapy-foundation-chart > span,
.therapy-foundation-chart > small {
  position: absolute;
  z-index: 2;
  color: #74889b;
  font-size: 0.57rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.therapy-foundation-chart > span {
  top: 10px;
  left: 11px;
}

.therapy-foundation-chart > small {
  right: 10px;
  bottom: 8px;
}

.therapy-foundation-chart i {
  position: absolute;
  right: 14px;
  bottom: 25px;
  left: 14px;
  display: block;
}

.therapy-foundation-chart-isometric i {
  height: 3px;
  background: #0d69c7;
}

.therapy-foundation-chart-isometric i::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 12px;
  height: 12px;
  border: 2px solid #51b833;
  border-radius: 50%;
  background: white;
  transform: translate(-50%, -50%);
}

.therapy-foundation-chart-isotonic i {
  height: 36px;
  border-top: 3px dashed #1377d7;
  border-radius: 50% 50% 0 0;
}

.therapy-foundation-chart-isotonic i::before,
.therapy-foundation-chart-isotonic i::after {
  content: "";
  position: absolute;
  bottom: -1px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #52b834;
}

.therapy-foundation-chart-isotonic i::before { left: 0; }
.therapy-foundation-chart-isotonic i::after { right: 0; }

.therapy-foundation-chart-isokinetic i {
  height: 7px;
  background: repeating-linear-gradient(90deg, #1479d8 0 10px, transparent 10px 17px);
  clip-path: polygon(0 45%, 18% 0, 36% 70%, 55% 10%, 72% 75%, 88% 15%, 100% 50%, 100% 100%, 0 100%);
}

.therapy-foundation-body dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0;
  border: 1px solid #d7e2eb;
}

.therapy-foundation-body dl > div {
  padding: 10px;
}

.therapy-foundation-body dl > div + div {
  border-left: 1px solid #d7e2eb;
}

.therapy-foundation-body dt {
  margin-bottom: 5px;
  color: #7a8da0;
  font-size: 0.52rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.therapy-foundation-body dd {
  margin: 0;
  color: #142844;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.3;
}

.connected-pathway-section {
  padding: 70px 0;
  background: white;
}

.connected-pathway-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(250px, 0.9fr);
  gap: 34px;
  align-items: stretch;
}

.connected-pathway-kicker {
  color: #5d7288;
}

.connected-pathway-content h2 {
  max-width: 570px;
  color: #071d3b;
  font-size: clamp(1.55rem, 2.8vw, 2.35rem);
}

.connected-pathway-intro {
  max-width: 610px;
  margin-bottom: 24px;
  color: #6c8196;
  font-size: 0.86rem;
}

.connected-discipline-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #d8e3ec;
  border-left: 1px solid #d8e3ec;
}

.connected-discipline-grid article {
  min-height: 94px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 9px;
  padding: 17px 14px;
  border-right: 1px solid #d8e3ec;
  border-bottom: 1px solid #d8e3ec;
}

.connected-discipline-grid article > span {
  color: #59b936;
  font-size: 0.65rem;
  font-weight: 900;
}

.connected-discipline-grid h3 {
  margin-bottom: 7px;
  color: #112744;
  font-size: 0.82rem;
}

.connected-discipline-grid p {
  margin: 0;
  color: #708499;
  font-size: 0.68rem;
  line-height: 1.45;
}

.connected-pathway-photo {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  background-color: #8e9aa1;
  background-image: url("../images/connected-pathway-reference-v7.webp");
  background-repeat: no-repeat;
  background-size: 294.3% auto;
  background-position: 95.1% 3.2%;
}

.connected-pathway-photo-caption strong {
  font-size: 1.18rem;
}

@media (max-width: 900px) {
  .human-impact-layout,
  .connected-pathway-layout {
    grid-template-columns: 1fr;
  }

  .human-impact-photo {
    width: min(100%, 420px);
    margin-inline: auto;
  }

  .therapy-foundations-grid {
    grid-template-columns: 1fr;
  }

  .therapy-foundation-card {
    border-right: 0;
    border-bottom: 1px solid #d8e3ec;
  }

  .therapy-foundation-card:last-child {
    border-bottom: 0;
  }

  .therapy-foundation-body > p {
    min-height: auto;
  }

  .connected-pathway-photo {
    width: min(100%, 460px);
    min-height: 620px;
    margin-inline: auto;
  }
}

@media (max-width: 620px) {
  .human-impact-section,
  .therapy-foundations-section,
  .connected-pathway-section {
    padding: 52px 0;
  }

  .human-impact-grid,
  .connected-discipline-grid {
    grid-template-columns: 1fr;
  }

  .human-impact-grid article {
    min-height: 0;
  }

  .therapy-foundation-body {
    padding: 19px 16px 17px;
  }

  .connected-pathway-photo {
    min-height: 470px;
  }
}

.science-innovation-section {
  padding: 58px 0 62px;
  border-block: 1px solid #dce8f2;
  background:
    radial-gradient(circle at 9% 10%, rgba(226, 235, 255, 0.88), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(232, 248, 240, 0.82), transparent 31%),
    #f9fcff;
}

.science-innovation-section > .shell {
  width: min(1450px, calc(100% - 56px));
}

.science-innovation-heading {
  max-width: 1080px;
  margin: 0 auto 34px;
  text-align: center;
}

.science-innovation-heading > p {
  margin-bottom: 11px;
  color: #52ae32;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.science-innovation-heading h2 {
  color: #09245a;
  font-size: clamp(1.82rem, 2.7vw, 2.7rem);
  line-height: 1.08;
}

.science-innovation-heading > span {
  display: block;
  color: #53677f;
  font-size: 0.91rem;
  line-height: 1.48;
}

.science-innovation-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(390px, 0.7fr);
  gap: clamp(38px, 4vw, 64px);
  align-items: start;
}

.science-innovation-layout > * {
  min-width: 0;
}

.science-innovation-photo {
  width: 100%;
  aspect-ratio: 2336 / 1930;
  min-height: 0;
  align-self: start;
  border-radius: 16px;
  background-color: #dfe7ef;
  background-image: url("../images/science-lab-hires.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  box-shadow: 0 14px 36px rgba(7, 44, 93, 0.12);
}

.science-innovation-copy {
  display: grid;
  min-width: 0;
  align-content: space-between;
  gap: 32px;
  padding-block: 20px;
}

.science-innovation-copy article {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-width: 0;
}

.science-innovation-copy article > div {
  min-width: 0;
}

.science-copy-icon,
.science-highlight-grid article > span {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid #d7e5f3;
  border-radius: 50%;
  background: white;
  color: #0a4b9d;
  box-shadow: 0 7px 18px rgba(7, 59, 122, 0.08);
}

.science-copy-icon svg,
.science-highlight-grid article > span svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.science-innovation-copy h3 {
  margin-bottom: 8px;
  color: #073b7a;
  font-size: 1.12rem;
}

.science-innovation-copy i {
  width: 34px;
  height: 2px;
  display: block;
  margin-bottom: 10px;
  background: #5ab638;
}

.science-innovation-copy p {
  margin: 0;
  color: #53677f;
  font-size: 0.8rem;
  line-height: 1.52;
}

.science-highlight-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 26px;
  border: 1px solid #d7e3ee;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 12px 30px rgba(7, 44, 93, 0.06);
}

.science-highlight-grid article {
  min-height: 175px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  min-width: 0;
  padding: 20px 16px;
  border-right: 1px solid #d7e3ee;
}

.science-highlight-grid article:last-child {
  border-right: 0;
}

.science-highlight-grid article > span {
  width: 44px;
  height: 44px;
}

.science-highlight-grid article > span svg {
  width: 27px;
  height: 27px;
}

.science-highlight-grid h3 {
  margin-bottom: 7px;
  color: #0a3f8b;
  font-size: 0.8rem;
  line-height: 1.18;
}

.science-highlight-grid p {
  margin: 0;
  color: #60738a;
  font-size: 0.67rem;
  line-height: 1.45;
}

.science-regulatory-note {
  margin: 13px 0 0;
  color: #667b90;
  font-size: 0.67rem;
  text-align: center;
}

@media (max-width: 900px) {
  .science-innovation-section > .shell {
    width: min(100% - 40px, 760px);
  }

  .science-innovation-layout {
    grid-template-columns: 1fr;
  }

  .science-innovation-photo {
    width: 100%;
    min-height: 0;
    margin-inline: auto;
  }

  .science-highlight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .science-highlight-grid article {
    border-right: 1px solid #d7e3ee;
    border-bottom: 1px solid #d7e3ee;
  }

  .science-highlight-grid article:nth-child(even) {
    border-right: 0;
  }

  .science-highlight-grid article:last-child {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 0;
  }
}

@media (max-width: 620px) {
  .science-innovation-section {
    padding: 52px 0;
  }

  .science-innovation-section > .shell {
    width: min(100% - 30px, 560px);
  }

  .science-highlight-grid {
    grid-template-columns: 1fr;
  }

  .science-highlight-grid article:last-child {
    grid-column: auto;
  }

  .science-highlight-grid article,
  .science-highlight-grid article:nth-child(even) {
    min-height: 0;
    border-right: 0;
  }

  .science-innovation-copy article {
    grid-template-columns: 55px minmax(0, 1fr);
    gap: 14px;
  }

  .science-copy-icon {
    width: 50px;
    height: 50px;
  }
}

/*
 * Public-site sizing synchronized to the live ISO Metrik Dental framework.
 * The header uses its wider navigation frame; body sections use the 1080px
 * content frame. Portal screens retain an independent compact workspace.
 */
main .shell,
.provider-network-shell,
.science-innovation-section > .shell,
.dental-structure-home > section > .shell,
.dental-structure-home > aside > .shell {
  width: min(1080px, calc(100% - 72px)) !important;
  margin-inline: auto;
}

main h1 {
  max-width: 680px;
  margin-bottom: 18px;
  font-size: clamp(2.55rem, 4vw, 3.375rem);
}

main h2 {
  margin-bottom: 18px;
  font-size: clamp(1.8rem, 2.65vw, 2.25rem);
}

main h3 {
  margin-bottom: 9px;
  font-size: 1rem;
}

main .button {
  min-height: 44px;
  padding: 10px 22px;
  border-radius: 7px;
  font-size: 0.875rem;
}

main .section,
.dental-how-section,
.dental-services-section,
.device-platform-section,
.dental-difference-section {
  padding: 54px 0;
}

main .section-heading {
  max-width: 680px;
  margin-bottom: 30px;
}

main .section-heading > p:last-child {
  max-width: 680px;
  font-size: 0.9375rem;
}

@media (min-width: 901px) {
  .site-header .header-inner {
    width: calc(100% - 74px);
    max-width: none;
    height: 70px;
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) 180px;
    column-gap: 24px;
  }

  .desktop-nav-list {
    gap: clamp(18px, 1.55vw, 30px);
  }

  .desktop-nav-list a,
  .header-actions .text-link {
    font-size: 13px;
    font-weight: 600;
  }

  .brand > a,
  .brand img {
    width: 180px;
    height: 54px;
  }

  .desktop-nav {
    width: 100%;
    min-width: 0;
    justify-self: center;
    margin-left: 0;
  }

  .header-actions {
    justify-self: end;
    margin-left: 0;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .site-header .header-inner {
    width: calc(100% - 40px);
    grid-template-columns: 150px minmax(0, 1fr) 150px;
    column-gap: 14px;
  }

  .brand > a,
  .brand img {
    width: 150px;
  }

  .desktop-nav {
    margin-left: 0;
  }

  .desktop-nav-list {
    gap: 10px;
  }

  .desktop-nav-list a {
    font-size: 11px;
  }

  .header-actions {
    gap: 0;
  }

  .nav-cta {
    min-width: 150px;
    font-size: 11px;
  }
}

/* Keep the expanded public navigation inside the established desktop header. */
@media (min-width: 1025px) and (max-width: 1180px) {
  .desktop-nav-list {
    gap: 7px;
  }

  .desktop-nav-list a {
    font-size: 10px;
  }
}

/* Fit the separated PT and SLP links without changing the established header. */
@media (min-width: 1181px) and (max-width: 1380px) {
  .site-header .header-inner {
    column-gap: 18px;
  }

  .desktop-nav-list {
    gap: 10px;
  }

  .desktop-nav-list a,
  .header-actions .text-link {
    font-size: 11.5px;
  }
}

@media (min-width: 1121px) {

  .dental-structure-home > .page-hero .hero-grid {
    width: calc(100% - 96px) !important;
    max-width: none;
    grid-template-columns: minmax(0, 42fr) minmax(560px, 58fr);
    gap: 36px;
    min-height: 510px;
  }

  .dental-structure-home > .page-hero .hero-copy {
    width: 100%;
    max-width: 690px;
    justify-self: start;
    padding: 64px 0;
  }

  .dental-structure-home > .page-hero .hero-copy h1 {
    max-width: 660px;
  }

  .dental-structure-home > .page-hero .hero-description,
  .dental-structure-home > .page-hero .hero-note {
    max-width: 620px;
  }

  .dental-structure-home > .page-hero .hero-media {
    min-height: 510px;
  }
}

@media (min-width: 901px) {
  main > .page-hero .hero-grid {
    grid-template-columns: minmax(0, 42fr) minmax(480px, 58fr);
    gap: clamp(28px, 4vw, 58px);
    min-height: 470px;
  }

  main > .page-hero .hero-copy {
    padding: 60px 0;
  }

  main > .page-hero .hero-media {
    min-height: 470px;
  }

  main > .page-hero .hero-description {
    max-width: 520px;
    margin-bottom: 26px;
    font-size: 1.0625rem;
    line-height: 1.55;
  }
}

@media (min-width: 901px) and (max-width: 1120px) {
  .dental-structure-home > .page-hero .hero-grid {
    width: min(1080px, calc(100% - 72px)) !important;
    grid-template-columns: minmax(0, 42fr) minmax(430px, 58fr);
    min-height: 470px;
  }

  .dental-structure-home > .page-hero .hero-copy {
    padding: 54px 0;
  }

  .dental-structure-home > .page-hero .hero-media {
    min-height: 470px;
  }
}

/* Account areas remain deliberately compact and separate from public pages. */
.page-provider-registration main .shell,
.page-provider-login main .shell,
.page-provider-portal main .shell,
.page-clinic-portal main .shell {
  width: min(826px, calc(100% - 40px)) !important;
}

@media (max-width: 900px) {
  .shell,
  main .shell,
  .provider-network-shell,
  .science-innovation-section > .shell,
  .dental-structure-home > section > .shell,
  .dental-structure-home > aside > .shell,
  .dental-structure-home > .page-hero .hero-grid {
    width: min(100% - 30px, 760px) !important;
  }

  .header-inner {
    width: calc(100% - 34px);
    height: 68px;
    min-height: 68px;
  }

  .brand > a,
  .brand img {
    width: 160px;
    height: 52px;
  }

  .mobile-menu nav a {
    font-size: 14px;
    font-weight: 600;
  }
}

@media (max-width: 390px) {
  .header-inner {
    width: calc(100% - 24px);
  }

  .brand > a,
  .brand img {
    width: 148px;
    height: 50px;
  }
}

@media (max-width: 620px) {
  .shell,
  main .shell,
  .provider-network-shell,
  .science-innovation-section > .shell,
  .dental-structure-home > section > .shell,
  .dental-structure-home > aside > .shell,
  .dental-structure-home > .page-hero .hero-grid,
  .page-provider-registration main .shell,
  .page-provider-login main .shell,
  .page-provider-portal main .shell,
  .page-clinic-portal main .shell {
    width: min(100% - 28px, 560px) !important;
  }

  main h1 {
    font-size: clamp(2.2rem, 10vw, 2.75rem);
  }

  main h2 {
    font-size: clamp(1.65rem, 7vw, 2.1rem);
  }
}

/*
 * Site-wide responsive hardening.
 * These final overrides keep every public, account, and commerce template
 * inside the same tablet and phone frame without changing desktop sizing.
 */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}

main,
main section,
main aside,
.site-header,
.site-footer,
.shell,
.wp-content-shell,
.iso-portal-shell,
.iso-commerce-shell {
  min-width: 0;
}

main img,
.site-header img,
.site-footer img,
main video,
main iframe {
  max-width: 100%;
}

main video,
main iframe {
  width: 100%;
}

:where(
  .hero-grid,
  .value-grid,
  .intro-grid,
  .card-grid,
  .split-grid,
  .benefit-grid,
  .device-feature-grid,
  .mode-grid,
  .pathway-grid,
  .page-cta-inner,
  .footer-grid,
  .dental-how-grid,
  .dental-service-grid,
  .dental-benefit-grid,
  .device-platform-layout,
  .device-component-list,
  .dental-difference-grid,
  .human-impact-layout,
  .human-impact-grid,
  .therapy-foundations-grid,
  .connected-pathway-layout,
  .connected-discipline-grid,
  .science-innovation-layout,
  .science-innovation-copy,
  .science-highlight-grid,
  .provider-network-grid,
  .provider-network-action,
  .provider-network-facts,
  .iso-account-choice,
  .iso-form-grid,
  .iso-login-grid,
  .iso-dashboard-stats,
  .iso-dashboard-columns,
  .iso-product-card
) > * {
  min-width: 0;
}

h1,
h2,
h3,
h4,
p,
li,
td,
th,
.button,
.nav-cta {
  overflow-wrap: break-word;
}

input,
select,
textarea,
button {
  max-width: 100%;
}

.iso-order-table-wrap,
.iso-commerce-shell .woocommerce {
  max-width: 100%;
}

/* Use the compact menu on tablets before the full navigation can crowd. */
@media (max-width: 1024px) {
  .site-header .header-inner {
    width: calc(100% - 40px);
    height: 68px;
    min-height: 68px;
    display: flex;
    grid-template-columns: none;
  }

  .desktop-nav,
  .header-actions {
    display: none;
  }

  .mobile-menu {
    display: block;
    margin-left: auto;
  }

  .brand > a,
  .brand img {
    width: 160px;
    height: 52px;
  }

  .mobile-menu nav {
    max-height: calc(100dvh - 92px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

@media (max-width: 900px) {
  .hero-grid,
  .intro-grid,
  .split-grid,
  .device-feature-grid,
  .page-cta-inner,
  .device-platform-layout,
  .human-impact-layout,
  .connected-pathway-layout,
  .science-innovation-layout,
  .provider-network-grid,
  .iso-login-grid,
  .iso-dashboard-columns,
  .iso-product-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .columns-3,
  .columns-4,
  .benefit-grid,
  .mode-grid,
  .pathway-grid,
  .dental-benefit-grid,
  .dental-difference-grid,
  .science-highlight-grid,
  .provider-network-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .button-row,
  .provider-network-buttons,
  .iso-dashboard-actions {
    flex-wrap: wrap;
  }

  .split-media,
  .device-visual,
  .hero-media {
    width: 100%;
  }

  .wp-content-card,
  .iso-portal-panel,
  .iso-dashboard-section,
  .iso-registration-form,
  .iso-commerce-shell .woocommerce {
    padding: clamp(22px, 5vw, 38px);
  }

  .iso-dashboard-header,
  .iso-section-title {
    align-items: flex-start;
  }
}

@media (max-width: 620px) {
  .site-header .header-inner {
    width: calc(100% - 28px);
  }

  .mobile-menu nav {
    width: min(320px, calc(100vw - 28px));
    padding: 10px;
  }

  .mobile-menu nav a {
    padding: 11px 12px;
  }

  .value-grid,
  .columns-2,
  .columns-3,
  .columns-4,
  .benefit-grid,
  .mode-grid,
  .pathway-grid,
  .dental-how-grid,
  .dental-service-grid,
  .dental-benefit-grid,
  .dental-difference-grid,
  .human-impact-grid,
  .therapy-foundations-grid,
  .connected-discipline-grid,
  .science-highlight-grid,
  .provider-network-facts,
  .iso-account-choice,
  .iso-form-grid,
  .iso-dashboard-stats {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .content-card,
  .pathway-grid article,
  .dental-how-grid article,
  .dental-difference-grid li,
  .provider-network-grid article {
    min-height: 0;
  }

  .button-row,
  .provider-network-buttons {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .button-row .button,
  .provider-network-buttons .button,
  .iso-dashboard-actions .button,
  .iso-login-shell .button,
  .iso-registration-form > .button {
    width: 100%;
  }

  .hero-copy {
    width: 100%;
  }

  main > .page-hero .hero-media {
    min-height: 0;
    aspect-ratio: 1 / 1;
  }

  main > .page-hero .hero-media > img {
    object-position: center;
  }

  .device-platform-visual {
    width: 100%;
    min-height: min(132vw, 560px);
  }

  .device-platform-image {
    inset: 82px 4px 10px;
  }

  .therapy-foundation-card,
  .science-highlight-grid article,
  .provider-network-facts > div {
    border-right: 0;
  }

  .therapy-foundation-body dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .therapy-foundation-body dl > div + div {
    border-top: 1px solid #d7e2eb;
    border-left: 0;
  }

  .science-innovation-copy article {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
  }

  .science-copy-icon {
    width: 46px;
    height: 46px;
  }

  .provider-network-action {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .iso-product-purchase form,
  .iso-dashboard-header,
  .iso-section-title,
  .iso-approval-card {
    display: block;
  }

  .iso-dashboard-actions,
  .iso-section-title > a,
  .iso-product-purchase .button {
    margin-top: 16px;
  }

  .iso-order-table {
    min-width: 620px;
  }

  .iso-commerce-shell .woocommerce table.shop_table_responsive {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .footer-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .footer-brand {
    grid-column: auto;
  }

  .footer-bottom {
    align-items: flex-start;
  }

  .footer-subscribe-form {
    max-width: none;
  }

  .device-platform-visual {
    min-height: min(140vw, 520px);
  }

  .device-component-list article {
    grid-template-columns: 42px 42px minmax(0, 1fr);
    gap: 9px;
  }

  .device-component-number {
    width: 40px;
    height: 40px;
  }

  .device-component-icon,
  .device-component-icon svg {
    width: 40px;
  }
}

@media (max-width: 350px) {
  .footer-subscribe-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .footer-subscribe-form input[type="email"] {
    border-radius: 6px 6px 0 0;
  }

  .footer-subscribe-form button {
    border-radius: 0 0 6px 6px;
  }
}

/* Role-specific provider and clinic dashboard (v1.2.0). */
.page-provider-portal .page-main,
.page-clinic-portal .page-main {
  background: #f4f8fc;
}

.page-provider-portal .wp-content-shell,
.page-clinic-portal .wp-content-shell {
  width: min(1180px, calc(100% - 56px));
}

.page-provider-portal .wp-content-card,
.page-clinic-portal .wp-content-card {
  background: transparent;
}

.iso-dashboard-v2 {
  --dashboard-border: #d8e5ef;
  --dashboard-soft: #f5f9fc;
  --dashboard-card-radius: 15px;
  font-size: 0.9rem;
}

.iso-dashboard-v2 .eyebrow {
  margin-bottom: 7px;
  color: var(--green-dark);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.iso-dashboard-v2-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  margin-bottom: 18px;
  padding: 23px 27px;
  border: 1px solid var(--dashboard-border);
  border-radius: 17px;
  background: linear-gradient(125deg, #ffffff 15%, #edf7fd 100%);
  box-shadow: 0 10px 28px rgba(7, 59, 122, 0.055);
}

.iso-dashboard-v2-header h2 {
  max-width: none;
  margin-bottom: 5px;
  font-size: clamp(1.7rem, 2.6vw, 2.35rem);
}

.iso-dashboard-v2-header p:last-child {
  margin-bottom: 0;
  font-size: 0.86rem;
}

.iso-dashboard-header-meta {
  display: flex;
  flex: 0 0 auto;
  gap: 11px;
  align-items: center;
}

.iso-account-badge {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 6px 10px;
  border: 1px solid #b7cade;
  border-radius: 999px;
  background: #fff;
  color: var(--navy);
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.iso-account-badge.is-approved {
  border-color: #a9ce90;
  background: #f2faec;
  color: #39731d;
}

.iso-account-badge.is-pending {
  border-color: #ead39b;
  background: #fff9ea;
  color: #765c16;
}

.iso-dashboard-frame {
  display: grid;
  grid-template-columns: 214px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.iso-dashboard-nav {
  position: sticky;
  top: 88px;
  overflow: hidden;
  border: 1px solid var(--dashboard-border);
  border-radius: var(--dashboard-card-radius);
  background: #fff;
  box-shadow: 0 10px 26px rgba(7, 59, 122, 0.045);
}

.iso-dashboard-nav-title {
  padding: 18px 17px 14px;
  border-bottom: 1px solid var(--dashboard-border);
}

.iso-dashboard-nav-title strong,
.iso-dashboard-nav-title small {
  display: block;
}

.iso-dashboard-nav-title strong {
  color: var(--navy-deep);
  font-size: 0.98rem;
}

.iso-dashboard-nav-title small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.66rem;
}

.iso-dashboard-nav ul {
  margin: 0;
  padding: 8px;
  list-style: none;
}

.iso-dashboard-nav li + li {
  margin-top: 2px;
}

.iso-dashboard-nav li a {
  display: flex;
  gap: 9px;
  align-items: center;
  min-height: 39px;
  padding: 8px 10px;
  border-radius: 8px;
  color: #40536c;
  font-size: 0.76rem;
  font-weight: 700;
}

.iso-dashboard-nav li a:hover,
.iso-dashboard-nav li a:focus-visible {
  background: #f1f7fb;
  color: var(--blue);
}

.iso-dashboard-nav li a.is-active {
  background: var(--navy);
  color: #fff;
}

.iso-dashboard-nav li a > span {
  display: grid;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 1px solid #c7d8e7;
  border-radius: 7px;
  background: #f8fbfd;
  color: var(--blue);
  font-size: 0.75rem;
}

.iso-dashboard-nav li a.is-active > span {
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.iso-dashboard-nav-help {
  padding: 13px 17px 16px;
  border-top: 1px solid var(--dashboard-border);
  background: var(--dashboard-soft);
}

.iso-dashboard-nav-help strong,
.iso-dashboard-nav-help a {
  display: block;
}

.iso-dashboard-nav-help strong {
  color: var(--navy-deep);
  font-size: 0.72rem;
}

.iso-dashboard-nav-help a {
  margin-top: 2px;
  color: var(--blue);
  font-size: 0.67rem;
  font-weight: 700;
}

.iso-dashboard-content {
  min-width: 0;
}

.iso-dashboard-card {
  margin-bottom: 18px;
  padding: 22px;
  border: 1px solid var(--dashboard-border);
  border-radius: var(--dashboard-card-radius);
  background: #fff;
  box-shadow: 0 10px 26px rgba(7, 59, 122, 0.045);
}

.iso-dashboard-card > :last-child {
  margin-bottom: 0;
}

.iso-dashboard-card h3 {
  margin-bottom: 7px;
  font-size: 1.15rem;
}

.iso-dashboard-card h4 {
  margin: 0 0 7px;
  color: var(--navy-deep);
  font-size: 0.9rem;
  line-height: 1.25;
}

.iso-dashboard-card p {
  font-size: 0.78rem;
  line-height: 1.55;
}

.iso-card-heading {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 17px;
}

.iso-card-heading p:last-child {
  max-width: 670px;
  margin-bottom: 0;
}

.iso-dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  gap: 11px;
  margin-bottom: 18px;
}

.iso-dashboard-kpis article {
  display: flex;
  gap: 11px;
  align-items: center;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--dashboard-border);
  border-radius: 12px;
  background: #fff;
}

.iso-dashboard-kpis strong,
.iso-dashboard-kpis small {
  display: block;
}

.iso-dashboard-kpis strong {
  color: var(--navy-deep);
  font-size: 1.2rem;
}

.iso-dashboard-kpis small {
  overflow: hidden;
  color: var(--muted);
  font-size: 0.62rem;
  line-height: 1.3;
  text-overflow: ellipsis;
}

.iso-kpi-icon {
  display: grid;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 9px;
  background: var(--pale);
  color: var(--blue);
  font-weight: 800;
}

.iso-dashboard-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(245px, 0.55fr);
  gap: 18px;
}

.iso-dashboard-main-grid > .iso-dashboard-card {
  min-width: 0;
}

.iso-compact-card {
  background: linear-gradient(145deg, #ffffff 0%, #f5f9fc 100%);
}

.iso-action-list {
  border-top: 1px solid var(--dashboard-border);
}

.iso-action-list > a {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid var(--dashboard-border);
}

.iso-action-list > a > span,
.iso-module-number {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 8px;
  background: var(--navy);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 800;
}

.iso-action-list strong,
.iso-action-list small {
  display: block;
}

.iso-action-list strong {
  color: var(--navy-deep);
  font-size: 0.77rem;
}

.iso-action-list small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.65rem;
}

.iso-action-list b {
  color: var(--blue);
  font-size: 1rem;
}

.iso-check-list {
  margin: 15px 0 18px;
  padding: 0;
  list-style: none;
}

.iso-check-list li {
  position: relative;
  padding: 8px 0 8px 22px;
  border-bottom: 1px solid var(--dashboard-border);
  color: var(--muted);
  font-size: 0.7rem;
}

.iso-check-list li::before {
  position: absolute;
  top: 8px;
  left: 0;
  color: var(--green-dark);
  content: "✓";
  font-weight: 900;
}

.iso-text-link,
.iso-resource-grid a {
  color: var(--blue);
  font-size: 0.72rem;
  font-weight: 800;
}

.iso-application-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.iso-application-steps li {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--dashboard-border);
  border-radius: 11px;
  background: var(--dashboard-soft);
}

.iso-application-steps li > span {
  display: grid;
  width: 27px;
  height: 27px;
  margin-bottom: 9px;
  place-items: center;
  border: 1px solid #b7cade;
  border-radius: 50%;
  background: #fff;
  color: var(--navy);
  font-size: 0.67rem;
  font-weight: 800;
}

.iso-application-steps strong,
.iso-application-steps small {
  display: block;
}

.iso-application-steps strong {
  color: var(--navy-deep);
  font-size: 0.73rem;
}

.iso-application-steps small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.62rem;
  line-height: 1.4;
}

.iso-application-steps li.is-complete {
  border-color: #bbd8a7;
  background: #f3faee;
}

.iso-application-steps li.is-complete > span {
  border-color: var(--green-dark);
  background: var(--green-dark);
  color: #fff;
}

.iso-application-steps li.is-current {
  border-color: #93bee2;
  background: #edf7ff;
}

.iso-inline-form {
  margin-top: 16px;
}

.iso-progress {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 2px 0 17px;
}

.iso-progress-bar {
  flex: 1;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #dfebf4;
}

.iso-progress-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--blue), var(--green));
}

.iso-progress strong {
  color: var(--navy-deep);
  font-size: 0.76rem;
}

.iso-training-modules {
  border-top: 1px solid var(--dashboard-border);
}

.iso-training-modules label {
  display: grid;
  grid-template-columns: auto 30px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid var(--dashboard-border);
  cursor: pointer;
}

.iso-training-modules input {
  width: 17px;
  height: 17px;
  accent-color: var(--green-dark);
}

.iso-training-modules strong,
.iso-training-modules small {
  display: block;
}

.iso-training-modules strong {
  color: var(--navy-deep);
  font-size: 0.78rem;
}

.iso-training-modules small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.65rem;
  line-height: 1.4;
}

.iso-training-modules .iso-module-reference {
  display: block;
  margin-top: 7px;
  color: var(--blue);
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.iso-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 17px;
}

.iso-device-commerce-grid {
  display: grid;
  grid-template-columns: minmax(210px, 0.62fr) minmax(0, 1.38fr);
  gap: 18px;
  align-items: stretch;
}

.iso-device-commerce-visual {
  display: grid;
  min-height: 300px;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--dashboard-border);
  border-radius: 13px;
  background: radial-gradient(circle at center, #ffffff 0%, #edf7fd 100%);
}

.iso-device-commerce-visual img {
  display: block;
  width: 142%;
  height: auto;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

.iso-dashboard-v2 .iso-product-card {
  height: 100%;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
}

.iso-dashboard-v2 .iso-product-purchase {
  padding: 17px;
}

.iso-dashboard-v2 .iso-product-price {
  font-size: 1.3rem;
}

.iso-supply-section-heading {
  margin: 28px 0 16px;
  padding-top: 24px;
  border-top: 1px solid var(--dashboard-border);
}

.iso-supply-section-heading h3,
.iso-supply-section-heading p {
  margin-bottom: 6px;
}

.iso-supply-section-heading > p:last-child {
  max-width: 760px;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.55;
}

.iso-band-catalog-hero {
  display: grid;
  grid-template-columns: minmax(190px, 0.8fr) minmax(0, 1.2fr);
  gap: 20px;
  align-items: center;
  margin: 0 0 16px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--dashboard-border);
  border-radius: 14px;
  background: linear-gradient(145deg, #eaf5fc 0%, #fff 74%);
}

.iso-band-catalog-hero img {
  display: block;
  width: 100%;
  max-height: 280px;
  border-radius: 10px;
  object-fit: cover;
  object-position: center;
}

.iso-band-catalog-hero figcaption {
  min-width: 0;
}

.iso-band-catalog-hero h4 {
  margin: 0 0 8px;
  color: var(--navy-deep);
  font-size: 1.15rem;
}

.iso-band-catalog-hero figcaption > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.55;
}

.iso-band-catalog-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}

.iso-band-product-card {
  display: grid;
  grid-template-columns: minmax(240px, 30%) minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--dashboard-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(7,59,122,.05);
}

.iso-band-product-visual {
  position: relative;
  display: grid;
  min-height: 320px;
  overflow: hidden;
  background: linear-gradient(150deg, #eaf5fc 0%, #f8fbfd 100%);
}

.iso-band-product-visual img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  object-position: center;
}

.iso-band-product-visual b {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  padding: 10px 12px;
  border-radius: 999px;
  background: var(--navy-deep);
  color: #fff;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: .01em;
  text-align: center;
}

.iso-band-product-copy {
  min-width: 0;
  padding: 24px 26px;
}

.iso-band-product-copy .eyebrow {
  margin-bottom: 7px;
  font-size: .64rem;
  line-height: 1.4;
  letter-spacing: .14em;
}

.iso-band-product-copy h4 {
  margin: 0 0 12px;
  color: var(--navy-deep);
  font-size: 1.08rem;
  line-height: 1.18;
}

.iso-band-product-copy dl {
  margin: 0 0 16px;
}

.iso-band-product-copy dl div {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid #e1ebf2;
}

.iso-band-product-copy dt,
.iso-band-product-copy dd {
  min-width: 0;
  margin: 0;
  font-size: .72rem;
  line-height: 1.4;
}

.iso-band-product-copy dt {
  color: var(--muted);
}

.iso-band-product-copy dd {
  color: var(--navy-deep);
  font-weight: 700;
}

.iso-band-price {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: baseline;
  margin: 12px 0 14px;
  color: var(--navy-deep);
  font-size: 1.16rem;
  line-height: 1.1;
  font-weight: 900;
}

.iso-band-price small {
  color: var(--muted);
  font-size: .66rem;
  font-weight: 600;
}

.iso-band-purchase-form {
  display: grid;
  grid-template-columns: 106px minmax(0, 1fr);
  grid-template-areas:
    "material material"
    "bags button";
  gap: 10px 12px;
  align-items: end;
}

.iso-band-purchase-form label {
  display: block;
  min-width: 0;
  color: var(--navy-deep);
  font-size: .68rem;
  line-height: 1.25;
  font-weight: 800;
}

.iso-band-purchase-form .iso-band-material-field {
  grid-area: material;
}

.iso-band-purchase-form label:not(.iso-band-material-field) {
  grid-area: bags;
}

.iso-band-purchase-form input,
.iso-band-purchase-form select {
  display: block;
  width: 100%;
  min-height: 42px;
  margin-top: 5px;
  padding: 8px 10px;
  border: 1px solid #b9cddd;
  border-radius: 8px;
  background: #fff;
  color: var(--navy-deep);
  font-size: .76rem;
  line-height: 1.25;
}

.iso-band-purchase-form label:not(.iso-band-material-field) input {
  max-width: 106px;
}

.iso-band-purchase-form .button {
  grid-area: button;
  width: 100%;
  min-height: 42px;
  padding: 8px 14px;
  font-size: .7rem;
}

@media (max-width: 1100px) {
  .iso-band-product-card {
    grid-template-columns: minmax(220px, 32%) minmax(0, 1fr);
  }

  .iso-band-product-copy {
    padding: 20px;
  }

  .iso-band-product-copy h4 {
    font-size: 1rem;
  }

  .iso-band-product-copy dt,
  .iso-band-product-copy dd {
    font-size: .69rem;
  }

  .iso-band-price {
    font-size: 1.08rem;
  }

  .iso-band-price small {
    font-size: .64rem;
  }

  .iso-band-purchase-form {
    grid-template-columns: 96px minmax(0, 1fr);
  }
}

.iso-catalog-unavailable {
  display: inline-block;
  padding: 7px 9px;
  border-radius: 7px;
  background: #eef3f7;
  color: var(--muted);
  font-size: 0.64rem;
  font-weight: 700;
}

.iso-supply-note {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 0.64rem;
}

.iso-professional-note {
  display: flex;
  gap: 8px;
  margin-top: 15px;
  padding: 12px 14px;
  border-left: 3px solid var(--green);
  background: var(--dashboard-soft);
  color: var(--muted);
  font-size: 0.66rem;
  line-height: 1.45;
}

.iso-professional-note strong {
  flex: 0 0 auto;
  color: var(--navy-deep);
}

.iso-resource-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.iso-resource-grid article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--dashboard-border);
  border-radius: 11px;
  background: var(--dashboard-soft);
}

.iso-resource-grid article p {
  min-height: 74px;
  margin-bottom: 12px;
  font-size: 0.67rem;
}

.iso-resource-tag {
  display: inline-block;
  margin-bottom: 12px;
  padding: 4px 7px;
  border-radius: 999px;
  background: #e6f3df;
  color: var(--green-dark);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.iso-team-grid,
.iso-support-grid,
.iso-account-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(250px, 0.75fr);
}

.iso-request-list article {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--dashboard-border);
}

.iso-request-list strong,
.iso-request-list small {
  display: block;
}

.iso-request-list strong {
  color: var(--navy-deep);
  font-size: 0.7rem;
}

.iso-request-list small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.6rem;
}

.iso-mini-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 4px 0 16px;
  overflow: hidden;
  border: 1px solid var(--dashboard-border);
  border-radius: 11px;
}

.iso-mini-stats > div {
  padding: 12px 14px;
  border-right: 1px solid var(--dashboard-border);
}

.iso-mini-stats > div:last-child {
  border-right: 0;
}

.iso-mini-stats strong,
.iso-mini-stats span {
  display: block;
}

.iso-mini-stats strong {
  color: var(--navy-deep);
  font-size: 1.05rem;
}

.iso-mini-stats span {
  color: var(--muted);
  font-size: 0.62rem;
}

.iso-profile-summary {
  margin: 13px 0 0;
}

.iso-profile-summary > div {
  display: grid;
  grid-template-columns: 42% minmax(0, 1fr);
  gap: 8px;
  padding: 9px 0;
  border-bottom: 1px solid var(--dashboard-border);
}

.iso-profile-summary dt,
.iso-profile-summary dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 0.67rem;
}

.iso-profile-summary dt {
  color: var(--muted);
}

.iso-profile-summary dd {
  color: var(--navy-deep);
  font-weight: 700;
}

.iso-direct-support {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid var(--dashboard-border);
}

.iso-direct-support a {
  color: var(--blue);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.iso-dashboard-v2 .iso-portal-form textarea,
.iso-dashboard-v2 .iso-portal-form select {
  display: block;
  width: 100%;
  margin-top: 7px;
  padding: 10px 12px;
  border: 1px solid #b9cddd;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.iso-dashboard-v2 .iso-portal-form > label + label {
  display: block;
  margin-top: 14px;
}

.iso-dashboard-v2 .button {
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 8px;
  font-size: 0.7rem;
}

.iso-dashboard-v2 .iso-portal-notice {
  margin-bottom: 18px;
  padding: 12px 14px;
  font-size: 0.73rem;
}

@media (max-width: 980px) {
  .page-provider-portal .wp-content-shell,
  .page-clinic-portal .wp-content-shell {
    width: min(100% - 40px, 960px);
  }

  .iso-dashboard-frame {
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-dashboard-nav {
    position: static;
  }

  .iso-dashboard-nav-title,
  .iso-dashboard-nav-help {
    display: none;
  }

  .iso-dashboard-nav ul {
    display: flex;
    gap: 5px;
    overflow-x: auto;
    padding: 8px;
    scrollbar-width: thin;
  }

  .iso-dashboard-nav li,
  .iso-dashboard-nav li + li {
    flex: 0 0 auto;
    margin: 0;
  }

  .iso-dashboard-nav li a {
    min-height: 37px;
    white-space: nowrap;
  }

  .iso-dashboard-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iso-resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .page-provider-portal .wp-content-shell,
  .page-clinic-portal .wp-content-shell {
    width: min(100% - 28px, 680px);
  }

  .iso-dashboard-v2-header {
    align-items: flex-start;
    padding: 20px;
  }

  .iso-dashboard-header-meta {
    flex-direction: column;
    align-items: flex-end;
  }

  .iso-dashboard-main-grid,
  .iso-team-grid,
  .iso-support-grid,
  .iso-account-grid,
  .iso-device-commerce-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-application-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iso-device-commerce-visual {
    min-height: 260px;
  }

  .iso-device-commerce-visual img {
    width: min(100%, 430px);
    max-width: 100%;
    max-height: none;
  }

  .iso-band-catalog-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-band-catalog-hero {
    grid-template-columns: minmax(150px, 0.75fr) minmax(0, 1.25fr);
  }
}

@media (max-width: 520px) {
	.iso-checkout-flow {
		padding: 14px 8px;
	}

	.iso-checkout-flow li {
		gap: 6px;
		font-size: 0.68rem;
	}

	.iso-checkout-step-number {
		width: 30px;
		height: 30px;
	}

	.iso-checkout-flow li:not(:last-child)::after {
		top: 14px;
		left: calc(50% + 18px);
		width: calc(100% - 36px);
	}

  .page-provider-portal .wp-content-shell,
  .page-clinic-portal .wp-content-shell {
    width: min(100% - 22px, 480px);
  }

  .iso-dashboard-v2 {
    font-size: 0.86rem;
  }

  .iso-dashboard-v2-header,
  .iso-card-heading {
    display: block;
  }

  .iso-dashboard-v2-header {
    padding: 18px;
  }

  .iso-dashboard-v2-header h2 {
    font-size: 1.65rem;
  }

  .iso-dashboard-header-meta {
    flex-flow: row wrap;
    align-items: center;
    margin-top: 14px;
  }

  .iso-dashboard-card {
    padding: 17px;
  }

  .iso-card-heading > .button {
    width: 100%;
    margin-top: 12px;
    text-align: center;
  }

  .iso-dashboard-kpis,
  .iso-resource-grid,
  .iso-application-steps,
  .iso-mini-stats {
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-dashboard-kpis article {
    padding: 12px 14px;
  }

  .iso-dashboard-kpis small {
    white-space: normal;
  }

  .iso-resource-grid article p {
    min-height: 0;
  }

  .iso-mini-stats > div {
    border-right: 0;
    border-bottom: 1px solid var(--dashboard-border);
  }

  .iso-mini-stats > div:last-child {
    border-bottom: 0;
  }

  .iso-training-modules label {
    grid-template-columns: auto 26px minmax(0, 1fr);
    gap: 8px;
  }

  .iso-module-number {
    width: 26px;
    height: 26px;
  }

  .iso-form-actions .button,
  .iso-inline-form .button {
    width: 100%;
    text-align: center;
  }

  .iso-band-product-card {
    grid-template-columns: minmax(210px, 34%) minmax(0, 1fr);
  }

  .iso-band-catalog-hero {
    grid-template-columns: minmax(0, 1fr);
    padding: 14px;
  }

  .iso-band-catalog-hero img {
    max-height: 260px;
  }

  .iso-band-product-visual {
    min-height: 260px;
  }

  .iso-band-product-visual img {
    min-height: 260px;
  }

  .iso-band-purchase-form {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "material"
      "bags"
      "button";
    align-items: stretch;
  }

  .iso-band-purchase-form .iso-band-material-field {
    grid-column: auto;
  }

  .iso-band-purchase-form label:not(.iso-band-material-field) input {
    max-width: 100%;
  }

  .iso-band-purchase-form label,
  .iso-band-purchase-form input,
  .iso-band-purchase-form select,
  .iso-band-purchase-form .button {
    width: 100%;
  }

  .iso-professional-note {
    display: block;
  }

  .iso-professional-note strong {
    display: block;
    margin-bottom: 4px;
  }

  .iso-dashboard-v2 .iso-order-table {
    min-width: 580px;
  }
}

/* Public Support pages — v1.2.14. Isolated from existing public and portal layouts. */
.footer-support-links {
  margin-top: 28px;
  padding-top: 0;
  border-top: 0;
}

.site-footer .footer-support-links h2 {
  margin-bottom: 16px;
}

.support-page {
  background: var(--white);
  color: var(--ink);
}

.support-hero {
  padding: clamp(72px, 8vw, 118px) 0 clamp(62px, 7vw, 94px);
  background: linear-gradient(145deg, #ffffff 0%, #f2f9fd 62%, #edf7fd 100%);
  border-bottom: 1px solid var(--line);
}

.support-hero-inner {
  max-width: 1040px;
}

.support-hero h1 {
  max-width: 940px;
  margin: 10px 0 20px;
  color: var(--navy);
  font-size: clamp(2.6rem, 5vw, 5rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.support-hero-description {
  max-width: 880px;
  margin: 0;
  color: var(--muted);
  font-size: clamp(1.08rem, 1.8vw, 1.28rem);
  line-height: 1.7;
}

.support-hero-meta {
  margin: 22px 0 0;
  color: var(--green-dark);
  font-weight: 800;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
}

.support-hero-actions {
  margin-top: 30px;
}

.support-section {
  padding: clamp(66px, 7vw, 100px) 0;
}

.support-section-pale {
  background: var(--pale-soft);
}

.support-section-heading {
  max-width: 800px;
  margin-bottom: 34px;
}

.support-section-heading h2,
.support-panel h2,
.support-form-card h2,
.support-contact-cta h2,
.legal-content h2 {
  color: var(--navy);
}

.support-section-heading h2 {
  margin: 6px 0 12px;
  font-size: clamp(2rem, 3.7vw, 3.3rem);
  line-height: 1.05;
}

.support-section-heading > p:last-child {
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.7;
}

.support-track-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.75fr);
  gap: 30px;
  align-items: start;
}

.support-form-card,
.support-info-card,
.support-panel,
.support-side-card,
.hipaa-rule-grid article,
.support-policy-cards article,
.support-topic-grid a,
.support-quick-links a {
  border: 1px solid #d5e6f2;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 12px 38px rgba(7, 59, 122, 0.065);
}

.support-form-card {
  padding: clamp(28px, 4vw, 48px);
}

.support-form-card h2 {
  margin: 7px 0 12px;
  font-size: clamp(2rem, 3vw, 2.8rem);
}

.support-form-card > p:not(.eyebrow) {
  color: var(--muted);
  line-height: 1.7;
}

.support-order-form {
  margin-top: 28px;
}

.support-order-form .woocommerce-form-track-order {
  margin: 0;
  padding: 0;
  border: 0;
}

.support-order-form .woocommerce-form-track-order > p:first-child {
  color: var(--muted);
  line-height: 1.65;
}

.support-order-form .form-row {
  width: 100%;
  float: none;
  margin: 0 0 18px;
  padding: 0;
}

.support-order-form label {
  display: block;
  margin-bottom: 8px;
  color: var(--navy);
  font-weight: 800;
}

.support-order-form input.input-text {
  width: 100%;
  min-height: 54px;
  padding: 12px 15px;
  border: 1px solid #bcd4e7;
  border-radius: 10px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
}

.support-order-form button.button {
  min-height: 50px;
  margin-top: 4px;
  padding: 0 24px;
  border-radius: 8px;
  background: var(--blue);
  color: #fff;
}

.support-side-stack {
  display: grid;
  gap: 18px;
}

.support-info-card {
  padding: 25px;
}

.support-card-number,
.support-topic-grid a > span,
.hipaa-rule-grid article > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 30px;
  padding: 0 9px;
  border-radius: 999px;
  background: #eaf6e2;
  color: var(--green-dark);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.support-info-card h3,
.support-topic-grid h3,
.hipaa-rule-grid h3,
.support-policy-cards h3 {
  margin: 15px 0 8px;
  color: var(--navy);
}

.support-info-card p,
.support-topic-grid p,
.hipaa-rule-grid p,
.support-policy-cards p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.support-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.support-process-grid article {
  position: relative;
  padding: 28px 24px 26px;
  border-top: 3px solid var(--green);
  background: #fff;
  box-shadow: 0 10px 32px rgba(7, 59, 122, 0.06);
}

.support-process-grid article > span {
  color: var(--green-dark);
  font-weight: 900;
  letter-spacing: 0.08em;
}

.support-process-grid h3 {
  margin: 15px 0 8px;
  color: var(--navy);
}

.support-process-grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.62;
}

.support-notice {
  margin-top: 32px;
  padding: 22px 24px;
  border-radius: 13px;
  border: 1px solid #bdd8eb;
}

.support-notice strong {
  display: block;
  margin-bottom: 5px;
  color: var(--navy);
}

.support-notice p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.support-notice-info {
  background: #f3f9fd;
}

.support-notice-warning {
  background: #fff8e9;
  border-color: #ead8a8;
}

.support-contact-cta {
  padding: 58px 0;
  background: var(--navy);
  color: #fff;
}

.support-contact-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.65fr);
  align-items: center;
  gap: 42px;
}

.support-contact-cta h2 {
  margin: 7px 0 10px;
  color: #fff;
  font-size: clamp(2rem, 3.6vw, 3.1rem);
}

.support-contact-cta p:not(.eyebrow) {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.78);
  line-height: 1.7;
}

.support-contact-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
}

.support-text-link {
  color: #fff;
  font-weight: 750;
}

.support-topic-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.support-topic-grid a {
  display: block;
  min-height: 255px;
  padding: 25px;
  color: inherit;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.support-topic-grid a:hover,
.support-topic-grid a:focus-visible {
  transform: translateY(-3px);
  border-color: #a9cfe8;
  box-shadow: 0 18px 42px rgba(7, 59, 122, 0.11);
}

.support-topic-grid a strong {
  display: block;
  margin-top: 18px;
  color: var(--blue);
}

.support-faq-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.45fr);
  gap: 50px;
  align-items: start;
}

.support-faq-heading {
  position: sticky;
  top: 110px;
}

.support-faq-list {
  border-top: 1px solid var(--line);
}

.support-faq-list details {
  border-bottom: 1px solid var(--line);
}

.support-faq-list summary {
  position: relative;
  padding: 23px 44px 23px 0;
  color: var(--navy);
  font-size: 1.04rem;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}

.support-faq-list summary::-webkit-details-marker {
  display: none;
}

.support-faq-list summary::after {
  content: '+';
  position: absolute;
  right: 7px;
  top: 19px;
  color: var(--green-dark);
  font-size: 1.5rem;
  font-weight: 500;
}

.support-faq-list details[open] summary::after {
  content: '–';
}

.support-faq-list details p {
  margin: -3px 0 24px;
  color: var(--muted);
  line-height: 1.72;
}

.support-faq-list a,
.legal-content a {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.support-quick-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.support-quick-links a {
  display: flex;
  flex-direction: column;
  padding: 25px;
  color: inherit;
  text-decoration: none;
}

.support-quick-links small {
  color: var(--green-dark);
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.support-quick-links strong {
  margin: 9px 0 16px;
  color: var(--navy);
  font-size: 1.2rem;
}

.support-quick-links span {
  color: var(--blue);
  font-weight: 750;
}

.support-policy-alert {
  background: #eaf6e2;
  border-bottom: 1px solid #cce3bd;
}

.support-policy-alert .shell {
  display: flex;
  gap: 12px;
  align-items: baseline;
  padding-top: 18px;
  padding-bottom: 18px;
}

.support-policy-alert strong {
  color: var(--green-dark);
}

.support-policy-alert span {
  color: var(--ink);
}

.support-policy-alert-strong {
  background: #eef6fb;
  border-bottom-color: #c8ddec;
}

.support-policy-alert-strong strong {
  color: var(--navy);
}

.support-two-column,
.support-return-layout,
.hipaa-incident-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: start;
}

.support-panel {
  padding: clamp(28px, 4vw, 44px);
}

.support-panel h2 {
  margin: 6px 0 13px;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.support-panel > p:not(.eyebrow) {
  color: var(--muted);
  line-height: 1.7;
}

.support-panel h3 {
  margin: 28px 0 10px;
  color: var(--navy);
}

.support-panel-navy {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}

.support-panel-navy h2,
.support-panel-navy h3,
.support-panel-navy .eyebrow {
  color: #fff;
}

.support-panel-navy > p:not(.eyebrow),
.support-panel-navy .support-check-list li {
  color: rgba(255,255,255,.82);
}

.support-check-list {
  display: grid;
  gap: 12px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.support-check-list li {
  position: relative;
  padding-left: 26px;
  color: var(--muted);
  line-height: 1.6;
}

.support-check-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--green-dark);
  font-weight: 900;
}

.support-panel-navy .support-check-list li::before {
  color: #91dc64;
}

.support-policy-grid {
  display: grid;
  grid-template-columns: minmax(280px, .65fr) minmax(0, 1.35fr);
  gap: 46px;
  align-items: start;
}

.support-policy-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px;
}

.support-policy-cards article {
  padding: 25px;
}

.support-return-layout,
.hipaa-incident-layout {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
}

.support-step-list {
  display: grid;
  gap: 14px;
  margin-top: 30px;
}

.support-step-list > div {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 16px;
  align-items: start;
  padding: 19px 0;
  border-top: 1px solid var(--line);
}

.support-step-list > div > span {
  color: var(--green-dark);
  font-weight: 900;
}

.support-step-list p {
  margin: 0;
  color: var(--muted);
  line-height: 1.62;
}

.support-step-list p strong {
  display: block;
  margin-bottom: 4px;
  color: var(--navy);
}

.support-side-card {
  padding: 28px;
  background: #f7fbfe;
}

.support-side-card h3 {
  margin-top: 0;
  color: var(--navy);
}

.support-side-card ul {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding-left: 20px;
  color: var(--muted);
  line-height: 1.55;
}

/* Legal pages. */
.legal-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 54px;
  align-items: start;
}

.legal-toc {
  position: sticky;
  top: 105px;
  display: grid;
  gap: 9px;
  padding: 22px;
  border: 1px solid #d5e6f2;
  border-radius: 16px;
  background: #fff;
}

.legal-toc strong {
  margin-bottom: 6px;
  color: var(--navy);
}

.legal-toc a {
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.35;
}

.legal-content {
  max-width: 880px;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid #d5e6f2;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 38px rgba(7, 59, 122, 0.055);
}

.legal-content section {
  scroll-margin-top: 115px;
  padding: 0 0 30px;
  margin: 0 0 32px;
  border-bottom: 1px solid var(--line);
}

.legal-content section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.legal-content h2 {
  margin: 0 0 13px;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
}

.legal-content h3 {
  margin: 22px 0 8px;
  color: var(--navy);
  font-size: 1.07rem;
}

.legal-content p {
  margin: 0 0 14px;
  color: #405974;
  line-height: 1.76;
}

/* HIPAA page. */
.hipaa-rule-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.hipaa-rule-grid article {
  padding: 25px;
}

.hipaa-rule-grid a {
  display: inline-block;
  margin-top: 18px;
  color: var(--blue);
  font-weight: 800;
}

.hipaa-breach-card {
  background: #edf7fd;
}

.hipaa-breach-card p {
  color: var(--muted);
  line-height: 1.7;
}

.hipaa-breach-card .button {
  margin-top: 14px;
}

.support-disclaimer {
  padding: 30px 0;
  background: #fff8e9;
  border-top: 1px solid #ead8a8;
  border-bottom: 1px solid #ead8a8;
}

.support-disclaimer strong {
  color: #735913;
}

.support-disclaimer p {
  margin: 6px 0 0;
  color: #66572d;
  line-height: 1.65;
}

@media (max-width: 1100px) {
  .support-topic-grid,
  .hipaa-rule-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .support-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .support-track-grid,
  .support-contact-cta-inner,
  .support-faq-layout,
  .support-policy-grid,
  .support-return-layout,
  .hipaa-incident-layout,
  .legal-layout {
    grid-template-columns: 1fr;
  }

  .support-faq-heading,
  .legal-toc {
    position: static;
  }

  .legal-toc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legal-toc strong {
    grid-column: 1 / -1;
  }
}

@media (max-width: 700px) {
  .support-hero {
    padding: 54px 0 48px;
  }

  .support-hero h1 {
    font-size: clamp(2.35rem, 12vw, 3.7rem);
  }

  .support-topic-grid,
  .support-process-grid,
  .support-quick-links,
  .support-two-column,
  .support-policy-cards,
  .hipaa-rule-grid {
    grid-template-columns: 1fr;
  }

  .support-topic-grid a {
    min-height: 0;
  }

  .support-policy-alert .shell {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .legal-toc {
    grid-template-columns: 1fr;
  }

  .support-contact-actions {
    width: 100%;
  }
}


/* v1.2.14 — Support typography synchronized to the established public-site scale.
 * Scope is intentionally limited to the six Support templates. */
main.support-page .support-hero h1 {
  max-width: 680px;
  margin: 10px 0 18px;
  font-size: clamp(2.55rem, 4vw, 3.375rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

main.support-page .support-hero-description {
  max-width: 760px;
  font-size: clamp(0.92rem, 1.15vw, 1.08rem);
  line-height: 1.65;
}

main.support-page .support-section-heading h2,
main.support-page .support-contact-cta h2 {
  font-size: clamp(1.8rem, 2.65vw, 2.25rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

main.support-page .support-section-heading > p:last-child {
  font-size: 1rem;
}

main.support-page .support-form-card h2,
main.support-page .support-panel h2 {
  font-size: clamp(1.55rem, 2.15vw, 1.9rem);
  line-height: 1.08;
}

main.support-page .legal-content h2 {
  font-size: clamp(1.35rem, 1.9vw, 1.7rem);
  line-height: 1.12;
}

main.support-page .support-info-card h3,
main.support-page .support-topic-grid h3,
main.support-page .support-process-grid h3,
main.support-page .support-policy-cards h3,
main.support-page .hipaa-rule-grid h3,
main.support-page .support-panel h3,
main.support-page .support-side-card h3,
main.support-page .legal-content h3 {
  font-size: 1rem;
  line-height: 1.12;
}

@media (max-width: 620px) {
  main.support-page .support-hero h1 {
    font-size: clamp(2.2rem, 10vw, 2.75rem);
  }

  main.support-page .support-section-heading h2,
  main.support-page .support-contact-cta h2 {
    font-size: clamp(1.65rem, 7vw, 2.1rem);
  }
}

/* Live provider course row — scoped to Training & Certification only. */
.iso-training-course-row {
  display: grid;
  grid-template-columns: 17px 30px minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid var(--dashboard-border);
  color: inherit;
}
.iso-training-course-row:hover .iso-course-row-copy strong,
.iso-training-course-row:focus-visible .iso-course-row-copy strong { color: var(--blue); }
.iso-course-row-state {
  display: grid;
  width: 17px;
  height: 17px;
  place-items: center;
  border: 1px solid #8eb6d8;
  border-radius: 50%;
  color: var(--blue);
  font-size: .58rem;
  font-weight: 900;
}
.iso-training-course-row.is-complete .iso-course-row-state {
  border-color: var(--green-dark);
  background: var(--green-dark);
  color: #fff;
}
.iso-course-row-copy strong,
.iso-course-row-copy small,
.iso-course-row-copy .iso-module-reference { display: block; }
.iso-course-row-copy strong { color: var(--navy-deep); font-size: .78rem; }
.iso-course-row-copy small { margin-top: 2px; color: var(--muted); font-size: .65rem; line-height: 1.4; }
.iso-course-row-copy .iso-module-reference { margin-top: 7px; color: var(--blue); font-size: .58rem; font-style: normal; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.iso-course-row-action { color: var(--blue); font-size: .61rem; font-weight: 800; white-space: nowrap; }
@media (max-width: 700px) {
  .iso-training-course-row { grid-template-columns: 17px 30px minmax(0,1fr); }
  .iso-course-row-action { grid-column: 3; }
}

/* Site-wide phone/tablet responsive audit refinements — v1.2.32 */
.page-provider-portal .iso-dashboard-v2,
.page-clinic-portal .iso-dashboard-v2,
.iso-dashboard-content,
.iso-dashboard-card,
.iso-library-module {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

main :where(img, video, iframe, canvas, svg) {
  max-width: 100%;
}

@media (max-width: 960px) {
  .iso-dashboard-frame {
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-dashboard-content,
  .iso-dashboard-card {
    min-width: 0;
  }

  .iso-dashboard-nav {
    position: static;
  }

  .iso-dashboard-nav ul {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 720px) {
  .page-provider-portal .wp-content-shell,
  .page-clinic-portal .wp-content-shell {
    width: calc(100% - 24px);
    max-width: none;
  }

  .iso-dashboard-v2-header {
    display: block;
    padding: 18px;
  }

  .iso-dashboard-header-meta {
    flex-flow: row wrap;
    align-items: center;
    margin-top: 13px;
  }

  .iso-dashboard-card {
    padding: 16px;
  }

  .iso-resource-grid,
  .iso-dashboard-kpis,
  .iso-dashboard-main-grid,
  .iso-team-grid,
  .iso-support-grid,
  .iso-account-grid,
  .iso-device-commerce-grid,
  .iso-band-catalog-grid,
  .iso-mini-stats {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .iso-resource-grid article p {
    min-height: 0;
  }

  .iso-card-heading,
  .iso-request-list article {
    align-items: stretch;
    flex-direction: column;
  }

  .iso-form-actions,
  .iso-inline-form,
  .iso-dashboard-actions,
  .button-row {
    flex-wrap: wrap;
  }

  .iso-form-actions .button,
  .iso-inline-form .button,
  .iso-dashboard-actions .button {
    width: 100%;
    text-align: center;
  }

  .iso-order-table-wrap,
  .iso-commerce-shell .woocommerce,
  .iso-library-spec-table-wrap,
  .iso-library-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 560px) {
  .page-provider-portal .wp-content-shell,
  .page-clinic-portal .wp-content-shell {
    width: calc(100% - 18px);
  }

  .iso-dashboard-nav li a {
    min-height: 36px;
    padding: 7px 9px;
    font-size: .7rem;
  }

  .iso-dashboard-v2-header h2 {
    font-size: clamp(1.5rem, 8vw, 1.85rem);
  }

  .iso-band-product-card,
  .iso-band-catalog-hero {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .iso-band-product-visual,
  .iso-band-product-visual img {
    min-height: 0;
    max-height: 340px;
  }
}


/* Home — verified customer reviews */
.verified-customers-section {
  padding: 72px 0 68px;
  background: #fff;
}

.verified-customers-heading {
  max-width: 760px;
  margin: 0 auto 30px;
  text-align: center;
}

.verified-customers-heading h2 {
  margin: 6px 0 8px;
  color: var(--navy-deep);
  font-size: clamp(1.85rem, 3vw, 2.65rem);
  line-height: 1.1;
}

.verified-customers-heading > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.65;
}

.verified-customers-carousel {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
  padding: 12px 84px 8px;
}

.verified-customer-track {
  position: relative;
  min-height: 250px;
}

.verified-customer-slide {
  display: none;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 44px;
  align-items: center;
  min-height: 250px;
}

.verified-customer-slide.is-active {
  display: grid;
}

.verified-customer-avatar {
  overflow: hidden;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: #eef4f8;
  box-shadow: 0 8px 24px rgba(7,59,122,.08);
}

.verified-customer-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.verified-customer-copy {
  position: relative;
  min-width: 0;
  padding: 4px 0;
}

.verified-quote-mark {
  position: absolute;
  top: -17px;
  left: -55px;
  color: #cfe3f7;
  font-family: Georgia, serif;
  font-size: 5.4rem;
  font-weight: 700;
  line-height: 1;
}

.verified-customer-copy blockquote {
  margin: 0 0 15px;
  color: #425a76;
  font-size: clamp(1.08rem, 1.7vw, 1.45rem);
  font-weight: 400;
  line-height: 1.55;
}

.verified-customer-stars {
  display: flex;
  gap: 3px;
  margin-bottom: 7px;
}

.verified-customer-stars span {
  color: #dce5ee;
  font-size: 1.45rem;
  line-height: 1;
}

.verified-customer-stars span.is-filled {
  color: #f6a800;
}

.verified-customer-name {
  display: block;
  margin-bottom: 5px;
  color: var(--navy-deep);
  font-size: .92rem;
}

.verified-customer-badge {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  color: #788ba1;
  font-size: .76rem;
  font-weight: 500;
}

.verified-customer-badge i {
  display: grid;
  width: 17px;
  height: 17px;
  place-items: center;
  border: 1px solid #6f8caa;
  border-radius: 50%;
  color: #4a79a8;
  font-size: .58rem;
  font-style: normal;
  font-weight: 900;
}

.verified-carousel-arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: grid;
  width: 54px;
  height: 54px;
  margin-top: -27px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #f1f6fb;
  color: #0d63bb;
  cursor: pointer;
  font-size: 2.2rem;
  line-height: 1;
}

.verified-carousel-arrow.is-prev { left: 0; }
.verified-carousel-arrow.is-next { right: 0; }
.verified-carousel-arrow:hover,
.verified-carousel-arrow:focus-visible { background: #e4eef8; }

.verified-customer-dots {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 10px;
}

.verified-customer-dots button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #d6e3ef;
  cursor: pointer;
}

.verified-customer-dots button.is-active { background: #1670ca; }

@media (max-width: 900px) {
  .verified-customers-section { padding: 56px 0; }
  .verified-customers-carousel { padding: 8px 62px; }
  .verified-customer-slide { grid-template-columns: 145px minmax(0, 1fr); gap: 30px; }
  .verified-customer-avatar { width: 145px; height: 145px; }
  .verified-quote-mark { left: -40px; font-size: 4.2rem; }
}

@media (max-width: 680px) {
  .verified-customers-section { padding: 44px 0; }
  .verified-customers-heading { margin-bottom: 20px; text-align: left; }
  .verified-customers-carousel { padding: 0 0 58px; }
  .verified-customer-track { min-height: 0; }
  .verified-customer-slide,
  .verified-customer-slide.is-active {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
    text-align: left;
  }
  .verified-customer-avatar { width: 112px; height: 112px; }
  .verified-quote-mark { position: static; display: block; height: 40px; font-size: 4rem; }
  .verified-customer-copy blockquote { font-size: 1rem; }
  .verified-carousel-arrow { top: auto; bottom: 0; width: 44px; height: 44px; margin: 0; font-size: 1.8rem; }
  .verified-carousel-arrow.is-prev { left: 0; }
  .verified-carousel-arrow.is-next { right: 0; }
  .verified-customer-dots { position: absolute; right: 54px; bottom: 17px; left: 54px; margin: 0; }
}


/* Home — role-based professional perspectives fallback */
.verified-customer-avatar.is-role-avatar {
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #eef6fc, #e8f4df);
  border: 1px solid #d7e6ef;
}

.verified-customer-avatar.is-role-avatar span {
  color: var(--navy-deep);
  font-size: 1.7rem;
  font-weight: 900;
  letter-spacing: .03em;
}

.professional-perspective-kicker {
  display: block;
  margin-bottom: 7px;
  color: var(--green-dark);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.professional-perspective-title {
  margin: 0 0 9px;
  color: var(--navy-deep);
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  line-height: 1.25;
}

.professional-perspective-copy {
  max-width: 800px;
  margin: 0 0 14px;
  color: #425a76;
  font-size: clamp(.95rem, 1.35vw, 1.12rem);
  line-height: 1.65;
}

.verified-customer-badge.is-perspective i {
  background: #eef6fc;
  color: #4a79a8;
}

@media (max-width: 680px) {
  .verified-customer-avatar.is-role-avatar span { font-size: 1.3rem; }
  .professional-perspective-title { font-size: 1.12rem; }
  .professional-perspective-copy { font-size: .94rem; }
}


/* Home — provider testimonials */
.verified-customer-role {
  display: block;
  margin: 0 0 7px;
  color: var(--green-dark);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

@media (max-width: 680px) {
  .verified-customer-role { font-size: .72rem; }
}


/* Homepage testimonials refinement — v1.2.41 */
.verified-customers-section.is-provider-testimonials {
  padding: 56px 0 44px;
}

.verified-customers-section.is-provider-testimonials .shell {
  max-width: 1160px;
}

.verified-customers-section.is-provider-testimonials .verified-customers-heading {
  max-width: 860px;
  margin: 0 auto 24px;
  text-align: center;
}

.verified-customers-section.is-provider-testimonials .verified-customers-heading h2 {
  font-size: clamp(2.1rem, 4vw, 3rem);
  line-height: 1.08;
  margin-bottom: 10px;
}

.verified-customers-section.is-provider-testimonials .verified-customers-heading p:last-child {
  max-width: 760px;
  margin: 0 auto;
  font-size: clamp(1rem, 1.5vw, 1.15rem);
}

.verified-customers-section.is-provider-testimonials .verified-customers-carousel {
  max-width: 980px;
  padding: 8px 70px 6px;
}

.verified-customers-section.is-provider-testimonials .verified-customer-track {
  min-height: 196px;
}

.verified-customers-section.is-provider-testimonials .verified-customer-slide {
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  min-height: 196px;
}

.verified-customers-section.is-provider-testimonials .verified-customer-avatar {
  width: 132px;
  height: 132px;
}

.verified-customers-section.is-provider-testimonials .verified-customer-copy {
  padding: 2px 0;
}

.verified-customers-section.is-provider-testimonials .verified-quote-mark {
  top: -10px;
  left: -36px;
  font-size: 4rem;
}

.verified-customers-section.is-provider-testimonials .verified-customer-copy blockquote {
  margin: 0 0 10px;
  color: #425a76;
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.52;
}

.verified-customers-section.is-provider-testimonials .verified-customer-stars {
  margin-bottom: 6px;
}

.verified-customers-section.is-provider-testimonials .verified-customer-stars span {
  font-size: 1.2rem;
}

.verified-customers-section.is-provider-testimonials .verified-customer-name {
  margin-bottom: 4px;
  font-size: 1rem;
}

.verified-customers-section.is-provider-testimonials .verified-customer-role {
  display: block;
  margin-bottom: 6px;
  color: var(--green-dark);
  font-size: .92rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: none;
}

.verified-customers-section.is-provider-testimonials .verified-customer-badge {
  font-size: .88rem;
}

.verified-customers-section.is-provider-testimonials .verified-carousel-arrow {
  width: 48px;
  height: 48px;
  margin-top: -24px;
  font-size: 1.95rem;
}

.verified-customers-section.is-provider-testimonials .verified-customer-dots {
  margin-top: 8px;
}

@media (max-width: 900px) {
  .verified-customers-section.is-provider-testimonials { padding: 48px 0 38px; }
  .verified-customers-section.is-provider-testimonials .verified-customers-carousel { padding: 6px 56px; }
  .verified-customers-section.is-provider-testimonials .verified-customer-slide { grid-template-columns: 120px minmax(0, 1fr); gap: 20px; min-height: 180px; }
  .verified-customers-section.is-provider-testimonials .verified-customer-avatar { width: 120px; height: 120px; }
  .verified-customers-section.is-provider-testimonials .verified-quote-mark { left: -26px; font-size: 3.4rem; }
}

@media (max-width: 680px) {
  .verified-customers-section.is-provider-testimonials { padding: 40px 0 32px; }
  .verified-customers-section.is-provider-testimonials .verified-customers-heading { margin-bottom: 18px; text-align: left; }
  .verified-customers-section.is-provider-testimonials .verified-customers-heading h2 { font-size: clamp(1.85rem, 7vw, 2.4rem); }
  .verified-customers-section.is-provider-testimonials .verified-customers-heading p:last-child { margin: 0; }
  .verified-customers-section.is-provider-testimonials .verified-customers-carousel { padding: 0 0 56px; }
  .verified-customers-section.is-provider-testimonials .verified-customer-slide,
  .verified-customers-section.is-provider-testimonials .verified-customer-slide.is-active { grid-template-columns: 1fr; gap: 14px; min-height: 0; }
  .verified-customers-section.is-provider-testimonials .verified-customer-avatar { width: 100px; height: 100px; }
  .verified-customers-section.is-provider-testimonials .verified-quote-mark { position: static; display: block; height: 32px; font-size: 3rem; }
  .verified-customers-section.is-provider-testimonials .verified-customer-copy blockquote { font-size: .98rem; }
  .verified-customers-section.is-provider-testimonials .verified-customer-badge { font-size: .82rem; }
}


/* Homepage testimonials size reduction — v1.2.42 */
.verified-customers-section.is-provider-testimonials {
  padding: 34px 0 26px;
}

.verified-customers-section.is-provider-testimonials .verified-customers-heading {
  max-width: 760px;
  margin: 0 auto 14px;
}

.verified-customers-section.is-provider-testimonials .verified-customers-heading .eyebrow {
  margin-bottom: 8px;
  font-size: 0.82rem;
}

.verified-customers-section.is-provider-testimonials .verified-customers-heading h2 {
  font-size: clamp(1.9rem, 3.4vw, 2.55rem);
  margin-bottom: 8px;
}

.verified-customers-section.is-provider-testimonials .verified-customers-heading p:last-child {
  max-width: 660px;
  font-size: clamp(0.95rem, 1.25vw, 1.02rem);
}

.verified-customers-section.is-provider-testimonials .verified-customers-carousel {
  max-width: 900px;
  padding: 2px 60px 2px;
}

.verified-customers-section.is-provider-testimonials .verified-customer-track,
.verified-customers-section.is-provider-testimonials .verified-customer-slide {
  min-height: 164px;
}

.verified-customers-section.is-provider-testimonials .verified-customer-slide {
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 18px;
}

.verified-customers-section.is-provider-testimonials .verified-customer-avatar {
  width: 108px;
  height: 108px;
}

.verified-customers-section.is-provider-testimonials .verified-customer-copy blockquote {
  margin: 0 0 8px;
  font-size: clamp(0.96rem, 1.15vw, 1.06rem);
  line-height: 1.45;
}

.verified-customers-section.is-provider-testimonials .verified-quote-mark {
  top: -8px;
  left: -28px;
  font-size: 3.2rem;
}

.verified-customers-section.is-provider-testimonials .verified-customer-stars {
  margin-bottom: 4px;
}

.verified-customers-section.is-provider-testimonials .verified-customer-stars span {
  font-size: 1.05rem;
}

.verified-customers-section.is-provider-testimonials .verified-customer-name {
  font-size: 0.95rem;
  margin-bottom: 2px;
}

.verified-customers-section.is-provider-testimonials .verified-customer-role {
  font-size: 0.84rem;
  margin-bottom: 4px;
}

.verified-customers-section.is-provider-testimonials .verified-customer-badge {
  font-size: 0.8rem;
}

.verified-customers-section.is-provider-testimonials .verified-carousel-arrow {
  width: 40px;
  height: 40px;
  margin-top: -20px;
  font-size: 1.65rem;
}

.verified-customers-section.is-provider-testimonials .verified-customer-dots {
  margin-top: 2px;
}

@media (max-width: 900px) {
  .verified-customers-section.is-provider-testimonials {
    padding: 30px 0 24px;
  }

  .verified-customers-section.is-provider-testimonials .verified-customers-carousel {
    padding: 0 46px;
  }

  .verified-customers-section.is-provider-testimonials .verified-customer-track,
  .verified-customers-section.is-provider-testimonials .verified-customer-slide {
    min-height: 152px;
  }

  .verified-customers-section.is-provider-testimonials .verified-customer-slide {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 16px;
  }

  .verified-customers-section.is-provider-testimonials .verified-customer-avatar {
    width: 96px;
    height: 96px;
  }
}

@media (max-width: 680px) {
  .verified-customers-section.is-provider-testimonials {
    padding: 26px 0 22px;
  }

  .verified-customers-section.is-provider-testimonials .verified-customers-heading {
    margin-bottom: 12px;
  }

  .verified-customers-section.is-provider-testimonials .verified-customers-heading h2 {
    font-size: clamp(1.7rem, 7vw, 2.15rem);
  }

  .verified-customers-section.is-provider-testimonials .verified-customers-heading p:last-child {
    font-size: 0.96rem;
  }

  .verified-customers-section.is-provider-testimonials .verified-customers-carousel {
    padding: 0 0 50px;
  }

  .verified-customers-section.is-provider-testimonials .verified-customer-avatar {
    width: 88px;
    height: 88px;
  }

  .verified-customers-section.is-provider-testimonials .verified-customer-copy blockquote {
    font-size: 0.94rem;
    line-height: 1.42;
  }

  .verified-customers-section.is-provider-testimonials .verified-customer-name {
    font-size: 0.92rem;
  }

  .verified-customers-section.is-provider-testimonials .verified-customer-role,
  .verified-customers-section.is-provider-testimonials .verified-customer-badge {
    font-size: 0.78rem;
  }
}

/* Help Center — AI Help Assistant v1.2.43 */
.support-ai-help-section {
  padding: clamp(52px, 6vw, 78px) 0;
  background: #fff;
}

.ai-help-heading {
  max-width: 760px;
  margin-bottom: 26px;
}

.ai-help-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, .65fr);
  gap: 24px;
  align-items: start;
}

.ai-help-card,
.ai-help-guide {
  border: 1px solid #d5e6f2;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 38px rgba(7, 59, 122, 0.065);
}

.ai-help-card {
  overflow: hidden;
}

.ai-help-card-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid #dfeaf2;
  background: linear-gradient(135deg, #f8fbfd 0%, #eef7fc 100%);
}

.ai-help-identity {
  display: flex;
  gap: 12px;
  align-items: center;
  min-width: 0;
}

.ai-help-logo {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  background: var(--navy-deep);
  color: #fff;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .05em;
}

.ai-help-identity strong,
.ai-help-identity small {
  display: block;
}

.ai-help-identity strong {
  color: var(--navy-deep);
  font-size: .92rem;
}

.ai-help-identity small {
  margin-top: 2px;
  color: #71859c;
  font-size: .7rem;
}

.ai-help-status {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  flex: 0 0 auto;
  color: var(--green-dark);
  font-size: .72rem;
  font-weight: 800;
}

.ai-help-status i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #66b846;
  box-shadow: 0 0 0 4px rgba(102,184,70,.12);
}

.ai-help-messages {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 280px;
  max-height: 390px;
  overflow-y: auto;
  padding: 20px;
  background: #fbfdff;
  scroll-behavior: smooth;
}

.ai-help-message {
  display: flex;
  flex-direction: column;
  max-width: 84%;
}

.ai-help-message.is-user {
  align-self: flex-end;
  align-items: flex-end;
}

.ai-help-message.is-assistant {
  align-self: flex-start;
  align-items: flex-start;
}

.ai-help-bubble {
  padding: 11px 13px;
  border-radius: 14px;
  color: #425a76;
  font-size: .86rem;
  line-height: 1.58;
  white-space: pre-wrap;
}

.ai-help-message.is-assistant .ai-help-bubble {
  border: 1px solid #dce8f1;
  border-top-left-radius: 5px;
  background: #fff;
}

.ai-help-message.is-user .ai-help-bubble {
  border-top-right-radius: 5px;
  background: var(--navy-deep);
  color: #fff;
}

.ai-help-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 7px;
}

.ai-help-actions a {
  display: inline-flex;
  padding: 6px 9px;
  border: 1px solid #bcd8ea;
  border-radius: 999px;
  background: #f4f9fd;
  color: var(--blue);
  font-size: .7rem;
  font-weight: 800;
}

.ai-help-message.is-typing .ai-help-bubble {
  display: flex;
  gap: 4px;
  align-items: center;
  min-width: 54px;
  min-height: 36px;
}

.ai-help-message.is-typing span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #8ea4b8;
  animation: iso-ai-help-pulse 1.1s infinite ease-in-out;
}

.ai-help-message.is-typing span:nth-child(2) { animation-delay: .12s; }
.ai-help-message.is-typing span:nth-child(3) { animation-delay: .24s; }

@keyframes iso-ai-help-pulse {
  0%, 60%, 100% { transform: translateY(0); opacity: .45; }
  30% { transform: translateY(-4px); opacity: 1; }
}

.ai-help-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 20px 0;
  border-top: 1px solid #edf2f6;
  background: #fff;
}

.ai-help-suggestions button {
  appearance: none;
  padding: 7px 10px;
  border: 1px solid #c9deec;
  border-radius: 999px;
  background: #f8fbfd;
  color: var(--navy-deep);
  cursor: pointer;
  font: inherit;
  font-size: .72rem;
  font-weight: 700;
}

.ai-help-suggestions button:hover,
.ai-help-suggestions button:focus-visible {
  border-color: #88b8d8;
  background: #eef7fc;
}

.ai-help-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 82px;
  gap: 10px;
  align-items: end;
  padding: 14px 20px 10px;
  background: #fff;
}

.ai-help-form textarea {
  width: 100%;
  min-height: 54px;
  max-height: 130px;
  resize: vertical;
  padding: 12px 13px;
  border: 1px solid #bcd4e7;
  border-radius: 11px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: .86rem;
  line-height: 1.45;
}

.ai-help-form textarea:focus {
  outline: 3px solid rgba(28,111,185,.12);
  border-color: #5c9dcf;
}

.ai-help-form .button {
  min-height: 54px;
  width: 100%;
  margin: 0;
}

.ai-help-layout.is-busy .ai-help-form,
.ai-help-layout.is-busy .ai-help-suggestions {
  opacity: .72;
}

.ai-help-privacy {
  margin: 0;
  padding: 0 20px 17px;
  color: #788ba1;
  font-size: .66rem;
  line-height: 1.5;
}

.ai-help-privacy strong {
  color: #536a83;
}

.ai-help-guide {
  padding: 23px;
}

.ai-help-guide > .eyebrow {
  margin-bottom: 13px;
}

.ai-help-guide ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ai-help-guide li {
  position: relative;
  padding-left: 22px;
  color: #536a83;
  font-size: .78rem;
  line-height: 1.48;
}

.ai-help-guide li::before {
  position: absolute;
  top: 1px;
  left: 0;
  color: var(--green-dark);
  content: "✓";
  font-weight: 900;
}

.ai-help-boundary {
  margin-top: 20px;
  padding: 13px 14px;
  border-left: 3px solid var(--green);
  border-radius: 0 10px 10px 0;
  background: #f1f8ec;
}

.ai-help-boundary strong {
  display: block;
  margin-bottom: 4px;
  color: var(--navy-deep);
  font-size: .75rem;
}

.ai-help-boundary p {
  margin: 0;
  color: #5f748b;
  font-size: .7rem;
  line-height: 1.52;
}

.ai-help-contact-link {
  display: inline-block;
  margin-top: 18px;
  color: var(--blue);
  font-size: .76rem;
  font-weight: 800;
}

@media (max-width: 980px) {
  .ai-help-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .ai-help-guide {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, .65fr);
    gap: 18px 24px;
  }

  .ai-help-guide > .eyebrow,
  .ai-help-guide > ul {
    grid-column: 1;
  }

  .ai-help-boundary {
    grid-column: 2;
    grid-row: 1 / span 2;
    margin-top: 0;
  }

  .ai-help-contact-link {
    grid-column: 1 / -1;
    margin-top: 0;
  }
}

@media (max-width: 680px) {
  .support-ai-help-section {
    padding: 40px 0;
  }

  .ai-help-card-header {
    align-items: flex-start;
    padding: 15px;
  }

  .ai-help-status {
    margin-top: 4px;
    font-size: .65rem;
  }

  .ai-help-logo {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
  }

  .ai-help-messages {
    min-height: 240px;
    max-height: 360px;
    padding: 15px;
  }

  .ai-help-message {
    max-width: 92%;
  }

  .ai-help-bubble {
    font-size: .82rem;
  }

  .ai-help-suggestions {
    padding: 12px 15px 0;
  }

  .ai-help-form {
    grid-template-columns: minmax(0, 1fr);
    padding: 12px 15px 8px;
  }

  .ai-help-form .button {
    min-height: 46px;
  }

  .ai-help-privacy {
    padding: 0 15px 15px;
  }

  .ai-help-guide {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .ai-help-guide > .eyebrow,
  .ai-help-guide > ul,
  .ai-help-boundary,
  .ai-help-contact-link {
    grid-column: 1;
    grid-row: auto;
  }
}

/* Help Center — two-way Realtime voice assistant v1.2.44 */
.ai-help-voice-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 18px;
  align-items: center;
  padding: 14px 20px;
  border-bottom: 1px solid #dfeaf2;
  background: linear-gradient(135deg, #f4f9fd 0%, #f2f8ee 100%);
}

.ai-help-voice-intro {
  display: flex;
  gap: 11px;
  align-items: center;
  min-width: 0;
}

.ai-help-mic {
  display: grid;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: var(--navy-deep);
  color: #fff;
  font-size: 1.05rem;
  box-shadow: 0 7px 18px rgba(7,59,122,.12);
}

.ai-help-voice-intro strong,
.ai-help-voice-intro small {
  display: block;
}

.ai-help-voice-intro strong {
  color: var(--navy-deep);
  font-size: .84rem;
}

.ai-help-voice-intro small {
  margin-top: 2px;
  color: #6f849a;
  font-size: .69rem;
  line-height: 1.4;
}

.ai-help-voice-controls {
  display: flex;
  gap: 7px;
  justify-content: flex-end;
  align-items: center;
}

.ai-help-voice-controls .button {
  min-height: 38px;
  margin: 0;
  padding: 8px 12px;
  font-size: .72rem;
}

.ai-help-voice-start:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.ai-help-voice-status {
  grid-column: 1 / -1;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  width: fit-content;
  color: #70859b;
  font-size: .66rem;
  font-weight: 700;
}

.ai-help-voice-status::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #a9bac9;
  content: "";
}

.ai-help-voice-bar[data-voice-state="listening"] .ai-help-voice-status,
.ai-help-voice-bar[data-voice-state="speaking"] .ai-help-voice-status {
  color: var(--green-dark);
}

.ai-help-voice-bar[data-voice-state="listening"] .ai-help-voice-status::before {
  background: #65b746;
  box-shadow: 0 0 0 4px rgba(101,183,70,.12);
  animation: iso-ai-voice-pulse 1.25s ease-in-out infinite;
}

.ai-help-voice-bar[data-voice-state="thinking"] .ai-help-voice-status,
.ai-help-voice-bar[data-voice-state="connecting"] .ai-help-voice-status {
  color: #2f6f9f;
}

.ai-help-voice-bar[data-voice-state="thinking"] .ai-help-voice-status::before,
.ai-help-voice-bar[data-voice-state="connecting"] .ai-help-voice-status::before {
  background: #5f9ec9;
  animation: iso-ai-voice-pulse 1.25s ease-in-out infinite;
}

.ai-help-voice-bar[data-voice-state="speaking"] .ai-help-voice-status::before {
  background: #65b746;
  box-shadow: 0 0 0 4px rgba(101,183,70,.12);
}

.ai-help-voice-bar[data-voice-state="muted"] .ai-help-voice-status::before {
  background: #d2a035;
}

.ai-help-voice-bar[data-voice-state="error"] .ai-help-voice-status {
  color: #a24747;
}

.ai-help-voice-bar[data-voice-state="error"] .ai-help-voice-status::before {
  background: #b85454;
}

@keyframes iso-ai-voice-pulse {
  0%, 100% { transform: scale(1); opacity: .65; }
  50% { transform: scale(1.18); opacity: 1; }
}


.ai-help-message.is-voice-transcript .ai-help-bubble::before {
  margin-right: 6px;
  color: var(--green-dark);
  content: "Voice ·";
  font-size: .68rem;
  font-weight: 800;
}

.ai-help-layout.is-voice-active .ai-help-card-header {
  box-shadow: inset 4px 0 0 var(--green);
}

@media (max-width: 680px) {
  .ai-help-voice-bar {
    grid-template-columns: minmax(0, 1fr);
    padding: 13px 15px;
  }

  .ai-help-voice-controls {
    justify-content: stretch;
  }

  .ai-help-voice-controls .button {
    flex: 1 1 0;
  }

  .ai-help-voice-status {
    grid-column: 1;
  }
}

/* Help Center — approved AI assistant visual layout v1.2.45 */
.support-help-intro {
  padding: 38px 0 8px;
  background: linear-gradient(180deg, #f8fbfd 0%, #fff 100%);
}

.support-help-intro .eyebrow {
  margin-bottom: 7px;
}

.support-help-intro h1 {
  margin: 0 0 7px;
  color: var(--navy-deep);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.05;
}

.support-help-intro p:last-child {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-size: clamp(.95rem, 1.4vw, 1.08rem);
  line-height: 1.55;
}

.support-page-help-center .support-ai-help-section {
  padding: 28px 0 58px;
  background: #fff;
}

.support-page-help-center .ai-help-heading {
  max-width: 760px;
  margin-bottom: 20px;
}

.support-page-help-center .ai-help-heading h2 {
  margin-bottom: 7px;
  font-size: clamp(1.55rem, 2.7vw, 2.1rem);
}

.support-page-help-center .ai-help-heading p:last-child {
  font-size: .94rem;
}

.support-page-help-center .ai-help-layout {
  grid-template-columns: minmax(230px, .62fr) minmax(480px, 1.42fr) minmax(220px, .62fr);
  gap: 16px;
  align-items: stretch;
}

.ai-help-person {
  min-width: 0;
  min-height: 680px;
  margin: 0;
  overflow: hidden;
  border: 1px solid #d5e6f2;
  border-radius: 20px;
  background: #f4f8fb;
  box-shadow: 0 12px 38px rgba(7,59,122,.065);
}

.ai-help-person img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 680px;
  object-fit: cover;
  object-position: center top;
}

.support-page-help-center .ai-help-card,
.support-page-help-center .ai-help-guide {
  height: 100%;
}

.support-page-help-center .ai-help-card-header {
  padding: 16px 18px;
}

.support-page-help-center .ai-help-voice-bar {
  padding: 12px 18px;
}

.support-page-help-center .ai-help-messages {
  min-height: 250px;
  max-height: 340px;
  padding: 17px 18px;
}

.support-page-help-center .ai-help-guide {
  padding: 20px 18px;
}

.support-page-help-center .ai-help-guide li {
  font-size: .73rem;
}

.support-page-help-center .ai-help-boundary {
  margin-top: 16px;
}

@media (max-width: 1120px) {
  .support-page-help-center .ai-help-layout {
    grid-template-columns: minmax(210px, .58fr) minmax(0, 1.42fr);
  }

  .support-page-help-center .ai-help-guide {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .65fr);
    gap: 18px 24px;
  }

  .support-page-help-center .ai-help-guide > .eyebrow,
  .support-page-help-center .ai-help-guide > ul {
    grid-column: 1;
  }

  .support-page-help-center .ai-help-boundary {
    grid-column: 2;
    grid-row: 1 / span 2;
    margin-top: 0;
  }

  .support-page-help-center .ai-help-contact-link {
    grid-column: 1 / -1;
    margin-top: 0;
  }

  .ai-help-person,
  .ai-help-person img {
    min-height: 620px;
  }
}

@media (max-width: 820px) {
  .support-help-intro {
    padding-top: 28px;
  }

  .support-page-help-center .support-ai-help-section {
    padding: 22px 0 46px;
  }

  .support-page-help-center .ai-help-layout {
    grid-template-columns: 1fr;
  }

  .ai-help-person {
    min-height: 0;
    height: clamp(300px, 62vw, 470px);
  }

  .ai-help-person img {
    min-height: 0;
    height: 100%;
    object-position: center 18%;
  }

  .support-page-help-center .ai-help-guide {
    grid-column: 1;
  }
}

@media (max-width: 680px) {
  .support-help-intro {
    padding: 24px 0 4px;
  }

  .support-page-help-center .ai-help-heading {
    margin-bottom: 14px;
  }

  .support-page-help-center .ai-help-layout {
    gap: 12px;
  }

  .ai-help-person {
    height: 330px;
    border-radius: 16px;
  }

  .support-page-help-center .ai-help-card,
  .support-page-help-center .ai-help-guide {
    border-radius: 16px;
  }

  .support-page-help-center .ai-help-guide {
    grid-template-columns: 1fr;
  }

  .support-page-help-center .ai-help-guide > .eyebrow,
  .support-page-help-center .ai-help-guide > ul,
  .support-page-help-center .ai-help-boundary,
  .support-page-help-center .ai-help-contact-link {
    grid-column: 1;
    grid-row: auto;
  }
}


/* Contact hero primary actions — v1.2.46 */
.contact-hero-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 620px;
}

.contact-hero-actions .button {
  min-width: 0;
  min-height: 62px;
  padding: 10px 12px;
  font-size: .78rem;
  line-height: 1.28;
}

@media (max-width: 1120px) {
  .contact-hero-actions {
    grid-template-columns: 1fr;
    max-width: 430px;
  }

  .contact-hero-actions .button {
    min-height: 50px;
    font-size: .86rem;
  }
}

@media (max-width: 680px) {
  .contact-hero-actions {
    max-width: none;
  }

  .contact-hero-actions .button {
    width: 100%;
  }
}


/* Contact page — company identity block v1.2.50 */
.contact-company-section {
  padding: 22px 0 0;
  background: #fff;
}

.contact-company-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(250px, .85fr) minmax(250px, .85fr);
  gap: 26px;
  align-items: center;
  padding: 24px 28px;
  border: 1px solid #d4e5f1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(7, 59, 122, .07);
}

.contact-company-brand {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.contact-company-icon {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #eff7ff;
  color: var(--blue);
}

.contact-company-icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.contact-company-brand .eyebrow {
  margin: 0 0 4px;
  font-size: .7rem;
}

.contact-company-brand h2 {
  margin: 0;
  color: var(--navy-deep);
  font-size: clamp(1.12rem, 1.7vw, 1.5rem);
  line-height: 1.2;
}

.contact-company-address {
  margin: 0;
  padding-left: 26px;
  border-left: 1px solid var(--line);
  color: var(--muted);
  font-size: .85rem;
  font-style: normal;
  line-height: 1.55;
}

.contact-company-address strong,
.contact-company-address span {
  display: block;
}

.contact-company-address strong {
  color: var(--navy-deep);
  font-size: .9rem;
}

.contact-company-support {
  display: grid;
  gap: 3px;
  padding-left: 26px;
  border-left: 1px solid var(--line);
}

.contact-company-support small {
  margin-bottom: 3px;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.contact-company-support a {
  width: fit-content;
  color: var(--navy-deep);
  font-size: .84rem;
  font-weight: 800;
}

.contact-company-support a:hover {
  color: var(--blue);
  text-decoration: underline;
}

@media (max-width: 920px) {
  .contact-company-card {
    grid-template-columns: 1fr 1fr;
  }

  .contact-company-brand {
    grid-column: 1 / -1;
  }

  .contact-company-address {
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 620px) {
  .contact-company-section {
    padding-top: 16px;
  }

  .contact-company-card {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 21px 20px;
  }

  .contact-company-brand {
    grid-column: auto;
  }

  .contact-company-icon {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }

  .contact-company-address,
  .contact-company-support {
    padding: 17px 0 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }
}

/* Contact page — compact live AI assistant v1.2.47 */
.contact-ai-help-section {
  padding: 42px 0 0;
  background: #fff;
  scroll-margin-top: 90px;
}

.contact-ai-help-card {
  overflow: hidden;
  border: 1px solid #d4e5f1;
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fcff 0%, #eef7fc 100%);
  box-shadow: 0 12px 34px rgba(7, 59, 122, .07);
}

.contact-ai-help-summary {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 22px 24px;
}

.contact-ai-help-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 16px;
  background: var(--navy-deep);
  color: #fff;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .06em;
}

.contact-ai-help-copy .eyebrow {
  margin-bottom: 4px;
}

.contact-ai-help-copy h2 {
  margin: 0 0 5px;
  color: var(--navy-deep);
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.18;
}

.contact-ai-help-copy > p:last-child {
  max-width: 700px;
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.55;
}

.contact-ai-help-actions {
  display: flex;
  gap: 9px;
  align-items: center;
}

.contact-ai-help-actions .button {
  min-width: 126px;
  min-height: 46px;
  margin: 0;
  padding: 9px 13px;
  font-size: .78rem;
}

.contact-ai-help-actions .button:disabled {
  opacity: .48;
  cursor: not-allowed;
}

.contact-ai-inline-panel {
  border-top: 1px solid #d9e7f1;
  background: #fff;
}

.contact-ai-inline-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid #e4edf4;
  background: #fbfdff;
}

.contact-ai-close {
  display: grid;
  width: 34px;
  height: 34px;
  padding: 0;
  place-items: center;
  border: 1px solid #c8dbea;
  border-radius: 50%;
  background: #fff;
  color: var(--navy-deep);
  cursor: pointer;
  font: inherit;
  font-size: 1.35rem;
  line-height: 1;
}

.contact-ai-inline-panel .ai-help-voice-bar {
  margin: 14px 18px 0;
  border-radius: 13px;
}

.contact-ai-messages {
  min-height: 185px;
  max-height: 280px;
  padding: 16px 18px;
}

.contact-ai-suggestions {
  padding: 11px 18px 0;
}

.contact-ai-form {
  padding: 12px 18px 8px;
}

.contact-ai-inline-panel .ai-help-privacy {
  padding: 0 18px 14px;
}

@media (max-width: 960px) {
  .contact-ai-help-summary {
    grid-template-columns: 50px minmax(0, 1fr);
  }

  .contact-ai-help-icon {
    width: 50px;
    height: 50px;
  }

  .contact-ai-help-actions {
    grid-column: 1 / -1;
    padding-left: 68px;
  }
}

@media (max-width: 680px) {
  .contact-ai-help-section {
    padding-top: 28px;
  }

  .contact-ai-help-summary {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    padding: 18px;
  }

  .contact-ai-help-icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    font-size: .7rem;
  }

  .contact-ai-help-copy h2 {
    font-size: 1.18rem;
  }

  .contact-ai-help-copy > p:last-child {
    font-size: .76rem;
  }

  .contact-ai-help-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column: 1 / -1;
    padding-left: 0;
  }

  .contact-ai-help-actions .button {
    width: 100%;
    min-width: 0;
  }

  .contact-ai-inline-head {
    padding: 12px 14px;
  }

  .contact-ai-inline-panel .ai-help-voice-bar {
    margin: 12px 14px 0;
  }

  .contact-ai-messages {
    min-height: 160px;
    max-height: 240px;
    padding: 14px;
  }

  .contact-ai-suggestions {
    padding: 10px 14px 0;
  }

  .contact-ai-form {
    grid-template-columns: 1fr;
    padding: 10px 14px 8px;
  }

  .contact-ai-inline-panel .ai-help-privacy {
    padding: 0 14px 12px;
  }
}

/* Contact inquiry routing — v1.2.48 */
.contact-intent-router {
  min-width: 0;
  margin: 0 0 30px;
  padding: 0;
  border: 0;
}

.contact-intent-router legend {
  display: block;
  width: 100%;
  margin: 0 0 6px;
  padding: 0;
  color: var(--navy-deep);
  font-size: clamp(1.35rem, 2.1vw, 1.75rem);
  font-weight: 800;
  line-height: 1.2;
}

.contact-intent-intro {
  max-width: 680px;
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.6;
}

.contact-intent-group {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #d9e6ef;
  border-radius: 14px;
  background: #f8fbfd;
}

.contact-intent-group.is-support {
  background: #f4f9ef;
  border-color: #dcebd1;
}

.contact-intent-group-head {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  align-items: baseline;
  margin-bottom: 12px;
}

.contact-intent-group-head > span {
  color: var(--navy-deep);
  font-size: 0.79rem;
  font-weight: 800;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.contact-intent-group-head > small {
  color: var(--muted);
  font-size: 0.66rem;
  line-height: 1.45;
}

.contact-intent-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.contact-intent-option {
  position: relative;
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start;
  min-width: 0;
  min-height: 92px;
  padding: 13px;
  border: 1px solid #cfdeea;
  border-radius: 11px;
  background: #fff;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.contact-intent-option:hover {
  border-color: #8bb7da;
  box-shadow: 0 7px 18px rgba(7,59,122,.07);
  transform: translateY(-1px);
}

.contact-intent-option input {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0;
  pointer-events: none;
}

.contact-intent-option:has(input:focus-visible) {
  outline: 3px solid rgba(11,114,200,.16);
  outline-offset: 2px;
}

.contact-intent-option:has(input:checked) {
  border-color: var(--blue-bright);
  background: #f0f7fd;
  box-shadow: 0 0 0 2px rgba(11,114,200,.08);
}

.contact-intent-group.is-support .contact-intent-option:has(input:checked) {
  border-color: var(--green-dark);
  background: #f7fbf3;
  box-shadow: 0 0 0 2px rgba(95,164,56,.08);
}

.contact-intent-number {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 9px;
  background: #edf5fb;
  color: var(--blue);
  font-size: 0.58rem;
  font-weight: 900;
}

.contact-intent-option:has(input:checked) .contact-intent-number {
  background: var(--blue);
  color: #fff;
}

.contact-intent-group.is-support .contact-intent-option:has(input:checked) .contact-intent-number {
  background: var(--green-dark);
}

.contact-intent-text {
  display: block;
  min-width: 0;
}

.contact-intent-text strong,
.contact-intent-text small {
  display: block;
}

.contact-intent-text strong {
  margin: 1px 0 5px;
  color: var(--navy-deep);
  font-size: 0.68rem;
  line-height: 1.35;
}

.contact-intent-text small {
  color: #6a7e94;
  font-size: 0.56rem;
  font-weight: 500;
  line-height: 1.4;
}

@media (max-width: 1100px) {
  .contact-intent-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .contact-intent-router {
    margin-bottom: 24px;
  }

  .contact-intent-group {
    padding: 14px;
  }

  .contact-intent-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-intent-option {
    min-height: 0;
  }
}

/* Provider & Clinic Sign In — compact site-consistent scale (v1.2.51). */
.page-provider-login main.section {
  padding: 40px 0 46px;
}

.page-provider-login main .shell,
.page-provider-login .wp-content-shell {
  width: min(760px, calc(100% - 40px)) !important;
  max-width: 760px;
}

.page-provider-login .wp-content-card > h1 {
  max-width: none;
  margin-bottom: 22px;
  font-size: clamp(2rem, 3vw, 2.65rem);
  line-height: 1.06;
}

.page-provider-login .iso-portal-notice {
  margin-bottom: 20px;
  padding: 12px 15px;
  border-radius: 9px;
  font-size: 0.84rem;
  line-height: 1.4;
}

.page-provider-login .iso-login-grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(250px, 0.82fr);
  gap: 20px;
}

.page-provider-login .iso-portal-panel {
  padding: 28px 30px;
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(7, 59, 122, 0.065);
}

.page-provider-login .iso-portal-panel .eyebrow {
  margin-bottom: 10px;
  font-size: 0.68rem;
  letter-spacing: 0.15em;
}

.page-provider-login .iso-portal-panel h2 {
  margin-bottom: 0;
  font-size: clamp(1.7rem, 2.45vw, 2rem);
  line-height: 1.1;
}

.page-provider-login #loginform {
  margin-top: 20px;
}

.page-provider-login #loginform p {
  margin-bottom: 14px;
}

.page-provider-login #loginform label {
  font-size: 0.8rem;
}

.page-provider-login #loginform input[type="text"],
.page-provider-login #loginform input[type="password"] {
  min-height: 44px;
  margin-top: 6px;
  padding: 8px 11px;
  border-radius: 7px;
  font-size: 0.9rem;
}

.page-provider-login #loginform .login-remember {
  margin: 1px 0 13px;
}

.page-provider-login #loginform .login-remember label {
  gap: 7px;
  font-size: 0.79rem;
}

.page-provider-login #loginform .button-primary {
  min-height: 41px;
  padding: 9px 18px;
  border-radius: 7px;
  font-size: 0.8rem;
}

.page-provider-login .iso-portal-panel > p:last-child {
  margin: 2px 0 0;
  font-size: 0.82rem;
}

.page-provider-login .iso-login-help {
  padding: 29px 28px;
  border-radius: 16px;
}

.page-provider-login .iso-login-help h3 {
  margin-bottom: 9px;
  font-size: 0.98rem;
}

.page-provider-login .iso-login-help p {
  margin-bottom: 18px;
  font-size: 0.87rem;
  line-height: 1.55;
}

.page-provider-login .iso-login-help .button {
  min-height: 40px;
  padding: 9px 14px;
  font-size: 0.76rem;
  line-height: 1.25;
}

.page-provider-login .iso-login-help small {
  margin-top: 24px;
  font-size: 0.72rem;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .page-provider-login main.section {
    padding: 34px 0 40px;
  }

  .page-provider-login main .shell,
  .page-provider-login .wp-content-shell {
    width: min(600px, calc(100% - 36px)) !important;
  }

  .page-provider-login .iso-login-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px;
  }

  .page-provider-login .iso-login-help {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .page-provider-login main.section {
    padding: 28px 0 34px;
  }

  .page-provider-login main .shell,
  .page-provider-login .wp-content-shell {
    width: min(100% - 28px, 520px) !important;
  }

  .page-provider-login .wp-content-card > h1 {
    margin-bottom: 18px;
    font-size: clamp(1.85rem, 9vw, 2.2rem);
  }

  .page-provider-login .iso-portal-panel,
  .page-provider-login .iso-login-help {
    padding: 22px;
  }

  .page-provider-login .iso-portal-panel h2 {
    font-size: 1.65rem;
  }

  .page-provider-login #loginform input[type="text"],
  .page-provider-login #loginform input[type="password"] {
    min-height: 43px;
  }
}

/* Provider & Clinic Sign In — further scale reduction (v1.2.52).
   Keep the global header unchanged; bring the portal entry page in line with
   the quieter scale used throughout the public site. */
.page-provider-login main.section {
  padding: 26px 0 32px;
}

.page-provider-login main .shell,
.page-provider-login .wp-content-shell {
  width: min(660px, calc(100% - 40px)) !important;
  max-width: 660px;
}

.page-provider-login .wp-content-card > h1 {
  margin-bottom: 16px;
  font-size: clamp(1.8rem, 2.45vw, 2.2rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.page-provider-login .iso-portal-notice {
  margin-bottom: 14px;
  padding: 9px 13px;
  border-radius: 8px;
  font-size: 0.73rem;
  line-height: 1.35;
}

.page-provider-login .iso-login-grid {
  grid-template-columns: minmax(0, 1.13fr) minmax(220px, 0.87fr);
  gap: 14px;
  align-items: start;
}

.page-provider-login .iso-portal-panel {
  padding: 20px 22px 19px;
  border-radius: 13px;
  box-shadow: 0 7px 20px rgba(7, 59, 122, 0.05);
}

.page-provider-login .iso-portal-panel .eyebrow {
  margin-bottom: 6px;
  font-size: 0.58rem;
  letter-spacing: 0.14em;
}

.page-provider-login .iso-portal-panel h2 {
  margin-bottom: 0;
  font-size: clamp(1.25rem, 1.9vw, 1.48rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.page-provider-login #loginform {
  margin-top: 13px;
}

.page-provider-login #loginform p {
  margin-bottom: 9px;
}

.page-provider-login #loginform label {
  font-size: 0.69rem;
  line-height: 1.25;
}

.page-provider-login #loginform input[type="text"],
.page-provider-login #loginform input[type="password"] {
  min-height: 37px;
  height: 37px;
  margin-top: 4px;
  padding: 6px 9px;
  border-radius: 6px;
  font-size: 0.79rem;
}

.page-provider-login #loginform .login-remember {
  margin: 0 0 8px;
}

.page-provider-login #loginform .login-remember label {
  gap: 6px;
  font-size: 0.68rem;
}

.page-provider-login #loginform .login-remember input[type="checkbox"] {
  width: 13px;
  height: 13px;
  margin: 0;
}

.page-provider-login #loginform .button-primary {
  min-height: 35px;
  padding: 7px 14px;
  border-radius: 6px;
  font-size: 0.69rem;
}

.page-provider-login .iso-portal-panel > p:last-child {
  margin: 0;
  font-size: 0.7rem;
  line-height: 1.35;
}

.page-provider-login .iso-login-help {
  align-self: start;
  min-height: 0 !important;
  height: auto;
  padding: 20px 19px;
  border-radius: 13px;
}

.page-provider-login .iso-login-help h3 {
  margin-bottom: 6px;
  font-size: 0.8rem;
  line-height: 1.3;
}

.page-provider-login .iso-login-help p {
  margin-bottom: 13px;
  font-size: 0.72rem;
  line-height: 1.46;
}

.page-provider-login .iso-login-help .button {
  width: 100%;
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 6px;
  font-size: 0.65rem;
  line-height: 1.18;
}

.page-provider-login .iso-login-help small {
  margin-top: 15px;
  font-size: 0.62rem;
  line-height: 1.4;
}

@media (max-width: 900px) {
  .page-provider-login main.section {
    padding: 24px 0 30px;
  }

  .page-provider-login main .shell,
  .page-provider-login .wp-content-shell {
    width: min(560px, calc(100% - 34px)) !important;
  }

  .page-provider-login .iso-login-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px;
  }

  .page-provider-login .iso-login-help {
    width: 100%;
  }
}

@media (max-width: 620px) {
  .page-provider-login main.section {
    padding: 20px 0 26px;
  }

  .page-provider-login main .shell,
  .page-provider-login .wp-content-shell {
    width: min(100% - 24px, 500px) !important;
  }

  .page-provider-login .wp-content-card > h1 {
    margin-bottom: 14px;
    font-size: clamp(1.65rem, 8vw, 1.95rem);
  }

  .page-provider-login .iso-portal-panel,
  .page-provider-login .iso-login-help {
    padding: 18px;
  }

  .page-provider-login .iso-portal-panel h2 {
    font-size: 1.3rem;
  }

  .page-provider-login #loginform input[type="text"],
  .page-provider-login #loginform input[type="password"] {
    min-height: 36px;
    height: 36px;
  }
}


/* Contact form privacy acknowledgment — v1.2.53. */
.contact-privacy-consent {
  max-width: 720px;
  margin: 11px 0 0;
  color: #667386;
  font-size: 0.76rem;
  line-height: 1.55;
}

.contact-privacy-consent a {
  color: var(--navy);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.contact-privacy-consent a:hover,
.contact-privacy-consent a:focus-visible {
  color: #0c66c2;
}

@media (max-width: 560px) {
  .contact-privacy-consent {
    margin-top: 10px;
    font-size: 0.72rem;
  }
}

/* Global utility header — v1.2.54
 * Company contact and support access are visible consistently above the
 * established primary navigation on every template that uses header.php.
 */
.header-utility {
  width: 100%;
  border-bottom: 1px solid #e6edf5;
  background: #f5f8fc;
}

.header-utility-inner {
  width: calc(100% - 74px);
  max-width: none;
  min-height: 38px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.header-utility-contact,
.header-utility-nav {
  min-width: 0;
  display: flex;
  align-items: center;
}

.header-utility-contact {
  gap: 30px;
}

.header-utility-nav {
  justify-content: flex-end;
  gap: 27px;
}

.header-utility-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  color: #153f73;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
  transition: color 160ms ease, background-color 160ms ease;
}

.header-utility-link:hover,
.header-utility-link:focus-visible,
.header-utility-link[aria-current="page"] {
  color: var(--green-dark);
}

.header-utility-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Keep the existing primary header scale unchanged underneath the new bar. */
.site-header {
  background: #ffffff;
}

@media (min-width: 901px) and (max-width: 1180px) {
  .header-utility-inner {
    width: calc(100% - 40px);
    gap: 18px;
  }

  .header-utility-contact {
    gap: 18px;
  }

  .header-utility-nav {
    gap: 16px;
  }

  .header-utility-link {
    gap: 6px;
    font-size: 11.5px;
  }

  .header-utility-icon {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
  }
}

@media (max-width: 900px) {
  .header-utility-inner {
    width: calc(100% - 40px);
    min-height: 68px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding-block: 4px;
  }

  .header-utility-contact,
  .header-utility-nav {
    width: 100%;
    justify-content: center;
    gap: clamp(14px, 4vw, 30px);
  }

  .header-utility-link {
    min-height: 30px;
    font-size: 11.5px;
  }
}

@media (max-width: 620px) {
  .header-utility-inner {
    width: calc(100% - 24px);
    min-height: 66px;
  }

  .header-utility-contact {
    justify-content: space-between;
    gap: 10px;
  }

  .header-utility-nav {
    justify-content: space-between;
    gap: 8px;
  }

  .header-utility-link {
    gap: 5px;
    min-height: 29px;
    font-size: 10.5px;
  }

  .header-utility-icon {
    width: 14px;
    height: 14px;
    flex-basis: 14px;
  }

  .header-utility-nav .header-utility-link:first-child span {
    max-width: 132px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media (max-width: 420px) {
  .header-utility-link {
    font-size: 9.5px;
  }

  .header-utility-contact .header-utility-icon {
    display: none;
  }

  .header-utility-nav .header-utility-icon {
    width: 13px;
    height: 13px;
    flex-basis: 13px;
  }
}

/* Contact pathway conversion cards — v1.2.56 */
.contact-route-list {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.contact-route-list .contact-route-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.contact-route-list .contact-route-card:hover {
  border-color: rgba(113, 212, 238, 0.62);
  background: rgba(255, 255, 255, 0.10);
  transform: translateY(-1px);
}

.contact-route-list .contact-route-number {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #fff;
  color: var(--navy);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
}

.contact-route-content h3 {
  margin: 0 0 5px;
  color: #fff;
  font-size: 0.91rem;
  line-height: 1.25;
}

.contact-route-content p {
  margin: 0;
  color: #d9e6f3;
  font-size: 0.76rem;
  line-height: 1.5;
}

.contact-route-action {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 10px;
  color: #8dd65a;
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
}

.contact-route-action span {
  transition: transform 160ms ease;
}

.contact-route-action:hover,
.contact-route-action:focus-visible {
  color: #fff;
  text-decoration: none;
}

.contact-route-action:hover span,
.contact-route-action:focus-visible span {
  transform: translateX(3px);
}

.contact-route-action:focus-visible {
  outline: 2px solid #8dd65a;
  outline-offset: 4px;
  border-radius: 3px;
}

@media (max-width: 560px) {
  .contact-route-list .contact-route-card {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    padding: 14px;
  }

  .contact-route-list .contact-route-number {
    width: 34px;
    height: 34px;
    font-size: 0.68rem;
  }
}

/* Contact page conversion-flow redesign — v1.2.57 */
.contact-page-v157 .contact-hero {
  padding: 52px 0 48px;
}

.contact-page-v157 .contact-hero-copy h1 {
  max-width: 640px;
  font-size: clamp(2.15rem, 4.4vw, 3.75rem);
  line-height: 1.03;
}

.contact-page-v157 .contact-hero-actions {
  max-width: 690px;
}

.contact-page-v157 .contact-hero-actions .button {
  min-height: 54px;
  font-size: .78rem;
}

.contact-section-heading {
  max-width: 760px;
  margin: 0 0 26px;
}

.contact-section-heading.is-compact {
  margin-bottom: 20px;
}

.contact-section-heading .eyebrow {
  margin-bottom: 7px;
}

.contact-section-heading h2 {
  margin: 0 0 8px;
  color: var(--navy-deep);
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.12;
}

.contact-section-heading > p:last-child {
  max-width: 700px;
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.6;
}

.contact-routing-section {
  padding: 64px 0 62px;
  background: #fff;
}

.contact-routing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.contact-routing-choice {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 16px;
  gap: 10px;
  align-items: start;
  min-width: 0;
  min-height: 104px;
  padding: 15px;
  border: 1px solid #d4e3ee;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(7, 59, 122, .045);
  color: inherit;
  text-decoration: none;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.contact-routing-choice:hover,
.contact-routing-choice:focus-visible,
.contact-routing-choice.is-selected {
  border-color: #87b8db;
  background: #f6fbff;
  box-shadow: 0 12px 28px rgba(7, 59, 122, .08);
  transform: translateY(-2px);
  text-decoration: none;
}

.contact-routing-choice:focus-visible {
  outline: 3px solid rgba(11, 114, 200, .14);
  outline-offset: 2px;
}

.contact-routing-number {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 9px;
  background: #edf6fc;
  color: var(--blue);
  font-size: .62rem;
  font-weight: 900;
}

.contact-routing-choice.is-selected .contact-routing-number,
.contact-routing-choice:hover .contact-routing-number {
  background: var(--blue);
  color: #fff;
}

.contact-routing-copy {
  min-width: 0;
}

.contact-routing-copy strong,
.contact-routing-copy small {
  display: block;
}

.contact-routing-copy strong {
  margin: 1px 0 5px;
  color: var(--navy-deep);
  font-size: .77rem;
  line-height: 1.35;
}

.contact-routing-copy small {
  color: #70839a;
  font-size: .61rem;
  line-height: 1.4;
}

.contact-routing-arrow {
  align-self: center;
  color: var(--green-dark);
  font-size: 1rem;
  font-weight: 900;
}

.contact-routing-general {
  margin: 16px 0 0;
  font-size: .78rem;
}

.contact-routing-general a {
  color: var(--blue);
  font-weight: 800;
}

.contact-information-section {
  padding: 54px 0 58px;
  background: #f7fafc;
  border-top: 1px solid #e6eef4;
  border-bottom: 1px solid #e6eef4;
}

.contact-information-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #d7e5ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(7, 59, 122, .055);
}

.contact-information-card {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 20px;
  border-right: 1px solid #e1eaf1;
  color: inherit;
  text-decoration: none;
}

.contact-information-card:last-child {
  border-right: 0;
}

a.contact-information-card:hover {
  background: #f7fbfe;
  text-decoration: none;
}

.contact-information-icon {
  display: grid;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  place-items: center;
  border-radius: 11px;
  background: #eef7fd;
  color: var(--blue);
}

.contact-information-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.contact-information-card > span:last-child,
.contact-information-card address {
  min-width: 0;
  margin: 0;
  color: var(--muted);
  font-style: normal;
}

.contact-information-card small,
.contact-information-card strong,
.contact-information-card em,
.contact-information-card address span {
  display: block;
}

.contact-information-card small {
  margin-bottom: 4px;
  color: #6b7f94;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.contact-information-card strong {
  overflow-wrap: anywhere;
  color: var(--navy-deep);
  font-size: .78rem;
  line-height: 1.38;
}

.contact-information-card em,
.contact-information-card address span {
  margin-top: 4px;
  color: #60758a;
  font-size: .63rem;
  font-style: normal;
  line-height: 1.4;
}

.contact-message-section {
  padding: 70px 0 76px;
  background: #fff;
}

.contact-message-shell {
  max-width: 1040px;
}

.contact-form-card-v157 {
  padding: 38px 42px 40px;
}

.contact-form-card-v157 > p:not(.eyebrow) {
  margin-bottom: 24px;
}

.contact-inquiry-select {
  display: grid !important;
  gap: 7px !important;
  margin: 0 0 22px;
  padding: 17px 18px;
  border: 1px solid #d7e5ef;
  border-radius: 12px;
  background: #f8fbfd;
}

.contact-inquiry-select select {
  background: #fff !important;
}

.contact-inquiry-select small {
  color: #6b7f94;
  font-size: .65rem;
  font-weight: 500;
  line-height: 1.45;
}

.contact-pathways-section {
  padding: 68px 0 72px;
  background: var(--navy-deep);
}

.contact-pathways-section .contact-section-heading h2,
.contact-pathways-section .contact-section-heading .eyebrow {
  color: #fff;
}

.contact-pathways-section .contact-section-heading .eyebrow {
  color: #8ed75d;
}

.contact-route-grid-v157 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}

.contact-route-grid-v157 .contact-route-card {
  grid-template-columns: 38px minmax(0, 1fr);
  min-height: 190px;
  align-content: start;
  padding: 18px;
}

.contact-route-grid-v157 .contact-route-content {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
}

.contact-route-grid-v157 .contact-route-content h3 {
  font-size: .88rem;
}

.contact-route-grid-v157 .contact-route-content p {
  font-size: .72rem;
}

.contact-route-grid-v157 .contact-route-action {
  margin-top: auto;
  padding-top: 16px;
  font-size: .72rem;
}

.contact-safety-note-v157 {
  max-width: 780px;
  margin: 22px 0 0;
}

.contact-ai-help-bottom {
  padding: 58px 0 70px;
  background: #fff;
}

.contact-ai-help-bottom .contact-ai-help-card {
  box-shadow: 0 14px 36px rgba(7, 59, 122, .07);
}

@media (max-width: 1120px) {
  .contact-routing-grid,
  .contact-information-grid,
  .contact-route-grid-v157 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-information-card:nth-child(2) {
    border-right: 0;
  }

  .contact-information-card:nth-child(-n+2) {
    border-bottom: 1px solid #e1eaf1;
  }

  .contact-page-v157 .contact-hero-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 660px;
  }

  .contact-page-v157 .contact-hero-actions .button {
    min-height: 50px;
    font-size: .72rem;
  }
}

@media (max-width: 840px) {
  .contact-page-v157 .contact-hero-actions {
    grid-template-columns: 1fr;
    max-width: 430px;
  }

  .contact-page-v157 .contact-hero-actions .button {
    font-size: .82rem;
  }

  .contact-routing-section,
  .contact-information-section,
  .contact-message-section,
  .contact-pathways-section,
  .contact-ai-help-bottom {
    padding-top: 50px;
    padding-bottom: 54px;
  }

  .contact-form-card-v157 {
    padding: 32px 30px;
  }
}

@media (max-width: 620px) {
  .contact-page-v157 .contact-hero {
    padding: 34px 0 42px;
  }

  .contact-page-v157 .contact-hero-copy h1 {
    font-size: clamp(2rem, 10.5vw, 2.75rem);
  }

  .contact-routing-grid,
  .contact-information-grid,
  .contact-route-grid-v157 {
    grid-template-columns: 1fr;
  }

  .contact-routing-choice {
    min-height: 0;
  }

  .contact-information-grid {
    overflow: visible;
  }

  .contact-information-card,
  .contact-information-card:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #e1eaf1;
  }

  .contact-information-card:last-child {
    border-bottom: 0;
  }

  .contact-form-card-v157 {
    padding: 26px 20px;
  }

  .contact-inquiry-select {
    padding: 14px;
  }

  .contact-route-grid-v157 .contact-route-card {
    min-height: 0;
  }

  .contact-route-grid-v157 .contact-route-action {
    margin-top: 12px;
    padding-top: 0;
  }
}

/* ==========================================================================\n   Site-wide phone + tablet responsive hardening — v1.2.58\n   Desktop (1025px+) is intentionally untouched.\n   ========================================================================== */

/* Prevent a single long label, URL, media item, grid child, or commerce table
   from forcing the entire page wider than the viewport. */
@media (max-width: 1024px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  :where(
    main,
    main > *,
    .site-header,
    .site-footer,
    .shell,
    .wp-content-shell,
    .iso-portal-shell,
    .iso-commerce-shell,
    .support-page,
    .contact-page,
    .dental-structure-home
  ) {
    min-width: 0;
    max-width: 100%;
  }

  :where(
    .hero-grid,
    .contact-hero-grid,
    .intro-grid,
    .split-grid,
    .card-grid,
    .page-cta-inner,
    .provider-network-grid,
    .provider-network-action,
    .science-innovation-layout,
    .human-impact-layout,
    .connected-pathway-layout,
    .device-platform-layout,
    .iso-login-grid,
    .iso-dashboard-frame,
    .iso-dashboard-main-grid,
    .iso-product-card,
    .iso-band-product-card,
    .support-track-grid,
    .support-contact-cta-inner,
    .support-faq-layout,
    .support-policy-grid,
    .support-return-layout,
    .legal-layout,
    .ai-help-layout,
    .contact-information-grid,
    .contact-routing-grid,
    .contact-route-grid-v157
  ) > * {
    min-width: 0;
    max-width: 100%;
  }

  main :where(img, video, iframe, canvas) {
    max-width: 100%;
    height: auto;
  }

  main :where(h1, h2, h3, h4, p, li, a, button, label, td, th, address, strong, small) {
    overflow-wrap: anywhere;
  }

  /* Tablet header: switch to the compact menu before the full nav crowds. */
  .site-header .header-inner {
    width: calc(100% - 40px);
    height: 66px;
    min-height: 66px;
    display: flex;
    grid-template-columns: none;
    padding-inline: max(0px, env(safe-area-inset-left)) max(0px, env(safe-area-inset-right));
  }

  .desktop-nav,
  .header-actions {
    display: none !important;
  }

  .mobile-menu {
    display: block;
    margin-left: auto;
  }

  .mobile-menu nav {
    max-height: min(70dvh, 620px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  /* Four-up public grids should never compress into unreadable tablet cards. */
  :where(
    .columns-4,
    .benefit-grid,
    .dental-benefit-grid,
    .dental-difference-grid,
    .science-highlight-grid,
    .provider-network-facts,
    .support-topic-grid,
    .support-process-grid,
    .support-policy-cards,
    .hipaa-rule-grid,
    .contact-routing-grid,
    .contact-information-grid,
    .contact-route-grid-v157
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* Long tables remain usable with touch scrolling instead of creating page overflow. */
  :where(
    .iso-order-table-wrap,
    .iso-library-spec-table-wrap,
    .iso-library-table-wrap,
    .woocommerce-cart-form,
    .woocommerce .shop_table_responsive,
    .woocommerce .woocommerce-checkout-review-order-table
  ) {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  :where(.iso-order-table, .iso-library-spec-table, .iso-library-table) {
    max-width: none;
  }
}

/* Portrait tablets / large phones. */
@media (max-width: 820px) {
  .shell,
  main .shell,
  .provider-network-shell,
  .science-innovation-section > .shell,
  .dental-structure-home > section > .shell,
  .dental-structure-home > aside > .shell,
  .dental-structure-home > .page-hero .hero-grid {
    width: min(100% - 36px, 760px) !important;
  }

  /* Utility bar stays fully visible but becomes two predictable rows. */
  .header-utility-inner {
    width: calc(100% - 32px);
    min-height: 66px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 4px max(0px, env(safe-area-inset-right)) 4px max(0px, env(safe-area-inset-left));
  }

  .header-utility-contact,
  .header-utility-nav {
    width: 100%;
    min-width: 0;
    justify-content: center;
  }

  .header-utility-contact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, auto));
    gap: 8px 24px;
  }

  .header-utility-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, auto));
    gap: 8px 20px;
  }

  .header-utility-link {
    min-width: 0;
    min-height: 29px;
    justify-content: center;
    font-size: 11px;
  }

  /* Hero content stacks before the copy/image columns become cramped. */
  :where(
    .hero-grid,
    .contact-hero-grid,
    .intro-grid,
    .split-grid,
    .device-feature-grid,
    .page-cta-inner,
    .device-platform-layout,
    .human-impact-layout,
    .connected-pathway-layout,
    .science-innovation-layout,
    .provider-network-grid,
    .iso-login-grid,
    .iso-dashboard-columns,
    .iso-product-card,
    .support-track-grid,
    .support-contact-cta-inner,
    .support-faq-layout,
    .support-policy-grid,
    .support-return-layout,
    .hipaa-incident-layout,
    .legal-layout
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .hero-grid {
    gap: 0;
    min-height: 0;
  }

  .hero-copy,
  main > .page-hero .hero-copy {
    padding: 46px 0 38px;
  }

  .hero-media,
  main > .page-hero .hero-media,
  .contact-hero-media {
    width: 100%;
    min-height: 0 !important;
    aspect-ratio: 16 / 10;
    border-radius: 26px 26px 0 0;
  }

  .hero-media img,
  main > .page-hero .hero-media img,
  .contact-hero-media img {
    width: 100%;
    height: 100%;
    min-height: 0 !important;
    object-fit: cover;
  }

  .section,
  main .section,
  .intro-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .section-heading {
    margin-bottom: 28px;
  }

  /* Public and support two-column structures stack cleanly. */
  :where(
    .support-two-column,
    .support-quick-links,
    .legal-toc,
    .contact-main-grid,
    .contact-company-card,
    .ai-help-layout
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .contact-company-brand {
    grid-column: auto !important;
  }

  .contact-company-address,
  .contact-company-support {
    padding: 16px 0 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .contact-form-card-v157,
  .contact-form-card,
  .contact-details-card {
    padding: 28px 26px;
  }

  /* AI assistant: person, chat, and guide become an easy vertical sequence. */
  .support-page-help-center .ai-help-layout,
  .contact-ai-help-card .ai-help-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .ai-help-person {
    width: 100%;
    min-height: 0 !important;
    height: clamp(300px, 56vw, 430px);
  }

  .ai-help-person img {
    width: 100%;
    height: 100%;
    min-height: 0 !important;
    object-fit: cover;
  }

  .support-page-help-center .ai-help-guide,
  .ai-help-guide {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .support-page-help-center .ai-help-guide > *,
  .ai-help-guide > * {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  /* Provider dashboards use a horizontal, touch-scroll navigation row. */
  .iso-dashboard-frame {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .iso-dashboard-nav {
    position: static !important;
  }

  .iso-dashboard-nav ul {
    display: flex;
    max-width: 100%;
    gap: 6px;
    overflow-x: auto;
    padding: 8px;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  .iso-dashboard-nav li,
  .iso-dashboard-nav li + li {
    flex: 0 0 auto;
    margin: 0;
  }

  .iso-dashboard-nav li a {
    white-space: nowrap;
  }

  .iso-dashboard-main-grid,
  .iso-team-grid,
  .iso-support-grid,
  .iso-account-grid,
  .iso-device-commerce-grid,
  .iso-band-catalog-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  /* WooCommerce: billing/shipping and totals stay within tablet viewport. */
  .woocommerce .col2-set,
  .woocommerce-page .col2-set,
  .woocommerce .col2-set .col-1,
  .woocommerce .col2-set .col-2,
  .woocommerce-page .col2-set .col-1,
  .woocommerce-page .col2-set .col-2,
  .woocommerce .cart-collaterals .cart_totals,
  .woocommerce-page .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
  }
}

/* Phones. */
@media (max-width: 680px) {
  body {
    font-size: 15px;
  }

  .shell,
  main .shell,
  .provider-network-shell,
  .science-innovation-section > .shell,
  .dental-structure-home > section > .shell,
  .dental-structure-home > aside > .shell,
  .dental-structure-home > .page-hero .hero-grid,
  .page-provider-registration main .shell,
  .page-provider-login main .shell,
  .page-provider-portal main .shell,
  .page-clinic-portal main .shell {
    width: min(100% - 28px, 560px) !important;
  }

  main h1,
  h1 {
    font-size: clamp(1.95rem, 9vw, 2.55rem);
    line-height: 1.06;
  }

  main h2,
  h2 {
    font-size: clamp(1.5rem, 6.6vw, 1.95rem);
    line-height: 1.1;
  }

  .section,
  main .section,
  .intro-section,
  .contact-routing-section,
  .contact-information-section,
  .contact-message-section,
  .contact-pathways-section,
  .contact-ai-help-bottom {
    padding-top: 40px;
    padding-bottom: 42px;
  }

  .section-heading,
  .contact-section-heading {
    margin-bottom: 22px;
  }

  .site-header .header-inner {
    width: calc(100% - 24px);
    height: 62px;
    min-height: 62px;
  }

  .brand > a,
  .brand img {
    width: 148px;
    height: 48px;
  }

  .mobile-menu summary {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    font-size: 13px;
  }

  .mobile-menu nav {
    right: 0;
    top: 48px;
    width: min(330px, calc(100vw - 24px));
    max-height: calc(100dvh - 150px);
    padding: 10px;
    border-radius: 14px;
  }

  .mobile-menu nav a {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 10px 11px;
    font-size: 13px;
    white-space: normal;
  }

  .header-utility-inner {
    width: calc(100% - 18px);
    min-height: 70px;
    padding-block: 4px;
  }

  .header-utility-contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 8px;
  }

  .header-utility-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
  }

  .header-utility-link {
    gap: 4px;
    min-width: 0;
    min-height: 30px;
    padding-inline: 2px;
    justify-content: center;
    font-size: 9.75px;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
  }

  .header-utility-link span {
    min-width: 0;
  }

  .header-utility-nav .header-utility-link:first-child span {
    max-width: none;
    overflow: visible;
    text-overflow: clip;
  }

  .header-utility-icon {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
  }

  .hero-copy,
  main > .page-hero .hero-copy {
    padding: 34px 0 30px;
  }

  .hero-description,
  main > .page-hero .hero-description,
  .contact-hero-copy > p:not(.eyebrow) {
    font-size: .94rem;
    line-height: 1.6;
  }

  .hero-media,
  main > .page-hero .hero-media,
  .contact-hero-media {
    aspect-ratio: 4 / 3;
    border-radius: 20px 20px 0 0;
  }

  /* All remaining multi-column content becomes one readable column. */
  :where(
    .value-grid,
    .columns-2,
    .columns-3,
    .columns-4,
    .benefit-grid,
    .mode-grid,
    .pathway-grid,
    .dental-how-grid,
    .dental-service-grid,
    .dental-benefit-grid,
    .dental-difference-grid,
    .human-impact-grid,
    .therapy-foundations-grid,
    .connected-discipline-grid,
    .science-highlight-grid,
    .provider-network-facts,
    .support-topic-grid,
    .support-process-grid,
    .support-quick-links,
    .support-two-column,
    .support-policy-cards,
    .hipaa-rule-grid,
    .contact-routing-grid,
    .contact-information-grid,
    .contact-route-grid-v157,
    .contact-form-grid,
    .contact-intent-grid,
    .iso-account-choice,
    .iso-form-grid,
    .iso-dashboard-stats,
    .iso-dashboard-kpis,
    .iso-resource-grid,
    .iso-application-steps
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .value-grid > div,
  .value-grid > div:nth-child(n) {
    margin: 0;
    padding: 14px 8px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .value-grid > div:last-child {
    border-bottom: 0;
  }

  :where(.content-card, .pathway-grid article, .support-topic-grid a, .contact-routing-choice) {
    min-height: 0;
  }

  /* Forms stay tap-friendly and avoid iOS auto-zoom. */
  main :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    max-width: 100%;
    min-height: 44px;
    font-size: 16px !important;
  }

  main textarea {
    min-height: 130px;
  }

  .button-row,
  .provider-network-buttons,
  .support-contact-actions,
  .iso-form-actions,
  .iso-inline-form,
  .iso-dashboard-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .button-row .button,
  .provider-network-buttons .button,
  .support-contact-actions .button,
  .iso-form-actions .button,
  .iso-inline-form .button,
  .iso-dashboard-actions .button {
    width: 100%;
    min-height: 44px;
  }

  .contact-page-v157 .contact-hero-actions {
    width: 100%;
    max-width: none;
  }

  .contact-form-card-v157,
  .contact-form-card,
  .contact-details-card,
  .contact-company-card {
    padding: 22px 18px;
    border-radius: 14px;
  }

  .contact-routing-choice {
    grid-template-columns: 32px minmax(0, 1fr) 14px;
    padding: 13px;
  }

  .contact-information-card {
    padding: 16px;
  }

  /* AI voice controls wrap without clipping on narrow phones. */
  .ai-help-card-header {
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
  }

  .ai-help-voice-bar {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 12px 14px;
  }

  .ai-help-voice-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 7px;
  }

  .ai-help-voice-controls .button {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding-inline: 8px;
  }

  .ai-help-messages {
    min-height: 220px;
    max-height: 330px;
    padding: 14px;
  }

  .ai-help-message {
    max-width: 94%;
  }

  .ai-help-form {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 11px 14px 8px;
  }

  .ai-help-form .button {
    min-height: 44px;
  }

  /* Provider sign-in remains visually compact while controls remain usable. */
  .page-provider-login main.section {
    padding: 18px 0 24px;
  }

  .page-provider-login .wp-content-card > h1 {
    font-size: clamp(1.55rem, 7.6vw, 1.9rem);
  }

  .page-provider-login .iso-portal-panel,
  .page-provider-login .iso-login-help {
    padding: 17px;
  }

  .page-provider-login #loginform input[type="text"],
  .page-provider-login #loginform input[type="password"] {
    min-height: 44px;
    height: 44px;
    font-size: 16px !important;
  }

  .page-provider-login #loginform .button-primary {
    min-height: 42px;
  }

  /* Device/supplies and checkout. */
  .iso-band-product-card,
  .iso-band-catalog-hero,
  .iso-band-purchase-form {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .iso-band-product-visual,
  .iso-band-product-visual img {
    min-height: 0 !important;
    max-height: 320px;
  }

  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last,
  .woocommerce-page form .form-row-first,
  .woocommerce-page form .form-row-last {
    width: 100%;
    float: none;
  }

  /* Testimonial carousel: keep portrait and copy clear of arrows. */
  .verified-customers-carousel,
  .verified-customers-section.is-provider-testimonials .verified-customers-carousel {
    padding-inline: 12px;
    padding-bottom: 58px;
  }

  .verified-customer-slide,
  .verified-customer-slide.is-active,
  .verified-customers-section.is-provider-testimonials .verified-customer-slide.is-active {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center;
    gap: 14px;
    min-height: 0;
    text-align: center;
  }

  .verified-customer-copy {
    width: 100%;
  }

  .verified-customer-stars {
    justify-content: center;
  }

  .verified-quote-mark {
    display: none;
  }

  /* Footer becomes a single readable column before very narrow phone widths. */
  .footer-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px;
  }

  .footer-brand {
    grid-column: auto !important;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .footer-subscribe-form {
    width: 100%;
    max-width: 520px;
  }
}

/* Very narrow phones: prioritize readable utility text and controls. */
@media (max-width: 420px) {
  .header-utility-inner {
    width: calc(100% - 12px);
    min-height: 76px;
  }

  .header-utility-contact {
    gap: 2px 6px;
  }

  .header-utility-link {
    font-size: 9.25px;
  }

  .header-utility-contact .header-utility-icon {
    display: none;
  }

  .brand > a,
  .brand img {
    width: 138px;
  }

  .mobile-menu summary {
    padding-inline: 12px;
  }

  .contact-routing-choice {
    grid-template-columns: 30px minmax(0, 1fr) 12px;
    gap: 8px;
  }

  .contact-routing-number {
    width: 30px;
    height: 30px;
  }

  .ai-help-voice-controls {
    grid-template-columns: minmax(0, 1fr);
  }

  .footer-subscribe-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .footer-subscribe-form input[type="email"],
  .footer-subscribe-form button {
    border-radius: 7px;
  }
}

@media (max-width: 680px) {
  .contact-information-card,
  .contact-information-card:nth-child(2) {
    border-right: 0 !important;
    border-bottom: 1px solid #e1eaf1;
  }

  .contact-information-card:last-child {
    border-bottom: 0;
  }
}

/* Provider & Clinic Dashboard AI Assistant — v1.2.59 */
.iso-dashboard-ai-launcher {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 15px;
  align-items: center;
  margin-bottom: 18px;
  padding: 17px 19px;
  border: 1px solid #cfe0ec;
  border-radius: 14px;
  background: linear-gradient(125deg, #f8fbfd 0%, #edf7fd 100%);
  box-shadow: 0 8px 24px rgba(7, 59, 122, 0.045);
}

.iso-dashboard-ai-launcher-icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 12px;
  background: var(--navy-deep);
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .05em;
}

.iso-dashboard-ai-launcher .eyebrow {
  margin-bottom: 3px;
}

.iso-dashboard-ai-launcher h3 {
  margin: 0 0 3px;
  color: var(--navy-deep);
  font-size: 1rem;
}

.iso-dashboard-ai-launcher p:last-child {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.5;
}

.iso-dashboard-ai-launcher .button {
  white-space: nowrap;
}

.iso-dashboard-ai-workspace {
  padding: 0;
  overflow: hidden;
}

.iso-dashboard-ai-heading {
  margin: 0;
  padding: 21px 22px 17px;
  border-bottom: 1px solid var(--dashboard-border);
  background: linear-gradient(125deg, #ffffff 0%, #f4f9fc 100%);
}

.iso-dashboard-ai-heading p:last-child {
  max-width: 720px;
}

.iso-dashboard-ai-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid var(--dashboard-border);
  background: #fbfdff;
}

.iso-dashboard-ai-summary > div {
  padding: 13px 18px;
  border-right: 1px solid var(--dashboard-border);
}

.iso-dashboard-ai-summary > div:last-child {
  border-right: 0;
}

.iso-dashboard-ai-summary strong,
.iso-dashboard-ai-summary span {
  display: block;
}

.iso-dashboard-ai-summary strong {
  color: var(--navy-deep);
  font-size: 1.02rem;
}

.iso-dashboard-ai-summary span {
  margin-top: 1px;
  color: var(--muted);
  font-size: .62rem;
}

.iso-dashboard-ai-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(230px, .55fr);
  gap: 16px;
  padding: 18px;
  background: #f7fafc;
}

.iso-dashboard-ai-chat.ai-help-card {
  border-radius: 14px;
  box-shadow: none;
}

.iso-dashboard-ai-chat .ai-help-card-header {
  padding: 14px 16px;
}

.iso-dashboard-ai-chat .ai-help-logo {
  width: 36px;
  height: 36px;
  flex-basis: 36px;
  border-radius: 10px;
  font-size: .72rem;
}

.iso-dashboard-ai-chat .ai-help-identity strong {
  font-size: .82rem;
}

.iso-dashboard-ai-chat .ai-help-identity small,
.iso-dashboard-ai-chat .ai-help-status {
  font-size: .62rem;
}

.iso-dashboard-ai-chat .ai-help-voice-bar {
  padding: 12px 15px;
}

.iso-dashboard-ai-chat .ai-help-messages {
  min-height: 235px;
  max-height: 330px;
  padding: 15px;
}

.iso-dashboard-ai-chat .ai-help-bubble {
  font-size: .72rem;
  line-height: 1.5;
}

.iso-dashboard-ai-suggestions {
  padding: 0 14px 10px;
}

.iso-dashboard-ai-suggestions button {
  font-size: .62rem;
}

.iso-dashboard-ai-chat .ai-help-form {
  padding: 10px 14px 8px;
}

.iso-dashboard-ai-chat .ai-help-form textarea {
  min-height: 48px;
  font-size: .72rem;
}

.iso-dashboard-ai-chat .ai-help-privacy {
  padding: 0 14px 13px;
  font-size: .58rem;
  line-height: 1.45;
}

.iso-dashboard-ai-guide {
  padding: 17px;
  border: 1px solid var(--dashboard-border);
  border-radius: 14px;
  background: #fff;
}

.iso-dashboard-ai-guide h4 {
  margin-bottom: 13px;
}

.iso-dashboard-ai-guide nav {
  border-top: 1px solid var(--dashboard-border);
}

.iso-dashboard-ai-guide nav > a {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--dashboard-border);
}

.iso-dashboard-ai-guide nav > a > span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 8px;
  background: var(--pale);
  color: var(--blue);
  font-size: .66rem;
  font-weight: 800;
}

.iso-dashboard-ai-guide nav strong,
.iso-dashboard-ai-guide nav small {
  display: block;
}

.iso-dashboard-ai-guide nav strong {
  color: var(--navy-deep);
  font-size: .68rem;
}

.iso-dashboard-ai-guide nav small {
  margin-top: 1px;
  color: var(--muted);
  font-size: .56rem;
  line-height: 1.35;
}

.iso-dashboard-ai-guide nav b {
  color: var(--blue);
}

.iso-dashboard-ai-guide .ai-help-boundary {
  margin-top: 14px;
  padding: 12px;
  border-radius: 10px;
}

.iso-dashboard-ai-guide .ai-help-boundary strong {
  font-size: .66rem;
}

.iso-dashboard-ai-guide .ai-help-boundary p {
  margin: 4px 0 0;
  font-size: .6rem;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .iso-dashboard-ai-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-dashboard-ai-guide nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
  }
}

@media (max-width: 760px) {
  .iso-dashboard-ai-launcher {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .iso-dashboard-ai-launcher-icon {
    width: 42px;
    height: 42px;
  }

  .iso-dashboard-ai-launcher .button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .iso-dashboard-ai-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .iso-dashboard-ai-heading {
    padding: 18px;
  }

  .iso-dashboard-ai-layout {
    padding: 14px;
  }
}

@media (max-width: 680px) {
  .iso-dashboard-ai-launcher {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 11px;
    padding: 14px;
  }

  .iso-dashboard-ai-launcher-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
  }

  .iso-dashboard-ai-launcher h3 {
    font-size: .92rem;
  }

  .iso-dashboard-ai-launcher p:last-child {
    font-size: .68rem;
  }

  .iso-dashboard-ai-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-dashboard-ai-summary > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 10px 14px;
    border-right: 0;
    border-bottom: 1px solid var(--dashboard-border);
  }

  .iso-dashboard-ai-summary > div:last-child {
    border-bottom: 0;
  }

  .iso-dashboard-ai-summary span {
    margin: 0;
    text-align: right;
  }

  .iso-dashboard-ai-layout {
    padding: 10px;
  }

  .iso-dashboard-ai-guide {
    padding: 14px;
  }

  .iso-dashboard-ai-guide nav {
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-dashboard-ai-chat .ai-help-messages {
    min-height: 210px;
  }
}

/* Provider & Clinic Dashboard AI formatting — v1.2.60 */
.iso-dashboard-ai-workspace {
  container-type: inline-size;
  container-name: iso-dashboard-ai;
}

.iso-dashboard-ai-layout {
  grid-template-columns: minmax(520px, 1fr) minmax(245px, 300px);
  gap: 18px;
  align-items: start;
}

.iso-dashboard-ai-chat,
.iso-dashboard-ai-guide {
  min-width: 0;
}

/* Keep the voice experience readable at laptop dashboard widths. */
.iso-dashboard-ai-chat .ai-help-voice-bar {
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 14px 16px 13px;
}

.iso-dashboard-ai-chat .ai-help-voice-intro {
  align-items: flex-start;
  width: 100%;
  gap: 12px;
}

.iso-dashboard-ai-chat .ai-help-voice-intro > div {
  flex: 1 1 auto;
  min-width: 0;
  padding-top: 2px;
}

.iso-dashboard-ai-chat .ai-help-voice-intro strong {
  margin: 0;
  font-size: .82rem;
  line-height: 1.28;
  white-space: normal;
}

.iso-dashboard-ai-chat .ai-help-voice-intro small {
  max-width: 440px;
  margin-top: 3px;
  font-size: .65rem;
  line-height: 1.45;
}

.iso-dashboard-ai-chat .ai-help-mic {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  font-size: 1rem;
}

.iso-dashboard-ai-chat .ai-help-voice-controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: auto;
  margin-left: 54px;
  gap: 7px;
}

.iso-dashboard-ai-chat .ai-help-voice-controls .button {
  flex: 0 0 auto;
  width: auto;
  min-width: 82px;
  min-height: 38px;
  padding: 8px 13px;
  white-space: nowrap;
}

.iso-dashboard-ai-chat .ai-help-voice-controls .ai-help-voice-start {
  min-width: 126px;
}

.iso-dashboard-ai-chat .ai-help-voice-status {
  grid-column: 1;
  margin-left: 54px;
  font-size: .62rem;
}

.iso-dashboard-ai-chat .ai-help-messages {
  min-height: 260px;
  max-height: 360px;
  padding: 16px;
}

.iso-dashboard-ai-chat .ai-help-message {
  max-width: 88%;
}

.iso-dashboard-ai-chat .ai-help-bubble {
  font-size: .72rem;
  line-height: 1.52;
}

.iso-dashboard-ai-guide {
  padding: 17px 18px;
}

.iso-dashboard-ai-guide h4 {
  max-width: 240px;
  font-size: .88rem;
  line-height: 1.2;
}

/* Respond to the actual portal content width rather than only viewport width. */
@container iso-dashboard-ai (max-width: 860px) {
  .iso-dashboard-ai-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-dashboard-ai-guide nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
  }

  .iso-dashboard-ai-guide h4 {
    max-width: none;
  }
}

@container iso-dashboard-ai (max-width: 620px) {
  .iso-dashboard-ai-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .iso-dashboard-ai-heading .iso-account-badge {
    justify-self: start;
  }

  .iso-dashboard-ai-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-dashboard-ai-summary > div {
    border-right: 0;
    border-bottom: 1px solid var(--dashboard-border);
  }

  .iso-dashboard-ai-summary > div:last-child {
    border-bottom: 0;
  }

  .iso-dashboard-ai-guide nav {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 680px) {
  .iso-dashboard-ai-chat .ai-help-voice-controls,
  .iso-dashboard-ai-chat .ai-help-voice-status {
    margin-left: 0;
  }

  .iso-dashboard-ai-chat .ai-help-voice-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .iso-dashboard-ai-chat .ai-help-voice-controls .button,
  .iso-dashboard-ai-chat .ai-help-voice-controls .ai-help-voice-start {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 420px) {
  .iso-dashboard-ai-chat .ai-help-voice-controls {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* AI Training Coach — Training & Certification + Clinical Library grounding — v1.2.61 */
.iso-training-ai-coach {
  margin: 18px 0 22px;
  overflow: hidden;
  border: 1px solid var(--dashboard-border, #d7e4ef);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(9, 54, 105, .06);
  container-type: inline-size;
  container-name: iso-training-coach;
}

.iso-training-ai-coach-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 19px;
  border-bottom: 1px solid var(--dashboard-border, #d7e4ef);
  background: linear-gradient(135deg, #f6fbff 0%, #fbfff8 100%);
}

.iso-training-ai-coach-identity {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  gap: 12px;
}

.iso-training-ai-coach-identity .ai-help-logo {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 11px;
}

.iso-training-ai-coach-identity .eyebrow {
  margin: 0 0 3px;
  font-size: .56rem;
}

.iso-training-ai-coach-identity h4 {
  margin: 0;
  color: var(--navy, #07356b);
  font-size: 1rem;
  line-height: 1.2;
}

.iso-training-ai-coach-identity p:last-child {
  max-width: 720px;
  margin: 4px 0 0;
  color: #607693;
  font-size: .68rem;
  line-height: 1.5;
}

.iso-training-ai-source-badge {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid #cfe3c5;
  border-radius: 999px;
  background: #f2faed;
  color: #4a9134;
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .02em;
  white-space: nowrap;
}

.iso-training-ai-coach-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(215px, 260px);
  gap: 16px;
  padding: 16px 18px 13px;
}

.iso-training-ai-main,
.iso-training-ai-tools {
  min-width: 0;
}

.iso-training-ai-messages {
  min-height: 132px;
  max-height: 270px;
  padding: 13px;
  border: 1px solid #dbe7f0;
  border-radius: 13px;
  background: #fbfdff;
  overflow-y: auto;
}

.iso-training-ai-messages .ai-help-message {
  max-width: 90%;
}

.iso-training-ai-messages .ai-help-bubble {
  font-size: .69rem;
  line-height: 1.5;
}

.iso-training-ai-suggestions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 10px 0;
}

.iso-training-ai-suggestions button {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid #d6e4ef;
  border-radius: 9px;
  background: #fff;
  color: var(--navy, #07356b);
  font-family: inherit;
  font-size: .61rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}

.iso-training-ai-suggestions button:hover,
.iso-training-ai-suggestions button:focus-visible {
  border-color: #8abf6d;
  background: #f7fcf4;
}

.iso-training-ai-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: stretch;
}

.iso-training-ai-form textarea {
  min-width: 0;
  min-height: 66px;
  padding: 10px 11px;
  border: 1px solid #cddde9;
  border-radius: 10px;
  font: inherit;
  font-size: .68rem;
  line-height: 1.45;
  resize: vertical;
}

.iso-training-ai-form .button {
  align-self: stretch;
  min-width: 92px;
  padding: 9px 13px;
}

.iso-training-ai-tools {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.iso-training-ai-voice.ai-help-voice-bar {
  display: block;
  padding: 13px;
  border: 1px solid #d8e5ef;
  border-radius: 13px;
  background: linear-gradient(145deg, #f7fbff 0%, #f7fbf4 100%);
}

.iso-training-ai-voice .ai-help-voice-intro {
  gap: 9px;
  align-items: flex-start;
}

.iso-training-ai-voice .ai-help-mic {
  flex: 0 0 35px;
  width: 35px;
  height: 35px;
  font-size: .86rem;
}

.iso-training-ai-voice .ai-help-voice-intro strong {
  font-size: .72rem;
}

.iso-training-ai-voice .ai-help-voice-intro small {
  margin-top: 2px;
  font-size: .58rem;
  line-height: 1.4;
}

.iso-training-ai-voice .ai-help-voice-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 7px 44px;
}

.iso-training-ai-voice .ai-help-voice-controls .button {
  width: auto;
  min-width: 65px;
  min-height: 34px;
  padding: 7px 10px;
  font-size: .61rem;
  white-space: nowrap;
}

.iso-training-ai-voice .ai-help-voice-status {
  margin-left: 44px;
  font-size: .57rem;
}

.iso-training-ai-boundary {
  padding: 10px 11px;
  border-left: 3px solid #ecaa2f;
  border-radius: 8px;
  background: #fff9ed;
}

.iso-training-ai-boundary.is-clinical {
  border-left-color: #66ae46;
  background: #f4faef;
}

.iso-training-ai-boundary strong {
  display: block;
  color: var(--navy, #07356b);
  font-size: .63rem;
}

.iso-training-ai-boundary p {
  margin: 3px 0 0;
  color: #61758f;
  font-size: .58rem;
  line-height: 1.45;
}

.iso-training-ai-coach > .ai-help-privacy {
  margin: 0;
  padding: 0 18px 14px;
  font-size: .55rem;
  line-height: 1.45;
}

@container iso-training-coach (max-width: 760px) {
  .iso-training-ai-coach-body {
    grid-template-columns: minmax(0, 1fr);
  }
  .iso-training-ai-tools {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .iso-training-ai-voice {
    grid-row: span 2;
  }
}

@container iso-training-coach (max-width: 560px) {
  .iso-training-ai-coach-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .iso-training-ai-source-badge {
    white-space: normal;
  }
  .iso-training-ai-suggestions,
  .iso-training-ai-tools {
    grid-template-columns: minmax(0, 1fr);
  }
  .iso-training-ai-form {
    grid-template-columns: minmax(0, 1fr);
  }
  .iso-training-ai-form .button {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .iso-training-ai-coach-head,
  .iso-training-ai-coach-body {
    padding-left: 12px;
    padding-right: 12px;
  }
  .iso-training-ai-coach > .ai-help-privacy {
    padding-left: 12px;
    padding-right: 12px;
  }
  .iso-training-ai-suggestions {
    grid-template-columns: minmax(0, 1fr);
  }
  .iso-training-ai-voice .ai-help-voice-controls,
  .iso-training-ai-voice .ai-help-voice-status {
    margin-left: 0;
  }
  .iso-training-ai-voice .ai-help-voice-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .iso-training-ai-voice .ai-help-voice-controls .button {
    width: 100%;
  }
}

/* ==========================================================================\n   Full-site responsive QA pass — v1.2.62\n   Phone + tablet only. Desktop 1025px+ remains unchanged.\n   ========================================================================== */

@supports not (overflow: clip) {
  @media (max-width: 1024px) {
    html,
    body { overflow-x: hidden; }
  }
}

@media (max-width: 1024px) {
  /* Global containment: nothing in public pages, portals, support, or commerce
     can enlarge the document beyond the device viewport. */
  :where(
    .site-header,
    .site-footer,
    main,
    main > *,
    .shell,
    .wp-content-shell,
    .support-page,
    .contact-page,
    .iso-portal-shell,
    .iso-commerce-shell,
    .iso-dashboard,
    .iso-dashboard-content,
    .iso-dashboard-section,
    .iso-course-shell,
    .iso-library-module
  ) {
    min-width: 0;
    max-width: 100%;
  }

  :where(
    main,
    .site-footer,
    .iso-dashboard-content,
    .iso-course-shell,
    .iso-library-module
  ) :where(img, picture, video, canvas, svg) {
    max-inline-size: 100%;
  }

  :where(main, .site-footer) :where(pre, code) {
    max-width: 100%;
    overflow-x: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }

  :where(
    main,
    .site-footer,
    .iso-dashboard-content,
    .iso-course-shell,
    .iso-library-module
  ) :where(h1, h2, h3, h4, h5, p, li, a, label, button, td, th, small, strong, address) {
    overflow-wrap: anywhere;
  }

  /* Keep the main content frame comfortably inside tablet safe areas. */
  .shell,
  main .shell,
  .provider-network-shell,
  .page-provider-registration main .shell,
  .page-provider-login main .shell,
  .page-provider-portal main .shell,
  .page-clinic-portal main .shell,
  .iso-commerce-shell,
  .iso-portal-shell {
    width: min(calc(100% - 36px), 960px) !important;
  }

  /* Dashboard sidebar becomes a touch-scroll tab rail on all tablet widths,
     including 1024px landscape tablets. */
  .iso-dashboard-frame {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .iso-dashboard-nav {
    position: static !important;
    width: 100%;
    max-width: 100%;
  }

  .iso-dashboard-nav ul {
    display: flex;
    width: 100%;
    max-width: 100%;
    gap: 6px;
    padding: 8px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  .iso-dashboard-nav li,
  .iso-dashboard-nav li + li {
    flex: 0 0 auto;
    margin: 0;
    scroll-snap-align: start;
  }

  .iso-dashboard-nav li a {
    min-height: 40px;
    white-space: nowrap;
  }

  .iso-dashboard-content,
  .iso-dashboard-content > *,
  .iso-dashboard-section,
  .iso-dashboard-card,
  .iso-resource-panel,
  .iso-product-card,
  .iso-band-product-card,
  .iso-training-ai-coach,
  .iso-dashboard-ai-workspace {
    min-width: 0;
    max-width: 100%;
  }

  .iso-dashboard-main-grid,
  .iso-dashboard-columns,
  .iso-team-grid,
  .iso-support-grid,
  .iso-account-grid,
  .iso-device-commerce-grid,
  .iso-band-catalog-grid,
  .iso-resource-grid,
  .iso-training-modules {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* Forms and commerce controls should never force a fixed desktop width. */
  :where(
    main,
    .iso-dashboard-content,
    .iso-commerce-page
  ) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea, button, .button) {
    max-width: 100%;
  }

  .woocommerce,
  .woocommerce-page,
  .woocommerce form,
  .woocommerce form .form-row,
  .woocommerce-checkout,
  .woocommerce-cart-form,
  .woocommerce .cart-collaterals,
  .woocommerce-page .cart-collaterals {
    min-width: 0;
    max-width: 100%;
  }

  .woocommerce .col2-set,
  .woocommerce-page .col2-set,
  .woocommerce .col2-set .col-1,
  .woocommerce .col2-set .col-2,
  .woocommerce-page .col2-set .col-1,
  .woocommerce-page .col2-set .col-2,
  .woocommerce .cart-collaterals .cart_totals,
  .woocommerce-page .cart-collaterals .cart_totals {
    width: 100% !important;
    max-width: 100%;
    float: none !important;
  }

  :where(
    .iso-order-table-wrap,
    .iso-library-spec-table-wrap,
    .iso-library-table-wrap,
    .woocommerce-cart-form,
    .woocommerce .shop_table_responsive,
    .woocommerce .woocommerce-checkout-review-order-table,
    .support-page .table-wrap,
    .wp-content-shell .table-wrap
  ) {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  /* Keep large public grids readable rather than squeezing four cards into a tablet. */
  :where(
    .columns-4,
    .value-grid,
    .benefit-grid,
    .dental-how-grid,
    .dental-service-grid,
    .dental-benefit-grid,
    .dental-difference-grid,
    .human-impact-grid,
    .therapy-foundations-grid,
    .connected-discipline-grid,
    .science-highlight-grid,
    .provider-network-facts,
    .support-topic-grid,
    .support-process-grid,
    .support-policy-cards,
    .hipaa-rule-grid,
    .hipaa-phi-grid,
    .hipaa-practice-cards,
    .contact-routing-grid,
    .contact-information-grid,
    .contact-route-grid-v157
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page-cta-inner,
  .provider-network-action,
  .support-contact-cta-inner {
    min-width: 0;
  }

  /* Footer stays balanced on tablets. */
  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 34px;
  }

  .footer-brand,
  .footer-connect {
    min-width: 0;
  }
}

@media (max-width: 768px) {
  .shell,
  main .shell,
  .provider-network-shell,
  .page-provider-registration main .shell,
  .page-provider-login main .shell,
  .page-provider-portal main .shell,
  .page-clinic-portal main .shell,
  .iso-commerce-shell,
  .iso-portal-shell {
    width: min(calc(100% - 28px), 720px) !important;
  }

  /* Consistent tablet typography and section rhythm. */
  main h1 { font-size: clamp(2rem, 6.4vw, 2.8rem); }
  main h2 { font-size: clamp(1.55rem, 4.8vw, 2.15rem); }

  :where(
    .section,
    main .section,
    .intro-section,
    .support-section,
    .contact-routing-section,
    .contact-information-section,
    .contact-message-section,
    .contact-pathways-section,
    .contact-ai-help-bottom
  ) {
    padding-top: 46px;
    padding-bottom: 48px;
  }

  /* Stack major split layouts before text or images become cramped. */
  :where(
    .hero-grid,
    .contact-hero-grid,
    .intro-grid,
    .split-grid,
    .device-platform-layout,
    .human-impact-layout,
    .connected-pathway-layout,
    .science-innovation-layout,
    .provider-network-grid,
    .iso-login-grid,
    .support-track-grid,
    .support-contact-cta-inner,
    .support-faq-layout,
    .support-policy-grid,
    .support-return-layout,
    .hipaa-incident-layout,
    .legal-layout,
    .contact-company-card,
    .ai-help-layout
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .hero-media,
  .contact-hero-media {
    width: 100%;
    min-height: 0 !important;
    aspect-ratio: 16 / 10;
  }

  .hero-media img,
  .contact-hero-media img {
    width: 100%;
    height: 100%;
    min-height: 0 !important;
    object-fit: cover;
  }

  /* Most dashboard/resource cards become one column on portrait tablets. */
  .iso-dashboard-main-grid,
  .iso-dashboard-columns,
  .iso-team-grid,
  .iso-support-grid,
  .iso-account-grid,
  .iso-device-commerce-grid,
  .iso-band-catalog-grid,
  .iso-resource-grid,
  .iso-training-modules,
  .iso-dashboard-stats,
  .iso-dashboard-kpis,
  .iso-application-steps {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .iso-dashboard-ai-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .iso-dashboard-ai-guide nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iso-training-ai-coach-body {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .iso-training-ai-tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iso-training-ai-voice {
    grid-row: span 2;
  }

  /* Contact and support cards remain two-up where useful, with no fixed minimums. */
  :where(
    .contact-routing-grid,
    .contact-information-grid,
    .contact-route-grid-v157,
    .support-topic-grid,
    .support-process-grid,
    .support-policy-cards
  ) > * {
    min-width: 0;
    max-width: 100%;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  .shell,
  main .shell,
  .provider-network-shell,
  .page-provider-registration main .shell,
  .page-provider-login main .shell,
  .page-provider-portal main .shell,
  .page-clinic-portal main .shell,
  .iso-commerce-shell,
  .iso-portal-shell {
    width: min(calc(100% - 24px), 560px) !important;
  }

  main h1 { font-size: clamp(1.85rem, 9vw, 2.45rem); line-height: 1.07; }
  main h2 { font-size: clamp(1.45rem, 7vw, 1.9rem); line-height: 1.12; }
  main h3 { line-height: 1.2; }

  :where(
    .columns-2,
    .columns-3,
    .columns-4,
    .value-grid,
    .benefit-grid,
    .mode-grid,
    .pathway-grid,
    .dental-how-grid,
    .dental-service-grid,
    .dental-benefit-grid,
    .dental-difference-grid,
    .human-impact-grid,
    .therapy-foundations-grid,
    .connected-discipline-grid,
    .science-highlight-grid,
    .provider-network-facts,
    .support-topic-grid,
    .support-process-grid,
    .support-quick-links,
    .support-two-column,
    .support-policy-cards,
    .hipaa-rule-grid,
    .hipaa-phi-grid,
    .hipaa-practice-cards,
    .contact-routing-grid,
    .contact-information-grid,
    .contact-route-grid-v157,
    .contact-form-grid,
    .contact-intent-grid,
    .iso-account-choice,
    .iso-form-grid,
    .iso-dashboard-stats,
    .iso-dashboard-kpis,
    .iso-resource-grid,
    .iso-application-steps,
    .footer-grid
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  /* Mobile controls: full-width where actions are grouped; 16px prevents iOS zoom. */
  main :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    font-size: 16px !important;
  }

  main textarea { min-height: 120px; }

  :where(
    .button-row,
    .provider-network-buttons,
    .support-contact-actions,
    .iso-form-actions,
    .iso-inline-form,
    .iso-dashboard-actions,
    .iso-commerce-navigation,
    .iso-library-footer-nav,
    .iso-implementation-action-row
  ) {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  :where(
    .button-row,
    .provider-network-buttons,
    .support-contact-actions,
    .iso-form-actions,
    .iso-inline-form,
    .iso-dashboard-actions,
    .iso-commerce-navigation,
    .iso-library-footer-nav,
    .iso-implementation-action-row
  ) .button {
    width: 100%;
    min-height: 44px;
    white-space: normal;
  }

  .iso-dashboard-nav li a {
    min-height: 44px;
  }

  /* Dashboard AI and Training Coach: one readable vertical flow on phones. */
  .iso-dashboard-ai-heading,
  .iso-dashboard-ai-summary,
  .iso-dashboard-ai-layout,
  .iso-training-ai-coach-head,
  .iso-training-ai-coach-body {
    min-width: 0;
  }

  .iso-dashboard-ai-summary {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .iso-dashboard-ai-summary > div {
    border-right: 0;
    border-bottom: 1px solid var(--dashboard-border);
  }

  .iso-dashboard-ai-summary > div:last-child { border-bottom: 0; }

  .iso-dashboard-ai-guide nav,
  .iso-training-ai-tools,
  .iso-training-ai-suggestions,
  .iso-training-ai-form {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .iso-training-ai-coach-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .iso-training-ai-source-badge { white-space: normal; }

  .iso-training-ai-form .button { width: 100%; min-height: 44px; }

  .iso-training-ai-messages .ai-help-bubble,
  .iso-dashboard-ai-chat .ai-help-bubble {
    font-size: .78rem;
  }

  .iso-training-ai-coach-identity p:last-child,
  .iso-training-ai-boundary p,
  .iso-training-ai-coach > .ai-help-privacy {
    font-size: .72rem;
  }

  .iso-training-ai-voice .ai-help-voice-controls,
  .iso-training-ai-voice .ai-help-voice-status,
  .iso-dashboard-ai-chat .ai-help-voice-controls,
  .iso-dashboard-ai-chat .ai-help-voice-status {
    margin-left: 0;
  }

  .iso-training-ai-voice .ai-help-voice-controls,
  .iso-dashboard-ai-chat .ai-help-voice-controls,
  .ai-help-voice-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
  }

  .iso-training-ai-voice .ai-help-voice-controls .button,
  .iso-dashboard-ai-chat .ai-help-voice-controls .button,
  .ai-help-voice-controls .button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
  }

  /* Commerce and product cards. */
  .iso-product-card,
  .iso-band-product-card,
  .iso-band-catalog-hero,
  .iso-band-purchase-form,
  .iso-device-commerce-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .iso-band-product-visual,
  .iso-band-product-visual img,
  .iso-device-commerce-visual,
  .iso-device-commerce-visual img {
    width: 100%;
    min-height: 0 !important;
    height: auto;
    max-height: 320px;
    object-fit: contain;
  }

  /* Generic WordPress/legal/support tables are scrollable if they exceed a phone. */
  .wp-content-shell table,
  .legal-content table,
  .support-page table,
  .iso-dashboard-content table:not(.iso-order-table) {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .footer-subscribe-form {
    width: 100%;
    max-width: 100%;
  }
}

/* ==========================================================================
   Public Clinical & Professional Resources - v1.2.66
   ========================================================================== */

.resources-page {
  background: #ffffff;
}

.resources-hero {
  position: relative;
  overflow: hidden;
  color: #ffffff;
  background:
    radial-gradient(circle at 84% 19%, rgba(103, 170, 60, 0.24), transparent 24%),
    radial-gradient(circle at 68% 104%, rgba(11, 114, 200, 0.32), transparent 38%),
    linear-gradient(125deg, #042b58 0%, #063b71 56%, #07569c 100%);
}

.resources-hero::before {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 44px 44px;
  content: "";
  pointer-events: none;
}

.resources-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(380px, 0.97fr);
  align-items: center;
  gap: clamp(42px, 7vw, 92px);
  min-height: 610px;
  padding-block: 72px;
}

.resources-hero-copy {
  min-width: 0;
}

.resources-hero .eyebrow {
  color: #9bd876 !important;
}

.resources-hero h1 {
  max-width: 680px;
  margin-bottom: 21px;
  color: #ffffff;
  font-size: clamp(3.1rem, 5.5vw, 5.3rem);
  line-height: 0.99;
  letter-spacing: -0.055em;
}

.resources-hero-description {
  max-width: 670px;
  margin-bottom: 27px;
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(1rem, 1.4vw, 1.17rem);
  line-height: 1.7;
}

.resources-hero .button-outline {
  border-color: rgba(255, 255, 255, 0.72);
  color: #ffffff;
  background: rgba(255, 255, 255, 0.05);
}

.resources-hero .button-outline:hover,
.resources-hero .button-outline:focus-visible {
  background: rgba(255, 255, 255, 0.13);
}

.resources-hero-note {
  max-width: 660px;
  margin: 24px 0 0;
  padding: 14px 17px;
  border: 1px solid rgba(255, 255, 255, 0.19);
  border-left: 4px solid #83cb56;
  border-radius: 0 9px 9px 0;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(1, 22, 49, 0.28);
  font-size: 0.79rem;
  line-height: 1.58;
}

.resources-hero-note strong {
  color: #ffffff;
}

.resources-hero-visual {
  position: relative;
  min-width: 0;
  min-height: 480px;
}

.resources-hero-visual > p {
  position: absolute;
  right: 12px;
  bottom: 2px;
  z-index: 5;
  margin: 0;
  padding: 13px 17px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 11px;
  color: rgba(255, 255, 255, 0.83);
  background: rgba(2, 31, 66, 0.65);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.2);
  font-size: 0.78rem;
  line-height: 1.45;
  backdrop-filter: blur(7px);
}

.resources-hero-visual > p strong {
  display: inline-block;
  margin-right: 7px;
  color: #9bd876;
  font-size: 1.45rem;
  line-height: 1;
}

.resources-hero-visual > p span {
  color: rgba(255, 255, 255, 0.65);
}

.resource-document {
  position: absolute;
  width: min(286px, 68%);
  aspect-ratio: 0.77;
  padding: 30px 28px;
  border-radius: 11px;
  color: var(--navy-deep);
  background: #ffffff;
  box-shadow: 0 30px 75px rgba(0, 17, 39, 0.33);
  transform-origin: 50% 100%;
}

.resource-document::before {
  position: absolute;
  inset: 13px;
  border: 1px solid #dbe7ef;
  border-top: 4px solid var(--green);
  border-radius: 5px;
  content: "";
}

.resource-document > * {
  position: relative;
  z-index: 1;
}

.resource-document span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 31px;
  margin: 10px 0 28px;
  border-radius: 6px;
  color: #ffffff;
  background: var(--navy);
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.resource-document strong {
  display: block;
  margin-bottom: 24px;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.08;
}

.resource-document i {
  display: block;
  width: 84%;
  height: 7px;
  margin-bottom: 10px;
  border-radius: 10px;
  background: #dbe8f1;
}

.resource-document i:nth-of-type(2) {
  width: 66%;
}

.resource-document i:nth-of-type(3) {
  width: 74%;
}

.resource-document small {
  position: absolute;
  right: 28px;
  bottom: 28px;
  left: 28px;
  color: var(--muted);
  font-size: 0.57rem;
}

.resource-document-back {
  top: 32px;
  right: 1px;
  opacity: 0.64;
  transform: rotate(9deg) scale(0.94);
}

.resource-document-middle {
  top: 52px;
  left: 8%;
  opacity: 0.84;
  transform: rotate(-9deg) scale(0.97);
}

.resource-document-front {
  top: 31px;
  left: 22%;
  z-index: 3;
  transform: rotate(-1deg);
}

.resources-facts {
  border-bottom: 1px solid var(--line);
  background: #ffffff;
}

.resources-facts-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.resources-facts-grid > div {
  min-width: 0;
  padding: 25px clamp(18px, 3vw, 34px);
  border-right: 1px solid var(--line);
}

.resources-facts-grid > div:first-child {
  border-left: 1px solid var(--line);
}

.resources-facts-grid strong,
.resources-facts-grid span {
  display: block;
}

.resources-facts-grid strong {
  margin-bottom: 2px;
  color: var(--navy-deep);
  font-size: 1.24rem;
  line-height: 1.25;
}

.resources-facts-grid span {
  color: var(--muted);
  font-size: 0.74rem;
  line-height: 1.45;
}

.resources-page .section {
  padding-block: 78px;
}

.resources-intro {
  background: #ffffff;
}

.resources-intro-grid {
  display: grid;
  grid-template-columns: minmax(230px, 0.65fr) minmax(0, 1.35fr);
  align-items: start;
  gap: clamp(35px, 6vw, 82px);
}

.resources-intro-grid h2,
.resources-section-heading h2,
.resources-protected-copy h2,
.resources-cta h2 {
  color: var(--navy-deep);
  font-size: clamp(1.9rem, 3vw, 3.1rem);
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.resource-route-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.resource-route-grid a {
  position: relative;
  min-width: 0;
  min-height: 104px;
  padding: 20px 52px 18px 21px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  background: #ffffff;
  transition: color 160ms ease, background 160ms ease;
}

.resource-route-grid a:hover,
.resource-route-grid a:focus-visible {
  color: var(--blue);
  background: var(--pale-soft);
}

.resource-route-grid span,
.resource-route-grid strong {
  display: block;
}

.resource-route-grid span {
  margin-bottom: 4px;
  color: var(--green-dark);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.resource-route-grid strong {
  font-size: 0.96rem;
}

.resource-route-grid i {
  position: absolute;
  top: 50%;
  right: 20px;
  color: var(--blue);
  font-size: 1.3rem;
  font-style: normal;
  transform: translateY(-50%);
}

.resources-library-section {
  scroll-margin-top: 100px;
  background: #f5f9fc;
}

.resources-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(270px, 0.85fr);
  align-items: end;
  gap: clamp(34px, 7vw, 90px);
  margin-bottom: 38px;
}

.resources-section-heading > p {
  margin: 0 0 5px;
  color: var(--muted);
  font-size: 0.91rem;
  line-height: 1.72;
}

.resource-download-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.resource-download-card {
  display: flex;
  min-width: 0;
  min-height: 465px;
  flex-direction: column;
  padding: 27px;
  scroll-margin-top: 100px;
  border: 1px solid #d7e5ee;
  border-radius: 17px;
  background: #ffffff;
  box-shadow: 0 14px 38px rgba(6, 59, 113, 0.065);
  transition: transform 170ms ease, box-shadow 170ms ease, border-color 170ms ease;
}

.resource-download-card:hover {
  border-color: #b8d2e4;
  box-shadow: 0 21px 48px rgba(6, 59, 113, 0.11);
  transform: translateY(-3px);
}

.resource-download-topline {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  margin-bottom: 22px;
  color: var(--green-dark);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.resource-download-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 35px;
  border-radius: 7px;
  color: #ffffff;
  background: var(--navy);
  font-size: 0.64rem;
}

.resource-download-topline em {
  padding: 5px 7px;
  border: 1px solid #bfd2df;
  border-radius: 5px;
  color: var(--muted);
  font-size: 0.61rem;
  font-style: normal;
}

.resource-download-card h3 {
  margin-bottom: 11px;
  color: var(--navy-deep);
  font-size: clamp(1.26rem, 2vw, 1.65rem);
  line-height: 1.22;
  letter-spacing: -0.025em;
}

.resource-download-card > p {
  margin-bottom: 20px;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.67;
}

.resource-download-audience {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  margin-top: auto;
  margin-bottom: 17px;
  padding: 13px 14px;
  border-radius: 9px;
  background: var(--pale-soft);
}

.resource-download-audience span {
  color: var(--green-dark);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.resource-download-audience strong {
  color: var(--ink);
  font-size: 0.72rem;
  line-height: 1.5;
}

.resource-download-meta {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 5px 13px;
  margin-bottom: 20px;
  color: var(--muted);
  font-size: 0.66rem;
}

.resource-download-meta span {
  position: relative;
}

.resource-download-meta span:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -8px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #a6bbc9;
  content: "";
}

.resource-download-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.resource-download-actions .button {
  flex: 0 0 auto;
}

.resource-download-actions .button span {
  margin-left: 8px;
  font-size: 1rem;
}

.resource-related-link {
  color: var(--blue);
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.35;
}

.resources-protected-section {
  color: #ffffff;
  background:
    radial-gradient(circle at 13% 95%, rgba(103, 170, 60, 0.2), transparent 30%),
    linear-gradient(125deg, #042b58, #063b71);
}

.resources-protected-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
  align-items: center;
  gap: clamp(42px, 8vw, 106px);
}

.resources-protected-copy .eyebrow {
  color: #9bd876 !important;
}

.resources-protected-copy h2 {
  margin-bottom: 19px;
  color: #ffffff;
}

.resources-protected-copy > p:not(.eyebrow) {
  margin-bottom: 25px;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.9rem;
  line-height: 1.72;
}

.resources-protected-list {
  border-top: 1px solid rgba(255, 255, 255, 0.17);
}

.resources-protected-list > div {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 17px;
  padding: 19px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.17);
}

.resources-protected-list span {
  display: grid;
  place-items: center;
  width: 39px;
  height: 31px;
  border-radius: 6px;
  color: #0d3a65;
  background: #9bd876;
  font-size: 0.65rem;
  font-weight: 900;
}

.resources-protected-list p {
  margin: 0;
  color: rgba(255, 255, 255, 0.69);
  font-size: 0.78rem;
  line-height: 1.58;
}

.resources-protected-list strong {
  display: block;
  margin-bottom: 3px;
  color: #ffffff;
  font-size: 0.91rem;
}

.resources-boundaries-section {
  background: #ffffff;
}

.resources-boundary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.resources-boundary-grid article {
  min-width: 0;
  padding: 24px 22px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.resources-boundary-grid span {
  display: inline-flex;
  margin-bottom: 20px;
  padding: 5px 8px;
  border-radius: 5px;
  color: #ffffff;
  background: var(--navy);
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.resources-boundary-grid article:nth-child(even) span {
  background: var(--green-dark);
}

.resources-boundary-grid h3 {
  margin-bottom: 9px;
  color: var(--navy-deep);
  font-size: 1rem;
  line-height: 1.35;
}

.resources-boundary-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 0.75rem;
  line-height: 1.66;
}

.resources-cta {
  color: #ffffff;
  background: var(--green-dark);
}

.resources-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 35px;
  padding-block: 47px;
}

.resources-cta .eyebrow {
  margin-bottom: 7px;
  color: #d9f0c9 !important;
}

.resources-cta h2 {
  max-width: 760px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.65rem, 2.8vw, 2.55rem);
}

.resources-cta .button-green {
  color: var(--green-dark);
  background: #ffffff;
}

@media (max-width: 1024px) {
  .resources-hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    min-height: 570px;
    padding-block: 62px;
  }

  .resources-hero h1 {
    font-size: clamp(2.9rem, 6.5vw, 4.4rem);
  }

  .resources-hero-visual {
    min-height: 440px;
  }

  .resource-document {
    width: min(248px, 70%);
  }

  .resources-page .section {
    padding-block: 66px;
  }

  .resources-boundary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .resources-hero-grid,
  .resources-intro-grid,
  .resources-protected-grid,
  .resources-section-heading,
  .resources-cta-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .resources-hero-grid {
    gap: 12px;
    padding-top: 58px;
    padding-bottom: 32px;
  }

  .resources-hero-copy {
    max-width: 680px;
  }

  .resources-hero-visual {
    width: min(100%, 540px);
    min-height: 435px;
    margin-inline: auto;
  }

  .resource-document {
    width: min(250px, 57%);
  }

  .resource-download-card {
    min-height: 490px;
  }

  .resources-protected-grid {
    gap: 38px;
  }

  .resources-cta-inner {
    gap: 23px;
  }
}

@media (max-width: 680px) {
  .resources-hero-grid {
    padding-top: 48px;
  }

  .resources-hero h1 {
    font-size: clamp(2.65rem, 12vw, 3.65rem);
  }

  .resources-facts-grid,
  .resource-download-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .resources-facts-grid > div,
  .resources-facts-grid > div:first-child {
    padding: 18px 5px;
    border-right: 0;
    border-left: 0;
    border-bottom: 1px solid var(--line);
  }

  .resources-facts-grid > div:last-child {
    border-bottom: 0;
  }

  .resources-facts-grid strong,
  .resources-facts-grid span {
    display: inline;
  }

  .resources-facts-grid strong {
    margin-right: 7px;
  }

  .resources-page .section {
    padding-block: 54px;
  }

  .resources-intro-grid,
  .resources-section-heading {
    gap: 25px;
  }

  .resource-download-card {
    min-height: 0;
    padding: 22px;
  }

  .resource-download-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .resource-download-actions .button {
    width: 100%;
  }

  .resource-related-link {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
  }

  .resources-boundary-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .resources-cta-inner {
    padding-block: 38px;
  }

  .resources-cta .button-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .resources-cta .button {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .resources-hero .button-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .resources-hero .button {
    width: 100%;
  }

  .resources-hero-note {
    padding: 13px 14px;
  }

  .resources-hero-visual {
    min-height: 370px;
  }

  .resource-document {
    width: min(214px, 64%);
    padding: 23px 21px;
  }

  .resource-document-front {
    left: 18%;
  }

  .resource-document strong {
    font-size: 1.35rem;
  }

  .resource-document small {
    right: 21px;
    bottom: 21px;
    left: 21px;
  }

  .resources-hero-visual > p {
    right: 0;
    bottom: 5px;
  }

  .resource-route-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .resource-route-grid a {
    min-height: 88px;
  }

  .resources-section-heading h2,
  .resources-intro-grid h2,
  .resources-protected-copy h2 {
    font-size: 1.85rem;
  }

  .resources-protected-list > div {
    grid-template-columns: 39px minmax(0, 1fr);
    gap: 12px;
  }
}

@media (max-width: 360px) {
  .resources-hero-visual {
    min-height: 335px;
  }

  .resource-document {
    width: 195px;
  }

  .resource-document-middle {
    left: 2%;
  }

  .resource-document-front {
    left: 14%;
  }

  .resource-download-topline {
    grid-template-columns: 39px minmax(0, 1fr);
  }

  .resource-download-topline em {
    display: none;
  }
}

@media (max-width: 420px) {
  .shell,
  main .shell,
  .provider-network-shell,
  .iso-commerce-shell,
  .iso-portal-shell {
    width: calc(100% - 20px) !important;
  }

  .contact-form-card-v157,
  .contact-form-card,
  .contact-details-card,
  .contact-company-card,
  .iso-dashboard-card,
  .iso-resource-panel,
  .iso-dashboard-ai-workspace,
  .iso-training-ai-coach {
    border-radius: 12px;
  }

  .iso-dashboard-ai-heading,
  .iso-dashboard-ai-layout,
  .iso-training-ai-coach-head,
  .iso-training-ai-coach-body {
    padding-left: 12px;
    padding-right: 12px;
  }

  .iso-training-ai-coach > .ai-help-privacy {
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* ==========================================================================
   All-pages phone + tablet verification — v1.2.66
   These are narrow-screen safety rules only; desktop 1025px+ is unchanged.
   ========================================================================== */

@media (max-width: 1024px) {
  :where(
    .page-hero,
    .section,
    .intro-section,
    .content-card,
    .steps-list,
    .steps-list li,
    .steps-list li > div,
    .clinical-note,
    .page-cta,
    .legal-content,
    .support-page article,
    .contact-page article,
    .iso-dashboard-content > *,
    .iso-course-shell > *,
    .iso-library-module > *,
    .woocommerce > *
  ) {
    min-width: 0;
    max-width: 100%;
  }

  :where(main, .iso-dashboard-content, .iso-commerce-page) :where(fieldset, legend) {
    min-width: 0;
    max-width: 100%;
  }

  :where(main, .iso-dashboard-content) summary,
  .content-card .evidence-classification,
  .evidence-card-links a {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .content-card .evidence-classification {
    width: fit-content;
    max-width: 100%;
    border-radius: 14px;
  }

  .evidence-card-links {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .evidence-card-links a {
    max-width: 100%;
    text-align: center;
  }

  :where(
    .page-cta .button-row,
    .contact-ai-help-actions,
    .ai-help-suggestions,
    .iso-dashboard-ai-suggestions,
    .iso-cert-actions,
    .woocommerce .wc-proceed-to-checkout
  ) {
    min-width: 0;
    max-width: 100%;
    flex-wrap: wrap;
  }

  :where(
    .page-cta .button-row,
    .contact-ai-help-actions,
    .ai-help-suggestions,
    .iso-dashboard-ai-suggestions,
    .iso-cert-actions,
    .woocommerce .wc-proceed-to-checkout
  ) > * {
    min-width: 0;
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  main .clinical-note .shell,
  .clinical-note .shell {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  main .steps-list li,
  .steps-list li {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 14px;
  }

  .page-cta-inner {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .evidence-card-links {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .evidence-card-links a {
    width: 100%;
    min-height: 44px;
    justify-content: center;
    border-radius: 12px;
  }

  main .steps-list li,
  .steps-list li {
    gap: 12px;
    padding-right: 14px;
  }

  main .clinical-note p,
  .clinical-note p {
    font-size: .82rem;
    line-height: 1.6;
  }

  .footer-subscribe-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .footer-subscribe-form input[type="email"] {
    min-height: 46px;
    border-radius: 7px 7px 0 0;
  }

  .footer-subscribe-form button {
    min-height: 46px;
    border-radius: 0 0 7px 7px;
  }

  :where(
    .page-cta .button-row,
    .contact-ai-help-actions,
    .ai-help-suggestions,
    .iso-dashboard-ai-suggestions,
    .iso-cert-actions,
    .woocommerce .wc-proceed-to-checkout
  ) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  :where(
    .page-cta .button-row,
    .contact-ai-help-actions,
    .ai-help-suggestions,
    .iso-dashboard-ai-suggestions,
    .iso-cert-actions,
    .woocommerce .wc-proceed-to-checkout
  ) :where(.button, button, a) {
    width: 100%;
    min-height: 44px;
    white-space: normal;
  }
}

/* ==========================================================================
   Homepage desktop framework containment — v1.2.68
   Keep the homepage banner aligned with the established 1080px content grid
   when the browser is expanded. Other pages and narrow screens are unchanged.
   ========================================================================== */

@media (min-width: 1121px) {
  .dental-structure-home > .page-hero .hero-grid {
    width: min(1080px, calc(100% - 72px)) !important;
    max-width: 1080px;
    grid-template-columns: minmax(0, 0.95fr) minmax(520px, 1.05fr);
    gap: 36px;
    margin-inline: auto;
  }

  .dental-structure-home > .page-hero .hero-copy,
  .dental-structure-home > .page-hero .hero-media {
    min-width: 0;
    max-width: 100%;
  }
}

/* ==========================================================================
   Expanded-browser framework lock — v1.2.69
   Header content and the complete homepage stop growing after the approved
   1440px desktop canvas. The existing 1080px inner grid remains unchanged.
   ========================================================================== */

@media (min-width: 1441px) {
  body.home {
    background: #edf2f7;
  }

  .site-header .header-utility-inner,
  .site-header .header-inner {
    width: min(1366px, calc(100% - 74px)) !important;
    max-width: 1366px !important;
    margin-inline: auto;
  }

  body.home main.dental-structure-home,
  body.home .site-footer {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
    overflow-x: hidden;
    overflow-x: clip;
  }
}

/* ==========================================================================
   Expanded-browser header and provider-network lock — v1.2.70
   Keep the navigation inside fixed header columns and bring the homepage's
   final provider section into the same 1440px frame. Tablet and phone rules
   remain unchanged because they switch to the compact menu at 1024px.
   ========================================================================== */

@media (min-width: 1381px) {
  .site-header .header-inner {
    grid-template-columns: 180px minmax(0, 1fr) 200px !important;
    column-gap: 18px !important;
  }

  .site-header .desktop-nav {
    width: 100%;
    min-width: 0;
    margin-left: 0 !important;
    justify-self: stretch;
  }

  .site-header .desktop-nav-list {
    width: 100%;
    min-width: 0;
    justify-content: center;
    gap: 12px !important;
  }

  .site-header .desktop-nav-list a,
  .site-header .header-actions .text-link {
    font-size: 12px !important;
  }

  .site-header .header-actions {
    min-width: 0;
    margin-left: 0 !important;
    justify-self: end;
  }

  .site-header .nav-cta {
    width: 200px;
    min-width: 200px;
  }
}

@media (min-width: 1441px) {
  .site-header,
  body.home .provider-network-section {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
    overflow-x: hidden;
    overflow-x: clip;
  }

  body.home .provider-network-section .provider-network-shell {
    width: min(1080px, calc(100% - 72px)) !important;
    max-width: 1080px;
    margin-inline: auto;
  }
}

/* File 87: clinical-AI/HIPAA status presentation. */
.iso-dashboard-ai-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.ai-help-boundary.is-hipaa {
  border-color: #d9c89e;
  background: #fffaf0;
}

.ai-help-boundary.is-hipaa strong {
  color: #674500;
}

.iso-ai-admin-readiness {
  max-width: 960px;
  margin: 18px 0 24px;
  padding: 16px 18px;
  border: 1px solid #cfdce7;
  border-left: 5px solid #0d6efd;
  border-radius: 10px;
  background: #f7fbff;
}

.iso-ai-admin-readiness.is-blocked {
  border-left-color: #a52a2a;
  background: #fff4f4;
}

.iso-ai-admin-readiness.is-ready {
  border-left-color: #147a5b;
  background: #f0faf5;
}

.iso-ai-admin-readiness h2,
.iso-ai-admin-readiness p {
  margin: 0;
}

.iso-ai-admin-readiness p {
  margin-top: 6px;
  max-width: 820px;
  line-height: 1.55;
}

.iso-ai-admin-readiness ul {
  margin: 12px 0 0 18px;
}

@media (max-width: 760px) {
  .iso-dashboard-ai-badges {
    justify-content: flex-start;
  }
}


.ai-help-message.is-privacy-blocked .ai-help-bubble {
  border: 1px solid #d6c59c;
  background: #fff8e8;
  color: #704b00;
  font-style: italic;
}


/* File 89 — shared portal voice states */
.ai-help-voice-intro {
  position: relative;
}

.ai-help-no-phi-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  margin-left: auto;
  padding: 5px 8px;
  border: 1px solid #efc76a;
  border-radius: 999px;
  background: #fff7db;
  color: #7b5711;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  white-space: nowrap;
}

.ai-help-voice-bar[data-ai-voice-mode^="openai-realtime"] {
  border-color: #b9d7ef;
  background: linear-gradient(135deg, #f2f8ff 0%, #f7fbf2 100%);
}

.ai-help-voice-bar[data-ai-voice-mode^="openai-realtime"] {
  border-color: #9bd2ad;
}

.ai-help-voice-bar[data-ai-voice-mode="none"] .ai-help-mic {
  opacity: 0.55;
}

[data-ai-help-assistant].is-voice-active .ai-help-voice-bar {
  box-shadow: 0 12px 28px rgba(19, 78, 137, 0.12);
}

.ai-help-message.is-voice-transcript .ai-help-bubble {
  position: relative;
}

.ai-help-message.is-voice-transcript .ai-help-bubble::before {
  content: "VOICE";
  display: inline-block;
  margin-right: 7px;
  color: #1760a8;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

@media (max-width: 720px) {
  .ai-help-no-phi-badge {
    width: max-content;
    margin: 8px 0 0;
  }
}


.ai-help-openai-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	background: #eef4ff;
	border: 1px solid #bfd2f3;
	color: #153a67;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

/* File 90 — OpenAI Realtime audio-unlock and connection attention state */
.ai-help-voice-audio {
  border-color: #d19a28 !important;
  background: #fff8e7 !important;
  color: #704b00 !important;
  font-weight: 800 !important;
}

.ai-help-voice-bar[data-voice-state="attention"] .ai-help-voice-status {
  color: #8b6209;
}

.ai-help-voice-bar[data-voice-state="attention"] .ai-help-voice-status::before {
  background: #d19a28;
  box-shadow: 0 0 0 4px rgba(209,154,40,.13);
}

.ai-help-remote-audio {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

/* File 93 — unified formatting for the dedicated portal AI workspace. */
.iso-dashboard-ai-workspace {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.iso-dashboard-ai-workspace,
.iso-dashboard-ai-workspace * {
  box-sizing: border-box;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-heading {
  align-items: flex-start;
  gap: 18px;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-heading > div:first-child {
  min-width: 0;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-heading h3 {
  font-size: clamp(1.18rem, 2.2cqi, 1.5rem);
  line-height: 1.2;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-heading p:last-child {
  max-width: 780px;
  font-size: .83rem;
  line-height: 1.55;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-badges {
  flex: 0 1 300px;
  min-width: 0;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-layout {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 310px);
  gap: 18px;
  min-width: 0;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat,
.iso-dashboard-ai-workspace .iso-dashboard-ai-guide {
  min-width: 0;
  max-width: 100%;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-card-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-identity {
  min-width: 0;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-voice-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 11px;
  min-width: 0;
  padding: 16px 18px;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-voice-intro {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-voice-intro > div {
  min-width: 0;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-openai-badge,
.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-no-phi-badge {
  margin: 0;
  align-self: center;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-voice-controls {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  width: 100%;
  margin: 0;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-voice-controls .button,
.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-voice-controls .ai-help-voice-start {
  width: 100%;
  min-width: 0;
  min-height: 43px;
  padding: 8px 11px;
  white-space: normal;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-voice-status {
  width: 100%;
  margin: 0;
  font-size: .69rem;
  line-height: 1.4;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-messages {
  min-height: 210px;
  max-height: 360px;
  padding: 16px 18px;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-message {
  max-width: 90%;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-bubble {
  overflow-wrap: anywhere;
  font-size: .78rem;
  line-height: 1.55;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  padding: 13px 18px 0;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-suggestions button {
  min-height: 35px;
  max-width: 100%;
  padding: 7px 12px;
  font-size: .68rem;
  line-height: 1.3;
  white-space: normal;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  padding: 15px 18px 0;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 82px;
  resize: vertical;
  font-size: .78rem;
  line-height: 1.5;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-form .button {
  align-self: stretch;
  min-width: 108px;
  min-height: 46px;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-privacy {
  margin: 9px 18px 17px;
  font-size: .67rem;
  line-height: 1.5;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-guide {
  width: 100%;
  padding: 18px;
}

.iso-dashboard-ai-workspace .iso-dashboard-ai-guide nav > a {
  min-width: 0;
}

@container iso-dashboard-ai (max-width: 920px) {
  .iso-dashboard-ai-workspace .iso-dashboard-ai-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-dashboard-ai-workspace .iso-dashboard-ai-guide nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
  }
}

@container iso-dashboard-ai (max-width: 680px) {
  .iso-dashboard-ai-workspace .iso-dashboard-ai-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-dashboard-ai-workspace .iso-dashboard-ai-badges {
    flex: none;
    justify-content: flex-start;
  }

  .iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-voice-intro {
    grid-template-columns: 46px minmax(0, 1fr);
  }

  .iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-openai-badge,
  .iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-no-phi-badge {
    grid-column: 2;
    justify-self: start;
  }

  .iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-voice-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iso-dashboard-ai-workspace .iso-dashboard-ai-guide nav {
    grid-template-columns: minmax(0, 1fr);
  }
}

@container iso-dashboard-ai (max-width: 480px) {
  .iso-dashboard-ai-workspace .iso-dashboard-ai-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-voice-controls,
  .iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-form .button {
    width: 100%;
  }

  .iso-dashboard-ai-workspace .iso-dashboard-ai-chat .ai-help-message {
    max-width: 100%;
  }
}

.iso-dashboard-ai-workspace .ai-help-voice-setup {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #b9d1e5;
  border-radius: 999px;
  background: #fff;
  color: #0b5cab;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
}

.iso-dashboard-ai-workspace .ai-help-voice-setup:hover,
.iso-dashboard-ai-workspace .ai-help-voice-setup:focus-visible {
  border-color: #0b5cab;
  background: #eef6fd;
}
