/* Native same-origin page crossfade; navigation is never intercepted. */
html { scroll-behavior: auto; }
#conversation { height: clamp(220px,38svh,340px); overflow-y: auto; overscroll-behavior: contain; scroll-behavior: auto; scrollbar-gutter: stable; padding: 0 6px; }
#conversation:focus-visible { outline: 3px solid #326F56; outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  main h1:where(:not(#hero-title)) { --headline-x: 0px; --headline-y: 10px; animation: inner-headline-settle 1.2s .12s cubic-bezier(.22,.68,.25,1) both; }
  .services-heading h1 { --headline-x: 12px; --headline-y: 0px; }
  .founder-intro h1 { --headline-x: -12px; --headline-y: 0px; }
  .legal-main h1 { --headline-y: -8px; }
  @view-transition { navigation: auto; }
  ::view-transition-group(root) { animation-duration: .38s; }
  ::view-transition-old(root) { animation: page-away .28s ease-out both; }
  ::view-transition-new(root) { animation: page-arrive .38s cubic-bezier(.22,.68,.25,1) both; }
  @supports not (view-transition-name: none) {
    main { animation: page-reveal .32s ease-out both; }
  }
}
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-group(root), ::view-transition-old(root), ::view-transition-new(root) { animation: none !important; }
}
@keyframes page-away { to { opacity: 0; } }
@keyframes page-arrive { from { opacity: 0; } to { opacity: 1; } }
@keyframes inner-headline-settle { from { opacity: .35; transform: translate(var(--headline-x),var(--headline-y)); } to { opacity: 1; transform: none; } }
@keyframes page-reveal { from { opacity: .55; } to { opacity: 1; } }

