/* Reserve space for the fixed header before its measured height is available. */
.home-carousel{margin-top:88px}
/* Match the wine-red banner supplied in the homepage reference. */
.home-carousel{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 78% 0%,#8f1d1d 0%,#4d080b 38%,#190204 78%),linear-gradient(145deg,#190204,#d32f2f);color:#fff}
.home-carousel-track{display:grid;max-width:1240px;margin:auto}
.home-slide{grid-area:1/1;padding:100px 64px 110px;min-height:510px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;pointer-events:none}
.home-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.home-slide .home-kicker{margin:0 0 24px;color:#ff9690;font:700 .73rem/1.4 ui-monospace,monospace;letter-spacing:.18em}
.home-slide h1,.home-slide h2{margin:0 0 24px;color:#f4f8fc;font-size:clamp(2.3rem,5vw,4.8rem);font-weight:900;line-height:1.2;letter-spacing:-.04em}
.home-slide p{max-width:710px;margin:0;color:#fff0ee;font-size:1.05rem;line-height:1.95}
.home-slide a{display:inline-flex;align-items:center;gap:18px;margin-top:28px;padding:12px 22px;border:1px solid #ffffff70;border-radius:6px;background:#ffffff0c;color:white;font-weight:700;transition:background .2s}
.home-slide a:hover{background:#ffffff20}
.home-carousel button{cursor:pointer;color:white;border:1px solid #ffffff50;background:#ffffff0a}
.home-carousel button:hover{background:#ffffff24}
.home-carousel button:focus-visible,.home-slide a:focus-visible{outline:3px solid #ffaaa5;outline-offset:5px}
.home-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;font-size:25px;line-height:1}
.home-carousel-prev{left:24px}.home-carousel-next{right:24px}
.home-carousel-controls{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px}
.home-carousel .home-carousel-dot{width:28px;height:4px;padding:0;border:0;border-radius:4px;background:#ffffff40;position:relative}
.home-carousel-dot::before{content:'';position:absolute;inset:-10px 0}
.home-carousel .home-carousel-dot[aria-current=true]{background:#ff7772}
.home-carousel-pause{border-radius:5px;padding:5px 10px;font-size:12px;margin-left:8px}
@media(max-width:640px){.home-slide{padding:66px 28px 100px;min-height:470px}.home-slide p{font-size:.95rem}.home-carousel-arrow{top:auto;bottom:22px;transform:none;width:34px;height:34px}.home-carousel-prev{left:24px}.home-carousel-next{right:24px}.home-carousel-controls{bottom:30px;gap:9px}.home-carousel .home-carousel-dot{width:20px}.home-carousel-pause{margin-left:3px}}
@media(prefers-reduced-motion:reduce){.home-slide{transition:none}}

/* Each slide is a complete banner image; move the entire image strip. */
.home-carousel-track{display:flex;max-width:none;margin:0;transition:transform .65s ease;will-change:transform}
.home-slide{display:block;flex:0 0 100%;min-width:0;min-height:0;padding:0;opacity:1;visibility:visible;pointer-events:auto;transition:none}
.home-slide a{display:block;margin:0;padding:0;border:0;border-radius:0;background:none}
.home-slide img{display:block;width:100%;height:auto;aspect-ratio:1920/620;object-fit:cover}
#intro{scroll-margin-top:88px}
@media(max-width:640px){.home-slide{padding:0;min-height:0}.home-slide img{height:390px;aspect-ratio:auto;object-fit:cover;object-position:35% center}.home-carousel-controls{bottom:25px}.home-carousel-arrow{bottom:18px}}
@media(prefers-reduced-motion:reduce){.home-carousel-track{transition:none}}

@media(max-width:640px){.home-slide img{height:auto;aspect-ratio:800/960;object-fit:contain;object-position:center}}

/* Keep the original introduction close to the carousel instead of vertically centering it in a full viewport. */
#intro{min-height:0!important;align-items:flex-start!important;padding-top:64px!important;padding-bottom:88px!important}
@media(max-width:640px){#intro{padding-top:42px!important;padding-bottom:64px!important}}
