/* Homepage v2 (inc/home-v2.php, page-templates/tpl-home-v2.php). Everything is scoped to .hv2 so the async
   common.css (loaded after this) cannot restyle it. The part above the "below the fold" marker is copied verbatim
   into assets/css/critical/home-v2.css (inlined in <head> by inc/cs2-perf.php) - keep the two in sync
   (cs2-home/build-critical.py does it). No reveal animations: nothing is hidden waiting for JS (Mike 2026-09-27). */
.hv2{--navy:var(--ss-navy-hero,var(--ss-navy-deep));--navy2:var(--ss-navy-card,var(--ss-navy));--navy3:var(--ss-navy);--navy-line:var(--ss-navy-line);--gold:var(--ss-gold);--gold-ink:var(--ss-navy);--gold-soft:var(--ss-gold-soft);--goldg:var(--ss-gold-grad);--ink:var(--ss-ink);--ink2:var(--ss-ink-2);--ink3:var(--ss-ink-3);--line:var(--ss-line);--ground:var(--ss-ground);--mist:var(--ss-mist);--on-navy:var(--ss-on-navy);--red:var(--ss-bad);--green:var(--ss-ok);--green-soft:var(--ss-ok-soft);--font:"Proxima Nova","Helvetica Neue",Arial,sans-serif;
  --hdr:57px;background:#fff;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
@media (min-width:768px){.hv2{--hdr:67px}}
@media (min-width:1200px){.hv2{--hdr:75px}}
body.hv2-page{margin:0;background:var(--ss-navy-hero,var(--ss-navy-deep))}
body.hv2-page .site-content{padding-top:0!important}
.hv2 *,.hv2 *:before,.hv2 *:after{box-sizing:border-box}
.hv2 :where(h1,h2,h3){margin:0;font-family:var(--font);color:inherit;text-wrap:balance;letter-spacing:-.02em;text-transform:none}
.hv2 :where(p,figure,blockquote){margin:0}
.hv2 :where(ul,ol){margin:0;padding:0;list-style:none}
.hv2 :where(img){max-width:100%;height:auto;display:block}
.hv2 :where(a){color:inherit;text-decoration:none}
.hv2 :where(button){font-family:inherit}
.hv2 :where(b){font-weight:700}
.hv2-w{max-width:1312px;margin:0 auto;padding-inline:64px}
@media (max-width:900px){.hv2-w{padding-inline:24px}}
@media (max-width:560px){.hv2-w{padding-inline:16px}}
.hv2-sec{padding-block:104px}
@media (max-width:760px){.hv2-sec{padding-block:68px}}
.hv2-dark{background:var(--navy);color:#fff}
.hv2-ground{background:var(--ground)}
.hv2-stack{display:grid;gap:16px;justify-items:start}
.hv2-pill{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--navy);font-size:13px;font-weight:700;line-height:1.2;padding:6px 15px;border-radius:999px;letter-spacing:.02em;justify-self:start}
.hv2-pill--ghost{background:rgba(var(--ss-gold-rgb),.1);color:var(--gold);border:1px solid rgba(var(--ss-gold-rgb),.45)}
.hv2-h2{font-size:clamp(30px,3.4vw,44px);font-weight:700;line-height:1.1;letter-spacing:-.02em}
.hv2-h2 .hl{padding-bottom:.14em;margin-bottom:-.14em;padding-right:.06em;margin-right:-.06em;color:var(--navy2);background:var(--ss-blue-shine);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hv2-dark .hv2-h2 .hl{padding-bottom:.14em;margin-bottom:-.14em;padding-right:.06em;margin-right:-.06em;color:var(--gold);background:var(--ss-gold-shine);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hv2-lede{font-size:18px;color:var(--ink2);max-width:60ch}
.hv2-dark .hv2-lede{color:var(--on-navy)}
.hv2-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 16px/1 var(--font);border:0;border-radius:999px;padding:17px 28px;cursor:pointer;background:var(--goldg);color:var(--navy)!important;box-shadow:0 10px 24px rgba(var(--ss-gold-end-rgb),.25);white-space:nowrap}
.hv2-btn svg{width:16px;height:16px;flex:none}
.hv2-btn--line{background:transparent;color:#fff!important;border:1.5px solid rgba(255,255,255,.4);box-shadow:none}
.hv2-btn--line:hover{border-color:var(--gold);color:var(--gold)!important;filter:none}
.hv2-stars{color:var(--gold);letter-spacing:2px;font-size:15px;line-height:1}

/* ---------- hero ---------- */
/* hero background: option E, deep navy + one cool spotlight behind the H1 (Mike 2026-09-29, feedback #10 Ash) */
.hv2-hero{background-color:#001B2E;background-image:radial-gradient(45% 55% at 50% 10%,rgba(150,190,235,.16),rgba(150,190,235,0) 70%);color:#fff;position:relative;overflow:hidden;padding-top:var(--hdr)}
@media (max-width:760px){.hv2-hero{background-image:radial-gradient(95% 30% at 50% 10%,rgba(150,190,235,.16),rgba(150,190,235,0) 70%)}}
.hv2-hero h1{font-size:clamp(40px,5vw,66px);line-height:1.02;font-weight:700;margin:18px 0 22px;letter-spacing:-.03em;color:#fff}
.hv2-hero h1 em{font-style:normal;color:var(--gold)}
.hv2-hero .hv2-lede{font-size:19px;color:var(--on-navy);max-width:34em}
.hv2-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.hv2-rate{display:flex;align-items:center;gap:8px 12px;margin-top:28px;font-size:14.5px;color:var(--on-navy);flex-wrap:wrap}
.hv2-rate b{color:#fff;font-size:16px}
/* "Results ticker" hero (Mike 2026-09-27, mock option 2, then "no video, and no stats either"): centered copy, CTAs,
   a rotating strip of review cards (5 per set, 3 under 1200px; fixed card height so a swap never moves the page;
   200 ms opacity crossfade only, assets/js/home-v2.js), rating line. */
.hv2-rt__in{position:relative;z-index:1;display:grid;justify-items:center;text-align:center;padding-block:48px 52px}
.hv2-rt .ss-eyebrow{margin:0 0 20px}
.hv2-rt h1{font-size:clamp(40px,4.6vw,64px);line-height:1.06;margin:0 0 22px;font-weight:700;letter-spacing:-.02em}
.hv2-rt h1 .hv2-rt__a{display:block}
.hv2-rt h1 em{padding-bottom:.14em;margin-bottom:-.14em;padding-right:.06em;margin-right:-.06em;display:inline;font-weight:700;background:var(--ss-gold-shine);-webkit-background-clip:text;background-clip:text;color:transparent}
.hv2-rt .hv2-lede{max-width:44em}
.hv2-rt .hv2-ctas{justify-content:center;margin-top:26px}
.hv2-rt__revs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:100%;margin-top:38px;text-align:left;border-radius:18px;perspective:1600px}
.hv2-rt__revs:focus-visible{outline-offset:6px}
.hv2-rv{display:grid;height:180px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;min-width:0;backface-visibility:hidden;will-change:transform}
.hv2-rv.is-flip-out{transform:rotateY(90deg);transition:transform .25s cubic-bezier(.5,0,.75,0)}
.hv2-rv.is-flip-in{transform:rotateY(-90deg);transition:none}
.hv2-rv.is-flip-back{transform:rotateY(0deg);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.hv2-rv__l{grid-area:1/1;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:1fr auto;grid-template-areas:"q q" "av who";gap:12px;padding:16px;min-width:0;transition:opacity .2s cubic-bezier(.4,0,.2,1)}
.hv2-rv__l.is-in,.hv2-rv__l.is-out{opacity:0}
.hv2-rv__q{grid-area:q;font-size:15px;font-weight:700;line-height:1.36;color:#fff;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.hv2-rv__av{grid-area:av;position:relative;width:48px;height:48px;align-self:end}
.hv2-rv__av>img{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--gold-soft)}
.hv2-rv__src{position:absolute;right:-5px;bottom:-3px;width:22px;height:22px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.hv2-rv__src img{width:13px;height:13px;object-fit:contain}
.hv2-rv__who{grid-area:who;align-self:center;font-size:12.5px;line-height:1.3;color:var(--mist);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.hv2-rv__who b{display:block;color:#fff;font-weight:700}
.hv2-rt .hv2-rate{justify-content:center;margin-top:24px}
@media (max-width:1199px){
  .hv2-rt__revs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hv2-rv:nth-child(n+4){display:none}
}
@media (max-width:760px){
  .hv2-rt__in{padding-block:40px 44px}
  .hv2-rt .ss-eyebrow{max-width:100%}
  .hv2-rt__a{display:block}
  .hv2-rt__revs{grid-template-columns:1fr;gap:8px;margin-top:32px}
  .hv2-rv{height:112px}
  .hv2-rv__l{grid-template-columns:52px minmax(0,1fr);grid-template-rows:1fr auto;grid-template-areas:"av q" "av who";gap:4px 14px;padding:12px 14px;align-items:center}
  .hv2-rv__av{width:52px;height:52px;align-self:center}
  .hv2-rv__av>img{width:52px;height:52px}
  .hv2-rv__q{font-size:14px;line-height:1.32;-webkit-line-clamp:3;align-self:end}
  .hv2-rv__who{align-self:start;-webkit-line-clamp:1;font-size:12px}
  .hv2-rv__who b{display:inline}
  .hv2-rv__co:before{content:", "}
}
@media (max-width:560px){
  .hv2-rt h1{font-size:36px}
  .hv2-hero .hv2-lede{font-size:17px}
  .hv2-ctas .hv2-btn{width:100%}
  .hv2-rt .hv2-ctas{width:100%}
}
@media (prefers-reduced-motion:reduce){.hv2-rv__l,.hv2-rv{transition:none}}
/* ---------- section heads ---------- */
.hv2-head{display:grid;gap:16px;margin-bottom:48px}
#results.hv2-sec{padding-block:56px 64px}
.hv2-head--tight{gap:10px;margin-bottom:26px}
.hv2-head--tight .hv2-h2{white-space:nowrap}
/* results heading (Mike 2026-09-28: smaller and tighter so more of the rail shows on big screens) */
#results .hv2-head--tight .hv2-h2{font-size:clamp(19px,1.45vw,24px);letter-spacing:-.01em;line-height:1.2}
#results.hv2-sec{padding-top:26px;padding-bottom:48px}
#results .hv2-head{margin-bottom:12px}
@media (max-width:900px){.hv2-head--tight .hv2-h2{white-space:normal}}
/* Section heads are always stacked: pill + heading, then the intro line under it (Mike 2026-09-27: no 2-column heading) */
.hv2-head--split{justify-items:start}
.hv2-head .hv2-lede{max-width:640px}
.hv2-center{text-align:center;justify-items:center}
.hv2-center .hv2-pill{justify-self:center}
.hv2-center .hv2-stack{justify-items:center}
.hv2-center .hv2-lede{margin-inline:auto;max-width:62ch}
.hv2-h2--narrow{max-width:20ch}
.hv2-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:2px;white-space:nowrap}
.hv2-dark .hv2-link{color:#fff}
.hv2-link svg{width:14px;height:14px}

/* ---------- results rail (first section under the hero since 2026-09-28: white band, navy cards; in the critical copy) ---------- */
/* Netflix-style row (Mike 2026-09-27): full-bleed horizontal scroller, first card on the content gutter, cards peek at
   both edges, snap, no scrollbar; arrows on hover/focus (fine pointers), swipe on touch, drag on desktop (hv2-rail.js). */
.hv2-rail{--gut:32px;--cw:282px;position:relative;margin-top:-8px}
@media (max-width:900px){.hv2-rail{--gut:24px}}
@media (max-width:560px){.hv2-rail{--gut:16px;--cw:76vw}}
.hv2 .hv2-rail__track{--pad:var(--gut);display:grid;grid-auto-flow:column;grid-auto-columns:var(--cw);gap:20px;margin:-6px 0 -4px;padding:14px var(--pad) 16px;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:none;scroll-padding-inline:var(--pad);scrollbar-width:none}
.hv2-rail__track::-webkit-scrollbar{display:none}
.hv2-rail__track:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.hv2-rail__track.is-drag{scroll-snap-type:none;cursor:grabbing;user-select:none}
.hv2-rail__track.is-drag a{pointer-events:none}
.hv2-rail__item{scroll-snap-align:start;display:grid;min-width:0}
.hv2-rail:before,.hv2-rail:after{content:"";position:absolute;top:0;bottom:0;width:56px;z-index:2;pointer-events:none;transition:opacity .15s}
.hv2-rail:before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0));opacity:0}
.hv2-rail:after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.hv2-rail.is-scrolled:before{opacity:1}
.hv2-rail.is-end:after{opacity:0}
.hv2-rail__btn{position:absolute;top:calc(8px + var(--cw) * 12 / 29);transform:translateY(-50%);z-index:3;width:48px;height:48px;padding:0;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);box-shadow:0 6px 18px rgba(var(--ss-navy-deep-rgb),.18);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .15s,background .15s}
.hv2-rail__btn svg{width:18px;height:18px}
.hv2-rail__btn--prev{left:16px}
.hv2-rail__btn--next{right:16px}
.hv2-rail:hover .hv2-rail__btn,.hv2-rail:focus-within .hv2-rail__btn{opacity:1}
.hv2-rail .hv2-rail__btn:disabled{opacity:0;pointer-events:none}
@media (hover:none),(max-width:760px){.hv2-rail__btn{display:none}}
.hv2-rail .hv2-case{height:100%}
.hv2-case{position:relative;border-radius:20px;overflow:hidden;background:var(--navy2);border:1px solid var(--navy-line);color:#fff;display:grid;grid-template-rows:auto 1fr;min-width:0}
/* hover / focus: scale 1.03 + gold ring (assets/css/ss-tile-hover.css) */
.hv2-case__im{aspect-ratio:29/24;overflow:hidden;position:relative;background:var(--navy3)}
.hv2-case__im img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.hv2-case__im:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(180deg,rgba(var(--ss-navy-rgb),0),var(--navy2))}
.hv2-case__mult{position:absolute;left:20px;bottom:6px;z-index:1;font-size:64px;font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--gold)}
.hv2-case__mult small{font-size:14px;font-weight:700;letter-spacing:0;color:#fff;margin-left:8px}
.hv2-case__bd{padding:14px 20px 22px;display:grid;gap:10px;align-content:start}
.hv2-case__ind{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mist);line-height:1.4}
.hv2-case h3{font-size:20px;line-height:1.25;font-weight:700;letter-spacing:-.01em;color:#fff}
.hv2-case__st{display:flex;gap:18px;border-top:1px solid var(--navy-line);padding-top:12px;margin-top:4px;font-size:12.5px;color:var(--on-navy);line-height:1.4}
.hv2-case__st b{display:block;color:#fff;font-size:19px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
@media (max-width:560px){.hv2-case__mult{font-size:56px}}
/* Looping results rail (Mike 2026-09-28: equal partial cards at both edges, bigger cards, arrows centred on the card,
   endless loop). --cw / --gap come from the inline script after the track (k full cards + two equal peeks fill the row,
   cards 300-340px, peek >= 110px on desktop); the values above are the no-JS fallback. Both fades stay on (hv2-rail.js
   loop mode never sets is-end). */
.hv2 .hv2-rail--loop .hv2-rail__track{gap:var(--gap,20px)}
.hv2-rail--loop .hv2-rail__btn{top:calc(50% - 2px)}
/* both arrows 76px in from the edges: the fixed Book Meeting tab covers the right-most ~52px */
.hv2-rail--loop .hv2-rail__btn--prev{left:76px}
.hv2-rail--loop .hv2-rail__btn--next{right:76px}

/* ==== below the fold ==== */

/* ---------- awards & partners (below the results rail since 2026-09-28; cards = assets/css/awards-cards.css, still inlined by inc/cs2-perf.php) ---------- */
.hv2-awsec{background:var(--ss-navy-band,var(--ss-navy-deep));color:#fff;padding-block:72px 76px}
.hv2-awhead{display:grid;gap:16px;justify-items:center;text-align:center;margin:0 auto 40px;max-width:1040px}
.hv2-awhead .hv2-pill{justify-self:center}
.hv2-awsec .hv2-h2 .hl{padding-bottom:.14em;margin-bottom:-.14em;padding-right:.06em;margin-right:-.06em;color:var(--gold);background:var(--ss-gold-shine);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
@media (max-width:760px){.hv2-awsec{padding-block:56px 60px}.hv2-awhead{margin-bottom:28px}}

/* ---------- comparison ("How we report", #compare: white band since 2026-09-28; the left column stays navy) ---------- */
.hv2-cmp{display:grid;grid-template-columns:1fr 1.35fr;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 12px 40px rgba(var(--ss-navy-deep-rgb),.08);max-width:1060px;margin:0 auto}
.hv2-cmp__col{padding:34px 32px;min-width:0}
.hv2-cmp__col h3{font-size:20px;font-weight:700;line-height:1.25;letter-spacing:-.01em;margin-bottom:20px}
.hv2-cmp__l{background:var(--navy2);color:#fff}
.hv2-cmp__l h3{color:var(--on-navy)}
.hv2-cmp__r{background:#fff;color:var(--ink)}
.hv2-cmp__r h3 span{box-shadow:inset 0 -8px 0 var(--gold-soft)}
.hv2-cmp ul{display:grid;gap:14px}
.hv2-cmp li{display:grid;grid-template-columns:24px 1fr;gap:12px;font-size:15.5px;line-height:1.5;overflow-wrap:anywhere}
.hv2-cmp__l li{color:var(--on-navy)}
.hv2-ico{width:24px;height:24px;border-radius:50%;display:grid;place-items:center}
.hv2-ico svg{width:12px;height:12px}
.hv2-ico--x{background:rgba(var(--ss-bad-rgb),.16);color:var(--red)}
.hv2-ico--ok{background:var(--green-soft);color:var(--green)}
.hv2-cmp__proof{margin-top:28px;text-align:center;font-size:14.5px;color:var(--ink3)}
.hv2-cmp__proof b{color:var(--ink)}
.hv2-cmp__proof .sep{color:var(--gold);margin-inline:8px}
/* #compare navy again (Mike 2026-09-28) */
.hv2-dark .hv2-cmp{border-color:var(--navy-line);box-shadow:0 12px 40px rgba(0,0,0,.4)}
.hv2-dark .hv2-cmp__proof{color:var(--on-navy)}
.hv2-dark .hv2-cmp__proof b{color:#fff}
@media (max-width:760px){.hv2-cmp{grid-template-columns:1fr}.hv2-cmp__col{padding:24px 18px}.hv2-cmp li{font-size:14.5px}}

/* ---------- services ---------- */
.hv2-svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hv2-sv{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 26px 24px;display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;transition:box-shadow .2s,border-color .2s;min-width:0}
.hv2-sv:hover{box-shadow:0 14px 40px rgba(var(--ss-navy-deep-rgb),.1);border-color:var(--ss-line-strong)}
.hv2-sv__ic{width:52px;height:52px;border-radius:14px;background:var(--navy);color:var(--gold);display:grid;place-items:center}
.hv2-sv__ic svg{width:26px;height:26px}
.hv2-sv h3{font-size:20px;font-weight:700;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--ink)}
.hv2-sv h3 small{font:700 12px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;background:var(--gold);color:var(--navy);padding:5px 7px;border-radius:99px}
.hv2-sv p{color:var(--ink2);font-size:15.5px}
.hv2-sv__ft{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:14px;font-size:13.5px;color:var(--ink3)}
.hv2-sv__go{width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;flex:none}
.hv2-sv__go svg{width:14px;height:14px}
@media (max-width:1000px){.hv2-svc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.hv2-svc{grid-template-columns:1fr}}
/* ---------- services: split list + proof (inc/home-services-v2.php; Mike 2026-09-27 picked Option 4; the six-card
   grid above stays for ?legacy_home_services=1). Rows are links; hover / focus swaps the sticky proof panel with a
   150 ms opacity fade; nothing starts hidden (row 1 + its panel are server-rendered as active). ---------- */
/* rows are bordered cards like the #why switch accordion items (Mike 2026-09-28): same stroke, radius, fill and gap,
   the icon in the same navy rounded square as .hv2-sw__num (gold icon) and the arrow in the gold circle of .hv2-plus on
   every row; active / hovered row = navy stroke only */
.hsv-row:hover{border-color:var(--navy)}
.hsv-rh{position:relative}
/* service icon (the /work/ filter set, ss_cs2_rail_icon) on the navy badge of the switch list */
.hsv-n svg{width:22px;height:22px;flex:none}
.hsv-row.is-on .hsv-go,.hsv-row:hover .hsv-go{background:var(--ss-gold)}
.hsv-a:focus-visible{outline-offset:-3px}
.hsv-tg,.hsv-inl{display:none}
.hsv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hsv-aside{display:grid;align-self:stretch}
.hsv-slot{grid-area:1/1;display:grid;opacity:0;visibility:hidden;transition:opacity .15s cubic-bezier(.4,0,.2,1),visibility 0s linear .15s}
.hsv-slot.is-on{opacity:1;visibility:visible;transition:opacity .15s cubic-bezier(.4,0,.2,1)}
.hsv-pf{background:var(--navy);color:#fff;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 18px 44px rgba(var(--ss-navy-deep-rgb),.16)}
.hsv-pf__case{display:block}
.hsv-pf__im{display:block;position:relative;aspect-ratio:440/250;background:var(--navy2);overflow:hidden}
.hsv-pf__im img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.hsv-pf__mult{position:absolute;left:18px;bottom:16px;background:var(--gold);color:var(--navy);border-radius:12px;padding:8px 12px;font-size:36px;font-weight:700;line-height:1;letter-spacing:-.02em}
.hsv-pf__mult small{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;margin-top:4px}
/* chip corner per service (ss_hsv_config `chip`) where bottom-left would cover the photo's subject */
.hsv-pf__mult--tl{bottom:auto;top:16px}
.hsv-pf__mult--br{left:auto;right:18px}
.hsv-pf__ct{display:block;padding:20px 24px 0;font-size:14px;line-height:1.45;color:var(--on-navy)}
.hsv-pf__ct b{display:block;color:#fff;font-size:17px;line-height:1.3;margin-bottom:4px}
.hsv-pf__case:hover .hsv-pf__ct b{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.hsv-pf__bd{padding:16px 24px 22px;display:flex;flex-direction:column;gap:16px;flex:1}
.hsv-pf__ai{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;font-size:14px;line-height:1.45;color:var(--on-navy);background:rgba(255,255,255,.06);border-radius:12px;padding:10px 12px}
.hsv-pf__ai svg{width:18px;height:18px;color:var(--gold);margin-top:1px}
.hsv-pf__ai b{color:#fff}
.hsv-rv{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"av q" "av who";gap:4px 14px;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;margin:0}
.hsv-rv__av{grid-area:av;position:relative;width:44px;height:44px}
.hsv-rv__av>img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--gold-soft)}
.hsv-rv__src{position:absolute;right:-5px;bottom:-3px;width:20px;height:20px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.hsv-rv__src img{width:12px;height:12px;object-fit:contain}
.hsv-rv__q{grid-area:q;margin:0;font-size:15px;font-weight:700;line-height:1.4;color:#fff}
.hsv-rv__who{grid-area:who;font-size:12.5px;line-height:1.35;color:var(--mist)}
.hsv-rv__who b{color:#fff}
.hsv-rv__who span:before{content:", "}
.hsv-pf__cnt{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px 12px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);padding-top:14px;font-size:14px;color:var(--on-navy)}
.hsv-pf__cnt b{color:#fff}
.hsv-pf__cnt a{color:var(--gold);font-weight:700;display:inline-flex;align-items:center;gap:6px}
.hsv-pf__cnt a svg{width:13px;height:13px}
@media (max-width:760px){
  .hsv-aside,.hsv-go{display:none}
  .hsv-n svg{width:20px;height:20px}
  .hsv-tg{display:grid;place-items:center;position:absolute;right:14px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:var(--gold);color:var(--navy);padding:0;cursor:pointer}
  .hsv-tg:after{content:"";position:absolute;inset:-4px;border-radius:50%}
  .hsv-tg svg{width:16px;height:16px;transition:transform .15s}
  .hsv-tg[aria-expanded="true"] svg{transform:rotate(180deg)}
  .hsv-row.is-on .hsv-inl{display:block;padding:0 12px 12px}
  .hsv-pf__im{aspect-ratio:16/9}
  .hsv-pf__ct{padding:16px 18px 0}
  .hsv-pf__bd{padding:14px 18px 18px}
}

/* ---------- accordions (switch reasons + FAQ) ---------- */
.hv2-acc__h{font-size:inherit;font-weight:inherit;letter-spacing:0}
.hv2-acc__btn{all:unset;box-sizing:border-box;display:grid;align-items:center;width:100%;cursor:pointer;border-radius:16px}
.hv2-acc__btn:focus:not(:focus-visible){outline:none}.hv2-acc__btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.hv2-plus{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--navy);flex:none;transition:transform .2s}
.hv2-plus svg{width:14px;height:14px}
.hv2-acc__item.is-open .hv2-plus{transform:rotate(45deg)}
.hv2-acc__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}
.hv2-acc__item.is-open>.hv2-acc__body{grid-template-rows:1fr}
.hv2-acc__body>div{overflow:hidden;min-height:0}
.hv2-acc__item:not(.is-open)>.hv2-acc__body>div{visibility:hidden;transition:visibility 0s .2s}

/* ---------- why switch ---------- */
/* photo collage: 2 columns x 3 rows, tile 1 spans the top row; rows stretch to the accordion column's height */
.hv2-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(150px,1.25fr) minmax(120px,1fr) minmax(120px,1fr);gap:10px}
.hv2-collage__t{border-radius:18px;overflow:hidden;background:var(--ground);min-height:0}
.hv2-collage__t--1{grid-column:span 2}
.hv2 .hv2-collage__t img{width:100%;height:100%;object-fit:cover}
.hv2 .hv2-collage__t--1 img{object-position:50% 60%}
.hv2-collage__vid{position:relative;background:var(--navy2) url(/media/smartsites-office-broll-poster.webp) center/cover no-repeat}
.hv2 .hv2-collage__vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hv2-sw__list .hv2-acc__body p{padding:0 80px 22px 84px;color:var(--ink2);font-size:15.5px;line-height:1.5}
/* switch accordion motion <= 150 ms (outranks the .2s defaults in this sheet and in ss-hover.css) */
.hv2-sw__list .hv2-acc__btn .hv2-plus{transition:transform .15s,box-shadow .15s}
.hv2-sw__list .hv2-acc__body{transition:grid-template-rows .15s ease}
.hv2-sw__list .hv2-acc__item:not(.is-open)>.hv2-acc__body>div{transition:visibility 0s .15s}
@media (max-width:1000px){.hv2-collage{grid-template-rows:none;grid-auto-rows:auto}.hv2-collage__t{aspect-ratio:4/3}.hv2-collage__t--1{aspect-ratio:16/9}}
@media (max-width:560px){.hv2-sw__list .hv2-acc__body p{padding:0 14px 18px 66px;font-size:15px}}

/* ==== Services + Switching = one system (Mike 2026-10-01: the two sections "look inconsistent").
   .hv2-pair: H2 above both columns (.hv2-h2, 32px below), then content 62 / visual 38 with a 56px gutter, mirrored
   in #why (--flip: visual 38 / content 62), so both share outer edges, column widths and gutter. Visuals stretch to
   their list (same top and bottom edge), radius 18. One row component for .hsv-row and the #why accordion item:
   1.5px stroke, radius 16, white, min 94px + stroke, 46px navy chip with gold glyph (radius 12), 20px/700 navy title,
   15.5px sub, 40px gold circle button (arrow / plus); active (.is-on / .is-open) = navy stroke + soft shadow.
   Section padding: 68px each side (44px phones) from the seam rule. Phones: 40px chips, 18px titles, 40px buttons. */
.hv2-pair__h{margin-bottom:32px}
.hv2-pair{display:grid;grid-template-columns:minmax(0,62fr) minmax(0,38fr);column-gap:56px;align-items:stretch}
.hv2-pair--flip{grid-template-columns:minmax(0,38fr) minmax(0,62fr)}
.hsv-li,.hv2-sw__list{display:grid;gap:14px;align-content:start}
.hsv-row,.hv2-sw__list .hv2-acc__item{border-radius:16px;border:1.5px solid rgba(var(--ss-navy-deep-rgb),.2);background:#fff;min-width:0;transition:border-color .15s,box-shadow .15s}
.hsv-row.is-on,.hv2-sw__list .hv2-acc__item.is-open{border-color:var(--navy);box-shadow:0 10px 30px rgba(var(--ss-navy-deep-rgb),.08)}
.hsv-a,.hv2-sw__btn{display:grid;grid-template-columns:46px minmax(0,1fr) 40px;column-gap:18px;align-items:center;align-content:center;min-height:94px;padding:16px 22px 16px 20px}
.hsv-a{row-gap:4px}
.hsv-n,.hv2-sw__num{width:46px;height:46px;border-radius:12px;background:var(--navy);color:var(--gold);display:grid;place-items:center;align-self:center}
.hsv-n{grid-row:1/span 2}
.hv2-sw__num{font-weight:700;font-size:18px;line-height:1;font-variant-numeric:tabular-nums}
.hsv-nm,.hv2-sw__title{font-size:20px;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--navy);overflow-wrap:anywhere}
.hsv-nm{grid-column:2;grid-row:1}
.hsv-ln{grid-column:2;grid-row:2;font-size:15.5px;line-height:1.5;color:var(--ink2)}
.hv2-sw__title mark{color:var(--ss-navy);background:var(--ss-blue-shine);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700;padding:0}
.hsv-go,.hv2-sw__list .hv2-plus{width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;align-self:center}
.hsv-go{grid-column:3;grid-row:1/span 2;transition:background-color .15s}
.hsv-go svg,.hv2-sw__list .hv2-plus svg{width:14px;height:14px}
@media (max-width:1000px){
  .hv2-pair--flip{grid-template-columns:1fr;row-gap:28px}
  .hv2-pair--flip>.hv2-sw__main{order:-1}
}
@media (max-width:760px){.hv2-pair.hsv{grid-template-columns:1fr}.hsv-go{display:none}.hv2-pair__h{margin-bottom:24px}}
@media (max-width:560px){
  .hsv-a,.hv2-sw__btn{grid-template-columns:40px minmax(0,1fr) 40px;column-gap:12px;min-height:84px;padding:14px}
  .hsv-a{grid-template-columns:40px minmax(0,1fr);padding-right:66px}
  .hsv-n,.hv2-sw__num{width:40px;height:40px;border-radius:10px}
  .hv2-sw__num{font-size:16px}
  .hsv-nm,.hv2-sw__title{font-size:18px}
  .hsv-ln{font-size:15px}
}
/* desktop: the aside adds no height of its own (height 0 + min-height 100%), so the case card is exactly as tall as
   the list and the photo absorbs the difference */
@media (min-width:761px){
  .hsv-aside{height:0;min-height:100%}
  .hsv-slot,.hsv-pf{min-height:0;height:100%}
  .hsv-pf__case{display:flex;flex-direction:column;flex:1 1 0;min-height:0}
  .hsv-pf__im{aspect-ratio:auto;flex:1 1 0;min-height:120px}
  .hsv-pf__im img{position:absolute;inset:0}
  .hsv-pf__bd{flex:none}
}

/* ---------- reviews ---------- */
.hv2-rv__top{display:grid;justify-items:start;gap:18px;margin-bottom:34px}
.hv2-rv__top .hv2-h2{max-width:17ch}
.hv2-rv__note{font-size:13px;color:var(--ink3);margin-top:22px}
.hv2-map{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
.hv2-map__stats{display:flex;gap:10px 28px;flex-wrap:wrap;margin-bottom:22px;font-size:14px;color:var(--ink2)}
.hv2-map__stats b{display:block;font-size:30px;font-weight:700;color:var(--navy);letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.hv2-map__ctl{display:flex;justify-content:space-between;align-items:center;gap:12px 20px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.hv2-by{display:flex;gap:6px;align-items:center;font-size:13.5px;color:var(--ink3);flex-wrap:wrap}
.hv2-by button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:7px 13px;font:600 13.5px/1 var(--font);color:var(--ink2);cursor:pointer}
.hv2-by button[aria-pressed="true"]{border-color:var(--navy);background:var(--navy);color:#fff}
.hv2-leg{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink3)}
.hv2-leg span{display:inline-flex;align-items:center;gap:6px}
.hv2-leg i{width:10px;height:10px;border-radius:3px;display:inline-block}
.hv2-leg .r5,.hv2-dots i{background:var(--ss-gold)}
.hv2-leg .r4,.hv2-dots i.r4{background:var(--ss-gold-pale)}
.hv2-leg .r3,.hv2-dots i.r3{background:var(--ss-mist)}
.hv2-leg .r0,.hv2-dots i.r0{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ss-on-navy)}
.hv2-rows{display:grid;gap:12px;min-height:520px;align-content:start}
.hv2-rows.is-ready{min-height:0}
.hv2-rows__wait{font-size:14px;color:var(--ink3)}
.hv2-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;align-items:start}
.hv2-row__l{font-size:14px;font-weight:700;line-height:1.25;padding-top:1px}
.hv2-row__l small{display:block;font-weight:500;color:var(--ink3);font-size:12.5px;font-variant-numeric:tabular-nums}
.hv2-dots{display:flex;flex-wrap:wrap;gap:2px;min-width:0}
.hv2-dots i{width:8px;height:8px;border-radius:2px;cursor:pointer;transition:transform .12s}
.hv2-dots i.ft{box-shadow:0 0 0 2px var(--navy);position:relative;z-index:1}
.hv2-dots i:hover,.hv2-dots i.on{transform:scale(1.9);box-shadow:0 0 0 1.5px var(--navy);position:relative;z-index:2}
.hv2-panel{position:sticky;top:calc(var(--hdr) + 24px);border-radius:22px;background:var(--navy);color:#fff;overflow:hidden;min-height:420px;display:grid;grid-template-rows:auto 1fr auto}
.hv2-panel:empty{visibility:hidden}
.hv2-panel__ph{height:190px;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(ellipse 70% 60% at 50% 100%,rgba(255,255,255,.175),rgba(255,255,255,0) 70%),var(--navy2)}
.hv2-panel__ph img{height:180px;width:auto;max-width:90%;object-fit:contain;object-position:50% 100%}
.hv2-panel__ph img.sq{width:120px;height:120px;border-radius:50%;object-fit:cover;margin-bottom:34px;border:3px solid rgba(var(--ss-gold-rgb),.6)}
.hv2-panel__ini{width:96px;height:96px;border-radius:50%;background:var(--navy3);border:2px solid rgba(var(--ss-gold-rgb),.6);display:grid;place-items:center;font-size:34px;font-weight:700;color:var(--gold);margin-bottom:40px}
.hv2-panel__bd{padding:22px 24px 8px;display:grid;gap:10px;align-content:start}
.hv2-panel__q{font-size:17px;line-height:1.45;font-weight:500}
.hv2-panel__q.muted{color:var(--on-navy);font-size:15px}
.hv2-panel__n{font-size:14px;color:var(--mist)}
.hv2-panel__n b{display:block;color:#fff;font-size:15.5px}
.hv2-panel__ft{padding:14px 24px 20px;border-top:1px solid var(--navy-line);display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;color:var(--mist)}
.hv2-panel__ft button{white-space:nowrap;background:none;border:1px solid var(--navy-line);color:#fff;border-radius:99px;padding:7px 12px;font:600 12.5px/1 var(--font);cursor:pointer}
.hv2-panel__ft button:hover{border-color:var(--gold);color:var(--gold)}
.hv2-feat{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:22px;font-size:13px;color:var(--ink3)}
.hv2-feat[hidden]{display:none}
.hv2-feat button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:99px;padding:4px 12px 4px 4px;font:600 13px/1 var(--font);color:var(--ink);cursor:pointer}
.hv2-feat button img{width:30px;height:30px;border-radius:50%;object-fit:cover;object-position:50% 15%;background:var(--gold-soft)}
.hv2-feat button:hover{border-color:var(--navy)}
@media (max-width:1000px){.hv2-map{grid-template-columns:1fr}.hv2-panel{position:static;min-height:0}}
@media (max-width:620px){.hv2-row{grid-template-columns:1fr;gap:6px}.hv2-dots i{width:7px;height:7px}.hv2-map__stats b{font-size:24px}.hv2-rows{min-height:900px}}

/* option B: by reason */
.hv2-rs__pills{display:flex;gap:8px;margin-bottom:30px;overflow-x:auto;scrollbar-width:none;padding:2px}
.hv2-rs__pills::-webkit-scrollbar{display:none}
.hv2-rs__pills button{flex:none;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:11px 18px;font:700 14.5px/1 var(--font);cursor:pointer;white-space:nowrap}
.hv2-rs__pills button[aria-selected="true"]{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.hv2-rs__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hv2-rs__card{border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;box-shadow:0 8px 28px rgba(var(--ss-navy-deep-rgb),.05);min-width:0}
.hv2-rs__hd{background:var(--ss-gold-grad);color:var(--navy);font-weight:700;font-size:15.5px;line-height:1.3;padding:12px 20px}
.hv2-rs__bd{padding:18px 20px 8px;display:grid;gap:12px;align-content:start}
.hv2-rs__bd blockquote{font-size:15.5px;color:var(--ink2)}
.hv2-rs__ft{padding:14px 20px 18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}
.hv2-rs__who{display:flex;align-items:center;gap:12px;min-width:0;font-size:13px;color:var(--ink3);line-height:1.3}
.hv2-rs__who img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none;border:2px solid rgba(var(--ss-gold-rgb),.6)}
.hv2-rs__who b{display:block;font-size:15px;color:var(--ink);line-height:1.25}
.hv2-rs__logo{height:22px;width:auto;filter:brightness(0);opacity:.72;flex:none}
.hv2-rs__src{font-weight:700;font-size:15px;opacity:.8}
.hv2-rs__foot{margin-top:26px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--ink3)}
@media (max-width:900px){.hv2-rs__row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.hv2-rs__card{scroll-snap-align:start}}

/* ---------- industries: /experts/ hub cards, compact variant (styles in experts-hub.css; its tokens live on .ex2 there) ---------- */
/* white band since 2026-09-28: light card skin (the /experts/ hub cards are navy-only, so it lives here) */
/* navy again since 2026-09-28 (Mike) */
.hv2-exh{--card-line:rgba(255,255,255,.08);--card-line-strong:rgba(255,255,255,.14);--gold:var(--ss-gold);--gold-soft:var(--ss-gold);--text:var(--ss-snow);--text-2:var(--ss-mist);--shadow:0 10px 30px rgba(0,0,0,.35)}
.hv2 .hv2-exh .exh-ind__name{color:#fff}

/* ---------- people ---------- */
.hv2-wide{border-radius:26px;overflow:hidden;position:relative;aspect-ratio:1600/680;background:var(--ground)}
.hv2-wide img{width:100%;height:100%;object-fit:cover}
.hv2-wide figcaption{position:absolute;left:20px;bottom:18px;background:rgba(var(--ss-navy-deep-rgb),.75);color:#fff;font-size:13px;font-weight:600;padding:7px 12px;border-radius:99px}
.hv2-strip2{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;margin-top:22px;scrollbar-width:none;-ms-overflow-style:none}
.hv2-strip2::-webkit-scrollbar{display:none}
.hv2-strip2-wrap{position:relative}
.hv2-strip2-ctl{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
.hv2-strip2-arr{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.hv2-strip2-arr:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.hv2-strip2-arr:disabled{opacity:.4;cursor:default}
.hv2-strip2--fits .hv2-strip2-ctl{visibility:hidden}
.hv2-strip2 figure{scroll-snap-align:start;display:grid;gap:8px}
.hv2-strip2__fr{border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--ground)}
.hv2-strip2 img{width:100%;height:100%;object-fit:cover}
.hv2-strip2 figcaption{font-size:13px;color:var(--ink3)}
.hv2-note{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);border-radius:24px;overflow:hidden;background:var(--navy);color:#fff;margin-top:56px}
.hv2-note figure{min-height:100%}
.hv2-note figure img{width:100%;height:100%;object-fit:cover;min-height:320px}
.hv2-note__tx{padding:44px 48px;display:grid;gap:16px;align-content:center;justify-items:start}
.hv2-note blockquote{font-size:20px;line-height:1.55;font-weight:500;color:var(--ss-snow)}
.hv2-note__sig{font-size:14px;color:var(--mist)}
.hv2-note__sig b{display:block;color:#fff;font-size:16px}
.hv2-note .hv2-link{color:#fff}
@media (max-width:900px){.hv2-note{grid-template-columns:1fr}.hv2-note__tx{padding:28px 20px}.hv2-note blockquote{font-size:17.5px}.hv2-wide{aspect-ratio:4/3}}


/* People "Family-run" v2 (2026-09-28): tpl-home-v2.php #people .hv2-pp; ?legacy_home_people=1 = the rules above */
.hv2-pp__head{text-align:center;margin:0 auto 40px;max-width:1040px}
@media (min-width:1100px){.hv2-pp__head .hv2-h2{white-space:nowrap}}
.hv2-pp__head .hl{padding-bottom:.14em;margin-bottom:-.14em;padding-right:.06em;margin-right:-.06em;color:var(--ss-navy);background:var(--ss-blue-shine);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hv2-pp .hv2-wide,.hv2-pp .hv2-note{border-radius:16px}
.hv2-pp .hv2-note{margin-top:24px}
.hv2-pp .hv2-note__tx{gap:18px}
.hv2-pp .ss-eyebrow{margin:0}
/* faces bar (mock Option 4) */
/* Faces marquee (Option C, Mike 2026-09-28). The 60 s sideways drift is a deliberate, Mike-approved exception to the
   <=200ms reveal policy: nothing is hidden or delayed, the row is visible at first paint and only moves. Two copies of the
   row in .hv2-pp__trk; each row ends with one gap (padding-right) so translateX(-50%) lands exactly on the copy. */
.hv2-pp__mq{position:relative;overflow:hidden;margin-top:10px;padding:6px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);scrollbar-width:none}
.hv2-pp__mq::-webkit-scrollbar{display:none}
.hv2-pp__trk{display:flex;width:max-content}
/* 120 s loop (Mike: "go slower"); same px/s at every width. Starts when the inline script adds .is-ready (faces loaded). */
.hv2-pp__mq.is-ready .hv2-pp__trk{animation:hv2-pp-mq 120s linear infinite}
.hv2-pp__mq:hover .hv2-pp__trk,.hv2-pp__mq:focus-within .hv2-pp__trk{animation-play-state:paused}
@keyframes hv2-pp-mq{to{transform:translateX(-50%)}}
.hv2-pp__row{display:flex;gap:10px;list-style:none;margin:0;padding:0 10px 0 0}
.hv2-pp__row li{flex:none;margin:0}
.hv2-pp__row img{display:block;width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--navy);cursor:default} /* not links (2026-09-28) */
.hv2-pp__n span{display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--navy);color:#fff;font-size:9.5px;font-weight:600;line-height:1.1;letter-spacing:.02em;text-align:center}
.hv2-pp__n b{color:var(--gold);font-size:16px;font-weight:700;line-height:1;letter-spacing:0}
@media (prefers-reduced-motion:reduce){
  .hv2-pp__mq{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .hv2-pp__mq.is-ready .hv2-pp__trk{animation:none}
  .hv2-pp__row[aria-hidden="true"]{display:none}
}
.hv2-pp__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}
.hv2-pp__chips span{font-size:13px;font-weight:600;line-height:1.2;padding:5px 12px;border-radius:99px;background:var(--ground);border:1px solid var(--line);color:var(--ink2)}

.hv2-pp__links{display:flex;flex-wrap:wrap;gap:14px 28px}
.hv2-pp__links svg{width:10px;height:12px}
/* event mosaic (mock Option 1) */
.hv2-pp__mos{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:230px 230px;gap:16px;margin-top:24px}
.hv2-pp__mos figure{position:relative;margin:0;border-radius:16px;overflow:hidden;background:var(--ground)}
.hv2-pp__mos figure:first-child{grid-row:span 2}
.hv2-pp__mos img{width:100%;height:100%;object-fit:cover;display:block}
.hv2-pp__mos figcaption{position:absolute;left:12px;bottom:12px;background:rgba(var(--ss-navy-deep-rgb),.75);color:#fff;font-size:12.5px;font-weight:600;line-height:1.2;padding:6px 11px;border-radius:99px}
@media (max-width:760px){
  .hv2-pp__head{margin-bottom:24px}
  .hv2-pp .hv2-note{margin-top:16px}
  .hv2-pp__mos{grid-template-columns:1fr 1fr;grid-template-rows:none;gap:10px;margin-top:16px}
  .hv2-pp__mos figure{aspect-ratio:1/1}
  .hv2-pp__mos figure:first-child{grid-row:auto;grid-column:span 2;aspect-ratio:4/3}
  .hv2-pp__mos figcaption{left:8px;bottom:8px;font-size:11.5px;padding:5px 9px}
}
/* film lightbox (<dialog id="hv2-film">) */
.hv2-lb{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:none;margin:auto;padding:52px 0 0;border:0;background:transparent;overflow:visible;color:#fff}
.hv2-lb::backdrop{background:rgba(var(--ss-navy-deep-rgb),.9)}
.hv2-lb[open]{animation:hv2-lb-in .2s ease-out}
@keyframes hv2-lb-in{from{opacity:0}to{opacity:1}}
.hv2-lb video{display:block;width:100%;height:auto;max-height:calc(100vh - 100px);aspect-ratio:16/9;border-radius:16px;background:#000}
.hv2-lb__x{position:absolute;right:0;top:0;width:44px;height:44px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(var(--ss-navy-deep-rgb),.6);color:#fff;cursor:pointer;transition:border-color .2s}
.hv2-lb video:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

@media (prefers-reduced-motion:reduce){.hv2 *{transition:none!important;animation:none!important}}

/* homepage FAQ band: tighter (Mike 2026-09-28) */
.hv2 #faq.ss-faq{padding:64px 0}
.hv2 #faq .ss-faq__box{--faq-bpad:44px}
.hv2 #faq .ss-faq__head{margin-bottom:24px}
.hv2 #people.hv2-sec{padding-bottom:72px}
/* services -> "Why businesses switched": both now take the seam rule's 68 / 44 px on every side (Mike 2026-10-01, one system) */

/* ==== Section seams (engine rule; Mike 2026-09-29 "tighten up a bit ... below the element above and above this next headline").
   Two stacked sections at their default padding put ~200px between the last card of one and the heading of the next.
   Where a section directly follows another one (a <link>/<script>/<style> printed between them is skipped), each side of
   that seam drops to 68px: ~136px from the last card / line to the next heading (44px each, ~88px, at <=760).
   Only default padding moves: the selectors outrank the family default but not the engine / page overrides, so seams
   already tuned by hand (.szig+.sv2-sec, #id.sv2-sec, .svc2 .ssub-res.sv2-sec ...) keep their numbers.
   Same rule per family: services-hub-v2.css (.sv2-sec kit), home-v2.css, company-v2.css, location-v2.css,
   experts-v2.css; the FAQ side is in ss-faq.css. */
/* (0,1,1) beats .hv2-sec (0,1,0); .hv2 #id.hv2-sec overrides (services/why, people, results) keep their numbers. */
:where(.hv2-sec,.hv2-awsec,.hrf)+section.hv2-sec,
:where(.hv2-sec,.hv2-awsec,.hrf)+:where(link,script,style)+section.hv2-sec{padding-top:68px}
section.hv2-sec:has(+:where(.hv2-sec,.hrf,.ss-faq),+:where(link,script,style)+:where(.hv2-sec,.hrf,.ss-faq)){padding-bottom:68px}
@media (max-width:760px){
:where(.hv2-sec,.hv2-awsec,.hrf)+section.hv2-sec,
:where(.hv2-sec,.hv2-awsec,.hrf)+:where(link,script,style)+section.hv2-sec{padding-top:44px}
section.hv2-sec:has(+:where(.hv2-sec,.hrf,.ss-faq),+:where(link,script,style)+:where(.hv2-sec,.hrf,.ss-faq)){padding-bottom:44px}
}
