/* The same four paths on every page; all original content remains in the HTML. */
:root { --ac-header-offset: 184px; }
html { scroll-padding-top: var(--ac-header-offset); }
.acx-nav { border-bottom: 1px solid #dce6df; }
.acx-bar { padding-block: 5px; }
.desktop-links { gap: 24px; }
.desktop-links a { font-weight: 500; }
/* Larger, tactile cards for the same four shared paths. */
.ac-pillar-nav { background: #f3f6f1; border-top: 1px solid #dce6df; }
.ac-pillar-nav > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; max-width: 1380px; margin: auto; padding: 10px 28px 12px; }
.ac-pillar-nav a { position: relative; display: flex; align-items: center; justify-content: center; gap: 11px; min-width: 0; min-height: 66px; padding: 12px 14px; border: 1px solid #cbdacf; border-radius: 12px; background: linear-gradient(160deg,#fff 0%,#f8faf6 100%); color: #234c44; text-decoration: none; font-size: 18px; font-weight: 600; line-height: 1.3; box-shadow: 0 2px 3px rgb(23 63 58 / 5%), inset 0 1px 0 #fff; transition: transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease,background-color 180ms ease; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.ac-pillar-nav a > span:last-child { min-width: 0; }
.ac-pillar-nav-number { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border: 1px solid #cbdacf; border-radius: 9px; background: #e9f0e7; color: #3d6251; font-size: 14px; font-weight: 650; line-height: 1; letter-spacing: .025em; font-variant-numeric: tabular-nums; }
.ac-pillar-nav a[aria-current] { color: #173f3a; background: #e7efe6; border-color: #9eb9a5; box-shadow: 0 2px 4px rgb(23 63 58 / 8%), inset 0 -3px 0 #854552; }
.ac-pillar-nav a[aria-current] .ac-pillar-nav-number { color: #fff; background: #234c44; border-color: #234c44; }
@media (hover: hover) and (pointer: fine) {
  .ac-pillar-nav a:hover { z-index: 1; transform: translateY(-3px); border-color: #7d9e89; background: #fff; box-shadow: 0 7px 0 -3px #d7e1d6,0 11px 18px -8px rgb(23 63 58 / 35%),inset 0 1px 0 #fff; }
  .ac-pillar-nav a[aria-current]:hover { background: #edf3e9; }
}
.ac-pillar-nav a:focus-visible { z-index: 2; transform: translateY(-3px); outline: 2px solid #854552; outline-offset: 3px; box-shadow: 0 7px 0 -3px #d7e1d6,0 11px 18px -8px rgb(23 63 58 / 35%); }
.ac-pillar-nav a:active { z-index: 2; transform: translateY(-2px); border-color: #53766f; background: #e9f1e8; box-shadow: 0 6px 0 -2px #c4d4c5,0 10px 16px -7px rgb(23 63 58 / 36%); transition-duration: 60ms; }
@media (prefers-reduced-motion: reduce) {
  .ac-pillar-nav a { transition: none; }
  .ac-pillar-nav a:is(:hover,:focus-visible,:active) { transform: none; }
}
.ac-breadcrumb { padding-block: 15px !important; font-size: 12.96px; }
.ac-breadcrumb > span:last-child { max-width: 70ch; }
.ac-interior [id],.ac26 [id],.ac-profile { scroll-margin-top: 12px !important; }
.ac-interior :is(.hero,.acn-hero,.ac-legacy-hero) { padding-block: 42px 46px; }
.ac-interior :is(.hero,.acn-hero,.ac-legacy-hero) h1 { max-width: 25ch; font-size: clamp(36.72px,4.104vw,58.32px) !important; line-height: 1.13 !important; }
.ac-interior :is(.hero,.acn-hero,.ac-legacy-hero) .lead { font-size: 20.52px !important; line-height: 1.6 !important; }
.ac-interior .ac-long-heading { font-size: clamp(23.76px,2.16vw,30.24px) !important; line-height: 1.4 !important; letter-spacing: -.015em !important; }
.ac-interior .ac-editorial { max-width: 820px; }
.ac-text-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 8px; color: #854552; font-size: 16.2px; text-underline-offset: 5px; }

/* Local section navigation remains secondary to the four paths. */
.ac-section-index { width: min(1324px,calc(100% - 56px)); margin: 0 auto; padding: 12px 0; border-bottom: 1px solid #e4eae5; background: #fff; }
.ac-section-index > summary { display: flex; align-items: center; gap: 16px; min-height: 44px; color: #526b61; font-size: 15.12px; font-weight: 500; cursor: pointer; list-style: none; }
.ac-section-index > summary::after { content: '+'; margin-left: auto; font-size: 21.6px; }
.ac-section-index[open] > summary::after { content: '−'; }
.ac-section-index > summary::-webkit-details-marker { display: none; }
.ac-section-index nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 30px; padding: 4px 0 18px; }
.ac-section-index a { display: flex; align-items: center; min-height: 44px; font-size: 15.12px; line-height: 1.5; text-decoration: none; color: #173f3a; }
.ac-section-index a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ac-team-reference { display: flex; align-items: baseline; gap: 14px 24px; flex-wrap: wrap; width: min(1324px,calc(100% - 56px)); margin: 20px auto 0; padding: 16px 0; border-bottom: 1px solid #dce6df; font-size: 15.12px; }
.ac-team-reference > span { color: #61746b; }
.ac-team-reference > div { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.ac-team-reference a { color: #854552; display: inline-flex; align-items: center; min-height: 36px; gap: 10px; text-underline-offset: 5px; }

/* Services become four predictable, expandable groups. */
.ac-interior .acsrv > .all { background: #fff; padding-block: 36px 48px; }
.acsrv .ac-pillar-list { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 28px; }
.ac-pillar { background: #fafbf9; border: 1px solid #dce6df; border-radius: 16px; overflow: clip; }
.ac-pillar > summary { display: flex; align-items: center; gap: 20px; min-height: 108px; padding: 18px 28px; cursor: pointer; list-style: none; }
.ac-pillar > summary::-webkit-details-marker { display: none; }
.ac-pillar > summary > img { width: 64px; height: 64px; object-fit: contain; mix-blend-mode: multiply; }
.ac-pillar-label { display: block; flex: 1; }
.ac-pillar-number { display: block; font-size: 11.88px; color: #6a7d72; line-height: 1.5; margin-bottom: 4px; }
.ac-interior .ac-pillar > summary h2 { margin: 0; font-size: clamp(24.84px,2.16vw,30.24px) !important; line-height: 1.2 !important; }
.ac-pillar-chevron { width: 28px; height: 28px; display: grid; place-items: center; flex-shrink: 0; color: #53766f; }
.ac-pillar-chevron::before { content: '+'; font-size: 27px; font-weight: 400; }
.ac-pillar[open] > summary .ac-pillar-chevron::before { content: '−'; }
.ac-pillar[open] > summary { border-bottom: 1px solid #dce6df; }
.ac-pillar > summary:hover { background: #f0f5ef; }
.ac-pillar-content { padding: 24px; background: #fff; }
.ac-pillar-cards,.ac-pillar-categories { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.ac-pillar-cards:empty { display: none; }
.ac-pillar-cards:not(:empty) { margin-bottom: 20px; }
.ac-interior .acsrv .ac-pillar .card { display: flex; gap: 20px; align-items: center; margin: 0; padding: 20px; background: #fafbf9; text-decoration: none; }
.ac-interior .acsrv .ac-pillar .card img { display: block; width: 100px; height: 100px; object-fit: cover; border-radius: 10px; flex-shrink: 0; }
.ac-interior .acsrv .ac-pillar .card h3 { font-size: 24.84px !important; margin: 0 0 10px; }
.ac-interior .acsrv .ac-pillar :is(.card,.category) p { font-size: 17.28px; line-height: 1.6; }
.ac-interior .acsrv .ac-pillar .category { grid-column: auto; padding: 22px; background: #fff; border: 1px solid #e4eae5; }
.ac-interior .acsrv .ac-pillar .category h3 { font-size: 23.76px !important; }
.ac-pillar-categories > :only-child { grid-column: 1 / -1; }
.ac-pillar-extra-links { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0; padding: 0; list-style: none; }
.ac-pillar-extra-links a { display: inline-flex; align-items: center; min-height: 44px; color: #854552; }
.ac-hub-extra { width: min(1324px,calc(100% - 56px)); margin: 0 auto 18px; border-block: 1px solid #dce6df; }
.ac-hub-extra > summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; cursor: pointer; list-style: none; }
.ac-hub-extra > summary::-webkit-details-marker { display: none; }
.ac-hub-extra > summary::after { content: '+'; font-size: 27px; }
.ac-hub-extra[open] > summary::after { content: '−'; }
.ac-interior .ac-hub-extra > summary h2 { margin: 0; font-size: 25.92px !important; line-height: 1.25 !important; }
.ac-hub-extra .wrap { width: 100%; }
.ac-interior .ac-hub-extra :is(.intro,.tech) { padding: 0 0 28px; background: #fff; }
.ac-hub-extra .split { grid-template-columns: 1fr; gap: 14px; }
.ac-hub-extra .techgrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ac-interior .ac-hub-extra .techitem { padding: 22px; border: 1px solid #dce6df; background: #fafbf9; }

/* Names and roles are easy to scan; the original biographies expand in place. */
.ac-interior .acabout .team { background: #fff; padding-block: 40px 48px; }
.ac-interior .acabout .teamhead > .ey { margin: 0 0 16px; color: #173f3a; font-size: clamp(36.72px,3.78vw,49.68px) !important; font-weight: 650; line-height: 1.1 !important; letter-spacing: -.025em !important; }
.ac-interior .acabout .teamhead > h2 { margin: 0 0 18px; font-size: clamp(25.92px,2.376vw,32.4px) !important; line-height: 1.25 !important; }
.ac-interior .acabout .teamgrid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; align-items: start; }
.ac-profile { border: 1px solid #dce6df; border-radius: 16px; background: #fafbf9; overflow: clip; }
.ac-profile-summary { display: grid; grid-template-columns: 82px minmax(0,1fr) 24px; align-items: center; gap: 16px; min-height: 126px; padding: 20px; list-style: none; cursor: pointer; }
.ac-profile-summary::-webkit-details-marker { display: none; }
.ac-profile-summary:hover { background: #f0f5ef; }
.ac-profile-photo { display: block; width: 82px; height: 88px; border-radius: 10px; overflow: hidden; background: #e8f0e9; }
.ac-interior .ac-profile-photo img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; object-position: center top; border-radius: 0; }
.ac-interior .ac-profile-photo > div { width: 100%; height: 100%; padding: 10px !important; font-size: 11.88px; line-height: 1.4; aspect-ratio: auto !important; }
.ac-interior .ac-profile-heading h3 { margin: 0 0 8px; font-size: 23.76px !important; line-height: 1.2 !important; }
.ac-interior .ac-profile-heading p { margin: 0; font-size: 15.12px; line-height: 1.5; color: #526b61; }
.ac-interior .ac-profile-heading strong { font-weight: 500; }
.ac-profile-toggle::after { content: '+'; font-size: 27px; font-weight: 400; color: #53766f; }
.ac-profile[open] > summary .ac-profile-toggle::after { content: '−'; }
.ac-profile[open] > summary { border-bottom: 1px solid #dce6df; }
.ac-profile-body { padding: 22px 24px; background: #fff; font-size: 17.28px; line-height: 1.7; color: #526b61; }
.ac-profile-body > p:first-child { margin-top: 0; }
.ac-profile-body > :last-child { margin-bottom: 0; }
.ac-profile-body .cst-highlight { padding: 16px; border-radius: 10px; }
.ac-specialty { margin-top: 22px; border-top: 1px solid #dce6df; }
.ac-specialty > summary { padding: 16px 0; cursor: pointer; font-size: 16.2px; color: #173f3a; }
.ac-interior .ac-specialty .ac-professional { display: block !important; padding: 18px !important; margin: 0 !important; border-radius: 10px !important; }
.ac-specialty .ac-professional > img { display: none; }
.ac-interior .ac-specialty .ac-professional h2 { font-size: 23.76px !important; }
.ac-interior .acabout .expert .ac-named-portrait { max-width: 380px; justify-self: center; }

/* One number, with two clearly labelled ways to use it. */
.ac-interior .accontact .ac-unified-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.ac-interior .accontact .ac-unified-contact > :is(small,b) { margin: 0; }
.ac-interior .accontact .ac-contact-number { display: block; color: #173f3a; font-size: clamp(25.92px,2.16vw,32.4px); font-weight: 650; line-height: 1.2; letter-spacing: -.025em; white-space: nowrap; }
.ac-interior .accontact .ac-contact-channels { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ac-interior .accontact .ac-contact-channels > a { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; margin: 0; padding: 9px 12px; border: 1px solid #cbdad1; border-radius: 9px; background: #fafbf8; color: #173f3a; font-size: 15.12px !important; font-weight: 500; line-height: 1.3; text-decoration: none; }
.ac-interior .accontact .ac-contact-channels > a:hover { background: #edf3ee; border-color: #91aa9b; }
.ac-interior .accontact .ac-contact-channels svg { display: block; width: 18px; height: 18px; flex-shrink: 0; }

/* AI is visible at both entrances to the hearing-aid path. */
.ac-interior .ac-fit .hero.ac-ai-hero { background: #fafbf8; padding-block: 40px; }
.ac-ai-hero-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); align-items: center; gap: 44px; width: min(1324px,calc(100% - 56px)); margin: auto; }
.ac-interior .ac-ai-hero .ac-ai-hero-copy { width: 100%; }
.ac-ai-marker { display: flex; gap: 18px; align-items: center; margin: 22px 0 24px; }
.ac-ai-monogram { display: grid; place-items: center; width: 78px; height: 78px; flex-shrink: 0; border-radius: 18px; background: #173f3a; color: #fff; font-size: 43.2px; line-height: 1; font-weight: 600; letter-spacing: -.04em; }
.ac-ai-marker-title { color: #173f3a; font-size: clamp(29.16px,3.024vw,41.04px); line-height: 1.1; font-weight: 650; letter-spacing: -.025em; }
.ac-interior .ac-ai-hero h1 { max-width: 29ch; margin: 0 0 18px; font-size: clamp(29.16px,2.808vw,38.88px) !important; line-height: 1.2 !important; }
.ac-interior .ac-ai-hero .lead { margin: 0; font-size: 19.44px !important; line-height: 1.6 !important; }
.ac-ai-hero-visual { border-radius: 20px; overflow: hidden; background: #102439; }
.ac-ai-hero-visual img { display: block; width: 100%; height: auto; aspect-ratio: 1.18; object-fit: cover; }
.ac-interior .ac-fit .ac-ai-feature-card { grid-column: 1 / -1; padding: 30px; background: #f5f8f5; border-color: #c6d8cc; }
.ac-interior .ac-fit .ac-ai-feature-card > h3 { font-size: clamp(30.24px,3.24vw,38.88px) !important; }
.ac-interior .ac-fit .ac-ai-feature-card > .ac-tech-label { color: #53766f; margin-bottom: 10px; }
.ac-interior .ac-fit .ac-ai-feature-card > .ac-ai-existing-photo { display: block; width: min(100%,580px); height: auto; margin: 24px 0 0; aspect-ratio: auto; }
.ac-interior .ac-fit .ac-fitting-context-image { display: block; width: min(100%,860px); height: auto; margin: 36px auto 0; aspect-ratio: auto; }
.ac-interior .ac-asl-guide .ac-asl-badge { margin: 0 0 28px; }
.ac-interior .acsrv .ac-ai-spotlight { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(180px,.7fr); align-items: start; gap: 28px; padding: 26px; margin: 0 0 24px; border: 1px solid #c6d8cc; border-radius: 16px; background: #f5f8f5; }
.ac-interior .acsrv .ac-ai-spotlight h3 { margin: 0 0 14px; font-size: clamp(28.08px,2.7vw,34.56px) !important; }
.ac-interior .acsrv .ac-ai-spotlight p { font-size: 17.28px; line-height: 1.6; }
.ac-ai-spotlight-image { display: block; width: 100%; height: auto; aspect-ratio: 1.35; object-fit: cover; border-radius: 12px; }
.ac-ai-spotlight details { border-top: 1px solid #d3dfd5; padding-top: 8px; }
.ac-ai-spotlight summary { min-height: 44px; padding: 10px 0; cursor: pointer; font-size: 16.2px; font-weight: 600; }
.ac-ai-spotlight a { color: #854552; text-underline-offset: 4px; }
@media (max-width: 760px) {
  .ac-ai-hero-grid { grid-template-columns: 1fr; width: calc(100% - 40px); gap: 26px; }
  .ac-interior .ac-fit .hero.ac-ai-hero { padding-block: 28px; }
  .ac-ai-marker { margin: 18px 0 20px; gap: 14px; }
  .ac-ai-monogram { width: 62px; height: 62px; border-radius: 14px; font-size: 36.72px; }
  .ac-ai-marker-title { font-size: 31.32px; }
  .ac-interior .ac-ai-hero h1 { font-size: 30.24px !important; }
  .ac-interior .ac-ai-hero .lead { font-size: 18.36px !important; }
  .ac-ai-hero-visual img { aspect-ratio: 16 / 9; }
  .ac-interior .ac-fit .ac-ai-feature-card { padding: 22px; }
  .ac-interior .acsrv .ac-ai-spotlight { grid-template-columns: 1fr; padding: 20px; gap: 18px; }
  .ac-ai-spotlight-image { aspect-ratio: 16 / 9; }
}

@media (max-width: 1000px) {
  .ac-pillar-nav a { gap: 8px; padding-inline: 10px; font-size: 16.5px; }
  .ac-interior .acsrv .ac-pillar .card { flex-direction: column; align-items: flex-start; }
  .ac-profile-summary { grid-template-columns: 64px minmax(0,1fr) 20px; padding: 16px; gap: 12px; }
  .ac-profile-photo { width: 64px; height: 78px; }
  .ac-interior .ac-profile-heading h3 { font-size: 21.6px !important; }
}
@media (max-width: 760px) {
  :root { --ac-header-offset: 202px; }
  .ac-pillar-nav > div { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 9px 16px 11px; }
  .ac-pillar-nav a { justify-content: flex-start; min-height: 60px; padding: 8px 10px; gap: 8px; font-size: 15.5px; border-radius: 10px; }
  .ac-pillar-nav-number { flex-basis: 28px; width: 28px; height: 30px; font-size: 12.5px; border-radius: 8px; }
  #mobile-menu { max-height: calc(100dvh - 300px); }
  .ac-breadcrumb { padding-block: 12px !important; font-size: 11.88px; }
  .ac-interior :is(.hero,.acn-hero,.ac-legacy-hero) { padding-block: 28px 32px; }
  .ac-interior :is(.hero,.acn-hero,.ac-legacy-hero) h1 { font-size: 36.72px !important; line-height: 1.12 !important; }
  .ac-interior :is(.hero,.acn-hero,.ac-legacy-hero) .lead { font-size: 18.36px !important; }
  .ac-section-index,.ac-team-reference,.ac-hub-extra { width: calc(100% - 40px); }
  .ac-section-index nav { grid-template-columns: 1fr; gap: 0; }
  .ac-interior .acabout .teamgrid { grid-template-columns: 1fr; }
  .ac-profile-summary { grid-template-columns: 70px minmax(0,1fr) 22px; min-height: 110px; }
  .ac-profile-photo { width: 70px; height: 78px; }
  .ac-profile-body { padding: 20px; }
  .ac-pillar > summary { padding: 16px; min-height: 92px; gap: 12px; }
  .ac-pillar > summary > img { width: 48px; height: 48px; }
  .ac-interior .ac-pillar > summary h2 { font-size: 23.76px !important; }
  .ac-pillar-content { padding: 16px; }
  .ac-pillar-cards,.ac-pillar-categories,.ac-hub-extra .techgrid { grid-template-columns: 1fr; gap: 14px; }
  .ac-interior .acsrv .ac-pillar .card { display: grid; grid-template-columns: 56px minmax(0,1fr); padding: 16px; gap: 14px; }
  .ac-interior .acsrv .ac-pillar .card img { grid-column: 1; grid-row: 1; width: 56px; height: 56px; }
  .ac-interior .acsrv .ac-pillar .card > div { display: contents; }
  .ac-interior .acsrv .ac-pillar .card h3 { grid-column: 2; grid-row: 1; font-size: 22.68px !important; margin: 0; }
  .ac-interior .acsrv .ac-pillar .card p { grid-column: 1 / -1; margin: 0; }
  .ac-interior .acsrv .ac-pillar .category { padding: 18px; }
  .ac-hub-extra > summary { padding-block: 18px; }
  .ac-interior .ac-hub-extra > summary h2 { font-size: 23.76px !important; }
}
@media (max-width: 360px) {
  .ac-pillar-nav > div { padding-inline: 8px; }
  .ac-pillar-nav a { padding-inline: 8px; font-size: 15px; gap: 6px; }
  .ac-pillar-nav-number { flex-basis: 24px; width: 24px; font-size: 12px; }
  .ac-profile-summary { grid-template-columns: 54px minmax(0,1fr) 18px; gap: 10px; padding: 14px; }
  .ac-profile-photo { width: 54px; height: 68px; }
}

/* Room for the premium home-visit service in the common menu. */
.desktop-links {gap:20px;}
.desktop-links .ac-premium-menu-link {white-space:nowrap;}
