/* Stronger homepage variant: visible static defaults and no layout animation. */
:root {--strong-motion-ready:1;}
.strong-headline-line {display:inline-block;}
.strong-counter-static {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.strong-counter-visual {display:inline-block;text-align:center;}
.strong-wipe-host {position:relative;}
.strong-white-wipe {position:absolute;inset:0;z-index:5;pointer-events:none;transform:scaleY(0);transform-origin:center bottom;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 12%,#fff);}
.home-photo-hero .button {position:relative;overflow:hidden;}
.home-photo-hero .button .strong-shine {position:absolute;inset:-40% -25%;display:block;pointer-events:none;transition:none;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.38) 50%,transparent 62%);transform:translateX(-140%) skewX(-15deg);}
.page-motion-cta {position:relative;overflow:hidden;}
.page-motion-cta .page-shine {position:absolute;inset:-40% -25%;display:block;pointer-events:none;transition:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.22) 50%,transparent 60%);transform:translateX(-140%) skewX(-15deg);}
@media (prefers-reduced-motion:no-preference) {
  main .tabs button,main [role="tab"],main .filter-pill,main .segmented button,main .subject-tabs button {transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease;}
  .page-motion-cta {transition:transform 150ms ease,box-shadow 150ms ease;}
  .page-motion-cta:active {transform:translateY(1px);}
  .page-motion-cta:active .page-shine {animation:strong-trial-sweep 950ms cubic-bezier(.25,.6,.3,1) both;}
  @supports (interpolate-size:allow-keywords) and selector(details::details-content) {
    main details::details-content {transition-duration:240ms;}
  }
  .strong-hero-play:before {transform-origin:68% 55%;animation:strong-photo-out 3000ms cubic-bezier(.25,.55,.35,1) both;}
  @keyframes strong-photo-out {from {transform:scale(1.075)} to {transform:scale(1)}}
  @keyframes strong-trial-sweep {from {transform:translateX(-140%) skewX(-15deg)} to {transform:translateX(140%) skewX(-15deg)}}
  .home-photo-hero .button {transition:transform 150ms cubic-bezier(.2,.6,.3,1),box-shadow 150ms ease;}
  .home-photo-hero .button:active {transform:translateY(2px) scale(.97);}
  .home-photo-hero .button:active .strong-shine {animation:strong-trial-sweep 950ms cubic-bezier(.25,.6,.3,1) both;}
  .home-subject {transform-origin:center;transition:transform 240ms cubic-bezier(.25,.6,.3,1),box-shadow 240ms ease;}
  .home-subject .route-line {border-radius:6px;transition:transform 220ms ease,background-color 220ms ease,opacity 220ms ease;}
  .home-subject:active {transition-duration:150ms;}
  .home-subject:focus-visible,.home-subject:active {transform:scale(1.025);box-shadow:0 15px 28px rgba(22,52,75,.14);}
  .home-subject:focus-visible .route-line,.home-subject:active .route-line {background:rgba(255,255,255,.8);transform:translateY(-3px);}
  @media(hover:hover) {
    .page-motion-cta:hover .page-shine {animation:strong-trial-sweep 950ms cubic-bezier(.25,.6,.3,1) both;}
    .home-subject .route-line {opacity:.72;transform:translateY(4px);}
    .home-subject:hover {transform:scale(1.035);box-shadow:0 18px 34px rgba(22,52,75,.14);}
    .home-subject:hover .route-line {opacity:1;background:rgba(255,255,255,.8);transform:translateY(-3px);}
    .home-photo-hero .button:hover {transform:translateY(-2px);box-shadow:0 9px 20px rgba(22,52,75,.2);}
    .home-photo-hero .button:hover .strong-shine {animation:strong-trial-sweep 950ms cubic-bezier(.25,.6,.3,1) both;}
    .home-photo-hero .button:hover:active {transform:translateY(2px) scale(.97);}
  }
}
@media(prefers-reduced-motion:reduce) {
  .page-motion-cta,.page-motion-cta .page-shine,main .tabs button,main [role="tab"],main .filter-pill,main .segmented button,main .subject-tabs button {animation:none!important;transition:none!important;transform:none!important;}
  .page-motion-cta .page-shine {display:none;}
  .strong-hero-play:before,.strong-headline-line,.strong-white-wipe,.home-photo-hero .button,.home-photo-hero .button .strong-shine,.home-subject,.home-subject .route-line {animation:none!important;transition:none!important;transform:none!important;}
  .strong-white-wipe,.home-photo-hero .button .strong-shine {display:none;}
  .home-subject .route-line {opacity:1;}
}

/* Startup geometry: an unpopulated footer has no content to reserve. */
#site-footer:empty{display:none}

/* Library: stronger visual surfaces; links and button hit areas stay fixed. */
.premium-library.route-enter{animation:none;}
.premium-library .library-selection-host{position:relative;}
.premium-library .library-selection-track{position:absolute;left:0;top:0;height:3px;background:var(--cobalt);border-radius:3px;pointer-events:none;transform-origin:left center;}
.premium-library .library-motion-card{position:relative;}
.premium-library .library-motion-card:after{content:"";position:absolute;inset:0 0 auto;height:3px;pointer-events:none;background:linear-gradient(90deg,var(--cobalt),#86a9ec);transform:scaleX(0);transform-origin:left center;}
@media(prefers-reduced-motion:no-preference){
  .premium-library .tabs button,.premium-library .subject-tabs button,.premium-library .segmented button{transition:background-color 420ms cubic-bezier(.22,.65,.25,1),color 300ms ease,border-color 420ms ease,box-shadow 420ms ease;}
  .premium-library .library-motion-card{transition:box-shadow 650ms cubic-bezier(.22,.65,.25,1),border-color 650ms ease;}
  .premium-library .library-motion-card:after{transition:transform 650ms cubic-bezier(.22,.65,.25,1);}
  .premium-library .topic-art,.premium-library .selective-art{transition:transform 700ms cubic-bezier(.22,.65,.25,1),filter 700ms ease;transform-origin:center;}
  .premium-library .library-motion-card:focus-within{box-shadow:0 20px 42px rgba(23,51,75,.15);border-color:#7b9bd8;}
  .premium-library .library-motion-card:focus-within:after{transform:scaleX(1);}
  .premium-library .library-motion-card:focus-within .topic-art,.premium-library .library-motion-card:focus-within .selective-art{transform:translateY(-8px) scale(1.025);}
  .premium-library .library-motion-card:active:after{transform:scaleX(1);transition-duration:150ms;}
  @media(hover:hover) and (pointer:fine){
    .premium-library .library-motion-card:hover{box-shadow:0 24px 48px rgba(23,51,75,.18);border-color:#7b9bd8;}
    .premium-library .library-motion-card:hover:after{transform:scaleX(1);}
    .premium-library .library-motion-card:hover .topic-art,.premium-library .library-motion-card:hover .selective-art{transform:translateY(-12px) scale(1.045);filter:saturate(1.05);}
  }
}
@media(prefers-reduced-motion:reduce){
  .premium-library .library-motion-card,.premium-library .library-motion-card:after,.premium-library .topic-art,.premium-library .selective-art,.premium-library .library-selection-track{animation:none!important;transition:none!important;transform:none!important;}
  .premium-library .library-selection-track{display:none;}
  .premium-library .library-motion-card:after{display:none;}
}
