/* ── JRA point cards ───────────────────────────────────────────────────────
   A short bullet list of self-contained points, rendered as a side-by-side card
   grid. The words and their order are untouched; only presentation changes.

   Markup contract: html body ul.jra-point-cards.jrb-n4.jrb-r-eco, one point per list item,
   an optional <strong> lead-in as the card title. (Written without angle brackets
   on purpose — this comment ships inline on every page, and a markup example here
   turns up in every grep that checks whether a page really carries the class.)

   Per-site brand hooks: --jrb-c1 … --jrb-c4 (the four-colour rhythm).
   ──────────────────────────────────────────────────────────────────────── */
:root{
  --jrb-c1:#273576; --jrb-c2:#E85D04; --jrb-c3:#0E7C66; --jrb-c4:#B08300;
  --jrb-card:#FFFFFF; --jrb-border:#E3E7EE;
  --jrb-title:#131A24; --jrb-text:#4A5566;
  --i-check:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.3%205.7%209.4%2016.6l-5-5%22%2F%3E%3C%2Fsvg%3E");
  --i-leaf:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4.5%2020.5C3%2015%205%204%2020%203.5c.5%2011-5.5%2016-11%2016-2%200-3.5-.5-4.5-1Z%22%2F%3E%3Cpath%20d%3D%22M4%2021c1-6%205-11%2011-13.5%22%2F%3E%3C%2Fsvg%3E");
  --i-tag:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.6%2013.5%2012%2022l-9-9V3h10l7.6%207.6a2%202%200%200%201%200%202.9Z%22%2F%3E%3Ccircle%20cx%3D%227.5%22%20cy%3D%227.5%22%20r%3D%221.4%22%2F%3E%3C%2Fsvg%3E");
  --i-clock:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%207v5l3.2%201.9%22%2F%3E%3C%2Fsvg%3E");
  --i-truck:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M1%203h13v13H1z%22%2F%3E%3Cpath%20d%3D%22M14%208h4l3%203v5h-7V8Z%22%2F%3E%3Ccircle%20cx%3D%225.5%22%20cy%3D%2218.5%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2217.5%22%20cy%3D%2218.5%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E");
  --i-shield:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022s8-3.5%208-9.5V5.5L12%202%204%205.5V12.5C4%2018.5%2012%2022%2012%2022Z%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E");
  --i-phone:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21.5%2016.9v2.8a2%202%200%200%201-2.2%202%2019.6%2019.6%200%200%201-8.6-3%2019.4%2019.4%200%200%201-6-6%2019.6%2019.6%200%200%201-3-8.7%202%202%200%200%201%202-2.2h2.8a2%202%200%200%201%202%201.7c.1%201%20.4%202%20.7%202.9a2%202%200%200%201-.4%202.1l-1.2%201.2a16%2016%200%200%200%206%206l1.2-1.2a2%202%200%200%201%202.1-.4c.9.3%201.9.6%202.9.7a2%202%200%200%201%201.7%202Z%22%2F%3E%3C%2Fsvg%3E");
  --i-users:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.9M16%203.1a4%204%200%200%201%200%207.8%22%2F%3E%3C%2Fsvg%3E");
  --i-home:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3%2010%209-7%209%207v10a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2Z%22%2F%3E%3Cpath%20d%3D%22M9%2022V12h6v10%22%2F%3E%3C%2Fsvg%3E");
  --i-box:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2016V8l-9-5-9%205v8l9%205%209-5Z%22%2F%3E%3Cpath%20d%3D%22m3.3%207.5%208.7%205%208.7-5M12%2022V12.5%22%2F%3E%3C%2Fsvg%3E");
  --i-trash:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18M8%206V4h8v2M19%206l-1%2014a2%202%200%200%201-2%202H8a2%202%200%200%201-2-2L5%206%22%2F%3E%3Cpath%20d%3D%22M10%2011v6M14%2011v6%22%2F%3E%3C%2Fsvg%3E");
  --i-broom:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m11%202.5%202%205.5%205.5%202-5.5%202-2%205.5-2-5.5L3.5%2010l5.5-2Z%22%2F%3E%3Cpath%20d%3D%22m18.5%2014.5.9%202.1%202.1.9-2.1.9-.9%202.1-.9-2.1-2.1-.9%202.1-.9Z%22%2F%3E%3C%2Fsvg%3E");
  --i-star:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%202.5%202.9%205.9%206.6%201-4.8%204.6%201.2%206.5L12%2017.4l-5.9%203.1%201.2-6.5-4.8-4.6%206.6-1Z%22%2F%3E%3C%2Fsvg%3E");
  --i-cal:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M16%203v4M8%203v4M3%2011h18%22%2F%3E%3C%2Fsvg%3E");
  --i-tool:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14.7%206.3a4%204%200%200%200%205.3%205.3l-8.3%208.3a2.8%202.8%200%200%201-4-4Z%22%2F%3E%3Cpath%20d%3D%22m16.5%204.5%203%203%22%2F%3E%3C%2Fsvg%3E");
  --i-sofa:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2011V7a2%202%200%200%201%202-2h12a2%202%200%200%201%202%202v4%22%2F%3E%3Cpath%20d%3D%22M2%2013a2%202%200%200%201%204%200v3h12v-3a2%202%200%200%201%204%200v6H2Z%22%2F%3E%3C%2Fsvg%3E");
  --i-dollar:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202v20%22%2F%3E%3Cpath%20d%3D%22M17%206.5H9.8a3.3%203.3%200%200%200%200%206.5h4.4a3.3%203.3%200%200%201%200%206.5H6%22%2F%3E%3C%2Fsvg%3E");
  --i-map:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010.5c0%206-8%2012-8%2012s-8-6-8-12a8%208%200%201%201%2016%200Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210.5%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E");
}

html body ul.jra-point-cards{
  list-style:none !important; margin:1.5em 0 1.3em !important; padding:0 !important;
  display:grid !important; gap:16px !important;
  grid-template-columns:repeat(auto-fit,minmax(max(45%,212px),1fr)) !important;
}
/* Column count has to follow the space the list actually has, not the viewport: on
   one 1440px page these lists sit in copy columns anywhere from ~450px to ~1300px
   wide, so no media query can tell 3-up from 1-up.
   The percentage inside minmax() resolves against the list's own width, which makes
   the count container-relative with no container query involved. max(45%,212px)
   can never fit a third track, so a 4-item list is ALWAYS 2x2 - never 3+1, never a
   4-across strip. max(30%,212px) fits exactly three, so 3 goes 3-across, 5 goes
   3+2 and 6 goes 3+3. */
html body ul.jra-point-cards.jrb-n3,
html body ul.jra-point-cards.jrb-n5,
html body ul.jra-point-cards.jrb-n6{
  grid-template-columns:repeat(auto-fit,minmax(max(30%,212px),1fr)) !important;
}

/* Second layer, for narrow columns only. Below ~700px the 212px floor above wins
   over the percentage and a 3- or 5-item list falls to two tracks, which orphans
   the last card. A container query is the only thing that can see that, so the
   list's parent is made a size container. This is deliberately additive: where the
   parent cannot be a container (a table cell, an inline box) the rules above still
   hold on their own - that fallback is the whole reason they are written in
   percentages rather than as fixed column counts. */
:has(>ul[class*="jra-point-cards"]){container-type:inline-size !important;}
@container (max-width:699px){
  html body ul.jra-point-cards.jrb-n3,
  html body ul.jra-point-cards.jrb-n5{grid-template-columns:minmax(0,1fr) !important;}
}
@container (min-width:700px){
  html body ul.jra-point-cards.jrb-n4{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  html body ul.jra-point-cards.jrb-n3,
  html body ul.jra-point-cards.jrb-n5,
  html body ul.jra-point-cards.jrb-n6{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}

html body ul.jra-point-cards>li{
  list-style:none !important; margin:0 !important;
  padding:17px 17px 16px !important; position:relative !important;
  background:var(--jrb-card) !important;
  border:1px solid var(--jrb-border) !important; border-top:4px solid var(--jrb-i,var(--jrb-c1)) !important;
  border-radius:14px !important;
  box-shadow:0 1px 2px rgba(16,24,40,.04),0 6px 18px rgba(16,24,40,.05) !important;
  color:var(--jrb-text) !important; font-size:.96em !important; line-height:1.5 !important; text-align:left !important;
}
html body ul.jra-point-cards>li:nth-child(4n+1){--jrb-i:var(--jrb-c1);}
html body ul.jra-point-cards>li:nth-child(4n+2){--jrb-i:var(--jrb-c2);}
html body ul.jra-point-cards>li:nth-child(4n+3){--jrb-i:var(--jrb-c3);}
html body ul.jra-point-cards>li:nth-child(4n+4){--jrb-i:var(--jrb-c4);}

/* tinted badge */
html body ul.jra-point-cards>li::before{
  content:"" !important; display:block !important; width:38px !important; height:38px !important; margin:2px 0 11px !important;
  border-radius:11px !important; background-color:color-mix(in srgb,var(--jrb-i) 13%,#fff) !important;
}
/* the icon itself, masked so it takes the card's accent colour */
html body ul.jra-point-cards>li::after{
  content:"" !important; position:absolute !important; top:31px !important; left:26px !important; width:20px !important; height:20px !important;
  background-color:var(--jrb-i) !important;
  -webkit-mask-repeat:no-repeat !important; mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;  mask-position:center !important;
  -webkit-mask-size:20px 20px !important;   mask-size:20px 20px !important;
  -webkit-mask-image:var(--jrb-icon,var(--i-check)) !important; mask-image:var(--jrb-icon,var(--i-check)) !important;
}

html body ul.jra-point-cards>li strong,
html body ul.jra-point-cards>li b{
  display:block !important; color:var(--jrb-title) !important; font-weight:700 !important;
  font-size:1.03em !important; line-height:1.3 !important; margin-bottom:5px !important; letter-spacing:-.005em !important;
}
html body ul.jra-point-cards>li a{color:inherit !important;text-decoration:underline !important;}

@media (max-width:640px){
  html body ul.jra-point-cards{grid-template-columns:minmax(0,1fr) !important; gap:12px !important;}
  html body ul.jra-point-cards>li{padding:14px 15px 13px !important;}
  html body ul.jra-point-cards>li::before{width:34px !important;height:34px !important;margin-bottom:9px !important;}
  html body ul.jra-point-cards>li::after{top:26px !important;left:24px !important;width:18px !important;height:18px !important;
    -webkit-mask-size:18px 18px !important;mask-size:18px 18px !important;}
}

html body ul.jra-point-cards.jrb-check>li::after{--jrb-icon:var(--i-check);}
html body ul.jra-point-cards.jrb-leaf>li::after{--jrb-icon:var(--i-leaf);}
html body ul.jra-point-cards.jrb-tag>li::after{--jrb-icon:var(--i-tag);}
html body ul.jra-point-cards.jrb-clock>li::after{--jrb-icon:var(--i-clock);}
html body ul.jra-point-cards.jrb-truck>li::after{--jrb-icon:var(--i-truck);}
html body ul.jra-point-cards.jrb-shield>li::after{--jrb-icon:var(--i-shield);}
html body ul.jra-point-cards.jrb-phone>li::after{--jrb-icon:var(--i-phone);}
html body ul.jra-point-cards.jrb-users>li::after{--jrb-icon:var(--i-users);}
html body ul.jra-point-cards.jrb-home>li::after{--jrb-icon:var(--i-home);}
html body ul.jra-point-cards.jrb-box>li::after{--jrb-icon:var(--i-box);}
html body ul.jra-point-cards.jrb-trash>li::after{--jrb-icon:var(--i-trash);}
html body ul.jra-point-cards.jrb-broom>li::after{--jrb-icon:var(--i-broom);}
html body ul.jra-point-cards.jrb-star>li::after{--jrb-icon:var(--i-star);}
html body ul.jra-point-cards.jrb-cal>li::after{--jrb-icon:var(--i-cal);}
html body ul.jra-point-cards.jrb-tool>li::after{--jrb-icon:var(--i-tool);}
html body ul.jra-point-cards.jrb-sofa>li::after{--jrb-icon:var(--i-sofa);}
html body ul.jra-point-cards.jrb-dollar>li::after{--jrb-icon:var(--i-dollar);}
html body ul.jra-point-cards.jrb-map>li::after{--jrb-icon:var(--i-map);}
html body ul.jra-point-cards.jrb-r-trust>li:nth-child(1)::after{--jrb-icon:var(--i-clock);}
html body ul.jra-point-cards.jrb-r-trust>li:nth-child(2)::after{--jrb-icon:var(--i-tag);}
html body ul.jra-point-cards.jrb-r-trust>li:nth-child(3)::after{--jrb-icon:var(--i-users);}
html body ul.jra-point-cards.jrb-r-trust>li:nth-child(4)::after{--jrb-icon:var(--i-shield);}
html body ul.jra-point-cards.jrb-r-trust>li:nth-child(5)::after{--jrb-icon:var(--i-check);}
html body ul.jra-point-cards.jrb-r-trust>li:nth-child(6)::after{--jrb-icon:var(--i-star);}
html body ul.jra-point-cards.jrb-r-price>li:nth-child(1)::after{--jrb-icon:var(--i-tag);}
html body ul.jra-point-cards.jrb-r-price>li:nth-child(2)::after{--jrb-icon:var(--i-dollar);}
html body ul.jra-point-cards.jrb-r-price>li:nth-child(3)::after{--jrb-icon:var(--i-check);}
html body ul.jra-point-cards.jrb-r-price>li:nth-child(4)::after{--jrb-icon:var(--i-users);}
html body ul.jra-point-cards.jrb-r-price>li:nth-child(5)::after{--jrb-icon:var(--i-clock);}
html body ul.jra-point-cards.jrb-r-price>li:nth-child(6)::after{--jrb-icon:var(--i-shield);}
html body ul.jra-point-cards.jrb-r-process>li:nth-child(1)::after{--jrb-icon:var(--i-phone);}
html body ul.jra-point-cards.jrb-r-process>li:nth-child(2)::after{--jrb-icon:var(--i-cal);}
html body ul.jra-point-cards.jrb-r-process>li:nth-child(3)::after{--jrb-icon:var(--i-truck);}
html body ul.jra-point-cards.jrb-r-process>li:nth-child(4)::after{--jrb-icon:var(--i-broom);}
html body ul.jra-point-cards.jrb-r-process>li:nth-child(5)::after{--jrb-icon:var(--i-check);}
html body ul.jra-point-cards.jrb-r-process>li:nth-child(6)::after{--jrb-icon:var(--i-star);}
html body ul.jra-point-cards.jrb-r-eco>li:nth-child(1)::after{--jrb-icon:var(--i-leaf);}
html body ul.jra-point-cards.jrb-r-eco>li:nth-child(2)::after{--jrb-icon:var(--i-box);}
html body ul.jra-point-cards.jrb-r-eco>li:nth-child(3)::after{--jrb-icon:var(--i-truck);}
html body ul.jra-point-cards.jrb-r-eco>li:nth-child(4)::after{--jrb-icon:var(--i-check);}
html body ul.jra-point-cards.jrb-r-eco>li:nth-child(5)::after{--jrb-icon:var(--i-home);}
html body ul.jra-point-cards.jrb-r-eco>li:nth-child(6)::after{--jrb-icon:var(--i-star);}
html body ul.jra-point-cards.jrb-r-items>li:nth-child(1)::after{--jrb-icon:var(--i-sofa);}
html body ul.jra-point-cards.jrb-r-items>li:nth-child(2)::after{--jrb-icon:var(--i-box);}
html body ul.jra-point-cards.jrb-r-items>li:nth-child(3)::after{--jrb-icon:var(--i-trash);}
html body ul.jra-point-cards.jrb-r-items>li:nth-child(4)::after{--jrb-icon:var(--i-tool);}
html body ul.jra-point-cards.jrb-r-items>li:nth-child(5)::after{--jrb-icon:var(--i-home);}
html body ul.jra-point-cards.jrb-r-items>li:nth-child(6)::after{--jrb-icon:var(--i-star);}
html body ul.jra-point-cards.jrb-r-home>li:nth-child(1)::after{--jrb-icon:var(--i-home);}
html body ul.jra-point-cards.jrb-r-home>li:nth-child(2)::after{--jrb-icon:var(--i-sofa);}
html body ul.jra-point-cards.jrb-r-home>li:nth-child(3)::after{--jrb-icon:var(--i-box);}
html body ul.jra-point-cards.jrb-r-home>li:nth-child(4)::after{--jrb-icon:var(--i-broom);}
html body ul.jra-point-cards.jrb-r-home>li:nth-child(5)::after{--jrb-icon:var(--i-truck);}
html body ul.jra-point-cards.jrb-r-home>li:nth-child(6)::after{--jrb-icon:var(--i-check);}
html body ul.jra-point-cards.jrb-r-biz>li:nth-child(1)::after{--jrb-icon:var(--i-box);}
html body ul.jra-point-cards.jrb-r-biz>li:nth-child(2)::after{--jrb-icon:var(--i-truck);}
html body ul.jra-point-cards.jrb-r-biz>li:nth-child(3)::after{--jrb-icon:var(--i-tool);}
html body ul.jra-point-cards.jrb-r-biz>li:nth-child(4)::after{--jrb-icon:var(--i-users);}
html body ul.jra-point-cards.jrb-r-biz>li:nth-child(5)::after{--jrb-icon:var(--i-cal);}
html body ul.jra-point-cards.jrb-r-biz>li:nth-child(6)::after{--jrb-icon:var(--i-check);}
html body ul.jra-point-cards.jrb-r-area>li:nth-child(1)::after{--jrb-icon:var(--i-map);}
html body ul.jra-point-cards.jrb-r-area>li:nth-child(2)::after{--jrb-icon:var(--i-home);}
html body ul.jra-point-cards.jrb-r-area>li:nth-child(3)::after{--jrb-icon:var(--i-truck);}
html body ul.jra-point-cards.jrb-r-area>li:nth-child(4)::after{--jrb-icon:var(--i-clock);}
html body ul.jra-point-cards.jrb-r-area>li:nth-child(5)::after{--jrb-icon:var(--i-users);}
html body ul.jra-point-cards.jrb-r-area>li:nth-child(6)::after{--jrb-icon:var(--i-check);}

/* ===== QA round 2026-09-05 (Drake mobile QA — batch 1, visual). Prepended: these rules must sit
   ABOVE the unclosed comment further down this sheet (the `/*` after the 13px menu rule), which
   swallows everything until the next `*``/`. That comment is left alone on purpose — closing it
   would revive a dead rule that hardcodes `content:"+1 719-249-0431"` onto the header phone
   button and would fight CallRail's dynamic number swap. ===== */

@media screen and (max-width: 991.98px) {

  /* Drake #6 + #10 — carousel slides bleed out of the viewport and get sliced by the screen edge
     (service titles on /how-it-works/, location titles on /service-areas/). FlexSlider normally
     sets overflow:hidden on .flex-viewport; on those templates it computes to `visible`, so the
     next slide — which starts at x=362 in a 354px viewport at x=18 — shows through, cut off.
     The theme forces this on purpose below 600px via
     `section.image-text-carousel .row.carousel .flex-viewport{overflow:visible!important}` (0,4,1),
     so this rule repeats that selector with a `body` prefix (0,4,2) to out-specify it rather than
     just re-shouting !important. Home already reads hidden and is unaffected. */
  body section.image-text-carousel .row.carousel .flex-viewport { overflow: hidden !important; }

  /* Drake #15 — the open menu's close (X) sits at the far left (x=30) while the hamburger that
     opened it is at the far right (x=330). Return the X to the thumb that opened it.
     margin-left:auto absorbs the free space whether the parent lays out as block or as flex. */
  body .menu-toggle.close { margin-left: auto !important; margin-right: 13px !important; }

  /* Drake #17 — the Google mark sits in a 60px container carrying border-radius:50% and a
     box-shadow, while the image inside is forced to 60px by the site-wide rule lower in this
     sheet — so the shadowed circle peeks out behind the logo as a grey halo. Drop the shadow
     only; size, position and the Best-of-the-Springs mark are untouched. */
  body .review-rating .logo { box-shadow: none !important; }

  /* Drake #13 — the mobile footer's logo-divider band paints nothing, so the white page
     background shows through between the blue section above and the blue "Get in touch" block
     below. Sampled down the divider: rgb(5,24,100) / gold rule / 40px of white / gold rule /
     rgb(0,21,93). Paint the band the same navy so the gold rules read as intended. The selector
     matched exactly one element on every template checked (home, blog, service, location,
     how-it-works, book-now, service-areas). */
  body section.custom-block.bg-style-none.mobile-only.text-style-dark {
    background-color: #02175E !important;
  }
}

/* ===== QA round 2026-09-03 (Junk N Haul QA doc) — prepended so these rules sit above the sheet's older
   rules; body-prefixed selectors out-specify the theme. ===== */

/* 1. Mobile/tablet menu links 20px (theme sets 2rem = 24px phone / 28px tablet). */
@media screen and (max-width: 991.98px) {
  body #mobile-menu a { font-size: 20px !important; }
}

/* 2. Home hero: the Google-rating badge block carries its own per-block CSS (#id rules: 15px side margins at
   >=992px, and max-width:45% + float:left + 30px margin at >=1400px), which pins it left of the $20-off card's
   centre (15px off at 1280, ~160px off at 1440+). :not(#_) lifts this rule to id-level specificity so it wins;
   float cleared + auto margins centre the badge under the card at every desktop width. */
@media screen and (min-width: 992px) {
  body.home .col-lg-6.order-lg-5 > section:has(.review-rating):not(#_) {
    float: none !important; margin-left: auto !important; margin-right: auto !important;
  }
}

/* 3. Inner pages: the "Main Items We Collect" section's bottom padding plus the yellow logo banner's own top
   spacing read as an empty band above the banner. Tighten both: the section's bottom padding goes to 0 at every width;
   on mobile the banner's logo column also drops from 40px to 16px of top spacing. */
body:not(.home) main section.bootstrap-column-content:has(section[class*="accordion-text"]) { padding-bottom: 0 !important; }
@media screen and (max-width: 991.98px) {
  body:not(.home) main section.bootstrap-column-content .col-12.py-3:has(> .branding) { padding-top: 0 !important; }
  body:not(.home) main section.bootstrap-column-content .branding { padding-top: 16px !important; }
}


.menu a, .main-navigation a, .navbar a {
    font-size: 13px !important; /* 
}


.header-phone, .header-phone a {
    font-size: 18px !important;
}
button.phone::after {
  content: "+1 719-249-0431";
}

button.phone {
  color: transparent; /* hide old text */
  position: relative;
}

button.phone::after {
  position: absolute;
  left: 0;
  top: 0;
  color: white;
}

/* === Google Review Badge: mobile fix === */
@media (max-width: 991px) {
  /* 1. Reorder: content (heading/zip/book) comes before badges */
  #bootstrap-column-content-block_e8bb537bf38b9c564228d0d6f684951f .bcol-3 {
    order: 2 !important;
    margin-top: 0 !important;
    padding-top: 1rem !important;
  }
  #bootstrap-column-content-block_e8bb537bf38b9c564228d0d6f684951f .bcol-5 {
    order: 3 !important;
    margin-top: 0 !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0 !important;
  }
  /* 2. Remove the desktop translateY trick — badges sit naturally below content */
  #bootstrap-column-content-block_78abe1c542572737edc5e5bec4e19219 .col-12 {
    position: relative !important;
    transform: none !important;
    top: auto !important;
    margin-left: auto;
    margin-right: auto;
  }
  #bootstrap-column-content-block_78abe1c542572737edc5e5bec4e19219 {
    height: auto !important;
  }
  /* 3. Clean up previous hacks */
  #bootstrap-column-content-block_e8bb537bf38b9c564228d0d6f684951f .bcol-1 {
    padding-bottom: 0 !important;
  }
}

@media (max-width: 575px) {
  /* Override the 575px scale+translateY rule too */
  #bootstrap-column-content-block_78abe1c542572737edc5e5bec4e19219 .col-12 {
    transform: none !important;
  }
}

/* === Best of the Springs badge: constrain logo image size to match Google badge === */
.review-rating .logo img,
.review-rating .logo-bots img {
  width: 60px !important;
  height: auto !important;
  max-width: 60px !important;
}

/* === Book Now page: hide sticky "BOOK NOW" button on mobile (keep phone button) === */
@media (max-width: 991px) {
	.page-id-23823 .footer-popup a.button-1 {
		    display: none !important;
	}
}
	}
}