/*
 * AT palette refresh
 * Dominant pale mint environment with dark teal retained for structure and actions.
 */

:root {
  --at-pale-mint: #E3F4F3;
  --at-pale-mint-soft: #F5FBFA;
  --at-palette-ink: #082B31;
  --at-palette-text: #34575C;
  --at-palette-teal: #2F9E94;
  --at-palette-deep: #16786F;
  --at-palette-line: rgba(8, 43, 49, .13);
  --at-palette-shadow: 0 24px 70px rgba(8, 43, 49, .11);

  --at-mint: var(--at-pale-mint);
  --atr-mint: var(--at-pale-mint);
}

body {
  background: #FCFEFD;
}

/* Homepage hero */
.at-home {
  --ath-mint: var(--at-pale-mint);
}

.at-home-hero {
  border-bottom: 1px solid var(--at-palette-line);
  background:
    radial-gradient(circle at 12% 18%, rgba(47, 158, 148, .18), transparent 29%),
    radial-gradient(circle at 88% 78%, rgba(255, 255, 255, .9), transparent 34%),
    linear-gradient(135deg, var(--at-pale-mint) 0%, #F7FCFB 100%);
}

.at-home-hero::after {
  border-color: rgba(8, 43, 49, .09);
  box-shadow: 0 0 0 72px rgba(47, 158, 148, .035);
}

.at-home-hero h1 {
  color: var(--at-palette-ink);
}

.at-home-hero .at-home-eyebrow {
  color: var(--at-palette-deep);
}

.at-home-hero-lead {
  color: var(--at-palette-text) !important;
}

.at-home-hero .at-home-btn-primary {
  background: var(--at-palette-deep);
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(22, 120, 111, .2);
}

.at-home-hero .at-home-btn-primary:hover,
.at-home-hero .at-home-btn-primary:focus-visible {
  background: var(--at-palette-ink);
}

.at-home-hero .at-home-btn-secondary {
  border-color: rgba(8, 43, 49, .2);
  background: rgba(255, 255, 255, .76);
  color: var(--at-palette-ink) !important;
}

.at-home-hero .at-home-btn-secondary:hover,
.at-home-hero .at-home-btn-secondary:focus-visible {
  border-color: var(--at-palette-deep);
  background: #fff;
}

.at-home-proof {
  color: var(--at-palette-text);
}

.at-home-proof i {
  color: var(--at-palette-deep);
}

.at-home-hero-main-image {
  border: 1px solid rgba(8, 43, 49, .1);
  box-shadow: var(--at-palette-shadow);
}

/* Expanded desktop homepage hero */
@media (min-width: 1280px) {
  .at-home-hero {
    padding-top: 70px;
    padding-bottom: 76px;
  }

  .at-home-hero .at-home-container {
    width: min(1380px, calc(100% - 48px));
  }

  .at-home-hero-grid {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(42px, 4vw, 68px);
  }

  .at-home-hero h1 {
    max-width: 14.5ch;
    font-size: clamp(4rem, 4.35vw, 5rem);
    line-height: .96;
  }

  .at-home-hero-copy {
    padding-left: clamp(0px, 1vw, 16px);
  }

  .at-home-hero-visual {
    min-height: 680px;
  }

  .at-home-hero-main-image {
    border-radius: 36px;
  }

  .at-home-hero-main-image img {
    object-position: center 45%;
  }

  .at-home-hero-card {
    left: -26px;
    bottom: 30px;
    width: 300px;
  }
}

/* Homepage supporting sections */
.at-home-not-sure {
  border: 1px solid rgba(8, 43, 49, .11);
  background: var(--at-pale-mint);
  box-shadow: 0 14px 38px rgba(8, 43, 49, .06);
}

.at-home-not-sure h3 {
  color: var(--at-palette-ink);
}

.at-home-not-sure p {
  color: var(--at-palette-text);
}

.at-home-not-sure .at-home-icon-light {
  background: rgba(255, 255, 255, .78);
  color: var(--at-palette-deep);
}

.at-home-not-sure .at-home-btn-light {
  background: var(--at-palette-deep);
  color: #fff !important;
}

.at-home-hearing-aids {
  border-top: 1px solid var(--at-palette-line);
  border-bottom: 1px solid var(--at-palette-line);
  background:
    radial-gradient(circle at 82% 14%, rgba(47, 158, 148, .15), transparent 28%),
    linear-gradient(135deg, var(--at-pale-mint) 0%, #F7FCFB 100%);
}

.at-home-hearing-copy h2 {
  color: var(--at-palette-ink);
}

.at-home-hearing-copy > p {
  color: var(--at-palette-text);
}

.at-home-hearing-aids .at-home-eyebrow {
  color: var(--at-palette-deep);
}

.at-home-brand-row a {
  border-color: rgba(8, 43, 49, .13);
  background: rgba(255, 255, 255, .7);
  color: var(--at-palette-ink) !important;
}

.at-home-hearing-aids .at-home-btn-primary {
  background: var(--at-palette-deep);
  color: #fff !important;
}

.at-home-hearing-aids .at-home-btn-ghost {
  border-color: rgba(8, 43, 49, .18);
  background: rgba(255, 255, 255, .72);
  color: var(--at-palette-ink) !important;
}

.at-home-prep-cta {
  border: 1px solid rgba(8, 43, 49, .11);
  background:
    radial-gradient(circle at 92% 18%, rgba(47, 158, 148, .16), transparent 29%),
    var(--at-pale-mint);
  color: var(--at-palette-ink);
  box-shadow: 0 18px 46px rgba(8, 43, 49, .07);
}

.at-home-prep-cta::after {
  border-color: rgba(47, 158, 148, .08);
}

.at-home-prep-cta h3 {
  color: var(--at-palette-ink);
}

.at-home-prep-cta p {
  color: var(--at-palette-text);
}

.at-home-prep-cta .at-home-mini-label {
  color: var(--at-palette-deep);
}

.at-home-prep-actions .at-home-btn-primary {
  background: var(--at-palette-deep);
  color: #fff !important;
}

.at-home-prep-actions .at-home-btn-secondary {
  border-color: rgba(8, 43, 49, .18);
  background: rgba(255, 255, 255, .72);
  color: var(--at-palette-ink) !important;
}

.at-home-resources {
  border-top: 1px solid var(--at-palette-line);
  background:
    radial-gradient(circle at 12% 10%, rgba(47, 158, 148, .12), transparent 27%),
    linear-gradient(180deg, var(--at-pale-mint) 0%, #F5FBFA 100%);
}

.at-home-resources .at-home-section-head-light h2 {
  color: var(--at-palette-ink);
}

.at-home-resources .at-home-text-link-light {
  color: var(--at-palette-deep) !important;
}

.at-home-resource-grid > a {
  border-color: rgba(8, 43, 49, .11);
  background: rgba(255, 255, 255, .8);
  box-shadow: 0 14px 38px rgba(8, 43, 49, .055);
}

.at-home-resource-grid > a:hover,
.at-home-resource-grid > a:focus-visible {
  border-color: rgba(22, 120, 111, .32);
  background: #fff;
  transform: translateY(-4px);
}

.at-home-resource-grid > a > span {
  color: var(--at-palette-deep);
}

.at-home-resource-grid h3 {
  color: var(--at-palette-ink);
}

.at-home-resource-grid p {
  color: var(--at-palette-text);
}

/* Shared clinical and service-page heroes */
.hassx-top,
.audx-hero,
.stx-hero,
.apdx-hero,
.ha4-hero,
.teamx-hero,
.cx2-hero {
  border: 1px solid rgba(8, 43, 49, .09) !important;
  background:
    radial-gradient(circle at 86% 10%, rgba(47, 158, 148, .17), transparent 28%),
    radial-gradient(circle at 10% 90%, rgba(255, 255, 255, .88), transparent 32%),
    linear-gradient(135deg, var(--at-pale-mint) 0%, #F7FCFB 100%) !important;
  box-shadow: 0 22px 58px rgba(8, 43, 49, .08) !important;
}

.hassx-top h1,
.hassx-top h2,
.audx-hero h1,
.audx-hero h2,
.stx-hero h1,
.stx-hero h2,
.apdx-hero h1,
.apdx-hero h2,
.ha4-hero h1,
.ha4-hero h2,
.teamx-hero h1,
.teamx-hero h2,
.cx2-hero h1,
.cx2-hero h2 {
  color: var(--at-palette-ink) !important;
}

.hassx-lead,
.audx-lead,
.stx-lead,
.apdx-lead,
.ha4-lead,
.teamx-lead,
.cx2-lead,
.teamx-hero p,
.cx2-hero p {
  color: var(--at-palette-text) !important;
}

.hassx-kicker,
.audx-badge,
.stx-badge,
.apdx-badge,
.ha4-badge,
.teamx-eyebrow,
.cx2-kicker {
  color: var(--at-palette-deep) !important;
}

/* Patient Tools */
.at-tools {
  --at-tools-mint: var(--at-pale-mint);
  --at-tools-paper: #F8FCFB;
}

.at-tools-hero {
  border-bottom: 1px solid var(--at-palette-line);
  background:
    radial-gradient(circle at 12% 18%, rgba(47, 158, 148, .18), transparent 29%),
    radial-gradient(circle at 88% 82%, rgba(255, 255, 255, .92), transparent 34%),
    linear-gradient(135deg, var(--at-pale-mint) 0%, #F7FCFB 100%);
  color: var(--at-tools-ink);
}

.at-tools-hero::before {
  opacity: .2;
  background-image:
    linear-gradient(rgba(8, 43, 49, .1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 43, 49, .1) 1px, transparent 1px);
}

.at-tools-hero h1,
.at-tools-hero-panel h2 {
  color: var(--at-tools-ink);
}

.at-tools-hero .at-tools-kicker {
  color: var(--at-palette-deep);
}

.at-tools-hero-copy > p,
.at-tools-proof,
.at-tools-hero-panel p {
  color: var(--at-palette-text);
}

.at-tools-hero .at-tools-button-primary {
  background: var(--at-palette-deep);
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(22, 120, 111, .2);
}

.at-tools-hero .at-tools-button-secondary {
  border-color: rgba(8, 43, 49, .2);
  background: rgba(255, 255, 255, .76);
  color: var(--at-tools-ink) !important;
}

.at-tools-hero-panel {
  border-color: rgba(8, 43, 49, .12);
  background: rgba(255, 255, 255, .82);
  box-shadow: var(--at-palette-shadow);
}

.at-tools-hero-panel::after {
  border-color: rgba(47, 158, 148, .14);
}

.at-tools-hero-panel a {
  color: var(--at-palette-deep);
}

/* Desktop mega-menu introductions */
.at-mega-menu-shell {
  background:
    linear-gradient(135deg, rgba(227, 244, 243, .96), rgba(255, 255, 255, .97));
}

.at-mega-menu-intro,
.at-mega-menu-intro-services,
.at-mega-menu-intro-tools {
  border-color: rgba(8, 43, 49, .1);
  background:
    radial-gradient(circle at 92% 8%, rgba(47, 158, 148, .17), transparent 32%),
    linear-gradient(145deg, var(--at-pale-mint) 0%, #F9FDFC 100%);
  color: var(--at-palette-ink);
  box-shadow: 0 18px 44px rgba(8, 43, 49, .1);
}

.at-mega-menu-kicker {
  color: var(--at-palette-deep);
}

.at-mega-menu-intro h2 {
  color: var(--at-palette-ink);
}

.at-mega-menu-intro p {
  color: var(--at-palette-text);
}

.at-mega-menu-primary-link {
  color: var(--at-palette-deep) !important;
}

.at-mega-menu-intro::before {
  border-color: rgba(47, 158, 148, .2);
  box-shadow: 0 0 0 30px rgba(47, 158, 148, .04), 0 0 0 60px rgba(47, 158, 148, .02);
}

.at-mega-menu-intro::after {
  background: var(--at-palette-teal);
  box-shadow: 20px 14px 0 rgba(47, 158, 148, .28), -14px 22px 0 rgba(47, 158, 148, .15);
}

/* Corporate page */
.at-corp {
  --corp-mint: var(--at-pale-mint);
  --corp-cream: #F8FCFB;
}

.at-corp-hero {
  border-bottom: 1px solid var(--at-palette-line);
  background:
    radial-gradient(circle at 84% 8%, rgba(47, 158, 148, .18), transparent 28%),
    radial-gradient(circle at 8% 86%, rgba(255, 255, 255, .86), transparent 32%),
    linear-gradient(135deg, var(--at-pale-mint) 0%, #F7FCFB 100%);
  color: var(--corp-ink);
}

.at-corp-hero::after {
  border-color: rgba(8, 43, 49, .08);
  box-shadow: 0 0 0 70px rgba(47, 158, 148, .035), 0 0 0 140px rgba(47, 158, 148, .018);
}

.at-corp-hero h1 {
  color: var(--corp-ink);
}

.at-corp-hero-copy > p,
.at-corp-proof span {
  color: var(--at-palette-text);
}

.at-corp-hero .at-corp-kicker {
  color: var(--corp-teal-deep);
}

.at-corp-hero .at-corp-btn-primary {
  background: var(--corp-teal-deep);
  color: #fff !important;
}

.at-corp-hero .at-corp-btn-secondary {
  border-color: rgba(8, 43, 49, .2);
  background: rgba(255, 255, 255, .78);
  color: var(--corp-ink) !important;
}

.at-corp-hero-visual {
  border-color: rgba(8, 43, 49, .11);
  background: rgba(255, 255, 255, .72);
  box-shadow: var(--at-palette-shadow);
}

.at-corp-visual-grid > svg {
  stroke: rgba(22, 120, 111, .27);
}

.at-corp-visual-centre {
  border-color: rgba(255, 255, 255, .45);
  background: var(--corp-teal-deep);
  color: #fff;
}

.at-corp-visual-note {
  border-top-color: rgba(8, 43, 49, .12);
}

.at-corp-visual-note strong {
  color: var(--corp-ink);
}

.at-corp-visual-note span {
  color: var(--at-palette-text);
}

.at-corp-packages {
  background:
    radial-gradient(circle at 10% 15%, rgba(47, 158, 148, .12), transparent 28%),
    linear-gradient(180deg, var(--at-pale-mint) 0%, #F5FBFA 100%);
  color: var(--corp-ink);
}

.at-corp-packages::before {
  border-color: rgba(8, 43, 49, .07);
  box-shadow: 0 0 0 70px rgba(47, 158, 148, .025);
}

.at-corp-section-head-light h2 {
  color: var(--corp-ink);
}

.at-corp-section-head-light > p {
  color: var(--at-palette-text);
}

.at-corp-package-grid article,
.at-corp-package-complete,
.at-corp-package-featured {
  border-color: rgba(8, 43, 49, .11) !important;
  background: rgba(255, 255, 255, .82) !important;
  box-shadow: 0 14px 38px rgba(8, 43, 49, .06);
}

.at-corp-package-complete {
  background: linear-gradient(145deg, #FFFFFF 0%, #D8EFEC 100%) !important;
}

.at-corp-package-featured {
  background: linear-gradient(145deg, #FFFFFF 0%, #EDF8F6 100%) !important;
}

.at-corp-package-grid article:hover {
  border-color: rgba(22, 120, 111, .32) !important;
  background: #fff !important;
  box-shadow: 0 18px 46px rgba(8, 43, 49, .1);
}

.at-corp-package-grid h3 {
  color: var(--corp-ink);
}

.at-corp-package-grid p,
.at-corp-package-grid li {
  color: var(--at-palette-text);
}

.at-corp-package-grid li {
  border-bottom-color: rgba(8, 43, 49, .09);
}

.at-corp-package-number {
  color: var(--corp-teal-deep);
}

.at-corp-package-tag {
  background: var(--corp-teal-deep);
  color: #fff;
}

.at-corp-final-cta {
  border-top: 1px solid var(--at-palette-line);
  background: var(--at-pale-mint);
  color: var(--corp-ink);
}

.at-corp-final-grid h2 {
  color: var(--corp-ink);
}

.at-corp-final-cta .at-corp-kicker {
  color: var(--corp-teal-deep);
}

.at-corp-final-cta .at-corp-btn-secondary {
  border-color: rgba(8, 43, 49, .2);
  background: rgba(255, 255, 255, .72);
  color: var(--corp-ink) !important;
}

/* Hearing Aids hero contrast correction */
html body .ha4-hero .ha4-grid > div:first-child h1 {
  color: var(--at-palette-ink) !important;
  -webkit-text-fill-color: var(--at-palette-ink) !important;
  background: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

html body .ha4-hero .ha4-badge {
  border-color: rgba(22, 120, 111, .18) !important;
  background: rgba(255, 255, 255, .46) !important;
  color: var(--at-palette-deep) !important;
  -webkit-text-fill-color: var(--at-palette-deep) !important;
  opacity: 1 !important;
}

html body .ha4-hero .ha4-lead {
  color: var(--at-palette-text) !important;
  -webkit-text-fill-color: var(--at-palette-text) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* Small contrast corrections after the surface changes */
.at-home-resources .at-home-eyebrow,
.at-corp-packages .at-corp-kicker,
.at-tools-hero-panel .at-tools-panel-label {
  color: var(--at-palette-deep);
}

.at-home-resources .at-home-section-head > p {
  color: var(--at-palette-text);
}

/* Preserve deliberate dark anchors */
.at-site-footer,
.at-corp-privacy,
.at-corp-path-occupational,
.at-home-hero-card {
  color-scheme: dark;
}

@media (max-width: 767px) {
  .at-home-hero,
  .at-tools-hero,
  .at-corp-hero {
    background:
      radial-gradient(circle at 82% 8%, rgba(47, 158, 148, .14), transparent 28%),
      linear-gradient(180deg, var(--at-pale-mint) 0%, #F7FCFB 100%);
  }
}
