/* AA Advanced Home Solutions — Electric Blue Concept Theme */
:root{
  --electric:#087cff;
  --electric-bright:#00a8ff;
  --electric-deep:#0055d9;
  --midnight:#06111f;
  --midnight-soft:#0b1b2d;
  --steel:#b8c7d8;
  --paper:#fff;
  --soft:#f3f7fb;
  --ink:#0b1118;
  --muted:#536274;
  --line:rgba(8,124,255,.20);
  --gold:var(--electric);
  --gold-deep:var(--electric-deep);
  --gold-light:var(--electric-bright);
  --gold-pale:#bfe8ff;
  --navy:var(--midnight-soft);
  --navy-deep:var(--midnight);
  --shadow:0 18px 48px rgba(0,54,128,.14);
}

body{background:#fff;color:var(--ink)}
.wrap{width:min(1380px,calc(100% - 56px))}

/* Bright, premium brand header */
.top-identity{background:#fff;border:0}
.identity-inner{min-height:92px}
.logo-link img{width:min(390px,44vw);max-height:88px}
.identity-actions{gap:.65rem}
.identity-actions .facebook-mini,.identity-actions .google-mini,.identity-actions .email-link{display:none}
.facebook-mini,.google-mini{background:#eef7ff!important;color:#075db8!important;border:1px solid #b9dcff}
.facebook-mini svg{fill:#087cff}
.email-link{color:#3b4b5e}
.phone-link{display:inline-flex;align-items:center;background:linear-gradient(135deg,var(--electric-bright),var(--electric-deep));color:#fff!important;padding:.8rem 1.15rem;border-radius:4px;box-shadow:0 8px 22px rgba(8,124,255,.24)}

.nav{background:#fff;border-top:1px solid #e6edf5;border-bottom:1px solid #dce7f2;box-shadow:0 8px 25px rgba(4,22,42,.08)}
.navin{min-height:62px}
.links>a,.dropdown>a{color:#111820;opacity:1;font-weight:800;padding:1.15rem 1.2rem}
.links>a:hover,.dropdown:hover>a{background:#eff7ff;color:var(--electric-deep)}
.links>a:first-child{color:var(--electric-deep);box-shadow:inset 0 -3px var(--electric)}
.nav-cta{background:linear-gradient(135deg,var(--electric-bright),var(--electric-deep))!important;color:#fff!important;margin-left:.4rem;border-radius:4px;box-shadow:0 7px 18px rgba(8,124,255,.22)}
.dropdown-menu{background:#fff;border-top:3px solid var(--electric);box-shadow:0 20px 40px rgba(4,20,40,.17)}
.dropdown-menu a{color:#1b2734}
.dropdown-menu a:hover{background:#eff7ff;color:var(--electric-deep)}

/* Dramatic homepage hero */
.home-hero{min-height:680px;border-bottom:1px solid #163657}
.hero:after{background:linear-gradient(90deg,rgba(2,8,16,.94) 0%,rgba(3,13,26,.73) 42%,rgba(3,13,26,.18) 73%),linear-gradient(0deg,rgba(2,10,19,.6),transparent 58%)}
.hero-content{max-width:820px;padding:8rem 0 7rem}
.hero .eyebrow{color:#fff;border-left:5px solid var(--electric);padding-left:14px;letter-spacing:.18em}
.hero h1,.pagehero h1,.local-hero h1{font-family:"Arial Narrow","Roboto Condensed",Impact,Arial,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.035em}
.home-hero h1{font-size:clamp(3.35rem,4.8vw,5.5rem);line-height:.92;margin:1rem 0 1.4rem;max-width:980px;text-shadow:0 4px 24px rgba(0,0,0,.45)}
.home-hero h1 .blue-line{display:block;color:var(--electric-bright);text-shadow:0 0 26px rgba(0,153,255,.34)}
.hero p{font-size:clamp(1rem,1.6vw,1.22rem);line-height:1.65;max-width:650px}
.btn{background:linear-gradient(135deg,var(--electric-bright),var(--electric-deep));border-color:var(--electric);color:#fff;border-radius:4px;box-shadow:0 8px 22px rgba(8,124,255,.18)}
.btn:hover{background:linear-gradient(135deg,#16b7ff,#0060e9);transform:translateY(-2px);box-shadow:0 12px 28px rgba(8,124,255,.3)}
.hero .btn.alt{background:rgba(3,13,26,.5);border-color:var(--electric-bright);color:#fff;box-shadow:none}
.hero .btn.alt:hover{background:var(--electric);border-color:var(--electric)}
.hero-dots span.active{background:var(--electric-bright);box-shadow:0 0 12px var(--electric-bright)}

/* Trust and service presentation inspired by the approved concept */
.home-trust-wrap{margin-top:-42px}
.home-trust-strip{border:1px solid rgba(8,124,255,.28);box-shadow:var(--shadow);border-radius:5px}
.home-trust-item>span{color:var(--electric)}
.home-services{background:linear-gradient(145deg,#06111f,#0b1b2d);color:#fff;padding-top:7rem}
.home-services .home-heading{max-width:900px}
.home-services .home-heading .eyebrow{color:var(--electric-bright)}
.home-services .home-heading h2{font-family:"Arial Narrow","Roboto Condensed",Impact,Arial,sans-serif;text-transform:uppercase;font-weight:900;letter-spacing:-.025em}
.home-service-grid{grid-template-columns:repeat(3,1fr);gap:1px;background:#1a3855;border:1px solid #1a3855}
.home-service-card{background:#081625;border:0;color:#fff;position:relative}
.home-service-card:hover{border:0;transform:translateY(-5px);box-shadow:0 20px 45px rgba(0,0,0,.38);z-index:2}
.home-service-card img{height:260px;filter:saturate(.92) contrast(1.04)}
.home-service-card div{border-top:3px solid var(--electric);min-height:170px}
.home-service-card h3{font-family:"Arial Narrow","Roboto Condensed",Impact,Arial,sans-serif;text-transform:uppercase;font-weight:900;font-size:1.45rem}
.home-service-card p{color:#aebfd0}
.home-service-card span{color:var(--electric-bright)}

.home-why{background:#f3f7fb}
.home-why-grid{border-color:#cddcea;background:#cddcea;box-shadow:var(--shadow)}
.home-why-grid article{border-top:3px solid transparent}
.home-why-grid article:hover{border-top-color:var(--electric);background:#f8fcff}
.home-why-grid span{color:var(--electric)}
.home-project-showcase{background:#fff}
.home-project-grid a{border-color:#d5e2ef}
.home-project-grid a:hover{border-color:var(--electric);box-shadow:var(--shadow)}
.home-reviews{background:#f3f7fb}
.home-review-card{border-top:3px solid var(--electric)}
.stars{color:var(--electric)}
.home-cta,.cta{background:linear-gradient(120deg,#06111f,#0b2b4c 62%,#075db8);border-top:1px solid #167ed8}
.home-cta strong{font-family:"Arial Narrow","Roboto Condensed",Impact,Arial,sans-serif;text-transform:uppercase;font-weight:900;font-size:2rem}

/* Interior pages */
.pagehero{background:linear-gradient(135deg,#f7fbff,#eaf4ff);border-bottom:1px solid #c9e3fb}
.pagehero h1{color:#071421}
.local-hero:before{background:linear-gradient(90deg,rgba(2,9,18,.94),rgba(3,21,40,.42))}
.local-hero .eyebrow,.section .eyebrow,.home-heading .eyebrow{color:var(--electric-deep)}
.section h2,.home-heading h2{color:#081421}
.card,.project-tile,.project-link-card{border-color:#d2e1ef}
.card:hover,.project-tile:hover,.project-link-card:hover{border-color:var(--electric);box-shadow:var(--shadow)}
.filter.active{background:var(--electric);border-color:var(--electric)}
.final{background:linear-gradient(135deg,var(--electric-bright),var(--electric-deep));color:#fff}
.form input:focus,.form select:focus,.form textarea:focus{outline-color:var(--electric)}
.footer{background:#030b14;border-top:3px solid var(--electric)}
.footer-social a:hover{border-color:var(--electric-bright);color:#fff}

/* Desktop presentation
   The original desktop rules inherited a compact 1320px canvas and small type.
   Keep the phone/tablet layout unchanged, but use the available laptop and
   large-monitor space so cards and long-form content remain easy to read. */
@media(min-width:981px){
  html{font-size:18px}
  .wrap{width:min(1680px,calc(100% - 7vw))}
  .identity-inner{min-height:126px}
  .logo-link img{width:min(520px,42vw);max-height:114px}
  .navin{min-height:78px}
  .links{font-size:1rem;gap:.12rem}
  .links>a,.dropdown>a{padding:1.45rem 1.5rem;letter-spacing:.025em}
  .dropdown-menu{min-width:290px;border-radius:0 0 6px 6px}
  .dropdown-menu a{padding:.95rem 1.25rem;font-size:.9rem}
  .home-hero{min-height:760px}
  .hero-content{max-width:960px;padding:9rem 0 8rem}
  .home-hero h1{font-size:clamp(4rem,5vw,6.4rem);max-width:1100px}
  .hero p{font-size:1.18rem;max-width:760px}
  section,.section{padding:6.5rem 0}
  .home-heading{max-width:920px;margin-bottom:3.25rem}
  .home-service-card img{height:310px}
  .home-service-card div{padding:1.65rem 1.7rem 1.8rem;min-height:190px}
  .home-service-card h3{font-size:1.55rem}
  .home-project-grid img{height:250px}
  .home-why-grid article{padding:2.35rem 2rem}
  .review-card,.home-review-card{padding:1.75rem}
  .seo-deep-content>.wrap{max-width:1500px}
  .seo-deep-content p,.seo-deep-content li{font-size:1.02rem;line-height:1.78}
  .footer{font-size:1rem}
}

/* Conversion-focused service landing pages. These reuse the approved electric-blue
   system and add depth without changing the August 27 visual identity. */
.service-landing-hero{background:linear-gradient(115deg,#03101f 0%,#082b50 66%,#087cff 140%);color:#fff;padding:6.75rem 0 5.5rem;position:relative;overflow:hidden}
.service-landing-hero:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-130px;top:-210px;box-shadow:0 0 0 80px rgba(8,124,255,.08),0 0 0 160px rgba(8,124,255,.04)}
.service-landing-hero .wrap{position:relative;z-index:1}
.service-landing-hero h1{font-family:"Arial Narrow","Roboto Condensed",Impact,Arial,sans-serif;font-size:clamp(2.8rem,5vw,5.5rem);line-height:.96;letter-spacing:-.035em;text-transform:uppercase;max-width:1000px;margin:.8rem 0 1.25rem}
.service-landing-hero h1 span{color:var(--electric-bright)}
.service-landing-hero .lead{max-width:780px;color:#dbeaff;font-size:1.15rem;line-height:1.7}
.service-landing-hero .btn.alt{background:transparent;border-color:#63c8ff;color:#fff;box-shadow:none}
.service-landing-hero .btn.alt:hover{background:rgba(255,255,255,.1);border-color:#fff}
.service-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#bed8ef;border:1px solid #bed8ef;box-shadow:var(--shadow);margin-top:-2rem;position:relative;z-index:2}
.service-proof article{background:#fff;padding:1.5rem}
.service-proof strong{display:block;color:var(--electric-deep);font-size:1.08rem;margin-bottom:.3rem}
.service-scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:2rem 0}
.service-scope-grid article{background:#fff;border:1px solid #cfe0ef;border-top:4px solid var(--electric);padding:1.6rem;box-shadow:0 12px 28px rgba(5,45,90,.08)}
.service-scope-grid h3{margin-top:0;color:#071421}
.city-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.city-links span{background:#eaf5ff;border:1px solid #b9dcff;color:#064f9d;padding:.55rem .8rem;border-radius:3px;font-weight:700}
@media(max-width:780px){.service-proof,.service-scope-grid{grid-template-columns:1fr}.service-landing-hero{padding:4.5rem 0}.service-landing-hero:after{display:none}}

@media(min-width:1800px){
  html{font-size:20px}
  .wrap{width:min(1900px,calc(100% - 9vw))}
  .home-hero{min-height:820px}
  .hero-content{max-width:1080px}
  .home-service-card img{height:350px}
  .home-project-grid img{height:285px}
  .seo-deep-content>.wrap{max-width:1650px}
}

/* Ultra-wide and zoomed-out desktop safeguard.
   At large effective CSS viewports, a fixed 1900px canvas becomes visually tiny.
   Scale the complete interface—not just headings—so navigation, cards, forms,
   maps and body copy remain comfortably readable. */
@media(min-width:2600px){
  html{font-size:24px}
  body{font-size:1rem}
  .wrap{width:min(2880px,calc(100% - 10vw))}
  .identity-inner{min-height:158px}
  .logo-link img{width:min(720px,32vw);max-height:142px}
  .phone-link{font-size:1rem;padding:1rem 1.45rem}
  .navin{min-height:92px}
  .links{font-size:.94rem}
  .links>a,.dropdown>a{padding:1.25rem 1.1rem}
  .dropdown-menu{min-width:390px}
  .dropdown-menu a{font-size:.95rem;padding:1.05rem 1.35rem}
  .pagehero{padding:6rem 0 4.5rem}
  .pagehero .lead{font-size:1.15rem;max-width:1250px}
  .section{padding:6.5rem 0}
  .section h2,.home-heading h2{font-size:clamp(2.5rem,3vw,4.5rem)}
  .lead,.seo-deep-content p,.seo-deep-content li{font-size:1.06rem;line-height:1.75}
  .grid3,.project-grid,.project-link-grid{gap:2rem}
  .card img{height:520px}
  .cardbody{padding:1.8rem}
  .cardbody h3{font-size:1.45rem}
  .cardbody p{font-size:1rem;line-height:1.6}
  .project-tile img{height:500px}
  .project-tile strong{font-size:1.45rem}
  .project-link-card img{height:540px}
  .project-link-card h3{font-size:1.5rem}
  .split{gap:6rem}
  .check{gap:1rem}
  .check div{font-size:1rem;padding:1.15rem}
  .form{gap:1.25rem}
  .form input,.form select,.form textarea{font-size:1rem;padding:1.15rem}
  .form textarea{min-height:260px}
  .form-note{font-size:.92rem}
  .map-frame{height:900px}
  .map-note{padding:2.4rem 0}
  .map-note-row strong{font-size:1.45rem}
  .map-note-row span{font-size:1rem}
  .google-panel{gap:3rem;padding:2.5rem}
  .google-panel iframe{min-height:760px}
  .review-grid,.home-review-grid{gap:1.5rem}
  .review-card,.home-review-card{padding:1.8rem}
  .review-card p,.home-review-card p{font-size:1rem;line-height:1.7}
  .review-card span,.home-review-card span:not(.stars):not(.review-avatar){font-size:.9rem}
  .review-avatar{width:64px;height:64px;font-size:1rem}
  .footer{font-size:1rem}
}

.verified-review-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin:4rem 0 1.5rem;flex-wrap:wrap}
.verified-review-heading p{max-width:760px;color:var(--muted);margin:0}
.review-grid.top-five{grid-template-columns:repeat(2,minmax(0,1fr))}
.review-top{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem}
.review-top>div{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.review-top strong,.review-top small{display:block}
.review-top small{color:var(--muted);font-size:.82rem}
.review-source-note{margin-top:1.5rem;color:var(--muted);font-size:.9rem}
@media(min-width:1800px){.review-grid.top-five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:2600px){.review-grid.top-five{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:700px){.review-grid.top-five{grid-template-columns:1fr}.verified-review-heading{margin-top:2.5rem}}

@media(max-width:980px){
  .identity-actions .facebook-mini,.identity-actions .google-mini,.identity-actions .email-link{display:none}
  .navin{justify-content:flex-end}
  .mobile{display:inline-flex;background:var(--electric);border-color:var(--electric);color:#fff}
  body.menu-open .links,.links.show{background:#06111f}
  .navin>.mobile-menu-contact{display:none!important}
  body.menu-open .navin>.mobile-menu-contact{display:block!important;background:#06111f}
  .home-service-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:600px){
  .wrap{width:calc(100% - 28px)}
  .identity-inner{min-height:80px}
  .logo-link img{max-width:190px;max-height:58px}
  .identity-actions .phone-link{padding:.65rem .75rem;font-size:.72rem}
  .navin{min-height:52px}
  body.menu-open .links,.links.show{inset:132px 0 0}
  .home-hero{min-height:calc(100svh - 132px)}
  .hero-content{padding:4.5rem 0 5rem}
  .home-hero h1{font-size:clamp(2.55rem,11.4vw,3.4rem);line-height:.95}
  .home-trust-wrap{margin-top:0}
  .home-service-grid{grid-template-columns:1fr}
  .home-services{padding-top:4rem}
  .home-service-card img{height:230px}
}

/* 2026-08-29 legibility and luxury refinement */
:root{--luxury-display:"Bodoni 72","Bodoni MT",Didot,"Didot LT STD",Georgia,"Times New Roman",serif}
.hero h1,.pagehero h1,.local-hero h1,.service-landing-hero h1,
.home-services .home-heading h2,.home-service-card h3,.home-cta strong{
  font-family:var(--luxury-display);
  font-weight:600;
  text-transform:none;
  letter-spacing:-.025em;
}
.home-hero h1,.service-landing-hero h1{line-height:1.01}

/* Use the supplied official Facebook mark anywhere a Facebook link appears. */
a[href*="facebook.com"]{font-size:0!important;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:5px!important;border:0!important;background:transparent!important}
a[href*="facebook.com"]:before{content:"";display:block;width:34px;height:34px;background:url("images/facebook-official-icon.png") center/contain no-repeat}

/* The compact areas identified in the desktop review need their own floor. */
@media(min-width:981px){
  .dropdown-menu a{font-size:1rem;line-height:1.35;padding:1rem 1.25rem}
  .seo-deep-content p,.seo-deep-content li{font-size:1.08rem;line-height:1.82}
  .related-link-grid a{font-size:1rem;padding:1rem 1.1rem}
  .footer{font-size:1.06rem;line-height:1.75}
  .footer strong{font-size:1rem}
  .footer-logo{width:300px}
  .footer small{font-size:.82rem}
}

@media(max-width:980px){
  .top-identity{position:relative;z-index:80;background:#fff}
  .identity-inner{position:relative;justify-content:center;padding:1rem 0;min-height:104px}
  .logo-link img{width:min(280px,58vw);max-height:76px;object-position:center}
  .identity-actions{position:absolute;left:0;top:50%;transform:translateY(-50%)}
  .identity-actions .phone-link{font-size:0;width:58px;height:58px;padding:0;border-radius:50%;background:#086de0 url("images/call-us-3d.png") center/cover no-repeat;box-shadow:0 8px 20px rgba(0,71,170,.3)}
  .nav{height:0;min-height:0;border:0;box-shadow:none;position:relative;z-index:90}
  .navin{min-height:0}
  .mobile{position:absolute;right:0;top:-81px;width:58px;height:58px;padding:0;border:0;background:transparent;color:#071421;font-size:0;justify-content:center}
  .mobile .menu-icon{width:38px;gap:7px}
  .mobile .menu-icon i{height:4px;background:#071421;border-radius:4px}

  body.menu-open{overflow:hidden}
  body.menu-open .navin{position:fixed;inset:0;z-index:120;display:block;overflow-y:auto;background:#06111f;padding:76px 24px 32px;width:100%!important;max-width:none!important;margin:0!important}
  body.menu-open .mobile{position:fixed;top:18px;right:18px;color:#fff;width:52px;height:52px;z-index:122}
  body.menu-open .mobile .menu-icon i{background:#fff}
  body.menu-open .links,.links.show{position:static!important;inset:auto!important;display:flex!important;background:transparent!important;padding:0!important;overflow:visible!important;gap:0;width:100%}
  body.menu-open .links>a,body.menu-open .dropdown>a,.links.show>a,.links.show .dropdown>a{display:block;color:#fff!important;opacity:1!important;font-size:1.08rem!important;line-height:1.3;padding:1rem .25rem!important;border-bottom:1px solid rgba(255,255,255,.13);box-shadow:none!important;background:transparent!important}
  body.menu-open .links>a:first-child{color:#58baff!important}
  body.menu-open .dropdown-menu{background:#0b1b2d;border-top:2px solid var(--electric);padding:.4rem 0 .65rem 1rem}
  body.menu-open .dropdown-menu a{color:#fff!important;font-size:1rem!important;padding:.78rem .6rem!important}
  body.menu-open .navin>.mobile-menu-contact{display:block!important;position:static;background:transparent!important;margin:1rem 0 0;padding:1.1rem .25rem 0;border-top:1px solid rgba(255,255,255,.2)}
  .mobile-phone-row,.mobile-email-row,.mobile-address-row{color:#fff!important;font-size:1rem!important;gap:12px!important}
  .mobile-phone-row span{font-size:0;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:#086de0 url("images/call-us-3d.png") center/cover no-repeat}
  .mobile-facebook-row:before{width:38px!important;height:38px!important}
  .mobile-call-now{color:#fff!important;background:linear-gradient(145deg,#1ab2ff,#0063dc)!important;border-radius:10px;box-shadow:0 9px 0 #003f9b,0 15px 24px rgba(0,0,0,.3);margin:1.2rem 0 1.5rem!important;font-size:1.08rem!important;padding:1rem!important}
  .mobile-estimate{color:#fff!important;border:2px solid #55bdff!important;font-size:1.05rem!important;padding:1rem!important}
}

@media(max-width:600px){
  .identity-inner{min-height:98px;padding:.8rem 0}
  .logo-link img{width:min(236px,57vw);max-height:68px}
  .identity-actions .phone-link{width:52px;height:52px}
  .mobile{top:-74px;width:52px;height:52px}
  .home-hero{min-height:calc(100svh - 98px)}
  .home-hero h1{font-size:clamp(2.75rem,12.4vw,3.7rem);line-height:1.02}
  .hero-content{padding:4.4rem 0 4.8rem}
}
