/* DS Electrical: wave 1 components (25 Oct 2026)
   Hero job picker (.pk-), tools strip, postcode coverage checker + map,
   process timeline (.w1-). One accent: #facc15 on #0f172a / #1e293b.
   Motion only runs when wave1.js sets html.w1-motion (never under reduced motion);
   without JS everything renders in its finished, static state. */
:root{--w1-bg:#0f172a;--w1-bg2:#1e293b;--w1-bg3:#273449;--w1-y:#facc15;--w1-y2:#fde047;--w1-ink:#f4f6f8;--w1-muted:#a3adba;--w1-line:rgba(255,255,255,.11);--w1-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace}

/* ---------- Homepage hero: copy + picker side by side ---------- */
.hero.hero-split{height:auto;min-height:100svh;align-items:center}
.hero-split .hero-in{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:56px;align-items:center;padding-top:132px;padding-bottom:110px}
.hero-split .hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0}
.hero-split .hero-h{font-size:clamp(40px,5.2vw,78px)}
.hero-split .hero-cta{margin-top:4px}
.hero-split .eyebrow{color:var(--w1-y)}

/* ---------- Picker card ---------- */
.pk{position:relative;background:rgba(15,23,42,.84);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(250,204,21,.26);border-radius:20px;padding:22px;box-shadow:0 30px 80px -40px rgba(0,0,0,.9);color:var(--w1-ink);font-family:'Archivo',system-ui,sans-serif;min-width:0}
.pk-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;min-height:28px}
.pk-meta{display:flex;align-items:center;gap:10px;margin-left:auto}
.pk-count{font-family:var(--w1-mono);font-size:11px;letter-spacing:.08em;color:var(--w1-muted);white-space:nowrap}
.pk-back{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--w1-line);color:var(--w1-ink);border-radius:30px;padding:5px 12px 5px 10px;font:600 13px/1 'Archivo',system-ui,sans-serif;cursor:pointer}
.pk-back:hover{border-color:var(--w1-y);color:var(--w1-y)}
/* progress = a row of breakers switching on */
.pk-rail{display:flex;gap:4px;padding:4px 5px;border-radius:6px;background:#0b1222;border:1px solid var(--w1-line)}
.pk-brk{position:relative;width:12px;height:20px;border-radius:3px;background:#2b364b;overflow:hidden}
.pk-brk::after{content:"";position:absolute;left:2px;right:2px;height:8px;border-radius:2px;background:#64748b;top:10px;transition:top .25s ease,background .25s ease}
.pk-brk.on::after{top:2px;background:var(--w1-y)}
.pk-h{font-size:clamp(20px,1.8vw,24px);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:0 0 4px;outline:none}
.pk-sub{font-size:14px;color:var(--w1-muted);margin:0 0 16px;line-height:1.45}
.pk-step{animation:none}
html.w1-motion .pk-step{animation:pk-in .22s ease both}
@keyframes pk-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* job tiles */
.pk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.pk-grid li{display:flex;min-width:0}
.pk-grid .pk-tile{width:100%}
.pk-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;min-height:104px;padding:13px 12px 12px;background:rgba(30,41,59,.92);border:1px solid var(--w1-line);border-radius:14px;color:var(--w1-ink);text-decoration:none;text-align:left;font:inherit;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.pk-tile:hover{border-color:rgba(250,204,21,.6);background:#223049;color:var(--w1-ink)}
.pk-tile svg{width:26px;height:26px;color:var(--w1-y);flex:none}
.pk-tl{font-size:14.5px;font-weight:700;line-height:1.2;letter-spacing:-.01em}
.pk-ts{display:block;font-size:12px;font-weight:500;color:var(--w1-muted);margin-top:2px}
.pk-tile.is-on,.pk-opt.is-on{border-color:var(--w1-y);background:rgba(250,204,21,.12)}

/* one-tap options */
.pk-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pk-opt{display:flex;align-items:center;gap:10px;min-height:52px;padding:12px 14px;background:rgba(30,41,59,.92);border:1px solid var(--w1-line);border-radius:12px;color:var(--w1-ink);font:600 15px/1.25 'Archivo',system-ui,sans-serif;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}
.pk-opt:hover{border-color:rgba(250,204,21,.6);background:#223049}
.pk-opt::before{content:"";flex:none;width:14px;height:14px;border-radius:50%;border:2px solid #64748b}
.pk-opt.is-on::before{border-color:var(--w1-y);background:var(--w1-y)}
.pk-alert{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between;margin:0 0 14px;padding:12px 14px;border-radius:12px;border:1px solid rgba(251,146,60,.55);background:rgba(251,146,60,.1);font-size:14px;line-height:1.4}
.pk-alert a{color:#0f172a;background:var(--w1-y);border-radius:30px;padding:8px 14px;font-weight:700;text-decoration:none;white-space:nowrap}

/* details form */
.pk-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.pk-f{display:flex;flex-direction:column;gap:5px;min-width:0}
.pk-f.full{grid-column:1/-1}
.pk-f label,.pk-legend{font-size:12.5px;font-weight:700;color:var(--w1-ink);letter-spacing:.01em}
.pk-f label small,.pk-legend small{font-weight:500;color:var(--w1-muted)}
.pk-f input,.pk-f textarea{width:100%;background:#0b1222;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:11px 12px;color:var(--w1-ink);font:400 15px/1.3 'Archivo',system-ui,sans-serif;resize:vertical}
.pk-f input:focus,.pk-f textarea:focus{outline:none;border-color:var(--w1-y);box-shadow:0 0 0 3px rgba(250,204,21,.2)}
.pk-f input[aria-invalid=true]{border-color:#f87171}
.pk-err{font-size:12.5px;color:#fca5a5;min-height:0}
.pk-hint{font-size:12.5px;color:var(--w1-muted)}
.pk-hint.ok{color:#86efac}
.pk-when{grid-column:1/-1;border:0;margin:0;padding:0;min-width:0}
.pk-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.pk-chip{position:relative}
.pk-chip input{position:absolute;opacity:0;width:1px;height:1px}
.pk-chip span{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:30px;border:1px solid var(--w1-line);background:rgba(30,41,59,.92);font-size:13.5px;font-weight:600;cursor:pointer}
.pk-chip input:checked+span{border-color:var(--w1-y);background:rgba(250,204,21,.14);color:var(--w1-y)}
.pk-chip input:focus-visible+span{outline:2px solid var(--w1-y);outline-offset:2px}
.pk-actions{grid-column:1/-1;display:flex;flex-direction:column;gap:10px;margin-top:4px}
.pk-submit{display:inline-flex;align-items:center;justify-content:center;height:52px;border:0;border-radius:40px;background:var(--w1-y);color:#0f172a;font:700 16px/1 'Archivo',system-ui,sans-serif;cursor:pointer;transition:background .2s}
.pk-submit:hover{background:var(--w1-y2)}
.pk-submit:disabled{opacity:.7;cursor:wait}
.pk-wa{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px dashed rgba(255,255,255,.2);color:var(--w1-ink);font-size:13.5px;line-height:1.35;text-decoration:none}
.pk-wa:hover{border-color:#25d366;color:var(--w1-ink)}
.pk-wa svg{flex:none;width:22px;height:22px;color:#25d366}
.pk-note{font-size:12.5px;color:var(--w1-muted);margin:0;line-height:1.45}
.pk-note a{color:var(--w1-y)}
.pk-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pk :focus-visible{outline:2px solid var(--w1-y);outline-offset:2px}
.pk-fallback{font-size:13px;color:var(--w1-muted);margin:12px 0 0}

@media (max-width:1023px){
 .hero.hero-split{min-height:0}
 .hero-split .hero-in{grid-template-columns:1fr;gap:22px;padding-top:118px;padding-bottom:56px}
 .hero-split .hero-copy{display:contents}
 .hero-split .rating-chip{order:1;justify-self:start}.hero-split .eyebrow{order:2}.hero-split .hero-h{order:3}
 .hero-split .pk{order:4}.hero-split .hero-cta{order:5}.hero-split .hero-lead{order:6}
 .hero-split .scrollcue{display:none}
}
@media (max-width:600px){
 .hero-split .hero-in{gap:14px;padding-top:92px;padding-bottom:28px}
 .hero-split .hero-h{font-size:clamp(34px,10vw,44px)}
 .hero-split .eyebrow{display:none}
 .hero-split .rating-chip{font-size:12.5px}
 .hero-split .hero-cta{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:0}
 .hero-split .hero-cta .btn{height:48px;padding:0 12px;font-size:15px}
 .hero-split .hero-lead{font-size:15.5px}
 .pk{padding:14px;border-radius:16px}
 .pk-top{margin-bottom:10px}
 .pk-sub{margin-bottom:10px;font-size:13.5px}
 .pk-h{font-size:19px}
 .pk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .pk-tile{flex-direction:row;align-items:center;justify-content:flex-start;min-height:46px;padding:8px 10px;gap:9px;border-radius:11px}
 .pk-tile svg{width:21px;height:21px}
 .pk-tl{font-size:13.5px}
 .pk-ts{display:none}
 .pk-opts{grid-template-columns:1fr}
 .pk-form{grid-template-columns:1fr}
}

/* ---------- Shared section bits ---------- */
.w1-sec{background:var(--w1-bg);color:var(--w1-ink);font-family:'Archivo',system-ui,sans-serif;padding:64px 0}
.w1-sec.alt{background:var(--w1-bg2)}
.w1-wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.w1-eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--w1-y);font-weight:700;margin:0 0 10px}
.w1-h{font-size:clamp(26px,3vw,40px);line-height:1.08;letter-spacing:-.025em;font-weight:800;margin:0;color:var(--w1-ink)}
.w1-lead{font-size:16px;line-height:1.55;color:var(--w1-muted);margin:12px 0 0;max-width:60ch}
@media (max-width:600px){.w1-sec{padding:48px 0}.w1-wrap{padding:0 20px}}

/* ---------- Tools strip ---------- */
.w1-tools-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.w1-tools-grid{display:grid;grid-template-columns:repeat(var(--w1-cols,3),minmax(0,1fr));gap:14px}
.w1-tool{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;padding:16px;border-radius:16px;background:var(--w1-bg2);border:1px solid var(--w1-line);color:var(--w1-ink);text-decoration:none;transition:border-color .2s,transform .2s}
.w1-sec.alt .w1-tool{background:var(--w1-bg)}
.w1-tool:hover{border-color:rgba(250,204,21,.55);transform:translateY(-2px);color:var(--w1-ink)}
.w1-tool:focus-visible{outline:2px solid var(--w1-y);outline-offset:3px}
.w1-viz{width:96px;height:72px;border-radius:10px;background:#0b1222;border:1px solid var(--w1-line);display:block}
.w1-tool-t{display:block;font-size:17px;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.w1-tool-d{display:block;font-size:13.5px;color:var(--w1-muted);line-height:1.45;margin-top:4px}
.w1-tool-go{display:inline-block;font-size:13px;font-weight:700;color:var(--w1-y);margin-top:8px}
@media (max-width:900px){.w1-tools-grid{grid-template-columns:1fr}}
/* micro-visuals: finished state by default */
.w1-viz .ln{fill:none;stroke:#3b4a63;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.w1-viz .hi{fill:none;stroke:var(--w1-y);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.w1-viz .dot{fill:var(--w1-y)}
.w1-viz .bar{fill:#3b4a63}
.w1-viz .bar.y{fill:var(--w1-y)}
html.w1-motion .w1-anim.is-in .draw{stroke-dasharray:var(--len,120);stroke-dashoffset:var(--len,120);animation:w1-draw 1.1s cubic-bezier(.3,.7,.2,1) forwards;animation-delay:var(--d,0s)}
html.w1-motion .w1-anim.is-in .pop{opacity:0;transform-box:fill-box;transform-origin:center;animation:w1-pop .35s ease forwards;animation-delay:var(--d,0s)}
html.w1-motion .w1-anim.is-in .grow{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);animation:w1-grow .7s cubic-bezier(.3,.7,.2,1) forwards;animation-delay:var(--d,0s)}
@keyframes w1-draw{to{stroke-dashoffset:0}}
@keyframes w1-pop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@keyframes w1-grow{to{transform:scaleY(1)}}

/* ---------- Process timeline (replaces the logo video) ---------- */
.w1-flow{position:relative;list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;text-align:left;width:100%}
.w1-flow::before{content:"";position:absolute;left:9px;right:calc((100% - 80px) / 5 - 10px);top:9px;height:2px;background:#334155}
.w1-flow::after{content:"";position:absolute;left:9px;right:calc((100% - 80px) / 5 - 10px);top:9px;height:2px;background:var(--w1-y);transform-origin:left center}
html.w1-motion .w1-flow.w1-anim::after{transform:scaleX(0);transition:transform 1.6s cubic-bezier(.3,.7,.2,1)}
html.w1-motion .w1-flow.w1-anim.is-in::after{transform:scaleX(1)}
.w1-flow li{position:relative;padding-top:34px}
.w1-flow li::before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--w1-y);border:2px solid var(--w1-y);box-shadow:0 0 0 4px var(--w1-bg);z-index:1;box-sizing:border-box}
html.w1-motion .w1-flow.w1-anim li::before{border-color:#475569;background:var(--w1-bg);transition:border-color .3s ease,background .3s ease;transition-delay:var(--d,0s)}
html.w1-motion .w1-flow.w1-anim.is-in li::before{border-color:var(--w1-y);background:var(--w1-y)}
.w1-flow-n{display:block;font-family:var(--w1-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--w1-y);margin-bottom:6px}
.w1-flow-t{display:block;font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--w1-ink);margin-bottom:6px}
.w1-flow-d{display:block;font-size:14px;line-height:1.5;color:var(--w1-muted)}
@media (max-width:900px){
 .w1-flow{grid-template-columns:1fr;gap:22px;margin-top:36px}
 .w1-flow::before,.w1-flow::after{left:9px;right:auto;top:10px;bottom:10px;width:2px;height:auto}
 .w1-flow::after{transform-origin:center top}
 html.w1-motion .w1-flow.w1-anim::after{transform:scaleY(0)}
 html.w1-motion .w1-flow.w1-anim.is-in::after{transform:scaleY(1)}
 .w1-flow li{padding:0 0 0 38px}
}

/* ---------- Postcode coverage checker + map ---------- */
.w1-cov{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center}
.w1-cov-form{display:flex;gap:10px;margin-top:22px;max-width:460px}
.w1-cov-form[hidden]{display:none}
.w1-cov-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.w1-cov-form input{flex:1;min-width:0;height:52px;padding:0 16px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#0b1222;color:var(--w1-ink);font:600 17px/1 var(--w1-mono);letter-spacing:.06em;text-transform:uppercase}
.w1-cov-form input::placeholder{color:#64748b;text-transform:none;letter-spacing:0;font-family:'Archivo',system-ui,sans-serif;font-weight:400}
.w1-cov-form input:focus{outline:none;border-color:var(--w1-y);box-shadow:0 0 0 3px rgba(250,204,21,.2)}
.w1-cov-form button{height:52px;padding:0 22px;border:0;border-radius:12px;background:var(--w1-y);color:#0f172a;font:700 16px/1 'Archivo',system-ui,sans-serif;cursor:pointer}
.w1-cov-form button:hover{background:var(--w1-y2)}
.w1-cov-form button:focus-visible{outline:2px solid var(--w1-ink);outline-offset:2px}
.w1-cov-out{margin-top:14px;min-height:52px;font-size:16px;line-height:1.5;max-width:460px}
.w1-cov-out strong{color:var(--w1-ink)}
.w1-cov-out a{color:var(--w1-y);font-weight:700}
.w1-cov-out .yes{color:#86efac;font-weight:700}
.w1-cov-out .edge{color:#fdba74;font-weight:700}
.w1-cov-out .no{color:#fca5a5;font-weight:700}
.w1-cov-codes{font-family:var(--w1-mono);font-size:12px;color:var(--w1-muted);line-height:1.7;margin-top:18px;max-width:460px}
.w1-map{position:relative;border-radius:18px;background:radial-gradient(120% 90% at 30% 20%,#18233a,#0b1222);border:1px solid var(--w1-line);padding:10px}
.w1-map svg{display:block;width:100%;height:auto}
.w1-map .zone{fill:rgba(148,163,184,.07);stroke:rgba(148,163,184,.28);stroke-width:1;transition:fill .3s,stroke .3s}
.w1-map .zone.edge{stroke-dasharray:3 4}
.w1-map .zone.hit{fill:rgba(250,204,21,.2);stroke:var(--w1-y);stroke-width:2}
.w1-map .zl{font:600 10px var(--w1-mono);fill:#64748b;letter-spacing:.06em}
.w1-map .zl.hit{fill:var(--w1-y)}
.w1-map .town{fill:var(--w1-ink)}
.w1-map .vill{fill:#64748b}
.w1-map .tl{font:600 12px 'Archivo',system-ui,sans-serif;fill:var(--w1-ink);paint-order:stroke;stroke:#0b1222;stroke-width:3px;stroke-linejoin:round}
.w1-map a:hover .tl,.w1-map a:focus .tl{fill:var(--w1-y)}
.w1-map a:focus{outline:none}
.w1-map a:focus-visible .town{stroke:var(--w1-y);stroke-width:3}
.w1-map .ring{fill:none;stroke:var(--w1-y);stroke-width:2;opacity:0}
.w1-map .ring.hit{opacity:1}
html.w1-motion .w1-map .ring.hit{animation:w1-ring 1.6s ease-out 2}
@keyframes w1-ring{from{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}
.w1-map .ring{transform-box:fill-box;transform-origin:center}
.w1-map-note{position:absolute;right:16px;bottom:12px;font:500 10.5px var(--w1-mono);color:#64748b;letter-spacing:.04em}
@media (max-width:900px){.w1-cov{grid-template-columns:1fr;gap:28px}}
@media (max-width:600px){.w1-cov-form button{padding:0 16px}}

@media (prefers-reduced-motion:reduce){
 .pk-brk::after,.pk-tile,.pk-opt,.w1-tool,.w1-map .zone{transition:none}
 html.w1-motion .pk-step{animation:none}
}

/* Step 1 as a consumer unit: each job is an RCBO on a busbar; picking one switches it on. */
.pk-grid{position:relative;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:30px 10px 10px;background:linear-gradient(180deg,#0b1222,#111a2e);border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),inset 0 -12px 24px rgba(0,0,0,.35)}
.pk-grid::before{content:"";position:absolute;left:14px;right:14px;top:13px;height:4px;border-radius:2px;background:#334155;transition:background .3s,box-shadow .3s}
.pk-grid::after{content:"";position:absolute;left:14px;right:14px;top:13px;height:4px;border-radius:2px;background:var(--w1-y);box-shadow:0 0 12px rgba(250,204,21,.7);transform-origin:left;transform:scaleX(0);opacity:0;animation:pk-energise 1.1s .5s cubic-bezier(.6,0,.2,1) both}
@keyframes pk-energise{0%{transform:scaleX(0);opacity:1}70%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
.pk-grid:has(.pk-tile:hover)::before,.pk-grid:has(.pk-tile:focus-visible)::before,.pk-grid:has(.pk-tile.is-on)::before{background:var(--w1-y);box-shadow:0 0 10px rgba(250,204,21,.55)}
.pk-grid .pk-tile{flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;min-height:132px;padding:10px 6px 11px;border:0;border-radius:6px 6px 8px 8px;background:linear-gradient(180deg,#f1f4f8 0%,#e2e7ee 100%);color:#0f172a;text-align:center;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 -2px 0 rgba(15,23,42,.12) inset,0 6px 14px -6px rgba(0,0,0,.7)}
.pk-grid .pk-tile:hover{background:linear-gradient(180deg,#fff 0%,#e9edf3 100%);color:#0f172a;transform:translateY(-2px)}
.pk-grid .pk-tile:focus-visible{outline:3px solid var(--w1-y);outline-offset:2px}
.pk-grid .pk-tile::after{content:"";order:-2;flex:none;width:22px;height:5px;border-radius:3px;background:#94a3b8;transition:background .2s,box-shadow .2s}
.pk-grid .pk-tile::before{content:"";order:-1;flex:none;width:20px;height:30px;border-radius:5px;background-color:#1e293b;background-image:linear-gradient(#0b1222,#0b1222),linear-gradient(#f8fafc,#f8fafc);background-size:14px 13px,14px 1px;background-repeat:no-repeat;background-position:50% 13px,50% 15px;box-shadow:inset 0 2px 3px rgba(0,0,0,.6);transition:background-position .28s cubic-bezier(.5,1.6,.4,1)}
.pk-grid .pk-tile:hover::before{background-position:50% 10px,50% 12px}
.pk-grid .pk-tile.is-on::before{background-position:50% 3px,50% 5px}
.pk-grid .pk-tile.is-on::after{background:var(--w1-y);box-shadow:0 0 8px 1px rgba(250,204,21,.8)}
.pk-grid .pk-tile.is-on{background:linear-gradient(180deg,#fff 0%,#eef1f5 100%);box-shadow:0 0 0 2px var(--w1-y),0 8px 20px -8px rgba(250,204,21,.5)}
.pk-grid .pk-tile svg{width:20px;height:20px;color:#334155;margin-top:2px}
.pk-grid .pk-tl{font-size:12.5px;font-weight:800;line-height:1.15;letter-spacing:-.005em;color:#0f172a}
.pk-grid .pk-ts{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:600px){
  .pk-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:26px 7px 8px}
  .pk-grid::before,.pk-grid::after{top:11px;left:10px;right:10px}
  .pk-grid .pk-tile{flex-direction:column;align-items:center;justify-content:flex-start;min-height:112px;padding:8px 3px 9px;gap:6px;border-radius:5px 5px 7px 7px}
  .pk-grid .pk-tile svg{width:17px;height:17px}
  .pk-grid .pk-tl{font-size:11px}
}
@media (prefers-reduced-motion:reduce){
  .pk-grid::after{animation:none;opacity:0}
  .pk-grid .pk-tile,.pk-grid .pk-tile::before,.pk-grid .pk-tile::after,.pk-grid::before{transition:none}
  .pk-grid .pk-tile:hover{transform:none}
}

/* Hero copy never waits on the scroll observer: a short CSS entrance, and the power-on fade is quicker. */
.hero .rv{opacity:1;transform:none;animation:w1-hero-in .55s cubic-bezier(.2,.7,.15,1) both}
.hero .hero-copy .rv:nth-child(2){animation-delay:.06s}
.hero .hero-copy .rv:nth-child(3){animation-delay:.12s}
.hero .hero-copy .rv:nth-child(4){animation-delay:.18s}
.hero .hero-copy .rv:nth-child(5){animation-delay:.24s}
@keyframes w1-hero-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero.on .hero-media img{transition-duration:.9s}
@media (prefers-reduced-motion:reduce){.hero .rv{animation:none}}
/* Breaker toggle: stronger lever and indicator so the switch-on reads at a glance. */
.pk-grid .pk-tile::before{width:20px;height:34px;background-color:#0f172a;background-image:linear-gradient(#94a3b8,#64748b),linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.55));background-size:14px 15px,14px 1px;background-position:50% 16px,50% 17px}
.pk-grid .pk-tile:hover::before{background-position:50% 12px,50% 13px}
.pk-grid .pk-tile.is-on::before{background-image:linear-gradient(#fde047,#facc15),linear-gradient(rgba(255,255,255,.8),rgba(255,255,255,.8));background-position:50% 3px,50% 4px}
.pk-grid .pk-tile::after{width:24px;height:6px;background:#cbd5e1}
.pk-grid .pk-tile.is-on::after{background:#facc15;box-shadow:0 0 10px 2px rgba(250,204,21,.9)}

/* Trust strip readout: real accreditation and insurance facts shown like a tester's LCD, one line at a time. */
.w1-lcd{flex:none;width:250px;padding:9px 12px 10px;border-radius:10px;background:linear-gradient(180deg,#c9d3b0,#b3bf96);border:3px solid #111827;box-shadow:inset 0 2px 6px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.08);color:#111a12;font-family:var(--w1-mono,'JetBrains Mono',ui-monospace,monospace)}
.w1-lcd-top{display:flex;justify-content:space-between;font-size:9.5px;letter-spacing:.14em;opacity:.7;margin-bottom:4px}
.w1-lcd-mode{border:1px solid currentColor;border-radius:2px;padding:0 3px;letter-spacing:.08em}
.w1-lcd-rows{position:relative;list-style:none;margin:0;padding:0;height:26px;overflow:hidden}
.w1-lcd-rows li{position:absolute;inset:0;display:flex;align-items:baseline;justify-content:space-between;gap:8px;opacity:0;transform:translateY(6px);transition:opacity .25s steps(3),transform .25s steps(3)}
.w1-lcd-rows li.on{opacity:1;transform:none}
.w1-lcd .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.w1-lcd .v{font-size:19px;font-weight:500;letter-spacing:.02em;white-space:nowrap}
.w1-lcd .v small{font-size:10px;letter-spacing:.04em}
.w1-lcd:not(.w1-lcd-live) .w1-lcd-rows{height:auto}
.w1-lcd:not(.w1-lcd-live) .w1-lcd-rows li{position:static;opacity:1;transform:none}
@media (max-width:900px){.w1-lcd{width:100%;max-width:340px}}
@media (prefers-reduced-motion:reduce){.w1-lcd-rows li{transition:none}}
.w1-lcd-rows li{visibility:hidden;opacity:1;transform:none;transition:none}
.w1-lcd-rows li.on{visibility:visible;animation:w1-lcd-on .32s steps(2,end) both}
@keyframes w1-lcd-on{0%{opacity:0}50%{opacity:.35}100%{opacity:1}}
.w1-lcd:not(.w1-lcd-live) .w1-lcd-rows li{visibility:visible}
@media (prefers-reduced-motion:reduce){.w1-lcd-rows li.on{animation:none}}
/* Badges sit on the same pale panel as the breakers; readout and badges share one row on wide screens. */
.trust .cred img{background:#e8ecf1;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 8px 18px -10px rgba(0,0,0,.7)}
.trust .cred.chas img{background:#5c2483}
@media (min-width:1100px){.trust .trust-in{flex-direction:row;align-items:center;gap:28px}.trust .creds{justify-content:flex-end}.trust .cred img{width:168px;height:92px}}
@media (max-width:600px){.trust .creds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;width:100%}.trust .cred img{width:100%;height:68px;padding:10px}.trust .cred span{font-size:10px;text-align:center}}
@media (min-width:1100px){.trust .creds{flex-wrap:nowrap;gap:14px}.trust .cred img{width:150px;height:88px}}
@media (max-width:600px){.trust .cred{align-items:stretch;min-width:0}.trust .cred img{height:64px}}
.w1-lcd .k,.w1-lcd .v,.w1-lcd-top{color:#0d150e}

/* Pass-2 sweeper fixes. */
@media (max-width:900px){.w1-cov{grid-template-columns:minmax(0,1fr)}}
.w1-lcd-live .w1-lcd-rows li{visibility:visible;opacity:0}
.w1-lcd-live .w1-lcd-rows li.on{opacity:1}
@media (min-width:901px){.w1-lcd{width:280px}}
@media (max-width:600px){.pk-grid .pk-tl{font-size:12px}.pk-grid .pk-ts{display:block}}
