/* Ergänzungen nutzen bestehende Farben und Manrope; Hero-Geometrie/Overlay unberührt. */
[data-sponsor-banner][hidden]{display:none!important}
.hero-visual .hero-frame{opacity:0;transition:opacity .8s ease}
.hero-visual .hero-frame.is-current{opacity:1}
.rotation-controls{display:flex;align-items:center;justify-content:center;gap:8px}
.rotation-controls button{font:inherit;font-size:13px;font-weight:600;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--navy)}
.rotation-position{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.hero-visual>.rotation-controls{position:absolute;z-index:3;right:24px;bottom:70px;color:var(--paper)}
.hero-visual>.rotation-controls button{background:var(--navy);color:var(--paper);border-color:var(--paper)}
.rotation-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.sponsor-banner{padding-block:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;border-top:1px solid var(--line)}
.sponsor-banner-heading{display:flex;flex-direction:column;gap:8px;font-size:14px}
.sponsor-banner-stage{flex:1;min-width:240px;min-height:120px}
.sponsor-card{min-width:0;overflow-wrap:anywhere}
.sponsor-company{display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-decoration:none}
.sponsor-company h3{font-size:18px;margin:0;line-height:1.5}
.sponsor-card>.content-label{display:block;margin-top:8px}
.sponsor-logo{width:240px;max-width:100%;height:90px;object-fit:contain;object-position:left center}
.sponsor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.sponsor-banner .sponsor-card{display:flex;align-items:center;justify-content:center;gap:24px}
.sponsor-banner .sponsor-company{flex-direction:row;align-items:center;font-size:14px;line-height:1.5}
.sponsor-banner .sponsor-card>.content-label{margin:0}
@media(max-width:600px){
  .sponsor-grid{grid-template-columns:1fr}
  .sponsor-banner-heading{flex-basis:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
  .sponsor-banner-heading .text-link{margin:0}
  .sponsor-banner .sponsor-card{flex-direction:column;gap:8px;align-items:stretch}
  .sponsor-banner .sponsor-company{flex-direction:row;gap:16px;align-items:center}
  .sponsor-banner .sponsor-company>span{flex:1;min-width:0}
  .sponsor-banner .sponsor-logo{width:140px;height:64px;flex-shrink:0}
  .sponsor-banner-stage{flex-basis:100%;min-height:104px}
  .hero-visual>.rotation-controls{right:16px;bottom:68px;gap:4px}
  .rotation-controls button{padding-inline:10px}
}
@media(prefers-reduced-motion:reduce){.hero-visual .hero-frame{transition:none}}

/* Ausdrücklich beauftragte Startseitenanpassung; übrige Banner und Seiten unberührt. */
.sponsor-banner-home{padding-block:12px;gap:8px 20px;border-top:0;border-bottom:1px solid var(--line)}
.sponsor-banner-home .sponsor-banner-stage{min-height:72px}
.sponsor-banner-home .sponsor-card{min-height:72px;gap:16px}
.sponsor-banner-home .sponsor-logo{width:160px;height:56px;flex-shrink:0}
.sponsor-banner-home .sponsor-company{min-width:0;max-width:420px}
.sponsor-banner-home .rotation-controls{margin-left:auto}
.membership-section.membership-links{padding-block:40px}
.membership-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.membership-entry{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.membership-entry h2{font-size:clamp(24px,2.3vw,32px);line-height:1.25}
.membership-entry>p:not(.eyebrow){font-size:14px;line-height:1.75;color:var(--muted)}
.membership-entry .text-link{margin-top:auto;padding-top:8px}
.membership-entry:hover{border-color:var(--navy)}
@media(min-width:601px) and (max-width:1100px){
  .sponsor-banner-home .sponsor-banner-stage,.sponsor-banner-home .sponsor-card{min-height:84px}
}
@media(max-width:600px){
  .sponsor-banner-home .sponsor-banner-heading{font-size:12px}
  .sponsor-banner-home .sponsor-banner-heading .text-link{font-size:12px}
  .sponsor-banner-home .sponsor-logo{width:120px;height:48px}
  .sponsor-banner-home .sponsor-card{gap:4px;min-height:80px}
  .sponsor-banner-home .sponsor-company{gap:12px}
  .sponsor-banner-home .sponsor-banner-stage{min-height:80px}
  .membership-section.membership-links{padding-block:24px}
  .membership-entry-grid{grid-template-columns:1fr;gap:16px}
  .membership-entry{padding:22px}
}
