/* R-95: one responsive, progressively enhanced navigation on every surface. */
.site-key {
  position: sticky; top: 0; z-index: 110;
  display: flex; align-items: center; gap: 24px;
  width: 100%; max-width: none; margin: 0;
  padding: 12px max(20px, calc((100vw - 1240px) / 2));
  box-sizing: border-box;
  background: var(--bb-white, var(--ground, #fbfaf7));
  color: var(--bb-navy, var(--reader-ink, #0c2340));
  border-bottom: 1px solid var(--bb-line, #dfe4ec);
  font-family: var(--bb-font-body, var(--font-grotesque, system-ui, sans-serif));
}
.site-key *, .site-key *::before, .site-key *::after { box-sizing: border-box; }
.site-key__identity { flex: 0 1 265px; min-width: 0; }
.site-key__wordmark {
  display: inline-flex; align-items: center; min-height: 44px;
  color: inherit; text-decoration: none; white-space: normal;
  font: 400 1.45rem/1.1 var(--bb-font-display, var(--font-display, Georgia, serif));
}
.site-key__masthead { margin: 0; color: var(--bb-muted, #4e5e71); font-size: 12px; line-height: 1.4; }
.site-key__panel { display: flex; flex: 1; justify-content: flex-end; gap: 4px; margin: 0; padding: 0; border: 0; }
.site-key__group-label, .site-key__mark, .site-key__meta { display: none; }
.site-key__group { min-width: 0; }
.site-key__group--utility { margin: 0; padding: 0; border: 0; }
.site-key__list { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.site-key__link {
  display: flex; align-items: center; min-height: 48px;
  margin: 0; padding: 10px 9px; border: 0; border-radius: 5px;
  color: inherit; font-size: 14px; font-weight: 650; line-height: 1.3; text-decoration: none;
}
.site-key__name { white-space: nowrap; }
.site-key__link:is(:hover,[aria-current="page"]) { color: inherit; background: var(--bb-blue-wash, #eef2f6); }
.site-key :is(a,button):focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.hub-menu__trigger, .js .site-key.hub-menu .hub-menu__trigger { display: none; }
.site-key .hub-menu__trigger {
  min-width: 48px; min-height: 48px; padding: 8px;
  border: 1px solid var(--bb-line, #c9cdd2); border-radius: 5px;
  background: var(--bb-white, var(--ground, #fbfaf7)); color: inherit;
  font: 650 14px/1.2 var(--bb-font-body, var(--font-grotesque, system-ui, sans-serif));
}
.site-key .hub-menu__icon { display: none; }
.site-key .hub-menu__label { display: inline; position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: normal; color: inherit; font: inherit; }
.ssr-crumbs { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding-top: 1.25rem; color: var(--reader-muted, #69645c); font: 700 .72rem/1.5 var(--font-mono, ui-monospace, monospace); letter-spacing: .06em; text-transform: uppercase; }
.ssr-crumbs a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; }
.learn-local-tools { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 1.5rem; }
.learn-local-tools a { color: inherit; font-weight: 700; text-underline-offset: .2em; }
@media (max-width: 1020px) {
  .site-key { position: static; display: block; padding: 12px 20px; }
  .site-key__identity { padding-right: 0; }
  .site-key__wordmark { font-size: 1.4rem; }
  .site-key__panel { display: grid; grid-template-columns: minmax(0, 1fr); margin-top: 12px; }
  .site-key__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; }
  .site-key__link { font-size: 16px; }
  .js .site-key.hub-menu { display: block; position: sticky; top: 0; right: auto; width: 100%; margin: 0; padding: 10px 20px; }
  .js .site-key.hub-menu .site-key__identity { padding-right: 62px; }
  .js .site-key.hub-menu .site-key__wordmark { display: inline-flex; max-width: none; }
  .js .site-key.hub-menu .hub-menu__trigger { display: inline-flex; align-items: center; justify-content: center; position: absolute; right: 20px; top: 16px; }
  .js .site-key.hub-menu .site-key__panel {
    position: absolute; top: 100%; right: 20px; display: block;
    width: min(360px, calc(100vw - 40px)); max-height: calc(100dvh - 105px);
    overflow-y: auto; margin: 0; padding: 12px;
    border: 1px solid var(--bb-line, #c9cdd2); border-radius: 5px;
    background: var(--bb-white, var(--ground, #fbfaf7));
    box-shadow: 0 12px 28px -18px rgba(12,35,64,.4);
  }
  .js .site-key.hub-menu .site-key__panel[hidden] { display: none; }
  .js .site-key.hub-menu .site-key__list { grid-template-columns: minmax(0, 1fr); }
  .js .site-key.hub-menu .site-key__group--utility { border-top: 1px solid var(--bb-line, #dfe4ec); }
}
@media (max-width: 350px) { .site-key__list { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .site-key *, .site-key *::before, .site-key *::after { scroll-behavior: auto !important; transition: none !important; } }

.destination-card {
  display: block;
  overflow: hidden;
  border: 1px solid var(--reader-line, rgba(35,33,30,.14));
  border-radius: var(--r-card, 16px);
  background: var(--ground, var(--reader-ground, #fbfaf7));
  color: var(--ink, var(--reader-ink, #23211e));
  text-decoration: none;
  box-shadow: var(--shadow-card, 0 12px 32px -8px rgba(12,35,64,.1));
  transition: transform .2s ease, box-shadow .2s ease;
}
.destination-card__visual { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ground-alt, #f2efe9); }
.destination-card__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.destination-card--packshot .destination-card__visual img { object-fit: cover; background: var(--ground-alt, #f2efe9); }
.destination-card--ambient .destination-card__visual { display: grid; place-items: center; background: radial-gradient(circle at 52% 46%, color-mix(in srgb, var(--accent, #9c8a5a) 15%, transparent), transparent 60%), var(--ground-alt, #f2efe9); }
.destination-card__monogram { font: 500 clamp(3rem, 9vw, 6rem)/1 var(--font-display, Didot, Georgia, serif); color: var(--ink, #23211e); opacity: .64; }
.destination-card__copy { display: flex; align-items: end; justify-content: space-between; gap: 1rem; min-height: 5rem; padding: 1rem 1.2rem; }
.destination-card__copy strong { font: 700 clamp(1rem, 2vw, 1.35rem)/1.25 var(--font-grotesque, system-ui, sans-serif); color: var(--ink, #23211e); }
.destination-card__cue { flex: none; color: var(--ink, #23211e); font: 700 .78rem/1.2 var(--font-grotesque, system-ui, sans-serif); text-decoration: underline; text-underline-offset: .25em; }
.destination-card:hover { transform: translateY(-3px); box-shadow: 0 18px 38px -14px rgba(12,35,64,.22); }
.destination-card:focus-visible, .next-steps a:focus-visible, .page-contents a:focus-visible, .ssr-footer a:focus-visible { outline: 3px solid var(--ink, #23211e); outline-offset: 4px; }
.home-destination-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.7rem, 2vw, 1.5rem); width: min(1180px, calc(100% - 32px)); margin: 2rem auto 3rem; }
.home-destination-grid .destination-card__visual { aspect-ratio: 4 / 3; }
.home-editorial-note__naked { margin-top: 1rem; }
.home-editorial-note__naked a { color: inherit; font-weight: 700; text-underline-offset: .2em; }
.answer-story-door { margin-block: 1.5rem; }
.answer-story-door .destination-card { max-width: 36rem; }
@media (max-width: 767px) { .home-introduction > .home-editorial-note { order: 0; margin-top: 0; } .home-introduction > .home-destination-grid { order: 1; } .home-introduction > .home-directory { order: 2; } }
body.public-editorial .learn-track .destination-card { max-width: 46rem; margin-block: 1rem 1.5rem; }
body.public-editorial .ssr-faq .destination-card { margin-bottom: 1rem; }
body.public-editorial .product-category > h2 .destination-card { font-size: 1rem; }
body.public-editorial .product-category > h2 .destination-card__visual { aspect-ratio: 16 / 8; }
body.public-editorial .product-category > h2 .destination-card__copy strong { text-transform: none; letter-spacing: normal; }
.next-steps { margin-block: clamp(2rem, 5vw, 4rem); padding-block: 1.75rem; border-top: 1px solid var(--reader-line, rgba(35,33,30,.14)); }
.next-steps__lead { margin: 0 0 .9rem; max-width: 60ch; font: inherit; }
.next-steps__more { grid-column: 1 / -1; }
.next-steps__more summary { display: flex; align-items: baseline; gap: .6rem; cursor: pointer; }
.next-steps__more summary .r-chev { display: inline-block; transition: transform .2s ease; }
.next-steps__more[open] > summary .r-chev { transform: rotate(90deg); }
.next-steps__more summary h3 { display: inline; }
.next-steps__more h4 { margin: 1rem 0 .5rem; font: 600 .75rem/1.3 var(--font-grotesque, system-ui, sans-serif); text-transform: uppercase; letter-spacing: .1em; }
.next-steps__primary { display: flex; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.4rem; border-radius: var(--r-card, 16px); background: var(--ink, #23211e); color: var(--ground, #fbfaf7); font: 700 clamp(1rem, 2vw, 1.4rem)/1.3 var(--font-grotesque, system-ui, sans-serif); text-decoration: none; }
.next-steps__primary:hover { text-decoration: underline; text-underline-offset: .2em; }
.next-steps__groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.next-steps__group h3 { margin: 0 0 .5rem; font: 700 .75rem/1.3 var(--font-grotesque, system-ui, sans-serif); text-transform: uppercase; letter-spacing: .1em; }
.next-steps__group ul { list-style: none; margin: 0; padding: 0; }
.next-steps__group a { display: flex; justify-content: space-between; gap: .5rem; padding: .55rem 0; border-bottom: 1px solid var(--reader-line, rgba(35,33,30,.14)); color: var(--ink, #23211e); text-decoration: none; }
.next-steps__group a:hover { text-decoration: underline; text-underline-offset: .2em; }
.page-contents { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; margin-block: 1.4rem; padding: 1rem 1.2rem; border-left: 2px solid var(--accent, #9c8a5a); background: var(--ground-alt, #f2efe9); font: 650 .82rem/1.4 var(--font-grotesque, system-ui, sans-serif); }
.page-contents strong { width: 100%; }
.page-contents a { color: var(--ink, #23211e); text-decoration-style: dotted; text-underline-offset: .25em; }
.ssr-footer-relationship, .footer-relationship { font-size: .8rem; }
.site-footer .footnote { color: var(--reader-ink-soft, #67635c); }
.site-footer .footnote a { color: inherit; }
[data-theme="dark"] .site-footer .footnote { color: var(--reader-ink-soft, #b7b1a4); }
.guided-reader-note { display: flex; flex-wrap: wrap; gap: .3rem .7rem; align-items: baseline; margin-block: 1.5rem; color: var(--reader-ink-soft, #67635c); font-size: .85rem; }
.guided-reader-note span { color: var(--reader-ink, #23211e); }
.guided-reader-note a { color: var(--ink, var(--reader-ink, #23211e)); font-weight: 700; text-underline-offset: .22em; }
.guided-reader-note a:focus-visible { outline: 3px solid var(--ink, #23211e); outline-offset: 3px; }
[data-theme="dark"] .guided-reader-note { color: var(--reader-ink-soft, #c8c4bb); }
[data-theme="dark"] .guided-reader-note span { color: var(--reader-ink-soft, #b7b1a4); }
@media (max-width: 767px) { .home-destination-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .next-steps__groups { grid-template-columns: 1fr; } }
@media (max-width: 430px) { .home-destination-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .destination-card { transition: none; } .destination-card:hover { transform: none; } }
@media (prefers-reduced-transparency: reduce) { .destination-card { background: var(--ground, #fbfaf7); } }

/* Archived training remains readable at every existing URL. */
.archive-notice { box-sizing: border-box; margin-block: 1.5rem; padding: 1rem 1.25rem; border-left: 3px solid var(--bb-navy, #0c2340); background: var(--bb-blue-wash, #eef2f6); color: var(--bb-navy, #0c2340); font: 400 1rem/1.6 var(--bb-font-body, system-ui, sans-serif); }
.archive-notice p { margin: 0; }

@media print {
  .site-key, [data-site-key-footer], .hub-menu__trigger, .hub-menu__panel,
  .clinical-source-actions { display: none !important; }
}

/* P14: library wayfinding accompanies the compact menu. */
@media (min-width:1021px){.site-key__group--library{display:none}}
