/* ==========================================================================
   GoodVans Roofing — Residential Roofing in Abbotsford, BC (Category page)
   Namespace: .gv-res   |   Loaded via @stack('css')
   Token values duplicated from the City page by approval so the signed-off
   .gv-abb implementation stays regression-safe.
   ========================================================================== */

.gv-res{
  --gv-red:var(--thm);
  --gv-ink:#1D1A1F;
  --gv-ink-2:#17161D;

  --gv-white:#FFFFFF;
  --gv-warm:#FAF8F5;
  --gv-warm-2:#F8F6F3;
  --gv-cool:#F4F7FB;
  --gv-cool-2:#F1F5FA;
  --gv-dark:#1B0D0C;

  --gv-line:rgb(29 26 31 / .12);
  --gv-line-2:rgb(29 26 31 / .22);
  --gv-muted:rgb(29 26 31 / .74);

  --gv-radius:14px;
  --gv-radius-sm:8px;
  --gv-wrap:1240px;
  --gv-sec:clamp(44px,5vw,78px);
  --gv-gap:clamp(28px,3.6vw,64px);
  --gv-measure:68ch;

  --gv-fs-display:clamp(31px,3.35vw,47px);
  --gv-fs-h2:clamp(27px,3vw,40px);
  --gv-fs-h3:19px;
  --gv-fs-lead:clamp(17px,1.5vw,19px);
  --gv-fs-body:clamp(16.5px,1.15vw,17.5px);
  --gv-fs-small:15.5px;
  --gv-fs-meta:13px;

  font-family:var(--font);
  font-size:var(--gv-fs-body);
  line-height:1.66;
  color:var(--gv-ink);
  background:var(--gv-white);
  overflow-x:clip;
}

.gv-res *,.gv-res *::before,.gv-res *::after{box-sizing:border-box}
.gv-res p{margin:0 0 18px}
.gv-res p:last-child{margin-bottom:0}
.gv-res h1,.gv-res h2,.gv-res h3{font-family:var(--font);font-weight:700;color:inherit;margin:0;letter-spacing:-.018em}
.gv-res h2{font-size:var(--gv-fs-h2);line-height:1.1;margin-bottom:14px;text-wrap:balance;max-width:18ch}
.gv-res h3{font-size:var(--gv-fs-h3);line-height:1.3;margin-bottom:6px;font-weight:600}
.gv-res a{color:var(--gv-red);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.gv-res a:hover{text-decoration-thickness:2px}
.gv-res :focus-visible{outline:3px solid var(--gv-red);outline-offset:3px;border-radius:2px}
.gv-res img{max-width:100%;height:auto}
.gv-res .gv-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- layout ---------- */
.gv-res .gv-wrap{width:100%;max-width:var(--gv-wrap);margin-inline:auto;padding-inline:clamp(18px,3vw,32px)}
.gv-res .gv-sec{padding-block:var(--gv-sec);padding-inline:0;margin:0}
.gv-res .gv-sec--tight{padding-block:calc(var(--gv-sec) * .68)}
.gv-res .gv-bg-white{background:var(--gv-white)}
.gv-res .gv-bg-warm{background:var(--gv-warm)}
.gv-res .gv-bg-warm2{background:var(--gv-warm-2)}
.gv-res .gv-bg-cool{background:var(--gv-cool)}
.gv-res .gv-bg-cool2{background:var(--gv-cool-2)}
.gv-res .gv-prose{max-width:var(--gv-measure)}

/* ---------- buttons ---------- */
.gv-res .gv-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:50px;padding:0 24px;border:2px solid transparent;border-radius:var(--gv-radius-sm);
  font-family:var(--font);font-weight:600;font-size:15.5px;line-height:1.2;
  text-align:center;text-decoration:none;cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.gv-res .gv-btn svg{flex:0 0 auto}
.gv-res .gv-btn--primary{background:var(--gv-red);border-color:var(--gv-red);color:#fff}
.gv-res .gv-btn--outline{background:transparent;border-color:var(--gv-line-2);color:var(--gv-ink)}
.gv-res .gv-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
@media (hover:hover){
  .gv-res .gv-btn--primary:hover{background:var(--gv-ink);border-color:var(--gv-ink);color:#fff}
  .gv-res .gv-btn--outline:hover{border-color:var(--gv-ink);background:var(--gv-ink);color:#fff}
}

/* ---------- breadcrumb ---------- */
.gv-res .gv-crumbbar{padding:0;margin:0;background:var(--gv-white);border-bottom:1px solid var(--gv-line)}
.gv-res .gv-crumb{padding-block:13px;font-size:var(--gv-fs-meta);color:var(--gv-muted)}
.gv-res .gv-crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:7px;list-style:none;margin:0;padding:0}
.gv-res .gv-crumb li+li::before{content:"\203A";margin-right:7px;color:var(--gv-line-2)}
.gv-res .gv-crumb a{color:var(--gv-muted);text-decoration:none}
.gv-res .gv-crumb a:hover{color:var(--gv-red);text-decoration:underline}
.gv-res .gv-crumb [aria-current]{color:var(--gv-ink);font-weight:500}

/* ---------- hero ---------- */
.gv-res .gv-hero{position:relative;padding:0;margin:0;background:var(--gv-warm);overflow:hidden}
.gv-res .gv-hero__grid{display:grid;grid-template-columns:1fr}
.gv-res .gv-hero__text{
  padding-block:clamp(28px,3vw,44px);
  padding-inline:clamp(18px,3vw,32px);
  display:flex;flex-direction:column;justify-content:center;
}
.gv-res .gv-hero__eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:var(--gv-fs-meta);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gv-muted);margin-bottom:18px;
}
.gv-res .gv-hero__eyebrow::before{content:"";width:34px;height:3px;background:var(--gv-red)}
.gv-res .gv-hero h1{font-size:var(--gv-fs-display);line-height:1.06;letter-spacing:-.026em;max-width:22ch}
.gv-res .gv-hero__media{position:relative;overflow:hidden;background:var(--gv-cool-2);aspect-ratio:16/9;order:-1}
.gv-res .gv-hero__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 50%)}
.gv-res .gv-hero__media picture{display:block;width:100%;height:100%}
.gv-res .gv-context{
  display:grid;grid-template-columns:1fr;gap:14px 28px;margin-top:28px;
  padding-top:22px;border-top:1px solid var(--gv-line);max-width:640px;
}
.gv-res .gv-context div{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.35;color:var(--gv-muted);text-wrap:balance}
.gv-res .gv-context span{
  flex:0 0 auto;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;
  background:rgb(var(--thm-rgb) / .09);color:var(--gv-red);
}

/* ---------- section modifiers (replacing inline layout styles) ---------- */
.gv-res .gv-callout--lead{margin-top:22px}
.gv-res .gv-local{max-width:67ch}
.gv-res .gv-local h2{margin-bottom:26px;max-width:16ch}
.gv-res .gv-local p{font-size:var(--gv-fs-lead);line-height:1.68}
.gv-res .gv-local p+p{margin-top:28px}
.gv-res .gv-sec--quiet{padding-block:calc(var(--gv-sec) * .9)}
.gv-res .gv-local h2::before{content:"";display:block;width:40px;height:3px;background:var(--gv-red);margin-bottom:22px}
.gv-res .gv-care__grid{display:grid;grid-template-columns:1fr;gap:26px}
.gv-res .gv-care__grid h2{margin:0;max-width:14ch}
.gv-res .gv-care__grid h2::before{content:"";display:block;width:44px;height:3px;background:var(--gv-red);margin-bottom:20px}
.gv-res .gv-care__grid p{max-width:64ch}
.gv-res .gv-faq__head{max-width:920px}
.gv-res .gv-faq__head h2{max-width:none;margin-bottom:26px}

/* ---------- editorial intro ---------- */
.gv-res .gv-intro{position:relative}
.gv-res .gv-intro__body{border-left:3px solid var(--gv-red);padding-left:clamp(20px,2.6vw,34px);max-width:72ch}
.gv-res .gv-intro__body p{font-size:var(--gv-fs-lead);line-height:1.62}
.gv-res .gv-contour{position:absolute;right:clamp(8px,3vw,40px);top:50%;transform:translateY(-50%);width:min(22%,260px);opacity:.38;pointer-events:none}

/* ---------- child services: Level 2 -> Level 3 navigation ---------- */
.gv-res .gv-eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:var(--gv-fs-meta);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gv-muted);margin-bottom:16px;
}
.gv-res .gv-eyebrow::before{content:"";width:28px;height:2px;background:var(--gv-red)}
.gv-res .gv-child__intro{margin-bottom:var(--gv-gap);color:var(--gv-muted)}
.gv-res .gv-children{
  display:grid;grid-template-columns:1fr;
  background:var(--gv-line);border:1px solid var(--gv-line);
  border-radius:var(--gv-radius);overflow:hidden;gap:1px;
}
.gv-res .gv-child{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;
  background:var(--gv-white);padding:31px 24px;text-decoration:none;
  transition:background-color .18s ease;
}
.gv-res .gv-child__n{
  font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--gv-red);
  font-variant-numeric:tabular-nums;align-self:start;line-height:1.6;
}
.gv-res .gv-child__t{
  font-size:var(--gv-fs-h3);font-weight:600;line-height:1.35;color:var(--gv-ink);
  letter-spacing:-.012em;text-wrap:balance;
}
.gv-res .gv-child__go{
  display:grid;place-items:center;width:36px;height:36px;border-radius:50%;
  border:1.5px solid rgb(var(--thm-rgb) / .35);color:var(--gv-red);flex:0 0 auto;
  transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease;
}
@media (hover:hover){
  .gv-res .gv-child:hover{background:var(--gv-warm)}
  .gv-res .gv-child:hover .gv-child__t{color:var(--gv-red)}
  .gv-res .gv-child:hover .gv-child__go{border-color:var(--gv-red);background:var(--gv-red);color:#fff;transform:translateX(3px)}
}
.gv-res .gv-child:focus-visible{outline-offset:-3px}
.gv-res .gv-child__cta{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;
  margin-top:calc(var(--gv-gap) + 8px);padding-top:30px;border-top:1px solid var(--gv-line);
}
.gv-res .gv-child__cta p{margin:0;font-size:var(--gv-fs-lead);font-weight:500;color:var(--gv-ink)}
.gv-res .gv-child__cta .gv-btn{flex:0 0 auto}

/* ---------- numbered service rows ---------- */
.gv-res .gv-rows{margin-top:6px}
.gv-res .gv-row{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--gv-line);align-items:start}
.gv-res .gv-row:first-child{border-top:1px solid var(--gv-line)}
.gv-res .gv-row__n{
  font-size:15px;font-weight:700;line-height:1.75;color:var(--gv-red);
  font-variant-numeric:tabular-nums;letter-spacing:.04em;padding-right:22px;
  border-right:1px solid var(--gv-line);min-width:44px;
}
.gv-res .gv-row p{margin:0;font-size:var(--gv-fs-body);line-height:1.6;color:var(--gv-ink)}
.gv-res .gv-row a{
  font-weight:600;color:var(--gv-ink);text-decoration:underline;
  text-decoration-color:rgb(var(--thm-rgb) / .55);text-decoration-thickness:1.5px;text-underline-offset:4px;
}
.gv-res .gv-row a:hover{color:var(--gv-red)}
.gv-res .gv-rows__note{margin-top:24px;font-size:var(--gv-fs-small);color:var(--gv-muted);max-width:60ch}

/* ---------- media blocks ---------- */
.gv-res .gv-art{overflow:hidden;border-radius:var(--gv-radius);background:var(--gv-cool-2)}
.gv-res .gv-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 50%)}
.gv-res .gv-art--43{aspect-ratio:4/3}
.gv-res .gv-art--54{aspect-ratio:5/4}
.gv-res .gv-art--169{aspect-ratio:16/9}
.gv-res .gv-art--vent{--fp:50% 44%}
.gv-res .gv-art--signs{--fp:52% 46%}
.gv-res .gv-art--insp{--fp:46% 42%}
.gv-res .gv-art--mat{--fp:50% 46%}
.gv-res .gv-art--crew{--fp:50% 40%}

.gv-res .gv-split{display:grid;grid-template-columns:1fr;gap:var(--gv-gap);align-items:center}
.gv-res .gv-split--top{align-items:start}

/* ---------- callout ---------- */
.gv-res .gv-callout{
  display:flex;gap:16px;align-items:flex-start;
  border-left:3px solid var(--gv-red);padding:2px 0 2px 20px;max-width:80ch;margin-bottom:var(--gv-gap);
}
.gv-res .gv-callout__i{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:rgb(var(--thm-rgb) / .10);color:var(--gv-red);
}
.gv-res .gv-callout p{font-size:var(--gv-fs-lead);line-height:1.55;margin:0}

/* ---------- decision module ---------- */
.gv-res .gv-decide{
  display:grid;grid-template-columns:1fr;margin-top:var(--gv-gap);
  background:var(--gv-white);border:1px solid var(--gv-line);border-radius:var(--gv-radius);overflow:hidden;
}
.gv-res .gv-path{padding:30px 28px;border-top:1px solid var(--gv-line)}
.gv-res .gv-path:first-child{border-top:0}
.gv-res .gv-path__head{display:flex;flex-direction:column;min-height:96px;margin-bottom:4px}
.gv-res .gv-path__i{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  background:rgb(var(--thm-rgb) / .10);color:var(--gv-red);margin-bottom:18px;
}
.gv-res .gv-path__label{
  display:block;font-weight:700;font-size:var(--gv-fs-h3);line-height:1.3;
  color:var(--gv-ink);margin:0 0 8px;letter-spacing:-.01em;max-width:none;
}
.gv-res .gv-path p{font-size:var(--gv-fs-small);line-height:1.6;color:var(--gv-muted);margin:0}
.gv-res .gv-path strong{font-weight:600;color:var(--gv-ink)}
.gv-res .gv-decide__note{
  margin-top:28px;padding-top:24px;border-top:1px solid var(--gv-line);
  font-size:var(--gv-fs-lead);line-height:1.6;max-width:72ch;
}

/* ---------- dark scope section ---------- */
.gv-res .gv-scope{background:var(--gv-dark);color:#fff}
.gv-res .gv-scope h2{color:#fff}
.gv-res .gv-scope__pull{
  font-size:clamp(21px,2.2vw,30px);line-height:1.22;font-weight:700;color:#fff;
  max-width:16ch;margin:22px 0 0;letter-spacing:-.018em;
}
.gv-res .gv-scope__pull span{color:var(--gv-red)}
.gv-res .gv-scope__body p{color:rgb(255 255 255 / .88);max-width:64ch}
.gv-res .gv-scope__close{
  margin:24px 0 0;font-size:var(--gv-fs-lead);font-weight:600;color:#fff;max-width:56ch;
}
.gv-res .gv-scope__close::before{
  content:"";display:block;width:52px;height:3px;background:var(--gv-red);margin-bottom:16px;
}

/* ---------- expect panel ---------- */
.gv-res .gv-panel{
  background:#fff;border-left:3px solid var(--gv-red);border-radius:var(--gv-radius-sm);
  padding:24px 26px;margin-top:28px;box-shadow:0 1px 2px rgb(29 26 31 / .04);
}
.gv-res .gv-panel p{font-size:var(--gv-fs-small);line-height:1.62;color:var(--gv-muted);margin:0}

/* ---------- FAQ ---------- */
.gv-res .gv-faq{max-width:920px}
.gv-res .gv-faq details{border-bottom:1px solid var(--gv-line)}
.gv-res .gv-faq details:first-child{border-top:1px solid var(--gv-line)}
.gv-res .gv-faq summary{
  display:flex;gap:20px;align-items:flex-start;justify-content:space-between;
  padding:22px 0;cursor:pointer;list-style:none;
}
.gv-res .gv-faq summary::-webkit-details-marker{display:none}
.gv-res .gv-faq__q{font-size:17.5px;font-weight:600;line-height:1.4;color:var(--gv-ink);margin:0}
.gv-res .gv-faq summary::after{
  content:"";flex:0 0 auto;width:11px;height:11px;margin-top:8px;
  border-right:2px solid var(--gv-red);border-bottom:2px solid var(--gv-red);
  transform:rotate(45deg);transition:transform .2s ease;
}
.gv-res .gv-faq details[open] summary::after{transform:rotate(-135deg)}
.gv-res .gv-faq summary:hover .gv-faq__q{color:var(--gv-red)}
.gv-res .gv-faq__a{padding:0 40px 24px 0}
.gv-res .gv-faq__a p{font-size:var(--gv-fs-small);line-height:1.62;color:var(--gv-muted);max-width:70ch}

/* ---------- final CTA ---------- */
.gv-res .gv-cta{position:relative;background:var(--gv-warm-2);overflow:hidden}
.gv-res .gv-cta__grid{display:grid;grid-template-columns:1fr;gap:var(--gv-gap);align-items:center;position:relative;z-index:1}
.gv-res .gv-cta p{max-width:58ch;color:var(--gv-muted)}
.gv-res .gv-cta__ridge{position:absolute;inset:auto 0 0 0;width:100%;opacity:.5;pointer-events:none;z-index:0}

/* ==========================================================================
   Breakpoints
   ========================================================================== */
@media (min-width:768px){
  .gv-res .gv-context{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gv-res .gv-children{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gv-res .gv-decide{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gv-res .gv-path{border-top:0;border-left:1px solid var(--gv-line)}
  .gv-res .gv-path:first-child{border-left:0}
}

@media (min-width:992px){
  .gv-res .gv-hero__grid{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);align-items:stretch}
  .gv-res .gv-hero__text{
    padding-block:clamp(40px,3.6vw,56px);
    padding-left:max(clamp(18px,3vw,32px), calc((100vw - var(--gv-wrap)) / 2 + 32px));
    padding-right:clamp(32px,3.4vw,56px);
  }
  .gv-res .gv-hero__media{
    aspect-ratio:auto;order:0;
    clip-path:polygon(9% 0,100% 0,100% 100%,0 100%);
  }
  .gv-res .gv-hero__media img{position:absolute;inset:0}
  .gv-res .gv-split{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}
  .gv-res .gv-children{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gv-res .gv-local{margin-left:24px}
  .gv-res .gv-split--55{grid-template-columns:minmax(0,1.24fr) minmax(0,1fr)}
  .gv-res .gv-split--fill{align-items:stretch}
  .gv-res .gv-split--fill .gv-split__art{display:flex;align-self:stretch}
  .gv-res .gv-split--fill .gv-art{flex:1 1 auto;aspect-ratio:auto!important;min-height:400px;align-self:stretch}
  .gv-res .gv-split--flip .gv-split__text{order:2}
  .gv-res .gv-split--flip .gv-split__art{order:1}
  .gv-res .gv-scope__grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:var(--gv-gap)}
  .gv-res .gv-scope__body{border-left:1px solid rgb(255 255 255 / .18);padding-left:var(--gv-gap)}
  .gv-res .gv-care__grid{grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:var(--gv-gap);align-items:start}
  .gv-res .gv-cta__grid{grid-template-columns:minmax(0,1.4fr) auto}
  .gv-res .gv-cta .gv-actions{margin-top:0;justify-content:flex-end}
}

@media (max-width:991.98px){
  .gv-res .gv-hero__text{padding-block:28px 32px}
  .gv-res .gv-contour{display:none}
}

@media (max-width:767.98px){
  .gv-res .gv-child{padding:26px 18px;gap:12px}
  .gv-res .gv-child__t{font-size:17px}
  .gv-res .gv-child__cta{flex-direction:column;align-items:flex-start}
  .gv-res .gv-child__cta .gv-btn{width:100%}
  .gv-res .gv-row{gap:14px;padding:20px 0}
  .gv-res .gv-row__n{padding-right:14px;min-width:34px;font-size:14px}
  .gv-res .gv-path{padding:26px 22px}
  .gv-res .gv-path__i{width:46px;height:46px;margin-bottom:14px}
  .gv-res .gv-actions{gap:12px}
  .gv-res .gv-actions .gv-btn{width:100%}
  .gv-res .gv-faq__a{padding-right:0}
  .gv-res .gv-faq__q{font-size:16.5px}
  .gv-res .gv-callout{padding-left:16px}
}

@media (prefers-reduced-motion:reduce){
  .gv-res *,.gv-res *::before,.gv-res *::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ==========================================================================
   Print / PDF export
   Full-page exporters re-paint clipped and absolutely-positioned elements at
   each page boundary, which duplicates them in the output. Returning
   everything to normal flow for print makes exports match the screen.
   ========================================================================== */
@media print{
  .gv-res .gv-hero{overflow:visible}
  .gv-res .gv-hero__grid{display:block}
  .gv-res .gv-hero__media{
    position:relative;aspect-ratio:16/9;clip-path:none;
    width:100%;max-width:100%;order:0;page-break-inside:avoid;break-inside:avoid;
  }
  .gv-res .gv-hero__media img{position:relative;inset:auto}
  .gv-res .gv-hero__text{max-width:100%;padding-inline:0}
  .gv-res .gv-cta__ridge,.gv-res .gv-contour{display:none}
  .gv-res .gv-art{page-break-inside:avoid;break-inside:avoid}
  .gv-res .gv-path,.gv-res .gv-panel,.gv-res .gv-callout,
  .gv-res .gv-row,.gv-res .gv-faq details{page-break-inside:avoid;break-inside:avoid}
  .gv-res .gv-sec,.gv-res .gv-hero{page-break-inside:auto}
  .gv-res h1,.gv-res h2,.gv-res h3{page-break-after:avoid;break-after:avoid}
  .gv-res .gv-scope{background:#1B0D0C!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* generic Level-2: numbered rows beside a filling media column */
.gv-res .gv-rows--after{margin-top:22px}

/* ---------- generic split media: ratio and behaviour from section data ---- */
.gv-res .gv-split__art .gv-art{aspect-ratio:var(--ar,3/2)}
.gv-res .gv-rows__note{margin-top:24px;font-size:var(--gv-fs-small);color:var(--gv-muted);max-width:60ch}

/* ---------- prose-lead: single narrow editorial column ---------- */
.gv-res .gv-prose-lead{max-width:67ch}
.gv-res .gv-prose-lead h2{margin-bottom:26px;max-width:16ch}
.gv-res .gv-prose-lead h2::before{content:"";display:block;width:40px;height:3px;background:var(--gv-red);margin-bottom:22px}
.gv-res .gv-prose-lead p{font-size:var(--gv-fs-lead);line-height:1.68}
.gv-res .gv-prose-lead p+p{margin-top:28px}

/* ---------- prose-split: heading column beside prose at desktop ---------- */
.gv-res .gv-prose-split{display:grid;grid-template-columns:1fr;gap:26px}
.gv-res .gv-prose-split h2{margin:0;max-width:14ch}
.gv-res .gv-prose-split h2::before{content:"";display:block;width:44px;height:3px;background:var(--gv-red);margin-bottom:20px}
.gv-res .gv-prose-split p{max-width:64ch}

@media (min-width:992px){
  .gv-res .gv-prose-lead{margin-left:24px}
  .gv-res .gv-prose-split{grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:var(--gv-gap);align-items:start}
}
@media (min-width:768px){.gv-res .gv-decide--n4{grid-template-columns:repeat(2,minmax(0,1fr))}.gv-res .gv-decide--n4 .gv-path:nth-child(odd){border-left:0}.gv-res .gv-decide--n4 .gv-path:nth-child(n+3){border-top:1px solid var(--gv-line)}}
@media (max-width:991.98px){.gv-res .gv-scope__grid>div+div{margin-top:26px}}
@media (min-width:768px) and (max-width:991.98px){.gv-res .gv-children--r2-1::after{content:"";background:var(--gv-white)}}
@media (min-width:992px){.gv-res .gv-children--r3-1::after{content:"";background:var(--gv-white);grid-column:span 2}.gv-res .gv-children--r3-2::after{content:"";background:var(--gv-white)}}
