:root{--bg:#f3f5ef;--card:#fff;--ink:#10120f;--muted:#73786e;--line:rgba(16,18,15,.12);--acid:var(--accent);--glass:rgba(255,255,255,.62);--dark:#0b0d0b;--radius:34px;--mx:50vw;--my:50vh}html[data-theme=dark]{--bg:#0b0d0b;--card:#141714;--ink:#f3f6ef;--muted:#9ba297;--line:rgba(255,255,255,.12);--glass:rgba(18,21,18,.68)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,sans-serif;overflow-x:hidden;transition:.35s background,.35s color}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.cursor-glow{position:fixed;width:520px;height:520px;left:var(--mx);top:var(--my);transform:translate(-50%,-50%);background:radial-gradient(circle,color-mix(in srgb,var(--accent) 8%,transparent),transparent 66%);pointer-events:none;z-index:-1}.section{width:min(1380px,calc(100% - 112px));margin:auto;padding:120px 0}.site-header{height:92px;width:min(1450px,calc(100% - 96px));margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:30}.brand{display:flex;align-items:center;gap:12px;font-size:16px;letter-spacing:-.03em}.brand b{font-weight:800}.brand-mark{display:grid;grid-template-columns:repeat(3,5px);gap:2px;align-items:end;width:20px;height:20px}.brand-mark i{display:block;background:var(--ink);border-radius:3px}.brand-mark i:nth-child(1),.brand-mark i:nth-child(6){height:8px}.brand-mark i:nth-child(2),.brand-mark i:nth-child(5){height:14px}.brand-mark i:nth-child(3),.brand-mark i:nth-child(4){height:20px}.site-header nav{display:flex;gap:34px;font-size:13px}.site-header nav a{opacity:.7}.site-header nav a:hover{opacity:1}.pill,.liquid-btn{display:inline-flex;align-items:center;justify-content:center;gap:26px;border:1px solid var(--line);background:var(--ink);color:var(--bg);padding:14px 18px 14px 22px;border-radius:999px;font-weight:700;font-size:13px}.pill b,.liquid-btn b{width:30px;height:30px;border-radius:50%;background:var(--acid);color:#10120f;display:grid;place-items:center}.menu-btn{display:none;background:none;border:0}.theme-rail{position:fixed;left:16px;top:50%;transform:translateY(-50%);z-index:80;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(20px);border-radius:999px;width:34px;padding:8px 5px;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--ink);cursor:pointer}.theme-rail span{font-size:10px}.theme-rail i{width:20px;height:42px;background:var(--ink);border-radius:99px;padding:3px;display:flex;align-items:flex-start}.theme-rail b{width:14px;height:14px;background:var(--acid);border-radius:50%;transition:.3s}html[data-theme=dark] .theme-rail i{align-items:flex-end}.hero{min-height:calc(100vh - 92px);width:min(1450px,calc(100% - 96px));margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:60px;position:relative;padding:30px 0 90px}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,transparent,black 25%,transparent 90%);opacity:.28;z-index:-1}.micro{font:500 11px DM Mono,monospace;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.micro i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 18px var(--acid);margin-right:7px}.hero h1,.visual-head h2,.lab-intro h2,.project-statement h2,.contact h2{font-size:clamp(56px,6.2vw,102px);line-height:.91;letter-spacing:-.075em;margin:22px 0}.hero h1 em,.lab-intro h2 em,.contact h2 em{font-style:normal;color:var(--muted);font-weight:500}.hero-copy>p{font-size:18px;line-height:1.6;max-width:520px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:14px;margin-top:35px}.liquid-btn{background:var(--ink);padding:13px 14px 13px 22px}.round-link{width:58px;height:58px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.hero-art{height:min(74vh,760px);min-height:540px;display:grid;place-items:center}.liquid-frame{width:100%;height:100%;position:relative;overflow:hidden;border-radius:48% 52% 41% 59% / 58% 38% 62% 42%;animation:morph 12s ease-in-out infinite;box-shadow:0 40px 100px rgba(0,0,0,.15)}@keyframes morph{50%{border-radius:58% 42% 60% 40% / 40% 62% 38% 60%}}.liquid-frame>img{width:100%;height:100%;object-fit:cover}.sun-core{position:absolute;width:180px;height:180px;border-radius:50%;right:12%;top:14%;background:radial-gradient(circle,#fff 0 8%,var(--accent) 10%,color-mix(in srgb,var(--accent) 65%,transparent) 35%,transparent 70%);filter:blur(2px)}.float-card{position:absolute;background:rgba(245,248,240,.75);color:#111;border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(18px);border-radius:20px;padding:12px 15px;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700}.float-card svg{width:24px;height:24px;fill:none;stroke:#111;stroke-width:1.5}.fc1{left:7%;top:18%}.fc2{right:6%;bottom:22%}.fc3{left:11%;bottom:12%;display:grid;grid-template-columns:auto auto;gap:2px 7px}.fc3 small{grid-column:2;color:#666}.pulse{width:9px;height:9px;background:var(--acid);border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 25%,transparent)}.icon-story{display:flex;align-items:center;justify-content:center;gap:30px;padding-top:50px;padding-bottom:50px}.story-step{text-align:center;min-width:130px}.icon-disc{width:70px;height:70px;border-radius:24px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;margin:0 auto 12px;font-size:28px;box-shadow:0 14px 40px rgba(0,0,0,.05)}.story-step b,.story-step small{display:block}.story-step small{font-size:11px;color:var(--muted);margin-top:3px}.icon-story>i{font-style:normal;color:var(--muted)}.visual-head{text-align:center;margin-bottom:55px}.visual-head h2{font-size:clamp(50px,6vw,90px)}.visual-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.visual-card{height:520px;border-radius:var(--radius);overflow:hidden;position:relative}.visual-card:nth-child(2),.visual-card:nth-child(3){height:390px}.visual-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.visual-card:hover img{transform:scale(1.035)}.shade{position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.68))}.visual-label{position:absolute;left:24px;right:24px;bottom:22px;color:#fff;display:flex;align-items:center;gap:14px}.visual-label .visual-icon{width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.17);backdrop-filter:blur(15px);display:grid;place-items:center;font-size:22px}.visual-label h3{font-size:26px;margin:0}.visual-label p{margin:3px 0 0;font-size:12px;opacity:.72}.visual-label b{margin-left:auto;font-size:24px}.solar-lab{padding-top:150px}.lab-intro{text-align:center;max-width:920px;margin:0 auto 60px}.lab-intro p{color:var(--muted);font-size:17px}.calculator{border:1px solid var(--line);border-radius:42px;background:var(--card);overflow:hidden;box-shadow:0 50px 140px rgba(0,0,0,.08)}.calc-tabs{display:flex;border-bottom:1px solid var(--line);padding:10px;gap:8px}.calc-tabs button{border:0;background:transparent;color:var(--muted);padding:14px 22px;border-radius:99px;cursor:pointer;font-weight:700}.calc-tabs button.active{background:var(--ink);color:var(--bg)}.calc-body{display:grid;grid-template-columns:1.45fr .75fr}.calc-inputs,.commercial-inputs{padding:38px;border-right:1px solid var(--line)}.calc-title{display:flex;gap:15px;align-items:flex-start;margin-bottom:28px}.calc-title>span{font:500 10px DM Mono;background:var(--acid);color:#111;padding:6px 8px;border-radius:8px}.calc-title h3{margin:0;font-size:26px;letter-spacing:-.04em}.calc-title p{margin:5px 0;color:var(--muted);font-size:13px}.appliance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.appliance-card{border:1px solid var(--line);border-radius:22px;padding:15px;min-height:170px;background:var(--bg)}.appliance-top{display:flex;justify-content:space-between;align-items:center}.appliance-icon{font-size:24px}.backup-dot{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:9px;width:30px;height:30px;cursor:pointer;display:grid;place-items:center;padding:0}.backup-dot svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.backup-dot svg rect:last-child{fill:currentColor;stroke:none}.backup-dot.on{background:var(--acid);color:#111}.appliance-card>b{display:block;font-size:12px;margin-top:15px}.appliance-card small{font-size:9px;color:var(--muted)}.stepper{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.stepper button{width:30px;height:30px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}.stepper strong{font-size:18px}.add-custom{margin-top:10px;width:100%;padding:13px;border:1px dashed var(--line);background:transparent;color:var(--muted);border-radius:16px;cursor:pointer}.battery-question{margin-top:24px;border:1px solid var(--line);border-radius:24px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.battery-orb{width:50px;height:50px;border-radius:18px;background:var(--acid);color:#111;display:grid;place-items:center;font-size:20px}.battery-question h3{font-size:15px;margin:0}.battery-question p{font-size:10px;color:var(--muted);margin:4px 0}.segmented{display:flex;gap:4px;background:var(--bg);padding:4px;border-radius:14px}.segmented button{border:0;background:transparent;color:var(--muted);font-size:10px;padding:9px 10px;border-radius:10px;cursor:pointer}.segmented button.active{background:var(--ink);color:var(--bg)}.calc-results{padding:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 25%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 32%)}.result-orbit{width:220px;height:220px;position:relative;display:grid;place-items:center}.result-orbit svg{position:absolute;width:100%;height:100%;transform:rotate(-90deg)}.orbit-bg,.orbit-val{fill:none;stroke:var(--line);stroke-width:7}.orbit-val{stroke:var(--acid);stroke-linecap:round;stroke-dasharray:440;stroke-dashoffset:440;transition:.6s}.result-orbit>div{text-align:center}.result-orbit small,.result-orbit span{display:block;font:500 9px DM Mono;color:var(--muted)}.result-orbit strong{font-size:54px;letter-spacing:-.07em}.result-icons{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.result-icons>div{text-align:center;padding:14px 5px;border:1px solid var(--line);border-radius:16px}.result-icons span,.result-icons strong,.result-icons small{display:block}.result-icons span{font-size:18px}.result-icons strong{font-size:16px;margin:5px 0}.result-icons small{font-size:8px;color:var(--muted)}.energy-flow{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px 0}.energy-flow>div{text-align:center}.energy-flow span,.energy-flow small{display:block}.energy-flow span{font-size:18px}.energy-flow small{font-size:8px;color:var(--muted)}.energy-flow i{width:28px;height:1px;background:linear-gradient(90deg,var(--acid),var(--line));position:relative}.estimate-note{font-size:9px;color:var(--muted);margin-bottom:16px}.calc-results .liquid-btn{width:100%}.commercial-inputs{display:flex;flex-direction:column;gap:14px}.big-field,.slider-field{border:1px solid var(--line);border-radius:20px;padding:16px}.big-field>span,.slider-field>span{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:9px}.big-field div{display:flex;align-items:end}.big-field input{width:100%;border:0;background:transparent;color:var(--ink);outline:0;font-size:36px;font-weight:800;letter-spacing:-.05em}.big-field b{font-size:11px;color:var(--muted);padding-bottom:8px}.slider-field input{width:100%;accent-color:var(--accent)}.battery-question.compact{margin-top:0}.commercial-map{width:100%;height:140px;display:flex;align-items:center;justify-content:center;gap:20px}.cm-roof{transform:skewY(-8deg);font-size:20px;line-height:1;color:var(--accent)}.power-line{width:70px;height:2px;background:var(--line);overflow:hidden}.power-line i{display:block;width:30px;height:100%;background:var(--acid);animation:flow 1.5s linear infinite}@keyframes flow{from{transform:translateX(-30px)}to{transform:translateX(70px)}}.cm-factory{font-size:58px}.infograph{padding-top:80px}.energy-diagram{height:650px;position:relative;border:1px solid var(--line);border-radius:50px;background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 13%,transparent),transparent 25%),var(--card);overflow:hidden}.diagram-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:170px;height:170px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;align-content:center;box-shadow:0 0 0 25px color-mix(in srgb,var(--accent) 8%,transparent)}.diagram-core strong{font-size:55px;letter-spacing:-.08em}.diagram-core small{font:500 8px DM Mono}.node{position:absolute;width:130px;height:130px;border-radius:36px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(20px);display:grid;place-items:center;align-content:center;gap:8px;z-index:3}.node span{font-size:34px}.node b{font-size:11px}.node.sun{left:8%;top:14%}.node.load{right:8%;top:14%}.node.storage{left:14%;bottom:12%}.node.grid{right:14%;bottom:12%}.node.brain{left:50%;top:10%;transform:translateX(-50%)}.flow{position:absolute;height:1px;background:var(--line);transform-origin:left}.f1{left:18%;top:29%;width:29%;transform:rotate(20deg)}.f2{left:58%;top:29%;width:25%;transform:rotate(-20deg)}.f3{left:24%;top:69%;width:26%;transform:rotate(-25deg)}.f4{left:58%;top:61%;width:26%;transform:rotate(25deg)}.flow:after{content:'';display:block;width:45px;height:2px;background:var(--acid);animation:flow2 2s linear infinite}@keyframes flow2{from{transform:translateX(0)}to{transform:translateX(280px)}}.photo-ribbon{display:grid;grid-template-columns:.8fr .7fr 1fr;gap:14px;align-items:stretch}.photo-tall,.photo-stack>div{position:relative;overflow:hidden;border-radius:30px}.photo-tall{height:650px}.photo-stack{display:grid;gap:14px}.photo-stack>div{height:318px}.photo-ribbon img{width:100%;height:100%;object-fit:cover}.photo-ribbon span:not(.micro){position:absolute;left:15px;bottom:15px;background:rgba(255,255,255,.7);color:#111;backdrop-filter:blur(15px);padding:8px 10px;border-radius:99px;font:500 8px DM Mono}.project-statement{padding:45px;display:flex;flex-direction:column;justify-content:center}.project-statement h2{font-size:clamp(48px,5vw,82px)}.icon-pills{display:flex;flex-wrap:wrap;gap:7px}.icon-pills span{border:1px solid var(--line);padding:9px 12px;border-radius:99px;font-size:10px}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.contact-visual{text-align:center}.contact-sphere{width:320px;height:320px;border-radius:42% 58% 55% 45%/55% 45% 55% 45%;background:radial-gradient(circle at 35% 30%,var(--accent),var(--acid) 35%,#5b8500);display:grid;place-items:center;margin:auto;box-shadow:0 40px 100px rgba(121,174,14,.2);animation:morph 10s infinite}.contact-sphere span{font-size:70px;font-weight:800;color:#111;letter-spacing:-.1em}.contact-visual p{font-size:12px;color:var(--muted)}.contact h2{font-size:clamp(54px,6vw,94px)}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.contact input,.contact select{border:1px solid var(--line);background:var(--card);color:var(--ink);padding:17px;border-radius:15px;outline:0}.contact form .liquid-btn{grid-column:1/-1;border:0;cursor:pointer}footer{width:min(1450px,calc(100% - 96px));margin:auto;padding:35px 0 45px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.mobile-menu{display:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.reveal.in{opacity:1;transform:none}
@media(max-width:900px){.theme-rail{left:auto;right:8px}.site-header{height:76px;width:calc(100% - 34px)}.site-header nav,.site-header>.pill{display:none}.menu-btn{display:block;width:42px;height:42px}.menu-btn span{display:block;width:22px;height:1px;background:var(--ink);margin:6px auto}.mobile-menu{position:fixed;z-index:70;top:68px;left:12px;right:12px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.18)}.mobile-menu.open{display:grid}.mobile-menu a{font-size:22px;font-weight:700;padding:14px}.hero{width:calc(100% - 34px);min-height:auto;grid-template-columns:1fr;padding:55px 0 50px;gap:35px}.hero h1{font-size:clamp(52px,15vw,78px);line-height:.92}.hero-copy>p{font-size:17px;max-width:90%}.hero-art{height:68vh;min-height:480px}.section{width:calc(100% - 34px);padding:82px 0}.icon-story{display:grid;grid-template-columns:1fr 1fr;gap:12px}.icon-story>i{display:none}.story-step{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:20px 10px}.icon-disc{width:58px;height:58px}.visual-head{text-align:left}.visual-head h2,.lab-intro h2{font-size:clamp(48px,14vw,72px)}.visual-grid{grid-template-columns:1fr}.visual-card,.visual-card:nth-child(2),.visual-card:nth-child(3){height:58vh;min-height:400px}.visual-label h3{font-size:28px}.lab-intro{text-align:left}.lab-intro p{font-size:16px}.calculator{border-radius:28px}.calc-body{grid-template-columns:1fr}.calc-inputs,.commercial-inputs{padding:20px;border-right:0;border-bottom:1px solid var(--line)}.calc-title h3{font-size:24px}.calc-title p{font-size:13px}.appliance-grid{grid-template-columns:1fr 1fr}.appliance-card{min-height:175px}.appliance-card>b{font-size:13px}.appliance-card small{font-size:10px}.battery-question{grid-template-columns:auto 1fr}.segmented{grid-column:1/-1;overflow:auto}.segmented button{flex:1;min-width:62px;font-size:11px}.calc-results{padding:30px 20px}.result-icons small{font-size:9px}.estimate-note{font-size:10px;text-align:center}.energy-diagram{height:600px}.node{width:100px;height:100px;border-radius:28px}.node.sun{left:5%;top:12%}.node.load{right:5%;top:12%}.node.storage{left:7%;bottom:10%}.node.grid{right:7%;bottom:10%}.node.brain{top:5%}.diagram-core{width:145px;height:145px}.flow{display:none}.photo-ribbon{grid-template-columns:1fr}.photo-tall{height:62vh}.photo-stack{grid-template-columns:1fr 1fr}.photo-stack>div{height:260px}.project-statement{padding:45px 5px}.project-statement h2{font-size:clamp(50px,14vw,76px)}.contact{grid-template-columns:1fr;gap:35px}.contact-sphere{width:230px;height:230px}.contact h2{font-size:clamp(52px,14vw,76px)}.contact form{grid-template-columns:1fr}.contact form .liquid-btn{grid-column:auto}footer{width:calc(100% - 34px);gap:15px;flex-wrap:wrap}.cursor-glow{display:none}}
@media(max-width:480px){.hero{padding-top:38px}.hero h1{font-size:56px}.hero-copy>p{font-size:16px;line-height:1.5}.hero-art{height:58vh;min-height:430px}.liquid-frame{border-radius:38px;animation:none}.fc1{top:8%}.fc2{bottom:14%}.fc3{left:5%;bottom:4%}.section{padding:68px 0}.visual-card,.visual-card:nth-child(2),.visual-card:nth-child(3){height:440px}.appliance-grid{gap:7px}.appliance-card{padding:13px}.result-orbit{width:200px;height:200px}.result-orbit strong{font-size:48px}.energy-diagram{height:560px}.node.brain{display:none}.diagram-core{width:130px;height:130px}.photo-stack{grid-template-columns:1fr}.photo-stack>div{height:330px}.contact-sphere{width:210px;height:210px}.theme-rail{width:32px}.liquid-btn{font-size:12px}.calc-tabs button{flex:1}.big-field input{font-size:32px}}
/* V3 visual system */
.brand img{width:168px;max-height:46px;object-fit:contain;filter:brightness(0) invert(1)}[data-theme="light"] .brand img{filter:none}.hero-v3{min-height:100svh;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,9,7,.92) 0%,rgba(5,9,7,.68) 45%,rgba(5,9,7,.18) 100%),linear-gradient(0deg,rgba(5,9,7,.55),transparent 55%)}.hero-v3 .hero-copy{position:relative;z-index:2;color:#f4f6f0;max-width:780px}.hero-v3 .hero-copy p{max-width:650px;font-size:clamp(17px,1.5vw,23px);line-height:1.55;color:#d8ddd5}.hero-v3 h1{font-size:clamp(64px,8vw,132px);line-height:.86}.hero-v3 h1 em{color:var(--accent)}.growth-chip{margin-top:32px;padding:14px 18px;border:1px solid rgba(255,255,255,.18);border-radius:18px;backdrop-filter:blur(20px);display:inline-flex;gap:14px;align-items:center;background:rgba(255,255,255,.08)}.growth-chip span{opacity:.7}.liquid-glass{position:absolute;right:8%;bottom:14%;z-index:2;width:310px;height:310px;border:1px solid rgba(255,255,255,.28);background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.04));box-shadow:inset 0 1px rgba(255,255,255,.5),0 30px 80px #0008;backdrop-filter:blur(24px) saturate(1.4);border-radius:42% 58% 64% 36%/48% 42% 58% 52%;animation:morph 9s ease-in-out infinite}.glass-orb{position:absolute;inset:25%;border-radius:50%;background:var(--accent);color:#081008;display:grid;place-items:center;box-shadow:0 0 60px var(--accent)66}.glass-orb span{font-size:46px;font-weight:800}.glass-orb small{position:absolute;bottom:22px;font-size:8px}.glass-stat{position:absolute;bottom:-16px;left:-50px;padding:14px 18px;border-radius:20px;background:#f6f8f2;color:#0a0e0a;display:grid;grid-template-columns:auto auto;gap:2px 8px}.glass-stat small{grid-column:1/3}.process{padding-top:100px}.process .visual-head p,.pakistan .visual-head p,.smart-loop .visual-head p{max-width:760px;font-size:18px;color:var(--muted)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}.process-grid article{min-height:330px;padding:28px;border:1px solid var(--line);border-radius:30px;background:var(--card);transition:.45s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.process-grid article:hover{transform:translateY(-12px);box-shadow:0 30px 80px #0002;border-color:var(--accent)}.process-grid article:after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:var(--accent);filter:blur(60px);opacity:0;right:-60px;bottom:-60px;transition:.4s}.process-grid article:hover:after{opacity:.3}.process-icon{width:76px;height:76px;border-radius:24px;border:1px solid var(--line);display:grid;place-items:center;font-size:30px;margin-bottom:70px;transition:.5s}.process-grid article:hover .process-icon{transform:rotate(-8deg) scale(1.12);background:var(--accent);color:#081008}.process-grid b{display:block;font-size:20px}.process-grid p{line-height:1.6;color:var(--muted)}.process-grid em{font-style:normal;font-size:12px;font-family:var(--mono);opacity:.6}.visual-grid{grid-template-columns:repeat(2,1fr)!important}.visual-card{height:min(42vw,560px)!important;min-height:390px;overflow:hidden}.visual-card img{transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .8s}.visual-card:hover img{transform:scale(1.075);filter:saturate(1.18) contrast(1.03)}.visual-card:hover .shade{background:linear-gradient(0deg,#061008d9 0%,transparent 70%)}.visual-hover{position:absolute;z-index:3;left:32px;right:32px;top:32px;max-width:430px;opacity:0;transform:translateY(18px);transition:.45s;color:white}.visual-card:hover .visual-hover{opacity:1;transform:none}.visual-hover p{font-size:18px;line-height:1.45}.visual-hover span{font-family:var(--mono);font-size:12px;color:var(--accent)}.system-config{display:grid;gap:10px;margin-top:20px}.config-card{display:grid;grid-template-columns:50px 1fr;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px}.config-card>span{grid-row:1/3;width:44px;height:44px;border-radius:14px;background:var(--accent);color:#071007;display:grid;place-items:center}.config-card label{display:grid;gap:8px;font-weight:700}.config-card select{background:var(--bg);color:var(--text);border:1px solid var(--line);padding:12px;border-radius:12px}.config-card small{color:var(--muted)}.roof-viz,.commercial-live{width:100%;min-height:170px;display:flex;align-items:flex-end;justify-content:center;gap:16px;position:relative;margin-bottom:16px}.roof-viz>small{position:absolute;top:0;font-family:var(--mono);font-size:9px;opacity:.5}.mini-house{width:230px}.mini-roof{height:85px;clip-path:polygon(50% 0,100% 60%,92% 100%,8% 100%,0 60%);background:#323b32;padding:30px 28px 8px;display:grid;grid-template-columns:repeat(8,1fr);gap:3px}.panel-dot,.factory-panel{background:var(--accent);border:1px solid var(--accent);min-height:9px}.mini-wall{height:50px;background:#e9ede3;display:flex;gap:20px;justify-content:center;padding-top:15px}.mini-wall i{width:26px;height:35px;background:#202820}.battery-stack{display:flex;flex-direction:column-reverse;gap:3px}.battery-unit{width:26px;height:18px;border:1px solid var(--accent);border-radius:3px;background:var(--accent)33}.commercial-loads{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.commercial-loads button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:18px;padding:16px;text-align:left;display:grid;grid-template-columns:42px 1fr;cursor:pointer}.commercial-loads button:hover{border-color:var(--accent);transform:translateY(-2px)}.commercial-loads b{grid-row:1/3;font-size:24px}.commercial-loads span{font-weight:700}.commercial-loads small{color:var(--muted)}.factory-roof{width:280px;height:90px;transform:skewX(-16deg);background:#303930;padding:10px;display:grid;grid-template-columns:repeat(10,1fr);gap:3px}.factory-body{position:absolute;bottom:0;width:280px;height:55px;background:#e9ede3;color:#101510;font-weight:800;display:grid;place-items:center}.smart-stage{min-height:720px;border:1px solid var(--line);border-radius:42px;background:radial-gradient(circle at 70% 50%,var(--accent)20,transparent 28%),var(--card);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:70px;position:relative}.smart-copy{display:grid;gap:20px}.smart-point{display:grid;grid-template-columns:68px 1fr;gap:16px;padding:20px;border:1px solid var(--line);border-radius:22px;transition:.3s}.smart-point:hover{transform:translateX(10px);border-color:var(--accent)}.smart-point>span{width:58px;height:58px;border-radius:18px;background:var(--accent);color:#071007;display:grid;place-items:center;font-size:25px}.smart-point b{font-size:18px}.smart-point p{margin:6px 0 0;color:var(--muted)}.phone{width:310px;height:620px;border:8px solid #171b17;border-radius:52px;background:#050805;padding:12px;margin:auto;box-shadow:0 35px 100px #0008,0 0 0 1px #ffffff20;transform:rotate(3deg)}.phone-screen{height:100%;border-radius:38px;background:linear-gradient(#111a12,#071008);padding:28px 18px;color:white;overflow:hidden}.app-top{display:flex;justify-content:space-between;align-items:center;font-size:10px}.app-top img{width:90px;filter:brightness(0) invert(1)}.app-ring{width:190px;height:190px;border-radius:50%;border:12px solid var(--accent);margin:52px auto 25px;display:grid;place-items:center;align-content:center;box-shadow:0 0 50px var(--accent)30}.app-ring b{font-size:54px}.app-ring span{font-size:11px;opacity:.6}.app-flow{display:flex;justify-content:space-between;font-size:11px}.app-flow i{height:1px;background:var(--accent);flex:1;margin:8px}.app-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:28px}.app-cards div{padding:16px;background:#ffffff0c;border:1px solid #ffffff16;border-radius:16px}.app-cards small,.app-cards b{display:block}.app-chart{height:90px;margin-top:20px;display:flex;align-items:end;gap:5px}.app-chart i{flex:1;background:var(--accent);border-radius:3px 3px 0 0}.app-chart i:nth-child(1){height:20%}.app-chart i:nth-child(2){height:38%}.app-chart i:nth-child(3){height:62%}.app-chart i:nth-child(4){height:88%}.app-chart i:nth-child(5){height:70%}.app-chart i:nth-child(6){height:52%}.app-chart i:nth-child(7){height:35%}.app-chart i:nth-child(8){height:18%}.screen-dots{position:absolute;right:30px;display:grid;gap:8px;font-family:var(--mono);font-size:10px}.screen-dots b{color:var(--accent)}.pakistan{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.pak-map{height:680px;position:relative}.pak-map svg{width:100%;height:100%;filter:drop-shadow(0 30px 60px #0002)}.pak-map path{fill:var(--card);stroke:var(--line);stroke-width:2}.pak-map button{position:absolute;left:var(--x);top:var(--y);border:0;background:var(--text);color:var(--bg);border-radius:14px;padding:10px 12px;text-align:left;transform:translate(-50%,-50%);cursor:pointer;box-shadow:0 12px 35px #0003;transition:.3s}.pak-map button:hover{transform:translate(-50%,-50%) scale(1.1);background:var(--accent);color:#071007;z-index:3}.pak-map button i{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:6px}.pak-map button:hover i{background:#071007}.pak-map button b,.pak-map button span{display:block}.pak-map button span{font-size:9px;opacity:.7}.smart-form{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}.smart-form textarea,.smart-form input,.smart-form select{min-height:54px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text);font:inherit}.smart-form textarea{grid-column:1/3;min-height:100px;resize:vertical}.smart-form button{grid-column:1/3}.easter{position:fixed;inset:0;background:radial-gradient(circle,var(--accent) 0%,#6ccf1d 35%,#071007 80%);z-index:9999;display:none;place-items:center;text-align:center;color:#071007}.easter.show{display:grid;animation:easterIn .6s}.easter img{width:min(70vw,600px);mix-blend-mode:multiply}.easter h2{font-size:clamp(50px,9vw,140px);margin:10px}.easter button{padding:12px 25px;border-radius:30px;border:0}@keyframes easterIn{from{clip-path:circle(0 at 50% 50%)}to{clip-path:circle(100% at 50% 50%)}}
@media(max-width:800px){.site-header .brand img{width:122px}.hero-v3{padding-top:110px;min-height:900px}.hero-v3 h1{font-size:clamp(54px,15vw,78px)}.hero-v3 .hero-copy p{font-size:18px}.liquid-glass{width:210px;height:210px;right:-25px;bottom:80px}.growth-chip{font-size:11px}.process-grid{grid-template-columns:1fr 1fr}.process-grid article{min-height:260px;padding:20px}.process-icon{margin-bottom:30px}.visual-grid{grid-template-columns:1fr!important}.visual-card{height:62vw!important;min-height:330px}.visual-hover{opacity:1;top:auto;bottom:100px;transform:none}.visual-hover p{font-size:15px}.calculator{border-radius:24px}.calc-body{grid-template-columns:1fr!important}.calc-results{position:relative!important;top:auto!important}.system-config{margin-bottom:20px}.smart-stage{grid-template-columns:1fr;padding:28px;gap:40px}.phone{width:280px;height:570px}.screen-dots{display:none}.pakistan{grid-template-columns:1fr;gap:20px}.pak-map{height:520px}.smart-form{grid-template-columns:1fr}.smart-form textarea,.smart-form button{grid-column:1}.commercial-loads{grid-template-columns:1fr 1fr}.section h2{font-size:clamp(42px,12vw,66px)!important}.section p{font-size:16px}.process-grid p{font-size:14px}}
@media(max-width:520px){.process-grid{grid-template-columns:1fr}.process-grid article{min-height:220px}.visual-card{height:105vw!important}.smart-stage{padding:18px}.smart-point{grid-template-columns:54px 1fr;padding:14px}.smart-point>span{width:48px;height:48px}.phone{width:255px;height:520px}.pak-map{height:450px}.pak-map button span{display:none}.commercial-loads{grid-template-columns:1fr}.hero-v3 .hero-copy p{font-size:17px}.hero-v3 h1{font-size:56px}}

/* V3.3 — clean searched imagery + cinematic Choose Your World hover */
.visual-card{isolation:isolate;background:#0b0f0b;cursor:pointer}
.visual-card>img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.001);will-change:transform,filter;transition:transform 1s cubic-bezier(.16,1,.3,1),filter .8s ease}
.visual-card .shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(3,8,4,.05) 25%,rgba(3,8,4,.25) 58%,rgba(3,8,4,.86) 100%);transition:background .65s ease,backdrop-filter .65s ease}
.visual-card:before{content:"";position:absolute;z-index:2;inset:-35%;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 28%);opacity:0;transform:translate(-20%,20%) scale(.55);transition:opacity .6s ease,transform 1s cubic-bezier(.16,1,.3,1);pointer-events:none}
.visual-card:hover>img{transform:scale(1.11);filter:saturate(.82) contrast(1.08) brightness(.55)}
.visual-card:hover .shade{background:linear-gradient(125deg,rgba(3,8,4,.84),rgba(3,8,4,.5) 56%,rgba(8,18,8,.78));backdrop-filter:blur(2px)}
.visual-card:hover:before{opacity:1;transform:translate(20%,-10%) scale(1)}
.visual-hover{z-index:4;inset:0!important;max-width:none!important;padding:42px!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;opacity:0!important;transform:translateY(30px) scale(.98)!important;transition:opacity .5s ease,transform .7s cubic-bezier(.16,1,.3,1)!important;color:#fff;pointer-events:none}
.visual-card:hover .visual-hover{opacity:1!important;transform:none!important}
.world-big-icon{width:104px;height:104px;border-radius:32px;display:grid;place-items:center;font-size:48px;color:#071007;background:color-mix(in srgb,var(--accent) 96%,transparent);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 30%,transparent),0 30px 80px rgba(0,0,0,.3);margin-bottom:28px;transform:rotate(-8deg) scale(.72);transition:transform .75s cubic-bezier(.16,1,.3,1),box-shadow .75s ease}
.visual-card:hover .world-big-icon{transform:rotate(3deg) scale(1);box-shadow:0 0 0 16px color-mix(in srgb,var(--accent) 8%,transparent),0 30px 90px color-mix(in srgb,var(--accent) 18%,transparent)}
.world-eyebrow{font:500 11px/1 var(--mono);letter-spacing:.18em;color:var(--accent);margin-bottom:13px}
.visual-hover h3{font-size:clamp(38px,4vw,70px);line-height:.95;margin:0 0 18px;letter-spacing:-.055em}
.visual-hover p{max-width:590px!important;font-size:clamp(16px,1.35vw,21px)!important;line-height:1.55!important;color:rgba(255,255,255,.82);margin:0 0 28px}
.world-explore{font:600 13px/1 var(--mono);display:flex;gap:12px;align-items:center;color:#fff!important}.world-explore b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#071007}
.visual-label{z-index:5;transition:opacity .35s ease,transform .5s cubic-bezier(.16,1,.3,1)}
.visual-card:hover .visual-label{opacity:0;transform:translateY(20px)}
@media(max-width:800px){.visual-hover{padding:26px!important;justify-content:flex-end;opacity:1!important;transform:none!important;background:linear-gradient(180deg,transparent 22%,rgba(3,8,4,.9) 100%)}.world-big-icon{width:68px;height:68px;border-radius:21px;font-size:30px;margin-bottom:18px;transform:none}.visual-hover h3{font-size:40px}.visual-hover p{font-size:16px!important;margin-bottom:18px}.visual-label{display:none}.visual-card>img{filter:brightness(.75)}.visual-card:hover>img{transform:scale(1.04)}}
/* V4 stability + interaction */
.calculator{overflow:visible}.calc-body{grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);align-items:stretch}.calc-inputs,.commercial-inputs,.calc-results{min-width:0}.calc-results{overflow:hidden;position:relative}.array-visual{width:100%;max-width:420px;padding:20px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,var(--bg),var(--card));margin-bottom:24px}.array-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:16px}.array-head span{font:500 9px 'DM Mono';opacity:.55}.array-head b{font-size:11px;text-align:right;max-width:190px}.clean-array{display:grid;grid-template-columns:repeat(8,minmax(12px,1fr));gap:5px;min-height:105px;align-content:center;perspective:700px}.clean-array i{aspect-ratio:1.7;border-radius:3px;background:linear-gradient(135deg,#1d3424,var(--accent));border:1px solid var(--accent);box-shadow:inset 0 0 0 1px #ffffff18;animation:panelIn .35s both}.clean-array i:nth-child(3n){animation-delay:.04s}.array-legend{display:flex;justify-content:space-between;margin-top:14px;font-size:10px;color:var(--muted)}.array-legend i{display:inline-block;width:9px;height:9px;background:var(--acid);border-radius:2px}.battery-stack.horizontal{flex-direction:row;margin-top:12px;min-height:20px}.commercial-array{max-width:480px}.commercial-array .clean-array{grid-template-columns:repeat(10,minmax(10px,1fr));min-height:130px}@keyframes panelIn{from{opacity:0;transform:translateY(10px) rotateX(30deg)}to{opacity:1;transform:none}}
.smart-point{cursor:pointer}.smart-point.active{border-color:var(--acid);background:linear-gradient(100deg,var(--accent)14,transparent);transform:translateX(10px)}.app-tabs button{border:0;background:transparent;color:var(--muted);padding:5px;cursor:pointer;text-align:left}.app-tabs button.active{color:var(--acid);font-weight:800}.phone-screen{transition:.35s}.phone-screen.screen-day{background:linear-gradient(#18200f,#0b1108)}.phone-screen.screen-battery{background:linear-gradient(#101b18,#07100e)}.phone-screen.screen-history{background:linear-gradient(#171417,#0b080b)}
.photo-ribbon img{background:#171a17}.project-statement p{max-width:500px;line-height:1.65;color:var(--muted);font-size:16px}.presence{padding-top:80px}.presence-orbit{height:620px;position:relative;border:1px solid var(--line);border-radius:44px;background:radial-gradient(circle at 50% 50%,var(--accent)18,transparent 24%),var(--card);overflow:hidden}.presence-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:220px;height:220px;border-radius:50%;background:var(--ink);display:grid;place-items:center;align-content:center;z-index:3;box-shadow:0 0 0 18px var(--accent)10,0 0 80px var(--accent)18}.presence-core img{width:145px;filter:brightness(0) invert(1)}.presence-core small{color:var(--bg);opacity:.55;font:500 9px 'DM Mono';margin-top:15px}.presence-orbit article{position:absolute;width:260px;padding:22px;border:1px solid var(--line);border-radius:24px;background:var(--glass);backdrop-filter:blur(18px);z-index:2;transition:.45s cubic-bezier(.2,.8,.2,1)}.presence-orbit article:nth-of-type(1){left:6%;top:10%}.presence-orbit article:nth-of-type(2){right:6%;top:10%}.presence-orbit article:nth-of-type(3){left:6%;bottom:10%}.presence-orbit article:nth-of-type(4){right:6%;bottom:10%}.presence-orbit article:hover{transform:scale(1.06) translateY(-8px);border-color:var(--acid);box-shadow:0 24px 70px #0003}.presence-orbit article>span{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--acid);color:#0a0d09;font-size:25px;margin-bottom:18px;transition:.45s}.presence-orbit article:hover>span{transform:rotate(-10deg) scale(1.12)}.presence-orbit article b{font-size:19px}.presence-orbit article p{color:var(--muted);line-height:1.5;font-size:13px}.presence-orbit svg{position:absolute;inset:0;width:100%;height:100%}.presence-orbit path{fill:none;stroke:var(--line);stroke-width:1.5;stroke-dasharray:7 9;animation:dash 15s linear infinite}@keyframes dash{to{stroke-dashoffset:-160}}
.mega-footer{width:min(1450px,calc(100% - 70px));margin:40px auto 20px;border-radius:42px;background:#080b08;color:#f5f7f1;padding:60px;overflow:hidden}.footer-top{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}.footer-brand{padding-right:30px}.footer-brand img{width:190px;filter:brightness(0) invert(1)}.footer-brand h2{font-size:clamp(38px,4vw,68px);line-height:.95;letter-spacing:-.06em;margin:40px 0}.wa-inline{display:inline-flex;gap:20px;align-items:center;background:var(--acid);color:#071007;padding:13px 18px;border-radius:99px;font-weight:800}.office-card{border:1px solid #ffffff18;border-radius:28px;padding:28px;transition:.35s}.office-card:hover{border-color:var(--acid);transform:translateY(-6px);background:#ffffff08}.office-card span,.footer-grid span{font:500 10px 'DM Mono';opacity:.5}.office-card h3{font-size:28px;margin:18px 0 10px}.office-card p,.office-card a{color:#aeb4aa;line-height:1.6}.office-card a:hover{color:var(--acid)}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid #ffffff18;margin-top:50px;padding-top:34px}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.footer-grid a{font-size:15px;color:#d9ddd5;transition:.25s}.footer-grid a:hover{color:var(--acid);transform:translateX(5px)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff18;margin-top:42px;padding-top:22px;font-size:11px;color:#858b81}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:100;display:flex;align-items:center;gap:9px;background:#25D366;color:#071007;border-radius:99px;padding:8px 14px 8px 8px;font-weight:800;box-shadow:0 18px 50px #0005;transition:.3s}.whatsapp-float b{width:38px;height:38px;border-radius:50%;background:#fff;display:grid;place-items:center}.whatsapp-float:hover{transform:translateY(-5px) scale(1.03)}
@media(max-width:1050px){.calc-body{grid-template-columns:1fr}.calc-inputs,.commercial-inputs{border-right:0;border-bottom:1px solid var(--line)}.calc-results{min-height:560px}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/3}.footer-grid{grid-template-columns:1fr 1fr}.presence-orbit{height:760px}.presence-orbit article{width:230px}}
@media(max-width:800px){.calculator{overflow:hidden}.calc-inputs,.commercial-inputs,.calc-results{padding:22px}.appliance-grid{grid-template-columns:1fr 1fr}.battery-question{grid-template-columns:1fr}.segmented{overflow-x:auto}.array-visual{max-width:100%}.presence-orbit{height:auto;padding:20px;display:grid;grid-template-columns:1fr;gap:12px}.presence-core{position:relative;left:auto;top:auto;transform:none;margin:10px auto 24px}.presence-orbit article{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%}.presence-orbit svg{display:none}.mega-footer{width:calc(100% - 24px);padding:28px;border-radius:28px}.footer-top{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{gap:20px;flex-direction:column}.whatsapp-float span{display:none}.whatsapp-float{padding:7px;right:14px;bottom:14px}.app-tabs{position:static!important;display:flex!important;justify-content:center;gap:8px;margin-top:12px}.app-tabs button{padding:8px 10px;border:1px solid var(--line);border-radius:99px}.smart-point.active{transform:none}}
@media(max-width:520px){.appliance-grid{grid-template-columns:1fr}.calc-title h3{font-size:22px}.footer-grid{grid-template-columns:1fr}.footer-brand h2{font-size:42px}}

/* ===== V5 stability + responsive polish ===== */
.calc-body[hidden]{display:none!important}
.calculator{overflow:hidden!important}
.calc-body{grid-template-columns:minmax(0,1fr) minmax(360px,420px)!important;align-items:stretch}
.calc-inputs,.commercial-inputs{padding:30px!important}
.calc-results{padding:28px!important;min-width:0;overflow:hidden!important}
.appliance-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.appliance-card{min-height:150px;padding:13px;border-radius:18px}.appliance-card>b{margin-top:10px}.stepper{margin-top:11px}
.system-config{grid-template-columns:1fr 1fr 1fr!important;gap:10px!important}.config-card{min-width:0!important;padding:14px!important}.config-card select{width:100%;min-width:0}
.commercial-loads{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.commercial-loads button{min-width:0!important;padding:14px 10px!important}
.big-field,.slider-field,.battery-question{max-width:100%}.array-visual{max-width:100%!important}.result-orbit{width:190px;height:190px}.result-icons{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.result-icons>div{min-width:0}

/* hero is intentionally a cinematic dark canvas in both themes */
.hero-v3{border-radius:34px;margin-bottom:34px;isolation:isolate;background:#080b08}
html[data-theme=light] .hero-v3{box-shadow:0 28px 80px rgba(16,18,15,.12)}
html[data-theme=light] .hero-overlay{background:linear-gradient(90deg,rgba(5,9,7,.88) 0%,rgba(5,9,7,.60) 48%,rgba(5,9,7,.22) 100%),linear-gradient(0deg,rgba(5,9,7,.52),transparent 58%)}
html[data-theme=light] .hero-grid{opacity:.10}

/* Correct two-tone logo: actual image src is synchronized in JS for reliable mobile Safari rendering. */
.brand img,.presence-core img,.footer-brand img,.app-top img{filter:none!important}
img.theme-logo{filter:none!important}
.presence-core{background:var(--card)!important;border:1px solid var(--line);box-shadow:0 0 0 18px color-mix(in srgb,var(--accent) 6%,transparent),0 0 80px color-mix(in srgb,var(--accent) 10%,transparent)}
.presence-core small{color:var(--muted)!important}

/* footer follows theme instead of forcing black */
.mega-footer{background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--line);box-shadow:0 30px 90px rgba(0,0,0,.08)}
.footer-brand img{filter:none!important}.office-card{border-color:var(--line)!important;background:color-mix(in srgb,var(--bg) 55%,transparent)}
.office-card p,.office-card a{color:var(--muted)!important}.office-card a:hover{color:var(--ink)!important}.footer-grid{border-color:var(--line)!important}.footer-grid a{color:var(--ink)!important}.footer-grid a:hover{color:var(--accent)!important}.footer-bottom{border-color:var(--line)!important;color:var(--muted)!important}
.footer-top{grid-template-columns:minmax(280px,1.15fr) minmax(220px,.8fr) minmax(220px,.8fr)!important}.footer-grid{grid-template-columns:1fr 1.25fr .9fr .9fr!important}.footer-grid a{overflow-wrap:anywhere}

@media(max-width:1180px){.calc-body{grid-template-columns:1fr!important}.calc-inputs,.commercial-inputs{border-right:0!important;border-bottom:1px solid var(--line)}.calc-results{min-height:auto!important}.array-visual{max-width:620px!important}.footer-top{grid-template-columns:1fr 1fr!important}.footer-brand{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:900px){.appliance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-config{grid-template-columns:1fr!important}.commercial-loads{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hero-v3{border-radius:24px}.footer-top,.footer-grid{grid-template-columns:1fr!important}.footer-brand{grid-column:auto}.mega-footer{padding:30px!important}}
@media(max-width:520px){.appliance-grid,.commercial-loads{grid-template-columns:1fr!important}.calc-inputs,.commercial-inputs,.calc-results{padding:18px!important}.result-icons{gap:6px}.result-icons>div{padding:12px 6px!important}.mega-footer{width:calc(100% - 18px)!important;padding:22px!important}.office-card{padding:20px!important}}

/* ===== V6 layout reset: calculator, readability, footer ===== */
.section{width:min(1560px,calc(100% - 48px))}
body{font-size:16px}.micro{font-size:12px}.site-header nav{font-size:14px}.visual-label p,.story-step small{font-size:13px}.process-grid p,.project-statement p,.presence-orbit article p{font-size:15px!important;line-height:1.65}.lab-intro p{font-size:19px}.calc-title p{font-size:15px;line-height:1.55}.appliance-card>b{font-size:14px}.appliance-card small{font-size:11px}.battery-question p,.big-field>span,.slider-field>span{font-size:12px}.estimate-note{font-size:11px}.result-icons small{font-size:10px}
.calculator{width:100%;overflow:hidden!important}.calc-body,.calc-body[style]{display:block!important}.calc-body[hidden],.calc-body[style*="display: none"]{display:none!important}.calc-inputs,.commercial-inputs{width:100%;border-right:0!important;border-bottom:1px solid var(--line);padding:34px!important}.calc-results{width:100%;padding:30px 34px!important;display:grid!important;grid-template-columns:minmax(300px,1.35fr) 210px minmax(300px,1fr);grid-template-areas:"array orbit stats" "array note action";align-items:center;gap:18px 28px;min-height:360px!important}.array-visual{grid-area:array;margin:0!important;max-width:none!important}.result-orbit{grid-area:orbit;margin:auto}.result-icons{grid-area:stats;margin:0!important}.estimate-note{grid-area:note;margin:0!important}.calc-results>.liquid-btn{grid-area:action;margin:0!important}.energy-flow{display:none!important}
.appliance-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.appliance-card{min-height:145px}.battery-question{grid-template-columns:58px minmax(190px,.7fr) minmax(360px,1.3fr)!important;gap:18px!important;padding:20px!important}.battery-question .system-config{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin-top:4px}.config-card{display:grid!important;grid-template-columns:48px 1fr;align-items:start;gap:10px;padding:16px!important}.config-card>span{grid-row:1/3}.config-card label{min-width:0}.config-card select{display:block;width:100%;margin-top:7px;min-height:38px}.config-card small{grid-column:2;font-size:12px;line-height:1.45}.segmented{justify-self:end;min-width:360px}.segmented button{font-size:12px;padding:10px 12px;white-space:nowrap}
.commercial-inputs{display:grid!important;grid-template-columns:1.1fr .9fr;gap:14px 18px!important}.commercial-inputs>.calc-title{grid-column:1/-1}.commercial-loads{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-column:1/-1}.commercial-inputs .battery-question{grid-column:1/-1;grid-template-columns:58px 1fr auto!important;margin:0}.commercial-inputs .big-field,.commercial-inputs .slider-field{min-height:112px}.big-field input{font-size:32px}
/* completely new footer geometry */
.mega-footer{width:min(1560px,calc(100% - 48px))!important;margin:48px auto 24px!important;padding:54px!important;border-radius:38px!important;background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--line)!important;overflow:hidden!important}.footer-main{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(560px,1.2fr);gap:56px;align-items:stretch}.footer-brand{padding:0!important}.footer-brand img{width:210px}.footer-brand h2{font-size:clamp(44px,4vw,70px);margin:38px 0 18px!important;max-width:650px}.footer-brand p{max-width:560px;color:var(--muted);font-size:16px;line-height:1.65;margin:0 0 28px}.footer-offices{display:grid;grid-template-columns:1fr 1fr;gap:16px}.office-card{display:flex;flex-direction:column;min-height:310px;padding:30px!important;background:var(--bg)!important}.office-card h3{font-size:32px!important}.office-card p{font-size:15px;line-height:1.6}.office-card>b{margin-top:auto;font-size:13px;color:var(--muted)}.footer-links{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:42px;border-top:1px solid var(--line);margin-top:44px;padding-top:32px}.footer-links>div{display:flex;flex-direction:column;gap:10px;min-width:0}.footer-links span{font:600 11px 'DM Mono';color:var(--muted);margin-bottom:4px}.footer-links a{font-size:16px;line-height:1.35;overflow-wrap:anywhere;transition:.25s}.footer-links a:hover{color:var(--accent);transform:translateX(5px)}.footer-bottom{display:grid!important;grid-template-columns:1fr 1fr auto;gap:20px;border-top:1px solid var(--line)!important;margin-top:34px!important;padding-top:22px!important;font-size:12px!important;color:var(--muted)!important}
@media(max-width:1100px){.calc-results{grid-template-columns:1fr 200px;grid-template-areas:"array orbit" "stats stats" "note action"}.footer-main{grid-template-columns:1fr}.footer-offices{grid-template-columns:1fr 1fr}.battery-question{grid-template-columns:58px 1fr!important}.battery-question>.segmented{grid-column:1/-1;justify-self:stretch;min-width:0}.commercial-inputs{grid-template-columns:1fr}.commercial-inputs>*{grid-column:1!important}}
@media(max-width:760px){.section{width:calc(100% - 28px)}.calc-inputs,.commercial-inputs,.calc-results{padding:20px!important}.calc-results{display:flex!important;flex-direction:column;align-items:stretch}.result-orbit{align-self:center}.appliance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.battery-question{display:grid!important;grid-template-columns:50px 1fr!important}.battery-question .system-config{grid-template-columns:1fr!important}.segmented{grid-column:1/-1!important;min-width:0;width:100%;overflow-x:auto}.segmented button{flex:1;min-width:64px}.footer-offices,.footer-links{grid-template-columns:1fr}.mega-footer{width:calc(100% - 20px)!important;padding:28px!important}.footer-bottom{grid-template-columns:1fr}.footer-brand h2{font-size:44px}.office-card{min-height:240px}.commercial-loads{grid-template-columns:1fr 1fr!important}}
@media(max-width:480px){.appliance-grid,.commercial-loads{grid-template-columns:1fr 1fr!important}.appliance-card{min-height:138px;padding:12px}.calc-tabs button{padding:12px}.footer-brand img{width:170px}}

/* V6.1 calculator visibility hotfix: class-state only, no hidden/inline display conflicts */
#solarCalculator .calc-body{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;}
#solarCalculator .calc-body.is-active{display:block!important;visibility:visible!important;height:auto!important;overflow:visible!important;}
#solarCalculator .calc-body.is-active .calc-inputs,#solarCalculator .calc-body.is-active .commercial-inputs,#solarCalculator .calc-body.is-active .calc-results{visibility:visible!important;opacity:1!important;}

/* ===== V7: collision-free engineering cards, installation stories, multi-row footer ===== */
.engineering-modes{padding-top:80px}.engineering-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.engineering-grid article{position:relative;min-height:330px;padding:30px;border:1px solid var(--line);border-radius:30px;background:var(--card);overflow:hidden;display:flex;flex-direction:column;transition:.55s cubic-bezier(.16,1,.3,1)}.engineering-grid article:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-120px;bottom:-140px;background:radial-gradient(circle,var(--acid),transparent 66%);opacity:.08;transition:.6s}.engineering-grid article:hover{transform:translateY(-10px);border-color:var(--acid);box-shadow:0 30px 80px rgba(0,0,0,.12)}.engineering-grid article:hover:before{opacity:.28;transform:scale(1.5)}.engineering-grid article>span{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;background:var(--acid);color:#091009;font-size:30px;transition:.55s}.engineering-grid article:hover>span{transform:rotate(-8deg) scale(1.12)}.engineering-grid h3{font-size:27px;letter-spacing:-.04em;margin:52px 0 12px}.engineering-grid p{font-size:16px;line-height:1.65;color:var(--muted);margin:0}.engineering-grid em{font-style:normal;font:500 11px 'DM Mono';color:var(--muted);margin-top:auto;padding-top:28px}.engineering-grid article:hover em{color:var(--ink)}
.project-showcase .visual-head{margin-bottom:34px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-card{position:relative;height:560px;border-radius:34px;overflow:hidden;background:#0b0d0b;color:#fff;isolation:isolate}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1),filter .7s}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(3,6,3,.82));z-index:1;transition:.6s}.project-card:hover img{transform:scale(1.1);filter:brightness(.52) saturate(.8)}.project-card:hover:after{background:linear-gradient(120deg,rgba(4,8,4,.9),rgba(4,8,4,.45))}.project-base{position:absolute;z-index:3;left:28px;right:28px;bottom:26px;display:grid;grid-template-columns:1fr auto;align-items:end;transition:.45s}.project-base span{grid-column:1/-1;font:500 10px 'DM Mono';letter-spacing:.15em;color:var(--acid)}.project-base h3{font-size:34px;margin:7px 0 0}.project-base b{font-size:28px}.project-card:hover .project-base{opacity:0;transform:translateY(20px)}.project-detail{position:absolute;z-index:4;inset:0;padding:42px;display:flex;flex-direction:column;opacity:0;transform:translateY(30px);transition:.55s cubic-bezier(.16,1,.3,1)}.project-card:hover .project-detail{opacity:1;transform:none}.project-detail>span{font:500 11px 'DM Mono';letter-spacing:.16em;color:var(--acid)}.project-detail h3{font-size:clamp(34px,4vw,58px);line-height:1;margin:14px 0 28px;max-width:560px}.project-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.project-detail dl div{border-top:1px solid rgba(255,255,255,.22);padding-top:12px}.project-detail dt{font:500 10px 'DM Mono';color:#aeb6aa}.project-detail dd{margin:6px 0 0;font-size:16px}.project-detail blockquote{font-size:20px;line-height:1.5;margin:auto 0 12px;max-width:620px}.project-detail small{color:#aeb6aa;font-size:11px}
/* Footer V7 deliberately uses rows, never a compressed one-line directory */
.footer-v7{width:min(1560px,calc(100% - 48px))!important;margin:56px auto 24px!important;padding:0!important;border-radius:38px!important;background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--line)!important;overflow:hidden!important}.footer-hero{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:50px;align-items:end;padding:54px;border-bottom:1px solid var(--line)}.footer-hero>img{width:200px;align-self:start}.footer-hero h2{font-size:clamp(46px,5vw,78px);line-height:.95;letter-spacing:-.065em;margin:12px 0 18px}.footer-hero p{font-size:17px;line-height:1.6;color:var(--muted);max-width:650px;margin:0}.footer-offices-v7{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.office-v7{padding:38px 54px;min-height:250px;display:flex;flex-direction:column;transition:.35s;background:var(--card)}.office-v7+ .office-v7{border-left:1px solid var(--line)}.office-v7:hover{background:var(--bg)}.office-v7>span,.footer-directory span{font:600 11px 'DM Mono';color:var(--muted)}.office-v7 h3{font-size:34px;margin:18px 0 14px}.office-v7 p{font-size:16px;line-height:1.6;color:var(--muted);margin:0}.office-v7 b{margin-top:auto;padding-top:24px;font-size:13px}.footer-directory{display:grid;grid-template-columns:1.2fr 1.4fr 1fr 1fr;gap:0;border-bottom:1px solid var(--line)}.footer-directory>div{padding:34px 54px;min-width:0}.footer-directory>div+div{border-left:1px solid var(--line)}.footer-directory a{display:block;font-size:17px;line-height:1.45;margin-top:11px;overflow-wrap:anywhere;transition:.25s}.footer-directory a:hover{color:var(--accent);transform:translateX(4px)}.footer-end{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;padding:22px 54px;color:var(--muted);font-size:12px}
@media(max-width:1100px){.engineering-grid{grid-template-columns:1fr 1fr}.footer-hero{grid-template-columns:1fr}.footer-hero .wa-inline{justify-self:start}.footer-offices-v7{grid-template-columns:1fr 1fr}.footer-directory{grid-template-columns:1fr 1fr}.footer-directory>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.footer-directory>div:nth-child(4){border-top:1px solid var(--line)}}
@media(max-width:760px){.project-grid,.engineering-grid,.footer-offices-v7,.footer-directory{grid-template-columns:1fr}.project-card{height:500px}.project-detail{padding:28px}.project-detail{opacity:1;transform:none;background:linear-gradient(180deg,transparent 10%,rgba(3,6,3,.9) 68%);justify-content:flex-end}.project-detail h3{font-size:34px}.project-detail blockquote{margin:26px 0 10px;font-size:17px}.project-base{display:none}.footer-v7{width:calc(100% - 20px)!important}.footer-hero,.office-v7,.footer-directory>div{padding:30px}.office-v7+.office-v7,.footer-directory>div+div{border-left:0;border-top:1px solid var(--line)}.footer-end{grid-template-columns:1fr;padding:24px 30px}.footer-hero>img{width:170px}}
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.about-story h2{font-size:clamp(42px,5vw,76px);line-height:1;letter-spacing:-.06em;margin:18px 0}.about-story p{font-size:19px;line-height:1.7;color:var(--muted);margin:0 0 22px}.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.journey-grid article{padding:28px;border:1px solid var(--line);border-radius:28px;min-height:300px;background:var(--card);transition:.4s}.journey-grid article:hover{transform:translateY(-8px);border-color:var(--acid)}.journey-grid b{font:600 12px 'DM Mono';color:var(--accent)}.journey-grid h3{font-size:30px;margin:80px 0 12px}.journey-grid p{font-size:16px;line-height:1.6;color:var(--muted)}.about-cta{border:1px solid var(--line);border-radius:40px;background:var(--card);padding:70px!important}.about-cta h2{font-size:clamp(48px,7vw,100px);line-height:.95;letter-spacing:-.07em;max-width:1100px;margin:18px 0 24px}.about-cta p{font-size:19px;line-height:1.65;color:var(--muted);max-width:800px;margin-bottom:30px}@media(max-width:800px){.about-story{grid-template-columns:1fr;gap:20px}.journey-grid{grid-template-columns:1fr 1fr}.about-cta{padding:34px!important}}@media(max-width:520px){.journey-grid{grid-template-columns:1fr}}
/* ===== V7.1 FOOTER HARD RESET ===== */
.footer-v7{width:min(1480px,calc(100% - 48px))!important;margin:56px auto 24px!important;padding:0!important;display:block!important;overflow:hidden!important}
.footer-v7 .footer-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"brand action" "copy action"!important;gap:18px 40px!important;align-items:center!important;padding:48px 52px!important}
.footer-v7 .footer-hero>img{grid-area:brand!important;width:210px!important;max-width:100%!important;align-self:auto!important}
.footer-v7 .footer-hero>div{grid-area:copy!important;min-width:0!important;max-width:760px!important}
.footer-v7 .footer-hero h2{font-size:clamp(42px,4.5vw,72px)!important;line-height:.96!important;margin:10px 0 16px!important}
.footer-v7 .footer-hero p{font-size:17px!important;line-height:1.55!important;max-width:700px!important}
.footer-v7 .footer-hero .wa-inline{grid-area:action!important;align-self:center!important;white-space:nowrap!important}
.footer-v7 .footer-offices-v7{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
.footer-v7 .office-v7{min-width:0!important;min-height:220px!important;padding:36px 52px!important}
.footer-v7 .office-v7 h3{font-size:32px!important;line-height:1.05!important}
.footer-v7 .footer-directory{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important}
.footer-v7 .footer-directory>div{min-width:0!important;padding:30px 34px!important}
.footer-v7 .footer-directory a{font-size:16px!important;line-height:1.4!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;white-space:normal!important}
.footer-v7 .footer-directory>div:nth-child(1) a,.footer-v7 .footer-directory>div:nth-child(2) a{overflow-wrap:anywhere!important}
.footer-v7 .footer-end{display:grid!important;grid-template-columns:1fr 1fr auto!important;padding:22px 52px!important;align-items:center!important}
@media(max-width:1050px){.footer-v7 .footer-hero{grid-template-columns:1fr!important;grid-template-areas:"brand" "copy" "action"!important}.footer-v7 .footer-directory{grid-template-columns:repeat(2,minmax(0,1fr))!important}.footer-v7 .footer-directory>div:nth-child(3){border-left:0!important;border-top:1px solid var(--line)!important}.footer-v7 .footer-directory>div:nth-child(4){border-top:1px solid var(--line)!important}.footer-v7 .footer-end{grid-template-columns:1fr 1fr!important}.footer-v7 .footer-end a{grid-column:1/-1!important}}
@media(max-width:700px){.footer-v7{width:calc(100% - 20px)!important;border-radius:28px!important}.footer-v7 .footer-hero,.footer-v7 .office-v7,.footer-v7 .footer-directory>div{padding:28px!important}.footer-v7 .footer-offices-v7,.footer-v7 .footer-directory{grid-template-columns:1fr!important}.footer-v7 .office-v7+.office-v7,.footer-v7 .footer-directory>div+div{border-left:0!important;border-top:1px solid var(--line)!important}.footer-v7 .footer-directory>div:nth-child(3),.footer-v7 .footer-directory>div:nth-child(4){border-top:1px solid var(--line)!important}.footer-v7 .footer-end{grid-template-columns:1fr!important;padding:22px 28px!important}.footer-v7 .footer-end a{grid-column:auto!important}.footer-v7 .footer-hero h2{font-size:44px!important}.footer-v7 .footer-hero .wa-inline{white-space:normal!important}}


/* ==========================================================================\n   V8 — RESPONSIVE SYSTEM RESET\n   Mobile-first repair layer. Keeps desktop identity while preventing overflow.\n   ========================================================================== */
html{overflow-x:hidden}body{min-width:0}.section,.site-header,.hero-v3,.mega-footer,.footer-v7{max-width:100%}img,svg,video{max-width:100%}input,select,textarea,button{max-width:100%}
/* calculator state is authoritative */
.calc-body{display:none!important}.calc-body.is-active:not([hidden]){display:grid!important}.calc-body[hidden]{display:none!important}
/* accent selector */
.accent-picker{position:fixed;left:14px;top:calc(50% + 104px);z-index:92}.accent-main{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(18px);display:grid;place-items:center;box-shadow:0 10px 30px #0002}.accent-main span{width:18px;height:18px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 4px color-mix(in srgb,var(--acid) 18%,transparent)}.accent-options{position:absolute;left:48px;top:50%;transform:translateY(-50%) scale(.92);display:flex;gap:7px;padding:8px;border:1px solid var(--line);border-radius:99px;background:var(--glass);backdrop-filter:blur(22px);opacity:0;pointer-events:none;transition:.25s;transform-origin:left center}.accent-picker.open .accent-options{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1)}.accent-options button{width:28px;height:28px;border-radius:50%;border:2px solid var(--card);background:var(--sw);box-shadow:0 0 0 1px var(--line);cursor:pointer}
/* easter: deliberately monochrome except brand logo */
.easter{position:fixed;inset:0;z-index:300;background:#0b0d0b;color:#f5f7f1;display:none;overflow:auto;padding:clamp(24px,6vw,80px)}.easter.show{display:grid;place-items:center}.easter-panel{width:min(1100px,100%);position:relative}.easter-panel .micro{color:#9ba297}.easter-panel h2{font-size:clamp(48px,8vw,112px);line-height:.9;letter-spacing:-.075em;margin:20px 0 28px}.easter-lead,.easter-panel>p{font-size:clamp(17px,2vw,22px);line-height:1.65;color:#b7bdb3;max-width:900px}.easter-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:42px 0}.easter-stats article{border:1px solid #ffffff22;border-radius:26px;padding:28px;min-height:190px}.easter-stats strong{display:block;font-size:clamp(40px,5vw,70px);letter-spacing:-.06em}.easter-stats span{color:#aeb4aa;line-height:1.5}.easter-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.easter-actions a,.easter-close{border:1px solid #ffffff28;color:#fff;background:#151815;border-radius:99px;padding:14px 20px}.easter-close{position:absolute;right:0;top:0;width:48px;height:48px;padding:0;font-size:25px;cursor:pointer}
/* More readable base */
body{font-size:17px}.micro{font-size:12px}.section p{line-height:1.65}.process-grid p,.engineering-grid p,.journey-grid p,.visual-hover p{font-size:16px!important}.appliance-card>b{font-size:14px}.appliance-card small,.estimate-note,.result-icons small{font-size:11px}.battery-question p,.config-card small,.big-field>span,.slider-field>span{font-size:13px!important;line-height:1.45}
/* V8 calculator desktop/tablet geometry */
.calculator{width:100%!important;overflow:hidden!important}.calc-body.is-active{grid-template-columns:minmax(0,1.45fr) minmax(340px,.7fr)!important}.calc-inputs,.commercial-inputs,.calc-results{min-width:0!important}.system-config{width:100%}.commercial-loads{grid-template-columns:repeat(4,minmax(0,1fr))!important}
/* Engineering is restored and always visible */
.engineering-modes{display:block!important}.engineering-grid{display:grid!important}
/* responsive footer safeguard */
.footer-v7 .footer-directory a{overflow-wrap:anywhere!important}

@media (max-width:1100px){
 .section{width:min(100% - 48px,1380px);padding:90px 0}.site-header{width:calc(100% - 48px)}
 .calc-body.is-active{grid-template-columns:1fr!important}.calc-inputs,.commercial-inputs{border-right:0!important;border-bottom:1px solid var(--line)}.calc-results{min-height:0!important}
 .commercial-loads{grid-template-columns:repeat(2,minmax(0,1fr))!important}.engineering-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:820px){
 :root{--radius:24px}.cursor-glow{display:none}.theme-rail{left:8px;width:30px}.accent-picker{left:7px;top:calc(50% + 92px)}.accent-main{width:32px;height:32px}.accent-options{left:38px;flex-direction:column;border-radius:22px}
 .section{width:calc(100% - 28px)!important;padding:68px 0!important}.site-header{height:72px;width:calc(100% - 28px)!important}.site-header .brand img{width:150px!important}.site-header nav,.site-header>.pill{display:none!important}.menu-btn{display:flex!important;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-btn span{display:block;width:18px;height:1.5px;background:var(--ink)}
 .mobile-menu{position:fixed;inset:72px 10px auto 10px;z-index:120;background:var(--glass);backdrop-filter:blur(28px);border:1px solid var(--line);border-radius:24px;padding:18px;display:none;flex-direction:column;gap:4px;box-shadow:0 30px 80px #0004}.mobile-menu.open{display:flex}.mobile-menu a{font-size:22px;font-weight:700;padding:13px 12px;border-radius:14px}.mobile-menu a:hover{background:var(--card)}
 .hero-v3{width:calc(100% - 20px)!important;min-height:calc(100svh - 82px)!important;margin:0 auto!important;border-radius:26px!important;padding:28px 20px!important;display:flex!important;align-items:flex-end!important}.hero-v3 .hero-copy{width:100%;padding-bottom:12px}.hero-v3 h1{font-size:clamp(54px,15vw,82px)!important;line-height:.86!important}.hero-v3 .hero-copy p{font-size:17px!important;max-width:92%}.hero-actions{flex-wrap:wrap}.growth-chip{max-width:100%;flex-wrap:wrap}.liquid-glass{display:none!important}
 .visual-head{text-align:left!important;margin-bottom:28px}.visual-head h2,.lab-intro h2{font-size:clamp(44px,12vw,68px)!important}.visual-grid{grid-template-columns:1fr!important}.visual-card,.visual-card:nth-child(n){height:min(118vw,560px)!important}.visual-hover{padding:24px!important}.visual-hover h3{font-size:42px!important}.visual-hover p{font-size:16px!important;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
 .process-grid{grid-template-columns:1fr 1fr!important;gap:10px}.process-grid article{min-height:250px!important;padding:20px!important}.process-grid p{font-size:15px!important}
 .lab-intro{text-align:left;margin-bottom:30px}.calculator{border-radius:28px!important}.calc-tabs{position:sticky;top:0;z-index:5;background:var(--card);padding:8px!important}.calc-tabs button{flex:1;padding:13px 10px!important;font-size:15px}.calc-body.is-active{display:flex!important;flex-direction:column!important}.calc-inputs,.commercial-inputs,.calc-results{padding:18px!important}.calc-title h3{font-size:24px!important}.appliance-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.appliance-card{min-height:145px!important;padding:13px!important}.battery-question{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:12px!important;padding:16px!important}.battery-question>.segmented{grid-column:1/-1!important;width:100%;overflow:auto;scrollbar-width:none}.segmented button{min-width:max-content!important;padding:10px 13px!important}.system-config{grid-column:1/-1!important;grid-template-columns:1fr!important;gap:8px!important}.config-card{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;align-items:start}.config-card small{grid-column:2}.config-card select{font-size:15px!important}.calc-results{gap:16px}.array-visual{max-width:100%!important}.result-icons{width:100%;grid-template-columns:repeat(3,1fr)!important}.result-icons>div{min-width:0}.energy-flow{width:100%}.commercial-loads{grid-template-columns:1fr 1fr!important}.big-field input{font-size:28px!important;min-width:0}.commercial-inputs .battery-question{grid-template-columns:48px minmax(0,1fr)!important}
 .smart-stage{grid-template-columns:1fr!important;padding:20px!important}.smart-points{order:2}.phone-wrap{order:1}.phone{width:min(290px,80vw)!important}.app-tabs{overflow-x:auto;justify-content:flex-start!important}.app-tabs button{white-space:nowrap}
 .project-grid,.engineering-grid{grid-template-columns:1fr!important}.project-card{height:520px!important}.project-detail{padding:24px!important}.project-detail h3{font-size:36px!important}.engineering-grid article{min-height:270px!important;padding:24px!important}.engineering-grid h3{margin-top:36px!important}
 .contact{grid-template-columns:1fr!important}.smart-form{grid-template-columns:1fr!important}.smart-form>*{grid-column:1!important}
 .footer-v7{width:calc(100% - 20px)!important;margin:28px auto 10px!important}.footer-v7 .footer-hero{padding:28px!important}.footer-v7 .footer-offices-v7,.footer-v7 .footer-directory{grid-template-columns:1fr!important}.footer-v7 .office-v7,.footer-v7 .footer-directory>div{padding:26px!important}.footer-v7 .footer-directory>div+div,.footer-v7 .office-v7+.office-v7{border-left:0!important;border-top:1px solid var(--line)!important}.footer-v7 .footer-end{grid-template-columns:1fr!important;padding:22px 26px!important}.footer-v7 .footer-hero h2{font-size:44px!important}.footer-v7 .footer-directory a{font-size:17px!important}.whatsapp-float{right:10px!important;bottom:10px!important}.whatsapp-float span{display:none!important}
 .easter-stats{grid-template-columns:1fr!important}.easter{padding:24px 18px}.easter-close{position:fixed;right:18px;top:18px}
 .about-hero{min-height:auto!important;padding-top:70px!important}.about-hero h1{font-size:clamp(58px,16vw,90px)!important}.beliefs,.journey-grid,.impact-grid{grid-template-columns:1fr!important}.about-photo{height:72svh!important;border-radius:26px!important}.about-photo div{inset:auto 14px 14px!important;padding:20px!important}.about-photo h2{font-size:34px!important}.about-story{grid-template-columns:1fr!important;gap:18px!important}.about-cta{padding:28px!important;border-radius:28px!important}
}
@media (max-width:520px){
 .section{width:calc(100% - 22px)!important;padding:54px 0!important}.micro{font-size:10px}.hero-v3 h1{font-size:clamp(50px,15vw,66px)!important}.hero-v3 .hero-copy p{font-size:16px!important}.liquid-btn{font-size:13px;padding:11px 12px 11px 16px}.round-link{width:50px;height:50px}.growth-chip{font-size:12px!important}
 .process-grid{grid-template-columns:1fr!important}.process-grid article{min-height:210px!important}.visual-card,.visual-card:nth-child(n){height:125vw!important;max-height:520px}.world-big-icon{width:58px;height:58px}.visual-hover h3{font-size:38px!important}.visual-hover p{-webkit-line-clamp:3}
 .appliance-grid{grid-template-columns:1fr 1fr!important}.appliance-card{min-height:132px!important}.appliance-card>b{font-size:13px!important}.appliance-icon{font-size:20px}.stepper button{width:32px;height:32px}.battery-question{grid-template-columns:42px minmax(0,1fr)!important}.battery-orb{width:42px;height:42px}.battery-question h3{font-size:17px!important}.system-config .config-card{grid-template-columns:40px minmax(0,1fr)!important;padding:12px!important}.commercial-loads{grid-template-columns:1fr!important}.commercial-loads button{min-height:92px!important}.result-icons{grid-template-columns:1fr!important}.result-icons>div{display:grid!important;grid-template-columns:34px 1fr auto!important;align-items:center!important;text-align:left!important}.result-icons small{font-size:11px!important}.clean-array{grid-template-columns:repeat(6,minmax(10px,1fr))!important}.commercial-array .clean-array{grid-template-columns:repeat(7,minmax(8px,1fr))!important}.array-head{align-items:start;flex-direction:column}.array-head b{text-align:left!important}
 .footer-v7 .footer-hero h2{font-size:38px!important}.footer-v7 .footer-hero>img{width:160px!important}.office-v7 h3{font-size:28px!important}
}
@media (min-width:821px) and (max-width:1360px){.section{width:calc(100% - 64px)}.site-header,.hero-v3{width:calc(100% - 64px)}.appliance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.system-config{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

.about-impact .visual-head{max-width:1000px;margin-left:auto;margin-right:auto}.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.impact-grid article{border:1px solid var(--line);border-radius:28px;padding:28px;background:var(--card);min-height:280px}.impact-grid b{font:600 12px DM Mono;color:var(--acid)}.impact-grid h3{font-size:28px;line-height:1.1;margin:70px 0 14px}.impact-grid p{color:var(--muted)}@media(max-width:820px){.impact-grid{grid-template-columns:1fr}.impact-grid article{min-height:220px}.impact-grid h3{margin-top:42px}}

/* ===== V9 authoritative interaction layer ===== */
:root{--accent:var(--acid);--accent-soft:color-mix(in srgb,var(--accent) 18%,transparent);--accent-faint:color-mix(in srgb,var(--accent) 8%,transparent)}
/* Calculator: final rules deliberately override all legacy visibility generations. */
#solarCalculator>.calc-body{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;opacity:0!important;grid-template-columns:minmax(0,1.45fr) minmax(340px,.7fr)!important}
#solarCalculator>.calc-body.is-active{display:grid!important;visibility:visible!important;height:auto!important;overflow:visible!important;opacity:1!important}
#solarCalculator>.calc-body.is-active>.commercial-inputs,#solarCalculator>.calc-body.is-active>.calc-inputs,#solarCalculator>.calc-body.is-active>.calc-results{display:block;visibility:visible!important;opacity:1!important;height:auto!important}
#solarCalculator>.commercial-mode.is-active>.calc-results{display:grid!important}
/* Make every branded/accent UI surface obey the picker. */
.micro i,.theme-rail b,.pill b,.liquid-btn b,.process-icon,.battery-orb,.appliance-icon,.backup-dot.on,.array-legend i,.battery-unit,.presence-orbit article>span,.world-big-icon,.accent-main span{background:var(--accent)!important}
.hero h1 strong,.process-grid article>span,.project-detail>span,.app-tabs button.active,.journey-grid b,.impact-grid b{color:var(--accent)!important}
.calc-tabs button.active,.segmented button.active{background:var(--accent)!important;color:#071007!important}
.appliance-card:hover,.config-card:hover,.commercial-loads button:hover,.journey-grid article:hover,.beliefs article:hover,.presence-orbit article:hover{border-color:var(--accent)!important}
.orbit-val{stroke:var(--accent)!important}.app-chart i,.clean-array i,.panel-dot,.factory-panel{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 20%,#101610),var(--accent))!important;border-color:var(--accent)!important}
.cursor-glow{background:radial-gradient(circle,var(--accent-faint),transparent 66%)!important}.presence-orbit{background:radial-gradient(circle at 50% 50%,var(--accent-soft),transparent 24%),var(--card)!important}.presence-core{box-shadow:0 0 0 18px var(--accent-faint),0 0 80px var(--accent-soft)!important}.smart-point.active{background:linear-gradient(100deg,var(--accent-faint),transparent)!important;border-color:var(--accent)!important}
.wa-inline{background:var(--accent)!important;color:#071007!important}.accent-options{max-width:min(520px,calc(100vw - 80px));flex-wrap:wrap;border-radius:24px!important}.accent-options button{flex:0 0 28px}
/* WhatsApp: actual glyph + visible pulse on desktop and mobile. */
.whatsapp-float{background:#25D366!important;color:#071007!important;isolation:isolate;overflow:visible!important;animation:waFloat 2.6s ease-in-out infinite!important;box-shadow:0 12px 42px rgba(37,211,102,.34)!important}
.whatsapp-float::before,.whatsapp-float::after{content:"";position:absolute;inset:-5px;border-radius:999px;border:2px solid rgba(37,211,102,.62);z-index:-1;animation:waPulse 1.8s ease-out infinite;pointer-events:none}.whatsapp-float::after{animation-delay:.9s}.whatsapp-float .wa-icon{width:40px;height:40px;border-radius:50%;background:#fff!important;color:#128C7E!important;display:grid!important;place-items:center!important;padding:8px!important}.whatsapp-float .wa-icon svg{width:100%;height:100%;display:block}
@keyframes waPulse{0%{opacity:.85;transform:scale(.94)}80%,100%{opacity:0;transform:scale(1.22)}}@keyframes waFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:1180px){#solarCalculator>.calc-body.is-active{grid-template-columns:1fr!important}}
@media(max-width:800px){#solarCalculator>.calc-body.is-active{display:flex!important;flex-direction:column!important}.accent-options{left:40px!important;top:auto!important;bottom:0!important;transform:none!important;display:grid!important;grid-template-columns:repeat(4,28px)!important;width:auto!important}.accent-picker.open .accent-options{transform:none!important}.whatsapp-float .wa-icon{width:42px!important;height:42px!important}.whatsapp-float{padding:6px!important}.whatsapp-float span{display:none!important}}
@media(prefers-reduced-motion:reduce){.whatsapp-float,.whatsapp-float::before,.whatsapp-float::after{animation:none!important}}


/* ===== V10: calculator, icon, colour-studio and contact-control reset ===== */
:root{--accent:hsl(82 100% 50%);--acid:var(--accent);--accent-soft:color-mix(in srgb,var(--accent) 18%,transparent);--accent-faint:color-mix(in srgb,var(--accent) 8%,transparent)}
/* Accent is a colour, never an icon background. This prevents coloured rectangles replacing glyphs. */
.process-icon,.appliance-icon,.battery-orb,.engineering-grid article>span,.world-big-icon,.visual-icon,.config-card>span{background:transparent!important;color:var(--accent)!important;border-color:color-mix(in srgb,var(--accent) 48%,var(--line))!important;box-shadow:none!important}
.process-icon{border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line))!important}.appliance-icon{display:inline-grid!important;place-items:center!important;width:42px!important;height:42px!important;border:1px solid var(--line)!important;border-radius:12px!important;font-size:22px!important}.battery-orb{border:1px solid var(--line)!important}.backup-dot.on,.array-legend i,.battery-unit,.theme-rail b,.accent-main span{background:var(--accent)!important}.calc-title>span,.project-detail>span,.journey-grid b,.impact-grid b{background:var(--accent)!important;color:#0a0d09!important}.liquid-btn,.pill,.wa-inline{--button-accent:var(--accent)}
/* Home calculator is always visible on the home page. Commercial has its own page in V10. */
#solarCalculator>.home-mode{display:grid!important;visibility:visible!important;height:auto!important;overflow:visible!important;opacity:1!important;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)!important}
#solarCalculator>.commercial-mode{display:none!important}
.calc-tabs{display:flex!important;gap:8px!important;align-items:center!important}.calc-tabs a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:var(--muted);font-weight:800;padding:15px 22px;border-radius:999px}.calc-tabs a.active{background:var(--accent)!important;color:#071007!important}
/* Colour studio */
.accent-picker{position:fixed!important;left:14px!important;top:calc(50% + 100px)!important;z-index:120!important}.accent-main{width:42px!important;height:42px!important;border-radius:50%!important;border:1px solid var(--line)!important;background:var(--glass)!important;backdrop-filter:blur(20px);display:grid!important;place-items:center!important}.accent-main span{width:20px!important;height:20px!important;border-radius:50%!important;box-shadow:0 0 0 4px var(--accent-faint)!important}.accent-studio{position:absolute;left:54px;top:50%;width:310px;padding:16px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(26px);box-shadow:0 24px 70px #0003;opacity:0;pointer-events:none;transform:translateY(-50%) translateX(-8px) scale(.97);transition:.22s}.accent-picker.open .accent-studio{opacity:1;pointer-events:auto;transform:translateY(-50%) translateX(0) scale(1)}.accent-studio-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.accent-studio-head b{font-size:15px}.accent-studio-head output{font:500 12px DM Mono;color:var(--muted)}.accent-studio label{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:10px;font-size:12px;color:var(--muted)}#accentHue{width:100%;accent-color:var(--accent)}.hue-spectrum{height:10px;border-radius:99px;margin:9px 0 13px;background:linear-gradient(90deg,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)}.accent-presets{display:grid;grid-template-columns:repeat(12,1fr);gap:5px}.accent-presets button{aspect-ratio:1;border-radius:50%;border:2px solid var(--card);background:var(--preset);box-shadow:0 0 0 1px var(--line);cursor:pointer}.accent-studio small{display:block;margin-top:11px;color:var(--muted);font-size:11px}
/* Floating contact dock */
.contact-floats{position:fixed;right:18px;bottom:18px;z-index:110;display:flex;gap:10px;align-items:center}.contact-floats>a{height:58px;border-radius:999px;display:flex;align-items:center;gap:10px;padding:7px 18px 7px 7px;text-decoration:none;font-weight:800;box-shadow:0 14px 42px #0003}.whatsapp-float{position:relative!important;right:auto!important;bottom:auto!important;background:#25D366!important;color:#071007!important;animation:waFloat 2.6s ease-in-out infinite!important}.wa-icon{width:44px!important;height:44px!important;border-radius:50%!important;background:#fff!important;color:#128C7E!important;display:grid!important;place-items:center!important;padding:0!important;font-size:22px!important;line-height:1!important}.ai-float{background:var(--accent)!important;color:#071007!important}.ai-float b{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#071007;color:var(--accent);font:700 13px DM Mono}.whatsapp-float::before,.whatsapp-float::after{content:"";position:absolute;inset:-5px;border-radius:999px;border:2px solid rgba(37,211,102,.55);z-index:-1;animation:waPulse 1.8s ease-out infinite}.whatsapp-float::after{animation-delay:.9s}.form-note{grid-column:1/-1;color:var(--muted);font-size:12px}
@media(max-width:1180px){#solarCalculator>.home-mode{grid-template-columns:1fr!important}}
@media(max-width:800px){#solarCalculator>.home-mode{display:flex!important;flex-direction:column!important}.accent-picker{left:7px!important;top:calc(50% + 92px)!important}.accent-studio{left:42px;top:auto;bottom:-80px;transform:translateX(-8px) scale(.97);width:min(300px,calc(100vw - 58px))}.accent-picker.open .accent-studio{transform:translateX(0) scale(1)}.contact-floats{right:10px;bottom:10px;gap:7px}.contact-floats>a{height:52px;padding:5px}.contact-floats>a span{display:none}.wa-icon,.ai-float b{width:42px!important;height:42px!important}.calc-tabs a{flex:1;justify-content:center;padding:13px 10px;font-size:14px}}

/* ===== V11: calculator geometry + commercial decision tool ===== */
#solarCalculator>.home-mode.is-active{display:block!important;width:100%!important;max-width:none!important}
#solarCalculator>.home-mode>.calc-inputs,#solarCalculator>.home-mode>.calc-results{width:100%!important;max-width:none!important;box-sizing:border-box}
#solarCalculator>.home-mode>.calc-inputs{border-right:0!important;border-bottom:1px solid var(--line)}
#solarCalculator>.home-mode>.calc-results{display:grid!important;grid-template-columns:minmax(0,1.4fr) 220px minmax(300px,.8fr)!important;grid-template-areas:"array orbit stats" "array note action"!important}
.commercial-v11{padding-top:150px}.commercial-v11 .lab-intro{max-width:1050px}.commercial-v11 .lab-intro h1{font-size:clamp(50px,7vw,108px);line-height:.9;letter-spacing:-.075em;margin:18px 0}.commercial-v11 .lab-intro h1 em{font-style:normal;color:var(--accent)}
.business-calculator{border:1px solid var(--line);border-radius:34px;overflow:hidden;background:var(--card)}.business-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.65fr)}.business-inputs{padding:34px;border-right:1px solid var(--line)}.business-results{padding:34px;background:color-mix(in srgb,var(--card) 82%,var(--accent) 2%)}.business-step{display:flex;gap:14px;align-items:flex-start;margin:4px 0 20px}.business-step>span{font:700 12px DM Mono;background:var(--accent);color:#071007;border-radius:9px;padding:9px}.business-step h3{font-size:26px;margin:0}.business-step p{color:var(--muted);margin:5px 0 0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.field-grid>label,.backup-fields>label{border:1px solid var(--line);border-radius:20px;padding:17px;display:grid;gap:10px}.field-grid label>span,.backup-fields label>span{font-size:12px;color:var(--muted);font-weight:700}.field-grid select{width:100%;background:transparent;color:var(--ink);border:0;font:700 16px Manrope;outline:0}.unit-input{display:flex;align-items:end;gap:8px}.unit-input input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);font:800 28px Manrope;outline:0}.unit-input b{font-size:12px;color:var(--muted);padding-bottom:5px}.control-card{border:1px solid var(--line);border-radius:20px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:28px}.control-card p{font-size:13px;color:var(--muted);margin:5px 0}.control-card output{font-weight:800;color:var(--accent)}.control-card input{grid-column:1/-1;width:100%;accent-color:var(--accent)}.goal-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.goal-options button{min-height:110px;text-align:left;padding:16px;border:1px solid var(--line);border-radius:18px;background:transparent;color:var(--ink);font:800 15px Manrope;cursor:pointer}.goal-options button small{display:block;color:var(--muted);font-weight:500;margin-top:8px;line-height:1.35}.goal-options button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.backup-fields{display:grid;grid-template-columns:1fr 1.3fr;gap:10px}.backup-fields .segmented{min-width:0;width:100%}.result-kicker{font:700 11px DM Mono;color:var(--muted)}.hero-result{padding:28px 0;border-bottom:1px solid var(--line)}.hero-result>span{color:var(--muted)}.hero-result strong{display:block;font-size:clamp(48px,5vw,78px);letter-spacing:-.06em;line-height:1;margin:8px 0}.hero-result strong b{color:var(--accent)}.hero-result p{color:var(--muted);margin:0}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.metric-grid article{border:1px solid var(--line);border-radius:17px;padding:15px}.metric-grid article span{color:var(--accent)}.metric-grid article b{display:block;font-size:23px;margin:7px 0 2px}.metric-grid article small{color:var(--muted)}.solar-bar{padding:16px 0}.solar-bar-head{display:flex;justify-content:space-between;font-size:13px}.solar-bar>i{display:block;height:9px;background:var(--bg);border-radius:99px;margin-top:9px;overflow:hidden}.solar-bar>i>b{display:block;width:0;height:100%;background:var(--accent);border-radius:inherit;transition:.4s}.decision-box,.battery-result,.assumptions{border:1px solid var(--line);border-radius:18px;padding:17px;margin:10px 0}.decision-box p,.assumptions p{color:var(--muted);font-size:13px;line-height:1.55;margin:6px 0 0}.battery-result{display:none}.battery-result.show{display:block}.battery-result>b{display:block;color:var(--accent);font-size:30px;margin:6px 0}.battery-result small{color:var(--muted)}.business-results>.liquid-btn{margin-top:14px;width:100%;justify-content:space-between}
/* smaller floating actions */
.contact-floats>a{height:46px!important;padding:5px 12px 5px 5px!important;gap:7px!important;font-size:13px!important}.wa-icon,.ai-float b{width:36px!important;height:36px!important;font-size:12px!important}.contact-floats{gap:7px!important;right:14px!important;bottom:14px!important}
@media(max-width:1050px){#solarCalculator>.home-mode>.calc-results{grid-template-columns:1fr 200px!important;grid-template-areas:"array orbit" "stats stats" "note action"!important}.business-grid{grid-template-columns:1fr}.business-inputs{border-right:0;border-bottom:1px solid var(--line)}.business-results{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.business-results .hero-result,.business-results .result-kicker,.business-results>.liquid-btn{grid-column:1/-1}.metric-grid{margin:0}.commercial-v11{padding-top:115px}}
@media(max-width:700px){#solarCalculator>.home-mode>.calc-results{display:flex!important;flex-direction:column!important}.commercial-v11{padding-top:100px}.business-inputs,.business-results{padding:18px}.field-grid,.goal-options,.backup-fields,.business-results{grid-template-columns:1fr}.business-results>*{grid-column:1!important}.goal-options button{min-height:82px}.metric-grid{grid-template-columns:1fr 1fr}.contact-floats>a{height:42px!important;padding:4px!important}.contact-floats>a span{display:none!important}.wa-icon,.ai-float b{width:34px!important;height:34px!important}}

/* ===== V13.1 SOLAR TRACKER EASTER EGG — SMOOTH DUAL-AXIS FIELD ===== */
.solar-easter{position:fixed!important;inset:0!important;z-index:500!important;padding:0!important;background:#050805!important;color:#fff!important;display:none!important;overflow:hidden!important;cursor:none!important}
.solar-easter.show{display:block!important}
.solar-easter .easter-close{position:fixed!important;z-index:520!important;top:22px!important;right:22px!important;width:46px!important;height:46px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.2)!important;background:rgba(5,8,5,.58)!important;backdrop-filter:blur(16px)!important;color:#fff!important;font-size:24px!important;cursor:pointer!important}
.solar-sky{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 15%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 32%),linear-gradient(#07100b 0 43%,#10180e 43% 100%)}
.solar-sky:after{content:"";position:absolute;inset:43% 0 0;background:linear-gradient(180deg,rgba(16,29,16,.08),rgba(0,0,0,.58));pointer-events:none}
/* Keep the field itself square to the viewport. Perspective now lives on each tracker,
   which prevents the old double-perspective/crooked-cell effect. */
.solar-field{position:absolute;left:50%;bottom:1.5vh;width:min(1640px,96vw);height:46vh;transform:translateX(-50%);display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));column-gap:clamp(14px,1.35vw,28px);row-gap:clamp(12px,1.7vh,24px);padding:1.5vh 1.5vw;z-index:3;perspective:1400px}
.tracker{position:relative;min-width:0;min-height:0;display:grid;place-items:center;perspective:900px;transform-style:preserve-3d}
.tracker:after{content:"";position:absolute;left:50%;top:70%;width:4px;height:38%;border-radius:4px;background:linear-gradient(#707a73,#343b36);transform:translateX(-50%);z-index:0;opacity:.8}
.tracker-panel{position:relative;z-index:2;width:96%;height:82%;min-height:54px;border:1px solid color-mix(in srgb,var(--accent) 72%,#fff);border-radius:7px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 38%,#06111b),#071723 50%,color-mix(in srgb,var(--accent) 20%,#020507));box-shadow:inset 0 0 0 2px rgba(255,255,255,.035),0 14px 34px rgba(0,0,0,.5),0 0 20px color-mix(in srgb,var(--accent) 8%,transparent);transform:rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));transform-style:preserve-3d;will-change:transform;backface-visibility:hidden}
/* Straight module divisions: explicit 4 x 3 cell grid, no percentage seam drift. */
.tracker-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent calc(25% - .5px),rgba(255,255,255,.18) calc(25% - .5px) calc(25% + .5px),transparent calc(25% + .5px) calc(50% - .5px),rgba(255,255,255,.18) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px) calc(75% - .5px),rgba(255,255,255,.18) calc(75% - .5px) calc(75% + .5px),transparent calc(75% + .5px)),linear-gradient(0deg,transparent calc(33.333% - .5px),rgba(255,255,255,.14) calc(33.333% - .5px) calc(33.333% + .5px),transparent calc(33.333% + .5px) calc(66.666% - .5px),rgba(255,255,255,.14) calc(66.666% - .5px) calc(66.666% + .5px),transparent calc(66.666% + .5px));pointer-events:none}
.tracker-panel:after{content:"";position:absolute;inset:8% 7%;border-radius:4px;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),rgba(255,255,255,.24),transparent 42%);mix-blend-mode:screen;pointer-events:none}
.solar-sun-cursor{position:fixed;z-index:510;width:82px;height:82px;margin:-41px 0 0 -41px;border-radius:50%;display:grid;place-items:center;background:#ffd64a;color:#151004;font-size:39px;box-shadow:0 0 34px #ffd64abb,0 0 105px #ffd64a66;pointer-events:none;left:50%;top:18%;will-change:left,top}
.solar-copy{position:absolute;z-index:12;left:clamp(24px,5vw,84px);top:clamp(70px,9vh,120px);width:min(700px,82vw);pointer-events:none;text-shadow:0 3px 28px #000}
.solar-copy .micro{color:#d5dbd3!important}.solar-copy h2{font-size:clamp(54px,8vw,126px);line-height:.83;letter-spacing:-.075em;margin:14px 0 22px}.solar-copy p{max-width:660px;font-size:clamp(16px,1.5vw,21px);line-height:1.55;color:#d3d9d0}.solar-copy strong{display:block;margin-top:25px;font:600 12px 'DM Mono';letter-spacing:.13em;color:var(--accent)}.solar-copy small{display:block;margin-top:9px;color:#9fa89d}
@media(max-width:980px){.solar-field{width:110vw;height:43vh;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));bottom:0}.tracker:nth-child(n+31){display:none}}
@media(max-width:760px){.solar-easter{cursor:auto!important}.solar-sun-cursor{width:62px;height:62px;margin:-31px 0 0 -31px;font-size:30px}.solar-copy{top:76px;left:22px;width:calc(100% - 44px)}.solar-copy h2{font-size:52px}.solar-copy p{font-size:15px;max-width:94%}.solar-field{width:138vw;height:38vh;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));bottom:0;gap:10px}.tracker:nth-child(n+21){display:none}.tracker-panel{width:98%;height:84%}.solar-copy small{font-size:11px}.solar-easter .easter-close{top:14px!important;right:14px!important}}
@media(prefers-reduced-motion:reduce){.tracker-panel{will-change:auto}}

/* ===== V13 INSTAGRAM ===== */
.instagram-section{padding-top:110px!important;padding-bottom:110px!important}
.instagram-head{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(320px,1.2fr) auto;gap:36px;align-items:end;margin-bottom:34px}
.instagram-profile{display:flex;align-items:center;gap:16px;color:var(--text);text-decoration:none;min-width:0}
.instagram-avatar{width:72px;height:72px;flex:0 0 72px;border-radius:50%;padding:3px;background:conic-gradient(from 210deg,#ffcc58,#ff3158,#d429d7,#6548ff,#ffcc58);display:grid;place-items:center;box-shadow:0 12px 34px rgba(0,0,0,.12)}
.instagram-avatar:after{content:"";position:absolute}
.instagram-avatar img{width:100%;height:100%;object-fit:contain;border-radius:50%;background:var(--bg);padding:10px}
.instagram-profile>span:last-child{display:flex;flex-direction:column;min-width:0}
.instagram-profile small{font:500 10px/1.2 'DM Mono',monospace;letter-spacing:.14em;opacity:.55;margin-bottom:4px}
.instagram-profile strong{font-size:20px;line-height:1.15}
.instagram-profile em{font-style:normal;font-size:12px;opacity:.58;margin-top:3px}
.instagram-title h2{margin:8px 0 0;font-size:clamp(42px,5vw,76px);line-height:.94;letter-spacing:-.055em}.instagram-title h2 em{color:var(--accent);font-style:normal}
.instagram-follow{display:inline-flex;align-items:center;gap:28px;border:1px solid var(--line);border-radius:999px;padding:15px 19px;color:var(--text);text-decoration:none;font-weight:700;white-space:nowrap;transition:.25s ease}.instagram-follow:hover{background:var(--accent);color:#071006;border-color:var(--accent);transform:translateY(-2px)}
.instagram-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.insta-card{position:relative;display:block;aspect-ratio:1/1.12;overflow:hidden;border-radius:26px;background:var(--surface);color:#fff;text-decoration:none;isolation:isolate}
.insta-card img,.insta-card video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .4s ease}.insta-card:hover img,.insta-card:hover video{transform:scale(1.055)}
.insta-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.7));z-index:1}
.insta-card>div{position:absolute;left:20px;right:52px;bottom:18px;z-index:2;display:flex;flex-direction:column}.insta-card>div b{font:500 10px/1 'DM Mono',monospace;letter-spacing:.12em;opacity:.8}.insta-card>div span{font-size:15px;font-weight:700;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.insta-card>i{position:absolute;right:18px;top:18px;z-index:2;width:34px;height:34px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:18px;backdrop-filter:blur(12px);background:rgba(0,0,0,.16)}
.instagram-foot{display:flex;justify-content:space-between;gap:20px;margin-top:16px;font-size:12px;opacity:.58}.instagram-foot a{color:inherit;text-decoration:none;font-weight:700}
@media(max-width:1050px){.instagram-head{grid-template-columns:1fr auto}.instagram-title{grid-column:1/-1;grid-row:1}.instagram-profile{grid-row:2}.instagram-follow{grid-row:2}.instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insta-card{aspect-ratio:1.15/1}}
@media(max-width:620px){.instagram-section{padding-top:76px!important;padding-bottom:76px!important}.instagram-head{display:flex;flex-direction:column;align-items:stretch;gap:22px}.instagram-title{order:0}.instagram-profile{order:1}.instagram-follow{order:2;justify-content:space-between;width:100%}.instagram-avatar{width:60px;height:60px;flex-basis:60px}.instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.insta-card{border-radius:18px;aspect-ratio:1/1.18}.insta-card>div{left:14px;bottom:13px;right:14px}.insta-card>div span{font-size:12px}.insta-card>i{right:12px;top:12px;width:30px;height:30px}.instagram-foot{flex-direction:column;gap:7px}}

/* ===== V14: theme-aware monitoring app ===== */
html[data-theme="light"] .phone{
  border-color:#d8ddd7!important;
  background:#eef1ec!important;
  box-shadow:0 32px 85px rgba(12,18,14,.18),0 0 0 1px rgba(12,18,14,.08)!important;
}
html[data-theme="light"] .phone-screen,
html[data-theme="light"] .phone-screen.screen-day,
html[data-theme="light"] .phone-screen.screen-battery,
html[data-theme="light"] .phone-screen.screen-history{
  background:linear-gradient(165deg,#ffffff 0%,#f1f4ef 100%)!important;
  color:#111611!important;
}
html[data-theme="light"] .app-top img{filter:none!important}
html[data-theme="light"] .app-ring{box-shadow:0 0 44px color-mix(in srgb,var(--accent) 18%,transparent)!important}
html[data-theme="light"] .app-ring span,
html[data-theme="light"] .app-flow,
html[data-theme="light"] .app-cards small{color:#687068!important;opacity:1!important}
html[data-theme="light"] .app-cards div{background:rgba(255,255,255,.82)!important;border-color:rgba(12,18,14,.11)!important;box-shadow:0 8px 22px rgba(12,18,14,.05)!important}
html[data-theme="light"] .app-chart{border-bottom-color:rgba(12,18,14,.08)!important}
html[data-theme="light"] .app-tabs button{color:#747b74!important}
html[data-theme="light"] .app-tabs button.active{color:var(--accent)!important}

/* V14: reliable close glyph — drawn in CSS, independent of font rendering. */
.solar-easter .easter-close{display:grid!important;place-items:center!important;padding:0!important;overflow:hidden!important;transition:transform .2s ease,background .2s ease,border-color .2s ease!important}
.solar-easter .easter-close:hover{transform:scale(1.08) rotate(4deg)!important;background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.42)!important}
.solar-easter .easter-close span{position:absolute!important;width:19px!important;height:2px!important;border-radius:99px!important;background:#fff!important;display:block!important;left:50%!important;top:50%!important;margin-left:-9.5px!important;margin-top:-1px!important}
.solar-easter .easter-close span:first-child{transform:rotate(45deg)!important}.solar-easter .easter-close span:last-child{transform:rotate(-45deg)!important}


/* ===== V15: SociableKIT Instagram integration ===== */
.instagram-live-shell{position:relative;min-height:330px;border:1px solid var(--line);border-radius:30px;padding:12px;overflow:hidden;background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:0 22px 65px rgba(0,0,0,.08)}
.instagram-live-shell .sk-instagram-feed{width:100%;min-height:300px}
.instagram-connect-card{display:flex;align-items:center;justify-content:space-between;gap:34px;padding:34px 38px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface));}
.instagram-connect-card h3{font-size:clamp(28px,3vw,46px);letter-spacing:-.04em;margin:8px 0 8px}.instagram-connect-card p{max-width:680px;margin:0;opacity:.65;line-height:1.6}.instagram-connect-card>a{flex:0 0 auto;display:inline-flex;gap:28px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:15px 19px;text-decoration:none;color:var(--text);font-weight:700;transition:.25s ease}.instagram-connect-card>a:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px)}
@media(max-width:720px){.instagram-live-shell{border-radius:22px;padding:8px}.instagram-connect-card{align-items:flex-start;flex-direction:column;padding:26px 22px;border-radius:22px}.instagram-connect-card>a{width:100%;justify-content:space-between}}

/* V17 — solar-field protected copy zone */
.solar-field{height:34vh!important;max-height:330px!important;bottom:1.2vh!important;padding-top:0!important}
@media(max-width:980px){.solar-field{height:31vh!important;max-height:280px!important}}
@media(max-width:760px){.solar-field{height:29vh!important;max-height:245px!important;bottom:1vh!important}}

/* V17 Solar Challenge */
.challenge-page{min-height:100vh;padding:140px clamp(22px,6vw,96px) 80px;background:radial-gradient(circle at 75% 10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 34%),var(--bg);color:var(--text)}
.challenge-shell{max-width:1180px;margin:auto}.challenge-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;margin-bottom:42px}.challenge-hero h1{font-size:clamp(58px,8vw,126px);line-height:.84;letter-spacing:-.07em;margin:12px 0}.challenge-hero h1 em{color:var(--accent);font-style:normal}.challenge-hero p{max-width:680px;color:var(--muted);font-size:18px;line-height:1.65}.power-core{aspect-ratio:1;max-width:300px;margin-left:auto;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;position:relative;background:color-mix(in srgb,var(--surface) 86%,transparent);box-shadow:0 0 80px color-mix(in srgb,var(--accent) 16%,transparent)}.power-core:before{content:"";position:absolute;inset:18px;border:2px solid var(--accent);border-radius:50%;opacity:.7}.power-core b{font-size:64px}.power-core small{display:block;text-align:center;color:var(--muted)}
.quiz-card{border:1px solid var(--line);border-radius:34px;background:color-mix(in srgb,var(--surface) 92%,transparent);padding:clamp(22px,4vw,52px);box-shadow:0 30px 90px rgba(0,0,0,.08)}.quiz-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.quiz-progress{height:6px;background:var(--line);border-radius:20px;overflow:hidden;flex:1}.quiz-progress i{display:block;height:100%;width:0;background:var(--accent);transition:width .45s cubic-bezier(.2,.8,.2,1)}.quiz-count{font:600 12px 'DM Mono';letter-spacing:.1em;color:var(--muted)}.difficulty{font:600 11px 'DM Mono';letter-spacing:.1em;color:var(--accent)}.quiz-question{font-size:clamp(27px,3vw,44px);line-height:1.08;letter-spacing:-.035em;max-width:900px;margin:20px 0 30px}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quiz-option{appearance:none;text-align:left;border:1px solid var(--line);border-radius:18px;padding:19px 20px;background:transparent;color:var(--text);font:600 15px Manrope;cursor:pointer;transition:.2s}.quiz-option:hover{border-color:var(--accent);transform:translateY(-2px)}.quiz-option.correct{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent)}.quiz-option.wrong{opacity:.45;text-decoration:line-through}.quiz-feedback{min-height:48px;padding-top:18px;color:var(--muted)}.quiz-next{margin-left:auto;display:none}.quiz-result{text-align:center;padding:30px 0}.quiz-result .score{font-size:clamp(80px,14vw,180px);font-weight:800;letter-spacing:-.08em;color:var(--accent);line-height:.8}.quiz-result h2{font-size:clamp(36px,5vw,70px);letter-spacing:-.05em}.quiz-result p{max-width:680px;margin:16px auto;color:var(--muted);font-size:18px;line-height:1.6}.quiz-actions{display:flex;justify-content:center;gap:12px;margin-top:28px;flex-wrap:wrap}@media(max-width:760px){.challenge-page{padding-top:110px}.challenge-hero{grid-template-columns:1fr}.power-core{display:none}.quiz-options{grid-template-columns:1fr}.quiz-card{border-radius:24px}.quiz-question{font-size:28px}}

/* V18 quiz feedback + hidden game panel */
.quiz-option{position:relative;display:flex;align-items:center;gap:13px;overflow:hidden}.quiz-option>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid var(--line);border-radius:50%;font:700 11px 'DM Mono'}.quiz-option:disabled{cursor:default}.quiz-option.correct{background:rgba(27,176,93,.16)!important;border-color:#1bb05d!important;color:var(--text)!important;box-shadow:inset 0 0 0 1px rgba(27,176,93,.2),0 0 28px rgba(27,176,93,.08)}.quiz-option.correct>span{background:#1bb05d;border-color:#1bb05d;color:white}.quiz-option.wrong{opacity:1!important;text-decoration:none!important;background:rgba(226,55,65,.14)!important;border-color:#e23741!important}.quiz-option.wrong>span{background:#e23741;border-color:#e23741;color:white}.quiz-feedback{margin-top:18px;min-height:0;padding:18px 20px;border-radius:16px;border:1px solid transparent;display:none}.quiz-feedback:not(:empty){display:block}.quiz-feedback b{display:block;font-size:16px;margin-bottom:5px}.quiz-feedback p{margin:0;line-height:1.55}.quiz-feedback.is-correct{background:rgba(27,176,93,.10);border-color:rgba(27,176,93,.45);color:#128449}.quiz-feedback.is-wrong{background:rgba(226,55,65,.09);border-color:rgba(226,55,65,.42);color:#c42b34}[data-theme=dark] .quiz-feedback.is-correct{color:#78e5a5}[data-theme=dark] .quiz-feedback.is-wrong{color:#ff9299}.secret-tracker{cursor:pointer!important}.secret-tracker .tracker-panel{border-color:#ffd34d!important;box-shadow:0 0 24px rgba(255,211,77,.18)!important;background:linear-gradient(135deg,#30170b,#6d4610 48%,#1a2532)!important}.secret-tracker:hover .tracker-panel{box-shadow:0 0 40px rgba(255,211,77,.48)!important}.secret-tracker:focus-visible{outline:2px solid #ffd34d;outline-offset:5px;border-radius:12px}
/* V18 hidden Grid Runner */
.grid-game-body{background:#07100b;color:#f4f5ef}.grid-game{padding:140px clamp(22px,6vw,90px) 80px;max-width:1500px;margin:auto}.game-intro{max-width:850px;margin-bottom:34px}.game-intro h1{font-size:clamp(60px,9vw,128px);line-height:.84;letter-spacing:-.07em;margin:12px 0}.game-intro h1 em{font-style:normal;color:var(--accent)}.game-intro p{max-width:720px;color:#a8afa8;font-size:18px;line-height:1.6}.grid-console{border:1px solid #29332c;border-radius:32px;background:#0b1510;overflow:hidden}.game-hud{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #29332c}.game-hud>div{padding:20px 24px;border-right:1px solid #29332c}.game-hud>div:last-child{border-right:0}.game-hud small{display:block;font:600 10px 'DM Mono';letter-spacing:.12em;color:#7f8c83}.game-hud b{font-size:28px}.energy-stage{height:430px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 30%,rgba(255,211,77,.07),transparent 35%),linear-gradient(#09130e,#0d1a12)}.sky-orb{position:absolute;left:8%;top:52%;font-size:52px;color:#ffd34d;filter:drop-shadow(0 0 18px #ffd34d);z-index:4;transition:left .35s linear,top .35s linear}.energy-node{position:absolute;z-index:3;width:150px;padding:18px;border:1px solid #314037;border-radius:18px;background:#111e16;text-align:center}.energy-node span{font-size:28px;display:block}.energy-node b{display:block;font:600 10px 'DM Mono';letter-spacing:.1em;color:#89968d;margin:7px}.energy-node strong{font-size:16px}.energy-node.pv{left:8%;top:40%}.energy-node.load{left:calc(50% - 75px);top:40%}.energy-node.battery{right:8%;top:12%}.energy-node.grid{right:8%;bottom:12%}.energy-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1}.energy-lines path{fill:none;stroke:#304137;stroke-width:3;stroke-dasharray:10 8;animation:gridDash 1s linear infinite}@keyframes gridDash{to{stroke-dashoffset:-18}}.dispatch{padding:24px;display:grid;grid-template-columns:1.2fr 1.4fr auto;gap:20px;align-items:end}.dispatch-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.dispatch-buttons button{border:1px solid #334139;background:#111b15;color:#dfe5df;border-radius:999px;padding:12px 15px;cursor:pointer}.dispatch-buttons button.active{background:var(--accent);border-color:var(--accent);color:white}.event-box{border-left:2px solid var(--accent);padding:10px 14px;min-height:64px}.event-box b,.event-box span{display:block}.event-box span{color:#96a199;font-size:13px;margin-top:4px}.event-box button{border:0;background:none;color:var(--accent);font-weight:800;cursor:pointer;padding:0}.grid-game .liquid-btn{white-space:nowrap}@media(max-width:760px){.game-hud{grid-template-columns:1fr 1fr}.game-hud>div:nth-child(2){border-right:0}.energy-stage{height:560px}.energy-node.pv{left:5%;top:42%}.energy-node.load{left:auto;right:5%;top:42%}.energy-node.battery{right:auto;left:5%;top:70%}.energy-node.grid{right:5%;bottom:8%}.energy-lines{display:none}.dispatch{grid-template-columns:1fr}.grid-game{padding-top:110px}}

/* V19 refinements */
.power-core{overflow:hidden}.score-core-inner{position:relative;z-index:2;width:72%;height:72%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.score-core-inner b{display:block;font-size:clamp(46px,5vw,72px);line-height:.82;letter-spacing:-.07em}.score-core-inner small{display:block;margin-top:14px;font-size:12px;line-height:1.2;white-space:nowrap}
.brand-rail{padding-top:46px;padding-bottom:56px;overflow:hidden}.brand-rail-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.brand-rail-head h2{font-size:clamp(28px,3vw,48px);letter-spacing:-.045em;margin:8px 0 0;max-width:760px}.brand-marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.brand-track{display:flex;width:max-content;align-items:center;gap:68px;padding:30px 0;animation:brandFlow 30s linear infinite}.brand-track span{font:800 clamp(18px,2vw,30px) Manrope;letter-spacing:-.035em;white-space:nowrap;color:var(--text);opacity:.42;filter:grayscale(1);transition:.25s}.brand-track span:hover{opacity:1;color:var(--accent);filter:none}@keyframes brandFlow{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.brand-track{animation:none}}@media(max-width:760px){.brand-track{gap:40px;padding:24px 0}.brand-rail-head{display:block}}
/* Keep easter copy clear of the tracker field on all desktop sizes. */
@media(min-width:761px){.solar-field{height:min(42vh,390px)!important;bottom:0!important}.solar-copy{max-width:760px}.solar-copy small{display:block;max-width:620px}}

/* V20 — real brand marks + consistent hidden-game entry points */
.glass-orb,.contact-sphere{font:inherit;color:inherit;border:inherit;cursor:pointer}
.glass-orb:focus-visible,.contact-sphere:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
.brand-track .brand-logo{width:180px;height:72px;display:grid;place-items:center;position:relative;flex:0 0 auto;opacity:.58;transition:.3s}
.brand-track .brand-logo img{display:block;max-width:160px;max-height:54px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);transition:.3s}
.brand-track .brand-logo b{display:none}
.brand-track .brand-logo:hover{opacity:1}
.brand-track .brand-logo:hover img{filter:grayscale(0)}
[data-theme="dark"] .brand-track .brand-logo img{background:rgba(255,255,255,.92);padding:10px 14px;border-radius:12px}
[data-theme="light"] .brand-track .brand-logo img{background:rgba(255,255,255,.72);padding:10px 14px;border-radius:12px}
.footer-v7 .footer-offices-v7{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.office-coming b{color:var(--accent);text-transform:uppercase;letter-spacing:.08em}
@media(max-width:900px){.footer-v7 .footer-offices-v7{grid-template-columns:1fr!important}.footer-v7 .office-v7+.office-v7{border-left:0!important;border-top:1px solid var(--line)!important}.brand-track .brand-logo{width:150px}}
/* V23 — only the two intentional blobs open the solar-field Easter egg. The secret game panel must be obvious/tappable on phones. */
.secret-tracker{z-index:12;touch-action:manipulation;pointer-events:auto!important}
.secret-tracker .tracker-panel{pointer-events:auto!important}
.secret-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;font:800 10px 'DM Mono',monospace;letter-spacing:.12em;color:#17130a;background:#ffd34d;border-radius:999px;padding:6px 9px;box-shadow:0 4px 18px rgba(0,0,0,.28);opacity:.92;pointer-events:none}
@media(max-width:760px){
 .solar-field{width:100%!important;left:0!important;transform:none!important;padding:0 14px 12px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(4,minmax(0,1fr))!important;gap:9px!important;overflow:visible!important}
 .tracker:nth-child(n+17){display:none!important}
 .secret-tracker{display:grid!important;min-width:64px!important;min-height:52px!important}
 .secret-tracker .tracker-panel{border:2px solid #ffd34d!important;box-shadow:0 0 0 3px rgba(255,211,77,.13),0 0 30px rgba(255,211,77,.42)!important}
 .secret-play{font-size:9px;padding:5px 7px}
}

/* V24 hardening: rasterized local brand assets + mobile app/easter fixes */
.brand-track .brand-logo img{width:160px!important;height:54px!important;max-width:160px!important;max-height:54px!important;object-fit:contain!important;background:#fff!important;padding:9px 12px!important;border-radius:12px!important;filter:grayscale(1)!important}
.brand-track .brand-logo:hover img{filter:none!important}
.solar-easter .easter-close{pointer-events:auto!important;touch-action:manipulation!important;z-index:99999!important}
@media(max-width:760px){
 .smart-loop.section{width:calc(100% - 24px)!important}
 .smart-stage{display:flex!important;flex-direction:column!important;padding:20px 14px 28px!important;min-height:0!important;overflow:visible!important;gap:28px!important}
 .smart-copy{width:100%!important}
 .phone{width:min(300px,88vw)!important;height:600px!important;transform:none!important;flex:0 0 auto!important;margin:0 auto!important}
 .phone-screen{overflow:hidden!important}
 .app-tabs{position:static!important;width:100%!important;display:flex!important;overflow-x:auto!important;gap:8px!important;justify-content:flex-start!important;padding:0 2px 4px!important}
 .app-tabs button{flex:0 0 auto!important;min-height:42px!important}
 .solar-easter .easter-close{top:max(14px,env(safe-area-inset-top))!important;right:14px!important;width:52px!important;height:52px!important}
 .solar-field{height:32vh!important;max-height:270px!important;bottom:8px!important}
 .secret-tracker{position:relative!important;z-index:30!important}
}

/* V25 — robust full-colour technology logo marquee. Remote verified artwork with local fallback. */
.brand-marquee{mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)!important}
.brand-track{gap:34px!important;padding:26px 0!important;animation-duration:42s!important}
.brand-track .brand-logo{width:220px!important;height:92px!important;opacity:1!important;filter:none!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:18px!important;padding:12px 18px!important;box-sizing:border-box!important;overflow:hidden!important}
.brand-track .brand-logo img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important;background:transparent!important;padding:0!important;border-radius:0!important;filter:none!important;opacity:1!important;transform:none!important}
.brand-track .brand-logo:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,transparent)!important}
[data-theme="dark"] .brand-track .brand-logo,[data-theme="light"] .brand-track .brand-logo{background:rgba(255,255,255,.96)!important}
@media(max-width:760px){.brand-track{gap:18px!important;animation-duration:34s!important}.brand-track .brand-logo{width:168px!important;height:76px!important;padding:10px 14px!important}}

/* V26: deterministic local technology-logo rail. No remote images, lazy loading, filters or oversized cards. */
.brand-rail{overflow:hidden!important}.brand-rail-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:34px}.brand-rail-head h2{margin:0;font-size:clamp(38px,4.6vw,72px);line-height:1.02;letter-spacing:-.06em}.tech-logo-viewport{width:100%;overflow:hidden;padding:30px 0 18px;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.tech-logo-track{display:flex;align-items:center;gap:18px;width:max-content;animation:techRail 42s linear infinite;will-change:transform}.tech-logo-track:hover{animation-play-state:paused}.tech-logo{margin:0;width:190px;height:82px;flex:0 0 190px;display:grid;place-items:center;border:1px solid var(--line);border-radius:18px;background:#fff;padding:13px 18px;overflow:hidden}.tech-logo img{display:block!important;width:100%!important;height:100%!important;max-width:154px!important;max-height:54px!important;object-fit:contain!important;object-position:center!important;opacity:1!important;filter:none!important;transform:none!important}.tech-logo figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@keyframes techRail{to{transform:translateX(calc(-50% - 9px))}}@media(max-width:760px){.brand-rail-head{grid-template-columns:1fr;gap:14px}.tech-logo-viewport{padding-top:22px}.tech-logo-track{gap:12px;animation-duration:34s}.tech-logo{width:148px;height:66px;flex-basis:148px;padding:10px 14px}.tech-logo img{max-width:120px!important;max-height:42px!important}}@media(prefers-reduced-motion:reduce){.tech-logo-track{animation:none;flex-wrap:wrap;width:100%;justify-content:center}.tech-logo-track .tech-logo:nth-child(n+11){display:none}}

/* V27 — user-supplied technology logos, deterministic infinite rail */
.brand-rail{overflow:hidden!important}
.tech-logo-viewport{width:100%;overflow:hidden!important;padding:28px 0 20px!important;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)!important}
.tech-logo-track{display:flex!important;align-items:center!important;gap:28px!important;width:max-content!important;animation:techRailV27 38s linear infinite!important;will-change:transform!important;transform:translate3d(0,0,0)}
.tech-logo-track:hover{animation-play-state:running!important}
.tech-logo{position:relative!important;margin:0!important;width:190px!important;height:84px!important;flex:0 0 190px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:12px 16px!important;box-sizing:border-box!important;overflow:hidden!important;border:1px solid var(--line)!important;border-radius:18px!important;background:color-mix(in srgb,var(--surface) 90%,white 10%)!important}
.tech-logo img{display:block!important;width:auto!important;height:auto!important;max-width:158px!important;max-height:56px!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;filter:none!important;opacity:1!important;transform:none!important}
.tech-logo figcaption{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes techRailV27{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - 14px),0,0)}}
@media(max-width:760px){.tech-logo-track{gap:18px!important;animation-duration:31s!important}.tech-logo{width:150px!important;height:68px!important;flex-basis:150px!important;padding:10px 12px!important;border-radius:14px!important}.tech-logo img{max-width:126px!important;max-height:46px!important}@keyframes techRailV27{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - 9px),0,0)}}}
@media(prefers-reduced-motion:reduce){.tech-logo-track{animation-duration:90s!important}}

/* ===== V30 mobile contact actions ===== */
@media(max-width:700px){
  .contact-floats{right:10px!important;bottom:10px!important;gap:8px!important;max-width:calc(100vw - 20px)!important}
  .contact-floats>a{height:52px!important;min-width:0!important;padding:5px 13px 5px 5px!important;gap:8px!important;font-size:12px!important;white-space:nowrap!important}
  .contact-floats>a span{display:inline!important}
  .wa-icon,.ai-float b{width:42px!important;height:42px!important;min-width:42px!important;font-size:12px!important}
}
@media(max-width:390px){.contact-floats>a{padding-right:10px!important;font-size:11px!important}.contact-floats{gap:5px!important}}

/* V31 floating contact controls */
.whatsapp-float .wa-icon{background:transparent!important;overflow:hidden;padding:0!important;display:grid!important;place-items:center!important}
.whatsapp-float .wa-icon img{display:block!important;width:38px!important;height:38px!important;object-fit:contain!important}
@media(max-width:800px){
 .contact-floats{right:12px!important;bottom:12px!important;gap:8px!important;display:flex!important;align-items:center!important;max-width:calc(100vw - 24px)!important}
 .contact-floats .ai-float,.contact-floats .whatsapp-float{min-height:48px!important;padding:6px 12px 6px 6px!important;gap:7px!important;white-space:nowrap!important;width:auto!important;max-width:none!important}
 .contact-floats .ai-float span,.contact-floats .whatsapp-float span{display:inline!important;visibility:visible!important;opacity:1!important;width:auto!important;max-width:none!important;font-size:12px!important;line-height:1!important}
 .contact-floats .ai-float b{width:36px!important;height:36px!important;min-width:36px!important}
 .contact-floats .whatsapp-float .wa-icon,.contact-floats .whatsapp-float .wa-icon img{width:36px!important;height:36px!important;min-width:36px!important}
}
@media(max-width:390px){
 .contact-floats .ai-float,.contact-floats .whatsapp-float{padding-right:9px!important}
 .contact-floats .ai-float span,.contact-floats .whatsapp-float span{font-size:11px!important}
}

/* V32 quiz score core: hard-size the ring so the numeral can never escape it */
.challenge-hero .power-core{width:clamp(150px,18vw,240px)!important;height:clamp(150px,18vw,240px)!important;aspect-ratio:1/1!important;min-width:150px;min-height:150px;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;box-sizing:border-box!important;overflow:visible!important}
.challenge-hero .power-core:before{inset:12px!important;box-sizing:border-box}
.challenge-hero .score-core-inner{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;transform:none!important}
.challenge-hero .score-core-inner b{margin:0!important;padding:0!important;width:100%;text-align:center;line-height:1!important;font-size:clamp(48px,5vw,68px)!important}
.challenge-hero .score-core-inner small{margin:8px 0 0!important;white-space:normal!important;max-width:110px}
/* V32 Solar Runner leaderboard */
.runner-leaderboard{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);gap:18px;margin:0 0 22px}.runner-namebox,.leader-card{border:1px solid var(--line);border-radius:24px;background:color-mix(in srgb,var(--surface) 92%,transparent);padding:20px}.runner-namebox label{display:block;font-weight:800;font-size:20px;margin:8px 0}.runner-namebox small{display:block;color:var(--muted);margin-top:8px}.name-row{display:flex;gap:8px}.name-row input{min-width:0;flex:1;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:14px;padding:13px 15px;font:700 15px Manrope;outline:none}.name-row input:focus{border-color:var(--accent)}.name-row button{border:0;border-radius:14px;background:var(--accent);color:#080808;font-weight:800;padding:0 18px;cursor:pointer}.leader-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.leader-title b{font-size:20px}.leader-card ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.leader-card li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:7px 0;font-size:13px}.leader-card li span{display:flex;gap:8px;min-width:0}.leader-card li i{font:600 11px 'DM Mono';color:var(--accent);font-style:normal}.leader-card li.empty{grid-column:1/-1;color:var(--muted);border:0}.leader-card li>b{color:var(--accent)}
@media(max-width:760px){.runner-leaderboard{grid-template-columns:1fr}.leader-card ol{grid-template-columns:1fr}.runner-namebox,.leader-card{border-radius:18px;padding:16px}}

/* V33 Solar Challenge score badge — numeral is physically contained by its own ring */
.challenge-hero .power-core{border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;display:flex!important;align-items:center!important;justify-content:center!important}
.challenge-hero .power-core:before{display:none!important}
.challenge-hero .score-core-inner{width:auto!important;height:auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;overflow:visible!important}
.challenge-hero .score-core-inner b{width:112px!important;height:112px!important;min-width:112px!important;min-height:112px!important;border-radius:50%!important;border:2px solid var(--line)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent),0 0 45px color-mix(in srgb,var(--accent) 12%,transparent)!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;line-height:1!important;font-size:58px!important;letter-spacing:-.06em!important;text-align:center!important;box-sizing:border-box!important}
.challenge-hero .score-core-inner small{margin:10px 0 0!important;max-width:none!important;white-space:nowrap!important;text-align:center!important}
.quiz-options:has(.bonus-option){display:grid!important;visibility:visible!important;opacity:1!important;grid-template-columns:1fr 1fr!important;margin-top:10px!important}
@media(max-width:760px){.quiz-options:has(.bonus-option){grid-template-columns:1fr!important}}

/* V33 server leaderboard + end-of-run name capture */
.runner-leaderboard.server-board{display:block!important;max-width:760px;margin-left:auto;margin-right:auto}.runner-leaderboard.server-board .leader-card{width:100%}.score-submit{display:flex;gap:9px;margin-top:18px}.score-submit input{min-width:0;flex:1;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:14px;padding:13px 15px;font:700 15px Manrope;outline:none}.score-submit input:focus{border-color:var(--accent)}.score-submit button,.runner-skip{border:0;border-radius:14px;padding:13px 17px;font:800 14px Manrope;cursor:pointer}.score-submit button{background:var(--accent);color:#080808}.runner-skip{margin-top:9px;background:transparent;color:var(--muted);border:1px solid var(--line)}.score-message{min-height:22px;margin-top:10px;color:var(--muted);font-size:13px}
@media(max-width:600px){.score-submit{flex-direction:column}.score-submit button{min-height:48px}}

/* V34 leaderboard spacing + quiz score cleanup */
.runner-leaderboard.server-board{max-width:820px!important}
.runner-leaderboard.server-board .leader-title{display:grid!important;grid-template-columns:1fr auto!important;align-items:end!important;gap:18px!important;margin-bottom:16px!important}
.runner-leaderboard.server-board .leader-title .micro{display:block!important;letter-spacing:.12em!important}
.runner-leaderboard.server-board .leader-title b{display:block!important;font-size:20px!important;line-height:1.1!important}
.runner-leaderboard.server-board .leader-card ol{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 28px!important;margin:0!important;padding:0!important}
.runner-leaderboard.server-board .leader-card li{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;align-items:center!important;column-gap:12px!important;min-height:44px!important;padding:9px 4px!important;border-bottom:1px solid var(--line)!important;font-size:14px!important}
.runner-leaderboard .leader-rank{font:600 11px 'DM Mono'!important;color:var(--accent)!important;letter-spacing:.08em!important}
.runner-leaderboard .leader-name{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-weight:700!important}
.runner-leaderboard .leader-score{display:block!important;min-width:52px!important;text-align:right!important;color:var(--accent)!important;font:800 15px Manrope!important}
.runner-leaderboard.server-board .leader-card li.empty{display:block!important;grid-column:1/-1!important;color:var(--muted)!important;border:0!important}
/* Score is intentionally no longer enclosed by a ring: prevents clipping at every score width. */
.challenge-hero .power-core{width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;display:block!important;margin-left:auto!important}
.challenge-hero .score-core-inner{width:auto!important;height:auto!important;align-items:flex-end!important}
.challenge-hero .score-core-inner b{width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;display:block!important;font-size:clamp(54px,6vw,82px)!important;line-height:.9!important;letter-spacing:-.06em!important;text-align:right!important}
.challenge-hero .score-core-inner small{margin-top:8px!important;font-size:11px!important;letter-spacing:.08em!important;text-transform:uppercase!important;white-space:nowrap!important;color:var(--muted)!important}
@media(max-width:760px){.runner-leaderboard.server-board .leader-card ol{grid-template-columns:1fr!important}.runner-leaderboard.server-board .leader-title{grid-template-columns:1fr!important;gap:5px!important}.runner-leaderboard.server-board .leader-card li{grid-template-columns:38px minmax(0,1fr) auto!important}}

/* V41 mobile utility placement: compact controls at bottom-left, clear of content and contact buttons. */
@media(max-width:900px){
 .theme-rail{left:10px!important;right:auto!important;top:auto!important;bottom:72px!important;width:28px!important;padding:7px 4px!important;border-radius:18px!important;transform:none!important}
 .theme-rail>span{font-size:10px!important}
 .theme-rail i{width:18px!important;height:46px!important}
 .theme-rail b{width:14px!important;height:14px!important}
 .accent-picker{left:9px!important;right:auto!important;top:auto!important;bottom:22px!important}
 .accent-main{width:32px!important;height:32px!important}
 .accent-main span{width:15px!important;height:15px!important;box-shadow:0 0 0 3px var(--accent-faint)!important}
 .accent-studio{left:40px!important;top:auto!important;bottom:0!important;width:min(286px,calc(100vw - 58px))!important;transform:translateX(-6px) scale(.97)!important}
 .accent-picker.open .accent-studio{transform:translateX(0) scale(1)!important}
}

/* ===== V42 mobile utility dock: theme + accent live together beside contact actions ===== */
.mobile-utility-dock{display:none}
@media(max-width:900px){
  .mobile-utility-dock{
    position:fixed!important;left:10px!important;bottom:12px!important;z-index:112!important;
    display:flex!important;align-items:center!important;gap:5px!important;
    height:48px!important;padding:4px 5px!important;border:1px solid var(--line)!important;
    border-radius:999px!important;background:color-mix(in srgb,var(--card) 84%,transparent)!important;
    -webkit-backdrop-filter:blur(22px)!important;backdrop-filter:blur(22px)!important;
    box-shadow:0 12px 34px #0003!important
  }
  .mobile-utility-dock .theme-rail{
    position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;width:66px!important;height:38px!important;padding:3px 5px!important;
    border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;
    display:flex!important;flex-direction:row!important;justify-content:space-between!important;gap:4px!important
  }
  .mobile-utility-dock .theme-rail>span{font-size:10px!important;line-height:1!important;flex:0 0 auto!important}
  .mobile-utility-dock .theme-rail i{width:30px!important;height:18px!important;padding:2px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important}
  html[data-theme=dark] .mobile-utility-dock .theme-rail i{justify-content:flex-end!important;align-items:center!important}
  .mobile-utility-dock .theme-rail b{width:14px!important;height:14px!important;min-width:14px!important}
  .mobile-utility-dock .accent-picker{
    position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    width:38px!important;height:38px!important;display:grid!important;place-items:center!important
  }
  .mobile-utility-dock .accent-main{width:34px!important;height:34px!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
  .mobile-utility-dock .accent-main span{width:16px!important;height:16px!important}
  .mobile-utility-dock .accent-studio{
    left:0!important;right:auto!important;top:auto!important;bottom:52px!important;
    width:min(286px,calc(100vw - 20px))!important;transform:translateY(6px) scale(.97)!important;transform-origin:left bottom!important
  }
  .mobile-utility-dock .accent-picker.open .accent-studio{transform:translateY(0) scale(1)!important}
  /* reserve the left side of the bottom row for the utility capsule */
  .contact-floats{right:10px!important;bottom:12px!important}
}
@media(max-width:560px){
  .mobile-utility-dock{left:8px!important;bottom:10px!important;height:44px!important;padding:3px 4px!important;gap:2px!important}
  .mobile-utility-dock .theme-rail{width:56px!important;height:36px!important;padding:2px 3px!important}
  .mobile-utility-dock .theme-rail i{width:25px!important;height:16px!important}
  .mobile-utility-dock .theme-rail b{width:12px!important;height:12px!important;min-width:12px!important}
  .mobile-utility-dock .accent-picker{width:32px!important;height:36px!important}
  .mobile-utility-dock .accent-main{width:30px!important;height:30px!important}
  .contact-floats{right:8px!important;bottom:10px!important;gap:5px!important}
  .contact-floats .ai-float,.contact-floats .whatsapp-float{min-height:44px!important;height:44px!important;padding:4px 8px 4px 4px!important;gap:5px!important}
  .contact-floats .ai-float b,.contact-floats .whatsapp-float .wa-icon,.contact-floats .whatsapp-float .wa-icon img{width:34px!important;height:34px!important;min-width:34px!important}
  .contact-floats .ai-float span,.contact-floats .whatsapp-float span{font-size:10px!important}
}
@media(max-width:390px){
  .mobile-utility-dock .theme-rail>span{display:none!important}
  .mobile-utility-dock .theme-rail{width:34px!important;justify-content:center!important}
  .contact-floats .ai-float span{font-size:9px!important}
  .contact-floats .whatsapp-float span{font-size:9px!important}
}

/* ===== V43 MOBILE BOTTOM BAR — authoritative layout ===== */
@media (max-width:900px){
  body>.mobile-utility-dock{
    display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-start!important;
    position:fixed!important;left:max(8px,env(safe-area-inset-left))!important;right:auto!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;top:auto!important;
    width:auto!important;height:48px!important;min-height:48px!important;margin:0!important;padding:4px 6px!important;gap:4px!important;
    border:1px solid var(--line)!important;border-radius:999px!important;z-index:2147483000!important;
    background:color-mix(in srgb,var(--card) 90%,transparent)!important;-webkit-backdrop-filter:blur(22px)!important;backdrop-filter:blur(22px)!important;
  }
  body>.mobile-utility-dock>#themeToggle.theme-rail{
    position:static!important;inset:auto!important;transform:none!important;float:none!important;
    display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:center!important;
    width:62px!important;height:38px!important;min-width:62px!important;min-height:38px!important;margin:0!important;padding:0 4px!important;gap:4px!important;
    border:0!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important;
  }
  body>.mobile-utility-dock>#themeToggle.theme-rail>span{display:block!important;width:10px!important;font-size:10px!important;line-height:1!important;text-align:center!important}
  body>.mobile-utility-dock>#themeToggle.theme-rail>i{
    position:relative!important;display:block!important;width:30px!important;height:18px!important;min-width:30px!important;min-height:18px!important;margin:0!important;padding:0!important;
    border-radius:999px!important;transform:none!important;
  }
  body>.mobile-utility-dock>#themeToggle.theme-rail>i>b{position:absolute!important;top:2px!important;left:2px!important;width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;margin:0!important;transform:none!important}
  html[data-theme=dark] body>.mobile-utility-dock>#themeToggle.theme-rail>i>b{left:14px!important}
  body>.mobile-utility-dock>#accentPicker.accent-picker{
    position:static!important;inset:auto!important;transform:none!important;float:none!important;display:grid!important;place-items:center!important;
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;margin:0!important;padding:0!important;
  }
  body>.mobile-utility-dock>#accentPicker .accent-main{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0!important;padding:0!important}
  body>.mobile-utility-dock>#accentPicker .accent-studio{position:absolute!important;left:0!important;bottom:56px!important;top:auto!important;right:auto!important;width:min(286px,calc(100vw - 16px))!important}
  body>.contact-floats{bottom:max(10px,env(safe-area-inset-bottom))!important;top:auto!important;right:max(8px,env(safe-area-inset-right))!important;align-items:center!important;z-index:2147482999!important}
}
@media(max-width:430px){
 body>.mobile-utility-dock{height:44px!important;min-height:44px!important;padding:3px 4px!important;gap:1px!important}
 body>.mobile-utility-dock>#themeToggle.theme-rail{width:48px!important;min-width:48px!important;height:36px!important;padding:0 2px!important;gap:2px!important}
 body>.mobile-utility-dock>#themeToggle.theme-rail>span{display:none!important}
 body>.mobile-utility-dock>#accentPicker.accent-picker{width:32px!important;min-width:32px!important;height:36px!important}
 body>.mobile-utility-dock>#accentPicker .accent-main{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important}
}


/* ===== V45 — 3D WebGL solar field hero ===== */
.hero-v3{overflow:hidden;perspective:1100px;transform-style:preserve-3d}
.hero-v3 .hero-bg{transform:scale(1.075) translate3d(var(--hero-bg-x,0),var(--hero-bg-y,0),0);transition:transform .12s linear;will-change:transform}
.hero-v3 .hero-webgl-stage{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;border-radius:inherit;mix-blend-mode:screen}
.hero-v3 #heroWebGLCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.92;filter:saturate(1.15) contrast(1.05)}
.hero-v3 .hero-depth-glow{position:absolute;width:48vw;height:48vw;max-width:760px;max-height:760px;left:var(--hero-glow-x,74%);top:var(--hero-glow-y,35%);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14) 0 2%,color-mix(in srgb,var(--accent) 26%,transparent) 7%,color-mix(in srgb,var(--accent) 9%,transparent) 28%,transparent 67%);filter:blur(18px);transition:left .16s linear,top .16s linear;will-change:left,top}
.hero-v3 .hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 48%,transparent 0 28%,rgba(0,0,0,.12) 57%,rgba(0,0,0,.42) 100%)}
.hero-v3 .hero-overlay{z-index:1}.hero-v3 .hero-grid{z-index:3;opacity:.045}.hero-v3 .hero-copy,.hero-v3 .liquid-glass{z-index:5}
.hero-v3 .hero-copy{transform:translate3d(var(--hero-copy-x,0),var(--hero-copy-y,0),0);transition:transform .16s ease-out;will-change:transform}
.hero-v3 .liquid-glass{transform:translate3d(var(--hero-orb-x,0),var(--hero-orb-y,0),0) rotateX(var(--hero-rx,0deg)) rotateY(var(--hero-ry,0deg));transition:transform .16s ease-out;will-change:transform}
@media(max-width:820px){
 .hero-v3 #heroWebGLCanvas{opacity:.72;filter:saturate(1.08)}
 .hero-v3 .hero-depth-glow{width:105vw;height:105vw;opacity:.78}
 .hero-v3 .hero-bg{transform:scale(1.045) translate3d(var(--hero-bg-x,0),var(--hero-bg-y,0),0)}
}
@media(prefers-reduced-motion:reduce){.hero-v3 #heroWebGLCanvas{display:none}.hero-v3 .hero-bg,.hero-v3 .hero-copy,.hero-v3 .liquid-glass{transform:none!important}.hero-v3 .hero-depth-glow{transition:none}}

/* ===== V46 HERO HOTFIX — guaranteed visible copy + stronger 3D response ===== */
.hero-v3{--hero-tilt-x:0deg;--hero-tilt-y:0deg;--hero-lens-x:72%;--hero-lens-y:38%;isolation:isolate!important;background:#060807!important}
.hero-v3 .hero-copy,.hero-v3 .liquid-glass{position:relative!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.hero-v3 .hero-copy{z-index:20!important;text-shadow:0 2px 22px rgba(0,0,0,.55)}
.hero-v3 .liquid-glass{z-index:21!important}
.hero-v3 .hero-bg{z-index:0!important;transform-origin:center center!important;transform:perspective(1200px) rotateX(var(--hero-tilt-x)) rotateY(var(--hero-tilt-y)) scale(1.12) translate3d(var(--hero-bg-x,0),var(--hero-bg-y,0),0)!important}
.hero-v3 .hero-webgl-stage{z-index:4!important;mix-blend-mode:normal!important;opacity:1!important}
.hero-v3 #heroWebGLCanvas{opacity:1!important;filter:saturate(1.45) contrast(1.15) brightness(1.12)!important}
.hero-v3 .hero-depth-glow{z-index:5!important;width:34vw!important;height:34vw!important;min-width:280px;min-height:280px;filter:blur(8px)!important;background:radial-gradient(circle,rgba(255,255,255,.65) 0 1.5%,rgba(255,220,145,.32) 4%,color-mix(in srgb,var(--accent) 38%,transparent) 12%,color-mix(in srgb,var(--accent) 14%,transparent) 31%,transparent 67%)!important}
.hero-v3:after{content:"";position:absolute;z-index:6;pointer-events:none;left:var(--hero-lens-x);top:var(--hero-lens-y);width:190px;height:190px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 38% 35%,rgba(255,255,255,.32),rgba(255,255,255,.05) 18%,color-mix(in srgb,var(--accent) 16%,transparent) 38%,transparent 68%);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 0 28px rgba(255,255,255,.08),0 0 55px color-mix(in srgb,var(--accent) 18%,transparent);backdrop-filter:blur(1.5px);opacity:.78;transition:left .08s linear,top .08s linear}
.hero-v3 .hero-vignette{z-index:7!important;background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.25) 44%,rgba(0,0,0,.05) 72%,rgba(0,0,0,.24) 100%)!important}
@media(max-width:820px){.hero-v3:after{width:120px;height:120px;opacity:.55}.hero-v3 .hero-webgl-stage{opacity:.9!important}.hero-v3 #heroWebGLCanvas{filter:saturate(1.25) contrast(1.1)!important}.hero-v3 .hero-copy{z-index:30!important}}

/* === V47 TRUE 3D HERO === */
.hero.hero-v3{perspective:1200px;isolation:isolate;overflow:hidden}
.hero-3d-scene{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;perspective:1000px}
.hero-3d-camera{position:absolute;right:-3%;top:4%;width:64%;height:92%;transform-style:preserve-3d;transform:rotateX(var(--rx,-8deg)) rotateY(var(--ry,-12deg)) translate3d(var(--tx,0),var(--ty,0),0);transition:transform .12s linear;will-change:transform}
.solar-deck{position:absolute;right:4%;top:27%;width:78%;height:56%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:9px;transform:rotateX(62deg) rotateZ(-7deg) translateZ(10px);transform-style:preserve-3d;filter:drop-shadow(0 35px 32px rgba(0,0,0,.5))}
.solar-tile{position:relative;border:1px solid rgba(168,213,255,.45);border-radius:7px;background:linear-gradient(135deg,rgba(55,98,135,.88),rgba(7,18,29,.96) 48%,rgba(32,65,91,.92));box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),inset 0 0 26px rgba(71,158,255,.12),0 8px 0 #050b10,0 13px 20px rgba(0,0,0,.38);transform:translateZ(calc((var(--i) % 3) * 3px));overflow:hidden}
.solar-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,rgba(180,220,255,.2) 50%,transparent 52%),linear-gradient(0deg,transparent 48%,rgba(180,220,255,.18) 50%,transparent 52%);background-size:25% 100%,100% 33.33%;opacity:.75}
.solar-tile:after{content:"";position:absolute;inset:-40%;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.5) 49%,rgba(255,70,90,.25) 52%,transparent 62%);transform:translateX(var(--shine,-45%));transition:transform .15s linear;mix-blend-mode:screen}
.energy-core-3d{position:absolute;left:42%;top:28%;width:154px;height:154px;border-radius:50%;display:grid;place-items:center;transform:translateZ(150px);background:radial-gradient(circle at 35% 28%,#ff6575,#ff0033 42%,#8b001d 78%);box-shadow:0 0 35px rgba(255,0,51,.72),0 0 95px rgba(255,0,51,.3),0 35px 45px rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.48)}
.energy-core-3d span{font:800 38px/1 Manrope,sans-serif;color:#fff;letter-spacing:-2px;text-shadow:0 2px 14px rgba(0,0,0,.25)}
.energy-core-3d i{position:absolute;inset:-18px;border:1px solid rgba(255,255,255,.22);border-radius:50%;animation:corePulse 2.4s ease-in-out infinite}
.energy-core-3d b{position:absolute;inset:-38px;border:1px solid rgba(255,0,51,.26);border-radius:50%;animation:corePulse 2.4s .55s ease-in-out infinite}
.energy-ring{position:absolute;left:31%;top:18%;width:330px;height:210px;border:1px solid rgba(255,40,70,.3);border-radius:50%;transform:translateZ(85px) rotateX(67deg);box-shadow:0 0 28px rgba(255,0,51,.12)}
.ring-b{transform:translateZ(110px) rotateX(72deg) rotateZ(34deg);opacity:.55}
.cursor-flare-3d{position:absolute;left:var(--lx,62%);top:var(--ly,42%);width:180px;height:180px;border-radius:50%;transform:translate(-50%,-50%) translateZ(190px);background:radial-gradient(circle,rgba(255,255,255,.72) 0,rgba(255,25,60,.32) 15%,rgba(255,0,40,.08) 42%,transparent 70%);filter:blur(3px);mix-blend-mode:screen}
.hero-copy,.liquid-glass{z-index:8!important}.hero-webgl-stage{z-index:2!important}
@keyframes corePulse{0%,100%{transform:scale(.94);opacity:.35}50%{transform:scale(1.12);opacity:.8}}
@media(max-width:760px){.hero-3d-camera{width:100%;right:-26%;top:12%;opacity:.72}.solar-deck{width:82%;height:42%;top:40%}.energy-core-3d{width:105px;height:105px;left:42%;top:34%}.energy-core-3d span{font-size:27px}.energy-ring{width:220px;height:145px;left:30%;top:27%}.hero-copy{z-index:10!important}}
@media(prefers-reduced-motion:reduce){.hero-3d-camera{transition:none}.energy-core-3d i,.energy-core-3d b{animation:none}}

/* === V47.1 DESKTOP 3D VISIBILITY FIX === */
.hero-v3 .hero-webgl-stage{z-index:2!important}
.hero-v3 .hero-grid{z-index:3!important}
.hero-v3 .hero-3d-scene{z-index:12!important;display:block!important;opacity:1!important;visibility:visible!important}
.hero-v3 .hero-3d-camera{z-index:1!important;display:block!important;opacity:1!important;visibility:visible!important}
.hero-v3 .hero-copy{z-index:30!important}
.hero-v3 .liquid-glass{display:none!important}
.hero-v3 .solar-deck,.hero-v3 .energy-core-3d,.hero-v3 .energy-ring{visibility:visible!important;opacity:1}
@media(max-width:760px){.hero-v3 .hero-3d-camera{opacity:.72!important}}

/* V47.2 official 6G hero mark */
.energy-core-3d img{display:block;width:64%;height:64%;object-fit:contain;filter:drop-shadow(0 3px 10px rgba(0,0,0,.22));position:relative;z-index:2}

/* === V47.3 OFFICIAL 6G MARK CONTRAST === */
.official-mark-disc{display:grid!important;place-items:center!important;border-radius:50%!important;background:rgba(255,255,255,.96)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65),0 10px 34px rgba(0,0,0,.22)!important;overflow:hidden}
.official-mark-disc img{display:block!important;width:72%!important;height:72%!important;object-fit:contain!important;filter:none!important}
.energy-core-3d{background:radial-gradient(circle at 34% 28%,#ff526c 0,#ff0639 40%,#b30027 78%,#780018 100%)!important}
.energy-core-3d>.official-mark-disc{position:absolute!important;inset:18%!important;z-index:4!important}
.energy-core-3d>.official-mark-disc img{width:76%!important;height:76%!important}
.contact-sphere{background:radial-gradient(circle at 35% 30%,#ff405e 0,#ff0033 43%,#a80025 78%,#650016 100%)!important;box-shadow:0 0 70px color-mix(in srgb,var(--accent) 35%,transparent),inset 0 1px rgba(255,255,255,.35)!important}
.contact-sphere>.official-mark-disc{width:52%!important;height:52%!important;position:relative!important;z-index:2!important}
.contact-sphere>.official-mark-disc img{width:76%!important;height:76%!important}

/* === V47.4 MOBILE 3D HERO COMPOSITION === */
@media(max-width:760px){
  .hero-v3{min-height:875px!important}
  .hero-v3 .hero-copy{z-index:30!important}
  .hero-v3 .hero-3d-scene{z-index:14!important;pointer-events:none!important}
  .hero-v3 .hero-3d-camera{
    width:112%!important;height:50%!important;
    right:-25%!important;top:48%!important;
    opacity:1!important;
    transform-origin:65% 60%!important;
  }
  .hero-v3 .solar-deck{
    width:76%!important;height:52%!important;
    right:1%!important;top:31%!important;
    gap:6px!important;
    transform:rotateX(58deg) rotateZ(-5deg) translateZ(8px)!important;
    opacity:.96!important;
  }
  .hero-v3 .energy-core-3d{
    width:94px!important;height:94px!important;
    left:55%!important;top:5%!important;
    transform:translateZ(145px)!important;
  }
  .hero-v3 .energy-ring{
    width:190px!important;height:125px!important;
    left:43%!important;top:-2%!important;
  }
  .hero-v3 .cursor-flare-3d{width:125px!important;height:125px!important}
  .hero-v3 .hero-copy p{max-width:94%!important}
  .hero-v3 .growth-chip{position:relative!important;z-index:31!important}
}
@media(max-width:430px){
  .hero-v3 .hero-3d-camera{right:-31%!important;top:50%!important;width:120%!important}
  .hero-v3 .energy-core-3d{left:56%!important;top:2%!important;width:88px!important;height:88px!important}
  .hero-v3 .solar-deck{right:0!important;top:29%!important;width:78%!important}
}

/* === V47.5 MOBILE HERO: COPY FIRST, 3D ART BELOW === */
@media(max-width:760px){
  .hero-v3{min-height:980px!important}
  .hero-v3 .hero-copy{
    z-index:40!important;
    position:relative!important;
  }
  .hero-v3 .hero-copy .micro,
  .hero-v3 .hero-copy h1,
  .hero-v3 .hero-copy p,
  .hero-v3 .hero-actions{
    position:relative!important;
    z-index:41!important;
  }
  .hero-v3 .hero-3d-scene{
    z-index:12!important;
    top:auto!important;
    bottom:72px!important;
    height:310px!important;
    overflow:visible!important;
  }
  .hero-v3 .hero-3d-camera{
    width:108%!important;
    height:300px!important;
    right:-23%!important;
    top:0!important;
    opacity:1!important;
  }
  .hero-v3 .solar-deck{
    width:80%!important;
    height:185px!important;
    right:0!important;
    top:86px!important;
    gap:6px!important;
  }
  .hero-v3 .energy-core-3d{
    width:88px!important;
    height:88px!important;
    left:59%!important;
    top:14px!important;
  }
  .hero-v3 .energy-ring{
    width:178px!important;
    height:112px!important;
    left:48%!important;
    top:-2px!important;
  }
  .hero-v3 .growth-chip{
    position:absolute!important;
    left:20px!important;
    right:20px!important;
    bottom:18px!important;
    z-index:42!important;
    margin:0!important;
  }
}
@media(max-width:430px){
  .hero-v3{min-height:960px!important}
  .hero-v3 .hero-3d-scene{bottom:76px!important;height:285px!important}
  .hero-v3 .hero-3d-camera{right:-27%!important;height:280px!important}
  .hero-v3 .solar-deck{top:82px!important;height:170px!important;width:82%!important}
  .hero-v3 .energy-core-3d{left:60%!important;top:12px!important;width:82px!important;height:82px!important}
}

/* === V47.6 COMPACT MOBILE HERO / NO OVERLAP === */
@media(max-width:760px){
  .hero-v3{min-height:0!important;height:760px!important}
  .hero-v3 .hero-copy{z-index:50!important}
  .hero-v3 .hero-copy .micro,.hero-v3 .hero-copy h1,.hero-v3 .hero-copy p,.hero-v3 .hero-actions{z-index:51!important}
  .hero-v3 .hero-3d-scene{
    z-index:16!important;
    top:auto!important;bottom:78px!important;
    height:205px!important;
    clip-path:inset(0 0 0 0 round 0)!important;
  }
  .hero-v3 .hero-3d-camera{
    width:96%!important;height:200px!important;
    right:-20%!important;top:0!important;
  }
  .hero-v3 .solar-deck{
    width:76%!important;height:128px!important;
    right:0!important;top:68px!important;gap:5px!important;
  }
  .hero-v3 .energy-core-3d{
    width:68px!important;height:68px!important;
    left:62%!important;top:2px!important;
  }
  .hero-v3 .energy-ring{
    width:132px!important;height:82px!important;
    left:54%!important;top:-7px!important;
  }
  .hero-v3 .cursor-flare-3d{width:90px!important;height:90px!important}
  .hero-v3 .growth-chip{left:20px!important;right:20px!important;bottom:14px!important;z-index:52!important}
}
@media(max-width:430px){
  .hero-v3{height:745px!important}
  .hero-v3 .hero-3d-scene{height:190px!important;bottom:76px!important}
  .hero-v3 .hero-3d-camera{width:100%!important;height:188px!important;right:-22%!important}
  .hero-v3 .solar-deck{width:77%!important;height:116px!important;top:66px!important}
  .hero-v3 .energy-core-3d{width:64px!important;height:64px!important;left:63%!important;top:1px!important}
}

/* === V47.7 MOBILE HERO HARD SEPARATION === */
@media(max-width:760px){
  .hero-v3{height:780px!important;min-height:780px!important}
  .hero-v3 .hero-copy{z-index:60!important}
  .hero-v3 .hero-3d-scene{
    z-index:18!important;
    top:510px!important;
    bottom:auto!important;
    height:150px!important;
    overflow:hidden!important;
  }
  .hero-v3 .hero-3d-camera{
    width:90%!important;height:145px!important;
    right:-14%!important;top:0!important;
  }
  .hero-v3 .solar-deck{
    width:72%!important;height:88px!important;
    right:0!important;top:52px!important;gap:4px!important;
  }
  .hero-v3 .energy-core-3d{
    width:58px!important;height:58px!important;
    left:65%!important;top:0!important;
  }
  .hero-v3 .energy-ring{width:112px!important;height:68px!important;left:58%!important;top:-6px!important}
  .hero-v3 .cursor-flare-3d{display:none!important}
  .hero-v3 .growth-chip{
    position:absolute!important;left:20px!important;right:20px!important;
    bottom:16px!important;z-index:62!important;
  }
}
@media(max-width:430px){
  .hero-v3{height:760px!important;min-height:760px!important}
  .hero-v3 .hero-3d-scene{top:505px!important;height:142px!important}
  .hero-v3 .hero-3d-camera{right:-16%!important;width:92%!important;height:138px!important}
  .hero-v3 .solar-deck{top:50px!important;height:82px!important;width:73%!important}
  .hero-v3 .energy-core-3d{left:66%!important;width:56px!important;height:56px!important}
}

/* === V47.8 MOBILE HERO FINAL ZONED LAYOUT === */
@media(max-width:760px){
  .hero-v3{height:780px!important;min-height:780px!important}
  .hero-v3 .hero-copy{
    position:absolute!important;
    left:20px!important;right:20px!important;
    top:155px!important;
    z-index:70!important;
  }
  .hero-v3 .hero-copy .micro{margin-bottom:18px!important}
  .hero-v3 .hero-copy h1{margin-bottom:14px!important}
  .hero-v3 .hero-copy p{margin-bottom:16px!important}
  .hero-v3 .hero-actions{margin-top:0!important}
  .hero-v3 .hero-3d-scene{
    z-index:20!important;
    top:auto!important;bottom:82px!important;
    height:150px!important;
    overflow:hidden!important;
  }
  .hero-v3 .hero-3d-camera{width:92%!important;height:145px!important;right:-12%!important;top:0!important}
  .hero-v3 .solar-deck{width:72%!important;height:88px!important;right:0!important;top:54px!important;gap:4px!important}
  .hero-v3 .energy-core-3d{width:58px!important;height:58px!important;left:65%!important;top:0!important}
  .hero-v3 .energy-ring{width:112px!important;height:68px!important;left:58%!important;top:-6px!important}
  .hero-v3 .growth-chip{
    position:absolute!important;
    left:20px!important;right:20px!important;
    bottom:12px!important;
    z-index:72!important;
    margin:0!important;
    min-height:58px!important;
  }
}
@media(max-width:430px){
  .hero-v3{height:760px!important;min-height:760px!important}
  .hero-v3 .hero-copy{top:118px!important}
  .hero-v3 .hero-copy .micro{margin-bottom:15px!important}
  .hero-v3 .hero-copy h1{margin-bottom:10px!important}
  .hero-v3 .hero-copy p{margin-bottom:12px!important}
  .hero-v3 .hero-3d-scene{bottom:80px!important;height:142px!important}
  .hero-v3 .hero-3d-camera{right:-14%!important;width:94%!important;height:138px!important}
  .hero-v3 .solar-deck{top:52px!important;height:82px!important;width:73%!important}
  .hero-v3 .energy-core-3d{left:66%!important;width:56px!important;height:56px!important}
  .hero-v3 .growth-chip{bottom:10px!important;min-height:56px!important}
}

/* === V47.9 MOBILE HERO STRUCTURAL FIX === */
@media(max-width:760px){
  .hero-v3{height:760px!important;min-height:760px!important;display:block!important}
  .hero-v3 .hero-copy{
    position:absolute!important;left:20px!important;right:20px!important;top:105px!important;
    z-index:80!important;
  }
  .hero-v3 .hero-copy .micro{margin:0 0 14px!important}
  .hero-v3 .hero-copy h1{margin:0 0 10px!important}
  .hero-v3 .hero-copy p{margin:0 0 14px!important;max-width:100%!important}
  .hero-v3 .hero-actions{margin:0!important;position:relative!important;z-index:82!important}
  .hero-v3 .growth-chip{
    position:absolute!important;left:20px!important;right:auto!important;top:440px!important;bottom:auto!important;
    width:calc(100% - 40px)!important;min-height:54px!important;height:auto!important;
    margin:0!important;z-index:82!important;
  }
  .hero-v3 .hero-3d-scene{
    position:absolute!important;left:0!important;right:0!important;top:515px!important;bottom:auto!important;
    height:155px!important;z-index:24!important;overflow:hidden!important;
  }
  .hero-v3 .hero-3d-camera{width:94%!important;height:150px!important;right:-12%!important;top:0!important}
  .hero-v3 .solar-deck{width:74%!important;height:92px!important;right:0!important;top:55px!important;gap:4px!important}
  .hero-v3 .energy-core-3d{width:60px!important;height:60px!important;left:65%!important;top:0!important}
  .hero-v3 .energy-ring{width:116px!important;height:70px!important;left:58%!important;top:-5px!important}
}
@media(max-width:430px){
  .hero-v3{height:740px!important;min-height:740px!important}
  .hero-v3 .hero-copy{top:92px!important}
  .hero-v3 .growth-chip{top:425px!important}
  .hero-v3 .hero-3d-scene{top:495px!important;height:150px!important}
  .hero-v3 .hero-3d-camera{right:-14%!important;width:96%!important}
}

/* === V48 MOBILE HERO CLEAN LOWER COMPOSITION === */
@media(max-width:760px){
  .hero-v3{height:760px!important;min-height:760px!important}
  .hero-v3 .growth-chip{
    top:405px!important;bottom:auto!important;
    left:20px!important;right:20px!important;
    width:auto!important;min-height:54px!important;
    z-index:84!important;
  }
  .hero-v3 .hero-3d-scene{
    top:485px!important;bottom:auto!important;
    height:205px!important;z-index:26!important;
    overflow:hidden!important;
  }
  .hero-v3 .hero-3d-camera{
    width:108%!important;height:200px!important;
    right:-18%!important;top:0!important;
  }
  .hero-v3 .solar-deck{
    width:82%!important;height:132px!important;
    right:0!important;top:68px!important;gap:5px!important;
  }
  .hero-v3 .energy-core-3d{
    width:82px!important;height:82px!important;
    left:61%!important;top:0!important;
  }
  .hero-v3 .energy-ring{
    width:160px!important;height:98px!important;
    left:51%!important;top:-8px!important;
  }
}
@media(max-width:430px){
  .hero-v3{height:740px!important;min-height:740px!important}
  .hero-v3 .growth-chip{top:390px!important}
  .hero-v3 .hero-3d-scene{top:465px!important;height:205px!important}
  .hero-v3 .hero-3d-camera{width:112%!important;height:200px!important;right:-20%!important}
  .hero-v3 .solar-deck{width:84%!important;height:130px!important;top:68px!important}
  .hero-v3 .energy-core-3d{width:80px!important;height:80px!important;left:62%!important}
}

/* === V48.1 MOBILE: KEEP GROWTH CHIP ABOVE 3D ART === */
@media(max-width:760px){
  .hero-v3 .growth-chip{
    top:382px!important;
    bottom:auto!important;
    z-index:86!important;
  }
  .hero-v3 .hero-3d-scene{
    top:475px!important;
    bottom:auto!important;
    height:220px!important;
  }
  .hero-v3 .hero-3d-camera{height:215px!important}
  .hero-v3 .solar-deck{top:72px!important;height:138px!important}
  .hero-v3 .energy-core-3d{top:10px!important}
  .hero-v3 .energy-ring{top:2px!important}
}
@media(max-width:430px){
  .hero-v3 .growth-chip{top:370px!important}
  .hero-v3 .hero-3d-scene{top:458px!important;height:215px!important}
  .hero-v3 .hero-3d-camera{height:210px!important}
  .hero-v3 .solar-deck{top:70px!important;height:134px!important}
  .hero-v3 .energy-core-3d{top:8px!important}
}

/* === V48.2 MOBILE: HIDE GROWTH CHIP === */
@media(max-width:760px){
  .hero-v3 .growth-chip{display:none!important}
  .hero-v3 .hero-3d-scene{top:410px!important;height:255px!important}
  .hero-v3 .hero-3d-camera{height:245px!important;width:112%!important;right:-18%!important}
  .hero-v3 .solar-deck{top:82px!important;height:154px!important;width:84%!important}
  .hero-v3 .energy-core-3d{top:8px!important;width:88px!important;height:88px!important;left:61%!important}
  .hero-v3 .energy-ring{top:0!important;width:170px!important;height:105px!important}
}
@media(max-width:430px){
  .hero-v3 .hero-3d-scene{top:400px!important;height:250px!important}
  .hero-v3 .hero-3d-camera{height:240px!important;width:114%!important;right:-20%!important}
  .hero-v3 .solar-deck{top:80px!important;height:150px!important;width:85%!important}
  .hero-v3 .energy-core-3d{width:86px!important;height:86px!important;left:62%!important}
}

/* === V48.3 MOBILE 6G RINGS ALWAYS VISIBLE === */
@media(max-width:760px){
  .hero-v3 .hero-3d-scene{overflow:visible!important;z-index:90!important}
  .hero-v3 .hero-3d-camera{overflow:visible!important;z-index:91!important}
  .hero-v3 .energy-ring{z-index:92!important;overflow:visible!important}
  .hero-v3 .energy-core-3d{z-index:94!important;overflow:visible!important}
  .hero-v3 .energy-core-3d i,
  .hero-v3 .energy-core-3d b{z-index:93!important;pointer-events:none!important}
  .hero-v3 .solar-deck{z-index:89!important}
}

/* === V48.4 MOBILE 6G EFFECT UNCLIPPED === */
@media(max-width:760px){
  .hero-v3,
  .hero-v3 .hero-3d-scene,
  .hero-v3 .hero-3d-camera,
  .hero-v3 .energy-core-3d{overflow:visible!important}
  .hero-v3 .hero-3d-scene{clip-path:none!important;contain:none!important;isolation:auto!important}
  .hero-v3 .hero-3d-camera{clip-path:none!important;contain:none!important}
  .hero-v3 .energy-core-3d{clip-path:none!important}
  .hero-v3 .energy-core-3d i,
  .hero-v3 .energy-core-3d b,
  .hero-v3 .energy-ring{clip-path:none!important;overflow:visible!important}
  .hero-v3 .energy-core-3d{
    box-shadow:0 0 35px rgba(255,0,51,.78),0 0 95px rgba(255,0,51,.42),0 0 145px rgba(255,0,51,.20),0 35px 45px rgba(0,0,0,.38)!important
  }
  .hero-v3 .energy-ring{filter:drop-shadow(0 0 12px rgba(255,0,51,.28))!important}
}

/* === V48.5 MOBILE SCI-FI SCROLL REACTOR === */
@media(max-width:760px){
 .hero-v3 .energy-core-3d{transform:translate3d(0,var(--scroll-core-y,0),145px) rotateZ(var(--scroll-core-r,0deg))!important;will-change:transform,filter;filter:brightness(calc(.9 + var(--scroll-p,.5)*.35)) saturate(calc(1 + var(--scroll-p,.5)*.35))}
 .hero-v3 .solar-deck{transform:translate3d(0,var(--scroll-deck-y,0),8px) rotateX(58deg) rotateZ(var(--scroll-deck-r,-5deg))!important;will-change:transform}
 .hero-v3 .energy-ring.ring-a{animation:mobileReactorSpin 7s linear infinite!important}
 .hero-v3 .energy-ring.ring-b{animation:mobileReactorSpinReverse 5s linear infinite!important}
 .hero-v3 .solar-tile:after{opacity:calc(.35 + var(--scroll-p,.5)*.65)!important}
}
@keyframes mobileReactorSpin{to{transform:translateZ(85px) rotateX(67deg) rotateZ(360deg)}}
@keyframes mobileReactorSpinReverse{from{transform:translateZ(110px) rotateX(72deg) rotateZ(34deg)}to{transform:translateZ(110px) rotateX(72deg) rotateZ(-326deg)}}

/* === V48.6 MOBILE HEADER GLASS / CLEAN MENU === */
@media(max-width:760px){
  .site-header{
    top:10px!important;left:12px!important;right:12px!important;
    width:auto!important;min-height:62px!important;
    padding:8px 9px 8px 14px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:22px!important;
    background:rgba(8,10,12,.58)!important;
    -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
    backdrop-filter:blur(18px) saturate(145%)!important;
    box-shadow:0 12px 35px rgba(0,0,0,.28)!important;
    z-index:200!important;
  }
  .site-header .brand{position:relative!important;z-index:202!important;display:flex!important;align-items:center!important;max-width:132px!important}
  .site-header .brand img{max-width:118px!important;height:auto!important;display:block!important}
  .site-header .menu-btn{
    position:relative!important;z-index:203!important;
    width:46px!important;height:46px!important;min-width:46px!important;
    border-radius:15px!important;
    border:1px solid rgba(255,255,255,.22)!important;
    background:rgba(255,255,255,.10)!important;
    -webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;
    display:grid!important;place-items:center!important;padding:0!important;
    box-shadow:inset 0 1px rgba(255,255,255,.15)!important;
  }
  .site-header .menu-btn span{
    position:absolute!important;left:13px!important;width:20px!important;height:1.5px!important;
    border-radius:99px!important;background:#fff!important;
    transform-origin:center!important;transition:transform .28s ease,top .28s ease,width .28s ease!important;
  }
  .site-header .menu-btn span:first-child{top:18px!important}
  .site-header .menu-btn span:last-child{top:27px!important;width:14px!important;left:19px!important}
  .site-header .menu-btn:hover,.site-header .menu-btn:active{background:rgba(255,255,255,.16)!important}
  .hero-v3 .hero-copy{top:112px!important}
}
@media(max-width:430px){
  .site-header{left:10px!important;right:10px!important;top:8px!important}
  .site-header .brand{max-width:120px!important}
  .site-header .brand img{max-width:108px!important}
  .hero-v3 .hero-copy{top:104px!important}
}

/* === V48.7 MOBILE HEADER WIDTH FIX === */
@media(max-width:760px){
  .site-header{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:calc(100% - 24px)!important;
    max-width:none!important;
    box-sizing:border-box!important;
    margin:10px 12px 12px!important;
    min-height:64px!important;
    padding:8px 10px 8px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    overflow:hidden!important;
    transform:none!important;
  }
  .site-header .brand{
    flex:0 1 auto!important;
    max-width:145px!important;
    margin:0!important;
    transform:none!important;
  }
  .site-header .brand img{width:132px!important;max-width:100%!important}
  .site-header .menu-btn{
    position:relative!important;
    inset:auto!important;
    margin:0!important;
    flex:0 0 46px!important;
    transform:none!important;
  }
  .hero-v3{
    width:calc(100% - 24px)!important;
    margin-left:12px!important;
    margin-right:12px!important;
    box-sizing:border-box!important;
  }
  body:before{
    content:""!important;
    position:fixed!important;inset:0!important;
    width:100vw!important;height:100dvh!important;
    background:#080b09!important;
    z-index:-2!important;
    pointer-events:none!important;
  }
}
@media(max-width:430px){
  .site-header{width:calc(100% - 20px)!important;margin:8px 10px 10px!important}
  .hero-v3{width:calc(100% - 20px)!important;margin-left:10px!important;margin-right:10px!important}
  .site-header .brand img{width:122px!important}
}

/* === V48.8 MOBILE FIXED HEADER + EDGE-TO-EDGE HERO === */
@media(max-width:760px){
  .site-header{
    position:fixed!important;
    top:max(8px,env(safe-area-inset-top))!important;
    left:12px!important;right:12px!important;
    width:auto!important;max-width:none!important;
    margin:0!important;
    z-index:9999!important;
  }
  .hero-v3{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  .hero-v3:before,.hero-v3:after{
    left:0!important;right:0!important;width:100%!important;
    border-radius:0!important;
  }
  .hero-v3 .hero-bg,
  .hero-v3 .hero-media,
  .hero-v3 .hero-overlay{
    left:0!important;right:0!important;width:100%!important;
    max-width:none!important;border-radius:0!important;
  }
  .hero-v3 .hero-copy{padding-left:0!important;padding-right:0!important}
}
@media(max-width:430px){
  .site-header{left:10px!important;right:10px!important}
  .hero-v3{width:100%!important;margin-left:0!important;margin-right:0!important}
}

/* === V48.8.1 RESTORE ACCENT-AWARE FLAT ICONS === */
.fi{
 width:1em!important;height:1em!important;display:inline-block!important;
 fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;
 stroke-linecap:round!important;stroke-linejoin:round!important;
 vertical-align:-.12em!important;overflow:visible!important;
}
.liquid-btn b,.pill b,.world-explore b,.project-base>b,
.visual-label>b,.array-legend span:last-child,.footer-v7 a b{
 color:var(--accent)!important;
}
.liquid-btn b{
 display:grid!important;place-items:center!important;
 width:42px!important;height:42px!important;border-radius:50%!important;
 background:var(--accent)!important;color:#fff!important;
 box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 16%,transparent)!important;
}
.liquid-btn b .fi{width:19px!important;height:19px!important;color:#fff!important}
.process-icon,.world-big-icon,.visual-icon,.calc-tabs a>svg,
.config-card>svg,.result-icons svg,.energy-flow svg,.smart-point>svg,
.engineering-grid article>svg{color:var(--accent)!important}
.process-icon .fi,.world-big-icon .fi,.visual-icon .fi,
.config-card>.fi,.result-icons .fi,.energy-flow .fi,.smart-point>.fi,
.engineering-grid article>.fi{stroke:currentColor!important}

/* === V48.8.1a MOBILE LIGHT MODE CONTRAST FIX === */
@media(max-width:760px){
 html[data-theme="light"] body{background:#f3f5ef!important;color:#10120f!important}
 html[data-theme="light"] .process,
 html[data-theme="light"] .visual-solutions,
 html[data-theme="light"] .solar-lab,
 html[data-theme="light"] .smart-loop,
 html[data-theme="light"] .project-showcase,
 html[data-theme="light"] .engineering-modes,
 html[data-theme="light"] .contact{color:#10120f!important}
 html[data-theme="light"] .process .visual-head h2,
 html[data-theme="light"] .visual-head h2,
 html[data-theme="light"] .lab-intro h2{color:#10120f!important}
 html[data-theme="light"] .process .visual-head p,
 html[data-theme="light"] .process .visual-head .micro,
 html[data-theme="light"] .lab-intro p{color:#626a60!important;opacity:1!important}
 html[data-theme="light"] .process-grid article{
   background:#fff!important;color:#10120f!important;
   border-color:rgba(16,18,15,.12)!important;
   box-shadow:0 16px 42px rgba(16,18,15,.06)!important;
 }
 html[data-theme="light"] .process-grid article>b{color:#10120f!important}
 html[data-theme="light"] .process-grid article>p{color:#697067!important}
 html[data-theme="light"] .process-grid article>em{color:#697067!important;opacity:1!important}
 html[data-theme="light"] .process-icon{color:var(--accent)!important;background:transparent!important}
 html[data-theme="light"] .site-header{
   background:rgba(248,250,246,.88)!important;
   border-color:rgba(16,18,15,.13)!important;
   box-shadow:0 12px 35px rgba(16,18,15,.10)!important;
 }
 html[data-theme="light"] .site-header .menu-btn{
   background:rgba(16,18,15,.06)!important;border-color:rgba(16,18,15,.14)!important;
 }
 html[data-theme="light"] .site-header .menu-btn span{background:#10120f!important}
 html[data-theme="light"] .mobile-utility-dock{
   background:rgba(255,255,255,.84)!important;
   border-color:rgba(16,18,15,.12)!important;
   box-shadow:0 12px 35px rgba(16,18,15,.12)!important;
 }
}

/* === V48.8.1b MOBILE LIGHT PAGE BACKGROUND FIX === */
@media(max-width:760px){
 html[data-theme="light"] body:before{background:#f3f5ef!important}
 html[data-theme="dark"] body:before{background:#080b09!important}
}

/* === V48.8.1c MOBILE NO-HOVER + CENTERED MENU ICON === */
@media(max-width:760px){
  /* Touch devices must not retain desktop hover transforms that make cards overlap. */
  .process-grid article:hover,
  .visual-card:hover,
  .smart-point:hover,
  .engineering-grid article:hover,
  .project-card:hover,
  .config-card:hover,
  .appliance-card:hover{
    transform:none!important;
  }
  .process-grid article:hover .process-icon,
  .engineering-grid article:hover>span{
    transform:none!important;
  }

  /* Sleek centered two-line menu glyph. */
  .site-header .menu-btn{
    display:block!important;
    position:relative!important;
    width:46px!important;height:46px!important;min-width:46px!important;
    padding:0!important;
  }
  .site-header .menu-btn span{
    position:absolute!important;
    left:50%!important;
    width:20px!important;height:1.5px!important;
    margin:0!important;border-radius:99px!important;
    transform:translateX(-50%)!important;
  }
  .site-header .menu-btn span:first-child{top:18px!important}
  .site-header .menu-btn span:last-child{top:27px!important;width:14px!important}
}

/* === V48.8.1d DESKTOP APPEARANCE CONTROL INTEGRATION === */
@media(min-width:901px){
  /* Make the colour trigger the third control inside the vertical theme capsule. */
  .theme-rail{
    padding-bottom:46px!important;
    overflow:visible!important;
  }
  body>.accent-picker{
    position:fixed!important;
    left:21px!important;
    top:calc(50% + 43px)!important;
    z-index:82!important;
    margin:0!important;
  }
  body>.accent-picker .accent-main{
    width:24px!important;height:24px!important;
    min-width:24px!important;padding:4px!important;
    display:grid!important;place-items:center!important;
    border:0!important;border-radius:50%!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body>.accent-picker .accent-main>span{
    width:16px!important;height:16px!important;
    display:block!important;border-radius:50%!important;
    background:var(--accent)!important;
    border:2px solid color-mix(in srgb,var(--ink) 24%,transparent)!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)!important;
  }
  body>.accent-picker .accent-studio{
    left:38px!important;right:auto!important;
    top:50%!important;bottom:auto!important;
    transform:translateY(-50%)!important;
  }
}

/* === V48.8.1e DESKTOP HERO / APPEARANCE POLISH === */
@media(min-width:901px){
  /* Compact appearance rail, pinned to the extreme viewport edge. */
  .theme-rail{
    left:5px!important;width:28px!important;padding:6px 4px 34px!important;
    gap:4px!important;border-radius:999px!important;
  }
  .theme-rail span{font-size:8px!important;line-height:1!important}
  .theme-rail span .fi{width:10px!important;height:10px!important}
  .theme-rail i{width:17px!important;height:34px!important;padding:2px!important}
  .theme-rail b{width:11px!important;height:11px!important}
  body>.accent-picker{left:7px!important;top:calc(50% + 34px)!important}
  body>.accent-picker .accent-main{width:24px!important;height:24px!important;padding:5px!important}
  body>.accent-picker .accent-main>span{width:14px!important;height:14px!important}
  body>.accent-picker .accent-studio{left:32px!important}

  /* Give every left-side hero element deliberate breathing room. */
  .hero-v3 .hero-copy{
    left:0!important;
    padding-left:clamp(46px,4vw,72px)!important;
    padding-right:20px!important;
    max-width:650px!important;
  }
  .hero-v3 .hero-copy .micro,
  .hero-v3 .hero-copy h1,
  .hero-v3 .hero-copy>p,
  .hero-v3 .hero-actions,
  .hero-v3 .growth-chip{box-sizing:border-box!important}
}
/* Light mode uses a genuinely light photographic treatment, while retaining image detail. */
html[data-theme="light"] .hero-v3 .hero-bg img{
  filter:brightness(1.16) saturate(.78) contrast(.88)!important;
}
html[data-theme="light"] .hero-v3 .hero-overlay{
  background:
    linear-gradient(90deg,rgba(248,250,246,.92) 0%,rgba(248,250,246,.74) 38%,rgba(248,250,246,.30) 68%,rgba(248,250,246,.16) 100%),
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(245,248,242,.10))!important;
}
html[data-theme="light"] .hero-v3 .hero-vignette{
  background:radial-gradient(circle at 66% 48%,transparent 20%,rgba(245,248,242,.10) 58%,rgba(245,248,242,.32) 100%)!important;
}
html[data-theme="light"] .hero-v3 .hero-copy h1{color:#111611!important;text-shadow:none!important}
html[data-theme="light"] .hero-v3 .hero-copy h1 em{color:var(--accent)!important}
html[data-theme="light"] .hero-v3 .hero-copy>p{color:#3f493f!important}
html[data-theme="light"] .hero-v3 .hero-copy .micro{color:#566056!important}
html[data-theme="light"] .hero-v3 .round-link{
  color:#111611!important;border-color:rgba(17,22,17,.20)!important;background:rgba(255,255,255,.50)!important;
}
html[data-theme="light"] .hero-v3 .growth-chip{
  color:#111611!important;background:rgba(255,255,255,.68)!important;border-color:rgba(17,22,17,.15)!important;
}
html[data-theme="light"] .hero-v3 .growth-chip span{color:#4e584e!important;opacity:1!important}

/* === V48.8.1f DESKTOP HEADER CLEANUP === */
@media(min-width:901px){.site-header>.pill{display:none!important}}

/* === V48.8.1g CENTER DESKTOP THEME TOGGLE === */
@media(min-width:901px){
 .theme-rail i{
   position:relative!important;
   display:flex!important;
   flex-direction:column!important;
   align-items:center!important;
   justify-content:flex-start!important;
   margin-left:auto!important;margin-right:auto!important;
 }
 .theme-rail i b{
   display:block!important;
   flex:0 0 auto!important;
   margin:0 auto!important;
   align-self:center!important;
 }
 html[data-theme="dark"] .theme-rail i{
   align-items:center!important;
   justify-content:flex-end!important;
 }
 html[data-theme="dark"] .theme-rail i b{
   align-self:center!important;
   margin-left:auto!important;margin-right:auto!important;
 }
}

/* === V48.8.1h PIXEL-CENTER DESKTOP TOGGLE KNOB === */
@media(min-width:901px){
 .theme-rail i{
   position:relative!important;
   display:block!important;
   width:17px!important;height:34px!important;
   padding:0!important;
   margin:0 auto!important;
 }
 .theme-rail i b{
   position:absolute!important;
   left:50%!important;right:auto!important;
   top:3px!important;bottom:auto!important;
   width:11px!important;height:11px!important;
   margin:0!important;
   transform:translateX(-50%)!important;
   border-radius:50%!important;
 }
 html[data-theme="dark"] .theme-rail i b{
   left:50%!important;right:auto!important;
   top:auto!important;bottom:3px!important;
   transform:translateX(-50%)!important;
 }
}

/* === V48.8.1i DESKTOP LIQUID-GLASS HEADER === */
@media(min-width:901px){
 .site-header{
   position:relative!important;
   height:76px!important;
   margin:12px auto 16px!important;
   padding:0 22px!important;
   border:1px solid color-mix(in srgb,var(--ink) 10%,transparent)!important;
   border-radius:25px!important;
   background:color-mix(in srgb,var(--glass) 88%,transparent)!important;
   -webkit-backdrop-filter:blur(24px) saturate(155%)!important;
   backdrop-filter:blur(24px) saturate(155%)!important;
   box-shadow:0 16px 45px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.28)!important;
   overflow:hidden!important;
   transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s!important;
 }
 .site-header:before{
   content:""!important;position:absolute!important;inset:-70% -10%!important;
   background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.16) 45%,color-mix(in srgb,var(--accent) 10%,transparent) 52%,transparent 68%)!important;
   transform:translateX(-58%) rotate(-4deg)!important;
   animation:headerGlassSweep 9s ease-in-out infinite!important;
   pointer-events:none!important;
 }
 .site-header:after{
   content:""!important;position:absolute!important;left:8%!important;right:8%!important;bottom:-1px!important;
   height:1px!important;background:linear-gradient(90deg,transparent,var(--accent),transparent)!important;
   opacity:.42!important;pointer-events:none!important;
 }
 .site-header:hover{
   transform:translateY(-2px)!important;
   border-color:color-mix(in srgb,var(--accent) 24%,var(--line))!important;
   box-shadow:0 22px 60px rgba(0,0,0,.12),0 0 34px color-mix(in srgb,var(--accent) 7%,transparent),inset 0 1px 0 rgba(255,255,255,.34)!important;
 }
 .site-header .brand,.site-header nav{position:relative!important;z-index:2!important}
 .site-header .brand img{transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s!important}
 .site-header .brand:hover img{transform:scale(1.035)!important;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--accent) 20%,transparent))!important}
 .site-header nav a{
   position:relative!important;padding:10px 2px!important;
   transition:opacity .25s,color .25s,transform .25s!important;
 }
 .site-header nav a:after{
   content:""!important;position:absolute!important;left:50%!important;bottom:4px!important;
   width:0!important;height:2px!important;border-radius:99px!important;
   background:var(--accent)!important;transform:translateX(-50%)!important;
   box-shadow:0 0 10px color-mix(in srgb,var(--accent) 55%,transparent)!important;
   transition:width .3s cubic-bezier(.2,.8,.2,1)!important;
 }
 .site-header nav a:hover{opacity:1!important;transform:translateY(-1px)!important}
 .site-header nav a:hover:after{width:18px!important}
 html[data-theme="dark"] .site-header{
   background:rgba(12,15,13,.62)!important;
   border-color:rgba(255,255,255,.10)!important;
   box-shadow:0 16px 50px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.08)!important;
 }
 html[data-theme="light"] .site-header{
   background:rgba(250,252,248,.66)!important;
   border-color:rgba(16,18,15,.10)!important;
   box-shadow:0 16px 45px rgba(16,18,15,.08),inset 0 1px rgba(255,255,255,.72)!important;
 }
}
@keyframes headerGlassSweep{
  0%,18%{transform:translateX(-58%) rotate(-4deg)}
  48%,100%{transform:translateX(58%) rotate(-4deg)}
}
@media(prefers-reduced-motion:reduce){
 .site-header:before{animation:none!important}
}

/* === V48.8.1j LIGHT HERO PANEL HARMONY === */
@media(min-width:901px){
 html[data-theme="light"] .hero-v3 .solar-deck{
   filter:brightness(1.38) saturate(.48) contrast(.82)!important;
   opacity:.88!important;
 }
 html[data-theme="light"] .hero-v3 .solar-tile{
   background:
     linear-gradient(135deg,rgba(255,255,255,.34),rgba(220,232,230,.14)),
     linear-gradient(145deg,#9eafb0 0%,#c7d2d1 46%,#879b9e 100%)!important;
   border-color:rgba(255,255,255,.62)!important;
   box-shadow:inset 0 1px rgba(255,255,255,.72),0 8px 22px rgba(25,40,42,.10)!important;
 }
 html[data-theme="light"] .hero-v3 .solar-tile:before{
   border-color:rgba(72,91,94,.16)!important;
   opacity:.58!important;
 }
 html[data-theme="light"] .hero-v3 .solar-tile:after{
   background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.56) 48%,transparent 70%)!important;
   opacity:.52!important;
 }
}

/* === V48.8.1k LIGHT HERO PANELS — ALL SCREENS + VISIBLE GRID === */
html[data-theme="light"] .hero-v3 .solar-deck{
  filter:brightness(1.24) saturate(.58) contrast(.90)!important;
  opacity:.94!important;
}
html[data-theme="light"] .hero-v3 .solar-tile{
  background:
    linear-gradient(118deg,transparent 0 35%,rgba(255,255,255,.42) 48%,transparent 62%),
    linear-gradient(145deg,#91a8ad 0%,#c3d0d1 45%,#829ba1 100%)!important;
  border:1px solid rgba(52,76,82,.46)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.72),0 7px 18px rgba(31,52,56,.13)!important;
}
/* Re-draw panel cell lines with enough contrast for the light palette. */
html[data-theme="light"] .hero-v3 .solar-tile:before{
  content:""!important;position:absolute!important;inset:0!important;
  background:
    repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),rgba(47,72,78,.34) calc(25% - 1px) 25%),
    repeating-linear-gradient(0deg,transparent 0 calc(33.333% - 1px),rgba(47,72,78,.30) calc(33.333% - 1px) 33.333%)!important;
  border:0!important;opacity:1!important;pointer-events:none!important;
}
html[data-theme="light"] .hero-v3 .solar-tile:after{
  background:linear-gradient(110deg,transparent 18%,rgba(255,255,255,.55) 47%,transparent 68%)!important;
  opacity:.46!important;
}
@media(max-width:760px){
 html[data-theme="light"] .hero-v3 .solar-deck{
   filter:brightness(1.18) saturate(.62) contrast(.94)!important;
   opacity:.96!important;
 }
 html[data-theme="light"] .hero-v3 .solar-tile{
   border-color:rgba(45,69,76,.52)!important;
 }
 html[data-theme="light"] .hero-v3 .solar-tile:before{
   background:
     repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),rgba(38,63,70,.40) calc(25% - 1px) 25%),
     repeating-linear-gradient(0deg,transparent 0 calc(33.333% - 1px),rgba(38,63,70,.36) calc(33.333% - 1px) 33.333%)!important;
 }
}

/* === V48.8.1o SOLAR FIELD DESKTOP COPY CLEARANCE === */
@media(min-width:981px){
 .solar-copy{top:clamp(48px,6vh,78px)!important;width:min(720px,48vw)!important}
 .solar-copy h2{font-size:clamp(64px,7vw,108px)!important;margin:10px 0 16px!important}
 .solar-copy p{max-width:620px!important;line-height:1.45!important}
 .solar-copy strong{margin-top:14px!important}
 .solar-copy small{margin-top:6px!important;max-width:600px!important}
 .solar-field{height:min(36vh,340px)!important;max-height:340px!important;bottom:0!important}
}

/* === V48.8.1s HERO SOLAR LIQUID GLASS === */
@media(min-width:761px){
 .hero-v3 .solar-deck{
   isolation:isolate!important;
   filter:drop-shadow(0 22px 34px rgba(0,0,0,.22))!important;
 }
 .hero-v3 .solar-tile{
   position:relative!important;
   overflow:hidden!important;
   border:1px solid rgba(255,255,255,.24)!important;
   background:
     linear-gradient(145deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.035) 34%,transparent 55%),
     linear-gradient(160deg,rgba(26,55,70,.82),rgba(8,20,29,.90))!important;
   box-shadow:
     inset 0 1px 0 rgba(255,255,255,.34),
     inset 0 -1px 0 rgba(255,255,255,.06),
     inset 12px 0 24px rgba(255,255,255,.025),
     0 12px 28px rgba(0,0,0,.24),
     0 0 18px color-mix(in srgb,var(--accent) 8%,transparent)!important;
   -webkit-backdrop-filter:blur(7px) saturate(145%)!important;
   backdrop-filter:blur(7px) saturate(145%)!important;
 }
 .hero-v3 .solar-tile:before{
   border-color:rgba(220,240,246,.15)!important;
   opacity:.82!important;
 }
 .hero-v3 .solar-tile:after{
   content:""!important;
   position:absolute!important;inset:-35% -70%!important;
   background:linear-gradient(108deg,transparent 35%,rgba(255,255,255,.06) 42%,rgba(255,255,255,.48) 50%,rgba(255,255,255,.08) 58%,transparent 66%)!important;
   opacity:.72!important;
   transform:translateX(-38%) skewX(-8deg)!important;
   animation:heroPanelLiquidSweep 7.5s ease-in-out infinite!important;
   pointer-events:none!important;
   mix-blend-mode:screen!important;
 }
 .hero-v3 .solar-tile:nth-child(3n+2):after{animation-delay:-2.4s!important}
 .hero-v3 .solar-tile:nth-child(3n):after{animation-delay:-4.8s!important}

 html[data-theme="light"] .hero-v3 .solar-deck{
   filter:brightness(1.08) saturate(.72) drop-shadow(0 20px 30px rgba(31,48,50,.12))!important;
   opacity:.94!important;
 }
 html[data-theme="light"] .hero-v3 .solar-tile{
   background:
     linear-gradient(145deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.24) 35%,rgba(219,232,231,.16) 56%),
     linear-gradient(155deg,rgba(179,198,199,.72),rgba(116,145,149,.62))!important;
   border-color:rgba(255,255,255,.72)!important;
   box-shadow:
     inset 0 1px 0 rgba(255,255,255,.92),
     inset 0 -1px 0 rgba(255,255,255,.25),
     0 12px 28px rgba(38,58,60,.10),
     0 0 20px color-mix(in srgb,var(--accent) 5%,transparent)!important;
   -webkit-backdrop-filter:blur(9px) saturate(120%)!important;
   backdrop-filter:blur(9px) saturate(120%)!important;
 }
 html[data-theme="light"] .hero-v3 .solar-tile:before{
   border-color:rgba(67,92,96,.14)!important;
   opacity:.58!important;
 }
 html[data-theme="light"] .hero-v3 .solar-tile:after{
   background:linear-gradient(108deg,transparent 34%,rgba(255,255,255,.12) 42%,rgba(255,255,255,.78) 50%,rgba(255,255,255,.18) 58%,transparent 67%)!important;
   opacity:.82!important;
 }
}
@keyframes heroPanelLiquidSweep{
  0%,20%{transform:translateX(-42%) skewX(-8deg)}
  55%,100%{transform:translateX(42%) skewX(-8deg)}
}
@media(prefers-reduced-motion:reduce){
 .hero-v3 .solar-tile:after{animation:none!important}
}

/* === V48.8.1t REACTIVE PANEL LIGHT STREAKS === */
@media(min-width:761px){
 .hero-v3 .solar-tile{
   --streak-phase:0deg;
 }
 .hero-v3 .solar-tile:after{
   background:
     linear-gradient(112deg,
       transparent 26%,
       rgba(255,255,255,.03) 35%,
       rgba(255,255,255,.72) 43%,
       color-mix(in srgb,var(--accent) 34%,rgba(255,255,255,.70)) 46%,
       rgba(255,255,255,.92) 49%,
       rgba(255,255,255,.16) 54%,
       transparent 64%)!important;
   filter:blur(.35px)!important;
   animation:heroPanelEnergyStreak 5.8s cubic-bezier(.22,.72,.25,1) infinite!important;
   will-change:transform,opacity!important;
 }
 .hero-v3 .solar-tile:nth-child(2n):after{animation-duration:6.7s!important;animation-delay:-1.8s!important}
 .hero-v3 .solar-tile:nth-child(3n):after{animation-duration:7.4s!important;animation-delay:-3.4s!important}
 .hero-v3 .solar-tile:nth-child(4n):after{animation-delay:-4.7s!important}
 .hero-v3 .solar-tile:hover:after{
   animation-duration:1.65s!important;
   opacity:1!important;
   filter:blur(0)!important;
 }
 .hero-v3 .solar-tile:hover{
   box-shadow:
     inset 0 1px 0 rgba(255,255,255,.46),
     inset 0 -1px 0 rgba(255,255,255,.08),
     0 12px 30px rgba(0,0,0,.24),
     0 0 26px color-mix(in srgb,var(--accent) 18%,transparent)!important;
 }
 html[data-theme="light"] .hero-v3 .solar-tile:after{
   background:
     linear-gradient(112deg,
       transparent 25%,
       rgba(255,255,255,.12) 34%,
       rgba(255,255,255,.86) 42%,
       color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.90)) 46%,
       #fff 49%,
       rgba(255,255,255,.30) 55%,
       transparent 65%)!important;
 }
}
@keyframes heroPanelEnergyStreak{
  0%,14%{transform:translateX(-58%) skewX(-10deg);opacity:0}
  22%{opacity:.28}
  42%{opacity:.94}
  61%{transform:translateX(54%) skewX(-10deg);opacity:.18}
  62%,100%{transform:translateX(54%) skewX(-10deg);opacity:0}
}
@media(prefers-reduced-motion:reduce){
 .hero-v3 .solar-tile:after{animation:none!important}
}

/* === V48.8.1v MOBILE HERO TYPOGRAPHY CLEARANCE === */
@media(max-width:760px){
 .hero-v3 .hero-copy h1{
   font-size:clamp(48px,13.2vw,66px)!important;
   line-height:.88!important;
   letter-spacing:-.065em!important;
   max-width:92%!important;
 }
 .hero-v3 .hero-copy>p{
   max-width:94%!important;
   font-size:clamp(15px,4vw,17px)!important;
   line-height:1.5!important;
 }
}
@media(max-width:430px){
 .hero-v3 .hero-copy h1{
   font-size:clamp(46px,12.8vw,56px)!important;
   max-width:94%!important;
 }
}

/* === V48.8.1w IMPACT / PROOF STRIP === */
.impact-strip{padding-top:clamp(72px,9vw,130px)!important;padding-bottom:clamp(70px,9vw,125px)!important}
.impact-intro{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr);gap:28px 70px;align-items:end;margin-bottom:44px}
.impact-intro .micro{grid-column:1/-1;color:var(--accent)}
.impact-intro h2{margin:0;font-size:clamp(48px,6.3vw,92px);line-height:.88;letter-spacing:-.065em}
.impact-intro h2 em{font-style:normal;color:var(--accent)}
.impact-intro p{margin:0 0 5px;max-width:580px;color:var(--muted);font-size:clamp(16px,1.4vw,20px);line-height:1.55}
.impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.impact-card{position:relative;min-height:330px;padding:28px;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--card) 94%,transparent),color-mix(in srgb,var(--accent) 3%,var(--card)));transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .45s}
.impact-card:before{content:"";position:absolute;inset:-60% -80%;background:linear-gradient(112deg,transparent 39%,rgba(255,255,255,.28) 48%,color-mix(in srgb,var(--accent) 16%,transparent) 51%,transparent 60%);transform:translateX(-45%);transition:transform .85s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.impact-card:hover{transform:translateY(-9px);border-color:color-mix(in srgb,var(--accent) 36%,var(--line));box-shadow:0 24px 60px rgba(0,0,0,.10),0 0 38px color-mix(in srgb,var(--accent) 7%,transparent)}
.impact-card:hover:before{transform:translateX(45%)}
.impact-icon{position:relative;z-index:2;width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:color-mix(in srgb,var(--accent) 10%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));color:var(--accent);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.impact-icon .fi{width:25px!important;height:25px!important}
.impact-card:hover .impact-icon{transform:rotate(-7deg) scale(1.08);box-shadow:0 0 28px color-mix(in srgb,var(--accent) 18%,transparent)}
.impact-number{position:relative;z-index:2;display:flex;align-items:baseline;gap:7px;margin:58px 0 12px;white-space:nowrap}
.impact-number strong{font-size:clamp(48px,4.6vw,72px);line-height:.8;letter-spacing:-.07em;font-weight:700}
.impact-number b{font:700 clamp(15px,1.4vw,21px) 'DM Mono';color:var(--accent);letter-spacing:-.03em}
.impact-card h3{position:relative;z-index:2;margin:0 0 8px;font-size:19px;letter-spacing:-.025em}
.impact-card p{position:relative;z-index:2;margin:0;color:var(--muted);font-size:13px;line-height:1.5;max-width:250px}
html[data-theme=dark] .impact-card{background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,0,43,.025));box-shadow:inset 0 1px rgba(255,255,255,.05)}
@media(max-width:980px){.impact-grid{grid-template-columns:1fr 1fr}.impact-intro{grid-template-columns:1fr}.impact-intro .micro{grid-column:auto}.impact-card{min-height:290px}.impact-number{margin-top:44px}}
@media(max-width:600px){.impact-strip{padding-top:70px!important}.impact-intro{gap:18px;margin-bottom:28px}.impact-intro h2{font-size:clamp(45px,13vw,62px)}.impact-grid{grid-template-columns:1fr 1fr;gap:9px}.impact-card{min-height:235px;padding:19px;border-radius:22px}.impact-icon{width:43px;height:43px;border-radius:14px}.impact-icon .fi{width:21px!important;height:21px!important}.impact-number{margin:38px 0 10px;gap:4px}.impact-number strong{font-size:clamp(38px,11vw,52px)}.impact-number b{font-size:12px}.impact-card h3{font-size:15px}.impact-card p{font-size:11px;line-height:1.4}}
@media(prefers-reduced-motion:reduce){.impact-card,.impact-card:before,.impact-icon{transition:none!important}}

/* === V48.8.1x AWWWARDS IMPACT MOTION === */
.impact-card{
  isolation:isolate;
  transform-style:preserve-3d;
  background:color-mix(in srgb,var(--card) 96%,transparent)!important;
}
.impact-card:after{
  content:"";position:absolute;z-index:0;width:180px;height:180px;right:-75px;top:-80px;
  border-radius:50%;background:var(--accent);opacity:.055;filter:blur(4px);
  transform:scale(.72);transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .5s;
  pointer-events:none;
}
.impact-card:hover:after{transform:scale(1.35);opacity:.10}
.impact-number{overflow:visible}
.impact-number strong,.impact-number b{
  background:none!important;box-shadow:none!important;border:0!important;padding:0!important;border-radius:0!important;
}
.impact-number b{
  color:var(--ink)!important;opacity:.42!important;font-weight:600!important;
  text-transform:none!important;transition:opacity .35s,transform .35s!important;
}
.impact-card:hover .impact-number b{opacity:.72!important;transform:translateX(3px)}
.impact-number strong{
  background:linear-gradient(110deg,var(--ink) 20%,var(--ink) 62%,color-mix(in srgb,var(--accent) 55%,var(--ink)) 82%,var(--ink) 100%)!important;
  background-size:220% 100%!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
  transition:background-position .75s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1)!important;
}
.impact-card:hover .impact-number strong{background-position:100% 0!important;transform:translateY(-3px)}
.impact-icon{
  background:transparent!important;border:0!important;border-radius:0!important;
  width:48px!important;height:48px!important;place-items:start!important;
  box-shadow:none!important;
}
.impact-icon:after{
  content:"";position:absolute;left:0;bottom:2px;width:22px;height:2px;border-radius:99px;
  background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 55%,transparent);
  transform-origin:left;transition:width .45s cubic-bezier(.16,1,.3,1);
}
.impact-icon .fi{
  width:31px!important;height:31px!important;stroke-width:1.45!important;
  filter:drop-shadow(0 0 0 transparent);transition:transform .55s cubic-bezier(.16,1,.3,1),filter .45s!important;
}
.impact-card:hover .impact-icon{transform:none!important;box-shadow:none!important}
.impact-card:hover .impact-icon:after{width:42px}
.impact-card:hover .impact-icon .fi{
  transform:translate3d(5px,-4px,0) rotate(-5deg)!important;
  filter:drop-shadow(0 7px 9px color-mix(in srgb,var(--accent) 24%,transparent));
}
@media(hover:hover){
 .impact-card{will-change:transform}
 .impact-card:hover{transform:translateY(-10px) perspective(900px) rotateX(1.2deg)!important}
}
@media(max-width:600px){
 .impact-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .impact-card{min-width:0!important;min-height:225px!important;padding:17px!important;border-radius:20px!important}
 .impact-icon{width:39px!important;height:42px!important}
 .impact-icon .fi{width:27px!important;height:27px!important}
 .impact-number{margin:31px 0 10px!important;gap:4px!important;white-space:nowrap!important}
 .impact-number strong{font-size:clamp(35px,10.2vw,47px)!important;letter-spacing:-.075em!important}
 .impact-number b{font-size:10px!important;letter-spacing:-.02em!important}
 .impact-card h3{font-size:14px!important;line-height:1.15!important}
 .impact-card p{font-size:10.5px!important}
}
@media(max-width:370px){
 .impact-card{padding:14px!important}
 .impact-number strong{font-size:34px!important}
 .impact-number b{font-size:9px!important}
}

/* === V48.8.1y SERVICE DOMAINS MOBILE CAROUSEL === */
.visual-solutions .visual-head h2 em{font-style:normal;color:var(--accent)}
.solutions-intro{max-width:560px;margin:16px 0 0;color:var(--muted);font-size:17px;line-height:1.55}
.solution-dots{display:none}
@media(max-width:760px){
 .visual-solutions{width:100%!important;overflow:hidden!important;padding-left:0!important;padding-right:0!important}
 .visual-solutions .visual-head{width:calc(100% - 40px)!important;margin:0 20px 28px!important}
 .visual-solutions .visual-head h2{font-size:clamp(48px,13vw,64px)!important;line-height:.9!important;letter-spacing:-.06em!important}
 .solutions-intro{font-size:15px!important;margin-top:14px!important;max-width:92%!important}
 .visual-solutions .visual-grid{
   display:flex!important;
   grid-template-columns:none!important;
   gap:12px!important;
   width:100%!important;
   overflow-x:auto!important;overflow-y:hidden!important;
   padding:0 20px 8px!important;
   scroll-padding-left:20px!important;
   scroll-snap-type:x mandatory!important;
   -webkit-overflow-scrolling:touch!important;
   scrollbar-width:none!important;
   overscroll-behavior-x:contain!important;
 }
 .visual-solutions .visual-grid::-webkit-scrollbar{display:none!important}
 .visual-solutions .visual-card{
   flex:0 0 min(82vw,410px)!important;
   width:min(82vw,410px)!important;
   height:480px!important;
   min-height:480px!important;
   scroll-snap-align:start!important;
   border-radius:28px!important;
   overflow:hidden!important;
   transform:none!important;
 }
 .visual-card .visual-hover{
   opacity:1!important;transform:none!important;
   justify-content:flex-end!important;
   padding:30px 26px 76px!important;
   background:linear-gradient(180deg,transparent 18%,rgba(5,8,6,.08) 34%,rgba(5,8,6,.88) 82%,rgba(5,8,6,.96) 100%)!important;
 }
 .visual-card .world-big-icon{transform:none!important;margin-bottom:16px!important}
 .visual-card .visual-hover h3{font-size:38px!important;margin:7px 0 10px!important}
 .visual-card .visual-hover p{
   display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;
   overflow:hidden!important;font-size:14px!important;line-height:1.5!important;
 }
 .visual-card .visual-label{display:none!important}
 .solution-dots{
   display:flex!important;justify-content:center!important;align-items:center!important;
   gap:9px!important;margin:19px auto 0!important;height:18px!important;
 }
 .solution-dots i{
   display:block!important;width:7px!important;height:7px!important;border-radius:50%!important;
   background:var(--ink)!important;opacity:.24!important;transition:width .3s,opacity .3s,background .3s!important;
 }
 .solution-dots i.active{width:24px!important;border-radius:99px!important;background:var(--accent)!important;opacity:1!important}
}

/* === V48.8.1z FORCE MOBILE SERVICE SLIDER === */
@media(max-width:760px){
 #solutions{overflow:hidden!important}
 #solutions .visual-grid{
   display:flex!important;
   flex-flow:row nowrap!important;
   grid-template-columns:unset!important;
   grid-template-rows:unset!important;
   align-items:stretch!important;
   justify-content:flex-start!important;
   gap:12px!important;
   width:auto!important;
   max-width:none!important;
   margin:0!important;
   padding:0 20px 10px!important;
   overflow-x:scroll!important;
   overflow-y:hidden!important;
   scroll-snap-type:x mandatory!important;
   scroll-behavior:smooth!important;
   touch-action:pan-x!important;
   -webkit-overflow-scrolling:touch!important;
 }
 #solutions .visual-grid>.visual-card{
   display:block!important;
   flex:0 0 calc(100vw - 64px)!important;
   width:calc(100vw - 64px)!important;
   max-width:410px!important;
   min-width:calc(100vw - 64px)!important;
   height:480px!important;
   margin:0!important;
   scroll-snap-align:center!important;
   scroll-snap-stop:always!important;
 }
 #solutions .visual-grid>.visual-card:nth-child(n){grid-column:auto!important;grid-row:auto!important}
 #solutions .solution-dots{
   display:flex!important;
   position:relative!important;
   z-index:5!important;
   width:100%!important;
   margin:16px 0 0!important;
   padding:0!important;
   justify-content:center!important;
   gap:8px!important;
 }
 #solutions .solution-dots i{
   display:block!important;
   flex:0 0 8px!important;
   width:8px!important;height:8px!important;
   border-radius:50%!important;
 }
 #solutions .solution-dots i.active{flex-basis:24px!important;width:24px!important;border-radius:99px!important}
}

/* === V48.8.1za MOBILE SERVICE CAROUSEL — iOS HARD FIX === */
@media screen and (max-width:760px){
 #solutions .visual-grid{
   display:grid!important;
   grid-auto-flow:column!important;
   grid-auto-columns:calc(100vw - 64px)!important;
   grid-template-columns:none!important;
   grid-template-rows:480px!important;
   column-gap:12px!important;
   row-gap:0!important;
   width:100%!important;
   max-width:100%!important;
   height:500px!important;
   padding:0 20px 20px!important;
   margin:0!important;
   overflow-x:auto!important;
   overflow-y:hidden!important;
   scroll-snap-type:x mandatory!important;
   scroll-padding:0 20px!important;
   -webkit-overflow-scrolling:touch!important;
   touch-action:auto!important;
 }
 #solutions .visual-grid>.visual-card,
 #solutions .visual-grid>.visual-card:nth-child(2),
 #solutions .visual-grid>.visual-card:nth-child(3),
 #solutions .visual-grid>.visual-card:nth-child(4){
   grid-column:auto!important;
   grid-row:1!important;
   width:100%!important;
   min-width:0!important;
   max-width:none!important;
   height:480px!important;
   min-height:480px!important;
   max-height:480px!important;
   margin:0!important;
   scroll-snap-align:start!important;
 }
 #solutions .solution-dots{display:flex!important}
}

/* === V48.8.1zc LIVE SWIPE REACTION === */
@media(max-width:760px){
 #solutions .visual-card{
   --slide-focus:0;
   transition:transform .16s linear,filter .16s linear,opacity .16s linear!important;
   transform:scale(calc(.955 + (var(--slide-focus) * .045))) translateY(calc((1 - var(--slide-focus)) * 8px))!important;
   filter:saturate(calc(.82 + (var(--slide-focus) * .28))) brightness(calc(.86 + (var(--slide-focus) * .14)))!important;
   opacity:calc(.72 + (var(--slide-focus) * .28))!important;
 }
 #solutions .visual-card img{
   transform:scale(calc(1.055 - (var(--slide-focus) * .035))) translateX(calc((.5 - var(--slide-focus)) * 8px))!important;
   transition:transform .12s linear!important;
 }
 #solutions .visual-card .world-big-icon{
   transform:translateY(calc((1 - var(--slide-focus)) * 12px)) scale(calc(.88 + (var(--slide-focus) * .12)))!important;
   opacity:calc(.55 + (var(--slide-focus) * .45))!important;
   transition:transform .12s linear,opacity .12s linear!important;
 }
 #solutions .visual-card .visual-hover h3,
 #solutions .visual-card .world-eyebrow,
 #solutions .visual-card .visual-hover p{
   transform:translateY(calc((1 - var(--slide-focus)) * 10px))!important;
   opacity:calc(.62 + (var(--slide-focus) * .38))!important;
   transition:transform .12s linear,opacity .12s linear!important;
 }
 #solutions .visual-card.is-slide-active{
   box-shadow:0 22px 52px rgba(0,0,0,.24),0 0 30px color-mix(in srgb,var(--accent) 8%,transparent)!important;
 }
}

/* === V48.8.1zd SERVICE ICON LIQUID GLASS ORBS === */
#solutions .world-big-icon{
  position:relative!important;
  width:68px!important;height:68px!important;
  display:grid!important;place-items:center!important;
  border-radius:50%!important;
  color:var(--accent)!important;
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.38),transparent 28%),
    linear-gradient(145deg,rgba(255,255,255,.20),rgba(255,255,255,.055))!important;
  border:1px solid rgba(255,255,255,.28)!important;
  -webkit-backdrop-filter:blur(18px) saturate(165%)!important;
  backdrop-filter:blur(18px) saturate(165%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.46),
    inset 0 -1px 0 rgba(255,255,255,.08),
    0 12px 30px rgba(0,0,0,.20),
    0 0 24px color-mix(in srgb,var(--accent) 12%,transparent)!important;
  overflow:hidden!important;
}
#solutions .world-big-icon:before{
  content:""!important;position:absolute!important;inset:5px!important;border-radius:50%!important;
  border:1px solid rgba(255,255,255,.12)!important;pointer-events:none!important;
}
#solutions .world-big-icon:after{
  content:""!important;position:absolute!important;width:80%!important;height:22%!important;
  left:-65%!important;top:17%!important;border-radius:50%!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.68),transparent)!important;
  transform:rotate(-25deg)!important;filter:blur(2px)!important;opacity:.72!important;
  transition:left .65s cubic-bezier(.16,1,.3,1)!important;pointer-events:none!important;
}
#solutions .visual-card:hover .world-big-icon:after,
#solutions .visual-card.is-slide-active .world-big-icon:after{left:85%!important}
#solutions .world-big-icon .fi{
  position:relative!important;z-index:2!important;width:30px!important;height:30px!important;
  stroke-width:1.8!important;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 38%,transparent))!important;
}
@media(max-width:760px){
 #solutions .world-big-icon{
   width:62px!important;height:62px!important;
   background:
     radial-gradient(circle at 30% 22%,rgba(255,255,255,.42),transparent 28%),
     linear-gradient(145deg,rgba(255,255,255,.19),rgba(10,14,12,.18))!important;
   box-shadow:inset 0 1px rgba(255,255,255,.48),0 10px 28px rgba(0,0,0,.25),0 0 26px color-mix(in srgb,var(--accent) 15%,transparent)!important;
 }
 #solutions .world-big-icon .fi{width:28px!important;height:28px!important}
}

/* === V48.8.1zh LIGHT MODE SERVICE CARDS === */
html[data-theme="light"] #solutions .visual-card{
  background:#fff!important;
  border:1px solid rgba(16,18,15,.11)!important;
  box-shadow:0 18px 48px rgba(20,28,22,.08)!important;
}
html[data-theme="light"] #solutions .visual-card .shade{
  background:linear-gradient(180deg,rgba(255,255,255,.02) 18%,rgba(255,255,255,.36) 48%,rgba(255,255,255,.94) 84%,#fff 100%)!important;
}
html[data-theme="light"] #solutions .visual-card .visual-hover{
  color:#10120f!important;
  background:linear-gradient(180deg,transparent 15%,rgba(255,255,255,.08) 34%,rgba(255,255,255,.88) 78%,#fff 100%)!important;
}
html[data-theme="light"] #solutions .visual-card .visual-hover h3,
html[data-theme="light"] #solutions .visual-card .visual-label h3{color:#10120f!important}
html[data-theme="light"] #solutions .visual-card .visual-hover p,
html[data-theme="light"] #solutions .visual-card .visual-label p{color:#4f584f!important;opacity:1!important}
html[data-theme="light"] #solutions .visual-card .world-eyebrow{color:var(--accent)!important}
html[data-theme="light"] #solutions .visual-label{color:#10120f!important}
html[data-theme="light"] #solutions .world-big-icon{
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.98),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.92),rgba(239,243,238,.68))!important;
  border-color:rgba(16,18,15,.10)!important;
  box-shadow:inset 0 1px 0 #fff,0 12px 30px rgba(22,32,24,.10),0 0 24px color-mix(in srgb,var(--accent) 10%,transparent)!important;
}
html[data-theme="light"] #solutions .world-big-icon:before{border-color:rgba(16,18,15,.07)!important}
html[data-theme="light"] #solutions .visual-card.is-slide-active{
  box-shadow:0 22px 55px rgba(20,28,22,.13),0 0 30px color-mix(in srgb,var(--accent) 7%,transparent)!important;
}
@media(max-width:760px){
 html[data-theme="light"] #solutions .visual-card .shade{
   background:linear-gradient(180deg,rgba(255,255,255,0) 16%,rgba(255,255,255,.10) 36%,rgba(255,255,255,.90) 75%,#fff 100%)!important;
 }
 html[data-theme="light"] #solutions .visual-card .visual-hover{
   background:linear-gradient(180deg,transparent 16%,rgba(255,255,255,.05) 34%,rgba(255,255,255,.88) 76%,#fff 100%)!important;
 }
}

/* === V48.8.1zi SERVICE CARDS NEUTRAL TYPOGRAPHY === */
#solutions .visual-card .world-eyebrow,
html[data-theme="light"] #solutions .visual-card .world-eyebrow{
  color:inherit!important;
  opacity:.68!important;
}
#solutions .visual-card .visual-hover h3,
#solutions .visual-card .visual-label h3{
  color:inherit!important;
}

/* === V48.8.1zk REMOVE SERVICE CARD EYEBROWS === */
#solutions .visual-card .world-eyebrow{display:none!important}


/* === V48.8.1b MOBILE CALCULATOR ACTIVE TAB ICON CONTRAST === */
@media(max-width:760px){
 .calc-tabs a.active>svg,
 .calc-tabs a.active>.fi{
   color:#fff!important;
   stroke:#fff!important;
 }
}


/* === V48.8.1c CALCULATOR ACTIVE TAB ICON WHITE === */
.calc-tabs a.active>svg,
.calc-tabs a.active>.fi{
  color:#fff!important;
  stroke:#fff!important;
}
.calc-tabs a.active>svg path,
.calc-tabs a.active>svg rect,
.calc-tabs a.active>svg circle,
.calc-tabs a.active>svg line,
.calc-tabs a.active>svg polyline,
.calc-tabs a.active>svg polygon{
  stroke:#fff!important;
}


/* === V48.8.1d CALCULATOR ACTIVE TAB WHITE TEXT + APPLIANCE SVG CENTER === */
.calc-tabs a.active,
.calc-tabs a.active span{
  color:#fff!important;
}
.appliance-icon>.fi{
  width:24px!important;
  height:24px!important;
  display:block!important;
  margin:auto!important;
  align-self:center!important;
  justify-self:center!important;
  color:var(--accent)!important;
  stroke:currentColor!important;
  vertical-align:0!important;
}


/* === V48.8.1p FLOATING CONTACT WHITE CONTRAST === */
.contact-floats>a,
.contact-floats>a span{
  color:#fff!important;
}
.ai-float b{
  background:#fff!important;
  color:var(--accent)!important;
  border:1px solid rgba(255,255,255,.9)!important;
}
.whatsapp-float,
.whatsapp-float span{
  color:#fff!important;
}


/* === V48.8.1q WHATSAPP FLOAT CIRCLE ONLY === */
.contact-floats .whatsapp-float{
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  gap:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 46px!important;
}
.contact-floats .whatsapp-float span{
  display:none!important;
}
.contact-floats .whatsapp-float .wa-icon{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
}
.contact-floats .whatsapp-float .wa-icon img{
  width:38px!important;
  height:38px!important;
  display:block!important;
  object-fit:contain!important;
}
@media(max-width:800px){
  .contact-floats .whatsapp-float{
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    flex-basis:48px!important;
    padding:0!important;
  }
  .contact-floats .whatsapp-float .wa-icon,
  .contact-floats .whatsapp-float .wa-icon img{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
  }
}


/* === V48.8.1r DESKTOP HERO HEADLINE SPACING === */
@media(min-width:901px){
  .hero-v3 .hero-copy{
    max-width:980px!important;
  }
  .hero-v3 h1{
    font-size:clamp(64px,6vw,102px)!important;
    line-height:.98!important;
    letter-spacing:-.065em!important;
  }
  .hero-v3 h1 em{
    display:inline-block!important;
    margin-top:.08em!important;
    white-space:nowrap!important;
  }
}


/* === V48.8.1s RED ACCENT BACKGROUNDS USE WHITE FOREGROUND === */
:where(
  .glass-orb,
  .process-grid article:hover .process-icon,
  .config-card>span,
  .smart-point>span,
  .pak-map button:hover,
  .world-big-icon,
  .world-explore b,
  .calc-tabs button.active,
  .calc-tabs a.active,
  .segmented button.active,
  .wa-inline,
  .calc-title>span,
  .project-detail>span,
  .journey-grid b,
  .impact-grid b,
  .business-step>span,
  .instagram-follow:hover,
  .instagram-connect-card>a:hover,
  .dispatch-buttons button.active,
  .name-row button,
  .score-submit button,
  .presence-orbit article>span,
  .battery-orb,
  .backup-dot.on,
  .pill b,
  .liquid-btn b
){
  color:#fff!important;
}
:where(
  .glass-orb,
  .process-grid article:hover .process-icon,
  .config-card>span,
  .smart-point>span,
  .pak-map button:hover,
  .world-big-icon,
  .world-explore b,
  .calc-tabs button.active,
  .calc-tabs a.active,
  .segmented button.active,
  .wa-inline,
  .calc-title>span,
  .project-detail>span,
  .journey-grid b,
  .impact-grid b,
  .business-step>span,
  .instagram-follow:hover,
  .instagram-connect-card>a:hover,
  .dispatch-buttons button.active,
  .name-row button,
  .score-submit button,
  .presence-orbit article>span,
  .battery-orb,
  .backup-dot.on,
  .pill b,
  .liquid-btn b
) .fi,
:where(
  .process-grid article:hover .process-icon,
  .config-card>span,
  .smart-point>span,
  .pak-map button:hover,
  .world-big-icon,
  .world-explore b,
  .calc-tabs button.active,
  .calc-tabs a.active,
  .segmented button.active,
  .wa-inline,
  .presence-orbit article>span,
  .battery-orb,
  .backup-dot.on,
  .pill b,
  .liquid-btn b
) svg{
  color:#fff!important;
  stroke:#fff!important;
}
.ai-float,
.ai-float>span{
  color:#fff!important;
}


/* === V48.8.1t SMALLER HERO HEADLINE === */
@media(min-width:901px){
  .hero-v3 h1{
    font-size:clamp(52px,4.8vw,82px)!important;
    line-height:1!important;
  }
}
@media(max-width:900px){
  .hero-v3 h1{
    font-size:clamp(42px,10.5vw,58px)!important;
    line-height:.98!important;
  }
}


/* === V48.8.1u SMALLER MOBILE HERO HEADLINE === */
@media(max-width:760px){
  .hero-v3 h1{
    font-size:clamp(34px,8.8vw,46px)!important;
    line-height:1.03!important;
    letter-spacing:-.045em!important;
  }
  .hero-v3 h1 em{
    margin-top:.12em!important;
  }
}
@media(max-width:430px){
  .hero-v3 h1{
    font-size:clamp(32px,8.4vw,40px)!important;
  }
}


/* === V48.8.1v SERVICE CAROUSEL ICONS BRAND RED === */
#solutions .world-big-icon,
#solutions .world-big-icon .fi,
#solutions .world-big-icon svg,
#solutions .visual-icon,
#solutions .visual-icon .fi,
#solutions .visual-icon svg{
  color:#e30613!important;
  stroke:#e30613!important;
}
#solutions .world-big-icon path,
#solutions .world-big-icon rect,
#solutions .world-big-icon circle,
#solutions .world-big-icon line,
#solutions .world-big-icon polyline,
#solutions .world-big-icon polygon,
#solutions .visual-icon path,
#solutions .visual-icon rect,
#solutions .visual-icon circle,
#solutions .visual-icon line,
#solutions .visual-icon polyline,
#solutions .visual-icon polygon{
  stroke:#e30613!important;
}


/* === V48.8.1w DESKTOP STORAGE IMAGE HARD FIX === */
@media(min-width:761px){
  #solutions .visual-card{
    position:relative!important;
    background:#0b0f0b!important;
  }
  #solutions .visual-card>img{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:center!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:0!important;
  }
  #solutions .energy-storage-card{
    background-image:url("https://oakelectric.com/wp-content/uploads/2024/05/HomeGrid-Battery-Install.jpg")!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }
  #solutions .energy-storage-card>.shade{
    z-index:1!important;
  }
  #solutions .energy-storage-card>.visual-hover{
    z-index:3!important;
  }
}


/* === V48.8.1x LIGHT MODE PROCESS HOVER ICON BLACK === */
html[data-theme="light"] .process-grid article:hover .process-icon,
html[data-theme="light"] .process-grid article:hover .process-icon .fi,
html[data-theme="light"] .process-grid article:hover .process-icon svg{
  color:#10120f!important;
  stroke:#10120f!important;
}
html[data-theme="light"] .process-grid article:hover .process-icon path,
html[data-theme="light"] .process-grid article:hover .process-icon rect,
html[data-theme="light"] .process-grid article:hover .process-icon circle,
html[data-theme="light"] .process-grid article:hover .process-icon line,
html[data-theme="light"] .process-grid article:hover .process-icon polyline,
html[data-theme="light"] .process-grid article:hover .process-icon polygon{
  stroke:#10120f!important;
}


/* === V48.8.1y PROCESS CARD DETAIL LINKS === */
.process-grid article{
  display:flex!important;
  flex-direction:column!important;
}
.process-grid article .process-icon{flex:0 0 auto}
.process-grid article>p{margin-bottom:14px!important}
.process-grid article>em{display:block!important;margin-top:auto!important}
.process-more{
  position:relative!important;
  z-index:4!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:18px!important;
  padding:10px 14px!important;
  border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line))!important;
  border-radius:999px!important;
  color:var(--ink)!important;
  background:color-mix(in srgb,var(--accent) 7%,transparent)!important;
  font:700 11px/1 var(--mono)!important;
  letter-spacing:.02em!important;
  transition:.25s ease!important;
}
.process-more svg{width:15px!important;height:15px!important;stroke:currentColor!important}
.process-more:hover{
  background:var(--accent)!important;
  color:#10120f!important;
  border-color:var(--accent)!important;
  transform:translateX(3px)!important;
}
@media(max-width:800px){
  .process-more{margin-top:14px!important;padding:10px 13px!important}
}


/* === V48.8.1z SATURN 6G HERO CORE === */
.hero-v3 .hero-3d-camera{
  --sat-core-left:42%;
  --sat-core-top:28%;
  --sat-core-size:154px;
  --sat-core-half:77px;
}
.hero-v3 .energy-core-3d{
  left:var(--sat-core-left)!important;
  top:var(--sat-core-top)!important;
  width:var(--sat-core-size)!important;
  height:var(--sat-core-size)!important;
  z-index:6!important;
  overflow:visible!important;
  transform:translateZ(150px)!important;
  background:
    radial-gradient(circle at 29% 23%,rgba(255,255,255,.96) 0 3%,rgba(255,255,255,.38) 5%,transparent 17%),
    radial-gradient(circle at 36% 30%,#ff7280 0%,#ff1736 30%,#c00025 55%,#670013 79%,#210006 100%)!important;
  border:1px solid rgba(255,255,255,.48)!important;
  box-shadow:
    inset 18px 15px 30px rgba(255,255,255,.16),
    inset -24px -28px 38px rgba(33,0,6,.52),
    0 0 0 1px rgba(255,255,255,.08),
    0 24px 55px rgba(0,0,0,.42),
    0 0 46px rgba(255,0,51,.48),
    0 0 115px rgba(255,0,51,.22)!important;
}
.hero-v3 .energy-core-3d:before{
  content:""!important;
  position:absolute!important;
  inset:9px!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:
    linear-gradient(125deg,rgba(255,255,255,.16),transparent 28%),
    radial-gradient(circle at 68% 76%,rgba(0,0,0,.28),transparent 42%)!important;
  box-shadow:inset 0 0 22px rgba(255,255,255,.05)!important;
  pointer-events:none!important;
}
.hero-v3 .energy-core-3d:after{
  content:""!important;
  position:absolute!important;
  left:18%!important;
  top:12%!important;
  width:48%!important;
  height:30%!important;
  border-radius:50%!important;
  background:radial-gradient(ellipse,rgba(255,255,255,.42),rgba(255,255,255,.08) 46%,transparent 72%)!important;
  filter:blur(4px)!important;
  transform:rotate(-24deg) translateZ(22px)!important;
  pointer-events:none!important;
}
.hero-v3 .energy-core-3d .official-mark-disc{
  position:relative!important;
  z-index:8!important;
  width:82px!important;
  height:82px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  transform:translateZ(34px)!important;
  background:
    radial-gradient(circle at 31% 24%,rgba(255,255,255,.54),transparent 24%),
    linear-gradient(145deg,rgba(255,255,255,.19),rgba(255,255,255,.045))!important;
  border:1px solid rgba(255,255,255,.24)!important;
  -webkit-backdrop-filter:blur(12px) saturate(145%)!important;
  backdrop-filter:blur(12px) saturate(145%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.40),
    inset 0 -12px 22px rgba(55,0,8,.22),
    0 12px 30px rgba(0,0,0,.26)!important;
}
.hero-v3 .energy-core-3d .official-mark-disc img{
  width:64%!important;
  height:64%!important;
  object-fit:contain!important;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.28)) brightness(1.08)!important;
}
.hero-v3 .energy-core-3d>i,
.hero-v3 .energy-core-3d>b{
  position:absolute!important;
  border-radius:50%!important;
  pointer-events:none!important;
}
.hero-v3 .energy-core-3d>i{
  inset:-13px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 0 28px rgba(255,0,51,.20)!important;
  animation:saturnCorePulse 3.2s ease-in-out infinite!important;
}
.hero-v3 .energy-core-3d>b{
  inset:-28px!important;
  border:1px solid rgba(255,20,55,.18)!important;
  box-shadow:0 0 42px rgba(255,0,51,.12)!important;
  animation:saturnCorePulse 3.2s .8s ease-in-out infinite!important;
}

/* Elliptical orbit bands share the exact centre of the 6G orb. */
.hero-v3 .energy-ring{
  position:absolute!important;
  left:calc(var(--sat-core-left) + var(--sat-core-half))!important;
  top:calc(var(--sat-core-top) + var(--sat-core-half))!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  transform-style:preserve-3d!important;
  transform-origin:50% 50%!important;
  pointer-events:none!important;
  opacity:1!important;
  visibility:visible!important;
  background:
    conic-gradient(from 18deg,
      rgba(255,255,255,.02) 0 8%,
      rgba(255,255,255,.78) 13%,
      rgba(255,29,62,.95) 24%,
      rgba(255,255,255,.18) 39%,
      rgba(255,0,45,.72) 53%,
      rgba(255,255,255,.62) 67%,
      rgba(255,20,58,.88) 82%,
      rgba(255,255,255,.04) 100%)!important;
  -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask-composite:exclude!important;
  padding:4px!important;
  box-shadow:
    0 0 22px rgba(255,0,51,.23),
    inset 0 0 12px rgba(255,255,255,.14)!important;
  will-change:transform!important;
}
.hero-v3 .energy-ring:before{
  content:""!important;
  position:absolute!important;
  inset:-5px!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.10)!important;
  filter:drop-shadow(0 0 8px rgba(255,0,51,.32))!important;
}
.hero-v3 .energy-ring.ring-a{
  width:338px!important;
  height:112px!important;
  z-index:5!important;
  animation:saturnRingA 11s linear infinite!important;
}
.hero-v3 .energy-ring.ring-b{
  width:292px!important;
  height:88px!important;
  z-index:7!important;
  opacity:.82!important;
  padding:3px!important;
  animation:saturnRingB 8.4s linear infinite reverse!important;
}
.hero-v3 .energy-ring.ring-c{
  width:390px!important;
  height:138px!important;
  z-index:4!important;
  opacity:.46!important;
  padding:2px!important;
  filter:blur(.15px)!important;
  animation:saturnRingC 15s linear infinite!important;
}
.hero-v3 .cursor-flare-3d{
  width:230px!important;
  height:230px!important;
  z-index:2!important;
  background:radial-gradient(circle,rgba(255,255,255,.64) 0,rgba(255,38,70,.28) 14%,rgba(255,0,45,.11) 37%,transparent 70%)!important;
  filter:blur(7px)!important;
}

@keyframes saturnCorePulse{
  0%,100%{transform:scale(.98);opacity:.34}
  50%{transform:scale(1.08);opacity:.82}
}
@keyframes saturnRingA{
  from{transform:translate(calc(-50% + var(--ring-x,0px)),calc(-50% + var(--ring-y,0px))) translateZ(92px) rotateY(var(--ring-tilt-x,0deg)) rotateX(calc(70deg + var(--ring-tilt-y,0deg))) rotateZ(0deg)}
  to{transform:translate(calc(-50% + var(--ring-x,0px)),calc(-50% + var(--ring-y,0px))) translateZ(92px) rotateY(var(--ring-tilt-x,0deg)) rotateX(calc(70deg + var(--ring-tilt-y,0deg))) rotateZ(360deg)}
}
@keyframes saturnRingB{
  from{transform:translate(calc(-50% + var(--ring-x2,0px)),calc(-50% + var(--ring-y2,0px))) translateZ(164px) rotateY(calc(var(--ring-tilt-x,0deg) * -.65)) rotateX(calc(76deg + var(--ring-tilt-y,0deg))) rotateZ(22deg)}
  to{transform:translate(calc(-50% + var(--ring-x2,0px)),calc(-50% + var(--ring-y2,0px))) translateZ(164px) rotateY(calc(var(--ring-tilt-x,0deg) * -.65)) rotateX(calc(76deg + var(--ring-tilt-y,0deg))) rotateZ(382deg)}
}
@keyframes saturnRingC{
  from{transform:translate(calc(-50% + var(--ring-x3,0px)),calc(-50% + var(--ring-y3,0px))) translateZ(58px) rotateY(calc(var(--ring-tilt-x,0deg) * .45)) rotateX(calc(64deg - var(--ring-tilt-y,0deg))) rotateZ(-18deg)}
  to{transform:translate(calc(-50% + var(--ring-x3,0px)),calc(-50% + var(--ring-y3,0px))) translateZ(58px) rotateY(calc(var(--ring-tilt-x,0deg) * .45)) rotateX(calc(64deg - var(--ring-tilt-y,0deg))) rotateZ(342deg)}
}

@media(max-width:760px){
  .hero-v3 .hero-3d-camera{
    --sat-core-left:42%;
    --sat-core-top:34%;
    --sat-core-size:105px;
    --sat-core-half:52.5px;
  }
  .hero-v3 .energy-core-3d{
    width:105px!important;
    height:105px!important;
    transform:translate3d(0,var(--scroll-core-y,0),145px) rotateZ(var(--scroll-core-r,0deg))!important;
  }
  .hero-v3 .energy-core-3d .official-mark-disc{width:58px!important;height:58px!important}
  .hero-v3 .energy-ring.ring-a{width:232px!important;height:78px!important;animation:saturnRingA 9s linear infinite!important}
  .hero-v3 .energy-ring.ring-b{width:204px!important;height:64px!important;animation:saturnRingB 7s linear infinite reverse!important}
  .hero-v3 .energy-ring.ring-c{width:262px!important;height:92px!important;animation:saturnRingC 13s linear infinite!important}
}
@media(prefers-reduced-motion:reduce){
  .hero-v3 .energy-ring,
  .hero-v3 .energy-core-3d>i,
  .hero-v3 .energy-core-3d>b{animation:none!important}
}


/* === V48.8.1za TRUE WEBGL SUN CORE === */
.hero-v3 .hero-3d-camera{
  --sat-core-size:190px!important;
  --sat-core-half:95px!important;
}
.hero-v3 .energy-core-3d{
  width:190px!important;
  height:190px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.hero-v3 .energy-core-3d:before{
  content:""!important;
  position:absolute!important;
  inset:-34%!important;
  z-index:-2!important;
  border:0!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(255,54,38,.25) 0%,rgba(255,0,35,.14) 32%,rgba(255,0,35,.045) 50%,transparent 71%)!important;
  box-shadow:none!important;
  filter:blur(12px)!important;
  animation:sunCoronaBreath 4.6s ease-in-out infinite!important;
}
.hero-v3 .energy-core-3d:after{
  content:""!important;
  position:absolute!important;
  inset:-12%!important;
  z-index:-1!important;
  width:auto!important;
  height:auto!important;
  left:auto!important;
  top:auto!important;
  border-radius:50%!important;
  border:1px solid rgba(255,91,59,.20)!important;
  background:transparent!important;
  box-shadow:0 0 30px rgba(255,26,38,.22),inset 0 0 28px rgba(255,60,28,.10)!important;
  filter:none!important;
  transform:none!important;
  animation:sunHaloPulse 3.8s ease-in-out infinite!important;
}
.hero-v3 .hero-sun-canvas{
  position:absolute!important;
  z-index:2!important;
  left:-22%!important;
  top:-22%!important;
  width:144%!important;
  height:144%!important;
  display:block!important;
  pointer-events:none!important;
  background:transparent!important;
  filter:drop-shadow(0 20px 28px rgba(0,0,0,.38)) drop-shadow(0 0 22px rgba(255,34,26,.34))!important;
}
.hero-v3 .energy-core-3d .official-mark-disc{
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%) translateZ(48px)!important;
  width:72px!important;
  height:72px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  overflow:visible!important;
  opacity:.96!important;
  pointer-events:none!important;
}
.hero-v3 .energy-core-3d .official-mark-disc img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  filter:brightness(0) invert(1) drop-shadow(0 3px 7px rgba(60,0,0,.48)) drop-shadow(0 0 14px rgba(255,255,255,.18))!important;
}
.hero-v3 .energy-core-3d>i{
  inset:-20px!important;
  z-index:1!important;
  border:1px solid rgba(255,154,89,.16)!important;
  box-shadow:0 0 34px rgba(255,48,24,.14)!important;
  animation:sunOrbitPulse 3.4s ease-in-out infinite!important;
}
.hero-v3 .energy-core-3d>b{
  inset:-38px!important;
  z-index:0!important;
  border:1px solid rgba(255,42,36,.10)!important;
  box-shadow:0 0 48px rgba(255,0,40,.09)!important;
  animation:sunOrbitPulse 4.5s .8s ease-in-out infinite!important;
}
@keyframes sunCoronaBreath{
  0%,100%{transform:scale(.94);opacity:.64}
  50%{transform:scale(1.08);opacity:1}
}
@keyframes sunHaloPulse{
  0%,100%{transform:scale(.98);opacity:.38}
  50%{transform:scale(1.06);opacity:.78}
}
@keyframes sunOrbitPulse{
  0%,100%{transform:scale(.96);opacity:.28}
  50%{transform:scale(1.08);opacity:.66}
}
@media(max-width:760px){
  .hero-v3 .hero-3d-camera{
    --sat-core-size:124px!important;
    --sat-core-half:62px!important;
  }
  .hero-v3 .energy-core-3d{
    width:124px!important;
    height:124px!important;
  }
  .hero-v3 .energy-core-3d .official-mark-disc{
    width:48px!important;
    height:48px!important;
  }
  .hero-v3 .hero-sun-canvas{
    left:-25%!important;
    top:-25%!important;
    width:150%!important;
    height:150%!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-v3 .energy-core-3d:before,
  .hero-v3 .energy-core-3d:after,
  .hero-v3 .energy-core-3d>i,
  .hero-v3 .energy-core-3d>b{animation:none!important}
}


/* === V48.8.1zb HERO SUN EDGE + ORBIT VISIBILITY FIX === */
/* Keep the entire 3D assembly drawable; older hero rules clipped orbit/sun edges. */
.hero-v3 .hero-3d-scene,
.hero-v3 .hero-3d-camera,
.hero-v3 .energy-core-3d{
  overflow:visible!important;
}
.hero-v3 .hero-3d-scene{
  isolation:isolate!important;
}

/* Keep background solar geometry behind every visible part of the sun/orbits. */
.hero-v3 .solar-deck{
  z-index:2!important;
}
.hero-v3 .cursor-flare-3d{
  z-index:3!important;
}
.hero-v3 .energy-ring.ring-c{
  z-index:5!important;
}
.hero-v3 .energy-ring.ring-a{
  z-index:6!important;
}
.hero-v3 .energy-core-3d{
  z-index:8!important;
}
.hero-v3 .energy-ring.ring-b{
  z-index:10!important;
}
.hero-v3 .energy-core-3d .official-mark-disc{
  z-index:12!important;
}

/* Give WebGL substantially more transparent breathing room around the sphere. */
.hero-v3 .hero-sun-canvas{
  left:-32%!important;
  top:-32%!important;
  width:164%!important;
  height:164%!important;
  max-width:none!important;
  overflow:visible!important;
}

/* Prevent masks/drop shadows on the orbit bands from being clipped by their own boxes. */
.hero-v3 .energy-ring{
  overflow:visible!important;
  contain:none!important;
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
}
.hero-v3 .energy-ring:before{
  overflow:visible!important;
}

/* Make the bright orbit sections easier to read on both desktop and mobile. */
.hero-v3 .energy-ring.ring-a,
.hero-v3 .energy-ring.ring-b,
.hero-v3 .energy-ring.ring-c{
  filter:drop-shadow(0 0 7px rgba(255,255,255,.24))
         drop-shadow(0 0 12px rgba(255,0,51,.28))!important;
}

@media(max-width:760px){
  .hero-v3 .hero-sun-canvas{
    left:-38%!important;
    top:-38%!important;
    width:176%!important;
    height:176%!important;
  }
}


/* === V48.8.1zc SAFARI SAFE 3D SUN + ORBITS === */
/* Safari-safe orbit rendering: no composite masks, so no missing white/red sections. */
.hero-v3 .energy-ring{
  background:transparent!important;
  -webkit-mask:none!important;
  mask:none!important;
  padding:0!important;
  border:2px solid rgba(255,255,255,.34)!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  box-shadow:
    0 0 10px rgba(255,255,255,.09),
    0 0 22px rgba(255,0,51,.20),
    inset 0 0 12px rgba(255,0,51,.08)!important;
}
.hero-v3 .energy-ring:before{
  content:""!important;
  position:absolute!important;
  inset:-2px!important;
  border-radius:50%!important;
  border:2px solid transparent!important;
  border-top-color:rgba(255,255,255,.96)!important;
  border-right-color:rgba(255,24,57,.94)!important;
  border-bottom-color:rgba(255,0,43,.36)!important;
  filter:
    drop-shadow(0 0 4px rgba(255,255,255,.28))
    drop-shadow(0 0 8px rgba(255,0,51,.30))!important;
  transform:rotate(18deg)!important;
}
.hero-v3 .energy-ring:after{
  content:""!important;
  position:absolute!important;
  inset:5px!important;
  border-radius:50%!important;
  border:1px solid transparent!important;
  border-left-color:rgba(255,255,255,.38)!important;
  border-bottom-color:rgba(255,0,43,.48)!important;
  transform:rotate(-24deg)!important;
}
.hero-v3 .energy-ring.ring-a{
  border-color:rgba(255,255,255,.38)!important;
  filter:none!important;
}
.hero-v3 .energy-ring.ring-b{
  border-color:rgba(255,255,255,.52)!important;
  filter:none!important;
}
.hero-v3 .energy-ring.ring-c{
  border-color:rgba(255,36,65,.22)!important;
  filter:none!important;
}

/* The WebGL sphere must stay completely above the deck. */
.hero-v3 .energy-core-3d{
  z-index:20!important;
}
.hero-v3 .hero-sun-canvas{
  z-index:21!important;
  opacity:1!important;
  visibility:visible!important;
}
.hero-v3 .energy-core-3d .official-mark-disc{
  z-index:24!important;
}
.hero-v3 .energy-ring.ring-a{z-index:18!important}
.hero-v3 .energy-ring.ring-b{z-index:23!important}
.hero-v3 .energy-ring.ring-c{z-index:17!important}
.hero-v3 .solar-deck{z-index:2!important}

/* Stop any ancestor compositing quirk from cutting the orb. */
.hero-v3 .hero-3d-camera,
.hero-v3 .energy-core-3d,
.hero-v3 .hero-sun-canvas{
  clip-path:none!important;
  -webkit-clip-path:none!important;
  contain:none!important;
}

/* Slightly stronger sphere presence against bright panel backgrounds. */
.hero-v3 .hero-sun-canvas{
  filter:
    drop-shadow(0 20px 28px rgba(0,0,0,.42))
    drop-shadow(0 0 18px rgba(255,42,26,.44))
    drop-shadow(0 0 42px rgba(255,0,35,.22))!important;
}


/* === V48.8.1zd UNIFIED TRUE 3D SUN SCENE === */
/* The old CSS ellipses are disabled: sphere + rings now share one real WebGL scene. */
.hero-v3 .energy-ring{
  display:none!important;
}
.hero-v3 .energy-core-3d{
  width:205px!important;
  height:205px!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  isolation:isolate!important;
}
.hero-v3 .hero-sun-canvas{
  position:absolute!important;
  z-index:20!important;
  left:-76%!important;
  top:-76%!important;
  width:252%!important;
  height:252%!important;
  max-width:none!important;
  display:block!important;
  overflow:visible!important;
  pointer-events:none!important;
  background:transparent!important;
  filter:
    drop-shadow(0 25px 34px rgba(0,0,0,.46))
    drop-shadow(0 0 28px rgba(255,44,22,.26))!important;
}
/* Remove flat halo circles around the new 3D model. */
.hero-v3 .energy-core-3d:before,
.hero-v3 .energy-core-3d:after,
.hero-v3 .energy-core-3d>i,
.hero-v3 .energy-core-3d>b{
  display:none!important;
}
.hero-v3 .energy-core-3d .official-mark-disc{
  z-index:25!important;
  width:58px!important;
  height:58px!important;
  opacity:.92!important;
  transform:translate(-50%,-50%) translateZ(60px)!important;
}
.hero-v3 .energy-core-3d .official-mark-disc img{
  filter:brightness(0) invert(1)
         drop-shadow(0 3px 8px rgba(50,0,0,.48))
         drop-shadow(0 0 10px rgba(255,255,255,.16))!important;
}
@media(max-width:760px){
  .hero-v3 .energy-core-3d{
    width:132px!important;
    height:132px!important;
    transform:translate3d(0,var(--scroll-core-y,0),145px)!important;
  }
  .hero-v3 .hero-sun-canvas{
    left:-92%!important;
    top:-92%!important;
    width:284%!important;
    height:284%!important;
  }
  .hero-v3 .energy-core-3d .official-mark-disc{
    width:42px!important;
    height:42px!important;
  }
}


/* === V48.8.1ze OPAQUE COMPACT 3D SUN === */
.hero-v3 .energy-core-3d{
  width:168px!important;
  height:168px!important;
}
.hero-v3 .hero-sun-canvas{
  left:-56%!important;
  top:-56%!important;
  width:212%!important;
  height:212%!important;
  opacity:1!important;
  filter:
    drop-shadow(0 20px 26px rgba(0,0,0,.38))
    drop-shadow(0 0 18px rgba(255,46,25,.18))!important;
}
.hero-v3 .energy-core-3d .official-mark-disc{
  width:50px!important;
  height:50px!important;
}
@media(max-width:760px){
  .hero-v3 .energy-core-3d{
    width:108px!important;
    height:108px!important;
  }
  .hero-v3 .hero-sun-canvas{
    left:-66%!important;
    top:-66%!important;
    width:232%!important;
    height:232%!important;
  }
  .hero-v3 .energy-core-3d .official-mark-disc{
    width:36px!important;
    height:36px!important;
  }
}


/* === V48.8.1zf FORCE SOLID 3D SUN COMPOSITING === */
.hero-v3 .energy-core-3d,
.hero-v3 .hero-sun-canvas{
  opacity:1!important;
  mix-blend-mode:normal!important;
}
.hero-v3 .hero-sun-canvas{
  filter:drop-shadow(0 20px 28px rgba(0,0,0,.42))!important;
}


/* === V48.8.1zg MOBILE 3D CORE LOCK === */
/* A real 3D sphere should stay spatially anchored on phones. */
@media(max-width:760px),(pointer:coarse){
  .hero-v3 .hero-3d-camera{
    transform:rotateX(-8deg) rotateY(-12deg) translate3d(0,0,0)!important;
    transition:none!important;
  }
  .hero-v3 .energy-core-3d{
    transform:translate3d(0,0,145px)!important;
    will-change:auto!important;
    filter:none!important;
  }
  .hero-v3 .hero-sun-canvas{
    transform:none!important;
  }
}


/* === V48.8.1zh PANEL PARALLAX SUN LOCK === */
/* Sun/camera stay spatially fixed; only the solar deck receives pointer parallax. */
.hero-v3 .hero-3d-camera{
  transform:rotateX(-8deg) rotateY(-12deg) translate3d(0,0,0)!important;
  transition:none!important;
}
.hero-v3 .energy-core-3d{
  transform:translateZ(150px)!important;
}
.hero-v3 .solar-deck{
  transform:
    translate3d(var(--deck-x,0px),var(--deck-y,0px),10px)
    rotateX(calc(62deg + var(--deck-ry,0deg)))
    rotateY(var(--deck-rx,0deg))
    rotateZ(calc(-7deg + var(--deck-rz,0deg)))!important;
  transform-origin:50% 50%!important;
  transition:none!important;
  will-change:transform!important;
}
@media(max-width:760px),(pointer:coarse){
  .hero-v3 .energy-core-3d{
    transform:translate3d(0,0,145px)!important;
  }
  .hero-v3 .solar-deck{
    transform:
      translate3d(var(--deck-x,0px),var(--deck-y,0px),8px)
      rotateX(calc(58deg + var(--deck-ry,0deg)))
      rotateY(var(--deck-rx,0deg))
      rotateZ(calc(-5deg + var(--deck-rz,0deg)))!important;
  }
}


/* === V48.8.1zi SMALLER SUN + MOVING ORBIT SCENE === */
.hero-v3 .energy-core-3d{
  width:142px!important;
  height:142px!important;
}
.hero-v3 .hero-sun-canvas{
  left:-62%!important;
  top:-62%!important;
  width:224%!important;
  height:224%!important;
}
.hero-v3 .energy-core-3d .official-mark-disc{
  width:42px!important;
  height:42px!important;
}
@media(max-width:760px),(pointer:coarse){
  .hero-v3 .energy-core-3d{
    width:92px!important;
    height:92px!important;
  }
  .hero-v3 .hero-sun-canvas{
    left:-76%!important;
    top:-76%!important;
    width:252%!important;
    height:252%!important;
  }
  .hero-v3 .energy-core-3d .official-mark-disc{
    width:29px!important;
    height:29px!important;
  }
}


/* === V48.8.1zj SUN LEAD + PANEL FOLLOW MOTION === */
/* Sun floats gently. Panel deck follows with a smaller delayed drift, plus its own parallax. */
.hero-v3 .energy-core-3d{
  transform:translate3d(var(--sun-x,0px),var(--sun-y,0px),150px)!important;
  will-change:transform!important;
}
.hero-v3 .solar-deck{
  transform:
    translate3d(
      calc(var(--deck-x,0px) + var(--panel-follow-x,0px)),
      calc(var(--deck-y,0px) + var(--panel-follow-y,0px)),
      10px
    )
    rotateX(calc(62deg + var(--deck-ry,0deg)))
    rotateY(var(--deck-rx,0deg))
    rotateZ(calc(-7deg + var(--deck-rz,0deg)))!important;
}
@media(max-width:760px),(pointer:coarse){
  .hero-v3 .energy-core-3d{
    transform:translate3d(var(--sun-x,0px),var(--sun-y,0px),145px)!important;
  }
  .hero-v3 .solar-deck{
    transform:
      translate3d(
        calc(var(--deck-x,0px) + var(--panel-follow-x,0px)),
        calc(var(--deck-y,0px) + var(--panel-follow-y,0px)),
        8px
      )
      rotateX(calc(58deg + var(--deck-ry,0deg)))
      rotateY(var(--deck-rx,0deg))
      rotateZ(calc(-5deg + var(--deck-rz,0deg)))!important;
  }
}


/* === V48.8.1zk THEME SUN POLISH + PANEL RED REFLECTION === */
/* Give each panel a warm red reflection from the nearby sun without losing the blue cells. */
.hero-v3 .solar-tile{
  background:
    radial-gradient(ellipse at 42% 20%,
      rgba(255,48,28,.34) 0%,
      rgba(255,29,29,.18) 21%,
      rgba(255,15,28,.07) 38%,
      transparent 58%),
    linear-gradient(135deg,
      rgba(55,98,135,.90),
      rgba(7,18,29,.97) 48%,
      rgba(32,65,91,.94))!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    inset 0 0 26px rgba(71,158,255,.12),
    inset 0 8px 24px rgba(255,36,24,.12),
    0 8px 0 #050b10,
    0 13px 20px rgba(0,0,0,.38)!important;
}

/* Existing travelling highlight now picks up a stronger red solar flare. */
.hero-v3 .solar-tile:after{
  background:
    radial-gradient(circle at 48% 48%,
      rgba(255,38,24,.25) 0%,
      rgba(255,28,38,.12) 22%,
      transparent 46%),
    linear-gradient(110deg,
      transparent 36%,
      rgba(255,255,255,.52) 48%,
      rgba(255,62,72,.38) 52%,
      rgba(255,22,34,.14) 57%,
      transparent 64%)!important;
}

/* Light mode: retain panel contrast and red reflection without making the sun look bleached. */
html[data-theme="light"] .hero-v3 .hero-sun-canvas{
  filter:
    drop-shadow(0 18px 24px rgba(88,0,8,.24))
    drop-shadow(0 0 12px rgba(255,40,26,.18))!important;
}
html[data-theme="light"] .hero-v3 .solar-tile{
  background:
    radial-gradient(ellipse at 42% 20%,
      rgba(255,46,25,.30) 0%,
      rgba(255,32,30,.17) 22%,
      rgba(255,18,30,.06) 39%,
      transparent 58%),
    linear-gradient(135deg,
      rgba(73,112,143,.94),
      rgba(14,31,45,.97) 48%,
      rgba(42,77,103,.95))!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.14),
    inset 0 0 24px rgba(88,164,222,.11),
    inset 0 8px 22px rgba(255,38,25,.11),
    0 8px 0 rgba(11,25,35,.92),
    0 13px 22px rgba(16,25,31,.20)!important;
}


/* === V48.8.1zl KEEP PANELS DARK IN LIGHT MODE === */
/* Light theme keeps the solar array dark/photovoltaic instead of recolouring it pale. */
html[data-theme="light"] .hero-v3 .solar-tile{
  border-color:rgba(168,213,255,.45)!important;
  background:
    radial-gradient(ellipse at 42% 20%,
      rgba(255,48,28,.34) 0%,
      rgba(255,29,29,.18) 21%,
      rgba(255,15,28,.07) 38%,
      transparent 58%),
    linear-gradient(135deg,
      rgba(55,98,135,.90),
      rgba(7,18,29,.97) 48%,
      rgba(32,65,91,.94))!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    inset 0 0 26px rgba(71,158,255,.12),
    inset 0 8px 24px rgba(255,36,24,.12),
    0 8px 0 #050b10,
    0 13px 20px rgba(0,0,0,.38)!important;
}
html[data-theme="light"] .hero-v3 .solar-tile:before{
  background:
    linear-gradient(90deg,transparent 48%,rgba(180,220,255,.20) 50%,transparent 52%),
    linear-gradient(0deg,transparent 48%,rgba(180,220,255,.18) 50%,transparent 52%)!important;
  background-size:25% 100%,100% 33.33%!important;
  opacity:.75!important;
}
html[data-theme="light"] .hero-v3 .solar-tile:after{
  background:
    radial-gradient(circle at 48% 48%,
      rgba(255,38,24,.25) 0%,
      rgba(255,28,38,.12) 22%,
      transparent 46%),
    linear-gradient(110deg,
      transparent 36%,
      rgba(255,255,255,.52) 48%,
      rgba(255,62,72,.38) 52%,
      rgba(255,22,34,.14) 57%,
      transparent 64%)!important;
}


/* === V48.8.1zm DYNAMIC SUN COLOR SHIFT ON PANELS === */
/* The red cast now moves with the sun instead of being a fixed tint. */
.hero-v3 .solar-tile{
  background:
    radial-gradient(
      ellipse 78% 66% at var(--sun-reflect-x,50%) var(--sun-reflect-y,18%),
      rgba(255,42,24,calc(.72 * var(--sun-reflect-pulse,.8))) 0%,
      rgba(255,24,28,calc(.48 * var(--sun-reflect-pulse,.8))) 20%,
      rgba(214,10,35,calc(.25 * var(--sun-reflect-pulse,.8))) 38%,
      rgba(110,0,24,calc(.10 * var(--sun-reflect-pulse,.8))) 52%,
      transparent 70%
    ),
    linear-gradient(135deg,
      rgba(48,91,128,.94),
      rgba(5,15,25,.98) 48%,
      rgba(26,57,83,.96))!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.06),
    inset 0 0 28px rgba(66,148,255,.11),
    inset 0 12px 34px rgba(255,28,22,calc(.28 * var(--sun-reflect-pulse,.8))),
    inset -12px -8px 30px rgba(180,0,30,calc(.14 * var(--sun-reflect-pulse,.8))),
    0 8px 0 #050b10,
    0 13px 20px rgba(0,0,0,.40)!important;
  transition:border-color .18s linear,box-shadow .18s linear!important;
}

/* Keep the cell grid readable while allowing the red cast underneath it. */
.hero-v3 .solar-tile:before{
  z-index:2!important;
  mix-blend-mode:screen!important;
}

/* Moving specular streak + red flare above the cells. */
.hero-v3 .solar-tile:after{
  z-index:3!important;
  opacity:.95!important;
  background:
    radial-gradient(
      circle at var(--sun-reflect-x,50%) var(--sun-reflect-y,18%),
      rgba(255,65,38,calc(.58 * var(--sun-reflect-pulse,.8))) 0%,
      rgba(255,28,38,calc(.30 * var(--sun-reflect-pulse,.8))) 24%,
      transparent 51%
    ),
    linear-gradient(110deg,
      transparent 35%,
      rgba(255,255,255,.54) 47%,
      rgba(255,78,72,.58) 51%,
      rgba(255,22,38,.28) 57%,
      transparent 66%)!important;
  mix-blend-mode:screen!important;
}

/* Light mode still uses dark panels, but the moving red color cast remains clearly visible. */
html[data-theme="light"] .hero-v3 .solar-tile{
  border-color:rgba(170,211,239,.50)!important;
  background:
    radial-gradient(
      ellipse 82% 70% at var(--sun-reflect-x,50%) var(--sun-reflect-y,18%),
      rgba(255,48,27,calc(.76 * var(--sun-reflect-pulse,.8))) 0%,
      rgba(246,25,31,calc(.50 * var(--sun-reflect-pulse,.8))) 21%,
      rgba(195,8,35,calc(.27 * var(--sun-reflect-pulse,.8))) 39%,
      rgba(100,0,25,calc(.11 * var(--sun-reflect-pulse,.8))) 54%,
      transparent 71%
    ),
    linear-gradient(135deg,
      rgba(49,91,126,.95),
      rgba(5,16,26,.985) 48%,
      rgba(27,58,82,.965))!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    inset 0 0 28px rgba(70,150,255,.10),
    inset 0 12px 34px rgba(255,28,22,calc(.30 * var(--sun-reflect-pulse,.8))),
    inset -12px -8px 30px rgba(180,0,30,calc(.15 * var(--sun-reflect-pulse,.8))),
    0 8px 0 #050b10,
    0 13px 20px rgba(0,0,0,.32)!important;
}

/* Small per-tile variation prevents the array from looking like one flat red sheet. */
.hero-v3 .solar-tile:nth-child(3n+1){filter:saturate(1.10) brightness(.96)}
.hero-v3 .solar-tile:nth-child(3n+2){filter:saturate(1.18) brightness(1.02)}
.hero-v3 .solar-tile:nth-child(3n){filter:saturate(1.14) brightness(.99)}


/* === V48.8.1zn DECK-WIDE SUN REFLECTION === */
/* Reset every panel to a dark photovoltaic base; the red light now comes from one deck-wide pool. */
.hero-v3 .solar-deck{
  position:absolute!important;
}
.hero-v3 .solar-tile,
html[data-theme="light"] .hero-v3 .solar-tile{
  background:
    linear-gradient(135deg,
      rgba(48,91,128,.95),
      rgba(5,15,25,.985) 48%,
      rgba(26,57,83,.97))!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.06),
    inset 0 0 28px rgba(66,148,255,.11),
    0 8px 0 #050b10,
    0 13px 20px rgba(0,0,0,.40)!important;
}

/* Remove the repeated local red flare from each tile. Keep only the moving white/specular streak. */
.hero-v3 .solar-tile:after,
html[data-theme="light"] .hero-v3 .solar-tile:after{
  background:
    linear-gradient(110deg,
      transparent 35%,
      rgba(255,255,255,.50) 47%,
      rgba(255,188,190,.28) 52%,
      transparent 65%)!important;
  opacity:.72!important;
}

/* One continuous red reflection travels across the entire array. */
.hero-v3 .solar-deck:after{
  content:""!important;
  position:absolute!important;
  z-index:8!important;
  pointer-events:none!important;
  inset:-8%!important;
  border-radius:18px!important;
  background:
    radial-gradient(
      ellipse 42% 48% at var(--sun-reflect-x,50%) var(--sun-reflect-y,28%),
      rgba(255,72,42,calc(.80 * var(--sun-reflect-pulse,.8))) 0%,
      rgba(255,34,35,calc(.58 * var(--sun-reflect-pulse,.8))) 24%,
      rgba(220,8,42,calc(.34 * var(--sun-reflect-pulse,.8))) 43%,
      rgba(145,0,36,calc(.14 * var(--sun-reflect-pulse,.8))) 58%,
      transparent 74%
    )!important;
  mix-blend-mode:screen!important;
  filter:blur(6px) saturate(1.18)!important;
  opacity:.95!important;
  transform:translateZ(9px)!important;
  will-change:background-position,opacity!important;
}

/* A tighter hot core makes only a few nearby panels catch the strongest red. */
.hero-v3 .solar-deck:before{
  content:""!important;
  position:absolute!important;
  z-index:9!important;
  pointer-events:none!important;
  inset:-3%!important;
  border-radius:16px!important;
  background:
    radial-gradient(
      ellipse 24% 30% at var(--sun-reflect-x,50%) var(--sun-reflect-y,28%),
      rgba(255,118,78,calc(.56 * var(--sun-reflect-pulse,.8))) 0%,
      rgba(255,42,32,calc(.34 * var(--sun-reflect-pulse,.8))) 38%,
      transparent 72%
    )!important;
  mix-blend-mode:screen!important;
  filter:blur(3px)!important;
  transform:translateZ(11px)!important;
}

/* Light mode keeps the array dark; only the deck-wide reflected light changes its colour locally. */
html[data-theme="light"] .hero-v3 .solar-deck:after{
  opacity:.90!important;
  filter:blur(6px) saturate(1.12)!important;
}


/* === V48.8.1zo HERO-STYLE EASTER SOLAR FIELD === */
/* Easter egg now shares the hero's dark photovoltaic visual language. */
.solar-easter .tracker-panel{
  border:1px solid rgba(168,213,255,.45)!important;
  border-radius:7px!important;
  background:
    radial-gradient(
      circle at var(--shine-x,50%) var(--shine-y,50%),
      rgba(255,46,28,calc(.72 * var(--sun-heat,0))) 0%,
      rgba(255,24,35,calc(.38 * var(--sun-heat,0))) 22%,
      rgba(176,0,31,calc(.15 * var(--sun-heat,0))) 42%,
      transparent 64%
    ),
    linear-gradient(135deg,
      rgba(48,91,128,.95),
      rgba(5,15,25,.985) 48%,
      rgba(26,57,83,.97))!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    inset 0 0 26px rgba(71,158,255,.12),
    inset 0 9px 28px rgba(255,31,24,calc(.28 * var(--sun-heat,0))),
    0 8px 0 #050b10,
    0 13px 20px rgba(0,0,0,.42)!important;
  overflow:hidden!important;
  transform:
    rotateX(var(--tilt-y,0deg))
    rotateY(var(--tilt-x,0deg))!important;
  transform-style:preserve-3d!important;
  transition:border-color .15s linear,box-shadow .15s linear!important;
}

/* Same 4x3 photovoltaic cell grid used by the hero panels. */
.solar-easter .tracker-panel:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  border-radius:inherit!important;
  background:
    linear-gradient(90deg,
      transparent 48%,rgba(180,220,255,.20) 50%,transparent 52%),
    linear-gradient(0deg,
      transparent 48%,rgba(180,220,255,.18) 50%,transparent 52%)!important;
  background-size:25% 100%,100% 33.33%!important;
  opacity:.78!important;
  mix-blend-mode:screen!important;
  pointer-events:none!important;
}

/* Hero-like travelling white/red highlight flowing across every tracker. */
.solar-easter .tracker-panel:after{
  content:""!important;
  position:absolute!important;
  inset:-42%!important;
  z-index:3!important;
  border-radius:inherit!important;
  background:
    radial-gradient(
      circle at var(--shine-x,50%) var(--shine-y,50%),
      rgba(255,72,42,calc(.54 * var(--sun-heat,0))) 0%,
      rgba(255,31,42,calc(.28 * var(--sun-heat,0))) 24%,
      transparent 50%
    ),
    linear-gradient(110deg,
      transparent 36%,
      rgba(255,255,255,.52) 48%,
      rgba(255,76,78,.40) 52%,
      rgba(255,26,42,.16) 57%,
      transparent 64%)!important;
  transform:translateX(var(--flow,-70%))!important;
  mix-blend-mode:screen!important;
  opacity:.92!important;
  pointer-events:none!important;
  will-change:transform!important;
}

/* Keep the hidden runner tile consistent while remaining discoverable. */
.solar-easter .secret-tracker .tracker-panel{
  border-color:rgba(255,211,77,.88)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.06),
    inset 0 0 26px rgba(71,158,255,.12),
    inset 0 9px 28px rgba(255,31,24,calc(.30 * var(--sun-heat,0))),
    0 0 0 2px rgba(255,211,77,.20),
    0 0 28px rgba(255,211,77,.30),
    0 13px 20px rgba(0,0,0,.42)!important;
}

/* Replace the old yellow 2D sun disc with the same dotted 3D visual language as the hero. */
.solar-easter .hero-style-easter-sun{
  width:118px!important;
  height:118px!important;
  margin:-59px 0 0 -59px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  overflow:visible!important;
  isolation:isolate!important;
  transform:translateZ(0)!important;
}
.solar-easter .hero-style-easter-sun #easterSunCanvas{
  position:absolute!important;
  z-index:1!important;
  left:-70%!important;
  top:-70%!important;
  width:240%!important;
  height:240%!important;
  display:block!important;
  max-width:none!important;
  background:transparent!important;
  filter:
    drop-shadow(0 18px 26px rgba(0,0,0,.44))
    drop-shadow(0 0 20px rgba(255,42,26,.26))!important;
}
.solar-easter .easter-sun-mark{
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  top:50%!important;
  width:34px!important;
  height:34px!important;
  transform:translate(-50%,-50%)!important;
  display:grid!important;
  place-items:center!important;
  pointer-events:none!important;
}
.solar-easter .easter-sun-mark img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  filter:
    brightness(0) invert(1)
    drop-shadow(0 2px 6px rgba(60,0,0,.46))
    drop-shadow(0 0 10px rgba(255,255,255,.16))!important;
}

/* Light mode does not recolour the Easter egg panels — they stay dark just like hero panels. */
html[data-theme="light"] .solar-easter .tracker-panel{
  border-color:rgba(168,213,255,.45)!important;
}

@media(max-width:760px){
  .solar-easter .hero-style-easter-sun{
    width:86px!important;
    height:86px!important;
    margin:-43px 0 0 -43px!important;
  }
  .solar-easter .easter-sun-mark{
    width:25px!important;
    height:25px!important;
  }
  .solar-easter .hero-style-easter-sun #easterSunCanvas{
    left:-82%!important;
    top:-82%!important;
    width:264%!important;
    height:264%!important;
  }
}


/* === V48.8.1zp SMALL RINGLESS EASTER SUN === */
.solar-easter .hero-style-easter-sun{
  width:74px!important;
  height:74px!important;
  margin:-37px 0 0 -37px!important;
}
.solar-easter .hero-style-easter-sun #easterSunCanvas{
  left:-78%!important;
  top:-78%!important;
  width:256%!important;
  height:256%!important;
  filter:
    drop-shadow(0 12px 18px rgba(0,0,0,.36))
    drop-shadow(0 0 12px rgba(255,42,26,.20))!important;
}
.solar-easter .easter-sun-mark{
  width:22px!important;
  height:22px!important;
}
@media(max-width:760px){
  .solar-easter .hero-style-easter-sun{
    width:56px!important;
    height:56px!important;
    margin:-28px 0 0 -28px!important;
  }
  .solar-easter .hero-style-easter-sun #easterSunCanvas{
    left:-92%!important;
    top:-92%!important;
    width:284%!important;
    height:284%!important;
  }
  .solar-easter .easter-sun-mark{
    width:16px!important;
    height:16px!important;
  }
}


/* === V48.8.1zq EASTER MOBILE DRAG LOCK === */
/* Prevent iOS/Android pan, rubber-band and accidental vertical field movement while tracking the sun. */
.solar-easter,
.solar-easter .solar-sky,
.solar-easter .solar-field{
  touch-action:none!important;
  overscroll-behavior:none!important;
  -webkit-overflow-scrolling:auto!important;
}
.solar-easter{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-height:100dvh!important;
}
.solar-easter .solar-sky{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
@media(max-width:760px){
  .solar-easter,
  .solar-easter .solar-sky,
  .solar-easter .solar-field,
  .solar-easter .tracker,
  .solar-easter .tracker-panel{
    touch-action:none!important;
    overscroll-behavior:none!important;
  }
  .solar-easter .solar-field{
    position:absolute!important;
    bottom:0!important;
    top:auto!important;
    translate:none!important;
    margin:0!important;
  }
  /* Interactive exceptions remain tappable without turning the whole field back into a scroll surface. */
  .solar-easter .easter-close,
  .solar-easter .secret-tracker{
    touch-action:manipulation!important;
  }
}


/* === V48.8.1zr HERO SUN SCROLL-TO-HEADER DOCK === */
/* The real hero WebGL sun is portaled to <body>; this invisible anchor keeps its exact hero home position. */
.hero-v3 .sun-home-anchor{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  background:transparent!important;
  box-shadow:none!important;
  border-color:transparent!important;
}

/* The same live Three.js sun follows the anchor, then docks beside the logo. */
body>.scroll-sun-live{
  position:fixed!important;
  left:0!important;
  top:0!important;
  width:var(--scroll-sun-home-size,80px)!important;
  height:var(--scroll-sun-home-size,80px)!important;
  margin:0!important;
  transform:translate3d(var(--scroll-sun-left,0px),var(--scroll-sun-top,0px),0) scale(var(--scroll-sun-scale,1))!important;
  transform-origin:0 0!important;
  transform-style:flat!important;
  z-index:10020!important;
  pointer-events:none!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  transition:
    filter .25s ease,
    box-shadow .25s ease!important;
  will-change:transform!important;
}

/* Preserve the same hero sun framing after it leaves the hero DOM tree. */
body>.scroll-sun-live .hero-sun-canvas{
  position:absolute!important;
  z-index:21!important;
  left:-62%!important;
  top:-62%!important;
  width:224%!important;
  height:224%!important;
  max-width:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  transform:none!important;
  mix-blend-mode:normal!important;
  filter:drop-shadow(0 20px 28px rgba(0,0,0,.42))!important;
}
body>.scroll-sun-live .official-mark-disc{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  inset:auto!important;
  width:30%!important;
  height:30%!important;
  transform:translate(-50%,-50%)!important;
  z-index:24!important;
}
body>.scroll-sun-live .official-mark-disc img{
  width:76%!important;
  height:76%!important;
  object-fit:contain!important;
  filter:none!important;
}

/* Once docked, keep it compact and crisp beside the header logo. */
body.sun-header-docked>.scroll-sun-live{
  filter:saturate(1.08) brightness(1.03)!important;
}
body.sun-header-docked>.scroll-sun-live .official-mark-disc{
  width:36%!important;
  height:36%!important;
}

/* Desktop header remains available for the docked sun all the way down the page. */
@media(min-width:761px){
  .site-header{
    position:sticky!important;
    top:0!important;
    z-index:9999!important;
  }
  body.sun-header-active .site-header{
    background:color-mix(in srgb,var(--bg) 80%,transparent)!important;
    -webkit-backdrop-filter:blur(18px) saturate(135%)!important;
    backdrop-filter:blur(18px) saturate(135%)!important;
    border-bottom:1px solid var(--line)!important;
    box-shadow:0 12px 34px rgba(0,0,0,.08)!important;
  }
}

/* Mobile keeps its existing fixed glass header, with a smaller docked sun. */
@media(max-width:760px){
  body>.scroll-sun-live .hero-sun-canvas{
    left:-76%!important;
    top:-76%!important;
    width:252%!important;
    height:252%!important;
  }
  body.sun-header-active .site-header{
    z-index:9999!important;
  }
}

/* Light theme keeps the floating/docked sun from washing out. */
html[data-theme="light"] body>.scroll-sun-live .hero-sun-canvas{
  filter:
    drop-shadow(0 18px 24px rgba(88,0,8,.24))
    drop-shadow(0 0 12px rgba(255,40,26,.18))!important;
}


/* === V48.8.2e DESKTOP FIXED LIQUID GLASS HEADER === */
/* Desktop-only: keep the header fixed like mobile without changing the sun controller. */
@media(min-width:761px){
  /* Replaces the 92px header's old document-flow space so the hero stays where it was. */
  body{
    padding-top:92px!important;
  }

  .site-header,
  body.sun-header-active .site-header,
  body.sun-header-docked .site-header{
    position:fixed!important;
    top:10px!important;
    left:50%!important;
    right:auto!important;
    width:min(1450px,calc(100% - 96px))!important;
    height:72px!important;
    min-height:72px!important;
    margin:0!important;
    padding:0 16px!important;
    transform:translate3d(-50%,0,0)!important;
    box-sizing:border-box!important;
    z-index:9999!important;

    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:22px!important;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,.10),
        rgba(255,255,255,.025) 42%,
        rgba(255,255,255,.055)),
      rgba(8,10,12,.58)!important;
    -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
    backdrop-filter:blur(18px) saturate(145%)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.14),
      inset 0 -1px 0 rgba(255,255,255,.035),
      0 12px 35px rgba(0,0,0,.28)!important;
  }

  /* Subtle liquid-glass sheen. */
  .site-header:before{
    content:""!important;
    position:absolute!important;
    inset:1px!important;
    z-index:0!important;
    border-radius:20px!important;
    pointer-events:none!important;
    background:
      radial-gradient(circle at 18% -18%,
        rgba(255,255,255,.17),
        transparent 31%),
      linear-gradient(105deg,
        transparent 8%,
        rgba(255,255,255,.045) 40%,
        transparent 68%)!important;
  }

  .site-header>*{
    position:relative!important;
    z-index:1!important;
  }

  /* Theme-aware light glass, mirroring the mobile light header. */
  html[data-theme="light"] .site-header,
  html[data-theme="light"] body.sun-header-active .site-header,
  html[data-theme="light"] body.sun-header-docked .site-header{
    background:
      linear-gradient(135deg,
        rgba(255,255,255,.72),
        rgba(255,255,255,.28) 45%,
        rgba(255,255,255,.50)),
      rgba(248,250,246,.78)!important;
    border-color:rgba(16,18,15,.13)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.88),
      0 12px 35px rgba(16,18,15,.10)!important;
    -webkit-backdrop-filter:blur(18px) saturate(135%)!important;
    backdrop-filter:blur(18px) saturate(135%)!important;
  }
}


/* === V48.8.2h HERO SUN CLEAN WHITE 6G MARK === */
/* Hero/header sun only: remove the legacy white disc and dead-center a white 6G mark. */
.hero-v3 .energy-core-3d > .official-mark-disc,
body > .scroll-sun-live > .official-mark-disc{
  position:absolute!important;
  inset:auto!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:32%!important;
  height:32%!important;
  margin:0!important;
  padding:0!important;
  transform:translate3d(-50%,-50%,0)!important;
  transform-origin:50% 50%!important;

  display:block!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  background-color:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  overflow:visible!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  pointer-events:none!important;
}

/* Center the actual artwork independently so old image sizing/position rules cannot shift it. */
.hero-v3 .energy-core-3d > .official-mark-disc > img,
body > .scroll-sun-live > .official-mark-disc > img{
  position:absolute!important;
  inset:auto!important;
  left:50%!important;
  top:50%!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  transform:translate3d(-50%,-50%,0)!important;
  transform-origin:50% 50%!important;
  object-fit:contain!important;
  object-position:50% 50%!important;

  /* Turn the red source artwork into a clean white mark. */
  filter:
    brightness(0) saturate(100%) invert(100%)
    drop-shadow(0 2px 6px rgba(68,0,8,.42))
    drop-shadow(0 0 8px rgba(255,255,255,.16))!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Keep the exact same center treatment after the sun docks in the header. */
body.sun-header-docked > .scroll-sun-live > .official-mark-disc{
  width:34%!important;
  height:34%!important;
}


/* === V48.8.2j EASTER COHERENT PANEL FIELD === */

/* Desktop: fewer, larger modules arranged like one coherent hero-style array. */
@media(min-width:981px){
  .solar-easter .solar-field{
    width:min(1460px,92vw)!important;
    height:48vh!important;
    bottom:1.5vh!important;
    padding:1.6vh 1.4vw!important;
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-template-rows:repeat(4,minmax(0,1fr))!important;
    column-gap:clamp(18px,1.55vw,30px)!important;
    row-gap:clamp(16px,1.8vh,26px)!important;
    perspective:1500px!important;
  }

  .solar-easter .tracker{
    perspective:1050px!important;
  }

  .solar-easter .tracker-panel{
    width:96%!important;
    height:auto!important;
    max-height:94%!important;
    aspect-ratio:1.62/1!important;
    min-height:0!important;
    border-radius:8px!important;
    background:
      linear-gradient(135deg,
        rgba(48,91,128,.95),
        rgba(5,15,25,.985) 48%,
        rgba(26,57,83,.97))!important;
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.055),
      inset 0 0 26px rgba(71,158,255,.11),
      0 8px 0 #050b10,
      0 15px 28px rgba(0,0,0,.42)!important;
  }

  /* Cleaner 4×3 photovoltaic cell pattern, matching the hero language. */
  .solar-easter .tracker-panel:before{
    background:
      linear-gradient(90deg,
        transparent 48%,
        rgba(180,220,255,.20) 50%,
        transparent 52%),
      linear-gradient(0deg,
        transparent 48%,
        rgba(180,220,255,.18) 50%,
        transparent 52%)!important;
    background-size:25% 100%,100% 33.333%!important;
    opacity:.78!important;
  }

  .solar-easter .tracker:after{
    height:31%!important;
    top:72%!important;
    opacity:.72!important;
  }
}

/* The cursor coordinate is the true center of the visible Easter sun. */
.solar-easter .solar-sun-cursor,
.solar-easter .hero-style-easter-sun{
  margin:0!important;
  transform:translate3d(-50%,-50%,0)!important;
  transform-origin:50% 50%!important;
  will-change:left,top!important;
}


/* === V48.8.2k BUTTER-SMOOTH MOBILE EASTER FIELD === */
@media(max-width:760px){
  /* 12 large panels instead of a dense 16–20 panel mobile field. */
  .solar-easter .solar-field{
    width:100%!important;
    left:0!important;
    transform:none!important;
    height:31vh!important;
    max-height:260px!important;
    bottom:0!important;
    padding:0 12px 12px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    overflow:visible!important;
    perspective:1100px!important;
  }

  .solar-easter .tracker:nth-child(n+13){
    display:none!important;
  }

  .solar-easter .tracker-panel{
    width:98%!important;
    height:auto!important;
    aspect-ratio:1.5/1!important;
    min-height:0!important;
    border-radius:7px!important;

    /* Keep the hero-like depth, but remove expensive animated shadow interpolation. */
    transition:none!important;
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.05),
      inset 0 0 16px rgba(71,158,255,.09),
      0 6px 0 #050b10,
      0 10px 16px rgba(0,0,0,.34)!important;

    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
    will-change:transform!important;
  }

  /* Cell grid remains, but avoid a per-panel blend layer on mobile. */
  .solar-easter .tracker-panel:before{
    mix-blend-mode:normal!important;
    opacity:.68!important;
  }

  /* Keep the red/white reflection but make it a static local light field;
     its position still follows the sun via --shine-x / --shine-y. */
  .solar-easter .tracker-panel:after{
    inset:-18%!important;
    transform:none!important;
    mix-blend-mode:normal!important;
    opacity:.68!important;
    will-change:auto!important;
    background:
      radial-gradient(
        circle at var(--shine-x,50%) var(--shine-y,50%),
        rgba(255,72,42,calc(.42 * var(--sun-heat,0))) 0%,
        rgba(255,31,42,calc(.20 * var(--sun-heat,0))) 24%,
        transparent 52%
      ),
      linear-gradient(110deg,
        transparent 40%,
        rgba(255,255,255,.20) 50%,
        rgba(255,76,78,.16) 55%,
        transparent 66%)!important;
  }

  .solar-easter .tracker:after{
    height:28%!important;
    top:73%!important;
  }

  .solar-easter .secret-tracker .tracker-panel{
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.05),
      0 0 0 2px rgba(255,211,77,.22),
      0 0 18px rgba(255,211,77,.26),
      0 10px 16px rgba(0,0,0,.34)!important;
  }
}


/* === V48.8.2r FOOTER WHATSAPP WHITE FOREGROUND === */
.footer-v7 .footer-hero .wa-inline,
.footer-v7 .footer-hero .wa-inline b,
.footer-v7 .footer-hero .wa-inline .fi,
.footer-v7 .footer-hero .wa-inline svg,
.footer-v7 .footer-hero .wa-inline svg path{
  color:#fff!important;
  stroke:#fff!important;
}


/* === V48.8.2s MOBILE LIGHT HERO READABILITY === */
@media(max-width:760px){
  html[data-theme="light"] .hero-v3 .hero-bg img{
    filter:brightness(1.02) saturate(.72) contrast(.90)!important;
  }
  html[data-theme="light"] .hero-v3 .hero-overlay{
    background:
      linear-gradient(180deg,
        rgba(248,250,246,.94) 0%,
        rgba(248,250,246,.89) 18%,
        rgba(248,250,246,.82) 38%,
        rgba(248,250,246,.68) 58%,
        rgba(248,250,246,.38) 78%,
        rgba(248,250,246,.22) 100%),
      linear-gradient(90deg,
        rgba(248,250,246,.94) 0%,
        rgba(248,250,246,.82) 58%,
        rgba(248,250,246,.44) 100%)!important;
  }
  html[data-theme="light"] .hero-v3 .hero-vignette{
    background:
      radial-gradient(circle at 66% 55%,
        transparent 15%,
        rgba(245,248,242,.12) 48%,
        rgba(245,248,242,.40) 100%)!important;
  }
  html[data-theme="light"] .hero-v3 .hero-copy h1{
    color:#0b100c!important;
  }
  html[data-theme="light"] .hero-v3 .hero-copy>p{
    color:#252d26!important;
  }
  html[data-theme="light"] .hero-v3 .hero-copy .micro{
    color:#343d35!important;
  }
}


/* === V48.8.2t MOBILE HERO COPY GLOW CLEANUP === */
@media(max-width:760px){
  .hero-v3 .hero-depth-glow{
    display:none!important;
    opacity:0!important;
  }
}


/* === V48.8.2u FOOTER CITY LANDMARK ICONS === */
.footer-v7 .footer-offices-v7 .office-v7>span{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.footer-v7 .footer-offices-v7 .office-v7>span::before{
  content:""!important;
  display:block!important;
  width:34px!important;
  height:28px!important;
  flex:0 0 34px!important;
  background-image:var(--city-icon)!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
  opacity:.92!important;
}
html[data-theme="dark"] .footer-v7 .footer-offices-v7 .office-v7:nth-child(1){
  --city-icon:url("../img/cities/lahore-dark.png");
}
html[data-theme="dark"] .footer-v7 .footer-offices-v7 .office-v7:nth-child(2){
  --city-icon:url("../img/cities/rawalpindi-dark.png");
}
html[data-theme="dark"] .footer-v7 .footer-offices-v7 .office-v7:nth-child(3){
  --city-icon:url("../img/cities/karachi-dark.png");
}
html[data-theme="light"] .footer-v7 .footer-offices-v7 .office-v7:nth-child(1){
  --city-icon:url("../img/cities/lahore-light.png");
}
html[data-theme="light"] .footer-v7 .footer-offices-v7 .office-v7:nth-child(2){
  --city-icon:url("../img/cities/rawalpindi-light.png");
}
html[data-theme="light"] .footer-v7 .footer-offices-v7 .office-v7:nth-child(3){
  --city-icon:url("../img/cities/karachi-light.png");
}
@media(max-width:700px){
  .footer-v7 .footer-offices-v7 .office-v7>span::before{
    width:30px!important;
    height:26px!important;
    flex-basis:30px!important;
  }
}


/* === V48.8.2u MOBILE INSTALLATION STORY RAIL === */
@media(max-width:760px){
  .project-showcase{
    overflow:visible!important;
  }
  .project-showcase .project-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:min(84vw,360px)!important;
    grid-template-columns:none!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:14px!important;
    padding:8px 14px 18px!important;
    margin-left:-14px!important;
    margin-right:-14px!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-inline:contain!important;
    scrollbar-width:none!important;
  }
  .project-showcase .project-grid::-webkit-scrollbar{display:none!important}

  .project-showcase .project-card{
    scroll-snap-align:start!important;
    height:auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-radius:28px!important;
    border:1px solid var(--line)!important;
    background:var(--card)!important;
    color:var(--text)!important;
    box-shadow:0 18px 48px rgba(0,0,0,.08)!important;
    isolation:isolate!important;
  }
  .project-showcase .project-card>img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:210px!important;
    flex:0 0 210px!important;
    object-fit:cover!important;
    transform:none!important;
    filter:none!important;
    z-index:1!important;
  }
  .project-showcase .project-card:after{display:none!important}
  .project-showcase .project-base{display:none!important}

  .project-showcase .project-detail{
    position:relative!important;
    inset:auto!important;
    z-index:2!important;
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
    padding:24px 22px 26px!important;
    opacity:1!important;
    transform:none!important;
    background:var(--card)!important;
    color:var(--text)!important;
  }
  .project-showcase .project-detail>span{display:none!important}
  .project-showcase .project-detail h3{
    margin:0 0 22px!important;
    font-size:30px!important;
    line-height:1.02!important;
    color:var(--text)!important;
  }
  .project-showcase .project-detail dl{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin:0!important;
  }
  .project-showcase .project-detail dl div{
    border-top:1px solid var(--line)!important;
    padding-top:11px!important;
  }
  .project-showcase .project-detail dt{
    color:var(--muted)!important;
  }
  .project-showcase .project-detail dd{
    color:var(--text)!important;
    margin-top:5px!important;
    font-size:15px!important;
    line-height:1.4!important;
  }
  .project-showcase .project-detail blockquote{
    margin:24px 0 12px!important;
    font-size:16px!important;
    line-height:1.55!important;
    color:var(--text)!important;
  }
  .project-showcase .project-detail small{
    color:var(--muted)!important;
    font-size:11px!important;
  }

  html[data-theme="dark"] .project-showcase .project-card,
  html[data-theme="dark"] .project-showcase .project-detail{
    background:#121512!important;
    color:#f4f6f0!important;
  }
  html[data-theme="dark"] .project-showcase .project-detail h3,
  html[data-theme="dark"] .project-showcase .project-detail dd,
  html[data-theme="dark"] .project-showcase .project-detail blockquote{
    color:#f4f6f0!important;
  }
  html[data-theme="dark"] .project-showcase .project-detail dl div{
    border-color:rgba(255,255,255,.14)!important;
  }
  html[data-theme="dark"] .project-showcase .project-detail dt,
  html[data-theme="dark"] .project-showcase .project-detail small{
    color:#aeb6aa!important;
  }

  html[data-theme="light"] .project-showcase .project-card,
  html[data-theme="light"] .project-showcase .project-detail{
    background:#fff!important;
    color:#10120f!important;
  }
  html[data-theme="light"] .project-showcase .project-card{
    border-color:rgba(16,18,15,.12)!important;
    box-shadow:0 16px 42px rgba(16,18,15,.07)!important;
  }
  html[data-theme="light"] .project-showcase .project-detail h3,
  html[data-theme="light"] .project-showcase .project-detail dd,
  html[data-theme="light"] .project-showcase .project-detail blockquote{
    color:#10120f!important;
  }
  html[data-theme="light"] .project-showcase .project-detail dl div{
    border-color:rgba(16,18,15,.12)!important;
  }
  html[data-theme="light"] .project-showcase .project-detail dt,
  html[data-theme="light"] .project-showcase .project-detail small{
    color:#697067!important;
  }
}
@media(max-width:430px){
  .project-showcase .project-grid{
    grid-auto-columns:86vw!important;
  }
  .project-showcase .project-card>img{
    height:190px!important;
    flex-basis:190px!important;
  }
}


/* === V48.8.2v SERVICE DOMAIN DETAIL CTAS === */
#solutions .domain-card-cta{
  margin-top:4px;
  display:inline-flex;
  align-items:center;
  gap:11px;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  background:var(--accent);
  color:#fff!important;
  font:700 12px/1 var(--mono);
  letter-spacing:.02em;
  text-decoration:none;
  pointer-events:auto!important;
  position:relative;
  z-index:8;
  box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 24%,transparent);
  transition:transform .25s ease,box-shadow .25s ease;
}
#solutions .domain-card-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 15px 34px color-mix(in srgb,var(--accent) 32%,transparent);
}
#solutions .domain-card-cta .fi{width:17px!important;height:17px!important}
@media(max-width:760px){
  #solutions .visual-card .visual-hover{
    padding-bottom:28px!important;
  }
  #solutions .domain-card-cta{
    min-height:43px!important;
    padding:0 15px!important;
    font-size:11px!important;
    margin-top:1px!important;
  }
}


/* === V48.8.2u STABLE DESKTOP HEADER + RED FIRST PAINT === */
:root{--accent:hsl(350 100% 50%);--acid:var(--accent);--accent-soft:color-mix(in srgb,var(--accent) 18%,transparent);--accent-faint:color-mix(in srgb,var(--accent) 8%,transparent)}
@media(min-width:901px){
  .site-header:hover{transform:none!important}
}


/* === V48.8.2v FIXED DESKTOP HEADER HOVER POSITION === */
/* The fixed desktop header is centered with translateX(-50%); never replace that transform on hover. */
@media(min-width:901px){
  .site-header:hover,
  body.sun-header-active .site-header:hover,
  body.sun-header-docked .site-header:hover{
    left:50%!important;
    right:auto!important;
    margin:0!important;
    transform:translate3d(-50%,0,0)!important;
  }
}


/* === V48.8.2w SOLAR LAB AC TYPE SELECTOR === */
.appliance-card .ac-variant{
  width:max-content;
  max-width:100%;
  margin:7px 0 3px;
  padding:5px 26px 5px 9px;
  border:1px solid var(--line);
  border-radius:9px;
  background:color-mix(in srgb,var(--surface) 92%,transparent);
  color:var(--text);
  font:600 11px Manrope,sans-serif;
  outline:none;
  cursor:pointer;
}
.appliance-card .ac-variant:focus{border-color:var(--accent)}


/* === V48.8.2x SOLAR LAB DAILY HOURS === */
.appliance-card .hours-control{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:7px 0 2px;font-size:10px;font-weight:700;color:var(--muted)}
.appliance-card .hours-input{width:58px;height:28px;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);font:700 11px Manrope,sans-serif;text-align:center;outline:none;padding:0 4px}
.appliance-card .hours-input:focus{border-color:var(--accent)}


/* === V48.8.2y COMPACT HOURS DROPDOWN === */
.appliance-card .hours-control{justify-content:flex-start!important;gap:8px!important;white-space:nowrap}
.appliance-card select.hours-input{width:auto!important;min-width:112px!important;height:28px!important;padding:0 25px 0 8px!important;text-align:left!important;cursor:pointer}


/* === V48.8.2z LED WATTAGE SELECTOR === */
.appliance-card .watt-control{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:7px 0 3px;white-space:nowrap;font-size:10px;font-weight:700;color:var(--muted)}
.appliance-card .led-wattage{width:auto;min-width:66px;height:28px;padding:0 24px 0 8px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);font:700 11px Manrope,sans-serif;outline:none;cursor:pointer}
.appliance-card .led-wattage:focus{border-color:var(--accent)}


/* === V48.8.3a BATTERY SELECTOR LABEL === */
.appliance-card .backup-pick{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-width:64px}
.appliance-card .backup-pick span{max-width:72px;font-size:8px;line-height:1.15;font-weight:800;letter-spacing:.01em;text-align:center;color:var(--muted)}
.appliance-card .backup-pick:has(.backup-dot.on) span{color:var(--accent)}


/* === V48.8.3b FAN TYPE SELECTOR === */
.appliance-card .fan-control{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:7px 0 3px;white-space:nowrap;font-size:10px;font-weight:700;color:var(--muted)}
.appliance-card .fan-variant{min-width:150px;max-width:190px;height:28px;padding:0 24px 0 8px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);font:700 10px Manrope,sans-serif;outline:none;cursor:pointer}
.appliance-card .fan-variant:focus{border-color:var(--accent)}


/* === V48.8.3d PANEL WATTAGE SELECTOR === */
.array-head-tools{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.panel-wattage-control{display:flex;align-items:center;gap:8px;color:var(--muted);font:700 10px Manrope,sans-serif;white-space:nowrap}
.panel-wattage-control select,.panel-wattage-control input{height:30px;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);font:700 11px Manrope,sans-serif;outline:none}
.panel-wattage-control select{min-width:104px;padding:0 26px 0 9px;cursor:pointer}
.panel-wattage-control select:focus,.panel-wattage-control input:focus{border-color:var(--accent)}
.panel-custom-wrap{position:relative}
.panel-custom-wrap[hidden]{display:none!important}
.panel-custom-wrap input{width:76px;padding:0 24px 0 8px}
.panel-custom-wrap em{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-style:normal;font-size:10px;color:var(--muted);pointer-events:none}
@media(max-width:760px){.array-head-tools{align-items:flex-end;gap:6px}.panel-wattage-control{font-size:9px}.panel-wattage-control select{min-width:92px}}


/* === V48.8.3e REPAIRED LIVE ARRAY PANEL CONTROL === */
.array-visual .array-head{display:flex!important;flex-direction:row!important;align-items:flex-end!important;justify-content:space-between!important;gap:14px!important;margin-bottom:10px!important}
.array-visual .array-head>b{margin:0!important;max-width:190px!important;text-align:right!important;line-height:1.25!important}
.panel-wattage-bar{display:flex;align-items:center;gap:8px;min-height:34px;margin:0 0 10px;padding:7px 9px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 70%,transparent)}
.panel-wattage-bar>label{flex:1;color:var(--muted);font:700 10px Manrope,sans-serif;white-space:nowrap}
.panel-wattage-bar>select,.panel-wattage-bar input{appearance:auto!important;-webkit-appearance:menulist!important;box-sizing:border-box!important;height:30px!important;margin:0!important;border:1px solid var(--line)!important;border-radius:8px!important;background:var(--card)!important;color:var(--text)!important;font:700 11px Manrope,sans-serif!important;line-height:normal!important}
.panel-wattage-bar>select{width:112px!important;min-width:112px!important;padding:0 8px!important;cursor:pointer}
.panel-wattage-bar .panel-custom-wrap{position:relative;flex:0 0 auto}
.panel-wattage-bar .panel-custom-wrap[hidden]{display:none!important}
.panel-wattage-bar .panel-custom-wrap input{width:74px!important;padding:0 22px 0 7px!important}
.panel-wattage-bar .panel-custom-wrap em{position:absolute;right:7px;top:50%;transform:translateY(-50%);font-style:normal;font-size:9px;color:var(--muted)}
.array-visual .clean-array{width:100%!important;min-height:105px!important}
@media(max-width:820px){.array-visual .array-head{flex-direction:column!important;align-items:flex-start!important}.array-visual .array-head>b{text-align:left!important;max-width:none!important}.panel-wattage-bar{width:100%;box-sizing:border-box}.panel-wattage-bar>select{width:104px!important;min-width:104px!important}}


/* === V48.8.3f COMPACT EXTERNAL PANEL SELECTOR + ARRAY VISIBILITY === */
.calc-body.home-mode>.panel-wattage-bar{grid-column:2;justify-self:start;width:max-content;max-width:100%;min-height:30px;margin:0 0 10px;padding:4px 7px;border-radius:9px;align-self:end}
.calc-body.home-mode>.panel-wattage-bar>label{flex:0 0 auto;font-size:9px}
.calc-body.home-mode>.panel-wattage-bar>select{width:78px!important;min-width:78px!important;height:26px!important;font-size:10px!important;padding:0 4px!important}
.calc-body.home-mode>.calc-results{grid-column:2}
.array-visual .clean-array{display:grid!important;visibility:visible!important;opacity:1!important;min-height:105px!important}
.array-visual .clean-array>i{display:block!important;visibility:visible!important;opacity:1!important;min-width:12px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 20%,#101610),var(--accent))!important;border:1px solid var(--accent)!important}
@media(max-width:820px){.calc-body.home-mode>.panel-wattage-bar{grid-column:1;width:max-content;margin:0 0 8px}.calc-body.home-mode>.calc-results{grid-column:1}}


/* === V48.8.3h SOLAR LAB RESULT FIX LAYOUT === */
.calc-body.home-mode>.panel-wattage-bar{display:none!important}
.calc-results>.panel-wattage-bar{width:max-content!important;max-width:100%!important;min-height:28px!important;margin:0 0 12px!important;padding:3px 6px!important;border-radius:8px!important;gap:6px!important;box-sizing:border-box!important}
.calc-results>.panel-wattage-bar>label{font-size:9px!important;flex:0 0 auto!important}
.calc-results>.panel-wattage-bar>select{width:76px!important;min-width:76px!important;height:25px!important;font-size:10px!important;padding:0 3px!important}
.calc-results>.panel-wattage-bar .panel-custom-wrap input{height:25px!important;width:68px!important}
@media(max-width:820px){.calc-results>.panel-wattage-bar{margin-bottom:10px!important}}


/* === V48.8.3i HERO SUN RESILIENT FALLBACK === */
.hero-3d-fallback #heroSunCanvas{box-shadow:0 0 28px color-mix(in srgb,var(--accent) 58%,transparent),0 0 72px color-mix(in srgb,var(--accent) 28%,transparent)}
.hero-3d-fallback::before,.hero-3d-fallback::after{content:"";position:absolute;left:50%;top:50%;border:2px solid color-mix(in srgb,var(--accent) 68%,transparent);border-radius:50%;pointer-events:none;transform:translate(calc(-50% + var(--sun-x,0px)),calc(-50% + var(--sun-y,0px))) rotate(-18deg);z-index:3}
.hero-3d-fallback::before{width:34%;aspect-ratio:1.8/1;animation:heroFallbackOrbit 7s linear infinite}
.hero-3d-fallback::after{width:41%;aspect-ratio:2.15/1;opacity:.58;animation:heroFallbackOrbit 10s linear infinite reverse}
@keyframes heroFallbackOrbit{to{transform:translate(calc(-50% + var(--sun-x,0px)),calc(-50% + var(--sun-y,0px))) rotate(342deg)}}


/* === V48.8.3l MOBILE CALCULATOR CARD WIDTH FIX === */
@media(max-width:760px){
  #solarCalculator,.calculator,.calc-body,.calc-inputs{max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  #solarCalculator .appliance-grid{width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;box-sizing:border-box!important}
  #solarCalculator .appliance-card{width:auto!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important;padding:11px!important}
  #solarCalculator .appliance-card select{max-width:100%!important;min-width:0!important}
  #solarCalculator .fan-control,#solarCalculator .watt-control,#solarCalculator .hours-control{max-width:100%!important;min-width:0!important;white-space:normal!important}
  #solarCalculator .fan-variant{width:100%!important;max-width:100%!important;min-width:0!important}
}
@media(max-width:360px){
  #solarCalculator .appliance-grid{grid-template-columns:1fr!important}
}


/* === V48.8.3n CLEAN MOBILE APPLIANCE CONTROLS === */
.appliance-card .appliance-watts{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:6px 0 2px;color:var(--muted);font:700 10px Manrope,sans-serif;white-space:nowrap}
.appliance-card .appliance-watts strong{color:var(--text);font-size:11px}
@media(max-width:760px){
  #solarCalculator .appliance-card{padding:10px!important}
  #solarCalculator .fan-control,
  #solarCalculator .watt-control,
  #solarCalculator .hours-control,
  #solarCalculator .appliance-watts{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;align-items:center!important;gap:5px!important;width:100%!important;margin:5px 0!important;white-space:nowrap!important}
  #solarCalculator .fan-control>span,
  #solarCalculator .watt-control>span,
  #solarCalculator .hours-control>span,
  #solarCalculator .appliance-watts>span{min-width:0!important;font-size:8px!important;line-height:1.1!important}
  #solarCalculator .fan-variant,
  #solarCalculator .led-wattage,
  #solarCalculator .hours-input{width:100%!important;min-width:0!important;max-width:100%!important;height:27px!important;padding:0 18px 0 5px!important;font-size:8px!important}
  #solarCalculator .ac-variant{display:block!important;width:100%!important;max-width:100%!important;height:27px!important;margin:5px 0!important;padding:0 18px 0 5px!important;font-size:8px!important}
  #solarCalculator .appliance-watts strong{justify-self:start;font-size:9px!important}
  #solarCalculator .appliance-card>small{display:none!important}
}


/* === V48.8.3p COHERENT APPLIANCE CARD ROWS === */
#solarCalculator .appliance-card{display:flex!important;flex-direction:column!important}
#solarCalculator .appliance-card>b{margin-top:10px!important}
#solarCalculator .appliance-meta{display:block!important;min-height:16px!important;margin:3px 0 7px!important;font-size:10px!important;line-height:1.25!important;color:var(--muted)!important}
#solarCalculator .fan-control,
#solarCalculator .watt-control,
#solarCalculator .hours-control{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important;width:100%!important;margin:5px 0!important}
#solarCalculator .fan-control>span,
#solarCalculator .watt-control>span,
#solarCalculator .hours-control>span{display:block!important;font-size:9px!important;line-height:1.2!important;color:var(--muted)!important}
#solarCalculator .fan-variant,
#solarCalculator .led-wattage,
#solarCalculator .hours-input,
#solarCalculator .ac-variant{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:34px!important;margin:0!important;padding:0 28px 0 9px!important;box-sizing:border-box!important}
#solarCalculator .ac-variant{margin:5px 0!important}
#solarCalculator .appliance-watts{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;min-height:18px!important;margin:5px 0!important}
#solarCalculator .stepper{margin-top:auto!important}
@media(max-width:760px){
  #solarCalculator .appliance-card{padding:11px!important;min-height:300px!important}
  #solarCalculator .appliance-meta{display:block!important;font-size:9px!important;margin:2px 0 6px!important}
  #solarCalculator .fan-control,
  #solarCalculator .watt-control,
  #solarCalculator .hours-control{display:flex!important;flex-direction:column!important;gap:4px!important;margin:4px 0!important;white-space:normal!important}
  #solarCalculator .fan-control>span,
  #solarCalculator .watt-control>span,
  #solarCalculator .hours-control>span{font-size:8px!important}
  #solarCalculator .fan-variant,
  #solarCalculator .led-wattage,
  #solarCalculator .hours-input,
  #solarCalculator .ac-variant{height:30px!important;font-size:9px!important;padding:0 20px 0 7px!important}
  #solarCalculator .appliance-watts{display:flex!important;min-height:17px!important;margin:4px 0!important;white-space:nowrap!important}
  #solarCalculator .appliance-watts>span{font-size:8px!important}
  #solarCalculator .appliance-watts strong{font-size:9px!important}
}


/* === V48.8.3q CUSTOM LOAD SELECTOR === */
#solarCalculator .custom-load-control{display:flex;flex-direction:column;align-items:stretch;gap:5px;width:100%;margin:5px 0}
#solarCalculator .custom-load-control>span{font-size:9px;line-height:1.2;color:var(--muted)}
#solarCalculator .custom-load-select{display:block;width:100%;max-width:100%;min-width:0;height:34px;padding:0 28px 0 9px;box-sizing:border-box}
@media(max-width:760px){
 #solarCalculator .custom-load-control{gap:4px;margin:4px 0}
 #solarCalculator .custom-load-control>span{font-size:8px}
 #solarCalculator .custom-load-select{height:30px;font-size:9px;padding:0 20px 0 7px}
}


/* === V48.8.3r MOBILE APPLIANCE CARD HEIGHT CLEANUP === */
@media(max-width:760px){
  #solarCalculator .appliance-card{
    min-height:0!important;
    height:auto!important;
  }
  #solarCalculator .stepper{
    margin-top:8px!important;
  }
}


/* === V48.8.3t RESPONSIVE DESKTOP HEADER === */
@media(min-width:901px) and (max-width:1280px){
  .site-header{
    width:calc(100% - 44px)!important;
    padding:0 16px!important;
    gap:16px!important;
    box-sizing:border-box!important;
  }
  .site-header .brand{flex:0 0 auto!important}
  .site-header .brand img{width:clamp(142px,15vw,190px)!important;max-width:100%!important}
  .site-header nav{
    flex:1 1 auto!important;
    min-width:0!important;
    display:flex!important;
    justify-content:flex-end!important;
    gap:clamp(12px,1.55vw,22px)!important;
    font-size:clamp(10px,1vw,12px)!important;
    white-space:nowrap!important;
  }
  .site-header nav a{flex:0 0 auto!important}
}
@media(min-width:901px) and (max-width:1080px){
  .site-header{padding:0 14px!important;gap:12px!important}
  .site-header .brand img{width:136px!important}
  .site-header nav{gap:10px!important;font-size:10px!important}
}


/* === V48.8.3u CONSISTENT COLLAPSED HEADER MENU ICON === */
@media(max-width:900px){
  .site-header .menu-btn{
    display:block!important;
    position:relative!important;
    flex:0 0 46px!important;
    width:46px!important;height:46px!important;min-width:46px!important;
    padding:0!important;margin:0!important;
    border:1px solid var(--line)!important;
    border-radius:15px!important;
    background:color-mix(in srgb,var(--glass) 82%,transparent)!important;
    box-sizing:border-box!important;
  }
  .site-header .menu-btn span{
    display:block!important;
    position:absolute!important;
    left:50%!important;
    width:20px!important;height:1.5px!important;
    margin:0!important;padding:0!important;
    border:0!important;border-radius:99px!important;
    background:var(--ink)!important;
    transform:translateX(-50%)!important;
  }
  .site-header .menu-btn span:first-child{top:17px!important;width:20px!important}
  .site-header .menu-btn span:last-child{top:26px!important;width:14px!important}
  html[data-theme="dark"] .site-header .menu-btn span{background:#fff!important}
  html[data-theme="light"] .site-header .menu-btn span{background:#10120f!important}
}


/* === V48.8.3v SMALL-SCREEN CONTENT REFLOW === */
/* Tablet / narrow desktop: do not squeeze four process cards until their copy and CTAs clip. */
@media(min-width:761px) and (max-width:1180px){
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .process-grid article{min-width:0!important;height:auto!important;min-height:430px!important;padding:24px!important;overflow:hidden!important}
  .process-grid b,.process-grid p,.process-grid em{max-width:100%!important;overflow-wrap:anywhere!important}
  .process-grid .process-icon{margin-bottom:42px!important}
  .process-grid a{max-width:100%!important;box-sizing:border-box!important;white-space:normal!important}
  .smart-stage{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr)!important;padding:34px!important;gap:28px!important;overflow:hidden!important}
  .smart-copy,.smart-points,.phone-wrap{min-width:0!important}
  .smart-point{grid-template-columns:58px minmax(0,1fr)!important;gap:14px!important;padding:16px!important;min-width:0!important}
  .smart-point b,.smart-point p{overflow-wrap:anywhere!important}
  .phone{width:min(290px,100%)!important;max-width:100%!important}
}
/* Phones: stack content that cannot remain legible side-by-side and remove hover/active offsets. */
@media(max-width:760px){
  .process-grid{grid-template-columns:1fr!important;gap:12px!important}
  .process-grid article{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;padding:20px!important;box-sizing:border-box!important;overflow:hidden!important}
  .process-grid .process-icon{margin-bottom:28px!important}
  .process-grid b,.process-grid p,.process-grid em,.process-grid a{max-width:100%!important;overflow-wrap:anywhere!important}
  .smart-stage{display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important;padding:18px!important;gap:24px!important;box-sizing:border-box!important;overflow:hidden!important}
  .smart-copy,.smart-points,.phone-wrap{width:100%!important;max-width:100%!important;min-width:0!important}
  .smart-point,.smart-point.active,.smart-point:hover{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;transform:none!important}
  .smart-point{grid-template-columns:50px minmax(0,1fr)!important;gap:12px!important;padding:14px!important}
  .smart-point>span{width:48px!important;height:48px!important}
  .smart-point b,.smart-point p{max-width:100%!important;overflow-wrap:anywhere!important}
  .phone{width:min(270px,88vw)!important;max-width:100%!important;height:auto!important;min-height:540px!important;transform:none!important;margin:0 auto!important;box-sizing:border-box!important}
}


/* === V48.8.3w COMMERCIAL LAB HEADER CLEARANCE === */
@media(max-width:1180px){
  .commercial-v11.section{
    padding-top:clamp(138px,16vw,172px)!important;
  }
  .commercial-v11 .lab-intro{
    position:relative!important;
    z-index:1!important;
  }
}
@media(max-width:760px){
  .commercial-v11.section{
    padding-top:126px!important;
  }
}


/* === V48.8.3x TWO-COLUMN ENGINEERING CARDS ON SMALL SCREENS === */
@media(max-width:760px){
  .engineering-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .engineering-grid article{
    min-width:0!important;
    min-height:300px!important;
    padding:16px!important;
    border-radius:22px!important;
  }
  .engineering-grid article>span{
    width:48px!important;height:48px!important;
    border-radius:15px!important;
  }
  .engineering-grid article>span .fi{width:24px!important;height:24px!important}
  .engineering-grid h3{
    font-size:clamp(17px,4.8vw,22px)!important;
    line-height:1.08!important;
    margin:30px 0 9px!important;
    overflow-wrap:anywhere!important;
  }
  .engineering-grid p{
    font-size:clamp(11px,3.2vw,14px)!important;
    line-height:1.48!important;
    overflow-wrap:anywhere!important;
  }
  .engineering-grid em{
    font-size:8px!important;
    line-height:1.25!important;
    padding-top:18px!important;
  }
}

/* V48.8.3y full-charge engineering battery */
.engineering-grid .battery-fill{fill:currentColor!important;stroke:none!important}

/* Battery icon fill fix only */
.engineering-grid .battery-fill{fill:var(--accent)!important;stroke:none!important;opacity:1!important}


/* === V48.9 LUCIDE ANIMATED ICON LANGUAGE === */
.fi.lucide,.lucide-animated{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  overflow:visible!important;
  color:var(--accent);
  transition:color .3s ease,filter .35s ease,transform .45s cubic-bezier(.16,1,.3,1)!important;
}
html[data-theme="dark"] .fi.lucide{--lucide-surface:#f6f7f3;--lucide-muted:#c4cbc3}
html[data-theme="light"] .fi.lucide{--lucide-surface:#10120f;--lucide-muted:#4f574f}
html[data-theme="dark"] .theme-rail .fi.lucide,
html[data-theme="dark"] .site-header .fi.lucide{color:#f6f7f3!important}
html[data-theme="light"] .theme-rail .fi.lucide,
html[data-theme="light"] .site-header .fi.lucide{color:#10120f!important}
.liquid-btn .fi.lucide,.pill .fi.lucide,.calc-tabs a.active .fi.lucide{color:#fff!important}
.impact-icon .fi.lucide,.process-icon .fi.lucide,.world-big-icon .fi.lucide,
.config-card .fi.lucide,.result-icons .fi.lucide,.energy-flow .fi.lucide,
.smart-point .fi.lucide,.engineering-grid .fi.lucide{color:var(--accent)!important}
@media(hover:hover){
  a:hover .fi.lucide,button:hover .fi.lucide,
  .impact-card:hover .fi.lucide,.process-grid article:hover .fi.lucide,
  .engineering-grid article:hover .fi.lucide,.visual-card:hover .fi.lucide,
  .config-card:hover .fi.lucide,.smart-point:hover .fi.lucide{
    transform:translate3d(2px,-2px,0) rotate(-4deg) scale(1.08)!important;
    filter:drop-shadow(0 5px 8px color-mix(in srgb,var(--accent) 30%,transparent))!important;
  }
  a:hover .fi.lucide path:last-child,button:hover .fi.lucide path:last-child{
    animation:lucide-path-pulse .55s cubic-bezier(.16,1,.3,1);
  }
  .theme-rail:hover .fi.lucide{transform:rotate(24deg) scale(1.08)!important}
}
@keyframes lucide-path-pulse{0%{stroke-dasharray:1 40;stroke-dashoffset:10}100%{stroke-dasharray:40 1;stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){
 .fi.lucide,.lucide-animated,.fi.lucide *{animation:none!important;transition:none!important;transform:none!important}
}


/* === V49.0 LUCIDE MOTION: animate icon anatomy, not the whole icon === */
.fi.lucide{
  display:block!important;
  width:1em!important;height:1em!important;
  min-width:1em!important;min-height:1em!important;
  fill:none!important;stroke:currentColor!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
  opacity:1!important;visibility:visible!important;
  transform:none!important;filter:none!important;
}
.smart-point>span .fi.lucide{width:27px!important;height:27px!important;color:#fff!important;stroke:#fff!important}
.impact-icon .fi.lucide,.process-icon .fi.lucide,.engineering-grid article>span .fi.lucide,
.config-card>span .fi.lucide,.result-icons .fi.lucide{width:26px!important;height:26px!important}
html[data-theme="dark"] .fi.lucide{--icon-fg:#f7f8f4}
html[data-theme="light"] .fi.lucide{--icon-fg:#10120f}
html[data-theme="dark"] .theme-rail .fi.lucide,html[data-theme="dark"] .site-header .fi.lucide{color:#f7f8f4!important;stroke:#f7f8f4!important}
html[data-theme="light"] .theme-rail .fi.lucide,html[data-theme="light"] .site-header .fi.lucide{color:#10120f!important;stroke:#10120f!important}

/* remove old generic tilt/zoom; motion is now inside each Lucide glyph */
@media(hover:hover){
  a:hover .fi.lucide,button:hover .fi.lucide,.impact-card:hover .fi.lucide,
  .process-grid article:hover .fi.lucide,.engineering-grid article:hover .fi.lucide,
  .visual-card:hover .fi.lucide,.config-card:hover .fi.lucide,.smart-point:hover .fi.lucide{
    transform:none!important;filter:none!important;
  }
  :is(a,button,.impact-card,.process-grid article,.engineering-grid article,.visual-card,.config-card,.smart-point):hover .lm-arrow{
    animation:lm-arrow .7s cubic-bezier(.2,.8,.2,1);
  }
  :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.theme-rail,button,a):hover .lm-rays{
    transform-origin:12px 12px;animation:lm-spin 1.25s cubic-bezier(.2,.8,.2,1);
  }
  :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card):hover .lm-core{
    transform-origin:12px 12px;animation:lm-pulse .8s ease-in-out;
  }
  :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card):hover .lm-charge path{
    animation:lm-charge .75s ease both;
  }
  :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card):hover .lm-charge path:nth-child(2){animation-delay:.09s}
  :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card):hover .lm-charge path:nth-child(3){animation-delay:.18s}
  :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article):hover .lm-chart{
    stroke-dasharray:34;stroke-dashoffset:34;animation:lm-draw .8s cubic-bezier(.2,.8,.2,1) forwards;
  }
  :is(.impact-card,.process-grid article,.engineering-grid article):hover .lm-check{
    stroke-dasharray:14;stroke-dashoffset:14;animation:lm-draw .65s .08s cubic-bezier(.2,.8,.2,1) forwards;
  }
  :is(.impact-card,.process-grid article,.engineering-grid article):hover .lm-corners{
    transform-origin:12px 12px;animation:lm-scan .8s cubic-bezier(.2,.8,.2,1);
  }
  :is(.process-grid article,.engineering-grid article):hover .lm-tool{
    transform-origin:12px 12px;animation:lm-tool .75s ease-in-out;
  }
  :is(.engineering-grid article,.smart-point):hover .lm-leaf{
    transform-origin:12px 20px;animation:lm-grow .8s cubic-bezier(.2,.8,.2,1);
  }
  :is(.engineering-grid article,.config-card,.result-icons>div):hover .lm-panel{
    opacity:.35;animation:lm-panel .85s ease-in-out forwards;
  }
  :is(.process-grid article,.engineering-grid article):hover .lm-windows{animation:lm-window .8s steps(2,end)}
  :is(.process-grid article,.engineering-grid article):hover .lm-roof{animation:lm-roof .65s cubic-bezier(.2,.8,.2,1)}
  .theme-rail:hover .lm-moon{animation:lm-moon .75s ease-in-out}
}
@keyframes lm-arrow{0%{transform:translate(0,0)}45%{transform:translate(2px,-2px)}55%{opacity:.25;transform:translate(-2px,2px)}100%{opacity:1;transform:translate(0,0)}}
@keyframes lm-spin{to{transform:rotate(180deg)}}
@keyframes lm-pulse{0%,100%{transform:scale(1)}45%{transform:scale(.68)}70%{transform:scale(1.18)}}
@keyframes lm-charge{0%{opacity:.15;transform:translateY(2px)}55%{opacity:1;transform:translateY(-1px)}100%{opacity:1;transform:none}}
@keyframes lm-draw{to{stroke-dashoffset:0}}
@keyframes lm-scan{0%,100%{transform:scale(1)}45%{transform:scale(.78)}}
@keyframes lm-tool{0%,100%{transform:rotate(0)}35%{transform:rotate(-12deg)}70%{transform:rotate(9deg)}}
@keyframes lm-grow{0%{transform:scaleY(.55);opacity:.45}100%{transform:scaleY(1);opacity:1}}
@keyframes lm-panel{0%{opacity:.3}45%{opacity:1}100%{opacity:1}}
@keyframes lm-window{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes lm-roof{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes lm-moon{0%,100%{transform:translateX(0)}50%{transform:translateX(2px)}}
@media(prefers-reduced-motion:reduce){
 .fi.lucide *{animation:none!important;transition:none!important}
}


/* === V49.1 DESKTOP HERO SCALE CHIP + INLINE FOOTER ARROWS === */
@media(min-width:761px){
  .hero-v3 .growth-chip{
    display:grid!important;
    grid-template-columns:max-content minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:30px!important;
    width:min(560px,calc(100vw - 120px))!important;
    min-height:96px!important;
    padding:22px 28px!important;
    border-radius:28px!important;
    box-sizing:border-box!important;
  }
  .hero-v3 .growth-chip>b{
    white-space:nowrap!important;
    font-size:clamp(16px,1.25vw,21px)!important;
    line-height:1.15!important;
  }
  .hero-v3 .growth-chip>span{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:7px 10px!important;
    min-width:0!important;
    opacity:.72!important;
    font-size:clamp(15px,1.15vw,20px)!important;
    line-height:1.2!important;
  }
  .hero-v3 .growth-chip>span .fi{
    display:inline-block!important;
    flex:0 0 auto!important;
    width:18px!important;height:18px!important;
    margin:0 2px!important;
    vertical-align:middle!important;
  }
}
.footer-v7 .footer-directory a:has(.fi),
.footer-v7 .office-v7 b:has(.fi),
.footer-v7 .footer-end a:has(.fi){
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  gap:7px!important;
}
.footer-v7 .footer-directory a .fi,
.footer-v7 .office-v7 b .fi,
.footer-v7 .footer-end a .fi{
  display:inline-block!important;
  flex:0 0 auto!important;
  width:14px!important;height:14px!important;
  margin:0!important;
  vertical-align:middle!important;
}
.footer-v7 .footer-directory a:has(.fi){max-width:100%!important}


/* === V49.1 INTERACTION POLISH: magnetic sweep buttons + service icon tuning === */
:where(a.liquid-btn,a.process-more,a.domain-card-cta,.hero-actions a.round-link,.pill,
.contact button,.commercial-v11 button,.calc-results button,.calc-tabs button,.segmented button){
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  transition:transform .42s cubic-bezier(.16,1,.3,1),border-color .35s ease,box-shadow .42s ease,color .3s ease,background .35s ease!important;
}
:where(a.liquid-btn,a.process-more,a.domain-card-cta,.pill,.contact button,.commercial-v11 button,.calc-results button,.calc-tabs button,.segmented button)::before{
  content:""!important;position:absolute!important;z-index:-1!important;
  width:38px!important;height:160%!important;left:-60px!important;top:-30%!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent)!important;
  transform:skewX(-20deg)!important;transition:left .62s cubic-bezier(.16,1,.3,1)!important;pointer-events:none!important;
}
@media(hover:hover){
 :where(a.liquid-btn,a.process-more,a.domain-card-cta,.pill,.contact button,.commercial-v11 button,.calc-results button,.calc-tabs button,.segmented button):hover{
   transform:translateY(-3px)!important;
   border-color:color-mix(in srgb,var(--accent) 72%,var(--line))!important;
   box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 16%,transparent),0 1px 0 rgba(255,255,255,.12) inset!important;
 }
 :where(a.liquid-btn,a.process-more,a.domain-card-cta,.pill,.contact button,.commercial-v11 button,.calc-results button,.calc-tabs button,.segmented button):hover::before{left:calc(100% + 24px)!important}
 :where(a.liquid-btn,a.process-more,a.domain-card-cta,.pill):hover .lm-arrow{animation:lm-arrow .7s cubic-bezier(.16,1,.3,1)!important}
 .hero-actions a.round-link:hover{transform:translateY(-3px) rotate(8deg)!important;box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 18%,transparent)!important}
}

/* Service-domain hover icons: compact glass glyph, no giant accent block. */
.visual-card .world-big-icon{
  width:68px!important;height:68px!important;border-radius:21px!important;
  margin-bottom:20px!important;font-size:30px!important;
  transform:none!important;
  background:rgba(12,15,13,.58)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
}
.visual-card .world-big-icon .fi.lucide{width:30px!important;height:30px!important;color:var(--accent)!important;stroke:var(--accent)!important}
html[data-theme="light"] .visual-card .world-big-icon{background:rgba(255,255,255,.78)!important;border-color:rgba(20,24,20,.14)!important}
@media(hover:hover){
 .visual-card:hover .world-big-icon{transform:translateY(-2px)!important;box-shadow:0 15px 36px rgba(0,0,0,.28),0 0 0 5px color-mix(in srgb,var(--accent) 8%,transparent)!important}
}

/* Every sun glyph gets continuous subtle solar motion, with stronger hover response. */
.fi.lucide[data-lucide-icon="sun"] .lm-rays{transform-origin:12px 12px;animation:lm-solar-idle 9s linear infinite}
.fi.lucide[data-lucide-icon="sun"] .lm-core{transform-origin:12px 12px;animation:lm-solar-breathe 2.8s ease-in-out infinite}
@keyframes lm-solar-idle{to{transform:rotate(360deg)}}
@keyframes lm-solar-breathe{0%,100%{transform:scale(1)}50%{transform:scale(.86)}}
@media(hover:hover){
 :where(a,button,article,.smart-point,.world-big-icon):hover .fi.lucide[data-lucide-icon="sun"] .lm-rays{animation-duration:1.5s!important}
}


/* === V49.1 POLISH: centered service heading, tidy footer arrows, compact animated domain icons === */
.visual-solutions .visual-head{
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
.visual-solutions .visual-head .micro,
.visual-solutions .visual-head h2,
.visual-solutions .visual-head .solutions-intro{
  width:100%!important;
  max-width:920px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.visual-solutions .visual-head .solutions-intro{max-width:680px!important}

/* footer labels and arrows stay in their own column/line */
.footer-directory>div{display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-width:0!important}
.footer-directory>div>span{display:block!important;width:100%!important;margin:0 0 14px!important}
.footer-directory a{
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:7px!important;width:max-content!important;max-width:100%!important;
}
.footer-directory a .fi{flex:0 0 14px!important;width:14px!important;height:14px!important;margin:0!important}
.footer-directory>div:last-child a{white-space:nowrap!important}

/* service-domain card icon treatment: no oversized hover tile */
.world-big-icon{
  width:68px!important;height:68px!important;border-radius:20px!important;
  margin-bottom:20px!important;font-size:30px!important;
  transform:none!important;
  background:color-mix(in srgb,var(--card) 84%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line))!important;
  color:var(--accent)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.18)!important;
}
.world-big-icon .fi{width:30px!important;height:30px!important;color:var(--accent)!important;stroke:var(--accent)!important}
.visual-card:hover .world-big-icon{
  transform:none!important;
  background:color-mix(in srgb,var(--card) 90%,var(--accent) 10%)!important;
  box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 9%,transparent),0 15px 38px rgba(0,0,0,.22)!important;
}
html[data-theme="dark"] .world-big-icon{background:#151917!important}
html[data-theme="light"] .world-big-icon{background:rgba(255,255,255,.88)!important}

/* Built-to-scale chip: proper desktop row, arrows stay beside labels */
@media(min-width:901px){
 .growth-chip{display:grid!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:26px!important}
 .growth-chip>b{white-space:nowrap!important}
 .growth-chip>span{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:10px!important;white-space:nowrap!important}
 .growth-chip>span .fi{width:18px!important;height:18px!important;flex:0 0 18px!important}
}

/* Buttons: liquid sweep + arrow travel, replacing flat fill/translate hovers */
:is(.liquid-btn,.process-more,.domain-card-cta,.wa-inline){
  position:relative!important;overflow:hidden!important;isolation:isolate!important;
  transform:none!important;transition:border-color .35s ease,color .35s ease,box-shadow .35s ease!important;
}
:is(.liquid-btn,.process-more,.domain-card-cta,.wa-inline)::before{
  content:""!important;position:absolute!important;z-index:-1!important;
  width:145%!important;aspect-ratio:1!important;left:-155%!important;top:50%!important;
  border-radius:42%!important;background:var(--accent)!important;
  transform:translateY(-50%) rotate(16deg)!important;
  transition:left .65s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)!important;
}
:is(.liquid-btn,.process-more,.domain-card-cta,.wa-inline):hover::before{
  left:-18%!important;transform:translateY(-50%) rotate(195deg)!important;
}
:is(.liquid-btn,.process-more,.domain-card-cta,.wa-inline):hover{
  transform:none!important;border-color:var(--accent)!important;
  box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 18%,transparent)!important;
}
:is(.liquid-btn,.process-more,.domain-card-cta,.wa-inline):hover .lm-arrow{
  animation:lm-arrow .7s cubic-bezier(.16,1,.3,1)!important;
}

/* all sun glyphs use living ray animation on interaction */
:is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.visual-card,.world-big-icon,.theme-rail):hover .lm-rays{
  transform-origin:12px 12px!important;
  animation:lm-sun-live 1.05s cubic-bezier(.16,1,.3,1)!important;
}
@keyframes lm-sun-live{
  0%{transform:rotate(0) scale(.88);opacity:.7}
  48%{transform:rotate(105deg) scale(1.16);opacity:1}
  100%{transform:rotate(180deg) scale(1);opacity:1}
}
@media(max-width:760px){
 .visual-solutions .visual-head{padding-left:0!important;padding-right:0!important}
 .footer-directory a{width:max-content!important}
}


/* === V49.2 CTA ARROW + DESKTOP SCALE CHIP === */
@media(min-width:901px){
  .growth-chip{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:34px!important;
    width:max-content!important;
    max-width:100%!important;
    padding:22px 28px!important;
  }
  .growth-chip>b{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    font-size:clamp(17px,1.45vw,23px)!important;
    line-height:1!important;
  }
  .growth-chip>span{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    white-space:nowrap!important;
    font-size:clamp(15px,1.3vw,20px)!important;
    line-height:1!important;
  }
  .growth-chip>span .fi{
    width:16px!important;height:16px!important;flex:0 0 16px!important;
  }
}

/* Red CTA buttons always retain a visible arrow on hover */
.liquid-btn b{
  position:relative!important;
  z-index:3!important;
  flex:0 0 42px!important;
  opacity:1!important;
  visibility:visible!important;
}
:is(.liquid-btn,.process-more,.domain-card-cta,.wa-inline) .fi,
:is(.liquid-btn,.process-more,.domain-card-cta,.wa-inline) svg{
  position:relative!important;
  z-index:4!important;
  opacity:1!important;
  visibility:visible!important;
}
:is(.liquid-btn,.process-more,.domain-card-cta,.wa-inline):hover .fi,
:is(.liquid-btn,.process-more,.domain-card-cta,.wa-inline):hover svg{
  color:#fff!important;
  stroke:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}
:is(.liquid-btn,.process-more,.domain-card-cta,.wa-inline):hover .lm-arrow{
  opacity:1!important;
  visibility:visible!important;
}
@keyframes lm-arrow{
  0%{transform:translate(0,0);opacity:1}
  42%{transform:translate(3px,-1px);opacity:1}
  58%{transform:translate(-2px,1px);opacity:1}
  100%{transform:translate(0,0);opacity:1}
}


/* === V49.3 ICON MOTION + SCALE CHIP + SOLAR CAPACITY POLISH === */
/* Built-to-scale must remain one physical line at every viewport width. */
.hero-v3 .growth-chip{
  max-width:calc(100% - 2px)!important;
  box-sizing:border-box!important;
}
.hero-v3 .growth-chip>b,
.hero-v3 .growth-chip>span{white-space:nowrap!important}
.hero-v3 .growth-chip>span{flex-wrap:nowrap!important}
@media(max-width:900px){
  .hero-v3 .growth-chip{
    display:flex!important;align-items:center!important;gap:10px!important;
    width:max-content!important;max-width:100%!important;
    padding:12px 13px!important;
  }
  .hero-v3 .growth-chip>b{font-size:clamp(10px,2.75vw,13px)!important;flex:0 0 auto!important}
  .hero-v3 .growth-chip>span{display:flex!important;align-items:center!important;gap:4px!important;font-size:clamp(9px,2.45vw,12px)!important;min-width:0!important}
  .hero-v3 .growth-chip>span .fi{width:12px!important;height:12px!important;flex:0 0 12px!important;margin:0!important}
}
@media(max-width:390px){
  .hero-v3 .growth-chip{gap:7px!important;padding:10px 9px!important}
  .hero-v3 .growth-chip>b{font-size:9.5px!important}
  .hero-v3 .growth-chip>span{font-size:8.7px!important;gap:3px!important}
  .hero-v3 .growth-chip>span .fi{width:10px!important;height:10px!important;flex-basis:10px!important}
}

/* SVGs stay glyphs on hover: never turn individual white paths into bars/tiles. */
.fi.lucide-animated,
.fi.lucide-animated *{
  background:none!important;
  box-shadow:none!important;
  border:0!important;
}
.fi.lucide-animated{overflow:visible!important}
:where(.impact-card,.process-grid article,.visual-card,.smart-point,.engineering-grid article,.config-card,.battery-question,.result-icons>div):hover .fi{
  color:var(--accent)!important;stroke:var(--accent)!important;
}

/* Real anatomy motion for the two impact icons shown in the screenshot. */
.impact-card:nth-child(2) .lm-panel{transform-origin:12px 11px}
.impact-card:nth-child(3) .lm-leaf{transform-origin:12px 20px}
@media(hover:hover){
 .impact-card:nth-child(2):hover .lm-panel{animation:lm-panel-scan .78s cubic-bezier(.16,1,.3,1)}
 .impact-card:nth-child(2):hover .fi{animation:lm-panel-tilt .72s cubic-bezier(.16,1,.3,1)}
 .impact-card:nth-child(3):hover .lm-leaf{animation:lm-sprout-grow .82s cubic-bezier(.16,1,.3,1)}
}
@keyframes lm-panel-scan{0%{transform:translateY(0)}38%{transform:translateY(-1.4px)}70%{transform:translateY(1px)}100%{transform:none}}
@keyframes lm-panel-tilt{0%{transform:rotate(0)}45%{transform:rotate(-7deg) scale(1.08)}100%{transform:none}}
@keyframes lm-sprout-grow{0%{transform:scale(.72) rotate(-5deg);opacity:.65}55%{transform:scale(1.12) rotate(4deg);opacity:1}100%{transform:scale(1) rotate(0)}}

/* Build card uses its own authored construction icon; no nth-child wrench override. */
@keyframes lm-wrench-work{0%,100%{transform:rotate(0)}32%{transform:rotate(-16deg)}68%{transform:rotate(13deg)}}

/* Service domains: animate each semantic icon inside the compact glass tile. */
.visual-card .world-big-icon .fi{transform-origin:12px 12px}
@media(hover:hover){
 .visual-card:hover .world-big-icon .lm-roof{animation:lm-roof-lift .72s cubic-bezier(.16,1,.3,1)}
 .visual-card:hover .world-big-icon .lm-windows{animation:lm-window-pulse .8s ease}
 .visual-card:hover .world-big-icon .lm-tool{animation:lm-wrench-work .78s cubic-bezier(.16,1,.3,1)}
 .visual-card:hover .world-big-icon .lm-charge{animation:lm-battery-charge .9s ease}
 .visual-card:hover .world-big-icon .lm-panel{animation:lm-panel-scan .78s cubic-bezier(.16,1,.3,1)}
}
@keyframes lm-roof-lift{0%,100%{transform:translateY(0)}45%{transform:translateY(-2.2px)}}
@keyframes lm-window-pulse{0%,100%{opacity:1}35%{opacity:.28}65%{opacity:1}}
@keyframes lm-battery-charge{0%{transform:scaleX(.35);opacity:.45}70%{transform:scaleX(1.08);opacity:1}100%{transform:scaleX(1)}}

/* Battery glyphs (calculator + result cards) visibly charge on hover. */
.battery-orb .lm-charge,.result-icons .lm-charge,.config-card .lm-charge{transform-origin:3px 12px}
@media(hover:hover){
 :is(.battery-question,.result-icons>div,.config-card):hover .lm-charge{animation:lm-battery-charge .9s ease}
}

/* Solar kW capacity ring gets tactile motion without changing the calculated value. */
.result-orbit,.app-ring{transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease,filter .5s ease}
@media(hover:hover){
 .result-orbit:hover,.app-ring:hover{
   transform:translateY(-5px) scale(1.025);
   box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 8%,transparent),0 20px 54px color-mix(in srgb,var(--accent) 18%,transparent)!important;
 }
 .result-orbit:hover .orbit-val{filter:drop-shadow(0 0 5px var(--accent));animation:lm-ring-pulse 1.15s ease-in-out infinite alternate}
}
@keyframes lm-ring-pulse{from{stroke-width:8}to{stroke-width:11}}


/* === V49.4 ABOUT ICONS + HERO SCALE CARD FIT === */
@media(min-width:901px){
 .hero-v3 .growth-chip{width:max-content!important;min-width:650px!important;max-width:min(780px,100%)!important;padding-left:28px!important;padding-right:28px!important;gap:28px!important}
 .hero-v3 .growth-chip>b{font-size:clamp(15px,1.18vw,20px)!important}
 .hero-v3 .growth-chip>span{font-size:clamp(14px,1.08vw,18px)!important}
}
.about-impact-icon{display:grid!important;place-items:center!important;width:54px!important;height:54px!important;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line))!important;border-radius:16px!important;background:transparent!important;color:var(--accent)!important}
.about-impact-icon .fi{width:27px!important;height:27px!important;color:var(--accent)!important;stroke:var(--accent)!important}
.about-impact .impact-grid h3{margin-top:52px!important}
@media(hover:hover){
 .about-impact .impact-grid article:first-child:hover .lm-panel{animation:lm-panel-scan .78s cubic-bezier(.16,1,.3,1)}
 .about-impact .impact-grid article:nth-child(2):hover .lm-charge{animation:lm-battery-charge .9s ease}
 .about-impact .impact-grid article:nth-child(3):hover .lm-data{animation:lm-data-rise .75s cubic-bezier(.16,1,.3,1)}
}
@keyframes lm-data-rise{0%{transform:translateY(2px);opacity:.55}55%{transform:translateY(-2px);opacity:1}100%{transform:none}}
.experience-kicker{display:inline-flex!important;align-items:center!important;gap:9px!important}
.experience-kicker .fi{width:18px!important;height:18px!important;color:var(--accent)!important;stroke:var(--accent)!important}
.experience-kicker .lm-clock-hand{transform-origin:12px 12px}
@media(hover:hover){.impact-intro:hover .experience-kicker .lm-clock-hand{animation:lm-clock-spin 1.15s cubic-bezier(.16,1,.3,1)}}
@keyframes lm-clock-spin{to{transform:rotate(360deg)}}


/* === V49.5 GLOBAL BUTTON HOVER — GLASS LIFT, NO ACCENT FILL ===
   One neutral interaction language across home + inner pages, readable in light/dark. */
:where(
  a.liquid-btn,a.process-more,a.domain-card-cta,a.wa-inline,a.pill,a.round-link,
  .contact button,.commercial-v11 button,.calc-results button,.calc-tabs button,
  .segmented button,.process-grid a,.about-cta a,.hero-actions a
){
  transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .32s ease,
             border-color .28s ease,background-color .28s ease,color .28s ease!important;
}

/* Disable the old red/accent liquid-fill sweep everywhere. */
:where(a.liquid-btn,a.process-more,a.domain-card-cta,a.wa-inline,a.pill,
       .contact button,.commercial-v11 button,.calc-results button,.calc-tabs button,
       .segmented button)::before{
  display:none!important;
  content:none!important;
}

/* Keep the original button surface; hover adds depth + a subtle glass highlight. */
@media(hover:hover){
 :where(
   a.liquid-btn,a.process-more,a.domain-card-cta,a.wa-inline,a.pill,a.round-link,
   .contact button,.commercial-v11 button,.calc-results button,.calc-tabs button,
   .segmented button,.process-grid a,.about-cta a,.hero-actions a
 ):hover{
   transform:translateY(-3px) scale(1.015)!important;
   border-color:color-mix(in srgb,var(--text) 34%,var(--line))!important;
   box-shadow:
     0 12px 30px rgba(0,0,0,.16),
     0 0 0 1px color-mix(in srgb,var(--text) 10%,transparent),
     inset 0 1px 0 color-mix(in srgb,var(--text) 18%,transparent)!important;
   filter:brightness(1.045)!important;
 }
 :where(
   a.liquid-btn,a.process-more,a.domain-card-cta,a.wa-inline,a.pill,
   .contact button,.commercial-v11 button,.calc-results button,.calc-tabs button,
   .segmented button,.process-grid a,.about-cta a,.hero-actions a
 ):hover .lm-arrow{
   animation:lm-arrow-glide .62s cubic-bezier(.16,1,.3,1)!important;
 }
}

/* Do not force white glyphs/text on hover; inherit the button's correct theme colour. */
:where(.liquid-btn,.process-more,.domain-card-cta,.wa-inline,.pill,
       .contact button,.commercial-v11 button,.calc-results button,.calc-tabs button,
       .segmented button):hover :is(.fi,svg){
  color:currentColor!important;
  stroke:currentColor!important;
}

/* Small directional movement gives CTAs life without recolouring the whole button. */
@keyframes lm-arrow-glide{
  0%{transform:translateX(0) scale(1);opacity:1}
  42%{transform:translateX(5px) scale(.92);opacity:.62}
  70%{transform:translateX(-2px) scale(1.04);opacity:1}
  100%{transform:translateX(0) scale(1);opacity:1}
}

/* Light mode gets a lighter shadow rather than the dark-mode depth. */
html[data-theme="light"] :where(
 a.liquid-btn,a.process-more,a.domain-card-cta,a.wa-inline,a.pill,a.round-link,
 .contact button,.commercial-v11 button,.calc-results button,.calc-tabs button,
 .segmented button,.process-grid a,.about-cta a,.hero-actions a
):hover{
  box-shadow:
    0 12px 28px rgba(15,20,16,.11),
    0 0 0 1px rgba(15,20,16,.08),
    inset 0 1px 0 rgba(255,255,255,.8)!important;
}

/* Keyboard users receive the same visual language. */
:where(a,button):focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent) 72%,white)!important;
  outline-offset:3px!important;
}


/* === V49.6 HERO CTA ICON REPAIR ===
   Keep both hero arrows crisp and prevent generic button/icon hover rules from distorting them. */
.hero-v3 .hero-actions .liquid-btn b{
  display:grid!important;place-items:center!important;
  width:42px!important;height:42px!important;flex:0 0 42px!important;
  border-radius:50%!important;overflow:visible!important;
}
.hero-v3 .hero-actions .liquid-btn b .fi{
  width:22px!important;height:22px!important;
  display:block!important;overflow:visible!important;
  color:currentColor!important;stroke:currentColor!important;
  fill:none!important;stroke-width:1.9!important;
  transform:none!important;background:none!important;box-shadow:none!important;
}
.hero-v3 .hero-actions .round-link{
  display:grid!important;place-items:center!important;
  width:58px!important;height:58px!important;flex:0 0 58px!important;
  border-radius:50%!important;overflow:visible!important;
}
.hero-v3 .hero-actions .round-link .fi{
  width:24px!important;height:24px!important;
  display:block!important;overflow:visible!important;
  color:var(--accent)!important;stroke:var(--accent)!important;
  fill:none!important;stroke-width:1.9!important;
  transform:none!important;background:none!important;box-shadow:none!important;
}
@media(hover:hover){
 .hero-v3 .hero-actions .liquid-btn:hover b .fi{animation:hero-cta-diagonal .6s cubic-bezier(.16,1,.3,1)!important}
 .hero-v3 .hero-actions .round-link:hover{transform:translateY(-3px) scale(1.04)!important}
 .hero-v3 .hero-actions .round-link:hover .fi{animation:hero-cta-down .6s cubic-bezier(.16,1,.3,1)!important}
}
@keyframes hero-cta-diagonal{0%{transform:translate(0,0)}45%{transform:translate(3px,3px)}72%{transform:translate(-1px,-1px)}100%{transform:translate(0,0)}}
@keyframes hero-cta-down{0%{transform:translateY(0)}45%{transform:translateY(4px)}72%{transform:translateY(-1px)}100%{transform:translateY(0)}}


/* === V49.7 HERO HOVER SYSTEM — NO COLOUR FILL === */
/* Hero CTA keeps its normal surface on hover. */
.hero-v3 .hero-actions .liquid-btn,
.hero-v3 .hero-actions .liquid-btn:hover{
  background:var(--paper)!important;
  color:#101411!important;
  border-color:color-mix(in srgb,var(--text) 20%,transparent)!important;
  filter:none!important;
}
html[data-theme="light"] .hero-v3 .hero-actions .liquid-btn,
html[data-theme="light"] .hero-v3 .hero-actions .liquid-btn:hover{
  background:var(--paper)!important;color:#101411!important;
}

/* Remove every legacy fill/sweep layer from the hero CTA. */
.hero-v3 .hero-actions .liquid-btn::before,
.hero-v3 .hero-actions .liquid-btn::after{
  display:none!important;content:none!important;background:none!important;
}

/* Keep the arrow orb unchanged in colour; interaction is motion/ring only. */
.hero-v3 .hero-actions .liquid-btn b,
.hero-v3 .hero-actions .liquid-btn:hover b{
  background:var(--accent)!important;
  color:#fff!important;
  box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 13%,transparent)!important;
  transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .38s ease!important;
}
@media(hover:hover){
 .hero-v3 .hero-actions .liquid-btn:hover{
   transform:translateY(-4px)!important;
   box-shadow:0 14px 34px rgba(0,0,0,.18),0 0 0 1px color-mix(in srgb,var(--text) 9%,transparent)!important;
 }
 .hero-v3 .hero-actions .liquid-btn:hover b{
   transform:rotate(-7deg) scale(1.06)!important;
   box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 10%,transparent),0 8px 20px color-mix(in srgb,var(--accent) 22%,transparent)!important;
 }
}

/* All hero action icons: animate the glyph, never recolour/fill the container. */
.hero-v3 .hero-actions :is(a,button) .fi{
  transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s ease!important;
}
.hero-v3 .hero-actions .round-link,
.hero-v3 .hero-actions .round-link:hover{
  background:transparent!important;
  color:var(--accent)!important;
  border-color:color-mix(in srgb,var(--text) 24%,transparent)!important;
  filter:none!important;
}
.hero-v3 .hero-actions .round-link::before,
.hero-v3 .hero-actions .round-link::after{
  display:none!important;content:none!important;
}
@media(hover:hover){
 .hero-v3 .hero-actions .round-link:hover{
   transform:translateY(-4px) scale(1.045)!important;
   border-color:color-mix(in srgb,var(--accent) 58%,var(--line))!important;
   box-shadow:0 10px 28px rgba(0,0,0,.16),0 0 0 5px color-mix(in srgb,var(--accent) 7%,transparent)!important;
 }
 .hero-v3 .hero-actions .round-link:hover .fi{
   animation:hero-arrow-bounce .68s cubic-bezier(.16,1,.3,1)!important;
 }
}
@keyframes hero-arrow-bounce{
  0%{transform:translateY(0)}
  38%{transform:translateY(5px)}
  65%{transform:translateY(-2px)}
  100%{transform:translateY(0)}
}

/* Hero chip arrows also get motion without any background/fill mutation. */
.hero-v3 .growth-chip .fi{transition:transform .3s cubic-bezier(.16,1,.3,1)!important}
@media(hover:hover){
 .hero-v3 .growth-chip:hover .fi{animation:hero-chip-arrow .7s cubic-bezier(.16,1,.3,1)!important}
 .hero-v3 .growth-chip:hover .fi:nth-of-type(2){animation-delay:.08s!important}
}
@keyframes hero-chip-arrow{
  0%,100%{transform:translateX(0)}
  45%{transform:translateX(4px)}
  70%{transform:translateX(-1px)}
}

/* Theme/accent rail glyphs: only glyph movement; no hover fill. */
.theme-rail:hover span,.accent-main:hover{background:transparent!important}
@media(hover:hover){
 .theme-rail:hover .fi{transform:rotate(16deg) scale(1.08)!important}
 .accent-main:hover span{transform:scale(1.12)!important}
}


/* === V49.8 HERO CTA: DARK-MODE CONTRAST + CLEAN MOTION HOVER === */
/* Explicit surfaces: do not depend on --paper, which is dark in dark theme. */
html[data-theme="dark"] .hero-v3 .hero-actions .liquid-btn,
html[data-theme="dark"] .hero-v3 .hero-actions .liquid-btn:hover{
  background:#f4f5f1!important;
  color:#111411!important;
  border-color:rgba(255,255,255,.34)!important;
}
html[data-theme="light"] .hero-v3 .hero-actions .liquid-btn,
html[data-theme="light"] .hero-v3 .hero-actions .liquid-btn:hover{
  background:#111411!important;
  color:#f7f8f4!important;
  border-color:rgba(15,20,16,.20)!important;
}

/* Kill inherited filters/fills that were dimming the label. */
.hero-v3 .hero-actions .liquid-btn,
.hero-v3 .hero-actions .liquid-btn:hover{
  opacity:1!important;filter:none!important;
  text-shadow:none!important;
}
.hero-v3 .hero-actions .liquid-btn::before,
.hero-v3 .hero-actions .liquid-btn::after{display:none!important;content:none!important}

/* New hover: restrained lift + arrow travel. No scaling, red wash, rotation or halo. */
.hero-v3 .hero-actions .liquid-btn b,
.hero-v3 .hero-actions .liquid-btn:hover b{
  background:var(--accent)!important;color:#fff!important;
  box-shadow:none!important;transform:none!important;
  transition:transform .34s cubic-bezier(.16,1,.3,1)!important;
}
.hero-v3 .hero-actions .round-link,
.hero-v3 .hero-actions .round-link:hover{
  background:transparent!important;
  color:var(--accent)!important;
  box-shadow:none!important;filter:none!important;
}
@media(hover:hover){
 .hero-v3 .hero-actions .liquid-btn:hover{
   transform:translateY(-2px)!important;
   box-shadow:0 9px 24px rgba(0,0,0,.16)!important;
 }
 .hero-v3 .hero-actions .liquid-btn:hover b{
   transform:translate(3px,3px)!important;
 }
 .hero-v3 .hero-actions .liquid-btn:hover b .fi{
   animation:none!important;transform:none!important;
 }
 .hero-v3 .hero-actions .round-link:hover{
   transform:translateY(-2px)!important;
   border-color:var(--accent)!important;
   box-shadow:none!important;
 }
 .hero-v3 .hero-actions .round-link:hover .fi{
   animation:none!important;
   transform:translateY(4px)!important;
 }
}


/* === V49.9 HERO ARROWS — LUCIDE-STYLE PATH DRAW, NO ZOOM/VIBRATION === */
.hero-v3 .hero-actions :is(.liquid-btn,.round-link),
.hero-v3 .hero-actions :is(.liquid-btn,.round-link):hover{
  transform:none!important;
}
.hero-v3 .hero-actions .liquid-btn b,
.hero-v3 .hero-actions .liquid-btn:hover b,
.hero-v3 .hero-actions .round-link .fi,
.hero-v3 .hero-actions .round-link:hover .fi{
  transform:none!important;
  animation:none!important;
}
.hero-v3 .hero-actions :is(.liquid-btn,.round-link) .fi path{
  stroke-dasharray:30!important;
  stroke-dashoffset:0;
}
@media(hover:hover){
 .hero-v3 .hero-actions :is(.liquid-btn,.round-link):hover .fi path{
   animation:lm-arrow-path-draw .58s cubic-bezier(.4,0,.2,1)!important;
 }
 .hero-v3 .hero-actions .liquid-btn:hover{
   box-shadow:0 8px 22px rgba(0,0,0,.14)!important;
 }
 .hero-v3 .hero-actions .round-link:hover{
   border-color:var(--accent)!important;
   box-shadow:none!important;
 }
}
@keyframes lm-arrow-path-draw{
  0%{stroke-dashoffset:0;opacity:1}
  42%{stroke-dashoffset:-30;opacity:.15}
  43%{stroke-dashoffset:30;opacity:.15}
  100%{stroke-dashoffset:0;opacity:1}
}


/* === V50.0 PROCESS CTA — NO RED/ACCENT FILL ON HOVER === */
.process-grid .process-more,
.process-grid .process-more:hover{
  background:transparent!important;
  color:var(--text)!important;
  border-color:color-mix(in srgb,var(--text) 28%,var(--line))!important;
  filter:none!important;
}
.process-grid .process-more::before,
.process-grid .process-more::after{
  display:none!important;content:none!important;background:none!important;
}
.process-grid .process-more .fi,
.process-grid .process-more svg{
  color:var(--accent)!important;
  stroke:var(--accent)!important;
  transform:none!important;
}
@media(hover:hover){
 .process-grid .process-more:hover{
   background:color-mix(in srgb,var(--text) 5%,transparent)!important;
   transform:translateY(-2px)!important;
   border-color:color-mix(in srgb,var(--text) 48%,var(--line))!important;
   box-shadow:0 8px 22px rgba(0,0,0,.12),inset 0 0 0 1px color-mix(in srgb,var(--text) 5%,transparent)!important;
 }
 .process-grid .process-more:hover .fi path,
 .process-grid .process-more:hover svg path{
   animation:process-arrow-draw .55s cubic-bezier(.4,0,.2,1)!important;
 }
}
@keyframes process-arrow-draw{
  0%{stroke-dasharray:28;stroke-dashoffset:0;opacity:1}
  42%{stroke-dasharray:28;stroke-dashoffset:-28;opacity:.18}
  43%{stroke-dasharray:28;stroke-dashoffset:28;opacity:.18}
  100%{stroke-dasharray:28;stroke-dashoffset:0;opacity:1}
}
html[data-theme="light"] .process-grid .process-more:hover{
  background:rgba(15,20,16,.045)!important;
  box-shadow:0 8px 20px rgba(15,20,16,.09),inset 0 0 0 1px rgba(15,20,16,.04)!important;
}


/* === V50.1 SERVICE DOMAIN CTA — MATCH PROCESS BUTTON HOVER === */
#solutions .domain-card-cta,
#solutions .domain-card-cta:hover{
  background:transparent!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.34)!important;
  filter:none!important;
}
#solutions .domain-card-cta::before,
#solutions .domain-card-cta::after{
  display:none!important;content:none!important;background:none!important;
}
#solutions .domain-card-cta .fi,
#solutions .domain-card-cta svg{
  color:var(--accent)!important;
  stroke:var(--accent)!important;
  transform:none!important;
}
@media(hover:hover){
 #solutions .domain-card-cta:hover{
   background:rgba(255,255,255,.07)!important;
   transform:translateY(-2px)!important;
   border-color:rgba(255,255,255,.58)!important;
   box-shadow:0 8px 22px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.04)!important;
 }
 #solutions .domain-card-cta:hover .fi path,
 #solutions .domain-card-cta:hover svg path{
   animation:domain-arrow-draw .55s cubic-bezier(.4,0,.2,1)!important;
 }
}
@keyframes domain-arrow-draw{
  0%{stroke-dasharray:28;stroke-dashoffset:0;opacity:1}
  42%{stroke-dasharray:28;stroke-dashoffset:-28;opacity:.18}
  43%{stroke-dasharray:28;stroke-dashoffset:28;opacity:.18}
  100%{stroke-dasharray:28;stroke-dashoffset:0;opacity:1}
}
html[data-theme="light"] #solutions .domain-card-cta,
html[data-theme="light"] #solutions .domain-card-cta:hover{
  color:#10120f!important;
  border-color:rgba(16,18,15,.26)!important;
}
html[data-theme="light"] #solutions .domain-card-cta:hover{
  background:rgba(16,18,15,.05)!important;
  border-color:rgba(16,18,15,.46)!important;
  box-shadow:0 8px 20px rgba(15,20,16,.09),inset 0 0 0 1px rgba(15,20,16,.04)!important;
}


/* === V50.2 GLOBAL CTA GLASS-SHINE SWEEP ===
   Reuses the card-like specular sweep without changing button fill colour. */
:where(
  .hero-v3 .hero-actions .liquid-btn,
  .process-grid .process-more,
  #solutions .domain-card-cta,
  .about-cta a,
  .engineering-grid a,
  .smart-point a,
  .config-card a,
  .commercial-v11 a,
  .commercial-v11 button,
  .calc-results button,
  .contact button,
  a.pill,
  a.wa-inline
){
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
:where(
  .hero-v3 .hero-actions .liquid-btn,
  .process-grid .process-more,
  #solutions .domain-card-cta,
  .about-cta a,
  .engineering-grid a,
  .smart-point a,
  .config-card a,
  .commercial-v11 a,
  .commercial-v11 button,
  .calc-results button,
  .contact button,
  a.pill,
  a.wa-inline
)::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  top:-55%!important;
  left:-48%!important;
  width:34%!important;
  height:215%!important;
  pointer-events:none!important;
  background:linear-gradient(
    105deg,
    transparent 0%,
    rgba(255,255,255,.03) 22%,
    rgba(255,255,255,.34) 48%,
    rgba(255,255,255,.08) 67%,
    transparent 100%
  )!important;
  filter:blur(.2px)!important;
  transform:skewX(-18deg)!important;
  opacity:0!important;
}
:where(
  .hero-v3 .hero-actions .liquid-btn,
  .process-grid .process-more,
  #solutions .domain-card-cta,
  .about-cta a,
  .engineering-grid a,
  .smart-point a,
  .config-card a,
  .commercial-v11 a,
  .commercial-v11 button,
  .calc-results button,
  .contact button,
  a.pill,
  a.wa-inline
)>*{
  position:relative;
  z-index:1;
}
@media(hover:hover){
 :where(
   .hero-v3 .hero-actions .liquid-btn,
   .process-grid .process-more,
   #solutions .domain-card-cta,
   .about-cta a,
   .engineering-grid a,
   .smart-point a,
   .config-card a,
   .commercial-v11 a,
   .commercial-v11 button,
   .calc-results button,
   .contact button,
   a.pill,
   a.wa-inline
 ):hover::after{
   animation:cta-glass-shine .72s cubic-bezier(.2,.65,.25,1)!important;
 }
}
@keyframes cta-glass-shine{
  0%{left:-48%;opacity:0}
  16%{opacity:.72}
  72%{opacity:.42}
  100%{left:122%;opacity:0}
}

/* Light surfaces need a darker specular edge to remain visible. */
html[data-theme="light"] :where(
  .hero-v3 .hero-actions .liquid-btn,
  .process-grid .process-more,
  #solutions .domain-card-cta,
  .about-cta a,
  .engineering-grid a,
  .smart-point a,
  .config-card a,
  .commercial-v11 a,
  .commercial-v11 button,
  .calc-results button,
  .contact button,
  a.pill,
  a.wa-inline
)::after{
  background:linear-gradient(
    105deg,
    transparent 0%,
    rgba(255,255,255,.08) 20%,
    rgba(255,255,255,.72) 47%,
    rgba(15,20,16,.07) 62%,
    transparent 100%
  )!important;
}


/* === V50.3 SHINE VISIBILITY FIX ===
   Earlier component rules set ::after display:none!important. Override them explicitly. */
.hero-v3 .hero-actions .liquid-btn::after,
.process-grid .process-more::after,
#solutions .domain-card-cta::after,
.about-cta a::after,
.engineering-grid a::after,
.smart-point a::after,
.config-card a::after,
.commercial-v11 a::after,
.commercial-v11 button::after,
.calc-results button::after,
.contact button::after,
a.pill::after,
a.wa-inline::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:2!important;
  top:-70%!important;
  left:-55%!important;
  width:38%!important;
  height:240%!important;
  pointer-events:none!important;
  opacity:0!important;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.08) 24%,rgba(255,255,255,.72) 48%,rgba(255,255,255,.12) 66%,transparent 100%)!important;
  transform:skewX(-20deg)!important;
}
@media(hover:hover){
 .hero-v3 .hero-actions .liquid-btn:hover::after,
 .process-grid .process-more:hover::after,
 #solutions .domain-card-cta:hover::after,
 .about-cta a:hover::after,
 .engineering-grid a:hover::after,
 .smart-point a:hover::after,
 .config-card a:hover::after,
 .commercial-v11 a:hover::after,
 .commercial-v11 button:hover::after,
 .calc-results button:hover::after,
 .contact button:hover::after,
 a.pill:hover::after,
 a.wa-inline:hover::after{
   display:block!important;
   animation:cta-glass-shine-visible .78s cubic-bezier(.2,.7,.2,1)!important;
 }
}
@keyframes cta-glass-shine-visible{
  0%{left:-55%;opacity:0}
  12%{opacity:.92}
  82%{opacity:.62}
  100%{left:125%;opacity:0}
}


/* === V50.4 HERO CTA — GOLDEN-HOUR LIQUID GLASS === */
.hero-v3 .hero-actions .liquid-btn,
html[data-theme="dark"] .hero-v3 .hero-actions .liquid-btn,
html[data-theme="light"] .hero-v3 .hero-actions .liquid-btn{
  min-height:64px!important;
  padding:8px 12px 8px 26px!important;
  gap:24px!important;
  border:1px solid rgba(255,255,255,.32)!important;
  border-radius:24px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.055))!important;
  color:#fff!important;
  -webkit-backdrop-filter:blur(18px) saturate(135%)!important;
  backdrop-filter:blur(18px) saturate(135%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -1px 0 rgba(255,255,255,.07),
    0 12px 34px rgba(0,0,0,.20)!important;
  text-shadow:0 1px 8px rgba(0,0,0,.24)!important;
  overflow:hidden!important;
}
.hero-v3 .hero-actions .liquid-btn b,
.hero-v3 .hero-actions .liquid-btn:hover b{
  width:44px!important;height:44px!important;flex:0 0 44px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16)!important;
  transform:none!important;
}
/* warm reflected light lives inside the glass instead of filling it red */
.hero-v3 .hero-actions .liquid-btn::before{
  content:""!important;display:block!important;
  position:absolute!important;inset:auto -8% -75% 12%!important;
  height:110%!important;z-index:0!important;pointer-events:none!important;
  background:radial-gradient(ellipse at center,
    color-mix(in srgb,var(--accent) 30%,#ffd89a) 0%,
    color-mix(in srgb,var(--accent) 12%,transparent) 42%,
    transparent 72%)!important;
  opacity:.34!important;filter:blur(12px)!important;
  transition:opacity .4s ease,transform .55s cubic-bezier(.16,1,.3,1)!important;
}
.hero-v3 .hero-actions .liquid-btn::after{
  content:""!important;display:block!important;
  position:absolute!important;z-index:0!important;
  top:-80%!important;left:-46%!important;width:28%!important;height:260%!important;
  background:linear-gradient(108deg,transparent 0%,rgba(255,255,255,.08) 25%,rgba(255,255,255,.62) 48%,rgba(255,255,255,.10) 68%,transparent 100%)!important;
  transform:skewX(-18deg)!important;opacity:0!important;pointer-events:none!important;
}
.hero-v3 .hero-actions .liquid-btn>*{position:relative!important;z-index:2!important}
@media(hover:hover){
 .hero-v3 .hero-actions .liquid-btn:hover{
   transform:translateY(-2px)!important;
   background:linear-gradient(180deg,rgba(255,255,255,.21),rgba(255,255,255,.075))!important;
   border-color:rgba(255,255,255,.52)!important;
   box-shadow:
     inset 0 1px 0 rgba(255,255,255,.48),
     inset 0 -1px 0 rgba(255,255,255,.10),
     0 14px 36px rgba(0,0,0,.24),
     0 8px 28px color-mix(in srgb,var(--accent) 12%,transparent)!important;
 }
 .hero-v3 .hero-actions .liquid-btn:hover::before{
   opacity:.62!important;transform:translateY(-8px) scale(1.08)!important;
 }
 .hero-v3 .hero-actions .liquid-btn:hover::after{
   animation:hero-golden-glass-shine .82s cubic-bezier(.2,.7,.2,1)!important;
 }
 .hero-v3 .hero-actions .liquid-btn:hover b{
   background:rgba(255,255,255,.13)!important;
   border-color:rgba(255,255,255,.30)!important;
 }
 .hero-v3 .hero-actions .liquid-btn:hover b .fi path{
   animation:lm-arrow-path-draw .58s cubic-bezier(.4,0,.2,1)!important;
 }
}
@keyframes hero-golden-glass-shine{
  0%{left:-46%;opacity:0}
  14%{opacity:.78}
  78%{opacity:.48}
  100%{left:124%;opacity:0}
}

/* === V49.0m MOBILE LUCIDE ANATOMY MOTION === */
/* Mobile/touch equivalent of the desktop V49.0 hover anatomy animations.
   Keep the SVG shell still; animate the meaningful paths inside it. */
@media(max-width:900px),(hover:none),(pointer:coarse){
 .fi.lucide,.fi.lucide-animated{animation:none!important;transform:none!important}

 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card) .lm-rays{
  transform-box:view-box!important;transform-origin:12px 12px!important;
  animation:lm-mobile-spin 3.2s cubic-bezier(.2,.8,.2,1) infinite!important;
 }
 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card) .lm-core{
  transform-box:fill-box!important;transform-origin:center!important;
  animation:lm-mobile-pulse 2.2s ease-in-out infinite!important;
 }
 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card) .lm-charge path{
  animation:lm-mobile-charge 2.25s ease-in-out infinite!important;
 }
 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card) .lm-charge path:nth-child(2){animation-delay:.18s!important}
 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card) .lm-charge path:nth-child(3){animation-delay:.36s!important}

 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article) .lm-chart{
  stroke-dasharray:34!important;
  animation:lm-mobile-draw 3s cubic-bezier(.2,.8,.2,1) infinite!important;
 }
 :is(.impact-card,.process-grid article,.engineering-grid article) .lm-check{
  stroke-dasharray:14!important;
  animation:lm-mobile-check 2.8s cubic-bezier(.2,.8,.2,1) infinite!important;
 }
 :is(.impact-card,.process-grid article,.engineering-grid article) .lm-corners{
  transform-box:view-box!important;transform-origin:12px 12px!important;
  animation:lm-mobile-scan 2.5s cubic-bezier(.2,.8,.2,1) infinite!important;
 }
 :is(.process-grid article,.engineering-grid article) .lm-tool{
  transform-box:view-box!important;transform-origin:12px 12px!important;
  animation:lm-mobile-tool 2.7s ease-in-out infinite!important;
 }
 :is(.engineering-grid article,.smart-point,.impact-card) .lm-leaf{
  transform-box:fill-box!important;transform-origin:center bottom!important;
  animation:lm-mobile-grow 2.6s cubic-bezier(.2,.8,.2,1) infinite!important;
 }
 :is(.engineering-grid article,.config-card,.result-icons>div,.impact-card) .lm-panel{
  animation:lm-mobile-panel 2.5s ease-in-out infinite!important;
 }
 :is(.process-grid article,.engineering-grid article) .lm-windows{
  animation:lm-mobile-window 2.4s steps(2,end) infinite!important;
 }
 :is(.process-grid article,.engineering-grid article,.impact-card) .lm-roof{
  animation:lm-mobile-roof 2.5s cubic-bezier(.2,.8,.2,1) infinite!important;
 }
 .lm-moon{animation:lm-mobile-moon 2.8s ease-in-out infinite!important}

 /* Never animate navigation / CTA arrows on touch. */
 a .lm-arrow,button .lm-arrow,.process-more .fi,.domain-card-cta .fi,
 .hero-golden-cta .fi,.contact-whatsapp-cta .fi,.footer-hero .wa-inline .fi{
  animation:none!important;transform:none!important;
 }
}
@keyframes lm-mobile-spin{0%,18%{transform:rotate(0)}58%,100%{transform:rotate(180deg)}}
@keyframes lm-mobile-pulse{0%,20%,100%{transform:scale(1)}48%{transform:scale(.68)}68%{transform:scale(1.18)}}
@keyframes lm-mobile-charge{0%,18%{opacity:.15;transform:translateY(2px)}52%{opacity:1;transform:translateY(-1px)}72%,100%{opacity:1;transform:none}}
@keyframes lm-mobile-draw{0%,18%{stroke-dashoffset:34;opacity:.45}58%,82%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-34;opacity:.45}}
@keyframes lm-mobile-check{0%,22%{stroke-dashoffset:14;opacity:.35}58%,86%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-14;opacity:.45}}
@keyframes lm-mobile-scan{0%,20%,100%{transform:scale(1)}52%{transform:scale(.78)}}
@keyframes lm-mobile-tool{0%,20%,100%{transform:rotate(0)}46%{transform:rotate(-12deg)}70%{transform:rotate(9deg)}}
@keyframes lm-mobile-grow{0%,18%{transform:scaleY(.55);opacity:.45}58%,88%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.55);opacity:.45}}
@keyframes lm-mobile-panel{0%,20%,100%{opacity:.32;transform:translateY(0)}55%{opacity:1;transform:translateY(-2px)}}
@keyframes lm-mobile-window{0%,25%,100%{opacity:1}55%{opacity:.18}}
@keyframes lm-mobile-roof{0%,20%,100%{transform:translateY(0)}55%{transform:translateY(-2px)}}
@keyframes lm-mobile-moon{0%,20%,100%{transform:translateX(0)}55%{transform:translateX(2px)}}
@media(prefers-reduced-motion:reduce){
 .fi.lucide *,.fi.lucide-animated *{animation:none!important}
}


/* === V113 WHATSAPP LIQUID-GLASS CTA — HOME + ABOUT ===
   Transparent glass shell, green reflected light from the bottom, and two
   continuous outward call rings. This final override intentionally wins over
   the older solid-green WhatsApp treatments above. */
.contact-floats .whatsapp-float{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
  background:
    radial-gradient(ellipse 115% 72% at 50% 118%,
      rgba(37,211,102,.58) 0%,
      rgba(37,211,102,.30) 35%,
      rgba(18,140,126,.12) 61%,
      transparent 78%),
    linear-gradient(180deg,
      rgba(255,255,255,.105) 0%,
      rgba(255,255,255,.045) 44%,
      rgba(17,74,44,.20) 100%)!important;
  border:1px solid rgba(147,255,187,.30)!important;
  -webkit-backdrop-filter:blur(20px) saturate(145%)!important;
  backdrop-filter:blur(20px) saturate(145%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 -1px 0 rgba(65,255,136,.24),
    0 12px 34px rgba(0,0,0,.25),
    0 9px 30px rgba(37,211,102,.12)!important;
  animation:waGlassCall 2.25s ease-in-out infinite!important;
}
.contact-floats .whatsapp-float .wa-icon{
  position:relative!important;
  z-index:3!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#fff!important;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.28))!important;
}
.contact-floats .whatsapp-float .wa-icon svg,
.contact-floats .whatsapp-float .wa-icon svg *{
  color:#fff!important;
  stroke:#fff!important;
}
.contact-floats .whatsapp-float::before,
.contact-floats .whatsapp-float::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:-2px!important;
  z-index:-1!important;
  border-radius:999px!important;
  background:transparent!important;
  border:1.5px solid rgba(74,238,134,.72)!important;
  box-shadow:0 0 12px rgba(37,211,102,.18)!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:scale(.96)!important;
  animation:waGlassRing 2.15s cubic-bezier(.18,.64,.28,1) infinite!important;
}
.contact-floats .whatsapp-float::after{
  animation-delay:1.075s!important;
}
@keyframes waGlassRing{
  0%{opacity:0;transform:scale(.96)}
  10%{opacity:.78}
  68%{opacity:.22}
  100%{opacity:0;transform:scale(1.42)}
}
@keyframes waGlassCall{
  0%,100%{transform:translateY(0) rotate(0)}
  8%{transform:translateY(0) rotate(-3deg)}
  16%{transform:translateY(0) rotate(3deg)}
  24%{transform:translateY(0) rotate(-2deg)}
  32%{transform:translateY(0) rotate(2deg)}
  40%,78%{transform:translateY(0) rotate(0)}
  89%{transform:translateY(-2px) rotate(0)}
}
html[data-theme="light"] .contact-floats .whatsapp-float{
  background:
    radial-gradient(ellipse 115% 72% at 50% 118%,
      rgba(37,211,102,.48) 0%,
      rgba(37,211,102,.25) 36%,
      rgba(18,140,126,.10) 62%,
      transparent 79%),
    linear-gradient(180deg,
      rgba(255,255,255,.62) 0%,
      rgba(255,255,255,.34) 48%,
      rgba(204,255,222,.26) 100%)!important;
  border-color:rgba(24,160,77,.28)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    inset 0 -1px 0 rgba(37,211,102,.20),
    0 10px 30px rgba(12,50,26,.14),
    0 8px 26px rgba(37,211,102,.11)!important;
}
@media(prefers-reduced-motion:reduce){
  .contact-floats .whatsapp-float{animation:none!important}
  .contact-floats .whatsapp-float::before,
  .contact-floats .whatsapp-float::after{animation:none!important;opacity:0!important}
}


/* === V114 canonical floating contact controls === */
.contact-floats{overflow:visible!important;isolation:isolate!important}
.contact-floats>a{box-sizing:border-box!important}
.contact-floats .whatsapp-float,
html[data-theme="dark"] .contact-floats .whatsapp-float,
html[data-theme="light"] .contact-floats .whatsapp-float{
 position:relative!important;width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;flex:0 0 58px!important;
 padding:0!important;margin:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;
 overflow:visible!important;isolation:isolate!important;contain:none!important;filter:none!important;
 border:1px solid rgba(83,232,137,.42)!important;
 background:radial-gradient(ellipse 110% 66% at 50% 112%,rgba(37,211,102,.60) 0%,rgba(37,211,102,.28) 38%,rgba(18,140,126,.08) 66%,transparent 78%),linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.055) 48%,rgba(11,35,21,.34) 100%)!important;
 -webkit-backdrop-filter:blur(20px) saturate(150%)!important;backdrop-filter:blur(20px) saturate(150%)!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.34),inset 0 -1px 0 rgba(80,255,145,.25),0 10px 28px rgba(0,0,0,.22),0 8px 24px rgba(37,211,102,.13)!important;
 animation:none!important;
}
.contact-floats .whatsapp-float .wa-icon{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;filter:none!important;display:grid!important;place-items:center!important;position:relative!important;z-index:3!important}
.contact-floats .whatsapp-float .wa-icon img{display:block!important;width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain!important;background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important}
.contact-floats .whatsapp-float>span{display:none!important}
.contact-floats .whatsapp-float::before,.contact-floats .whatsapp-float::after{
 content:""!important;display:block!important;position:absolute!important;left:50%!important;top:50%!important;inset:auto!important;
 width:58px!important;height:58px!important;margin:-29px 0 0 -29px!important;border-radius:50%!important;
 border:2px solid rgba(70,235,130,.72)!important;background:transparent!important;box-shadow:0 0 12px rgba(37,211,102,.16)!important;
 filter:none!important;pointer-events:none!important;z-index:-1!important;opacity:0!important;
 transform:scale(1)!important;transform-origin:50% 50%!important;will-change:transform,opacity!important;
 animation:waRing114 2.2s cubic-bezier(.16,.62,.28,1) infinite!important;
}
.contact-floats .whatsapp-float::after{animation-delay:1.1s!important}
@keyframes waRing114{0%{transform:scale(1);opacity:.78}55%{opacity:.30}100%{transform:scale(1.55);opacity:0}}
html[data-theme="light"] .contact-floats .whatsapp-float{
 background:radial-gradient(ellipse 110% 66% at 50% 112%,rgba(37,211,102,.50) 0%,rgba(37,211,102,.23) 38%,rgba(18,140,126,.07) 66%,transparent 78%),linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.36) 50%,rgba(216,255,230,.30))!important;
 border-color:rgba(34,174,84,.36)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(37,211,102,.22),0 9px 24px rgba(12,50,26,.13)!important
}
@media(max-width:700px){.contact-floats .whatsapp-float,html[data-theme="dark"] .contact-floats .whatsapp-float,html[data-theme="light"] .contact-floats .whatsapp-float{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;flex-basis:52px!important}.contact-floats .whatsapp-float::before,.contact-floats .whatsapp-float::after{width:52px!important;height:52px!important;margin:-26px 0 0 -26px!important}.contact-floats .whatsapp-float .wa-icon{width:38px!important;height:38px!important}.contact-floats .whatsapp-float .wa-icon img{width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important}}


/* === V115 WhatsApp rings: true geometric centering === */
.contact-floats .whatsapp-float::before,
.contact-floats .whatsapp-float::after{
 left:50%!important;
 top:50%!important;
 right:auto!important;
 bottom:auto!important;
 margin:0!important;
 translate:-50% -50%!important;
 transform-origin:center center!important;
}
@keyframes waRing114{
 0%{transform:scale(1);opacity:.78}
 55%{opacity:.30}
 100%{transform:scale(1.55);opacity:0}
}


/* V117 — slightly tighter WhatsApp CTA pulse */
@keyframes waRing114{
  0%{transform:scale(1);opacity:.78}
  55%{opacity:.30}
  100%{transform:scale(1.40);opacity:0}
}


/* V118 — WhatsApp control exactly matches AI pill height */
.contact-floats .whatsapp-float,
html[data-theme="dark"] .contact-floats .whatsapp-float,
html[data-theme="light"] .contact-floats .whatsapp-float{
 width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;flex:0 0 58px!important;
}
@media(max-width:800px){
 .contact-floats .whatsapp-float,
 html[data-theme="dark"] .contact-floats .whatsapp-float,
 html[data-theme="light"] .contact-floats .whatsapp-float{
  width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;flex:0 0 52px!important;
 }
}


/* V119 — compact WhatsApp pulse: keep rings close to glass button */
@keyframes waRing114{
  0%{transform:scale(1);opacity:.68}
  58%{opacity:.26}
  100%{transform:scale(1.22);opacity:0}
}


/* V120 — faster Lucide anatomy playback on mobile/touch */
@media(max-width:900px),(hover:none),(pointer:coarse){
 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card) .lm-rays{animation-duration:1.75s!important}
 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card) .lm-core{animation-duration:1.25s!important}
 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card) .lm-charge path{animation-duration:1.30s!important}
 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card) .lm-charge path:nth-child(2){animation-delay:.10s!important}
 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card) .lm-charge path:nth-child(3){animation-delay:.20s!important}
 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card) .lm-charge path:nth-child(4){animation-delay:.30s!important}
 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card) .lm-charge path:nth-child(5){animation-delay:.40s!important}
 :is(.impact-card,.process-grid article,.smart-point,.engineering-grid article,.config-card) .lm-charge path:nth-child(6){animation-delay:.50s!important}
}


/* V121 — WhatsApp pulse hard cap: 30% smaller outer reach */
@keyframes waRing114{
  0%{transform:scale(1);opacity:.66}
  58%{opacity:.24}
  100%{transform:scale(1.15);opacity:0}
}
.contact-floats .whatsapp-float::before,
.contact-floats .whatsapp-float::after{
  animation-name:waRing114!important;
  animation-duration:2.2s!important;
  animation-timing-function:cubic-bezier(.16,.62,.28,1)!important;
  animation-iteration-count:infinite!important;
}
.contact-floats .whatsapp-float::after{animation-delay:1.1s!important}


/* === V123 HERO LIQUID-GLASS SOLAR PANELS === */
/* Dark mode: cool blue photovoltaic glass with visible cell lines. */
.hero-v3 .solar-tile{
  border:1px solid rgba(137,205,255,.42)!important;
  background:
    radial-gradient(120% 95% at 18% -8%,
      rgba(190,231,255,.24) 0%,
      rgba(102,184,238,.12) 30%,
      transparent 58%),
    linear-gradient(145deg,
      rgba(45,116,171,.58) 0%,
      rgba(10,38,62,.82) 43%,
      rgba(18,65,101,.72) 72%,
      rgba(6,27,46,.88) 100%)!important;
  -webkit-backdrop-filter:blur(13px) saturate(150%)!important;
  backdrop-filter:blur(13px) saturate(150%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 0 0 1px rgba(153,215,255,.08),
    inset 0 -18px 34px rgba(0,18,36,.30),
    inset 14px 8px 30px rgba(103,190,248,.08),
    0 7px 0 rgba(3,18,31,.82),
    0 15px 24px rgba(0,9,20,.34)!important;
}

/* Crisp photovoltaic cell lines stay visible above the glass tint. */
.hero-v3 .solar-tile:before{
  background:
    linear-gradient(90deg,
      transparent 0 48.8%,
      rgba(174,222,252,.38) 49.2% 50.8%,
      transparent 51.2% 100%),
    linear-gradient(0deg,
      transparent 0 48.7%,
      rgba(174,222,252,.34) 49.1% 50.9%,
      transparent 51.3% 100%)!important;
  background-size:25% 100%,100% 33.333%!important;
  opacity:.92!important;
  mix-blend-mode:screen!important;
  filter:drop-shadow(0 0 1px rgba(125,201,250,.20))!important;
}

/* Preserve a subtle moving glass highlight without washing out the blue. */
.hero-v3 .solar-tile:after{
  background:
    linear-gradient(112deg,
      transparent 34%,
      rgba(212,240,255,.08) 42%,
      rgba(255,255,255,.48) 49%,
      rgba(148,214,255,.18) 54%,
      transparent 66%)!important;
  opacity:.66!important;
  mix-blend-mode:screen!important;
}

/* Tone the sun reflection down so the blue glass remains the dominant panel colour. */
.hero-v3 .solar-deck:after{
  opacity:.50!important;
  filter:blur(7px) saturate(.92)!important;
}
.hero-v3 .solar-deck:before{
  opacity:.56!important;
}

/* Light mode: pale liquid glass panels rather than dark photovoltaic slabs. */
html[data-theme="light"] .hero-v3 .solar-tile{
  border:1px solid rgba(102,151,185,.34)!important;
  background:
    radial-gradient(125% 100% at 16% -8%,
      rgba(255,255,255,.92) 0%,
      rgba(245,251,255,.72) 28%,
      transparent 58%),
    linear-gradient(145deg,
      rgba(241,249,255,.76) 0%,
      rgba(213,231,243,.56) 43%,
      rgba(184,213,232,.46) 72%,
      rgba(222,238,247,.60) 100%)!important;
  -webkit-backdrop-filter:blur(15px) saturate(135%)!important;
  backdrop-filter:blur(15px) saturate(135%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 0 0 0 1px rgba(255,255,255,.38),
    inset 0 -16px 30px rgba(86,135,168,.11),
    inset 13px 8px 28px rgba(255,255,255,.28),
    0 7px 0 rgba(121,158,183,.34),
    0 14px 25px rgba(43,75,96,.14)!important;
}

/* Darker blue-grey cell lines give the pale glass proper solar-panel structure. */
html[data-theme="light"] .hero-v3 .solar-tile:before{
  background:
    linear-gradient(90deg,
      transparent 0 48.8%,
      rgba(63,113,148,.42) 49.2% 50.8%,
      transparent 51.2% 100%),
    linear-gradient(0deg,
      transparent 0 48.7%,
      rgba(63,113,148,.38) 49.1% 50.9%,
      transparent 51.3% 100%)!important;
  background-size:25% 100%,100% 33.333%!important;
  opacity:.88!important;
  mix-blend-mode:multiply!important;
  filter:none!important;
}

html[data-theme="light"] .hero-v3 .solar-tile:after{
  background:
    linear-gradient(112deg,
      transparent 34%,
      rgba(255,255,255,.18) 41%,
      rgba(255,255,255,.88) 49%,
      rgba(192,229,250,.30) 55%,
      transparent 66%)!important;
  opacity:.74!important;
  mix-blend-mode:screen!important;
}

/* In light mode the red sun cast becomes only a soft reflection over the pale glass. */
html[data-theme="light"] .hero-v3 .solar-deck:after{
  opacity:.28!important;
  filter:blur(8px) saturate(.70)!important;
}
html[data-theme="light"] .hero-v3 .solar-deck:before{
  opacity:.34!important;
}

/* Keep lines and glass highlights legible on smaller phone panels too. */
@media(max-width:760px){
  .hero-v3 .solar-tile{
    border-width:1px!important;
  }
  .hero-v3 .solar-tile:before{
    opacity:.96!important;
  }
  html[data-theme="light"] .hero-v3 .solar-tile:before{
    opacity:.92!important;
  }
}


/* === V124 STRONGER HERO RED SUN REFLECTION === */
/* Make the moving red sun reflection clearly visible while preserving the blue/glass panel base. */
.hero-v3 .solar-deck:after{
  background:
    radial-gradient(
      ellipse 46% 52% at var(--sun-reflect-x,50%) var(--sun-reflect-y,28%),
      rgba(255,92,58,calc(.96 * var(--sun-reflect-pulse,.8))) 0%,
      rgba(255,42,38,calc(.78 * var(--sun-reflect-pulse,.8))) 22%,
      rgba(236,10,42,calc(.52 * var(--sun-reflect-pulse,.8))) 42%,
      rgba(162,0,38,calc(.26 * var(--sun-reflect-pulse,.8))) 58%,
      transparent 76%
    )!important;
  opacity:.86!important;
  filter:blur(7px) saturate(1.48) brightness(1.08)!important;
  mix-blend-mode:screen!important;
}

.hero-v3 .solar-deck:before{
  background:
    radial-gradient(
      ellipse 27% 33% at var(--sun-reflect-x,50%) var(--sun-reflect-y,28%),
      rgba(255,144,96,calc(.78 * var(--sun-reflect-pulse,.8))) 0%,
      rgba(255,58,39,calc(.60 * var(--sun-reflect-pulse,.8))) 34%,
      rgba(224,10,43,calc(.28 * var(--sun-reflect-pulse,.8))) 54%,
      transparent 74%
    )!important;
  opacity:.78!important;
  filter:blur(3px) saturate(1.30)!important;
  mix-blend-mode:screen!important;
}

/* A faint local red sheen helps the reflection read through the dark blue glass. */
.hero-v3 .solar-tile{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 0 0 1px rgba(153,215,255,.08),
    inset 0 -18px 34px rgba(0,18,36,.30),
    inset 14px 8px 30px rgba(103,190,248,.08),
    inset 0 10px 28px rgba(255,34,36,.07),
    0 7px 0 rgba(3,18,31,.82),
    0 15px 24px rgba(0,9,20,.34)!important;
}

/* Light mode needs a stronger red cast because pale glass naturally washes it out. */
html[data-theme="light"] .hero-v3 .solar-deck:after{
  background:
    radial-gradient(
      ellipse 48% 54% at var(--sun-reflect-x,50%) var(--sun-reflect-y,28%),
      rgba(255,88,54,calc(.92 * var(--sun-reflect-pulse,.8))) 0%,
      rgba(255,38,37,calc(.74 * var(--sun-reflect-pulse,.8))) 23%,
      rgba(232,8,42,calc(.48 * var(--sun-reflect-pulse,.8))) 43%,
      rgba(150,0,36,calc(.22 * var(--sun-reflect-pulse,.8))) 59%,
      transparent 77%
    )!important;
  opacity:.72!important;
  filter:blur(7px) saturate(1.38) brightness(1.04)!important;
  mix-blend-mode:screen!important;
}

html[data-theme="light"] .hero-v3 .solar-deck:before{
  background:
    radial-gradient(
      ellipse 28% 34% at var(--sun-reflect-x,50%) var(--sun-reflect-y,28%),
      rgba(255,132,88,calc(.72 * var(--sun-reflect-pulse,.8))) 0%,
      rgba(255,54,38,calc(.56 * var(--sun-reflect-pulse,.8))) 35%,
      rgba(220,8,42,calc(.26 * var(--sun-reflect-pulse,.8))) 55%,
      transparent 74%
    )!important;
  opacity:.62!important;
  filter:blur(3px) saturate(1.22)!important;
  mix-blend-mode:screen!important;
}

html[data-theme="light"] .hero-v3 .solar-tile{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 0 0 0 1px rgba(255,255,255,.38),
    inset 0 -16px 30px rgba(86,135,168,.11),
    inset 13px 8px 28px rgba(255,255,255,.28),
    inset 0 10px 26px rgba(255,35,37,.08),
    0 7px 0 rgba(121,158,183,.34),
    0 14px 25px rgba(43,75,96,.14)!important;
}

@media(max-width:760px){
  .hero-v3 .solar-deck:after{opacity:.90!important}
  .hero-v3 .solar-deck:before{opacity:.82!important}
  html[data-theme="light"] .hero-v3 .solar-deck:after{opacity:.76!important}
  html[data-theme="light"] .hero-v3 .solar-deck:before{opacity:.66!important}
}


/* === V125 LIGHT-MODE HERO SUN PALETTE === */
/* Light theme uses a brighter coral / warm-white globe while keeping the same 3D dotted texture. */
html[data-theme="light"] .hero-v3 .hero-sun-canvas{
  filter:
    brightness(1.20)
    saturate(.90)
    drop-shadow(0 18px 25px rgba(116,34,24,.20))
    drop-shadow(0 0 18px rgba(255,116,78,.28))
    drop-shadow(0 0 40px rgba(255,78,54,.14))!important;
}

/* The docked/header version keeps the same lighter treatment during the scroll transition. */
html[data-theme="light"] body>.scroll-sun-live .hero-sun-canvas{
  filter:
    brightness(1.20)
    saturate(.90)
    drop-shadow(0 14px 22px rgba(116,34,24,.18))
    drop-shadow(0 0 16px rgba(255,116,78,.26))
    drop-shadow(0 0 34px rgba(255,78,54,.12))!important;
}

/* If WebGL ever falls back, keep that globe in the same light coral family. */
html[data-theme="light"] .hero-v3 .hero-3d-fallback .hero-sun-canvas{
  background:
    radial-gradient(circle at 34% 28%,
      #fff5e9 0%,
      #ffc28d 18%,
      #ff7958 42%,
      #e63b39 68%,
      #7f1822 100%)!important;
}


/* === V126 HERO PAKISTAN MAP CONTROL === */
/* Replaces the hero's down-arrow circle with an animated Pakistan map control. */
.hero-v3 .hero-pakistan-link{
  position:relative;
  width:74px;
  height:74px;
  min-width:74px;
  flex:0 0 74px;
  display:grid;
  place-items:center;
  border-radius:50%;
  overflow:visible;
  isolation:isolate;
  border:1px solid rgba(255,45,68,.72);
  background:
    radial-gradient(circle at 32% 22%,rgba(255,255,255,.12),transparent 34%),
    linear-gradient(145deg,rgba(255,36,58,.08),rgba(115,0,24,.05));
  -webkit-backdrop-filter:blur(15px) saturate(145%);
  backdrop-filter:blur(15px) saturate(145%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    inset 0 -1px 0 rgba(255,40,62,.13),
    0 10px 28px rgba(0,0,0,.18),
    0 0 22px rgba(255,18,48,.12);
  transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s ease,box-shadow .35s ease;
}

.hero-v3 .hero-pakistan-link:before,
.hero-v3 .hero-pakistan-link:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:100%;
  height:100%;
  border-radius:50%;
  translate:-50% -50%;
  pointer-events:none;
  z-index:-2;
}

.hero-v3 .hero-pakistan-link:before{
  border:1px solid rgba(255,31,60,.54);
  box-shadow:0 0 16px rgba(255,20,48,.10);
  animation:heroPakistanRing 2.6s cubic-bezier(.16,.62,.28,1) infinite;
}

.hero-v3 .hero-pakistan-link:after{
  width:82%;
  height:82%;
  z-index:-1;
  background:
    radial-gradient(circle,rgba(255,46,65,.23) 0%,rgba(255,20,52,.10) 42%,transparent 72%);
  filter:blur(7px);
  animation:heroPakistanGlow 2.15s ease-in-out infinite;
}

.hero-v3 .hero-pakistan-glow{
  position:absolute;
  inset:8px;
  border-radius:50%;
  z-index:0;
  pointer-events:none;
  background:
    conic-gradient(from 210deg,
      rgba(255,255,255,.04),
      rgba(255,58,76,.24),
      rgba(255,18,50,.08),
      rgba(255,255,255,.05));
  opacity:.72;
  filter:blur(.25px);
  animation:heroPakistanHalo 6s linear infinite;
}

.hero-v3 .hero-pakistan-map{
  position:relative;
  z-index:2;
  width:36px;
  height:36px;
  display:block;
  overflow:visible;
  transform-origin:center;
  filter:
    drop-shadow(0 2px 4px rgba(58,0,13,.32))
    drop-shadow(0 0 8px rgba(255,39,58,.34));
  animation:heroPakistanMapFloat 3s ease-in-out infinite;
}

@media(hover:hover){
  .hero-v3 .hero-pakistan-link:hover{
    transform:translateY(-3px) scale(1.035);
    border-color:rgba(255,78,94,.92);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.20),
      inset 0 -1px 0 rgba(255,40,62,.20),
      0 13px 32px rgba(0,0,0,.22),
      0 0 32px rgba(255,24,53,.22);
  }
  .hero-v3 .hero-pakistan-link:hover .hero-pakistan-map{
    animation:heroPakistanMapHover .78s cubic-bezier(.16,1,.3,1) both;
  }
}

html[data-theme="light"] .hero-v3 .hero-pakistan-link{
  border-color:rgba(230,18,49,.58);
  background:
    radial-gradient(circle at 32% 22%,rgba(255,255,255,.78),transparent 36%),
    linear-gradient(145deg,rgba(255,255,255,.52),rgba(255,52,69,.08));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(219,18,48,.10),
    0 10px 26px rgba(48,17,21,.10),
    0 0 24px rgba(255,30,53,.10);
}

html[data-theme="light"] .hero-v3 .hero-pakistan-map{
  filter:
    drop-shadow(0 2px 3px rgba(106,0,18,.18))
    drop-shadow(0 0 7px rgba(255,50,67,.24));
}

@keyframes heroPakistanRing{
  0%{transform:scale(.98);opacity:.72}
  68%{opacity:.10}
  100%{transform:scale(1.20);opacity:0}
}
@keyframes heroPakistanGlow{
  0%,100%{transform:scale(.90);opacity:.66}
  50%{transform:scale(1.08);opacity:1}
}
@keyframes heroPakistanHalo{
  to{transform:rotate(360deg)}
}
@keyframes heroPakistanMapFloat{
  0%,100%{transform:translateY(0) rotate(0)}
  50%{transform:translateY(-2px) rotate(-1.8deg)}
}
@keyframes heroPakistanMapHover{
  0%{transform:scale(1) rotate(0)}
  45%{transform:scale(1.12) rotate(-3deg)}
  100%{transform:scale(1.06) rotate(0)}
}

@media(max-width:760px){
  .hero-v3 .hero-pakistan-link{
    width:68px;
    height:68px;
    min-width:68px;
    flex-basis:68px;
  }
  .hero-v3 .hero-pakistan-map{
    width:33px;
    height:33px;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero-v3 .hero-pakistan-link:before,
  .hero-v3 .hero-pakistan-link:after,
  .hero-v3 .hero-pakistan-glow,
  .hero-v3 .hero-pakistan-map{
    animation:none!important;
  }
}


/* === V127 EXACT SUPPLIED PAKISTAN SVG === */
/* Use the user's supplied Pakistan SVG as the exact silhouette; the gradient/animation stays in CSS. */
.hero-v3 .hero-pakistan-map{
  position:relative;
  z-index:2;
  width:39px!important;
  height:36px!important;
  display:block!important;
  background:
    linear-gradient(145deg,
      #ff9f91 0%,
      #ff5058 30%,
      #ff183f 63%,
      #a90026 100%)!important;
  -webkit-mask-image:url('/assets/img/pakistan-map.svg?v=127')!important;
  mask-image:url('/assets/img/pakistan-map.svg?v=127')!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
  transform-origin:center!important;
  filter:
    drop-shadow(0 2px 4px rgba(58,0,13,.32))
    drop-shadow(0 0 8px rgba(255,39,58,.34))!important;
  animation:heroPakistanMapFloat 3s ease-in-out infinite!important;
}

/* A soft internal gloss keeps the supplied map feeling like part of the liquid-glass hero. */
.hero-v3 .hero-pakistan-map:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.62),transparent 34%),
    linear-gradient(120deg,transparent 35%,rgba(255,255,255,.24) 48%,transparent 61%);
  -webkit-mask-image:url('/assets/img/pakistan-map.svg?v=127');
  mask-image:url('/assets/img/pakistan-map.svg?v=127');
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  opacity:.72;
  animation:heroPakistanMapSheen 3.8s ease-in-out infinite;
}

html[data-theme="light"] .hero-v3 .hero-pakistan-map{
  background:
    linear-gradient(145deg,
      #ffaca0 0%,
      #ff5f64 32%,
      #f7193e 64%,
      #b4002a 100%)!important;
  filter:
    drop-shadow(0 2px 3px rgba(106,0,18,.18))
    drop-shadow(0 0 8px rgba(255,50,67,.25))!important;
}

@keyframes heroPakistanMapSheen{
  0%,100%{opacity:.52;transform:translateX(-2px)}
  50%{opacity:.88;transform:translateX(2px)}
}

@media(max-width:760px){
  .hero-v3 .hero-pakistan-map{
    width:36px!important;
    height:33px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero-v3 .hero-pakistan-map,
  .hero-v3 .hero-pakistan-map:before{
    animation:none!important;
  }
}

/* V127 — richer residential calculator energy dashboard */
.appliance-watts{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px 12px}
.appliance-watts>strong:nth-child(2){justify-self:start}
.appliance-units-label{margin-left:auto;opacity:.62;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}
.appliance-units{font-variant-numeric:tabular-nums}
.result-icons-home{grid-template-columns:repeat(5,minmax(0,1fr))}
.result-icons-home>div{min-width:0}
.result-icons-home .battery-result-card{position:relative}
#batteryHint{display:block;margin-top:5px;max-width:145px;font-style:normal;font-size:.66rem;line-height:1.25;opacity:.62;text-transform:none}
#batteryHint[hidden]{display:none}
#dailyUnits,#roofSpace{white-space:nowrap}
@media(max-width:900px){
 .home-mode .calc-results{display:flex;flex-direction:column}
 .home-mode .panel-wattage-bar{order:-5;width:100%;max-width:none;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;margin:0 0 12px}
 .home-mode .panel-wattage-bar label{font-size:.82rem}
 .home-mode .panel-wattage-bar select{min-width:130px;font-size:1rem}
 .home-mode .result-icons-home{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px}
 .home-mode .result-icons-home>div{min-height:112px}
 .home-mode .result-icons-home .battery-result-card{grid-column:span 2}
 #batteryHint{max-width:240px;font-size:.7rem}
 .appliance-watts{grid-template-columns:auto 1fr auto auto}
}
@media(max-width:520px){
 .appliance-watts{grid-template-columns:auto 1fr;row-gap:4px}
 .appliance-units-label{margin-left:0}
 .appliance-units{justify-self:end}
 .home-mode .panel-wattage-bar{position:relative;z-index:2}
}

/* V128 calculator card summary — desktop + mobile */
.appliance-card .appliance-watts{display:none!important}
.appliance-card .appliance-meta{
 display:block!important;
 visibility:visible!important;
 opacity:.72!important;
 height:auto!important;
 max-height:none!important;
 overflow:visible!important;
 margin-top:3px!important;
 font-size:.92rem!important;
 line-height:1.35!important;
 white-space:normal!important
}
@media(max-width:900px){
 .appliance-card .appliance-watts{display:none!important}
 .appliance-card .appliance-meta{
  display:block!important;
  visibility:visible!important;
  opacity:.72!important;
  font-size:.9rem!important;
  line-height:1.35!important;
  margin:3px 0 0!important
 }
}

/* V130 — definitive calculator mobile/card layout */
#solarCalculator .appliance-card .appliance-watts{display:none!important}
#solarCalculator .appliance-card .appliance-meta{
 display:block!important;visibility:visible!important;opacity:.72!important;
 position:static!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;
 clip:auto!important;clip-path:none!important;overflow:visible!important;
 margin:4px 0 14px!important;padding:0!important;
 font-size:13px!important;line-height:1.35!important;color:var(--muted)!important;
 white-space:normal!important;text-indent:0!important
}
.result-icons-home{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important}
.result-icons-home>div{
 min-width:0!important;min-height:174px!important;height:auto!important;box-sizing:border-box!important;padding:20px 10px!important;
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;text-align:center!important;gap:7px!important
}
.result-icons-home>div>span{margin:0 0 3px!important;flex:0 0 auto!important}
.result-icons-home>div>strong{margin:0!important;line-height:1.05!important}
.result-icons-home>div>small{margin:0!important;line-height:1.25!important}
#batteryHint,.monthly-units{display:block;margin:2px auto 0!important;max-width:130px!important;font-style:normal!important;font-size:10px!important;line-height:1.25!important;font-weight:600!important;opacity:.58!important;text-transform:none!important;text-align:center!important}
#batteryHint[hidden]{display:none!important}
.monthly-units b{font:inherit!important;font-weight:800!important}
@media(max-width:900px){
 #solarCalculator .appliance-card .appliance-meta{display:block!important;visibility:visible!important;opacity:.74!important;margin:4px 0 12px!important;font-size:13px!important;line-height:1.35!important}
 .home-mode .result-icons-home{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;align-items:stretch!important}
 .home-mode .result-icons-home>div{min-height:128px!important;height:auto!important;padding:14px 10px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;text-align:center!important}
 .home-mode .result-icons-home .battery-result-card{grid-column:auto!important}
 .home-mode .result-icons-home>div:last-child:nth-child(odd){grid-column:1/-1!important}
 #batteryHint,.monthly-units{font-size:9px!important;line-height:1.2!important;max-width:145px!important}
}
@media(max-width:430px){
 #solarCalculator .appliance-card .appliance-meta{font-size:12px!important;margin:3px 0 11px!important}
 .home-mode .result-icons-home{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .home-mode .result-icons-home>div{min-height:122px!important;padding:12px 7px!important}
 .home-mode .result-icons-home>div>strong{font-size:1.45rem!important}
 .home-mode .result-icons-home>div>small{font-size:.72rem!important}
 #batteryHint,.monthly-units{font-size:8.5px!important;max-width:125px!important}
}

/* V131 array space + compact mobile appliance summary */
.array-legend .array-space{display:inline-flex;align-items:center;gap:5px}
.array-legend .array-space b{font:inherit;font-weight:800;color:var(--text)}
.array-legend .array-space .fi{width:14px!important;height:14px!important}
@media(max-width:900px){
 #solarCalculator .appliance-card .appliance-meta{
  font-size:10.5px!important;line-height:1.2!important;white-space:nowrap!important;
  overflow:visible!important;letter-spacing:-.015em!important
 }
 .array-legend{flex-wrap:wrap!important;gap:7px 12px!important}
 .array-legend .array-space{order:2}
}
@media(max-width:380px){
 #solarCalculator .appliance-card .appliance-meta{font-size:9.5px!important;letter-spacing:-.025em!important}
}

/* V133 — emphasize appliance daily energy in both themes */
#solarCalculator .appliance-meta .card-units-day{
 color:#ff2448!important;
 font:inherit!important;
 font-weight:800!important;
 opacity:1!important;
}
html[data-theme="light"] #solarCalculator .appliance-meta .card-units-day{
 color:#d90f32!important;
}

/* V134 — battery guidance as dashboard footnote */
.battery-note-star{color:var(--accent)!important;font-size:.8em!important;font-weight:900!important;vertical-align:super!important}
.battery-dashboard-note{width:100%!important;box-sizing:border-box!important;margin:8px 0 2px!important;font-size:11px!important;line-height:1.35!important;color:var(--muted)!important;text-align:left!important}
.battery-dashboard-note b{color:var(--accent)!important;font-weight:900!important}
@media(max-width:900px){.battery-dashboard-note{font-size:10px!important;margin:6px 0 2px!important}}

/* V135 — keep battery footnote attached to dashboard cards on desktop */
@media(min-width:901px){
 .home-mode .result-icons-home{margin-bottom:0!important}
 .home-mode .battery-dashboard-note{
  position:absolute!important;
  top:100%!important;
  left:0!important;
  width:100%!important;
  margin:7px 0 0!important;
  padding:0!important;
  font-size:10px!important;
  line-height:1.25!important;
  text-align:left!important;
 }
 .home-mode .result-icons-home{position:relative!important}
}

/* V137 — battery footnote visible + centered with dashboard cards */
.home-mode .battery-dashboard-note{
 display:block!important;
 visibility:visible!important;
 opacity:1!important;
 position:static!important;
 width:100%!important;
 max-width:none!important;
 height:auto!important;
 overflow:visible!important;
 box-sizing:border-box!important;
 margin:8px 0 0!important;
 padding:0!important;
 text-align:center!important;
 color:var(--muted)!important;
 font-size:10px!important;
 line-height:1.3!important;
}
.home-mode .battery-dashboard-note b{color:var(--accent)!important;font-weight:900!important}
@media(min-width:901px){
 .home-mode .result-icons-home{position:static!important;margin-bottom:0!important}
 .home-mode .battery-dashboard-note{
  position:static!important;
  left:auto!important;top:auto!important;
  margin:8px 0 0!important;
  text-align:center!important;
 }
}
@media(max-width:900px){
 .home-mode .battery-dashboard-note{
  display:block!important;
  margin:7px 0 0!important;
  padding:0 8px!important;
  text-align:center!important;
  font-size:9.5px!important;
 }
}

/* V138 — battery instruction aligned to result-card column */
.home-mode .battery-dashboard-note{
 display:block!important;visibility:visible!important;opacity:1!important;
 position:relative!important;inset:auto!important;z-index:5!important;
 width:100%!important;max-width:none!important;height:auto!important;
 margin:8px 0 10px!important;padding:0 6px!important;box-sizing:border-box!important;
 text-align:center!important;font-size:10px!important;line-height:1.3!important;
 color:var(--muted)!important;white-space:normal!important;
}
.home-mode .battery-dashboard-note b{color:var(--accent)!important}
@media(max-width:900px){
 .home-mode .battery-dashboard-note{margin:7px 0 9px!important;padding:0 8px!important;text-align:center!important;font-size:9.5px!important}
}

/* V139 — battery question tooltip */
.home-mode .battery-result-card{position:relative!important;overflow:visible!important}
.battery-help{
 appearance:none;border:1px solid color-mix(in srgb,var(--accent) 58%,transparent)!important;
 background:color-mix(in srgb,var(--accent) 10%,transparent)!important;color:var(--accent)!important;
 width:18px!important;height:18px!important;border-radius:50%!important;padding:0!important;margin-left:4px!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 font:800 11px/1 system-ui,sans-serif!important;vertical-align:1px!important;cursor:pointer!important
}
.battery-help-popover{
 display:none;position:absolute;z-index:30;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);
 width:max-content;max-width:220px;padding:9px 11px;border-radius:10px;
 border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));
 background:color-mix(in srgb,var(--bg) 92%,transparent);color:var(--text);
 box-shadow:0 12px 30px rgba(0,0,0,.25);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
 font-size:10px;line-height:1.35;font-weight:600;text-align:center;text-transform:none
}
.battery-help-popover:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:color-mix(in srgb,var(--accent) 35%,var(--border))}
.battery-result-card.battery-help-open .battery-help-popover{display:block}
.battery-dashboard-note{display:none!important}
@media(max-width:900px){
 .battery-help{width:17px!important;height:17px!important;font-size:10px!important}
 .battery-help-popover{bottom:calc(100% + 7px);max-width:180px;font-size:9.5px;padding:8px 10px}
}

/* V140 — compact equal result cards + reliable battery tooltip */
.home-mode .result-icons-home{align-items:stretch!important}
.home-mode .result-icons-home>div{
 height:190px!important;min-height:190px!important;max-height:190px!important;
 padding:20px 10px!important;box-sizing:border-box!important;
 justify-content:flex-start!important;overflow:visible!important
}
.home-mode .battery-result-card{position:relative!important;overflow:visible!important}
.battery-help-popover,.battery-help-popover.show{
 position:absolute!important;z-index:999!important;
 left:50%!important;bottom:calc(100% + 10px)!important;top:auto!important;
 transform:translateX(-50%)!important;width:210px!important;max-width:min(210px,80vw)!important;
 padding:10px 12px!important;border-radius:11px!important;
 border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border))!important;
 background:color-mix(in srgb,var(--bg) 94%,transparent)!important;color:var(--text)!important;
 box-shadow:0 14px 34px rgba(0,0,0,.32)!important;
 backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;
 font-size:10px!important;line-height:1.35!important;font-weight:650!important;text-align:center!important;
 white-space:normal!important
}
.battery-help-popover{display:none!important}
.battery-help-popover.show{display:block!important}
.battery-help-popover:before,.battery-help-popover:after{content:none!important;display:none!important;border:0!important}
@media(max-width:900px){
 .home-mode .result-icons-home>div{
  height:132px!important;min-height:132px!important;max-height:132px!important;
  padding:13px 8px!important
 }
 .battery-help-popover,.battery-help-popover.show{
  bottom:calc(100% + 7px)!important;width:170px!important;max-width:72vw!important;
  font-size:9.5px!important;padding:8px 10px!important
 }
}
@media(max-width:430px){
 .home-mode .result-icons-home>div{
  height:126px!important;min-height:126px!important;max-height:126px!important
 }
}

/* V141 — compact result cards + readable in-card battery tooltip */
@media(min-width:901px){
 .home-mode .result-icons-home{gap:10px!important}
 .home-mode .result-icons-home>div{
  height:158px!important;min-height:158px!important;max-height:158px!important;
  padding:15px 8px!important;gap:5px!important
 }
}
.home-mode .battery-result-card{overflow:visible!important}
.home-mode .battery-help-popover,
.home-mode .battery-help-popover.show{
 left:50%!important;right:auto!important;top:auto!important;bottom:18px!important;
 transform:translateX(-50%)!important;
 width:150px!important;max-width:calc(100% - 12px)!important;
 min-width:0!important;height:auto!important;min-height:0!important;
 padding:8px 9px!important;box-sizing:border-box!important;
 border-radius:9px!important;
 background:rgba(12,16,14,.96)!important;color:#fff!important;
 border:1px solid rgba(255,36,72,.55)!important;
 box-shadow:0 10px 26px rgba(0,0,0,.35)!important;
 font-size:9px!important;line-height:1.3!important;font-weight:650!important;
 white-space:normal!important;overflow:visible!important;text-indent:0!important;
 writing-mode:horizontal-tb!important
}
html[data-theme="light"] .home-mode .battery-help-popover,
html[data-theme="light"] .home-mode .battery-help-popover.show{
 background:rgba(255,255,255,.98)!important;color:#142019!important;
 box-shadow:0 10px 26px rgba(0,0,0,.14)!important
}
@media(max-width:900px){
 .home-mode .result-icons-home>div{
  height:116px!important;min-height:116px!important;max-height:116px!important;
  padding:10px 7px!important;gap:4px!important
 }
 .home-mode .battery-help-popover,
 .home-mode .battery-help-popover.show{
  bottom:12px!important;width:145px!important;max-width:calc(100% - 10px)!important;
  padding:7px 8px!important;font-size:8.5px!important
 }
}

/* V142 — viewport-level tooltip, independent of calculator/card overflow */
body>#batteryHelpTooltip{
 display:none!important;position:fixed!important;z-index:2147483000!important;
 right:auto!important;bottom:auto!important;transform:none!important;
 max-width:calc(100vw - 24px)!important;height:auto!important;min-height:0!important;
 padding:10px 12px!important;box-sizing:border-box!important;border-radius:11px!important;
 background:rgba(12,16,14,.97)!important;color:#fff!important;
 border:1px solid rgba(255,36,72,.58)!important;
 box-shadow:0 14px 38px rgba(0,0,0,.38)!important;
 backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
 font-size:11px!important;line-height:1.35!important;font-weight:650!important;
 text-align:center!important;white-space:normal!important;overflow:visible!important;
 writing-mode:horizontal-tb!important;pointer-events:auto!important
}
body>#batteryHelpTooltip.show{display:block!important}
body>#batteryHelpTooltip:before,body>#batteryHelpTooltip:after{content:none!important;display:none!important}
html[data-theme="light"] body>#batteryHelpTooltip{
 background:rgba(255,255,255,.98)!important;color:#142019!important;
 box-shadow:0 14px 38px rgba(0,0,0,.16)!important
}
@media(max-width:900px){body>#batteryHelpTooltip{font-size:10px!important;padding:9px 11px!important}}

/* V143 — keep backup battery icon visible in light theme */
html[data-theme="light"] .home-mode .battery-question .battery-orb svg,
html[data-theme="light"] .home-mode .battery-question .battery-orb .fi{
 color:#d90f32!important;
 stroke:#d90f32!important;
 opacity:1!important;
 visibility:visible!important;
}
html[data-theme="light"] .home-mode .battery-question .battery-orb span{
 color:#d90f32!important;
 opacity:1!important;
}

/* V144 — simple battery star + centered note below result cards */
.battery-help,.battery-help-popover,#batteryHelpTooltip{display:none!important}
.home-mode .battery-note-star{
 color:var(--accent)!important;font-size:.8em!important;font-weight:900!important;vertical-align:super!important
}
.home-mode .battery-dashboard-note{
 display:block!important;visibility:visible!important;opacity:.72!important;
 position:static!important;inset:auto!important;z-index:auto!important;
 width:100%!important;max-width:none!important;height:auto!important;
 box-sizing:border-box!important;margin:7px 0 0!important;padding:0 6px!important;
 text-align:center!important;color:var(--muted)!important;
 font-size:9px!important;line-height:1.3!important;font-weight:500!important;
 white-space:normal!important;overflow:visible!important
}
.home-mode .battery-dashboard-note b{color:var(--accent)!important;font-weight:900!important}
@media(max-width:900px){
 .home-mode .battery-dashboard-note{margin:6px 0 0!important;padding:0 8px!important;font-size:8.5px!important;line-height:1.25!important}
}

/* V145 — battery note belongs to result-card grid */
.home-mode .result-icons-home .battery-dashboard-note{
 grid-column:1/-1!important;
 display:block!important;
 width:100%!important;
 margin:0!important;
 padding:4px 0 0!important;
 align-self:start!important;
 text-align:center!important;
 font-size:9px!important;
 line-height:1.25!important;
 color:var(--muted)!important;
}
@media(min-width:901px){
 .home-mode .result-icons-home{row-gap:0!important}
 .home-mode .result-icons-home .battery-dashboard-note{padding-top:5px!important}
}
@media(max-width:900px){
 .home-mode .result-icons-home .battery-dashboard-note{
  grid-column:1/-1!important;
  padding-top:4px!important;
  font-size:8.5px!important;
 }
}

/* V146 — Pakistan rupee icon for energy-use card */
.home-mode .result-icons-home .pkr-energy-icon{
 color:var(--accent)!important;
 font-size:34px!important;
 line-height:1!important;
 font-weight:800!important;
 font-family:Arial,"Noto Sans",sans-serif!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
}
@media(max-width:900px){
 .home-mode .result-icons-home .pkr-energy-icon{font-size:28px!important}
}

/* V147 — energy/consumption icon for units-per-day */
.home-mode .result-icons-home .units-energy-icon{
 width:28px!important;height:28px!important;
 color:var(--accent)!important;stroke:var(--accent)!important;
 fill:none!important;stroke-width:1.8!important;
}
.home-mode .result-icons-home .pkr-energy-icon{display:none!important}
@media(max-width:900px){
 .home-mode .result-icons-home .units-energy-icon{width:24px!important;height:24px!important}
}

/* V149 — panel wattage selector inside live array card */
.home-mode .array-visual .panel-wattage-bar{
 width:max-content!important;max-width:100%!important;
 margin:12px 0 0!important;padding:7px 9px!important;
 position:static!important;box-sizing:border-box!important
}
@media(max-width:900px){
 .home-mode .array-visual .panel-wattage-bar{
  width:100%!important;max-width:none!important;margin:10px 0 0!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important
 }
}

/* V150 — appliance daily-energy share donut */
.home-mode .usage-breakdown-card{
 grid-column:1/-1;display:grid;grid-template-columns:190px minmax(0,1fr);gap:26px;align-items:center;
 padding:24px;border:1px solid var(--border);border-radius:24px;background:var(--card);
}
.home-mode .usage-breakdown-chart{
 width:170px;aspect-ratio:1;border-radius:50%;position:relative;margin:auto;
 box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 75%,transparent);
}
.home-mode .usage-breakdown-chart:after{
 content:"";position:absolute;inset:28px;border-radius:50%;background:var(--card);
 box-shadow:0 0 0 1px color-mix(in srgb,var(--border) 70%,transparent);
}
.home-mode .usage-breakdown-chart>div{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.home-mode .usage-breakdown-chart strong{font-size:25px;line-height:1;color:var(--text)}
.home-mode .usage-breakdown-chart small{font-size:10px;color:var(--muted);margin-top:5px}
.home-mode .usage-breakdown-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;min-width:0}
.home-mode .usage-breakdown-legend>span{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;font-size:11px;color:var(--muted)}
.home-mode .usage-breakdown-legend i{width:9px;height:9px;border-radius:50%;background:var(--usage-color)}
.home-mode .usage-breakdown-legend b{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-mode .usage-breakdown-legend em{font-style:normal;font-weight:800;color:var(--text)}
.home-mode .usage-breakdown-legend .usage-empty{display:block;grid-column:1/-1;text-align:center}
@media(max-width:900px){
 .home-mode .usage-breakdown-card{grid-template-columns:1fr;gap:16px;padding:18px 14px;border-radius:20px}
 .home-mode .usage-breakdown-chart{width:150px}
 .home-mode .usage-breakdown-chart:after{inset:25px}
 .home-mode .usage-breakdown-legend{grid-template-columns:1fr;gap:7px}
 .home-mode .usage-breakdown-legend>span{font-size:10px}
}

/* V151 — compact sorted load breakdown + interactive donut */
@media(min-width:901px){
 .home-mode .usage-breakdown-card{
  grid-template-columns:150px minmax(0,430px)!important;
  justify-content:center!important;gap:28px!important;
  width:min(100%,720px)!important;margin:0 auto!important;padding:18px 22px!important;
 }
 .home-mode .usage-breakdown-chart{width:142px!important}
 .home-mode .usage-breakdown-chart:after{inset:24px!important}
 .home-mode .usage-breakdown-legend{grid-template-columns:1fr!important;gap:5px!important}
}
.home-mode .usage-breakdown-chart{transition:transform .24s ease,filter .24s ease}
.home-mode .usage-breakdown-chart.is-hovering{transform:scale(1.055);filter:saturate(1.08)}
.home-mode .usage-center{position:absolute!important;inset:0!important;z-index:2!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;pointer-events:none!important}
.home-mode .usage-center svg{width:22px!important;height:22px!important;fill:none!important;stroke:var(--accent)!important;stroke-width:1.8!important}
.home-mode .usage-center strong{font-size:13px!important;letter-spacing:.12em!important;font-weight:850!important}
.home-mode .usage-hover{display:none;position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);width:76%;text-align:center;pointer-events:none}
.home-mode .usage-breakdown-chart.is-hovering .usage-center{opacity:0}
.home-mode .usage-breakdown-chart.is-hovering .usage-hover{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.home-mode .usage-hover b{font-size:9px;line-height:1.15;color:var(--text);max-width:92%;white-space:normal}
.home-mode .usage-hover strong{font-size:17px;line-height:1;color:var(--accent)}
.home-mode .usage-legend-row{
 appearance:none;border:0;background:none;padding:3px 4px;margin:0;width:100%;display:grid;
 grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;
 color:var(--muted);font:inherit;border-radius:7px;cursor:pointer;min-width:0;
}
.home-mode .usage-legend-row:hover,.home-mode .usage-legend-row:focus-visible{background:color-mix(in srgb,var(--accent) 7%,transparent);outline:none}
.home-mode .usage-legend-row i{width:9px;height:9px;border-radius:50%;background:var(--usage-color)}
.home-mode .usage-legend-row b{font-size:10px;font-weight:650;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-mode .usage-legend-row em{font-size:10px;font-style:normal;font-weight:800;color:var(--text)}
@media(max-width:900px){
 .home-mode .usage-breakdown-card{width:100%!important}
 .home-mode .usage-breakdown-chart{width:145px!important}
 .home-mode .usage-breakdown-legend{grid-template-columns:1fr!important}
}

/* V152 — donut hover details replace LOAD exactly in the center */
.home-mode .usage-breakdown-chart{position:relative!important}
.home-mode .usage-center,
.home-mode .usage-hover{
 position:absolute!important;
 inset:24px!important;
 left:24px!important;right:24px!important;top:24px!important;bottom:24px!important;
 width:auto!important;height:auto!important;
 transform:none!important;
 border-radius:50%!important;
 align-items:center!important;justify-content:center!important;
 text-align:center!important;
 pointer-events:none!important;
}
.home-mode .usage-center{display:flex!important;z-index:3!important;transition:opacity .12s ease!important}
.home-mode .usage-hover{display:none!important;z-index:4!important;margin:0!important;padding:5px!important;box-sizing:border-box!important}
.home-mode .usage-breakdown-chart.is-hovering .usage-center{display:none!important;opacity:0!important}
.home-mode .usage-breakdown-chart.is-hovering .usage-hover{display:flex!important;flex-direction:column!important}
.home-mode .usage-hover b{
 display:block!important;width:100%!important;margin:0!important;
 font-size:9px!important;line-height:1.15!important;font-weight:700!important;
 text-align:center!important;white-space:normal!important;overflow-wrap:anywhere!important;color:var(--text)!important
}
.home-mode .usage-hover strong{
 display:block!important;margin:3px 0 0!important;
 font-size:18px!important;line-height:1!important;font-weight:850!important;
 text-align:center!important;color:var(--accent)!important
}
@media(max-width:900px){
 .home-mode .usage-center,.home-mode .usage-hover{
  inset:25px!important;left:25px!important;right:25px!important;top:25px!important;bottom:25px!important
 }
}

/* V154 — load table units/day column */
.home-mode .usage-legend-head,
.home-mode .usage-legend-row{
 grid-template-columns:9px minmax(110px,1fr) 92px 46px!important;
}
.home-mode .usage-legend-head{
 display:grid;align-items:center;gap:8px;padding:0 4px 5px;
 border-bottom:1px solid color-mix(in srgb,var(--border) 75%,transparent);
 color:var(--muted);font-size:8px;line-height:1.1;text-transform:uppercase;letter-spacing:.05em
}
.home-mode .usage-legend-head b{font:inherit;font-weight:700}
.home-mode .usage-legend-head em{font:inherit;font-style:normal;text-align:right}
.home-mode .usage-row-units{
 font-size:9px!important;line-height:1.1!important;color:var(--muted)!important;
 white-space:nowrap!important;text-align:right!important
}
.home-mode .usage-legend-row em{text-align:right!important}
@media(max-width:900px){
 .home-mode .usage-legend-head,
 .home-mode .usage-legend-row{grid-template-columns:9px minmax(0,1fr) 78px 40px!important;gap:6px!important}
 .home-mode .usage-row-units{font-size:8.5px!important}
 .home-mode .usage-legend-head{font-size:7.5px!important}
}

/* V155 — full-width panel wattage control with safe spacing inside array card */
.home-mode .array-visual .panel-wattage-bar{
 width:100%!important;
 max-width:none!important;
 box-sizing:border-box!important;
 margin:18px 0 16px!important;
 padding:12px 14px!important;
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:16px!important;
 position:relative!important;
 clear:both!important;
}
.home-mode .array-visual .panel-wattage-bar label,
.home-mode .array-visual .panel-wattage-bar>span{
 flex:0 0 auto!important;
 margin:0!important;
}
.home-mode .array-visual .panel-wattage-bar select{
 flex:1 1 auto!important;
 width:100%!important;
 min-width:140px!important;
 max-width:none!important;
}
@media(max-width:900px){
 .home-mode .array-visual .panel-wattage-bar{
  width:100%!important;
  margin:16px 0 14px!important;
  padding:11px 12px!important;
  gap:10px!important;
 }
 .home-mode .array-visual .panel-wattage-bar select{
  min-width:0!important;
 }
}
@media(max-width:430px){
 .home-mode .array-visual .panel-wattage-bar{
  margin-top:14px!important;
  margin-bottom:12px!important;
  padding:10px!important;
 }
}


/* V156 — solar production forecast dashboard */
.production-card{
  border-top:1px solid var(--line);padding:38px;background:
  radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 28%),
  color-mix(in srgb,var(--card) 96%,var(--bg));
}
.production-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:26px}
.production-head h3{font-size:clamp(30px,3vw,46px);letter-spacing:-.045em;margin:8px 0 8px;line-height:1}
.production-head p{max-width:760px;margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.production-source{min-width:178px;border:1px solid var(--line);border-radius:18px;padding:13px 14px;display:grid;grid-template-columns:9px 1fr;gap:2px 8px;background:color-mix(in srgb,var(--bg) 72%,transparent)}
.production-source>span{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px color-mix(in srgb,var(--accent) 70%,transparent);grid-row:1/3;margin-top:4px}
.production-source b{font-size:11px}.production-source small{font-size:9px;color:var(--muted);line-height:1.35}
.production-layout{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);gap:16px;align-items:stretch}
.production-input-panel,.production-data-panel{border:1px solid var(--line);border-radius:26px;background:color-mix(in srgb,var(--bg) 72%,transparent)}
.production-input-panel{padding:18px}
.production-array-auto{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px;border-radius:18px;background:var(--ink);color:var(--bg);margin-bottom:14px}
.production-array-auto div{display:grid;gap:2px}.production-array-auto small{font:600 9px DM Mono,monospace;letter-spacing:.09em;opacity:.62}
.production-array-auto strong{font-size:28px;letter-spacing:-.04em}.production-array-auto span{font-size:10px;opacity:.7}
.production-array-auto .fi{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.4;opacity:.82}
.production-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.production-field{display:grid;gap:6px;align-content:start;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--card)}
.production-field-wide{grid-column:1/-1}
.production-field>span{font-size:10px;font-weight:800;letter-spacing:.01em}
.production-field small{font-size:8px;color:var(--muted);line-height:1.3}
.production-field input,.production-field select{
  width:100%;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);
  padding:0 9px;font-size:11px;font-weight:700;outline:0
}
.production-field input:focus,.production-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.field-suffix{position:relative}.field-suffix input{padding-right:28px}.field-suffix b{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--muted)}
.production-model-note{margin-top:10px;padding:12px 13px;border-radius:14px;background:color-mix(in srgb,var(--accent) 7%,var(--card));display:grid;gap:4px}
.production-model-note b{font-size:10px}.production-model-note span{font-size:8px;color:var(--muted);line-height:1.45}
.production-data-panel{padding:18px;min-width:0}
.production-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.production-metrics article{min-height:102px;border:1px solid var(--line);border-radius:17px;background:var(--card);padding:13px;display:grid;align-content:start}
.production-metrics small{font-size:9px;color:var(--muted);font-weight:700}.production-metrics strong{font-size:25px;letter-spacing:-.045em;margin-top:9px;line-height:1}
.production-metrics span{font-size:9px;color:var(--muted);margin-top:4px}.production-metrics .production-peak{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 8%,var(--card)),var(--card))}
.production-chart-card{border:1px solid var(--line);border-radius:20px;background:var(--card);padding:15px;min-width:0}
.production-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:10px}
.production-chart-head small{font:600 8px DM Mono,monospace;color:var(--muted);letter-spacing:.08em}
.production-chart-head h4{font-size:18px;margin:3px 0 0;letter-spacing:-.03em}
.production-chart-controls{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.production-segment{display:flex;background:var(--bg);padding:3px;border-radius:10px;border:1px solid var(--line)}
.production-segment button{border:0;background:transparent;color:var(--muted);font-size:9px;font-weight:800;border-radius:7px;padding:7px 9px;cursor:pointer;white-space:nowrap}
.production-segment button.active{background:var(--ink);color:var(--bg)}
.production-segment button:disabled{opacity:.3;cursor:not-allowed}
.production-chart-wrap{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);min-height:282px}
.production-axis{height:246px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:3px 7px 20px 0;color:var(--muted);font:600 8px DM Mono,monospace}
.production-chart{
  min-width:0;height:246px;display:flex;align-items:flex-end;gap:5px;overflow-x:auto;overflow-y:hidden;
  padding:5px 3px 20px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);
  background:repeating-linear-gradient(to top,transparent 0,transparent 60px,color-mix(in srgb,var(--line) 65%,transparent) 61px);
  scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 35%,transparent) transparent
}
.production-chart.is-dense{gap:3px}
.production-bar-item{height:220px;flex:1 0 22px;min-width:14px;display:grid;grid-template-rows:1fr 16px;gap:4px;align-items:end;cursor:pointer;position:relative;outline:none}
.production-chart.is-month-view .production-bar-item{flex-basis:38px;min-width:28px}
.production-chart.is-week-view .production-bar-item{flex-basis:54px;min-width:42px}
.production-chart.is-dense .production-bar-item{flex:0 0 10px;min-width:10px}
.production-bar-track{height:200px;display:flex;align-items:flex-end;justify-content:center;position:relative;border-radius:8px}
.production-bar-fill{width:min(100%,18px);height:max(3px,var(--bar-h));border-radius:7px 7px 3px 3px;background:color-mix(in srgb,var(--accent) 72%,var(--ink));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent);transition:.25s transform,.25s filter,.55s height}
.production-chart.is-month-view .production-bar-fill,.production-chart.is-week-view .production-bar-fill{width:min(100%,28px)}
.production-bar-item:hover .production-bar-fill,.production-bar-item:focus .production-bar-fill,.production-bar-item.is-selected .production-bar-fill{transform:scaleX(1.18);filter:brightness(1.08)}
.production-bar-item.is-peak .production-bar-fill{background:var(--accent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 35%,transparent)}
.production-bar-item.is-peak .production-bar-track:after{content:"PEAK";position:absolute;top:max(0px,calc(100% - var(--bar-h) - 17px));font:700 7px DM Mono,monospace;color:var(--accent)}
.production-bar-label{font:600 7px DM Mono,monospace;color:var(--muted);text-align:center;white-space:nowrap;opacity:.85}
.production-chart.is-dense .production-bar-label{display:none}.production-chart.is-dense .production-bar-item.show-label .production-bar-label{display:block;position:absolute;bottom:0;left:0;transform:translateX(-25%)}
.production-chart-loading{position:absolute;inset:0 0 0 34px;background:color-mix(in srgb,var(--card) 82%,transparent);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;font-weight:700;z-index:4}
.production-chart-loading[hidden]{display:none}.production-chart-loading span{width:9px;height:9px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:productionSpin .8s linear infinite}
@keyframes productionSpin{to{transform:rotate(360deg)}}
.production-selection{margin-top:10px;border-radius:15px;background:var(--bg);border:1px solid var(--line);padding:12px 14px;min-height:62px}
.production-selection>div{display:grid;grid-template-columns:auto 1fr auto;gap:3px 10px;align-items:center}
.production-selection small{font:600 8px DM Mono,monospace;color:var(--muted);grid-row:1/3}
.production-selection strong{font-size:12px}.production-selection span{font-size:9px;color:var(--muted);grid-column:2/4}
.production-selection b{font-size:14px;margin-left:auto}
.production-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:8px;color:var(--muted)}
.production-legend span{display:flex;align-items:center;gap:5px}.production-legend i{width:8px;height:8px;border-radius:2px;background:color-mix(in srgb,var(--accent) 72%,var(--ink))}
.production-legend i.peak{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 55%,transparent)}
.production-legend #productionModelPeriod{margin-left:auto}
@media(max-width:1050px){
 .production-layout{grid-template-columns:1fr}.production-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
 .production-field-wide{grid-column:span 3}
}
@media(max-width:760px){
 .production-card{padding:20px 14px}.production-head{display:grid;gap:14px}.production-source{min-width:0;width:100%}
 .production-fields{grid-template-columns:1fr 1fr}.production-field-wide{grid-column:1/-1}
 .production-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .production-chart-head{display:grid}.production-chart-controls{justify-content:flex-start}
 .production-selection>div{grid-template-columns:1fr}.production-selection small,.production-selection span{grid-column:auto;grid-row:auto}
 .production-selection b{margin-left:0}.production-legend #productionModelPeriod{width:100%;margin-left:0}
}
@media(max-width:470px){
 .production-fields{grid-template-columns:1fr}.production-field-wide{grid-column:auto}
 .production-metrics article{min-height:92px}.production-metrics strong{font-size:22px}
 .production-chart-controls{display:grid;grid-template-columns:1fr;width:100%}.production-segment button{flex:1}
 .production-chart-wrap{grid-template-columns:28px minmax(0,1fr)}.production-axis{padding-right:4px}
}


/* V157 — continuous production curve + translucent selectable bars */
.production-chart{
  display:block!important;
  position:relative!important;
  align-items:initial!important;
  gap:0!important;
}
.production-plot{
  position:relative;
  height:220px;
  min-width:100%;
}
.production-bars{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:flex-end;
  gap:5px;
}
.production-chart.is-dense .production-bars{gap:3px}
.production-line-svg{
  position:absolute;
  z-index:3;
  left:0;
  top:0;
  width:100%;
  height:200px;
  overflow:visible;
  pointer-events:none;
}
.production-line-path{
  fill:none;
  stroke:var(--accent);
  stroke-width:2.75;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 2px 5px color-mix(in srgb,var(--accent) 32%,transparent));
}
.production-bar-fill{
  background:var(--accent)!important;
  opacity:.13;
  box-shadow:none!important;
}
.production-bar-item.is-peak .production-bar-fill{opacity:.20}
.production-bar-item:hover .production-bar-fill,
.production-bar-item:focus .production-bar-fill,
.production-bar-item.is-selected .production-bar-fill{
  opacity:.31;
  filter:none;
  transform:scaleX(1.08);
}
.production-bar-item.is-peak .production-bar-track:after{
  z-index:4;
}
@media(max-width:760px){
  .production-line-path{stroke-width:2.4}
  .production-bar-fill{opacity:.11}
  .production-bar-item:hover .production-bar-fill,
  .production-bar-item:focus .production-bar-fill,
  .production-bar-item.is-selected .production-bar-fill{opacity:.28}
}


/* V158 — dense production graph with adaptive axes */
.production-chart{
  background:
    linear-gradient(to top,
      color-mix(in srgb,var(--line) 60%,transparent) 0 1px,
      transparent 1px 24.75%,
      color-mix(in srgb,var(--line) 45%,transparent) 25% calc(25% + 1px),
      transparent calc(25% + 1px) 49.75%,
      color-mix(in srgb,var(--line) 45%,transparent) 50% calc(50% + 1px),
      transparent calc(50% + 1px) 74.75%,
      color-mix(in srgb,var(--line) 45%,transparent) 75% calc(75% + 1px),
      transparent calc(75% + 1px) 99.75%,
      color-mix(in srgb,var(--line) 60%,transparent) 100%
    )!important;
}
.production-axis{
  height:220px!important;
  padding:2px 7px 18px 0!important;
  justify-content:space-between!important;
}
.production-axis span{
  display:block;
  font:600 7px DM Mono,monospace;
  color:var(--muted);
  white-space:nowrap;
}
.production-axis.axis-compact span{font-size:6.5px}
.production-bars{
  gap:0!important;
}
.production-bar-item{
  flex:0 0 var(--slot-w)!important;
  min-width:var(--slot-w)!important;
  width:var(--slot-w)!important;
  height:220px!important;
  grid-template-rows:1fr 16px!important;
}
.production-bar-track{
  height:200px!important;
}
.production-bar-fill{
  width:2px!important;
  max-width:2px!important;
  min-width:2px!important;
  border-radius:2px 2px 0 0!important;
  opacity:.11!important;
  transition:.18s opacity,.18s width,.18s transform!important;
}
.production-chart:not(.is-dense) .production-bar-fill{
  width:3px!important;
  max-width:3px!important;
}
.production-chart.is-week-view .production-bar-fill{
  width:5px!important;
  max-width:5px!important;
}
.production-chart.is-month-view .production-bar-fill{
  width:8px!important;
  max-width:8px!important;
}
.production-bar-item.is-peak .production-bar-fill{
  opacity:.20!important;
}
.production-bar-item:hover .production-bar-fill,
.production-bar-item:focus .production-bar-fill,
.production-bar-item.is-selected .production-bar-fill{
  opacity:.58!important;
  width:5px!important;
  max-width:5px!important;
  transform:none!important;
}
.production-chart.is-week-view .production-bar-item:hover .production-bar-fill,
.production-chart.is-week-view .production-bar-item:focus .production-bar-fill,
.production-chart.is-week-view .production-bar-item.is-selected .production-bar-fill{
  width:8px!important;
  max-width:8px!important;
}
.production-chart.is-month-view .production-bar-item:hover .production-bar-fill,
.production-chart.is-month-view .production-bar-item:focus .production-bar-fill,
.production-chart.is-month-view .production-bar-item.is-selected .production-bar-fill{
  width:11px!important;
  max-width:11px!important;
}
.production-line-path{
  stroke-width:1.35!important;
  filter:drop-shadow(0 1px 2px color-mix(in srgb,var(--accent) 24%,transparent))!important;
}
.production-bar-label{
  font-size:6.5px!important;
  overflow:visible!important;
}
.production-chart.is-dense .production-bar-label{
  display:none!important;
}
.production-chart.is-dense .production-bar-item.show-label .production-bar-label{
  display:block!important;
  position:absolute!important;
  bottom:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  font-size:6px!important;
}
.production-chart.is-dense .production-bar-item.show-label{
  overflow:visible!important;
  z-index:2;
}
.production-plot{
  touch-action:pan-x pan-y;
}
@media(max-width:760px){
  .production-line-path{stroke-width:1.05!important}
  .production-bar-fill{
    width:1.5px!important;
    max-width:1.5px!important;
    min-width:1.5px!important;
    opacity:.09!important;
  }
  .production-chart:not(.is-dense) .production-bar-fill{
    width:2.5px!important;
    max-width:2.5px!important;
  }
  .production-chart.is-week-view .production-bar-fill{
    width:4px!important;
    max-width:4px!important;
  }
  .production-chart.is-month-view .production-bar-fill{
    width:7px!important;
    max-width:7px!important;
  }
  .production-bar-item:hover .production-bar-fill,
  .production-bar-item:focus .production-bar-fill,
  .production-bar-item.is-selected .production-bar-fill{
    width:4px!important;
    max-width:4px!important;
    opacity:.55!important;
  }
}


/* V159 — adaptive sparse-data bar fill */
.production-bar-fill,
.production-chart:not(.is-dense) .production-bar-fill,
.production-chart.is-week-view .production-bar-fill,
.production-chart.is-month-view .production-bar-fill{
  width:var(--bar-visible-w)!important;
  max-width:var(--bar-visible-w)!important;
  min-width:var(--bar-visible-w)!important;
}
.production-bar-item:hover .production-bar-fill,
.production-bar-item:focus .production-bar-fill,
.production-bar-item.is-selected .production-bar-fill,
.production-chart.is-week-view .production-bar-item:hover .production-bar-fill,
.production-chart.is-week-view .production-bar-item:focus .production-bar-fill,
.production-chart.is-week-view .production-bar-item.is-selected .production-bar-fill,
.production-chart.is-month-view .production-bar-item:hover .production-bar-fill,
.production-chart.is-month-view .production-bar-item:focus .production-bar-fill,
.production-chart.is-month-view .production-bar-item.is-selected .production-bar-fill{
  width:calc(var(--bar-visible-w) * 1.18)!important;
  max-width:calc(var(--bar-visible-w) * 1.18)!important;
  min-width:calc(var(--bar-visible-w) * 1.18)!important;
}
@media(max-width:760px){
  .production-bar-fill,
  .production-chart:not(.is-dense) .production-bar-fill,
  .production-chart.is-week-view .production-bar-fill,
  .production-chart.is-month-view .production-bar-fill{
    width:var(--bar-visible-w)!important;
    max-width:var(--bar-visible-w)!important;
    min-width:var(--bar-visible-w)!important;
  }
  .production-bar-item:hover .production-bar-fill,
  .production-bar-item:focus .production-bar-fill,
  .production-bar-item.is-selected .production-bar-fill{
    width:calc(var(--bar-visible-w) * 1.18)!important;
    max-width:calc(var(--bar-visible-w) * 1.18)!important;
    min-width:calc(var(--bar-visible-w) * 1.18)!important;
  }
}


/* V162 — compact production inputs + dense yearly weeks */
@media(min-width:1051px){
  .production-layout{
    grid-template-columns:minmax(500px,.9fr) minmax(0,1.1fr);
    gap:12px;
  }
  .production-input-panel{padding:14px}
  .production-array-auto{
    padding:12px 14px;
    min-height:86px;
    margin-bottom:10px;
    border-radius:16px;
  }
  .production-array-auto strong{font-size:25px}
  .production-array-auto .fi{width:31px;height:31px}
  .production-fields{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
  }
  .production-field-wide{grid-column:1/-1}
  .production-field{
    gap:4px;
    padding:9px;
    border-radius:13px;
  }
  .production-field input,.production-field select{
    height:31px;
    padding:0 7px;
    font-size:10px;
  }
  .production-field>span{font-size:9px}
  .production-field small{font-size:7px;line-height:1.2}
  .production-model-note{margin-top:7px;padding:9px 10px}
}

@media(max-width:1050px){
  .production-input-panel{padding:13px}
  .production-array-auto{padding:12px 14px;margin-bottom:9px;min-height:82px}
  .production-array-auto strong{font-size:24px}
  .production-array-auto .fi{width:30px;height:30px}
  .production-fields{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .production-field-wide{grid-column:1/-1!important}
  .production-field{
    padding:9px!important;
    gap:4px!important;
    border-radius:13px!important;
  }
  .production-field input,.production-field select{
    height:34px!important;
    padding:0 8px!important;
  }
  .production-model-note{margin-top:7px;padding:9px 10px}
}

@media(max-width:760px){
  .production-card{padding:16px 12px!important}
  .production-head{margin-bottom:16px!important}
  .production-layout{gap:10px!important}
  .production-input-panel{padding:10px!important;border-radius:20px!important}
  .production-array-auto{
    padding:11px 12px!important;
    min-height:76px!important;
    margin-bottom:8px!important;
    border-radius:15px!important;
  }
  .production-array-auto strong{font-size:23px!important}
  .production-array-auto .fi{width:28px!important;height:28px!important}
  .production-fields{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .production-field-wide{grid-column:1/-1!important}
  .production-field{
    min-width:0;
    padding:8px!important;
    gap:4px!important;
    border-radius:12px!important;
  }
  .production-field>span{font-size:9px!important}
  .production-field input,.production-field select{
    min-width:0;
    height:40px!important;
    padding:0 8px!important;
    font-size:12px!important;
  }
  .production-field small{display:none!important}
  .production-field-wide small{
    display:block!important;
    font-size:7px!important;
    line-height:1.25!important;
  }
  .production-model-note{
    margin-top:7px!important;
    padding:8px 9px!important;
    border-radius:11px!important;
  }
  .production-model-note span{font-size:7px!important}
  .production-data-panel{padding:10px!important;border-radius:20px!important}

  /* Year → Week: fit the whole year like the dense day view. */
  .production-chart.is-week-view.is-year-week .production-bar-label{font-size:5.5px!important}
}

@media(max-width:470px){
  .production-fields{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .production-field-wide{grid-column:1/-1!important}
  .production-field{
    padding:7px!important;
  }
  .production-field input,.production-field select{
    height:38px!important;
    font-size:11px!important;
  }
}


/* V164 — Punjab smog stress toggle */
.production-smog-field{
  transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;
}
.production-smog-field.is-on{
  border-color:color-mix(in srgb,var(--accent) 42%,var(--line));
  background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,var(--card)),var(--card));
}
.production-smog-switch{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  cursor:pointer;
  user-select:none;
}
.production-smog-switch input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
  width:1px!important;
  height:1px!important;
}
.production-smog-track{
  width:44px;
  height:24px;
  flex:0 0 44px;
  padding:3px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--bg);
  display:flex;
  align-items:center;
  transition:.25s ease;
}
.production-smog-track i{
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--muted);
  transform:translateX(0);
  transition:.25s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 2px 6px rgba(0,0,0,.18);
}
.production-smog-switch input:checked + .production-smog-track{
  background:color-mix(in srgb,var(--accent) 16%,var(--bg));
  border-color:color-mix(in srgb,var(--accent) 65%,var(--line));
}
.production-smog-switch input:checked + .production-smog-track i{
  background:var(--accent);
  transform:translateX(20px);
  box-shadow:0 0 12px color-mix(in srgb,var(--accent) 50%,transparent);
}
.production-smog-switch>b{
  margin-left:auto;
  font-size:11px;
  color:var(--muted);
}
.production-smog-field.is-on .production-smog-switch>b{
  color:var(--ink);
}
@media(max-width:760px){
  .production-smog-switch{min-height:38px}
  .production-smog-track{width:42px;height:23px;flex-basis:42px}
  .production-smog-track i{width:15px;height:15px}
  .production-smog-switch input:checked + .production-smog-track i{transform:translateX(19px)}
}


/* V165 — Solar Production Pro launcher */
.production-pro-launcher{
  padding:18px 38px 22px;
  border-top:1px solid var(--line);
  background:color-mix(in srgb,var(--card) 97%,var(--bg));
}
.production-pro-button{
  width:100%;
  min-height:92px;
  border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 30%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 24%),
    linear-gradient(145deg,color-mix(in srgb,var(--accent) 5%,var(--card)),var(--card));
  color:var(--ink);
  padding:16px 18px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  text-align:left;
  cursor:pointer;
  transition:.28s ease;
}
.production-pro-button:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--accent) 70%,var(--line));
  box-shadow:0 16px 40px rgba(0,0,0,.08);
}
.production-pro-button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
.production-pro-icon{
  width:52px;height:52px;border-radius:16px;
  display:grid;place-items:center;
  background:var(--ink);color:var(--bg);
  border:1px solid var(--line);
}
.production-pro-icon svg{
  width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.production-pro-copy{display:grid;gap:3px;min-width:0}
.production-pro-copy small{
  font:600 8px DM Mono,monospace;
  letter-spacing:.09em;color:var(--accent);
}
.production-pro-copy strong{
  font-size:20px;letter-spacing:-.035em;line-height:1.05;
}
.production-pro-copy em{
  font-style:normal;font-size:10px;color:var(--muted);line-height:1.35;
}
.production-pro-action{
  display:flex;align-items:center;gap:8px;
  min-width:72px;justify-content:flex-end;
  font-size:10px;font-weight:800;color:var(--muted);
}
.production-pro-action svg{
  width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;
  transition:.28s transform;
}
.production-pro-button.is-open .production-pro-action svg{transform:rotate(180deg)}
.production-pro-button.is-open{
  border-color:color-mix(in srgb,var(--accent) 70%,var(--line));
  background:
    radial-gradient(circle at 92% 30%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 27%),
    linear-gradient(145deg,color-mix(in srgb,var(--accent) 8%,var(--card)),var(--card));
}
.production-card[hidden]{display:none!important}
.production-card{
  opacity:0;
  transform:translateY(-10px);
  transition:opacity .24s ease,transform .24s ease;
  scroll-margin-top:108px;
}
.production-card.is-open{
  opacity:1;
  transform:none;
}
@media(max-width:760px){
  .production-pro-launcher{padding:12px 14px 16px}
  .production-pro-button{
    min-height:80px;
    border-radius:18px;
    padding:12px;
    gap:10px;
    grid-template-columns:auto 1fr auto;
  }
  .production-pro-icon{width:44px;height:44px;border-radius:14px}
  .production-pro-icon svg{width:23px;height:23px}
  .production-pro-copy strong{font-size:17px}
  .production-pro-copy em{font-size:8px}
  .production-pro-action{min-width:48px}
}
@media(max-width:430px){
  .production-pro-copy em{display:none}
  .production-pro-action b{display:none}
  .production-pro-action{min-width:22px}
}


/* V166 — battery recharge sizing */
.battery-charge-config[hidden]{display:none!important}
.battery-charge-config{
  border-color:color-mix(in srgb,var(--accent) 34%,var(--line));
  background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 6%,var(--card)),var(--card));
}
.battery-recharge-info{
  display:block;
  margin-top:5px;
  font-style:normal;
  font-size:.64rem;
  line-height:1.25;
  color:var(--muted);
}
.battery-recharge-info[hidden]{display:none!important}
#arrayExplain{
  transition:.25s color,.25s opacity;
}
@media(max-width:900px){
  .battery-recharge-info{font-size:.68rem}
}


/* V169 — commercial production + panel wattage */
.commercial-panel-wattage{
  align-content:start;
}
.commercial-panel-wattage .commercial-panel-custom{
  display:flex;
  align-items:center;
  position:relative;
  width:100%;
  color:var(--ink);
}
.commercial-panel-wattage .commercial-panel-custom[hidden]{display:none!important}
.commercial-panel-wattage .commercial-panel-custom input{
  width:100%;
  height:38px;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--bg);
  color:var(--ink);
  padding:0 34px 0 10px;
  font:700 13px Manrope,sans-serif;
  outline:none;
}
.commercial-panel-wattage .commercial-panel-custom input:focus{
  border-color:var(--accent);
}
.commercial-panel-wattage .commercial-panel-custom em{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  font-style:normal;
  font-size:10px;
  color:var(--muted);
  pointer-events:none;
}
.commercial-production-card{
  margin-top:22px;
  border:1px solid var(--line);
  border-radius:30px;
  overflow:hidden;
}
.commercial-production-card .production-head p{
  max-width:820px;
}
@media(max-width:760px){
  .commercial-production-card{
    margin-top:14px;
    border-radius:22px;
  }
  .commercial-panel-wattage .commercial-panel-custom input{
    min-height:42px;
    font-size:16px;
  }
}


/* V171 — commercial engineering calculator */
.commercial-engineering-inputs{padding:28px}
.commercial-field-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.commercial-field-grid>label,
.commercial-backup-grid>label{
  min-width:0;
  padding:13px;
  border-radius:16px;
  gap:7px;
}
.commercial-field-grid label>span,
.commercial-backup-grid label>span{
  font-size:10px;
}
.commercial-field-grid label>small,
.commercial-backup-grid label>small{
  color:var(--muted);
  font-size:8px;
  line-height:1.35;
}
.commercial-field-grid select,
.commercial-backup-grid select{
  width:100%;
  min-width:0;
  height:38px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--bg);
  color:var(--ink);
  padding:0 9px;
  font:700 11px Manrope,sans-serif;
  outline:none;
}
.commercial-field-grid select:focus,
.commercial-backup-grid select:focus{
  border-color:var(--accent);
}
.commercial-field-grid .unit-input input,
.commercial-backup-grid .unit-input input{
  font-size:22px;
}
.commercial-day-card{
  margin-bottom:24px;
  padding:14px;
  border-radius:16px;
}
.commercial-day-card p{font-size:10px}
.commercial-engineering-inputs .business-step{
  margin:22px 0 12px;
}
.commercial-engineering-inputs .business-step:first-child{margin-top:0}
.commercial-engineering-inputs .business-step h3{font-size:21px}
.commercial-engineering-inputs .business-step p{font-size:10px}
.commercial-backup-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-bottom:22px;
}
.commercial-backup-grid .segmented{
  flex-wrap:wrap;
}
.commercial-backup-grid .segmented button{
  flex:1 1 42px;
  padding:8px 7px;
}
.commercial-metric-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.commercial-design-flags{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:10px 0;
}
.commercial-design-flags>div{
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:13px;
  background:color-mix(in srgb,var(--card) 88%,var(--bg));
}
.commercial-design-flags small,
.commercial-design-flags b{
  display:block;
}
.commercial-design-flags small{
  font-size:8px;
  color:var(--muted);
  margin-bottom:5px;
}
.commercial-design-flags b{
  font-size:10px;
  line-height:1.3;
}
.commercial-battery-result small{
  display:block;
  margin-top:5px;
  line-height:1.35;
}
@media(min-width:1150px){
  .commercial-v11 .business-grid{
    grid-template-columns:minmax(0,1.45fr) minmax(370px,.55fr);
  }
  .commercial-v11 .business-results{
    padding:28px;
  }
}
@media(max-width:1050px){
  .commercial-field-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .commercial-metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .commercial-engineering-inputs{padding:14px!important}
  .commercial-field-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .commercial-field-grid>label,
  .commercial-backup-grid>label{
    padding:9px!important;
    border-radius:13px!important;
  }
  .commercial-field-grid label>small,
  .commercial-backup-grid label>small{
    display:none;
  }
  .commercial-field-grid select,
  .commercial-backup-grid select{
    min-height:42px;
    font-size:16px;
  }
  .commercial-field-grid .unit-input input,
  .commercial-backup-grid .unit-input input{
    font-size:20px;
  }
  .commercial-backup-grid{
    grid-template-columns:1fr!important;
  }
  .commercial-engineering-inputs .business-step{
    margin:18px 0 10px;
  }
  .commercial-engineering-inputs .business-step h3{font-size:18px}
  .commercial-day-card{margin-bottom:18px}
  .commercial-design-flags{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:430px){
  .commercial-field-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .commercial-field-grid>label{
    padding:8px!important;
  }
  .commercial-field-grid label>span{
    font-size:9px!important;
  }
  .commercial-field-grid .unit-input input{
    font-size:18px;
  }
}


/* V173 — exact Year Week graph geometry */
.production-chart.is-year-week .production-bars{
  display:grid!important;
  grid-template-columns:repeat(var(--bar-count),minmax(0,1fr))!important;
  grid-template-rows:220px!important;
  column-gap:0!important;
  row-gap:0!important;
  align-items:stretch!important;
}
.production-chart.is-year-week .production-bar-item{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
  height:220px!important;
}
.production-chart.is-year-week .production-bar-track{
  width:100%!important;
  height:200px!important;
}
.production-chart.is-year-week .production-bar-fill{
  width:2px!important;
  min-width:2px!important;
  max-width:2px!important;
  opacity:.12!important;
}
.production-chart.is-year-week .production-bar-item:hover .production-bar-fill,
.production-chart.is-year-week .production-bar-item:focus .production-bar-fill,
.production-chart.is-year-week .production-bar-item.is-selected .production-bar-fill{
  width:3px!important;
  min-width:3px!important;
  max-width:3px!important;
  opacity:.56!important;
}
.production-chart.is-year-week .production-line-path{
  stroke-width:1.7!important;
}
@media(max-width:760px){
  .production-chart.is-year-week .production-bar-fill{
    width:1.5px!important;
    min-width:1.5px!important;
    max-width:1.5px!important;
  }
  .production-chart.is-year-week .production-bar-item:hover .production-bar-fill,
  .production-chart.is-year-week .production-bar-item:focus .production-bar-fill,
  .production-chart.is-year-week .production-bar-item.is-selected .production-bar-fill{
    width:2.5px!important;
    min-width:2.5px!important;
    max-width:2.5px!important;
  }
  .production-chart.is-year-week .production-line-path{
    stroke-width:1.35!important;
  }
}


/* V174 — split appliance actions + editable manual load */
#solarCalculator .appliance-add-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:10px;
}
#solarCalculator .appliance-add-actions .add-custom{
  width:100%;
  min-width:0;
  margin-top:0;
}
#solarCalculator .add-manual-load{
  border-style:solid;
  border-color:color-mix(in srgb,var(--accent) 42%,var(--line));
  color:var(--ink);
  background:color-mix(in srgb,var(--accent) 5%,transparent);
}
#solarCalculator .manual-load-card{
  border-color:color-mix(in srgb,var(--accent) 34%,var(--line));
}
#solarCalculator .manual-load-wattage{
  display:flex;
  flex-direction:column;
  gap:5px;
  width:100%;
  margin:5px 0;
}
#solarCalculator .manual-load-wattage>span{
  font-size:9px;
  line-height:1.2;
  color:var(--muted);
}
#solarCalculator .manual-load-wattage>div{
  position:relative;
  width:100%;
}
#solarCalculator .manual-wattage-input{
  width:100%;
  height:34px;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--card);
  color:var(--ink);
  padding:0 34px 0 9px;
  font:700 11px Manrope,sans-serif;
  outline:none;
}
#solarCalculator .manual-wattage-input:focus{
  border-color:var(--accent);
}
#solarCalculator .manual-load-wattage b{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  font-size:9px;
  color:var(--muted);
  pointer-events:none;
}
#solarCalculator .quantity-stepper strong{
  min-width:28px;
  text-align:center;
}
@media(max-width:760px){
  #solarCalculator .appliance-add-actions{
    gap:7px;
  }
  #solarCalculator .appliance-add-actions .add-custom{
    padding:11px 7px;
    font-size:9px;
  }
  #solarCalculator .manual-load-wattage{
    gap:4px;
    margin:4px 0;
  }
  #solarCalculator .manual-load-wattage>span{
    font-size:8px;
  }
  #solarCalculator .manual-wattage-input{
    height:30px;
    font-size:9px;
    padding:0 28px 0 7px;
  }
}


/* V175 — expanded backup-hour selectors */
#solarCalculator #backupHours{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(42px,1fr))!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
#solarCalculator #backupHours button{
  min-width:0!important;
  width:100%!important;
  padding:9px 6px!important;
  white-space:nowrap;
}
#commercialBackupHours{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
#commercialBackupHours button{
  min-width:0!important;
  width:100%!important;
  padding:8px 5px!important;
  white-space:nowrap;
}
@media(max-width:900px){
  #solarCalculator #backupHours{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  #solarCalculator #backupHours button{
    min-width:0!important;
  }
}
@media(max-width:760px){
  #solarCalculator .battery-question{
    align-items:stretch!important;
  }
  #solarCalculator #backupHours{
    grid-column:1/-1!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    overflow:visible!important;
  }
  #solarCalculator #backupHours button,
  #commercialBackupHours button{
    min-height:38px;
    font-size:10px!important;
  }
}
@media(max-width:420px){
  #solarCalculator #backupHours,
  #commercialBackupHours{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:3px!important;
  }
  #solarCalculator #backupHours button,
  #commercialBackupHours button{
    padding:8px 3px!important;
    font-size:9px!important;
  }
}


/* V176 — EV charging service card */
@media(min-width:761px){
  .visual-solutions .visual-card:nth-child(5){
    grid-column:1/-1;
    height:430px;
  }
  .visual-solutions .visual-card:nth-child(5) img{
    object-position:center 56%;
  }
  .visual-solutions .visual-card:nth-child(5) .visual-hover{
    max-width:560px;
  }
}

/* Solar Production Pro: editable array and washing-frequency estimate (V177) */
.production-array-editor{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:10px;margin-bottom:12px;min-width:0}
.production-array-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:4px;border-radius:13px;background:var(--bg)}
.production-array-mode button{border:0;border-radius:10px;background:transparent;color:var(--muted);padding:10px 7px;font:700 11px Manrope,sans-serif;cursor:pointer;white-space:normal;line-height:1.25;transition:background .2s,color .2s}
.production-array-mode button.active{background:var(--ink);color:var(--bg)}
.production-array-mode button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.production-manual-array{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}
.production-manual-array[hidden]{display:none!important}
.production-manual-array .production-field{min-width:0}
.production-manual-array .production-field input{width:100%;min-width:0}
.production-array-help{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin:9px 4px 1px}
@media(max-width:470px){.production-manual-array{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.production-manual-array .production-field{padding:8px!important}.production-array-mode button{font-size:10px}.production-array-help{font-size:9px}}

/* PV module types + rear irradiance planning controls, v179 */
.production-module-spec,.production-bifacial{grid-column:1/-1;min-width:0;display:grid;gap:7px;border:1px solid var(--line);border-radius:15px;padding:12px;background:var(--card)}
.production-module-spec strong,.production-bifacial>b{font-size:11px;line-height:1.35}
.production-module-spec small,.production-bifacial small{font-size:9px;line-height:1.45;color:var(--muted)}
.production-module-spec a{font-size:9px;font-weight:800;color:var(--accent);max-width:100%;overflow-wrap:anywhere}
.production-bifacial[hidden],.production-bifacial-reset[hidden]{display:none!important}
.production-bifacial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.production-bifacial-grid .production-field{min-width:0}
.production-bifacial-reset{justify-self:start;font-size:10px;font-weight:800;border:1px solid var(--accent);border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--ink);padding:9px 12px;cursor:pointer}
@media(max-width:470px){.production-bifacial-grid{grid-template-columns:1fr}.production-module-spec,.production-bifacial{padding:9px}}


/* V176 — desktop calculator result cards: prevent secondary text clipping */
@media(min-width:901px){
  .home-mode .result-icons-home{
    align-items:stretch!important;
  }
  .home-mode .result-icons-home>div{
    height:auto!important;
    min-height:190px!important;
    max-height:none!important;
    padding:16px 8px 18px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  .home-mode .result-icons-home .battery-result-card{
    min-height:190px!important;
  }
  .home-mode .battery-recharge-info,
  .home-mode .monthly-units{
    display:block;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    white-space:normal!important;
    margin-top:5px!important;
    padding-bottom:2px!important;
  }
}


/* V177 — battery result copy: keep recharge sentence inside desktop card */
@media(min-width:901px){
  .home-mode .result-icons-home>div{
    min-height:178px!important;
    padding:14px 7px 16px!important;
  }
  .home-mode .result-icons-home .battery-result-card{
    min-height:178px!important;
    overflow:hidden!important;
  }
  .home-mode .battery-result-card .battery-recharge-info{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:3px 0 0!important;
    padding:0 3px!important;
    font-size:8px!important;
    line-height:1.18!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .home-mode .battery-result-card>strong{margin-bottom:1px!important}
  .home-mode .battery-result-card>small{line-height:1.15!important}
}


/* V180 — definitive desktop battery metric layout */
@media (min-width:901px){
  #solarCalculator .home-mode .result-icons-home{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    align-items:stretch!important;
  }
  #solarCalculator .home-mode .result-icons-home>div{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
    padding:14px 7px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:4px!important;
  }
  #solarCalculator .home-mode .result-icons-home .battery-result-card{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
  }
  #solarCalculator .home-mode .battery-result-card #batteryRechargeInfo{
    flex:0 0 auto!important;
    display:block!important;
    width:calc(100% - 4px)!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:2px auto 0!important;
    padding:0!important;
    overflow:visible!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    text-align:center!important;
    font-size:7.5px!important;
    line-height:1.18!important;
  }
  #solarCalculator .home-mode .battery-result-card #batteryRechargeInfo[hidden]{
    display:none!important;
  }
}
