.equipment-banner { --banner-duration:7000ms; --banner-background:#171d19; --banner-ink:#dce4d7; --banner-muted:#c6cec1; --banner-line:#405145; --banner-model:#34443a; background:var(--banner-background); border:1px solid #b9bfb0; border-radius:5px; overflow:hidden; margin:30px 0 38px; }
.equipment-banner:has(.banner-1:not([hidden])) { --banner-background:#d9ff43; --banner-ink:#171d19; --banner-muted:#3c462c; --banner-line:#8fa83e; --banner-model:#b6d232; }
.equipment-banner:has(.banner-2:not([hidden])) { --banner-background:#20382f; --banner-line:#4c6b59; --banner-model:#436251; }
/* Reserve the tallest slide at each width so rotation never shifts the catalog. */
.equipment-banner-slides { display:grid; }
.equipment-banner-slide { grid-area:1 / 1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); min-height:366px; background:var(--banner-background); color:#fff; position:relative; isolation:isolate; }
.equipment-banner-slide::before { content:""; position:absolute; inset:0; background-image:linear-gradient(var(--banner-line) 1px,transparent 1px),linear-gradient(90deg,var(--banner-line) 1px,transparent 1px); background-size:44px 44px; opacity:.18; z-index:-1; pointer-events:none; }
.equipment-banner-slide[hidden] { display:grid!important; visibility:hidden; pointer-events:none; }
.equipment-banner-copy { padding:34px clamp(25px,4vw,56px); justify-content:center; }
.equipment-banner-copy .banner-kicker { display:flex; align-items:center; gap:9px; margin:0 0 23px; font-size:.625rem; letter-spacing:.06em; color:#c8d1bf; }
.banner-kicker>span { width:6px; height:6px; background:var(--acid); flex:none; }
.equipment-banner-copy h2 { max-width:520px; font-size:clamp(30px,3.5vw,49px); font-weight:700; line-height:1.06; letter-spacing:-.045em; margin:0 0 17px; }
.equipment-banner-copy h2 strong { font-weight:700; color:var(--acid); }
.equipment-banner-copy .banner-description { max-width:410px; color:#c6cec1; font-size:.8125rem; line-height:1.65; margin:0 0 16px; }
.banner-facts { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 22px; }.banner-facts>span { border:1px solid #53604e; padding:5px 8px; font-size:.625rem; color:#dce4d7; }
.equipment-banner-copy .button { display:inline-flex; gap:26px; min-height:44px; padding:12px 18px; font-size:.75rem; background:var(--acid); color:var(--ink); }.equipment-banner-copy .button>span { font-size:18px; line-height:1; }
.equipment-banner-photo { position:relative; isolation:isolate; min-width:0; background:transparent; display:grid; place-items:center; padding:40px 40px 44px; overflow:hidden; }
.equipment-banner-photo img { position:relative; z-index:1; height:282px; width:100%; max-width:600px; object-fit:contain; object-position:center; transition:transform 350ms ease; }
.banner-model { position:absolute; top:8px; left:18px; right:auto; color:var(--banner-model); font-size:clamp(78px,10vw,154px); font-weight:800; letter-spacing:-.08em; line-height:1; z-index:0; }
.banner-1 .banner-model,.banner-2 .banner-model { color:var(--banner-model); }

.banner-photo-caption { position:absolute; display:flex; align-items:center; gap:5px; left:32px; right:32px; bottom:14px; font-size:.625rem; color:var(--banner-muted); }.banner-photo-caption>span { margin-left:auto; font-size:18px; }.banner-photo-caption strong { font-weight:750; }
.banner-1 { color:#171d19; }.banner-1 .banner-kicker,.banner-1 .banner-description { color:#3c462c; }.banner-1 .banner-kicker>span { background:#171d19; }.banner-1 h2 strong { color:#171d19; }.banner-1 .banner-facts>span { color:#27311c; border-color:#8fa83e; }.banner-1 .button { background:#171d19; color:#fff; }
.banner-2 { color:#fff; }.banner-2 .banner-model { font-size:clamp(66px,8vw,120px); }
.equipment-banner-controls { display:flex; gap:20px; align-items:center; justify-content:space-between; min-height:52px; padding:0 18px; background:transparent; border-top:1px solid var(--banner-line); color:var(--banner-ink); }
.banner-rotation { flex:none; display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--banner-line); border-radius:50%; color:var(--banner-ink); background:transparent; cursor:pointer; }
.equipment-banner-controls [role="tablist"] { display:flex; align-self:stretch; gap:28px; flex:1; justify-content:flex-start; min-width:0; }
.equipment-banner-controls [role="tab"] { min-height:52px; max-width:none; position:relative; padding:12px 0; border:0; color:var(--banner-muted); font-size:.75rem; line-height:1.4; background:transparent; cursor:pointer; }
.equipment-banner-controls [role="tab"]::after { display:none; }.equipment-banner-controls [aria-selected="true"] { color:var(--banner-ink); font-weight:750; }
.equipment-banner-controls [role="tab"]>i { position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--banner-line); transform:scaleX(0); transform-origin:left; }
.equipment-banner-controls [aria-selected="true"]>i { transform:scaleX(1); background:var(--banner-ink); }.is-rotating .equipment-banner-controls [aria-selected="true"]>i { animation:banner-progress var(--banner-duration) linear forwards; }
.banner-arrows { display:flex; align-items:center; flex:none; gap:8px; }.banner-arrows button { width:36px; min-width:36px; height:36px; min-height:36px; border:1px solid var(--banner-line); color:var(--banner-ink); background:transparent; border-radius:50%; font-size:18px; cursor:pointer; }.banner-position { color:var(--banner-muted); font-size:.625rem; margin-right:8px; font-variant-numeric:tabular-nums; }
.equipment-banner a:focus-visible,.equipment-banner button:focus-visible { outline:2px solid var(--banner-ink); outline-offset:4px; }
@keyframes banner-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media(max-width:1000px) { .equipment-banner-copy { padding:30px; }.equipment-banner-copy h2 { font-size:36px; }.equipment-banner-photo { padding:40px 24px; }.equipment-banner-photo img { height:260px; } }
@media(max-width:760px) { .equipment-banner-slide { grid-template-columns:1fr 1fr; min-height:330px; }.equipment-banner-copy { padding:26px 22px; }.equipment-banner-copy h2 { font-size:30px; }.equipment-banner-copy .banner-kicker { font-size:.5625rem; margin-bottom:18px; }.equipment-banner-copy .banner-description { font-size:.75rem; }.equipment-banner-photo img { height:220px; }.banner-model { font-size:86px; top:22px; left:10px; }.banner-2 .banner-model { font-size:60px; }.banner-facts { margin-bottom:18px; }.banner-facts>span { font-size:.5625rem; }.equipment-banner-copy .button { gap:14px; font-size:.6875rem; }.equipment-banner-controls { gap:13px; }.equipment-banner-controls [role="tablist"] { gap:22px; } }
@media(max-width:540px) { .equipment-banner { margin:22px 0 28px; }.equipment-banner-slide { grid-template-columns:1fr; min-height:0; }.equipment-banner-copy { padding:26px 24px 28px; }.equipment-banner-copy h2 { font-size:32px; max-width:340px; }.equipment-banner-copy .banner-description { font-size:.75rem; margin-bottom:14px; }.equipment-banner-copy .banner-kicker { margin-bottom:16px; }.banner-facts { margin-bottom:18px; }.equipment-banner-photo { height:228px; padding:19px 28px 30px; }.equipment-banner-photo img { height:184px; max-width:330px; }.banner-model { top:8px; left:15px; font-size:90px; }.banner-2 .banner-model { font-size:70px; }.banner-photo-caption { left:24px; right:24px; bottom:8px; font-size:.5625rem; }.equipment-banner-controls { gap:10px; padding:0 10px; min-height:50px; }.equipment-banner-controls [role="tablist"] { gap:0; justify-content:space-around; flex:1; }.equipment-banner-controls [role="tab"] { min-height:50px; font-size:.625rem; padding:12px 4px; }.banner-arrows { gap:4px; }.banner-arrows button,.banner-rotation { width:32px; min-width:32px; height:32px; min-height:32px; }.banner-position { display:none; } }
@media(max-width:350px) { .equipment-banner-controls { gap:5px; padding:0 7px; }.equipment-banner-controls [role="tab"] { font-size:.5625rem; padding:12px 3px; }.equipment-banner-copy { padding:23px 19px; }.equipment-banner-copy h2 { font-size:29px; } }
@media(hover:hover) and (pointer:fine) { .equipment-banner-photo:hover img { transform:translateY(-5px); }.banner-rotation:hover,.banner-arrows button:hover { background:var(--acid); color:var(--ink); } }
@media(prefers-reduced-motion:reduce) { .equipment-banner-photo img { transition:none; transform:none!important; }.is-rotating .equipment-banner-controls [aria-selected="true"]>i { animation:none; } }
