/* ux12 (2026-10-17): dropdowns always on top + gentle scroll reveal */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.site-header{position:relative;z-index:1000;isolation:isolate}
.nav-main{position:relative;z-index:1001}
.nav-main ul.nav-sub{z-index:1002;background:#fff;background-color:var(--white,#fff);opacity:1}
/* reveal: only when JS has run (html.rv); the first section (hero) is never hidden */
html.rv main .section:not(.rv-in){opacity:0;transform:translateY(24px)}
html.rv main .section{transition:opacity .6s ease-out,transform .6s ease-out}
@media (prefers-reduced-motion:reduce){html.rv main .section:not(.rv-in){opacity:1!important;transform:none!important}html.rv main .section{transition:none}}
.old-photo .credit{display:block;font-size:.8rem;color:var(--steel,#3F4448);margin-top:.25rem}.old-photo img{max-width:100%;height:auto}
/* ux13: Lenis (only the needed rules; iframes stay clickable) */
html.lenis,html.lenis body{height:auto}
html.lenis{scroll-behavior:auto!important}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}
/* ux13: reviews grid = 9 cards, tidy rows */
@media (min-width:760px){.recog .rec-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.old-photo.diagram img{width:100%;max-width:640px;background:#F3F0E8}
