/* Shared navigation: a quiet primary menu with a distinct account action. */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { max-width:1180px; min-height:80px; padding:16px 28px; margin-bottom:12px; background:#ffffffed; border-bottom:1px solid #dce6e3; gap:24px; }
.site-header__brand { gap:10px; }
.site-header__name { font-size:18px; letter-spacing:-.025em; }
.site-nav { gap:8px; }
.site-nav > a, .site-nav__menu > summary { font-size:15px; font-weight:500; color:#3f565a; padding:10px 12px; min-height:44px; border-radius:8px; opacity:1; border:0; text-decoration:none; white-space:nowrap; }
.site-nav > a:hover, .site-nav__menu > summary:hover { color:#155f56; background:#edf5f1; }
.site-nav > a[aria-current="page"], .site-nav__menu > summary[aria-current="page"] { color:#155f56; background:#edf5f1; border-bottom:0; }
.site-nav__menu { padding:0; margin:0; border:0; background:none; border-radius:0; }
.site-nav__menu > summary { display:flex; align-items:center; gap:8px; cursor:pointer; list-style:none; }
.site-nav__menu > summary::-webkit-details-marker { display:none; }
.site-nav__menu > summary::after { content:''; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .18s; }
.site-nav__menu[open] > summary::after { transform:translateY(2px) rotate(225deg); }
.site-nav__menu .site-nav__submenu { top:calc(100% + 10px); left:auto; right:0; min-width:240px; padding:8px; border-radius:12px; border:1px solid #dce6e3; box-shadow:0 12px 32px #173e4014; background:#fff; }
.site-nav__menu:not([open]) .site-nav__submenu { display:none; }
.site-nav__menu[open] .site-nav__submenu { display:grid; opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.site-nav__submenu a { font-size:15px; padding:12px; min-height:44px; color:#334f53; opacity:1; }
.site-nav__submenu a:hover { color:#155f56; background:#edf5f1; }
.site-nav__account { display:flex; gap:10px; align-items:center; padding-left:16px; margin-left:8px; border-left:1px solid #dce6e3; }
.site-nav__account a { font-size:15px; font-weight:500; text-decoration:none; opacity:1; border:0; }
.site-nav__account .nav-account-link { padding:10px 16px; min-height:44px; border:1px solid #176f65; border-radius:9px; background:#176f65; color:#fff; }
.site-nav__account .nav-account-link:hover, .site-nav__account .nav-account-link[aria-current="page"] { background:#125b53; color:#fff; }
.site-nav__account .nav-logout { color:#52676d; padding:10px 8px; }
.site-nav__account .nav-logout:hover { color:#172f36; text-decoration:underline; }
.site-nav__account .credits-pill { color:#176f65 !important; background:#edf5f2; padding:8px 10px; font-size:14px; border:1px solid #dce8e0; border-radius:8px; }
.site-header :is(a,button,summary):focus-visible, .site-drawer :is(a,button,summary):focus-visible { outline:3px solid #176f65; outline-offset:3px; }
.site-drawer { visibility:hidden; transition:transform .24s ease, visibility .24s; }
.site-drawer.is-open { visibility:visible; }
.site-drawer__head { padding:22px; border-bottom:1px solid #dce6e3; }
.site-drawer__nav { padding:16px; }
.site-drawer__nav a { font-size:16px; min-height:46px; display:flex; align-items:center; border-radius:8px; }
.site-drawer__nav a:hover, .site-drawer__nav a[aria-current="page"] { background:#edf5f1; color:#176f65; }
.site-drawer__auth { margin:0 0 8px; padding:0 0 12px; border-bottom:1px solid #dce6e3; display:grid; gap:6px; }
.site-drawer__auth .drawer-login { color:#fff; background:#176f65; justify-content:center; }
.site-drawer__auth .drawer-login:hover { color:#fff; background:#125b53; }
.site-drawer__menu { margin:0; border:1px solid #dce6e3; border-radius:12px; background:#f7faf8; }
.site-drawer__menu > summary {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  min-height:46px; padding:10px 12px; cursor:pointer; list-style:none; font-weight:600; color:#334f53;
}
.site-drawer__menu > summary::-webkit-details-marker { display:none; }
.site-drawer__menu > summary::after {
  content:''; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg); transition:transform .18s;
}
.site-drawer__menu[open] > summary::after { transform:translateY(2px) rotate(225deg); }
.site-drawer__submenu { display:grid; gap:2px; padding:0 8px 8px; }
.site-drawer__submenu a { min-height:44px; padding:10px 12px; border-radius:8px; color:#334f53; text-decoration:none; display:flex; align-items:center; }
.site-drawer__submenu a:hover, .site-drawer__submenu a[aria-current="page"] { background:#edf5f1; color:#176f65; }
.site-drawer__nav .drawer-subscribe { margin-top:8px; }
body.header-quiet .header-subscribe,
body.header-quiet .nav-subscribe,
body.header-quiet .drawer-subscribe { display:none !important; }
@media (max-width:1100px) { .site-header { padding:14px 20px; gap:16px; } .site-nav > a, .site-nav__menu > summary { padding:10px; } .site-nav__account { gap:6px; padding-left:10px; margin-left:0; } }
@media (max-width:1000px) { .site-nav--desktop { display:none; } .nav-toggle { display:flex; background:#fff; border-color:#cbdad1; } .site-header { min-height:72px; } }
@media (max-width:700px) { .site-header { min-height:68px; padding:12px 16px; } .site-header__name { font-size:18px; } }
@media (prefers-reduced-motion:reduce) { .site-drawer, .site-nav__menu > summary::after { transition:none; } }

.site-nav__account .nav-account-link[aria-current="page"] { border:1px solid #176f65; }
/* Keep the closed drawer inside the viewport so its links cannot widen the page. */
.site-drawer { transform:none; clip-path:inset(0 0 0 100%); opacity:0; transition:clip-path .24s ease, opacity .18s ease, visibility .24s; }
.site-drawer.is-open { transform:none; clip-path:inset(0); opacity:1; }
@media (prefers-reduced-motion:reduce) { .site-drawer { transition:none; } }
.site-drawer { visibility:visible; pointer-events:none; transition:clip-path .24s ease, opacity .18s ease; }
.site-drawer.is-open { visibility:visible; pointer-events:auto; }
@media (prefers-reduced-motion:reduce) { .site-drawer { transition:none; } }

/* Subscribe is the primary acquisition action; account access stays secondary. */
.header-mobile-actions { display:none; }
.site-nav__account .nav-account-link,
.site-nav__account .nav-account-link:hover,
.site-nav__account .nav-account-link[aria-current="page"] {
  background:transparent; color:#334f53; border:1px solid transparent; padding:10px 8px;
}
.site-nav__account .nav-account-link:hover { background:#edf5f1; }
.site-nav__account .nav-account-link[aria-current="page"] { color:#176f65; background:#edf5f1; }
.site-nav__account .nav-subscribe,
.header-subscribe,
.site-drawer__nav .drawer-subscribe {
  display:inline-flex; align-items:center; justify-content:center; min-height:44px;
  padding:10px 18px; background:#176f65; color:#fff; border:1px solid #176f65;
  border-radius:9px; font-size:15px; line-height:1.5; font-weight:600;
  text-decoration:none; white-space:nowrap;
}
.site-nav__account .nav-subscribe:hover,
.header-subscribe:hover,
.site-drawer__nav .drawer-subscribe:hover { color:#fff; background:#125b53; }
.site-drawer__nav .drawer-subscribe { width:100%; margin-bottom:12px; }
.pricing-card--featured { scroll-margin-top:calc(var(--header-h) + 24px); }
@media (max-width:1100px) {
  .site-nav--desktop { display:none; }
  .header-mobile-actions { display:flex; align-items:center; gap:12px; margin-left:auto; }
  .nav-toggle { display:flex; background:#fff; border-color:#cbdad1; }
}
@media (max-width:700px) {
  .site-header { gap:12px; }
  .site-header__name { font-size:16px; }
  .header-mobile-actions { gap:10px; }
  .header-subscribe { padding:10px 12px; font-size:14px; }
}
@media (max-width:360px) { .site-header__name { display:none; } }

/* One account control carries the balance and account actions on every screen. */
.account-menu { position:relative; margin:0; padding:0; border:0; background:none; }
.account-menu > summary { display:flex; align-items:center; gap:10px; min-height:44px; padding:7px 12px; border:1px solid #dce6e3; border-radius:10px; background:#fff; color:#334f53; font-size:14px; line-height:1.4; list-style:none; cursor:pointer; white-space:nowrap; }
.account-menu > summary::-webkit-details-marker { display:none; }
.account-menu > summary::after { content:''; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.account-menu[open] > summary::after { transform:translateY(2px) rotate(225deg); }
.account-menu > summary:hover, .account-menu[open] > summary { background:#f3f8f5; border-color:#9bbfb4; }
.account-menu__balance { background:#edf5f1; color:#176f65; border-radius:6px; padding:4px 7px; font-weight:600; }
.account-menu__icon { display:none; flex-shrink:0; }
.account-menu__panel { position:absolute; z-index:110; top:calc(100% + 10px); right:0; width:280px; max-width:calc(100vw - 32px); padding:8px; border:1px solid #dce6e3; border-radius:12px; background:#fff; box-shadow:0 12px 32px #173e4024; color:#334f53; }
.account-menu:not([open]) > .account-menu__panel { display:none; }
.account-menu__overview { display:grid; gap:5px; padding:12px; margin-bottom:6px; border-bottom:1px solid #e3ece7; font-size:13px; line-height:1.5; }
.account-menu__overview strong { font-size:18px; color:#183d3e; }
.account-menu__eyebrow { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:#58726c; }
.account-menu__panel > a { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:11px 12px; color:#334f53; border:0; border-radius:7px; text-decoration:none; font-size:14px; font-weight:500; }
.account-menu__panel > a:hover, .account-menu__panel > a[aria-current="page"] { background:#edf5f1; color:#176f65; }
.account-menu__panel > .account-menu__get-credits { background:#176f65; color:#fff; }
.account-menu__panel > .account-menu__get-credits:hover { background:#125b53; color:#fff; }
@media (max-width:1100px) {
  .header-mobile-actions .account-menu__label { display:none; }
  .header-mobile-actions .account-menu__icon { display:block; }
  .header-mobile-actions .account-menu > summary { gap:8px; padding:6px 8px; }
  .header-mobile-actions .account-menu > summary::after { display:none; }
  .header-mobile-actions .account-menu__panel { right:-54px; }
}
@media (min-width:361px) and (max-width:430px) {
  .header-mobile-actions { gap:6px; }
  .site-header { gap:6px; }
  .site-header__name { font-size:14px; }
  .site-header__brand { gap:6px; }
}

/* Full-width chrome, with navigation aligned to the content below. */
.site-header {
  display:block; width:100%; max-width:none; min-height:0; padding:0;
  margin:0 0 12px; border-radius:0; background:rgba(234,242,238,.97);
  border-bottom:1px solid #cfdfd6; box-shadow:0 2px 12px #173e4004;
}
.site-header__inner {
  display:flex; align-items:center; justify-content:space-between;
  width:100%; max-width:1180px; min-height:76px; margin:0 auto;
  padding:14px 28px; gap:24px;
}
.site-header__brand { color:#193c38; }
.site-nav > a, .site-nav__menu > summary { color:#3e5c53; }
.site-nav > a:hover, .site-nav__menu > summary:hover,
.site-nav > a[aria-current="page"], .site-nav__menu > summary[aria-current="page"] {
  background:#dae9e0; color:#155f56;
}
.site-nav__account { border-left-color:#c9dbd0; }
.site-nav__account .nav-account-link:hover,
.site-nav__account .nav-account-link[aria-current="page"] { background:#dae9e0; }
.site-header .account-menu > summary { background:#f4f8f5; border-color:#c6dacf; }
.site-header .account-menu > summary:hover,
.site-header .account-menu[open] > summary { background:#e0eee5; border-color:#8bb5a2; }
.site-header .account-menu__balance { background:#e0eee5; }
.site-header .nav-toggle { background:transparent; border-color:#bfd3c7; color:#224b40; }
.site-header .nav-toggle:hover { background:#dae9e0; }
@media (max-width:1100px) {
  .site-header__inner { min-height:72px; padding:12px 20px; gap:16px; }
}
@media (max-width:700px) {
  .site-header__inner { min-height:68px; padding:12px 16px; gap:12px; }
}
@media (min-width:361px) and (max-width:430px) {
  .site-header__inner { gap:6px; }
}
