
/* Sferra v8 polish: compact logo/header, high-contrast mega menus, tighter hero, location-page layout, floating CTAs, mobile refinements. */
:root{--v8-dark:#050b0f;--v8-ink:#101820;--v8-gold:#cdbb73;--v8-gold-light:#f5e6a6;--v8-paper:#f7f3ea;}
html{scroll-padding-top:118px;}
body{overflow-x:hidden;}
.site-header{z-index:1000!important;background:rgba(5,11,15,.96)!important;border-bottom:1px solid rgba(205,187,115,.32)!important;box-shadow:0 14px 42px rgba(0,0,0,.26)!important;}
.top-strip{background:#030506!important;color:#f7eed2!important;}
.top-strip-inner{padding:.34rem 0!important;font-size:.86rem!important;line-height:1.2!important;}
.top-strip a{color:#fff0a4!important;text-decoration:underline!important;text-underline-offset:3px!important;font-weight:900!important;}
.site-header .nav-shell{min-height:72px!important;padding:.52rem 0!important;gap:1rem!important;position:relative!important;}
.site-header .brand{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;max-width:none!important;background:#fffdf7!important;border:1px solid rgba(205,187,115,.78)!important;border-radius:14px!important;padding:.28rem .38rem!important;box-shadow:0 14px 32px rgba(0,0,0,.28)!important;overflow:hidden!important;}
.site-header .brand img,.site-header .brand img.brand-mark-img{display:block!important;width:178px!important;max-width:178px!important;height:auto!important;max-height:none!important;aspect-ratio:288/101!important;object-fit:contain!important;flex:0 0 auto!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;filter:none!important;}
.site-header .brand span,.site-header .brand .brand-text,.site-header .brand .brand-type{display:none!important;}
.main-nav{margin-left:auto!important;}
.main-nav>ul{display:flex!important;align-items:center!important;gap:.2rem!important;list-style:none!important;margin:0!important;padding:0!important;}
.main-nav .nav-link,.main-nav>ul>li>a{display:inline-flex!important;align-items:center!important;min-height:42px!important;color:#fff!important;border-radius:999px!important;padding:.58rem .72rem!important;font-weight:900!important;font-size:.91rem!important;line-height:1!important;}
.main-nav .nav-link:hover,.main-nav .nav-link:focus{background:rgba(255,255,255,.11)!important;color:#fff0a4!important;outline:0!important;}
.nav-cta{background:linear-gradient(135deg,var(--v8-gold),var(--v8-gold-light))!important;color:#071016!important;border:0!important;border-radius:999px!important;box-shadow:0 12px 32px rgba(205,187,115,.28)!important;padding:.78rem 1.22rem!important;font-weight:1000!important;white-space:nowrap!important;}
.has-menu,.mega-item{position:static!important;display:flex!important;align-items:center!important;}
.has-menu>button{display:none!important;}
.has-menu ul{position:static!important;width:auto!important;background:transparent!important;box-shadow:none!important;opacity:1!important;transform:none!important;pointer-events:auto!important;padding:0!important;margin:0!important;}
.mega-menu{position:absolute!important;left:50%!important;top:calc(100% + 10px)!important;width:min(1120px,calc(100vw - 36px))!important;transform:translate(-50%,10px)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;z-index:1200!important;color:var(--v8-ink)!important;}
.mega-item:hover>.mega-menu,.mega-item:focus-within>.mega-menu{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-50%,0)!important;}
.mega-panel{display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;gap:1.05rem!important;padding:1rem!important;border-radius:26px!important;background:rgba(255,255,255,.98)!important;border:1px solid rgba(205,187,115,.55)!important;box-shadow:0 32px 90px rgba(0,0,0,.34)!important;color:var(--v8-ink)!important;backdrop-filter:blur(14px)!important;}
.mega-intro{border-radius:22px!important;background:linear-gradient(145deg,#061016,#12212a)!important;color:#fff!important;padding:1.2rem!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;min-height:100%!important;}
.mega-intro span{color:#f5e6a6!important;text-transform:uppercase!important;letter-spacing:.18em!important;font-size:.72rem!important;font-weight:1000!important;margin-bottom:.35rem!important;}
.mega-intro strong{display:block!important;font-size:1.35rem!important;line-height:1.05!important;letter-spacing:-.03em!important;margin-bottom:.55rem!important;}
.mega-intro p{color:#dce5e9!important;font-size:.92rem!important;line-height:1.45!important;margin:0 0 1rem!important;}
.mega-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:flex-start!important;min-height:40px!important;border-radius:999px!important;padding:.62rem .82rem!important;background:linear-gradient(135deg,var(--v8-gold),var(--v8-gold-light))!important;color:#071016!important;font-weight:1000!important;font-size:.86rem!important;}
.mega-grid{display:grid!important;gap:.62rem!important;}
.mega-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.mega-county-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.mega-card{display:flex!important;align-items:center!important;gap:.74rem!important;min-height:82px!important;padding:.82rem!important;border-radius:18px!important;background:#f8f4eb!important;border:1px solid #e2d6b5!important;color:var(--v8-ink)!important;box-shadow:none!important;text-decoration:none!important;}
.mega-card:hover,.mega-card:focus{background:#fff!important;border-color:var(--v8-gold)!important;box-shadow:0 12px 34px rgba(17,24,32,.12)!important;color:#000!important;outline:0!important;}
.mega-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;flex:0 0 42px!important;border-radius:14px!important;background:linear-gradient(135deg,#cab86d,#f4e4a0)!important;color:#071016!important;font-weight:1000!important;font-size:1.05rem!important;line-height:1!important;}
.mega-card strong{display:block!important;color:#101820!important;font-size:.96rem!important;line-height:1.12!important;letter-spacing:-.02em!important;margin:0 0 .18rem!important;}
.mega-card small{display:block!important;color:#5d6872!important;font-size:.78rem!important;line-height:1.28!important;font-weight:750!important;}
.county-mega-card{min-height:72px!important;}

/* Hero refinements */
.hero-section{background:#061016!important;}
.hero-section:before{background:linear-gradient(105deg,rgba(3,8,12,.96) 0%,rgba(3,8,12,.86) 45%,rgba(3,8,12,.50) 68%,rgba(3,8,12,.18) 100%)!important;}
.hero-section:not(.home-hero) .hero-grid{min-height:510px!important;padding:3.2rem 0 2.8rem!important;grid-template-columns:minmax(0,1fr) minmax(340px,.46fr)!important;gap:1.8rem!important;}
.hero-section:not(.home-hero) h1{font-size:clamp(2.65rem,5vw,5.1rem)!important;line-height:.98!important;}
.hero-section:not(.home-hero) .hero-form .quote-form{max-width:440px!important;margin-left:auto!important;}
.home-hero{min-height:560px!important;background:#061016!important;}
.home-hero:before{background:linear-gradient(101deg,rgba(2,8,12,.98) 0%,rgba(2,8,12,.94) 36%,rgba(2,8,12,.72) 51%,rgba(2,8,12,.25) 72%,rgba(2,8,12,.06) 100%)!important;}
.home-hero .hero-media img{opacity:.92!important;filter:saturate(1.02) contrast(1.04)!important;object-position:center center!important;}
.home-hero .hero-grid{display:grid!important;grid-template-columns:minmax(0,620px) minmax(360px,420px)!important;align-items:center!important;justify-content:start!important;gap:1.15rem!important;min-height:560px!important;max-width:1180px!important;padding:1.7rem 0!important;margin-inline:auto!important;}
.home-hero .hero-copy{grid-column:auto!important;grid-row:auto!important;width:100%!important;max-width:620px!important;background:linear-gradient(135deg,rgba(2,10,16,.94),rgba(7,18,25,.88))!important;border:1px solid rgba(245,230,166,.34)!important;border-radius:26px!important;padding:1.28rem 1.38rem!important;box-shadow:0 22px 70px rgba(0,0,0,.32)!important;backdrop-filter:blur(8px)!important;}
.home-hero .hero-form{grid-column:auto!important;grid-row:auto!important;width:100%!important;max-width:420px!important;margin:0!important;align-self:center!important;}
.home-hero h1{font-size:clamp(2.25rem,3.35vw,4.0rem)!important;line-height:.98!important;margin-bottom:.62rem!important;color:#fff!important;text-shadow:0 4px 24px rgba(0,0,0,.40)!important;}
.home-hero .hero-copy p{font-size:clamp(.98rem,1.08vw,1.12rem)!important;line-height:1.48!important;color:#f4f7f8!important;max-width:560px!important;text-shadow:0 2px 10px rgba(0,0,0,.28)!important;}
.home-hero .hero-copy .eyebrow{color:#fff0a4!important;font-size:.72rem!important;letter-spacing:.15em!important;}
.home-hero .hero-actions{margin-top:.86rem!important;gap:.6rem!important;}
.home-hero .hero-actions .button{min-height:44px!important;padding:.72rem .98rem!important;}
.home-hero .trust-row{margin-top:.72rem!important;gap:.42rem!important;}
.home-hero .trust-row span{padding:.38rem .58rem!important;font-size:.74rem!important;color:#fff!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.20)!important;}
.home-hero .hero-form .quote-form{background:#fff!important;border:1px solid rgba(245,230,166,.72)!important;border-radius:24px!important;padding:.9rem!important;box-shadow:0 24px 74px rgba(0,0,0,.36)!important;}
.home-hero .hero-form .form-head{margin-bottom:.48rem!important;}
.home-hero .form-kicker{font-size:.65rem!important;color:#6a5718!important;}
.home-hero .form-head strong{font-size:1.03rem!important;line-height:1.08!important;}
.home-hero .form-head small{font-size:.75rem!important;line-height:1.25!important;}
.home-hero .hero-form .form-grid{grid-template-columns:1fr 1fr!important;gap:.42rem!important;}
.home-hero .quote-form label{font-size:.67rem!important;gap:.16rem!important;}
.home-hero .quote-form input,.home-hero .quote-form select,.home-hero .quote-form textarea{padding:.46rem .56rem!important;border-radius:10px!important;font-size:.86rem!important;line-height:1.2!important;}
.home-hero .quote-form textarea{min-height:50px!important;max-height:62px!important;}
.home-hero .quote-form .consent{font-size:.63rem!important;line-height:1.25!important;margin-top:.4rem!important;}
.home-hero .quote-form .button{min-height:40px!important;margin-top:.42rem!important;font-size:.86rem!important;}
.home-hero .form-note{font-size:.74rem!important;margin-top:.34rem!important;}

/* Higher-contrast bands and text */
.eyebrow{color:#6a5718!important;}
.hero-section .eyebrow,.site-footer .eyebrow,.emergency-band .eyebrow{color:#fff0a4!important;}
.emergency-band{background:linear-gradient(135deg,#061016,#0d1a23 70%,#17180e)!important;color:#fff!important;}
.emergency-band h2,.emergency-band p{color:#fff!important;}
.emergency-band .button-dark{background:#fff!important;color:#061016!important;}
.emergency-band .button-gold{background:linear-gradient(135deg,#cdbb73,#f5e6a6)!important;color:#061016!important;}

/* Financing direct-link card */
.financing-frame-wrap,.financing-frame{display:none!important;}
.financing-direct-card{max-width:820px;margin:1.5rem auto 0;background:#fff;border:1px solid #e1d5b5;border-radius:24px;padding:1.4rem;box-shadow:0 18px 46px rgba(17,24,32,.08);}
.financing-callout{background:linear-gradient(145deg,#061016,#12212a)!important;color:#fff!important;border:1px solid rgba(205,187,115,.38)!important;border-radius:24px!important;padding:1.3rem!important;box-shadow:0 24px 70px rgba(0,0,0,.25)!important;}
.financing-callout h3{color:#fff!important;}
.financing-callout p{color:#dfe8ec!important;}

/* Fix location-page FAQ/service-card formatting */
.content-section.alt>.container.two-col:has(.faq-list):has(.service-grid){display:block!important;}
.content-section.alt>.container.two-col:has(.faq-list):has(.service-grid)>.section-intro,
.content-section.alt>.container.two-col:has(.faq-list):has(.service-grid)>div:first-child{max-width:920px!important;margin:0 auto 2rem!important;}
.content-section.alt>.container.two-col:has(.faq-list):has(.service-grid)>div:last-child{width:100%!important;}
.content-section.alt>.container.two-col:has(.faq-list):has(.service-grid) .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch!important;}
.content-section.alt>.container.two-col:has(.faq-list):has(.service-grid) .service-card .card-img{height:170px!important;}
.content-section.alt>.container.two-col:has(.faq-list):has(.service-grid) .service-card h3{font-size:1.08rem!important;line-height:1.08!important;}
.content-section.alt>.container.two-col:has(.faq-list):has(.service-grid) .service-card p{font-size:.92rem!important;line-height:1.45!important;}

/* Floating desktop CTA */
.floating-quote{position:fixed;right:22px;bottom:22px;z-index:950;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.9rem 1.18rem;border-radius:999px;background:linear-gradient(135deg,#cdbb73,#f5e6a6);color:#071016;font-weight:1000;box-shadow:0 18px 44px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.42);opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .22s ease,transform .22s ease;}
.floating-quote.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.floating-quote:hover{transform:translateY(-2px);box-shadow:0 24px 58px rgba(0,0,0,.32);}
.mobile-sticky{display:none!important;}

/* Footer logo compact and legible */
.footer-logo-lockup{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#fffdf7!important;border:1px solid rgba(205,187,115,.72)!important;border-radius:16px!important;padding:.42rem .52rem!important;box-shadow:0 18px 44px rgba(0,0,0,.28)!important;margin-bottom:1rem!important;}
.footer-logo-lockup img,.footer-brand img{display:block!important;width:198px!important;max-width:198px!important;height:auto!important;aspect-ratio:288/101!important;object-fit:contain!important;background:transparent!important;border:0!important;padding:0!important;filter:none!important;}
.footer-logo-lockup span,.footer-logo-text{display:none!important;}
.footer-social .social-links{display:flex;flex-wrap:wrap;gap:.45rem;}
.footer-social .social-links a{display:inline-flex;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.34rem .58rem;background:rgba(255,255,255,.06);font-size:.82rem;font-weight:800;}

@media (max-width:1260px){
  .site-header .brand img,.site-header .brand img.brand-mark-img{width:160px!important;max-width:160px!important;}
  .main-nav .nav-link,.main-nav>ul>li>a{padding:.56rem .58rem!important;font-size:.86rem!important;}
  .nav-cta{padding:.72rem 1rem!important;}
}
@media (max-width:1080px){
  html{scroll-padding-top:92px;}
  .site-header .nav-shell{min-height:66px!important;}
  .site-header .brand img,.site-header .brand img.brand-mark-img{width:148px!important;max-width:148px!important;}
  .nav-toggle{display:block!important;margin-left:auto!important;}
  .nav-cta{display:none!important;}
  .main-nav{position:fixed!important;left:18px!important;right:18px!important;top:96px!important;max-height:calc(100vh - 118px)!important;overflow:auto!important;background:#fffdf7!important;border:1px solid rgba(205,187,115,.55)!important;border-radius:22px!important;padding:.85rem!important;box-shadow:0 30px 90px rgba(0,0,0,.34)!important;display:none!important;margin-left:0!important;z-index:1300!important;}
  .main-nav.is-open{display:block!important;}
  .main-nav>ul{display:grid!important;gap:.35rem!important;align-items:stretch!important;}
  .main-nav .nav-link,.main-nav>ul>li>a{display:flex!important;justify-content:space-between!important;width:100%!important;color:#101820!important;background:#f5eedc!important;border:1px solid #e2d6b5!important;min-height:46px!important;padding:.75rem .9rem!important;border-radius:14px!important;}
  .has-menu,.mega-item{display:block!important;}
  .mega-menu{position:static!important;width:100%!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;margin:.42rem 0 .75rem!important;color:#101820!important;}
  .mega-panel{display:block!important;padding:.75rem!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important;}
  .mega-intro{padding:1rem!important;margin-bottom:.75rem!important;}
  .mega-service-grid,.mega-county-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .mega-card{min-height:74px!important;padding:.72rem!important;}
  .home-hero .hero-grid{grid-template-columns:1fr!important;max-width:min(650px,calc(100% - 34px))!important;min-height:auto!important;padding:2.3rem 0!important;}
  .home-hero .hero-copy,.home-hero .hero-form{max-width:650px!important;width:100%!important;}
  .home-hero .hero-form{margin-top:.35rem!important;}
  .hero-section:not(.home-hero) .hero-grid{grid-template-columns:1fr!important;min-height:auto!important;padding:3rem 0 2.4rem!important;}
  .hero-section:not(.home-hero) .hero-form .quote-form{max-width:650px!important;margin-left:0!important;}
  .content-section.alt>.container.two-col:has(.faq-list):has(.service-grid) .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:700px){
  html{scroll-padding-top:82px;}
  body{padding-bottom:68px!important;}
  .top-strip-inner{display:block!important;text-align:center!important;font-size:.78rem!important;padding:.3rem 0!important;}
  .site-header .nav-shell{min-height:60px!important;padding:.42rem 0!important;}
  .site-header .brand{border-radius:12px!important;padding:.22rem .30rem!important;}
  .site-header .brand img,.site-header .brand img.brand-mark-img{width:132px!important;max-width:132px!important;}
  .main-nav{top:84px!important;left:12px!important;right:12px!important;max-height:calc(100vh - 102px)!important;}
  .mega-service-grid,.mega-county-grid{grid-template-columns:1fr!important;}
  .mega-intro strong{font-size:1.1rem!important;}
  .mega-intro p{font-size:.86rem!important;}
  .home-hero{min-height:auto!important;}
  .home-hero:before{background:rgba(2,8,12,.92)!important;}
  .home-hero .hero-media img{opacity:.45!important;object-position:62% center!important;}
  .home-hero .hero-grid{padding:1.8rem 0 1.55rem!important;gap:.85rem!important;}
  .home-hero .hero-copy{padding:1.05rem!important;border-radius:22px!important;}
  .home-hero h1{font-size:clamp(2.0rem,10vw,2.95rem)!important;}
  .home-hero .hero-copy p{font-size:.98rem!important;}
  .home-hero .hero-actions .button{width:100%!important;}
  .home-hero .hero-form .form-grid{grid-template-columns:1fr!important;}
  .hero-section:not(.home-hero) h1{font-size:clamp(2.1rem,11vw,3.2rem)!important;}
  .content-section{padding:3.6rem 0!important;}
  .two-col,.two-col.reverse,.service-grid,.county-grid,.process-grid,.testimonial-grid,.video-grid,.gallery-grid,.gallery-grid.compact{grid-template-columns:1fr!important;}
  .content-section.alt>.container.two-col:has(.faq-list):has(.service-grid) .service-grid{grid-template-columns:1fr!important;}
  .photo-stack img{height:230px!important;}
  .floating-quote{display:none!important;}
  .mobile-sticky{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:1200!important;display:grid!important;grid-template-columns:1fr 1.35fr!important;background:#050b0f!important;border-top:1px solid rgba(255,255,255,.14)!important;box-shadow:0 -18px 38px rgba(0,0,0,.22)!important;}
  .mobile-sticky a{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;color:#fff!important;padding:.92rem .7rem!important;font-weight:1000!important;font-size:.95rem!important;}
  .mobile-sticky a:last-child{background:linear-gradient(135deg,#cdbb73,#f5e6a6)!important;color:#061016!important;}
  .footer-logo-lockup img,.footer-brand img{width:176px!important;max-width:176px!important;}
}
@media (max-width:420px){
  .site-header .brand img,.site-header .brand img.brand-mark-img{width:118px!important;max-width:118px!important;}
  .top-strip-inner span{display:block;}
  .top-strip-inner a{display:inline-block;margin-top:.18rem;}
  .mobile-sticky a{font-size:.88rem!important;padding:.86rem .45rem!important;}
}
