.fm-immersive .site-header { width: calc(100% - var(--fm-public-inset)); max-width: 90rem; margin: var(--fm-public-space) auto; top: var(--fm-public-space); border: var(--fm-public-border) solid var(--border); border-radius: var(--fm-public-radius); background: var(--bg-paper); box-shadow: var(--fm-public-shadow); }
.fm-immersive .site-header__inner { padding-inline: var(--fm-public-gap); }
.fm-immersive .nav-primary a { border-radius: 999rem; }
.fm-immersive .nav-primary a.is-active { background: var(--bg-page); }
.fm-immersive .hero--immersive { margin: 0 var(--fm-public-space) var(--fm-public-gap); border: var(--fm-public-border) solid var(--fm-public-line); border-radius: var(--fm-public-radius); min-height: calc(100svh - 9rem); overflow: clip; }
.fm-immersive .hero--immersive .hero__name { font-size: clamp(3.5rem, 7vw, 6rem); }
.fm-immersive .hero--immersive .hero__name span { font-size: .36em; }
.fm-immersive .hero__scene { width: min(100%, 27rem); margin-block: var(--fm-public-inset); }
.fm-immersive .hero__scene .hero__portrait { border-radius: 12rem 12rem var(--fm-public-radius) var(--fm-public-radius); box-shadow: var(--fm-public-portrait-shadow); }
.fm-immersive .hero__scene .hero__portrait-frame { border-radius: inherit; }
.fm-immersive .hero__signature { border-radius: 999rem; padding-inline: var(--fm-public-inset); }
.fm-immersive .hero__scene-label { text-align: center; }
.fm-immersive .hero__index { padding-bottom: var(--fm-public-space); }
.fm-immersive .hero__cta .btn { border-radius: 999rem; }
.fm-immersive .stat { border-radius: var(--fm-public-gap); padding: var(--fm-public-gap); background: var(--bg-paper); border: var(--fm-public-border) solid var(--border); box-shadow: var(--fm-public-shadow); }
.fm-immersive :is(.card, .pub, .honour, .position, .search-result) { border-radius: var(--fm-public-gap); box-shadow: var(--fm-public-shadow); }
.fm-immersive .card:hover { border-color: var(--fm-public-gold); }
.fm-immersive .page-hero { margin: 0 var(--fm-public-space); border-radius: var(--fm-public-radius); }
.fm-immersive .mosaic { padding: var(--fm-public-inset); gap: var(--fm-public-gap); }
.fm-immersive .mosaic__item { border-radius: var(--fm-public-gap); box-shadow: var(--fm-public-shadow); border: var(--fm-public-border) solid var(--border); transform: rotate(var(--fm-archive-angle, -1deg)); }
.fm-immersive .mosaic__item:nth-child(even) { --fm-archive-angle: 1deg; }
.fm-immersive .site-footer { margin: var(--fm-public-gap) var(--fm-public-space) 0; border-radius: var(--fm-public-radius) var(--fm-public-radius) 0 0; }
.fm-immersive :is(a, button, input, select, summary):focus-visible { outline: var(--fm-public-focus) solid var(--text-primary); outline-offset: var(--fm-public-border); }
.fm-immersive .hero :is(a, button):focus-visible { outline-color: var(--fm-public-white); }
@supports (animation-timeline: view()) {
  @media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
    .fm-immersive .mosaic__item { animation: fm-archive-drift var(--fm-public-motion-time) linear both; animation-timeline: view(); animation-range: entry 0% exit 100%; }
  }
}
@keyframes fm-archive-drift {
  from { transform: translateY(var(--fm-public-gap)) rotate(var(--fm-archive-angle, -1deg)); }
  to { transform: translateY(calc(-1 * var(--fm-public-gap))) rotate(var(--fm-archive-angle, -1deg)); }
}
@media (max-width: 1100px) {
  .fm-immersive .site-header { border-radius: var(--fm-public-gap); }
  .fm-immersive .site-header__inner { padding-inline: var(--fm-public-space); }
}
@media (max-width: 640px) {
  .fm-immersive .site-header { width: calc(100% - var(--fm-public-space)); margin-block: calc(var(--fm-public-space) / 2); top: calc(var(--fm-public-space) / 2); }
  .fm-immersive .site-header__inner { padding-inline: calc(var(--fm-public-space) / 2); }
  .fm-immersive .hero--immersive, .fm-immersive .page-hero { margin-inline: calc(var(--fm-public-space) / 2); border-radius: var(--fm-public-gap); }
  .fm-immersive .hero--immersive .hero__name { font-size: clamp(3rem, 12vw, 4rem); }
  .fm-immersive .hero__scene { width: min(100%, 20rem); }
  .fm-immersive .mosaic { padding: var(--fm-public-space); }
  .fm-immersive .mosaic__item { transform: none; }
  .fm-immersive .site-footer { margin-inline: calc(var(--fm-public-space) / 2); }
}
@media (prefers-reduced-motion: reduce) { .fm-immersive .mosaic__item { animation: none; transform: none; } }
@media (max-width: 1240px) {
  .fm-immersive .nav-primary { display: none; }
  .fm-immersive .menu-toggle { display: grid; place-items: center; }
}
