:root{--red:#a80000;--red-dark:#7f0000;--ink:#090909;--muted:#5f666f;--line:#e6e9ee;--paper:#fff;--soft:#f5f7f9;--energy:#f6c65b;--green:#1b8a5a;--shadow:0 24px 80px #09090929}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.site-header{z-index:20;color:#fff;backdrop-filter:blur(18px);background:#05050594;border:1px solid #ffffff59;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;width:min(1180px,100% - 32px);margin:18px auto 0;padding:12px 14px 12px 18px;transition:background .22s,box-shadow .22s,border-color .22s;display:grid;position:fixed;inset:0 0 auto}.site-header.is-scrolled{color:var(--ink);border-color:var(--line);background:#fffffff5;box-shadow:0 16px 60px #0a141e1f}.brand{width:190px;height:65px;display:block;position:relative}.brand-logo{width:190px;height:auto;transition:opacity .18s;position:absolute;inset:0}.brand-logo-dark,.site-header.is-scrolled .brand-logo-light{opacity:0}.site-header.is-scrolled .brand-logo-dark{opacity:1}.nav{justify-content:center;align-items:center;gap:24px;font-size:.92rem;font-weight:700;display:flex}.nav a{opacity:.86}.nav a:hover{opacity:1;color:var(--energy)}.nav-social{display:none}.nav-social img,.social-links img,.footer-links img{flex:none;width:22px;height:22px}.header-actions{align-items:center;gap:10px;display:flex}.header-cta,.button{border-radius:6px;justify-content:center;align-items:center;min-height:46px;padding:0 22px;font-weight:800;transition:transform .18s,background .18s,color .18s;display:inline-flex}.header-cta,.button.primary{color:#fff;background:var(--red)}.header-whatsapp{background:#25d366}.header-cta:hover,.button:hover{transform:translateY(-2px)}.button.secondary{color:#fff;border:1px solid #ffffff7a}.button.light{color:var(--ink);background:#fff}.menu-toggle{background:var(--red);border:0;border-radius:6px;width:44px;height:44px;padding:10px;display:none}.menu-toggle span{background:#fff;height:2px;margin:5px 0;display:block}.hero{color:#fff;align-items:end;min-height:92vh;padding:170px max(24px,50vw - 590px) 80px;display:grid;position:relative;overflow:hidden}.hero-bg,.hero-bg img,.hero-overlay{position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%}.hero-overlay{background:linear-gradient(90deg,#000000db,#0000008c 48%,#0000002e),linear-gradient(#0003,#0000008c)}.hero-content{max-width:790px;position:relative}.eyebrow{color:var(--energy);letter-spacing:0;text-transform:uppercase;margin:0 0 14px;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:820px;margin-bottom:22px;font-size:clamp(2.55rem,6.1vw,5.8rem);line-height:.95}.hero-copy{color:#ffffffd1;max-width:660px;margin-bottom:32px;font-size:clamp(1rem,1.8vw,1.22rem);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.hero-panel{width:270px;color:var(--ink);box-shadow:var(--shadow);background:#fffffff0;border-radius:8px;padding:24px;transition:transform .18s,box-shadow .18s,background .18s;display:block;position:absolute;bottom:78px;right:max(24px,50vw - 590px)}.hero-panel:hover,.hero-panel:focus-visible{background:#fff;transform:translateY(-4px);box-shadow:0 30px 90px #0909093d}.hero-panel:focus-visible{outline:3px solid var(--energy);outline-offset:4px}.hero-panel span,.hero-panel small{color:var(--muted);font-weight:700;display:block}.hero-panel strong{color:var(--red);margin:8px 0;font-size:1.55rem;display:block}.stats{z-index:4;grid-template-columns:repeat(3,1fr);gap:16px;width:min(1180px,100% - 32px);margin:-46px auto 0;display:grid;position:relative}.stat-card{isolation:isolate;background:radial-gradient(circle at 88% 18%,#f6c65b47,#0000 27%),linear-gradient(145deg,#fff 0%,#f8fafc 52%,#eef2f6 100%);border:1px solid #ffffffc7;border-radius:8px;min-height:174px;padding:30px 32px 28px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden;box-shadow:0 24px 78px #07111d26}.stat-card:before{content:"";background:linear-gradient(90deg, var(--red), var(--energy));transform-origin:0;height:5px;transition:transform .7s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(.22)}.stat-card:after{content:"";z-index:-1;border-radius:inherit;opacity:.85;background:linear-gradient(130deg,#ffffffb8,#fff0);position:absolute;inset:1px}.stat-card:hover{border-color:#a8000033;transform:translateY(-7px);box-shadow:0 32px 88px #07111d33}.stats.is-counted .stat-card:before,.stat-card:hover:before{transform:scaleX(1)}.stat-icon{color:#a800001a;background:#a800000b;border-radius:50%;place-items:center;width:88px;height:88px;line-height:0;display:grid;position:absolute;top:20px;right:22px}.stat-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:48px;height:48px}.stat-kicker{min-height:28px;color:var(--red-dark);letter-spacing:0;text-transform:uppercase;background:#a8000014;border-radius:999px;align-items:center;padding:0 10px;font-size:.72rem;font-weight:800;display:inline-flex}.stats strong{color:var(--red);letter-spacing:0;margin:18px 0 8px;font-size:clamp(2.8rem,5vw,4.4rem);line-height:.9;display:block}.stats .stat-card>span:last-child{max-width:260px;color:var(--muted);font-weight:700;line-height:1.35;display:block}.section{width:min(1180px,100% - 32px);margin:0 auto;padding:104px 0}.services{isolation:isolate;width:100%;max-width:none;margin-top:74px;padding-inline:max(16px,50vw - 590px);position:relative;overflow:hidden}.services:before{content:"";z-index:-2;background:url(/assets/repertorio+4-2880w.webp) 50%/cover no-repeat;position:absolute;inset:0}.services:after{content:"";z-index:-1;background:linear-gradient(90deg,#fffffff0,#fff0),#fff0;position:absolute;inset:0}.section-head{grid-template-columns:minmax(260px,.85fr) 1fr;align-items:end;gap:44px;margin-bottom:42px;display:grid}.section-head.compact{display:block}h2{margin-bottom:18px;font-size:clamp(2rem,4vw,3.6rem);line-height:1.03}h3{margin-bottom:12px;font-size:1.24rem}.section-head p,.split-copy p,.contact-info p,.reputation-copy p{color:var(--muted);line-height:1.75}.service-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.service-card{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:320px;padding:28px;transition:transform .2s,box-shadow .2s,border-color .2s}.service-card:hover{border-color:#a8000040;transform:translateY(-6px);box-shadow:0 18px 60px #0a141e17}.service-icon{color:#fff;background:var(--red);border-radius:8px;place-items:center;width:54px;height:54px;margin-bottom:24px;display:inline-grid}.service-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.service-card p{min-height:122px;color:var(--muted);line-height:1.62}.service-card a{color:var(--red);font-weight:800}.residential{padding-top:30px}.residential-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.residential-card{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 16px 48px #0a141e12}.residential-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.residential-card div{padding:24px}.residential-card p{color:var(--muted);margin-bottom:0;line-height:1.65}.split{grid-template-columns:.95fr 1.05fr;align-items:center;gap:58px;display:grid}.split-media{position:relative}.split-media:before{content:"";z-index:-1;background:var(--red);border-radius:8px;position:absolute;inset:28px -24px -24px 28px}.split-media img{aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--shadow);border-radius:8px}.feature-list{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.feature-list span{color:var(--red-dark);background:#fff0f0;border-radius:999px;padding:10px 14px;font-size:.9rem;font-weight:800}.gallery-section{padding-top:30px}.asset-gallery{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.gallery-item{background:#111;border-radius:8px;min-height:240px;margin:0;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;min-height:240px;transition:transform .26s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item figcaption{color:#fff;text-align:center;background:#00000094;border-radius:6px;padding:10px 12px;font-weight:800;position:absolute;bottom:14px;left:14px;right:14px}.process{background:var(--soft);width:100%;padding-inline:max(24px,50vw - 590px)}.timeline{grid-template-columns:repeat(4,1fr);gap:34px;display:grid}.timeline-item{border:1px solid var(--line);text-align:center;background:#fff;border-radius:8px;align-content:start;justify-items:center;min-height:154px;padding:24px 18px 22px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;position:relative;box-shadow:0 16px 48px #0a141e12}.timeline-item:hover{border-color:#a8000038;transform:translateY(-4px);box-shadow:0 22px 64px #0a141e1c}.timeline-number{color:#fff;background:linear-gradient(135deg, var(--red), var(--red-dark));border-radius:50%;place-items:center;width:58px;height:58px;font-size:1.1rem;font-weight:800;line-height:1;display:inline-grid;box-shadow:0 12px 28px #a800003d}.timeline-item h3{max-width:220px;margin:18px auto 0;font-size:1.02rem;line-height:1.35}.timeline-arrow{z-index:2;width:38px;height:38px;color:var(--red);background:var(--energy);border-radius:50%;place-items:center;display:inline-grid;position:absolute;top:50%;right:-36px;transform:translateY(-50%);box-shadow:0 12px 28px #0a141e1f}.timeline-arrow svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.reputation{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.qr-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.qr-grid a{display:block}.qr-grid article{border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;gap:16px;min-height:270px;padding:28px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.qr-grid a:hover article{border-color:#a800003d;transform:translateY(-4px);box-shadow:0 18px 54px #0a141e1c}.qr-grid img{max-width:155px}.qr-grid .review-brand{border-radius:8px;width:min(180px,100%);max-width:180px}.faq-section{padding-top:28px}.faq-section .section-head p:not(.eyebrow){max-width:760px}.faq-list{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.faq-item{border:1px solid var(--line);background:#fff;border-radius:8px;padding:26px;box-shadow:0 16px 48px #0a141e0f}.faq-item h3{color:var(--red-dark);margin-bottom:10px;font-size:1.08rem;line-height:1.35}.faq-item p{color:var(--muted);margin-bottom:0;line-height:1.68}.faq-more-card{min-height:100%;color:inherit;background:radial-gradient(circle at 88% 18%,#f6c65b3d,#0000 28%),linear-gradient(135deg,#fff,#fff7ef);flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.faq-more-card:hover,.faq-more-card:focus-visible{border-color:#a8000042;transform:translateY(-4px);box-shadow:0 22px 64px #0a141e1c}.faq-more-card span{color:var(--red);margin-top:auto;padding-top:18px;font-weight:800}.cta-band{color:#fff;background:linear-gradient(120deg, var(--red), #111 68%);grid-template-columns:1fr auto;align-items:center;gap:30px;padding:58px max(24px,50vw - 590px);display:grid}.cta-band h2{max-width:800px;margin-bottom:0}.contact{grid-template-columns:1fr .9fr;gap:54px;display:grid}.contact-cards{gap:14px;margin-top:30px;display:grid}.social-links{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.social-links a{min-height:42px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:8px;padding:0 16px;font-weight:800;display:inline-flex}.social-links a:last-child{background:#fff}.contact-cards a,.contact-cards article,.locations article{border:1px solid var(--line);background:#fff;border-radius:8px;padding:22px}.contact-cards span,.locations span{color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:.78rem;font-weight:800;display:block}.contact-cards strong{color:var(--red);overflow-wrap:anywhere}.hours-card{background:linear-gradient(135deg,#fff,#fff7ef)}.hours-card p{color:var(--muted);margin:8px 0 0;font-weight:700;line-height:1.55}.locations{gap:16px;display:grid}.locations>article{grid-template-columns:auto 1fr;align-items:center;gap:16px;display:grid}.location-map-card{display:block}.location-map-card article{grid-template-columns:auto 1fr;align-items:center;gap:16px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid}.location-map-card:hover article{border-color:#a8000040;transform:translateY(-3px);box-shadow:0 18px 54px #0a141e1a}.locations .map-icon,.locations .location-icon{text-transform:none;background:#fff4f0;border-radius:10px;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:0;line-height:0;display:inline-flex;box-shadow:0 12px 28px #a800001f}.locations .map-icon img,.locations .location-icon img{object-fit:contain;width:36px;height:36px;display:block}.locations p{margin-bottom:0;line-height:1.55}.locations p+p{margin-top:12px}.map-section{padding-top:10px}.map-embed{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 20px 64px #0a141e1a}.map-embed iframe{border:0;width:100%;height:min(520px,68vh);min-height:360px;display:block}.instagram-section{padding-top:26px}.instagram-widget-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 18px 54px #0a141e14}.instagram-widget-wrap iframe{border:0;width:100%;min-height:360px;display:block;overflow:hidden}.instagram-cta{justify-content:center;margin-top:28px;display:flex}.footer{color:#fff;background:#050505;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:26px;padding:30px max(24px,50vw - 590px);display:grid}.footer>img{width:235px}.footer p{color:#ffffffad;margin:0;line-height:1.45}.footer a{font-weight:800}.footer-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.footer-links a{color:#fff;background:#ffffff14;border:1px solid #ffffff29;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;line-height:1;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.footer-links a:hover{background:#ffffff24;border-color:#ffffff57;transform:translateY(-2px)}.footer-links .footer-privacy-link{color:#fff;background:#a8000085;border-color:#ffffff24}.footer-copyright{color:#ffffff85;text-align:center;grid-column:1/-1;place-self:end center;font-size:.74rem;line-height:1.45}.scroll-top-fab{z-index:29;width:48px;height:48px;color:var(--ink);background:var(--energy);opacity:0;pointer-events:none;border-radius:999px;justify-content:center;align-items:center;transition:opacity .18s,transform .18s,box-shadow .18s;display:inline-flex;position:fixed;top:50%;right:18px;transform:translateY(-50%)translate(14px);box-shadow:0 16px 42px #00000038}.scroll-top-fab.is-visible{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(0)}.scroll-top-fab:hover{transform:translateY(calc(-50% - 2px))translate(0);box-shadow:0 20px 52px #00000047}.scroll-top-fab svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.whatsapp-fab{display:none}.legal-header{background:#050505;justify-content:space-between;align-items:center;gap:24px;padding:20px max(24px,50vw - 590px);display:flex}.legal-brand img{width:190px}.legal-back,.legal-footer a{min-height:42px;color:var(--ink);background:var(--energy);border-radius:6px;justify-content:center;align-items:center;padding:0 16px;font-weight:800;display:inline-flex}.legal-page{background:var(--soft)}.legal-hero{width:min(980px,100% - 32px);margin:0 auto;padding:86px 0 34px}.legal-hero h1{max-width:780px;color:var(--ink);margin-bottom:18px;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.98}.legal-hero p:not(.eyebrow){max-width:720px;color:var(--muted);line-height:1.7}.legal-content{width:min(980px,100% - 32px);margin:0 auto;padding:0 0 96px}.legal-card{padding-top:10px}.legal-card p{border:1px solid var(--line);background:#fff;border-radius:8px;padding:28px;box-shadow:0 18px 54px #0a141e12}.legal-content h2,.legal-content h3,.legal-content p,.legal-content ul{max-width:900px}.legal-content h2{border-bottom:2px solid var(--red);margin:54px 0 18px;padding-bottom:14px;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.08}.legal-content h3{margin:34px 0 12px;font-size:1.28rem;line-height:1.28}.legal-content p,.legal-content li{color:#3d444d;font-size:1rem;line-height:1.78}.legal-content p{margin-bottom:18px}.legal-content ul{margin:0 0 18px;padding-left:24px}.legal-content a{color:var(--red);overflow-wrap:anywhere;font-weight:700}.faq-deep-page{background:#fff}.faq-deep-hero{color:#fff;background:linear-gradient(90deg,#000000c7,#0000007a 54%,#00000029),url(/assets/residential-villa-solar.png) 50%/cover no-repeat;border-radius:8px;width:min(1180px,100% - 32px);min-height:440px;margin-top:42px;padding:86px 64px 74px;position:relative;overflow:hidden;box-shadow:0 24px 80px #0a141e29}.faq-deep-hero h1{color:#fff}.faq-deep-hero p:not(.eyebrow){color:#ffffffdb}.faq-deep-content{width:min(1180px,100% - 32px);margin:0 auto;padding:0 0 92px}.faq-deep-group{border-top:1px solid var(--line);padding:44px 0}.faq-deep-group h2{max-width:840px;margin-bottom:28px;font-size:clamp(1.8rem,3vw,2.7rem)}.faq-deep-list{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.faq-deep-item{border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:24px}.faq-deep-item h3{color:var(--red-dark);margin-bottom:10px;font-size:1.06rem;line-height:1.35}.faq-deep-item p{color:#3d444d;margin-bottom:0;line-height:1.72}.faq-deep-cta{color:#fff;background:linear-gradient(120deg, var(--red), #111 72%);grid-template-columns:1fr auto;align-items:center;gap:28px;padding:54px max(24px,50vw - 590px);display:grid}.faq-deep-cta h2{max-width:760px;margin-bottom:0}.faq-deep-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.whatsapp-button{color:#fff;background:#25d366}.legal-footer{background:#050505;justify-content:space-between;align-items:center;gap:22px;padding:30px max(24px,50vw - 590px);display:flex}.legal-footer img{width:170px}.reveal{animation:.7s both rise}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){.site-header{grid-template-columns:auto auto}.menu-toggle{justify-self:end;display:block}.nav{color:var(--ink);background:#fff;border-radius:8px;flex-direction:column;align-items:stretch;padding:18px;display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;box-shadow:0 20px 60px #00000029}.nav.is-open{display:flex}.nav-social{align-items:center;gap:8px;display:inline-flex}.header-actions{display:none}.hero-panel{margin-top:34px;position:relative;bottom:auto;right:auto}.stats,.service-grid,.residential-grid,.asset-gallery,.timeline,.faq-list,.faq-deep-list,.reputation,.contact,.split,.section-head,.cta-band,.faq-deep-cta{grid-template-columns:1fr}.service-grid,.residential-grid,.asset-gallery,.timeline{grid-template-columns:repeat(2,1fr)}.timeline-item:nth-child(2) .timeline-arrow{display:none}}@media (width<=640px){.site-header{width:calc(100% - 20px);margin-top:10px;padding:10px}.brand{width:150px;height:51px}.brand-logo{width:150px}.hero{min-height:auto;padding:128px 18px 58px}.faq-deep-hero{background:linear-gradient(#000000b8,#00000085),url(/assets/residential-villa-solar.png) 50%/cover no-repeat;width:calc(100% - 32px);min-height:430px;margin-top:24px;padding:72px 22px 52px}.faq-deep-hero h1{font-size:2.05rem;line-height:1.02}.hero-actions,.button,.faq-deep-actions,.hero-panel{width:100%}.stats{grid-template-columns:1fr}.stat-card{min-height:156px}.service-grid,.residential-grid,.asset-gallery,.timeline,.faq-list,.qr-grid{grid-template-columns:1fr}.section{padding:72px 0}.services{padding:78px 16px 76px}.services .section-head{margin-bottom:34px}.process{padding:78px 16px 76px}.process .section-head{margin-bottom:34px}.timeline{gap:42px}.timeline-item{min-height:auto;padding:24px 22px}.timeline-item:nth-child(2) .timeline-arrow{display:inline-grid}.timeline-arrow{inset:auto auto -40px 50%;transform:translate(-50%)rotate(90deg)}.service-card{min-height:auto;padding:28px}.split-media:before{inset:18px -10px -14px 18px}.footer{grid-template-columns:1fr;align-items:flex-start}.footer-links{justify-content:flex-start}.scroll-top-fab{width:44px;height:44px;right:16px}.whatsapp-fab{z-index:30;background:#25d366;border-radius:50%;place-items:center;width:58px;height:58px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 14px 38px #00000047}.whatsapp-fab img{width:58px;height:58px}}
