/* H04. Shared opt-in component. Two equal groups give an exact, seamless cycle. */
.sw-brand-marquee{--brand-gap:64px;--brand-duration:25s;position:relative;width:100%;min-width:0;padding:18px 0 24px;background:var(--sw-surface,#fff);border-bottom:1px solid var(--sw-border,#e2e8f0);color:var(--sw-text-secondary,#475569)}
.sw-brand-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;width:calc(100% - 80px);max-width:1280px;margin:0 auto 10px}
.sw-brand-marquee .sw-brand-heading p{margin:0;padding:0;font-size:13px;line-height:1.5;font-weight:600;letter-spacing:0;color:inherit}
.sw-brand-detail{font-weight:400}
.sw-brand-control{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:1px solid var(--sw-border,#e2e8f0);border-radius:var(--sw-radius-control,8px);color:var(--sw-text-secondary,#475569);cursor:pointer;background:var(--sw-surface,#fff)}
.sw-brand-control svg{width:18px;height:18px}
.sw-brand-play-icon{display:none}
.sw-brand-pause{position:absolute;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;margin:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sw-brand-pause:focus-visible~.sw-brand-heading .sw-brand-control{outline:3px solid var(--sw-focus,#2563eb);outline-offset:3px}
.sw-brand-pause:checked~.sw-brand-heading .sw-brand-pause-icon{display:none}
.sw-brand-pause:checked~.sw-brand-heading .sw-brand-play-icon{display:block}
.sw-brand-viewport{width:calc(100% - 80px);max-width:1280px;margin:auto;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.sw-brand-track{display:flex;width:max-content;animation:sw-brand-marquee var(--brand-duration) linear infinite;will-change:transform}
.sw-brand-marquee .sw-brand-group{display:flex;align-items:center;flex:none;gap:var(--brand-gap);list-style:none;margin:0;padding:0 var(--brand-gap) 0 0}
.sw-brand-marquee .sw-brand-item{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-width:56px;height:48px;margin:0;padding:0;border:0;background:none;box-shadow:none}
.sw-brand-logo{display:block;position:relative;flex:none;height:32px;max-width:150px;overflow:hidden;filter:grayscale(1);opacity:.72;transition:opacity .2s ease}
.sw-brand-logo img{display:block;width:auto;height:32px;max-width:150px;object-fit:contain;border:0;border-radius:0}
.sw-brand-logo--maco,.sw-brand-logo--winkhaus,.sw-brand-logo--gu{height:36px}
.sw-brand-logo--maco img,.sw-brand-logo--winkhaus img,.sw-brand-logo--gu img{height:36px}
/* Display the wordmarks at their optical size; source files stay unchanged. */
.sw-brand-logo--siegenia{width:262px;height:30px;max-width:none}
.sw-brand-logo--siegenia img{position:absolute;width:312px;max-width:none;height:135.66px;left:-26px;top:-53.55px}
.sw-brand-logo--schueco{width:180px;height:31px;max-width:none}
.sw-brand-logo--schueco img{position:absolute;width:180px;max-width:none;height:66px;left:0;top:0}
/* Historic AUBI mark is displayed from the unmodified manufacturer image. */
.sw-brand-logo--aubi{width:69px;height:34px}
.sw-brand-logo--aubi img{position:absolute;width:250px;max-width:none;height:250px;left:-166px;top:-39px}
.sw-brand-pause:checked~.sw-brand-viewport .sw-brand-track,.sw-brand-pause:focus-visible~.sw-brand-viewport .sw-brand-track{animation-play-state:paused}
@media(hover:hover) and (pointer:fine){.sw-brand-marquee:hover .sw-brand-track{animation-play-state:paused}.sw-brand-item:hover .sw-brand-logo{opacity:1}.sw-brand-control:hover{border-color:var(--sw-action,#be123c);color:var(--sw-action,#be123c)}}
@keyframes sw-brand-marquee{to{transform:translateX(-50%)}}
@media(max-width:900px){.sw-brand-marquee{--brand-gap:40px;--brand-duration:32s;padding:16px 0 20px}.sw-brand-heading,.sw-brand-viewport{width:calc(100% - 32px)}.sw-brand-heading{gap:14px;margin-bottom:8px}.sw-brand-marquee .sw-brand-heading p{font-size:12px;line-height:1.5}.sw-brand-marquee .sw-brand-heading p>span{display:block}.sw-brand-heading .sw-brand-divider{display:none}.sw-brand-viewport{mask-image:linear-gradient(to right,transparent,#000 16px,#000 calc(100% - 16px),transparent)}.sw-brand-logo--siegenia,.sw-brand-logo--schueco,.sw-brand-logo--siegenia img,.sw-brand-logo--schueco img,.sw-brand-logo--aubi img{max-width:none}}
@media(prefers-reduced-motion:reduce){.sw-brand-track{animation:none;transform:none;will-change:auto;width:100%}.sw-brand-marquee .sw-brand-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 24px;padding:0;width:100%}.sw-brand-marquee .sw-brand-group[aria-hidden=true]{display:none}.sw-brand-marquee .sw-brand-item{width:auto;min-width:0}.sw-brand-pause,.sw-brand-control{display:none}.sw-brand-heading{margin-bottom:24px}.sw-brand-viewport{mask-image:none}.sw-brand-logo{transition:none}}
@media(prefers-reduced-motion:reduce) and (max-width:900px){.sw-brand-marquee .sw-brand-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.sw-brand-marquee .sw-brand-item[data-brand="siegenia"]{grid-column:1/-1;grid-row:1}.sw-brand-marquee .sw-brand-item[data-brand="schueco"]{grid-column:1/-1}}
