:root{
            --ink:#0b1118;
            --ink-2:#121a23;
            --surface:#f4f6f7;
            --paper:#ffffff;
            --muted:#69737d;
            --line:#dfe4e8;
            --ace-blue:#a5c8d4;
            --ace-blue-dark:#86b4c4;
            --ace-gold:var(--ace-blue);
            --ace-gold-dark:var(--ace-blue-dark);
            --lime:var(--ace-blue);
            --lime-dark:var(--ace-blue-dark);
            --max:1240px;
            --radius:22px;
            --shadow:0 18px 60px rgba(7,14,20,.12);
        }

        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        body{
            margin:0;
            color:var(--ink);
            background:var(--paper);
            font-family:'Manrope',sans-serif;
            line-height:1.6;
            overflow-x:hidden;
            -webkit-font-smoothing:antialiased;
        }
        body.menu-open{overflow:hidden}
        img{display:block;max-width:100%}
        a{color:inherit;text-decoration:none}
        button,input,textarea,select{font:inherit}
        button{cursor:pointer}
        section{scroll-margin-top:90px}

        .container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
        .eyebrow{
            display:inline-flex;align-items:center;gap:10px;
            margin:0 0 18px;
            font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
        }
        .eyebrow::before{content:"";width:26px;height:2px;background:var(--lime)}
        .section-title{
            margin:0;
            font-family:'Space Grotesk',sans-serif;
            font-size:clamp(2.25rem,5vw,4.7rem);
            line-height:.97;
            letter-spacing:-.055em;
            font-weight:700;
        }
        .section-copy{max-width:680px;color:var(--muted);font-size:1.05rem}
        .btn{
            display:inline-flex;align-items:center;justify-content:center;gap:10px;
            min-height:54px;padding:0 23px;border-radius:999px;border:1px solid transparent;
            font-weight:800;font-size:.9rem;transition:.25s ease;
        }
        .btn-primary{background:var(--lime);color:var(--ink)}
        .btn-primary:hover{background:#c6e0e8;transform:translateY(-2px)}
        .btn-dark{background:var(--ink);color:#fff}
        .btn-dark:hover{background:#1b2733;transform:translateY(-2px)}
        .btn-outline{border-color:rgba(255,255,255,.38);color:#fff}
        .btn-outline:hover{background:#fff;color:var(--ink)}
        .arrow{font-size:1.15em;transition:transform .25s ease}
        a:hover .arrow,.btn:hover .arrow{transform:translateX(4px)}

        .topbar{
            background:var(--lime);
            padding:8px 0;
            font-size:.78rem;font-weight:800;
        }
        .topbar .container{display:flex;justify-content:space-between;gap:16px}
        .topbar span:last-child{opacity:.72}

        .nav{
            position:sticky;top:0;z-index:80;
            background:rgba(11,17,24,.92);
            backdrop-filter:blur(18px);
            border-bottom:1px solid rgba(255,255,255,.08);
        }
        .nav-inner{
            height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px
        }
        .brand{display:flex;align-items:center;gap:13px;color:white;font-weight:800}
        .brand-mark{
            width:39px;height:39px;border-radius:11px;background:var(--lime);
            display:grid;place-items:center;color:var(--ink);font-family:'Space Grotesk';font-size:1.25rem;
            clip-path:polygon(0 0,100% 0,78% 100%,0 100%);
        }
        .brand-text{font-size:1rem;letter-spacing:-.02em}
        .brand-text small{display:block;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:#aeb9c4;margin-top:-2px}
        .nav-links{display:flex;align-items:center;gap:27px;color:#dbe2e8;font-size:.83rem;font-weight:700}
        .nav-links a{position:relative}
        .nav-links a:not(.btn)::after{
            content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--lime);transition:.2s
        }
        .nav-links a:hover::after{width:100%}
        .nav .btn{min-height:44px;padding-inline:18px}
        .menu-toggle{
            display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.16);
            background:transparent;border-radius:12px;color:#fff;
        }
        .menu-toggle span,.menu-toggle::before,.menu-toggle::after{
            content:"";display:block;width:20px;height:2px;background:currentColor;margin:4px auto;transition:.25s
        }

        .hero{
            position:relative;
            min-height:calc(100vh - 110px);
            display:flex;align-items:flex-end;
            color:#fff;background:var(--ink);
            overflow:hidden;
        }
        .hero-media{
            position:absolute;inset:0;
            background:
                linear-gradient(90deg,rgba(6,10,14,.93) 0%,rgba(6,10,14,.62) 48%,rgba(6,10,14,.18) 100%),
                linear-gradient(0deg,rgba(6,10,14,.65),transparent 45%),
                url('https://images.unsplash.com/photo-1621905251189-08b45d6a269e?auto=format&fit=crop&w=2000&q=88') center/cover no-repeat;
            transform:scale(1.02);
        }
        .hero::after{
            content:"";position:absolute;right:-140px;top:-150px;width:560px;height:560px;border:1px solid rgba(165,200,212,.32);border-radius:50%
        }
        .hero-content{position:relative;z-index:2;padding:110px 0 72px;width:100%}
        .hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) .75fr;gap:70px;align-items:end}
        .hero h1{
            max-width:900px;margin:0 0 24px;
            font-family:'Space Grotesk';font-size:clamp(3.65rem,8.1vw,8.2rem);
            line-height:.84;letter-spacing:-.068em;font-weight:700;
        }
        .hero h1 span{color:var(--lime)}
        .hero-copy{max-width:680px;font-size:clamp(1rem,1.4vw,1.18rem);color:#cdd5dc;margin:0 0 30px}
        .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
        .hero-panel{
            border-left:1px solid rgba(255,255,255,.2);padding-left:30px;margin-bottom:6px
        }
        .hero-panel p{color:#bac4ce;font-size:.83rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
        .hero-panel strong{font-family:'Space Grotesk';font-size:1.55rem}
        .hero-panel .mini{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}
        .hero-panel .mini div{padding-top:16px;border-top:1px solid rgba(255,255,255,.2)}
        .hero-panel .mini b{display:block;font-size:1.45rem;color:var(--lime);line-height:1}
        .hero-panel .mini span{font-size:.76rem;color:#aeb9c4}

        .trust{
            background:var(--ink);color:#fff;border-top:1px solid rgba(255,255,255,.08)
        }
        .trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
        .trust-item{padding:28px 24px;border-right:1px solid rgba(255,255,255,.1)}
        .trust-item:first-child{padding-left:0}
        .trust-item:last-child{border-right:0}
        .trust-item b{display:block;font-size:.86rem;margin-bottom:3px}
        .trust-item span{color:#8f9ba7;font-size:.76rem}

        .intro{padding:120px 0;background:#fff}
        .intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
        .intro-media{
            position:relative;min-height:640px;border-radius:var(--radius);overflow:hidden;
            background:url('https://images.unsplash.com/photo-1621905252507-b35492cc74b4?auto=format&fit=crop&w=1400&q=85') center/cover;
            box-shadow:var(--shadow)
        }
        .intro-card{
            position:absolute;right:24px;bottom:24px;width:min(320px,calc(100% - 48px));
            background:var(--lime);padding:25px;border-radius:18px;
        }
        .intro-card strong{display:block;font-family:'Space Grotesk';font-size:2rem;line-height:1}
        .intro-card span{font-size:.84rem;font-weight:700}
        .intro-copy .section-title{max-width:650px}
        .intro-copy .section-copy{margin:28px 0 30px}
        .checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 34px;padding:0;list-style:none}
        .checks li{padding:14px 0;border-top:1px solid var(--line);font-size:.9rem;font-weight:700}
        .checks li::before{content:"✓";margin-right:9px;color:var(--ace-gold-dark);font-weight:900}

        .services{background:var(--surface);padding:120px 0}
        .services-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:55px}
        .services-head .section-copy{margin:0}
        .service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ccd3d8;border-left:1px solid #ccd3d8}
        .service{
            min-height:340px;padding:34px;border-right:1px solid #ccd3d8;border-bottom:1px solid #ccd3d8;
            display:flex;flex-direction:column;background:transparent;transition:.35s ease;
        }
        .service:hover{background:var(--paper);transform:translateY(-5px);box-shadow:0 18px 40px rgba(15,27,37,.06)}
        .service-num{font-size:.72rem;font-weight:800;color:#8d989f;letter-spacing:.14em}
        .service-icon{
            margin:38px 0 38px;width:54px;height:54px;border-radius:50%;border:1px solid #aeb7bd;
            display:grid;place-items:center;font-family:'Space Grotesk';font-size:1.15rem;
        }
        .service h3{font-family:'Space Grotesk';font-size:1.5rem;margin:0 0 13px;letter-spacing:-.03em}
        .service p{margin:0;color:var(--muted);font-size:.9rem}
        .service-link{margin-top:auto;padding-top:25px;font-size:.8rem;font-weight:800;letter-spacing:.03em}

        .solar{
            position:relative;min-height:760px;color:#fff;background:#0f171e;display:flex;align-items:center;overflow:hidden
        }
        .solar-bg{
            position:absolute;inset:0;
            background:
                linear-gradient(90deg,rgba(8,13,18,.95) 0%,rgba(8,13,18,.84) 45%,rgba(8,13,18,.16) 78%),
                url('https://images.unsplash.com/photo-1508514177221-188b1cf16e9d?auto=format&fit=crop&w=2000&q=88') center/cover;
        }
        .solar-content{position:relative;z-index:2;width:min(720px,100%);padding:110px 0}
        .solar .section-title{font-size:clamp(2.8rem,6vw,6.4rem)}
        .solar .section-copy{color:#c7d0d8;margin:28px 0}
        .solar-stats{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 35px}
        .solar-stat{
            min-width:150px;padding:17px 18px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.04);
            backdrop-filter:blur(8px)
        }
        .solar-stat b{display:block;color:var(--lime);font-family:'Space Grotesk';font-size:1.35rem}
        .solar-stat span{font-size:.72rem;color:#aeb9c4}

        .projects{padding:120px 0;background:#fff}
        .projects-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}
        .project-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
        .project-card{
            position:relative;min-height:620px;border-radius:var(--radius);overflow:hidden;background:#111;
        }
        .project-card.small{min-height:299px}
        .project-stack{display:grid;gap:22px}
        .project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
        .project-card:hover img{transform:scale(1.05)}
        .project-overlay{
            position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,10,14,.86) 0%,rgba(6,10,14,.05) 65%);
        }
        .project-copy{position:absolute;left:28px;right:28px;bottom:27px;color:#fff}
        .project-copy .type{color:var(--lime);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
        .project-copy h3{font-family:'Space Grotesk';font-size:clamp(1.45rem,2.5vw,2.4rem);margin:5px 0 1px;letter-spacing:-.04em}
        .project-copy span{color:#bdc6ce;font-size:.78rem}

        .process{padding:120px 0;background:var(--ink);color:#fff}
        .process-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}
        .process .section-copy{color:#9faab4}
        .steps{border-top:1px solid rgba(255,255,255,.16)}
        .step{
            display:grid;grid-template-columns:70px 1fr auto;gap:22px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.16);align-items:start
        }
        .step-num{color:var(--lime);font-size:.72rem;font-weight:800}
        .step h3{margin:0 0 7px;font-family:'Space Grotesk';font-size:1.35rem}
        .step p{margin:0;color:#9da8b2;font-size:.87rem;max-width:540px}
        .step-mark{width:32px;height:32px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;color:var(--lime)}

        .quote{padding:120px 0;background:linear-gradient(135deg,var(--ace-blue) 0%,#b8d5df 100%);color:var(--ink)}
        .quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
        .quote .eyebrow::before{background:var(--ink)}
        .quote-copy{position:sticky;top:120px}
        .quote-copy p{max-width:500px}
        .quote-contact{margin-top:38px;display:grid;gap:9px}
        .quote-contact a{font-weight:800;font-size:1.08rem}
        .form-card{
            background:#fff;border-radius:var(--radius);padding:36px;box-shadow:0 24px 60px rgba(12,17,22,.16)
        }
        .form-card h3{font-family:'Space Grotesk';font-size:2rem;margin:0 0 8px;letter-spacing:-.04em}
        .form-card > p{margin:0 0 28px;color:var(--muted);font-size:.88rem}
        .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
        .field{display:grid;gap:8px}
        .field.full{grid-column:1/-1}
        label{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
        input,select,textarea{
            width:100%;border:1px solid #ccd4da;background:#f9fafb;color:var(--ink);
            padding:14px 15px;border-radius:11px;outline:none;transition:.2s;
        }
        textarea{min-height:145px;resize:vertical}
        input:focus,select:focus,textarea:focus{border-color:var(--ace-gold-dark);box-shadow:0 0 0 3px rgba(165,200,212,.42);background:#fff}
        .consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0 22px;color:#616b74;font-size:.78rem}
        .consent input{width:17px;height:17px;margin-top:2px}
        .form-card .btn{width:100%;border:0}
        .alert{padding:13px 15px;border-radius:10px;margin-bottom:18px;font-size:.84rem;font-weight:700}
        .alert.success{background:#e8f7e8;color:#216329}
        .alert.error{background:#fff0ef;color:#9b2d26}
        .hp{position:absolute!important;left:-9999px!important;opacity:0!important}

        .contact{padding:120px 0;background:#fff}
        .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
        .contact-card{
            border-top:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:140px 1fr;gap:20px
        }
        .contact-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#8a959e;font-weight:800}
        .contact-card b,.contact-card a{font-size:1.06rem}
        .map-panel{
            min-height:500px;border-radius:var(--radius);overflow:hidden;position:relative;
            background:
                linear-gradient(0deg,rgba(7,12,16,.5),rgba(7,12,16,.08)),
                url('https://images.unsplash.com/photo-1590086783191-a0694c7d1e6e?auto=format&fit=crop&w=1400&q=80') center/cover;
            box-shadow:var(--shadow)
        }
        .map-label{
            position:absolute;left:24px;bottom:24px;background:#fff;padding:17px 20px;border-radius:13px;max-width:300px
        }
        .map-label b{display:block;font-family:'Space Grotesk';font-size:1.1rem}
        .map-label span{font-size:.78rem;color:var(--muted)}

        footer{background:#080d12;color:#fff;padding:75px 0 25px}
        .footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:50px;padding-bottom:55px}
        .footer-brand p{color:#8e9ba6;max-width:380px;font-size:.85rem}
        footer h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#83909b;margin:0 0 18px}
        footer a{display:block;color:#c8d0d7;margin:8px 0;font-size:.83rem}
        footer a:hover{color:var(--lime)}
        .footer-bottom{
            display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);
            color:#6f7a84;font-size:.72rem
        }

        .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
        .reveal.visible{opacity:1;transform:none}
        .reveal-delay-1{transition-delay:.08s}
        .reveal-delay-2{transition-delay:.16s}

        /* Elementor editor/preview fix: keep every editable section visible.
           Public-site reveal animations remain unchanged. */
        .apex-elementor-edit-mode .reveal,
        body.elementor-editor-active .apex-site-root .reveal,
        body.elementor-editor-preview .apex-site-root .reveal{
            opacity:1 !important;
            transform:none !important;
            transition:none !important;
        }

        
        .solar-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
        .solar-external-links{display:flex;gap:16px;flex-wrap:wrap}
        .solar-external-links a{
            color:#fff;font-size:.8rem;font-weight:800;text-decoration:underline;
            text-decoration-color:rgba(165,200,212,.78);text-underline-offset:5px;
        }
        .solar-external-links a:hover{color:var(--ace-gold)}
        .solar-stat{flex:1 1 170px}
        .ace-socials{display:flex;align-items:center;gap:10px;margin-top:22px;flex-wrap:wrap}
        .ace-social-link{
            width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
            color:var(--ace-gold);border:1px solid rgba(165,200,212,.50);
            background:rgba(255,255,255,.04);transition:.25s ease;
        }
        .ace-social-link svg{width:20px;height:20px;fill:currentColor}
        .ace-social-link:hover{
            color:var(--ink);background:var(--ace-gold);border-color:var(--ace-gold);
            transform:translateY(-2px);
        }

        @media (max-width:1050px){
            .nav-links{display:none;position:fixed;inset:78px 0 auto 0;background:#0b1118;padding:28px 20px 38px;flex-direction:column;align-items:flex-start;border-top:1px solid rgba(255,255,255,.08)}
            .nav-links.active{display:flex}
            .nav-links a{font-size:1.05rem}
            .nav-links .btn{width:100%;margin-top:8px}
            .menu-toggle{display:block}
            .hero-grid,.intro-grid,.quote-grid,.contact-grid,.process-grid{grid-template-columns:1fr}
            .hero-panel{max-width:500px;border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.2);padding-top:26px}
            .intro-grid{gap:55px}
            .intro-media{min-height:520px}
            .service-grid{grid-template-columns:repeat(2,1fr)}
            .quote-copy{position:static}
            .project-grid{grid-template-columns:1fr}
            .project-card{min-height:540px}
            .project-card.small{min-height:360px}
            .process-grid{gap:50px}
            .footer-grid{grid-template-columns:1.4fr 1fr 1fr}
            .footer-grid > :last-child{grid-column:2/4}
        }

        @media (max-width:720px){
            .solar-actions{align-items:flex-start;flex-direction:column}
            .solar-external-links{flex-direction:column;gap:10px}

            .container{width:min(calc(100% - 28px),var(--max))}
            .topbar span:last-child{display:none}
            .topbar .container{justify-content:center}
            .nav-inner{height:70px}
            .nav-links{inset:70px 0 auto 0}
            .brand-text small{display:none}
            .hero{min-height:780px}
            .hero-content{padding:90px 0 45px}
            .hero h1{font-size:clamp(3.5rem,16vw,5.7rem)}
            .hero-grid{gap:48px}
            .hero-actions .btn{width:100%}
            .trust-grid{grid-template-columns:1fr 1fr}
            .trust-item{padding:20px 14px;border-bottom:1px solid rgba(255,255,255,.1)}
            .trust-item:nth-child(odd){padding-left:0}
            .trust-item:nth-child(even){border-right:0}
            .intro,.services,.projects,.process,.quote,.contact{padding:82px 0}
            .intro-media{min-height:440px}
            .intro-card{right:14px;bottom:14px}
            .checks{grid-template-columns:1fr}
            .services-head,.projects-head{display:block}
            .services-head .section-copy,.projects-head .btn{margin-top:24px}
            .service-grid{grid-template-columns:1fr;border-left:0}
            .service{min-height:285px;border-left:1px solid #ccd3d8;padding:27px}
            .service-icon{margin:25px 0}
            .solar{min-height:700px}
            .solar-bg{background:linear-gradient(90deg,rgba(8,13,18,.94),rgba(8,13,18,.58)),url('https://images.unsplash.com/photo-1508514177221-188b1cf16e9d?auto=format&fit=crop&w=1200&q=86') 58% center/cover}
            .solar-content{padding:80px 0}
            .project-card,.project-card.small{min-height:410px}
            .form-card{padding:24px 18px}
            .form-grid{grid-template-columns:1fr}
            .field.full{grid-column:auto}
            .step{grid-template-columns:42px 1fr}
            .step-mark{display:none}
            .contact-card{grid-template-columns:1fr;gap:5px}
            .map-panel{min-height:380px}
            .footer-grid{grid-template-columns:1fr 1fr;gap:36px 24px}
            .footer-brand{grid-column:1/-1}
            .footer-grid > :last-child{grid-column:auto}
            .footer-bottom{flex-direction:column}
        }

        @media (prefers-reduced-motion:reduce){
            html{scroll-behavior:auto}
            *,*::before,*::after{animation:none!important;transition:none!important}
            .reveal{opacity:1;transform:none}
        }


/* Elementor host reset: prevents Elementor wrappers from changing the original layout. */
.elementor-widget-apex_electrical_site,
.elementor-widget-apex_electrical_site > .elementor-widget-container,
.elementor-widget-apex_electrical_site .apex-site-root{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}
body .elementor-section.elementor-section-boxed > .elementor-container{
    max-width:none !important;
}
body .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
body .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated,
body .elementor-column-gap-extended > .elementor-column > .elementor-element-populated,
body .elementor-column-gap-wide > .elementor-column > .elementor-element-populated,
body .elementor-column-gap-wider > .elementor-column > .elementor-element-populated{
    padding:0 !important;
}
body.apex-electrical-theme{margin:0;}



/* ACE original-site light-blue branding requested by client. */
.apex-site-root .topbar{background:var(--ace-blue);color:#0b1118;font-weight:800}
.apex-site-root .topbar span{color:#0b1118;opacity:1}
.apex-site-root .btn-primary{background:var(--ace-blue);color:#0b1118;border-color:var(--ace-blue)}
.apex-site-root .btn-primary:hover{background:#c6e0e8;color:#0b1118}
.apex-site-root .intro-card{background:var(--ace-blue);color:#0b1118}
.apex-site-root .intro-card strong,.apex-site-root .intro-card span{color:#0b1118}
.apex-site-root .quote .section-title,
.apex-site-root .quote .eyebrow,
.apex-site-root .quote .quote-copy p,
.apex-site-root .quote .quote-contact a{color:#0b1118}
.apex-site-root .quote .section-title{font-weight:700}
.apex-site-root .quote .quote-copy p{font-size:1rem;line-height:1.75}
.apex-site-root .quote .quote-contact a{font-size:1.08rem;font-weight:800}

/* ACE Electrical branding / identity */
.apex-site-root .brand-logo{
    width:54px;height:54px;object-fit:cover;border-radius:6px;flex:0 0 auto;background:#fff;
}
.apex-site-root .nav .brand-logo{width:50px;height:50px}
.apex-site-root footer .brand-logo{width:58px;height:58px}
.apex-site-root .topbar{background:var(--lime);color:#111}
.apex-site-root .quote{background:linear-gradient(135deg,var(--ace-blue) 0%,#b8d5df 100%);color:var(--ink)}
.apex-site-root .hero h1 span,.apex-site-root .project-copy .type,.apex-site-root .step-num,.apex-site-root .step-mark,.apex-site-root .solar-stat b{color:var(--lime)}
.apex-site-root .ace-real-map{background:#e9ecef;position:relative;min-height:500px}
.apex-site-root .ace-real-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.92) contrast(1.02)}
.apex-site-root .ace-real-map .map-label{z-index:2;box-shadow:0 12px 35px rgba(0,0,0,.14)}
.apex-site-root .ace-whatsapp{
    position:fixed;right:24px;bottom:24px;z-index:9999;display:flex;align-items:center;gap:10px;
    min-height:54px;padding:0 18px;border-radius:999px;background:#25D366;color:#fff!important;
    box-shadow:0 14px 38px rgba(0,0,0,.24);font-size:.88rem;font-weight:800;transition:.2s ease;
}
.apex-site-root .ace-whatsapp:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,0,0,.28)}
.apex-site-root .ace-whatsapp-icon{width:29px;height:29px;border:2px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:.68rem}
@media(max-width:720px){
    .apex-site-root .brand-logo{width:42px;height:42px}
    .apex-site-root .ace-whatsapp{right:14px;bottom:14px;padding:0;width:56px;height:56px;justify-content:center}
    .apex-site-root .ace-whatsapp-text{display:none}
    .apex-site-root .ace-whatsapp-icon{width:30px;height:30px}
    .apex-site-root .ace-real-map{min-height:420px}
}
