:root{
  color-scheme: dark;
  --bg:#11131c;
  --bg-2:#171b28;
  --panel:#202638;
  --panel-2:#242b3f;
  --text:#f7f8fb;
  --muted:#b8c0ce;
  --line:rgba(255,255,255,.12);
  --orange:#f05a24;
  --orange-2:#ffb24b;
  --purple:#4f2b87;
  --purple-2:#7d55c7;
  --cyan:#73e7ff;
  --blue:#0b3144;
  --green:#aaf06f;
  --shadow:0 24px 80px rgba(0,0,0,.35);
  --radius:28px;
  --radius-sm:18px;
  --container:1180px;
  --header-h:84px;
  --font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.55;overflow-x:hidden}
body:before{content:"";position:fixed;inset:-20%;z-index:-2;background:radial-gradient(circle at 12% 8%,rgba(240,90,36,.22),transparent 26%),radial-gradient(circle at 82% 20%,rgba(79,43,135,.24),transparent 24%),radial-gradient(circle at 50% 92%,rgba(255,178,75,.10),transparent 34%),linear-gradient(135deg,#10131c 0%,#181a24 45%,#11131c 100%)}
body.ozone-theme:before{background:radial-gradient(circle at 16% 12%,rgba(115,231,255,.20),transparent 25%),radial-gradient(circle at 78% 20%,rgba(170,240,111,.12),transparent 25%),radial-gradient(circle at 50% 88%,rgba(32,118,148,.18),transparent 38%),linear-gradient(135deg,#061d29 0%,#0b2635 48%,#04141d 100%)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}
.narrow{max-width:850px}.section-pad{padding:96px 0}.skip-link{position:absolute;top:12px;left:12px;background:#fff;color:#111;padding:8px 12px;border-radius:10px;transform:translateY(-200%);z-index:1000}.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(17,19,28,.74);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);transition:box-shadow .3s ease,background .3s ease}.site-header.is-scrolled{box-shadow:0 14px 40px rgba(0,0,0,.30);background:rgba(17,19,28,.92)}.nav-wrap{min-height:var(--header-h);display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;width:235px;min-width:210px}.brand img{height:68px;width:auto}.main-nav{display:flex;align-items:center;gap:8px;margin-left:auto}.main-nav a{font-size:14px;color:var(--muted);font-weight:650;padding:9px 12px;border-radius:999px;transition:.2s}.main-nav a:hover,.main-nav a.active{color:#fff;background:rgba(255,255,255,.08)}.language-switch{display:flex;align-items:center;gap:6px;border:1px solid var(--line);padding:5px;border-radius:999px;background:rgba(255,255,255,.05)}.language-switch button{border:0;background:transparent;color:var(--muted);font-weight:800;font-size:12px;padding:7px 9px;border-radius:999px;cursor:pointer}.language-switch button.active{background:#fff;color:#10131c}.menu-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:10px 14px;cursor:pointer}.hero{position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto -15% 0 -15%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.20),transparent)}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,480px);gap:60px;align-items:center;min-height:calc(92vh - var(--header-h))}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--line);color:#fff;font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--orange-2));box-shadow:0 0 18px var(--orange)}.ozone-theme .eyebrow:before,.hero-ozone .eyebrow:before{background:linear-gradient(135deg,var(--cyan),var(--green));box-shadow:0 0 18px var(--cyan)}.hero h1,.section-head h2,.content-block h2{margin:0;color:#fff;line-height:.95;letter-spacing:-.055em}.hero h1{font-size:clamp(3.4rem,8vw,7.7rem);max-width:830px}.hero p.lead{font-size:clamp(1.08rem,2vw,1.35rem);color:var(--muted);max-width:760px;margin:26px 0 0}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:13px 18px;font-weight:850;border:1px solid var(--line);transition:transform .2s ease,background .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-2px)}.btn.primary{background:linear-gradient(135deg,var(--orange),var(--orange-2));color:#14110f;border-color:rgba(255,255,255,.0);box-shadow:0 16px 36px rgba(240,90,36,.24)}.btn.secondary{background:rgba(255,255,255,.06);color:#fff}.ozone-button,.ozone-theme .btn.primary{background:linear-gradient(135deg,var(--cyan),var(--green));color:#061d29;box-shadow:0 16px 36px rgba(115,231,255,.18)}.hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:34px;max-width:650px}.hero-meta div{padding:14px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid var(--line)}.hero-meta strong{display:block;font-size:1.15rem}.hero-meta span{color:var(--muted);font-size:.86rem}.hero-art{min-height:440px;display:flex;align-items:center;justify-content:center}.energy-visual{position:relative;width:min(100%,450px);height:520px;border-radius:38px;background:linear-gradient(150deg,rgba(255,255,255,.10),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.15);box-shadow:var(--shadow);overflow:hidden}.energy-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 35% 24%,rgba(255,178,75,.36),transparent 24%),radial-gradient(circle at 68% 54%,rgba(79,43,135,.30),transparent 30%)}.sun-core{position:absolute;top:64px;left:64px;width:128px;height:128px;border-radius:50%;background:radial-gradient(circle,#fff4c7 0%,#ffb24b 45%,rgba(240,90,36,.06) 75%);box-shadow:0 0 45px rgba(255,178,75,.65);animation:sunPulse 4s ease-in-out infinite}.solar-panel{position:absolute;background:linear-gradient(145deg,rgba(22,31,51,.96),rgba(60,70,95,.92));border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 60px rgba(0,0,0,.24);transform:skewY(-13deg) rotate(-8deg);overflow:hidden}.solar-panel:before{content:"";position:absolute;inset:12px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 32px),repeating-linear-gradient(0deg,rgba(255,255,255,.10) 0 1px,transparent 1px 32px)}.panel-a{width:260px;height:160px;right:44px;top:190px;border-radius:20px}.panel-b{width:220px;height:140px;left:48px;bottom:64px;border-radius:18px;opacity:.85}.power-line{position:absolute;height:8px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,178,75,.8),rgba(125,85,199,.8),transparent);filter:drop-shadow(0 0 14px rgba(255,178,75,.38));animation:flow 2.5s linear infinite}.line-a{width:290px;left:88px;top:170px;transform:rotate(-24deg)}.line-b{width:240px;left:110px;top:365px;transform:rotate(18deg);animation-delay:.6s}.line-c{width:180px;right:42px;top:422px;transform:rotate(-32deg);animation-delay:1.2s}.spark{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 18px #ffb24b;animation:spark 5s linear infinite}.s1{left:80%;top:18%}.s2{left:18%;top:50%;animation-delay:1.1s}.s3{left:70%;top:76%;animation-delay:2.1s}.s4{left:34%;top:28%;animation-delay:3.2s}.soft-panel{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.content-block h2,.section-head h2{font-size:clamp(2.4rem,5vw,4.7rem)}.content-block p,.section-head p{color:var(--muted);font-size:1.08rem;max-width:780px}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:30px}.section-head p{margin:18px 0 0}.cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.solution-card{position:relative;min-height:260px;padding:24px;border-radius:var(--radius);background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid var(--line);overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,.18);transition:transform .25s ease,border-color .25s ease}.solution-card:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.24)}.solution-card:after{content:"";position:absolute;right:-55px;top:-55px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,var(--orange-2),transparent 66%);opacity:.16}.ozone-cards .solution-card:after{background:radial-gradient(circle,var(--cyan),transparent 66%)}.solution-card .icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;margin-bottom:22px;background:linear-gradient(135deg,rgba(240,90,36,.22),rgba(255,178,75,.14));font-size:24px}.ozone-cards .solution-card .icon{background:linear-gradient(135deg,rgba(115,231,255,.18),rgba(170,240,111,.13))}.solution-card h3{font-size:1.24rem;margin:0 0 12px}.solution-card p{color:var(--muted);font-size:.96rem;margin:0}.solution-card ul{padding-left:18px;color:var(--muted);font-size:.92rem;margin:16px 0 0}.ozone-preview{background:linear-gradient(135deg,rgba(6,32,44,.78),rgba(12,48,64,.65));border-top:1px solid rgba(115,231,255,.13);border-bottom:1px solid rgba(115,231,255,.13)}.split-section{display:grid;grid-template-columns:1fr 410px;gap:60px;align-items:center}.ozone-card-mini{height:360px;border-radius:38px;border:1px solid rgba(115,231,255,.18);background:radial-gradient(circle at 50% 44%,rgba(115,231,255,.20),transparent 30%),linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:var(--shadow);position:relative;overflow:hidden}.ozone-orbital{position:absolute;inset:0}.ozone-pulse{position:absolute;left:50%;top:50%;width:150px;height:150px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(170,240,111,.8),rgba(115,231,255,.42),transparent 70%);filter:blur(6px);animation:corePulse 4s ease-in-out infinite}.o-atom{position:absolute;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;font-size:1.55rem;font-weight:900;color:#061d29;background:linear-gradient(180deg,#e9ffff,#8ee8ff);box-shadow:0 14px 32px rgba(0,0,0,.25)}.oa1{left:26%;top:22%;animation:atomDrift1 6s ease-in-out infinite}.oa2{left:54%;top:40%;background:linear-gradient(180deg,#eaffd4,#aaf06f);animation:atomDrift2 5.5s ease-in-out infinite}.oa3{left:34%;top:60%;animation:atomDrift3 6.5s ease-in-out infinite}.o-bond{position:absolute;height:7px;border-radius:999px;background:linear-gradient(90deg,rgba(115,231,255,.25),rgba(170,240,111,.55));box-shadow:0 0 18px rgba(115,231,255,.25)}.ob1{left:40%;top:38%;width:112px;transform:rotate(28deg);animation:bondGlow 3.5s ease-in-out infinite}.ob2{left:42%;top:58%;width:86px;transform:rotate(-58deg);animation:bondGlow 3.5s ease-in-out infinite 1s}.ozone-orbital i{position:absolute;width:6px;height:6px;border-radius:50%;background:#d6fbff;box-shadow:0 0 14px rgba(115,231,255,.95);animation:particleRise 8s linear infinite}.ozone-orbital i:nth-child(6){left:18%;top:72%}.ozone-orbital i:nth-child(7){left:80%;top:25%;animation-delay:1.2s}.ozone-orbital i:nth-child(8){left:12%;top:34%;animation-delay:2.3s}.ozone-orbital i:nth-child(9){left:74%;top:72%;animation-delay:3.4s}.ozone-orbital i:nth-child(10){left:54%;top:12%;animation-delay:4.1s}.applications-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.app-pill{min-height:150px;border-radius:24px;padding:18px;background:rgba(255,255,255,.06);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.app-pill strong{font-size:1.08rem}.app-pill span{color:var(--muted);font-size:.88rem}.contact-section{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.055));border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1fr 440px;gap:50px;align-items:start}.contact-form{background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.contact-form label{display:block;margin-bottom:14px}.contact-form span{display:block;font-size:.85rem;color:var(--muted);margin:0 0 6px}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.18);color:#fff;border-radius:14px;padding:12px 13px;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--orange-2)}.ozone-theme .contact-form input:focus,.ozone-theme .contact-form textarea:focus{border-color:var(--cyan)}.site-footer{padding:32px 0;border-top:1px solid var(--line);background:rgba(0,0,0,.14)}.footer-wrap{display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--muted);font-size:.93rem}.footer-wrap strong{color:#fff}.hero-ozone{background:linear-gradient(180deg,rgba(115,231,255,.05),transparent)}.ozone-visual{position:relative;width:100%;max-width:520px;height:460px;border-radius:38px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(58,211,255,.30),transparent 35%),radial-gradient(circle at 70% 30%,rgba(175,255,120,.12),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.11);box-shadow:inset 0 0 40px rgba(255,255,255,.03),0 20px 60px rgba(0,0,0,.28);backdrop-filter:blur(8px)}.energy-core{position:absolute;inset:50% auto auto 50%;width:150px;height:150px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(173,255,107,.95) 0%,rgba(104,228,255,.65) 45%,rgba(104,228,255,.06) 72%,transparent 100%);filter:blur(6px);animation:corePulse 4s ease-in-out infinite}.pulse-ring{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(138,233,255,.19);transform:translate(-50%,-50%) scale(.8);opacity:0}.ring-1,.ring-2,.ring-3{width:150px;height:150px;animation:pulseWave 4.8s linear infinite}.ring-2{animation-delay:1.6s}.ring-3{animation-delay:3.2s}.molecule{position:absolute;inset:0;animation:moleculeFloat 7s ease-in-out infinite}.atom{position:absolute;width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.7rem;color:#082234;box-shadow:0 10px 25px rgba(0,0,0,.18),inset 0 1px 8px rgba(255,255,255,.35)}.atom-1{left:33%;top:21%;background:linear-gradient(180deg,#d8f7ff 0%,#8edfff 100%);animation:atomDrift1 6s ease-in-out infinite}.atom-2{left:56%;top:42%;background:linear-gradient(180deg,#dfffc1 0%,#a8eb70 100%);animation:atomDrift2 5.5s ease-in-out infinite}.atom-3{left:38%;top:61%;background:linear-gradient(180deg,#d8f7ff 0%,#83d7ff 100%);animation:atomDrift3 6.5s ease-in-out infinite}.bond{position:absolute;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(185,233,255,.18),rgba(185,233,255,.55),rgba(193,255,153,.38));transform-origin:left center;box-shadow:0 0 18px rgba(142,223,255,.18)}.bond-1{left:43%;top:35%;width:122px;transform:rotate(26deg);animation:bondGlow 3.5s ease-in-out infinite}.bond-2{left:49%;top:56%;width:95px;transform:rotate(115deg);animation:bondGlow 3.5s ease-in-out infinite 1s}.bond-3{left:39%;top:52%;width:86px;transform:rotate(-65deg);animation:bondGlow 3.5s ease-in-out infinite 2s}.particle{position:absolute;width:7px;height:7px;border-radius:50%;background:rgba(190,244,255,.95);box-shadow:0 0 14px rgba(166,237,255,.7);opacity:.7}.p1{left:14%;top:22%;animation:particleMove1 11s linear infinite}.p2{left:22%;top:68%;animation:particleMove2 9s linear infinite}.p3{left:78%;top:22%;animation:particleMove3 10s linear infinite}.p4{left:85%;top:58%;animation:particleMove4 8s linear infinite}.p5{left:60%;top:14%;animation:particleMove5 12s linear infinite}.p6{left:10%;top:48%;animation:particleMove6 10s linear infinite}.cases-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.case-card{position:relative;border-radius:var(--radius);overflow:hidden;min-height:330px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid rgba(115,231,255,.15);box-shadow:0 20px 60px rgba(0,0,0,.20)}.case-card .image{height:170px;background-size:cover;background-position:center;background-image:linear-gradient(135deg,rgba(115,231,255,.25),rgba(170,240,111,.12))}.case-card .body{padding:20px}.case-card h3{margin:0 0 10px}.case-card p{margin:0;color:var(--muted);font-size:.94rem}.case-card .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tag{font-size:.72rem;font-weight:800;padding:6px 8px;border-radius:999px;background:rgba(115,231,255,.10);color:#d9faff;border:1px solid rgba(115,231,255,.14)}.livestock-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.livestock-card{border-radius:var(--radius);overflow:hidden;background:rgba(255,255,255,.055);border:1px solid rgba(115,231,255,.13)}.livestock-card .image{height:150px;background-size:cover;background-position:center;background-image:linear-gradient(135deg,rgba(115,231,255,.2),rgba(170,240,111,.08))}.livestock-card .body{padding:18px}.livestock-card h3{margin:0 0 8px}.livestock-card p{color:var(--muted);font-size:.93rem;margin:0}@keyframes sunPulse{0%,100%{transform:scale(.96);box-shadow:0 0 38px rgba(255,178,75,.50)}50%{transform:scale(1.05);box-shadow:0 0 75px rgba(255,178,75,.80)}}@keyframes flow{0%{opacity:.25;background-position:-120px 0}50%{opacity:1}100%{opacity:.25;background-position:120px 0}}@keyframes spark{0%,100%{transform:translateY(0) scale(.7);opacity:.2}50%{transform:translateY(-24px) scale(1.2);opacity:1}}@keyframes corePulse{0%,100%{transform:translate(-50%,-50%) scale(.95);opacity:.75}50%{transform:translate(-50%,-50%) scale(1.08);opacity:1}}@keyframes pulseWave{0%{transform:translate(-50%,-50%) scale(.65);opacity:0}15%{opacity:.35}70%{opacity:.15}100%{transform:translate(-50%,-50%) scale(2.25);opacity:0}}@keyframes moleculeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes atomDrift1{0%,100%{transform:translate(0,0)}50%{transform:translate(-7px,9px)}}@keyframes atomDrift2{0%,100%{transform:translate(0,0)}50%{transform:translate(9px,-7px)}}@keyframes atomDrift3{0%,100%{transform:translate(0,0)}50%{transform:translate(-5px,-9px)}}@keyframes bondGlow{0%,100%{opacity:.45}50%{opacity:.95}}@keyframes particleRise{0%{transform:translate(0,0);opacity:0}20%{opacity:.8}100%{transform:translate(-44px,-90px);opacity:0}}@keyframes particleMove1{0%{transform:translate(0,0) scale(1);opacity:0}20%{opacity:.8}100%{transform:translate(80px,40px) scale(.6);opacity:0}}@keyframes particleMove2{0%{transform:translate(0,0) scale(.8);opacity:0}20%{opacity:.8}100%{transform:translate(120px,-70px) scale(1.1);opacity:0}}@keyframes particleMove3{0%{transform:translate(0,0);opacity:0}20%{opacity:.7}100%{transform:translate(-100px,65px);opacity:0}}@keyframes particleMove4{0%{transform:translate(0,0);opacity:0}20%{opacity:.75}100%{transform:translate(-130px,-50px);opacity:0}}@keyframes particleMove5{0%{transform:translate(0,0);opacity:0}20%{opacity:.7}100%{transform:translate(-60px,100px);opacity:0}}@keyframes particleMove6{0%{transform:translate(0,0);opacity:0}20%{opacity:.7}100%{transform:translate(150px,-20px);opacity:0}}
@media (max-width: 1040px){.hero-grid,.split-section,.contact-grid{grid-template-columns:1fr}.hero-art{order:-1;min-height:auto}.hero-copy{position:relative;z-index:2}.cards-grid,.cases-grid,.livestock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.applications-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.energy-visual,.ozone-visual{height:380px}.brand{width:205px}.section-head{display:block}}
@media (max-width: 780px){.container{width:min(100% - 28px,var(--container))}.section-pad{padding:70px 0}.nav-wrap{min-height:74px}.brand{width:178px;min-width:170px}.brand img{height:54px}.menu-toggle{display:inline-flex}.main-nav{position:absolute;top:calc(100% + 1px);left:14px;right:14px;display:none;flex-direction:column;align-items:stretch;background:rgba(17,19,28,.96);border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{padding:12px 14px}.language-switch{margin-left:0}.hero-grid{gap:28px;min-height:auto;padding-top:20px}.hero-meta{grid-template-columns:1fr}.cards-grid,.cases-grid,.livestock-grid,.applications-strip{grid-template-columns:1fr}.contact-form{padding:18px}.footer-wrap{display:block}.energy-visual,.ozone-visual,.ozone-card-mini{height:330px;border-radius:26px}.hero h1{font-size:clamp(3rem,15vw,5rem)}.atom,.o-atom{width:62px;height:62px;font-size:1.25rem}.sun-core{width:95px;height:95px}.panel-a{width:210px;height:130px;right:24px}.panel-b{width:180px;height:110px;left:28px}}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}
.contact-details{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.contact-details p{margin:.35rem 0;color:#fff;font-size:1rem}.content-block .hero-actions{margin-top:26px}.hero-ozone .brand img{filter:none}

/* Contact form additions */
.contact-form .privacy-check{display:flex;gap:10px;align-items:flex-start;margin-top:4px}.contact-form .privacy-check input{width:auto;margin-top:4px}.contact-form .privacy-check span{display:inline;margin:0;color:var(--muted);font-size:.86rem;line-height:1.35}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}


/* Legal links and privacy consent */
.footer-wrap{gap:22px}
.footer-main p{margin:.2rem 0}
.footer-legal{display:flex;flex-wrap:wrap;gap:10px 14px;justify-content:flex-end;align-items:center}
.footer-legal a{color:var(--muted);font-weight:750;font-size:.92rem;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:rgba(255,255,255,.045);transition:.2s ease}
.footer-legal a:hover{color:#fff;background:rgba(255,255,255,.09);transform:translateY(-1px)}
.contact-form .privacy-check a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.contact-form .privacy-check a:hover{color:var(--orange-2)}
.ozone-theme .contact-form .privacy-check a:hover{color:var(--cyan)}
@media (max-width:780px){.footer-legal{justify-content:flex-start;margin-top:16px}.footer-legal a{font-size:.88rem}}

/* V5 image integration: Ozonosan assets used across ozone hero, cards and application blocks */
.ozone-hero-photo {
  isolation: isolate;
  background: #061d29;
}
.ozone-hero-photo > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .56;
  filter: saturate(1.08) contrast(1.05);
  transform: scale(1.04);
}
.ozone-hero-photo:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 52% 48%, rgba(115,231,255,.34), transparent 33%),
    linear-gradient(180deg, rgba(4,20,29,.22), rgba(4,20,29,.78));
}
.ozone-hero-photo .ozone-glass-panel {
  position: absolute;
  inset: 26px;
  z-index: 2;
  border-radius: 30px;
  border: 1px solid rgba(210,250,255,.18);
  background: linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.025));
  box-shadow: inset 0 0 60px rgba(115,231,255,.06);
  backdrop-filter: blur(2px);
}
.ozone-hero-photo .energy-core,
.ozone-hero-photo .pulse-ring,
.ozone-hero-photo .molecule,
.ozone-hero-photo .particle {
  z-index: 3;
}
.ozone-image-preview {
  background: #061d29;
  isolation: isolate;
}
.ozone-image-preview:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    radial-gradient(circle at 50% 42%, rgba(115,231,255,.32), transparent 35%),
    linear-gradient(180deg, rgba(4,20,29,.06), rgba(4,20,29,.80));
  pointer-events: none;
}
.ozone-image-preview .preview-img {
  position: absolute;
  object-fit: cover;
  border-radius: 24px;
  box-shadow: 0 18px 55px rgba(0,0,0,.38);
}
.ozone-image-preview .preview-img.main {
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 38px;
  opacity: .72;
  filter: saturate(1.08) contrast(1.02);
}
.ozone-image-preview .preview-img.small {
  z-index: 3;
  width: 44%;
  height: 42%;
  border: 1px solid rgba(255,255,255,.22);
  background: #fff;
}
.ozone-image-preview .preview-img.small.a { right: 24px; top: 22px; }
.ozone-image-preview .preview-img.small.b { left: 24px; bottom: 22px; }
.ozone-image-preview .ozone-orbital { z-index: 4; }
.solution-card.has-image {
  padding-top: 0;
}
.solution-card.has-image .solution-image {
  height: 150px;
  margin: -1px -1px 20px;
  border-radius: var(--radius) var(--radius) 20px 20px;
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.solution-card.has-image .icon {
  margin-top: -46px;
  position: relative;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 12px 30px rgba(0,0,0,.25);
  background: linear-gradient(135deg,rgba(115,231,255,.70),rgba(170,240,111,.60));
}
.applications-strip .app-pill.has-image {
  padding: 0;
  overflow: hidden;
  align-items: stretch;
  min-height: 250px;
  background: linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
}
.applications-strip .app-pill.has-image .app-image {
  display: block;
  height: 132px;
  width: 100%;
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.applications-strip .app-pill.has-image strong,
.applications-strip .app-pill.has-image > span:not(.app-image) {
  padding-inline: 18px;
}
.applications-strip .app-pill.has-image strong {
  padding-top: 16px;
}
.applications-strip .app-pill.has-image > span:not(.app-image) {
  padding-bottom: 18px;
}
.case-card .image,
.livestock-card .image,
.solution-image,
.app-image {
  background-color: rgba(115,231,255,.08);
}
@media (max-width: 780px){
  .ozone-image-preview .preview-img.small { width: 48%; height: 38%; }
  .solution-card.has-image .solution-image { height: 180px; }
  .applications-strip .app-pill.has-image { min-height: auto; }
  .applications-strip .app-pill.has-image .app-image { height: 170px; }
}


.card-actions {
  margin-top: 18px;
}
.card-gallery-btn {
  width: 100%;
  padding: 11px 16px;
  cursor: pointer;
}
.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0,0,0,.76);
}
.gallery-lightbox.open {
  display: flex;
}
.gallery-panel {
  position: relative;
  width: min(100%, 980px);
  padding: 18px;
  border-radius: var(--radius);
  background: rgba(17,19,28,.96);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.gallery-panel h3 {
  margin: 0 44px 14px 0;
}
.gallery-panel img {
  display: block;
  width: 100%;
  max-height: 72vh;
  object-fit: contain;
  border-radius: 18px;
  background: rgba(255,255,255,.04);
}
.gallery-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--line);
  color: #fff;
  background: rgba(255,255,255,.08);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.gallery-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 14px;
}
.gallery-controls span {
  color: var(--muted);
  font-weight: 800;
}

.contact-details a {
  color: #fff;
  text-decoration: none;
}
.contact-details a:hover {
  text-decoration: underline;
}

/* v5.3.2 - Mobile header language selector fix */
@media (max-width: 780px){
  .nav-wrap{
    gap:8px;
    flex-wrap:nowrap;
  }
  .brand{
    width:auto;
    min-width:0;
    flex:1 1 auto;
    max-width:145px;
  }
  .brand img{
    height:46px;
    max-width:100%;
  }
  .menu-toggle{
    margin-left:0;
    flex:0 0 auto;
    padding:8px 10px;
    font-size:13px;
  }
  .language-switch{
    flex:0 0 auto;
    gap:2px;
    padding:3px;
  }
  .language-switch button{
    padding:6px 7px;
    font-size:11px;
  }
}

@media (max-width: 360px){
  .container{width:min(100% - 20px,var(--container))}
  .brand{max-width:128px;}
  .brand img{height:42px;}
  .menu-toggle{padding:7px 9px;font-size:12px;}
  .language-switch button{padding:5px 6px;font-size:10px;}
}

/* Energy Division v5.4 Build006 - gradient titles (desktop/mobile safe, no JS dependency) */
[data-render="hero"] h1,
[data-render="mission"] h2,
[data-render="energyHead"] h2,
[data-render="applicationsHead"] h2,
[data-render="contact"] h2{
  background:linear-gradient(90deg,#f05a24 0%,#e34b2c 34%,#bd3f82 68%,#7a4bd8 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  [data-render="hero"] h1,
  [data-render="mission"] h2,
  [data-render="energyHead"] h2,
  [data-render="applicationsHead"] h2,
  [data-render="contact"] h2{
    color:#f05a24;
    background:none;
  }
}

/* Energy Division v5.4 Build007 - gradient title clipping fix */
[data-render="hero"] h1,
[data-render="mission"] h2,
[data-render="energyHead"] h2,
[data-render="applicationsHead"] h2,
[data-render="contact"] h2{
  line-height:1.08;
  padding-bottom:.08em;
  overflow:visible;
}

/* Energy Division v5.4 Build008 - hero gradient title width clipping fix */
.hero .hero-copy,
[data-render="hero"]{
  overflow: visible;
}
[data-render="hero"] h1{
  display: inline-block;
  max-width: min(100%, 940px);
  padding-right: .22em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
@media (max-width: 780px){
  [data-render="hero"] h1{
    max-width: 100%;
    padding-right: .16em;
    overflow-wrap: normal;
    word-break: normal;
  }
}

/* Energy Division v5.4 Build009 - definitive hero title clipping fix
   Keep the approved gradient, but render the hero title as a normal block
   constrained to its column so long words are not clipped or covered. */
[data-render="hero"] h1{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  padding-right:0;
  margin-right:0;
  overflow:visible;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}
@media (max-width: 1040px){
  [data-render="hero"] h1{
    max-width:100%;
  }
}
@media (max-width: 780px){
  [data-render="hero"] h1{
    display:block;
    width:100%;
    max-width:100%;
    padding-right:0;
    margin-right:0;
    text-wrap:auto;
  }
}

/* Energy Division v5.4 Build010 - hero title overlap fix
   The right-side visual must never cover the gradient hero title. */
.hero-grid{
  isolation:isolate;
}
.hero .hero-copy,
[data-render="hero"]{
  position:relative;
  z-index:3;
}
.hero .hero-art{
  position:relative;
  z-index:1;
  pointer-events:none;
}
.hero .energy-visual{
  position:relative;
  z-index:1;
}
[data-render="hero"] h1{
  position:relative;
  z-index:4;
}

/* Energy Division v5.4 Build011 - hero title readability fix
   The hero headline keeps the same font and gradient, but uses a slightly
   smaller maximum size and gives the right visual a little less horizontal
   space so the final part of long words is never covered. */
@media (min-width: 1041px){
  .hero-grid{
    grid-template-columns:minmax(0,1.15fr) minmax(300px,420px);
    gap:44px;
  }
  [data-render="hero"] h1{
    font-size:clamp(3.25rem,7.1vw,6.85rem);
    max-width:100%;
  }
}
@media (min-width: 781px) and (max-width: 1040px){
  [data-render="hero"] h1{
    font-size:clamp(3.2rem,8.5vw,6rem);
  }
}

/* Energy Division v5.4 Build012 - definitive hero headline overlap fix
   The gradient remains unchanged. Only the first hero title is reduced
   and the right visual is kept farther from the headline so no letter is covered. */
@media (min-width: 1041px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(280px,390px) !important;
    gap:72px !important;
    overflow:visible;
  }
  .hero .hero-copy,
  [data-render="hero"]{
    position:relative;
    z-index:10;
    overflow:visible;
    max-width:100%;
  }
  [data-render="hero"] h1{
    font-size:clamp(3.05rem,5.9vw,5.6rem) !important;
    line-height:1.1 !important;
    letter-spacing:-.05em;
    max-width:760px !important;
    overflow:visible;
  }
  .hero .hero-art{
    position:relative;
    z-index:1;
    justify-content:flex-end;
    pointer-events:none;
  }
  .hero .energy-visual{
    width:min(100%,390px) !important;
    height:470px !important;
  }
}
@media (min-width: 781px) and (max-width:1040px){
  [data-render="hero"] h1{
    font-size:clamp(3rem,7.4vw,5.2rem) !important;
    line-height:1.1 !important;
    max-width:100% !important;
  }
}
@media (max-width:780px){
  [data-render="hero"] h1{
    line-height:1.1 !important;
    overflow:visible;
  }
}

/* Energy Division v5.4 Build013 - hero headline foreground fix
   The hero text is intentionally placed above the right visual so the word
   "infrastruttura" remains fully readable in IT / EN / ES. No color, font,
   content or layout structure changes. */
@media (min-width: 1041px){
  .hero-grid{
    position:relative;
    isolation:isolate;
  }
  .hero .hero-copy,
  [data-render="hero"]{
    grid-column:1 / -1;
    grid-row:1;
    position:relative;
    z-index:50 !important;
    overflow:visible !important;
    max-width:820px !important;
    pointer-events:auto;
  }
  [data-render="hero"] h1{
    position:relative;
    z-index:60 !important;
    max-width:820px !important;
    overflow:visible !important;
  }
  .hero .hero-art{
    grid-column:2;
    grid-row:1;
    position:relative;
    z-index:1 !important;
    justify-self:end;
    pointer-events:none;
  }
  .hero .energy-visual{
    position:relative;
    z-index:1 !important;
  }
}

/* Energy Division v5.4 Build014 - hero visual offset fix
   Fix reale richiesto: l'immagine decorativa a destra viene allontanata dal titolo,
   senza modificare testo, gradiente, font, contenuti, JS o layout generale. */
@media (min-width: 1041px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(260px,360px) !important;
    gap:96px !important;
    overflow:visible;
  }
  .hero .hero-copy,
  [data-render="hero"]{
    grid-column:1 !important;
    grid-row:1 !important;
    max-width:760px !important;
    z-index:20 !important;
    overflow:visible !important;
  }
  [data-render="hero"] h1{
    max-width:760px !important;
    overflow:visible !important;
    position:relative;
    z-index:25 !important;
  }
  .hero .hero-art{
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
    transform:translateX(72px);
    z-index:1 !important;
    pointer-events:none;
  }
  .hero .energy-visual{
    width:min(100%,360px) !important;
    height:460px !important;
  }
}
@media (min-width: 781px) and (max-width:1040px){
  .hero .hero-art{
    transform:none;
  }
}

/* Energy Division v5.4 Build016 - hero gradient text paint-area fix
   Fix targeted to the first Hero headline only. The earlier issue was not the
   font or the content: with gradient text, the final glyphs can fall outside
   the text painting area when the headline is close to the decorative visual.
   This keeps the same visual design but gives the gradient paint area extra
   room, while keeping the right visual behind and separated. */
@media (min-width: 1041px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(240px,340px) !important;
    gap:112px !important;
    overflow:visible !important;
    isolation:isolate !important;
  }
  .hero .hero-copy,
  [data-render="hero"]{
    position:relative !important;
    z-index:100 !important;
    overflow:visible !important;
    max-width:820px !important;
    padding-right:0 !important;
  }
  [data-render="hero"] h1{
    position:relative !important;
    z-index:110 !important;
    display:block !important;
    width:auto !important;
    max-width:820px !important;
    box-sizing:content-box !important;
    padding-right:.65em !important;
    margin-right:-.65em !important;
    overflow:visible !important;
    background-size:calc(100% + 1em) 100% !important;
    background-repeat:no-repeat !important;
    -webkit-box-decoration-break:clone;
    box-decoration-break:clone;
  }
  .hero .hero-art{
    position:relative !important;
    z-index:1 !important;
    justify-self:end !important;
    transform:translateX(96px) !important;
    pointer-events:none !important;
  }
  .hero .energy-visual{
    width:min(100%,340px) !important;
    height:450px !important;
    position:relative !important;
    z-index:1 !important;
  }
}
@media (min-width:781px) and (max-width:1040px){
  [data-render="hero"] h1{
    padding-right:.35em !important;
    margin-right:-.35em !important;
    background-size:calc(100% + .6em) 100% !important;
    overflow:visible !important;
  }
}

/* Energy Division v5.4 Build017 - final hero headline fit fix
   Causa: il gradiente su testo molto grande richiede che la parola piu lunga
   rientri completamente nella colonna del titolo. Riduciamo solo il primo
   titolo Hero, senza cambiare font, colore, contenuti, JS o layout generale. */
@media (min-width: 1041px){
  [data-render="hero"] h1{
    font-size:clamp(2.85rem,4.85vw,4.85rem) !important;
    line-height:1.14 !important;
    letter-spacing:-.045em !important;
    max-width:700px !important;
    padding-right:.18em !important;
    margin-right:0 !important;
    background-size:100% 100% !important;
    overflow:visible !important;
  }
  .hero .hero-copy,
  [data-render="hero"]{
    max-width:720px !important;
    overflow:visible !important;
  }
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(220px,330px) !important;
    gap:120px !important;
    overflow:visible !important;
  }
  .hero .hero-art{
    transform:translateX(110px) !important;
    pointer-events:none !important;
  }
  .hero .energy-visual{
    width:min(100%,330px) !important;
    height:440px !important;
  }
}
@media (min-width: 781px) and (max-width:1040px){
  [data-render="hero"] h1{
    font-size:clamp(2.75rem,6.3vw,4.65rem) !important;
    line-height:1.14 !important;
    letter-spacing:-.045em !important;
    max-width:100% !important;
    padding-right:.12em !important;
    margin-right:0 !important;
  }
}
@media (max-width:780px){
  [data-render="hero"] h1{
    font-size:clamp(2.55rem,12.5vw,4.25rem) !important;
    line-height:1.14 !important;
    letter-spacing:-.045em !important;
    padding-right:.08em !important;
    margin-right:0 !important;
  }
}


/* Energy Division v5.4 Build018 - correzione definitiva titolo Hero
   Causa reale: il gradiente applicato direttamente all'h1 poteva perdere la
   parte finale delle parole lunghe sulle tre lingue. Da questa build il
   gradiente del primo titolo viene applicato a uno span interno, mentre l'h1
   resta un contenitore normale e visibile. Nessun cambio a contenuti, layout,
   immagini, contact.php o LegalBlink. */
[data-render="hero"] h1{
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:initial !important;
  color:#fff !important;
  display:block !important;
  width:100% !important;
  max-width:860px !important;
  overflow:visible !important;
  position:relative !important;
  z-index:200 !important;
  font-size:clamp(3.05rem,5.6vw,5.85rem) !important;
  line-height:1.12 !important;
  letter-spacing:-.045em !important;
}
[data-render="hero"] h1 .hero-title-gradient{
  display:inline;
  background:linear-gradient(90deg,#f05a24 0%,#e34b2c 34%,#bd3f82 68%,#7a4bd8 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  padding-right:.08em;
}
.hero .hero-copy,
[data-render="hero"]{
  overflow:visible !important;
  position:relative !important;
  z-index:150 !important;
}
.hero .hero-art{
  z-index:1 !important;
  pointer-events:none !important;
}
@media (min-width:1041px){
  .hero-grid{
    grid-template-columns:minmax(0,1.12fr) minmax(260px,360px) !important;
    gap:88px !important;
    overflow:visible !important;
    isolation:isolate !important;
  }
  .hero .energy-visual{
    width:min(100%,360px) !important;
  }
}
@media (min-width:781px) and (max-width:1040px){
  [data-render="hero"] h1{
    font-size:clamp(2.9rem,7vw,5rem) !important;
    max-width:100% !important;
  }
}
@media (max-width:780px){
  [data-render="hero"] h1{
    font-size:clamp(2.55rem,12vw,4.15rem) !important;
    max-width:100% !important;
    line-height:1.13 !important;
  }
}

/* Energy Division v5.4 Build019 - restore hero visual after gradient-title fix
   Keep the working hero gradient title from Build018, but bring the right visual
   back into the grid instead of leaving it pushed outside the viewport by older
   build overrides. No content, JS, layout structure, contact.php or LegalBlink changes. */
@media (min-width:1041px){
  .hero-grid{
    grid-template-columns:minmax(0,1.06fr) minmax(300px,390px) !important;
    gap:64px !important;
    align-items:center !important;
    overflow:visible !important;
    isolation:isolate !important;
  }
  .hero .hero-copy,
  [data-render="hero"]{
    position:relative !important;
    z-index:10 !important;
    overflow:visible !important;
    max-width:860px !important;
  }
  .hero .hero-art{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    z-index:1 !important;
    justify-self:end !important;
    justify-content:center !important;
    transform:translateX(20px) !important;
    pointer-events:none !important;
  }
  .hero .energy-visual{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:min(100%,390px) !important;
    height:470px !important;
    position:relative !important;
    z-index:1 !important;
  }
}
@media (min-width:781px) and (max-width:1040px){
  .hero .hero-art{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    transform:none !important;
  }
  .hero .energy-visual{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}
@media (max-width:780px){
  .hero .hero-art{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    transform:none !important;
  }
}

/* Energy Division v5.4 Build020 - hero visual restore and no-overlap reset
   Ripristina l'immagine Hero nella colonna destra e impedisce alla headline
   di invadere l'area del visual. Mantiene il gradiente già corretto della Build018. */
.hero-grid{
  position:relative;
  isolation:isolate;
}
.hero .hero-copy,
[data-render="hero"]{
  position:relative !important;
  z-index:10 !important;
  overflow:visible !important;
}
[data-render="hero"] h1{
  max-width:100% !important;
  width:100% !important;
  overflow:visible !important;
}
.hero .hero-art{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:1 !important;
  pointer-events:none !important;
}
.hero .energy-visual{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:1 !important;
}
@media (min-width:1041px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(320px,430px) !important;
    gap:64px !important;
    align-items:center !important;
    overflow:visible !important;
  }
  .hero .hero-copy,
  [data-render="hero"]{
    grid-column:1 !important;
    grid-row:1 !important;
    max-width:100% !important;
  }
  .hero .hero-art{
    grid-column:2 !important;
    grid-row:1 !important;
    min-height:440px !important;
    width:100% !important;
    align-items:center !important;
    justify-content:flex-end !important;
    justify-self:end !important;
    transform:none !important;
    margin:0 !important;
  }
  .hero .energy-visual{
    width:min(100%,430px) !important;
    height:500px !important;
    transform:none !important;
    margin:0 !important;
  }
}
@media (min-width:781px) and (max-width:1040px){
  .hero .hero-art{
    transform:none !important;
    min-height:auto !important;
    justify-content:center !important;
  }
  .hero .energy-visual{
    width:min(100%,450px) !important;
    height:380px !important;
  }
}
@media (max-width:780px){
  .hero .hero-art{
    transform:none !important;
    min-height:auto !important;
    justify-content:center !important;
  }
}

/* Energy Division v5.4 Build021 - Ozono palette A
   Applica alla sezione Ozono una palette autonoma turchese -> azzurro ghiaccio,
   separata dal gradiente Energy arancio/magenta/viola. Nessun cambio a layout,
   font, dimensioni, JS, contact.php o LegalBlink. */
.ozone-preview [data-render="ozonePreview"] h2,
.ozone-theme [data-render="hero"] h1 .hero-title-gradient,
.ozone-theme [data-render="mission"] h2,
.ozone-theme [data-render="ozoneSolutionsHead"] h2,
.ozone-theme [data-render="casesHead"] h2,
.ozone-theme [data-render="livestockHead"] h2,
.ozone-theme [data-render="contact"] h2{
  background:linear-gradient(90deg,#00c8c8 0%,#58e0ef 48%,#a8f3ff 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.ozone-preview [data-render="ozonePreview"] h2,
.ozone-theme [data-render="mission"] h2,
.ozone-theme [data-render="ozoneSolutionsHead"] h2,
.ozone-theme [data-render="casesHead"] h2,
.ozone-theme [data-render="livestockHead"] h2,
.ozone-theme [data-render="contact"] h2{
  line-height:1.08;
  padding-bottom:.08em;
  overflow:visible;
}
.ozone-theme [data-render="hero"] h1 .hero-title-gradient{
  padding-right:.08em;
}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .ozone-preview [data-render="ozonePreview"] h2,
  .ozone-theme [data-render="hero"] h1 .hero-title-gradient,
  .ozone-theme [data-render="mission"] h2,
  .ozone-theme [data-render="ozoneSolutionsHead"] h2,
  .ozone-theme [data-render="casesHead"] h2,
  .ozone-theme [data-render="livestockHead"] h2,
  .ozone-theme [data-render="contact"] h2{
    color:#5de0e6 !important;
    background:none !important;
    -webkit-text-fill-color:initial !important;
  }
}

/* Energy Division v5.4 Build027 - SEO Foundation
   Hero institutional signature and footer SEO navigation. */
.hero-signature{
  margin:16px 0 0;
  color:#fff;
  font-size:clamp(.88rem,1.6vw,1rem);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.92;
}
.footer-wrap{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
}
.footer-seo{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  padding:22px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.footer-seo-group h4{
  margin:0 0 12px;
  color:#fff;
  font-size:.95rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.footer-seo-group ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:7px;
}
.footer-seo-group a{
  color:var(--muted);
  font-size:.92rem;
  text-decoration:none;
  transition:color .2s ease;
}
.footer-seo-group a:hover{color:#fff}
@media (max-width:780px){
  .footer-seo{grid-template-columns:1fr;gap:22px}
  .hero-signature{letter-spacing:.09em;font-size:.82rem;line-height:1.45}
}

/* Energy Division v5.4 Build033 - Projects and Colombia case history */
[data-render="visionPrinciplesHead"] h2,
[data-render="visionCompetencesHead"] h2,
[data-render="visionCustom"] h2,
[data-render="visionMethod"] h2,
[data-render="visionProcessHead"] h2,
[data-render="visionManifesto"] h2,
[data-render="projectsHead"] h2,
[data-render="projectOverview"] h2,
[data-render="projectGalleryHead"] h2,
[data-render="projectResults"] h2,
.project-section h2{
  background:linear-gradient(90deg,#f05a24 0%,#e34b2c 34%,#bd3f82 68%,#7a4bd8 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  line-height:1.08;
  padding-bottom:.08em;
  overflow:visible;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.project-hero-visual{
  width:min(100%,430px);
  height:500px;
  border-radius:38px;
  background-size:cover;
  background-position:center;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.project-hero-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 28% 18%,rgba(240,90,36,.20),transparent 30%),radial-gradient(circle at 78% 75%,rgba(122,75,216,.24),transparent 34%);
  pointer-events:none;
}
.projects-grid{display:grid;grid-template-columns:1fr;gap:22px}
.project-card{display:grid;grid-template-columns:minmax(280px,.9fr) 1fr;gap:0;overflow:hidden;border-radius:var(--radius);background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid var(--line);box-shadow:0 22px 70px rgba(0,0,0,.20)}
.project-card-image{min-height:390px;background-size:cover;background-position:center;display:block;position:relative}
.project-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,19,28,.04),rgba(17,19,28,.54))}
.project-card-body{padding:32px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.project-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.project-card-meta span{font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.06)}
.project-card h3{font-size:clamp(2rem,3.8vw,3.8rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 16px;color:#fff}.project-card p{color:var(--muted);font-size:1.03rem;max-width:680px}.project-card .btn{margin-top:22px}
.project-overview-grid{display:grid;grid-template-columns:1fr minmax(300px,420px);gap:44px;align-items:start}.project-facts{display:grid;gap:12px}.project-facts div{padding:16px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid var(--line)}.project-facts span{display:block;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:6px}.project-facts strong{display:block;color:#fff;font-size:1.05rem}
.project-story{display:grid;gap:34px}.project-section{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;padding:26px;border-radius:var(--radius);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid var(--line)}.project-section.reverse .project-section-copy{order:2}.project-section h2{font-size:clamp(2rem,4vw,4.2rem);margin:0 0 16px}.project-section p:not(.eyebrow){color:var(--muted);font-size:1.03rem}.project-section-image{min-height:360px;border-radius:24px;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 50px rgba(0,0,0,.18)}
.project-gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.project-gallery-item{height:190px;border:1px solid var(--line);border-radius:20px;background-size:cover;background-position:center;cursor:pointer;position:relative;overflow:hidden;padding:0}.project-gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,19,28,.06),rgba(17,19,28,.65))}.project-gallery-item span{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;color:#fff;font-size:.75rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;text-align:left}
@media(max-width:1040px){.project-card,.project-overview-grid,.project-section{grid-template-columns:1fr}.project-section.reverse .project-section-copy{order:0}.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-hero-visual{height:380px;width:min(100%,560px)}}
@media(max-width:780px){.project-card-image{min-height:260px}.project-card-body{padding:22px}.project-section{padding:18px}.project-section-image{min-height:260px}.project-gallery-grid{grid-template-columns:1fr}.project-gallery-item{height:240px}}

/* Energy Division v5.4 Build037 - Vision typographic hero and Ozone pool card
   - Vision: rimuove il visual della Hero per evitare duplicazione percettiva con Home.
   - Ozone: nuova immagine applicazione Piscine tramite asset dedicato. */
body[data-page="vision"] .hero-grid{
  grid-template-columns:minmax(0,1fr) !important;
  gap:0 !important;
  min-height:calc(78vh - var(--header-h)) !important;
}
body[data-page="vision"] .hero .hero-art{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}
body[data-page="vision"] .hero .hero-copy,
body[data-page="vision"] [data-render="hero"]{
  max-width:1120px !important;
}
body[data-page="vision"] .hero h1{
  max-width:1050px !important;
}
body[data-page="vision"] .hero p.lead{
  max-width:860px !important;
}
@media (max-width:780px){
  body[data-page="vision"] .hero-grid{
    min-height:auto !important;
  }
}

/* Energy Division v5.4 Build038 - Engineering Solutions
   Nuova pagina strategica basata sul sistema grafico esistente. */
body[data-page="solutions"] [data-render="solutionsApproach"] h2,
body[data-page="solutions"] [data-render="solutionsAreasHead"] h2,
body[data-page="solutions"] [data-render="solutionsMethod"] h2,
body[data-page="solutions"] [data-render="solutionsProcessHead"] h2,
body[data-page="solutions"] [data-render="solutionsCustom"] h2{
  background:linear-gradient(90deg,#f05a24 0%,#e34b2c 34%,#bd3f82 68%,#7a4bd8 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
  -webkit-text-fill-color:transparent;
  display:inline-block;
}
body[data-page="solutions"] .solution-card .icon{
  background:linear-gradient(135deg,rgba(240,90,36,.20),rgba(122,75,216,.20));
}

/* Release039 REV.D - Heading consistency */
.section-head h2,
.content-block h2,
.project-section-copy h2,
.project-section-copy h3 {
  color: #fff;
}
.section-head .eyebrow,
.content-block .eyebrow {
  color: #fff;
}


/* Energy Division Release039 REV.E - Vision title gradient consistency
   Reuses the approved Energy orange/magenta/violet gradient for Vision headings. */
body[data-page="vision"] [data-render="visionCompetencesHead"] h2,
body[data-page="vision"] [data-render="visionCustom"] h2{
  background:linear-gradient(90deg,#f05a24 0%,#e34b2c 34%,#bd3f82 68%,#7a4bd8 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
  line-height:1.08;
  padding-bottom:.08em;
}

/* Release039 REV.F - UI consistency quick fix
   Reuse the approved Energy Division title gradient for Vision content blocks
   and keep application-card images visible when an asset is defined. */
[data-render="visionCustom"] h2,
[data-render="visionFinal"] h2,
[data-render="solutionsCustom"] h2,
[data-render="solutionsApproach"] h2,
[data-render="solutionsMethod"] h2{
  background:linear-gradient(90deg,#f05a24 0%,#e34b2c 34%,#bd3f82 68%,#7a4bd8 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
  line-height:1.08;
  padding-bottom:.08em;
}
.app-pill.has-image .app-image{
  display:block;
  width:100%;
  min-height:150px;
  border-radius:18px;
  background-size:cover;
  background-position:center;
  margin-bottom:14px;
}

/* Release039 REV.G - Global Engineering / Qualified Leads
   Higher-value content, softer typography and institutional office cards. */
.hero h1{
  font-size:clamp(3.05rem,7.1vw,6.7rem);
}
.section-head h2,
.content-block h2{
  font-size:clamp(2.35rem,5.2vw,5.2rem);
}
.project-card h3{
  font-size:clamp(1.85rem,3.25vw,3.25rem);
}
.project-section h2{
  font-size:clamp(1.85rem,3.45vw,3.7rem);
}
.contact-details{
  border-top:0;
  padding-top:0;
}
.office-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:24px;
}
.office-card{
  position:relative;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(160deg,rgba(255,255,255,.085),rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 55px rgba(0,0,0,.18);
  overflow:hidden;
}
.office-card:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,#f05a24 0%,#e34b2c 34%,#bd3f82 68%,#7a4bd8 100%);
}
.office-topline{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
}
.office-topline span,
.office-topline strong{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:850;
}
.office-topline span{color:#fff;}
.office-topline strong{color:var(--muted);}
.office-card h3{
  margin:0 0 8px;
  font-size:1.25rem;
  letter-spacing:-.02em;
}
.office-card p{
  margin:0 0 14px;
  color:var(--muted);
  font-size:.92rem;
}
.office-meta{
  display:grid;
  gap:5px;
  color:#fff;
  font-size:.9rem;
}
.office-meta span{font-weight:850;}
.office-meta small{color:var(--muted);font-size:.78rem;line-height:1.35;}
.contact-email{
  margin-top:18px !important;
  font-size:1rem !important;
  font-weight:850;
}
.contact-email a{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:4px;
}
@media(max-width:1040px){
  .office-grid{grid-template-columns:1fr;}
}
@media(max-width:780px){
  .hero h1{font-size:clamp(2.65rem,12vw,4.5rem);}
  .section-head h2,.content-block h2{font-size:clamp(2rem,10vw,3.7rem);}
}

/* Energy Division Release039 REV.H - Projects as Engineering Stories
   Reuse the approved Energy gradient for project titles and keep project cards coherent. */
body[data-page="projects"] .project-card h3,
body[data-page="project-colombia"] .project-section h2,
body[data-page="project-poultry"] .project-section h2,
body[data-page="project-poultry"] [data-render="projectResults"] h2,
body[data-page="project-colombia"] [data-render="projectResults"] h2{
  background:linear-gradient(90deg,#f05a24 0%,#e34b2c 34%,#bd3f82 68%,#7a4bd8 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
  line-height:1.08;
  padding-bottom:.08em;
}
body[data-page="projects"] .project-card h3{
  display:inline-block;
}

/* Release040 - Problems → Projects
   Business goal: help qualified visitors recognise their challenge and move toward Engineering Stories/contact. */
.challenges-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.055));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.challenge-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.challenge-card{
  position:relative;
  min-height:245px;
  padding:22px;
  border-radius:24px;
  background:linear-gradient(160deg,rgba(255,255,255,.085),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 18px 55px rgba(0,0,0,.18);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.challenge-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,#f05a24 0%,#e34b2c 34%,#bd3f82 68%,#7a4bd8 100%);
}
.challenge-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(255,255,255,.075);
  border:1px solid var(--line);
  margin-bottom:18px;
  font-size:1.45rem;
}
.challenge-card h3{
  margin:0 0 12px;
  font-size:clamp(1.25rem,2.2vw,1.75rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.challenge-card p{
  margin:0;
  color:var(--muted);
  font-size:.98rem;
  line-height:1.55;
}
.challenge-link{
  margin-top:auto;
  padding-top:18px;
  font-weight:850;
  color:#fff;
  text-decoration:underline;
  text-underline-offset:5px;
}
@media(max-width:1040px){
  .challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:780px){
  .challenge-grid{grid-template-columns:1fr;}
  .challenge-card{min-height:auto;}
}

/* Release040 REV.B - approved challenge section and heading consistency
   Major section headings use the approved Energy Division gradient. */
.section-head h2,
.content-block h2,
body[data-page="home"] [data-render="challengesHead"] h2{
  background:linear-gradient(90deg,#f05a24 0%,#e34b2c 34%,#bd3f82 68%,#7a4bd8 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
  display:inline-block;
  line-height:1.04;
  padding-bottom:.08em;
}

.engineering-knowledge-note{max-width:1100px;margin:22px auto;padding:0 20px;color:#66727c;font-size:.86rem;text-align:center}
