/* V3.3.4 — RESTAURACION NEGRO Y DORADO ORIGINAL.
   Solo colores: sigue usando el style.css original.
   Mantiene todas las animaciones, el layout responsive y cookies compactas de V3.3.3. */
html{color-scheme:dark;}
@media (prefers-reduced-motion:no-preference){
 html.pwr-motion-ready .pwr-reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}
 html.pwr-motion-ready .pwr-reveal.is-visible{opacity:1;transform:none}
 .btn-primary,.nav-contact-button{position:relative;overflow:hidden}
 .btn-primary::after,.nav-contact-button::after{content:"";position:absolute;inset:-130% auto -130% -65%;width:25%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.23),transparent);transform:rotate(26deg);transition:left .65s ease;pointer-events:none}
 .btn-primary:hover::after,.nav-contact-button:hover::after{left:125%}
}
@media(max-width:680px){
 .content-section{padding-block:54px}
 .page-hero{padding-block:72px 58px}
 .review-flow-dialog{padding:26px 17px 18px}
 .footer-grid{gap:26px}
 .form-row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){body,body::before,body::after{animation:none!important}}

/* === V3.3.1 final readability and header polish fixes === */
.header-tools{gap:16px;flex:0 0 auto;min-width:max-content;}
.nav-contact-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-width:132px;
  padding:14px 20px!important;
  line-height:1.05;
  white-space:nowrap!important;
  text-align:center;
}
.language-toggle{flex:0 0 auto;}
@media (min-width:981px) and (max-width:1320px){
  .header-content{gap:12px!important;}
  .main-navigation{gap:4px!important;}
  .nav-link,.nav-dropdown-toggle{padding-inline:7px!important;font-size:.80rem!important;}
  .nav-contact-button{min-width:126px;padding:13px 18px!important;font-size:.82rem!important;}
  .language-toggle{min-width:90px;padding-inline:12px;font-size:.79rem;}
}

/* About Us trust banner readability */
.trust-badge-section{
  background:#090909!important;
  border-block:1px solid rgba(212,175,55,.22)!important;
}
.trust-badge-section .section-label{color:var(--gold-light)!important;}
.trust-badge-section h2{color:#ffffff!important;}
.trust-badge-section p{
  color:#c4c4c4!important;
}

/* Restore Power Window Repair cover image */
.power-window-main-hero{
  background-color:#050505!important;
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.70) 34%,rgba(0,0,0,.38) 66%,rgba(0,0,0,.59) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.36)),
    url('/assets/power-window-repair-cover-v331.png')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.power-window-main-hero .section-label{color:var(--gold-light)!important;}
.power-window-main-hero h1,
.power-window-main-hero p{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.55)!important;}

/* Force dark readable text inside service/location cards and lists */
.content-card .service-list li,
.service-card-highlight .service-list li,
.zip-grid-wrapper .content-card .service-list li,
.location-service-list li,
.location-service-list li strong,
.location-copy .location-service-list li,
.location-copy .location-service-list li strong,
.location-callout .location-service-list li,
.location-callout .location-service-list li strong,
.rich-copy .location-service-list li,
.rich-copy .location-service-list li strong{
  color:#e6e6e6!important;
}
.location-service-list strong{color:#e6e6e6!important;}
.service-card-highlight .service-list li{border-bottom-color:rgba(255,255,255,.12)!important;}
.zip-grid-wrapper .content-card h3,
.zip-grid-wrapper .content-card .section-label,
.service-detail-side .service-card-highlight h3,
.service-detail-side .service-card-highlight .section-label,
.location-copy h3,
.location-copy h4,
.rich-copy h3,
.rich-copy h4{
  color:var(--gold-light)!important;
}
.zip-grid-wrapper .content-card .service-list li::before,
.service-card-highlight .service-list li::before{color:var(--gold-light)!important;}

/* Generic light-panel text visibility */
:is(.content-card,.feature-card,.service-button,.specialized-card,.location-card,.service-link-card,.google-live-card,.faq-item,.service-card-highlight,.location-callout,.city-crest-card,.location-price-card,.faq-brand-intro,.google-profiles-note,.service-brand-showcase,.promo-flyer-card) p,
:is(.content-card,.feature-card,.service-button,.specialized-card,.location-card,.service-link-card,.google-live-card,.faq-item,.service-card-highlight,.location-callout,.city-crest-card,.location-price-card,.faq-brand-intro,.google-profiles-note,.service-brand-showcase,.promo-flyer-card) li,
:is(.content-card,.feature-card,.service-button,.specialized-card,.location-card,.service-link-card,.google-live-card,.faq-item,.service-card-highlight,.location-callout,.city-crest-card,.location-price-card,.faq-brand-intro,.google-profiles-note,.service-brand-showcase,.promo-flyer-card) span:not(.section-label){
  color:#d0d0d0!important;
}


/* === V3.3.2 review button color fix === */
.google-action-row .review-flow-trigger,
.google-action-row .review-flow-trigger:link,
.google-action-row .review-flow-trigger:visited{
  color:#080808!important;
}
.google-action-row .review-flow-trigger span,
.google-action-row .review-flow-trigger .lang-en,
.google-action-row .review-flow-trigger .lang-es{
  color:#080808!important;
}
.google-action-row .review-flow-trigger:hover,
.google-action-row .review-flow-trigger:focus-visible{
  color:#080808!important;
  text-shadow:none;
}
.google-action-row .review-flow-trigger:hover span,
.google-action-row .review-flow-trigger:focus-visible span,
.google-action-row .review-flow-trigger:hover .lang-en,
.google-action-row .review-flow-trigger:hover .lang-es,
.google-action-row .review-flow-trigger:focus-visible .lang-en,
.google-action-row .review-flow-trigger:focus-visible .lang-es{
  color:#080808!important;
}


/* === V3.3.3 precise Google button + unobtrusive cookies polish === */
/* Both Google profile buttons: consistent navy backgrounds and yellow text. */
.google-live-card .google-action-row .btn-outline,
.google-live-card .google-action-row .btn-outline:link,
.google-live-card .google-action-row .btn-outline:visited{
  background:transparent!important;
  border:1px solid var(--gold)!important;
  color:var(--gold-light)!important;
  transition:background .25s ease,box-shadow .25s ease,transform .25s ease!important;
}
.google-live-card .google-action-row .btn-outline :is(.lang-en,.lang-es,span),
.google-live-card .google-action-row .btn-outline:visited span{
  color:var(--gold-light)!important;
}
.google-live-card .google-action-row .btn-outline:hover,
.google-live-card .google-action-row .btn-outline:focus-visible{
  background:var(--gold)!important;
  color:#050505!important;
  box-shadow:0 12px 26px rgba(212,175,55,.20)!important;
  transform:translateY(-2px);
}
.google-live-card .google-action-row .btn-outline:is(:hover,:focus-visible) span{
  color:#050505!important;
}
/* Footer: move preferences next to copyright without extra full-width bottom stripe. */
.site-footer .footer-copyright-group{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:4px 14px;
  min-width:0;
}
.site-footer .footer-copyright-group p{margin:0;min-width:0;flex:1 1 auto}
.site-footer .footer-copyright-group .cookie-footer-settings{
  background:transparent!important;
  border:0!important;
  text-align:left!important;
  margin:0;
  padding:0!important;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
}
.site-footer .footer-copyright-group .cookie-settings-link{
  color:var(--gold-light)!important;
  font-size:.75rem;
  padding:5px 2px!important;
  text-decoration:underline;
  text-underline-offset:3px;
  border-radius:4px;
  transition:color .18s ease,text-shadow .18s ease;
}
.site-footer .footer-copyright-group .cookie-settings-link:hover{
  color:#fff0ac!important;
  text-shadow:0 0 12px rgba(212,175,55,.32);
}
@media(max-width:700px){
  .site-footer .footer-bottom-content{align-items:flex-start;gap:6px 14px}
  .site-footer .footer-copyright-group{justify-content:flex-start;flex-wrap:nowrap;gap:4px 9px}
}
/* Small non-blocking bottom-left cookie notice, also on tablets and desktops. */
.cookie-ui .cookie-banner{
  position:fixed!important;
  left:max(12px,env(safe-area-inset-left,0px))!important;
  right:auto!important;
  bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
  top:auto!important;
  transform:none!important;
  display:block;
  width:min(340px,calc(100vw - 24px))!important;
  max-height:min(68dvh,440px)!important;
  padding:15px!important;
  overflow-y:auto!important;
  border-radius:14px;
  box-shadow:0 14px 40px rgba(0,0,0,.55)!important;
}
.cookie-banner .cookie-banner-text{min-width:0!important;max-width:100%}
.cookie-banner .cookie-banner-text strong{font-size:1rem;line-height:1.2}
.cookie-banner .cookie-banner-text p{font-size:.82rem;line-height:1.46;margin:6px 0 10px}
.cookie-ui .cookie-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px!important;
  align-items:stretch;
  justify-content:stretch!important;
}
.cookie-ui .cookie-actions .cookie-button{
  min-width:0;
  min-height:36px;
  padding:8px 7px!important;
  line-height:1.15;
  font-size:.76rem!important;
  white-space:normal;
}
.cookie-ui .cookie-actions .cookie-button:last-child{
  grid-column:1/-1;
}
/* Preferences uses an anchored popover without darkening/blocking the site. */
.cookie-ui .cookie-modal{
  position:fixed!important;
  left:max(12px,env(safe-area-inset-left,0px))!important;
  right:auto!important;
  bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
  top:auto!important;
  inset:auto auto max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))!important;
  display:block!important;
  width:min(340px,calc(100vw - 24px))!important;
  height:auto!important;
  max-height:min(75dvh,490px)!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  overflow:visible;
}
.cookie-ui .cookie-modal[hidden]{display:none!important}
.cookie-modal .cookie-dialog-content{
  width:100%!important;
  max-width:100%!important;
  max-height:min(75dvh,490px)!important;
  overflow-y:auto!important;
  padding:16px!important;
  border-radius:14px!important;
  box-shadow:0 14px 40px rgba(0,0,0,.55)!important;
}
.cookie-modal .cookie-dialog-content h2{
  margin:0 0 7px!important;
  font-size:clamp(1.1rem,4.8vw,1.4rem)!important;
  line-height:1.2!important;
  overflow-wrap:break-word;
}
.cookie-modal .cookie-dialog-content p{
  font-size:.82rem!important;
  line-height:1.44!important;
  margin:0 0 9px!important;
}
.cookie-modal .cookie-check{
  padding:9px 8px!important;
  margin:8px 0!important;
  display:flex;
  align-items:center;
  gap:6px;
  font-size:.80rem!important;
  line-height:1.3;
}
.cookie-modal .cookie-check input{flex:0 0 auto;margin:0 4px 0 0!important}
@media (max-width:400px){
  .cookie-ui .cookie-banner,
  .cookie-ui .cookie-modal{width:min(340px,calc(100vw - 24px))!important;left:12px!important}
  .cookie-modal .cookie-dialog-content{padding:13px!important}
}
@media (prefers-reduced-motion:reduce){
  .cookie-ui .cookie-banner,.cookie-ui .cookie-modal,.cookie-ui .cookie-button{animation:none!important;transition:none!important}
}


/* === V3.3.7 slideshow soft dark overlay for readability === */
.hero-overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.44) 0%,rgba(0,0,0,.30) 42%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.26) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.22))!important;
}
.hero-content{
  text-shadow:0 3px 18px rgba(0,0,0,.42)!important;
}

/* === V3.3.14 home hero + county maps refresh === */
.home-hero-section{
  min-height:min(860px,calc(100vh - 120px))!important;
  background:#050505!important;
}
.home-hero-section .hero-slide{
  background-position:center center;
}
.home-hero-section .hero-overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.70) 28%,rgba(0,0,0,.38) 54%,rgba(0,0,0,.16) 72%,rgba(0,0,0,.10) 100%),
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.42))!important;
}
.home-hero-content{
  max-width:760px!important;
  padding-block:116px 108px!important;
}
.home-hero-content .hero-copy{
  position:relative;
  display:none;
  max-width:730px;
}
.home-hero-content .hero-copy.active{
  display:block;
}
.home-hero-content .hero-display-title{
  margin-top:22px;
  margin-bottom:0;
  color:#ffffff!important;
  font-family:"Montserrat",sans-serif!important;
  font-size:clamp(3.25rem,7vw,6.15rem)!important;
  font-weight:800!important;
  line-height:.95!important;
  letter-spacing:-.04em!important;
  text-shadow:0 4px 26px rgba(0,0,0,.54)!important;
}
.home-hero-content .hero-display-title span{
  display:block;
  color:var(--gold)!important;
}
.home-hero-content .hero-tagline{
  margin-top:22px!important;
  color:#ffffff!important;
  font-size:clamp(1.45rem,2.8vw,2.1rem)!important;
  font-weight:800!important;
  line-height:1.08;
}
.home-hero-content .hero-mobile-service{
  margin-top:10px!important;
  color:var(--gold-light)!important;
  font-size:1.18rem;
  font-weight:800!important;
  letter-spacing:.01em;
}
.home-hero-content .hero-feature-pills{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px!important;
}
.home-hero-content .hero-feature-pills span{
  padding:11px 15px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:12px!important;
  background:rgba(11,11,11,.42)!important;
  backdrop-filter:blur(4px);
  color:#f0f0f0!important;
  font-size:.95rem!important;
  font-weight:700!important;
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}
.home-hero-content .hero-actions{
  margin-top:28px!important;
}
.home-hero-content .hero-phone{
  margin-top:18px!important;
  color:var(--gold-light)!important;
  font-size:clamp(1.25rem,2vw,1.95rem)!important;
  font-weight:800!important;
}
.home-hero-content .hero-top-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.home-hero-content .hero-license-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  min-height:42px;
  border:1px solid rgba(212,175,55,.34);
  border-radius:999px;
  background:rgba(0,0,0,.38);
  color:#ffffff;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.home-hero-content .hero-copy-b .hero-display-title{
  max-width:700px;
}
.home-hero-content .hero-copy-b .hero-display-title span{
  color:#f1cf48!important;
}
.home-hero-content .hero-copy-b .hero-tagline{
  max-width:560px;
}
.power-window-main-hero .location-summary-bar{
  margin-top:34px!important;
}
.county-maps-section{
  padding:72px 0 84px;
  border-top:1px solid rgba(212,175,55,.12);
  border-bottom:1px solid rgba(212,175,55,.12);
  background:linear-gradient(180deg,rgba(20,15,4,.94) 0%,rgba(5,5,5,.98) 100%);
}
.county-maps-heading{
  margin-bottom:30px;
}
.county-maps-heading p{
  max-width:840px;
  margin-inline:auto;
}
.county-maps-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.county-map-card{
  display:grid;
  gap:16px;
  padding:22px;
  border:1px solid rgba(212,175,55,.16);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  box-shadow:0 18px 38px rgba(0,0,0,.28);
  position:relative;
  overflow:hidden;
}
.county-map-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--gold-light),rgba(212,175,55,.18),transparent);
}
.county-map-card-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.county-map-card h3{
  margin:10px 0 8px;
  color:#fff;
  font-size:clamp(1.35rem,2vw,1.8rem);
}
.county-map-card p{
  margin:0;
  color:#cfcfcf!important;
}
.county-map-button{
  flex:0 0 auto;
  white-space:nowrap;
}
.county-map-frame{
  width:100%;
  min-height:290px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:#0a0a0a;
  box-shadow:inset 0 0 0 1px rgba(212,175,55,.08);
}
@media (max-width:1100px){
  .county-maps-grid{grid-template-columns:1fr;}
  .county-map-card-header{flex-direction:column;}
  .county-map-button{width:100%;justify-content:center;}
}
@media (max-width:860px){
  .home-hero-content{padding-block:100px 84px!important;}
  .home-hero-content .hero-display-title{font-size:clamp(2.65rem,12vw,4.4rem)!important;}
  .home-hero-content .hero-feature-pills span{font-size:.9rem!important;}
  .home-hero-content .hero-top-row{align-items:flex-start;}
}
@media (max-width:640px){
  .home-hero-section .hero-overlay{
    background:
      linear-gradient(180deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.54) 46%,rgba(0,0,0,.45) 100%),
      linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.22))!important;
  }
  .home-hero-content .hero-display-title{line-height:1!important;}
  .home-hero-content .hero-license-badge{font-size:.74rem;letter-spacing:.09em;}
  .home-hero-content .hero-feature-pills{gap:10px;}
  .home-hero-content .hero-feature-pills span{width:100%;text-align:center;}
  .county-map-card{padding:18px;}
  .county-map-frame{min-height:250px;}
}


.home-page .home-hero-content .hero-copy-b .hero-badge{display:none!important;}
.home-page .home-hero-content .hero-copy-b .hero-top-row{justify-content:flex-start!important;}

/* === V3.3.15 restore compact home slideshow card === */
.home-page .home-hero-section{
  width:min(1060px,calc(100% - 42px))!important;
  margin:18px auto 26px!important;
  min-height:clamp(500px,58vw,600px)!important;
  border:1px solid rgba(212,175,55,.55)!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#050505!important;
  box-shadow:0 18px 40px rgba(0,0,0,.32), inset 0 0 0 1px rgba(212,175,55,.10)!important;
}
.home-page .home-hero-section .hero-slideshow,
.home-page .home-hero-section .hero-slide,
.home-page .home-hero-section .hero-overlay{
  border-radius:inherit;
}
.home-page .home-hero-section .hero-slide{
  background-size:cover!important;
  background-position:center center!important;
}
.home-page .home-hero-section .hero-overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.56) 28%,rgba(0,0,0,.28) 58%,rgba(0,0,0,.20) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18))!important;
}
.home-page .home-hero-content{
  width:100%!important;
  max-width:none!important;
  min-height:clamp(500px,58vw,600px)!important;
  padding:48px 50px 40px!important;
  display:flex!important;
  align-items:center!important;
}
.home-page .home-hero-content .hero-copy{
  max-width:620px!important;
}
.home-page .home-hero-content .hero-display-title{
  font-size:clamp(3rem,6vw,4.95rem)!important;
  line-height:.96!important;
}
.home-page .home-hero-content .hero-tagline{
  margin-top:20px!important;
  font-size:clamp(1.1rem,2vw,1.7rem)!important;
}
.home-page .home-hero-content .hero-mobile-service{
  font-size:clamp(1rem,1.4vw,1.18rem)!important;
}
.home-page .home-hero-content .hero-feature-pills{
  margin-top:22px!important;
}
.home-page .home-hero-content .hero-feature-pills span{
  padding:10px 14px!important;
  border-radius:10px!important;
}
.home-page .home-hero-content .hero-actions{
  margin-top:22px!important;
}
.home-page .home-hero-content .hero-phone{
  margin-top:16px!important;
}
@media (max-width:1024px){
  .home-page .home-hero-section{
    width:min(100%,calc(100% - 20px))!important;
    min-height:clamp(480px,64vw,560px)!important;
    border-radius:24px!important;
  }
  .home-page .home-hero-content{
    min-height:clamp(480px,64vw,560px)!important;
    padding:42px 30px 34px!important;
  }
  .home-page .home-hero-content .hero-display-title{font-size:clamp(2.8rem,7vw,4.5rem)!important;}
}
@media (max-width:640px){
  .home-page .home-hero-section{
    width:min(100%,calc(100% - 12px))!important;
    margin:12px auto 18px!important;
    min-height:500px!important;
    border-radius:20px!important;
  }
  .home-page .home-hero-section .hero-slide{background-position:center center!important;}
  .home-page .home-hero-section .hero-overlay{
    background:
      linear-gradient(180deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.34) 42%,rgba(0,0,0,.24) 100%),
      linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.12))!important;
  }
  .home-page .home-hero-content{
    min-height:500px!important;
    padding:28px 16px 24px!important;
    align-items:flex-start!important;
  }
  .home-page .home-hero-content .hero-copy{max-width:100%!important;}
  .home-page .home-hero-content .hero-display-title{
    font-size:clamp(2rem,11.5vw,3.3rem)!important;
    margin-top:16px!important;
  }
  .home-page .home-hero-content .hero-tagline{
    margin-top:14px!important;
    font-size:clamp(1rem,5.7vw,1.55rem)!important;
  }
  .home-page .home-hero-content .hero-mobile-service{margin-top:8px!important;}
  .home-page .home-hero-content .hero-feature-pills{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px!important;
    margin-top:18px!important;
  }
  .home-page .home-hero-content .hero-feature-pills span{
    width:100%!important;
    text-align:center!important;
    font-size:.88rem!important;
    padding:10px 8px!important;
  }
  .home-page .home-hero-content .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
  }
  .home-page .home-hero-content .hero-actions .btn{width:100%!important;justify-content:center!important;}
  .home-page .home-hero-content .hero-phone{font-size:clamp(1.25rem,7vw,1.9rem)!important;}
}

/* V3.3.18 — fit only the Hillsborough County button inside its card */
.county-maps-grid > .county-map-card:nth-child(3) .county-map-card-header{
  gap:10px;
}
.county-maps-grid > .county-map-card:nth-child(3) .county-map-card-header > div{
  min-width:0;
  flex:1 1 0;
}
.county-maps-grid > .county-map-card:nth-child(3) .county-map-button{
  flex:0 1 auto;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  padding-inline:12px;
  font-size:.82rem;
  text-align:center;
  justify-content:center;
}


/* V3.3.19 — stable Home slideshow dimensions across slide copy and language. */
/* Both copies occupy the same grid cell, so the card measures the larger one
   once, and never changes height when slides alternate. */
.home-page .home-hero-content{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:center!important;
}
.home-page .home-hero-content .hero-copy,
.home-page .home-hero-content .hero-copy.active{
  display:block!important;
  grid-area:1 / 1!important;
  min-width:0;
}
.home-page .home-hero-content .hero-copy:not(.active){
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.home-page .home-hero-content .hero-copy.active{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
@media(max-width:640px){
  .home-page .home-hero-content{align-items:start!important;}
}

/* V3.3.20 — Home only: align the three county map viewports symmetrically.
   Preserve descriptions, buttons, embeds, frames and other sections. */
.home-page .county-maps-grid{
  align-items:stretch;
}
.home-page .county-maps-grid > .county-map-card{
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(max-content,1fr) 300px;
  align-content:stretch;
  min-width:0;
}
.home-page .county-maps-grid > .county-map-card > .county-map-frame{
  display:block;
  width:100%;
  height:300px!important;
  min-height:300px!important;
  max-height:300px!important;
  align-self:end;
  box-sizing:border-box;
}
@media (max-width:640px){
  .home-page .county-maps-grid > .county-map-card{
    grid-template-rows:minmax(max-content,1fr) 260px;
  }
  .home-page .county-maps-grid > .county-map-card > .county-map-frame{
    height:260px!important;
    min-height:260px!important;
    max-height:260px!important;
  }
}

/* V3.3.23 — Home slideshow full-width, monochrome typography, floating bubble placement.
   Deliberately scoped so other pages, translations, scripts and maps stay unchanged. */
.home-page .home-hero-section{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-height:610px!important;
  height:auto!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.home-page .home-hero-section .hero-slideshow,
.home-page .home-hero-section .hero-slide,
.home-page .home-hero-section .hero-overlay{
  border-radius:0!important;
}
.home-page .home-hero-section .hero-slide{
  background-size:cover!important;
  background-position:center center!important;
}
.home-page .home-hero-section .hero-overlay{
  background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.65) 30%,rgba(0,0,0,.38) 65%,rgba(0,0,0,.22) 100%),
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.35))!important;
}
.home-page .home-hero-content{
  box-sizing:border-box!important;
  width:min(100% - 56px,1200px)!important;
  max-width:1200px!important;
  min-height:610px!important;
  height:auto!important;
  margin-inline:auto!important;
  padding:40px 0!important;
  align-items:center!important;
}
.home-page .home-hero-content .hero-copy{max-width:min(100%,760px)!important;}
.home-page .home-hero-content .hero-display-title{
  font-size:clamp(3rem,5.7vw,4.75rem)!important;
  line-height:.99!important;
  color:#fff!important;
}
.home-page .home-hero-content .hero-display-title span,
.home-page .home-hero-content .hero-copy-b .hero-display-title span{
  color:#fff!important;
}
.home-page .home-hero-content :is(.hero-badge,.hero-license-badge,.hero-tagline,.hero-phone),
.home-page .home-hero-content .hero-feature-pills span{
  color:#fff!important;
}
.home-page .home-hero-content .hero-mobile-service{
  color:#f1cf48!important;
}
.home-page .home-hero-content .hero-feature-pills{margin-top:17px!important;gap:10px!important;}
.home-page .home-hero-content .hero-feature-pills span{
  padding:9px 12px!important;
  border-color:rgba(255,255,255,.42)!important;
  background:rgba(0,0,0,.56)!important;
  font-size:.89rem!important;
}
.home-page .home-hero-content .hero-tagline{
  margin-top:16px!important;
  font-size:clamp(1.1rem,2.2vw,1.55rem)!important;
}
.home-page .home-hero-content .hero-mobile-service{margin-top:7px!important;font-size:1.04rem!important;}
.home-page .home-hero-content .hero-actions{margin-top:18px!important;}
.home-page .home-hero-content .hero-actions .btn-primary,
.home-page .home-hero-content .hero-actions .btn-primary:link,
.home-page .home-hero-content .hero-actions .btn-primary:visited{
  background:#fff!important;
  border:1px solid #fff!important;
  color:#080808!important;
  box-shadow:0 10px 24px rgba(0,0,0,.16)!important;
}
.home-page .home-hero-content .hero-actions .btn-secondary,
.home-page .home-hero-content .hero-actions .btn-secondary:link,
.home-page .home-hero-content .hero-actions .btn-secondary:visited{
  background:rgba(0,0,0,.84)!important;
  border:1px solid #fff!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
}
.home-page .home-hero-content .hero-actions .btn-primary:hover,
.home-page .home-hero-content .hero-actions .btn-primary:focus-visible{
  background:#e8e8e8!important;color:#000!important;
}
.home-page .home-hero-content .hero-actions .btn-secondary:hover,
.home-page .home-hero-content .hero-actions .btn-secondary:focus-visible{
  background:#fff!important;color:#000!important;
}
.home-page .home-hero-content .hero-phone{margin-top:12px!important;font-size:clamp(1.25rem,2.15vw,1.75rem)!important;}
.home-page .home-hero-content .hero-top-row{justify-content:flex-start!important;}
.home-page .home-hero-content .hero-license-badge{border-color:rgba(255,255,255,.35)!important;}
/* Only remove the virtual assistant's bubble and pop-up, never the call buttons. */
.assistant-widget{display:none!important;}
/* Lower the two existing call bubbles while preserving their existing green colors. */
.call-bubbles{right:18px!important;bottom:18px!important;}
@media (max-width:1024px){
  .home-page .home-hero-section{min-height:600px!important;}
  .home-page .home-hero-content{
    min-height:600px!important;
    width:min(100% - 44px,920px)!important;
    padding:34px 0!important;
  }
  .home-page .home-hero-content .hero-display-title{font-size:clamp(2.55rem,6.6vw,4rem)!important;}
  .call-bubbles{right:14px!important;bottom:14px!important;}
}
@media (max-width:640px){
  .home-page .home-hero-section{min-height:620px!important;}
  .home-page .home-hero-content{
    min-height:620px!important;
    width:calc(100% - 34px)!important;
    padding:28px 0 30px!important;
    align-items:start!important;
  }
  .home-page .home-hero-content .hero-display-title{
    font-size:clamp(2rem,10.5vw,3.05rem)!important;
    line-height:1.01!important;
  }
  .home-page .home-hero-content .hero-tagline{margin-top:12px!important;}
  .home-page .home-hero-content .hero-feature-pills{gap:8px!important;margin-top:14px!important;}
  .home-page .home-hero-content .hero-feature-pills span{
    font-size:.78rem!important;
    padding:8px 6px!important;
  }
  .home-page .home-hero-content .hero-actions{margin-top:15px!important;gap:8px!important;}
  .home-page .home-hero-content .hero-actions .btn{min-height:43px!important;padding-block:9px!important;}
  .home-page .home-hero-content .hero-phone{margin-top:10px!important;}
  .home-page .home-hero-section .hero-overlay{
    background:linear-gradient(180deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.50) 48%,rgba(0,0,0,.28) 100%)!important;
  }
  .call-bubbles{right:12px!important;bottom:12px!important;}
}
@media (prefers-reduced-motion:reduce){
  .home-page .home-hero-section .hero-slide{transition:none!important;}
}

/* V3.3.24 — Desktop only: keep the next section below the first visible screen.
   Do not hide/remove the trust bar, and do not modify tablet or mobile. */
@media screen and (min-width: 1025px) {
  .home-page .home-hero-section,
  .home-page .home-hero-content {
    min-height: max(650px, calc(100vh - 110px)) !important;
    min-height: max(650px, calc(100svh - 110px)) !important;
  }
}



/* V3.3.38 — Directory profiles moved to review logos section across the site. */
/* The original Home markup starts inside the header, but is moved by the
   shared script. Hide it until the move to avoid a temporary tall header. */
.site-header > #home-directory-strip {
  display: none !important;
}
.trust-logo-strip #home-directory-strip {
  display: block !important;
  width: 100% !important;
  max-width: 1160px !important;
  margin: 0 auto 20px !important;
  padding: 10px 18px 14px !important;
  overflow: visible !important;
  box-sizing: border-box;
}
.trust-logo-strip .home-directory-strip .directory-strip-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  overflow: visible !important;
}
.trust-logo-strip .home-directory-strip .directory-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 68px !important;
  height: 68px !important;
  flex: 0 0 68px !important;
  box-sizing: border-box;
  border: 1.5px solid rgba(255,218,94,.65) !important;
  border-radius: 50% !important;
  background: linear-gradient(180deg,rgba(255,218,94,.14),rgba(0,0,0,.87)) !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.25) !important;
  text-decoration: none !important;
  margin-inline: 0 !important;
  position: relative;
  z-index: 0;
  transform: scale(1) !important;
  transform-origin: center;
  transition: transform .30s cubic-bezier(.2,.85,.2,1), margin-inline .30s cubic-bezier(.2,.85,.2,1), box-shadow .30s ease, border-color .30s ease, background .30s ease !important;
}
.trust-logo-strip .home-directory-strip .directory-logo-link img {
  display: block !important;
  width: 40px !important;
  height: 40px !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.32));
}
.trust-logo-strip .home-directory-strip .directory-logo-link .sr-only {
  position: absolute;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
/* Preserve the previously approved scale + gentle push on neighboring logos. */
@media (hover:hover) and (pointer:fine) {
  .trust-logo-strip .home-directory-strip .directory-logo-link:hover,
  .trust-logo-strip .home-directory-strip .directory-logo-link:focus-visible {
    margin-inline: 7px !important;
    transform: scale(1.17) !important;
    z-index: 3;
    border-color: rgba(255,218,94,.95) !important;
    box-shadow: 0 14px 24px rgba(0,0,0,.34),0 0 0 1px rgba(255,218,94,.20) !important;
    background: linear-gradient(180deg,rgba(255,218,94,.24),rgba(0,0,0,.82)) !important;
  }
}
@media (max-width:1024px) {
  .trust-logo-strip .home-directory-strip .directory-strip-inner { gap: 12px !important; }
  .trust-logo-strip .home-directory-strip .directory-logo-link {
    width: 60px !important; height: 60px !important; flex-basis: 60px !important;
  }
  .trust-logo-strip .home-directory-strip .directory-logo-link img {
    width: 36px !important; height: 36px !important;
  }
}
@media (max-width:640px) {
  .trust-logo-strip #home-directory-strip { padding: 10px 12px 12px !important; margin-bottom: 12px !important; }
  .trust-logo-strip .home-directory-strip .directory-strip-inner { gap: 8px !important; }
  .trust-logo-strip .home-directory-strip .directory-logo-link {
    width: 50px !important; height: 50px !important; flex-basis: 50px !important;
  }
  .trust-logo-strip .home-directory-strip .directory-logo-link img {
    width: 30px !important; height: 30px !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  .trust-logo-strip .home-directory-strip .directory-logo-link { transition: none !important; }
}
/* The freed header space gives the Home slideshow more room on screen.
   Do not change its image crop, animation, overlay, content or height. */

/* Desktop: keep the full slideshow within the first visible screen now that
   the six profile icons no longer occupy a row in the header. */
@media screen and (min-width: 1025px) {
  #home.home-page .home-hero-section,
  #home.home-page .home-hero-content {
    min-height: max(650px, calc(100svh - 122px)) !important;
  }
}


/* V3.3.40 - ONLY PHONES. Desktop/tablet V3.3.38 rules unchanged. */
@media screen and (max-width: 767px) {
  /* Header now owns the same six icons as the review-logo section. */
  #site-header > #home-directory-strip {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 8px 12px 4px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  #site-header > #home-directory-strip .directory-strip-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    overflow: visible !important;
  }
  #site-header > #home-directory-strip .directory-logo-link {
    display: inline-flex !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border: 1.5px solid rgba(255,218,94,.65) !important;
    border-radius: 50% !important;
    background: linear-gradient(180deg,rgba(255,218,94,.16),rgba(0,0,0,.86)) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.28) !important;
    text-decoration: none !important;
    position: relative !important;
    transition: transform .30s cubic-bezier(.2,.85,.2,1), margin-inline .30s cubic-bezier(.2,.85,.2,1), box-shadow .30s ease, border-color .30s ease !important;
  }
  #site-header > #home-directory-strip .directory-logo-link img {
    display: block !important;
    width: 26px !important;
    height: 26px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
  }
  #site-header > #home-directory-strip .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}
