:root{
  --blue:#1450a8;--navy:#0c2461;--sun:#ffb81c;--orange:#f7931e;--flame:#e8590c;--leaf:#3f9b1f;--leaf-light:#8cc63f;
  --cream:#fbf8f1;--white:#fff;--ink:#0f1b3d;--muted:#5f6b85;--line:rgba(15,27,61,.12);
  --font:"DM Sans",sans-serif;--display:"Manrope",sans-serif
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:var(--cream);line-height:1.6;overflow-x:hidden}
a{text-decoration:none;color:inherit}button,input,select{font:inherit}.container{width:min(1160px,calc(100% - 48px));margin:auto}
.topbar{height:36px;background:var(--navy);color:#dde5f5;display:flex;align-items:center;justify-content:space-between;padding:0 5%;font-size:12px;letter-spacing:.02em}
.topbar a{color:var(--sun);font-weight:700}.header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:rgba(251,248,241,.92);backdrop-filter:blur(16px);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(0,0,0,.04)}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:22px;color:var(--navy);letter-spacing:-.06em}.logo-mark{width:36px;height:36px;border-radius:50%;background:var(--sun);display:grid;place-items:center;color:var(--navy);font-size:20px}.logo small{display:block;font-family:var(--font);font-size:7px;letter-spacing:.18em;line-height:1;color:#3f9b1f;margin-top:2px}
.nav{display:flex;align-items:center;gap:31px;font-size:13px;font-weight:600}.nav>a:not(.nav-cta){color:#33405e}.nav>a:hover{color:var(--blue)}.nav-cta{background:var(--blue);color:#fff!important;padding:12px 18px;border-radius:30px}.menu-toggle{display:none;background:none;border:0;font-size:25px;color:var(--blue)}
.hero{min-height:690px;position:relative;background:var(--blue);color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 75% 35%,rgba(255,184,28,.16),transparent 28%),linear-gradient(135deg,#123f94,#071a45)}
.hero-grid{min-height:650px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#3f9b1f;display:flex;align-items:center;gap:9px;margin-bottom:20px}.eyebrow span{width:28px;height:2px;background:var(--sun);display:inline-block}.hero .eyebrow{color:#b7c6e6}.hero h1{font:800 clamp(48px,6vw,82px)/.98 var(--display);letter-spacing:-.07em;max-width:700px}.hero h1 em,.section-heading em,.section-head em,.center-heading em,.calc-copy em,.cta-copy em{color:var(--sun);font-style:normal}.hero-text{max-width:540px;color:#c9d4ec;font-size:17px;margin:25px 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{border:0;border-radius:100px;padding:15px 22px;display:inline-flex;align-items:center;justify-content:center;gap:15px;font-weight:800;font-size:13px;cursor:pointer;transition:.25s}.btn-primary{background:var(--sun);color:var(--navy)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(0,0,0,.16)}.btn-ghost{border:1px solid rgba(255,255,255,.25);color:#fff}.play{width:27px;height:27px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center;font-size:8px}.hero-trust{display:flex;gap:36px;margin-top:62px}.hero-trust div{display:flex;gap:8px;align-items:flex-start}.hero-trust strong{font:800 25px var(--display);color:var(--sun)}.hero-trust span{font-size:10px;line-height:1.25;color:#aab9dc}.hero-visual{height:590px;position:relative;display:grid;place-items:center}.sun{position:absolute;width:310px;height:310px;border-radius:50%;background:radial-gradient(circle,#ffe27a,#ffa41b);filter:blur(1px);opacity:.95;top:85px;right:70px}.orbit{position:absolute;border:1px solid rgba(255,184,28,.22);border-radius:50%}.orbit-1{width:510px;height:510px;right:-25px;top:42px}.orbit-2{width:390px;height:390px;right:35px;top:102px}.solar-house{position:absolute;bottom:75px;right:55px;width:400px;height:250px}.roof{position:absolute;width:290px;height:120px;right:20px;top:10px;background:#1d2d52;transform:skewY(-26deg);border:5px solid #dde3ee;box-shadow:0 16px 35px rgba(0,0,0,.25)}.panel-row{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;transform:skewY(26deg);padding:8px}.panel-row i{height:42px;background:linear-gradient(135deg,#315f79,#102d42);border:1px solid #67909a;display:block}.house-body{position:absolute;bottom:0;left:65px;width:270px;height:150px;background:#f2efe4;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%,0 18%);box-shadow:15px 20px 35px rgba(0,0,0,.2)}.window{position:absolute;width:75px;height:70px;background:#9cc0e6;left:45px;top:40px;border:7px solid #e9e6da}.door{position:absolute;width:55px;height:100px;background:#22396e;right:45px;bottom:0}.ground-light{position:absolute;bottom:-5px;left:20px;width:360px;height:30px;border-radius:50%;background:rgba(255,184,28,.35);filter:blur(15px)}.energy-badge,.floating-card{position:absolute;background:rgba(255,255,255,.93);color:var(--navy);border-radius:15px;box-shadow:0 18px 40px rgba(0,0,0,.16);backdrop-filter:blur(8px)}.energy-badge{top:130px;right:0;padding:12px 15px;display:flex;gap:10px;align-items:center}.energy-badge>span{background:var(--sun);width:35px;height:35px;border-radius:10px;display:grid;place-items:center}.energy-badge b{display:block;font-size:14px}.energy-badge small,.floating-card small{display:block;color:#6f7b96;font-size:9px}.floating-card{bottom:80px;left:5px;padding:12px 15px;display:flex;gap:10px;align-items:center}.mini-icon{width:32px;height:32px;border-radius:50%;background:#fff1d0;color:var(--blue);display:grid;place-items:center}.floating-card strong{font-size:13px}.scroll-hint{position:absolute;bottom:18px;left:5%;font-size:9px;letter-spacing:.15em;color:#8fa2cc}.scroll-hint span{margin-left:8px;color:var(--sun)}
.ticker{background:var(--sun);overflow:hidden;white-space:nowrap;padding:14px 0;color:var(--navy);font:800 12px var(--display);letter-spacing:.1em}.ticker-track{display:flex;width:max-content;gap:30px;animation:ticker 30s linear infinite}.ticker b{font-size:14px}
@keyframes ticker{to{transform:translateX(-50%)}}
.section{padding:110px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px}.section-heading h2,.section-head h2,.center-heading h2,.calc-copy h2{font:800 clamp(38px,5vw,60px)/1.02 var(--display);letter-spacing:-.065em;color:var(--navy)}.intro-copy{padding-top:38px;max-width:520px}.intro-copy p{font-size:19px;line-height:1.55}.intro-copy .muted{font-size:14px;color:var(--muted);margin-top:20px}.text-link{display:inline-block;margin-top:28px;color:var(--blue);font-size:13px;font-weight:800;border-bottom:1px solid var(--blue);padding-bottom:5px}.text-link span{margin-left:8px}
.solutions{background:#fff}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:55px}.section-head>p{max-width:350px;color:var(--muted);font-size:14px}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.solution-card{min-height:400px;border-radius:25px;padding:30px;position:relative;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.solution-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,18,52,.9),transparent 70%)}.solution-card>*{position:relative}.solution-card.home{background:linear-gradient(145deg,#6fb83a,#0c2a5e)}.solution-card.business{background:linear-gradient(145deg,#f5a623,#0c2461)}.solution-card.industry{background:linear-gradient(145deg,#3f6fc2,#0a1f52)}.card-number{position:absolute;top:24px;right:28px;font-size:11px;opacity:.65}.solution-icon{position:absolute;top:25px;left:30px;font-size:32px;color:var(--sun)}.solution-card h3{font:800 27px var(--display);margin-bottom:10px}.solution-card p{font-size:13px;color:#d8e1f3;max-width:300px}.solution-card a{margin-top:22px;color:var(--sun);font-weight:800;font-size:12px}
.products{background:var(--cream)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{background:#fff;border-radius:22px;overflow:hidden;border:1px solid var(--line);transition:.3s}.product-card:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(15,30,70,.1)}.product-art{height:245px;display:grid;place-items:center;overflow:hidden;position:relative}.panel-art{background:linear-gradient(135deg,#dbe5f5,#eef2fa)}.solar-panel{width:240px;height:160px;background:repeating-linear-gradient(90deg,transparent 0 38px,rgba(137,210,226,.35) 39px 40px),repeating-linear-gradient(0deg,transparent 0 38px,rgba(137,210,226,.35) 39px 40px),linear-gradient(135deg,#244b63,#0a2b43);transform:rotate(-18deg) skewY(4deg);border:7px solid #eef1f6;box-shadow:20px 20px 35px rgba(15,30,70,.2)}.inverter-art{background:linear-gradient(135deg,#e1e9f6,#faf5ea)}.inverter{width:110px;height:170px;background:linear-gradient(120deg,#1d2f57,#0c1a3a);border-radius:13px;box-shadow:15px 18px 25px rgba(0,0,0,.18);position:relative}.inverter:after{content:"SUNVEDA";position:absolute;top:28px;left:18px;color:var(--sun);font-weight:800;font-size:11px;letter-spacing:.1em}.inverter:before{content:"●  ●  ●";position:absolute;bottom:30px;left:18px;color:#9fb2d9;font-size:9px}.battery-art{background:linear-gradient(135deg,#e5f2dc,#f6f7ee)}.battery{display:flex;gap:5px;align-items:end}.battery i{display:block;width:60px;height:145px;border-radius:8px 8px 4px 4px;background:linear-gradient(90deg,#14244a,#3a4f7a);box-shadow:10px 13px 20px rgba(0,0,0,.15);position:relative}.battery i:after{content:"";position:absolute;top:-8px;left:15px;width:30px;height:8px;background:#22355e;border-radius:3px}.product-info{padding:24px}.product-info>span{font-size:9px;color:#6f7b96;letter-spacing:.13em;font-weight:800}.product-info h3{font:800 25px var(--display);color:var(--navy);margin:8px 0}.product-info p{font-size:12px;color:var(--muted);min-height:58px}.product-info a{font-size:12px;color:var(--blue);font-weight:800}
.calculator{background:var(--navy);color:#fff}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.calc-copy .eyebrow{color:#a5b5da}.calc-copy h2{color:#fff}.calc-copy>p{color:#b8c6e5;max-width:470px;margin:25px 0 18px}.calc-copy>small{font-size:10px;color:#7a8db8}.calc-box{background:#fff;color:var(--navy);border-radius:25px;padding:32px}.calc-box label{font-size:12px;font-weight:800}.range-wrap{margin:24px 0 28px}.range-wrap input{width:100%;accent-color:var(--blue)}output{display:block;font:800 36px var(--display);margin-top:8px}.calc-results{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:22px}.calc-results div{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.calc-results div:last-child{border:0}.calc-results span{font-size:11px;color:var(--muted)}.calc-results strong{font:800 17px var(--display);color:var(--blue)}.full{width:100%}
.process{background:#fff}.center-heading{text-align:center}.center-heading .eyebrow{justify-content:center}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px}.step{padding:0 22px;border-left:1px solid var(--line)}.step>span{color:var(--blue);font:800 13px var(--display)}.step-line{height:2px;background:linear-gradient(90deg,var(--sun),transparent);margin:18px 0 22px}.step h3{font:800 23px var(--display)}.step p{color:var(--muted);font-size:12px;margin-top:7px;max-width:190px}
.projects{background:#eef2fa}.project-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.project{background:#fff;border-radius:22px;overflow:hidden}.project.large{grid-row:span 2}.project-scene{height:300px;position:relative;overflow:hidden}.project.large .project-scene{height:620px}.scene-one{background:linear-gradient(#d6e6f7 0 55%,#8fc06a 55%)}.scene-two{background:linear-gradient(#e3e9f3 0 50%,#5a6b8c 50%)}.scene-three{background:linear-gradient(#cfe2f5 0 58%,#9cc46e 58%)}.p-house{position:absolute;bottom:50px;left:18%;width:58%;height:46%;background:#f2eee1;clip-path:polygon(15% 25%,50% 0,90% 25%,90% 100%,15% 100%)}.p-panels{position:absolute;bottom:170px;left:28%;width:40%;height:18%;background:repeating-linear-gradient(90deg,#183a4a 0 18px,#6c9ba2 19px 20px);transform:skewX(-28deg)}.factory{position:absolute;bottom:30px;left:10%;width:80%;height:45%;background:#dce2ee}.factory:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 65px,#8796b5 66px 70px)}.factory-panels{position:absolute;bottom:160px;left:20%;width:60%;height:22%;background:repeating-linear-gradient(90deg,#183d4c 0 25px,#5f929a 26px 28px);transform:skewX(-20deg)}.villa{position:absolute;bottom:25px;left:20%;width:60%;height:48%;background:#e9e4d6}.villa:before{content:"";position:absolute;left:-8%;top:-35%;width:115%;height:55%;background:#c9d5ea;clip-path:polygon(50% 0,100% 100%,0 100%)}.villa-panels{position:absolute;top:88px;left:30%;width:38%;height:45px;background:repeating-linear-gradient(90deg,#173d50 0 17px,#6495a0 18px 19px);transform:rotate(-3deg)}.project-label{padding:18px 22px}.project-label span{font-size:9px;color:#6f7b96;letter-spacing:.12em;font-weight:800}.project-label strong{display:block;font:800 18px var(--display);margin-top:5px}
.stats{background:var(--sun);padding:70px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{text-align:center;border-right:1px solid rgba(12,36,97,.18)}.stat:last-child{border:0}.stat strong{font:800 52px var(--display);letter-spacing:-.06em;color:var(--navy)}.stat>span{font:800 20px var(--display);color:var(--navy)}.stat p{font-size:11px;color:#3b2f0c}
.faq{background:#fff}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq .section-heading p{font-size:13px;color:var(--muted);margin-top:25px;max-width:340px}.faq-item{border-bottom:1px solid var(--line)}.faq-item button{width:100%;background:none;border:0;padding:21px 0;text-align:left;display:flex;justify-content:space-between;font:700 15px var(--display);color:var(--navy);cursor:pointer}.faq-item button span{font-size:20px;color:var(--blue);transition:.25s}.faq-answer{max-height:0;overflow:hidden;transition:.35s}.faq-answer p{font-size:12px;color:var(--muted);padding:0 35px 20px 0}.faq-item.active .faq-answer{max-height:120px}.faq-item.active button span{transform:rotate(45deg)}
.cta{background:var(--blue);color:#fff;position:relative;overflow:hidden;padding:100px 0}.cta-inner{display:grid;grid-template-columns:1fr .8fr;gap:100px;position:relative;z-index:1}.sun-big{position:absolute;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,rgba(255,184,28,.25),transparent 68%);left:-170px;top:-160px}.eyebrow.light{color:#a9badf}.cta-copy h2{font:800 clamp(45px,6vw,72px)/.98 var(--display);letter-spacing:-.06em}.cta-copy p{max-width:460px;color:#bccbe9;margin-top:22px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}.contact-form input,.contact-form select{width:100%;padding:16px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.09);color:#fff;outline:none}.contact-form input::placeholder{color:#a5b5da}.contact-form select option{color:#111}.contact-form button{grid-column:1/-1;margin-top:5px}.btn-light{background:#fff;color:var(--blue)}.form-note{grid-column:1/-1;font-size:11px;color:var(--sun)}
.whatsapp{position:fixed;right:22px;bottom:22px;width:53px;height:53px;background:#25d366;color:#fff;border-radius:50%;display:grid;place-items:center;font-size:25px;z-index:60;box-shadow:0 10px 25px rgba(0,0,0,.2)}
.reveal:not(.visible){opacity:0;transform:translateY(32px)}.reveal.visible{animation:revealUp .9s cubic-bezier(.2,.75,.25,1) var(--d,0s) backwards}
@media(max-width:900px){
 .topbar{font-size:9px}.header{height:70px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--cream);padding:20px 24px;flex-direction:column;align-items:stretch;gap:4px;box-shadow:0 15px 30px rgba(0,0,0,.08)}.nav.open{display:flex}.nav>a{padding:12px}.nav-cta{text-align:center}.hero-grid,.two-col,.calc-grid,.faq-grid,.cta-inner{grid-template-columns:1fr;gap:45px}.hero{min-height:auto}.hero-grid{padding-top:70px;padding-bottom:80px}.hero-visual{height:440px}.solar-house{transform:scale(.75);right:0}.sun{width:230px;height:230px;right:60px}.orbit-1{width:400px;height:400px}.orbit-2{width:300px;height:300px}.hero-trust{margin-top:42px}.section{padding:80px 0}.solution-grid,.product-grid{grid-template-columns:1fr}.section-head{display:block}.section-head>p{margin-top:20px}.steps{grid-template-columns:1fr 1fr;gap:35px}.project-grid{grid-template-columns:1fr}.project.large{grid-row:auto}.project.large .project-scene{height:400px}.stats-grid{grid-template-columns:1fr 1fr;gap:30px}.stat:nth-child(2){border:0}}
@media(max-width:560px){
 .container{width:min(100% - 30px,1160px)}.topbar{display:none}.hero h1{font-size:48px}.hero-text{font-size:15px}.hero-trust{gap:18px}.hero-trust strong{font-size:20px}.hero-trust span{font-size:8px}.hero-visual{height:390px}.solar-house{transform:scale(.6);right:-30px;bottom:20px}.energy-badge{right:0;top:45px}.floating-card{left:0;bottom:30px}.steps{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.stat strong{font-size:38px}.cta-inner{gap:35px}.contact-form{grid-template-columns:1fr}.contact-form button,.form-note{grid-column:auto}.scroll-hint{display:none}}

/* ===== Motion & polish ===== */
::selection{background:var(--sun);color:var(--navy)}
:focus-visible{outline:2px solid var(--sun);outline-offset:3px;border-radius:6px}
html{scroll-padding-top:90px}
body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:var(--cream)}body::-webkit-scrollbar-thumb{background:var(--blue);border-radius:10px;border:2px solid var(--cream)}

/* header + nav */
.header{transition:height .35s ease,box-shadow .35s ease,background .35s ease}
.header.scrolled{height:68px;background:rgba(251,248,241,.97);box-shadow:0 12px 30px rgba(12,36,97,.08)}
.logo-mark{transition:transform .6s cubic-bezier(.3,1.6,.5,1),box-shadow .3s}
.logo:hover .logo-mark{transform:rotate(180deg) scale(1.08);box-shadow:0 0 0 6px rgba(255,184,28,.35)}
.nav>a:not(.nav-cta){position:relative;padding:6px 0;transition:color .25s}
.nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--sun);transform:scaleX(0);transform-origin:right;transition:transform .35s ease}
.nav>a:not(.nav-cta):hover:after,.nav>a.active:after{transform:scaleX(1);transform-origin:left}
.nav>a.active{color:var(--blue)!important}
.nav-cta{transition:transform .25s,box-shadow .25s,background .25s}
.nav-cta:hover{background:var(--navy);transform:translateY(-2px);box-shadow:0 10px 22px rgba(20,80,168,.25)}
.menu-toggle{width:42px;height:42px;position:relative;cursor:pointer}
.menu-toggle span{position:absolute;left:10px;right:10px;height:2px;border-radius:2px;background:var(--blue);transition:transform .35s ease,opacity .2s}
.menu-toggle span:nth-child(1){top:14px}.menu-toggle span:nth-child(2){top:20px}.menu-toggle span:nth-child(3){top:26px}
.menu-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* buttons */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,background .3s,border-color .3s}
.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease}
.btn:hover:before{transform:translateX(120%)}
.btn>span{transition:transform .3s ease}
.btn:hover>span:not(.play){transform:translate(3px,-3px)}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,184,28,.6)}
.btn-ghost:hover .play{background:var(--sun);color:var(--navy);border-color:var(--sun)}
.play{transition:.3s;position:relative}
.play:after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(255,184,28,.6);animation:ring 2.4s ease-out infinite}
.btn-light:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.2)}
.text-link span{display:inline-block;transition:transform .3s}.text-link:hover span{transform:translateX(6px)}

/* hero */
.hero-bg{overflow:hidden}
.hero-bg:before,.hero-bg:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.hero-bg:before{width:620px;height:620px;left:-180px;bottom:-320px;background:radial-gradient(circle,rgba(255,184,28,.14),transparent 65%);animation:drift 18s ease-in-out infinite alternate}
.hero-bg:after{width:520px;height:520px;left:calc(var(--mx,70%) - 260px);top:calc(var(--my,35%) - 260px);background:radial-gradient(circle,rgba(247,147,30,.13),transparent 60%);transition:left .6s ease-out,top .6s ease-out}
.hero h1 em{background:linear-gradient(100deg,var(--sun) 20%,#fff1c2 40%,var(--sun) 60%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
.hero-copy.visible{animation:none}
.hero-copy.visible>*{animation:revealUp 1s cubic-bezier(.2,.75,.25,1) backwards}
.hero-copy.visible>:nth-child(2){animation-delay:.12s}.hero-copy.visible>:nth-child(3){animation-delay:.24s}.hero-copy.visible>:nth-child(4){animation-delay:.36s}.hero-copy.visible>:nth-child(5){animation-delay:.48s}
.hero .eyebrow span{animation:lineGrow 1s .3s cubic-bezier(.2,.75,.25,1) backwards}
.hero-trust>div{transition:transform .3s}.hero-trust>div:hover{transform:translateY(-4px)}
.hero-visual.visible{animation:revealScale 1.2s .2s cubic-bezier(.2,.75,.25,1) backwards}
.hero-visual>*{transition:translate .5s cubic-bezier(.2,.75,.25,1)}
.sun{animation:sunPulse 5s ease-in-out infinite}
.sun-rays{position:absolute;width:520px;height:520px;top:-20px;right:-35px;border-radius:50%;background:repeating-conic-gradient(rgba(255,214,102,.13) 0 4deg,transparent 4deg 15deg);-webkit-mask:radial-gradient(circle,transparent 30%,#000 32%,transparent 70%);mask:radial-gradient(circle,transparent 30%,#000 32%,transparent 70%);animation:spin 60s linear infinite}
.orbit:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--sun);top:50%;left:-5px;box-shadow:0 0 14px 3px rgba(255,184,28,.7)}
.orbit-1{animation:spin 36s linear infinite}
.orbit-2{animation:spin 24s linear infinite reverse}
.orbit-2:before{width:7px;height:7px;left:auto;right:-4px;top:30%;background:var(--orange);box-shadow:0 0 12px 3px rgba(247,147,30,.6)}
.particles{position:absolute;inset:0;pointer-events:none}
.particles i{position:absolute;bottom:60px;width:5px;height:5px;border-radius:50%;background:var(--sun);opacity:0;box-shadow:0 0 8px var(--sun);animation:floatUp 7s linear infinite}
.particles i:nth-child(1){left:22%}.particles i:nth-child(2){left:35%;animation-delay:1.4s;width:3px;height:3px}.particles i:nth-child(3){left:48%;animation-delay:2.8s}.particles i:nth-child(4){left:60%;animation-delay:.7s;width:4px;height:4px}.particles i:nth-child(5){left:72%;animation-delay:4.2s}.particles i:nth-child(6){left:84%;animation-delay:2.1s;width:3px;height:3px}.particles i:nth-child(7){left:30%;animation-delay:5.6s}.particles i:nth-child(8){left:55%;animation-delay:3.5s;width:3px;height:3px}.particles i:nth-child(9){left:66%;animation-delay:6.3s}.particles i:nth-child(10){left:90%;animation-delay:4.9s;width:4px;height:4px}
.panel-row i{position:relative;overflow:hidden}
.panel-row i:after{content:"";position:absolute;inset:-20%;background:linear-gradient(115deg,transparent 35%,rgba(200,240,255,.55) 50%,transparent 65%);transform:translateX(-130%);animation:panelGlint 5s ease-in-out infinite}
.panel-row i:nth-child(6n+2):after{animation-delay:.12s}.panel-row i:nth-child(6n+3):after{animation-delay:.24s}.panel-row i:nth-child(6n+4):after{animation-delay:.36s}.panel-row i:nth-child(6n+5):after{animation-delay:.48s}.panel-row i:nth-child(6n):after{animation-delay:.6s}
.window{animation:windowGlow 5s ease-in-out infinite}
.ground-light{animation:sunPulse 5s ease-in-out infinite}
.energy-badge{animation:bob 5s ease-in-out infinite}
.floating-card{animation:bob 6s ease-in-out -2s infinite}
.energy-badge>span{animation:zap 2.5s ease-in-out infinite}
.scroll-hint span{display:inline-block;animation:nudge 1.8s ease-in-out infinite}

/* ticker */
.ticker-track:hover{animation-play-state:paused}
.ticker b{display:inline-block;animation:spin 6s linear infinite}

/* headings */
.reveal.visible .eyebrow span,.eyebrow.reveal.visible span{animation:lineGrow .9s .25s cubic-bezier(.2,.75,.25,1) backwards}

/* solution cards */
.solution-card{background-size:150% 150%!important;background-position:0 0;transition:transform .5s cubic-bezier(.2,.75,.25,1),box-shadow .5s,background-position .8s ease}
.solution-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(380px circle at var(--x,50%) var(--y,30%),rgba(255,184,28,.22),transparent 45%);opacity:0;transition:opacity .4s}
.solution-card>*{z-index:1}
.solution-card:hover{transform:translateY(-10px);box-shadow:0 30px 60px rgba(12,36,97,.28);background-position:100% 100%}
.solution-card:hover:after{opacity:1}
.solution-icon{transition:transform .6s cubic-bezier(.3,1.6,.5,1)}
.solution-card:hover .solution-icon{transform:scale(1.25) rotate(-8deg)}
.solution-card a{display:inline-block;transition:transform .3s}
.solution-card:hover a{transform:translateX(6px)}

/* product cards */
.product-card{transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s,border-color .45s}
.product-card:hover{border-color:rgba(20,80,168,.25);box-shadow:0 26px 50px rgba(15,30,70,.13)}
.product-art>*{transition:transform .7s cubic-bezier(.2,.75,.25,1)}
.product-card:hover .solar-panel{transform:rotate(-12deg) skewY(4deg) scale(1.06)}
.product-card:hover .inverter,.product-card:hover .battery{transform:translateY(-6px) scale(1.06)}
.product-art:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,184,28,.55),transparent 70%);top:-60px;right:-50px;transition:transform .7s}
.product-card:hover .product-art:before{transform:scale(1.5)}
.solar-panel{position:relative;overflow:hidden}
.solar-panel:after{content:"";position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 40%,rgba(220,245,255,.45) 50%,transparent 60%);transform:translateX(-120%);animation:panelGlint 4.5s ease-in-out infinite}
.inverter:before{animation:blink 1.6s steps(1) infinite}
.battery i:before{content:"";position:absolute;left:7px;right:7px;bottom:7px;border-radius:4px;background:linear-gradient(0deg,var(--leaf),var(--leaf-light));box-shadow:0 0 14px rgba(140,198,63,.55);animation:charge 3.5s ease-in-out infinite}
.battery i:nth-child(2):before{animation-delay:.35s}.battery i:nth-child(3):before{animation-delay:.7s}
.product-info a{display:inline-block;transition:transform .3s}.product-card:hover .product-info a{transform:translateX(6px)}

/* calculator */
.calc-box{position:relative;isolation:isolate;box-shadow:0 30px 70px rgba(0,0,0,.25)}
.calc-box:before{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:27px;background:conic-gradient(from var(--a),var(--sun),transparent 30%,var(--orange),transparent 70%,var(--sun));animation:borderSpin 6s linear infinite;filter:blur(6px);opacity:.7}
.calc-box:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:25px;background:#fff}
.range-wrap input{-webkit-appearance:none;appearance:none;height:8px;border-radius:10px;background:linear-gradient(90deg,var(--blue) var(--fill,10%),#e2e7f1 var(--fill,10%));cursor:pointer}
.range-wrap input::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--sun);border:5px solid var(--blue);box-shadow:0 0 0 6px rgba(255,184,28,.3);transition:transform .2s,box-shadow .2s}
.range-wrap input:hover::-webkit-slider-thumb,.range-wrap input:active::-webkit-slider-thumb{transform:scale(1.15);box-shadow:0 0 0 10px rgba(255,184,28,.35)}
.range-wrap input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--sun);border:5px solid var(--blue);box-shadow:0 0 0 6px rgba(255,184,28,.3)}
.range-wrap input::-moz-range-track{height:8px;border-radius:10px;background:#e2e7f1}
.range-wrap input::-moz-range-progress{height:8px;border-radius:10px;background:var(--blue)}
output,.calc-results strong{display:inline-block}
output{display:block;transform-origin:left}
.bump{animation:bump .35s ease}
.calc-results div{transition:background .3s,padding .3s;border-radius:8px}
.calc-results div:hover{background:#f3f6fc;padding-left:10px;padding-right:10px}

/* process */
.step{transition:transform .4s}
.step:hover{transform:translateY(-6px)}
.step>span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--sun);background:#fff6e0;transition:background .35s,color .35s,transform .6s cubic-bezier(.3,1.6,.5,1)}
.step:hover>span{background:var(--blue);color:var(--sun);transform:rotate(360deg)}
.step-line{transform-origin:left;transform:scaleX(0);transition:transform 1s cubic-bezier(.2,.75,.25,1)}
.step.visible .step-line{transform:scaleX(1);transition-delay:calc(var(--d,0s) + .35s)}

/* projects */
.project{transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s}
.project:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(15,30,70,.14)}
.project-scene>*{transition:transform .9s cubic-bezier(.2,.75,.25,1)}
.project-scene:before{content:"";position:absolute;width:70px;height:70px;border-radius:50%;top:30px;right:40px;background:radial-gradient(circle,#fff1c2,var(--orange));box-shadow:0 0 40px 10px rgba(247,147,30,.4);transition:transform .9s cubic-bezier(.2,.75,.25,1)}
.project:hover .project-scene:before{transform:translate(-30px,12px) scale(1.15)}
.project:hover .project-scene>*{transform:scale(1.04)}
.project:hover .p-panels{transform:skewX(-28deg) scale(1.04)}
.project:hover .factory-panels{transform:skewX(-20deg) scale(1.04)}
.project:hover .villa-panels{transform:rotate(-3deg) scale(1.04)}
.project-label{position:relative}
.project-label:after{content:"↗";position:absolute;right:22px;top:50%;width:36px;height:36px;margin-top:-18px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--blue);font-weight:800;transition:background .3s,transform .4s}
.project:hover .project-label:after{background:var(--sun);transform:rotate(45deg)}

/* stats */
.stats{position:relative;overflow:hidden}
.stats:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.45),transparent 30%),radial-gradient(circle at 85% 40%,rgba(247,147,30,.25),transparent 30%);animation:drift 14s ease-in-out infinite alternate}
.stat{position:relative;transition:transform .35s}.stat:hover{transform:scale(1.06)}

/* faq */
.faq-answer{display:grid;grid-template-rows:0fr;max-height:none!important;transition:grid-template-rows .4s ease}
.faq-answer>p{min-height:0;padding-bottom:0!important;transition:padding .4s ease}
.faq-item.active .faq-answer>p{padding-bottom:20px!important}
.faq-item.active .faq-answer{grid-template-rows:1fr}
.faq-item button{align-items:center;gap:20px;transition:color .25s,padding .3s}
.faq-item button:hover{color:var(--blue);padding-left:8px}
.faq-item button span{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;border:1px solid var(--line);transition:transform .35s,background .3s,border-color .3s}
.faq-item.active button span{background:var(--sun);border-color:var(--sun)}

/* cta */
.sun-big{animation:sunPulse 7s ease-in-out infinite}
.contact-form input,.contact-form select{transition:border-color .3s,background .3s,box-shadow .3s}
.contact-form input:hover,.contact-form select:hover{border-color:rgba(255,255,255,.4)}
.contact-form input:focus,.contact-form select:focus{border-color:var(--sun);background:rgba(255,255,255,.13);box-shadow:0 0 0 4px rgba(255,184,28,.18)}
.form-note:not(:empty){animation:revealUp .5s ease}


/* whatsapp */
.whatsapp{transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.whatsapp:hover{transform:scale(1.1) rotate(-8deg)}
.whatsapp:before{content:"";position:absolute;inset:0;border-radius:50%;background:#25d366;z-index:-1;animation:ring 2.2s ease-out infinite}

/* keyframes */
@keyframes revealUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes revealScale{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes lineGrow{from{width:0}}
@keyframes shine{to{background-position:-250% 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes sunPulse{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.05);opacity:1}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes zap{0%,100%{box-shadow:0 0 0 0 rgba(255,184,28,.6)}50%{box-shadow:0 0 0 8px rgba(255,184,28,0)}}
@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes ring{from{transform:scale(1);opacity:.7}to{transform:scale(1.7);opacity:0}}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(80px,-60px)}}
@keyframes floatUp{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:.9}100%{transform:translateY(-380px) scale(1);opacity:0}}
@keyframes panelGlint{0%,55%{transform:translateX(-130%)}85%,100%{transform:translateX(130%)}}
@keyframes windowGlow{0%,100%{background:#9cc0e6}50%{background:#ffe9a8;box-shadow:0 0 25px rgba(247,147,30,.45)}}
@keyframes blink{0%{color:#9fb2d9;text-shadow:none}50%{color:var(--sun);text-shadow:0 0 8px var(--sun)}}
@keyframes charge{0%{height:12%;opacity:.75}60%,100%{height:calc(100% - 14px);opacity:1}}
@keyframes bump{50%{transform:scale(1.06)}}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes borderSpin{to{--a:360deg}}

@media(max-width:900px){
 .header.scrolled{height:62px}
 .nav{top:100%;display:flex;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s,transform .3s,visibility .3s}
 .nav.open{opacity:1;visibility:visible;transform:none}
 .nav>a:not(.nav-cta){padding:12px}.nav>a:not(.nav-cta):after{display:none}
 .sun-rays{width:400px;height:400px;top:0;right:-20px}
}
@media(hover:none){.solution-card:after{display:none}}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .reveal:not(.visible){opacity:1;transform:none}
}

/* ===== Multi-page ===== */
body{animation:pageIn .6s ease both}
body.leaving{opacity:0;transition:opacity .25s ease}
.nav>a.nav-cta.active{background:var(--navy);color:var(--sun)!important}

/* page banner */
.page-hero{position:relative;background:var(--blue);color:#fff;overflow:hidden;padding:110px 0 120px}
.page-hero .sun-rays{top:-140px;right:-60px}
.page-sun{position:absolute;width:240px;height:240px;border-radius:50%;top:-10px;right:80px;background:radial-gradient(circle,#ffe27a,#ffa41b);opacity:.9;animation:sunPulse 5s ease-in-out infinite}
.page-hero-inner{position:relative;z-index:1}
.page-hero .eyebrow{color:#b7c6e6}
.page-hero h1{font:800 clamp(44px,6vw,80px)/.98 var(--display);letter-spacing:-.07em;max-width:760px}
.page-hero h1 em{font-style:normal;background:linear-gradient(100deg,var(--sun) 20%,#fff1c2 40%,var(--sun) 60%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
.page-hero p{max-width:540px;color:#c9d4ec;font-size:17px;margin-top:24px}
.page-hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:50px;background:var(--curve,var(--cream));clip-path:ellipse(70% 100% at 50% 100%)}
.page-hero:has(+.solutions){--curve:#fff}.page-hero:has(+.gallery){--curve:#eef2fa}
.crumbs{display:flex;gap:10px;font-size:12px;font-weight:700;color:#8fa2cc;margin-bottom:28px}
.crumbs a{color:var(--sun);transition:opacity .2s}.crumbs a:hover{opacity:.7}
.page-hero-inner.visible>*{animation:revealUp 1s cubic-bezier(.2,.75,.25,1) backwards}
.page-hero-inner.visible{animation:none}
.page-hero-inner.visible>:nth-child(2){animation-delay:.1s}.page-hero-inner.visible>:nth-child(3){animation-delay:.2s}.page-hero-inner.visible>:nth-child(4){animation-delay:.3s}

/* "view all" links under home sections */
.view-all{display:flex;justify-content:center;margin-top:45px}
.btn-outline{border:1.5px solid var(--blue);color:var(--blue)}
.btn-outline:hover{background:var(--blue);color:#fff;transform:translateY(-3px);box-shadow:0 12px 25px rgba(20,80,168,.18)}

/* detail rows */
.detail-section{background:var(--cream);padding:90px 0}
.detail-section.alt{background:#fff}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.detail.flip .detail-art{order:2}
.detail-art{height:440px;border-radius:28px;overflow:hidden;position:relative;box-shadow:0 30px 60px rgba(15,30,70,.12);transition:transform .6s cubic-bezier(.2,.75,.25,1)}
.detail-art:hover{transform:scale(1.02)}
.detail-art .project-scene{height:100%}
.detail-art:hover .project-scene:before{transform:translate(-30px,12px) scale(1.15)}
.detail-art .solar-panel{width:300px;height:200px}
.detail-art .inverter{width:140px;height:215px}
.detail-art .battery i{width:75px;height:180px}
.detail-copy h2{font:800 clamp(36px,4.5vw,54px)/1.02 var(--display);letter-spacing:-.065em;color:var(--navy)}
.detail-copy h2 em{color:var(--blue);font-style:normal;background:linear-gradient(transparent 62%,rgba(255,184,28,.7) 62%)}
.detail-copy>p{color:var(--muted);margin:20px 0 4px;max-width:470px}
.feature-list{list-style:none;display:grid;gap:12px;margin:24px 0 32px}
.feature-list li{display:flex;align-items:center;gap:12px;font-weight:600;font-size:14px;transition:transform .3s}
.feature-list li:before{content:"✓";flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--leaf);color:#fff;font-size:12px;font-weight:800}
.feature-list li:hover{transform:translateX(6px)}
.spec-list{margin:24px 0 32px;border-top:1px solid var(--line)}
.spec-list div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);transition:padding .3s,background .3s}
.spec-list div:hover{padding-left:10px;padding-right:10px;background:rgba(255,184,28,.18)}
.spec-list dt{font-size:12px;color:var(--muted)}
.spec-list dd{font:800 14px var(--display);color:var(--navy);text-align:right}

/* project gallery */
.gallery{background:#eef2fa}
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:45px}
.chip{border:1px solid var(--line);background:#fff;color:var(--navy);padding:11px 22px;border-radius:30px;font-weight:700;font-size:13px;cursor:pointer;transition:background .3s,color .3s,transform .3s,box-shadow .3s}
.chip:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(15,30,70,.08)}
.chip.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.project-gallery .project.hide{display:none}
.project-gallery .project.pop{animation:revealScale .5s cubic-bezier(.2,.75,.25,1)}
.project-scene.alt{filter:hue-rotate(-18deg) saturate(1.15)}
.gallery-note{text-align:center;font-size:11px;color:var(--muted);margin-top:30px}

/* values */
.values{background:#fff}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:55px}
.value-card{background:var(--cream);border-radius:22px;padding:30px 26px;border:1px solid transparent;transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s,border-color .45s,background .45s}
.value-card:hover{transform:translateY(-8px);background:#fff;border-color:var(--line);box-shadow:0 24px 45px rgba(15,30,70,.1)}
.value-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--blue);color:var(--sun);font-size:24px;margin-bottom:24px;transition:transform .6s cubic-bezier(.3,1.6,.5,1)}
.value-card:hover .value-icon{transform:rotate(-10deg) scale(1.1)}
.value-card h3{font:800 20px var(--display);color:var(--navy);margin-bottom:8px}
.value-card p{font-size:13px;color:var(--muted)}

/* contact */
.contact-info{background:var(--cream);padding:70px 0}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.info-card{background:#fff;border-radius:20px;padding:26px;border:1px solid var(--line);display:flex;flex-direction:column;gap:4px;transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s,border-color .45s}
.info-card:hover{transform:translateY(-6px);border-color:rgba(20,80,168,.25);box-shadow:0 22px 40px rgba(15,30,70,.1)}
.info-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--sun);color:var(--navy);font-size:20px;margin-bottom:14px;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.info-card:hover .info-icon{transform:scale(1.12) rotate(-12deg)}
.info-card small{font-size:11px;color:var(--muted);letter-spacing:.06em;font-weight:700}
.info-card strong{font:800 16px var(--display);color:var(--navy)}

/* CTA band (links to contact page) */
.cta-actions{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px}
.cta-actions .btn{min-width:280px}

@keyframes pageIn{from{opacity:0}to{opacity:1}}

@media(max-width:900px){
 .page-hero{padding:80px 0 100px}.page-sun{width:170px;height:170px;right:-30px;top:-30px}
 .detail{grid-template-columns:1fr;gap:40px}.detail.flip .detail-art{order:0}.detail-art{height:340px}
 .project-gallery{grid-template-columns:1fr 1fr}.values-grid,.info-grid{grid-template-columns:1fr 1fr}
 .detail-section{padding:70px 0}
}
@media(max-width:560px){
 .page-hero h1{font-size:44px}.page-hero p{font-size:15px}
 .project-gallery,.values-grid,.info-grid{grid-template-columns:1fr}
 .detail-art{height:280px}.detail-art .solar-panel{width:220px;height:150px}
 .cta-actions .btn{min-width:0;width:100%}
}
@media(prefers-reduced-motion:reduce){body.leaving{opacity:1}}

/* ===== Brand (from the SunVeda logo) ===== */
.logo{gap:10px}
.logo img.logo-mark{width:62px;height:auto;border-radius:0;background:none;display:block;filter:drop-shadow(0 4px 8px rgba(247,147,30,.18))}
.logo:hover img.logo-mark{transform:scale(1.08) rotate(-4deg);box-shadow:none}
.logo-word{font:800 25px/1 var(--display);letter-spacing:-.03em;color:var(--navy)}
.logo-word b{font-weight:800;background:linear-gradient(180deg,var(--sun),var(--orange) 55%,var(--flame));-webkit-background-clip:text;background-clip:text;color:transparent}
.logo .logo-word small{font:700 7.5px var(--font);letter-spacing:.24em;color:var(--leaf);margin-top:5px}
.footer-logo .logo-word{color:#fff}
.footer-logo img.logo-mark{filter:drop-shadow(0 0 14px rgba(255,184,28,.25))}
.section-heading em,.section-head em,.center-heading em{background:linear-gradient(90deg,var(--orange),var(--flame));-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow span{background:linear-gradient(90deg,var(--orange),var(--sun))}
.stats{background:linear-gradient(100deg,var(--sun),var(--orange))}
.ticker{background:linear-gradient(90deg,var(--sun),var(--orange),var(--sun))}
.btn-primary{background:linear-gradient(135deg,var(--sun),var(--orange));color:var(--navy)}
.btn-primary:hover{box-shadow:0 14px 28px rgba(247,147,30,.35)}
.step>span{color:var(--blue)}
.value-icon{background:linear-gradient(135deg,var(--blue),var(--navy))}
.info-icon{background:linear-gradient(135deg,var(--sun),var(--orange))}
.chip.active{background:var(--blue);border-color:var(--blue)}
@media(max-width:560px){.logo img.logo-mark{width:50px}.logo-word{font-size:21px}}

/* ===== Solution photos ===== */
.solution-card>.solution-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform 1s cubic-bezier(.2,.75,.25,1),filter .6s}
.solution-card:before{z-index:1;background:linear-gradient(0deg,rgba(6,18,52,.95) 8%,rgba(6,18,52,.55) 48%,rgba(6,18,52,.08) 80%)}
.solution-card:after{z-index:1}
.solution-card>:not(.solution-photo){z-index:2}
.solution-card:hover>.solution-photo{transform:scale(1.08)}
.solution-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:26px;background:rgba(12,36,97,.55);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18)}
.card-number{padding:5px 10px;border-radius:20px;background:rgba(12,36,97,.5);backdrop-filter:blur(8px);opacity:1}
.solution-card p{color:#e1e8f7}
.detail-photo{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.2,.75,.25,1)}
.detail-art:hover .detail-photo{transform:scale(1.06)}
.detail-art:has(.detail-photo):hover{transform:none}
.photo-tag{position:absolute;left:20px;bottom:20px;padding:9px 16px;border-radius:30px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);color:var(--navy);font:800 12px var(--display);box-shadow:0 10px 25px rgba(0,0,0,.15)}
.photo-tag:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--leaf);margin-right:8px;vertical-align:1px;box-shadow:0 0 0 4px rgba(63,155,31,.2)}
.photo-credits{font-size:11px;color:var(--muted);text-align:right;padding:0 0 20px}
.photo-credits a{text-decoration:underline}

/* ===== Footer ===== */
.site-footer{position:relative;overflow:hidden;background:linear-gradient(180deg,#0b1f52,#06122f 70%);color:#b5c2e0}
.site-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--sun),var(--orange),var(--leaf-light),var(--leaf),var(--blue),var(--sun));background-size:200% 100%;animation:shine 10s linear infinite}
.footer-glow{position:absolute;width:520px;height:520px;right:-160px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(255,184,28,.22),transparent 65%);animation:sunPulse 8s ease-in-out infinite;pointer-events:none}
.site-footer .container{position:relative;z-index:1}
.footer-contact{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:16px;align-items:center;padding:38px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.fc-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);transition:transform .4s cubic-bezier(.2,.75,.25,1),background .3s,border-color .3s}
.fc-item:hover{transform:translateY(-4px);background:rgba(255,255,255,.07);border-color:rgba(255,184,28,.4)}
.fc-icon{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:19px;color:var(--navy);background:linear-gradient(135deg,var(--sun),var(--orange));transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.fc-item:hover .fc-icon{transform:rotate(-12deg) scale(1.08)}
.fc-item small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7c8fbb;font-weight:700}
.fc-item strong{display:block;color:#fff;font:700 14px var(--display)}
.fc-cta{white-space:nowrap}
.footer-main{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:50px;padding:60px 0 30px}
.footer-logo .logo-word{color:#fff}
.footer-logo img.logo-mark{filter:drop-shadow(0 0 14px rgba(255,184,28,.25))}
.footer-tagline{font:800 24px/1.2 var(--display);letter-spacing:-.03em;color:#fff;margin:24px 0 12px}
.footer-tagline em{font-style:normal;background:linear-gradient(90deg,var(--sun),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.footer-brand>p:last-child{font-size:13px;line-height:1.7;max-width:340px}
.footer-col{display:flex;flex-direction:column;align-items:flex-start}
.footer-col h4{position:relative;font:800 12px var(--display);letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:20px;padding-bottom:12px}
.footer-col h4:after{content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--sun),var(--orange))}
.footer-col a{position:relative;font-size:14px;padding:6px 0;color:#b5c2e0;transition:color .25s,transform .3s}
.footer-col a:before{content:"";position:absolute;left:-14px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--sun);transform:scale(0);transition:transform .3s}
.footer-col a:hover{color:#fff;transform:translateX(14px)}
.footer-col a:hover:before{transform:scale(1)}
.footer-word{font:800 clamp(80px,17vw,235px)/.82 var(--display);letter-spacing:-.065em;text-align:center;margin:10px 0 -.06em;user-select:none;pointer-events:none;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);background:linear-gradient(90deg,rgba(255,255,255,.035) 35%,rgba(255,184,28,.28) 50%,rgba(255,255,255,.035) 65%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:shine 9s linear infinite}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0 26px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#7c8fbb}
.to-top{order:1}.footer-made{order:2}
.footer-made a{color:#fff;font-weight:700;background:linear-gradient(90deg,var(--sun),var(--orange)) 0 100%/0 2px no-repeat;padding-bottom:2px;transition:color .25s,background-size .35s}
.footer-made a:hover{color:var(--sun);background-size:100% 2px}
.to-top{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:#fff;font-size:17px;cursor:pointer;transition:background .3s,color .3s,transform .3s,border-color .3s}
.to-top:hover{background:var(--sun);border-color:var(--sun);color:var(--navy);transform:translateY(-4px)}
@media(max-width:900px){
 .footer-contact{grid-template-columns:1fr 1fr}.fc-cta{grid-column:1/-1}
 .footer-main{grid-template-columns:1fr 1fr 1fr;gap:36px}.footer-brand{grid-column:1/-1}
}
@media(max-width:560px){
 .footer-contact{grid-template-columns:1fr}
 .footer-main{grid-template-columns:1fr 1fr;padding-top:45px}
 .footer-bottom{flex-direction:column;text-align:center;gap:12px}
}

/* ===== Home consultation section ===== */
.lead{background:linear-gradient(180deg,var(--cream),#eef2fa)}
.lead-card{display:grid;grid-template-columns:.95fr 1.05fr;border-radius:32px;overflow:hidden;background:#fff;box-shadow:0 40px 90px rgba(12,36,97,.16)}
.lead-info{position:relative;overflow:hidden;padding:56px 50px;color:#fff;background:radial-gradient(circle at 100% 0,rgba(255,184,28,.28),transparent 45%),linear-gradient(150deg,var(--blue),var(--navy) 70%)}
.lead-info>*{position:relative}
.lead-rays{position:absolute!important;width:460px;height:460px;right:-200px;top:-200px;border-radius:50%;background:repeating-conic-gradient(rgba(255,214,102,.16) 0 4deg,transparent 4deg 15deg);-webkit-mask:radial-gradient(circle,transparent 22%,#000 24%,transparent 70%);mask:radial-gradient(circle,transparent 22%,#000 24%,transparent 70%);animation:spin 50s linear infinite}
.lead-info h2{font:800 clamp(40px,4.6vw,60px)/1 var(--display);letter-spacing:-.06em}
.lead-info h2 em{font-style:normal;background:linear-gradient(90deg,var(--sun),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead-info>p{color:#c9d4ec;margin:20px 0 30px;max-width:420px}
.lead-perks{list-style:none;display:grid;gap:14px}
.lead-perks li{display:flex;gap:16px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);transition:transform .35s,background .35s}
.lead-perks li:hover{transform:translateX(6px);background:rgba(255,255,255,.1)}
.lead-perks b{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font:800 12px var(--display);color:var(--navy);background:linear-gradient(135deg,var(--sun),var(--orange))}
.lead-perks span{font-size:13px;color:#b8c6e5;line-height:1.45}
.lead-perks strong{display:block;color:#fff;font:700 15px var(--display);margin-bottom:2px}
.lead-direct{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.lead-direct a{display:inline-flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:30px;border:1px solid rgba(255,255,255,.2);font-weight:700;font-size:13px;transition:background .3s,border-color .3s,transform .3s}
.lead-direct a span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12)}
.lead-direct a:hover{background:rgba(255,255,255,.1);border-color:var(--sun);transform:translateY(-2px)}
.lead-form-wrap{position:relative;padding:50px}
.lead-form h3,.lead-success h3{font:800 28px var(--display);letter-spacing:-.04em;color:var(--navy)}
.lead-sub{font-size:13px;color:var(--muted);margin:2px 0 24px}
.type-picker{border:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.type-picker legend{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:10px}
.type-picker input{position:absolute;opacity:0;pointer-events:none}
.type-picker span{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-radius:16px;border:1.5px solid var(--line);font:700 13px var(--display);color:var(--navy);cursor:pointer;transition:border-color .25s,background .25s,transform .25s,box-shadow .25s}
.type-picker i{font-style:normal;font-size:20px;color:var(--blue);transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.type-picker span:hover{border-color:rgba(20,80,168,.4);transform:translateY(-2px)}
.type-picker input:checked+span{border-color:var(--orange);background:#fff7e8;box-shadow:0 10px 22px rgba(247,147,30,.18)}
.type-picker input:checked+span i{transform:scale(1.2);color:var(--orange)}
.type-picker input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{position:relative;margin-bottom:12px}
.field input,.field select,.field textarea{width:100%;padding:24px 16px 9px;border-radius:14px;border:1.5px solid var(--line);background:#f8f9fc;color:var(--ink);font-size:14px;outline:none;resize:vertical;transition:border-color .25s,background .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}
.field label{position:absolute;left:17px;top:17px;font-size:14px;color:var(--muted);pointer-events:none;transform-origin:left top;transition:transform .2s ease,color .2s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(20,80,168,.1)}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label,.field select:focus+label,.field select:valid+label{transform:translateY(-9px) scale(.78);color:var(--blue);font-weight:700}
.field.invalid input,.field.invalid select{border-color:#d93025;background:#fff6f5}
.field.invalid label{color:#d93025}
.lead-form .btn{margin-top:6px;padding:17px 22px;font-size:14px}
.lead-privacy{font-size:11px;color:var(--muted);text-align:center;margin-top:14px}
.lead-success{position:absolute;inset:0;padding:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;opacity:0;visibility:hidden;transform:scale(.96);transition:opacity .4s,transform .4s,visibility .4s}
.lead-success p{color:var(--muted);max-width:330px;margin-bottom:14px}
.lead-form{transition:opacity .35s,transform .35s}
.lead-form-wrap.sent .lead-form{opacity:0;transform:translateY(-12px);pointer-events:none}
.lead-form-wrap.sent .lead-success{opacity:1;visibility:visible;transform:none}
.success-check svg{width:86px;height:86px;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.success-check circle{stroke:var(--leaf);stroke-dasharray:151;stroke-dashoffset:151;fill:rgba(63,155,31,.08)}
.success-check path{stroke:var(--leaf);stroke-dasharray:36;stroke-dashoffset:36}
.sent .success-check circle{animation:draw .7s .1s ease forwards}
.sent .success-check path{animation:draw .45s .7s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.shake{animation:shake .4s ease}
@media(max-width:900px){.lead-card{grid-template-columns:1fr}.lead-info,.lead-form-wrap{padding:40px 30px}}
@media(max-width:560px){.lead-info,.lead-form-wrap{padding:32px 20px}.field-row{grid-template-columns:1fr;gap:0}.type-picker{gap:8px}.lead-card{border-radius:24px}}

/* ===== Effects layer (effects.js) ===== */
/* split headings */
.split .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .05em .14em;margin:0 -.05em -.14em}
.split .wi{display:inline-block;transform:translateY(110%) rotate(4deg);transform-origin:left bottom;transition:transform 1.05s cubic-bezier(.2,.75,.25,1);transition-delay:calc(var(--i)*70ms)}
.split.in .wi{transform:none}
/* header tucks away while scrolling down */
.header{transition:height .35s ease,box-shadow .35s ease,background .35s ease,transform .45s cubic-bezier(.2,.75,.25,1)}
.header.tuck{transform:translateY(-100%);box-shadow:none}
/* photo reveal + parallax room */
@keyframes imgReveal{from{clip-path:inset(100% 0 0 0);transform:scale(1.25)}to{clip-path:inset(0 0 0 0);transform:scale(1)}}
.detail-art{position:relative}
.detail-photo{position:absolute;left:0;top:-7%;height:114%}
.solution-card>.solution-photo{top:-7%;bottom:auto;height:114%}
.detail-art.visible .detail-photo,.solution-card.visible>.solution-photo,.project.visible .project-scene{animation:imgReveal 1.4s cubic-bezier(.7,0,.2,1) .15s backwards}
/* ripple */
.chip,.type-picker span{position:relative;overflow:hidden}
.ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.22;transform:scale(0);pointer-events:none;animation:ripple .65s ease-out forwards}
@keyframes ripple{to{transform:scale(1);opacity:0}}
/* sparks in dark banners */
.page-hero .particles,.cta-band .particles{z-index:0}
.lead-info>.particles{position:absolute}
.page-hero .particles i,.cta-band .particles i,.lead-info .particles i{bottom:-10px;background:var(--sun);box-shadow:0 0 10px var(--sun)}
/* hero energy flow */
.energy-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.energy-lines path{fill:none;stroke:var(--sun);stroke-width:2;stroke-linecap:round;stroke-dasharray:4 9;opacity:.75;animation:flow 1.2s linear infinite;filter:drop-shadow(0 0 4px rgba(255,184,28,.8))}
.energy-lines circle{fill:#fff3c4;filter:drop-shadow(0 0 6px var(--sun))}
.energy-badge,.floating-card{z-index:2}
@keyframes flow{to{stroke-dashoffset:-26}}
/* tilt cards */
.tilt{position:relative;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform}
.tilt.tilt:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-8px)}
.tilt:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.28),transparent 50%);opacity:0;transition:opacity .35s}
.tilt:hover:after{opacity:1}
/* magnetic buttons glide back smoothly */
.btn-primary,.btn-light,.nav-cta,.to-top,.whatsapp{transition-property:transform,box-shadow,background,border-color,color,translate;translate:0 0}
.btn-primary,.btn-light,.nav-cta,.to-top,.whatsapp{transition-duration:.3s}
@media(max-width:900px){.energy-lines{display:none}}

/* ---------- real photos in product & project cards ---------- */
.art-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.2,.75,.25,1)}
.product-card:hover .art-photo,.project:hover .art-photo{transform:scale(1.06)}
.product-art:has(.art-photo):before,.project-scene:has(.art-photo):before{display:none}
.project-scene:has(.art-photo):after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 60%,rgba(12,36,97,.25))}

/* quick facts under each card */
.card-facts{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.card-facts li{font-size:11px;font-weight:700;color:var(--navy);background:#eef2fa;border-radius:20px;padding:4px 10px}
.solution-card .card-facts li{background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(6px)}
.project-label p{font-size:12px;color:var(--muted);margin-top:6px;padding-right:44px}

/* link + enquiry button pair */
.card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.enquire-btn{border:0;cursor:pointer;font:800 12px var(--font);padding:9px 15px;border-radius:30px;background:linear-gradient(135deg,var(--sun),var(--orange));color:var(--navy);transition:transform .3s,box-shadow .3s}
.enquire-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(247,147,30,.3)}
.project{cursor:pointer}

/* ---------- enquiry dialog ---------- */
body.modal-open{overflow:hidden}
.enquiry{border:0;padding:0;margin:auto;width:min(940px,calc(100% - 32px));max-height:calc(100dvh - 32px);border-radius:28px;background:#fff;color:var(--ink);box-shadow:0 40px 90px rgba(5,15,45,.35);overflow:auto}
.enquiry::backdrop{background:rgba(8,20,55,.6);backdrop-filter:blur(4px)}
.enquiry[open]{animation:enqIn .45s cubic-bezier(.2,.75,.25,1)}
@keyframes enqIn{from{opacity:0;transform:translateY(24px) scale(.97)}}
.enq-close{position:absolute;top:14px;right:14px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--navy);font-size:15px;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.12);transition:transform .3s}
.enq-close:hover{transform:rotate(90deg)}
.enq-grid{display:grid;grid-template-columns:1fr 1fr}
.enq-info{background:var(--navy);color:#dbe4f7;display:flex;flex-direction:column}
.enq-img{width:100%;height:210px;object-fit:cover;display:block}
.enq-body{padding:26px 30px 30px}
.enq-tag{font-size:10px;letter-spacing:.15em;font-weight:800;color:var(--sun)}
.enq-heading{font:800 24px/1.15 var(--display);color:#fff;margin:6px 0 10px;letter-spacing:-.03em}
.enq-text{font-size:13px;line-height:1.6;color:#c4d0ea}
.enq-points{list-style:none;display:grid;gap:8px;margin:16px 0}
.enq-points li{display:flex;gap:10px;font-size:13px;font-weight:600;color:#fff}
.enq-points li:before{content:"✓";flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--leaf);font-size:10px;font-weight:800}
.enq-note{font-size:10px;color:#8fa2cc}
.enq-form-wrap{padding:44px 36px 30px}
.enq-form h3{font-size:24px}
.enq-error{font-size:12px;color:#d93025;text-align:center;margin-top:10px}
.enq-error:empty{display:none}
.enq-error a{text-decoration:underline;font-weight:700}
.btn.loading{pointer-events:none;opacity:.75}
.btn.loading span{animation:spin 1s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.enq-grid{grid-template-columns:1fr}.enq-img{height:150px}.enq-body{padding:20px 22px}.enq-points{display:none}.enq-form-wrap{padding:26px 22px}.enquiry{border-radius:22px}}

/* ---------- home page WhatsApp assistant ---------- */
.wa-bot{position:fixed;right:22px;bottom:22px;z-index:70;font-family:var(--font)}
.wa-toggle{width:60px;height:60px;border-radius:50%;border:0;background:#25d366;color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.25);position:relative;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.wa-toggle:hover{transform:scale(1.08)}
.wa-toggle:before{content:"";position:absolute;inset:0;border-radius:50%;background:#25d366;z-index:-1;animation:ring 2.2s ease-out infinite}
.wa-toggle .wa-x{display:none;font-size:22px}
.wa-bot.open .wa-toggle svg{display:none}.wa-bot.open .wa-toggle .wa-x{display:block}.wa-bot.open .wa-toggle:before{animation:none}
.wa-badge{position:absolute;top:-2px;right:-2px;width:20px;height:20px;border-radius:50%;background:#e8590c;color:#fff;font:800 11px/20px var(--font);text-align:center;box-shadow:0 0 0 3px #fff}
.wa-bot.open .wa-badge{display:none}
.wa-bubble{position:absolute;right:72px;bottom:10px;white-space:nowrap;background:#fff;color:var(--navy);font-size:13px;font-weight:700;padding:10px 14px;border-radius:16px 16px 4px 16px;box-shadow:0 12px 28px rgba(0,0,0,.15);opacity:0;transform:translateX(10px);pointer-events:none;transition:.4s}
.wa-bot.nudge:not(.open) .wa-bubble{opacity:1;transform:none}
.wa-panel{position:absolute;right:0;bottom:76px;width:350px;max-width:calc(100vw - 32px);height:min(520px,calc(100dvh - 120px));display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#efeae2;box-shadow:0 30px 60px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(16px) scale(.96);transform-origin:bottom right;transition:opacity .3s,transform .3s,visibility .3s}
.wa-bot.open .wa-panel{opacity:1;visibility:visible;transform:none}
.wa-head{background:#075e54;color:#fff;display:flex;align-items:center;gap:12px;padding:14px 16px}
.wa-avatar{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden;flex:none}
.wa-avatar img{width:34px}
.wa-head b{display:block;font-size:15px}.wa-head small{font-size:11px;color:#c7f0dc}
.wa-head small:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#4ce08a;margin-right:6px}
.wa-close{margin-left:auto;background:none;border:0;color:#fff;font-size:18px;cursor:pointer;opacity:.8}
.wa-log{flex:1;overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;gap:8px}
.wa-msg{max-width:85%;font-size:13px;line-height:1.5;padding:8px 12px;border-radius:12px;box-shadow:0 1px 1px rgba(0,0,0,.08);animation:msgIn .3s ease}
.wa-msg.bot{background:#fff;align-self:flex-start;border-top-left-radius:2px}
.wa-msg.me{background:#d9fdd3;align-self:flex-end;border-top-right-radius:2px}
@keyframes msgIn{from{opacity:0;transform:translateY(6px)}}
.wa-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.wa-actions a,.wa-actions button{font:700 12px var(--font);padding:6px 11px;border-radius:16px;border:0;cursor:pointer}
.wa-actions a{background:#25d366;color:#fff}.wa-actions button{background:#eef2fa;color:var(--blue)}
.wa-typing{display:inline-flex;gap:4px}.wa-typing i{width:6px;height:6px;border-radius:50%;background:#9aa5b8;animation:typing 1s infinite}
.wa-typing i:nth-child(2){animation-delay:.15s}.wa-typing i:nth-child(3){animation-delay:.3s}
@keyframes typing{50%{transform:translateY(-4px);opacity:.5}}
.wa-chips{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;background:#efeae2;scrollbar-width:none}
.wa-chips button{flex:none;font:700 12px var(--font);padding:7px 12px;border-radius:16px;border:1px solid #25d366;background:#fff;color:#075e54;cursor:pointer}
.wa-chips button:hover{background:#25d366;color:#fff}
.wa-input{display:flex;gap:8px;padding:10px;background:#f0f2f5}
.wa-input input{flex:1;border:0;border-radius:20px;padding:10px 14px;font-size:13px;outline:none;min-width:0}
.wa-input button{width:40px;height:40px;border-radius:50%;border:0;background:#25d366;color:#fff;cursor:pointer;font-size:16px;flex:none}
@media(max-width:560px){.wa-bot{right:14px;bottom:14px}.wa-bubble{display:none}}
@media(prefers-reduced-motion:reduce){.wa-toggle:before{animation:none}}

/* wide photo band on about & contact */
.photo-band{height:380px;margin-top:60px}
@media(max-width:560px){.photo-band{height:240px;margin-top:40px}}
