/* Desktop slides fit the visible browser window, including their controls. */
.hero-carousel{position:relative;display:grid;isolation:isolate;background:#102333;touch-action:pan-y pinch-zoom}
.hero-carousel>.carousel-slide{grid-area:1/1;min-width:0;width:100%;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1s ease,visibility 0s linear 1s}
.hero-carousel>.carousel-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 1s ease,visibility 0s;z-index:1}
.hero-carousel>.carousel-slide[hidden]{display:none}
.hero-carousel .hero-values{bottom:75px}
.hero-carousel .hero-editorial{height:100%;min-height:0;max-height:none;background:#0d2130}
.hero-editorial .carousel-photo{position:absolute;inset:0 0 0 35%;width:65%;height:100%;max-width:none;object-fit:cover;object-position:43% center;z-index:-2}
.hero-family .carousel-photo{-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%);mask-image:linear-gradient(90deg,transparent,#000 18%)}
.home>.site-header{transition:background-color 1s ease}
@media(min-width:701px){
 .home>.site-header{background:#102837}
 .home .hero-carousel>.carousel-slide:first-child .hero-art{top:var(--carousel-header-height,98px);bottom:64px;left:auto;right:0;width:min(100%,calc((min(100svh,1050px) - var(--carousel-header-height,98px) - 64px)*1.77683315));background-size:cover;background-position:70% top;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%);mask-image:linear-gradient(90deg,transparent,#000 18%)}
 .home .hero-carousel>.carousel-slide:first-child .hero-person-canvas{width:max(100%,177.683315cqh);height:max(100%,56.279904cqw);left:70%;top:0;transform:translateX(-70%)}
}
.hero-editorial.hero-preparation .carousel-photo{inset:0;width:100%;object-position:center center}
@media(min-width:701px){.hero-editorial .carousel-photo,.hero-editorial.hero-preparation .carousel-photo{top:var(--carousel-header-height,98px);height:calc(100% - var(--carousel-header-height,98px))}}
.home .hero-carousel .hero-editorial:after{background:linear-gradient(90deg,#0a1b2b 0%,#0a1b2bf7 27%,#0a1b2be5 36%,#0a1b2b6b 52%,transparent 70%)}
.hero-editorial .hero-inner{position:relative;min-height:0;z-index:1}
.carousel-copy{width:56%;padding:108px 0 110px}
.home .hero-carousel .carousel-title{font-size:clamp(42px,4.7vw,76px);font-weight:400;line-height:1.07;letter-spacing:-1.2px;color:#f2d396;text-wrap:initial;margin:0}
.home .hero-carousel .carousel-title span{display:block}
.home .hero-carousel .carousel-copy>.eyebrow{font-size:12px;letter-spacing:4px;color:#efcc88;margin-bottom:23px;max-width:520px;line-height:1.6}
.carousel-copy .short-line{margin:25px 0 22px}
.carousel-description{max-width:560px;color:#f3eee4;font-size:clamp(17px,1.6vw,23px);line-height:1.55;margin:0 0 30px}
.carousel-copy .actions{gap:25px}
.carousel-copy .button{letter-spacing:.35px;gap:18px}
.carousel-secondary{font-size:16px;color:#f1e6d1;border-bottom:1px solid #d5b779;padding:8px 0;text-underline-offset:5px}
.hero-carousel.is-ready .is-active .carousel-copy>.eyebrow{animation:carousel-reveal .6s .12s both}
.hero-carousel.is-ready .is-active .carousel-copy>.carousel-title{animation:carousel-reveal .7s .22s both}
.hero-carousel.is-ready .is-active .carousel-copy>.short-line,.hero-carousel.is-ready .is-active .carousel-copy>.carousel-description{animation:carousel-reveal .65s .32s both}
.hero-carousel.is-ready .is-active .carousel-copy>.actions{animation:carousel-reveal .65s .44s both}
@keyframes carousel-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.carousel-controls{position:absolute;z-index:5;bottom:15px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:#f8eddb}
.carousel-controls[hidden]{display:none}
.carousel-center{display:flex;align-items:center;gap:16px;padding:2px 12px;border-radius:30px;background:#0a1b2b40;backdrop-filter:blur(5px)}
.carousel-controls button{display:flex;align-items:center;justify-content:center;flex:0 0 auto;border:0;background:transparent;color:inherit;min-width:44px;min-height:44px;padding:10px;cursor:pointer;border-radius:3px}
.carousel-controls button:hover{color:#f4ce86;background:#0b20305c}.carousel-controls button:focus-visible{outline:2px solid #f4ce86;outline-offset:2px}
.carousel-arrow svg{width:15px;height:25px}.carousel-dots{display:flex;gap:3px}.carousel-dots .carousel-dot{min-width:44px;padding:10px 5px}
.carousel-dot-track{display:block;position:relative;width:34px;height:2px;background:#e2dacf70;overflow:hidden}
.carousel-dot-fill{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:#f2cb7d}
.carousel-dot[aria-current=true] .carousel-dot-track{background:#f2cb7d66}
.carousel-dot[aria-current=true] .carousel-dot-fill{min-width:2px}
.carousel-count{white-space:nowrap;font:13px/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:1px}
.carousel-toggle svg{width:17px;height:18px}.carousel-toggle .play-icon{display:none}.hero-carousel[data-rotation-stopped=true] .pause-icon{display:none}.hero-carousel[data-rotation-stopped=true] .play-icon{display:block}
.carousel-toggle:disabled{opacity:.45;cursor:default}
.carousel-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1600px){.carousel-copy{padding-top:120px;width:53%}}
@media(min-width:701px) and (max-width:1100px){.carousel-copy{width:59%;padding-top:150px}.home .hero-carousel .carousel-title{font-size:clamp(39px,4.6vw,50px)}.carousel-description{font-size:18px}.carousel-secondary{font-size:14px}.carousel-copy .actions{gap:16px}.carousel-copy .button{font-size:11px;padding:16px}.home .hero-carousel .carousel-copy>.eyebrow{letter-spacing:2.5px}}
@media(min-width:701px){
 .home .hero-carousel{height:min(100svh,1050px);grid-template-rows:minmax(0,1fr)}
 .home .hero-carousel>.carousel-slide{height:100%;min-height:0;max-height:none}
 .home .hero-carousel .hero-values{bottom:75px}
}
@media(min-width:701px) and (max-height:800px){
 .home .hero-carousel .hero-inner{justify-content:center}
 .home .hero-carousel .hero-copy,.home .hero-carousel .carousel-copy{padding:calc(var(--carousel-header-height,98px) + 12px) 0 100px}
 .home .hero-carousel .hero-copy{width:65%}
 .home .hero-carousel .hero-copy>.eyebrow{font-size:12px;letter-spacing:4px;margin-bottom:10px}
 .home .hero-carousel .hero-copy>h1{font-size:clamp(34px,6.5svh,52px);line-height:1.03}
 .home .hero-carousel .hero-copy>h2{font-size:clamp(26px,4.4svh,35px);line-height:1.1}
 .home .hero-carousel .short-line{margin:14px 0}
 .home .hero-carousel .hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.45;margin:16px 0 20px}
 .home .hero-carousel .carousel-title{font-size:clamp(33px,6.5svh,52px)}
 .home .hero-carousel .carousel-copy>.eyebrow{font-size:11px;margin-bottom:15px}
 .home .hero-carousel .carousel-description{font-size:16px;line-height:1.45;margin-bottom:22px}
 .home .hero-carousel .actions{gap:14px}
 .home .hero-carousel .actions .button{font-size:11px;padding:12px 16px;min-height:44px}
 .home .hero-carousel .carousel-secondary{font-size:14px}
 .home .hero-carousel .hero-values{font-size:9px;letter-spacing:.5px;gap:14px}
 .home .hero-carousel .hero-values span+span{padding-left:14px}
}
@media(min-width:701px) and (max-width:1000px) and (max-height:800px){
 .home .hero-carousel .hero-copy{width:68%}
 .home .hero-carousel .hero-copy>h1{font-size:clamp(32px,5.8svh,42px)}
 .home .hero-carousel .hero-copy>h2{font-size:28px}
 .home .hero-carousel .hero-copy>p:not(.eyebrow){font-size:14px;margin:12px 0 16px}
 .home .hero-carousel .hero-copy .actions{gap:9px}
 .home .hero-carousel .hero-copy .actions .button{font-size:10px;padding:10px 12px;gap:12px}
}
@media(max-width:700px){
 .home .hero-carousel>.carousel-slide:first-child{height:calc(100svh - var(--carousel-header-height,84px) - var(--carousel-call-height,64px));height:calc(100dvh - var(--carousel-header-height,84px) - var(--carousel-call-height,64px));min-height:360px;max-height:none}
 .hero-carousel .hero-values{display:none}
 .hero-carousel .hero-editorial{height:100%;min-height:0}
 .hero-editorial .carousel-photo{inset:0 0 auto;width:100%;height:45%;object-position:42% 42%}
 .hero-family .carousel-photo{-webkit-mask-image:none;mask-image:none}
 .hero-editorial.hero-preparation .carousel-photo{inset:0 0 auto;width:100%;height:45%;object-position:72% 60%}
 .home .hero-carousel .hero-editorial:after{background:linear-gradient(0deg,#0d2130 0%,#0d2130 54%,#0d2130a8 61%,transparent 78%)}
 .home .hero-carousel .hero-editorial .hero-inner{height:100%;padding:0 22px;justify-content:flex-end;min-height:0}
 .carousel-copy{width:100%;padding:0 0 78px}
 .home .hero-carousel .carousel-title{font-size:clamp(28px,7.8vw,40px);letter-spacing:-.5px;line-height:1.06}
 .home .hero-carousel .carousel-copy>.eyebrow{font-size:10px;letter-spacing:1.6px;line-height:1.5;margin-bottom:13px}
 .carousel-copy .short-line{margin:16px 0 13px;width:42px}
 .carousel-description{font-size:14px;line-height:1.5;margin-bottom:19px;max-width:400px}
 .carousel-copy .actions{display:flex;flex-direction:row;gap:12px;align-items:center}
 .carousel-copy .button{font-size:10px;padding:12px 14px;min-height:44px;gap:12px}
 .carousel-secondary{font-size:12px;padding:6px 0}
 .carousel-controls{left:12px;right:12px;bottom:7px;gap:3px}
 .carousel-center{gap:3px;padding:0 2px}.carousel-dots{gap:0}.carousel-count{font-size:11px;letter-spacing:.4px}
 .carousel-dots .carousel-dot{min-width:39px;padding:10px 5px}.carousel-dot-track{width:29px}
 .hero-carousel>.carousel-slide:first-child .hero-copy{padding-bottom:69px}
}
@media(max-width:360px){.home .hero-carousel .carousel-title{font-size:28px}.carousel-copy .actions{gap:9px}.carousel-secondary{font-size:11px}.carousel-copy .button{font-size:9px;padding:11px}.carousel-center{gap:0}.carousel-dots .carousel-dot{min-width:34px}.carousel-dot-track{width:24px}}
@media(max-width:700px) and (max-height:720px){.hero-editorial .carousel-photo,.hero-editorial.hero-preparation .carousel-photo{height:40%}.home .hero-carousel .carousel-title{font-size:27px}.home .hero-carousel .carousel-copy>.eyebrow{font-size:9px;margin-bottom:9px}.carousel-copy{padding-bottom:65px}.carousel-copy .short-line{margin:10px 0}.carousel-description{font-size:13px;margin-bottom:12px}.carousel-secondary{display:none}}
@media(prefers-reduced-motion:reduce){.hero-carousel>.carousel-slide{transition:none!important}.hero-carousel .carousel-copy>*{animation:none!important}.carousel-center{backdrop-filter:none}}
