/* Editable, control-free home carousel. Cream + blue are defaults, not forced slide colors. */
.home-slides-section{margin-top:clamp(24px,3vw,38px);margin-bottom:clamp(30px,4vw,48px);scroll-margin-top:100px}
.hs-stage{position:relative;display:grid;overflow:hidden;isolation:isolate;border-radius:32px;outline:none;touch-action:pan-y;box-shadow:0 24px 55px -28px rgba(25,72,91,.36)}
.hs-stage:focus-visible{outline:3px solid #77bad2;outline-offset:4px}
.hs-card{--hs-ink:#123d50;position:relative;isolation:isolate;grid-area:1/1;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:"copy media";align-items:stretch;gap:clamp(8px,1.2vw,16px);min-width:0;min-height:376px;padding:clamp(10px,1.25vw,16px);overflow:hidden;border:1px solid rgba(119,166,181,.34);border-radius:32px;background:radial-gradient(circle at 92% 5%,rgba(255,255,255,.54),transparent 35%),linear-gradient(135deg,rgba(255,255,255,.20),transparent 62%),var(--hs-bg,#e6f3f7);color:var(--hs-ink)}
.hs-card[hidden]{display:none!important}
.hs-card:before{content:"";position:absolute;z-index:-1;inset:auto auto -90px -70px;width:240px;height:240px;border:1px solid rgba(255,255,255,.46);border-radius:50%;box-shadow:0 0 0 30px rgba(255,255,255,.10),0 0 0 60px rgba(255,255,255,.07);pointer-events:none}
.hs-card[data-align=left]{grid-template-areas:"media copy"}
.hs-copy{grid-area:copy;position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:clamp(24px,3.6vw,52px);border:1px solid rgba(255,255,255,.62);border-radius:23px;background:rgba(255,255,255,.76);box-shadow:0 10px 32px rgba(30,79,95,.045),inset 0 1px 0 rgba(255,255,255,.55);text-align:right}
.hs-card[data-align=left] .hs-copy{align-items:flex-end;text-align:left}
.hs-card[data-align=center] .hs-copy{align-items:center;text-align:center}
.hs-card.without-image .hs-copy{grid-column:1/-1;width:100%;max-width:800px;min-height:320px;justify-self:center}
.hs-media{grid-area:media;position:relative;min-height:350px;overflow:hidden;border-radius:23px;background:#f4f0e8;box-shadow:0 12px 25px rgba(32,76,88,.13)}
.hs-media picture{display:contents}
.hs-media:after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid rgba(255,255,255,.65);border-radius:inherit;box-shadow:inset 0 -28px 45px -45px rgba(17,57,72,.34)}
.hs-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;-webkit-user-drag:none}
.hs-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:17px;padding:7px 12px;border:1px solid rgba(51,128,156,.18);border-radius:999px;background:#f4fafb;color:#28748e;font-size:.73rem;font-weight:800;line-height:1.3}
.hs-eyebrow:before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:#72b4c8}
.hs-title{margin:0;color:#123b4e;font-size:clamp(1.45rem,2.05vw,2rem);font-weight:900;line-height:1.6;letter-spacing:-.025em;overflow-wrap:anywhere}
.hs-copy p{max-width:36em;margin:10px 0 0;color:#385e6e;font-size:clamp(.88rem,1vw,.98rem);line-height:2;overflow-wrap:anywhere}
.hs-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:22px;border-radius:14px;box-shadow:0 9px 19px rgba(22,89,115,.17);text-decoration:none}
.hs-link svg{width:18px;height:18px;flex:none;transition:transform .2s ease}
.hs-link:hover svg{transform:translateX(-3px)}
.hs-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Real overlapping slides; the bunny/mascot itself does not move independently. */
.hs-card.is-entering{z-index:2;animation:hs-in-next .52s cubic-bezier(.22,.7,.25,1) both}
.hs-card.is-leaving{z-index:1;pointer-events:none;animation:hs-out-next .52s cubic-bezier(.22,.7,.25,1) both}
.hs-card.is-entering.hs-previous{animation-name:hs-in-prev}
.hs-card.is-leaving.hs-previous{animation-name:hs-out-prev}
[data-transition=fade] .hs-card.is-entering{animation-name:hs-fade-in}
[data-transition=fade] .hs-card.is-leaving{animation-name:hs-fade-out}
@keyframes hs-in-next{from{opacity:0;transform:translateX(-24px) scale(.992)}to{opacity:1;transform:none}}
@keyframes hs-out-next{from{opacity:1;transform:none}to{opacity:0;transform:translateX(20px) scale(.992)}}
@keyframes hs-in-prev{from{opacity:0;transform:translateX(24px) scale(.992)}to{opacity:1;transform:none}}
@keyframes hs-out-prev{from{opacity:1;transform:none}to{opacity:0;transform:translateX(-20px) scale(.992)}}
@keyframes hs-fade-in{from{opacity:0}to{opacity:1}}
@keyframes hs-fade-out{from{opacity:1}to{opacity:0}}

@media(max-width:639px){
 .home-slides-section{margin-top:20px;margin-bottom:30px}
 .hs-stage{border-radius:24px}
 .hs-card,.hs-card[data-align=left]{grid-template-columns:minmax(0,1fr);grid-template-areas:"media" "copy";min-height:0;gap:9px;padding:9px;border-radius:24px}
 .hs-media{min-height:0;height:clamp(180px,52vw,235px);border-radius:17px}
 .hs-copy{padding:21px 19px 23px;border-radius:17px}
 .hs-card.without-image{grid-template-areas:"copy"}
 .hs-card.without-image .hs-copy{grid-column:auto;min-height:190px}
 .hs-eyebrow{margin-bottom:9px;padding:6px 11px;font-size:.69rem}
 .hs-title{font-size:1.27rem;line-height:1.65}
 .hs-copy p{margin-top:7px;font-size:.83rem;line-height:1.95}
 .hs-link{margin-top:15px}
}
@media(prefers-reduced-motion:reduce){.hs-card.is-entering,.hs-card.is-leaving{animation:none}.hs-link svg{transition:none}}
