:root{--blue:#3697cf;--blue-dark:#1778b4;--navy:#102c42;--ink:#202b34;--muted:#68747c;--pale:#f3f7f9;--line:#dce5e9;--white:#fff;--font-head:'Manrope',sans-serif;--font-body:'DM Sans',sans-serif;--wrap:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(var(--wrap),calc(100% - 64px));margin-inline:auto}.section-pad{padding:112px 0}.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:12px;z-index:10}.skip-link:focus{left:10px}.site-header{height:88px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(16,44,66,.08)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand img{display:block;width:225px;height:auto}.main-nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600;color:#47535c}.main-nav>a:not(.nav-cta){transition:color .2s}.main-nav>a:not(.nav-cta):hover{color:var(--blue-dark)}.nav-cta{background:var(--blue);color:#fff;padding:13px 18px;border-radius:3px}.nav-cta span,.button span{margin-left:12px}.menu-toggle{display:none}.hero{padding-top:66px;padding-bottom:28px;overflow:hidden;background:linear-gradient(118deg,#f7fafb 0%,#f7fafb 56%,#edf5f9 56%,#edf5f9 100%)}.hero-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:52px;align-items:center;min-height:490px}.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--blue-dark);margin:0 0 23px}.eyebrow-dot{display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%;margin-right:10px;vertical-align:1px}.hero h1,.section-heading h2,.intro h2,.process h2,.coverage h2,.contact h2{font:700 clamp(40px,5.1vw,66px)/1.08 var(--font-head);letter-spacing:-.055em;margin:0;color:var(--navy)}h1 em,h2 em{font-style:normal;color:var(--blue-dark)}.hero-lead{max-width:470px;margin:24px 0 29px;color:#5f6d76;font-size:17px;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;padding:15px 20px;border-radius:3px;transition:transform .2s,background .2s}.button:hover,.nav-cta:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:#fff}.button-primary:hover,.nav-cta:hover{background:var(--blue-dark)}.text-link{font-size:13px;font-weight:700;color:var(--navy);border-bottom:1px solid #b8c7cf;padding-bottom:4px}.text-link span{margin-left:8px;color:var(--blue-dark)}.hero-proof{display:flex;gap:13px;align-items:center;margin-top:42px;color:#75818a;font-size:11px;line-height:1.45}.hero-proof p{margin:0}.hero-proof strong{color:#384852;font-weight:600}.proof-mark{width:31px;height:31px;border:1px solid #c5d9e4;border-radius:50%;display:grid;place-items:center;color:var(--blue-dark);font-size:14px}.hero-visual{height:465px;position:relative;background:linear-gradient(155deg,#d9eef8 0%,#ecf5f7 59%,#e4f0ee 59%,#e4f0ee 100%);overflow:hidden}.hero-visual:before{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(54,151,207,.18);border-radius:50%;left:50%;top:47%;transform:translate(-50%,-50%)}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,transparent 45%,rgba(255,255,255,.42) 45.2%,transparent 45.5%);pointer-events:none}.sun-orb{position:absolute;top:50px;right:97px;width:98px;height:98px;border-radius:50%;background:#fff9e8;box-shadow:0 0 0 19px rgba(255,249,232,.35),0 0 0 40px rgba(255,249,232,.18)}.sun-glow{position:absolute;inset:auto -50px -95px 8%;height:180px;background:#a8cbbb;transform:rotate(-12deg);border-radius:50%}.panel-scene{position:absolute;left:6%;right:5%;bottom:75px;height:230px;transform:skewY(-7deg)}.panel-roof{position:absolute;width:90%;height:170px;left:8%;top:12px;background:linear-gradient(150deg,#d5e4e8,#aec8d2);clip-path:polygon(0 0,100% 12%,86% 100%,0 77%);box-shadow:0 20px 30px rgba(16,44,66,.12)}.solar-panel{position:absolute;height:100px;width:250px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:3px;background:#121f30;padding:3px;transform:skewY(8deg) rotate(-1deg);box-shadow:0 15px 27px rgba(8,31,47,.2)}.solar-panel i{background:linear-gradient(140deg,#255a7b,#112b43);border:1px solid rgba(134,193,224,.28)}.panel-back{top:12px;left:25%;width:265px;height:115px}.panel-front{top:102px;left:5%;width:300px;height:115px}.roof-edge{position:absolute;bottom:-11px;left:3%;height:27px;width:94%;background:linear-gradient(90deg,#7495a4,#cadae0);transform:skewY(8deg);box-shadow:0 20px 25px rgba(16,44,66,.1)}.visual-label{position:absolute;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);padding:10px 14px;color:#7b8990;font-size:9px;line-height:1.5;letter-spacing:.04em;z-index:2}.visual-label strong{font-size:11px;color:var(--navy);letter-spacing:0}.label-top{right:22px;top:176px}.label-bottom{left:26px;bottom:27px}.label-icon{font-size:17px;color:var(--blue-dark)}.pulse{height:8px;width:8px;border-radius:50%;background:#56af85;box-shadow:0 0 0 4px #d8efe2}.visual-index{position:absolute;right:18px;bottom:20px;font:700 9px var(--font-head);letter-spacing:.12em;color:#7d929b;z-index:3}.visual-index span{color:var(--blue);margin:0 5px}.hero-bottom{display:flex;align-items:center;gap:16px;padding-top:25px;color:#829099;font-size:9px;letter-spacing:.14em;font-weight:700}.hero-line{height:1px;background:#cfdae0;flex:1}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1fr 2.2fr .5fr;gap:34px;align-items:start}.eyebrow-dark{color:#667780;padding-top:13px}.eyebrow-dash{display:inline-block;width:26px;height:1px;background:var(--blue);margin-left:12px;vertical-align:middle}.intro h2,.section-heading h2,.process h2,.coverage h2,.contact h2{font-size:clamp(36px,4vw,52px)}.intro-text{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:24px;color:#6d7a81;font-size:14px}.intro-text p{margin:0}.intro-stamp{border-left:1px solid var(--line);padding:13px 0 13px 22px;display:flex;align-items:center;gap:11px;color:#82919a;font-size:8px;line-height:1.4;letter-spacing:.12em}.stamp-symbol{width:33px;height:33px;border:1.5px solid var(--blue);border-radius:50%;display:grid;place-items:center;color:var(--blue-dark);font:700 19px var(--font-head)}.services{background:#f4f7f8}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:43px}.section-heading .eyebrow{margin-bottom:17px}.heading-note{max-width:355px;margin:0 0 5px;color:#748088;font-size:13px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{position:relative;min-height:320px;padding:25px 28px;background:#fff;overflow:hidden;border:1px solid #e9eff1}.service-featured{background:var(--navy);color:#fff}.service-top{display:flex;justify-content:space-between;align-items:center;font:600 11px var(--font-head);color:#96a8b2}.service-featured .service-top{color:#7aa8c0}.service-icon{width:39px;height:39px;display:grid;place-items:center;border:1px solid #d8e3e7;border-radius:50%;font-size:24px;color:var(--blue-dark)}.service-featured .service-icon{border-color:rgba(255,255,255,.2);color:#74c0eb}.service-card h3{font:700 25px/1.2 var(--font-head);letter-spacing:-.04em;position:relative;margin:31px 0 12px;z-index:1}.service-card p{position:relative;z-index:1;max-width:285px;font-size:13px;color:#7a858c;margin:0;line-height:1.65}.service-featured p{color:#c0d0d8}.card-link{position:absolute;left:28px;bottom:25px;z-index:2;font-size:11px;font-weight:700;border-bottom:1px solid #d5e0e4;padding-bottom:6px}.card-link span{margin-left:12px;color:var(--blue)}.service-featured .card-link{border-color:#496174;color:#fff}.card-watermark{position:absolute;right:4px;bottom:-48px;font:800 160px/.9 var(--font-head);color:rgba(54,151,207,.08)}.service-featured .card-watermark{color:rgba(255,255,255,.035)}.process{background:var(--blue);color:#fff}.process-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px}.process .eyebrow{color:#c8ebfb}.process h2{color:#fff}.process h2 em{color:#c4eaff}.process-intro>p:not(.eyebrow){color:#e0f2fa;font-size:14px;max-width:350px;margin:22px 0 28px}.button-light{background:#fff;color:var(--navy)}.button-light:hover{background:#e7f5fc}.steps{border-top:1px solid rgba(255,255,255,.32)}.step{display:grid;grid-template-columns:43px 1fr 20px;gap:20px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.32);align-items:start}.step-number{font:700 11px var(--font-head);color:#c7eafa;padding-top:4px}.step h3{font:700 17px var(--font-head);margin:0 0 4px;letter-spacing:-.02em}.step p{font-size:12px;color:#e0f2fa;margin:0}.step-arrow{color:#d3effc;font-size:15px}.portfolio{background:#fff}.portfolio-heading{margin-bottom:35px}.portfolio-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px}.project-card{border:1px solid var(--line);background:#fff}.project-art{height:230px;position:relative;overflow:hidden;background:#edf5f7}.art-caption{position:absolute;left:16px;bottom:14px;color:rgba(16,44,66,.55);font-size:8px;font-weight:700;letter-spacing:.14em}.art-home{background:linear-gradient(150deg,#cfe9f2 0%,#ecf5f4 65%,#b1c9b8 65%)}.art-sun{position:absolute;width:47px;height:47px;right:31px;top:28px;border-radius:50%;background:#fff7dd;box-shadow:0 0 0 11px #fff7dd55}.art-house{position:absolute;left:22%;bottom:10px;width:61%;height:128px}.house-roof{position:absolute;left:-7%;top:0;width:114%;height:73px;background:#527689;clip-path:polygon(0 100%,50% 0,100% 100%)}.house-body{position:absolute;left:9%;right:9%;top:48px;height:80px;background:#f8f5ed}.window{position:relative;display:inline-block;width:28px;height:30px;background:#b7dbea;margin:14px 0 0 12px}.door{position:absolute;right:18px;bottom:0;width:23px;height:46px;background:#8ea8ad}.art-panels{position:absolute;top:28px;left:24%;width:54%;height:33px;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;transform:skewY(-16deg)}.art-panels i{background:#1b4762;border:1px solid #75a5bd}.art-business{background:linear-gradient(165deg,#e0eff5 0%,#f2f6f3 75%,#d6e4df 75%)}.business-sun,.ground-sun{position:absolute;width:52px;height:52px;right:32px;top:26px;border-radius:50%;background:#fff5d7;box-shadow:0 0 0 12px #fff5d744}.business-building{position:absolute;left:15%;bottom:0;width:69%;height:118px;background:#d4e0e4;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:30px 14px 15px;clip-path:polygon(0 12%,100% 0,100% 100%,0 100%)}.business-building i{background:#a2c9da;border:3px solid #f2f5f3}.business-panels{position:absolute;left:18%;bottom:115px;width:64%;height:30px;transform:skewY(-11deg);background:repeating-linear-gradient(90deg,#1e516e 0 31px,#86acc0 32px 34px)}.art-ground{background:linear-gradient(170deg,#deeff5 0%,#f6f4e9 68%,#a9c3b1 68%)}.ground-horizon{position:absolute;bottom:25px;left:-7%;width:115%;height:76px;background:#7fa58d;clip-path:polygon(0 62%,22% 24%,50% 54%,74% 10%,100% 45%,100% 100%,0 100%)}.ground-array{position:absolute;bottom:63px;left:25%;width:54%;height:74px;display:flex;gap:6px;transform:skewY(-13deg)}.ground-array i{flex:1;background:repeating-linear-gradient(90deg,#123d57 0 25px,#6b9bb4 26px 28px);border:2px solid #183e54;box-shadow:4px 7px 0 #526f70}.project-info{padding:18px 19px 20px;position:relative}.project-info>span:first-child{font-size:8px;letter-spacing:.14em;color:var(--blue-dark);font-weight:700}.project-plus{position:absolute;right:18px;top:16px;font-size:20px;color:var(--blue)}.project-info h3{font:700 16px var(--font-head);margin:11px 0 2px;color:var(--navy)}.project-info p{font-size:11px;color:#89939a;margin:0}.portfolio-foot{display:flex;align-items:center;gap:20px;margin-top:26px;font-size:9px;letter-spacing:.1em;color:#8c979d;font-weight:700}.portfolio-foot-line{height:1px;background:var(--line);flex:1}.portfolio-foot a{letter-spacing:0;color:var(--navy);font-size:11px;text-transform:none}.portfolio-foot b{color:var(--blue);margin-left:8px}.coverage{background:var(--navy);color:#fff}.coverage-inner{display:grid;grid-template-columns:.65fr 1.6fr .55fr;gap:50px;align-items:center}.coverage .eyebrow{color:#81c6ea}.coverage h2{color:#fff}.coverage h2 em{color:#7ac4ec}.coverage-inner>div:nth-child(2)>p:not(.eyebrow){color:#b9cbd4;max-width:480px;font-size:14px;margin:22px 0 22px}.coverage-mark{display:flex;flex-direction:column;align-items:center;gap:11px;color:#80a0b0;font-size:8px;letter-spacing:.12em}.coverage-ring{width:130px;height:130px;border:1px solid #376074;border-radius:50%;display:grid;place-items:center;position:relative}.coverage-ring:before,.coverage-ring:after{content:"";position:absolute;background:#376074}.coverage-ring:before{width:1px;height:100%}.coverage-ring:after{height:1px;width:100%}.coverage-ring i{width:12px;height:12px;background:var(--blue);border:3px solid #afe2f9;border-radius:50%;z-index:1;box-shadow:0 0 0 9px #3697cf35}.text-link-light{color:#fff;border-color:#476272}.coverage-side{justify-self:end;border-left:1px solid #345366;padding:8px 0 8px 23px;font-size:9px;letter-spacing:.16em;line-height:2.6;color:#9cb2be}.coverage-side strong{color:#7ac4ec}.contact{background:#f2f6f8}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.contact h2{font-size:clamp(43px,5vw,62px)}.contact-copy>p:not(.eyebrow){max-width:420px;color:#6f7d84;font-size:14px;margin:21px 0 25px}.contact-actions{display:flex;align-items:center;gap:25px}.contact-panel{background:#fff;border:1px solid #e0e8eb;box-shadow:0 18px 50px #23465c0a}.panel-head,.panel-foot{display:flex;align-items:center;justify-content:space-between;padding:16px 19px;border-bottom:1px solid #e7edef;color:#74828a;font-size:8px;font-weight:700;letter-spacing:.13em}.panel-status{color:#84939a}.panel-status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#59ae82;margin-right:6px}.form-placeholder{padding:39px 35px 33px;text-align:center}.placeholder-icon{width:38px;height:38px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:#e8f5fb;color:var(--blue-dark);font-size:19px}.form-placeholder h3{font:700 23px var(--font-head);color:var(--navy);margin:0 0 8px}.form-placeholder p{max-width:350px;margin:0 auto 18px;color:#78868d;font-size:12px}.placeholder-link{font-size:11px;font-weight:700;color:var(--blue-dark);border-bottom:1px solid #c5dfe9;padding-bottom:5px}.placeholder-link span{margin-left:7px}.panel-foot{border-top:1px solid #e7edef;border-bottom:0}.panel-foot span:last-child{color:var(--navy);letter-spacing:.03em;font-size:10px}.site-footer{background:#0b2233;color:#fff}.footer-main{padding:48px 0 42px;display:grid;grid-template-columns:1.3fr .8fr 1fr .65fr;gap:35px;align-items:start}.footer-brand img{width:205px;background:#fff;padding:5px}.footer-tagline{margin:13px 0;color:#8da3af;font-size:12px}.footer-contact,.footer-nav{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#c3d0d6}.footer-contact>span,.footer-nav>span{font-size:8px;letter-spacing:.14em;color:#78c4ed;margin-bottom:8px}.footer-contact a:hover,.footer-nav a:hover,.footer-legal a:hover{color:#7ac4ec}.footer-legal{border-top:1px solid #294153;padding:17px 0 20px;display:flex;justify-content:space-between;align-items:center;gap:18px;color:#8299a5;font-size:8px}.footer-legal>div{display:flex;gap:18px}.footer-legal a{color:#a5b6be}
@media(max-width:950px){.wrap{width:min(100% - 44px,var(--wrap))}.main-nav{gap:18px}.main-nav>a{font-size:11px}.brand img{width:190px}.hero-grid{gap:30px}.hero-visual{height:410px}.intro-grid{grid-template-columns:.8fr 2fr}.intro-stamp{grid-column:2}.process-grid{gap:50px}.coverage-inner{gap:28px}.contact-grid{gap:45px}}
@media(max-width:720px){.section-pad{padding:76px 0}.wrap{width:calc(100% - 40px)}.site-header{height:72px}.brand img{width:184px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:22px;height:2px;background:var(--navy);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:71px;left:0;right:0;background:#fff;padding:15px 20px 23px;box-shadow:0 12px 20px #102c4217;align-items:stretch;flex-direction:column;gap:0}.main-nav.is-open{display:flex}.main-nav>a:not(.nav-cta){padding:12px 0;border-bottom:1px solid #edf1f2;font-size:13px}.nav-cta{margin-top:15px;text-align:center}.hero{padding-top:43px;padding-bottom:24px;background:linear-gradient(180deg,#f7fafb 0 55%,#edf5f9 55%)}.hero-grid{grid-template-columns:1fr;gap:33px}.hero h1{font-size:clamp(43px,12vw,62px)}.hero-lead{font-size:15px}.hero-visual{height:350px}.hero-proof{margin-top:29px}.hero-bottom{font-size:7px;gap:8px}.hero-bottom span:last-child{max-width:100px;text-align:right}.intro-grid{grid-template-columns:1fr;gap:18px}.intro .eyebrow{margin-bottom:6px}.intro h2,.section-heading h2,.process h2,.coverage h2{font-size:38px}.intro-text{grid-template-columns:1fr;gap:12px;font-size:13px}.intro-stamp{grid-column:1;margin-top:5px}.section-heading{display:block;margin-bottom:27px}.heading-note{margin-top:15px}.service-grid{grid-template-columns:1fr}.service-card{min-height:285px}.process-grid{grid-template-columns:1fr;gap:43px}.steps{margin-top:3px}.step{gap:12px}.step h3{font-size:15px}.portfolio-grid{grid-template-columns:1fr}.project-art{height:220px}.portfolio-foot{flex-wrap:wrap;gap:10px}.portfolio-foot-line{min-width:30px}.portfolio-foot>a{width:100%}.coverage-inner{grid-template-columns:1fr;gap:27px}.coverage-mark{flex-direction:row;justify-content:flex-start}.coverage-ring{height:90px;width:90px}.coverage h2{font-size:38px}.coverage-side{justify-self:start;border-left:0;border-top:1px solid #345366;padding:12px 0 0;line-height:2;word-spacing:14px}.contact-grid{grid-template-columns:1fr;gap:37px}.contact h2{font-size:48px}.contact-actions{gap:16px;flex-wrap:wrap}.form-placeholder{padding:32px 20px}.footer-main{grid-template-columns:1fr 1fr;gap:27px}.footer-brand{grid-column:1/-1}.footer-tagline{margin-top:-15px;grid-column:1/-1}.footer-legal{align-items:flex-start;flex-direction:column}.footer-legal>div{width:100%;justify-content:space-between}.footer-legal span:nth-child(2){line-height:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.main-nav a[aria-current="page"]:not(.nav-cta){color:var(--blue-dark)}.page-hero{position:relative;min-height:430px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(113deg,#f3f8fa 0%,#f3f8fa 66%,#e4f1f7 66%,#e4f1f7 100%)}.page-hero:after{content:"";position:absolute;width:360px;height:360px;border:1px solid #3697cf25;border-radius:50%;right:6%;top:50%;transform:translateY(-50%);box-shadow:0 0 0 42px #3697cf09,0 0 0 84px #3697cf06}.page-hero-inner{position:relative;z-index:1;padding-top:76px;padding-bottom:82px}.page-hero h1{font:700 clamp(44px,6vw,72px)/1.04 var(--font-head);letter-spacing:-.06em;color:var(--navy);margin:0 0 20px}.page-hero h1 em{font-style:normal;color:var(--blue-dark)}.page-hero-inner>p:not(.eyebrow){max-width:570px;color:#62727b;font-size:16px;margin:0 0 26px}.page-hero-index{position:absolute;right:max(32px,calc((100vw - var(--wrap))/2));bottom:24px;color:#7d929c;font:700 9px var(--font-head);letter-spacing:.14em;z-index:1}.page-hero-index span{color:var(--blue-dark);margin-left:12px}.page-content{background:#f4f7f8}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.detail-card{background:#fff;border:1px solid #e5ecef;padding:28px 27px 30px;min-height:300px}.detail-num{font-size:9px;color:var(--blue-dark);font-weight:700;letter-spacing:.12em}.detail-icon{margin-top:24px;width:42px;height:42px;border:1px solid #d8e7ed;border-radius:50%;display:grid;place-items:center;color:var(--blue);font-size:23px}.detail-card h3{font:700 22px/1.2 var(--font-head);letter-spacing:-.04em;color:var(--navy);margin:21px 0 10px}.detail-card p{font-size:13px;line-height:1.7;color:#738087;margin:0}.mini-cta{background:#f4f7f8;padding-top:72px;padding-bottom:72px}.mini-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #dbe5e9;padding-top:42px}.mini-cta .eyebrow{margin-bottom:13px}.mini-cta h2{font:700 clamp(32px,4vw,46px)/1.12 var(--font-head);letter-spacing:-.05em;color:var(--navy);margin:0}.mini-cta h2 em{font-style:normal;color:var(--blue-dark)}.company-story{background:#fff}.story-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px}.story-grid h2{font:700 clamp(36px,4vw,52px)/1.08 var(--font-head);letter-spacing:-.05em;color:var(--navy);margin:0 0 24px}.story-grid h2 em{color:var(--blue-dark);font-style:normal}.story-grid>div>p{max-width:690px;color:#6e7b82;font-size:15px;line-height:1.8}.story-grid .text-link{display:inline-block;margin-top:10px}.contact-details{display:grid;gap:17px;margin-top:35px;padding-top:24px;border-top:1px solid var(--line)}.contact-details>div{display:grid;grid-template-columns:105px 1fr;gap:10px;font-size:12px;color:#65747d}.contact-details>div>span:first-child{font-size:8px;font-weight:700;letter-spacing:.12em;color:var(--blue-dark)}.contact-details a{font-weight:600;color:var(--navy)}.privacy-placeholder{background:#fff;padding:54px 0 70px}.privacy-placeholder .eyebrow{margin-bottom:8px}.privacy-placeholder h2{font:700 27px var(--font-head);color:var(--navy);margin:0 0 8px}.privacy-placeholder p:last-child{max-width:670px;color:#77848b;font-size:13px;margin:0}@media(max-width:720px){.page-hero{min-height:390px;background:linear-gradient(180deg,#f3f8fa 0 76%,#e4f1f7 76%)}.page-hero:after{width:210px;height:210px;right:-95px;top:70%}.page-hero-inner{padding-top:58px;padding-bottom:80px}.page-hero h1{font-size:clamp(43px,11vw,59px)}.page-hero-inner>p:not(.eyebrow){font-size:14px;max-width:100%}.page-hero-index{right:20px;bottom:20px}.detail-grid{grid-template-columns:1fr}.detail-card{min-height:0;padding:24px}.detail-icon{margin-top:17px}.story-grid{grid-template-columns:1fr;gap:14px}.story-grid h2{font-size:38px}.mini-cta-inner{align-items:flex-start;flex-direction:column}.mini-cta{padding-top:55px;padding-bottom:55px}.contact-details>div{grid-template-columns:80px 1fr}}
.monitoring{background:#eef4f7}.monitoring-heading{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;align-items:start}.sogex-brand{display:flex;flex-direction:column;gap:13px;align-items:flex-start;padding-top:10px}.sogex-brand img{width:min(100%,310px);height:auto;object-fit:contain;background:#fff;padding:14px;border:1px solid #e3eaed}.sogex-brand span{font-size:8px;letter-spacing:.14em;font-weight:700;color:#72818a}.monitoring-heading h2{font:700 clamp(36px,4vw,52px)/1.08 var(--font-head);letter-spacing:-.05em;color:var(--navy);margin:0}.monitoring-heading h2 em{font-style:normal;color:var(--blue-dark)}.monitoring-lead{max-width:670px;margin:20px 0 0;color:#68777f;font-size:14px;line-height:1.75}.monitoring-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:45px}.monitoring-gallery figure{margin:0;background:#fff;border:1px solid #e0e8eb;padding:12px}.monitoring-gallery img{width:100%;height:370px;object-fit:contain;display:block;background:#f4f7fb}.monitoring-gallery figcaption{display:flex;flex-direction:column;gap:4px;padding:14px 5px 5px}.monitoring-gallery figcaption span{font-size:8px;letter-spacing:.13em;font-weight:700;color:var(--blue-dark)}.monitoring-gallery figcaption strong{font:700 14px var(--font-head);color:var(--navy)}.demo-note{font-size:10px;color:#859198;margin:13px 0 0}.monitoring+ .mini-cta{background:#fff}.monitoring + .mini-cta .mini-cta-inner{border-color:#e1e8eb}@media(max-width:720px){.monitoring-heading{grid-template-columns:1fr;gap:27px}.sogex-brand{padding:0}.sogex-brand img{width:min(100%,265px)}.monitoring-heading h2{font-size:38px}.monitoring-gallery{grid-template-columns:1fr;gap:15px;margin-top:30px}.monitoring-gallery img{height:350px}.demo-note{line-height:1.5}}
.project-placeholder{min-height:220px;background:linear-gradient(135deg,#eaf3f7,#dceaf0);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#6f8794;text-align:center;position:relative}.project-placeholder>span{font:700 11px var(--font-head);color:var(--blue-dark);letter-spacing:.1em}.project-placeholder strong{font:600 15px/1.5 var(--font-head);color:#47616e}.project-placeholder small{font-size:8px;letter-spacing:.15em;color:#80949d}.assistance-strip{background:#f4f7f8;padding:70px 0}.assistance-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #dbe5e9;padding-top:38px}.assistance-strip h2{font:700 clamp(30px,3.5vw,42px)/1.15 var(--font-head);color:var(--navy);letter-spacing:-.05em;margin:0}.assistance-strip h2 em{font-style:normal;color:var(--blue-dark)}.assistance-contact{background:#f2f6f8}.assistance-contact-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.assistance-contact h2{font:700 clamp(36px,4vw,52px)/1.08 var(--font-head);color:var(--navy);letter-spacing:-.05em;margin:0}.assistance-contact h2 em{color:var(--blue-dark);font-style:normal}.assistance-contact-inner>div:first-child>p:last-child{max-width:560px;color:#6d7c83;font-size:14px;margin:20px 0 0}.assistance-actions{display:flex;flex-direction:column;align-items:flex-start;gap:17px}.assistance-actions small{font-size:11px;color:#7c8a91;margin-top:-12px}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:720px){.project-placeholder{min-height:180px}.assistance-strip{padding:52px 0}.assistance-strip-inner{align-items:flex-start;flex-direction:column;padding-top:28px}.assistance-contact-inner{grid-template-columns:1fr;gap:35px}.assistance-contact h2{font-size:39px}.portfolio-grid{grid-template-columns:1fr}}
.hero-brand-mark{position:absolute;left:8%;right:8%;top:42%;transform:translateY(-50%);z-index:3;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);padding:24px 28px;text-align:center;box-shadow:0 14px 36px rgba(16,44,66,.08)}.hero-brand-mark img{display:block;width:min(100%,390px);height:auto;margin:0 auto 11px}.hero-brand-mark span{font-size:8px;letter-spacing:.16em;font-weight:700;color:#657882}.hero-tech-grid{position:absolute;left:11%;right:11%;bottom:55px;height:150px;transform:perspective(320px) rotateX(49deg) rotateZ(-7deg);background:repeating-linear-gradient(90deg,transparent 0 23%,rgba(30,72,100,.84) 23.5% 24%,transparent 24.5% 25%),repeating-linear-gradient(0deg,#27516b 0 31%,#d3e5ec 31.5% 32.5%,#1b405b 33% 65%,#d3e5ec 65.5% 66.5%,#214962 67%);box-shadow:0 23px 30px rgba(16,44,66,.15);opacity:.86}.hero-visual-chip{position:absolute;left:22px;bottom:22px;z-index:3;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.88);padding:8px 11px;color:#5b6d77;font:700 8px var(--font-head);letter-spacing:.12em}.hero-visual-chip i{width:6px;height:6px;border-radius:50%;background:#28a354}.hero-visual .visual-index{z-index:4}@media(max-width:720px){.hero-brand-mark{left:7%;right:7%;top:41%;padding:20px 16px}.hero-brand-mark img{width:min(100%,330px)}.hero-tech-grid{left:9%;right:9%;bottom:48px;height:125px}.hero-visual-chip{left:13px;bottom:14px}.hero-visual .visual-index{right:12px;bottom:15px}}
.detail-card{position:relative}.detail-link{display:inline-block;margin-top:14px;font-size:11px;font-weight:700;color:var(--blue-dark);border-bottom:1px solid #c5dfe9;padding-bottom:4px}.detail-link span{margin-left:7px}
.sogex-story{background:#f5f8f9}.sogex-story-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}.sogex-story-logo{padding:20px;background:#fff;border:1px solid #e2e9ec}.sogex-story-logo img{display:block;width:100%;height:auto}.sogex-story-logo span{display:block;margin-top:13px;font-size:8px;letter-spacing:.13em;font-weight:700;color:#71828b}.sogex-story h2{font:700 clamp(36px,4vw,52px)/1.08 var(--font-head);letter-spacing:-.05em;color:var(--navy);margin:0 0 20px}.sogex-story h2 em{font-style:normal;color:var(--blue-dark)}.sogex-story-grid>div:last-child>p:not(.eyebrow){max-width:690px;color:#6e7b82;font-size:14px;line-height:1.8}.sogex-story-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px}@media(max-width:720px){.sogex-story-grid{grid-template-columns:1fr;gap:30px}.sogex-story-logo{max-width:420px}.sogex-story-actions{align-items:flex-start;flex-direction:column;gap:18px}}
.footer-brand img{width:205px;height:auto;background:transparent;padding:0}.sogex-brand img{background:transparent;padding:0;border:0}.sogex-story-logo{background:transparent;border:0;padding:0}.hero-brand-mark{background:transparent;backdrop-filter:none;box-shadow:none;padding:18px}.motion-enabled .reveal{opacity:0;transform:translateY(18px);transition:opacity .62s cubic-bezier(.2,.65,.3,1),transform .62s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-enabled .reveal.is-visible{opacity:1;transform:translateY(0)}.site-header{transition:box-shadow .25s ease,background-color .25s ease}.site-header.is-scrolled{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 8px 26px rgba(16,44,66,.08)}.hero-tech-grid{animation:solar-drift 8s ease-in-out infinite alternate}.project-card{transition:transform .28s ease,box-shadow .28s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(16,44,66,.09)}.main-nav a:not(.nav-cta){transition:color .2s ease,transform .2s ease}.main-nav a:not(.nav-cta):hover{transform:translateY(-1px)}.button,.nav-cta{transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.button:hover,.nav-cta:hover{box-shadow:0 10px 22px rgba(17,86,125,.18)}:focus-visible{outline:3px solid #f3bd54;outline-offset:3px}@keyframes solar-drift{from{transform:perspective(320px) rotateX(49deg) rotateZ(-7deg) translateY(0)}to{transform:perspective(320px) rotateX(49deg) rotateZ(-7deg) translateY(-7px)}}@media(prefers-reduced-motion:reduce){.motion-enabled .reveal{opacity:1;transform:none;transition:none}.hero-tech-grid{animation:none}.project-card,.site-header,.button,.nav-cta,.main-nav a:not(.nav-cta){transition:none}.project-card:hover,.button:hover,.nav-cta:hover,.main-nav a:not(.nav-cta):hover{transform:none;box-shadow:none}}
.reviews{background:#fff}.reviews-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center}.reviews-copy h2,.faq-intro h2{font:700 clamp(39px,4.5vw,56px)/1.08 var(--font-head);letter-spacing:-.055em;color:var(--navy);margin:0}.reviews-copy h2 em,.faq-intro h2 em{font-style:normal;color:var(--blue-dark)}.reviews-copy>p:not(.eyebrow){max-width:440px;color:#6e7b82;font-size:14px;margin:19px 0 23px}.reviews-card{min-height:265px;position:relative;overflow:hidden;display:grid;grid-template-columns:50px 1fr;gap:19px;align-items:start;padding:38px;background:#f3f7f9;border:1px solid #e5ecef}.google-mark{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 3px 12px #102c4210;color:#4285f4;font:700 25px Arial,sans-serif}.google-mark span{background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 25% 47%,#fbbc05 47% 68%,#ea4335 68% 83%,#4285f4 83%);color:transparent;background-clip:text}.reviews-card>div:nth-child(2){position:relative;z-index:1}.reviews-card-label{font-size:8px;letter-spacing:.15em;font-weight:700;color:var(--blue-dark)}.reviews-card h3{font:700 24px/1.2 var(--font-head);color:var(--navy);letter-spacing:-.03em;margin:12px 0 8px}.reviews-card p{max-width:400px;color:#6d7b83;font-size:13px;line-height:1.7;margin:0 0 18px}.reviews-card a{display:inline-block;font-size:11px;font-weight:700;color:var(--blue-dark);border-bottom:1px solid #bbd8e4;padding-bottom:5px}.reviews-card a span{margin-left:8px}.reviews-card-orbit{position:absolute;width:240px;height:240px;border:1px solid #3697cf20;border-radius:50%;right:-79px;bottom:-143px;box-shadow:0 0 0 25px #3697cf08,0 0 0 50px #3697cf05;animation:orbit-breathe 5s ease-in-out infinite alternate}.faq{background:#f2f6f8}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:78px;align-items:start}.faq-intro{position:sticky;top:125px}.faq-intro>p:not(.eyebrow){max-width:300px;color:#6e7b82;font-size:14px;margin:18px 0}.faq-intro .text-link{display:inline-block}.faq-list{border-top:1px solid #d6e1e6}.faq-item{border-bottom:1px solid #d6e1e6;padding:0}.faq-item summary{cursor:pointer;list-style:none;position:relative;padding:21px 42px 21px 0;font:700 15px/1.45 var(--font-head);color:var(--navy)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:4px;top:19px;width:23px;height:23px;border:1px solid #bdcfd7;border-radius:50%;display:grid;place-items:center;color:var(--blue-dark);font:400 17px/1 var(--font-body);transition:transform .25s ease,background .25s ease,color .25s ease}.faq-item[open] summary:after{transform:rotate(45deg);background:var(--blue);color:#fff;border-color:var(--blue)}.faq-item p{max-width:700px;color:#6c7981;font-size:13px;line-height:1.75;margin:0;padding:0 36px 22px 0;animation:faq-open .3s ease both}.faq-item summary:hover{color:var(--blue-dark)}@keyframes faq-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes orbit-breathe{from{transform:scale(.94);opacity:.6}to{transform:scale(1.04);opacity:1}}@media(max-width:720px){.reviews-grid,.faq-grid{grid-template-columns:1fr;gap:32px}.reviews-card{grid-template-columns:39px 1fr;gap:14px;padding:25px 19px;min-height:0}.google-mark{height:39px;width:39px;font-size:22px}.reviews-card h3{font-size:21px}.faq-intro{position:static}.faq-item summary{font-size:14px;padding-top:19px;padding-bottom:19px}}
@media(prefers-reduced-motion:reduce){.reviews-card-orbit{animation:none}.faq-item p{animation:none}}
.aftercare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px}.aftercare-grid article{min-height:235px;padding:25px;background:#fff;border:1px solid #e3eaed;transition:transform .25s ease,box-shadow .25s ease}.aftercare-grid article:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(16,44,66,.07)}.aftercare-grid article>span{font:700 10px var(--font-head);letter-spacing:.12em;color:var(--blue-dark)}.aftercare-grid h3{font:700 20px/1.25 var(--font-head);letter-spacing:-.03em;color:var(--navy);margin:25px 0 10px}.aftercare-grid p{font-size:13px;line-height:1.7;color:#718087;margin:0}.assistance-strip-inner>div>p:last-child{max-width:650px;color:#718087;font-size:13px;margin:12px 0 0}@media(max-width:720px){.aftercare-grid{grid-template-columns:1fr}.aftercare-grid article{min-height:0}.aftercare-grid h3{margin-top:18px}}@media(prefers-reduced-motion:reduce){.aftercare-grid article,.aftercare-grid article:hover{transition:none;transform:none;box-shadow:none}}

/* Home hero: animated energy path from the PV array to the building and meter. */
.hero-brand-mark{left:auto;right:22px;top:18px;transform:none;width:142px;padding:0;text-align:center;z-index:5}
.hero-brand-mark img{display:block;width:100%;max-width:100%;height:auto;margin:0 auto 3px}
.hero-brand-mark span{display:block;font-size:6px;line-height:1.35;letter-spacing:.13em;color:#527080}
.hero-diagram{position:absolute;z-index:2;left:3%;top:66px;width:94%;height:calc(100% - 96px);overflow:visible}
.hero-diagram text{font-family:var(--font-head),sans-serif}
.diagram-sun{fill:#fff2c9;stroke:#f4bd56;stroke-width:2;filter:drop-shadow(0 0 13px #ffe497)}
.sun-ray{fill:none;stroke:#e5ad45;stroke-width:3;stroke-linecap:round}
.diagram-kicker,.diagram-foot{fill:#718893;font-size:9px;font-weight:700;letter-spacing:1.5px}
.diagram-label{fill:#18394d;font-size:11px;font-weight:800;letter-spacing:1px}
.diagram-panels{filter:drop-shadow(0 11px 12px #102c4228)}
.diagram-inverter>rect:first-child,.diagram-meter>rect:first-child{fill:#fff;stroke:#9ebac7;stroke-width:2;filter:drop-shadow(0 7px 9px #102c421c)}
.diagram-inverter .inverter-screen,.diagram-meter .meter-screen{fill:#e7f4f8;stroke:#b2ccd7;stroke-width:1.5}
.diagram-inverter path,.diagram-meter path{fill:none;stroke:#608292;stroke-width:2.5;stroke-linecap:round}
.diagram-inverter circle{fill:#39a778;filter:drop-shadow(0 0 4px #39a778)}
.diagram-house path:first-child{fill:#fdfefe;stroke:#91aebb;stroke-width:3;stroke-linejoin:round;filter:drop-shadow(0 8px 9px #102c4218)}
.diagram-house path:nth-child(2){fill:#e8f3f7;stroke:#91aebb;stroke-width:2.5;stroke-linejoin:round}
.diagram-house path:last-child{fill:none;stroke:#91aebb;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.energy-base,.energy-flow{fill:none;stroke-linecap:round;stroke-linejoin:round}
.energy-base{stroke:#a7c1cc;stroke-width:4}
.energy-flow{stroke:#32a2d5;stroke-width:4;stroke-dasharray:4 10;animation:energy-dash 1.2s linear infinite;filter:drop-shadow(0 0 4px #32a2d580)}
.flow-two{animation-duration:1.05s}.flow-three{animation-duration:1.35s}
.diagram-nodes circle{fill:#35a7d7;stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:energy-pulse 1.8s ease-out infinite}
.diagram-nodes circle:nth-child(2){animation-delay:.35s}.diagram-nodes circle:nth-child(3){animation-delay:.7s}
@keyframes energy-dash{to{stroke-dashoffset:-28}}
@keyframes energy-pulse{0%{transform:scale(.75);opacity:.75}70%,100%{transform:scale(1.65);opacity:0}}
@media(max-width:720px){.hero-brand-mark{right:13px;top:12px;width:112px;padding:0}.hero-brand-mark span{font-size:5px}.hero-diagram{left:2%;top:57px;width:96%;height:calc(100% - 104px)}.hero-visual-chip{z-index:4}.hero-visual .visual-index{z-index:4}}
@media(prefers-reduced-motion:reduce){.energy-flow{animation:none;stroke-dasharray:none}.diagram-nodes circle{animation:none;opacity:1}}

/* Premium treatment for the home energy illustration. */
.hero-visual{isolation:isolate;border:1px solid rgba(255,255,255,.72);border-radius:5px;background:radial-gradient(ellipse at 72% 17%,rgba(67,117,145,.34),transparent 37%),linear-gradient(145deg,#102b40 0%,#173b53 58%,#102b40 100%);box-shadow:0 26px 58px rgba(16,44,66,.16),inset 0 1px 0 rgba(255,255,255,.18)}
.hero-visual:before{width:560px;height:560px;border-color:rgba(173,213,231,.12);box-shadow:0 0 0 38px rgba(173,213,231,.035),0 0 0 78px rgba(173,213,231,.025)}
.hero-visual:after{background:linear-gradient(130deg,transparent 42%,rgba(255,255,255,.055) 42.2%,transparent 42.5%),linear-gradient(0deg,rgba(6,20,31,.22),transparent 37%)}
.hero-brand-mark{width:132px;right:19px;top:16px;padding:9px 11px;background:rgba(249,252,253,.94);border:1px solid rgba(255,255,255,.8);border-radius:4px;box-shadow:0 12px 28px rgba(5,19,29,.2);backdrop-filter:blur(10px)}
.hero-brand-mark img{width:100%;margin:0 auto 3px}
.hero-brand-mark span{color:#58717c;font-size:5px;letter-spacing:.16em}
.hero-diagram{filter:drop-shadow(0 8px 18px rgba(2,15,24,.14))}
.diagram-kicker,.diagram-foot{fill:#aac0cb}
.diagram-label{fill:#edf5f8;font-size:10px;letter-spacing:1.15px}
.diagram-sun{fill:#f8d992;stroke:#ffe9b2;filter:drop-shadow(0 0 18px rgba(255,211,121,.48))}
.sun-ray{stroke:#f5d18b}
.diagram-panels{filter:drop-shadow(0 12px 14px rgba(1,13,22,.38))}
.diagram-panels>path:first-child{fill:#102d42;stroke:#bedbe6}
.diagram-panels>path:nth-child(3){stroke:#c5e4ed;stroke-opacity:.8}
.diagram-inverter>rect:first-child,.diagram-meter>rect:first-child{fill:#f5f8f8;stroke:#c6dbe2}
.diagram-house path:first-child{fill:#f4f7f7;stroke:#d3e2e6}
.diagram-house path:nth-child(2){fill:#dcecf0;stroke:#acc6d0}
.diagram-house path:last-child{stroke:#d3e2e6}
.energy-base{stroke:#8caab9;stroke-opacity:.55}
.energy-flow{stroke:#71d6e7;stroke-width:4.4;filter:drop-shadow(0 0 6px rgba(113,214,231,.72))}
.diagram-nodes circle{fill:#f3c96f;stroke:#fff6df;stroke-width:2.5}
.hero-visual-chip{background:rgba(245,249,250,.94);border:1px solid rgba(255,255,255,.8);border-radius:3px;box-shadow:0 7px 18px rgba(3,18,29,.16);color:#395667}
.hero-visual-chip i{background:#5bb68e;box-shadow:0 0 0 3px rgba(91,182,142,.16)}
.hero-visual .visual-index{color:#c0d0d7}
.hero-visual .visual-index span{color:#f1c873}
@media(max-width:720px){.hero-brand-mark{width:108px;right:12px;top:11px;padding:7px 8px}.hero-brand-mark span{font-size:4px}.hero-visual{border-radius:3px}}
@media(prefers-reduced-motion:reduce){.hero-visual:before{animation:none}}

/* Refined details for the enlarged equipment illustrations. */
.diagram-inverter>rect:first-child,.diagram-meter>rect:first-child{filter:drop-shadow(0 12px 14px rgba(1,13,22,.2))}
.diagram-inverter .inverter-screen,.diagram-meter .meter-screen{fill:url(#screenGlass);}
.diagram-inverter .screen-wave{fill:none;stroke:#32a2d5;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(50,162,213,.35))}
.diagram-inverter>path:not(.screen-wave),.diagram-meter>path{stroke:#91aab4;stroke-width:2.3}
.diagram-inverter>circle{fill:#48b887;stroke:#e2fff0;stroke-width:1.5;filter:drop-shadow(0 0 5px rgba(72,184,135,.7))}
.diagram-house .house-body{fill:#f4f7f7;stroke:#d4e3e7;stroke-width:3;stroke-linejoin:round;filter:drop-shadow(0 11px 12px rgba(1,13,22,.22))}
.diagram-house .house-details{fill:#deedf1;stroke:#afc7d0;stroke-width:2.5;stroke-linejoin:round}
.diagram-house .house-roof{fill:none;stroke:#f4f8f8;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.diagram-house .house-window{fill:none;stroke:#89aab8;stroke-width:2;stroke-linecap:round}
.diagram-house .house-door{fill:#d0e2e8;stroke:#a5c0ca;stroke-width:2}
.diagram-meter .meter-light{fill:#56bd91;stroke:#e1fff0;stroke-width:2;filter:drop-shadow(0 0 5px rgba(86,189,145,.75))}

/* Slightly larger SOGEX signature and more breathing room between equipment. */
.hero-brand-mark{width:148px;padding:10px 12px}
.hero-brand-mark span{font-size:7px;letter-spacing:.145em}
.diagram-label{font-size:10.5px;letter-spacing:1.2px}
@media(max-width:720px){.hero-brand-mark{width:120px;padding:8px 9px}.hero-brand-mark span{font-size:5px}}

/* New glass-panel treatment keeps the energy flow prominent and the devices distinct. */
.device-halo{fill:url(#haloGlass);stroke:rgba(187,224,237,.2);stroke-width:1;stroke-dasharray:2 6;animation:halo-breathe 4.4s ease-in-out infinite alternate}
.house-halo{animation-delay:.5s}.meter-halo{animation-delay:1s}
.diagram-inverter>rect:first-child,.diagram-meter>rect:first-child{fill:linear-gradient(145deg,#fff,#e7f1f4);stroke:#d2e4e9;stroke-width:2.5;filter:drop-shadow(0 14px 17px rgba(0,12,20,.35))}
.diagram-inverter>rect:first-child{fill:#edf4f5}
.diagram-inverter .inverter-screen,.diagram-meter .meter-screen{fill:url(#screenGlass);stroke:#bfd9e1;stroke-width:1.5}
.diagram-inverter .screen-wave{stroke:#2d9ec5;stroke-width:2.6}
.diagram-inverter>path:not(.screen-wave),.diagram-meter>path{stroke:#9ab2bc;stroke-width:2;stroke-linecap:round}
.diagram-inverter>circle,.diagram-meter .meter-light{fill:#52c59a;stroke:#e6fff4;stroke-width:2;filter:drop-shadow(0 0 6px rgba(82,197,154,.75))}
.diagram-house .house-body{fill:#f4f8f9;stroke:#e3f1f4;stroke-width:3;filter:drop-shadow(0 14px 17px rgba(0,12,20,.3))}
.diagram-house .house-details{fill:#d8edf2;stroke:#a7cad4;stroke-width:2.5}
.diagram-house .house-roof{stroke:#f2fbfd;stroke-width:5}
.diagram-house .house-window{stroke:#70a8b7;stroke-width:2.2}
.diagram-house .house-door{fill:#c5e1e8;stroke:#91bac6;stroke-width:2}
@keyframes halo-breathe{from{opacity:.45;stroke-opacity:.55}to{opacity:1;stroke-opacity:1}}
@media(prefers-reduced-motion:reduce){.device-halo{animation:none;opacity:.8}}

/* Home visual redesign: a clear four-step energy journey. */
.hero-visual{background:radial-gradient(ellipse at 50% 0%,#fff 0%,transparent 52%),linear-gradient(150deg,#f7faf9 0%,#e8f1f1 100%);border:1px solid #dce8e8;border-radius:8px;box-shadow:0 24px 55px rgba(16,44,66,.1),inset 0 1px 0 #fff}
.hero-visual:before{width:560px;height:560px;border-color:rgba(54,151,207,.09);box-shadow:0 0 0 34px rgba(54,151,207,.025),0 0 0 75px rgba(54,151,207,.018)}
.hero-visual:after{background:linear-gradient(130deg,transparent 46%,rgba(255,255,255,.46) 46.2%,transparent 46.5%)}
.hero-diagram.journey-diagram{left:2%;top:65px;width:96%;height:calc(100% - 93px);filter:none}
.journey-overline{fill:#3283a9;font-size:9px;font-weight:800;letter-spacing:1.8px}
.journey-caption{fill:#71828a;font-size:11px;font-weight:500}
.journey-card>rect:first-child{fill:rgba(255,255,255,.91);stroke:#d8e5e7;stroke-width:1.2;filter:drop-shadow(0 12px 15px rgba(19,55,73,.075));transition:transform .35s ease,stroke .35s ease,filter .35s ease}
.journey-card{transform-box:fill-box;transform-origin:center;animation:journey-enter .7s cubic-bezier(.2,.7,.2,1) both}
.card-inverter{animation-delay:.09s}.card-home{animation-delay:.18s}.card-meter{animation-delay:.27s}
.journey-card:hover>rect:first-child{stroke:#7fb8cb;filter:drop-shadow(0 17px 20px rgba(19,55,73,.13))}
.card-number{fill:#eaf5f7;stroke:#d7eaee;stroke-width:1}.journey-number{fill:#317d9c;font-size:8px;font-weight:800;text-anchor:middle}
.journey-title{fill:#15364a;font-size:10px;font-weight:800;letter-spacing:.7px;text-anchor:middle}
.journey-subtitle{fill:#7a8b92;font-size:8px;font-weight:500;text-anchor:middle}
.solar-sun{fill:#f4ca73;filter:drop-shadow(0 0 7px #f6d991)}.solar-rays{fill:none;stroke:#e5ae4c;stroke-width:2;stroke-linecap:round}
.solar-roof{fill:none;stroke:#92aeb8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.solar-array{fill:url(#journeyPanel);stroke:#6aa9c1;stroke-width:1.4;stroke-linejoin:round}
.solar-grid{fill:none;stroke:#a6d3e1;stroke-opacity:.8;stroke-width:1}
.icon-inverter,.icon-meter{fill:#eef4f5;stroke:#b6cbd1;stroke-width:1.5;filter:drop-shadow(0 7px 8px rgba(20,55,73,.1))}
.icon-screen{fill:url(#journeyScreen);stroke:#cfe0e4;stroke-width:1}.icon-wave{fill:none;stroke:#2799bd;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-detail{fill:none;stroke:#afc2c8;stroke-width:1.8;stroke-linecap:round}.icon-status{fill:#4fbb91;stroke:#e2f8ed;stroke-width:1.5;filter:drop-shadow(0 0 4px rgba(79,187,145,.4))}
.icon-house{fill:#f6f9f8;stroke:#a9c1c8;stroke-width:2;stroke-linejoin:round;filter:drop-shadow(0 7px 7px rgba(20,55,73,.09))}.icon-house-roof{fill:none;stroke:#7d9fab;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.icon-house-window{fill:#d8edf2;stroke:#98bac4;stroke-width:1.5}.icon-house-door{fill:#c7e2e9;stroke:#98bac4;stroke-width:1.5}
.journey-track{fill:none;stroke:#adc6ce;stroke-width:2;stroke-linecap:round}
.journey-current{fill:none;stroke:#42b3ce;stroke-width:2.8;stroke-linecap:round;stroke-dasharray:4 7;animation:journey-flow 1.05s linear infinite;filter:drop-shadow(0 0 3px rgba(66,179,206,.35))}
.journey-beacon{fill:#41b6d1;stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 5px rgba(65,182,209,.45));animation:beacon-pulse 2s ease-out infinite}
.beacon-b{animation-delay:.5s}.beacon-c{animation-delay:1s}
.journey-foot-pill{fill:#fff;stroke:#dce8e9;stroke-width:1}.journey-live{fill:#56b58c;filter:drop-shadow(0 0 4px rgba(86,181,140,.6))}
.journey-foot,.journey-foot-note{fill:#71838b;font-size:8px;font-weight:700;letter-spacing:1px}.journey-foot-note{fill:#3782a0}
@keyframes journey-flow{to{stroke-dashoffset:-22}}
@keyframes beacon-pulse{0%{opacity:1;transform:scale(1)}70%,100%{opacity:.22;transform:scale(1.8)}}
@keyframes journey-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.hero-brand-mark{background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(16,44,66,.08);border-color:rgba(255,255,255,.95)}
.hero-visual-chip{background:rgba(255,255,255,.95);border-color:#dce8e9;box-shadow:0 6px 14px rgba(16,44,66,.08)}
.hero-visual .visual-index{color:#6f858e}.hero-visual .visual-index span{color:#328ab0}
@media(max-width:720px){.hero-diagram.journey-diagram{left:1%;top:60px;width:98%;height:calc(100% - 100px)}.journey-overline{font-size:10px}.journey-caption{font-size:12px}.journey-title{font-size:11px}.journey-subtitle{font-size:9px}.journey-foot,.journey-foot-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){.journey-card{animation:none}.journey-current,.journey-beacon{animation:none}.journey-card>rect:first-child{transition:none}}

/* Illustrated energy-monitor view, inspired by live system dashboards. */
.hero-visual{background:radial-gradient(ellipse at 45% 6%,#fff 0%,transparent 49%),linear-gradient(145deg,#f4f9f9 0%,#e3eef0 100%);border-color:#dce8e9}
.hero-visual:before{width:590px;height:590px;top:54%;border-color:rgba(48,126,157,.08);box-shadow:0 0 0 36px rgba(48,126,157,.025),0 0 0 76px rgba(48,126,157,.018)}
.hero-visual:after{background:linear-gradient(132deg,transparent 44%,rgba(255,255,255,.5) 44.2%,transparent 44.6%)}
.hero-diagram.monitor-diagram{left:1.5%;top:65px;width:97%;height:calc(100% - 91px);filter:none}
.monitor-overline{fill:#2a7798;font-size:9px;font-weight:800;letter-spacing:1.55px}
.monitor-caption{fill:#73848b;font-size:10px;font-weight:500}
.monitor-data>rect{fill:rgba(255,255,255,.94);stroke:#d9e6e8;stroke-width:1;filter:drop-shadow(0 7px 12px rgba(16,44,66,.08))}
.data-label{fill:#71848c;font-size:7px;font-weight:800;letter-spacing:.7px}
.data-value{fill:#1d3b4c;font:700 17px var(--font-head)}
.data-value tspan{fill:#6b8792;font:600 9px var(--font-body)}
.data-dot{stroke:#fff;stroke-width:1.5}.dot-solar{fill:#efb84d}.dot-load{fill:#3da5ce}.dot-battery{fill:#53b78a}.dot-grid{fill:#93a8b0}
.monitor-sun{fill:#f6ca70;filter:drop-shadow(0 0 9px rgba(247,204,113,.5))}.monitor-rays{fill:none;stroke:#e6b14f;stroke-width:2;stroke-linecap:round}
.house-shadow{fill:#cfdee1;opacity:.5}.house-wall{fill:#fcfdfc;stroke:#cadbdd;stroke-width:2}.house-side{fill:#e4edef;stroke:#c7d8dc;stroke-width:1.5}
.house-roof-back{fill:#dce8ea;stroke:#c6d8dc;stroke-width:1.5;stroke-linejoin:round}.house-roof-edge{fill:url(#monitorRoof);stroke:#b6cbd0;stroke-width:2;stroke-linejoin:round}
.roof-array{fill:url(#monitorPanel);stroke:#4a91ad;stroke-width:1.5;stroke-linejoin:round}.roof-grid{fill:none;stroke:#a9d7e4;stroke-opacity:.72;stroke-width:1.2}
.house-window-frame{fill:#9db8c0;stroke:#94adb5;stroke-width:1}.house-window-glass{fill:#cbe4e9;stroke:#f9ffff;stroke-width:1.5}.house-window-cross{fill:none;stroke:#f7ffff;stroke-width:1.7}
.house-door{fill:#d8e6e8;stroke:#becfd3;stroke-width:1.5}.door-knob{fill:#93aeb5}.house-garage{fill:#edf3f4;stroke:#bccfd3;stroke-width:1.5}.garage-lines{fill:none;stroke:#c2d2d5;stroke-width:1}.house-foundation{stroke:#aabfc4;stroke-width:3;stroke-linecap:round}
.monitor-inverter rect:first-child,.monitor-battery>rect:first-child{fill:url(#monitorBattery);stroke:#bdcfd3;stroke-width:1.7;filter:drop-shadow(0 5px 8px rgba(20,55,73,.12))}
.monitor-inverter .mini-screen{fill:#e4f3f5;stroke:#c6dce0;stroke-width:1}.monitor-inverter .mini-wave{fill:none;stroke:#3199b8;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.mini-led{fill:#50bb8c;filter:drop-shadow(0 0 3px rgba(80,187,140,.6))}
.battery-cap{fill:#d7e4e6;stroke:#adbec2;stroke-width:1}.battery-screen{fill:#c4dfe4}.battery-charge{fill:#52b98c}.battery-bolt{fill:#e5ad46;stroke:#fff0c2;stroke-width:.7;stroke-linejoin:round}
.monitor-track{fill:none;stroke:#9db8c0;stroke-opacity:.48;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.monitor-flow{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 8;animation:monitor-flow 1.1s linear infinite}
.flow-solar{stroke:#35a9d0;filter:drop-shadow(0 0 4px rgba(53,169,208,.38))}.flow-load{stroke:#48b4c8;animation-duration:1.3s}.flow-grid{stroke:#92aab2;animation-duration:1.5s}.flow-storage{stroke:#55b58c;animation-duration:1.25s}
.flow-node{stroke:#fff;stroke-width:2;animation:monitor-pulse 1.8s ease-out infinite}.node-solar{fill:#35a9d0}.node-load{fill:#48b4c8;animation-delay:.35s}.node-grid{fill:#92aab2;animation-delay:.7s}.node-storage{fill:#55b58c;animation-delay:1.05s}
.monitor-foot,.monitor-foot-note{fill:#778a91;font-size:7px;font-weight:800;letter-spacing:.9px}.monitor-foot-note{fill:#347d99}
@keyframes monitor-flow{to{stroke-dashoffset:-24}}
@keyframes monitor-pulse{0%{transform:scale(.8);opacity:.9}75%,100%{transform:scale(1.7);opacity:0}}
.hero-visual-chip{z-index:6}
@media(max-width:720px){.hero-diagram.monitor-diagram{left:.5%;top:59px;width:99%;height:calc(100% - 96px)}.monitor-overline{font-size:14px}.monitor-caption{font-size:13px}.data-label{font-size:10px}.data-value{font-size:21px}.data-value tspan{font-size:12px}.monitor-foot,.monitor-foot-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.monitor-flow,.flow-node{animation:none}.flow-node{opacity:1}}

/* Realizzazioni: gallery of completed residential, hospitality and industrial projects. */
.portfolio-full{background:#f4f7f8}
.portfolio-page-hero .page-hero-inner{max-width:var(--wrap)}
.portfolio-page-hero .button{margin-top:1px}
.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.project-card-full{min-width:0;overflow:hidden;border-color:#e2e9ec;box-shadow:0 8px 25px rgba(16,44,66,.025)}
.project-photo{position:relative;display:block;margin:0;overflow:hidden;background:#e8eff1;aspect-ratio:1.12;border-bottom:1px solid #e2e9ec}
.project-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(9,31,45,.46));pointer-events:none}
.project-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.65,.3,1)}
.project-card-full:hover .project-photo img{transform:scale(1.035)}
.project-photo-number,.project-photo-kind{position:absolute;z-index:1;color:#fff;font:700 9px var(--font-head);letter-spacing:.12em}
.project-photo-number{left:19px;bottom:16px;font-size:12px;letter-spacing:.04em}
.project-photo-kind{right:14px;top:14px;background:rgba(16,44,66,.82);padding:7px 9px;backdrop-filter:blur(8px);font-size:8px}
.project-info{padding:21px 22px 22px}
.project-info h3{font-size:17px;line-height:1.35;margin:0 0 9px}
.project-description{min-height:63px;color:#748088;font-size:12px;line-height:1.65;margin:0 0 18px!important}
.project-specs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e6edef;padding-top:13px;gap:12px}
.project-specs span{display:flex;flex-direction:column;gap:3px}
.project-specs small{color:#8b989e;font-size:8px;letter-spacing:.12em;font-weight:700}
.project-specs strong{color:#28485a;font:700 12px var(--font-head)}
.portfolio-full .portfolio-foot{margin-top:30px}
@media(max-width:960px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.project-gallery{grid-template-columns:1fr;gap:16px}.project-photo{aspect-ratio:1.18}.project-info{padding:19px}.project-description{min-height:0}.portfolio-full .portfolio-foot{align-items:flex-start;flex-wrap:wrap;gap:13px}.portfolio-full .portfolio-foot-line{min-width:30px}.portfolio-full .portfolio-foot a{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.project-photo img{transition:none}.project-card-full:hover .project-photo img{transform:none}}

/* Keep the SOGEX signature transparent over the scene. */
.hero-brand-mark{background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;padding:0;width:148px;right:18px;top:17px}
.hero-brand-mark img{width:100%;margin:0 auto 4px;filter:none}
.hero-brand-mark span{color:#55717c;font-size:7px;letter-spacing:.14em;text-shadow:0 1px 0 rgba(255,255,255,.65)}
@media(max-width:720px){.hero-brand-mark{width:116px;right:12px;top:11px;padding:0}.hero-brand-mark span{font-size:5px}}

/* The displayed surplus is routed from the inverter into the battery. */
.monitor-equation{fill:#48636e;font-size:8px;font-weight:700;letter-spacing:.25px}
.flow-storage{stroke:#47b980;stroke-width:3.4;stroke-dasharray:4 7;animation-duration:.9s;filter:drop-shadow(0 0 5px rgba(71,185,128,.55))}
.flow-grid{animation:none;stroke-dasharray:none;opacity:.55}
.node-grid{animation:none;opacity:.75}
.data-battery .data-value{fill:#278a63}
@media(max-width:720px){.monitor-equation{font-size:11px}}
@media(prefers-reduced-motion:reduce){.flow-storage{animation:none}}

/* CER information page */
.cer-page-hero{background:linear-gradient(115deg,#f5f8f9 0%,#f5f8f9 57%,#e8f1f4 57%,#e8f1f4 100%)}
.cer-intro{background:#fff}.cer-intro-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:52px;align-items:start}.cer-intro-grid>.eyebrow{padding-top:13px}.cer-intro h2,.cer-sogex h2,.cer-faq h2{font:700 clamp(36px,4vw,52px)/1.08 var(--font-head);letter-spacing:-.05em;color:var(--navy);margin:0 0 22px}.cer-intro h2 em,.cer-sogex h2 em,.cer-faq h2 em{font-style:normal;color:var(--blue-dark)}.cer-intro-grid>div>p:not(.eyebrow),.cer-sogex-grid>div:last-child>p:not(.eyebrow){max-width:800px;color:#697980;font-size:14px;line-height:1.85;margin:15px 0}
.cer-how{background:#f3f7f8}.cer-diagram-wrap{margin:0;overflow:hidden;background:linear-gradient(145deg,#fff,#f8fbfb);border:1px solid #e0e9ea;padding:12px 18px 18px;box-shadow:0 16px 40px rgba(16,44,66,.05)}.cer-diagram{display:block;width:100%;height:auto}.cer-diagram text{font-family:var(--font-body),sans-serif}.cer-area{fill:#f1f7f7;stroke:#d4e2e4;stroke-width:1.5;stroke-dasharray:5 7}.cer-area-label{fill:#7c9299;font-size:12px;font-weight:700;letter-spacing:1.2px}.cer-diagram-source>rect,.cer-diagram-home>rect{fill:#fff;stroke:#d8e5e6;stroke-width:1.3}.cer-node-kicker{fill:#778c93;font-size:10px;font-weight:800;letter-spacing:1px}.cer-sun{fill:#f1c363}.cer-sun-rays{fill:none;stroke:#e6b14f;stroke-width:2;stroke-linecap:round}.cer-roof{fill:none;stroke:#8eabb3;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.cer-panels{fill:url(#cer-solar-gradient);stroke:#5796ae;stroke-width:1.5}.cer-panel-lines{fill:none;stroke:#a9d9e6;stroke-width:1.2}.cer-house-wall{fill:#edf4f5;stroke:#cadbdd;stroke-width:1.5}.cer-door{fill:#d8e7e9;stroke:#bdcfd3;stroke-width:1.2}.cer-node-label{fill:#204459;font-size:11px;font-weight:800;letter-spacing:.8px;text-anchor:middle}.cer-grid-line{fill:none;stroke:#a4bcc3;stroke-width:4;stroke-linecap:round}.cer-grid-flow{fill:none;stroke:#39a8c7;stroke-width:3;stroke-dasharray:7 10;stroke-linecap:round;animation:cer-grid-run 1.15s linear infinite}.cer-flow-point{fill:#45b4d0;stroke:white;stroke-width:2;animation:cer-dot 1.8s ease-out infinite}.point-delay{animation-delay:.55s}.cer-pylon{fill:none;stroke:#8faab2;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.cer-network-label{fill:#54717d;font-size:11px;font-weight:800;letter-spacing:1px;text-anchor:middle}.cer-branch{fill:none;stroke:#91adb6;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.cer-home-icon{fill:#eef4f4;stroke:#a5bec5;stroke-width:1.8;stroke-linejoin:round}.cer-home-roof{fill:none;stroke:#7d9da7;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.cer-home-window{fill:#d3e8eb;stroke:#9ab8c0;stroke-width:1}.cer-home-text{fill:#345666;font-size:13px;font-weight:700}.cer-home-sub{fill:#748890;font-size:11px}.cer-shared-badge rect{fill:#e4f4ed;stroke:#cae6d9;stroke-width:1}.cer-shared-badge circle{fill:#53ae82}.cer-shared-badge text{fill:#327858;font-size:11px;font-weight:800;letter-spacing:.65px}.cer-diagram-foot{fill:#71858d;font-size:10px}.cer-diagram-wrap figcaption{border-top:1px solid #e5eded;padding:13px 8px 0;color:#78878d;font-size:11px;line-height:1.6}.cer-sharing-explainer{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.cer-sharing-explainer>div{padding:22px 23px;background:#fff;border:1px solid #e4ecee}.cer-sharing-explainer span,.cer-benefit-grid article>span{color:var(--blue-dark);font:700 9px var(--font-head);letter-spacing:.12em}.cer-sharing-explainer p{margin:11px 0 0;color:#708087;font-size:12px;line-height:1.75}
.cer-benefits{background:#fff}.cer-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.cer-benefit-grid article{min-height:250px;padding:24px 22px;background:#f5f8f9;border:1px solid #e5ecee;transition:transform .25s ease,box-shadow .25s ease}.cer-benefit-grid article:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(16,44,66,.08)}.cer-benefit-grid h3{font:700 20px/1.2 var(--font-head);letter-spacing:-.035em;color:var(--navy);margin:30px 0 12px}.cer-benefit-grid p{color:#718087;font-size:12px;line-height:1.75;margin:0}.cer-caveat{margin:20px 0 0;padding:17px 20px;border-left:3px solid #54aaca;background:#f4f8f9;color:#687b83;font-size:12px;line-height:1.7}
.cer-sogex{background:#102c42;color:#fff}.cer-sogex-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:center}.cer-sogex-brand{padding:20px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04)}.cer-sogex-brand img{display:block;width:100%;height:auto}.cer-sogex-brand span{display:block;margin-top:12px;color:#8eb9cb;font-size:8px;letter-spacing:.15em;font-weight:700}.cer-sogex h2{color:#fff}.cer-sogex .eyebrow{color:#75c6e6}.cer-sogex-grid>div:last-child>p:not(.eyebrow){color:#c0d0d8}.cer-sogex .button{margin-top:12px}
.cer-steps{background:#f3f7f8}.cer-step-list{border-top:1px solid #d8e3e6}.cer-step-list article{display:grid;grid-template-columns:60px 1fr;gap:24px;align-items:start;padding:24px 12px;border-bottom:1px solid #d8e3e6}.cer-step-list article>span{color:#3e9bc2;font:700 15px var(--font-head)}.cer-step-list h3{margin:0;color:var(--navy);font:700 18px var(--font-head)}.cer-step-list p{margin:6px 0 0;color:#748188;font-size:13px;line-height:1.7}
.cer-faq{background:#fff}.cer-faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}.cer-faq h2{position:sticky;top:120px}.cer-sources{padding:42px 0;background:#eaf1f3}.cer-sources .eyebrow{margin-bottom:8px}.cer-sources>div>p:not(.eyebrow){margin:0;color:#6c7e85;font-size:12px}.cer-sources>div>div{display:flex;flex-wrap:wrap;gap:10px 25px;margin-top:18px}.cer-sources a{font-size:11px;font-weight:700;color:#286f8e;border-bottom:1px solid #b7d1db;padding-bottom:4px}.cer-sources a span{margin-left:5px}
.cer-mobile-flow{display:none}
@media(max-width:950px){.cer-benefit-grid{grid-template-columns:repeat(2,1fr)}.cer-sogex-grid{gap:40px}}
@media(max-width:720px){.cer-intro-grid,.cer-sogex-grid,.cer-faq-grid{grid-template-columns:1fr;gap:25px}.cer-intro-grid>.eyebrow{padding-top:0;margin-bottom:0}.cer-diagram-wrap{padding:9px;overflow-x:auto}.cer-diagram{min-width:760px}.cer-sharing-explainer{grid-template-columns:1fr}.cer-sharing-explainer>div{padding:19px}.cer-benefit-grid{grid-template-columns:1fr}.cer-benefit-grid article{min-height:0;padding:22px}.cer-benefit-grid h3{margin:18px 0 10px}.cer-sogex-brand{max-width:400px}.cer-faq h2{position:static}.cer-step-list article{grid-template-columns:38px 1fr;gap:15px}.cer-sources>div>div{align-items:flex-start;flex-direction:column}.cer-page-hero{background:linear-gradient(150deg,#f5f8f9,#eaf2f4)}}
@media(prefers-reduced-motion:reduce){.cer-grid-flow,.cer-flow-point,.cer-benefit-grid article,.cer-benefit-grid article:hover{animation:none;transition:none;transform:none}}

/* Privacy notice */
.privacy-hero{min-height:360px}
.privacy-hero .page-hero-inner{padding-top:65px;padding-bottom:74px}
.privacy-hero h1{font-size:clamp(46px,6vw,68px)}
.privacy-updated{font-size:11px!important;letter-spacing:.04em;color:#7c8b92!important;margin-top:15px!important;margin-bottom:0!important}
.privacy-body{background:#f7f9fa;padding-top:70px;padding-bottom:90px}
.privacy-layout{display:grid;grid-template-columns:250px minmax(0,760px);gap:70px;align-items:start;justify-content:space-between}
.privacy-aside{position:sticky;top:118px;display:grid;gap:12px;padding:23px;background:#fff;border:1px solid #e4ecef;color:#66757d;font-size:12px;line-height:1.6}
.privacy-aside>span{font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--blue-dark)}
.privacy-aside strong{font:700 20px/1.2 var(--font-head);letter-spacing:-.03em;color:var(--navy)}
.privacy-aside p{margin:0}
.privacy-aside a{color:var(--blue-dark);font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.privacy-copy{min-width:0;background:#fff;border:1px solid #e4ecef;padding:clamp(24px,4vw,48px)}
.privacy-copy .privacy-lead{font:500 17px/1.7 var(--font-head);color:var(--navy);margin:0 0 35px}
.privacy-copy section{padding:25px 0;border-top:1px solid #e6edef}
.privacy-copy h2{font:700 22px/1.25 var(--font-head);letter-spacing:-.035em;color:var(--navy);margin:0 0 14px}
.privacy-copy h3{font:700 14px/1.35 var(--font-head);color:var(--blue-dark);margin:22px 0 8px}
.privacy-copy section h3:first-of-type{margin-top:0}
.privacy-copy p{font-size:13px;line-height:1.8;color:#65757d;margin:0 0 13px}
.privacy-copy p:last-child{margin-bottom:0}
.privacy-copy a{color:var(--blue-dark);text-underline-offset:3px;overflow-wrap:anywhere}
.privacy-callout{margin-top:12px;padding:22px 24px;border-left:3px solid var(--blue);background:#f2f7f9}
.privacy-callout strong{font:700 15px var(--font-head);color:var(--navy)}
.privacy-callout p{margin:7px 0 0}
.external-tool-notice{padding:14px 16px;margin:0;background:#f3f7f9;border-bottom:1px solid #e4ecef;color:#687982;font-size:11px;line-height:1.6}
.external-tool-notice a{font-weight:700;color:var(--blue-dark);text-underline-offset:3px}
@media(max-width:760px){.privacy-hero{min-height:330px}.privacy-layout{grid-template-columns:1fr;gap:20px}.privacy-aside{position:static;grid-template-columns:1fr 1fr;align-items:start}.privacy-aside>span,.privacy-aside strong{grid-column:1/-1}.privacy-copy{padding:25px 21px}.privacy-copy h2{font-size:20px}.privacy-copy .privacy-lead{font-size:15px}.privacy-body{padding-top:45px;padding-bottom:60px}}
@media(max-width:720px){.cer-diagram{display:none}.cer-mobile-flow{display:grid;gap:0;padding:14px}.cer-mobile-flow>div{display:grid;grid-template-columns:38px 1fr;gap:13px;align-items:center;padding:14px;background:#f6f9f9;border:1px solid #e1e9ea;border-radius:8px}.cer-mobile-flow>div>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e3f1f4;color:#287997;font:700 10px var(--font-head)}.cer-mobile-flow section strong{display:block;color:#24485b;font:700 13px var(--font-head)}.cer-mobile-flow section small{display:block;margin-top:3px;color:#718087;font-size:11px;line-height:1.5}.cer-mobile-flow>i{color:#47a2bd;font-style:normal;text-align:center;font-size:18px;line-height:1.6}}
.cer-requirement-note{display:grid;grid-template-columns:.5fr 1.5fr;gap:25px;align-items:start;margin-top:18px;padding:22px 24px;background:#e8f1f3;border-left:3px solid #54aaca}.cer-requirement-note strong{color:#21475a;font:700 14px/1.45 var(--font-head)}.cer-requirement-note span{color:#687b83;font-size:12px;line-height:1.75}
@media(max-width:720px){.cer-requirement-note{grid-template-columns:1fr;gap:8px;padding:19px}}

/* CER diagram: simulated one-hour energy balance with animated community flows. */
.cer-production-value{fill:#193e54;font:700 21px var(--font-head)}
.cer-production-value tspan{fill:#65818d;font:600 10px var(--font-body)}
.cer-production-sub{fill:#758a91;font-size:9px;font-weight:700;letter-spacing:.3px}
.cer-diagram-source>rect{stroke:#d1e3e6;filter:drop-shadow(0 9px 12px rgba(16,44,66,.11))}
.cer-grid-flow{stroke:#39afd0;stroke-width:4;stroke-dasharray:5 10;animation:cer-grid-run .85s linear infinite;filter:drop-shadow(0 0 5px rgba(57,175,208,.45))}
.cer-branch-flow{fill:none;stroke:#39afd0;stroke-width:3.5;stroke-dasharray:4 8;stroke-linecap:round;stroke-linejoin:round;animation:cer-grid-run .9s linear infinite;filter:drop-shadow(0 0 4px rgba(57,175,208,.4))}
.branch-bottom{animation-delay:.25s}.cer-flow-point{r:6}.cer-shared-badge rect{fill:#e5f5ed;stroke:#bee5d1;stroke-width:1.2;filter:drop-shadow(0 5px 10px rgba(43,127,84,.08))}.cer-shared-badge text{font-size:10px;letter-spacing:.4px}
@keyframes cer-grid-run{to{stroke-dashoffset:-30}}
@media(prefers-reduced-motion:reduce){.cer-grid-flow,.cer-branch-flow,.cer-flow-point{animation:none}}

/* Final CER diagram polish: separated production readout and visible moving exchange paths. */
.cer-production-badge rect{fill:#fff;stroke:#d5e5e7;stroke-width:1.2;filter:drop-shadow(0 4px 8px rgba(16,44,66,.07))}
.cer-production-badge circle{fill:#eeb84e;stroke:#fff;stroke-width:1.5}
.cer-production-badge text{fill:#365969;font-size:10px;font-weight:800;letter-spacing:.3px}
.cer-grid-flow{stroke:#32acd0;stroke-width:4.5;stroke-dasharray:4 8;animation:cer-grid-run .68s linear infinite;filter:drop-shadow(0 0 6px rgba(50,172,208,.6))}
.cer-branch-flow{stroke:#32acd0;stroke-width:4;stroke-dasharray:4 7;animation:cer-grid-run .76s linear infinite;filter:drop-shadow(0 0 5px rgba(50,172,208,.52))}
.branch-bottom{animation-delay:.22s}
.cer-flow-point{r:6;transform-box:fill-box;transform-origin:center;animation:cer-flow-pulse 1.65s ease-out infinite}
.point-delay{animation-delay:.5s}
@keyframes cer-flow-pulse{0%{transform:scale(.7);opacity:1}75%,100%{transform:scale(1.8);opacity:0}}
.cer-diagram-home .cer-home-text{fill:#244b5e;font-size:14px;font-weight:800}
.cer-diagram-home .cer-home-sub{fill:#758991;font-size:11px}
.cer-shared-badge text{font-size:10px;letter-spacing:.25px}
@media(prefers-reduced-motion:reduce){.cer-grid-flow,.cer-branch-flow,.cer-flow-point{animation:none}.cer-flow-point{opacity:1}}
.cer-cabin-wire{fill:none;stroke:#9bb7c0;stroke-width:2.5;stroke-linecap:round}.cer-substation rect{fill:#f8fbfb;stroke:#a9c2c8;stroke-width:1.6;filter:drop-shadow(0 4px 7px rgba(16,44,66,.1))}.cer-substation path{fill:none;stroke:#8baab3;stroke-width:2;stroke-linecap:round}.cer-substation circle{fill:#53b889;stroke:#eafff3;stroke-width:1.4;filter:drop-shadow(0 0 3px rgba(83,184,137,.5))}.cer-network-label{font-size:9px;letter-spacing:.7px}.cer-flow-arrow{fill:#36a9cb;filter:drop-shadow(0 0 3px rgba(54,169,203,.55))}.branch-beacon{animation-delay:.25s}.branch-delay{animation-delay:.8s}
