/* Manrope latin-ext — SIL Open Font License */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-latin-ext-v20.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Manrope latin — SIL Open Font License */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-latin-v20.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#243345;--muted:#667085;--green:#25c06d;--deep:#167446;--pale:#f3f7f5;--line:#e1e8e4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:#fff;font-family:Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}img{max-width:100%;display:block;height:auto}button{cursor:pointer}p{color:var(--muted);margin:0 0 20px}h1,h2,h3{line-height:1.13;letter-spacing:-.045em;margin:0;font-weight:600}h1{font-size:clamp(40px,4.5vw,67px)}h2{font-size:clamp(32px,3.4vw,47px)}h3{font-size:24px}small{font-size:12px}.wrap{max-width:1260px;margin:auto;padding:0 42px}.eyebrow{display:block;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--deep);margin-bottom:22px}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:15px 23px;border-radius:8px;font-size:13px;font-weight:800;background:var(--green);color:#102c20;border:1px solid transparent;transition:.2s}.btn:hover{background:#1bb562;transform:translateY(-2px)}.btn.secondary{background:white;border-color:var(--line);color:var(--ink)}.btn.dark{background:var(--ink);color:white}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.skip{position:absolute;left:10px;top:-100px;background:white;z-index:100}.skip:focus{top:10px}.topbar{background:#edf6f0;text-align:center;padding:8px;font-size:11px;letter-spacing:.03em}.topbar b{color:var(--deep)}header{position:sticky;top:0;background:#fffffff5;backdrop-filter:blur(15px);z-index:30;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:25px;height:86px}.logo{width:177px;flex-shrink:0}.navlinks{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:700}.navdetails{position:relative}.navdetails summary{cursor:pointer;list-style:none}.navdetails summary:after{content:'⌄';margin-left:7px}.dropdown{position:absolute;top:38px;left:-25px;width:500px;padding:25px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 15px 50px #17302a14;display:grid;grid-template-columns:1fr 1fr;gap:22px}.dropdown strong{display:block;margin-bottom:8px;color:var(--deep)}.dropdown a{display:block;padding:5px 0;font-size:12px}.dropdown a:hover{color:var(--deep)}.phone{font-size:12px;font-weight:800;white-space:nowrap}.mobile-toggle{display:none;background:none;border:0;font-size:24px}.hero{padding:48px 0 55px;background:linear-gradient(120deg,#fff 20%,#f4f7f6)}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:65px;align-items:center}.hero-copy{padding:30px 0}.hero-copy h1 span{color:var(--deep)}.hero-copy p{font-size:16px;max-width:540px;margin-top:25px;line-height:1.85}.hero-visual{position:relative;min-width:0}.hero-visual>img{width:100%;height:570px;object-fit:cover;border-radius:20px}.photo-note{position:absolute;bottom:22px;left:22px;right:22px;background:#fffffff0;border:1px solid #ffffff80;backdrop-filter:blur(12px);border-radius:12px;padding:17px 20px;display:flex;align-items:center;gap:14px;font-size:12px}.photo-note strong{display:block;font-size:14px}.photo-note .dot{width:10px;height:10px;background:var(--green);border-radius:50%;box-shadow:0 0 0 6px #25c06d15}.hero-features{display:flex;gap:22px;border-top:1px solid var(--line);padding-top:24px;margin-top:35px;font-size:11px;color:var(--muted)}.hero-features strong{display:block;font-size:16px;color:var(--ink);margin-bottom:3px}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:28px}.breadcrumb a:hover{text-decoration:underline}.local .hero-copy h1{font-size:clamp(36px,3.8vw,55px)}.brandline{display:flex;gap:30px;align-items:center;justify-content:space-between;padding:30px 0;border-bottom:1px solid var(--line);color:#626e78}.brandline>span{font-size:10px;line-height:1.6;max-width:150px;text-transform:uppercase;letter-spacing:.1em}.brandline b{font-size:24px;letter-spacing:-.06em}.section{padding:95px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:40px}.section-head p{max-width:370px;margin-bottom:0}.section-head h2{max-width:640px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{position:relative;background:var(--pale);border-radius:18px;overflow:hidden;min-height:400px;padding:36px;display:flex;flex-direction:column;align-items:start}.service-card p{max-width:290px;font-size:13px;margin-top:18px;position:relative;z-index:1}.service-card h3{max-width:260px;position:relative;z-index:1}.service-card .textlink{margin-top:auto;z-index:1}.service-card img{position:absolute;right:0;bottom:0;width:49%;height:100%;object-fit:cover;opacity:.94;mask-image:linear-gradient(to right,transparent,#000 40%)}.service-card .label{position:relative;z-index:1;margin-bottom:50px;font-size:11px;color:var(--deep);font-weight:800}.textlink{font-weight:800;font-size:12px;color:var(--deep);display:inline-block}.textlink:hover{text-decoration:underline}.minor-services{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:35px}.minor-services a{padding:18px 0;border-bottom:1px solid var(--line)}.minor-services span{font-size:12px;color:var(--muted);display:block;margin-top:8px}.minor-services strong{font-size:14px}.soft{background:#f5f7f6}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.benefit{padding-top:25px;border-top:1px solid #cddbd3}.number{font-size:12px;color:var(--deep);margin-bottom:34px;display:block}.benefit h3{font-size:22px;margin-bottom:18px}.benefit p{font-size:14px;margin-bottom:0}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product{border:1px solid var(--line);border-radius:16px;padding:25px;background:white}.product img{width:100%;height:235px;object-fit:contain;margin-bottom:20px}.product p{margin-top:12px;font-size:13px}.product .textlink{margin-top:10px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split>img{height:530px;object-fit:cover;width:100%;border-radius:16px}.split h2{margin-bottom:25px}.checklist{padding:0;list-style:none}.checklist li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.checklist li:before{content:'✓';color:var(--deep);margin-right:13px}.calculator{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;padding:45px;border:1px solid var(--line);border-radius:18px;background:white}.calc-tabs{display:flex;gap:4px;border-radius:8px;padding:4px;background:#eff3f0;margin-bottom:30px}.calc-tabs button{border:0;background:none;border-radius:6px;padding:11px 14px;flex:1;font-size:12px;font-weight:700;color:var(--muted)}.calc-tabs button[aria-selected=true]{background:white;color:var(--deep);box-shadow:0 2px 7px #00000009}.field{margin-bottom:22px}.field>label{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;margin-bottom:9px}.field input[type=range]{width:100%;accent-color:var(--deep)}.field input:not([type=range]),.field select,textarea{border:1px solid #cdd6d0;border-radius:7px;padding:12px 14px;background:white;color:var(--ink);width:100%;min-width:0}.field small{color:var(--muted);font-size:11px}.calc-result{background:#ecf6ef;border-radius:13px;padding:30px;display:flex;flex-direction:column;justify-content:center}.result-big{font-size:57px;line-height:1.2;letter-spacing:-.05em;font-weight:600;color:var(--deep);margin:15px 0}.result-big small{font-size:20px}.calc-result p{font-size:12px;color:#4b6555}.result-row{display:flex;justify-content:space-between;border-top:1px solid #cbdfd1;padding:13px 0;font-size:12px;gap:10px}.fine{font-size:11px;line-height:1.7;color:var(--muted)}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:50px}.timeline h3{font-size:18px;margin:18px 0 12px}.timeline p{font-size:12px}.timeline b{font-size:12px;display:flex;align-items:center;gap:15px;color:var(--deep)}.timeline b:after{content:'';height:1px;background:var(--line);flex:1}.projects{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project{padding:35px;background:var(--pale);border-radius:16px}.project strong{display:block;font-size:40px;letter-spacing:-.05em;margin:30px 0 5px}.project p{font-size:13px}.tag{display:inline-block;border:1px solid var(--line);border-radius:30px;padding:6px 13px;font-size:11px;margin:3px}.cities{display:grid;grid-template-columns:1fr 1fr;gap:45px}.city-links{display:grid;grid-template-columns:1fr 1fr;margin-top:25px;gap:0 25px}.city-links a{padding:12px 0;font-size:13px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.city-links a:hover{color:var(--deep)}.city-links a[aria-current=page]{font-weight:800;color:var(--deep)}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;font-size:14px;font-weight:700;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';font-size:22px;font-weight:400;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;padding-top:17px;margin:0}.contact{background:#203d31;color:#fff}.contact .eyebrow{color:#8adcaa}.contact p{color:#c0d1c6}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.contact h2{margin-bottom:25px}.contact-phone{font-size:28px;letter-spacing:-.03em;display:block;margin-top:40px}.contact-mail{font-size:14px;color:#bcdbca}.form{background:white;color:var(--ink);padding:30px;border-radius:14px}.form h3{font-size:24px;margin-bottom:8px}.form p{color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.form .field{margin-bottom:16px}.service-options{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 22px}.service-option{font-size:10px;cursor:pointer;padding:7px 10px;border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;gap:5px}.service-option:has(input:checked){border-color:var(--green);background:#eef9f1}.service-option input{accent-color:var(--deep)}.consent{display:flex;align-items:start;gap:8px;font-size:10px;margin:15px 0;color:var(--muted)}.consent input{margin-top:3px;flex-shrink:0}.consent a{text-decoration:underline}.form-status{font-size:12px;color:var(--deep);margin-top:15px}.form .btn{width:100%}.form-note{margin-top:12px;font-size:10px!important}footer{padding:45px 0 25px;background:#f5f7f6;font-size:11px;color:var(--muted)}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-row img{width:150px}.footer-bottom{margin-top:30px;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:25px}.footer-bottom a{text-decoration:underline}dialog{max-width:680px;width:calc(100% - 32px);border:0;border-radius:14px;padding:35px;color:var(--ink)}dialog::backdrop{background:#14251fb0}dialog h2{font-size:28px;margin-bottom:20px}dialog p{font-size:13px}.close-dialog{float:right;border:0;background:#f0f4f1;width:34px;height:34px;border-radius:50%}.energy-panel{padding:25px;border:1px solid var(--line);border-radius:12px;margin-top:30px}.energy-panel p{font-size:12px;margin:10px 0}.energy-panel button{background:none;border:0;padding:0;font-weight:700;color:var(--deep);font-size:12px}[hidden]{display:none!important}
@media(min-width:1400px){.wrap{max-width:1360px}.hero-visual>img{height:610px}}
@media(max-width:1100px){.navlinks{gap:15px}.nav{gap:20px}.phone{display:none}.hero-grid{gap:35px}.hero-visual>img{height:520px}.wrap{padding:0 30px}.hero-features{gap:15px}.split{gap:40px}.contact-grid{gap:40px}}
@media(max-width:800px){.wrap{padding:0 22px}.topbar{font-size:10px}.nav{height:72px}.logo{width:155px}.mobile-toggle{display:block}.navlinks{display:none;position:absolute;left:0;right:0;top:72px;background:white;padding:25px;align-items:stretch;border-bottom:1px solid var(--line);max-height:80vh;overflow:auto}.navlinks.open{display:flex;flex-direction:column}.navlinks>a,.navdetails>summary{padding:9px 0}.dropdown{position:static;width:100%;box-shadow:none;border:0;padding:10px 0}.hero{padding:30px 0 40px}.hero-grid,.split,.calculator,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.hero-copy{padding:10px 0}.hero-copy p{font-size:15px}.hero-visual>img{height:430px;object-position:center 58%}.hero-features{justify-content:space-between}.brandline{flex-wrap:wrap;gap:18px}.brandline>span{max-width:100%;width:100%;text-align:center}.brandline b{font-size:20px}.section{padding:65px 0}.section-head{display:block}.section-head p{margin-top:22px}.service-card{padding:25px;min-height:360px}.service-card img{width:45%}.service-card h3{max-width:200px;font-size:24px}.service-card p{max-width:175px}.minor-services{grid-template-columns:1fr 1fr}.benefits{gap:25px}.benefit h3{font-size:21px}.product-grid{gap:15px}.product{padding:16px}.product img{height:180px}.product h3{font-size:22px}.calculator{padding:25px}.timeline{grid-template-columns:1fr 1fr}.split>img{height:400px}.cities{gap:30px}.city-links{grid-template-columns:1fr}.contact-phone{margin-top:25px}.footer-row{flex-wrap:wrap}}
@media(max-width:520px){h1{font-size:43px}.local .hero-copy h1{font-size:37px}.hero-copy h1 br{display:none}.hero-visual>img{height:390px}.hero-features{gap:10px;font-size:10px}.hero-features strong{font-size:14px}.actions{gap:9px}.actions .btn{padding:13px 15px;gap:15px;font-size:11px}.service-grid,.benefits,.product-grid,.projects,.cities{grid-template-columns:1fr}.service-card{min-height:330px}.service-card img{width:50%}.service-card p{max-width:200px}.brandline b{font-size:18px}.benefit{padding-top:18px}.number{margin-bottom:18px}.product{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px;align-items:center}.product img{margin:0;height:175px}.product h3{font-size:25px}.city-links{grid-template-columns:1fr 1fr}.form{padding:23px}.form-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:10px}.calculator{padding:18px}.calc-result{padding:23px}.hero-copy .eyebrow{font-size:10px}.photo-note{bottom:16px;left:16px;right:16px}.section-head{margin-bottom:30px}.contact-grid{gap:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

@media(max-width:520px){.nav-cta{display:none}.nav{gap:15px}}
/* Uploaded artwork and reconstructed product presentation */
.hero-visual>img{object-position:51% center}.hero-copy h1{font-size:clamp(40px,4.15vw,61px)}.hero-grid{gap:45px}.product-story{background:#fafafa}.product-stage{padding:50px 0;overflow:hidden;border-bottom:1px solid #e9eeeb}.stage-grid{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:60px;min-height:455px}.stage-grid h2{font-size:clamp(33px,3.3vw,49px);max-width:640px}.stage-grid p{font-size:15px;max-width:480px;margin:25px 0}.stage-grid>img{height:405px;width:100%;object-fit:contain;mix-blend-mode:multiply}.dark-stage{background:radial-gradient(ellipse at 75% 70%,#353b3b 0%,#141717 45%,#090b0b 100%);color:#fff}.dark-stage .eyebrow{color:#80d9a7}.dark-stage p{color:#bfc8c6}.dark-stage .stage-grid>img{mix-blend-mode:normal}.additional-services{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:45px 0}.additional-services article{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:25px;background:#fff;border-radius:16px;padding:28px}.additional-services img{height:220px;width:100%;object-fit:contain}.additional-services .eyebrow{font-size:9px;margin-bottom:14px}.additional-services h3{font-size:25px}.additional-services p{font-size:12px;margin-top:15px}.system-heading{text-align:center;max-width:720px;margin:0 auto 35px}.system-heading p{margin:25px 0 0}.system-image{width:100%;max-height:590px;object-fit:cover;border-radius:18px}.system-points{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:30px 0}.system-points strong{display:block;font-size:13px}.system-points span{font-size:12px;color:var(--muted)}.installation-gallery{display:grid;grid-template-columns:1fr 1fr;gap:35px 26px}.installation-gallery figure{margin:0;min-width:0}.installation-gallery a{display:block;position:relative;overflow:hidden;border-radius:14px;background:#f3f6f4}.installation-gallery img{width:100%;height:340px;object-fit:cover;transition:transform .3s}.installation-gallery figure:nth-child(2) img{object-fit:contain}.installation-gallery a:hover img{transform:scale(1.025)}.zoom-label{position:absolute;bottom:15px;right:15px;width:36px;height:36px;border-radius:50%;background:#ffffffe8;color:var(--ink);display:grid;place-items:center;font-size:20px}.installation-gallery figcaption{padding:20px 4px 0}.installation-gallery h3{font-size:21px}.installation-gallery p{font-size:12px;margin:12px 0 0}.gallery-dialog{max-width:1120px;background:#101815;color:white;padding:20px}.gallery-dialog::backdrop{background:#07100eed}.gallery-dialog img{width:100%;height:70vh;object-fit:contain}.gallery-dialog p{margin:15px 0 0;color:#fff;font-size:13px}.gallery-close{position:absolute;top:15px;right:15px;border:0;border-radius:50%;width:42px;height:42px;font-size:28px;background:#fff;color:#172b20}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;font-size:12px}.gallery-controls button{border:1px solid #4f6358;color:white;background:transparent;padding:8px 14px;border-radius:6px}.local #lokalnie .split>img{object-fit:contain;background:#f5f7f6}.system-overview .fine{text-align:center}
@media(max-width:800px){.hero-copy h1{font-size:48px}.stage-grid{gap:25px;min-height:350px}.stage-grid>img{height:330px}.stage-grid h2{font-size:34px}.stage-grid p{font-size:13px}.additional-services{gap:18px}.additional-services article{grid-template-columns:1fr;padding:25px}.additional-services img{height:190px}.installation-gallery img{height:260px}.hero-visual>img{height:430px;object-position:center}}
@media(max-width:520px){.hero-copy h1{font-size:42px}.hero-visual>img{height:315px}.product-stage{padding:45px 0 25px}.stage-grid{grid-template-columns:1fr;gap:20px}.stage-grid>img{height:300px}.stage-grid h2{font-size:34px}.additional-services{grid-template-columns:1fr;padding:30px 0}.additional-services article{grid-template-columns:.7fr 1.3fr;gap:18px}.additional-services img{height:185px}.additional-services h3{font-size:23px}.system-image{height:270px;object-fit:cover}.system-points{grid-template-columns:1fr;gap:18px}.installation-gallery{grid-template-columns:1fr;gap:28px}.installation-gallery img{height:270px}.gallery-dialog{padding:12px}.gallery-dialog img{height:65vh}.gallery-controls button{padding:8px;font-size:11px}}
.gallery-intro{padding-top:65px;padding-bottom:10px}.gallery-intro p{margin-top:24px;max-width:650px}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.gallery-filters button{padding:10px 17px;border:1px solid var(--line);border-radius:30px;background:white;color:var(--ink);font-weight:700;font-size:12px}.gallery-filters button[aria-pressed=true]{background:var(--deep);border-color:var(--deep);color:white}.gallery-full{grid-template-columns:repeat(3,1fr);gap:30px 22px}.gallery-full img{height:260px}.installation-gallery figure[data-category=devices] img{object-fit:contain;background:#edf1ee}.installation-gallery figure:nth-child(2):not([data-category=devices]) img{object-fit:cover}.gallery-full h3{font-size:18px}.gallery-full figcaption{padding-top:15px}
@media(max-width:900px){.gallery-full{grid-template-columns:1fr 1fr}.gallery-full img{height:250px}}@media(max-width:520px){.gallery-full{grid-template-columns:1fr}.gallery-filters button{font-size:11px;padding:9px 13px}.gallery-intro{padding-top:40px}}
.dropdown{width:690px;grid-template-columns:repeat(3,1fr);left:-100px}.audit-locations{grid-column:1/-1}.audit-locations .city-links{grid-template-columns:repeat(4,1fr)}.audit-visual>img{object-fit:contain;background:#edf4ef;padding:45px 20px 85px}.audit-visual .photo-note{background:white}
@media(max-width:800px){.dropdown{width:100%;grid-template-columns:1fr 1fr;left:0}.dropdown>div:last-child{grid-column:1/-1}.audit-locations .city-links{grid-template-columns:1fr 1fr}}@media(max-width:520px){.audit-visual>img{padding:20px 15px 90px}}

.brandline .brand-logo{display:block;width:150px;height:72px;object-fit:contain;flex:0 1 150px}.brandline .brand-logo-fox{height:86px}@media(max-width:600px){.brandline .brand-logo{width:110px;height:60px;flex:0 1 110px}.brandline .brand-logo-fox{height:68px}}

.brandline .brand-huawei{position:relative;flex:0 1 150px;width:150px;height:86px;overflow:hidden}.brand-huawei img{position:absolute;width:196px;max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-50%)}@media(max-width:600px){.brandline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center}.brandline>span{grid-column:1/-1}.brandline .brand-huawei{width:130px;height:76px}.brand-huawei img{width:170px}}
/* Homepage landing: isolated from navigation and local pages. */
.landing-new{position:relative;background:#071522;color:#fff;overflow:hidden}.landing-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;pointer-events:none}.landing-new:before{z-index:1;content:'';position:absolute;inset:0;background:linear-gradient(90deg,#06121fe6 0%,#071521bd 43%,#0a18244d 75%,#0a182422)}.landing-layout{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;min-height:690px;padding-top:64px;padding-bottom:64px}.landing-copy{position:relative;z-index:2}.landing-copy .eyebrow{color:#b9c5cb;font-size:11px;font-weight:500;letter-spacing:.25em}.landing-copy h1{font-size:clamp(43px,4.9vw,74px);font-weight:800;line-height:1.12;letter-spacing:-.04em}.landing-copy h1 span{background:linear-gradient(100deg,#16cf78,#b1ecaa);background-clip:text;-webkit-background-clip:text;color:transparent}.landing-copy>p{font-size:18px;line-height:1.65;color:#e8ecee;max-width:520px;margin:26px 0 30px}.landing-services{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0 38px}.landing-service{text-align:center}.landing-service svg{height:33px;width:38px;margin:0 auto 10px;fill:none;stroke:#e4f8eb;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.landing-service strong{display:block;font-size:12px;white-space:nowrap}.landing-service span{display:block;font-size:10px;color:#bac8c6;line-height:1.5;margin-top:4px}.landing-service:hover strong{color:#45e697}.landing-new .actions{gap:16px;flex-wrap:wrap}.landing-new .btn{border-radius:40px;padding:17px 26px;background:linear-gradient(100deg,#49eaa1,#0dc86b);font-size:13px;color:#061b12}.landing-new .landing-outline{background:transparent;border:1px solid #d3dce1;color:#fff}.landing-app{align-self:center;filter:drop-shadow(0 20px 30px #0005);border-radius:44px;overflow:hidden;line-height:0}.landing-app svg{display:block;width:100%;height:auto}.landing-results{position:relative;background:#fff;border-radius:32px 32px 0 0;margin-top:-28px;padding:30px 0 12px}.landing-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.landing-result-grid>div{border:1px solid #e8eee9;border-radius:18px;padding:16px 22px}.landing-result-grid strong{display:block;color:#157647;font-size:18px}.landing-result-grid span{font-size:12px;color:#69766f}.landing-caption{font-size:10px;margin:14px 0 0;color:#778179}@media(max-width:900px){.landing-layout{grid-template-columns:1.15fr .85fr;gap:18px;min-height:600px;padding-top:45px;padding-bottom:50px}.landing-copy h1{font-size:48px}.landing-copy>p{font-size:15px}.landing-services{grid-template-columns:repeat(2,1fr);gap:18px}.landing-result-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.landing-layout{display:flex;flex-direction:column;padding:42px 24px 50px;gap:32px}.landing-copy h1{font-size:44px}.landing-copy .eyebrow{font-size:9px;letter-spacing:.17em}.landing-copy>p{font-size:16px}.landing-services{grid-template-columns:repeat(2,1fr)}.landing-service strong{font-size:13px}.landing-service span{font-size:11px}.landing-new .actions{display:grid;grid-template-columns:1fr}.landing-app{width:min(290px,100%);border-radius:28px}.landing-results .wrap{padding:0 24px}.landing-result-grid{gap:10px}.landing-result-grid>div{padding:14px}.landing-result-grid strong{font-size:16px}.landing-result-grid span{font-size:11px}}

.landing-app{width:85%;justify-self:center;border-radius:0;overflow:visible;background:transparent}.landing-app img{display:block;width:100%;height:auto}@media(max-width:600px){.landing-app{width:min(247px,85%)}}

.service-page-visual{height:480px;display:flex;align-items:center;justify-content:center}.service-page-visual img{width:100%;height:100%;object-fit:contain}.service-related{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0}@media(max-width:600px){.service-page-visual{height:300px}}

.dropdown.service-menu{width:250px;left:-20px;display:grid;grid-template-columns:1fr;gap:4px;padding:12px}.dropdown.service-menu>a{font-size:14px;padding:11px 14px;border-radius:8px}.dropdown.service-menu>a:hover,.dropdown.service-menu>a:focus-visible{background:var(--pale);color:var(--deep)}@media(max-width:800px){.dropdown.service-menu{width:100%;left:0;padding:4px 0 10px}}

.dropdown.service-menu>a{display:flex;align-items:center;gap:10px}.dropdown.service-menu>a svg{display:block;width:24px;height:24px;flex:0 0 24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}

/* Funding guide */
.grant-hero{background:var(--deep);color:#fff;padding:44px 0 70px}.grant-hero .breadcrumb,.grant-hero .eyebrow{color:#c4e6d2}.grant-hero h1{max-width:900px;font-size:clamp(38px,5.5vw,72px);line-height:1.1;margin:25px 0}.grant-hero h1 span{color:#9fe6b8}.grant-hero p{max-width:720px;color:#e1ece5}.grant-updated{font-size:12px;margin-top:24px}.grant-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.grant-shortcuts a{border:1px solid #ffffff55;border-radius:30px;padding:11px 18px;font-size:13px}.grant-shortcuts a:hover{background:#ffffff18}.grant-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px}.grant-overview>a{border:1px solid #dce7de;border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:16px}.grant-overview>a:hover{background:var(--pale)}.grant-overview h3{font-size:24px}.grant-overview strong{font-size:13px;color:var(--deep);margin-top:auto}.grant-index{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--deep)}.grant-heading{max-width:850px;margin-bottom:36px}.grant-heading p{margin-top:20px}.grant-columns{display:grid;grid-template-columns:1fr 1fr;gap:60px}.grant-columns h3{margin:26px 0 14px;font-size:22px}.grant-columns h3:first-child{margin-top:0}.grant-columns p{margin-bottom:18px;line-height:1.75}.grant-list{padding-left:21px;line-height:1.75}.grant-list li{margin-bottom:14px}.grant-documents{border-top:1px solid #d7e1da;margin-top:35px;padding-top:28px;display:flex;justify-content:space-between;align-items:center;gap:24px}.grant-documents p{font-size:13px;max-width:440px;margin-top:8px}.grant-documents .actions{flex-wrap:wrap;align-items:center;margin:0;gap:16px}.grant-documents .btn{white-space:nowrap}.grant-program{scroll-margin-top:100px}.grant-help{max-width:850px}.grant-help p{margin:25px 0}.grant-note{font-size:13px;color:#67766c}@media(max-width:800px){.grant-overview,.grant-columns{grid-template-columns:1fr}.grant-columns{gap:22px}.grant-documents{align-items:flex-start;flex-direction:column}.grant-hero{padding-bottom:45px}.grant-overview>a{padding:24px}}

/* Local project carousel: native touch scrolling, no external dependency. */
.project-carousel{max-width:960px;margin:0 auto}
.project-carousel .project-carousel-track{position:relative;display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;border-radius:16px;outline-offset:4px}
.project-carousel.is-enhanced .project-carousel-track{scrollbar-width:none}
.project-carousel.is-enhanced .project-carousel-track::-webkit-scrollbar{display:none}
.project-carousel .local-project-photo{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
.project-carousel .local-project-photo>a{height:clamp(240px,60vw,580px);aspect-ratio:auto;cursor:zoom-in}
.project-carousel .local-project-photo img{object-fit:contain}
.project-carousel .local-project-photo figcaption{padding:20px 4px 6px}
.project-carousel-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:18px}
.project-carousel-controls[hidden]{display:none}
.project-carousel-button{min-height:44px;padding:10px 18px;border:1px solid #ceddd2;border-radius:9px;background:#fff;color:var(--deep);font-size:12px;font-weight:800;justify-self:start;transition:background .2s,border-color .2s}
.project-carousel-button:last-child{justify-self:end}
.project-carousel-button:hover:not(:disabled){background:#e7f4eb;border-color:var(--deep)}
.project-carousel-button:disabled{opacity:.4;cursor:default}
.project-carousel-position{text-align:center}
.project-carousel-count{display:block;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.project-carousel-dots{display:flex;justify-content:center}
.project-carousel-dot{display:flex;align-items:center;justify-content:center;width:44px;height:36px;padding:0;border:0;background:transparent;border-radius:8px}
.project-carousel-dot span{display:block;width:8px;height:8px;border-radius:10px;background:#c4d3c9;transition:width .2s,background .2s}
.project-carousel-dot[aria-current=true] span{width:24px;background:var(--deep)}
@media(max-width:520px){.project-carousel-controls{grid-template-columns:1fr 1fr;gap:8px}.project-carousel-position{grid-column:1/-1;grid-row:1}.project-carousel .local-project-photo figcaption{padding-top:16px}.project-carousel-button{padding:10px 16px}}
@media(prefers-reduced-motion:reduce){.project-carousel-button,.project-carousel-dot span{transition:none}}

/* Documented local installation */
.local-project{scroll-margin-top:110px}.local-project h2{max-width:850px}.local-project-intro{max-width:850px;margin:25px 0 30px;line-height:1.75}.local-project-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 35px}.local-project-specs>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}.local-project-specs dt{font-size:12px;color:var(--muted);margin-bottom:8px}.local-project-specs dd{font-size:26px;font-weight:700;color:var(--deep);margin:0}.local-project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 26px}.local-project-photo{min-width:0;margin:0}.local-project-photo>a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:#e8eeea}.local-project-photo img{display:block;width:100%;height:100%;object-fit:cover}.local-project-photo.project-portrait img{object-fit:contain}.local-project-photo figcaption{padding:18px 0 0}.local-project-photo h3{font-size:20px}.local-project-photo p{font-size:13px;margin:10px 0 0}.local-project .actions{align-items:center;flex-wrap:wrap;margin-top:32px;gap:20px}@media(max-width:640px){.local-project-gallery{grid-template-columns:1fr}.local-project-specs{gap:8px}.local-project-specs>div{padding:14px 10px}.local-project-specs dt{font-size:10px}.local-project-specs dd{font-size:19px}.local-project-photo h3{font-size:19px}}

/* One installation per card, with its own compact photo carousel. */
.local-project-cards h2{margin-bottom:36px;font-size:clamp(28px,3.2vw,42px)}
.realization-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;align-items:start}
.realization-card{min-width:0}
.realization-card>h3{font-size:20px;line-height:1.35;letter-spacing:-.025em;margin:16px 0 0}
.realization-card>p{font-size:13px;line-height:1.65;margin:10px 0 0}
.project-carousel-compact{position:relative;max-width:none;margin:0}
.project-carousel-compact .project-carousel-track{gap:0;border-radius:4px}
.project-carousel-compact .local-project-photo>a{height:auto;aspect-ratio:3/2;border-radius:4px}
.project-carousel-compact .local-project-photo img{object-fit:cover}
.project-carousel-compact .project-portrait img{object-fit:contain}
.project-carousel-compact .project-carousel-controls{display:block;margin:0}
.project-carousel-compact .project-carousel-controls[hidden]{display:none}
.project-carousel-compact .project-carousel-position{padding-top:4px}
.project-carousel-compact .project-carousel-count{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.project-carousel-compact .project-carousel-button{position:absolute;top:calc((100% - 40px)/2);transform:translateY(-50%);left:6px;z-index:1;width:36px;min-height:44px;padding:0;border:0;border-radius:4px;background:#142b2460;color:white;font-size:36px;font-weight:400;line-height:1}
.project-carousel-compact .project-carousel-button:last-child{left:auto;right:6px}
.project-carousel-compact .project-carousel-button:hover:not(:disabled){background:#142b24b0}
.project-carousel-compact .project-carousel-button:disabled{opacity:.25}
.project-carousel-compact .project-carousel-dot{width:30px;height:36px}
.project-carousel-compact .project-carousel-dot span{width:6px;height:6px}
.project-carousel-compact .project-carousel-dot[aria-current=true] span{width:6px;background:var(--deep)}
@media(max-width:900px){.realization-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.realization-card-grid{grid-template-columns:1fr;gap:32px}.realization-card>h3{font-size:19px}.local-project-cards h2{margin-bottom:26px}}
