/* Services and Resources use native details disclosures, not hover-only menus. */
.apc-v2 .apc-shell-inner { position:relative; }
.apc-v2 .apc-nav-dropdown { position:relative;margin:0;border:0;padding:0;min-width:0; }
.apc-v2 .apc-nav-dropdown > summary {
  display:flex;align-items:center;gap:8px;min-height:44px;padding:0;
  color:#073734;font:700 .9rem/1.4 'DM Sans',sans-serif;cursor:pointer;list-style:none;
}
.apc-v2 .apc-nav-dropdown > summary::-webkit-details-marker { display:none; }
.apc-v2 .apc-nav-dropdown > summary::after {
  content:'';width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin-top:-3px;
}
.apc-v2 .apc-nav-dropdown[open] > summary::after { transform:rotate(225deg);margin-top:3px; }
.apc-v2 .apc-dropdown-panel {
  position:absolute;z-index:210;top:calc(100% + 8px);right:0;width:270px;
  padding:8px;background:#fffdf9;border:1px solid #cddeda;border-radius:10px;
  box-shadow:0 14px 32px rgba(7,55,52,.12);
}
.apc-v2 .apc-shell-nav .apc-dropdown-panel a {
  display:flex;justify-content:flex-start;min-height:46px;padding:11px 12px;
  border-radius:6px;line-height:1.45;white-space:normal;
}
.apc-v2 .apc-dropdown-panel a:hover,.apc-v2 .apc-dropdown-panel a:focus-visible { background:#edf4f0; }
.apc-v2 .apc-nav-dropdown:has(a[aria-current='page']) > summary { text-decoration:underline;text-underline-offset:6px; }
.apc-v2 .apc-nav-dropdown summary:focus-visible { outline:3px solid #0f766e;outline-offset:3px;border-radius:4px; }
@media(max-width:760px) {
  .apc-v2 .apc-nav-dropdown { position:static; }
  .apc-v2 .apc-nav-dropdown > summary { justify-content:center;font-size:.78rem;padding:6px; }
  .apc-v2 .apc-dropdown-panel { top:100%;left:0;right:0;width:auto;max-height:calc(100dvh - 150px);overflow-y:auto; }
  .apc-v2 .apc-shell-nav .apc-dropdown-panel a { font-size:.9rem!important; }
}
.apc-v2 .apc-shell-nav > a { min-height:44px; }
/* Phones and small tablets: one header row with a Menu button beside the Quick Check link. The menu drops below the header.
   The full nav needs about 935px on pages whose links do not wrap, so the Menu button stays up to 959px. */
.apc-v2 .apc-nav-toggle { display:none; }
.apc-v2 .apc-cta-short { display:none; }
@media(max-width:959px) {
  /* Flex so the Quick Check link drops to its own row at very large text instead of running off-screen. */
  .apc-v2 .apc-shell-inner { display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0; }
  .apc-v2 .apc-shell-inner > .apc-shell-logo { flex:0 0 auto; }
  .apc-v2 .apc-shell-inner > .apc-nav-toggle { margin-left:auto; }
  .apc-v2 .apc-shell-inner > .apc-shell-start { margin-left:auto;max-width:100%;min-height:44px;padding:10px 12px;font-size:.76rem !important;text-align:center;white-space:normal; }
  .apc-v2 .apc-nav-js .apc-nav-toggle {
    display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;
    border:1px solid rgba(7,55,52,.28);border-radius:999px;background:transparent;
    color:#073734;font:700 .8rem/1 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap;
  }
  .apc-v2 .apc-nav-toggle::before { content:"";width:16px;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor; }
  .apc-v2 .apc-nav-toggle[aria-expanded="true"] { background:#073734;color:#fff;border-color:#073734; }
  .apc-v2 .apc-nav-toggle:focus-visible { outline:3px solid #0f766e;outline-offset:3px; }
  /* Without JavaScript the nav keeps its grid; with it, the nav waits for the Menu button. */
  .apc-v2 .apc-site-header:not(.apc-nav-js) > .apc-shell-inner > .apc-shell-nav { order:5;flex:1 0 100%;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px; }
  .apc-v2 .apc-nav-js > .apc-shell-inner > .apc-shell-nav { display:none; }
  .apc-v2 .apc-nav-js > .apc-shell-inner > .apc-shell-nav.is-open {
    display:grid !important;grid-template-columns:1fr;gap:2px;
    position:absolute !important;z-index:220;top:calc(100% + 6px);left:0;right:0;width:auto !important;margin:0;
    padding:8px !important;background:#fffcf7 !important;border:1px solid rgba(7,55,52,.12) !important;border-radius:14px;
    box-shadow:0 18px 40px rgba(7,55,52,.16) !important;
  }
  .apc-v2 .apc-shell-inner > .apc-shell-nav.is-open > a,
  .apc-v2 .apc-shell-inner > .apc-shell-nav.is-open > .apc-nav-dropdown > summary { justify-content:flex-start;min-height:48px;padding:0 12px;border-radius:8px;font-size:.95rem !important; }
  .apc-v2 .apc-shell-inner > .apc-shell-nav.is-open > a[aria-current="page"] { background:rgba(15,118,110,.08);box-shadow:none; }
  .apc-v2 .apc-shell-inner > .apc-shell-nav.is-open > .apc-nav-dropdown { position:static; }
  .apc-v2 .apc-shell-inner > .apc-shell-nav.is-open .apc-dropdown-panel { position:static;width:auto;max-height:none;padding:0 0 4px 14px;background:transparent;border:0;box-shadow:none; }
  .apc-v2 .apc-shell-inner > .apc-shell-nav.is-open .apc-dropdown-panel a { min-height:44px;padding:10px 12px; }
  /* One header row, so anchors and the first home screen only allow for that height. */
  html:root, html:root.apc-home-snap, html:root.apc-site-snap { scroll-padding-top:72px !important; }
  .apc-v2.apc-home-page { --apc-home-header:62px; }
}
/* The narrowest phones keep the icon and the Quick Check link; the button keeps its accessible name. */
@media(max-width:360px) {
  .apc-v2 .apc-nav-js .apc-nav-toggle { gap:0;padding:0 13px;font-size:0; }
}
@media(max-width:760px) {
  .apc-v2 .apc-cta-long { display:none; }
  .apc-v2 .apc-cta-short { display:inline; }
}
/* Wider tablets show the full nav; tighter spacing keeps the Quick Check button on screen. */
@media(min-width:960px) and (max-width:1099px) {
  .apc-v2 .apc-shell-inner { gap:14px; }
  .apc-v2 .apc-shell-nav { gap:12px; }
  .apc-v2 .apc-shell-nav > a, .apc-v2 .apc-shell-nav > .apc-nav-dropdown > summary { font-size:.84rem !important; }
  .apc-v2 .apc-shell-start { padding:10px 16px;font-size:.84rem !important; }
}
/* The skip link sits off-screen until focused; keep it inside the viewport width so large text does not widen the page. */
.apc-skip-link { max-width:calc(100vw - 16px);white-space:normal; }
/* Frosted glass header; text stays dark on a mostly opaque cream, so contrast holds over any photo beneath. */
html body.apc-v2 .apc-site-header { background: rgba(255, 252, 247, .78) !important; -webkit-backdrop-filter: blur(18px) saturate(180%); backdrop-filter: blur(18px) saturate(180%); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { html body.apc-v2 .apc-site-header { background: #fffcf7 !important; } }
@media (prefers-reduced-transparency: reduce) { html body.apc-v2 .apc-site-header { background: #fffcf7 !important; -webkit-backdrop-filter: none; backdrop-filter: none; } }
/* Call-first menu is short, so header text can meet the 16px minimum at every width. */
html body.apc-v2 .apc-shell-nav > a, html body.apc-v2 .apc-shell-inner > .apc-shell-start, html body.apc-v2 .apc-nav-js .apc-nav-toggle { font-size: 1rem !important; }
@media (max-width: 360px) { html body.apc-v2 .apc-nav-js .apc-nav-toggle { font-size: 0 !important; } }
