/* Official UVenergy visual system */
:root{--uv-deep:#10035f;--uv-blue:#171caf;--uv-violet:#241188;--uv-orange:#ff8100;--uv-yellow:#ffc400;--uv-green:#68ca3a}
body{background:#fbfbff}
.nav-wrap{background:rgba(255,255,255,.88);border-bottom:1px solid rgba(27,18,125,.1);box-shadow:0 8px 30px rgba(19,7,88,.05)}
.brand{gap:0;color:inherit;font-size:inherit;letter-spacing:normal}
.brand img{display:block;width:190px;height:auto}
.nav-links .nav-cta{background:linear-gradient(110deg,var(--uv-blue),var(--uv-violet));box-shadow:0 8px 22px rgba(31,21,152,.22)}
.hero{min-height:690px;display:flex;align-items:center;background:radial-gradient(circle at 70% 25%,rgba(63,54,229,.34),transparent 33%),linear-gradient(125deg,#0c0349 0%,#15106c 52%,#090331 100%)}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to right,transparent,black)}
.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(46px,5.2vw,74px);max-width:730px}.hero h1 span{background:linear-gradient(90deg,#ff9a1c,#ffd025);-webkit-background-clip:text;color:transparent}.btn.primary{background:linear-gradient(110deg,var(--uv-orange),#ffab00);box-shadow:0 12px 32px rgba(255,128,0,.25)}
.btn{transition:.25s}.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.photo-card{padding:0;isolation:isolate;border-color:rgba(255,255,255,.22);transform:perspective(1000px) rotateY(-3deg);box-shadow:0 34px 80px rgba(0,0,0,.4)}
.photo-card>img{width:100%;height:100%;object-fit:cover;display:block}.photo-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,3,48,.92),transparent 58%);z-index:1}.photo-card .metric{z-index:3}.energy-chip{position:absolute;z-index:3;padding:11px 14px;border:1px solid rgba(255,255,255,.26);background:rgba(9,4,55,.72);backdrop-filter:blur(9px);border-radius:10px;display:flex;flex-direction:column;box-shadow:0 10px 26px rgba(0,0,0,.2)}.energy-chip small{font-size:8px;letter-spacing:1.5px;color:#b9b8ef}.energy-chip strong{font-size:12px;margin-top:3px}.chip-one{top:24px;left:22px}.chip-two{top:92px;right:22px}.energy-card .sun,.energy-card .panel,.energy-card .house{display:none}
.service-grid.six{grid-template-columns:repeat(3,1fr)}.service-grid article{position:relative;overflow:hidden;border:1px solid rgba(33,24,143,.1);box-shadow:0 12px 34px rgba(25,16,111,.06)}.service-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--uv-orange),var(--uv-green))}.service-grid article>span{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#f0efff;color:var(--uv-blue)}
.systems{position:relative;overflow:hidden;background:linear-gradient(180deg,#f5f4ff 0%,#fff 100%)}.systems:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-260px;top:80px;background:rgba(91,202,58,.08);filter:blur(10px)}
.systems-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:46px}.systems-heading h2{max-width:680px}.systems-heading>p{color:#69718a;line-height:1.75;margin:0 0 12px}.systems-heading>p strong{display:block;color:var(--uv-blue);margin-top:10px}
.system-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.system-card{position:relative;background:rgba(255,255,255,.92);border:1px solid rgba(30,20,135,.12);border-radius:20px;padding:30px;box-shadow:0 18px 50px rgba(31,20,125,.08);overflow:hidden;transition:.28s}.system-card:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(31,20,125,.14)}.system-card:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-85px;top:-85px;background:var(--accent);opacity:.12}.system-card header{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid #ececf6}.system-card header>span{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--accent);color:#fff;font-weight:800}.system-card h3{font-size:25px;line-height:1;margin:0 0 7px;color:#15125f}.system-card header b{text-transform:uppercase;letter-spacing:1px;color:var(--accent);font-size:10px}.system-card>p{font-size:13px;line-height:1.65;color:#626b80}.system-card>p strong{color:#24245c}.ongrid{--accent:#ff8100}.hybrid{--accent:#68bd37}.backup{--accent:#3420cf}.offgrid{--accent:#0b84c6}.flow{padding:13px 10px;margin:16px 0;text-align:center;border-radius:10px;background:#f4f4fb;color:#24245c;font-size:12px;font-weight:800}.flow i{font-style:normal;color:var(--accent);padding:0 5px}.tags{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0}.tags span{display:flex;flex-direction:column;gap:4px;text-align:center;padding:9px 5px;border-radius:8px;background:#f6f7fb;color:#81879a;font-size:9px;text-transform:uppercase;letter-spacing:.5px}.tags b{color:#171650;font-size:11px;text-transform:none;letter-spacing:0}.system-card .ideal{margin:17px -30px -30px;padding:17px 30px;background:#fafaff;border-top:1px solid #ededf7;min-height:90px}
.quality-strip{margin-top:28px;padding:26px 30px;border-radius:18px;background:linear-gradient(110deg,#11045e,#21128f);color:white;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:24px;align-items:center;box-shadow:0 20px 50px rgba(26,9,106,.2)}.quality-strip div{display:flex;flex-direction:column;gap:5px}.quality-strip strong{font-size:20px;color:#ffc221}.quality-strip span{font-size:11px;color:#d8d4f5}.quality-strip a{padding:13px 17px;border-radius:8px;background:var(--uv-orange);color:#fff;text-decoration:none;font-size:12px;font-weight:800}
.about-visual{position:relative;background:linear-gradient(145deg,#fff7e9,#f5f3ff);border:1px solid rgba(38,25,143,.08);overflow:hidden}.about-visual:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-80px;bottom:-90px;background:rgba(103,202,58,.18)}.about-visual img{display:block;width:100%;max-width:330px;height:auto;position:relative;z-index:2}.contact-card strong{color:#fff}.cta{background:radial-gradient(circle at 15% 10%,rgba(67,42,223,.55),transparent 32%),linear-gradient(120deg,#0b0345,#17096e)}
@media(max-width:980px){.systems-heading{grid-template-columns:1fr;gap:12px}.quality-strip{grid-template-columns:1fr 1fr}.quality-strip a{grid-column:1/-1;text-align:center}}
@media(max-width:850px){.service-grid.six{grid-template-columns:1fr 1fr}.system-grid{grid-template-columns:1fr}.photo-card{transform:none}}
@media(max-width:520px){.brand img{width:155px}.service-grid.six{grid-template-columns:1fr}.system-card{padding:23px}.system-card .ideal{margin:17px -23px -23px;padding:16px 23px}.quality-strip{grid-template-columns:1fr}.quality-strip a{grid-column:auto}.tags{gap:4px}.hero{min-height:auto}}

/* Curved storefront-inspired graphic language */
.hero{min-height:710px;background:radial-gradient(circle at 72% 24%,rgba(26,87,211,.38),transparent 34%),linear-gradient(126deg,#041b52 0%,#062c72 48%,#071a4a 100%);padding-bottom:118px}
.brand-waves{position:absolute;left:0;width:100%;pointer-events:none;z-index:1;overflow:visible}
.brand-waves path{fill:none;stroke-linecap:round}
.wave-orange{stroke:var(--uv-orange);stroke-width:13}
.wave-yellow{stroke:var(--uv-yellow);stroke-width:10}
.wave-green{stroke:var(--uv-green);stroke-width:12}
.hero-waves{height:230px;bottom:-14px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.2))}
#servicios{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}
.curve-accent{position:absolute;width:470px;height:470px;border-radius:50%;opacity:.11;pointer-events:none}
.curve-accent-right{right:-355px;top:75px;border:24px solid var(--uv-blue)}
.curve-accent i{position:absolute;border-radius:50%;inset:-45px;border:8px solid var(--uv-orange)}
.curve-accent i:nth-child(2){inset:-64px;border-color:var(--uv-yellow);border-width:7px}
.curve-accent i:nth-child(3){inset:-82px;border-color:var(--uv-green);border-width:8px}
.systems{background:linear-gradient(155deg,#f2f6ff 0%,#fff 58%,#f4fbf0 100%);padding-top:150px}
.section-waves{height:150px;top:-42px;opacity:.96}
.quality-strip{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 10%,rgba(25,101,225,.6),transparent 34%),linear-gradient(110deg,#031947,#07337b);box-shadow:0 20px 50px rgba(5,31,83,.24)}
.quality-strip:after{content:"";position:absolute;width:250px;height:80px;border:5px solid var(--uv-green);border-left:0;border-bottom:0;border-radius:50%;right:-80px;bottom:-58px;transform:rotate(-8deg);opacity:.45}
.cta{position:relative;overflow:hidden;background:radial-gradient(circle at 18% 5%,rgba(24,91,214,.55),transparent 34%),linear-gradient(120deg,#031846,#073379);padding-top:112px}
.cta-waves{height:180px;top:-78px;opacity:.95}
.cta-inner{position:relative;z-index:2}
@media(max-width:520px){.hero{min-height:auto;padding-bottom:96px}.hero-waves{height:155px;bottom:-8px}.section-waves{height:105px;top:-25px}.systems{padding-top:115px}.cta-waves{height:115px;top:-48px}.cta{padding-top:90px}}

/* Refined brochure-aligned presentation */
.nav-wrap{background:#06245d;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 9px 30px rgba(2,18,56,.22)}
.brand img{width:190px}
.nav-links a{color:#fff}
.nav-links .nav-cta{background:linear-gradient(100deg,var(--uv-orange),#ffad00);color:#fff}
.menu{color:#fff}
.wave-orange,.wave-yellow,.wave-green{stroke-width:12}
.hero-waves{height:225px;bottom:-18px}
.section-waves{height:145px;top:-38px}
.cta-waves{height:165px;top:-66px}
.curve-accent{display:none}
.audiences{position:relative;overflow:hidden;padding:105px 0 115px;background:radial-gradient(circle at 84% 15%,rgba(38,94,197,.38),transparent 26%),linear-gradient(125deg,#031846 0%,#07347a 58%,#06265f 100%);color:#fff}
.audiences:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:38px 38px}
.audiences:after{display:none}
.audiences .container{position:relative;z-index:2}.audience-head{max-width:790px}.audience-head .eyebrow{color:#ffc45c}.audience-head>p:last-child{color:#cbd8ec;line-height:1.75}.audience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.audience-card{position:relative;min-height:355px;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:0 25px 60px rgba(0,0,0,.24)}.audience-card img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}.audience-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(2,20,59,.96) 0%,rgba(2,20,59,.18) 70%)}.audience-card>div{position:absolute;z-index:2;left:25px;right:25px;bottom:24px}.audience-card span{display:inline-grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--uv-orange);font-size:11px;font-weight:800}.audience-card h3{font-size:28px;margin:11px 0 7px}.audience-card p{max-width:470px;margin:0;color:#d8e2f1;font-size:14px;line-height:1.55}
.about-visual{background:radial-gradient(circle at 90% 10%,rgba(43,104,219,.6),transparent 34%),linear-gradient(135deg,#031846,#07347a);border:0;box-shadow:0 24px 60px rgba(3,29,78,.2)}
.about-visual:after{display:none}.about-visual img{max-width:360px}.about-visual p{color:#fff!important;opacity:1;text-shadow:0 2px 15px rgba(0,0,0,.3)}
@media(max-width:850px){.nav-links{background:#06245d;border-bottom-color:rgba(255,255,255,.15)}.audience-grid{grid-template-columns:1fr}.audience-card{min-height:310px}}
@media(max-width:520px){.brand img{width:165px}.hero-waves{height:155px;bottom:-10px}.section-waves{height:100px;top:-24px}.cta-waves{height:110px;top:-38px}.energy-card{display:block;height:270px;margin-top:18px}.audiences{padding:80px 0 55px}.audience-card{min-height:285px}.about-visual{min-height:275px;padding:32px}.about-visual img{max-width:100%}}

/* Cinematic hero and scroll-led motion */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.92) contrast(1.05)}
.hero-video-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(2,17,54,.96) 0%,rgba(3,30,80,.84) 48%,rgba(2,24,65,.42) 100%),linear-gradient(0deg,rgba(2,18,55,.76),transparent 65%)}
.hero-video-grid{grid-template-columns:minmax(0,760px);justify-content:start;position:relative;z-index:3}
.hero-video-grid .hero-copy{max-width:760px}
.scroll-cue{position:absolute;z-index:4;left:50%;bottom:66px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:1.6px;font-size:9px;font-weight:800;opacity:.82}
.scroll-cue span{width:22px;height:35px;border:1px solid rgba(255,255,255,.65);border-radius:20px;position:relative}.scroll-cue span:after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;border-radius:4px;background:#fff;transform:translateX(-50%);animation:scrollDot 1.8s infinite}
@keyframes scrollDot{0%{opacity:0;transform:translate(-50%,0)}35%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}
.about-copy blockquote{margin:26px 0 0;padding:20px 22px;border-left:4px solid var(--uv-orange);background:#f6f7ff;border-radius:0 14px 14px 0;color:#22245d;font-weight:700;line-height:1.65}
.about-copy>p:not(.eyebrow){color:var(--muted);line-height:1.75}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.75,.2,1),transform .8s cubic-bezier(.2,.75,.2,1)}
.reveal.from-left{transform:translateX(-42px)}.reveal.from-right{transform:translateX(42px)}
.reveal.in-view{opacity:1;transform:translate(0,0)}
.service-grid article.reveal:nth-child(2),.audience-grid article.reveal:nth-child(2),.system-grid article.reveal:nth-child(2){transition-delay:.08s}
.service-grid article.reveal:nth-child(3),.audience-grid article.reveal:nth-child(3),.system-grid article.reveal:nth-child(3){transition-delay:.16s}
.service-grid article.reveal:nth-child(4),.audience-grid article.reveal:nth-child(4),.system-grid article.reveal:nth-child(4){transition-delay:.24s}
.service-grid article.reveal:nth-child(5){transition-delay:.32s}.service-grid article.reveal:nth-child(6){transition-delay:.4s}
@media(max-width:520px){.hero-video-overlay{background:linear-gradient(90deg,rgba(2,17,54,.95),rgba(3,30,80,.72)),linear-gradient(0deg,rgba(2,18,55,.75),transparent)}.scroll-cue{bottom:40px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.scroll-cue span:after{animation:none}.hero-video{display:none}}
