/* ASKARA ENERGY LAB — responsive interactive 3D + educational calculators */
.energy-lab-section{background:linear-gradient(180deg,#ebf3e9 0%,#f4f6eb 100%);padding:112px 0 90px;position:relative;isolation:isolate;overflow:hidden}
.energy-lab-section:before{content:"";position:absolute;z-index:-1;width:750px;height:750px;top:-410px;right:-250px;border-radius:50%;background:radial-gradient(circle,#b8eab3a3,transparent 65%);pointer-events:none}
.lab-section-heading{display:flex;gap:65px;justify-content:space-between;align-items:end;margin-bottom:40px}
.lab-section-heading h2{font:800 clamp(2.8rem,5vw,5.4rem)/1.08 Manrope,'DM Sans',sans-serif;letter-spacing:-.086em;margin:18px 0 0;color:#102f2a;max-width:750px}
.lab-section-heading h2 em{color:#2b9664;font-style:normal}
.lab-section-heading>p{max-width:350px;font-size:1.02rem;line-height:1.8;color:#5e776c}
.lab-eyebrow{display:inline-flex;align-items:center;gap:12px;color:#287857;font:800 .69rem Manrope,sans-serif;letter-spacing:.14em}
.lab-eyebrow span{display:inline-block;background:#31b87b;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 5px #59bf8a30}
.lab-shell{display:grid;grid-template-columns:.94fr 1.06fr;align-items:stretch;min-height:755px;border:1px solid #cadecb;border-radius:34px;overflow:hidden;background:#fff;box-shadow:0 28px 90px #183c2a17}
.lab-visual{min-width:0;background:radial-gradient(ellipse at 50% 36%,#295d54 0%,#0d3236 57%,#061b25 100%);position:relative;isolation:isolate;overflow:hidden;min-height:750px}
.lab-visual:before{content:"";position:absolute;width:110%;height:85%;left:-12%;top:-15%;background:radial-gradient(ellipse,#70d79d26,transparent 65%);pointer-events:none}
.lab-visual-grid{position:absolute;inset:0;opacity:.58;background-image:linear-gradient(#e5fff00a 1px,transparent 1px),linear-gradient(90deg,#e5fff00a 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,transparent 5%,black 90%);pointer-events:none}
.lab-visual-top{position:absolute;z-index:4;top:30px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:start;gap:15px}
.lab-mini-signal{display:inline-flex;align-items:center;gap:9px;color:#e8fff1;font:800 .63rem Manrope;letter-spacing:.09em;white-space:nowrap}
.lab-mini-signal i{width:8px;height:8px;background:#d1ff79;border-radius:50%;box-shadow:0 0 0 5px #bfff7330;animation:lab-signal 2s ease-in-out infinite}
.lab-scene-label{font:800 .65rem Manrope,sans-serif;color:#c4f585;letter-spacing:.08em;text-align:right}
.lab-3d-wrapper{height:100%;width:100%;min-height:740px;position:absolute;inset:0;display:grid;place-items:center;isolation:isolate}
.lab-3d-wrapper canvas{position:absolute;width:100%;height:100%;inset:0;display:block;opacity:0;z-index:2;cursor:grab;transition:opacity .6s ease;touch-action:pan-y}
.lab-3d-wrapper canvas:active{cursor:grabbing}
.lab-3d-fallback{position:absolute;inset:14% 0 10%;display:grid;place-items:center;pointer-events:none;z-index:1;animation:lab-hover 7s ease-in-out infinite}
.lab-3d-fallback svg{width:min(80%,475px);filter:drop-shadow(0 45px 27px #0006)}
.lab-3d-wrapper.is-three-ready .lab-3d-fallback{opacity:0;transition:opacity .7s}
.lab-visual-bottom{position:absolute;bottom:47px;left:30px;right:30px;z-index:3;display:flex;align-items:end;justify-content:space-between;gap:10px;pointer-events:none}
.lab-visual-indicator{display:grid;grid-template-columns:10px auto;gap:3px 8px;align-items:center}
.lab-energy-pulse{height:9px;width:9px;border-radius:50%;background:#ccff87;box-shadow:0 0 0 6px #c8f78a1c,0 0 17px #bcff7b}
.lab-visual-indicator strong{color:#f1fff3;font:800 .67rem Manrope;letter-spacing:.1em}
.lab-visual-indicator small{grid-column:2;color:#9abeb4;font-size:.71rem}
.lab-drag-hint{border-radius:99px;padding:7px 12px;color:#c5dfd1;border:1px solid #a9c6ae4a;background:#092d3099;font-size:.7rem}
.lab-drag-hint span{font-size:1.13rem;margin-right:7px}
.lab-scene-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#7fd7b218;z-index:6}
.lab-scene-progress span{display:block;height:100%;width:42%;background:linear-gradient(90deg,#70eab3,#d2ff8e);transition:width .65s ease;box-shadow:0 0 18px #d2ff8e55}
.lab-interface{min-width:0;display:flex;flex-direction:column;padding:34px 37px 35px;background:#fbfdf9}
.lab-interface-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}
.lab-interface-overline{font:800 .66rem Manrope;color:#548073;letter-spacing:.10em}
.lab-interactive-tag{display:inline-flex;align-items:center;gap:7px;color:#24754e;border:1px solid #cbe5d1;background:#eaf8eb;border-radius:99px;padding:5px 9px;font:800 .62rem Manrope;letter-spacing:.08em}
.lab-interactive-tag i{font-size:1rem;font-style:normal}
.lab-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#edf4eb;border-radius:15px;padding:5px;border:1px solid #deebdf;margin-bottom:24px}
.lab-tab{border:0;background:transparent;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:8px;color:#60776b;padding:12px 6px;font:800 .77rem Manrope,sans-serif;white-space:nowrap;transition:background .25s ease,transform .25s,color .25s,box-shadow .25s}
.lab-tab span{font-size:1.07rem;line-height:1}
.lab-tab.is-active{background:#103e38;color:#ebfff4;box-shadow:0 7px 20px #0d332c21}
.lab-tab:focus-visible{outline:3px solid #aafa73;outline-offset:2px}
.lab-tab:hover:not(.is-active){background:#ddebdc;color:#255c42}
.lab-mode-panel[hidden]{display:none!important}
.lab-context{min-height:85px}
.lab-context h3{font-size:1.36rem;font-weight:800;color:#102d29;letter-spacing:-.04em;margin-bottom:7px}
.lab-context p{color:#71847a;font-size:.84rem;line-height:1.72}
.lab-controls{display:grid;gap:10px;margin-top:13px}
.lab-control{padding-bottom:9px;border-bottom:1px solid #e8eee7}
.lab-control-label{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:11px}
.lab-control label{font-size:.82rem;font-weight:800;color:#2a463a}
.lab-control output{color:#1a8757;font:800 .82rem Manrope,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums}
.lab-control input[type="range"]{-webkit-appearance:none;appearance:none;width:100%;height:7px;background:linear-gradient(to right,#208358 0%,#77d794 var(--range-progress,40%),#dfe8da var(--range-progress,40%),#dfe8da 100%);border-radius:99px;cursor:pointer;vertical-align:middle;outline:none;margin:4px 0}
.lab-control input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:4px solid #1b8154;width:22px;height:22px;border-radius:50%;box-shadow:0 2px 10px #103b302b;transition:transform .2s}
.lab-control input[type="range"]::-moz-range-thumb{background:#fff;border:4px solid #1b8154;width:14px;height:14px;border-radius:50%;box-shadow:0 2px 10px #103b302b}
.lab-control input[type="range"]:hover::-webkit-slider-thumb{transform:scale(1.18)}
.lab-control input[type="range"]:focus-visible{outline:3px solid #b5ed83;outline-offset:7px}
.lab-assumptions{font-size:.70rem;color:#778d7f;line-height:1.55;margin:11px 0 18px}
.lab-estimate{margin-top:auto;border-radius:23px;background:linear-gradient(125deg,#0f3f37,#0a292f);padding:23px;color:#fff;border:1px solid #25584a;box-shadow:0 13px 30px #0e453320}
.lab-estimate-caption{display:flex;align-items:center;justify-content:space-between;gap:9px;font:800 .67rem Manrope;letter-spacing:.11em;color:#b5e9b8}
.lab-estimate-live{display:inline-flex;align-items:center;gap:7px;color:#d4ff8a}
.lab-estimate-live i{width:7px;height:7px;border-radius:50%;background:#d4ff8a;box-shadow:0 0 9px #d4ff8a;animation:lab-signal 2s ease infinite}
.lab-results{display:grid;grid-template-columns:1fr;gap:13px;padding:17px 0 12px}
.lab-result-primary span,.lab-results-secondary span{font-size:.76rem;color:#b8d5c5;display:block;line-height:1.5}
.lab-result-primary strong{display:block;font:800 clamp(2.9rem,4.1vw,4.2rem)/1.12 Manrope,sans-serif;letter-spacing:-.08em;color:#d5ff8d;margin-top:5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.lab-result-primary strong small{font-size:.36em;letter-spacing:-.035em;color:#d5ff8d}
.lab-results-secondary{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.lab-results-secondary>div{border-top:1px solid #ffffff35;padding-top:11px}
.lab-results-secondary strong{display:block;font:800 1.12rem Manrope;color:#fff;margin-top:7px;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.lab-result-caveat{display:flex;align-items:start;gap:10px;margin:5px 0 15px}
.lab-result-caveat>span{width:17px;height:17px;border:1px solid #a1c9b6;border-radius:50%;color:#c5e7cf;display:grid;place-items:center;flex:none;font:800 .68rem Manrope}
.lab-result-caveat p{color:#b4d0c0;font-size:.67rem;line-height:1.55}
.lab-quote-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:#d1ff82;border-radius:14px;padding:14px 16px;font:800 .82rem Manrope;color:#12382a;transition:background .25s ease,transform .25s ease}
.lab-quote-btn span{font-size:1.15rem}
.lab-quote-btn:hover{background:#edffba;transform:translateY(-2px)}
.lab-underbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 4px 0}
.lab-underbar>div{display:flex;align-items:center;gap:12px;color:#60776a;font-size:.79rem;line-height:1.65}
.lab-underbar strong{color:#20543d}
.lab-underbar-icon{font-size:1.7rem;color:#2d9762;flex:none}
.lab-underbar a{font-size:.78rem;font-weight:800;color:#1b7750;white-space:nowrap}
.lab-underbar a:hover{text-decoration:underline;text-underline-offset:4px}
@keyframes lab-signal{50%{opacity:.45;box-shadow:0 0 0 8px #d4ff8a1f}}
@keyframes lab-hover{50%{transform:translateY(-16px) rotate(1.5deg)}}
@media(max-width:1120px){.lab-shell{grid-template-columns:.9fr 1.1fr}.lab-interface{padding:27px 25px}.lab-visual-top{left:20px;right:20px}.lab-visual-bottom{left:20px;right:20px}.lab-tab{font-size:.73rem}.lab-section-heading>p{max-width:310px}}
@media(max-width:950px){.lab-shell{grid-template-columns:1fr;min-height:0}.lab-visual{min-height:450px}.lab-3d-wrapper{min-height:450px}.lab-visual-top{top:22px}.lab-visual-bottom{bottom:29px}.lab-interface{padding:29px}.lab-section-heading{display:block}.lab-section-heading>p{margin-top:17px;max-width:690px}.lab-controls{grid-template-columns:1fr 1fr;gap:15px 25px}.lab-estimate{margin-top:20px}.lab-result-primary strong{font-size:3.8rem}}
@media(max-width:640px){.energy-lab-section{padding:75px 0 64px}.lab-section-heading{margin-bottom:29px}.lab-section-heading h2{font-size:clamp(2.6rem,10vw,3.85rem)}.lab-section-heading>p{font-size:.91rem}.lab-shell{border-radius:24px}.lab-visual{min-height:345px}.lab-3d-wrapper{min-height:345px}.lab-visual-top{left:17px;right:17px;top:18px}.lab-mini-signal{font-size:.55rem}.lab-scene-label{font-size:.56rem}.lab-visual-bottom{left:19px;right:19px;bottom:23px}.lab-drag-hint{font-size:.58rem}.lab-visual-indicator strong{font-size:.57rem}.lab-visual-indicator small{font-size:.6rem}.lab-interface{padding:22px 18px 20px}.lab-interface-header{margin-bottom:13px}.lab-tabs{gap:4px;padding:4px;margin-bottom:17px}.lab-tab{padding:10px 3px;font-size:.69rem;gap:4px}.lab-tab span{font-size:.96rem}.lab-context{min-height:0}.lab-context h3{font-size:1.21rem}.lab-context p{font-size:.8rem}.lab-controls{grid-template-columns:1fr;gap:10px;margin-top:19px}.lab-control{padding-bottom:5px}.lab-control-label{margin-bottom:8px}.lab-control label{font-size:.79rem}.lab-control output{font-size:.79rem}.lab-assumptions{margin:12px 0 15px;font-size:.70rem}.lab-estimate{border-radius:19px;padding:20px;margin-top:10px}.lab-result-primary strong{font-size:3.1rem}.lab-results-secondary strong{font-size:.96rem}.lab-results-secondary span{font-size:.69rem}.lab-quote-btn{font-size:.74rem;padding:13px 11px}.lab-underbar{align-items:start;flex-direction:column;gap:10px}.lab-underbar>div{font-size:.74rem}.lab-underbar a{font-size:.74rem}}
@media(max-width:365px){.lab-tab{font-size:.61rem}.lab-tab span{font-size:.84rem}.lab-visual{min-height:310px}.lab-3d-wrapper{min-height:310px}.lab-results-secondary{gap:9px}.lab-result-primary strong{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){.lab-mini-signal i,.lab-estimate-live i,.lab-3d-fallback{animation:none!important}.lab-result-primary strong,.lab-quote-btn,.lab-tab{transition:none!important}}
