/* Shared Academy presentation. Loaded after default-light.css.
   Component selectors deliberately exclude the Loop and Labs workspaces. */
:root {
  --ui-surface: var(--ink);
  --ui-surface-soft: var(--void);
  --ui-surface-tint: var(--ink-2);
  --ui-text: var(--cream);
  --ui-text-muted: var(--muted);
  --ui-border: var(--hair-soft);
  --ui-accent: var(--gold-hi);
  --ui-radius: 16px;
  --ui-radius-lg: 24px;
  --ui-control: 44px;
  --ui-space-1: 8px;
  --ui-space-2: 12px;
  --ui-space-3: 16px;
  --ui-space-4: 24px;
  --ui-space-5: 32px;
  --ui-space-6: 48px;
  --ui-shadow: 0 10px 28px -24px rgba(51, 41, 15, .3);
}

/* The shared shell has an opaque surface and a stable brand lockup. */
.site-nav { background: var(--ui-surface-soft); border-bottom: 1px solid var(--ui-border); }
.site-nav__inner { gap: 16px; }
.site-nav__inner { height: auto; min-height: 4.875rem; padding-block: 8px; flex-wrap: wrap; }
.site-nav.is-condensed .site-nav__inner { height: auto; min-height: 3.75rem; }
.site-nav__links { flex: 1 1 28rem; flex-wrap: wrap; justify-content: flex-end; }
:root { --nav-h: 4.875rem; }
.stage__level-number { display: inline-grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid currentColor; border-radius: 50%; font: 650 1rem/1 var(--tight); }
.site-nav__inner::before { background: var(--ui-surface); box-shadow: 0 0 0 1px var(--ui-border), var(--ui-shadow); backdrop-filter: none; -webkit-backdrop-filter: none; }
.brand { gap: 12px; }
.brand__label { min-height: var(--ui-control); justify-content: center; gap: 5px; }
.brand__name { color: var(--ui-text); font: 650 .92rem/1.15 var(--tight); letter-spacing: -.01em; text-transform: none; }
.brand__kicker { color: var(--ui-text-muted); font: 450 .69rem/1.1 var(--sans); letter-spacing: .01em; text-transform: none; }
.site-nav__links > a:not(.btn) { display: inline-flex; align-items: center; min-height: var(--ui-control); padding: 10px 11px; font: 550 .83rem/1.2 var(--tight); letter-spacing: 0; text-transform: none; }
.site-nav__links > a[aria-current="page"] { background: var(--ui-surface-tint); }
.site-nav__links .btn--sm { min-height: var(--ui-control); }
.menu__btn { border: 1px solid var(--ui-border); box-shadow: none; background: var(--ui-surface); }
.menu__sheet { padding: 10px; border: 1px solid var(--ui-border); background: var(--ui-surface); box-shadow: 0 16px 48px -24px rgba(32, 28, 15, .28); }
.menu__sheet::before, .menu__sheet::after { display: none; }
.menu__sheet a { display: flex; align-items: center; min-height: 46px; padding: 12px; font: 550 1rem/1.3 var(--tight); color: var(--ui-text); }
.menu__sheet a[aria-current="page"] { background: var(--ui-surface-tint); color: var(--ui-accent); box-shadow: inset 3px 0 0 var(--ui-accent); }
.site-nav :focus-visible, .site-footer :focus-visible { outline: 3px solid var(--ui-accent); outline-offset: 3px; }
.site-footer { background: var(--ui-surface); padding-block: clamp(40px, 5vw, 72px) 32px; }
.footer__top { grid-template-columns: minmax(0, 1fr); gap: 40px; }
.footer__brand { gap: 24px; align-items: center; }
.footer__motto { font-size: clamp(1.6rem, 2.2vw, 2rem); }
.footer__what { max-width: 70ch; }
.footer__nav { grid-template-columns: minmax(0, 2fr) repeat(4, minmax(0, 1fr)); gap: 28px; }
.footer__nav > div:first-child ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
.footer__h { font: 650 .85rem/1.3 var(--tight); letter-spacing: 0; text-transform: none; margin-bottom: 10px; }
.footer__nav ul { gap: 0; }
.footer__nav a { display: flex; align-items: center; min-height: var(--ui-control); padding-block: 8px; font-size: .9rem; line-height: 1.4; opacity: 1; color: var(--ui-text-muted); }
.footer__nav a:hover { color: var(--ui-accent); }
.footer__legal { margin-top: 32px; padding-top: 24px; }

/* Homepage first paint: copy, one clear action, then a bounded visual. */
.p-home .hero--orb { min-height: 0; display: block; padding: calc(var(--nav-h) + clamp(28px, 5vw, 72px)) 0 clamp(32px, 5vw, 64px); overflow: visible; }
.p-home .hero__layout { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); align-items: center; }
.p-home .hero--orb .hero__copy { max-width: 640px; padding: 0; background: none; border: 0; border-radius: 0; }
.p-home .hero__eyebrow { margin-bottom: 20px; font-size: .7rem; letter-spacing: .12em; }
.p-home .hero__title { font-size: clamp(3rem, 1.7rem + 3.4vw, 5.5rem); line-height: 1.04; letter-spacing: -.045em; margin-bottom: 24px; max-width: 12ch; }
.p-home .hero__sub { max-width: 45ch; font-size: clamp(1.06rem, 1rem + .2vw, 1.2rem); line-height: 1.6; margin-bottom: 28px; }
.p-home .hero__ctas { margin-bottom: 0; gap: 16px 24px; }
.p-home .hero__ctas .link-arrow { min-height: var(--ui-control); }
.p-home .hero__media { min-width: 0; }
.p-home .hero--orb .hero__bg { position: relative; inset: auto; z-index: 0; height: auto; aspect-ratio: 1.12; width: 100%; border-radius: var(--ui-radius-lg); overflow: hidden; mask-image: none; -webkit-mask-image: none; background: #15130d; }
.p-home .hero__art, .p-home .hero__bg [data-cinema-video] { object-position: 74% 48%; }
.p-home .hero__scrim { opacity: .12; }
.p-home [data-cinema-site="trust-agent"] .cinema__controls { position: relative; inset: auto; justify-content: flex-end; max-width: none; min-height: 44px; margin-top: 12px; gap: 8px; }
.p-home .cinema__controls button { min-height: var(--ui-control); padding: 10px 14px; border-radius: 12px; font: 550 .8rem/1.3 var(--tight); letter-spacing: 0; color: var(--ui-text-muted); background: var(--ui-surface); border-color: var(--ui-border); }
.p-home .cinema__controls button:hover { color: var(--ui-text); background: var(--ui-surface-tint); }
.p-home .cinema__controls [data-cinema-status] { color: var(--ui-text-muted); }
.p-home .band { margin-top: 0; }
.p-home .band .yourpath { margin-bottom: 24px; }
.p-home :is(.band__grid, .step, .course-card, .ladder__step, .ladder__panel, .quote),
.p-library :is(.filters, .course-card, .lib__empty) { background: var(--ui-surface); border: 1px solid var(--ui-border); box-shadow: var(--ui-shadow); backdrop-filter: none; -webkit-backdrop-filter: none; }
.p-home :is(.band__grid, .step, .course-card, .ladder__step, .ladder__panel, .quote)::before,
.p-home :is(.band__grid, .step, .course-card, .ladder__step, .ladder__panel, .quote)::after,
.p-library :is(.filters, .course-card, .lib__empty)::before,
.p-library :is(.filters, .course-card, .lib__empty)::after { display: none; }
.p-home .section:not(.agentloop) { padding-block: clamp(48px, 7vw, 96px); }
.p-home .section-head, .p-home .split-head { margin-bottom: 32px; }
.p-home .section-head h2 { font-size: clamp(2rem, 1.25rem + 2.5vw, 3.5rem); line-height: 1.1; }
.p-home .band__grid { border-radius: var(--ui-radius); }
.p-home .stat__l { font-family: var(--sans); font-size: .83rem; letter-spacing: 0; text-transform: none; }
.p-home .step { padding: 28px; border-radius: var(--ui-radius); }
.p-home .step__n { font-size: 3.5rem; padding-bottom: 24px; }

/* Course covers remain whole and reserve their space before loading. */
:is(.p-home, .p-library) .course-card { border-radius: var(--ui-radius-lg); padding: 18px; }
:is(.p-home, .p-library) .course-card__art { margin-bottom: 20px; border-radius: 12px; background: var(--ui-surface-soft); }
:is(.p-home, .p-library) .course-card__art img { height: 100%; object-fit: contain; }
:is(.p-home, .p-library) .course-card__em { display: none; }
:is(.p-home, .p-library) .course-card__top { gap: 8px; }
:is(.p-home, .p-library) .pill { padding: 7px 9px; font: 550 .7rem/1.25 var(--tight); letter-spacing: 0; text-transform: none; border: 1px solid var(--ui-border); box-shadow: none; background: var(--ui-surface-soft); color: var(--ui-text); }
:is(.p-home, .p-library) .course-card__top .meta { font: 450 .78rem/1.4 var(--sans); letter-spacing: 0; text-transform: none; }
:is(.p-home, .p-library) .course-card__title { font: 650 clamp(1.3rem, 1.15rem + .35vw, 1.5rem)/1.25 var(--tight); margin: 18px 0 12px; letter-spacing: -.02em; }
:is(.p-home, .p-library) .course-card__summary { font-size: .93rem; line-height: 1.6; margin-bottom: 24px; }
:is(.p-home, .p-library) .course-card__actions { align-items: stretch; gap: 10px; }
:is(.p-home, .p-library) .course-card__actions .btn { min-height: var(--ui-control); font-size: .86rem; }
:is(.p-home, .p-library) .course-card__actions .btn--gold { flex: 1 1 100%; }
:is(.p-home, .p-library) .course-card__actions .btn--glass { background: none; box-shadow: none; color: var(--ui-accent); padding-inline: 8px; }
:is(.p-home, .p-library) .course-card.is-rec { border-color: var(--ui-accent); }
.p-home .ladder__steps { align-items: stretch; gap: 16px; }
.p-home .ladder__step { min-height: 0; padding: 16px; gap: 10px; justify-content: flex-start; transform: none; }
.p-home .ladder__art { display: block; flex: none; width: 100%; aspect-ratio: 3 / 2; border-radius: 10px; overflow: hidden; background: var(--ui-surface-soft); margin-bottom: 4px; }
.p-home .ladder__art img { width: 100%; height: 100%; object-fit: contain; }
.p-home .ladder__name { font: 650 1.32rem/1.2 var(--tight); letter-spacing: -.02em; }
.p-home .ladder__lv { font-size: .66rem; letter-spacing: .1em; }
.p-home .ladder__tag { font-size: .87rem; }
.p-home .ladder__count { margin-top: auto; padding-top: 8px; font: 500 .78rem/1.3 var(--sans); letter-spacing: 0; text-transform: none; }
.p-home .ladder__step.is-active { border-color: var(--ui-accent); box-shadow: 0 0 0 1px var(--ui-accent); }
.p-home .ladder__panel { padding: clamp(22px, 3vw, 36px); }
.p-home .ladder__course { min-height: var(--ui-control); color: var(--ui-text); background: var(--ui-surface-soft); box-shadow: inset 0 0 0 1px var(--ui-border); }
.p-home .ladder__all { min-height: var(--ui-control); }

/* Library filtering keeps its existing engine and progressive fallback. */
.p-library .page-hero { padding-top: calc(var(--nav-h) + clamp(32px, 5vw, 64px)); padding-bottom: 36px; }
.p-library .page-hero__title { font-size: clamp(2.5rem, 1.7rem + 2.5vw, 4.5rem); }
.p-library .page-hero__lead { font-size: 1.08rem; max-width: 65ch; }
.p-library .page-hero .hero__ctas { margin-top: 24px; margin-bottom: 0; }
.p-library .filters { padding: 20px; gap: 18px; margin-bottom: 36px; border-radius: var(--ui-radius); }
.p-library .filters__row:first-child { gap: 12px 20px; }
.p-library .search { min-height: 48px; }
.p-library .filters__count { color: var(--ui-text-muted); font: 500 .82rem/1.4 var(--sans); letter-spacing: 0; text-transform: none; }
.p-library .filters__advanced { display: grid; gap: 18px; }
.p-library .filters__label { font: 600 .82rem/1.3 var(--tight); color: var(--ui-text-muted); letter-spacing: 0; text-transform: none; width: 62px; }
.p-library .fchip { min-height: var(--ui-control); background: var(--ui-surface-soft); border: 1px solid var(--ui-border); box-shadow: none; color: var(--ui-text); font-size: .82rem; }
.p-library .fchip[aria-pressed="true"] { background: var(--ui-surface-tint); border-color: var(--ui-accent); box-shadow: inset 0 0 0 1px var(--ui-accent); color: var(--ui-accent); }
.p-library .filters__clear, .p-library .filters__row .link-arrow { min-height: var(--ui-control); }
.p-library .filters__toggle { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 46px; padding: 11px 14px; color: var(--ui-text); background: var(--ui-surface-soft); border: 1px solid var(--ui-border); border-radius: 12px; font: 600 .9rem/1.4 var(--tight); text-align: left; cursor: pointer; }
.p-library .filters__toggle::after { content: "+"; font-size: 1.2rem; line-height: 1; color: var(--ui-accent); }
.p-library .filters__toggle[aria-expanded="true"]::after { content: "−"; }
.p-library .filters__summary { margin: 0; color: var(--ui-text-muted); font-size: .83rem; line-height: 1.5; }
.p-library .filters__quick-clear { justify-self: start; min-height: var(--ui-control); padding: 8px 4px; }
.p-library .lib__empty { padding: 32px 24px; border-radius: var(--ui-radius); }
.p-library .lib__empty .linklike { min-height: var(--ui-control); padding-block: 8px; }
.p-library .lib-group__head { margin-bottom: 24px; }

/* Assessment and certificate display only. No state or scoring changes. */
:is(.p-exam, .p-certificate) .page-hero { padding-top: calc(var(--nav-h) + clamp(32px, 5vw, 64px)); padding-bottom: 32px; }
:is(.p-exam, .p-certificate) .page-hero__title { font-size: clamp(2.3rem, 1.4rem + 2.6vw, 4rem); max-width: 21ch; }
:is(.p-exam, .p-certificate) .page-hero__lead { max-width: 64ch; font-size: 1.08rem; }
.p-exam .exam__grid { grid-template-columns: minmax(0, 1fr); max-width: 960px; }
.p-exam .exam__gate { width: 100%; max-width: 720px; margin-inline: auto; }
.p-exam .exam__stage { grid-column: 1 / -1; width: 100%; min-width: 0; scroll-margin-top: calc(var(--nav-h) + 24px); }
:is(.p-exam, .p-certificate) :is(.exam__gate, .cert__form) { padding: clamp(22px, 3vw, 32px); border-radius: var(--ui-radius); background: var(--ui-surface); border: 1px solid var(--ui-border); box-shadow: var(--ui-shadow); }
:is(.p-exam, .p-certificate) :is(.exam__gate, .cert__form)::before,
:is(.p-exam, .p-certificate) :is(.exam__gate, .cert__form)::after { display: none; }
:is(.p-exam, .p-certificate) :is(.exam__field label, .cert__field label) { font: 600 .9rem/1.4 var(--tight); letter-spacing: 0; text-transform: none; color: var(--ui-text); }
:is(.p-exam, .p-certificate) :is(.exam__field input, .cert__field input[type="text"], .cert__field select) { min-height: 50px; }
.p-exam .exam-q { padding: 24px; border: 1px solid var(--ui-border); border-radius: var(--ui-radius); box-shadow: none; background: var(--ui-surface); }
.p-exam .exam-q__n { font: 600 .82rem/1.4 var(--tight); letter-spacing: 0; text-transform: none; margin: 0; }
.p-exam .exam-q__opt { min-height: var(--ui-control); padding: 13px 14px; border: 1px solid var(--ui-border); border-radius: 10px; }
.p-exam .exam-q__opt:has(input:checked) { border-color: var(--ui-accent); }
.p-exam .exam-q__opt:focus-within { outline: 3px solid var(--ui-accent); outline-offset: 3px; }
.p-exam .exam__timer { justify-self: start; padding: 12px 16px; border-radius: 12px; }
:is(.p-exam, .p-certificate) .exam-result { border-radius: var(--ui-radius); padding: clamp(24px, 4vw, 40px); text-align: left; gap: 16px; }
:is(.p-exam, .p-certificate) .exam-result > p { margin: 0; }
:is(.p-exam, .p-certificate) .exam-result__label { font: 650 1.05rem/1.4 var(--tight); letter-spacing: 0; text-transform: none; }
:is(.p-exam, .p-certificate) .exam-cert { border-radius: var(--ui-radius); padding: 24px; }
:is(.p-exam, .p-certificate) .exam-cert__id { word-break: normal; overflow-wrap: anywhere; }
.p-certificate .exam-result { min-width: 0; overflow-wrap: anywhere; }
.p-certificate .exam-result :is(p, strong) { min-width: 0; overflow-wrap: anywhere; }
.p-certificate .cert__stage { min-width: 0; }
.p-certificate .cert__canvas { border-radius: 12px; }
.p-certificate .cert__actions .btn { min-height: 46px; }

@media (max-width: 1120px) {
  .footer__nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer__nav > div:first-child { grid-column: span 2; }
}
@media (max-width: 980px) {
  .p-home .hero__layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .p-home .hero__copy { max-width: 660px; }
  .p-home .hero__title { max-width: 15ch; }
  .p-home .hero__media { width: 100%; }
  .p-home .hero--orb .hero__bg { aspect-ratio: 2.4; }
}
@media (max-width: 640px) {
  .brand { gap: 10px; }
  .brand__rule { display: none; }
  .brand__name { max-width: 9ch; font-size: .88rem; white-space: normal; }
  .brand__kicker { display: none; }
  .site-nav.is-condensed .site-nav__inner { padding-inline: 12px; }
  .footer__brand { flex-direction: column; align-items: flex-start; gap: 20px; }
  .footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
  .footer__nav > div:first-child { grid-column: 1 / -1; }
  .p-home .hero__eyebrow { margin-bottom: 16px; }
  .p-home .hero__title { font-size: clamp(2.8rem, 10.8vw, 3.8rem); max-width: 13ch; margin-bottom: 20px; }
  .p-home .hero__sub { margin-bottom: 24px; }
  .p-home .hero__ctas { gap: 12px; }
  .p-home .hero__ctas .btn--lg { width: auto; min-height: 52px; padding-inline: 24px; }
  .p-home .hero__ctas .link-arrow { padding-inline: 4px; }
  .p-home .hero--orb .hero__bg { aspect-ratio: 1.8; }
  .p-home .band__grid { padding: 16px 6px; }
  .p-home .stat { padding: 10px 12px; }
  .p-home .stat__n { font-size: 2.4rem; }
  .p-home .stat__l { font-size: .78rem; line-height: 1.45; }
  .p-home .step { display: block; padding: 24px; }
  .p-home .step__n { display: block; padding-bottom: 16px; font-size: 3rem; }
  .p-home .ladder__steps { gap: 12px; }
  .p-home .ladder__step { padding: 12px; gap: 8px; }
  .p-home .ladder__name { font-size: 1.12rem; }
  .p-home .ladder__count { font-size: .72rem; }
  .p-library .filters { padding: 16px; gap: 14px; }
  .p-library .filters__row:first-child { display: grid; grid-template-columns: minmax(0, 1fr); }
  .p-library .search { width: 100%; }
  .p-library .filters__label { width: 100%; padding-top: 0; }
  .p-library .filters__select { flex-basis: 100%; }
  .p-library .filters__advanced { gap: 20px; padding-top: 4px; }
  .p-library .filters__advanced .filters__clear { display: none; }
  .p-exam .exam-q { padding: 20px 16px; }
  .p-certificate .cert__actions .btn { flex: 1 1 100%; }
}
@media (min-width: 641px) {
  .p-library .filters__advanced { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .p-library .filters__advanced .filters__row { align-content: start; align-items: flex-start; }
  .p-library .filters__advanced .filters__row--chips { grid-column: 1 / -1; }
  .p-library .filters__advanced .filters__label { width: 100%; padding-top: 0; }
  .p-library .filters__advanced .filters__select { flex-basis: 100%; }
}
@media (min-width: 700px) and (max-width: 1179px) {
  :is(.p-home, .p-library) .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1180px) {
  :is(.p-home, .p-library) .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .site-nav, .menu__sheet, .p-home .ladder__step { transition: none; animation: none; }
}
@media (forced-colors: active) {
  .site-nav, .menu__sheet, .site-footer, .p-library .filters__toggle { background: Canvas; color: CanvasText; border-color: CanvasText; }
  .menu__btn { color: ButtonText; background: ButtonFace; border: 2px solid ButtonText; }
  .menu__bars i { height: 0; background: currentColor; border-top: 2px solid currentColor; }
  .site-nav :focus-visible { outline: 3px solid Highlight; outline-offset: 3px; }
  .p-library .fchip[aria-pressed="true"], .p-home .ladder__step.is-active { border-color: Highlight; outline: 2px solid Highlight; }
}
