:root{--forest:#0C130F;--forest-deep:#0F1813;--forest-soft:#151F19;--lime:#FFB648;--lime-dark:#E0932A;--cream:#0C130F;--paper:#0F1813;--ink:#F3F1E7;--muted:#9AA79E;--line:#243128;--orange:#FFB648;--font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--shadow:0 22px 60px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.container{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;left:12px;top:-50px;background:var(--lime);color:var(--forest);padding:10px 14px;border-radius:8px;z-index:1000}.skip-link:focus{top:12px}.announcement{min-height:36px;padding:7px 24px;background:var(--forest-deep);color:#d9e4dc;display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;letter-spacing:.025em}.announcement__dot{width:6px;height:6px;border-radius:100%;background:var(--lime);box-shadow:0 0 0 4px rgba(217,243,106,.12)}.announcement a{color:var(--lime);font-weight:700;margin-left:8px}.site-header{height:82px;background:rgba(246,244,235,.94);border-bottom:1px solid rgba(18,55,45,.09);position:sticky;top:0;z-index:50;backdrop-filter:blur(16px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{width:35px;height:35px;color:var(--forest);display:block}.brand-mark svg{width:100%;height:100%}.brand-word{font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:-1.5px;color:var(--forest)}.primary-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.primary-nav a{font-size:12px;font-weight:700;color:#52645c;transition:color .2s}.primary-nav a:hover,.primary-nav a:focus-visible{color:var(--forest)}.button{min-height:54px;padding:0 23px;display:inline-flex;align-items:center;justify-content:center;gap:20px;border:0;border-radius:4px;font-size:12px;font-weight:800;letter-spacing:.01em;transition:transform .2s,background .2s,box-shadow .2s;cursor:pointer}.button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.12)}.button--small{min-height:43px;padding:0 16px;font-size:11px}.button--dark{background:var(--forest);color:#fff}.button--dark:hover{background:#204b3e}.button--lime{background:var(--lime);color:var(--forest)}.button--lime:hover{background:#e4fa80}.button--full{width:100%}.menu-toggle{display:none;background:none;border:0;padding:9px}.menu-toggle span{display:block;width:22px;height:2px;background:var(--forest);margin:5px}
.section-shell{background:var(--cream)}.hero{padding:76px 0 28px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:38px;min-height:505px}.hero-copy{padding:16px 0 32px;position:relative;z-index:2}.eyebrow{display:flex;align-items:center;gap:10px;color:#718078;font-size:9px;font-weight:800;letter-spacing:.17em}.eyebrow-line{display:inline-block;width:26px;height:1px;background:var(--lime-dark)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display)}h1{margin:26px 0 22px;color:var(--forest);font-size:clamp(50px,6.3vw,83px);line-height:.99;letter-spacing:-.075em;font-weight:700}h1 em,h2 em{font-weight:500;color:#6c8b68;font-style:normal}.hero-lede{max-width:480px;color:#65736b;font-size:15px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:32px}.text-link{display:inline-flex;align-items:center;gap:11px;font-size:12px;font-weight:800;color:var(--forest);border-bottom:1px solid #9cac97;padding:0 0 5px}.hero-note{display:flex;align-items:center;gap:10px;color:#7a867f;font-size:10px;margin-top:42px}.note-icon{width:24px;height:24px;border-radius:50%;background:#e8edda;color:#718d44;display:grid;place-items:center;font-size:14px}.hero-art{height:480px;position:relative;overflow:hidden;background:#dbe8d7;border-radius:4px 110px 4px 4px;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(255,255,255,.2),transparent 44%),linear-gradient(0deg,rgba(31,81,56,.11),transparent 56%)}.art-sun{position:absolute;right:13%;top:10%;width:105px;height:105px;border-radius:50%;background:#ffd47d;box-shadow:0 0 0 18px rgba(255,212,125,.18),0 0 0 42px rgba(255,212,125,.1)}.art-orbit{position:absolute;border:1px solid rgba(255,255,255,.48);border-radius:50%;transform:rotate(-24deg)}.art-orbit--one{width:520px;height:205px;right:-75px;top:75px}.art-orbit--two{width:585px;height:270px;right:-100px;top:58px}.art-cloud{position:absolute;background:rgba(255,255,255,.75);height:14px;width:72px;border-radius:30px;filter:blur(1px)}.art-cloud:before,.art-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.art-cloud:before{width:26px;height:26px;left:12px;bottom:0}.art-cloud:after{width:20px;height:20px;left:34px;bottom:0}.art-cloud--one{top:27%;left:15%}.art-cloud--two{top:17%;left:48%;transform:scale(.7)}.art-ground{position:absolute;left:-8%;right:-8%;height:132px;bottom:-20px;border-radius:50% 50% 0 0;background:#9bb58b;transform:rotate(-5deg)}.art-roof-shadow{position:absolute;width:85%;height:160px;bottom:104px;left:7%;background:#9b6840;clip-path:polygon(0 44%,46% 0,100% 45%,100% 100%,0 100%);filter:drop-shadow(0 18px 14px rgba(32,65,45,.14))}.art-house{position:absolute;bottom:58px;left:21%;width:58%;height:155px}.house-roof{position:absolute;top:0;left:-8%;width:116%;height:100px;background:#b86e43;clip-path:polygon(0 48%,50% 0,100% 48%,91% 62%,50% 22%,9% 62%)}.house-body{position:absolute;left:10%;right:10%;bottom:0;height:99px;background:#f3ead2;border-radius:2px;box-shadow:inset 0 -9px 0 rgba(121,100,65,.1)}.house-window{position:absolute;top:22px;left:17%;width:45px;height:43px;background:#8fb3ae;border:5px solid #fff5dd;box-shadow:inset 0 0 0 1px rgba(23,76,68,.25)}.house-door{position:absolute;right:15%;bottom:0;width:36px;height:61px;background:#8b6244;border-radius:3px 3px 0 0}.solar-array{position:absolute;top:47%;left:12%;width:76%;height:138px;transform:skewY(-12deg) rotate(-1deg);z-index:4;filter:drop-shadow(0 12px 9px rgba(15,40,45,.2))}.solar-panel{position:absolute;width:32%;height:100%;background:#244f66;border:5px solid #e3e8d9;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:2px;padding:3px}.solar-panel i{display:block;background:linear-gradient(145deg,#4b7e91,#1b3f57);border:1px solid rgba(198,223,220,.18)}.solar-panel--a{left:0;transform:skewY(10deg)}.solar-panel--b{left:33.7%;transform:skewY(10deg)}.solar-panel--c{left:67.4%;transform:skewY(10deg)}.art-stamp{position:absolute;right:5%;bottom:9%;width:112px;height:112px;background:var(--lime);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);z-index:6;color:var(--forest);box-shadow:0 10px 22px rgba(48,74,37,.14)}.art-stamp span{font-size:7px;letter-spacing:.15em;font-weight:800}.art-stamp strong{font-size:15px;letter-spacing:-.06em}.art-stamp b{font-size:19px;line-height:1}.art-caption{position:absolute;left:25px;bottom:22px;color:#f6faee;font-size:10px;font-weight:600;display:flex;align-items:center;gap:8px;z-index:7;text-shadow:0 1px 5px rgba(0,0,0,.25)}.caption-pulse{width:7px;height:7px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 5px rgba(217,243,106,.2)}.hero-bottom{display:flex;align-items:center;gap:17px;margin-top:32px;color:#8b968e;font-size:8px;font-weight:800;letter-spacing:.16em}.hero-bottom-rule{height:1px;flex:1;background:#d8ded2}.intro-strip{background:#e9eddf;padding:32px 0}.intro-strip-inner{display:grid;grid-template-columns:1fr 1.25fr auto;align-items:center;gap:40px}.intro-strip-inner>p:first-child{margin:0;font-size:16px;line-height:1.25;color:#61736a}.intro-strip-inner strong{color:var(--forest);font-family:var(--font-display);font-size:21px;letter-spacing:-.04em}.intro-strip-copy{font-size:12px;color:#697970;max-width:500px;line-height:1.8;margin:0}.round-arrow{width:44px;height:44px;border:1px solid #aebda7;border-radius:50%;display:grid;place-items:center;font-size:19px;color:var(--forest);transition:.2s}.round-arrow:hover{background:var(--forest);color:#fff;transform:rotate(45deg)}
.section{padding:110px 0}.section-heading{margin-bottom:50px}.section-heading--split{display:grid;grid-template-columns:1fr .7fr;align-items:end;gap:55px}.section-heading h2,.why-copy h2,.estimator-copy h2,.faq-intro h2,.contact-copy h2{font-size:clamp(38px,4.7vw,60px);line-height:1.04;letter-spacing:-.075em;font-weight:700;color:var(--forest);margin:18px 0 0}.section-heading>p{max-width:420px;justify-self:end;color:#69776e;font-size:13px;line-height:1.9;margin:0 0 4px}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.solution-card{min-width:0}.solution-visual{height:245px;position:relative;overflow:hidden;border-radius:3px}.visual-label{position:absolute;bottom:17px;left:18px;color:rgba(255,255,255,.85);font-size:8px;font-weight:800;letter-spacing:.16em}.visual-home{background:#cfdbbf}.visual-sun{position:absolute;top:32px;right:42px;width:65px;height:65px;background:#f5ca79;border-radius:50%;box-shadow:0 0 0 12px rgba(255,255,255,.18)}.visual-roof{position:absolute;bottom:55px;left:7%;width:89%;height:135px;background:#b56b46;clip-path:polygon(0 48%,50% 0,100% 48%,90% 60%,50% 23%,10% 60%)}.visual-home-body{position:absolute;bottom:0;left:19%;width:62%;height:100px;background:#f2ead4}.visual-panel{position:absolute;z-index:2;top:47%;left:18%;width:65%;height:60px;transform:skewY(-17deg);background:repeating-linear-gradient(90deg,transparent 0 31px,rgba(208,234,226,.55) 32px 34px),repeating-linear-gradient(0deg,#214b60 0 27px,#a6c8c8 28px 30px);border:5px solid #f4f0df;box-shadow:0 8px 14px rgba(20,55,45,.18)}.visual-business{background:#b7cfc7}.business-sun{position:absolute;top:25px;right:40px;width:58px;height:58px;border-radius:50%;background:#f7d17f}.business-building{position:absolute;bottom:0;background:#456f65;border-top:7px solid #e9efe2}.building-one{left:9%;width:38%;height:145px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.building-two{right:8%;width:43%;height:185px;background:#31584f}.business-building:after{content:"";position:absolute;inset:24px 12px;background:repeating-linear-gradient(90deg,rgba(225,237,220,.8) 0 4px,transparent 4px 32px),repeating-linear-gradient(0deg,transparent 0 28px,rgba(225,237,220,.75) 28px 32px)}.business-array{position:absolute;left:22%;right:13%;height:48px;top:35%;background:repeating-linear-gradient(90deg,transparent 0 29px,rgba(222,242,231,.6) 30px 32px),repeating-linear-gradient(0deg,#234e62 0 22px,#8fb4b5 23px 25px);border:4px solid #eaf0e1;transform:skewY(-13deg);z-index:3}.visual-care{background:#e5cda4}.care-sun{position:absolute;top:29px;left:41px;width:70px;height:70px;border-radius:50%;background:#f5a44a;box-shadow:0 0 0 14px rgba(255,255,255,.16)}.care-panel{position:absolute;width:73%;height:100px;right:-4%;bottom:20px;transform:rotate(-17deg) skewX(-12deg);background:repeating-linear-gradient(90deg,transparent 0 35px,rgba(191,224,224,.6) 36px 38px),repeating-linear-gradient(0deg,#244b5b 0 45px,#8ab0b4 46px 48px);border:8px solid #e8e8d8;box-shadow:0 16px 20px rgba(81,58,27,.14)}.care-spark{position:absolute;color:#fff8df;font-size:25px}.care-spark--one{top:36%;right:25%}.care-spark--two{top:20%;right:12%;font-size:15px}.solution-content{padding:20px 0 0;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.solution-content h3{font-size:18px;letter-spacing:-.04em;margin:0 0 8px;color:var(--forest)}.solution-content p{font-size:11px;line-height:1.8;color:#748078;margin:0;max-width:300px}.circle-link{flex:0 0 36px;width:36px;height:36px;border-radius:50%;border:1px solid #bfcbba;display:grid;place-items:center;color:var(--forest);transition:.2s}.circle-link:hover{background:var(--forest);border-color:var(--forest);color:white;transform:rotate(45deg)}
.why-section{background:var(--forest);padding:112px 0;color:#e6eee5;overflow:hidden}.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:100px}.eyebrow--light{color:#a6b7aa}.why-copy h2,.contact-copy h2{color:#f2f5e9}.why-copy h2 em,.contact-copy h2 em{color:var(--lime)}.why-copy>p,.contact-copy>p{max-width:465px;color:#b7c9bb;font-size:13px;line-height:1.9;margin:24px 0 28px}.benefit-list{border-top:1px solid rgba(231,240,226,.2);margin-bottom:30px}.benefit-item{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid rgba(231,240,226,.2)}.benefit-number{font-size:10px;color:var(--lime);font-weight:800;padding-top:3px}.benefit-item h3{font-size:14px;color:#f1f5e9;margin:0 0 4px;letter-spacing:-.02em}.benefit-item p{font-size:10px;color:#a8bcae;margin:0;line-height:1.8}.why-visual{height:455px;position:relative;display:grid;place-items:center}.why-ring{position:absolute;border:1px solid rgba(217,243,106,.27);border-radius:50%;transform:rotate(-24deg)}.why-ring--outer{width:440px;height:300px}.why-ring--inner{width:350px;height:235px}.why-sun{position:absolute;top:42px;right:64px;color:var(--lime);font-size:85px;line-height:1;text-shadow:0 0 35px rgba(217,243,106,.28)}.why-panel{width:320px;height:205px;background:#244f64;border:10px solid #e6e9d4;transform:skewY(-16deg) rotate(-4deg);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;padding:4px;box-shadow:0 28px 35px rgba(0,0,0,.27);z-index:2}.why-panel span{background:linear-gradient(135deg,#52839a,#1d435a);border:1px solid rgba(207,230,221,.15)}.why-tag{position:absolute;bottom:40px;left:15px;background:var(--lime);color:var(--forest);padding:15px 19px;display:flex;flex-direction:column;transform:rotate(-5deg);z-index:4;box-shadow:0 12px 25px rgba(0,0,0,.16)}.why-tag strong{font-family:var(--font-display);font-size:15px;letter-spacing:-.04em}.why-tag span{font-size:9px;font-weight:700}
.process-section{background:var(--paper)}.section-heading--center{text-align:center;max-width:640px;margin:0 auto 60px}.section-heading--center .eyebrow{justify-content:center}.section-heading--center h2{margin-top:18px}.section-heading--center>p{max-width:none;margin:18px auto 0;justify-self:auto}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-step{padding:22px 25px 25px 0;border-right:1px solid var(--line);min-height:255px}.process-step:not(:first-child){padding-left:25px}.process-step:last-child{border-right:0}.step-top{display:flex;justify-content:space-between;color:#7a887e;font-size:10px;font-weight:800;letter-spacing:.08em}.step-top i{font-style:normal;font-size:15px;color:#9daf8b}.step-icon{margin:38px 0 22px;font-size:32px;color:#7a9a68;height:35px}.process-step h3{font-size:16px;color:var(--forest);letter-spacing:-.04em;margin:0 0 9px}.process-step p{font-size:11px;line-height:1.8;color:#758178;margin:0;max-width:220px}
.estimator-section{padding:105px 0;background:#dbe7d3;position:relative;overflow:hidden}.estimator-section:before{content:"";position:absolute;width:600px;height:600px;border:1px solid rgba(18,55,45,.1);border-radius:50%;top:-280px;left:-210px;box-shadow:0 0 0 40px rgba(18,55,45,.025),0 0 0 85px rgba(18,55,45,.025)}.estimator-grid{position:relative;display:grid;grid-template-columns:.9fr 1fr;align-items:center;gap:100px}.estimator-copy h2{color:var(--forest)}.estimator-copy h2 em{color:#78916d}.estimator-copy>p{font-size:13px;color:#66766c;line-height:1.9;margin:22px 0 25px;max-width:445px}.estimator-footnote{display:flex;gap:12px;align-items:flex-start;color:#62796b;max-width:430px}.estimator-footnote span{color:#88a34b;font-size:18px}.estimator-footnote p{font-size:10px;line-height:1.7;margin:0}.calculator-card{background:#fffef9;border-radius:5px;padding:30px 32px;box-shadow:var(--shadow)}.calculator-header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:25px}.mini-label{font-size:8px;letter-spacing:.16em;font-weight:800;color:#89968b}.calculator-header h3{font-size:20px;color:var(--forest);letter-spacing:-.05em;margin:4px 0 0}.calculator-sun{width:42px;height:42px;background:#eaf1d4;color:#79964b;border-radius:50%;display:grid;place-items:center;font-size:24px}.field-label,.form-row label{display:block;font-size:10px;font-weight:800;color:#586960;margin-bottom:9px}.money-input{height:58px;border:1px solid #cfd9ca;display:flex;align-items:center;padding:0 15px;gap:8px}.money-input>span:first-child{font-family:var(--font-display);font-weight:700;font-size:20px;color:var(--forest)}.money-input input{border:0;outline:0;background:transparent;min-width:0;width:100%;font-family:var(--font-display);font-size:24px;font-weight:800;color:var(--forest)}.input-suffix{font-size:9px;color:#96a197;white-space:nowrap}.slider-row{display:flex;align-items:center;gap:12px;font-size:8px;color:#89968b;margin:11px 0 20px}.slider-row input{width:100%;accent-color:var(--forest)}.calc-assumptions{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:21px}.calc-assumptions label{font-size:9px;color:#617168;font-weight:800}.calc-assumptions label span{display:block;font-weight:500;color:#99a39a;font-size:8px;margin:2px 0 6px}.calc-assumptions input{display:block;width:100%;height:38px;border:1px solid #d8e0d3;background:#f8f9f2;padding:0 10px;color:var(--forest);font-weight:700;outline-color:#9bb85a}.estimate-result{padding:18px 15px;background:#edf2e2;display:grid;grid-template-columns:1fr 1fr;gap:15px}.estimate-result>div:first-child{padding-right:10px}.estimate-result strong{display:block;color:var(--forest);font-family:var(--font-display);font-size:22px;letter-spacing:-.06em;margin-top:5px}.result-divider{display:none}.estimate-disclaimer{font-size:8px;line-height:1.6;color:#8a968c;margin:11px 0 18px}.calculator-card .button{min-height:48px}.faq-section{background:var(--cream)}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:105px}.faq-intro h2{margin-bottom:18px}.faq-intro>p{font-size:12px;line-height:1.8;color:#77837b;max-width:260px;margin-bottom:23px}.faq-list{border-top:1px solid #d7ded2}.faq-item{border-bottom:1px solid #d7ded2}.faq-item summary{list-style:none;cursor:pointer;padding:22px 38px 22px 0;position:relative;font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:-.02em;color:var(--forest)}.faq-item summary::-webkit-details-marker{display:none}.faq-plus{position:absolute;right:4px;top:22px;width:19px;height:19px;border:1px solid #bac8b5;border-radius:50%}.faq-plus:before,.faq-plus:after{content:"";position:absolute;background:var(--forest);left:5px;right:5px;top:8px;height:1px}.faq-plus:after{transform:rotate(90deg);transition:transform .2s}.faq-item[open] .faq-plus:after{transform:rotate(0)}.faq-item p{font-size:11px;line-height:1.85;color:#6f7e74;max-width:630px;margin:-5px 35px 22px 0}
.contact-section{background:var(--forest-deep);padding:105px 0;position:relative;overflow:hidden}.contact-section:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(217,243,106,.15);border-radius:50%;right:-210px;bottom:-310px;box-shadow:0 0 0 45px rgba(217,243,106,.025),0 0 0 90px rgba(217,243,106,.025)}.contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1fr;gap:100px;align-items:start}.contact-copy h2{margin-top:18px}.contact-promise{display:flex;align-items:center;gap:10px;color:#c3d6c6;font-size:10px;margin-top:30px}.contact-promise span:first-child{color:var(--lime);font-size:16px}.contact-detail{margin-top:35px;display:flex;flex-wrap:wrap;gap:25px}.contact-detail a,.contact-detail div{display:flex;flex-direction:column;gap:5px;color:#e4eee4;font-size:11px}.contact-detail span{font-size:8px;letter-spacing:.15em;color:#9bb19d;font-weight:800}.contact-detail[hidden]{display:none}.contact-form{background:#f8f7ef;padding:30px 32px;border-radius:4px}.form-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #dfe4d9;margin-bottom:23px}.form-heading .mini-label{color:#75847a}.form-step{font-size:8px;font-weight:800;color:#9aa79b;letter-spacing:.12em}.form-row{margin-bottom:17px}.form-row label span{font-weight:500;color:#9ba59c}.form-row input,.form-row select,.form-row textarea{width:100%;border:1px solid #d8dfd3;background:#fffef9;padding:13px 14px;border-radius:2px;color:var(--forest);font-size:11px;outline-color:#94b058}.form-row input::placeholder,.form-row textarea::placeholder{color:#a5afa6}.form-row select{appearance:auto}.form-row textarea{resize:vertical;min-height:78px}.form-privacy{font-size:8px;color:#939e94;text-align:center;line-height:1.6;margin:12px 0 0}.form-privacy a{text-decoration:underline;color:#5d7864}.form-status{min-height:16px;margin:9px 0 0;text-align:center;font-size:9px;color:#3e7555}.form-status--warning{color:#ad6331}.site-footer{background:#091d18;color:#d9e5d9;padding:58px 0 18px}.footer-main{display:grid;grid-template-columns:1.4fr .7fr .8fr .8fr;gap:50px;padding-bottom:48px}.brand--footer .brand-mark{color:var(--lime)}.brand--footer .brand-word{color:#f2f4e9}.footer-brand-block>p,.footer-note>p{color:#9eb2a3;font-size:10px;line-height:1.8;margin:17px 0 0}.footer-nav{display:flex;flex-direction:column;gap:10px}.footer-label{font-size:8px;letter-spacing:.16em;font-weight:800;color:#779183;margin-bottom:7px}.footer-nav a{font-size:10px;color:#c0d0c3;transition:color .2s}.footer-nav a:hover{color:var(--lime)}.footer-sun{font-size:44px;color:var(--lime);line-height:1;margin-top:9px}.footer-bottom{border-top:1px solid rgba(216,232,218,.14);padding-top:15px;display:flex;align-items:center;justify-content:space-between;color:#71897a;font-size:8px}.footer-bottom b{color:var(--lime);margin-left:5px;font-size:12px}.back-to-top{position:fixed;right:22px;bottom:22px;width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:var(--forest);box-shadow:0 6px 20px rgba(0,0,0,.16);z-index:20;font-size:18px;opacity:.9}.back-to-top:hover{opacity:1;transform:translateY(-2px)}
@media(max-width:1000px){.primary-nav{gap:17px}.primary-nav a{font-size:11px}.header-inner{gap:18px}.hero-grid{grid-template-columns:1fr 1fr;gap:18px}.hero-art{height:425px}.art-house{left:17%;width:66%}.solar-array{left:8%;width:84%;top:49%;height:120px}.why-grid,.estimator-grid{gap:55px}.faq-grid{gap:65px}.contact-grid{gap:55px}.footer-main{gap:25px}}
@media(max-width:760px){.container{width:min(100% - 40px,560px)}.announcement{font-size:9px;padding:7px 12px;gap:7px}.announcement a{margin-left:2px}.site-header{height:68px}.brand-word{font-size:22px}.menu-toggle{display:block;margin-left:auto;z-index:61}.primary-nav{position:fixed;inset:68px 0 auto 0;background:var(--cream);padding:18px 24px 25px;display:flex;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);box-shadow:0 16px 25px rgba(10,32,24,.1);transform:translateY(-140%);opacity:0;pointer-events:none;transition:transform .25s,opacity .25s;z-index:60}.primary-nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.primary-nav a{padding:14px 0;border-bottom:1px solid #e0e4da;font-size:13px}.header-cta{display:none}.hero{padding:47px 0 22px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:28px;min-height:auto}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:8px}.hero h1{font-size:clamp(50px,13vw,72px);margin:20px 0 17px}.hero-lede{font-size:13px;max-width:460px}.hero-actions{gap:18px;flex-wrap:wrap;margin-top:24px}.button{min-height:49px;padding:0 17px;gap:14px;font-size:11px}.text-link{font-size:11px}.hero-note{margin-top:25px;font-size:9px}.hero-art{height:335px;border-top-right-radius:76px}.art-sun{width:76px;height:76px;right:15%;top:9%}.art-house{bottom:40px;left:15%;width:70%;height:128px}.house-roof{height:80px}.house-body{height:78px}.house-window{width:34px;height:33px;top:17px}.house-door{width:28px;height:48px}.solar-array{top:48%;left:8%;width:84%;height:93px}.solar-panel{border-width:3px}.art-ground{height:100px}.art-stamp{width:82px;height:82px;right:4%;bottom:8%}.art-stamp span{font-size:6px}.art-stamp strong{font-size:12px}.art-stamp b{font-size:14px}.art-caption{font-size:8px;left:14px;bottom:15px}.hero-bottom{font-size:6px;gap:9px;margin-top:22px}.intro-strip{padding:24px 0}.intro-strip-inner{grid-template-columns:1fr auto;gap:12px 18px}.intro-strip-inner>p:first-child{font-size:13px}.intro-strip-inner strong{font-size:18px}.intro-strip-copy{grid-column:1/-1;grid-row:2;font-size:10px}.round-arrow{grid-column:2;grid-row:1;width:38px;height:38px}.section{padding:76px 0}.section-heading{margin-bottom:32px}.section-heading--split{grid-template-columns:1fr;gap:18px}.section-heading h2,.why-copy h2,.estimator-copy h2,.faq-intro h2,.contact-copy h2{font-size:clamp(39px,10vw,52px)}.section-heading>p{justify-self:start;font-size:11px;max-width:450px}.solution-grid{grid-template-columns:1fr;gap:35px}.solution-visual{height:230px}.solution-content{padding-top:14px}.solution-content h3{font-size:17px}.solution-content p{font-size:10px}.why-section{padding:76px 0}.why-grid{grid-template-columns:1fr;gap:45px}.why-visual{height:300px;order:2}.why-ring--outer{width:310px;height:220px}.why-ring--inner{width:250px;height:170px}.why-panel{width:225px;height:145px;border-width:7px}.why-sun{font-size:62px;top:8px;right:40px}.why-tag{bottom:12px;left:4px;padding:11px 14px}.why-tag strong{font-size:13px}.why-copy>p,.contact-copy>p{font-size:11px}.benefit-item{padding:15px 0;grid-template-columns:30px 1fr;gap:12px}.benefit-item h3{font-size:13px}.benefit-item p{font-size:9px}.process-section{padding:75px 0}.section-heading--center{margin-bottom:38px}.section-heading--center>p{font-size:10px}.process-grid{grid-template-columns:1fr 1fr}.process-step{padding:17px 13px 20px 0;min-height:225px;border-bottom:1px solid var(--line)}.process-step:not(:first-child){padding-left:13px}.process-step:nth-child(2){border-right:0}.process-step:nth-child(3),.process-step:nth-child(4){border-bottom:0}.step-icon{margin:28px 0 17px;font-size:28px}.process-step h3{font-size:13px}.process-step p{font-size:9px}.estimator-section{padding:75px 0}.estimator-grid{grid-template-columns:1fr;gap:32px}.estimator-copy>p{font-size:11px}.calculator-card{padding:23px 20px}.calculator-header h3{font-size:18px}.money-input{height:52px}.money-input input{font-size:21px}.calc-assumptions{gap:10px}.estimate-result strong{font-size:19px}.faq-section{padding:75px 0}.faq-grid{grid-template-columns:1fr;gap:30px}.faq-intro>p{font-size:11px}.faq-item summary{font-size:12px;padding:18px 35px 18px 0}.faq-plus{top:18px}.faq-item p{font-size:10px}.contact-section{padding:75px 0}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-copy>p{margin:18px 0}.contact-promise{margin-top:20px}.contact-form{padding:24px 20px}.form-row input,.form-row select,.form-row textarea{font-size:10px}.footer-main{grid-template-columns:1fr 1fr;gap:30px 20px;padding-bottom:35px}.footer-brand-block{grid-column:1/-1}.footer-note{grid-column:2}.footer-bottom{gap:14px;align-items:flex-start;font-size:7px}.back-to-top{right:13px;bottom:13px;width:35px;height:35px}}
@media(max-width:380px){.container{width:calc(100% - 32px)}.hero h1{font-size:48px}.hero-art{height:300px}.hero-actions .button{width:100%}.hero-actions{align-items:flex-start;flex-direction:column}.calculator-card{padding:20px 16px}.calc-assumptions{grid-template-columns:1fr}.estimate-result{padding:14px 11px}.estimate-result strong{font-size:17px}.footer-main{gap:25px 14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
:focus-visible{outline:3px solid #83a94d;outline-offset:3px}

/* --------------------------------------------------------------------------
   BANSAL SOLAR — visual system aligned with the companion mobile app.
   These are website-only styles; no React Native or app code is imported.
   -------------------------------------------------------------------------- */
:root {
  --forest: #0C130F;
  --forest-deep: #0F1813;
  --forest-soft: #151F19;
  --lime: #FFB648;
  --lime-dark: #E0932A;
  --cream: #0C130F;
  --paper: #0F1813;
  --ink: #F3F1E7;
  --muted: #9AA79E;
  --line: #243128;
  --orange: #FFB648;
  --app-bg: #0C130F;
  --app-bg-alt: #0F1813;
  --app-card: #151F19;
  --app-card-alt: #1B271F;
  --app-line-strong: #33443A;
  --app-amber: #FFB648;
  --app-amber-deep: #E0932A;
  --app-amber-soft: rgba(255,182,72,.14);
  --app-teal: #2DD9C4;
  --app-teal-soft: rgba(45,217,196,.14);
  --app-text: #F3F1E7;
  --app-muted: #9AA79E;
  --app-faint: #65726A;
  --app-on-amber: #241605;
  --font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --shadow: 0 22px 60px rgba(0,0,0,.28);
}

html { background: var(--app-bg); }
body { background: var(--app-bg); color: var(--app-text); }
::selection { background: var(--app-amber); color: var(--app-on-amber); }
:focus-visible { outline: 3px solid var(--app-amber); outline-offset: 3px; }
.skip-link { background: var(--app-amber); color: var(--app-on-amber); }

.announcement {
  background: var(--app-bg-alt);
  color: var(--app-muted);
  border-bottom: 1px solid rgba(255,255,255,.035);
}
.announcement__dot { background: var(--app-teal); box-shadow: 0 0 0 4px var(--app-teal-soft); }
.announcement a { color: var(--app-amber); }
.site-header {
  background: rgba(12,19,15,.94);
  border-bottom: 1px solid var(--app-line);
  backdrop-filter: blur(18px);
}
.brand { gap: 10px; }
.brand-mark {
  width: 38px;
  height: 38px;
  padding: 8px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--app-on-amber);
  background: var(--app-amber);
  box-shadow: 0 4px 16px rgba(255,182,72,.12);
}
.brand-mark svg { width: 100%; height: 100%; }
.brand-word {
  color: var(--app-text);
  font-size: 19px;
  letter-spacing: .025em;
  line-height: 1.08;
}
.brand-word span { color: var(--app-text); }
.brand-word strong { color: var(--app-amber); font-weight: 850; }
.brand-subtitle {
  display: block;
  margin-top: 2px;
  color: var(--app-muted);
  font-size: 8px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .28em;
}
.primary-nav { gap: 25px; }
.primary-nav a { color: var(--app-muted); font-size: 12px; }
.primary-nav a:hover, .primary-nav a:focus-visible { color: var(--app-amber); }
.menu-toggle span { background: var(--app-text); }

.button {
  min-height: 50px;
  border-radius: 14px;
  font-size: 12px;
  letter-spacing: 0;
  box-shadow: none;
}
.button--small { min-height: 42px; border-radius: 12px; }
.button--dark { background: var(--app-card-alt); color: var(--app-text); border: 1px solid var(--app-line-strong); }
.button--dark:hover { background: #26352B; }
.button--lime { background: var(--app-amber); color: var(--app-on-amber); }
.button--lime:hover { background: #FFC56B; }
.button:hover { box-shadow: 0 9px 24px rgba(0,0,0,.2); }

.section-shell, .hero, .section, .faq-section { background: var(--app-bg); }
.hero { padding-top: 64px; }
.eyebrow { color: var(--app-muted); letter-spacing: .14em; }
.eyebrow-line { background: var(--app-amber); }
h1, h2, h3 { color: var(--app-text); }
h1 { color: var(--app-text); font-weight: 800; letter-spacing: -.065em; }
h1 em, h2 em { color: var(--app-amber); font-style: normal; font-weight: 750; }
.hero-lede { color: var(--app-muted); }
.text-link { color: var(--app-amber); border-color: rgba(255,182,72,.45); }
.hero-note { color: var(--app-muted); }
.note-icon { background: var(--app-amber-soft); color: var(--app-amber); }
.hero-bottom { color: var(--app-faint); }
.hero-bottom-rule { background: var(--app-line); }

.hero-art {
  background: radial-gradient(circle at 78% 16%, rgba(255,182,72,.13), transparent 23%),
              radial-gradient(circle at 20% 80%, rgba(45,217,196,.08), transparent 30%),
              linear-gradient(145deg, #1B2A20 0%, #101A14 58%, #0D1711 100%);
  border: 1px solid var(--app-line);
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(0,0,0,.24);
}
.hero-art:before { background: linear-gradient(145deg, rgba(255,255,255,.035), transparent 48%); }
.art-sun { background: var(--app-amber); box-shadow: 0 0 0 18px rgba(255,182,72,.10), 0 0 0 42px rgba(255,182,72,.045); }
.art-orbit { border-color: rgba(45,217,196,.20); }
.art-cloud { background: rgba(206,222,210,.10); }
.art-ground { background: #1B2D22; }
.art-roof-shadow { background: #513B28; filter: drop-shadow(0 18px 14px rgba(0,0,0,.32)); }
.house-roof { background: #805333; }
.house-body { background: #C8C0A7; box-shadow: inset 0 -9px 0 rgba(36,22,5,.12); }
.house-window { background: #46777A; border-color: #E4DDC7; }
.house-door { background: #765239; }
.solar-panel { background: #173B4B; border-color: #52665C; }
.solar-panel i { background: linear-gradient(145deg,#397184,#142F40); border-color: rgba(45,217,196,.22); }
.art-stamp { background: var(--app-amber); color: var(--app-on-amber); box-shadow: 0 10px 24px rgba(0,0,0,.28); }
.art-caption { color: var(--app-text); }
.caption-pulse { background: var(--app-teal); box-shadow: 0 0 0 5px var(--app-teal-soft); }

.intro-strip { background: var(--app-bg-alt); border-block: 1px solid var(--app-line); }
.intro-strip-inner>p:first-child { color: var(--app-muted); }
.intro-strip-inner strong { color: var(--app-text); }
.intro-strip-copy { color: var(--app-muted); }
.round-arrow { color: var(--app-amber); border-color: var(--app-line-strong); }
.round-arrow:hover { background: var(--app-amber); color: var(--app-on-amber); border-color: var(--app-amber); }

.section { padding-block: 104px; }
.section-heading h2, .why-copy h2, .estimator-copy h2, .faq-intro h2, .contact-copy h2 { color: var(--app-text); }
.section-heading>p { color: var(--app-muted); }
.solution-card {
  padding: 12px;
  background: var(--app-card);
  border: 1px solid var(--app-line);
  border-radius: 18px;
  overflow: hidden;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.solution-card:hover { transform: translateY(-4px); border-color: var(--app-line-strong); box-shadow: 0 16px 32px rgba(0,0,0,.20); }
.solution-visual { border-radius: 12px; }
.visual-home { background: linear-gradient(145deg,#253B2C,#16261C); }
.visual-sun, .business-sun, .care-sun { background: var(--app-amber); box-shadow: 0 0 0 12px rgba(255,182,72,.09); }
.visual-roof { background: #795338; }
.visual-home-body { background: #C5BCA4; }
.visual-panel, .business-array, .care-panel { background-color: #1D5260; border-color: #54766F; }
.visual-business { background: linear-gradient(145deg,#203B34,#12221B); }
.business-building { background: #8F9F8C; }
.business-building.building-two { background: #667B70; }
.visual-care { background: linear-gradient(145deg,#213B2C,#17251C); }
.care-spark { color: var(--app-teal); }
.visual-label { color: rgba(243,241,231,.85); }
.solution-content { padding: 17px 5px 5px; }
.solution-content h3 { color: var(--app-text); }
.solution-content p { color: var(--app-muted); }
.circle-link { color: var(--app-amber); border-color: var(--app-line-strong); }
.circle-link:hover { background: var(--app-amber); border-color: var(--app-amber); color: var(--app-on-amber); }

.why-section { background: var(--app-bg-alt); border-block: 1px solid var(--app-line); color: var(--app-text); }
.eyebrow--light { color: var(--app-muted); }
.why-copy h2, .contact-copy h2 { color: var(--app-text); }
.why-copy h2 em, .contact-copy h2 em { color: var(--app-amber); }
.why-copy>p, .contact-copy>p { color: var(--app-muted); }
.benefit-list, .benefit-item { border-color: var(--app-line); }
.benefit-number { color: var(--app-amber); }
.benefit-item h3 { color: var(--app-text); }
.benefit-item p { color: var(--app-muted); }
.why-ring { border-color: rgba(255,182,72,.22); }
.why-sun { color: var(--app-amber); }
.why-panel { background: #173B4B; border-color: #657970; }
.why-panel span { border-color: rgba(45,217,196,.3); }
.why-tag { background: var(--app-card); border: 1px solid var(--app-line-strong); border-radius: 14px; box-shadow: 0 10px 28px rgba(0,0,0,.24); }
.why-tag strong { color: var(--app-text); }
.why-tag span { color: var(--app-muted); }

.process-section { background: var(--app-bg); }
.process-grid { border-color: var(--app-line); }
.process-step { border-color: var(--app-line); }
.step-top { color: var(--app-faint); }
.step-top i, .step-icon { color: var(--app-amber); }
.process-step h3 { color: var(--app-text); }
.process-step p { color: var(--app-muted); }

.estimator-section { background: #111C15; border-block: 1px solid var(--app-line); }
.estimator-section:before { border-color: rgba(45,217,196,.10); box-shadow: 0 0 0 40px rgba(45,217,196,.018), 0 0 0 85px rgba(45,217,196,.018); }
.estimator-copy h2 { color: var(--app-text); }
.estimator-copy h2 em { color: var(--app-amber); }
.estimator-copy>p, .estimator-footnote { color: var(--app-muted); }
.estimator-footnote span { color: var(--app-teal); }
.calculator-card {
  background: var(--app-card);
  border: 1px solid var(--app-line-strong);
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(0,0,0,.28);
}
.calculator-header { border-color: var(--app-line); }
.mini-label { color: var(--app-faint); }
.calculator-header h3 { color: var(--app-text); }
.calculator-sun { background: var(--app-amber-soft); color: var(--app-amber); }
.field-label, .form-row label { color: var(--app-muted); }
.money-input { background: var(--app-bg); border: 1px solid var(--app-line-strong); border-radius: 12px; }
.money-input>span:first-child, .money-input input { color: var(--app-text); }
.input-suffix { color: var(--app-faint); }
.slider-row input { accent-color: var(--app-amber); }
.calc-assumptions label { color: var(--app-muted); }
.calc-assumptions label span { color: var(--app-faint); }
.calc-assumptions input { background: var(--app-bg); border: 1px solid var(--app-line-strong); border-radius: 9px; color: var(--app-text); }
.estimate-result { background: var(--app-bg-alt); border: 1px solid var(--app-line); border-radius: 12px; }
.estimate-result>div:first-child { color: var(--app-muted); }
.estimate-result strong { color: var(--app-teal); }
.result-divider { background: var(--app-line); }
.estimate-disclaimer { color: var(--app-faint); }

.faq-section { background: var(--app-bg); }
.faq-intro>p { color: var(--app-muted); }
.faq-list, .faq-item { border-color: var(--app-line); }
.faq-item summary { color: var(--app-text); }
.faq-plus { border-color: var(--app-line-strong); }
.faq-plus:before, .faq-plus:after { background: var(--app-amber); }
.faq-item p { color: var(--app-muted); }

.contact-section { background: var(--app-bg-alt); border-top: 1px solid var(--app-line); }
.contact-section:after { border-color: rgba(45,217,196,.10); box-shadow: 0 0 0 45px rgba(45,217,196,.018), 0 0 0 90px rgba(45,217,196,.018); }
.contact-promise { color: var(--app-muted); }
.contact-promise span:first-child { color: var(--app-teal); }
.contact-detail a, .contact-detail div { color: var(--app-text); }
.contact-detail span { color: var(--app-muted); }
.contact-form {
  background: var(--app-card);
  border: 1px solid var(--app-line-strong);
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(0,0,0,.22);
}
.form-heading { border-color: var(--app-line); }
.form-heading .mini-label, .form-step { color: var(--app-muted); }
.form-row label span { color: var(--app-faint); }
.form-row input, .form-row select, .form-row textarea {
  background: var(--app-bg);
  border: 1px solid var(--app-line-strong);
  border-radius: 12px;
  color: var(--app-text);
  outline-color: var(--app-amber);
}
.form-row input::placeholder, .form-row textarea::placeholder { color: var(--app-faint); }
.form-row select option { background: var(--app-card); color: var(--app-text); }
.form-privacy { color: var(--app-faint); }
.form-privacy a { color: var(--app-amber); }
.form-status { color: var(--app-teal); }
.form-status--warning { color: var(--app-amber); }

.site-footer { background: #080E0A; color: var(--app-text); border-top: 1px solid var(--app-line); }
.brand--footer .brand-mark { color: var(--app-on-amber); }
.brand--footer .brand-word { color: var(--app-text); }
.footer-brand-block>p, .footer-note>p { color: var(--app-muted); }
.footer-label { color: var(--app-faint); }
.footer-nav a { color: var(--app-muted); }
.footer-nav a:hover { color: var(--app-amber); }
.footer-sun { color: var(--app-amber); }
.footer-bottom { border-color: var(--app-line); color: var(--app-faint); }
.footer-bottom b { color: var(--app-teal); }
.back-to-top { background: var(--app-amber); color: var(--app-on-amber); border-radius: 13px; }
.back-to-top:hover { background: #FFC56B; color: var(--app-on-amber); }

/* Small-screen navigation follows the same dark app surface. */
@media (max-width:760px) {
  .primary-nav { background: var(--app-bg-alt); border-color: var(--app-line); box-shadow: 0 16px 25px rgba(0,0,0,.35); }
  .primary-nav a { color: var(--app-text); border-color: var(--app-line); }
  .brand-word { font-size: 18px; }
  .brand-mark { width: 36px; height: 36px; }
  .hero-art { border-radius: 18px; }
  .solution-card { padding: 10px; }
  .why-tag { border-radius: 12px; }
  .contact-form, .calculator-card { border-radius: 16px; }
}

/* --------------------------------------------------------------------------
   BANSAL SOLAR WEBSITE — launch polish and useful customer journeys.
   This stylesheet stays dependency-free and follows the mobile app palette.
   -------------------------------------------------------------------------- */
:root {
  --app-surface-raised: #202D24;
  --app-border-hover: rgba(255,182,72,.42);
  --app-glow: 0 22px 60px rgba(0,0,0,.28);
}

body { font-size: 16px; }
.container { width: min(1220px, calc(100% - 72px)); }
.primary-nav a { font-size: 12px; }
.hero { padding-top: 72px; }
.hero-grid { gap: clamp(34px, 5vw, 72px); }
.hero-copy { max-width: 560px; }
.hero h1 { max-width: 620px; font-size: clamp(54px, 6.6vw, 88px); }
.hero-lede { max-width: 520px; font-size: 16px; line-height: 1.8; }
.hero-note { font-size: 11px; }
.hero-art { min-height: 470px; }
.intro-strip { padding-block: 36px; }
.intro-strip-inner { gap: 48px; }
.intro-strip-copy { max-width: 570px; font-size: 13px; }
.section { padding-block: 112px; }
.section-heading { margin-bottom: 54px; }
.section-heading>p { font-size: 14px; line-height: 1.85; }
.solution-card { padding: 13px; }
.solution-visual { height: 250px; }
.solution-content { padding: 20px 7px 7px; }
.solution-content h3 { font-size: 20px; }
.solution-content p { font-size: 13px; line-height: 1.75; }
.why-copy>p, .contact-copy>p { font-size: 15px; line-height: 1.85; }
.benefit-item h3 { font-size: 15px; }
.benefit-item p { font-size: 12px; line-height: 1.75; }
.process-step h3 { font-size: 16px; }
.process-step p { font-size: 12px; line-height: 1.8; }
.estimator-copy>p { font-size: 15px; line-height: 1.85; }
.estimate-disclaimer { font-size: 11px; line-height: 1.65; }
.faq-item summary { font-size: 14px; }
.faq-item p { font-size: 13px; line-height: 1.85; }
.form-row label { font-size: 12px; }
.form-row input, .form-row select, .form-row textarea { font-size: 13px; min-height: 48px; }
.form-row textarea { min-height: 92px; }
.form-privacy { font-size: 10px; }
.footer-brand-block>p, .footer-note>p { font-size: 12px; }
.footer-nav a { font-size: 12px; }
.footer-label { font-size: 9px; }
.footer-bottom { font-size: 10px; }

/* System choice cards */
.system-types-section { background: var(--app-bg); }
.system-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.system-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 410px;
  padding: 26px;
  overflow: hidden;
  background: linear-gradient(155deg, var(--app-card) 0%, #111B15 100%);
  border: 1px solid var(--app-line);
  border-radius: 20px;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.system-card::after {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  right: -92px;
  top: -98px;
  border: 1px solid rgba(45,217,196,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 22px rgba(45,217,196,.025), 0 0 0 48px rgba(45,217,196,.018);
  pointer-events: none;
}
.system-card:hover { transform: translateY(-5px); border-color: var(--app-border-hover); box-shadow: var(--app-glow); }
.system-card--featured {
  background: linear-gradient(155deg, #1C2B21 0%, #132019 100%);
  border-color: rgba(255,182,72,.46);
  box-shadow: 0 18px 50px rgba(0,0,0,.2);
}
.system-card-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 26px; }
.system-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; background: var(--app-amber-soft); color: var(--app-amber); }
.system-icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.system-icon--hybrid { background: var(--app-teal-soft); color: var(--app-teal); }
.system-index { color: var(--app-faint); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-align: right; }
.system-feature-label { align-self: flex-start; padding: 5px 9px; margin: -12px 0 11px; background: var(--app-amber-soft); color: var(--app-amber); border-radius: 999px; font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.system-card h3 { margin: 0 0 12px; color: var(--app-text); font-size: 24px; letter-spacing: -.045em; }
.system-card>p { min-height: 116px; margin: 0 0 19px; color: var(--app-muted); font-size: 13px; line-height: 1.8; }
.system-fit { display: grid; gap: 5px; padding: 14px 15px; margin-top: auto; background: rgba(0,0,0,.16); border: 1px solid var(--app-line); border-radius: 13px; }
.system-fit strong { color: var(--app-text); font-size: 11px; }
.system-fit span { color: var(--app-muted); font-size: 11px; line-height: 1.65; }
.system-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 19px; color: var(--app-amber); font-size: 12px; font-weight: 800; }
.system-link span { transition: transform .2s ease; }
.system-link:hover span { transform: translate(3px,-3px); }
.system-note { display: flex; align-items: flex-start; gap: 10px; max-width: 900px; margin: 25px auto 0; color: var(--app-faint); font-size: 11px; line-height: 1.75; }
.system-note span { flex: 0 0 auto; color: var(--app-teal); font-size: 15px; }

/* Preparation checklist */
.prepare-section { background: var(--app-bg-alt); border-block: 1px solid var(--app-line); }
.prepare-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(42px, 7vw, 100px); align-items: start; }
.prepare-copy { position: sticky; top: 130px; }
.prepare-copy h2 { margin: 18px 0 20px; color: var(--app-text); font-size: clamp(42px, 4.6vw, 62px); line-height: 1.04; letter-spacing: -.07em; }
.prepare-copy h2 em { color: var(--app-amber); font-style: normal; }
.prepare-copy>p { max-width: 390px; margin-bottom: 28px; color: var(--app-muted); font-size: 14px; line-height: 1.85; }
.prepare-list { border-top: 1px solid var(--app-line-strong); }
.prepare-item { display: grid; grid-template-columns: 42px 1fr 42px; align-items: start; gap: 17px; padding: 23px 0; border-bottom: 1px solid var(--app-line); }
.prepare-check { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--app-line-strong); border-radius: 11px; color: var(--app-amber); font-size: 10px; font-weight: 850; }
.prepare-item h3 { margin: 1px 0 6px; color: var(--app-text); font-size: 16px; }
.prepare-item p { max-width: 500px; margin: 0; color: var(--app-muted); font-size: 12px; line-height: 1.75; }
.prepare-symbol { justify-self: end; color: var(--app-teal); font-size: 25px; line-height: 1.2; opacity: .85; }

/* Enquiry form fields and mobile conversion bar */
.form-row--two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-row--two>div { min-width: 0; }
.form-row--two input, .form-row--two select { margin-top: 7px; }
.form-row input, .form-row select, .form-row textarea { transition: border-color .18s ease, box-shadow .18s ease; }
.form-row input:focus, .form-row select:focus, .form-row textarea:focus { border-color: var(--app-amber); box-shadow: 0 0 0 3px rgba(255,182,72,.10); }
.mobile-quick-cta { display: none; }

@media (max-width: 1080px) {
  .primary-nav { gap: 15px; }
  .primary-nav a { font-size: 11px; }
  .header-inner { gap: 16px; }
  .system-card { padding: 22px; }
}
@media (max-width: 900px) {
  .system-grid { grid-template-columns: 1fr 1fr; }
  .system-card:last-child { grid-column: 1 / -1; min-height: auto; }
  .system-card:last-child>p { min-height: auto; }
  .prepare-grid { grid-template-columns: 1fr; gap: 34px; }
  .prepare-copy { position: static; }
}
@media (max-width: 760px) {
  .container { width: min(100% - 40px, 560px); }
  .hero { padding-top: 46px; }
  .hero h1 { font-size: clamp(49px, 12.5vw, 70px); }
  .hero-lede { font-size: 14px; line-height: 1.75; }
  .intro-strip-copy { font-size: 11px; }
  .section { padding-block: 78px; }
  .section-heading>p { font-size: 12px; }
  .solution-content p { font-size: 11px; }
  .system-grid { grid-template-columns: 1fr; gap: 14px; }
  .system-card, .system-card:last-child { grid-column: auto; min-height: 0; padding: 22px; }
  .system-card>p, .system-card:last-child>p { min-height: 0; font-size: 12px; }
  .system-card h3 { font-size: 22px; }
  .system-note { font-size: 10px; }
  .prepare-copy h2 { font-size: clamp(40px, 10vw, 52px); }
  .prepare-copy>p { font-size: 12px; }
  .prepare-item { grid-template-columns: 34px 1fr 28px; gap: 12px; padding: 18px 0; }
  .prepare-item h3 { font-size: 14px; }
  .prepare-item p { font-size: 11px; }
  .prepare-check { width: 30px; height: 30px; }
  .prepare-symbol { font-size: 21px; }
  .form-row--two { grid-template-columns: 1fr; gap: 0; }
  .form-row--two>div { margin-bottom: 15px; }
  .form-row--two>div:last-child { margin-bottom: 0; }
  .faq-item summary { font-size: 13px; }
  .faq-item p { font-size: 11px; }
  .mobile-quick-cta {
    position: fixed;
    z-index: 30;
    left: 16px;
    right: 64px;
    bottom: calc(13px + env(safe-area-inset-bottom));
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 18px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: var(--app-amber);
    color: var(--app-on-amber);
    box-shadow: 0 10px 28px rgba(0,0,0,.38);
    font-size: 12px;
    font-weight: 850;
  }
  .back-to-top { bottom: calc(20px + env(safe-area-inset-bottom)); }
  body { padding-bottom: 72px; }
}
@media (max-width: 380px) {
  .container { width: calc(100% - 32px); }
  .system-card { padding: 18px; }
  .prepare-item { grid-template-columns: 30px 1fr; }
  .prepare-symbol { display: none; }
  .mobile-quick-cta { left: 12px; right: 58px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .system-card, .system-link span, .form-row input, .form-row select, .form-row textarea { transition: none; }
}
@media (max-width: 760px) {
  .mobile-quick-cta { opacity: 1; transform: translateY(0); transition: opacity .2s ease, transform .2s ease; }
  .mobile-quick-cta.is-hidden { opacity: 0; transform: translateY(130%); pointer-events: none; }
}

/* --------------------------------------------------------------------------
   Launch features: gallery, equipment catalogue, advanced calculator,
   bilingual control, WhatsApp action and verified business map.
   -------------------------------------------------------------------------- */
.header-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.language-toggle {
  min-height:40px; min-width:48px; padding:0 12px; border:1px solid var(--app-line-strong);
  border-radius:11px; background:var(--app-card); color:var(--app-amber); font-size:12px;
  font-weight:850; cursor:pointer; transition:background .18s,border-color .18s,transform .18s;
}
.language-toggle:hover { background:var(--app-surface-raised); border-color:var(--app-amber); transform:translateY(-1px); }
.gallery-section { background:var(--app-bg-alt); border-block:1px solid var(--app-line); }
.gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.gallery-card { min-width:0; overflow:hidden; border:1px solid var(--app-line); border-radius:19px; background:var(--app-card); transition:transform .22s,border-color .22s,box-shadow .22s; }
.gallery-card:hover { transform:translateY(-5px); border-color:var(--app-border-hover); box-shadow:var(--app-glow); }
.gallery-image-wrap { position:relative; height:245px; overflow:hidden; background:linear-gradient(135deg,#1a3326,#112019 70%,#234e48); }
.gallery-image-wrap:after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(5,12,8,.48)); pointer-events:none; }
.gallery-image-wrap img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .6s ease; }
.gallery-card:hover .gallery-image-wrap img { transform:scale(1.045); }
.gallery-badge { position:absolute; z-index:1; left:14px; top:14px; padding:7px 10px; border:1px solid rgba(255,255,255,.17); border-radius:999px; background:rgba(9,17,12,.76); color:#f3f1e7; font-size:8px; font-weight:900; letter-spacing:.12em; backdrop-filter:blur(8px); }
.gallery-caption { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:17px 17px 18px; }
.gallery-caption h3 { margin:0 0 4px; color:var(--app-text); font-size:16px; }
.gallery-caption p { margin:0; color:var(--app-muted); font-size:11px; line-height:1.55; }
.gallery-action { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border:1px solid var(--app-line-strong); border-radius:50%; color:var(--app-amber); font-size:18px; }
.gallery-action:hover { background:var(--app-amber); border-color:var(--app-amber); color:var(--app-on-amber); }
.gallery-disclaimer { display:flex; align-items:flex-start; gap:11px; max-width:850px; margin:23px auto 0; padding:14px 16px; border:1px solid var(--app-line); border-radius:13px; background:rgba(0,0,0,.12); }
.gallery-disclaimer>span { color:var(--app-teal); font-size:16px; }
.gallery-disclaimer p { margin:0; color:var(--app-faint); font-size:10px; line-height:1.7; }
.catalogue-section { background:var(--app-bg); }
.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.product-card { display:flex; flex-direction:column; min-height:250px; padding:23px; border:1px solid var(--app-line); border-radius:18px; background:linear-gradient(150deg,var(--app-card) 0%,#111b15 100%); transition:transform .2s,border-color .2s,box-shadow .2s; }
.product-card:hover { transform:translateY(-4px); border-color:var(--app-border-hover); box-shadow:var(--app-glow); }
.product-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:25px; }
.product-icon { display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(255,182,72,.18); border-radius:15px; background:var(--app-amber-soft); color:var(--app-amber); font-size:22px; }
.product-category { color:var(--app-faint); font-size:8px; font-weight:900; letter-spacing:.12em; text-align:right; }
.product-card h3 { margin:0 0 9px; color:var(--app-text); font-size:19px; }
.product-card p { margin:0 0 19px; color:var(--app-muted); font-size:12px; line-height:1.75; }
.product-link { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:14px; border-top:1px solid var(--app-line); color:var(--app-amber); font-size:11px; font-weight:850; }
.product-link span { font-size:16px; }
.catalogue-note { max-width:850px; margin:24px auto 0; color:var(--app-faint); font-size:10px; line-height:1.7; text-align:center; }
.advanced-estimator .estimator-grid { grid-template-columns:.78fr 1.22fr; }
.calculator-card--advanced { padding:27px; }
.calc-input-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 13px; padding:20px 0; }
.calc-field { display:grid; gap:7px; min-width:0; color:var(--app-muted); font-size:10px; font-weight:750; }
.calc-field .money-input { margin:0; min-height:43px; padding:0 11px; }
.calc-field .money-input input { min-width:0; font-size:14px; }
.input-with-unit { display:flex; align-items:center; gap:8px; min-height:43px; padding:0 10px; border:1px solid var(--app-line-strong); border-radius:10px; background:var(--app-bg); color:var(--app-faint); }
.input-with-unit input { min-width:0; width:100%; height:40px; border:0; outline:0; background:transparent; color:var(--app-text); font-size:13px; font-weight:750; }
.input-with-unit>span { flex-shrink:0; color:var(--app-faint); font-size:9px; white-space:nowrap; }
.estimate-result--advanced { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding:0; overflow:hidden; }
.estimate-metric { min-width:0; padding:16px; border-bottom:1px solid var(--app-line); }
.estimate-metric:nth-child(odd) { border-right:1px solid var(--app-line); }
.estimate-metric--wide { grid-column:1/-1; border-right:0!important; }
.estimate-metric strong { display:block; margin-top:8px; color:var(--app-teal); font-size:clamp(20px,2.4vw,29px); line-height:1.15; letter-spacing:-.045em; overflow-wrap:anywhere; }
.estimate-metric small { display:block; margin-top:6px; color:var(--app-faint); font-size:9px; line-height:1.55; }
.estimate-metric .mini-label { display:block; line-height:1.45; }
.assumption-note { display:grid; gap:5px; max-width:430px; padding:15px 16px; margin-top:24px; border:1px solid var(--app-line); border-radius:13px; background:rgba(255,255,255,.025); }
.assumption-note strong { color:var(--app-amber); font-size:11px; }
.assumption-note span { color:var(--app-muted); font-size:10px; line-height:1.65; }
.location-section { background:var(--app-bg-alt); border-block:1px solid var(--app-line); }
.location-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:clamp(28px,5vw,72px); align-items:center; }
.location-copy h2 { margin:17px 0 17px; color:var(--app-text); font-size:clamp(40px,4.4vw,59px); line-height:1.04; letter-spacing:-.065em; }
.location-copy h2 em { color:var(--app-amber); font-style:normal; }
.location-copy>p { max-width:440px; color:var(--app-muted); font-size:13px; line-height:1.8; }
.business-contact-card { display:grid; gap:10px; margin-top:23px; }
.business-contact-row { padding:0; }
.business-contact-row a,.business-contact-row div { display:grid; gap:4px; color:var(--app-text); font-size:12px; line-height:1.6; }
.business-contact-row span { color:var(--app-faint); font-size:8px; font-weight:900; letter-spacing:.14em; }
.contact-config-prompt { padding:16px; border:1px dashed var(--app-line-strong); border-radius:13px; }
.contact-config-prompt strong { color:var(--app-amber); font-size:12px; }
.contact-config-prompt p { margin:5px 0 0; color:var(--app-muted); font-size:10px; line-height:1.65; }
.location-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.map-card { min-width:0; overflow:hidden; border:1px solid var(--app-line-strong); border-radius:20px; background:var(--app-card); box-shadow:var(--app-glow); }
.map-topline { display:flex; align-items:center; gap:12px; padding:17px 19px; border-bottom:1px solid var(--app-line); }
.map-pin { display:grid; place-items:center; width:39px; height:39px; border-radius:12px; background:var(--app-teal-soft); color:var(--app-teal); font-size:22px; }
.map-topline>div { display:grid; gap:2px; }
.map-topline strong { color:var(--app-text); font-size:12px; }
.map-topline span:not(.map-pin) { color:var(--app-muted); font-size:10px; }
.map-embed-wrap { height:340px; background:linear-gradient(145deg,#1b3024,#101a14); }
.map-embed-wrap iframe { width:100%; height:100%; border:0; filter:saturate(.72) contrast(.92); }
.map-placeholder { display:grid; align-content:center; justify-items:center; height:100%; padding:30px; text-align:center; background:radial-gradient(circle at 50% 30%,rgba(45,217,196,.10),transparent 36%),linear-gradient(145deg,#1a2a20,#0d1711); }
.map-placeholder[hidden], .map-embed-wrap iframe[hidden] { display:none; }
.map-placeholder-icon { display:grid; place-items:center; width:58px; height:58px; margin-bottom:16px; border:1px solid rgba(45,217,196,.3); border-radius:18px; color:var(--app-teal); font-size:30px; }
.map-placeholder strong { color:var(--app-text); font-size:16px; }
.map-placeholder p { max-width:300px; margin:8px 0 0; color:var(--app-muted); font-size:11px; line-height:1.7; }
.map-external-link { display:block; padding:14px 18px; border-top:1px solid var(--app-line); color:var(--app-amber); font-size:11px; font-weight:800; }
.whatsapp-float { position:fixed; z-index:45; right:22px; bottom:24px; display:grid; place-items:center; width:54px; height:54px; border:1px solid rgba(255,255,255,.24); border-radius:50%; background:#1fae66; color:white; box-shadow:0 12px 30px rgba(0,0,0,.32); font-size:24px; }
.whatsapp-float:hover { transform:translateY(-3px); background:#159957; }
.whatsapp-float[hidden] { display:none; }

@media (max-width:1080px) {
  .primary-nav { gap:13px; }
  .primary-nav a { font-size:10px; }
  .header-inner { gap:12px; }
  .header-cta { padding-inline:12px; }
  .language-toggle { min-width:42px; padding-inline:9px; }
}
@media (max-width:900px) {
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gallery-card:last-child { grid-column:1/-1; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .advanced-estimator .estimator-grid,.location-grid { grid-template-columns:1fr; }
  .location-copy>p { max-width:620px; }
}
@media (max-width:760px) {
  .header-actions { gap:7px; margin-left:auto; }
  .header-cta { display:none; }
  .language-toggle { min-height:38px; }
  .gallery-grid,.product-grid { grid-template-columns:1fr; }
  .gallery-card:last-child { grid-column:auto; }
  .gallery-image-wrap { height:225px; }
  .product-card { min-height:0; }
  .calc-input-grid { grid-template-columns:1fr; gap:12px; }
  .calculator-card--advanced { padding:18px; }
  .estimate-metric { padding:13px; }
  .estimate-metric strong { font-size:22px; }
  .map-embed-wrap { height:280px; }
  .whatsapp-float { right:16px; bottom:calc(76px + env(safe-area-inset-bottom)); width:49px; height:49px; }
  .mobile-quick-cta.is-hidden { opacity:0; transform:translateY(130%); pointer-events:none; }
}
@media (max-width:380px) {
  .gallery-caption { padding:14px; }
  .estimate-metric { padding:11px; }
  .mini-label { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) {
  .gallery-card,.gallery-image-wrap img,.product-card,.language-toggle,.whatsapp-float { transition:none; }
}

/* --------------------------------------------------------------------------
   BANSAL SOLAR SOLUTION v1.2.2 — legibility, responsive rhythm and map fix
   -------------------------------------------------------------------------- */
:root {
  --font-body: "Segoe UI", "Nirmala UI", "Noto Sans Devanagari", Arial, sans-serif;
  --font-display: "Segoe UI Semibold", "Segoe UI", "Nirmala UI", Arial, sans-serif;
}
html { scroll-padding-top: 112px; }
body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.68;
  letter-spacing: 0;
  color: var(--app-text);
}
body, button, input, select, textarea { font-family: var(--font-body); }
h1, h2, h3, h4, strong, b { font-family: var(--font-display); }
h1 { font-size: clamp(46px, 5.2vw, 72px); line-height: 1.04; letter-spacing: -.045em; }
.section-heading h2, .why-copy h2, .estimator-copy h2, .faq-intro h2,
.contact-copy h2, .location-copy h2 {
  font-size: clamp(36px, 4vw, 54px);
  line-height: 1.12;
  letter-spacing: -.04em;
}
.hero-lede, .section-heading > p, .solution-content p, .why-copy > p,
.benefit-item p, .process-step p, .estimator-copy > p, .faq-item p,
.location-copy > p, .contact-copy > p {
  font-size: 15px;
  line-height: 1.75;
}
.eyebrow { font-size: 10px; line-height: 1.5; letter-spacing: .13em; }
.announcement { font-size: 12px; min-height: 39px; }
.site-header { height: 82px; }
.header-inner { gap: 22px; }
.primary-nav { gap: clamp(12px, 1.45vw, 22px); }
.primary-nav a { font-size: 13px; font-weight: 650; white-space: nowrap; }
.nav-contact { color: var(--app-amber) !important; }
.language-toggle { font-size: 12px; min-height: 40px; padding: 0 13px; border-radius: 11px; }
.button { min-height: 50px; padding-inline: 22px; font-size: 14px; line-height: 1.25; border-radius: 13px; }
.button--small { min-height: 43px; padding-inline: 15px; font-size: 12px; }
.text-link { font-size: 14px; }
.hero { padding-top: 58px; }
.hero-grid { min-height: 485px; }
.hero-note { font-size: 12px; }
.hero-bottom { font-size: 10px; }
.intro-strip { padding-block: 30px; }
.intro-strip-inner > p:first-child { font-size: 17px; }
.intro-strip-inner strong { font-size: 23px; }
.intro-strip-copy { font-size: 14px; line-height: 1.7; }
.section { padding-block: 88px; scroll-margin-top: 104px; }
.section-heading { margin-bottom: 38px; }
.section-heading > p { max-width: 500px; }
.solution-content h3, .process-step h3, .benefit-item h3 { font-size: 20px; line-height: 1.3; }
.solution-content p { font-size: 14px; }
.visual-label, .gallery-badge, .product-category, .mini-label, .footer-label { font-size: 10px; }
.gallery-caption h3 { font-size: 18px; line-height: 1.3; }
.gallery-caption p, .product-card p { font-size: 14px; line-height: 1.65; }
.gallery-disclaimer p, .catalogue-note { font-size: 12px; line-height: 1.65; }
.product-card { min-height: 270px; padding: 25px; }
.product-card h3 { font-size: 21px; line-height: 1.3; }
.product-link { font-size: 13px; }
.system-card h3, .system-card__title { font-size: 21px; }
.system-card p, .system-card li { font-size: 14px; line-height: 1.65; }
.benefit-item { gap: 17px; padding-block: 20px; }
.benefit-item p { font-size: 13px; }
.process-step { min-height: 245px; }
.process-step h3 { font-size: 18px; }
.process-step p { font-size: 14px; }
.estimator-section { padding-block: 88px; }
.calculator-card--advanced { padding: 30px; }
.calc-field { font-size: 13px; line-height: 1.5; }
.calc-field .money-input, .input-with-unit { min-height: 49px; }
.calc-field .money-input input, .input-with-unit input { font-size: 15px; }
.input-with-unit > span { font-size: 11px; }
.estimate-metric { padding: 19px; }
.estimate-metric strong { font-size: clamp(22px, 2.3vw, 31px); }
.estimate-metric small { font-size: 11px; }
.mini-label { font-size: 10px; line-height: 1.5; }
.assumption-note strong { font-size: 13px; }
.assumption-note span, .estimator-footnote { font-size: 12px; line-height: 1.7; }
.faq-item summary { font-size: 15px; line-height: 1.5; }
.faq-item p { font-size: 14px; }
.location-section { padding-block: 88px; scroll-margin-top: 104px; }
.location-copy > p { font-size: 15px; }
.business-contact-row a, .business-contact-row div { font-size: 14px; line-height: 1.65; }
.business-contact-row span { font-size: 10px; }
.map-card { border-radius: 20px; }
.map-topline { padding: 20px 22px; }
.map-topline strong { font-size: 15px; }
.map-topline span:not(.map-pin) { font-size: 12px; line-height: 1.5; }
.map-embed-wrap { height: 410px; min-height: 320px; position: relative; overflow: hidden; }
.map-embed-wrap iframe {
  display: block !important;
  width: 100%; height: 100%; min-height: 320px;
  border: 0; filter: none;
}
.map-placeholder[hidden], .map-embed-wrap iframe[hidden] { display: none !important; }
.map-placeholder { min-height: 320px; }
.map-external-link { padding: 16px 22px; font-size: 13px; }
.contact-section { padding-block: 88px; scroll-margin-top: 104px; }
.contact-copy > p { font-size: 15px; }
.contact-promise { font-size: 13px; }
.contact-form { padding: clamp(24px, 3vw, 36px); }
.form-heading { margin-bottom: 25px; padding-bottom: 18px; }
.form-heading .mini-label, .form-step { font-size: 11px; }
.form-row { margin-bottom: 19px; }
.form-row label { display: block; margin-bottom: 8px; font-size: 13px; line-height: 1.5; }
.form-row label span { font-size: 12px; }
.form-row input, .form-row select, .form-row textarea {
  min-height: 49px; padding: 12px 14px; font-size: 15px; line-height: 1.45;
}
.form-row textarea { min-height: 105px; }
.form-privacy { font-size: 11px; line-height: 1.65; }
.form-status { font-size: 12px; line-height: 1.5; }
.footer-brand-block > p, .footer-note > p { font-size: 13px; line-height: 1.7; }
.footer-label { font-size: 10px; }
.footer-nav { gap: 12px; }
.footer-nav a { font-size: 13px; line-height: 1.4; }
.footer-bottom { font-size: 11px; }
.back-to-top { background: var(--app-card-alt); border: 1px solid var(--app-line-strong); color: var(--app-amber); }
.whatsapp-float { font-size: 26px; }

/* Make every in-page destination land below the sticky header. */
#top, #solutions, #gallery, #catalogue, #system-types, #why-solar,
#process, #estimator, #prepare, #faq, #location, #contact {
  scroll-margin-top: 108px;
}

@media (max-width: 1120px) {
  .primary-nav { gap: 11px; }
  .primary-nav a { font-size: 11px; }
  .header-inner { gap: 12px; }
  .brand-word { font-size: 17px; }
  .header-actions { gap: 8px; }
  .button--small { padding-inline: 12px; }
}
@media (max-width: 900px) {
  .primary-nav { gap: 10px; }
  .primary-nav a { font-size: 10px; }
  .header-inner { gap: 10px; }
  .brand-mark { width: 34px; height: 34px; }
  .brand-word { font-size: 16px; }
  .hero-grid { min-height: 440px; }
  .hero-art { height: 420px; }
  .location-grid { gap: 30px; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 78px; }
  .container { width: min(100% - 36px, 600px); }
  .announcement { min-height: 36px; font-size: 10px; padding-inline: 10px; }
  .site-header { height: 70px; }
  .header-inner { gap: 10px; }
  .brand-word { font-size: 18px; }
  .brand-subtitle { font-size: 8px; }
  .menu-toggle { margin-left: auto; }
  .primary-nav {
    inset: 70px 0 auto 0;
    max-height: calc(100vh - 106px);
    overflow-y: auto;
    padding: 12px 22px 22px;
    background: #101A14;
  }
  .primary-nav a { padding: 13px 2px; font-size: 14px; }
  .header-actions { margin-left: 0; }
  .hero { padding-top: 42px; }
  .hero-grid { gap: 24px; }
  .hero h1 { font-size: clamp(43px, 11vw, 62px); line-height: 1.05; }
  .hero-lede { font-size: 15px; line-height: 1.7; }
  .hero-actions { gap: 14px; }
  .hero-actions .button { width: 100%; }
  .hero-art { height: 320px; }
  .hero-bottom { font-size: 8px; letter-spacing: .1em; }
  .intro-strip-inner { gap: 14px; }
  .intro-strip-copy { font-size: 13px; }
  .section { padding-block: 66px; }
  .section-heading { margin-bottom: 28px; }
  .section-heading h2, .why-copy h2, .estimator-copy h2, .faq-intro h2,
  .contact-copy h2, .location-copy h2 { font-size: clamp(34px, 9vw, 45px); }
  .section-heading > p, .solution-content p, .why-copy > p,
  .process-step p, .estimator-copy > p, .faq-item p,
  .location-copy > p, .contact-copy > p { font-size: 14px; }
  .solution-grid { gap: 20px; }
  .solution-visual { height: 220px; }
  .solution-content h3 { font-size: 19px; }
  .gallery-image-wrap { height: 235px; }
  .gallery-caption h3 { font-size: 17px; }
  .gallery-caption p { font-size: 13px; }
  .product-grid { gap: 13px; }
  .product-card { padding: 20px; }
  .product-card h3 { font-size: 19px; }
  .product-card p { font-size: 13px; }
  .advanced-estimator .estimator-grid { gap: 25px; }
  .calculator-card--advanced { padding: 20px; }
  .calc-field { font-size: 13px; }
  .estimate-metric { padding: 13px; }
  .estimate-metric small { font-size: 10px; }
  .location-section, .contact-section { padding-block: 66px; }
  .location-grid { grid-template-columns: 1fr; }
  .map-embed-wrap { height: 330px; min-height: 300px; }
  .map-embed-wrap iframe { min-height: 300px; }
  .map-topline { padding: 15px; }
  .map-topline span:not(.map-pin) { font-size: 11px; }
  .contact-grid { grid-template-columns: 1fr; gap: 26px; }
  .contact-form { padding: 21px 17px; }
  .form-row--two { grid-template-columns: 1fr; }
  .form-row input, .form-row select, .form-row textarea { font-size: 16px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 26px 18px; }
  .footer-nav a { font-size: 12px; }
  .footer-bottom { flex-wrap: wrap; font-size: 10px; }
  #top, #solutions, #gallery, #catalogue, #system-types, #why-solar,
  #process, #estimator, #prepare, #faq, #location, #contact { scroll-margin-top: 82px; }
}
@media (max-width: 380px) {
  .container { width: calc(100% - 30px); }
  .brand-word { font-size: 16px; }
  .language-toggle { min-width: 36px; padding-inline: 8px; font-size: 11px; }
  .hero h1 { font-size: 42px; }
  .map-embed-wrap { height: 290px; }
}
