/* Shared, reversible presentation layer for the reviewed public snapshots. */
.public-shell { --muted: #516779; }
.public-shell .eyebrow,
.public-shell .public-business-list dt,
.public-shell .public-meta-list dt { color: #516779; }
.public-shell .eyebrow { font-size: .75rem; line-height: 1.5; }
.public-shell .public-specialty-boundary .eyebrow { color: #bce4df; }
.public-shell .public-specialty-hero__content .eyebrow {
  color: #fff; background: #183140; width: fit-content;
  padding: .35rem .65rem; border-radius: .4rem;
}
.public-skip-link {
  position: fixed; left: 1rem; top: 1rem; z-index: 100;
  transform: translateY(-200%); padding: .75rem 1rem;
  border-radius: .5rem; background: #183140; color: #fff;
}
.public-skip-link:focus { transform: none; }
.public-shell a:focus-visible,
.public-shell summary:focus-visible,
.public-shell button:focus-visible {
  outline: 3px solid #0f766e; outline-offset: 4px;
}
.public-shell .public-specialty-hero a:focus-visible {
  outline-color: #fff;
}
#public-main-content:focus { outline: none; }
.public-shell .resource-contents a {
  display: inline-block; padding-block: .25rem; min-height: 1.5rem;
}
.public-shell .public-footer nav a { padding-block: .35rem; }
.public-shell .public-pricing-callout {
  max-width: 1180px; margin: 0 auto 2rem; padding: 1rem 1.25rem;
  background: #e4f4f2; border-radius: .75rem;
}
.public-shell .public-pricing-callout a {
  display: inline-flex; min-height: 44px; align-items: center;
  color: #0d5f59; font-weight: 700; text-underline-offset: .2em;
}
.public-shell .public-legal-hero,
.public-shell .public-legal-layout { max-width: 1080px; }
.public-shell .public-specialty-hero { min-height: 36rem; }
.public-shell .public-specialty-hero__content {
  padding-block: 4rem; gap: 1.1rem;
}
.public-shell .public-specialty-hero h1 {
  font-size: clamp(2rem, 4.25vw, 3.75rem); line-height: 1.06;
}
@media (min-width: 761px) {
  .public-shell:has(.public-hero) { height: auto; overflow: visible; }
  .public-shell:has(.public-hero) .public-main {
    height: auto; overflow: visible; display: block;
  }
  .public-shell:has(.public-hero) .public-footer { display: flex; }
  .public-shell:has(.public-hero) .public-hero {
    grid-template-columns: minmax(26rem, 1fr) minmax(0, 1.25fr) minmax(9rem, .36fr);
  }
  .public-shell:has(.public-hero) .public-hero__content {
    padding: 2.5rem 2rem; gap: 1rem;
  }
  .public-shell:has(.public-hero) .public-hero h1 {
    font-size: clamp(2.25rem, 3.2vw, 3rem); line-height: 1.08;
  }
  .public-shell:has(.public-hero) .public-hero__identity {
    font-size: .875rem; line-height: 1.5;
  }
  .public-shell:has(.public-hero) .public-legal-identity h2,
  .public-shell:has(.public-hero) .public-legal-identity p,
  .public-shell:has(.public-hero) .public-legal-identity dl {
    font-size: .8rem; line-height: 1.45;
  }
}
@media (max-width: 760px) {
  .public-shell .public-header {
    height: auto; min-height: 0; flex-direction: column;
    align-items: stretch; gap: .65rem; padding: .8rem 1rem .55rem;
  }
  .public-shell .public-brand {
    position: static; transform: none; justify-content: flex-start; max-width: none;
    min-height: 2.75rem; padding-inline-end: 4.5rem;
  }
  .public-shell .public-menu-link { display: none; }
  .public-shell .public-mobile-login {
    display: inline-flex; top: .8rem; right: 1rem; transform: none;
    min-height: 2.75rem; align-items: center; padding-inline: .5rem;
  }
  .public-shell .public-nav {
    display: flex; flex-wrap: wrap; width: 100%; gap: .15rem;
    padding: .25rem 0 .4rem;
  }
  .public-shell .public-nav a {
    flex: 0 0 auto; width: auto; min-height: 44px;
    padding: .6rem .5rem; font-size: 13px; white-space: nowrap;
  }
  .public-shell .public-nav .public-nav__support {
    padding-inline: .6rem; min-height: 44px;
  }
  .public-shell .public-specialty-hero { min-height: 0; }
  .public-shell .public-specialty-hero__content { padding: 2rem 1.1rem; }
  .public-shell .public-specialty-hero h1 {
    font-size: clamp(1.9rem, 8.2vw, 2.5rem); line-height: 1.1;
  }
  .public-shell .public-specialty-hero__veil {
    background: linear-gradient(90deg, #0c1f2af0, #0c1f2ad9);
  }
  .public-shell .public-specialty-hero__content,
  .public-shell .public-specialty-hero > img { animation: none; }
  .public-shell .resource-heading { margin-block: 1.25rem 1.5rem; }
  .public-shell .public-legal-hero { padding-block: 2rem; }
  .public-shell .public-hero__identity,
  .public-shell .public-legal-identity h2,
  .public-shell .public-legal-identity p,
  .public-shell .public-legal-identity dl { font-size: .8125rem; line-height: 1.45; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .public-shell:has(.public-hero) .public-hero {
    grid-template-columns: minmax(22rem, 1fr) minmax(0, 1fr);
  }
  .public-shell:has(.public-hero) .public-mobile-preview { display: none; }
}
