/* Joyline's architectural energy direction. Loaded after the original component styles. */
:root{--bg:#101411;--bg-2:#171d18;--bg-3:#20271f;--ink:#f2f3e9;--text:#c9cec4;--muted:#a3ad9f;--muted-2:#8d9989;--gold:#d1f580;--gold-bright:#e1ffa3;--gold-deep:#96b851;--gold-grad:linear-gradient(120deg,#d1f580,#d1f580);--gold-text:linear-gradient(120deg,#d1f580,#e1ffa3);--shadow-gold:none;--radius:4px;--radius-sm:4px;--maxw:1440px}
body{font-size:16px}body::before,body::after{display:none}h1,h2,h3,h4,.brand-name,.stat .num,.fig .big,.calc-hero-num,.pkg .kw{font-family:Manrope,Inter,sans-serif;letter-spacing:-.055em;font-weight:500}h2{font-size:clamp(2.3rem,4.5vw,4.2rem);line-height:1.1}h3{letter-spacing:-.035em}.container{padding-inline:clamp(24px,5vw,76px)}.section{padding:110px 0}.band{background:#171d18}.section-head--center{text-align:left}.section-head{max-width:850px;margin:0 0 60px}.section-head p{max-width:650px}.eyebrow{font-size:10px;letter-spacing:.17em;color:var(--gold);background:none}.eyebrow::before{display:none}.eyebrow--center{justify-content:flex-start}.btn{border-radius:3px;padding:18px 25px;font-size:13px;letter-spacing:0;box-shadow:none}.btn-gold{color:#1b2413}.btn-gold:hover{box-shadow:0 8px 30px #d1f51816}.btn-sm{padding:13px 20px}.btn span[aria-hidden]{margin-left:24px;font-size:21px}.btn-outline-gold{border-color:#65764d}.site-header,.site-header.scrolled{inset:0 0 auto;max-width:none;border-radius:0;padding:20px 5vw;background:#10141160;border:0;border-bottom:1px solid #ffffff20;box-shadow:none}.site-header.scrolled{background:#101411ed;padding-block:12px}.brand-badge{width:40px;height:40px;background:none;box-shadow:none}.brand-badge img{width:40px;height:40px}.brand-badge::before{display:none}.brand-name{font-size:19px;letter-spacing:-.04em;font-weight:800}.brand-sub{font-size:8px;letter-spacing:.34em}.nav a{font-size:12px;color:#d1d6cc;padding:10px 13px}.hero{min-height:800px;height:100svh;max-height:1150px;align-items:center}.hero-inner{max-width:1440px;padding-top:155px;padding-bottom:130px}.hero h1{font-size:clamp(58px,7.2vw,110px);font-weight:500;line-height:1.07;letter-spacing:-.065em;max-width:1200px;margin:25px 0 40px}.hero h1 .accent{font-style:normal;color:#d1f580;background:none}.hero::after{background:linear-gradient(90deg,#101411c9,#10141115),linear-gradient(0deg,#101411b0,transparent 45%,#10141135)}.hero-video{filter:saturate(.5);object-position:center}.hero-grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent calc(25% - 1px),#ffffff07 25%,transparent calc(25% + 1px),transparent calc(75% - 1px),#ffffff07 75%,transparent calc(75% + 1px))}.hero .eyebrow{color:#e4e8da;font-size:10px;letter-spacing:.18em}.status-dot{height:6px;width:6px;background:var(--gold);border-radius:50%;box-shadow:0 0 12px #d1f580}.hero p.sub{font-size:16px;color:#e1e5da;font-weight:400;line-height:1.8;max-width:480px;margin:0 0 30px}.hero-actions{align-items:center;gap:28px;margin:0}.hero-text-link{font-size:12px;padding:12px 0;border-bottom:1px solid #b9c3ad80;display:inline-block;color:var(--ink)}.hero-foot{position:absolute;bottom:28px;left:5vw;right:5vw;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff35;padding-top:22px;font-size:9px;letter-spacing:.15em;color:#e4e8da}.hero-foot a span{margin-left:30px;font-size:17px}.hero-foot button{color:inherit;font-size:10px;background:#10141180;border:1px solid #ffffff50;padding:10px 15px;border-radius:3px}.hero-coordinate{position:absolute;right:5vw;top:49%;writing-mode:vertical-rl;letter-spacing:.24em;font-size:9px;color:#e4e8da}.stats-strip{margin:0;background:#d1f580}.stats-card{border:0;box-shadow:none;background:none;border-radius:0;backdrop-filter:none}.stats-card::before{display:none}.stat{padding:40px 25px;text-align:left}.stat .num{background:none;color:#182112;justify-content:flex-start;font-size:46px;letter-spacing:-.055em}.stat .label{color:#41512d;font-size:11px}.stat+.stat::before{background:#18211225}.energy-story{padding:125px 0;background:#f0f0e7;color:#5e6858}.energy-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.energy-intro{position:sticky;top:135px;align-self:start}.energy-intro .eyebrow{color:#5d733a}.energy-intro h2{color:#1b2518;font-size:clamp(2.7rem,4vw,4rem)}.energy-intro h2 span{color:#8b9581}.energy-intro p:not(.eyebrow){max-width:340px;margin:28px 0 18px}.energy-intro a{color:#263b1a}.energy-step{padding:32px 0 52px;border-top:1px solid #c7cec0}.energy-step h3{color:#1b2518;font-size:30px;margin:18px 0}.energy-step p{font-size:15px;line-height:1.8;max-width:430px}.step-index{font:10px Inter,sans-serif;letter-spacing:.18em;color:#62704f}.panel-art{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;transform:perspective(500px) rotateX(28deg) rotateZ(-8deg);width:75%;margin:30px auto 0}.panel-art div{height:65px;border:2px solid #8fa181;background:repeating-linear-gradient(90deg,transparent 0 22px,#a3c29555 23px 24px),repeating-linear-gradient(0deg,#243a30 0 18px,#a3c29555 19px 20px);position:relative;overflow:hidden}.panel-art div::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent,#d1f58055,transparent);transform:translateX(-100%);animation:energySweep 5s ease-in-out infinite}.energy-flow{display:flex;align-items:center;gap:12px;margin-top:30px;font-size:10px;letter-spacing:.15em}.energy-flow span{border:1px solid #bcc7ae;padding:16px}.energy-flow i{height:1px;background:#8caa60;flex:1;position:relative}.energy-flow i::after{content:'';height:5px;width:5px;position:absolute;top:-2px;border-radius:50%;background:#577b30;animation:travel 3s infinite linear}@keyframes travel{from{left:0}to{left:100%}}@keyframes energySweep{50%,100%{transform:translateX(100%)}}
.card,.pkg,.project,.form-card,.calc,.savings-visual{border-radius:4px;box-shadow:none;background:#1a221b;border-color:#ffffff17}.card:hover,.project:hover,.pkg:hover{border-color:#d1f58066;box-shadow:none;transform:translateY(-5px)}.card h3{font-size:23px}.icon-badge{border-radius:50%;background:#d1f58010;border-color:#d1f58030;color:var(--gold)}.solution .art{height:300px}.solution .body{padding:28px}.solution .tag{color:var(--gold)}.solution .art img,.project .art img{filter:saturate(.7);transition:transform .8s,filter .8s}.solution:hover img,.project:hover img{transform:scale(1.04);filter:saturate(1)}.projects-grid{grid-template-columns:repeat(2,1fr);gap:38px}.project .art{height:340px}.project{background:none;border:0;border-radius:0}.project .pinfo{padding:22px 0}.project h3{font-size:26px}.project:nth-child(even){margin-top:75px}.project:last-child{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}.project:last-child .art{height:400px}.ptags span{background:none;border-color:#ffffff25}.calc-panel{background:#202a20}.calc-results{background:#151d16}.calc-hero-num{color:var(--gold)}.pkg.featured{background:#26351d;border-color:#d1f58070;box-shadow:none}.review-card{border-radius:3px;box-shadow:none;background:#1a221b}.review-card .stars{color:var(--gold)}.faq-item{border-radius:0;background:none;border:0;border-bottom:1px solid var(--line)}.footer{background:#0b100d}.footer::before{content:'JOYLINE SOLAR';display:block;margin:0 5vw 70px;font:500 clamp(40px,11.5vw,180px)/1 Manrope,sans-serif;letter-spacing:-.065em;color:#d1f580;border-bottom:1px solid #ffffff25;padding-bottom:40px}.wa-float{border-radius:4px;background:#d1f580;color:#1b2413;box-shadow:0 5px 20px #0002}.wa-float .lbl{font-size:11px}.reading-progress{position:fixed;left:0;top:0;height:2px;background:var(--gold);z-index:100;transform-origin:left;transform:scaleX(0);width:100%;pointer-events:none}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-160%);z-index:200;background:var(--gold);color:#17200f;padding:12px}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.energy-story :focus-visible{outline-color:#547528}section{scroll-margin-top:95px}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.js-motion .reveal.in{opacity:1;transform:none}body.motion-paused *,body.motion-paused *::after{animation-play-state:paused!important}.rm-track:hover,.rm-track:focus-within{animation-play-state:paused}.mobile-panel{background:#141d15}.mobile-panel:not(.is-open){visibility:hidden}body.menu-open .mobile-panel{visibility:visible}.form-note{line-height:1.7}
@media(min-width:1000px){.hero-inner{animation:heroEnter 1s ease both}@keyframes heroEnter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}}
@media(max-width:1100px){.nav{display:none}.nav-toggle{display:flex}.site-header{gap:12px}.hero h1{font-size:8vw}.hero{min-height:740px}.solution .art{height:230px}}
@media(max-width:700px){.site-header,.site-header.scrolled{padding:15px 20px}.header-cta>.btn{display:none}.brand-name{font-size:17px}.hero{min-height:740px;max-height:960px;height:100svh}.hero-inner{padding-top:140px;padding-bottom:140px}.hero h1{font-size:clamp(45px,10.7vw,74px);margin:22px 0 28px}.hero .eyebrow{font-size:8px;letter-spacing:.11em;max-width:260px}.hero p.sub{font-size:14px;max-width:350px}.desktop-break{display:none}.hero-actions{gap:15px;align-items:flex-start;flex-direction:column}.hero-foot{left:24px;right:24px}.hero-foot>span,.hero-coordinate{display:none}.hero::after{background:linear-gradient(90deg,#101411cc,#10141150),linear-gradient(0deg,#10141199,transparent)}.energy-story{padding:70px 0}.energy-layout{grid-template-columns:1fr;gap:50px}.energy-intro{position:relative;top:auto}.energy-intro h2{font-size:40px}.energy-step{padding:26px 0 36px}.section{padding:75px 0}.section-head{margin-bottom:36px}.stats-card{grid-template-columns:1fr 1fr}.stat{padding:28px 12px}.stat .num{font-size:36px}.stat .label{font-size:10px}.projects-grid{grid-template-columns:1fr;gap:22px}.project:nth-child(even){margin:0}.project .art{height:270px}.project:last-child{display:block;grid-column:auto}.project:last-child .art{height:270px}.solution .art{height:270px}.footer::before{margin-bottom:40px}.contact-line a{overflow-wrap:anywhere}.hero-foot button{min-height:40px}.energy-flow{gap:8px}.energy-flow span{padding:13px 10px}}
@media(prefers-reduced-motion:reduce){.js-motion .reveal{opacity:1;transform:none}.panel-art div::after,.energy-flow i::after{animation:none}.hero-inner{animation:none}}
.hero-foot{padding-right:175px}.band::before{display:none}.calc{background:#172018}.team-card{background:#1a221b;border-radius:4px}.savings-visual svg path[stroke="#E3BE7B"]{stroke:var(--gold)}
@media(max-width:700px){.hero-foot{padding-right:65px}.hero-foot a{font-size:8px}.hero-foot a span{margin-left:10px}}
.glow{display:none}
/* Signature experience: spatial solar illustration and considered editorial details. */
.headline-line{display:block}.hero h1{perspective:900px}.headline-line{animation:headlineArrival 1.2s cubic-bezier(.16,1,.3,1) both}.headline-line:nth-child(2){animation-delay:.15s}@keyframes headlineArrival{from{opacity:0;transform:translateY(45px) rotateX(12deg);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
.hero-text-link{transition:color .25s,border-color .25s}.hero-text-link:hover{color:var(--gold);border-color:var(--gold)}.hero-bg{transform:translateY(var(--hero-shift,0px)) scale(1.04);will-change:transform}.hero-foot a span{display:inline-block;animation:scrollNudge 2.5s ease-in-out infinite}@keyframes scrollNudge{50%{transform:translateY(5px)}}
.lab-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:55px}.lab-heading>p{max-width:310px;font-size:14px;color:var(--muted);line-height:1.9}.solar-console{display:grid;grid-template-columns:1.35fr 1fr;border:1px solid #d1f58030;min-height:520px;background:#131d16;overflow:hidden;border-radius:8px}.solar-world{position:relative;overflow:hidden;min-height:520px;background:radial-gradient(ellipse at 45% 25%,#d1f58020,transparent 60%),#16241a;transition:background 1s;isolation:isolate}.terrain-grid{position:absolute;width:170%;height:100%;left:-35%;top:35%;background:linear-gradient(#a4c28115 1px,transparent 1px),linear-gradient(90deg,#a4c28115 1px,transparent 1px);background-size:45px 45px;transform:perspective(500px) rotateX(60deg);mask-image:linear-gradient(transparent,#000 20%,transparent)}.solar-sun{position:absolute;width:72px;height:72px;left:43%;top:50px;border-radius:50%;background:#d1f580;box-shadow:0 0 50px #d1f58055,0 0 120px #d1f58022;transition:transform 1s,background 1s,box-shadow 1s}.solar-sun::after{content:'';position:absolute;inset:-17px;border:1px solid #d1f58040;border-radius:50%;animation:sunRing 4s ease-out infinite}@keyframes sunRing{to{transform:scale(1.55);opacity:0}}.orbital{position:absolute;border:1px solid #d1f58013;border-radius:50%;width:500px;height:500px;left:calc(50% - 250px);top:25px}.orbital-two{width:380px;height:380px;left:calc(50% - 190px);top:85px}.model-house{position:absolute;left:calc(50% - 110px);top:210px;width:220px;height:180px;transform:translateY(var(--house-lift,0px));transition:transform .5s ease}.house-front{position:absolute;top:58px;left:0;width:200px;height:110px;background:linear-gradient(130deg,#c8d0bd,#788d71);transform:skewY(12deg);border:1px solid #d2e3c2;display:flex;align-items:center;justify-content:center;gap:14px}.house-front i{width:33px;height:49px;background:#253d30;box-shadow:inset 0 0 0 3px #8d9e7b;transition:background 1s,box-shadow 1s}.house-side{position:absolute;left:200px;top:40px;width:65px;height:110px;background:#647b59;transform:skewY(-30deg);border:1px solid #9eaf8c}.house-roof{position:absolute;top:0;left:0;width:220px;height:135px;background:#263a2d;transform:skewY(12deg) skewX(-27deg) rotateX(40deg);transform-origin:bottom left;z-index:2;border:4px solid #a3b494;box-shadow:0 8px 0 #435b3f}.roof-cells{position:absolute;inset:7px;background:repeating-linear-gradient(90deg,transparent 0 30px,#b2d59770 31px 32px),repeating-linear-gradient(0deg,#18352e 0 20px,#a1c98b70 21px 22px);overflow:hidden}.roof-cells::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,#e8ffd650 50%,transparent 80%);animation:panelLight 5s ease-in-out infinite}@keyframes panelLight{0%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}.house-base{position:absolute;left:-30px;top:150px;width:300px;height:60px;background:#a9c38a14;transform:skewY(7deg);border:1px solid #d1f58030;z-index:-1}.world-label{position:absolute;color:#bacaad;font:9px Inter,sans-serif;letter-spacing:.15em}.world-label span{display:block;width:50px;height:30px;border-top:1px solid #bacaad66;border-right:1px solid #bacaad66;margin-top:12px}.label-roof{left:8%;top:160px}.label-home{right:6%;bottom:110px}.label-home span{transform:rotate(180deg)}.world-caption{position:absolute;bottom:30px;left:0;width:100%;text-align:center;font-size:8px;letter-spacing:.25em;color:#99ad88}.solar-controls{padding:50px 40px;align-self:center}.phase-tabs{display:flex;border-bottom:1px solid #ffffff20;margin-bottom:35px}.phase-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:#adb8a5;font-size:12px;padding:14px 16px;transition:color .3s,border-color .3s}.phase-tabs button[aria-selected=true]{color:var(--gold);border-color:var(--gold)}.phase-time{font-size:9px;letter-spacing:.15em;color:var(--gold)}.solar-controls h3{font-size:31px;line-height:1.2;margin:20px 0}.phase-description{font-size:14px;color:#acb7a4;line-height:1.9}.phase-meter{display:flex;gap:5px;height:36px;align-items:flex-end;margin:28px 0 12px}.phase-meter i{height:100%;width:9px;background:var(--gold);opacity:.7;transform-origin:bottom;animation:meterBreathe 2.5s ease-in-out infinite alternate}.phase-meter i:nth-child(3n){height:65%;animation-delay:.3s}.phase-meter i:nth-child(3n + 1){height:85%;animation-delay:.6s}@keyframes meterBreathe{to{transform:scaleY(.75);opacity:.4}}.phase-note{font-size:10px;color:#89987f;line-height:1.6;display:block}.solar-console[data-phase=morning] .solar-sun{transform:translate(-95px,55px) scale(.8);background:#f0d09b;box-shadow:0 0 80px #f0d09b40}.solar-console[data-phase=morning] .phase-meter i{height:40%}.solar-console[data-phase=evening] .solar-sun{transform:translate(110px,85px) scale(.6);background:#b5c9e0;box-shadow:0 0 70px #b5c9e022}.solar-console[data-phase=evening] .solar-world{background:#111b20}.solar-console[data-phase=evening] .house-front i{background:#ffe0a2;box-shadow:0 0 15px #ffe0a244,inset 0 0 0 3px #8d9e7b}.solar-console[data-phase=evening] .phase-meter i{height:5%;animation:none;background:#9dadbd}.solar-console[data-phase=evening] .roof-cells::after{opacity:0}.engineering{background:#f0f0e7;color:#5e6858}.engineering h2{color:#23321e}.engineering h2 span{color:#819073}.engineering .eyebrow{color:#60764b}.engineering-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.engineering-feature{grid-row:span 2;min-height:610px;position:relative;overflow:hidden;background:#172417}.engineering-feature img{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.6);transition:transform 1.2s}.engineering-feature:hover img{transform:scale(1.04)}.engineering-feature::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0a180ef5,transparent 90%)}.engineering-feature>div{position:absolute;bottom:0;padding:38px;z-index:1}.detail-number{font-size:9px;letter-spacing:.16em;display:block;margin-bottom:28px}.engineering-feature .detail-number{color:var(--gold)}.engineering h3{font-size:31px;line-height:1.2;margin-bottom:20px}.engineering-feature p{color:#c3cfbb;font-size:14px;max-width:340px}.engineering-detail{padding:38px;border:1px solid #c9d0bf;background:#e8ecdf}.engineering-detail h3{color:#26351e}.engineering-detail p{font-size:14px;max-width:380px;line-height:1.9}.engineering-detail .hero-text-link{color:#314a21}.care-line{display:flex;align-items:center;gap:10px;font-size:11px;margin-top:28px}.care-line .status-dot{background:#648b3c;box-shadow:none}.survey-inclusions{border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;padding:23px 0;margin:30px 0}.survey-inclusions>span{font-size:9px;letter-spacing:.16em;color:var(--gold);display:block;margin-bottom:15px}.survey-inclusions p{font-size:13px;margin:8px 0}.survey-inclusions p::before{content:'↗';color:var(--gold);margin-right:15px}.calc-assumptions{margin-top:22px;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:15px}.calc-assumptions summary{cursor:pointer;display:flex;justify-content:space-between;color:#c7d3bd;list-style:none}.calc-assumptions p{margin:12px 0 0;line-height:1.9}.faq-item summary{font-family:Manrope,Inter,sans-serif}.project .art{overflow:hidden}.project .art img{clip-path:inset(0);transition:clip-path .8s,transform 1.2s}.project:hover .art img{clip-path:inset(8px);transform:scale(1.04)}.energy-step{transition:opacity .6s,border-color .6s}.energy-step.is-current{border-color:#5c7f36}.energy-step.is-current .step-index{color:#345a18}.section-head h2{max-width:1000px}.solar-lab{background:radial-gradient(ellipse at 95% 80%,#d1f58008,transparent 50%),#101411}
@media(min-width:1000px){.engineering-feature{position:sticky;top:100px;align-self:start}.solar-console:hover .model-house{--house-lift:-5px}}
@media(max-width:900px){.solar-console{grid-template-columns:1fr}.solar-world{min-height:450px}.lab-heading{display:block}.lab-heading>p{max-width:500px;margin-top:28px}.solar-controls{padding:35px}.engineering-feature{min-height:650px}.engineering-detail{padding:25px}.engineering h3{font-size:26px}}
@media(max-width:600px){.engineering-grid{grid-template-columns:1fr}.engineering-feature{grid-row:auto;min-height:510px}.engineering-feature>div{padding:27px}.engineering-detail{padding:30px}.solar-world{min-height:400px}.model-house{transform:scale(.8);transform-origin:center;top:180px;left:calc(50% - 125px)}.solar-sun{top:40px;width:58px;height:58px}.label-roof{top:135px;left:7%;font-size:7px}.label-home{right:6%;bottom:65px;font-size:7px}.world-caption{font-size:7px}.solar-controls{padding:28px 22px}.phase-tabs button{padding:14px 12px}.solar-controls h3{font-size:29px}.lab-heading h2{font-size:38px}.engineering h2{font-size:37px}.hero-bg{transform:none}.solar-console[data-phase=evening] .solar-sun{transform:translate(75px,50px) scale(.6)}}
@media(prefers-reduced-motion:reduce){.headline-line{animation:none}.hero-bg{transform:none}.solar-sun,.model-house,.solar-world{transition:none}.phase-meter i,.roof-cells::after,.solar-sun::after{animation:none}}
.house-roof{top:-52px;height:120px}.house-front{top:55px}.house-side{top:36px}.solar-controls h3{white-space:pre-line}.solar-console[data-phase=evening] .solar-sun::after{border-color:#b5c9e033}
body.motion-paused .headline-line{filter:none;opacity:1;transform:none;animation:none}body.motion-paused .hero-inner{opacity:1;transform:none;animation:none}
/* Bespoke architectural hero: slow camera movement without video transfer. */
.hero-luxury-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;animation:luxuryDrift 24s ease-in-out infinite alternate;will-change:transform}
@keyframes luxuryDrift{from{transform:scale(1.015) translateX(0)}to{transform:scale(1.075) translateX(-.7%)}}
.hero::after{background:linear-gradient(90deg,#09110dd9 0%,#09110d80 35%,#09110d12 72%),linear-gradient(0deg,#09110d99,transparent 40%,#09110d22)}
.hero-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 15%,#e9bb7020,transparent 50%);animation:ambientGlow 12s ease-in-out infinite alternate}
@keyframes ambientGlow{to{opacity:.4;transform:translateX(-3%)}}
.hero h1{font-size:clamp(58px,6.7vw,102px);max-width:1120px}.hero h1 .accent{color:#e4ebc9}.hero .hero-actions .btn-gold{background:#e2edb7}.hero-coordinate{color:#e1e5cf;font-size:8px;letter-spacing:.18em}.hero p.sub{text-shadow:0 2px 15px #0007}.site-header:not(.scrolled){background:#10141135}.hero-grid{opacity:.5}
@media(max-width:700px){.hero h1{font-size:clamp(43px,10.7vw,74px)}.hero-luxury-image{object-position:64% center;animation:luxuryDriftMobile 24s ease-in-out infinite alternate}.hero::after{background:linear-gradient(90deg,#09110dc0,#09110d55),linear-gradient(0deg,#09110da0,transparent 60%)}.hero-coordinate{display:block;writing-mode:horizontal-tb;top:auto;bottom:108px;right:24px;font-size:7px;color:#cbd4bf}@keyframes luxuryDriftMobile{to{transform:scale(1.06)}}}
@media(prefers-reduced-motion:reduce){.hero-luxury-image,.hero-atmosphere{animation:none;transform:none}}
.hero .tamil-welcome{font-size:10px;letter-spacing:0;line-height:1.8;color:#e1e7d7}.hero h1{font-size:clamp(56px,6.25vw,96px)}
@media(max-width:700px){.hero h1{font-size:clamp(39px,9.7vw,68px)}.hero .tamil-welcome{display:none}}
/* Bilingual typography: Tamil needs more line height and no tight tracking. */
.language-switch{display:flex;flex:none;align-items:center;padding:3px;border:1px solid #ffffff30;border-radius:30px;gap:2px;background:#10141188}.language-switch button{border:0;background:none;color:#d9e2d1;border-radius:20px;min-height:34px;padding:6px 11px;font:500 11px/1.5 Inter,'Noto Sans Tamil',sans-serif}.language-switch button[aria-pressed=true]{background:#e1edbd;color:#1c2c17}.header-cta{gap:14px}.hero-luxury-image{object-position:center 42%}.hero::after{background:linear-gradient(90deg,#09110de6 0%,#09110da0 30%,#09110d18 72%),linear-gradient(0deg,#09110d99,transparent 40%,#09110d22)}
html[lang=ta] body,html[lang=ta] button,html[lang=ta] input,html[lang=ta] select,html[lang=ta] textarea,html[lang=ta] h1,html[lang=ta] h2,html[lang=ta] h3,html[lang=ta] h4,html[lang=ta] .eyebrow,html[lang=ta] .faq-item summary{font-family:'Noto Sans Tamil',Inter,sans-serif;letter-spacing:0;line-height:1.65}html[lang=ta] h1{font-size:clamp(34px,4.2vw,64px);line-height:1.55}html[lang=ta] h2{font-size:clamp(27px,3.1vw,43px);line-height:1.6}html[lang=ta] h3{font-size:23px;line-height:1.65}html[lang=ta] .eyebrow{font-size:10px}html[lang=ta] .nav a{font-size:10px;padding:8px}html[lang=ta] .btn{white-space:normal;font-size:12px;line-height:1.8;text-align:center}html[lang=ta] .btn-sm{font-size:10px;padding:10px 15px}html[lang=ta] .hero p.sub{font-size:14px;max-width:530px;line-height:2}html[lang=ta] .hero-foot{letter-spacing:0;gap:20px}html[lang=ta] .brand-name{font-family:Manrope,Inter,sans-serif}html[lang=ta] .hero-inner{padding-top:140px}html[lang=ta] .solar-controls h3{font-size:25px;white-space:normal}html[lang=ta] .energy-intro h2{font-size:35px}html[lang=ta] .energy-step h3{font-size:26px}html[lang=ta] .step-index,html[lang=ta] .detail-number{letter-spacing:0;line-height:1.8}html[lang=ta] .engineering-feature{min-height:730px}html[lang=ta] .engineering-feature p{font-size:13px}html[lang=ta] .section-head{max-width:950px}html[lang=ta] .calc-stat .k{line-height:1.8}html[lang=ta] .hero-coordinate{letter-spacing:0}html[lang=ta] .hero-foot>.tamil-welcome{display:none}html[lang=ta] .phase-tabs button{padding-inline:12px}
/* Motion composition: section entrances, staggered details, and image reveals. */
.motion-ready .motion-reveal{opacity:0;transform:translateY(36px);filter:blur(4px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s;transition-delay:var(--motion-delay,0ms)}.motion-ready .motion-reveal.motion-in{opacity:1;transform:none;filter:none}.motion-ready .project .art{clip-path:inset(0 0 15% 0);transition:clip-path 1.1s cubic-bezier(.16,1,.3,1)}.motion-ready .project.in .art{clip-path:inset(0)}.energy-steps{position:relative;padding-left:28px}.energy-steps::before{content:'';position:absolute;top:0;bottom:0;left:0;width:1px;background:#788e5b30}.energy-step{position:relative}.energy-step::before{content:'';position:absolute;left:-32px;top:32px;width:9px;height:9px;border-radius:50%;background:#c2ccb4;box-shadow:0 0 0 6px #f0f0e7;transition:background .5s,box-shadow .5s}.energy-step.is-current::before{background:#74963d;box-shadow:0 0 0 6px #f0f0e7,0 0 0 8px #91ac6440}.solution .body{position:relative}.solution .body::after{position:absolute;right:25px;top:25px;font:10px Inter,sans-serif;color:#8a9d78}.solution:nth-child(1) .body::after{content:'01'}.solution:nth-child(2) .body::after{content:'02'}.solution:nth-child(3) .body::after{content:'03'}.solution{transition:transform .65s,border-color .65s}.solution:hover{transform:translateY(-10px)}.savings-visual svg>path[fill=none]{stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 2s ease .3s}.savings-visual.in svg>path[fill=none]{stroke-dashoffset:0}.calc-results{position:relative;overflow:hidden}.calc-results::before{content:'';position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#d1f580,transparent);animation:resultGleam 6s ease-in-out infinite}@keyframes resultGleam{0%,100%{transform:translateX(-100%)}60%{transform:translateX(100%)}}.btn svg,.hero-text-link span{transition:transform .3s}.btn:hover svg,.hero-text-link:hover span{transform:translate(3px,-2px)}.form-card:focus-within{border-color:#d1f58070;box-shadow:0 0 45px #d1f58008}.faq-item[open] .answer{animation:answerReveal .4s ease both}@keyframes answerReveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.review-card{transition:border-color .3s}.review-card:hover{border-color:#d1f58070}
body.motion-paused .motion-reveal{opacity:1;transform:none;filter:none;transition:none}body.motion-paused .project .art{clip-path:none}body.motion-paused .savings-visual svg>path[fill=none]{stroke-dashoffset:0}body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused!important}body.motion-paused .hero-bg{transform:none}
@media(max-width:1200px){html[lang=ta] .nav{display:none}html[lang=ta] .nav-toggle{display:flex}}
@media(max-width:700px){.language-switch button{min-height:34px;font-size:10px;padding:5px 8px}.header-cta{gap:8px}.brand{gap:7px}.brand-name{font-size:14px}.brand-sub{font-size:7px}.brand-badge,.brand-badge img{width:32px;height:32px}.site-header,.site-header.scrolled{padding-inline:16px;gap:8px}.nav-toggle{width:38px;height:38px}.hero-luxury-image{object-position:66% center}.hero::after{background:linear-gradient(90deg,#09110dbb,#09110d60),linear-gradient(0deg,#09110d99,transparent 55%)}html[lang=ta] .hero{height:auto;min-height:850px;max-height:none}html[lang=ta] .hero-inner{padding-top:150px;padding-bottom:170px}html[lang=ta] h1{font-size:29px;line-height:1.75}html[lang=ta] h2,html[lang=ta] .energy-intro h2,html[lang=ta] .lab-heading h2,html[lang=ta] .engineering h2{font-size:28px;line-height:1.7}html[lang=ta] .hero p.sub{font-size:13px}html[lang=ta] .hero .eyebrow{font-size:9px;max-width:100%}html[lang=ta] .hero-foot{gap:10px;padding-right:58px}html[lang=ta] .hero-foot a{max-width:125px;font-size:8px}html[lang=ta] .hero-foot button{font-size:9px;padding:7px;max-width:110px}html[lang=ta] .engineering-feature{min-height:590px}html[lang=ta] .phase-tabs button{font-size:11px}html[lang=ta] .world-label{font-size:6px;letter-spacing:0}.energy-steps{padding-left:20px}.energy-step::before{left:-24px}.hero-coordinate{bottom:110px}}
@media(prefers-reduced-motion:reduce){.motion-ready .motion-reveal{opacity:1;transform:none;filter:none}.motion-ready .project .art{clip-path:none}.savings-visual svg>path[fill=none]{stroke-dashoffset:0}}
/* First-visit language welcome. Native dialog supplies focus containment and Escape support. */
.language-welcome{padding:0;border:1px solid #d1f58040;border-radius:14px;background:#142018;color:#ecf0e2;width:min(680px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow:auto;box-shadow:0 35px 120px #0009}.language-welcome::backdrop{background:#060e0bb3;backdrop-filter:blur(12px)}.language-welcome[open]{animation:welcomeEnter .55s cubic-bezier(.16,1,.3,1) both}.welcome-art{height:90px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 110%,#b5d67644,transparent 70%),#101b14;border-bottom:1px solid #ffffff10}.welcome-sun{position:absolute;left:calc(50% - 30px);bottom:-30px;width:60px;height:60px;border-radius:50%;background:#e1edbc;box-shadow:0 0 70px #d1f58044}.welcome-orbit{position:absolute;left:calc(50% - 90px);top:0;width:180px;height:180px;border:1px solid #d1f58030;border-radius:50%}.welcome-line{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#d1f580,transparent)}.welcome-content{padding:30px 45px 28px;text-align:center}.welcome-content>img{margin:0 auto 16px}.welcome-kicker{font:9px/1.5 Inter,sans-serif;letter-spacing:.2em;color:#bbd491}.welcome-content h2,html[lang=ta] .welcome-content h2{font:500 36px/1.3 Manrope,Inter,sans-serif;letter-spacing:-.04em;margin:12px 0 18px}.welcome-content h2 span{font:500 26px/1.8 'Noto Sans Tamil',sans-serif;color:#d7e8b7;letter-spacing:0}.welcome-content #welcomeDescription{font-size:13px;line-height:1.9;color:#b3c2a6}.welcome-content [lang=ta]{font-family:'Noto Sans Tamil',sans-serif;letter-spacing:0}.welcome-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.welcome-choices button{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:20px;border:1px solid #9eb77566;background:#1e2b1b;color:#f0f5e9;border-radius:6px;transition:background .25s,transform .25s}.welcome-choices button:hover{background:#2d4024;transform:translateY(-3px)}.welcome-choices button b{font-size:18px;display:block;line-height:1.7}.welcome-choices button small{font-size:10px;display:block;color:#b8cba3}.welcome-choices button>span:last-child{font-size:22px;color:#d1f580}.welcome-note{font-size:10px;color:#92a585;line-height:2;margin:0}body:has(.language-welcome[open]){overflow:hidden}@keyframes welcomeEnter{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:600px){.welcome-art{height:65px}.welcome-content{padding:24px 20px}.welcome-content h2,html[lang=ta] .welcome-content h2{font-size:29px}.welcome-content h2 span{font-size:21px}.welcome-choices{grid-template-columns:1fr;margin:20px 0;gap:10px}.welcome-choices button{padding:13px 20px}.welcome-choices button b{font-size:16px}.welcome-content>img{width:38px;height:38px}.welcome-note{font-size:9px}}
/* Ambient rooftop motion, deliberately illustrative rather than a telemetry overlay. */
.hero-solar-light{position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(112deg,transparent 35%,#fff4be12 47%,#fff4be22 49%,transparent 57%);mix-blend-mode:screen;animation:rooftopSunlight 14s ease-in-out infinite;transform:translateX(-65%)}@keyframes rooftopSunlight{0%,15%{transform:translateX(-65%);opacity:0}35%{opacity:.7}70%{transform:translateX(65%);opacity:0}100%{transform:translateX(65%);opacity:0}}.hero-energy-signature{position:absolute;right:7%;bottom:19%;width:210px;height:130px;pointer-events:none;opacity:.8}.hero-energy-signature svg{width:100%;height:110px;overflow:visible}.signature-path{stroke:#e1edbb45;stroke-width:1}.signature-pulse{stroke:#e1edbb;stroke-width:1.6;stroke-dasharray:30 310;animation:solarCurrent 5s linear infinite}.hero-energy-signature circle{fill:#e1edbb}.signature-label{font:8px/1.5 Inter,'Noto Sans Tamil',sans-serif;letter-spacing:.15em;color:#e1edbb}.signature-orbit{position:absolute;right:-1px;top:3px;width:26px;height:26px;border:1px solid #e1edbb55;border-radius:50%;animation:panelSignal 4s ease-out infinite}@keyframes solarCurrent{to{stroke-dashoffset:-340}}@keyframes panelSignal{to{transform:scale(1.7);opacity:0}}html[lang=ta] .signature-label{letter-spacing:0;font-size:9px}
@media(max-width:900px){.hero-energy-signature{display:none}}
@media(prefers-reduced-motion:reduce){.hero-solar-light{display:none}.signature-pulse,.signature-orbit{animation:none}}
@media(max-width:1200px){.nav{display:none}.nav-toggle{display:flex}}
html[lang=ta] .fig .lbl{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){html[lang=ta] .fig{flex-direction:column;align-items:flex-start;gap:12px}html[lang=ta] .fig .big{min-width:0}html[lang=ta] .fig .lbl{width:100%}}
/* Framed opening: a quiet navigation bar above a cinematic image, never over it. */
.site-header,.site-header.scrolled,.site-header:not(.scrolled){inset:0 0 auto;padding:20px 4vw;height:88px;background:#f1f2e9;border:0;border-bottom:1px solid #d3dacb;backdrop-filter:none;box-shadow:none;color:#24321d}.site-header .brand-name{color:#24321d;font-size:20px}.site-header .brand-name .g{background:none;color:#647d3e}.site-header .brand-sub{color:#637257}.site-header .brand-badge,.site-header .brand-badge img{width:42px;height:42px}.site-header .nav a{color:#59674f;font-size:12px;padding:10px 12px}.site-header .nav a:hover,.site-header .nav a.active{color:#1a2b10}.site-header .nav a::after{background:#6e894c}.site-header .btn-gold{background:#25361d;color:#f1f6e5;padding:13px 18px}.site-header .language-switch{background:transparent;border:0;padding:0;gap:0;border-right:1px solid #c8d1bf;border-radius:0;padding-right:12px}.site-header .language-switch button{color:#69775d;background:none;padding:7px 6px;font-size:10px;min-height:32px}.site-header .language-switch button[aria-pressed=true]{background:none;color:#203817;text-decoration:underline;text-underline-offset:5px}.site-header .nav-toggle{border-color:#bdc9b0;background:transparent}.site-header .nav-toggle span,.site-header .nav-toggle span::before,.site-header .nav-toggle span::after{background:#2a3b21}.site-header.nav-hidden{transform:none}main{padding-top:106px}.hero{margin:0 18px 18px;min-height:760px;height:calc(100svh - 124px);max-height:1100px;border-radius:16px;background:#142018}.hero-inner{padding-top:80px;padding-bottom:140px}.hero-bg{transform:none!important}.hero-luxury-image{animation:framedCamera 16s cubic-bezier(.37,0,.63,1) infinite alternate;object-position:center;will-change:transform}.hero::after{background:linear-gradient(90deg,#09110de8 0%,#09110db0 35%,#09110d15 80%),linear-gradient(0deg,#09110db0,transparent 50%)}@keyframes framedCamera{0%{transform:scale(1.02) translateX(-.8%)}100%{transform:scale(1.16) translateX(2.5%) translateY(1%)}}.hero h1{font-size:clamp(54px,5.8vw,88px);max-width:980px}.hero-coordinate{right:32px}.hero-foot{left:4vw;right:4vw;bottom:25px}.hero .hero-actions .btn-gold{background:#dcebb2}.hero .hero-atmosphere{animation:ambientGlow 5s ease-in-out infinite alternate}.hero-solar-light{animation:visibleSunlight 8s ease-in-out infinite;background:linear-gradient(112deg,transparent 25%,#fff4be08 38%,#fff4be38 48%,transparent 60%)}@keyframes visibleSunlight{0%{transform:translateX(-65%);opacity:0}25%{opacity:.9}80%,100%{transform:translateX(65%);opacity:0}}.hero-energy-signature{right:8%;bottom:22%;opacity:1;width:245px}.signature-pulse{stroke-width:2.5;animation-duration:3s}.signature-orbit{animation-duration:2.5s}.hero-foot>span.tamil-welcome{display:none}.hero-foot{padding-right:0;justify-content:space-between}.hero-foot #motionToggle{margin-right:0;background:#0d1b14b3;padding:12px 17px;border-color:#dcebb260}.wa-float{bottom:22px}.hero-foot{right:110px}.mobile-panel{top:88px!important}.header-cta{gap:12px}
html[lang=ta] .site-header .nav a{font-size:10px}html[lang=ta] .hero-inner{padding-top:85px}html[lang=ta] .hero h1{font-size:clamp(32px,3.8vw,56px)}
@media(max-width:1200px){.site-header .nav{display:none}.site-header .nav-toggle{display:flex}}
@media(max-width:700px){.site-header,.site-header.scrolled,.site-header:not(.scrolled){height:76px;padding:14px 18px}.site-header .brand-name{font-size:15px}.site-header .brand-badge,.site-header .brand-badge img{width:34px;height:34px}.site-header .brand-sub{font-size:7px}.site-header .language-switch{padding-right:7px}.site-header .language-switch button{padding:6px 4px}.header-cta{gap:8px}main{padding-top:88px}.hero{margin:0 10px 12px;border-radius:12px;height:auto;min-height:760px;max-height:none}.hero-inner{padding:85px 24px 170px}.hero h1{font-size:42px;line-height:1.12}.hero-luxury-image{object-position:66% center;animation:framedCameraMobile 12s ease-in-out infinite alternate}@keyframes framedCameraMobile{from{transform:scale(1.02) translateX(-1%)}to{transform:scale(1.17) translateX(2%)}}.hero::after{background:linear-gradient(90deg,#09110dd4,#09110d66),linear-gradient(0deg,#09110dbe,transparent 60%)}.hero-foot{left:24px;right:65px;gap:12px}.hero-foot a{font-size:7px;max-width:120px}.hero-foot #motionToggle{font-size:9px;padding:10px}.hero-coordinate{bottom:115px;right:24px}.mobile-panel{top:76px!important}html[lang=ta] .hero{min-height:890px}html[lang=ta] .hero-inner{padding-top:65px;padding-bottom:170px}html[lang=ta] .hero h1{font-size:28px}html[lang=ta] .hero-foot{padding-right:0}}
@media(prefers-reduced-motion:reduce){.hero-luxury-image{animation:none;transform:none}.hero-solar-light{display:none}}
.hero-foot{right:200px}
@media(max-width:700px){.hero-foot{right:85px}.hero-foot #motionToggle{max-width:105px}.hero-foot a{max-width:100px}}
