
/* Service-only editorial trust band; original data and icons preserved. */
.jr-service-system .lib-trust-strip--ticker-always{
 position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
 transform:none!important;float:none!important;display:block!important;clear:both;
 width:100%!important;max-width:none!important;margin:0!important;
 padding:clamp(26px,3.7vw,48px) clamp(20px,4vw,65px)!important;
 background:var(--jr-color-surface)!important;color:var(--jr-color-graphite)!important;
 overflow:visible!important;box-sizing:border-box;
}
.jr-service-system .lib-trust-strip--ticker-always::before{
 content:"WHY HOMEOWNERS TRUST JOE'S ROOFING";display:block;text-align:center;
 font:800 clamp(.76rem,1vw,.95rem)/1.45 var(--jr-font-heading);
 letter-spacing:.06em;color:var(--jr-color-graphite);margin:0 auto 24px;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__container{
 position:static!important;display:block!important;max-width:var(--jr-container-wide)!important;
 width:100%!important;height:auto!important;overflow:visible!important;margin:0 auto!important;
 transform:none!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__track,
.jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__pass{display:none!important}
.jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__list{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 position:static!important;visibility:visible!important;opacity:1!important;
 gap:0!important;width:100%!important;max-width:100%!important;
 margin:0!important;padding:0!important;
 background:var(--jr-color-surface);border:1px solid color-mix(in srgb,var(--jr-color-graphite) 15%,transparent);
 border-radius:var(--jr-radius-lg);overflow:hidden!important;
 transform:none!important;animation:none!important;white-space:normal!important;list-style:none!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item{
 display:flex!important;align-items:center!important;justify-content:center!important;
 min-width:0!important;min-height:110px!important;margin:0!important;padding:20px 14px!important;
 border:0!important;border-right:1px solid color-mix(in srgb,var(--jr-color-graphite) 15%,transparent)!important;
 border-radius:0!important;box-shadow:none!important;background:transparent!important;
 white-space:normal!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item:last-child{border-right:0!important}
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item{
 display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;
 min-width:0!important;white-space:normal!important;color:var(--jr-color-graphite)!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__icon-wrap{
 display:grid!important;place-items:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;
 color:var(--jr-color-primary)!important;background:transparent!important;border-radius:0!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__content,
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__label{
 color:var(--jr-color-graphite)!important;white-space:normal!important;
}
@media(max-width:900px){
 .jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item:nth-child(2){border-right:0!important}
 .jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item:nth-child(-n+2){border-bottom:1px solid color-mix(in srgb,var(--jr-color-graphite) 15%,transparent)!important}
}
@media(max-width:480px){
 .jr-service-system .lib-trust-strip--ticker-always{padding:25px 16px!important}
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item{flex-direction:column!important;text-align:center!important;gap:7px!important}
 .jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item{min-height:115px!important;padding:14px 8px!important}
}

/* Approved premium charcoal panel — keep original review and trust markup. */
.jr-service-system .lib-trust-strip--ticker-always{
 background:var(--jr-color-graphite)!important;
 padding:clamp(30px,4vw,55px) clamp(20px,5vw,80px)!important;
 border-top:3px solid var(--jr-color-primary)!important;
}
.jr-service-system .lib-trust-strip--ticker-always::before{
 content:"WHY MANCHESTER HOMEOWNERS CHOOSE JOE'S ROOFING";
 color:var(--jr-color-text-inverse)!important;
 font-size:clamp(.85rem,1.15vw,1.05rem)!important;
 letter-spacing:.035em!important;
 margin-bottom:30px!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__list{
 background:transparent!important;
 border:1px solid color-mix(in srgb,var(--jr-color-text-inverse) 17%,transparent)!important;
 border-radius:var(--jr-radius-lg)!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item{
 background:transparent!important;
 border-right-color:color-mix(in srgb,var(--jr-color-text-inverse) 17%,transparent)!important;
 min-height:132px!important;
 padding:clamp(20px,2.3vw,32px) clamp(12px,2vw,28px)!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item:first-child{
 background:color-mix(in srgb,var(--jr-color-text-inverse) 7%,transparent)!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__content,
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__label,
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item,
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item span{
 color:var(--jr-color-text-inverse)!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__icon-wrap{
 color:var(--jr-color-primary)!important;
 background:color-mix(in srgb,var(--jr-color-text-inverse) 8%,transparent)!important;
 border-radius:50%!important;
}
@media(max-width:900px){
 .jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item:nth-child(-n+2){
 border-bottom-color:color-mix(in srgb,var(--jr-color-text-inverse) 17%,transparent)!important;
 }
}

/* Canonical aligned card internals: shared Joe spacing/type tokens. */
.jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item {
 min-height:var(--jr-trust-panel-card-min-height)!important;
 padding:var(--jr-trust-panel-card-padding)!important;
 align-items:stretch!important;
 justify-content:stretch!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item {
 display:grid!important;
 grid-template-columns:var(--jr-trust-panel-icon-size) minmax(0,1fr)!important;
 column-gap:var(--jr-trust-panel-card-gap)!important;
 align-items:center!important;
 justify-items:stretch!important;
 width:100%!important;
 min-width:0!important;
 margin:0!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__icon-wrap {
 display:grid!important;
 place-items:center!important;
 width:var(--jr-trust-panel-icon-size)!important;
 height:var(--jr-trust-panel-icon-size)!important;
 min-width:0!important;
 flex:none!important;
 background:var(--jr-trust-panel-icon-surface)!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__icon,
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__icon svg {
 width:var(--jr-trust-panel-icon-glyph)!important;
 height:var(--jr-trust-panel-icon-glyph)!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__content {
 min-width:0!important;
 width:100%!important;
 font-size:var(--jr-trust-panel-label-size)!important;
 line-height:1.35!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__label {
 font-size:var(--jr-trust-panel-label-size)!important;
 line-height:1.35!important;
 overflow-wrap:normal!important;
 word-break:normal!important;
}
@media(max-width:900px) {
 .jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item {
  min-height:var(--jr-trust-panel-card-min-height-mobile)!important;
  padding:var(--jr-trust-panel-card-padding-mobile)!important;
 }
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:var(--jr-trust-panel-icon-size-mobile) auto!important;
  justify-items:center!important;
  align-content:center!important;
  row-gap:var(--jr-trust-panel-card-gap)!important;
  text-align:center!important;
 }
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__icon-wrap {
  width:var(--jr-trust-panel-icon-size-mobile)!important;
  height:var(--jr-trust-panel-icon-size-mobile)!important;
 }
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__content,
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__label {
  font-size:var(--jr-trust-panel-label-size-mobile)!important;
  text-align:center!important;
  width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
 }
}


/* Approved white-card / graphite-section contrast. */
.jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__list {
 gap:var(--jr-trust-card-gap)!important;
 background:transparent!important;
 border:0!important;
 border-radius:0!important;
 overflow:visible!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item {
 background:var(--jr-trust-card-surface)!important;
 border:1px solid var(--jr-trust-card-divider)!important;
 border-radius:var(--jr-trust-card-radius)!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item:first-child{
 background:var(--jr-trust-card-surface)!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item,
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__content,
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__label,
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item span{
 color:var(--jr-trust-card-ink)!important;
}
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__icon-wrap {
 color:var(--jr-color-primary)!important;
 background:var(--jr-trust-card-icon-bg)!important;
}
@media(max-width:900px){
 .jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item:nth-child(-n+2){
 border-bottom:1px solid var(--jr-trust-card-divider)!important;
 }
}
@media(max-width:480px){
 .jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item{
  padding:var(--jr-trust-mobile-card-padding)!important;
 }
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item,
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__content,
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__label,
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item span {
  font-size:var(--jr-trust-mobile-label-size)!important;
  line-height:1.4!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  white-space:normal!important;
 }
}

/* Let labels use the full card text track; no mid-word splitting. */
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__label{
 display:block!important;
 width:100%!important;
 max-width:none!important;
 text-wrap:pretty;
}
@media(max-width:480px){
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__content{
  align-items:stretch!important;
 }
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__label{
  width:100%!important;
  min-width:0!important;
 }
}

/* Preserve the approved 2x2 mobile composition, including narrow phones. */
@media(max-width:340px){
 .jr-service-system .lib-trust-strip--ticker-always{
  padding-inline:var(--jr-trust-mobile-card-padding)!important;
 }
 .jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
 .jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item{
  padding-inline:var(--jr-trust-card-gap)!important;
 }
}

@media(max-width:480px){
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__content {
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
 }
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__label{
  flex:0 0 100%!important;width:100%!important;
 }
 .jr-service-system .lib-trust-strip--ticker-always .lib-rating-stars{
  zoom:var(--jr-trust-mobile-stars-scale);
 }
}

@media(max-width:340px){
 .jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__item{
  padding-inline:var(--jr-trust-mobile-narrow-padding)!important;
 }
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__label,
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__content,
 .jr-service-system .lib-trust-strip--ticker-always .lib-authority-item span{
  font-size:var(--jr-trust-mobile-narrow-label-size)!important;
 }
}

/* Trust icons: consistent Joe brand red on the approved tinted circles. */
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__icon,
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__icon svg,
.jr-service-system .lib-trust-strip--ticker-always .lib-authority-item__icon svg *{
 color:var(--jr-color-primary)!important;
 stroke:var(--jr-color-primary)!important;
}

/* Trust cards belong to the hero photo composition, not a separate band. */
.jr-service-system .hhds-section--hero-immersive{
 height:auto!important;
 min-height:0!important;
 overflow:hidden;
 display:flex;
 flex-direction:column;
 isolation:isolate;
}
.jr-service-system .hhds-section--hero-immersive > .hhds-hero__background{
 height:100%!important;
 min-height:100%!important;
}
.jr-service-system .hhds-section--hero-immersive .jr-hero-trust-slot{
 position:relative;
 z-index:2;
 width:100%;
 margin-top:auto;
}
.jr-service-system .jr-hero-trust-slot .lib-trust-strip--ticker-always{
 background:transparent!important;
 border-top:0!important;
 padding-block:var(--jr-trust-hero-panel-pad-block)!important;
}
.jr-service-system .jr-hero-trust-slot .lib-trust-strip--ticker-always::before{
 margin-bottom:var(--jr-trust-hero-heading-gap)!important;
}

/* The hero itself owns the photo and the trust overlay at every breakpoint. */
.jr-service-system .hhds-section--hero-immersive > .hhds-container{
 position:static!important;
 min-height:0!important;
 height:auto!important;
}
.jr-service-system .hhds-section--hero-immersive .hhds-hero-immersive{
 height:auto!important;
 min-height:var(--jr-service-hero-content-min-desktop)!important;
}
@media(max-width:900px){
 .jr-service-system .hhds-section--hero-immersive .hhds-hero-immersive{
  min-height:var(--jr-service-hero-content-min-mobile)!important;
 }
}

/* Tablet landscape: use two rows before trust labels become cramped. */
@media(min-width:901px) and (max-width:1150px){
 .jr-service-system .lib-trust-strip--ticker-always .lib-trust-strip__list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
}

/* Compact cards within the hero; do not alter contents or layout columns. */
.jr-service-system .jr-hero-trust-slot .lib-trust-strip__item{
 min-height:var(--jr-trust-hero-card-compact-height)!important;
 padding:var(--jr-trust-hero-card-compact-pad)!important;
}
@media(max-width:900px){
 .jr-service-system .jr-hero-trust-slot .lib-trust-strip__item{
  min-height:var(--jr-trust-hero-card-mobile-height)!important;
 }
}

/* Desktop/laptop/tablet: photo fills the complete hero height, while
   the content area adapts to viewport height. Mobile is intentionally unchanged. */
@media(min-width:901px){
 .jr-service-system .hhds-section--hero-immersive .hhds-hero-immersive{
  min-height:max(var(--jr-service-hero-content-min-desktop),var(--jr-service-hero-content-desktop-viewport))!important;
 }
 .jr-service-system .hhds-section--hero-immersive .hhds-hero__background,
 .jr-service-system .hhds-section--hero-immersive .hhds-hero__background img{
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
 }
}

/* Warning signs: light editorial canvas, preserved dark cards.
   Shared by every Manchester service page. */
.jr-service-system .lib-value-cards{
 background:var(--jr-color-surface)!important;
 color:var(--jr-color-heading)!important;
}
.jr-service-system .lib-value-cards > .hhds-container,
.jr-service-system .lib-value-cards .lib-section-heading{
 color:var(--jr-color-heading)!important;
}
.jr-service-system .lib-value-cards h2,
.jr-service-system .lib-value-cards .lib-section-heading__title{
 color:var(--jr-color-heading)!important;
}
.jr-service-system .lib-value-cards .lib-section-heading__description,
.jr-service-system .lib-value-cards .lib-section-heading__summary{
 color:var(--jr-color-text)!important;
}


/* Elementor legacy projects holder becomes empty after its widget is
   relocated into the shared service template; remove the 20px spacer. */
body.jr-service-template footer .elementor-element-rp1wrap {
 display:none!important;
}


/* Joe's shared process: contained cards rather than disconnected steps.
   No per-service selectors; text remains in each service's data file. */
.jr-service-system .lib-process-section {
 background:var(--jr-color-surface)!important;
 color:var(--jr-color-heading);
}
.jr-service-system .lib-process-section__steps {
 gap:var(--jr-process-section-gap);
 align-items:stretch;
}
.jr-service-system .lib-process-step {
 position:relative;
 min-width:0;
 border:1px solid var(--jr-process-card-border);
 background:var(--jr-process-card-bg);
 box-shadow:var(--jr-process-card-shadow);
 border-radius:var(--jr-process-card-radius);
 padding:var(--jr-process-card-pad);
 display:flex;
 flex-direction:column;
 align-items:flex-start;
}
.jr-service-system .lib-process-step__number {
 flex-shrink:0;
 margin-bottom:var(--lib-space-4);
}
.jr-service-system .lib-process-step__title {
 color:var(--jr-color-heading);
 overflow-wrap:break-word;
}
.jr-service-system .lib-process-step__text {
 color:var(--jr-color-text);
}
@media(max-width:620px){
 .jr-service-system .lib-process-section__steps {gap:var(--lib-space-3)}
 .jr-service-system .lib-process-step {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  column-gap:var(--lib-space-3);
  padding:var(--jr-process-mobile-pad);
 }
 .jr-service-system .lib-process-step__number{
  grid-row:1 / span 2;
  margin:0;
 }
 .jr-service-system .lib-process-step__title{
  grid-column:2;
  align-self:center;
 }
 .jr-service-system .lib-process-step__text{
  grid-column:2;
  margin-top:var(--lib-space-2);
 }
}

/* Mobile offering selector: accessible two-column chips, one shared layout. */
@media (max-width: 600px) {
 .jr-service-system .lib-service-offerings__tabs {
   display:grid!important;
   grid-template-columns:repeat(2,minmax(0,1fr))!important;
   gap:var(--jr-space-2, .5rem)!important;
   width:100%!important;
   max-width:100%!important;
   overflow:visible!important;
   padding:0!important;
   border:0!important;
   border-radius:0!important;
   background:transparent!important;
   box-shadow:none!important;
 }
 .jr-service-system .lib-service-offerings__tab {
   display:flex!important;
   justify-content:center!important;
   align-items:center!important;
   min-width:0!important;
   width:100%!important;
   min-height:44px!important;
   height:auto!important;
   padding:.625rem .5rem!important;
   margin:0!important;
   border:1px solid var(--jr-color-border)!important;
   border-radius:var(--jr-radius-md, .75rem)!important;
   background:var(--jr-color-surface)!important;
   color:var(--jr-color-heading)!important;
   font-size:.8125rem!important;
   font-weight:700!important;
   line-height:1.2!important;
   text-align:center!important;
   white-space:normal!important;
   overflow-wrap:break-word!important;
   box-shadow:none!important;
 }
 .jr-service-system .lib-service-offerings__tab[aria-selected="true"] {
   color:var(--jr-color-text-inverse)!important;
   background:var(--jr-color-primary)!important;
   border-color:var(--jr-color-primary)!important;
 }
 .jr-service-system .lib-service-offerings__tab:focus-visible {
   outline:2px solid var(--jr-color-primary)!important;
   outline-offset:2px!important;
 }
}

/* Reviews transition: no light wave between two dark sections.
   Avoid overlays: review cards must remain fully visible. */
.jr-service-system .lib-section-boundary:has(+ .lib-reviews-band) {
 display:none!important;
}
/* Keep all review cards fully visible. Transition belongs to the next
   section, not as an overlay on the review carousel. */
.jr-service-system .lib-reviews-band {
 position:relative;
 isolation:isolate;
}
.jr-service-system .lib-reviews-band::after {
 content:none!important;
}
.jr-service-system .lib-surface--panel:has(> .lib-value-cards) {
 background:var(--jr-color-surface)!important;
}

/* Service motion: progressive enhancement, one-time entry, no layout movement. */
@media (prefers-reduced-motion: no-preference) {
 .jr-service-system .jr-motion-entry {
   transition: opacity var(--jr-motion-enter) var(--jr-motion-ease),
               transform var(--jr-motion-enter) var(--jr-motion-ease);
 }
 .jr-service-system .jr-motion-entry.jr-motion-pending {
   opacity:0;
   transform:translate3d(0,var(--jr-motion-distance),0);
 }
 .jr-service-system .jr-motion-entry.jr-motion-shown {
   opacity:1;
   transform:translate3d(0,0,0);
 }
 .jr-service-system .lib-service-offerings__tab,
 .jr-service-system .lib-faq-section button,
 .jr-service-system .jr-service-related__toggle {
   transition: background-color var(--jr-motion-interaction) ease,
               border-color var(--jr-motion-interaction) ease,
               color var(--jr-motion-interaction) ease;
 }
 @media (hover:hover) and (pointer:fine) {
   .jr-service-system .jr-service-related__card {
     transition: transform var(--jr-motion-hover) ease,
                 box-shadow var(--jr-motion-hover) ease;
   }
   .jr-service-system .jr-service-related__card:hover {transform:translateY(-3px);}
 }
}
@media (prefers-reduced-motion: reduce) {
 .jr-service-system .jr-motion-entry,
 .jr-service-system .lib-service-offerings__tab,
 .jr-service-system .lib-faq-section button {
   animation:none!important;transition:none!important;transform:none!important;opacity:1!important;
 }
}

/* Shared premium motion variants, visual-only; layout and content remain static. */
@media (prefers-reduced-motion: no-preference) {
 .jr-service-system .jr-motion-entry {
  transition-duration:var(--jr-motion-premium-enter);
  transition-delay:calc(var(--jr-motion-index,0) * var(--jr-motion-premium-stagger));
 }
 .jr-service-system [data-jr-motion="from-left"].jr-motion-pending {transform:translate3d(calc(-1 * var(--jr-motion-premium-distance)),0,0);}
 .jr-service-system [data-jr-motion="from-right"].jr-motion-pending {transform:translate3d(var(--jr-motion-premium-distance),0,0);}
 .jr-service-system [data-jr-motion="card"].jr-motion-pending {transform:translate3d(0,var(--jr-motion-premium-distance),0) scale(.985);}
 .jr-service-system [data-jr-motion="step"].jr-motion-pending {transform:translate3d(0,var(--jr-motion-premium-distance),0);}
 .jr-service-system .lib-service-offerings__panel.jr-motion-panel-enter .lib-service-offerings__panel-grid {
  animation:jr-service-panel-enter var(--jr-motion-premium-enter) var(--jr-motion-ease) both;
 }
 @keyframes jr-service-panel-enter {
  from {opacity:.45;transform:translate3d(0,8px,0);}
  to {opacity:1;transform:translate3d(0,0,0);}
 }
}
@media (prefers-reduced-motion: reduce) {
 .jr-service-system .jr-motion-panel-enter * {animation:none!important;}
}

/* SEO-focused service sections: clear FAQ canvas and readable coverage opening. */
.jr-service-system .lib-surface--panel:has(> .lib-faq-section) {
 background:var(--jr-color-surface)!important;
}
.jr-service-system .lib-faq-section {
 background:var(--jr-color-surface)!important;
}
.jr-service-system .lib-faq-section .lib-section-heading__title {
 color:var(--jr-color-heading)!important;
}
.jr-service-system .lib-faq-section .lib-section-heading__kicker {
 color:var(--jr-color-primary)!important;
}
.jr-service-system .jr-service-coverage__intro {
 max-width:65ch;
 margin:0 auto var(--jr-space-6, 1.5rem);
 text-align:center;
 color:var(--jr-color-text);
}

/* Consistent service-area opening: compact line on desktop, comfortable wrapping on phones. */
.jr-service-system .jr-service-coverage #jr-coverage-title {
 max-width:100%;
 text-wrap:balance;
 font-size:clamp(1.65rem, 2.35vw, 2.65rem);
 line-height:1.15;
 margin-inline:auto;
}
.jr-service-system .jr-service-coverage__intro {
 font-size:clamp(.875rem, 1.05vw, 1rem);
 line-height:1.55;
 text-wrap:pretty;
}
@media (max-width:600px) {
 .jr-service-system .jr-service-coverage__intro {padding-inline:1rem;}
}

/* Section heading layout only. The badge skin is owned exclusively by
   cta-buttons.css, and its visual values by tokens-joes-roofing.css. */
.jr-service-system :is(
 .lib-text-highlights-media__heading,
 .lib-value-cards__header,
 .lib-service-offerings__header,
 .lib-process-section__header,
 .lib-reviews-band__header
) {
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 text-align:left;
}
.jr-service-system :is(
 .lib-value-cards__header,
 .lib-service-offerings__header,
 .lib-process-section__header,
 .lib-reviews-band__header
) {
 box-sizing:border-box;
 width:100%;
 max-width:none;
 margin-inline:0;
}
.jr-service-system :is(
 .lib-value-cards__header,
 .lib-service-offerings__header,
 .lib-process-section__header
) .lib-section-heading__description {
 margin-inline:0;
 max-width:var(--jr-section-heading-content-width);
 text-align:left;
}
.jr-service-system .jr-service-section-eyebrow {
 align-self:flex-start;
 flex:none;
 width:max-content;
 max-width:100%;
}
.jr-service-system :is(
 .lib-section-heading__title,
 .lib-section-heading__description
) {align-self:stretch;}


/* Surface theme is expressed with tokens; no second eyebrow skin. */
.jr-service-system .lib-reviews-band {
 --jr-eyebrow-text:var(--jr-eyebrow-text-on-dark);
}
@media(max-width:600px) {
 .jr-service-system .lib-text-highlights-media__heading > .jr-service-section-eyebrow,
 .jr-service-system .lib-process-section__header > .jr-service-section-eyebrow {
   margin-inline-start:var(--jr-service-eyebrow-page-inset);
 }
}


/* Canonical capsule for the Insurance kicker and shared projects heading. */
.jr-service-system .lib-objection-handler__label.jr-eyebrow-badge {
  width:max-content;
  max-width:100%;
  color:var(--jr-eyebrow-text-on-dark);
}
.jr-service-system .jr-service-projects-heading {
  box-sizing:border-box;
  width:100%;
  max-width:var(--jr-service-carousel-width, 72rem);
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.jr-service-system .jr-service-projects-heading .jr-service-section-eyebrow {
  margin-inline:0;
}

/* Projects carousel retains its Home layout; only heading uses editorial flex. */
.jr-service-system .jr-service-recent-projects .jr-projects {display:block;text-align:initial;}
.jr-service-system .jr-service-recent-projects .jr-projects__cta {width:100%;text-align:center;}



/* Match fallback and final Exo 2 heading geometry before font swap. */
.jr-service-roof-repair .hhds-section--hero-immersive h1 {letter-spacing:var(--jr-roof-repair-hero-tracking)!important;}

@media (min-width:768px){.jr-service-roof-repair .hhds-section--hero-immersive h1{white-space:nowrap;}}
