/* Scale the source into a bounded frame before clipping its excess. */
.home-hero.hero-fit-v139{position:relative;width:var(--shell,min(1240px,calc(100% - 40px)));margin-inline:auto;height:auto;min-height:0;max-height:none;aspect-ratio:1240/380;overflow:hidden;background:var(--brand-secondary)}
.hero-fit-v139 .hero-slides,.hero-fit-v139 .hero-slide{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none}
.hero-fit-v139 .hero-slide{display:grid;align-items:center;padding:0;overflow:hidden;isolation:isolate;background:var(--brand-secondary);opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.hero-fit-v139 .hero-slide.is-active{opacity:1;visibility:visible}
.hero-fit-v139 .hero-slide::before,.hero-fit-v139 .hero-slide::after{display:none}
.hero-fit-v139 .hero-banner-link{position:absolute;inset:0;display:grid;align-items:center;min-height:0;width:100%;height:100%;color:inherit;text-decoration:none}
.hero-fit-v139 img.hero-background{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center;z-index:0;transform:none;filter:none;opacity:1}
.hero-fit-v139 .hero-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;box-sizing:border-box;width:100%;height:100%;max-width:none;min-height:0;margin:0;padding:24px 6% 48px;background:linear-gradient(90deg,color-mix(in srgb,var(--brand-surface) 90%,transparent),color-mix(in srgb,var(--brand-surface) 68%,transparent) 38%,transparent 85%);color:var(--brand-text);overflow:hidden}
.hero-fit-v139 .hero-content h1{max-width:24ch;margin:8px 0 12px;font-size:clamp(24px,3.4vw,44px);line-height:1.2;letter-spacing:-.02em;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.hero-fit-v139 .hero-content p{max-width:52ch;margin:0;font-size:clamp(13px,1.4vw,17px);line-height:1.55;color:var(--brand-text);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
.hero-fit-v139 .hero-content .eyebrow{font-size:11px;line-height:1.5;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-fit-v139 .hero-content h1:empty,.hero-fit-v139 .hero-content p:empty,.hero-fit-v139 .hero-content .eyebrow:empty{display:none}
.hero-fit-v139 .hero-content:has(>h1:empty):has(>p:empty):has(>.eyebrow:empty){background:none}
.hero-fit-v139 .hero-controls{position:absolute;z-index:3;left:6%;right:6%;bottom:20px;display:flex;width:auto;max-width:100%;margin:0;padding:0;transform:none;justify-content:flex-start}
.hero-fit-v139 .hero-controls button{cursor:pointer}
/* Both constraints shrink proportionally; natural image size is never enlarged. */
.header-main.header-logo-v138 .brand img{width:auto!important;height:auto!important;max-width:min(100%,var(--logo-max-width,350px))!important;max-height:var(--logo-max-height,150px)!important;object-fit:contain}
.header-main.header-logo-v138>.brand{max-width:min(100%,var(--logo-max-width,350px));min-width:0}
@media(min-width:901px){.header-main.header-logo-v138:not(.logo-centered){grid-template-columns:minmax(0,var(--logo-max-width,350px)) minmax(160px,620px) auto}}
@media(max-width:900px){.home-hero.hero-fit-v139{height:clamp(240px,40vw,320px);aspect-ratio:auto}}
@media(max-width:600px){
 .home-hero.hero-fit-v139{height:clamp(240px,64vw,320px);aspect-ratio:auto}
 .hero-fit-v139 .hero-content{padding:20px 20px 44px;justify-content:center;background:linear-gradient(90deg,color-mix(in srgb,var(--brand-surface) 86%,transparent),color-mix(in srgb,var(--brand-surface) 60%,transparent) 50%,transparent)}
 .hero-fit-v139 .hero-content h1{font-size:26px;margin:8px 0 10px;max-width:100%}
 .hero-fit-v139 .hero-content p{font-size:13px;max-width:100%}
 .hero-fit-v139 .hero-controls{left:20px;right:20px;bottom:16px}
}
/* The backoffice dialog can simulate mobile while the browser remains wide. */
:host(.is-mobile) .home-hero.hero-fit-v139{height:260px;min-height:0;aspect-ratio:auto}
:host(.is-mobile) .hero-fit-v139 .hero-content{padding:20px 20px 44px;justify-content:center}
:host(.is-mobile) .hero-fit-v139 .hero-content h1{font-size:26px;margin:8px 0 10px;max-width:100%}
:host(.is-mobile) .hero-fit-v139 .hero-content p{font-size:13px;margin:0;max-width:100%}
:host(.is-mobile) .hero-fit-v139 img.hero-background{object-position:center}
:host(.is-mobile) .hero-fit-v139 .hero-controls{left:20px;right:20px;bottom:16px}
@media(prefers-reduced-motion:reduce){.hero-fit-v139 .hero-slide{transition:none}}
