/* Vector Professions Finance: homepage V2 ("fresh lift").
   Loaded on the homepage only and scoped to body.home-v2.
   No new colours: every colour is a var() from styles.css (DESIGN.md 3.1),
   and the only alphas are the existing shadow values rgba(86,91,97,.31) and rgba(0,0,0,.18). */

.home-v2{--radius-card:8px;--shadow-soft:0 2px 10px rgba(86,91,97,.31);--shadow-lift:0 8px 22px rgba(0,0,0,.18)}

/* shared bits */
.home-v2 .hv2-section{padding-block:var(--s7)}
@media (max-width:760px){.home-v2 .hv2-section{padding-block:var(--s6)}}
.home-v2 .hv2-head{text-align:center;max-width:46rem;margin:0 auto var(--s5)}
.home-v2 .hv2-head h2{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.01em;color:var(--navy);margin-bottom:var(--s2)}
.home-v2 .hv2-head p{font-size:var(--fs-md);line-height:1.6;color:var(--ink);margin:0}
.home-v2 .hv2-center{text-align:center;margin:var(--s5) 0 0}
.home-v2 .hv2-small{text-align:center;font-size:var(--fs-xs);color:var(--slate);margin:var(--s2) 0 0}
.home-v2 .hv2-btn{border-radius:var(--radius-card);padding:.95rem 1.9rem;min-height:3rem}
.home-v2 .hv2-ico{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* 1. hero: calm navy to blue band, no overlay */
.home-v2 .hv2-hero{position:relative;background:linear-gradient(120deg,var(--navy) 0%,var(--blue) 100%);color:var(--white);overflow-x:clip}
.home-v2 .hv2-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--s4);padding-top:var(--s6)}
.home-v2 .hv2-hero__text{align-self:center;padding-block:0 calc(var(--s5) + var(--trust-lift));max-width:44rem}
.home-v2 .hv2-eyebrow{font-family:var(--font-head);font-size:var(--fs-sm);font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--white);margin:0 0 var(--s2)}
.home-v2 .hv2-hero h1{font-size:clamp(2.5rem,1.3rem + 4.4vw,4.5rem);font-weight:700;line-height:1.06;letter-spacing:-.02em;color:var(--white);margin:0 0 var(--s3)}
.home-v2 .hv2-lead{font-size:clamp(1.125rem,1rem + .4vw,1.3125rem);line-height:1.65;color:var(--white);max-width:40ch;margin:0 0 var(--s4)}
.home-v2 .hv2-actions{display:flex;flex-wrap:wrap;gap:var(--s2)}
.home-v2 .hv2-btn--outline{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-head);font-weight:700;font-size:var(--fs-md);line-height:1.3;color:var(--white);background:transparent;border:2px solid var(--white);border-radius:var(--radius-card);padding:calc(.95rem - 2px) 1.75rem;text-decoration:none;transition:background-color .2s,color .2s}
.home-v2 .hv2-btn--outline .hv2-num{font-weight:500}
.home-v2 .hv2-btn--outline:hover,.home-v2 .hv2-btn--outline:focus-visible{background:var(--white);color:var(--navy);text-decoration:underline}
/* walking cheetah: paws grounded on the trust card's top edge.
   The image has 4.72% of its width as transparent space under the lowest paw (shadow room). */
.home-v2 .hv2-cheetah{--cw:28rem;position:relative;z-index:4;width:var(--cw);max-width:none;align-self:end;justify-self:end;margin:0 -1rem calc(var(--trust-lift) - var(--cw) * .0472) 0;pointer-events:none}
@media (max-width:1100px){.home-v2 .hv2-cheetah{--cw:21rem;margin-right:-.5rem}}
@media (max-width:760px){
  .home-v2 .hv2-hero .wrap{grid-template-columns:1fr;padding-top:var(--s5);gap:0}
  .home-v2 .hv2-hero__text{padding-bottom:var(--s3)}
  .home-v2 .hv2-actions .btn,.home-v2 .hv2-actions .hv2-btn--outline{flex:1 1 12rem;justify-content:center;text-align:center}
  .home-v2 .hv2-cheetah{--cw:10.5rem;justify-self:end;margin:-.5rem .25rem calc(var(--trust-lift) - var(--cw) * .0472) 0}
}

/* 2. trust card: white card lifted over the hero's bottom edge */
.home-v2{--trust-lift:2.5rem}
.home-v2 .hv2-trust{display:flow-root;background:var(--white)}
.home-v2 .hv2-trust .wrap{position:relative;z-index:3;margin-top:calc(var(--trust-lift) * -1)}
.home-v2 .hv2-trust__card{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lift);overflow:hidden}
.home-v2 .hv2-trust__card li{display:flex;align-items:center;gap:.875rem;min-height:6.5rem;padding:var(--s3) var(--s3);background:var(--white)}
.home-v2 .hv2-trust__ico{flex:none;display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--ice);color:var(--blue)}
.home-v2 .hv2-trust__ico svg{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .hv2-trust__badge{flex:none;display:grid;place-items:center;width:3rem;height:4rem}
.home-v2 .hv2-trust__badge img{width:auto;height:4rem}
.home-v2 .hv2-trust__txt{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.home-v2 .hv2-trust__txt strong{font-family:var(--font-head);font-weight:700;font-size:var(--fs-md);line-height:1.2;color:var(--navy)}
.home-v2 .hv2-trust__txt span{font-size:var(--fs-xs);line-height:1.4;color:var(--slate)}
.home-v2 .hv2-trust + .hv2-steps-band{padding-top:var(--s6)}
@media (max-width:1100px){
  .home-v2 .hv2-trust__card{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .home-v2{--trust-lift:2rem}
  .home-v2 .hv2-trust__card li{flex-direction:column;justify-content:flex-start;text-align:center;gap:.5rem;min-height:9.5rem;padding:var(--s3) var(--s2)}
  .home-v2 .hv2-trust__txt{align-items:center}
  .home-v2 .hv2-trust__txt strong{font-size:var(--fs-base)}
  .home-v2 .hv2-trust__ico{width:2.75rem;height:2.75rem}
  /* same 3.25rem icon slot in every cell so values line up across each row */
  .home-v2 .hv2-trust__ico{margin-block:.25rem}
  .home-v2 .hv2-trust__badge{width:auto;height:3.25rem}
  .home-v2 .hv2-trust__badge img{height:3.25rem}
}

/* 4. how it works */
.home-v2 .hv2-steps-band{background:var(--white)}
.home-v2 .hv2-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);counter-reset:none}
.home-v2 .hv2-steps li{text-align:center;padding:0 var(--s2)}
.home-v2 .hv2-step__n{display:inline-grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--blue);color:var(--white);font-family:var(--font-head);font-weight:700;font-size:var(--fs-lg);margin-bottom:var(--s2)}
.home-v2 .hv2-steps h3{font-size:var(--fs-md);font-weight:700;color:var(--navy);margin-bottom:var(--s1)}
.home-v2 .hv2-steps p{margin:0;color:var(--ink);max-width:32ch;margin-inline:auto}
@media (max-width:760px){.home-v2 .hv2-steps{grid-template-columns:1fr;gap:var(--s4)}}

/* 5. uses and benefits: open layout on a flat mist band, no boxed-in cards */
.home-v2 .hv2-ub{background:var(--mist)}
.home-v2 .hv2-uses{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s2)}
.home-v2 .hv2-uses li{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:.75rem;min-height:8.5rem;padding:var(--s3) var(--s2);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);font-family:var(--font-head);font-weight:500;font-size:var(--fs-base);line-height:1.3;color:var(--navy);text-wrap:balance}
.home-v2 .hv2-uses__ico{flex:none;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--ice);color:var(--blue)}
.home-v2 .hv2-uses__ico svg{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .hv2-head--benefits{margin-top:0}
/* tick in a green circle: white tick (5.58:1 on #017752) */
.home-v2 .hv2-tick{flex:none;position:relative;display:inline-block;width:1.375rem;height:1.375rem;border-radius:50%;background:var(--green)}
.home-v2 .hv2-tick::after{content:"";position:absolute;left:50%;top:45%;width:.3rem;height:.6rem;border:solid var(--white);border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}
.home-v2 .hv2-tick--lg{width:3rem;height:3rem}
.home-v2 .hv2-tick--lg::after{width:.6rem;height:1.15rem;border-width:0 3px 3px 0}
.home-v2 .hv2-feats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:var(--s3)}
.home-v2 .hv2-feats li{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);padding:var(--s4) var(--s4) var(--s3)}
.home-v2 .hv2-feats h3{font-size:var(--fs-md);font-weight:700;color:var(--navy);margin:var(--s2) 0 var(--s1)}
.home-v2 .hv2-feats p{margin:0;color:var(--ink);font-size:var(--fs-base);line-height:1.6}
.home-v2 .hv2-pills{list-style:none;margin:var(--s4) auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;max-width:62rem}
.home-v2 .hv2-pills li{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.1rem .6rem .7rem;background:var(--white);border:1px solid var(--border);border-radius:999px;font-size:var(--fs-sm);line-height:1.3;color:var(--ink)}
.home-v2 .hv2-pills strong{font-family:var(--font-head);font-weight:500;color:var(--navy)}
.home-v2 .hv2-pills li > span:not(.hv2-tick){color:var(--slate)}
.home-v2 .hv2-callout{max-width:46rem;margin:var(--s5) auto 0;background:var(--ice);border-left:4px solid var(--blue);border-radius:0 var(--radius-card) var(--radius-card) 0;padding:var(--s2) var(--s3)}
.home-v2 .hv2-callout p{margin:0;font-size:var(--fs-sm);line-height:1.6;color:var(--black)}
.home-v2 .hv2-actions--center{justify-content:center;margin-top:var(--s4)}
.home-v2 .hv2-btn--outline-light{color:var(--blue);border-color:var(--blue);background:var(--white)}
.home-v2 .hv2-btn--outline-light:hover,.home-v2 .hv2-btn--outline-light:focus-visible{background:var(--blue);color:var(--white)}

@media (max-width:960px){
  .home-v2 .hv2-uses{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-v2 .hv2-uses li{flex-direction:row;text-align:left;min-height:4.5rem;padding:var(--s2)}
  .home-v2 .hv2-feats{grid-template-columns:1fr}
  .home-v2 .hv2-feats li{display:grid;grid-template-columns:auto 1fr;column-gap:var(--s3);align-items:start;padding:var(--s3)}
  .home-v2 .hv2-feats .hv2-tick--lg{grid-row:span 2}
  .home-v2 .hv2-feats h3{margin-top:.35rem}
}

@media (max-width:560px){
  .home-v2 .hv2-uses{gap:.625rem}
  .home-v2 .hv2-uses li{flex-direction:column;text-align:center;gap:.5rem;padding:var(--s2) .625rem;min-height:7rem;font-size:var(--fs-sm)}
  .home-v2 .hv2-feats .hv2-tick--lg{width:2.25rem;height:2.25rem}
  .home-v2 .hv2-feats .hv2-tick--lg::after{width:.45rem;height:.85rem;border-width:0 2.5px 2.5px 0}
  .home-v2 .hv2-feats li{column-gap:var(--s2)}
  .home-v2 .hv2-feats h3{margin-top:.15rem}
  .home-v2 .hv2-pills{flex-direction:column;align-items:stretch;gap:.5rem}
  .home-v2 .hv2-pills li{border-radius:var(--radius-card)}
  .home-v2 .hv2-actions--center .btn,.home-v2 .hv2-actions--center .hv2-btn--outline{flex:1 1 100%;justify-content:center;text-align:center}
}

/* 7. FAQ */
.home-v2 .hv2-faq{background:var(--mist)}
.home-v2 .hv2-faq__list{max-width:50rem;margin-inline:auto;display:grid;gap:var(--s2)}
.home-v2 .hv2-faq details{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}
.home-v2 .hv2-faq summary{list-style:none;cursor:pointer;position:relative;padding:var(--s3) 3.5rem var(--s3) var(--s3);font-family:var(--font-head);font-weight:500;font-size:var(--fs-md);line-height:1.35;color:var(--navy);border-radius:var(--radius-card)}
.home-v2 .hv2-faq summary::-webkit-details-marker{display:none}
.home-v2 .hv2-faq summary::after{content:"+";position:absolute;right:var(--s3);top:50%;transform:translateY(-50%);font-size:1.75rem;line-height:1;color:var(--blue)}
.home-v2 .hv2-faq details[open] summary::after{content:"\2212"}
.home-v2 .hv2-faq summary:hover{text-decoration:underline}
.home-v2 .hv2-faq details > div{padding:0 var(--s3) var(--s3)}
.home-v2 .hv2-faq details p{margin:0;color:var(--ink)}

/* 6. testimonials: bigger quote cards on the ice band */
.home-v2 .hv2-testimonials{background:var(--ice);padding-block:var(--s7)}
.home-v2 .hv2-testimonials h2{margin-bottom:var(--s5)}
.home-v2 .hv2-testimonials .t-grid{gap:var(--s4)}
.home-v2 .hv2-testimonials blockquote{border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);padding:var(--s5) var(--s4) var(--s4);font-style:normal;font-size:var(--fs-md);line-height:1.55;margin-bottom:var(--s3)}
.home-v2 .hv2-testimonials blockquote::before{content:"\201C";position:absolute;top:.25rem;left:var(--s3);font-family:var(--font-head);font-weight:700;font-size:5rem;line-height:1;color:var(--sky)}
.home-v2 .hv2-testimonials blockquote::after{border-color:var(--border)}
.home-v2 .hv2-testimonials blockquote p{position:relative}
.home-v2 .hv2-testimonials figcaption{font-size:var(--fs-base)}
.home-v2 .hv2-testimonials figcaption img{width:3.5rem;height:3.5rem}
.home-v2 .hv2-testimonials .t-name{font-family:var(--font-head);font-weight:700;color:var(--navy)}
.home-v2 .hv2-testimonials .t-role{font-weight:600;color:var(--ink)}
@media (max-width:760px){.home-v2 .hv2-testimonials{padding-block:var(--s6)}}

/* 8. sticky mobile action bar */
.home-v2 .hv2-mbar{display:none}
@media (max-width:760px){
  .home-v2 .site-footer{padding-bottom:calc(var(--s4) + 4.75rem + env(safe-area-inset-bottom,0px))}
  .home-v2 .hv2-mbar{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--white);border-top:1px solid var(--border);box-shadow:0 -4px 14px rgba(0,0,0,.18);padding:.625rem 1rem calc(.625rem + env(safe-area-inset-bottom,0px))}
  .home-v2 .hv2-mbar a{display:flex;align-items:center;justify-content:center;min-height:3rem;border-radius:var(--radius-card);font-family:var(--font-head);font-weight:700;font-size:var(--fs-base);text-decoration:none}
  .home-v2 .hv2-mbar__call{color:var(--blue);background:var(--white);border:2px solid var(--blue)}
  .home-v2 .hv2-mbar__apply{color:var(--white);background:var(--green)}
  .home-v2 .hv2-mbar a:hover,.home-v2 .hv2-mbar a:focus-visible{text-decoration:underline}
}

/* V3: homepage mobile menu without the Services dropdown (desktop dropdown unchanged).
   Scoped to the homepage so inner pages keep the V1 header behaviour. */
@media (max-width:960px){.home-v2:not(.v3-inner) .nav .has-sub{display:none}}

/* V3: wordmark option B (homepage header only; inner pages keep the V1 Varela Round wordmark).
   Ubuntu 700 tracked caps over Ubuntu 500 small tracked caps, matching v3/wordmark-options.png. */
.home-v2 .brand{gap:.875rem}
.home-v2 .brand img{width:4.25rem}
.home-v2 .wm{display:flex;flex-direction:column;line-height:1;white-space:nowrap}
.home-v2 .wm__name{font-family:var(--font-head);font-weight:700;font-size:1.5rem;letter-spacing:.24em;color:var(--navy)}
.home-v2 .wm__sub{font-family:var(--font-head);font-weight:500;font-size:.625rem;letter-spacing:.335em;text-transform:uppercase;color:var(--slate);margin-top:.375rem}
@media (max-width:560px){
  .home-v2 .brand{gap:.625rem}
  .home-v2 .brand img{width:3.125rem}
  .home-v2 .wm__name{font-size:1.25rem}
  .home-v2 .wm__sub{font-size:.53125rem;letter-spacing:.28em}
}
@media (max-width:359px){
  .home-v2 .site-header .wrap{gap:.75rem}
  .home-v2 .brand{gap:.5rem}
  .home-v2 .brand img{width:2.75rem}
  .home-v2 .wm__name{font-size:1.125rem;letter-spacing:.2em}
  .home-v2 .wm__sub{letter-spacing:.2em}
}

/* V3: benefits on their own band with a subtle parallax photo (inn cloister) under a navy overlay.
   No JS or reduced motion: the photo layer simply covers the band (inset:0), no movement. */
.home-v2 .hv2-ben{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);color:var(--white)}
.home-v2 .hv2-par{position:absolute;left:0;right:0;top:0;bottom:0;z-index:-2;will-change:transform}
.home-v2 .hv2-par__img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.home-v2 .hv2-ben::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--navy);opacity:.88}
.home-v2 .hv2-ben .hv2-head h2{color:var(--white)}
.home-v2 .hv2-ben .hv2-head p{color:var(--white)}
.home-v2 .hv2-ben .hv2-feats li{box-shadow:var(--shadow-lift);border-color:transparent}
.home-v2 .hv2-ben .hv2-pills li{border-color:transparent}
.home-v2 .hv2-ben .hv2-callout{border-left-color:var(--sky)}

/* V4 (John, 21 Oct 2026): case studies as a "featured story" (replaces the V3 card carousel).
   Base, without JS or when printing: every story open, one after another, divided by hairlines.
   js/home-v3.js then switches the section to ARIA tabs from 861px (.is-tabs: story titles listed on the left,
   one open story panel on the right) or to a light accordion below that (.is-acc: title rows with chevrons,
   one open at a time, the first open by default). The Challenge, Solution, Outcome steps are a small flow
   joined by the How it works connector colour (--sky, #9acfe2). Existing palette only; motion lives in motion.css. */
.home-v2 .hv2-cases{background:var(--mist);color:var(--ink)}
.home-v2 .hv2-cases__top{margin-bottom:var(--s4)}
.home-v2 .hv2-cases__top h2{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.01em;color:var(--navy);margin:0}
.home-v2 .hv2-stories__tabs{display:none}
.home-v2 .hv2-story{border-top:1px solid var(--border);padding-block:var(--s4)}
.home-v2 .hv2-story:last-child{border-bottom:1px solid var(--border)}
.home-v2 .hv2-story__h{display:flex;align-items:center;gap:.875rem;font-size:var(--fs-lg);font-weight:700;line-height:1.25;color:var(--navy);margin:0 0 var(--s3)}
.home-v2 .hv2-story__ico,.home-v2 .hv2-stories__tab .hv2-story__ico{flex:none;display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--ice);color:var(--blue)}
.home-v2 .hv2-story__ico svg,.home-v2 .hv2-story__chev{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .hv2-story__t{min-width:0}
.home-v2 .hv2-story__tag{font-family:var(--font-head);font-weight:500;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin:0 0 var(--s1)}
.home-v2 .hv2-story__fig{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .875rem;margin:0 0 var(--s4)}
.home-v2 .hv2-story__fig strong{font-family:var(--font-head);font-weight:700;font-size:clamp(2rem,1.4rem + 2vw,3rem);line-height:1.1;letter-spacing:-.01em;color:var(--green)}
.home-v2 .hv2-story__fig span{font-size:var(--fs-base);line-height:1.5;color:var(--slate)}
/* the three-step flow: open blue dots joined by a 2px sky line (vertical by default) */
.home-v2 .hv2-story__flow{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3)}
.home-v2 .hv2-story__flow li{position:relative;padding-left:2rem}
.home-v2 .hv2-story__flow li::before{content:"";position:absolute;z-index:1;left:0;top:.15rem;width:.875rem;height:.875rem;box-sizing:border-box;border-radius:50%;background:var(--white);border:2px solid var(--blue)}
.home-v2 .hv2-story__flow li:not(:last-child)::after{content:"";position:absolute;left:calc(.4375rem - 1px);top:1.3rem;bottom:calc(var(--s3) * -1 + .15rem);width:2px;background:var(--sky);border-radius:1px;transform-origin:center top}
.home-v2 .hv2-story__flow h4{font-family:var(--font-head);font-weight:700;font-size:var(--fs-xs);line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin:0 0 .35rem}
.home-v2 .hv2-story__flow p{margin:0;line-height:1.6;color:var(--ink)}

/* desktop: tabs on the left, one story panel on the right. All panels share one grid cell, so the panel area is
   always as tall as the longest story and switching never moves anything (CLS 0). */
.home-v2 .is-tabs .hv2-stories__wrap{display:grid;grid-template-columns:minmax(15rem,19rem) minmax(0,1fr);gap:var(--s4);align-items:start}
.home-v2 .is-tabs .hv2-stories__tabs{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.home-v2 .hv2-stories__tab{position:relative;display:flex;align-items:center;gap:.875rem;width:100%;margin:0;padding:var(--s3) var(--s2);background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;text-align:left;font-family:var(--font-head);font-weight:500;font-size:var(--fs-md);line-height:1.3;color:var(--navy);cursor:pointer}
.home-v2 .hv2-stories__tab::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:3px;background:var(--blue);transform:scaleY(0);transform-origin:center}
.home-v2 .hv2-stories__tab .hv2-story__ico{width:2.5rem;height:2.5rem}
.home-v2 .hv2-stories__tab .hv2-story__ico svg{width:22px;height:22px}
.home-v2 .hv2-stories__tab:hover .hv2-stories__t{text-decoration:underline}
.home-v2 .hv2-stories__tab[aria-selected="true"]{background:var(--white);color:var(--blue)}
.home-v2 .hv2-stories__tab[aria-selected="true"]::before{transform:none}
.home-v2 .hv2-stories__tab[aria-selected="true"] .hv2-story__ico{background:var(--blue);color:var(--white)}
.home-v2 .hv2-stories__tab:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.home-v2 .is-tabs .hv2-stories__panels{display:grid}
.home-v2 .is-tabs .hv2-story{grid-area:1 / 1;visibility:hidden;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--s5)}
.home-v2 .is-tabs .hv2-story.is-active{visibility:visible}
.home-v2 .is-tabs .hv2-story:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.home-v2 .is-tabs .hv2-story__h{margin:0 0 var(--s3)}
.home-v2 .is-tabs .hv2-story__h .hv2-story__ico{display:none}
.home-v2 .is-tabs .hv2-story{display:flex;flex-direction:column}
.home-v2 .is-tabs .hv2-story__body,.home-v2 .is-tabs .hv2-story__in{display:contents}
.home-v2 .is-tabs .hv2-story__tag{order:-1}
/* wide panels: each step is a row, its label beside the text, the dots and line running down the left */
@media (min-width:1100px){
  .home-v2 .is-tabs .hv2-story__flow li{display:grid;grid-template-columns:10rem minmax(0,1fr);column-gap:var(--s3);align-items:baseline}
  .home-v2 .is-tabs .hv2-story__flow h4{margin:0}
}
/* mobile and tablet: a light accordion (no cards), title rows with chevrons and hairline dividers */
.home-v2 .is-acc .hv2-story{padding:0}
.home-v2 .is-acc .hv2-story__h{margin:0;font-size:var(--fs-md)}
.home-v2 .hv2-story__btn{display:flex;align-items:center;gap:.875rem;width:100%;min-height:3rem;margin:0;padding:var(--s3) 0;background:none;border:0;border-radius:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
.home-v2 .hv2-story__btn:hover .hv2-story__t{text-decoration:underline}
.home-v2 .hv2-story__btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.home-v2 .is-acc .hv2-story__ico{width:2.5rem;height:2.5rem}
.home-v2 .is-acc .hv2-story__ico svg{width:22px;height:22px}
.home-v2 .hv2-story__chev{flex:none;margin-left:auto;color:var(--blue);stroke-width:2.25}
.home-v2 .hv2-story__btn[aria-expanded="true"] .hv2-story__chev{transform:rotate(180deg)}
.home-v2 .is-acc .hv2-story__body{display:grid;grid-template-rows:1fr}
.home-v2 .is-acc .hv2-story:not(.is-open) .hv2-story__body{grid-template-rows:0fr;visibility:hidden}
.home-v2 .is-acc .hv2-story__in{min-height:0;overflow:hidden;padding-left:calc(2.5rem + .875rem)}
.home-v2 .is-acc .hv2-story__in::after{content:"";display:block;height:var(--s4)}
.home-v2 .is-acc .hv2-story__tag{display:none}
.home-v2 .is-acc .hv2-story__fig{margin-bottom:var(--s3)}
.home-v2 .is-acc .hv2-story__fig strong{font-size:clamp(1.75rem,1.3rem + 2vw,2.25rem)}
.home-v2 .is-acc .hv2-story__fig span{font-size:var(--fs-sm)}
@media (max-width:560px){
  .home-v2 .is-acc .hv2-story__in{padding-left:0}
  .home-v2 .hv2-story__flow p{font-size:var(--fs-sm)}
}
@media (max-width:359px){
  .home-v2 .hv2-cases__top h2{font-size:1.625rem}
  .home-v2 .hv2-story__btn{gap:.625rem}
}
/* Hairline between the #f7f8fe FAQ band and the #dceff3 testimonials band. */
.home-v2 .hv2-testimonials{border-top:1px solid var(--border)}

/* V3: closing CTA. A contained navy-to-blue panel (bookends the hero) on a white band, which also
   separates the mist case studies band from the charcoal footer. The hero cheetah is mirrored
   so it walks into the text, grounded on the panel's bottom edge and stepping out of its top. */
.home-v2 .hv2-cta{background:var(--white);padding-block:calc(var(--s6) + 4rem) var(--s6)}
.home-v2 .hv2-cta__panel{--cw:19rem;position:relative;display:grid;grid-template-columns:var(--cw) minmax(0,1fr);align-items:end;column-gap:var(--s5);padding:0 var(--s5) 0 var(--s4);background:linear-gradient(120deg,var(--navy) 0%,var(--blue) 100%);border-radius:var(--radius-card);box-shadow:var(--shadow-lift);color:var(--white)}
.home-v2 .hv2-cta__cheetah{width:var(--cw);max-width:none;height:auto;transform:scaleX(-1);margin:-6.5rem 0 calc(var(--cw) * -.0472 + .25rem);pointer-events:none;align-self:end}
.home-v2 .hv2-cta__text{align-self:center;padding-block:var(--s5)}
.home-v2 .hv2-cta h2{font-size:clamp(2.25rem,1.4rem + 3vw,3.5rem);font-weight:700;line-height:1.08;letter-spacing:-.02em;color:var(--white);margin:0 0 var(--s2)}
.home-v2 .hv2-cta__strap{font-family:var(--font-head);font-weight:500;font-size:clamp(1.125rem,1rem + .4vw,1.3125rem);line-height:1.5;color:var(--white);margin:0 0 var(--s4)}
.home-v2 .hv2-cta__strap a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.home-v2 .hv2-cta__strap a:hover{text-decoration-thickness:2px}
.home-v2 .hv2-cta :focus-visible{outline-color:var(--sky)}
@media (max-width:1100px){.home-v2 .hv2-cta__panel{--cw:16rem;column-gap:var(--s4);padding-right:var(--s4)}}
@media (max-width:860px){.home-v2 .hv2-cta__panel{--cw:13rem;padding-left:var(--s3)}.home-v2 .hv2-cta__cheetah{margin-top:-4rem}}
@media (max-width:760px){
  .home-v2 .hv2-cta{padding-block:var(--s5)}
  .home-v2 .hv2-cta__panel{--cw:10rem;grid-template-columns:1fr;padding:0 var(--s3);text-align:left}
  .home-v2 .hv2-cta__text{order:-1;padding-block:var(--s4) var(--s2)}
  .home-v2 .hv2-cta__cheetah{justify-self:start;margin:0 0 calc(var(--cw) * -.0472 + .25rem) -.25rem}
  .home-v2 .hv2-cta .hv2-actions .btn,.home-v2 .hv2-cta .hv2-actions .hv2-btn--outline{flex:1 1 12rem;justify-content:center;text-align:center}
}
.home-v2 .hv2-cta__strap a{white-space:nowrap}
@media (max-width:1100px){.home-v2 .hv2-cta{padding-top:calc(var(--s6) + 2rem)}.home-v2 .hv2-cta__cheetah{margin-top:-4rem}}
@media (max-width:860px){.home-v2 .hv2-cta{padding-top:var(--s6)}.home-v2 .hv2-cta__cheetah{margin-top:0}}
@media (max-width:760px){.home-v2 .hv2-cta{padding-top:var(--s5)}}
@media (max-width:420px){
  .home-v2 .hv2-cta .hv2-btn,.home-v2 .hv2-cta .hv2-btn--outline{font-size:var(--fs-base);padding-inline:1rem}
  .home-v2 .hv2-cta .hv2-btn--outline{gap:.35rem;white-space:nowrap}
}
@media (max-width:359px){.home-v2 .hv2-cta__panel{padding-inline:var(--s2)}}

/* V3: CTA as a full-bleed gradient band (replaces the contained panel). Cheetah sits fully inside,
   paws on the band's bottom edge. A #9acfe2 hairline separates it from the near-black band above. */
.home-v2 .hv2-cta{background:linear-gradient(120deg,var(--navy) 0%,var(--blue) 100%);color:var(--white);padding:0;border-top:3px solid var(--sky)}
.home-v2 .hv2-cta__panel{background:none;border-radius:0;box-shadow:none;padding:0;padding-top:var(--s5)}
.home-v2 .hv2-cta__cheetah,.home-v2 .hv2-cta__cheetah{margin-top:0}
.home-v2 .hv2-cta__text{padding-block:var(--s4) var(--s6)}
@media (max-width:1100px){.home-v2 .hv2-cta{padding-top:0}.home-v2 .hv2-cta__cheetah{margin-top:0}}
@media (max-width:860px){.home-v2 .hv2-cta{padding-top:0}}
@media (max-width:760px){
  .home-v2 .hv2-cta{padding-top:0}
  .home-v2 .hv2-cta__panel{padding:0}
  .home-v2 .hv2-cta__text{padding-block:var(--s5) var(--s3)}
}
@media (max-width:359px){.home-v2 .hv2-cta__panel{padding-inline:0}}

/* V3: benefits band on mobile only: no cards. Features become a light list on the navy band,
   pills a plain tick list, the note a transparent callout. Desktop is untouched. */
@media (max-width:760px){
  .home-v2 .hv2-ben.hv2-section{padding-block:var(--s5)}
  .home-v2 .hv2-ben .hv2-head{margin-bottom:var(--s3)}
  .home-v2 .hv2-ben .hv2-feats{gap:0}
  .home-v2 .hv2-ben .hv2-feats li{background:none;border:0;border-radius:0;box-shadow:none;padding:var(--s3) 0;border-top:1px solid rgba(255,255,255,.18);column-gap:var(--s2)}
  .home-v2 .hv2-ben .hv2-feats li:first-child{border-top:0;padding-top:var(--s1)}
  .home-v2 .hv2-ben .hv2-feats .hv2-tick--lg{width:1.75rem;height:1.75rem;margin-top:.1rem}
  .home-v2 .hv2-ben .hv2-feats .hv2-tick--lg::after{width:.38rem;height:.75rem;border-width:0 2px 2px 0}
  .home-v2 .hv2-ben .hv2-feats h3{color:var(--white);font-size:var(--fs-base);margin:.1rem 0 .25rem}
  .home-v2 .hv2-ben .hv2-feats p{color:var(--footer-text);font-size:var(--fs-sm);line-height:1.55}
  .home-v2 .hv2-ben .hv2-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem var(--s2);margin-top:var(--s2);padding-top:var(--s3);border-top:1px solid rgba(255,255,255,.18)}
  .home-v2 .hv2-ben .hv2-pills li{display:flex;align-items:flex-start;background:none;border:0;border-radius:0;padding:0;gap:.5rem;font-size:var(--fs-sm);color:var(--white)}
  .home-v2 .hv2-ben .hv2-pills .hv2-tick{width:1.125rem;height:1.125rem;margin-top:.1rem}
  .home-v2 .hv2-ben .hv2-pills .hv2-tick::after{width:.25rem;height:.5rem}
  .home-v2 .hv2-ben .hv2-pills strong{color:var(--white)}
  .home-v2 .hv2-ben .hv2-pills li > span:not(.hv2-tick){color:var(--footer-text)}
  .home-v2 .hv2-ben .hv2-pills li:has(> span:not(.hv2-tick)){flex-wrap:wrap}
  .home-v2 .hv2-ben .hv2-callout{background:none;margin-top:var(--s4);padding:.25rem 0 .25rem var(--s2);border-radius:0}
  .home-v2 .hv2-ben .hv2-callout p{color:var(--white)}
  .home-v2 .hv2-ben .hv2-actions{margin-top:var(--s4)}
}
@media (max-width:359px){.home-v2 .hv2-ben .hv2-pills{grid-template-columns:1fr}}
@media (max-width:760px){
  .home-v2 .hv2-ben .hv2-pills li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.5rem;row-gap:.1rem}
  .home-v2 .hv2-ben .hv2-pills li > :not(.hv2-tick){grid-column:2}
  .home-v2 .hv2-ben .hv2-pills li > span:not(.hv2-tick){font-size:var(--fs-xs)}
}

/* V3: modern footer (homepage only). Stays charcoal: the CTA band directly above is navy-to-blue,
   so charcoal keeps a clear break. Brand + contact + policy columns, a faint divider, then quieter legal text. */
.home-v2 .hv2-footer{padding-block:var(--s6) var(--s4);font-size:var(--fs-sm);line-height:1.65}
.home-v2 .hv2-f-top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.1fr) minmax(0,1fr);gap:var(--s5);padding-bottom:var(--s5);border-bottom:1px solid rgba(255,255,255,.18)}
.home-v2 .hv2-f-logo{display:inline-flex;align-items:center;gap:.875rem;text-decoration:none;margin-bottom:var(--s3)}
.home-v2 .hv2-f-logo img{width:3.75rem;height:auto;filter:brightness(0) invert(1)}
.home-v2 .hv2-footer .wm__name{color:var(--white)}
.home-v2 .hv2-footer .wm__sub{color:var(--footer-text)}
.home-v2 .hv2-f-brand p{margin:0;max-width:30rem;color:var(--footer-text)}
.home-v2 .hv2-f-head{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);margin:0 0 var(--s2)}
.home-v2 .hv2-f-phone{display:inline-block;font-family:var(--font-head);font-size:var(--fs-md);font-weight:700;color:var(--white);text-decoration:none;margin-bottom:var(--s1)}
.home-v2 .hv2-f-email{font-family:var(--font-head);font-weight:500;color:var(--white);text-decoration:none;overflow-wrap:anywhere}
.home-v2 .hv2-f-phone:hover,.home-v2 .hv2-f-email:hover{color:var(--sky);text-decoration:underline}
.home-v2 .hv2-f-note{margin:0;font-size:var(--fs-xs);line-height:1.6;color:var(--footer-text)}
.home-v2 .hv2-f-links{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.home-v2 .hv2-f-links a{color:var(--white);text-decoration:none}
.home-v2 .hv2-f-links a:hover{color:var(--sky);text-decoration:underline}
.home-v2 .hv2-f-legal{columns:2;column-gap:var(--s5);padding-block:var(--s4);font-size:var(--fs-xs);line-height:1.7;color:var(--footer-text)}
.home-v2 .hv2-f-legal p{margin:0 0 var(--s2);break-inside:avoid}
.home-v2 .hv2-f-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s1) var(--s3);padding-top:var(--s3);border-top:1px solid rgba(255,255,255,.18);font-size:var(--fs-xs);color:var(--footer-text)}
.home-v2 .hv2-f-bottom a{color:var(--footer-text)}
.home-v2 .hv2-f-bottom a:hover{color:var(--white)}
@media (max-width:1100px){.home-v2 .hv2-f-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s4) var(--s5)}}
@media (max-width:760px){
  .home-v2 .hv2-footer{padding-block:var(--s5) calc(var(--s4) + 4.5rem + env(safe-area-inset-bottom))}
  .home-v2 .hv2-f-top{grid-template-columns:1fr;gap:var(--s4);padding-bottom:var(--s4)}
  .home-v2 .hv2-f-legal{columns:1;padding-block:var(--s3)}
  .home-v2 .hv2-f-bottom{flex-direction:column}
}
.home-v2 .hv2-f-head--gap{margin-top:var(--s4)}
@media (max-width:1100px){.home-v2 .hv2-f-brand{grid-column:1 / -1}}
@media (max-width:760px){.home-v2 .hv2-f-head--gap{margin-top:var(--s3)}}
/* V3 footer: email replaced by a contact page link (.hv2-f-email now styles that link). */

/* Laptop and desktop breathing room (John, Oct 2026). From 1024px up every .wrap (header, bands, inner pages, footer) is
   centred in a 1200px box with clamp(24px,4vw,64px) side padding, so content is at most 1200px minus padding wide.
   Full-bleed band backgrounds are untouched. Below 1024px nothing changes. */
@media (min-width:1024px){
  :root{--pad-x:clamp(24px,4vw,64px);--wrap:calc(1200px - 2 * var(--pad-x))}
  .wrap{width:min(100% - 2 * var(--pad-x),var(--wrap))}
  /* the slightly narrower step columns would otherwise break the phone number across lines */
  .home-v2 .hv2-steps a[href^="tel:"]{white-space:nowrap}
}

/* V3 desktop header (John, Oct 2026), 1024px and up only. Below 1024px the header and menu are unchanged.
   Slimmer bar on the shared 1200px container, navy medium-weight links with a blue underline on hover, focus and the
   current page, the phone number grouped with an icon behind a divider, and a hairline plus soft shadow once scrolled.
   The Apply online button keeps its existing shape and colours. */
.nav-ico{display:none}
@media (min-width:1024px){
  .home-v2 .site-header{border-bottom-color:transparent;transition:border-color .2s,box-shadow .2s}
  .home-v2 .site-header.is-scrolled{border-bottom-color:var(--border);box-shadow:var(--shadow-soft)}
  .home-v2 .site-header .wrap{min-height:4.5rem;gap:var(--s4)}
  .home-v2 .brand{gap:.75rem}
  .home-v2 .brand img{width:3.5rem}
  .home-v2 .wm__name{font-size:1.375rem}
  .home-v2 .wm__sub{margin-top:.3rem}
  .home-v2 .nav>ul{gap:var(--s4)}
  .home-v2 .nav .has-sub{order:0}
  .home-v2 .nav .nav-text{order:1}
  .home-v2 .nav .nav-phone{order:2;padding-left:var(--s4);border-left:1px solid var(--border);margin-left:calc(var(--s1) * -1)}
  .home-v2 .nav .nav-cta{order:3;margin-left:calc(var(--s1) * -1)}
  .home-v2 .nav>ul>li>a:not(.btn),.home-v2 .nav button.sub-toggle{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;font-size:1rem;line-height:1.5;color:var(--navy);padding:.375rem 0;text-decoration:none;
    background:linear-gradient(var(--blue),var(--blue)) no-repeat 0 100% / 0 2px;transition:color .2s,background-size .2s}
  .home-v2 .nav>ul>li>a:not(.btn):hover,.home-v2 .nav>ul>li>a:not(.btn):focus-visible,.home-v2 .nav button.sub-toggle:hover,.home-v2 .nav button.sub-toggle:focus-visible,
  .home-v2 .nav>ul>li>a[aria-current="page"]:not(.btn){color:var(--blue);background-size:100% 2px;text-decoration:none}
  .home-v2 .nav a:focus-visible,.home-v2 .nav button:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:2px}
  .home-v2 .nav .nav-phone a{font-weight:700}
  .home-v2 .nav-ico{display:block;flex:none;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linejoin:round}
  .home-v2 .nav-call{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .home-v2 .nav a.btn{display:inline-flex;align-items:center;min-height:2.75rem}
}
@media (min-width:1024px) and (prefers-reduced-motion:reduce){
  .home-v2 .site-header,.home-v2 .nav>ul>li>a:not(.btn),.home-v2 .nav button.sub-toggle{transition:none}
}

/* How it works: steps joined by a connecting line (John, Oct 2026). Light blue (--sky) 2px connectors sit behind the
   step numbers: horizontal between the circles on desktop, a vertical timeline down the left on mobile.
   The draw-in on scroll lives in motion.css; the line is static without JS or with reduced motion. */
.home-v2 .hv2-steps li{position:relative}
.home-v2 .hv2-step__n{position:relative;z-index:1}
.home-v2 .hv2-steps li:not(:last-child)::after{content:"";position:absolute;z-index:0;top:calc(1.75rem - 1px);height:2px;
  left:calc(50% + 1.75rem + .75rem);width:calc(100% + var(--s4) - 3.5rem - 1.5rem);background:var(--sky);border-radius:1px;transform-origin:left center}
@media (max-width:760px){
  .home-v2 .hv2-steps{gap:var(--s4)}
  .home-v2 .hv2-steps li{display:grid;grid-template-columns:3rem minmax(0,1fr);column-gap:var(--s3);align-items:start;text-align:left;padding:0}
  .home-v2 .hv2-step__n{grid-row:1 / span 2;width:3rem;height:3rem;font-size:var(--fs-md);margin:0}
  .home-v2 .hv2-steps h3{margin:.6rem 0 .25rem}
  .home-v2 .hv2-steps p{margin:0;max-width:none}
  .home-v2 .hv2-steps li:not(:last-child)::after{top:calc(3rem + .5rem);bottom:calc(var(--s4) * -1 + .5rem);left:calc(1.5rem - 1px);width:2px;height:auto;transform-origin:center top}
}
.home-v2 .hv2-steps a[href^="tel:"]{white-space:nowrap}  /* keep the step 1 phone number on one line at all widths */

/* Hero cheetah speed lines (decorative, aria-hidden). They share the cheetah's grid cell, sit behind it and are
   invisible unless css/motion.css plays the load dash. Hidden on mobile to keep it light. */
.home-v2 .hv2-speed{display:none}
@media (min-width:761px){
  .home-v2 .hv2-hero__text{grid-column:1;grid-row:1}
  .home-v2 .hv2-cheetah{grid-column:2;grid-row:1}
  .home-v2 .hv2-speed{display:block;grid-column:2;grid-row:1;align-self:stretch;justify-self:stretch;position:relative;z-index:3;pointer-events:none;will-change:transform}
  .home-v2 .hv2-speed i{position:absolute;left:52%;height:2px;border-radius:1px;opacity:0;transform-origin:left center;
    background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.7) 30%,rgba(255,255,255,0))}
  .home-v2 .hv2-speed i:nth-child(odd){height:3px}
  .home-v2 .hv2-speed i:nth-child(1){top:24%;width:58%}
  .home-v2 .hv2-speed i:nth-child(2){top:33%;width:72%;left:58%}
  .home-v2 .hv2-speed i:nth-child(3){top:42%;width:50%}
  .home-v2 .hv2-speed i:nth-child(4){top:51%;width:64%;left:56%}
}

/* Closing-CTA cheetah slide-in (John, Oct 2026): the band clips the cheetah while it enters from off its edge (no
   horizontal scroll). From 761px the speed lines share the cheetah's grid cell behind it, trailing on the side it
   came from (data-ch-from); they are invisible unless css/motion.css plays the slide. Hidden on mobile. */
.home-v2 .hv2-cta{overflow-x:clip}
.home-v2 .hv2-cta__cheetah{position:relative;z-index:4}
@media (min-width:761px){
  .home-v2 .hv2-cta__cheetah{grid-column:1;grid-row:1}
  .home-v2 .hv2-cta__text{grid-column:2;grid-row:1}
  .home-v2 .hv2-cta .hv2-speed{grid-column:1;grid-row:1}
  .home-v2 .hv2-cta .hv2-speed i:nth-child(1){top:22%}
  .home-v2 .hv2-cta .hv2-speed i:nth-child(2){top:31%}
  .home-v2 .hv2-cta .hv2-speed i:nth-child(3){top:40%}
  .home-v2 .hv2-cta .hv2-speed i:nth-child(4){top:49%}
  .home-v2 .hv2-cta[data-ch-from="left"] .hv2-speed i{left:auto;right:52%;transform-origin:right center;
    background:linear-gradient(270deg,rgba(255,255,255,0),rgba(255,255,255,.7) 30%,rgba(255,255,255,0))}
  .home-v2 .hv2-cta[data-ch-from="left"] .hv2-speed i:nth-child(2){right:58%}
  .home-v2 .hv2-cta[data-ch-from="left"] .hv2-speed i:nth-child(4){right:56%}
}

/* V3 mobile menu (John, 21 Oct 2026): layout for the animated panel. The motion itself is in css/motion.css.
   With JS the panel stays rendered (so it can animate) and is hidden with visibility, which also removes it from the
   tab order and the accessibility tree. Without JS (no html.js) the links simply show under the header. */
.nav-burger{position:relative;display:inline-block;width:18px;height:14px;vertical-align:middle;margin-right:.35rem}
.nav-burger i{position:absolute;left:0;width:18px;height:2px;background:currentColor;border-radius:0}
.nav-burger i:nth-child(1){top:0}
.nav-burger i:nth-child(2){top:6px}
.nav-burger i:nth-child(3){top:12px}
.nav-toggle[aria-expanded="true"] .nav-burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-burger i:nth-child(2){opacity:0;transform:scaleX(.2)}
.nav-toggle[aria-expanded="true"] .nav-burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-backdrop{display:none}
@media (max-width:960px){
  .js .nav{display:block;visibility:hidden;opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,-6px,0);pointer-events:none}
  .js .nav.open{visibility:visible;opacity:1;clip-path:inset(0 0 -40px 0);transform:none;pointer-events:auto}
  .js .nav-backdrop{display:block;position:fixed;inset:0;z-index:45;background:rgba(0,0,0,.18);opacity:0;visibility:hidden}
  .js .nav-backdrop.is-on{opacity:1;visibility:visible}
  html.nav-locked{overflow:hidden}
  html:not(.js) .nav-toggle{display:none}
  html:not(.js) .site-header .wrap{flex-wrap:wrap}
  html:not(.js) .nav{display:block;position:static;flex:1 1 100%;border:0;box-shadow:none}
}
