.htmx-indicator{opacity:0;transition:opacity .2s}
.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{opacity:1}
.prose-sm p{margin:.25rem 0}
.ck-editor__editable{min-height:140px}
.ck.ck-editor{width:100%}
h1,h2,h3,h4,.font-heading{font-family:Poppins,Inter,sans-serif}

/* Hero slider — Ken Burns */
.kb{position:absolute;inset:0;overflow:hidden}
.kb-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease-in-out;will-change:transform,opacity}
.kb-slide.active{opacity:1;animation:kb 9s ease-out forwards}
.kb-slide[data-dir="1"].active{animation-name:kb}
.kb-slide[data-dir="2"].active{animation-name:kb2}
.kb-slide[data-dir="3"].active{animation-name:kb3}
@keyframes kb {from{transform:scale(1) translate(0,0)}to{transform:scale(1.18) translate(-2.5%,-1.5%)}}
@keyframes kb2{from{transform:scale(1.18) translate(2%,1%)}to{transform:scale(1) translate(0,0)}}
@keyframes kb3{from{transform:scale(1.05) translate(-2%,2%)}to{transform:scale(1.2) translate(2%,-2%)}}
.kb-dot{width:26px;height:3px;border-radius:2px;background:rgba(255,255,255,.35);transition:background .3s,width .3s}
.kb-dot.active{background:#E8B4C4;width:40px}
@media (prefers-reduced-motion:reduce){.kb-slide.active{animation:none}}
@media print{header,footer,.no-print{display:none!important}}

/* Scroll-reveal animations (public pages) */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1)}
.reveal.in{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-24px);transition:opacity .6s ease,transform .6s ease}
.reveal-left.in{opacity:1;transform:none}
.reveal-scale{opacity:0;transform:scale(.96);transition:opacity .5s ease,transform .5s ease}
.reveal-scale.in{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.stagger.in>*{opacity:1;transform:none}
.stagger.in>*:nth-child(1){transition-delay:.0s}.stagger.in>*:nth-child(2){transition-delay:.07s}.stagger.in>*:nth-child(3){transition-delay:.14s}.stagger.in>*:nth-child(4){transition-delay:.21s}.stagger.in>*:nth-child(5){transition-delay:.28s}.stagger.in>*:nth-child(6){transition-delay:.35s}.stagger.in>*:nth-child(n+7){transition-delay:.4s}
@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero-in>*{animation:heroIn .7s cubic-bezier(.22,.61,.36,1) both}
.hero-in>*:nth-child(2){animation-delay:.12s}.hero-in>*:nth-child(3){animation-delay:.24s}.hero-in>*:nth-child(4){animation-delay:.36s}
.lift{transition:transform .25s ease,box-shadow .25s ease}.lift:hover{transform:translateY(-3px);box-shadow:0 12px 24px -12px rgba(0,0,0,.25)}
@media (prefers-reduced-motion:reduce){.reveal,.reveal-left,.reveal-scale,.stagger>*{opacity:1!important;transform:none!important;transition:none!important}.hero-in>*{animation:none!important}}

html,body{overflow-x:hidden;max-width:100%}
