/* Equipment hero: photographs on black, with quiet, explicit controls. */
.landing .hero-film.hero-slideshow{background:#000;border-radius:0;isolation:isolate;overflow:hidden}
.landing .hero-film.hero-slideshow::after{display:none}
.hero-slide{position:absolute;inset:0 0 54px;display:block;opacity:0;pointer-events:none;transition:opacity 850ms ease;outline-offset:-4px}
.hero-slide.is-active{opacity:1;pointer-events:auto;z-index:1}
.landing .hero-slide>.coffee-hero-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:none}
.hero-slide:focus-visible{outline:2px solid #5ba9c1}
.hero-slideshow-footer{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;border-top:1px solid #223038}
.hero-slide-caption{display:flex;flex-direction:column;gap:4px;min-width:0;padding:8px 0}
.hero-slide-label{font:700 .8125rem/1.2 'Barlow',Arial,sans-serif;color:#c6d8de;letter-spacing:.075em;text-transform:uppercase}
.hero-slide-controls{display:flex;align-items:center;gap:2px;flex:0 0 auto}
.hero-slide-dot,.hero-slide-arrow{display:grid;place-items:center;width:32px;height:40px;padding:0;background:transparent;border:0;color:#dbe9ee;cursor:pointer}
.hero-slide-dot::after{content:'';display:block;width:6px;height:6px;border-radius:50%;background:#526169;transition:background 180ms ease,transform 180ms ease}
.hero-slide-dot[aria-pressed=true]::after{background:#de263a;transform:scale(1.25)}
.hero-slide-dot:hover::after{background:#5ba9c1}
.hero-slideshow-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero-slideshow [hidden]{display:none!important}
@media(max-width:600px){
 .landing .hero-film.hero-slideshow{height:clamp(230px,61vw,300px);min-height:230px}
 .hero-slide{bottom:54px}.hero-slide-label{font-size:.75rem;letter-spacing:.055em}
 .hero-slide-dot{width:24px}.hero-slide-arrow{width:36px}
}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide-dot::after{transition:none}}
/* Match the site's existing desktop motion choice. */
@media(hover:hover) and (pointer:fine){.hero-slide{transition:opacity 850ms ease}}

.hero-slide-arrow{width:40px;height:44px;color:#5ba9c1}
.hero-slide-arrow svg{display:block;width:20px;height:20px}
.hero-slide-arrow:hover{color:#fff}
.hero-slide-arrow:focus-visible,.hero-slide-dot:focus-visible{outline:2px solid #5ba9c1;outline-offset:-2px}

/* Wide banners retain their complete composition at every viewport size. */
.landing .hero-film.hero-slideshow{height:auto;min-height:0;max-height:none;aspect-ratio:8 / 3;padding-bottom:54px;box-sizing:content-box;align-self:center}

/* Media-led hero: a wide banner first, with concise copy underneath. */
.landing .header .brand{width:300px;max-width:100%}
.landing .hero{display:flex;align-items:center;padding-top:12px}
.landing .hero-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;width:100%;max-width:1200px}
.landing .hero-film.hero-slideshow{grid-row:1;order:-1;justify-self:center;max-width:min(1200px,calc((100svh - 560px) * 2.6667))}
.landing .hero-copy{grid-row:2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:48px;row-gap:6px;align-items:start;container-type:normal}
.landing .hero-copy h1{grid-column:1;grid-row:1 / span 2;font-size:clamp(1.5rem,3.1vw,2.8rem);line-height:1.12;margin:0}
.landing .hero-copy>p:not(.landing-kicker){grid-column:2;max-width:none;font-size:1rem;line-height:1.45;margin:0}
.landing .hero-copy .hero-coverage{grid-column:2;font-size:.8125rem!important;margin:0!important}
@media(min-width:901px) and (max-height:850px){
 .landing .hero-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:center}
 .landing .hero-film.hero-slideshow{grid-column:1;grid-row:1;max-width:none}
 .landing .hero-copy{grid-column:2;grid-row:1;display:block;container-type:inline-size}
 .landing .hero-copy h1{font-size:clamp(1rem,6.6cqw,2.2rem);margin-bottom:16px}
 .landing .hero-copy>p:not(.landing-kicker){font-size:.9375rem;margin-bottom:12px}
}
@media(max-width:900px){
 .landing .hero{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-content:center}
 .landing .hero-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
 .landing .hero-film.hero-slideshow{grid-column:1;grid-row:1;max-width:none}
 .landing .hero-copy{grid-column:1;grid-row:2;display:block;container-type:inline-size}
 .landing .hero-copy h1{font-size:clamp(1.3rem,6.6cqw,2.8rem);margin-bottom:14px}
 .landing .hero-copy>p:not(.landing-kicker){font-size:.9375rem;line-height:1.5;margin-bottom:12px;max-width:64ch}
 .landing .hero-copy .hero-coverage{margin:0!important}
}
@media(max-width:600px){
 .landing .hero{padding:14px 20px 24px;align-content:start;gap:20px}
 .landing .hero .hero-actions{position:static;grid-row:2;max-width:none;width:100%}
 .landing .hero-copy h1{font-size:clamp(1.2rem,6.6cqw,2rem)}
 .landing .hero-slide-label{font-size:.6875rem;letter-spacing:.04em}
 .landing .hero-slide-arrow{width:36px}
}
