
/* Sferra v9: mega-menu hover bridge, light legible header, improved interior hero, location layout polish. */
:root{--v9-ink:#0b1116;--v9-deep:#061016;--v9-paper:#f8f4eb;--v9-gold:#cdbb73;--v9-gold-light:#f5e6a6;--v9-border:#ded2b2;}
html{scroll-padding-top:118px;}
.top-strip{background:#05080a!important;color:#f6efd2!important;border-bottom:1px solid rgba(205,187,115,.28)!important;}
.top-strip-inner{padding:.36rem 0!important;}
.top-strip a{color:#fff0a4!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.site-header{background:rgba(248,244,235,.96)!important;color:var(--v9-ink)!important;border-bottom:1px solid rgba(205,187,115,.72)!important;box-shadow:0 12px 36px rgba(5,10,14,.16)!important;backdrop-filter:saturate(160%) blur(18px)!important;}
.site-header .nav-shell{min-height:62px!important;padding:.38rem 0!important;gap:1.05rem!important;position:relative!important;}
.site-header .brand{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;overflow:visible!important;min-width:0!important;}
.site-header .brand img,.site-header .brand img.brand-mark-img{display:block!important;width:158px!important;max-width:158px!important;height:auto!important;aspect-ratio:288/101!important;object-fit:contain!important;filter:none!important;background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;}
.site-header .brand span,.site-header .brand .brand-text,.site-header .brand .brand-type{display:none!important;}
.main-nav .nav-link,.main-nav>ul>li>a{color:#111920!important;border:1px solid transparent!important;min-height:42px!important;display:inline-flex!important;align-items:center!important;padding:.54rem .76rem!important;border-radius:999px!important;font-weight:900!important;}
.main-nav .nav-link:hover,.main-nav .nav-link:focus,.mega-item:hover>.nav-link,.mega-item:focus-within>.nav-link,.mega-item.mega-open>.nav-link{background:#ede4cf!important;color:#000!important;border-color:#dfd1ad!important;outline:0!important;}
.nav-cta{background:linear-gradient(135deg,var(--v9-gold),var(--v9-gold-light))!important;color:#071016!important;border:1px solid #bca95c!important;box-shadow:0 12px 28px rgba(205,187,115,.28)!important;min-height:46px!important;padding:.72rem 1.05rem!important;}
.nav-toggle span{background:#121a20!important;}
.has-menu,.mega-item{position:static!important;display:flex!important;align-items:center!important;padding-bottom:14px!important;margin-bottom:-14px!important;}
.mega-menu{position:absolute!important;left:50%!important;top:100%!important;width:min(1140px,calc(100vw - 34px))!important;transform:translate(-50%,8px)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;z-index:1800!important;color:var(--v9-ink)!important;padding-top:12px!important;}
.mega-item:hover>.mega-menu,.mega-item:focus-within>.mega-menu,.mega-item.mega-open>.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:292px minmax(0,1fr)!important;gap:1rem!important;padding:1rem!important;border-radius:24px!important;background:#fffefa!important;border:1px solid rgba(205,187,115,.75)!important;box-shadow:0 30px 86px rgba(4,10,14,.26)!important;color:var(--v9-ink)!important;}
.mega-intro{background:linear-gradient(145deg,#061016,#10202a)!important;color:#fff!important;border-radius:20px!important;padding:1.2rem!important;}
.mega-intro strong{font-size:1.35rem!important;line-height:1.04!important;}
.mega-intro p{color:#e5edf0!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{background:#f7f0df!important;border:1px solid #e1d2ae!important;color:var(--v9-ink)!important;border-radius:17px!important;min-height:76px!important;padding:.74rem!important;}
.mega-card strong{color:#0f171d!important;font-size:.94rem!important;line-height:1.12!important;}
.mega-card small{color:#55626d!important;}
.mega-card:hover,.mega-card:focus{background:#fff!important;border-color:#b8a35b!important;box-shadow:0 12px 32px rgba(17,24,32,.14)!important;transform:translateY(-1px);}
.mega-icon{background:linear-gradient(135deg,#c5b266,#f5e6a6)!important;color:#071016!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);}
.hero-section:not(.home-hero){background:#061016!important;}
.hero-section:not(.home-hero):before{background:linear-gradient(100deg,rgba(2,8,12,.97) 0%,rgba(2,8,12,.91) 38%,rgba(2,8,12,.72) 58%,rgba(2,8,12,.36) 78%,rgba(2,8,12,.14) 100%)!important;}
.hero-section:not(.home-hero) .hero-media img{opacity:.84!important;filter:saturate(1.05) contrast(1.03)!important;object-position:center center!important;}
.hero-section:not(.home-hero) .hero-grid{min-height:520px!important;padding:2.75rem 0 2.55rem!important;grid-template-columns:minmax(0,1fr) minmax(340px,.45fr)!important;gap:2rem!important;align-items:center!important;}
.hero-section:not(.home-hero) .hero-copy{max-width:760px!important;}
.hero-section:not(.home-hero) h1{font-size:clamp(2.4rem,4.65vw,4.8rem)!important;line-height:1!important;letter-spacing:-.055em!important;}
.hero-section:not(.home-hero) .hero-copy p{font-size:clamp(1rem,1.15vw,1.2rem)!important;line-height:1.5!important;color:#edf4f6!important;max-width:660px!important;}
.hero-section:not(.home-hero) .hero-form .quote-form{max-width:420px!important;margin-left:auto!important;padding:.92rem!important;border-radius:22px!important;}
.hero-section:not(.home-hero) .quote-form .form-head strong{font-size:1.08rem!important;line-height:1.1!important;}
.hero-section:not(.home-hero) .quote-form .form-head small{font-size:.78rem!important;}
.hero-section:not(.home-hero) .quote-form label{font-size:.68rem!important;gap:.16rem!important;}
.hero-section:not(.home-hero) .quote-form input,.hero-section:not(.home-hero) .quote-form select,.hero-section:not(.home-hero) .quote-form textarea{padding:.48rem .58rem!important;border-radius:10px!important;font-size:.86rem!important;line-height:1.2!important;}
.hero-section:not(.home-hero) .quote-form textarea{min-height:56px!important;max-height:68px!important;}
.hero-section:not(.home-hero) .quote-form .consent{font-size:.64rem!important;line-height:1.25!important;margin-top:.4rem!important;}
.hero-section:not(.home-hero) .quote-form .button{min-height:40px!important;margin-top:.45rem!important;font-size:.86rem!important;}
.hero-section:not(.home-hero) .form-note{font-size:.74rem!important;margin-top:.35rem!important;}
.home-hero{min-height:510px!important;}
.home-hero .hero-grid{min-height:510px!important;padding:1.35rem 0!important;grid-template-columns:minmax(0,590px) minmax(330px,390px)!important;gap:1rem!important;}
.home-hero .hero-copy{padding:1.12rem 1.22rem!important;border-radius:23px!important;}
.home-hero h1{font-size:clamp(2.18rem,3.1vw,3.72rem)!important;}
.home-hero .hero-copy p{font-size:clamp(.98rem,1.03vw,1.08rem)!important;}
.home-hero .hero-form{max-width:390px!important;}
.content-section{padding:5rem 0!important;}
.two-col{align-items:stretch!important;}
.two-col>aside.info-card,.two-col>.info-card,.two-col>.link-panel{height:100%!important;min-height:100%!important;display:flex!important;flex-direction:column!important;justify-content:center!important;background:linear-gradient(160deg,#fffefa,#f5eedf)!important;border-color:#deceb0!important;}
.two-col>aside.info-card .button,.two-col>.info-card .button{align-self:flex-start!important;}
.about-story-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.55fr)!important;}
.about-story-card{justify-content:space-between!important;gap:1rem!important;}
.about-story-card .aside-photo{display:block!important;border-radius:18px!important;overflow:hidden!important;margin:-.15rem -.15rem .95rem!important;border:1px solid rgba(205,187,115,.42)!important;background:#111!important;}
.about-story-card .aside-photo img{width:100%!important;height:210px!important;object-fit:cover!important;}
.location-faq-services .stacked-faq-services{display:block!important;}
.location-faq-services .section-intro{max-width:880px!important;margin:0 auto 1.7rem!important;text-align:center!important;}
.location-faq-services .faq-list{max-width:900px!important;margin:0 auto 2rem!important;}
.location-faq-services .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1rem!important;align-items:stretch!important;}
.location-faq-services .service-card .card-img{height:170px!important;}
.location-faq-services .service-card h3{font-size:1.08rem!important;line-height:1.12!important;}
.location-faq-services .service-card p{font-size:.92rem!important;line-height:1.46!important;}
.location-map-section .map-embed,.location-map-section iframe{border-radius:24px!important;overflow:hidden!important;box-shadow:0 18px 52px rgba(17,24,32,.12)!important;}
.emergency-band .eyebrow{color:#fff0a4!important;}
.footer-logo-lockup{background:#fffefa!important;border-radius:10px!important;padding:.32rem .38rem!important;}
.footer-logo-lockup img,.footer-brand img{width:178px!important;max-width:178px!important;aspect-ratio:288/101!important;}
@media (max-width:1240px){
  .site-header .brand img,.site-header .brand img.brand-mark-img{width:148px!important;max-width:148px!important;}
  .main-nav .nav-link,.main-nav>ul>li>a{padding:.52rem .58rem!important;font-size:.87rem!important;}
  .nav-cta{padding:.68rem .88rem!important;}
  .mega-panel{grid-template-columns:260px minmax(0,1fr)!important;}
}
@media (max-width:1080px){
  html{scroll-padding-top:92px;}
  .site-header .nav-shell{min-height:60px!important;}
  .site-header .brand img,.site-header .brand img.brand-mark-img{width:142px!important;max-width:142px!important;}
  .main-nav{top:92px!important;background:#fffefa!important;}
  .main-nav .nav-link,.main-nav>ul>li>a{color:#101820!important;background:#f5eedc!important;border:1px solid #e2d6b5!important;}
  .has-menu,.mega-item{display:block!important;padding-bottom:0!important;margin-bottom:0!important;}
  .mega-menu{position:static!important;width:100%!important;padding-top:0!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;margin:.42rem 0 .75rem!important;}
  .mega-panel{display:block!important;box-shadow:none!important;padding:.75rem!important;}
  .mega-service-grid,.mega-county-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .hero-section:not(.home-hero) .hero-grid{grid-template-columns:1fr!important;min-height:auto!important;padding:2.5rem 0 2.25rem!important;}
  .hero-section:not(.home-hero) .hero-form .quote-form{max-width:650px!important;margin-left:0!important;}
  .home-hero .hero-grid{grid-template-columns:1fr!important;max-width:min(650px,calc(100% - 34px))!important;min-height:auto!important;padding:2.1rem 0!important;}
  .home-hero .hero-copy,.home-hero .hero-form{max-width:650px!important;width:100%!important;}
  .about-story-grid{grid-template-columns:1fr!important;}
  .location-faq-services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:700px){
  html{scroll-padding-top:82px;}
  body{padding-bottom:70px!important;}
  .top-strip-inner{font-size:.77rem!important;padding:.28rem 0!important;}
  .site-header .nav-shell{min-height:58px!important;padding:.36rem 0!important;}
  .site-header .brand img,.site-header .brand img.brand-mark-img{width:128px!important;max-width:128px!important;}
  .main-nav{top:82px!important;}
  .mega-service-grid,.mega-county-grid{grid-template-columns:1fr!important;}
  .home-hero .hero-grid{padding:1.45rem 0 1.35rem!important;gap:.78rem!important;}
  .home-hero .hero-copy{padding:1rem!important;}
  .home-hero h1{font-size:clamp(2rem,9.6vw,2.82rem)!important;}
  .hero-section:not(.home-hero) .hero-media img{opacity:.48!important;}
  .hero-section:not(.home-hero) h1{font-size:clamp(2.05rem,10.2vw,3.05rem)!important;}
  .hero-section:not(.home-hero) .hero-form .form-grid{grid-template-columns:1fr!important;}
  .content-section{padding:3.35rem 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;}
  .location-faq-services .service-grid{grid-template-columns:1fr!important;}
  .footer-logo-lockup img,.footer-brand img{width:160px!important;max-width:160px!important;}
}
@media (max-width:420px){
  .site-header .brand img,.site-header .brand img.brand-mark-img{width:116px!important;max-width:116px!important;}
}
