.aht-inner{will-change:transform,opacity}
html.aht-js .aht-headline.aht-init,
html.aht-js .aht-tagline.aht-init{opacity:0;visibility:hidden}

/* CSS fallback if JS blocked */
@keyframes aht-fade-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
html:not(.aht-js) .aht-inner{animation:aht-fade-in .6s ease both}

/* Optional clipping to prevent overlap during animation */
.aht-container { position: relative; }
.aht-inner { isolation: isolate; } /* new stacking context */
.aht-container[data-clip="true"], .aht-container[data-clip="keep"] { /* JS toggles overflow during anim */
  /* overflow set by JS; keep attribute for semantics */
}
