@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

:root { --navy:#06243a; --navy-2:#0a3851; --teal:#0a7e91; --aqua:#61d7d0; --lime:#d8f576; --ink:#092b3d; --muted:#66818b; --paper:#f4f7f4; --line:#cbdad5; --display:'Playfair Display', Georgia, serif; --body:'Manrope','Segoe UI',Arial,sans-serif; --mono:'DM Mono',monospace; --header:118px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:var(--ink); background:var(--paper); font:500 14px/1.6 var(--body); }
a { color:inherit; } img { display:block; max-width:100%; } button,input,select,textarea { font:inherit; } button { cursor:pointer; }.container { width:min(1200px, calc(100% - 48px)); margin:0 auto; }

/* Header */
.site-header { position:fixed; z-index:50; top:0; left:0; width:100%; height:var(--header); color:#f5fffb; background:rgba(6,36,58,.98); border-bottom:1px solid rgba(169,231,224,.22); }.header-inner { display:flex; height:100%; align-items:center; justify-content:space-between; gap:26px; }.brand { display:block; flex:0 0 auto; }.site-logo { width:auto; height:117px; object-fit:contain; }.nav ul { display:flex; gap:31px; align-items:center; margin:0; padding:0; list-style:none; }.nav a { position:relative; display:block; padding:9px 0; color:#d2e5e6; font-size:12px; font-weight:800; text-decoration:none; }.nav a::after { content:''; position:absolute; right:0; bottom:0; left:0; height:2px; background:var(--lime); transform:scaleX(0); transform-origin:left; }.nav a:hover,.nav a.active { color:#fff; }.nav a:hover::after,.nav a.active::after { transform:scaleX(1); }.header-actions { display:flex; align-items:center; gap:12px; }.btn-primary,.btn-outline,.btn-ghost { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:0 17px; border-radius:3px; font-size:11px; font-weight:800; text-decoration:none; }.btn-primary { border:1px solid var(--lime); color:#082737; background:var(--lime); }.btn-primary:hover { background:#ebffa9; }.btn-outline { border:1px solid rgba(231,255,251,.5); color:#f2fffc; background:transparent; }.btn-outline:hover { color:var(--navy); background:#f2fffc; }.btn-ghost { border:1px solid #9eb5b5; color:var(--ink); background:transparent; }.btn-ghost:hover,.btn-ghost.selected { color:#fff; border-color:var(--teal); background:var(--teal); }.nav-toggle { display:none; width:39px; height:39px; padding:8px; border:1px solid rgba(235,255,251,.5); border-radius:3px; color:#fff; background:transparent; }.nav-toggle span { display:block; width:20px; height:2px; margin:4px auto; background:currentColor; }.nav-toggle.open span:nth-child(1) { transform:translateY(6px) rotate(45deg); }.nav-toggle.open span:nth-child(2) { opacity:0; }.nav-toggle.open span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

/* Home */
.hero { position:relative; overflow:hidden; padding:178px 0 70px; color:#f3fffc; background:linear-gradient(128deg,#051d31,#0a3c55 63%,#0b4d60); }.hero::before { content:''; position:absolute; inset:0; opacity:.13; background-image:linear-gradient(rgba(179,246,239,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(179,246,239,.4) 1px,transparent 1px); background-size:72px 72px; }.hero-lines,.page-glow { display:none; }.hero-inner { position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:50px; min-height:485px; }.eyebrow { display:inline-flex; align-items:center; gap:8px; color:#16879c; font:500 10px var(--mono); letter-spacing:.12em; }.hero-eyebrow { color:#c4e9e7; }.live-dot { width:7px; height:7px; border-radius:50%; background:var(--lime); }.hero h1,.section-heading h2,.impact-content h2,.cta-inner h2 { margin:15px 0; font:700 clamp(3rem,5.1vw,5.2rem)/.96 var(--display); letter-spacing:-.06em; }.hero h1 em,.hero em,.impact em,.cta-inner em { color:var(--lime); font-style:italic; }.hero-copy>p { max-width:570px; margin:0; color:#b4cbd0; font-size:15px; }.hero-actions { display:flex; align-items:center; gap:19px; margin-top:28px; }.text-link { display:inline-flex; align-items:center; gap:8px; color:inherit; font-size:11px; font-weight:800; text-decoration:none; }.text-link i { display:grid; width:22px; height:22px; place-items:center; border:1px solid currentColor; border-radius:50%; font-style:normal; }.trust-row { display:flex; gap:12px; align-items:center; margin-top:43px; }.avatars { display:flex; }.avatars span { display:grid; width:25px; height:25px; margin-left:-6px; place-items:center; border:1px solid #174f62; border-radius:50%; color:#ddffef; background:#11627b; font:700 9px var(--mono); }.avatars span:nth-child(2){background:#287c85}.avatars span:nth-child(3){background:#5d8f64}.trust-row p { margin:0; color:#aec9cf; font-size:10px; }.trust-row strong { color:#fff; }
.hero-visual { position:relative; height:455px; }.orbit { position:absolute; border:1px solid rgba(174,245,237,.28); border-radius:50%; }.orbit-one { top:41px; left:78px; width:360px; height:360px; }.orbit-two { top:1px; left:38px; width:440px; height:440px; border-style:dashed; }.solar-core { position:absolute; top:142px; left:167px; display:grid; width:174px; height:174px; place-items:center; overflow:hidden; border:1px solid #aaf5e8; border-radius:50%; background:radial-gradient(circle at 35% 25%,#e9ffb3,#58d8c8 23%,#1176a0 56%,#073d61); box-shadow:0 0 42px rgba(84,225,212,.35); }.core-grid { position:absolute; inset:0; opacity:.5; background:linear-gradient(45deg,transparent 48%,rgba(244,255,255,.65) 49%,transparent 51%) 0 0/28px 28px,linear-gradient(-45deg,transparent 48%,rgba(244,255,255,.6) 49%,transparent 51%) 0 0/28px 28px; }.sun-icon { position:relative; font-size:49px; color:#f4ffef; }.energy-path,.energy-pulse { display:none; }.data-card { position:absolute; border:1px solid rgba(190,245,238,.35); border-radius:4px; background:#08354d; box-shadow:none; }.production-card { top:42px; right:0; width:180px; padding:15px; }.storage-card { bottom:24px; left:20px; display:flex; gap:10px; align-items:center; padding:11px 14px; }.status-card { right:20px; bottom:17px; display:flex; gap:8px; align-items:center; padding:10px 12px; }.card-kicker { display:flex; justify-content:space-between; color:#a9ced1; font:500 8px var(--mono); letter-spacing:.08em; }.signal-bars{display:flex;align-items:end;gap:2px}.signal-bars i{display:block;width:2px;background:var(--lime)}.signal-bars i:nth-child(1){height:4px}.signal-bars i:nth-child(2){height:7px}.signal-bars i:nth-child(3){height:10px}.metric { margin-top:7px; color:#fff; font:700 27px/1 var(--body); letter-spacing:-.06em; }.metric small{color:#a6c7cd;font-size:11px}.chart { display:flex; align-items:end; gap:3px; height:29px; margin-top:8px; }.chart i { width:7px; background:linear-gradient(var(--lime),#36bfb3); }.chart i:nth-child(1){height:18%}.chart i:nth-child(2){height:31%}.chart i:nth-child(3){height:45%}.chart i:nth-child(4){height:34%}.chart i:nth-child(5){height:56%}.chart i:nth-child(6){height:48%}.chart i:nth-child(7){height:70%}.chart i:nth-child(8){height:55%}.chart i:nth-child(9){height:85%}.chart i:nth-child(10){height:73%}.chart i:nth-child(11){height:91%}.chart i:nth-child(12){height:100%}.card-note{margin-top:8px;color:#9abac2;font-size:8px}.up{color:var(--lime)}.battery-icon{position:relative;width:23px;height:13px;padding:2px;border:1px solid #c0f4dc;border-radius:2px}.battery-icon::after{content:'';position:absolute;top:3px;right:-4px;width:3px;height:5px;background:#c0f4dc}.battery-icon span{display:block;width:74%;height:100%;background:var(--lime)}.storage-card b{display:block;color:#f3fffc;font-size:10px}.storage-card small{display:block;color:#a8c6cd;font-size:8px}.status-ring{width:20px;height:20px;border:3px solid var(--lime);border-left-color:rgba(213,246,111,.22);border-radius:50%}.status-card small{display:block;color:#a7c6cc;font:500 7px var(--mono)}.status-card b{display:block;color:var(--lime);font:500 9px var(--mono)}.hero-bottom{position:relative;display:flex;justify-content:space-between;margin-top:16px}.scroll-cue{color:#a7c6cc;font:500 9px var(--mono);letter-spacing:.08em}.hero-stats{display:flex;gap:40px}.hero-stats strong{color:#fff;font:600 24px/1 var(--display)}.hero-stats strong span{color:var(--lime);font:600 12px var(--body)}.hero-stats p{margin:5px 0 0;color:#9ab9c1;font-size:9px}
.brand-ticker { overflow:hidden; color:#dffcf5; background:#082d45; border-top:1px solid rgba(189,242,234,.17); border-bottom:1px solid rgba(189,242,234,.17); }.ticker-track { display:flex; justify-content:space-around; align-items:center; min-height:58px; gap:19px; white-space:nowrap; }.ticker-track span{font:700 10px var(--mono);letter-spacing:.1em}.ticker-track b{color:var(--lime)}
.section-pad{padding:100px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading h2,.impact-content h2{margin:10px 0 0;color:var(--ink);font-size:clamp(2.7rem,4.3vw,4.2rem)}.section-heading>p{max-width:340px;margin:0;color:var(--muted);font-size:13px}.services{background:var(--paper)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.service-card{position:relative;min-height:280px;padding:24px;border:1px solid var(--line);background:#fbfdf9}.service-card.featured{color:#effffc;border-color:#0b637a;background:#073e58}.service-number{color:#6f8d97;font:500 10px var(--mono)}.featured .service-number{color:#b6dadd}.service-icon{position:relative;width:45px;height:45px;margin:41px 0 22px}.solar-mini{border:1px solid #11849c;border-radius:50%}.solar-mini::before,.solar-mini::after{content:'';position:absolute;background:#11849c}.solar-mini::before{top:21px;left:5px;width:33px;height:1px}.solar-mini::after{top:5px;left:21px;width:1px;height:33px}.solar-mini span{position:absolute;inset:14px;border-radius:50%;background:var(--lime)}.battery-mini{height:25px;margin-top:51px;border:1px solid var(--lime);border-radius:3px}.battery-mini::after{content:'';position:absolute;right:-5px;top:7px;width:4px;height:8px;background:var(--lime)}.battery-mini span{display:block;width:70%;height:100%;background:var(--lime)}.grid-mini{border-bottom:1px solid #16869b}.grid-mini::before,.grid-mini::after{content:'';position:absolute;width:45px;height:1px;background:#16869b;transform-origin:left}.grid-mini::before{top:14px;transform:rotate(42deg)}.grid-mini::after{top:30px;transform:rotate(-42deg)}.service-card h3{margin:0 0 8px;font-size:18px}.service-card p{max-width:260px;margin:0;color:#69818b;font-size:12px}.featured p{color:#afc9cf}.service-card>a{position:absolute;right:22px;bottom:20px;display:grid;width:29px;height:29px;place-items:center;border:1px solid #91aaad;border-radius:3px;color:#0b718c;text-decoration:none}.featured>a{color:var(--lime);border-color:#92c5bd}
.impact{color:#f1fffb;background:#082e46}.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.impact-visual{position:relative;height:460px;overflow:hidden;border:1px solid rgba(183,244,235,.23);background:radial-gradient(circle at 68% 24%,#9ee975 0 5%,#3eaeba 6%,transparent 24%),linear-gradient(145deg,#0d5d79,#062d48)}.panel-grid{position:absolute;right:-48px;bottom:-130px;width:570px;height:350px;transform:perspective(500px) rotateX(58deg) rotateZ(-18deg);background:linear-gradient(90deg,rgba(191,255,248,.6) 1px,transparent 1px) 0 0/48px 100%,linear-gradient(rgba(191,255,248,.6) 1px,transparent 1px) 0 0/100% 38px,#0c5574}.impact-sun{position:absolute;top:69px;right:80px;width:82px;height:82px;border-radius:50%;background:var(--lime);box-shadow:0 0 42px rgba(217,245,115,.5)}.impact-label{position:absolute;top:25px;left:25px}.impact-label span{display:block;color:#d6fbf4;font:500 9px var(--mono);letter-spacing:.12em}.impact-label strong{display:block;color:var(--lime);font:600 52px/1 var(--display)}.impact-content>p{color:#adc8cf;font-size:13px}.feature-list{margin:25px 0;border-top:1px solid rgba(210,255,247,.17)}.feature-list>div{display:flex;gap:13px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(210,255,247,.17)}.feature-list>div>span{color:var(--lime);font:500 9px var(--mono)}.feature-list p{margin:0}.feature-list b{display:block;font-size:11px}.feature-list small{color:#9dbac1;font-size:10px}.impact .text-link{color:var(--lime)}
.projects{background:#eef3ef}.projects-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.projects-grid>.project-card{display:grid;min-height:420px;overflow:hidden;color:#effffc;background:#073b54}.projects-grid>.project-large{grid-template-columns:1.25fr .75fr}.projects-grid>.project-small{grid-template-rows:220px auto}.project-visual{position:relative;overflow:hidden;background:#0b5874}.project-info{align-self:end;padding:25px}.project-info>span{color:#b4e6e1;font:500 9px var(--mono);letter-spacing:.1em}.project-info h3{margin:12px 0;color:#f2fffb;font:600 24px/1.08 var(--display)}.project-info p{margin:0;color:#abc8cf;font-size:10px}.project-info a{display:inline-flex;gap:8px;margin-top:21px;color:var(--lime);font-size:10px;font-weight:800;text-decoration:none}.project-info i{font-style:normal}.pv-one{background:radial-gradient(circle at 75% 24%,#e7ff99 0 6%,transparent 18%),linear-gradient(150deg,#237f98,#0a3858)}.project-sun{position:absolute;top:52px;right:65px;width:75px;height:75px;border-radius:50%;background:var(--lime);box-shadow:0 0 40px rgba(220,248,120,.6)}.rooftop{position:absolute;bottom:-83px;left:-17%;width:130%;height:210px;transform:rotate(-10deg);border:5px solid #113e5b;background:repeating-linear-gradient(90deg,rgba(186,249,242,.55) 0 1px,transparent 1px 44px),repeating-linear-gradient(0deg,rgba(186,249,242,.55) 0 1px,#0c5173 1px 38px)}.pv-two{background:linear-gradient(155deg,#0a5e7a,#07344e)}.battery-tower{position:absolute;bottom:0;left:50%;width:104px;height:150px;transform:translateX(-50%);padding:12px 9px;border:2px solid #96ede2;border-bottom:0;background:#0b516d}.battery-tower i{display:block;height:32px;margin-bottom:8px;border:1px solid #8ee6db;background:linear-gradient(90deg,var(--lime) 75%,transparent 75%)}.power-wave{position:absolute;right:0;bottom:12px;left:0;height:1px;background:var(--lime)}
.cta-section{padding:70px 0;color:#effffc;background:#06293f}.cta-inner{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:205px;padding:34px 10%;overflow:hidden;border:1px solid rgba(185,245,237,.2);background:#083c55}.cta-inner .eyebrow{color:#a6dcd8}.cta-inner h2{margin:10px 0 0;font-size:clamp(2.4rem,4vw,3.6rem)}.cta-round{display:grid;width:115px;height:115px;place-items:center;border-radius:50%;color:#082b3c;background:var(--lime);font:700 14px/1.2 var(--body);text-align:center;text-decoration:none}.cta-round span{font-size:19px}.cta-rings{display:none}

/* Inner pages */
.inner-page{background:var(--paper)}.inner-page main{min-height:calc(100vh - 145px);background:var(--paper)}.container-inner{min-height:calc(100vh - 145px);padding-top:165px;padding-bottom:85px}.container-inner>a:first-child{display:inline-block;margin-bottom:20px;color:#147b91;font-size:11px;font-weight:800;text-decoration:none}.container-inner>h1{max-width:800px;margin:11px 0 13px;color:var(--ink);font:700 clamp(2.8rem,5vw,4.7rem)/1 var(--display);letter-spacing:-.06em}.container-inner>h1 em{color:#0b8292}.container-inner>p{max-width:670px;color:var(--muted);font-size:14px}.section-title{margin:47px 0 18px;color:var(--ink);font:600 25px/1.1 var(--display)}.system-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.system-card{display:flex;min-height:165px;flex-direction:column;align-items:flex-start;padding:20px;border:1px solid var(--line);color:var(--ink);background:#fbfdf9;text-align:left}.system-card:hover,.system-card.selected{border-color:#0d8293;background:#f1faf6}.system-card h4{margin:0 0 8px;font-size:16px}.system-card p{margin:0;color:var(--muted);font-size:11px}.system-card .tag{margin-top:auto;color:#147f92;font:500 9px var(--mono)}.inner-actions{display:flex;gap:10px;align-items:center;margin-top:20px}.selected-display{margin:18px 0;padding:12px 14px;border-left:3px solid var(--teal);color:#345663;background:#e8f4f1;font-size:11px}.about-grid{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:14px;margin-top:50px}.about-card{min-height:220px;padding:22px;border:1px solid var(--line);background:#fbfdf9}.about-card>span{color:#147d91;font:500 9px var(--mono)}.about-card h2{margin:48px 0 10px;font:600 21px/1.12 var(--display)}.about-card p{margin:0;color:var(--muted);font-size:11px}.about-card.accent{color:#effffc;border-color:#0a5f75;background:#073e58}.about-card.accent>span{color:var(--lime)}.about-card.accent h2{color:#fff}.about-card.accent p{color:#b4ccd1}.bess-band{position:relative;overflow:hidden;margin-top:45px;padding:29px;color:#effffc;background:#073e58}.bess-band .eyebrow{color:var(--lime)}.bess-band h2{max-width:560px;margin:10px 0;font:600 28px/1.1 var(--display)}.bess-band p{max-width:580px;margin:0;color:#b5ced3;font-size:11px}.projects-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.projects-gallery .project-card{overflow:hidden;border:1px solid var(--line);background:#fff}.projects-gallery .project-card img{width:100%;height:160px;object-fit:cover}.projects-gallery .project-info{padding:17px;color:var(--ink);background:#fff}.projects-gallery .project-info h4{margin:0 0 8px;font-size:15px}.projects-gallery .project-info p{color:var(--muted)}.projects-gallery .project-info .btn-primary{min-height:37px;margin-top:11px;font-size:10px}.project-filter{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:32px 0 18px}.project-filter>span{margin-right:4px;color:#147d91;font:500 9px var(--mono);letter-spacing:.1em}.project-filter .btn-ghost{min-height:36px;padding:0 13px}.project-modal{position:fixed;z-index:100;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(2,20,32,.76)}.project-modal[aria-hidden="false"]{display:flex}.modal-inner{position:relative;width:min(880px,100%);padding:20px;background:#fff}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.modal-media{min-height:240px;background:linear-gradient(145deg,#0c617c,#07334e)}.modal-media img{width:100%;height:100%;object-fit:cover}.modal-close{position:absolute;top:7px;right:7px;width:30px;height:30px;border:0;color:var(--ink);background:#edf4f1;font-size:21px}.modal-body h3{margin:8px 0 16px;font:600 29px/1.1 var(--display)}.modal-body p{font-size:12px}

/* Quote page */
.quote-page main{background:#edf3f0}.quote-hero{padding:165px 0 52px;color:#f2fffb;background:linear-gradient(120deg,#062338,#0a425c)}.quote-hero-inner{display:flex;align-items:end;justify-content:space-between;gap:35px}.quote-hero .eyebrow{color:#b4dfdc}.quote-hero h1{margin:12px 0;font:700 clamp(3rem,5vw,5rem)/.97 var(--display);letter-spacing:-.06em}.quote-hero h1 em{color:var(--lime)}.quote-hero p{max-width:570px;margin:0;color:#b2cbd1;font-size:13px}.quote-steps{display:flex;min-width:355px;border-top:1px solid rgba(202,250,242,.3)}.quote-step{display:flex;flex:1;gap:8px;align-items:center;padding:13px 7px 0;color:#a4c4c8}.quote-step b{font:500 9px var(--mono)}.quote-step span{font-size:9px;line-height:1.3}.quote-step.active{color:#fff}.quote-step.active b{color:var(--lime)}.quote-section{padding:60px 0 90px}.quote-layout{display:grid;grid-template-columns:.72fr 1.28fr}.quote-aside{display:flex;min-height:650px;flex-direction:column;padding:38px;color:#effffc;background:#073e58}.quote-aside-mark{margin-bottom:65px;font:800 25px/1 var(--body);letter-spacing:-.07em}.quote-aside-mark span{color:var(--lime)}.quote-aside .eyebrow{color:#a7d9d4}.quote-aside h2{margin:12px 0 17px;font:600 36px/1.04 var(--display)}.quote-aside h2 em{color:var(--lime)}.quote-aside>p{margin:0;color:#b0c9ce;font-size:12px}.quote-benefits{margin-top:32px}.quote-benefits div{display:flex;gap:9px;align-items:center;margin-top:11px;font-size:11px}.quote-benefits i{display:grid;width:17px;height:17px;place-items:center;border:1px solid var(--lime);border-radius:50%;color:var(--lime);font-size:9px;font-style:normal}.quote-aside-bottom{display:flex;justify-content:space-between;margin-top:auto;padding-top:18px;border-top:1px solid rgba(205,255,247,.19)}.quote-aside-bottom span{color:#a7c5ca;font:500 9px var(--mono)}.quote-aside-bottom strong{color:var(--lime);font:600 15px var(--display)}.quote-card{padding:37px;border:1px solid var(--line);border-left:0;background:#fbfdf9}.quote-card-head{display:flex;justify-content:space-between;gap:18px;align-items:start;padding-bottom:21px;border-bottom:1px solid #d5e0dc}.quote-card-head h2{margin:8px 0 0;font:600 27px/1.1 var(--display)}.secure-note{color:#6b858d;font-size:10px}.quote-form{max-width:none;margin-top:23px;padding:0;border:0;background:transparent;box-shadow:none}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:14px}.form-field>span,.quote-choice legend{display:block;margin-bottom:6px;color:#56727c;font-size:10px;font-weight:800}.form-field b,.quote-choice b,.consent-row b{color:#0b7c8e}.form-field small{color:#92a4a8;font-weight:500}.quote-form input,.quote-form select,.quote-form textarea{width:100%;margin:0;padding:12px 13px;border:1px solid #c1d2cc;border-radius:0;color:var(--ink);background:#fff;font-size:12px}.quote-form select{height:45px}.quote-form textarea{min-height:88px;resize:vertical}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:0;border-color:#0b8292;box-shadow:inset 3px 0 0 var(--lime)}.quote-choice{margin:4px 0 17px;padding:0;border:0}.quote-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quote-system{position:relative;display:flex;min-height:75px;flex-direction:column;align-items:flex-start;padding:11px;border:1px solid #c1d2cc;color:var(--ink);background:#fff}.quote-system>span{color:#809aa1;font:500 8px var(--mono)}.quote-system strong{margin-top:auto;font-size:11px}.quote-system small{color:#718993;font-size:8px}.quote-system.selected{border-color:#0b8292;background:#eef8f4;box-shadow:inset 0 2px 0 var(--lime)}.quote-system.selected::after{content:'✓';position:absolute;top:8px;right:8px;color:#0b5b69;font-weight:800}.full-field{margin-bottom:14px}.consent-row{display:flex;gap:8px;align-items:flex-start;color:#607c85;font-size:10px}.consent-row input{width:15px;height:15px;margin:1px 0 0;accent-color:#0b8292}.quote-form .form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:19px;padding-top:18px;border-top:1px solid #d5e0dc}.quote-form .form-actions p{max-width:255px;margin:0;color:#718c94;font-size:9px;text-align:right}.form-success{display:flex;gap:10px;align-items:center;margin-top:14px;padding:13px;border-left:3px solid #78a921;color:#486b11;background:#f1f9e4}.form-success>span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;color:#fff;background:#78a921}.form-success b{font-size:11px}.form-success p{margin:1px 0 0;font-size:9px}

/* Footer & utility */
.site-footer{color:#a7c2c7;background:#041d30}.footer-inner{display:grid;grid-template-columns:1fr auto auto;gap:50px;align-items:center;min-height:135px}.footer-brand{color:#f0fffa;font:800 21px/1 var(--body);letter-spacing:-.08em;text-decoration:none}.footer-brand span{margin-left:3px;color:var(--lime);font-size:9px;letter-spacing:.08em}.footer-inner p{margin:9px 0 0;font-size:10px}.footer-links{display:flex;gap:22px}.footer-links a{color:#d1e5e3;font-size:10px;text-decoration:none}.footer-links a:hover{color:var(--lime)}.footer-inner small{font:500 9px var(--mono)}.reveal,.reveal.in-view{opacity:1;transform:none;transition:none}

@media(max-width:980px){:root{--header:76px}.container{width:min(100% - 36px,760px)}.site-logo{height:63px}.nav{position:fixed;top:84px;right:18px;left:18px;visibility:hidden;padding:8px;border:1px solid rgba(176,237,230,.25);background:#06283e;opacity:0;transform:translateY(-9px)}.nav.open{visibility:visible;opacity:1;transform:none}.nav ul{display:block}.nav a{padding:12px}.nav-toggle{display:block}.header-actions .btn-outline{display:none}.hero{padding:130px 0 62px}.hero-inner{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-eyebrow,.hero-actions,.trust-row{justify-content:center}.hero-copy>p{margin-inline:auto}.hero-visual{width:480px;max-width:100%;margin:0 auto;height:420px}.hero-bottom{display:none}.section-pad{padding:78px 0}.section-heading{flex-direction:column;align-items:start;gap:17px;margin-bottom:34px}.impact-grid{grid-template-columns:1fr;gap:48px}.projects-grid{grid-template-columns:1fr}.projects-grid>.project-small{grid-template-columns:1fr 1fr;grid-template-rows:unset}.system-options,.projects-gallery{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr 1fr}.about-card.accent{grid-column:span 2}.quote-hero{padding:130px 0 44px}.quote-hero-inner{display:block}.quote-steps{margin-top:28px}.quote-layout{grid-template-columns:1fr}.quote-aside{min-height:0}.quote-card{border-left:1px solid var(--line)}.footer-inner{grid-template-columns:1fr auto;gap:25px;padding:28px 0}.footer-inner small{grid-column:1/-1}}
@media(max-width:620px){.container{width:calc(100% - 30px)}.hero{padding-top:111px}.hero h1{font-size:3rem}.hero-actions{flex-direction:column;gap:15px}.hero-visual{height:330px;transform:scale(.72);transform-origin:top center;margin-bottom:-75px}.orbit-one{left:76px}.orbit-two{left:35px}.solar-core{left:160px}.production-card{right:-5px}.storage-card{left:10px}.status-card{right:10px}.brand-ticker{display:none}.services-grid{grid-template-columns:1fr}.service-card{min-height:240px}.impact-visual{height:330px}.panel-grid{width:475px;height:300px}.projects-grid>.project-card,.projects-grid>.project-large,.projects-grid>.project-small{grid-template-columns:1fr;grid-template-rows:210px auto;min-height:0}.project-info{min-height:190px}.cta-inner{min-height:230px;padding:26px}.cta-round{width:92px;height:92px;font-size:12px}.container-inner{padding-top:120px;padding-bottom:58px}.container-inner>h1{font-size:3rem}.system-options,.projects-gallery,.about-grid{grid-template-columns:1fr}.about-card.accent{grid-column:auto}.inner-actions{align-items:stretch;flex-direction:column}.modal-grid{grid-template-columns:1fr}.footer-inner{display:flex;align-items:start;flex-direction:column;gap:16px}.quote-hero{padding-top:109px}.quote-hero h1{font-size:3.1rem}.quote-steps{min-width:0}.quote-step{padding-right:3px}.quote-step span{font-size:8px}.quote-section{padding:35px 0 60px}.quote-aside{padding:27px}.quote-aside-mark{margin-bottom:37px}.quote-card{padding:25px 17px}.quote-card-head{display:block}.secure-note{display:block;margin-top:12px}.field-grid{grid-template-columns:1fr;gap:11px;margin-bottom:11px}.quote-choice-grid{grid-template-columns:1fr 1fr}.quote-form .form-actions{align-items:stretch;flex-direction:column}.quote-form .form-actions p{max-width:none;margin-top:10px;text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Motion restored: subtle energy flow, never distracting */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1); }
.reveal.in-view { opacity: 1; transform: translateY(0); }
.hero-copy { animation: hero-copy-in .7s cubic-bezier(.2,.7,.2,1) both; }.hero-visual { animation: hero-visual-in .8s .14s ease both; }.quote-hero-copy { animation: hero-copy-in .7s ease both; }.quote-steps { animation: fade-in .7s .18s ease both; }.quote-card { animation: hero-visual-in .7s .1s ease both; }
.orbit-one { animation: orbit-spin 28s linear infinite; }.orbit-two { animation: orbit-spin 42s linear infinite reverse; }.solar-core { animation: core-breathe 6s ease-in-out infinite; }.production-card { animation: card-drift 5.5s ease-in-out infinite; }.storage-card { animation: card-drift 6.2s .5s ease-in-out infinite; }.status-card { animation: card-drift 5.8s 1s ease-in-out infinite; }
.ticker-track { width: max-content; padding-left: 24px; animation: ticker-slide 30s linear infinite; }.service-card, .projects-grid > .project-card, .projects-gallery .project-card, .system-card, .about-card, .quote-system { transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease; }.service-card:hover, .projects-grid > .project-card:hover, .projects-gallery .project-card:hover, .about-card:hover { transform: translateY(-5px); box-shadow: 0 14px 28px rgba(3,31,47,.12); }.system-card:hover, .quote-system:hover { transform: translateY(-3px); }.btn-primary, .btn-outline, .btn-ghost, .cta-round { transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }.btn-primary:hover, .btn-outline:hover, .cta-round:hover { transform: translateY(-2px); }
@keyframes hero-copy-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-visual-in { from { opacity:0; } to { opacity:1; } }
@keyframes fade-in { from { opacity:0; } to { opacity:1; } }
@keyframes orbit-spin { to { transform:rotate(360deg); } }
@keyframes core-breathe { 50% { transform:translateY(-8px) scale(1.025); box-shadow:0 0 55px rgba(84,225,212,.5); } }
@keyframes card-drift { 50% { transform:translateY(-7px); } }
@keyframes ticker-slide { to { transform:translateX(-42%); } }
@media (max-width:620px) { .ticker-track { animation:none; width:100%; padding-left:0; }.service-card:hover, .projects-grid > .project-card:hover, .projects-gallery .project-card:hover, .about-card:hover { transform:none; box-shadow:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; } .reveal { opacity:1; transform:none; } }
/* Original ASRA motion language restored */
.reveal { opacity:0; transform:translateY(10px); transition:all .6s cubic-bezier(.2,.9,.3,1); }.reveal.in-view { opacity:1; transform:none; }
.hero-copy, .hero-visual, .quote-hero-copy, .quote-steps, .quote-card { animation:none; }
.orbit-one { animation:asra-spin 27s linear infinite; }.orbit-two { animation:asra-spin 44s linear infinite reverse; }.solar-core { animation:asra-float 7s ease-in-out infinite; }
.energy-path { position:absolute; display:block; height:1px; transform-origin:left; background:linear-gradient(90deg,rgba(111,255,225,.05),#a4ffde,rgba(111,255,225,.05)); }.path-one { top:194px; left:45px; width:160px; transform:rotate(154deg); }.path-two { top:330px; left:323px; width:140px; transform:rotate(-22deg); }.energy-pulse { position:absolute; display:block; width:8px; height:8px; border-radius:50%; background:#caff78; box-shadow:0 0 14px 5px rgba(202,255,120,.4); }.pulse-one { top:245px; left:114px; animation:asra-pulse-one 4s ease-in-out infinite; }.pulse-two { top:286px; right:78px; animation:asra-pulse-two 5s ease-in-out .8s infinite; }
.production-card { animation:asra-card-float 6s ease-in-out 1.2s infinite; }.storage-card { animation:asra-card-float 7s ease-in-out .4s infinite; }.status-card { animation:none; }.impact-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(120deg,transparent 0 45%,rgba(213,255,255,.23) 48%,transparent 51%); animation:asra-shine 5.5s ease-in-out infinite; }.impact-sun,.project-sun { animation:asra-sun-pulse 4.5s ease-in-out infinite; }.ticker-track { width:max-content; padding-left:30px; animation:asra-ticker 25s linear infinite; }
@keyframes asra-spin { to { transform:rotate(360deg); } }
@keyframes asra-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }
@keyframes asra-card-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
@keyframes asra-pulse-one { 50% { transform:translate(42px,-21px) scale(.55); opacity:.45; } }
@keyframes asra-pulse-two { 50% { transform:translate(-43px,17px) scale(.55); opacity:.45; } }
@keyframes asra-shine { 0%,35% { transform:translateX(-100%); } 62%,100% { transform:translateX(100%); } }
@keyframes asra-sun-pulse { 50% { transform:scale(1.08); box-shadow:0 0 75px rgba(231,255,133,.9); } }
@keyframes asra-ticker { to { transform:translateX(-45%); } }
@media (max-width:620px) { .energy-pulse,.energy-path { display:none; }.ticker-track { animation:none; width:100%; padding-left:0; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; } .reveal { opacity:1; transform:none; } }
/* Apply the restored motion to the quote and internal pages too */
.container-inner > .eyebrow { animation:asra-page-up .55s ease both; }.container-inner > h1 { animation:asra-page-up .65s .08s ease both; }.container-inner > p { animation:asra-page-up .65s .16s ease both; }
.quote-hero { overflow:hidden; }.quote-hero::before { content:''; position:absolute; top:-155px; right:8%; width:390px; height:390px; border:1px solid rgba(204,255,247,.22); border-radius:50%; box-shadow:0 0 0 54px rgba(204,255,247,.035),0 0 0 108px rgba(204,255,247,.02); animation:asra-quote-orbit 18s linear infinite; }.quote-hero::after { content:''; position:absolute; inset:0; opacity:.14; background-image:linear-gradient(rgba(163,240,233,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(163,240,233,.25) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,transparent,#000 58%,transparent); animation:asra-fade-cycle 5s ease-in-out infinite; }.quote-hero-inner { position:relative; z-index:1; }.quote-hero-copy { animation:asra-page-up .7s ease both; }.quote-steps { animation:asra-page-up .7s .16s ease both; }.quote-aside { animation:asra-page-up .7s .12s ease both; }.quote-card { animation:asra-page-up .75s .18s ease both; }
@keyframes asra-page-up { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@keyframes asra-quote-orbit { to { transform:rotate(360deg); } }
@keyframes asra-fade-cycle { 50% { opacity:.28; } }
@media (prefers-reduced-motion:reduce) { .container-inner > .eyebrow,.container-inner > h1,.container-inner > p,.quote-hero::before,.quote-hero::after,.quote-hero-copy,.quote-steps,.quote-aside,.quote-card { animation:none !important; } }
/* Solar-tech redesign: replaces the editorial inner-page look */
:root { --display: 'Manrope','Segoe UI',Arial,sans-serif; }
.hero h1,.section-heading h2,.impact-content h2,.cta-inner h2,.container-inner>h1,.quote-hero h1 { font-family:var(--display); font-style:normal; letter-spacing:-.065em; }
.hero h1 em,.section-heading h2 em,.impact-content h2 em,.cta-inner h2 em,.container-inner>h1 em,.quote-hero h1 em { font-style:normal; }
.inner-page main { position:relative; overflow:hidden; background:linear-gradient(180deg,#06283f 0 470px,#edf3f0 470px 100%); }.inner-page main::before { content:''; position:absolute; top:0; right:0; left:0; height:470px; opacity:.25; background-image:linear-gradient(rgba(135,232,223,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(135,232,223,.24) 1px,transparent 1px); background-size:56px 56px; mask-image:linear-gradient(90deg,transparent 25%,#000 68%,transparent); }.inner-page main::after { content:''; position:absolute; top:102px; right:8%; width:260px; height:260px; border:1px solid rgba(187,255,244,.5); border-radius:50%; box-shadow:0 0 0 34px rgba(117,230,217,.08),0 0 0 68px rgba(117,230,217,.04); }
.inner-page .container-inner { position:relative; z-index:1; min-height:calc(100vh - 135px); padding-top:157px; }.inner-page .container-inner> a:first-child { color:#b9eeea; }.inner-page .container-inner>h1 { max-width:680px; margin-top:16px; color:#f4fffb; font-size:clamp(2.7rem,5vw,4.7rem); font-weight:800; line-height:.96; }.inner-page .container-inner>h1 em { color:var(--lime); }.inner-page .container-inner>p { max-width:610px; color:#bed4d8; font-size:14px; }.inner-page .container-inner>.eyebrow { color:#90d9d5; }.inner-page .section-title { position:relative; z-index:2; margin-top:55px; color:#f4fffb; font-family:var(--display); font-size:16px; font-weight:800; letter-spacing:-.02em; }
.inner-page .about-grid,.inner-page .system-options,.inner-page .projects-gallery,.inner-page .contact-form,.inner-page .bess-band,.inner-page .project-filter { position:relative; z-index:2; }.inner-page .about-grid { margin-top:42px; }.inner-page .about-card { min-height:195px; border:0; border-top:3px solid #b7d5d3; background:#f9fcf9; box-shadow:0 12px 25px rgba(3,30,45,.1); }.inner-page .about-card h2 { margin-top:34px; color:#092b3d; font-family:var(--display); font-size:17px; font-weight:800; }.inner-page .about-card.accent { border-top-color:var(--lime); color:#effffc; background:#0a5268; }.inner-page .about-card.accent h2 { color:#effffc; }.inner-page .system-card { min-height:185px; border:0; border-top:3px solid #afcfce; background:#f8fcf9; box-shadow:0 12px 25px rgba(3,30,45,.1); }.inner-page .system-card.selected,.inner-page .system-card:hover { border-top-color:var(--lime); background:#fff; }.inner-page .system-card h4 { color:#092b3d; font-family:var(--display); font-weight:800; }.inner-page .system-card p { color:#69818b; }.inner-page .projects-gallery { gap:16px; }.inner-page .projects-gallery .project-card { border:0; border-bottom:3px solid #0b8091; box-shadow:0 12px 25px rgba(3,30,45,.1); }.inner-page .projects-gallery .project-info { background:#f9fcf9; }.inner-page .projects-gallery .project-info h4 { font-family:var(--display); font-weight:800; }.inner-page .selected-display { border-left-color:var(--lime); color:#eafff8; background:#0a5268; }.inner-page .bess-band { border:0; background:linear-gradient(110deg,#084f65,#07364e); }.inner-page .bess-band h2 { font-family:var(--display); font-weight:800; }.inner-page .contact-form { border:0; box-shadow:0 15px 30px rgba(3,30,45,.12); }
.quote-page main { background:#edf3f0; }.quote-page main::before,.quote-page main::after { display:none; }.quote-hero { background:linear-gradient(120deg,#06283f,#0b5368); }.quote-card { border:0; box-shadow:0 15px 30px rgba(3,30,45,.12); }.quote-aside { background:linear-gradient(145deg,#082e47,#0a566a); }.quote-card-head h2,.quote-aside h2 { font-family:var(--display); font-weight:800; }.quote-form input,.quote-form select,.quote-form textarea { border-color:#b7ceca; }.quote-system { border-color:#b7ceca; }.quote-submit { border-radius:2px; }
@media(max-width:980px) { .inner-page main { background:linear-gradient(180deg,#06283f 0 430px,#edf3f0 430px 100%); }.inner-page main::after { right:-105px; width:220px; height:220px; }.inner-page .container-inner { padding-top:128px; }.inner-page .section-title { color:#f4fffb; } }
@media(max-width:620px) { .inner-page main { background:linear-gradient(180deg,#06283f 0 395px,#edf3f0 395px 100%); }.inner-page main::before { background-size:38px 38px; }.inner-page main::after { display:none; }.inner-page .container-inner { padding-top:108px; }.inner-page .container-inner>h1 { font-size:2.8rem; }.inner-page .container-inner>p { font-size:13px; }.inner-page .section-title { margin-top:37px; }.inner-page .about-card,.inner-page .system-card { min-height:155px; }.inner-page .about-card h2 { margin-top:26px; } }
/* Restore navigation and card interactions after the redesign */
.site-header { transition: height .28s ease, background .28s ease, box-shadow .28s ease; }.site-header.scrolled { background:rgba(4,29,47,.99); box-shadow:0 8px 22px rgba(0,17,30,.2); }.nav a { transition:color .22s ease; }.nav a::after { transition:transform .24s cubic-bezier(.2,.8,.2,1); }.btn-primary span,.btn-outline span { transition:transform .2s ease; }.btn-primary:hover span,.btn-outline:hover span { transform:translate(3px,-3px); }.nav-toggle span { transition:transform .24s ease,opacity .18s ease; }
.service-card,.projects-grid>.project-card,.inner-page .about-card,.inner-page .system-card,.inner-page .projects-gallery .project-card,.quote-system { transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .25s ease,background .25s ease; }.service-card:hover,.projects-grid>.project-card:hover { transform:translateY(-7px); box-shadow:0 18px 32px rgba(3,31,47,.17); }.inner-page .about-card:hover,.inner-page .system-card:hover,.inner-page .projects-gallery .project-card:hover { transform:translateY(-7px); box-shadow:0 18px 32px rgba(3,31,47,.17); }.quote-system:hover { transform:translateY(-4px); box-shadow:0 9px 18px rgba(3,31,47,.12); }.service-card .service-icon,.project-visual,.inner-page .projects-gallery .project-card img { transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .35s ease; }.service-card:hover .service-icon { transform:scale(1.1) rotate(5deg); }.projects-grid>.project-card:hover .project-visual { transform:scale(1.035); }.inner-page .projects-gallery .project-card:hover img { transform:scale(1.06); filter:saturate(1.12); }
@media (max-width:980px) { .nav { transition:opacity .26s ease,transform .26s cubic-bezier(.2,.8,.2,1),visibility .26s; }.nav.open { transform:translateY(0); }.nav a { transition:color .2s ease,background .2s ease,padding-left .2s ease; }.nav a:hover,.nav a.active { padding-left:17px; background:rgba(102,221,210,.1); } }
@media (max-width:620px) { .service-card:hover,.projects-grid>.project-card:hover,.inner-page .about-card:hover,.inner-page .system-card:hover,.inner-page .projects-gallery .project-card:hover,.quote-system:hover { transform:translateY(-3px); }.projects-grid>.project-card:hover .project-visual,.inner-page .projects-gallery .project-card:hover img { transform:none; } }
@media (prefers-reduced-motion:reduce) { .site-header,.nav,.nav a,.nav a::after,.btn-primary span,.btn-outline span,.nav-toggle span,.service-card,.projects-grid>.project-card,.inner-page .about-card,.inner-page .system-card,.inner-page .projects-gallery .project-card,.quote-system,.service-card .service-icon,.project-visual,.inner-page .projects-gallery .project-card img { transition:none !important; } }
/* System-card imagery: one cohesive generated four-panel energy set */
.quote-system { isolation:isolate; min-height:142px; overflow:hidden; border-color:#1e6979; color:#f2fffb; background:transparent; }.quote-system::before { content:''; position:absolute; z-index:0; inset:0; background-image:linear-gradient(180deg,rgba(3,25,39,.08) 0%,rgba(3,25,39,.28) 42%,rgba(3,25,39,.93) 100%),url('../assets/images/energy-systems-sprite-v1.png'); background-repeat:no-repeat; background-size:100% 100%,200% 200%; background-position:0 0,0 0; transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s ease; }.quote-system:nth-child(2)::before { background-position:0 0,100% 0; }.quote-system:nth-child(3)::before { background-position:0 0,0 100%; }.quote-system:nth-child(4)::before { background-position:0 0,100% 100%; }.quote-system:hover::before { transform:scale(1.08); filter:saturate(1.18) brightness(1.05); }.quote-system>span,.quote-system strong,.quote-system small { position:relative; z-index:1; }.quote-system>span { color:#b8e5e2; }.quote-system strong { color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.55); }.quote-system small { color:#c0d9dc; }.quote-system:hover,.quote-system.selected { border-color:var(--lime); background:transparent; box-shadow:inset 0 3px 0 var(--lime),0 10px 20px rgba(3,27,42,.18); }.quote-system.selected::after { z-index:2; border-radius:50%; color:#063044; background:var(--lime); box-shadow:0 2px 8px rgba(0,0,0,.25); }
@media(max-width:620px) { .quote-system { min-height:116px; } }
/* Refined quote controls: custom selects and calmer button language */
.quote-card { border-radius:18px; }.quote-card-head { padding-bottom:24px; }.quote-form input,.quote-form select,.quote-form textarea { border:1px solid #cbdad5; border-radius:10px; background:#fbfdfc; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }.quote-form input:hover,.quote-form select:hover,.quote-form textarea:hover { border-color:#73aeb1; background:#fff; }.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus { border-color:#0b8b95; box-shadow:0 0 0 4px rgba(11,139,149,.12); }.quote-form select { appearance:none; -webkit-appearance:none; padding-right:48px; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%230a6275' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; background-size:18px; }.quote-form select:focus { background-color:#fff; }.quote-form select option { color:#092b3d; background:#fff; }
.form-field>span,.quote-choice legend { margin-bottom:8px; color:#426873; font-size:10px; letter-spacing:.01em; }.quote-choice-grid { gap:11px; }.quote-system { min-height:132px; border:1px solid #bfd3d0; border-radius:12px; box-shadow:0 3px 8px rgba(3,31,47,.05); }.quote-system:hover { transform:translateY(-5px); }.quote-system.selected { border-color:#0b8492; box-shadow:0 0 0 3px rgba(11,132,146,.14),0 10px 20px rgba(3,31,47,.12); }.quote-system.selected::after { right:10px; top:10px; width:22px; height:22px; display:grid; place-items:center; border-radius:50%; }.quote-form .form-actions { margin-top:26px; padding-top:23px; }.quote-submit { min-height:54px; padding:0 23px; border:0; border-radius:11px; color:#fff; background:linear-gradient(135deg,#087c8b,#07546b); box-shadow:0 11px 20px rgba(5,77,95,.19); letter-spacing:.01em; }.quote-submit:hover { color:#fff; background:linear-gradient(135deg,#0a93a0,#076179); box-shadow:0 14px 25px rgba(5,77,95,.26); transform:translateY(-2px); }.quote-submit span { display:grid; width:23px; height:23px; place-items:center; border-radius:50%; color:#075268; background:var(--lime); }.consent-row { padding:11px 13px; border-radius:9px; background:#f2f8f5; }.quote-form .form-actions p { color:#68848c; }
@media(max-width:620px) { .quote-card { border-radius:12px; }.quote-system { min-height:112px; border-radius:9px; }.quote-submit { width:100%; } }
/* Remove the outer white quote-form frame; keep only the controls */
.quote-card { border:0; border-radius:0; background:transparent; box-shadow:none; }
.quote-card-head { padding-inline:0; }.quote-form { background:transparent; box-shadow:none; }
/* Force-remove any inherited outer panel tint or shadow */
.quote-page .quote-layout, .quote-page .quote-card, .quote-page .contact-form.quote-form { background:transparent !important; border:0 !important; outline:0 !important; box-shadow:none !important; filter:none !important; }
.quote-page .quote-card::before, .quote-page .quote-card::after, .quote-page .contact-form.quote-form::before, .quote-page .contact-form.quote-form::after { display:none !important; content:none !important; }
/* Fully custom dropdowns for quote fields */
.quote-form .custom-select { position:relative; }.quote-form .native-select { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }.quote-form .custom-select-trigger { display:flex; width:100%; height:48px; align-items:center; justify-content:space-between; padding:0 15px; border:1px solid #cbdad5; border-radius:10px; color:#15394b; background:#fbfdfc; font-size:12px; text-align:left; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }.quote-form .custom-select-trigger:hover { border-color:#73aeb1; background:#fff; }.quote-form .custom-select-trigger:focus { outline:0; border-color:#0b8b95; box-shadow:0 0 0 4px rgba(11,139,149,.12); }.custom-select-trigger i { width:10px; height:10px; border-right:2px solid #09677c; border-bottom:2px solid #09677c; transform:rotate(45deg) translateY(-3px); transition:transform .2s ease; }.custom-select.open .custom-select-trigger { border-color:#0b8b95; border-radius:10px 10px 0 0; background:#fff; }.custom-select.open .custom-select-trigger i { transform:rotate(225deg) translate(-1px,-4px); }.custom-select-menu { position:absolute; z-index:30; top:calc(100% - 1px); right:0; left:0; display:grid; gap:3px; max-height:0; overflow:hidden; padding:0 7px; border:1px solid transparent; border-top:0; border-radius:0 0 11px 11px; opacity:0; background:#fff; box-shadow:0 14px 27px rgba(4,38,54,.15); transform:translateY(-6px); transition:max-height .25s ease,padding .25s ease,opacity .2s ease,transform .25s ease,border-color .2s ease; }.custom-select.open .custom-select-menu { max-height:290px; overflow:auto; padding:8px 7px; border-color:#0b8b95; opacity:1; transform:translateY(0); }.custom-select-search { width:100%; height:36px; margin-bottom:3px; padding:0 10px; border:1px solid #d5e2dd; border-radius:7px; color:#14394a; background:#f3f8f5; font-size:11px; outline:0; }.custom-select-search:focus { border-color:#6eafb0; background:#fff; }.custom-select-option { width:100%; padding:9px 10px; border:0; border-radius:7px; color:#284a59; background:transparent; font-size:11px; text-align:left; transition:background .16s ease,color .16s ease; }.custom-select-option:hover,.custom-select-option:focus { outline:0; color:#083d51; background:#e9f6f2; }.custom-select.error .custom-select-trigger { border-color:#c26060; box-shadow:0 0 0 3px rgba(194,96,96,.12); }
/* Compact, branded scrollbar for the custom city dropdown */
.custom-select-menu { display:block; scrollbar-width:thin; scrollbar-color:#168b99 #e8f1ef; }.custom-select.open .custom-select-menu { max-height:248px; overflow-y:auto; padding:7px; }.custom-select-search { position:sticky; z-index:2; top:0; height:39px; margin:0 0 5px; box-shadow:0 6px 10px rgba(255,255,255,.96); }.custom-select-option { display:block; min-height:35px; padding:8px 11px; line-height:19px; }.custom-select-menu::-webkit-scrollbar { width:7px; }.custom-select-menu::-webkit-scrollbar-track { margin:7px 2px; border-radius:99px; background:#e8f1ef; }.custom-select-menu::-webkit-scrollbar-thumb { min-height:34px; border:2px solid #e8f1ef; border-radius:99px; background:#168b99; }.custom-select-menu::-webkit-scrollbar-thumb:hover { background:#0b7181; }.custom-select-menu::-webkit-scrollbar-button { display:none; width:0; height:0; }
/* Keep opened city lists inside the form flow instead of overflowing the card */
.custom-select.open .custom-select-trigger { border-radius:10px; }.custom-select.open .custom-select-menu { position:relative; top:auto; right:auto; left:auto; margin-top:7px; border:1px solid #0b8b95; border-radius:10px; box-shadow:none; }.custom-select-menu { z-index:auto; }
/* Restore floating dropdown geometry: controls keep their own frames */
.custom-select-menu { z-index:30; }.custom-select.open .custom-select-trigger { border-radius:10px 10px 0 0; }.custom-select.open .custom-select-menu { position:absolute; top:calc(100% - 1px); right:0; left:0; margin-top:0; border:1px solid #0b8b95; border-top:0; border-radius:0 0 11px 11px; box-shadow:0 14px 27px rgba(4,38,54,.15); }
/* The scrollbar now belongs to an inner options viewport, never the outer frame */
.custom-select-menu,.custom-select.open .custom-select-menu { display:flex; flex-direction:column; overflow:hidden; scrollbar-width:auto; }.custom-select.open .custom-select-menu { max-height:278px; }.custom-select-search { flex:0 0 auto; position:relative; }.custom-select-options { max-height:205px; min-height:0; overflow-y:auto; padding-right:4px; scrollbar-width:thin; scrollbar-color:#168b99 #e8f1ef; }.custom-select-options::-webkit-scrollbar { width:6px; }.custom-select-options::-webkit-scrollbar-track { margin:4px 0; border-radius:99px; background:#e8f1ef; }.custom-select-options::-webkit-scrollbar-thumb { min-height:30px; border-radius:99px; background:#168b99; }.custom-select-options::-webkit-scrollbar-thumb:hover { background:#0b7181; }.custom-select-options::-webkit-scrollbar-button { display:none; width:0; height:0; }
/* Hide the city-list scrollbar while preserving native scroll behavior */
.custom-select-options { -ms-overflow-style:none; scrollbar-width:none; }.custom-select-options::-webkit-scrollbar { display:none; width:0; height:0; }
/* Search feedback inside the city selector */
.custom-select-empty { padding:18px 10px; color:#6b858d; font-size:11px; text-align:center; }.custom-select-empty[hidden] { display:none; }
/* Ensure filtered city options actually disappear */
.custom-select-option[hidden] { display:none !important; }
/* Continuous focus glow around the whole opened custom select */
.custom-select.open { z-index:31; }.custom-select.open .custom-select-trigger { box-shadow:-4px -4px 0 rgba(11,139,149,.13),4px -4px 0 rgba(11,139,149,.13),-4px 0 0 rgba(11,139,149,.13),4px 0 0 rgba(11,139,149,.13); }.custom-select.open .custom-select-menu { box-shadow:-4px 0 0 rgba(11,139,149,.13),4px 0 0 rgba(11,139,149,.13),0 4px 0 rgba(11,139,149,.13),0 17px 28px rgba(4,38,54,.16); }
/* Optional email feedback */
.quote-form input.has-error { border-color:#c85a5a; box-shadow:0 0 0 4px rgba(200,90,90,.11); }.email-feedback { display:block; min-height:14px; margin-top:5px; color:#b84e4e; font-size:9px; font-weight:700; }.email-feedback:empty { display:none; }
/* Project gallery photographic media v2 */
.inner-page .projects-gallery .project-card { position:relative; overflow:hidden; border:1px solid rgba(7,74,90,.14); border-bottom:3px solid #0b8091; border-radius:2px; background:#f9fcf9; box-shadow:0 14px 30px rgba(3,30,45,.12); }
.inner-page .projects-gallery .project-media { position:relative; height:210px; overflow:hidden; isolation:isolate; background-color:#082d45; background-image:linear-gradient(180deg,rgba(3,25,39,.02) 34%,rgba(3,25,39,.43) 100%),url('../assets/images/project-showcase-v2.png'); background-repeat:no-repeat; background-size:100% 100%,200% 200%; background-position:0 0,0 0; transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s ease; }
.inner-page .projects-gallery .project-media::before { content:''; position:absolute; z-index:1; inset:15px; border:1px solid rgba(230,255,246,.46); opacity:.75; pointer-events:none; }
.inner-page .projects-gallery .project-media::after { content:'ASRA / SAHA PROJESİ'; position:absolute; z-index:2; left:16px; bottom:15px; color:#effffc; font:600 8px var(--mono); letter-spacing:.14em; text-shadow:0 1px 8px rgba(1,18,29,.72); }
.inner-page .projects-gallery .project-media-2 { background-position:0 0,100% 0; }
.inner-page .projects-gallery .project-media-3 { background-position:0 0,0 100%; }
.inner-page .projects-gallery .project-media-4 { background-position:0 0,100% 100%; }
.inner-page .projects-gallery .project-card:hover .project-media { transform:scale(1.055); filter:saturate(1.1) contrast(1.03); }
.inner-page .projects-gallery .project-info { position:relative; z-index:3; padding:19px 20px 20px; background:#f9fcf9; }
.inner-page .projects-gallery .project-info h4 { font-size:17px; }
.inner-page .projects-gallery .project-info .btn-primary { min-height:40px; padding-inline:18px; border-radius:2px; }
@media(max-width:620px) { .inner-page .projects-gallery .project-media { height:198px; } }
/* Project modal media matching */
.modal-media.project-media-1,.modal-media.project-media-2,.modal-media.project-media-3,.modal-media.project-media-4 { position:relative; min-height:310px; overflow:hidden; background-color:#082d45; background-image:linear-gradient(180deg,rgba(3,25,39,.04),rgba(3,25,39,.38)),url('../assets/images/project-showcase-v2.png'); background-repeat:no-repeat; background-size:100% 100%,200% 200%; background-position:0 0,0 0; }
.modal-media.project-media-2 { background-position:0 0,100% 0; }
.modal-media.project-media-3 { background-position:0 0,0 100%; }
.modal-media.project-media-4 { background-position:0 0,100% 100%; }
.modal-media.project-media-1 img,.modal-media.project-media-2 img,.modal-media.project-media-3 img,.modal-media.project-media-4 img { display:none; }
/* Project filter contrast fix */
.inner-page .project-filter { color:#c6efeb; }
.inner-page .project-filter > span { color:#9ee5df; }
.inner-page .project-filter .btn-ghost { color:#effffc; border-color:rgba(197,242,235,.64); background:rgba(5,48,70,.28); }
.inner-page .project-filter .btn-ghost:hover,.inner-page .project-filter .btn-ghost:focus-visible { color:#062d43; border-color:#bdf0e8; background:#c7f4ed; }
.inner-page .project-filter .btn-ghost.selected { color:#f7fffc; border-color:#1199ad; background:#1199ad; box-shadow:0 7px 16px rgba(1,19,33,.2); }
/* Compact header on scroll */
.site-header { will-change:height; transition:height .42s cubic-bezier(.2,.8,.2,1),background .3s ease,box-shadow .3s ease; }
.site-logo,.nav ul,.nav a,.header-actions .btn-outline { transition:height .42s cubic-bezier(.2,.8,.2,1),min-height .42s cubic-bezier(.2,.8,.2,1),padding .42s cubic-bezier(.2,.8,.2,1),gap .42s cubic-bezier(.2,.8,.2,1),font-size .28s ease,color .22s ease,background .22s ease,border-color .22s ease; }
.site-header.scrolled { height:82px; border-bottom-color:rgba(169,231,224,.3); }
.site-header.scrolled .site-logo { height:70px; }
.site-header.scrolled .nav ul { gap:27px; }
.site-header.scrolled .nav a { padding-block:7px; font-size:11px; }
.site-header.scrolled .header-actions .btn-outline { min-height:40px; padding-inline:15px; }
@media(max-width:980px) { .site-header.scrolled { height:64px; }.site-header.scrolled .site-logo { height:53px; }.site-header.scrolled .nav { top:72px; }.site-header.scrolled .nav-toggle { width:36px; height:36px; } }
@media(prefers-reduced-motion:reduce) { .site-header,.site-logo,.nav ul,.nav a,.header-actions .btn-outline { transition:none !important; } }
/* Services ESS card layout */
@media(min-width:981px) { .inner-page .system-options { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.inner-page .system-card-ess { border-top-color:#76a921; background:linear-gradient(155deg,#f9fdf9,#eff8ef); }
.inner-page .system-card-ess .tag { color:#4f8113; }
/* Stable system-card hover */
.inner-page .system-card { transform:none; transition:box-shadow .28s ease,border-color .24s ease,background-color .24s ease; }
.inner-page .system-card:hover { transform:none; background:#f8fcf9; box-shadow:0 16px 28px rgba(3,31,47,.16); }
.inner-page .system-card.selected { transform:none; background:#f8fcf9; box-shadow:0 12px 24px rgba(3,31,47,.13),inset 0 3px 0 var(--lime); }
.inner-page .system-card-ess:hover,.inner-page .system-card-ess.selected { background:linear-gradient(155deg,#f9fdf9,#eff8ef); }
/* System-card hover motion restored */
.inner-page .system-card { transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .24s ease,background-color .24s ease; }
.inner-page .system-card:hover { transform:translateY(-2px) scale(1.025); }
.inner-page .system-card.selected { transform:none; }
/* System detail page */
.inner-page .system-card { text-decoration:none; cursor:pointer; }
.system-detail-page .container-inner { padding-bottom:78px; }
.system-detail-page .container-inner > p { max-width:640px; }
.detail-layout { position:relative; z-index:2; display:grid; grid-template-columns:1.08fr .92fr; gap:16px; margin-top:42px; }
.detail-overview { min-height:320px; padding:29px; color:#effffc; background:linear-gradient(135deg,#073d55,#0a6172); box-shadow:0 16px 30px rgba(3,30,45,.16); }
.detail-index { color:var(--lime); font:600 9px var(--mono); letter-spacing:.12em; }
.detail-overview h2 { max-width:470px; margin:39px 0 12px; color:#fff; font:800 29px/1.08 var(--display); letter-spacing:-.045em; }
.detail-overview > p { max-width:500px; margin:0; color:#c0d9dc; font-size:12px; line-height:1.7; }
.detail-specs { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:28px; padding-top:17px; border-top:1px solid rgba(209,255,248,.2); }
.detail-specs span { display:block; margin-bottom:6px; color:#99ceca; font:500 8px var(--mono); letter-spacing:.1em; }
.detail-specs strong { color:#f4fffb; font-size:11px; }
.detail-benefits { display:grid; gap:12px; }
.detail-benefits article { min-height:98px; padding:17px 19px; border-left:3px solid #9dbfbd; background:#f9fcf9; box-shadow:0 10px 22px rgba(3,30,45,.09); }
.detail-benefits article:nth-child(2) { border-left-color:#0d8293; }
.detail-benefits article:nth-child(3) { border-left-color:var(--lime); }
.detail-benefits span { color:#0b8192; font:500 9px var(--mono); }
.detail-benefits h3 { margin:9px 0 4px; color:#092b3d; font:800 14px var(--display); }
.detail-benefits p { margin:0; color:#66808a; font-size:10px; }
.detail-actions { position:relative; z-index:2; display:flex; gap:22px; align-items:center; margin-top:22px; }
.system-detail-page .text-link { color:#d7f8f0; }
.system-detail-page .text-link i { color:var(--lime); font-style:normal; }
@media(max-width:980px) { .detail-layout { grid-template-columns:1fr; }.detail-overview { min-height:280px; } }
@media(max-width:620px) { .detail-layout { margin-top:30px; }.detail-overview { min-height:0; padding:23px; }.detail-overview h2 { margin-top:29px; font-size:25px; }.detail-specs { grid-template-columns:1fr; gap:12px; }.detail-actions { align-items:stretch; flex-direction:column; gap:15px; }.system-detail-page .text-link { text-align:center; } }
/* Global scrollbar */
:root { --scrollbar-offset:var(--header); }
html { scrollbar-width:thin; scrollbar-color:#0b7e90 #06283f; }
::-webkit-scrollbar { width:12px; height:12px; }
::-webkit-scrollbar-track { margin-top:var(--scrollbar-offset); background:#06283f; }
::-webkit-scrollbar-thumb { min-height:44px; border:3px solid #06283f; border-radius:999px; background:#1a8191; }
::-webkit-scrollbar-thumb:hover { background:#b8ee64; }
::-webkit-scrollbar-corner { background:#06283f; }
/* Header-aligned custom scrollbar */
html { scrollbar-width:none; }
html::-webkit-scrollbar { width:0 !important; height:0 !important; }
.site-scrollbar { position:fixed; z-index:55; top:var(--scrollbar-offset); right:0; bottom:0; width:12px; overflow:hidden; background:#06283f; cursor:pointer; }
.site-scrollbar[hidden] { display:none; }
.site-scrollbar-thumb { width:100%; min-height:44px; box-sizing:border-box; border:3px solid #06283f; border-radius:999px; background:#1a8191; cursor:grab; transition:background .18s ease; }
.site-scrollbar:hover .site-scrollbar-thumb { background:#b8ee64; }
.is-dragging-scrollbar,.is-dragging-scrollbar * { cursor:grabbing !important; user-select:none !important; }
@media(max-width:620px) { .site-scrollbar { width:10px; } .site-scrollbar-thumb { border-width:2px; } }
/* Native header-aligned scroll surface */
html,body { height:100%; overflow:hidden; }
.page-scroll { position:fixed; z-index:1; top:var(--scrollbar-offset); right:0; bottom:0; left:0; overflow-y:scroll; overflow-x:hidden; scrollbar-width:none; transition:top .42s cubic-bezier(.2,.8,.2,1); }
.page-scroll > main { margin-top:calc(-1 * var(--scrollbar-offset)); transition:margin-top .42s cubic-bezier(.2,.8,.2,1); }
.page-scroll::-webkit-scrollbar { width:0 !important; height:0 !important; }
.site-scrollbar { display:none !important; }
.scrollbar-overlay { position:fixed; z-index:55; top:var(--scrollbar-offset); right:0; bottom:5px; display:flex; width:19px; justify-content:flex-end; pointer-events:auto; cursor:pointer; transition:top .42s cubic-bezier(.2,.8,.2,1); }
.scrollbar-overlay[hidden] { display:none; }
.scrollbar-overlay-thumb { width:7px; min-height:42px; border-radius:999px; background:transparent; cursor:pointer; transform:translateY(0); transition:background .16s ease,box-shadow .16s ease; }
.page-scroll.is-scrolling ~ .scrollbar-overlay .scrollbar-overlay-thumb,.scrollbar-overlay:hover .scrollbar-overlay-thumb { background:#1a8191; box-shadow:inset 0 0 0 2px rgba(6,36,58,.8); }
.page-scroll.is-scrolling ~ .scrollbar-overlay .scrollbar-overlay-thumb:hover,.scrollbar-overlay:hover .scrollbar-overlay-thumb:hover { background:#b8ee64; }
.scrollbar-overlay-thumb:active { cursor:grabbing; }
@media(max-width:620px) { .scrollbar-overlay { width:16px; bottom:3px; } .scrollbar-overlay-thumb { width:6px; min-height:36px; } }
@media(prefers-reduced-motion:reduce) { .page-scroll,.page-scroll > main { transition:none !important; } }
/* Scrollbar transparent base */
html,body,.page-scroll { background-color:transparent; }
/* Service-card calm hover motion */
.service-card { overflow:hidden; transform:none; transition:box-shadow .32s ease,border-color .28s ease,background .28s ease; }
.service-card::after { content:''; position:absolute; z-index:0; top:0; right:0; left:0; height:3px; background:linear-gradient(90deg,#0d8497,var(--lime)); transform:scaleX(0); transform-origin:left; transition:transform .38s cubic-bezier(.2,.8,.2,1); }
.service-card > * { position:relative; z-index:1; }
.service-card:hover { transform:none; box-shadow:0 12px 24px rgba(3,31,47,.12); }
.service-card:hover::after { transform:scaleX(1); }
.service-card .service-icon { transition:transform .32s cubic-bezier(.2,.8,.2,1),filter .28s ease; }
.service-card:hover .service-icon { transform:translateX(5px); filter:brightness(1.06); }
.service-card>a { transition:transform .28s cubic-bezier(.2,.8,.2,1),background .22s ease,color .22s ease,border-color .22s ease; }
.service-card:hover>a { transform:translate(3px,-3px); color:#fff; border-color:#0d8293; background:#0d8293; }
.service-card.featured:hover>a { color:#063044; border-color:var(--lime); background:var(--lime); }
@media(max-width:620px) { .service-card:hover { transform:none; } }
/* Global interactive cursor */
a[href],button,[role="button"],[role="tab"],[data-filter],[data-system],summary,select,input[type="checkbox"],input[type="radio"],input[type="submit"],input[type="button"],.custom-select,.custom-select-trigger,.modal-close,.nav-toggle { cursor:pointer; }
input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="number"],textarea { cursor:text; }
[disabled],button:disabled,input:disabled,select:disabled { cursor:not-allowed; }
/* CTA and typography refinement */
body { font-size:15px; }
.nav a { font-size:13px; }
.btn-primary,.btn-outline,.btn-ghost { font-size:12px; }
.hero-copy>p,.section-heading>p,.impact-content>p,.container-inner>p,.quote-hero p { font-size:15px; }
.service-card h3 { font-size:20px; }
.service-card p { font-size:13px; line-height:1.7; }
.project-info p { font-size:11px; }
.project-info a { font-size:11px; }
.feature-list b { font-size:12px; }
.feature-list small { font-size:11px; }
.inner-page .system-card p,.about-card p,.bess-band p { font-size:12px; line-height:1.65; }
.form-field>span,.quote-choice legend { font-size:11px; }
.quote-form input,.quote-form select,.quote-form textarea { font-size:14px; }
.quote-system strong { font-size:12px; }
.quote-system small { font-size:9px; }
.cta-section { padding:76px 0; background:linear-gradient(135deg,#06293f,#08394f); }
.cta-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:center; min-height:178px; padding:34px 48px; overflow:hidden; border:1px solid rgba(185,245,237,.23); background:linear-gradient(100deg,rgba(9,76,96,.86),rgba(6,45,65,.88)); }
.cta-inner::before { content:''; position:absolute; inset:0; opacity:.28; pointer-events:none; background:linear-gradient(90deg,rgba(166,239,232,.22) 1px,transparent 1px) right/82px 100%,linear-gradient(rgba(166,239,232,.2) 1px,transparent 1px) right/100% 52px; mask-image:linear-gradient(90deg,transparent 0%,#000 60%,transparent 100%); }
.cta-inner>div:first-child { position:relative; z-index:1; }
.cta-inner h2 { max-width:590px; margin:8px 0 0; font-size:clamp(2.5rem,4.1vw,3.7rem); line-height:1.02; }
.cta-round { position:relative; z-index:1; display:inline-flex; width:auto; min-width:166px; height:54px; align-items:center; justify-content:center; gap:15px; padding:0 24px; border:1px solid var(--lime); border-radius:3px; color:#072b3d; background:var(--lime); font:800 13px var(--body); text-decoration:none; transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease; }
.cta-round span { font-size:18px; transition:transform .22s ease; }
.cta-round:hover { transform:translateY(-3px); box-shadow:0 10px 22px rgba(1,20,31,.28); background:#efffae; }
.cta-round:hover span { transform:translate(3px,-3px); }
@media(max-width:620px) { .cta-section { padding:52px 0; }.cta-inner { grid-template-columns:1fr; gap:24px; min-height:0; padding:30px 25px; }.cta-inner h2 { font-size:2.45rem; }.cta-round { width:100%; min-width:0; } }
/* Typography scale increase */
body { font-size:16px; }
.nav a { font-size:14px; }
.btn-primary,.btn-outline,.btn-ghost { font-size:13px; }
.hero-copy>p,.section-heading>p,.impact-content>p,.container-inner>p,.quote-hero p { font-size:16px; }
.service-card h3 { font-size:21px; }
.service-card p { font-size:14px; }
.project-info p,.project-info a { font-size:12px; }
.feature-list b { font-size:13px; }
.feature-list small { font-size:12px; }
.inner-page .system-card p,.about-card p,.bess-band p { font-size:13px; }
.form-field>span,.quote-choice legend { font-size:12px; }
.quote-form input,.quote-form select,.quote-form textarea { font-size:15px; }
.quote-system strong { font-size:13px; }
.quote-system small { font-size:10px; }
.secure-note,.consent-row { font-size:11px; }
@media(max-width:620px) { body { font-size:15px; }.nav a { font-size:13px; } }
/* Dark-section contrast and aligned quote CTA */
.impact .impact-content h2 { color:#f3fffc; }
.impact .impact-content h2 em { color:var(--lime); }
.impact .feature-list b { color:#f1fffb; }
.site-header .header-actions .btn-outline { border-color:var(--lime); color:#082b3d; background:var(--lime); }
.site-header .header-actions .btn-outline:hover { color:#082b3d; border-color:#efffae; background:#efffae; box-shadow:0 8px 18px rgba(1,20,31,.22); }
/* Project detail modal entrance */
.project-modal[aria-hidden="false"] { animation:project-modal-backdrop-in .28s ease-out both; }
.project-modal[aria-hidden="false"] .modal-inner { animation:project-modal-panel-in .46s cubic-bezier(.18,.84,.24,1) both; }
.project-modal[aria-hidden="false"] .modal-media { animation:project-modal-media-in .5s .08s cubic-bezier(.2,.8,.2,1) both; }
.project-modal[aria-hidden="false"] .modal-body > * { animation:project-modal-copy-in .36s both; }
.project-modal[aria-hidden="false"] .modal-body > :nth-child(1) { animation-delay:.13s; }
.project-modal[aria-hidden="false"] .modal-body > :nth-child(2) { animation-delay:.17s; }
.project-modal[aria-hidden="false"] .modal-body > :nth-child(3) { animation-delay:.21s; }
.project-modal[aria-hidden="false"] .modal-body > :nth-child(4) { animation-delay:.25s; }
.project-modal[aria-hidden="false"] .modal-body > :nth-child(5) { animation-delay:.29s; }
.project-modal[aria-hidden="false"] .modal-body > :nth-child(6) { animation-delay:.33s; }
.project-modal[aria-hidden="false"] .modal-body > :nth-child(7) { animation-delay:.37s; }
@keyframes project-modal-backdrop-in { from { background:rgba(2,20,32,0); } to { background:rgba(2,20,32,.76); } }
@keyframes project-modal-panel-in { from { opacity:0; transform:translateY(26px) scale(.975); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes project-modal-media-in { from { opacity:0; transform:translateX(-16px); } to { opacity:1; transform:translateX(0); } }
@keyframes project-modal-copy-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .project-modal[aria-hidden="false"],.project-modal[aria-hidden="false"] .modal-inner,.project-modal[aria-hidden="false"] .modal-media,.project-modal[aria-hidden="false"] .modal-body > * { animation:none !important; } }
/* Refined project modal close control */
.modal-close { top:16px; right:16px; display:grid; width:36px; height:36px; place-items:center; border:1px solid #0a5268; border-radius:50%; color:#f4fffb; background:#0a5268; font-size:20px; font-weight:600; line-height:1; transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease; }
.modal-close:hover { transform:rotate(90deg) scale(1.06); border-color:var(--lime); color:#082b3d; background:var(--lime); }
.modal-close:focus-visible { outline:3px solid rgba(216,245,118,.45); outline-offset:3px; }
/* Softer project-detail card geometry */
.modal-inner { border-radius:18px; overflow:hidden; }
.modal-media,.modal-media img { border-radius:12px; }
/* Project detail modal exit */
.project-modal.is-closing { display:flex; animation:project-modal-backdrop-out .26s ease-in both; }
.project-modal.is-closing .modal-inner { animation:project-modal-panel-out .28s cubic-bezier(.45,0,.7,.2) both; }
.project-modal.is-closing .modal-media,.project-modal.is-closing .modal-body > * { animation:none; }
@keyframes project-modal-backdrop-out { from { background:rgba(2,20,32,.76); } to { background:rgba(2,20,32,0); } }
@keyframes project-modal-panel-out { from { opacity:1; transform:translateY(0) scale(1); } to { opacity:0; transform:translateY(14px) scale(.985); } }
@media(prefers-reduced-motion:reduce) { .project-modal.is-closing,.project-modal.is-closing .modal-inner { animation:none !important; } }
/* Project completion year */
.projects-gallery .project-info .project-year { display:block; margin-bottom:7px; color:#0b8292; font:500 10px var(--mono); letter-spacing:.08em; }
.modal-body #modal-year { color:#0b8292; font-weight:700; }
/* Phone hero layout: prevent horizontal overflow and preserve hierarchy */
@media(max-width:620px) {
  .hero { padding:101px 0 48px; overflow:clip; }
  .hero-inner { display:block; min-height:0; }
  .hero-copy { width:100%; max-width:100%; margin:0; transform:none !important; text-align:left; }
  .hero-eyebrow,.hero-actions,.trust-row { justify-content:flex-start; }
  .hero h1 { width:100%; max-width:340px; margin:15px 0 17px; font-size:clamp(2.25rem,10.2vw,2.6rem); line-height:1.03; letter-spacing:-.06em; text-wrap:balance; overflow-wrap:normal; }
  .hero-copy>p { max-width:335px; margin:0; font-size:15px; line-height:1.65; }
  .hero-actions { width:min(100%,330px); align-items:stretch; margin-top:24px; }
  .hero-actions .btn-primary { width:100%; min-width:0; padding-inline:14px; }
  .hero-actions .text-link { justify-content:center; }
  .trust-row { margin-top:31px; }
  .hero-visual { width:340px; max-width:100%; height:290px; transform:scale(.62); transform-origin:top center; margin:12px auto -98px; }
}
/* Responsive hero safeguard for compact tablets and zoomed phone browsers */
@media(max-width:980px) {
  .hero-inner,.hero-copy { width:100%; min-width:0; }
  .hero-copy { max-width:100%; }
  .hero h1 { max-width:100%; overflow-wrap:anywhere; }
  .hero-copy>p,.hero-actions,.trust-row { max-width:100%; min-width:0; }
  .hero-actions .btn-primary { flex:0 1 auto; min-width:0; }
}
/* True one-column hero on every compact viewport */
@media(max-width:980px) {
  .hero-inner { display:block; width:100%; min-width:0; }
  .hero-copy { width:100%; max-width:560px; min-width:0; margin-inline:auto; }
  .hero h1 { width:100%; max-width:100%; font-size:clamp(2.25rem,7.2vw,3.15rem); line-height:1.02; overflow-wrap:anywhere; }
  .hero-copy>p { max-width:520px; margin-inline:auto; }
  .hero-actions { width:100%; max-width:520px; margin-inline:auto; flex-wrap:wrap; }
  .hero-visual { width:min(420px,100%); min-width:0; height:360px; margin:20px auto -36px; transform:scale(.78); transform-origin:top center; }
}
@media(max-width:620px) {
  .hero-copy { max-width:335px; margin-inline:0; }
  .hero h1 { font-size:clamp(2.2rem,9.6vw,2.5rem); }
  .hero-copy>p,.hero-actions { max-width:335px; margin-inline:0; }
  .hero-visual { width:340px; height:290px; margin:12px auto -98px; transform:scale(.62); }
}
/* Cinematic, performance-aware home hero video */
.hero-video-hero { isolation:isolate; min-height:720px; background:radial-gradient(circle at 72% 20%,#17677a 0,transparent 31%),linear-gradient(125deg,#03192b,#08384e 60%,#0b5666); }
.hero-video { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; filter:brightness(.58) saturate(.84) contrast(1.08); transform:scale(1.025); transition:opacity 1.1s ease; }
.hero-video.is-ready { opacity:.72; animation:hero-video-drift 18s ease-in-out infinite alternate; }
.hero-video-hero::before { z-index:1; opacity:.18; }
.hero-video-hero::after { content:''; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(3,21,35,.88) 0%,rgba(3,26,39,.54) 43%,rgba(3,24,37,.19) 78%),linear-gradient(0deg,rgba(3,21,35,.48),transparent 43%); }
.hero-video-hero .hero-inner { z-index:2; grid-template-columns:minmax(0,1fr); min-height:540px; }
.hero-video-hero .hero-copy { max-width:710px; }
.hero-video-hero .hero-visual { display:none; }
.hero-video-hero .hero-bottom { z-index:2; }
@keyframes hero-video-drift { from { transform:scale(1.025) translate3d(0,0,0); } to { transform:scale(1.07) translate3d(-1.2%,-.7%,0); } }
@media(max-width:980px) { .hero-video-hero { min-height:0; }.hero-video-hero .hero-inner { min-height:0; }.hero-video-hero .hero-copy { max-width:560px; } }
@media(max-width:620px) { .hero-video-hero::after { background:linear-gradient(90deg,rgba(3,21,35,.72),rgba(3,26,39,.4)),linear-gradient(0deg,rgba(3,21,35,.46),transparent 46%); }.hero-video-hero .hero-copy { max-width:335px; } }
@media(prefers-reduced-motion:reduce) { .hero-video { display:none; } }
/* Center the cinematic hero content */
.hero-video-hero .hero-copy { margin-inline:auto; text-align:center; }
.hero-video-hero .hero-eyebrow,.hero-video-hero .hero-actions,.hero-video-hero .trust-row { justify-content:center; }
.hero-video-hero .hero-copy>p { margin-inline:auto; }
@media(max-width:620px) { .hero-video-hero .hero-copy { margin-inline:auto; text-align:center; }.hero-video-hero .hero-copy>p,.hero-video-hero .hero-actions { margin-inline:auto; } }
/* Always-visible hero video fallback */
.hero-video { opacity:.68; }
.hero-video.is-ready { opacity:.72; }
/* Explicit cinematic hero layer order */
.hero-video-hero .hero-video { z-index:1; }
.hero-video-hero::before,.hero-video-hero::after { z-index:2; }
.hero-video-hero .hero-inner,.hero-video-hero .hero-bottom { z-index:3; }
/* Let the cinematic footage stay visibly present */
.hero-video-hero .hero-video { opacity:.94; filter:brightness(.92) saturate(1.08) contrast(1.03); }
.hero-video-hero .hero-video.is-ready { opacity:.94; }
.hero-video-hero::before { opacity:.075; }
.hero-video-hero::after { background:linear-gradient(90deg,rgba(3,21,35,.58) 0%,rgba(3,26,39,.29) 48%,rgba(3,24,37,.22) 100%),linear-gradient(0deg,rgba(3,21,35,.32),transparent 49%); }
@media(max-width:620px) { .hero-video-hero::after { background:linear-gradient(90deg,rgba(3,21,35,.48),rgba(3,26,39,.19)),linear-gradient(0deg,rgba(3,21,35,.28),transparent 50%); } }
/* Seamless hero-video loop: one active stream, brief crossfade at the end */
.hero-video-hero .hero-video { opacity:0; transition:opacity 1.25s ease-in-out; }
.hero-video-hero .hero-video.is-active { opacity:.94; }
.hero-video-hero .hero-video.is-fading-out { opacity:0; }
/* Single-stream full-resolution hero video: no duplicate decoder or GPU drift */
.hero-video-hero .hero-video,.hero-video-hero .hero-video.is-ready,.hero-video-hero .hero-video.is-active { opacity:.88; filter:none; transform:none; animation:none; transition:opacity .42s ease; will-change:auto; }
.hero-video-hero.is-loop-veiled .hero-video { opacity:.3; }
/* Keep mobile header controls anchored to viewport edges while resizing */
@media(max-width:980px) {
  .site-header .header-inner { width:100%; max-width:none; margin:0; padding-inline:18px; }
  .site-header .brand { margin-right:auto; }
  .site-header .header-actions { margin-left:auto; }
}
/* Keep the quote CTA available beside the hamburger menu */
@media(max-width:980px) {
  .site-header .header-actions .btn-outline { display:inline-flex; min-height:40px; padding-inline:13px; font-size:12px; }
}
@media(max-width:620px) {
  .site-header .header-actions { gap:8px; }
  .site-header .header-actions .btn-outline { min-height:36px; padding-inline:10px; font-size:11px; }
  .site-header .header-actions .btn-outline span { display:none; }
}
/* Mobile pull-to-refresh for the custom scroll surface */
.pull-refresh-indicator { --pull-distance:0px; position:fixed; z-index:61; top:var(--scrollbar-offset); left:50%; display:flex; gap:8px; align-items:center; min-height:36px; padding:0 13px; border:1px solid rgba(174,239,229,.42); border-radius:999px; color:#eafff7; background:rgba(5,40,58,.93); box-shadow:0 8px 20px rgba(1,17,29,.24); font-size:11px; font-weight:800; opacity:0; pointer-events:none; transform:translate(-50%,calc(-100% + var(--pull-distance))); transition:opacity .18s ease,transform .18s ease,background .18s ease; }
.pull-refresh-indicator.is-visible { opacity:1; }
.pull-refresh-icon { display:grid; width:17px; height:17px; place-items:center; border:1px solid currentColor; border-radius:50%; color:var(--lime); font-size:12px; line-height:1; transition:transform .18s ease; }
.pull-refresh-indicator.is-ready { border-color:var(--lime); color:#092b3d; background:var(--lime); }
.pull-refresh-indicator.is-ready .pull-refresh-icon { color:#092b3d; transform:rotate(180deg); }
.pull-refresh-indicator.is-loading .pull-refresh-icon { animation:pull-refresh-spin .72s linear infinite; }
@keyframes pull-refresh-spin { to { transform:rotate(360deg); } }
@media(min-width:981px) { .pull-refresh-indicator { display:none; } }
/* Equal-width about cards with a subtle outward hover response */
@media(min-width:621px) {
  .inner-page .about-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  .inner-page .about-card.accent { grid-column:auto; }
  .inner-page .about-grid .about-card { min-width:0; min-height:230px; transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease,filter .32s ease; }
}
@media(min-width:621px) and (hover:hover) {
  .inner-page .about-grid:has(.about-card:nth-child(1):hover) .about-card:nth-child(n+2) { transform:translateX(11px) scale(.985); filter:saturate(.92); }
  .inner-page .about-grid:has(.about-card:nth-child(2):hover) .about-card:nth-child(1) { transform:translateX(-11px) scale(.985); filter:saturate(.92); }
  .inner-page .about-grid:has(.about-card:nth-child(2):hover) .about-card:nth-child(3) { transform:translateX(11px) scale(.985); filter:saturate(.92); }
  .inner-page .about-grid:has(.about-card:nth-child(3):hover) .about-card:nth-child(-n+2) { transform:translateX(-11px) scale(.985); filter:saturate(.92); }
  .inner-page .about-grid .about-card:hover { position:relative; z-index:1; transform:translateY(-7px) scale(1.015); filter:none; box-shadow:0 20px 34px rgba(3,31,47,.18); }
}
/* Borderless mobile hamburger control */
.nav-toggle { border:0; background:transparent; box-shadow:none; }
.nav-toggle:hover,.nav-toggle:focus-visible { border:0; background:transparent; box-shadow:none; }
.nav-toggle:focus-visible { outline:2px solid var(--lime); outline-offset:2px; }
/* Rounded mobile navigation panel */
@media(max-width:980px) {
  .nav { border-radius:14px; overflow:hidden; }
  .nav a { border-radius:8px; }
}
/* High-contrast outline controls on light backgrounds */
.projects .btn-outline.dark,.section-heading .btn-outline.dark { border-color:#0a6f82; color:#07384c; background:rgba(255,255,255,.3); }
.projects .btn-outline.dark:hover,.section-heading .btn-outline.dark:hover { border-color:#0a6f82; color:#f4fffb; background:#0a6f82; }
/* Separate mobile menu effects and clip the active indicator inside each item */
@media(max-width:980px) {
  .nav { padding:10px; }
  .nav ul { display:grid; gap:8px; }
  .nav li { min-width:0; }
  .nav a { overflow:hidden; padding:12px 14px; }
  .nav a::after { right:12px; bottom:0; left:12px; border-radius:999px; }
  .nav a:hover,.nav a.active { padding-left:17px; }
}
/* Ready-made Font Awesome symbols: solar installation and field maintenance */
.service-icon.solar-mini,.service-icon.grid-mini { width:50px; height:50px; margin-top:39px; border:0; border-radius:0; }
.service-icon.solar-mini::before,.service-icon.solar-mini::after,.service-icon.grid-mini::before,.service-icon.grid-mini::after { content:none; }
.service-icon.solar-mini img,.service-icon.grid-mini img { display:block; width:100%; height:100%; object-fit:contain; }
.service-icon.solar-mini img { filter:invert(42%) sepia(82%) saturate(560%) hue-rotate(143deg) brightness(88%) contrast(91%); }
.service-icon.grid-mini img { filter:invert(43%) sepia(82%) saturate(590%) hue-rotate(143deg) brightness(88%) contrast(91%); }
/* Ready-made battery symbol for the BESS card */
.service-icon.battery-mini { width:50px; height:50px; margin-top:39px; border:0; border-radius:0; }
.service-icon.battery-mini::after { content:none; }
.service-icon.battery-mini img { display:block; width:100%; height:100%; object-fit:contain; filter:invert(89%) sepia(55%) saturate(730%) hue-rotate(22deg) brightness(106%) contrast(91%); }

/* Keep the maintenance mark optically balanced with the other service symbols */
.service-icon.grid-mini img { width:43px; height:43px; margin:3px auto 0; }

/* Signature system selector: layered cards with lightweight motion */
.system-options-showcase { gap:18px; perspective:1100px; }
.inner-page .system-options-showcase .system-card { position:relative; isolation:isolate; min-height:292px; padding:24px 25px 22px; overflow:hidden; border:1px solid #b8d4d0; border-radius:18px; color:#092b3d; background:linear-gradient(140deg,#ffffff,#edf7f4); box-shadow:0 13px 26px rgba(3,31,47,.10); text-decoration:none; transform:translate3d(0,0,0); will-change:transform; animation:system-card-enter .72s cubic-bezier(.2,.85,.25,1) both; }
.inner-page .system-options-showcase .system-card:nth-child(2) { animation-delay:.10s; }
.inner-page .system-options-showcase .system-card:nth-child(3) { animation-delay:.18s; }
.inner-page .system-options-showcase .system-card:nth-child(4) { animation-delay:.26s; }
.inner-page .system-options-showcase .system-card::before { content:''; position:absolute; z-index:-2; top:-110px; right:-92px; width:260px; height:260px; border:1px solid rgba(4,89,106,.16); border-radius:50%; background:radial-gradient(circle at 38% 60%,rgba(150,237,223,.48),rgba(150,237,223,0) 61%); transition:transform .58s cubic-bezier(.2,.8,.2,1),opacity .35s ease; }
.inner-page .system-options-showcase .system-card::after { content:''; position:absolute; z-index:-1; inset:0; opacity:.55; pointer-events:none; background:linear-gradient(90deg,rgba(7,91,109,.07) 1px,transparent 1px),linear-gradient(rgba(7,91,109,.06) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(135deg,#000 0%,transparent 69%); }
.system-card-index { display:block; color:#117f91; font:700 10px var(--mono); letter-spacing:.12em; }
.system-card-icon { display:grid; width:58px; height:58px; place-items:center; margin:20px 0 24px; border:1px solid rgba(9,110,127,.20); border-radius:17px; background:linear-gradient(145deg,#e7fbf5,#ccefe9); box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 9px 18px rgba(5,98,113,.13); transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease; }
.system-card-icon img { display:block; width:31px; height:31px; object-fit:contain; filter:invert(38%) sepia(83%) saturate(705%) hue-rotate(143deg) brightness(82%) contrast(93%); }
.inner-page .system-options-showcase .system-card h4 { position:relative; margin:0 0 10px; font-size:21px; letter-spacing:-.035em; }
.inner-page .system-options-showcase .system-card p { position:relative; max-width:305px; margin:0; color:#5e7b84; font-size:13px; line-height:1.6; }
.inner-page .system-options-showcase .system-card .tag { position:relative; display:flex; gap:9px; align-items:center; margin-top:auto; color:#087d91; font:700 10px var(--mono); letter-spacing:.04em; }
.inner-page .system-options-showcase .system-card .tag b { display:grid; width:22px; height:22px; place-items:center; border:1px solid currentColor; border-radius:50%; font:700 13px/1 var(--body); transition:transform .3s ease,color .25s ease,background .25s ease; }
.inner-page .system-options-showcase .system-card[data-system="hybrid"],.inner-page .system-options-showcase .system-card[data-system="ess"] { color:#effffc; border-color:#0d6576; background:linear-gradient(145deg,#06364d,#075d6e); box-shadow:0 16px 30px rgba(3,31,47,.22); }
.inner-page .system-options-showcase .system-card[data-system="hybrid"]::before,.inner-page .system-options-showcase .system-card[data-system="ess"]::before { border-color:rgba(210,255,245,.24); background:radial-gradient(circle at 35% 60%,rgba(104,219,205,.40),rgba(104,219,205,0) 62%); }
.inner-page .system-options-showcase .system-card[data-system="hybrid"]::after,.inner-page .system-options-showcase .system-card[data-system="ess"]::after { opacity:.45; background:linear-gradient(90deg,rgba(185,248,238,.11) 1px,transparent 1px),linear-gradient(rgba(185,248,238,.10) 1px,transparent 1px); }
.inner-page .system-options-showcase .system-card[data-system="hybrid"] .system-card-index,.inner-page .system-options-showcase .system-card[data-system="ess"] .system-card-index { color:#d9f76b; }
.inner-page .system-options-showcase .system-card[data-system="hybrid"] .system-card-icon,.inner-page .system-options-showcase .system-card[data-system="ess"] .system-card-icon { border-color:rgba(216,245,118,.48); background:rgba(216,245,118,.13); box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 22px rgba(0,16,28,.20); }
.inner-page .system-options-showcase .system-card[data-system="hybrid"] .system-card-icon img,.inner-page .system-options-showcase .system-card[data-system="ess"] .system-card-icon img { filter:invert(87%) sepia(65%) saturate(444%) hue-rotate(23deg) brightness(105%) contrast(91%); }
.inner-page .system-options-showcase .system-card[data-system="hybrid"] h4,.inner-page .system-options-showcase .system-card[data-system="ess"] h4 { color:#fff; }
.inner-page .system-options-showcase .system-card[data-system="hybrid"] p,.inner-page .system-options-showcase .system-card[data-system="ess"] p { color:#bdd5d8; }
.inner-page .system-options-showcase .system-card[data-system="hybrid"] .tag,.inner-page .system-options-showcase .system-card[data-system="ess"] .tag { color:#d9f76b; }
.inner-page .system-options-showcase .system-card[data-system="off-grid"] .system-card-icon { background:linear-gradient(145deg,#f2fbdf,#dff3af); }
.inner-page .system-options-showcase .system-card[data-system="ess"] { border-color:#568b71; background:linear-gradient(145deg,#073c50,#155a58); }
.inner-page .system-options-showcase .system-card:hover { border-color:#0b98a4; background:linear-gradient(140deg,#fff,#e3f7f1); box-shadow:0 22px 38px rgba(3,31,47,.19); transform:translateY(-9px) rotateX(2deg); }
.inner-page .system-options-showcase .system-card[data-system="hybrid"]:hover,.inner-page .system-options-showcase .system-card[data-system="ess"]:hover { border-color:var(--lime); background:linear-gradient(145deg,#064257,#087282); box-shadow:0 23px 42px rgba(2,29,43,.30),0 0 0 3px rgba(216,245,118,.12); }
.inner-page .system-options-showcase .system-card:hover::before { opacity:.95; transform:scale(1.22) translate(-17px,22px); }
.inner-page .system-options-showcase .system-card:hover .system-card-icon { box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 15px 25px rgba(5,98,113,.20); transform:translateY(-5px) rotate(-7deg) scale(1.08); }
.inner-page .system-options-showcase .system-card:hover .tag b { color:#fff; background:#087d91; transform:translate(3px,-3px); }
.inner-page .system-options-showcase .system-card[data-system="hybrid"]:hover .tag b,.inner-page .system-options-showcase .system-card[data-system="ess"]:hover .tag b { color:#07394c; background:var(--lime); }
.inner-page .system-options-showcase .system-card.selected { border-color:var(--lime); box-shadow:0 0 0 3px rgba(216,245,118,.18),0 18px 34px rgba(3,31,47,.18); transform:translateY(-5px); }
@keyframes system-card-enter { from { opacity:0; transform:translate3d(0,24px,0) scale(.97); } to { opacity:1; transform:translate3d(0,0,0) scale(1); } }
@media(max-width:980px) { .inner-page .system-options-showcase .system-card { min-height:250px; } }
@media(max-width:620px) { .system-options-showcase { gap:13px; }.inner-page .system-options-showcase .system-card { min-height:235px; padding:20px; border-radius:14px; }.system-card-icon { width:50px; height:50px; margin:15px 0 18px; border-radius:14px; }.system-card-icon img { width:27px; height:27px; }.inner-page .system-options-showcase .system-card h4 { font-size:19px; }.inner-page .system-options-showcase .system-card:hover { transform:translateY(-4px); } }
@media(prefers-reduced-motion:reduce) { .inner-page .system-options-showcase .system-card { animation:none; }.inner-page .system-options-showcase .system-card,.inner-page .system-options-showcase .system-card::before,.system-card-icon,.inner-page .system-options-showcase .system-card .tag b { transition:none !important; } }
/* Touch devices: keep press feedback within each control's own boundary */
@media (hover:none), (pointer:coarse) {
  a,button,[role="button"] { -webkit-tap-highlight-color:transparent; }
  .btn-primary,.btn-outline,.btn-ghost,.cta-round,.modal-close,.nav-toggle,.service-card,.projects-grid > .project-card,.inner-page .projects-gallery .project-card,.inner-page .about-card,.inner-page .system-card,.quote-system { position:relative; overflow:hidden; isolation:isolate; }
  .btn-primary:hover,.btn-outline:hover,.btn-ghost:hover,.cta-round:hover { transform:none; box-shadow:none; }
  .btn-primary span,.btn-outline span,.btn-ghost span,.cta-round span { transform:none !important; }
  .btn-primary:active,.btn-outline:active,.btn-ghost:active,.cta-round:active,.modal-close:active,.nav-toggle:active { transform:scale(.975) !important; box-shadow:inset 0 0 0 999px rgba(4,48,66,.09) !important; }
  .service-card:hover,.projects-grid > .project-card:hover,.inner-page .about-card:hover,.inner-page .projects-gallery .project-card:hover,.quote-system:hover { transform:none; box-shadow:none; }
  .service-card:hover .service-icon,.service-card:hover > a,.projects-grid > .project-card:hover .project-visual,.inner-page .projects-gallery .project-card:hover img { transform:none; filter:none; }
  .inner-page .system-options-showcase .system-card:hover,.inner-page .system-options-showcase .system-card.selected { transform:translate3d(0,0,0); box-shadow:0 13px 26px rgba(3,31,47,.10); }
  .inner-page .system-options-showcase .system-card[data-system="hybrid"]:hover,.inner-page .system-options-showcase .system-card[data-system="ess"]:hover { box-shadow:0 16px 30px rgba(3,31,47,.22); }
  .inner-page .system-options-showcase .system-card:hover::before { transform:none; }
  .inner-page .system-options-showcase .system-card:hover .system-card-icon,.inner-page .system-options-showcase .system-card:hover .tag b { transform:none; }
  .inner-page .system-options-showcase .system-card:active { transform:scale(.988) !important; box-shadow:inset 0 0 0 2px rgba(11,152,164,.34),0 8px 17px rgba(3,31,47,.12) !important; }
  .service-card:active,.projects-grid > .project-card:active,.inner-page .projects-gallery .project-card:active,.inner-page .about-card:active,.quote-system:active { transform:scale(.988) !important; box-shadow:inset 0 0 0 2px rgba(11,152,164,.22) !important; }
}
/* Footer copyright notice */
.footer-inner .footer-copy { grid-column:1 / -1; width:100%; margin:3px 0 0; padding-top:15px; border-top:1px solid rgba(189,238,230,.16); color:#89aab0; font:500 9px/1.55 var(--mono); letter-spacing:.01em; text-align:center; }
@media(max-width:620px) { .footer-inner .footer-copy { margin-top:4px; padding-top:14px; text-align:left; } }
/* Privacy page and footer link */
.footer-links { flex-wrap:wrap; }
.footer-links a.active { color:var(--lime); }
.privacy-card { position:relative; z-index:2; display:grid; gap:0; max-width:850px; margin-top:38px; padding:31px 36px 20px; overflow:hidden; border:1px solid rgba(12,107,124,.20); border-radius:18px; color:#183b49; background:linear-gradient(145deg,#fbfefc,#eaf5f1); box-shadow:0 16px 32px rgba(3,30,45,.11); }
.privacy-card::before { content:''; position:absolute; top:-118px; right:-70px; width:250px; height:250px; border:1px solid rgba(10,132,146,.19); border-radius:50%; box-shadow:0 0 0 34px rgba(78,205,191,.06),0 0 0 68px rgba(78,205,191,.04); }
.privacy-card section { position:relative; padding:18px 0 20px; border-bottom:1px solid rgba(9,104,120,.15); }
.privacy-card section:first-child { padding-top:4px; }
.privacy-card h2 { max-width:520px; margin:10px 0 10px; color:#082e43; font:800 30px/1.1 var(--display); letter-spacing:-.035em; }
.privacy-card h3 { margin:8px 0; color:#0c4055; font:800 18px/1.15 var(--display); }
.privacy-card p { position:relative; max-width:690px; margin:0; color:#55747e; font-size:13px; line-height:1.72; }
.privacy-card a { color:#087e91; font-weight:800; }
.privacy-index { position:relative; color:#0a8294; font:700 10px var(--mono); letter-spacing:.1em; }
.privacy-updated { margin-top:18px !important; color:#718c93 !important; font:600 10px var(--mono) !important; }
@media(max-width:620px) { .privacy-card { margin-top:29px; padding:23px 20px 16px; border-radius:14px; }.privacy-card h2 { font-size:25px; }.privacy-card h3 { font-size:17px; }.privacy-card p { font-size:12px; } }
/* Hybrid solution: solar generation and battery support in one ready-made symbol */
.system-card-icon-hybrid { grid-template-columns:1.15fr .85fr; gap:3px; padding:10px 7px; }
.system-card-icon-hybrid img { width:100%; height:27px; }
.system-card-icon-hybrid img:first-child { width:30px; height:30px; }

/* More breathable display typography across multi-line headings */
.hero h1,.section-heading h2,.impact-content h2,.cta-inner h2,.container-inner > h1,.quote-hero h1 { line-height:1.08; }
.inner-page .container-inner > h1 { line-height:1.08; }
@media(max-width:620px) { .hero h1,.container-inner > h1,.quote-hero h1 { line-height:1.08; } }
/* General contact form detail */
.contact-response-note { min-height:52px; padding:12px 14px; border:1px solid #cbdad5; border-radius:10px; color:#648089; background:#f5faf7; font-size:12px; line-height:1.45; }
@media(max-width:620px) { .contact-response-note { min-height:0; } }

/* Align the contact response note with its neighbouring select control */
.contact-response-note { box-sizing:border-box; display:flex; height:60px; min-height:60px; align-items:center; padding:0 14px; }

/* Match the 48px custom select trigger exactly */
.contact-question-page .contact-response-note { height:48px; min-height:48px; }

/* Global temporary success toast */
.form-success { display:none !important; }
.site-toast { position:fixed; z-index:130; top:calc(var(--scrollbar-offset) + 16px); left:50%; display:flex; width:min(460px,calc(100% - 32px)); gap:12px; align-items:center; padding:13px 16px; border:1px solid rgba(108,168,29,.32); border-left:4px solid #78a921; border-radius:12px; color:#31531d; background:rgba(249,255,241,.98); box-shadow:0 16px 35px rgba(3,30,45,.20); opacity:0; pointer-events:none; transform:translate(-50%,-18px) scale(.97); transition:opacity .26s ease,transform .30s cubic-bezier(.2,.8,.2,1),visibility .3s; visibility:hidden; }
.site-toast.is-visible { opacity:1; transform:translate(-50%,0) scale(1); visibility:visible; }
.site-toast-icon { display:grid; width:29px; height:29px; flex:0 0 29px; place-items:center; border-radius:50%; color:#fff; background:#78a921; font-weight:900; }
.site-toast strong { display:block; margin:0 0 3px; color:#456d21; font-size:13px; }
.site-toast p { margin:0; color:#628147; font-size:11px; line-height:1.45; }
@media(max-width:620px) { .site-toast { top:calc(var(--scrollbar-offset) + 10px); width:calc(100% - 28px); padding:12px 13px; border-radius:10px; }.site-toast strong { font-size:12px; }.site-toast p { font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .site-toast { transition:none; } }
/* Firebase-backed admin panel */
.admin-page{min-height:100vh;color:#eaf8f7;background:radial-gradient(circle at 78% 0,rgba(18,128,143,.25),transparent 31%),radial-gradient(circle at 8% 88%,rgba(35,100,137,.18),transparent 30%),#061f33}.admin-shell{position:relative;width:min(1220px,calc(100% - 48px));margin:0 auto;padding:20px 0 60px}.admin-topbar,.admin-table-head{display:flex;align-items:center;justify-content:space-between;gap:24px}.admin-topbar{min-height:70px;padding:0 0 18px;border-bottom:1px solid rgba(194,229,224,.18)}.admin-topbar .brand{display:flex;align-items:center}.admin-topbar .site-logo{width:auto;max-width:148px;height:68px;object-fit:contain}.admin-top-actions{display:flex;align-items:center;gap:18px}.admin-top-actions>span{color:#76a7ac;font:10px var(--mono);letter-spacing:.1em}.admin-back{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;border:1px solid rgba(198,239,234,.42);border-radius:10px;color:#edfdfb;font-size:12px;font-weight:800;transition:border-color .2s ease,background .2s ease,transform .2s ease}.admin-back b{color:var(--lime);font-size:16px}.admin-back:hover{border-color:var(--lime);background:rgba(211,248,96,.08);transform:translateY(-2px)}.admin-login-card{width:min(620px,100%);margin:12vh auto 0;padding:48px;border:1px solid rgba(172,229,224,.25);border-radius:22px;background:linear-gradient(145deg,rgba(9,60,83,.96),rgba(6,37,58,.98));box-shadow:0 28px 70px rgba(0,0,0,.24)}.admin-login-card h1,.admin-hero h1{margin:13px 0 15px;color:#f5fffd;font:800 clamp(36px,5vw,62px)/1.02 var(--display);letter-spacing:-.06em}.admin-login-card h1 em,.admin-hero h1 em{color:var(--lime)}.admin-login-card>p{max-width:470px;margin:0 0 25px;color:#b5d3d4;font-size:14px;line-height:1.65}.admin-login-card .btn-primary{min-height:51px;border-radius:10px}.admin-login-card .btn-primary span{margin-left:10px}.admin-dashboard{animation:admin-dashboard-in .42s cubic-bezier(.2,.8,.2,1) both}.admin-hero{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:34px;align-items:end;padding:34px 0 24px}.admin-hero-copy>p{max-width:590px;margin:0;color:#a9c8c9;font-size:14px;line-height:1.65}.admin-user{display:grid;justify-items:start;gap:5px;min-height:132px;padding:19px 20px;border:1px solid rgba(166,218,214,.22);border-radius:16px;color:#dff4f1;background:linear-gradient(145deg,rgba(10,66,89,.92),rgba(8,47,70,.94));box-shadow:0 14px 34px rgba(0,0,0,.15)}.admin-user-label{color:var(--lime)!important;font:9px var(--mono)!important;letter-spacing:.11em}.admin-user strong{font-size:15px}.admin-user span{color:#a9c5c8;font-size:11px}.admin-user small{max-width:100%;overflow:hidden;color:#779ba3;font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap}.admin-user code{color:#cfe9e5}.admin-user button{margin-top:6px;padding:5px 0;border:0;color:var(--lime);background:transparent;font-size:11px;font-weight:800;cursor:pointer}.admin-user button b{margin-left:5px;font-size:14px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.admin-stats article{position:relative;display:flex;gap:15px;align-items:center;min-height:95px;padding:17px 19px;overflow:hidden;border:1px solid rgba(163,211,207,.21);border-radius:15px;background:linear-gradient(130deg,rgba(8,56,78,.94),rgba(7,50,72,.74))}.admin-stats article:after{position:absolute;right:-24px;bottom:-42px;width:110px;height:110px;border:1px solid rgba(183,249,217,.12);border-radius:50%;content:""}.admin-stat-mark{position:relative;z-index:1;display:grid!important;width:39px;height:39px;flex:0 0 39px;place-items:center;border:1px solid rgba(208,248,90,.4);border-radius:50%;color:var(--lime)!important;font:10px var(--mono)!important}.admin-stats article>div{position:relative;z-index:1}.admin-stats article>div>span{display:block;color:#9dc8c7;font:10px var(--mono);letter-spacing:.08em}.admin-stats strong{display:block;margin-top:8px;color:var(--lime);font:800 31px/1 var(--display)}.admin-table-card{overflow:hidden;border:1px solid rgba(176,224,220,.25);border-radius:18px;color:#173a4b;background:#f8fcfa;box-shadow:0 24px 48px rgba(1,17,29,.2)}.admin-table-head{padding:21px 25px;border-bottom:1px solid #d4e3dd}.admin-live{display:flex;gap:7px;align-items:center;margin-bottom:6px;color:#078698;font:9px var(--mono);letter-spacing:.1em}.admin-live i{width:7px;height:7px;border-radius:50%;background:#92c92b;box-shadow:0 0 0 4px rgba(146,201,43,.15);animation:admin-live-pulse 1.9s ease-in-out infinite}.admin-table-head h2{margin:0;font:800 25px var(--display);letter-spacing:-.03em}.admin-table-head p{margin:4px 0 0;color:#718b92;font-size:11px}.admin-table-head label{display:grid;min-width:136px;gap:6px;color:#638089;font-size:10px;font-weight:800}.admin-table-head select,.admin-status-select{min-height:38px;padding:0 10px;border:1px solid #c4d8d3;border-radius:8px;color:#153b4e;background:#fff;font-size:11px;cursor:pointer}.admin-table-wrap{min-height:160px;max-height:calc(100vh - 445px);overflow:auto}.admin-table-card table{width:100%;min-width:830px;border-collapse:collapse}.admin-table-card th{position:sticky;top:0;z-index:1;padding:12px 18px;color:#64818a;background:#eef5f1;font:800 9px var(--mono);letter-spacing:.07em;text-align:left}.admin-table-card td{padding:15px 18px;border-top:1px solid #e1ece6;color:#45636e;font-size:11px;vertical-align:top;line-height:1.55}.admin-table-card tbody tr{transition:background .18s ease}.admin-table-card tbody tr:not(:has(.admin-empty)):hover{background:#f0f8f5}.admin-table-card td strong,.admin-table-card td small{display:block}.admin-table-card td strong{color:#153a4c;font-size:12px}.admin-table-card td small{color:#819aa0}.admin-kind{display:block;margin-bottom:4px;color:#078698;font:9px var(--mono)}.admin-empty{padding:47px!important;color:#728c94!important;text-align:center}.admin-status{margin:15px 26px;padding:12px;border-left:3px solid var(--lime);color:#42662a;background:#f1fae7;font-size:11px;line-height:1.55}.admin-status.is-error{border-left-color:#bd5656;color:#903e3e;background:#fff1f0}@keyframes admin-dashboard-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes admin-live-pulse{50%{transform:scale(.72);opacity:.55}}@media(max-width:760px){.admin-shell{width:calc(100% - 30px);padding-top:12px}.admin-topbar{min-height:60px}.admin-topbar .site-logo{max-width:105px;height:54px}.admin-top-actions>span{display:none}.admin-back{padding:9px 11px;font-size:11px}.admin-login-card{margin-top:45px;padding:30px 22px}.admin-hero{grid-template-columns:1fr;gap:18px;padding:30px 0 20px}.admin-hero h1{font-size:45px}.admin-user{min-height:auto}.admin-stats{grid-template-columns:1fr}.admin-stats article{min-height:78px}.admin-table-head{align-items:flex-start;flex-direction:column}.admin-table-head label,.admin-table-head select{width:100%}.admin-table-wrap{max-height:none;overflow-x:auto}.admin-table-card th,.admin-table-card td{padding-right:14px;padding-left:14px}}@media(prefers-reduced-motion:reduce){.admin-dashboard,.admin-live i{animation:none}}
/* Admin navigation and profile menu */
.admin-topbar{position:relative}.admin-primary-nav{position:absolute;left:50%;transform:translateX(-50%)}.admin-primary-nav a{position:relative;display:block;padding:13px 4px;color:#eaf8f7;font-size:13px;font-weight:800}.admin-primary-nav a:after{position:absolute;right:4px;bottom:2px;left:4px;height:2px;background:var(--lime);content:""}.admin-account-menu{position:relative}.admin-account-menu summary{display:flex;gap:9px;align-items:center;min-width:112px;padding:8px 10px;list-style:none;border:1px solid rgba(198,239,234,.42);border-radius:10px;color:#edfdfb;cursor:pointer;transition:border-color .2s ease,background .2s ease}.admin-account-menu summary::-webkit-details-marker{display:none}.admin-account-menu summary:hover,.admin-account-menu[open] summary{border-color:var(--lime);background:rgba(211,248,96,.08)}.admin-account-avatar{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;color:#092d43;background:var(--lime);font:800 9px var(--mono)}.admin-account-trigger-label{font-size:12px;font-weight:800}.admin-account-menu summary>b{margin-left:auto;color:var(--lime);font-size:16px;transition:transform .2s ease}.admin-account-menu[open] summary>b{transform:rotate(180deg)}.admin-account-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:20;display:grid;min-width:258px;gap:5px;padding:18px;border:1px solid rgba(170,226,218,.3);border-radius:14px;color:#dff4f1;background:linear-gradient(145deg,#0b4560,#072f47);box-shadow:0 20px 42px rgba(0,0,0,.3);animation:admin-popover-in .2s ease both}.admin-account-popover .admin-user-label{color:var(--lime);font:9px var(--mono);letter-spacing:.11em}.admin-account-popover strong{font-size:14px}.admin-account-popover>span:not(.admin-user-label){color:#a9c5c8;font-size:11px}.admin-account-popover small{overflow:hidden;color:#779ba3;font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap}.admin-account-popover code{color:#cfe9e5}.admin-account-popover button{margin-top:7px;padding:8px 0 0;border:0;border-top:1px solid rgba(194,229,224,.17);color:var(--lime);background:transparent;text-align:left;font-size:11px;font-weight:800;cursor:pointer}.admin-account-popover button b{margin-left:6px;font-size:14px}.admin-hero{grid-template-columns:1fr;padding-top:34px;padding-bottom:22px}.admin-hero-copy>p{max-width:630px}@keyframes admin-popover-in{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:760px){.admin-primary-nav{position:static;transform:none;margin-left:auto;margin-right:10px}.admin-primary-nav a{padding:10px 3px;font-size:11px}.admin-account-menu summary{min-width:auto;padding:7px}.admin-account-trigger-label{display:none}.admin-account-menu summary>b{display:none}.admin-account-popover{right:0;min-width:246px}.admin-hero{padding-top:30px}}
/* Admin header: mirrors the public site header */
.admin-page .admin-site-header{height:var(--header);background:rgba(6,36,58,.98);border-bottom:1px solid rgba(169,231,224,.22)}.admin-page .admin-shell{width:min(1180px,calc(100% - 42px));padding:calc(var(--header) + 40px) 0 60px}.admin-site-header .admin-primary-nav{position:static;transform:none}.admin-site-header .admin-primary-nav a{padding:9px 0;font-size:12px}.admin-site-header .admin-primary-nav a:after{right:0;bottom:0;left:0;height:2px}.admin-site-header .header-actions{gap:12px}.admin-site-header .admin-account-menu summary{min-width:0;padding:7px 10px;border-color:rgba(235,255,251,.5);border-radius:3px}.admin-site-header .admin-account-menu summary:hover,.admin-site-header .admin-account-menu[open] summary{border-color:var(--lime);background:transparent}.admin-site-header .admin-account-popover{top:calc(100% + 12px)}@media(max-width:980px){.admin-page .admin-shell{width:min(100% - 36px,760px);padding-top:calc(var(--header) + 30px)}.admin-site-header .admin-primary-nav{position:static;visibility:visible;padding:0;background:transparent;opacity:1;transform:none}.admin-site-header .admin-primary-nav ul{display:flex}.admin-site-header .admin-primary-nav a{padding:9px 0}.admin-site-header .admin-account-menu summary{padding:6px}.admin-site-header .admin-account-trigger-label{display:none}.admin-site-header .admin-account-menu summary>b{display:none}}@media(max-width:560px){.admin-site-header .admin-primary-nav{margin-left:auto;margin-right:12px}.admin-site-header .admin-primary-nav a{font-size:11px}.admin-site-header .admin-account-avatar{width:26px;height:26px}.admin-page .admin-shell{width:calc(100% - 28px)}}
/* Restore document scrolling for the standalone admin route */
html.admin-document,body.admin-page{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.admin-page .admin-shell{min-height:calc(100vh - var(--header))}

/* Quiet account control — matches the public navigation typography */
.admin-site-header .admin-primary-nav a{font-size:12px}.admin-site-header .admin-account-menu summary{gap:8px;padding:0;border:0;border-radius:0;background:transparent!important}.admin-site-header .admin-account-menu summary:hover,.admin-site-header .admin-account-menu[open] summary{border:0;background:transparent!important}.admin-account-avatar{width:30px;height:30px;border:1px solid rgba(173,232,225,.55);color:#d5f4ef;background:rgba(18,111,129,.32);font-size:9px}.admin-account-trigger-label{color:#d2e5e6;font-size:12px;font-weight:800}.admin-account-caret{width:7px;height:7px;margin:0 3px 4px 1px;border-right:1.5px solid var(--lime);border-bottom:1.5px solid var(--lime);transform:rotate(45deg)}.admin-account-menu[open] .admin-account-caret{margin-bottom:0;transform:rotate(225deg)}.admin-account-popover{top:calc(100% + 16px);min-width:272px;gap:6px;padding:18px 19px;border-color:rgba(169,231,224,.28);border-radius:8px;background:#082f47;box-shadow:0 16px 34px rgba(0,0,0,.26);animation:none}.admin-account-popover:before{position:absolute;top:-5px;right:20px;width:9px;height:9px;border-top:1px solid rgba(169,231,224,.28);border-left:1px solid rgba(169,231,224,.28);background:#082f47;content:"";transform:rotate(45deg)}.admin-account-popover .admin-user-label{margin-bottom:4px;color:#93c9c4;font-size:9px}.admin-account-popover strong{color:#f1fffb;font-size:14px}.admin-account-popover>span:not(.admin-user-label){color:#a9c5c8;font-size:11px}.admin-account-popover small{margin-top:2px;padding-top:10px;border-top:1px solid rgba(194,229,224,.15)}.admin-account-popover button{margin-top:8px;padding:9px 0 0;border:0;border-top:1px solid rgba(194,229,224,.15);color:var(--lime);background:transparent;font-size:11px;font-weight:800}.admin-account-popover button:hover{color:#f0ffb4}@media(max-width:620px){.admin-site-header .admin-primary-nav a{font-size:13px}}@media(max-width:560px){.admin-site-header .admin-account-avatar{width:28px;height:28px}.admin-account-popover{right:-4px;min-width:250px}}
/* Final typography match and a short, calm account-menu transition */
.admin-site-header .admin-primary-nav a,.admin-site-header .admin-account-trigger-label{font-size:14px}.admin-account-menu summary{line-height:1}.admin-account-caret{margin-bottom:3px;transform:rotate(45deg)!important}.admin-account-menu[open] .admin-account-caret{margin-bottom:3px;transform:rotate(45deg)!important}.admin-account-popover{transform-origin:top right;animation:admin-account-enter .24s cubic-bezier(.16,1,.3,1) both}.admin-account-menu.is-closing .admin-account-popover{pointer-events:none;animation:admin-account-exit .19s cubic-bezier(.4,0,1,1) both}@keyframes admin-account-enter{from{opacity:0;transform:translateY(-10px) scale(.96);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes admin-account-exit{from{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-6px) scale(.97);filter:blur(1px)}}@media(max-width:620px){.admin-site-header .admin-primary-nav a,.admin-site-header .admin-account-trigger-label{font-size:13px}}
/* Center the login state inside its card */
.admin-login-card{display:flex;min-height:430px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.admin-login-card>p{margin-right:auto;margin-left:auto}.admin-login-card .eyebrow{justify-content:center}
/* Preserve the login/dashboard visibility states after centering the card */
.admin-login-card[hidden],.admin-dashboard[hidden]{display:none!important}
/* Custom submission filter */
.admin-filter-label{display:grid;min-width:170px;gap:7px;color:#638089;font-size:10px;font-weight:800}.admin-filter-select{position:relative}.admin-filter-native{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.admin-filter-trigger{display:flex;width:100%;min-height:42px;align-items:center;justify-content:space-between;padding:0 13px;border:1px solid #c4d8d3;border-radius:9px;color:#153b4e;background:#fff;font:700 12px var(--body);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.admin-filter-trigger:hover,.admin-filter-select.is-open .admin-filter-trigger{border-color:#118a98;background:#fbffff;box-shadow:0 0 0 4px rgba(17,138,152,.10)}.admin-filter-trigger i{width:8px;height:8px;margin-bottom:4px;border-right:2px solid #087085;border-bottom:2px solid #087085;transform:rotate(45deg);transition:transform .22s ease}.admin-filter-select.is-open .admin-filter-trigger i{margin-top:4px;margin-bottom:0;transform:rotate(225deg)}.admin-filter-options{position:absolute;z-index:25;top:calc(100% + 8px);right:0;left:0;display:grid;gap:3px;padding:7px;visibility:hidden;border:1px solid #b9d6d1;border-radius:11px;opacity:0;background:#fff;box-shadow:0 16px 30px rgba(6,47,63,.16);transform:translateY(-7px) scale(.98);transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1),visibility .22s}.admin-filter-select.is-open .admin-filter-options{visibility:visible;opacity:1;transform:translateY(0) scale(1)}.admin-filter-options button{display:flex;align-items:center;justify-content:space-between;min-height:37px;padding:0 10px;border:0;border-radius:7px;color:#315563;background:transparent;font:600 11px var(--body);text-align:left;cursor:pointer;transition:color .16s ease,background .16s ease}.admin-filter-options button:hover{color:#073e51;background:#edf8f5}.admin-filter-options button.is-selected{color:#063f51;background:#def3ec}.admin-filter-options button i{visibility:hidden;color:#087c8b;font-size:13px;font-style:normal}.admin-filter-options button.is-selected i{visibility:visible}.admin-table-head .admin-filter-label{margin:0}@media(max-width:760px){.admin-filter-label{width:100%}}
/* Give the submissions table a durable working height and scroll its records */
.admin-table-wrap{height:clamp(340px,46vh,520px);min-height:340px;max-height:520px;overflow:auto}.admin-table-card table{min-height:100%}.admin-empty{height:100%;vertical-align:middle!important}@media(max-width:760px){.admin-table-wrap{height:360px;min-height:360px;max-height:50vh}}
/* The admin route uses the same custom scroll surface as the public site */
html.admin-document,body.admin-page{height:100%;overflow:hidden}.admin-page .admin-page-scroll{background:transparent}.admin-page .admin-shell{min-height:calc(100vh - var(--scrollbar-offset))}.admin-page .page-scroll>main{margin-top:calc(-1 * var(--scrollbar-offset))}
/* Clear request types and manual reply shortcuts */
.admin-table-card table{min-width:1010px}.admin-kind{display:inline-flex;align-items:center;min-height:22px;margin-bottom:6px;padding:0 8px;border-radius:999px;color:#08778a;background:#e0f4f0;font:700 9px var(--mono);letter-spacing:.02em}.admin-kind--offer{color:#53731c;background:#effacb}.admin-kind--suggestion{color:#765a0c;background:#fff1c8}.admin-kind--partnership{color:#6c4a80;background:#f1e5fa}.admin-reply-actions{display:flex;min-width:166px;flex-wrap:wrap;gap:5px}.admin-reply-link{display:inline-flex;min-height:27px;align-items:center;padding:0 8px;border:1px solid #c4d8d3;border-radius:6px;color:#245263;background:#fff;font-size:10px;font-weight:800;text-decoration:none;transition:border-color .16s ease,color .16s ease,background .16s ease}.admin-reply-link:hover{border-color:#138496;color:#063e50;background:#edf9f6}.admin-reply-link.is-email{color:#0b7080}.admin-reply-link.is-whatsapp{color:#4c7d23}.admin-no-reply{color:#829aa0;font-size:10px;font-style:italic}
/* Keep the contact response note comfortably secondary */
.contact-question-page .contact-response-note{font-size:11px;line-height:1.4}
/* Footer bands: center the main row and the copyright line independently */
.footer-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(96px,1fr) 50px;column-gap:50px;row-gap:0;min-height:150px;align-items:center}.footer-inner>div:first-child,.footer-inner>.footer-links{align-self:center}.footer-inner .footer-copy{display:flex;min-height:50px;align-items:center;justify-content:center;align-self:stretch;margin:0;padding:0;border-top:1px solid rgba(189,238,230,.16);text-align:center}@media(max-width:980px){.footer-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(88px,1fr) 50px;column-gap:25px;row-gap:0;padding:0}.footer-inner .footer-copy{grid-column:1/-1}}@media(max-width:620px){.footer-inner{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 52px;justify-items:center;gap:17px;min-height:0;padding:25px 0 0;text-align:center}.footer-inner>.footer-links{justify-content:center}.footer-inner .footer-copy{width:100%;min-height:52px;margin:0;padding:0;text-align:center}}
/* Keep ASRA's custom mobile feedback; remove browser-native tap and overscroll effects */
@media(hover:none) and (pointer:coarse){html,body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}a,button,[role="button"],[role="tab"],summary,.custom-select,.custom-select-trigger,.admin-filter-trigger,.admin-filter-options button,.admin-reply-link{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}a:focus:not(:focus-visible),button:focus:not(:focus-visible),summary:focus:not(:focus-visible),select:focus:not(:focus-visible),input:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}input,textarea,select{-webkit-tap-highlight-color:transparent}}
/* Refined admin profile popover */
.admin-user-uid[hidden]{display:none!important}.admin-site-header .admin-account-avatar{width:40px;height:40px;font-size:10px}.admin-account-popover button{display:flex;width:100%;min-height:38px;align-items:center;justify-content:center;margin-top:12px;padding:0;border:0!important;border-radius:7px;color:#082b3d;background:var(--lime);font-size:11px;font-weight:800;text-align:center;transition:background .18s ease,transform .18s ease}.admin-account-popover button:hover{color:#082b3d;background:#edffa9;transform:translateY(-1px)}@media(max-width:560px){.admin-site-header .admin-account-avatar{width:34px;height:34px;font-size:9px}}