/* DS Electrical wave 2: Google reviews wall (.w2-rv-) + homepage strip (.w2-rs-).
   Cards use the wave 1 breaker body (pale #f1f4f8 -> #e8ecf1) with a yellow "on" indicator.
   Without JS: every review shows in full (wall) or in a swipeable row (strip); no filters,
   no auto-scroll. Under reduced motion the strip never auto-scrolls. */
.w2-rv,.w2-rs{--y:#2f7bff;--y2:#5b9bff;--bg:#0f172a;--bg2:#1e293b;--ink:#f4f6f8;--muted:#a3adba;--line:rgba(255,255,255,.11);--mono:'Archivo',system-ui,sans-serif;background:var(--bg);color:var(--ink);font-family:'Archivo',system-ui,sans-serif}
.w2-rv *,.w2-rs *{box-sizing:border-box}
.w2-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.w2-rv-eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--y);font-weight:700;margin:0 0 10px}

/* ---------- shared card ---------- */
.w2-rv-card,.w2-rs-card{position:relative;margin:0;height:100%;display:flex;flex-direction:column;padding:22px 18px 16px;border-radius:8px 8px 12px 12px;background:linear-gradient(180deg,#f1f4f8 0%,#e8ecf1 100%);color:#0f172a;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 -2px 0 rgba(15,23,42,.12) inset,0 10px 24px -14px rgba(0,0,0,.8)}
.w2-rv-card::before,.w2-rs-card::before{content:"";position:absolute;left:18px;top:9px;width:26px;height:5px;border-radius:3px;background:var(--y);box-shadow:0 0 8px 1px rgba(47,123,255,.75)}
.w2-rv-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.w2-rv-stars{display:inline-flex;padding:4px 9px 3px;border-radius:20px;background:#0f172a;color:var(--y);font-size:13px;line-height:1;letter-spacing:2px}
.w2-rv-top time{font-family:var(--mono);font-size:.75rem;letter-spacing:.04em;color:#475569}
.w2-rv-q,.w2-rs-q{margin:14px 0 0;quotes:none}
.w2-rv-q p,.w2-rs-q p{margin:0;font-size:15.5px;line-height:1.6;color:#1e293b;overflow-wrap:anywhere}
.w2-rv-by,.w2-rs-by{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:auto;padding-top:14px}
.w2-rv-name{font-weight:800;font-size:15px;letter-spacing:-.01em;margin-right:auto}
.w2-rv-tag{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#334155;border:1px solid #94a3b8;border-radius:4px;padding:3px 6px 2px}

/* ---------- wall ---------- */
.w2-rv{padding:72px 0}
.w2-rv-in{max-width:1240px;margin:0 auto;padding:0 32px}
.w2-rv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 32px;flex-wrap:wrap;margin-bottom:26px}
.w2-rv-head>div{max-width:760px;min-width:0}
.w2-rv-google span[aria-hidden],.w2-rs-all span[aria-hidden]{margin-left:.35em}
.w2-rv-h,.w2-rs-h{font-size:clamp(26px,3vw,40px);line-height:1.08;letter-spacing:-.025em;font-weight:800;margin:0}
.w2-rv-lead{font-size:16px;line-height:1.55;color:var(--muted);margin:12px 0 0}
.w2-rv-google{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:40px;background:var(--y);color:#0f172a;font-weight:700;font-size:15.5px;text-decoration:none;white-space:nowrap;transition:background .2s}
.w2-rv-google:hover{background:var(--y2);color:#0f172a}
.w2-rv-google:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

.w2-rv-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.w2-rv-filters[hidden]{display:none}
.w2-rv-chip{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 15px 0 12px;border-radius:30px;border:1px solid var(--line);background:var(--bg2);color:var(--ink);font:600 14px/1.1 'Archivo',system-ui,sans-serif;cursor:pointer;transition:border-color .2s,background .2s}
.w2-rv-chip i{flex:none;width:8px;height:16px;border-radius:2px;background:#475569;transition:background .2s,box-shadow .2s}
.w2-rv-chip .n{font-family:var(--mono);font-size:12px;color:var(--muted);font-weight:500}
.w2-rv-chip:hover{border-color:rgba(47,123,255,.6)}
.w2-rv-chip[aria-pressed=true]{border-color:var(--y);background:rgba(47,123,255,.12)}
.w2-rv-chip[aria-pressed=true] i{background:var(--y);box-shadow:0 0 8px 1px rgba(47,123,255,.8)}
.w2-rv-chip[aria-pressed=true] .n{color:var(--y)}
.w2-rv-chip:focus-visible{outline:2px solid var(--y);outline-offset:2px}
.w2-rv-status{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted);margin:0 0 16px}

.w2-rv-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;align-items:stretch}
.w2-rv-item{min-width:0}
.w2-rv-item[hidden]{display:none}
.w2-rv--js .w2-rv-q.is-clamped p{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.w2-rv-more{align-self:flex-start;margin-top:8px;padding:4px 0;border:0;background:none;color:#0f172a;font:700 14px/1.2 'Archivo',system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:#ca8a04;cursor:pointer}
.w2-rv-more:hover{text-decoration-color:#0f172a}
.w2-rv-more:focus-visible{outline:2px solid #0f172a;outline-offset:3px;border-radius:2px}
.w2-rv-card:target{box-shadow:0 0 0 3px var(--y),0 10px 24px -14px rgba(0,0,0,.8)}

/* ---------- homepage strip ---------- */
.w2-rs{padding:56px 0}
.w2-rs-head{max-width:1240px;margin:0 auto 22px;padding:0 32px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px 24px;flex-wrap:wrap}
.w2-rs-ctrl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.w2-rs-pause{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px;border-radius:30px;border:1px solid rgba(47,123,255,.55);background:var(--bg2);color:var(--ink);font:600 14px/1 'Archivo',system-ui,sans-serif;cursor:pointer}
.w2-rs-pause[hidden]{display:none}
.w2-rs-pause:hover{border-color:var(--y)}
.w2-rs-pause:focus-visible,.w2-rs-all:focus-visible,.w2-rs-view:focus-visible{outline:2px solid var(--y);outline-offset:3px}
.w2-rs-ico{position:relative;width:12px;height:12px;flex:none}
.w2-rs-ico::before,.w2-rs-ico::after{content:"";position:absolute;top:0;width:4px;height:12px;border-radius:1px;background:var(--y)}
.w2-rs-ico::before{left:1px}.w2-rs-ico::after{right:1px}
.w2-rs.is-paused .w2-rs-ico::after{display:none}
.w2-rs.is-paused .w2-rs-ico::before{left:2px;width:0;height:0;border-radius:0;background:none;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent var(--y)}
.w2-rs-all{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:var(--y);font-weight:700;font-size:15px;text-decoration:none}
.w2-rs-all:hover{text-decoration:underline;text-underline-offset:4px}
.w2-rs-view{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 32px;padding:4px 0 18px}
.w2-rs-track{list-style:none;margin:0;padding:0 32px;display:flex;gap:14px;width:max-content}
.w2-rs-item{flex:none;width:min(300px,80vw);scroll-snap-align:start}
.w2-rs-q p{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;font-size:15px}
.w2-rs-by{gap:4px 10px}
.w2-rs-more{font-size:13.5px;font-weight:700;color:#0f172a;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:#ca8a04}
.w2-rs-more:focus-visible{outline:2px solid #0f172a;outline-offset:3px;border-radius:2px}
.w2-rs--live .w2-rs-view{scroll-snap-type:none;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 32px,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,transparent,#000 32px,#000 calc(100% - 32px),transparent)}
.w2-rs--live .w2-rs-view::-webkit-scrollbar{display:none}
.w2-rs--live .w2-rs-track{padding-right:0}

@media (max-width:600px){
 .w2-rv{padding:52px 0}.w2-rs{padding:44px 0}
 .w2-rv-in,.w2-rs-head{padding:0 20px}
 .w2-rs-track{padding:0 20px}.w2-rs-view{scroll-padding:0 20px}
 .w2-rv-google{width:100%}
 .w2-rv-chip{min-height:40px;padding:0 12px 0 10px;font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){
 .w2-rv-chip,.w2-rv-chip i,.w2-rv-google{transition:none}
}

/* Pass-2 sweeper: anchor targets clear the fixed header. */
.w2-rv-card{scroll-margin-top:96px}
