
/* Startseiten-Slideshow: alle Bilddateien liegen separat in assets/slideshow/. */
.hero-slideshow{margin-top:26px}
.hs-viewport{position:relative;isolation:isolate;aspect-ratio:12/5;overflow:hidden;border-radius:24px;background:#e5eee8;touch-action:pan-y pinch-zoom}
.hs-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s .7s}
.hs-slide.is-active{opacity:1;visibility:visible;z-index:1;transition:opacity .7s ease,visibility 0s}
.hs-slide img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 50%);border-radius:0}
.hs-slide.is-photo::before{content:"";position:absolute;inset:-30px;background:var(--scene) center/cover no-repeat;filter:blur(24px);opacity:.28}
.hs-slide.is-photo img{object-fit:contain}
.hs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 2px 22px;border-bottom:1px solid var(--line)}
.hs-caption{display:flex;align-items:center;gap:20px;min-width:0}
.hs-count{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.05em;white-space:nowrap;color:var(--muted)}
.hs-caption-text{min-width:0}
.hs-title{font-size:clamp(14px,1.35vw,18px);font-weight:500;line-height:1.4;margin:0;color:var(--ink)}
.hs-context{margin:4px 0 0;font-size:10px;color:var(--muted);line-height:1.5}
.hs-controls{display:flex;align-items:center;gap:20px;flex-shrink:0}
.hs-dots{display:flex;align-items:center;gap:1px}
.hs-dot{display:grid;place-items:center;width:28px;height:42px;padding:0;border:0;background:transparent;cursor:pointer;color:var(--ink)}
.hs-dot::after{content:"";display:block;width:6px;height:6px;border-radius:20px;background:currentColor;opacity:.3;transition:width .2s,opacity .2s}
.hs-dot[aria-current="true"]::after{width:22px;opacity:1;background:var(--accent)}
.hs-buttons{display:flex;gap:7px}
.hs-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;cursor:pointer;font:inherit;line-height:1;transition:background .18s,border-color .18s}
.hs-button:hover{background:var(--mint);border-color:var(--ink)}
.hs-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hs-play-symbol{font-size:15px;letter-spacing:-.08em;line-height:1}
.hs-button:focus-visible,.hs-dot:focus-visible{outline:2px solid var(--accent);outline-offset: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}
.hs-controls[hidden]{display:none}
.home-intro{display:grid;grid-template-columns:1.03fr 1fr;gap:64px;align-items:center;padding-block:46px 12px}
.home-intro .eyebrow{font-size:9px;letter-spacing:.11em;margin:0 0 19px}
.home-intro h1{font-size:clamp(35px,4.3vw,61px);line-height:1.14;letter-spacing:-.045em;margin:0}
.home-intro h1>span{color:var(--accent)}
.home-intro-detail>p{max-width:540px;font-size:14px;line-height:1.9;color:var(--muted);margin:0}
.home-intro .hero-actions{margin-top:23px;gap:20px}
.home-intro .hero-chips{margin-top:22px}
@media(max-width:1024px){
  .hs-toolbar{gap:16px}.hs-caption{gap:14px}.hs-controls{gap:10px}
  .hs-title{font-size:14px}.hs-dot{width:24px}.hs-dot[aria-current="true"]::after{width:18px}
  .home-intro{gap:32px}.home-intro .hero-actions{gap:16px}.home-intro .button{font-size:11px;gap:16px;padding:14px 19px}
}
@media(max-width:760px){
  .hero-slideshow{margin-top:20px}.hs-viewport{aspect-ratio:16/9;border-radius:18px}
  .hs-toolbar{align-items:stretch;flex-direction:column;gap:14px;padding:16px 0 19px}
  .hs-caption{min-height:46px;gap:15px}.hs-title{font-size:15px}.hs-context{font-size:10px}
  .hs-controls{justify-content:space-between}.hs-dot{width:28px}
  .home-intro{grid-template-columns:1fr;gap:23px;padding-top:34px}
  .home-intro h1{font-size:clamp(35px,7vw,48px)}.home-intro .eyebrow{font-size:8px;margin-bottom:16px}
  .home-intro-detail>p{max-width:650px}.home-intro .button{font-size:12px;padding:15px 20px}
}
@media(max-width:380px){
  .hs-dot{width:24px}.hs-button{width:38px;height:40px}.hs-buttons{gap:5px}.hs-controls{gap:8px}
  .hs-count{font-size:9px}.hs-caption{gap:12px}.hs-title{font-size:14px}
  .home-intro h1{font-size:34px}
}
@media(prefers-reduced-motion:reduce){
  .hs-slide,.hs-slide.is-active,.hs-dot::after,.hs-button{transition:none}
}

