@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:400;src:url(../fonts/montserrat-v31-latin-regular.woff2) format('woff2')}
@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:700;src:url(../fonts/montserrat-v31-latin-700.woff2) format('woff2')}
@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:800;src:url(../fonts/montserrat-v31-latin-800.woff2) format('woff2')}
:root{--font-main:'Montserrat',sans-serif;--color-brand-green:#3C8200;--color-brand-navy:#0B194C;--color-primary:var(--color-brand-navy);--color-primary-hover:#121299;--color-accent:#0FA958;--color-accent-hover:#14C768;--gradient-accent:linear-gradient(135deg,#14C768 0,#0FA958 100%);--color-heading:var(--color-brand-navy);--color-text-main:#334155;--color-text-muted:#475569;--color-text-light:#64748b;--color-bg-light:#F4F9F0;--color-bg-alt:#f1f4f9;--color-white:#fff;--color-border:#e2e8f0;--color-border-input:#cbd5e1;--color-error:#e74c3c;--color-warning-bg:#fdfaf3;--color-warning-border:#d4b572;--text-base:1.125rem;--text-lead:1.125rem;--text-small:.875rem;--text-eyebrow:.875rem;--h1:2.5rem;--h2:2.1rem;--h3:1.4rem;--h4:1.33rem;--h5:1.2rem;--h6:1.1rem}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:100%;scroll-behavior:smooth;scroll-padding-top:100px}
body{font-family:var(--font-main);font-size:var(--text-base);line-height:1.6;color:var(--color-text-main);-webkit-font-smoothing:antialiased;background-color:var(--color-brand-navy)}
h1,h2,h3,h4,h5,h6{font-weight:800;line-height:1.2;color:var(--color-heading);margin-bottom:1.5rem}
h1{font-size:var(--h1)}
h2{font-size:var(--h2)}
h3{font-size:var(--h3)}
h4{font-size:var(--h4)}
h5{font-size:var(--h5)}
h6{font-size:var(--h6);margin-bottom:1rem}
p{margin-bottom:.8rem}
.hamburger-btn,a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
.lead-text{font-size:var(--text-lead);line-height:1.5;color:var(--color-text-muted)}
.small-info{font-size:var(--text-small);color:var(--color-text-light);margin-top:auto;line-height:1.5}
.eyebrow-text{display:inline-block;text-transform:uppercase;font-size:var(--text-eyebrow);font-weight:700;color:var(--color-accent);margin-bottom:8px;letter-spacing:1px}
.required{color:var(--color-error)!important;margin-left:2px;font-weight:700}
.text-center{text-align:center}
.full-width{grid-column:1/-1}
.margin-top{margin-top:30px}
.reveal{opacity:0;transform:translateY(40px);transition:all .8s ease-out}
.reveal.active{opacity:1;transform:translateY(0)}
.heading-icon{display:flex;align-items:center;gap:8px}
.bg-white{background-color:var(--color-white)}
.bg-light{background-color:var(--color-bg-light)}
.bg-alt{background-color:var(--color-bg-alt)}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
section{padding:96px 0}
.section-subtitle{max-width:600px;margin:0 auto 50px}
.about-section{padding-bottom:128px}
.grid-3-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:966px;margin:0 auto}
.hover-lift{transition:transform .3s ease}
.hover-lift:hover{transform:translateY(-5px)}
.btn{display:inline-block;padding:12px 24px;font-family:inherit;font-size:1rem;font-weight:700;text-decoration:none;border-radius:10px;text-align:center;cursor:pointer;transition:all .3s ease}
.btn--primary{background:var(--gradient-accent);color:var(--color-white);border:2px solid var(--color-accent)}
.btn--primary:hover{background:linear-gradient(135deg,#20d976 0,#11ba62 100%);border-color:var(--color-accent-hover);color:var(--color-white)}
.btn--outline{background:0 0;color:var(--color-primary);border:2px solid var(--color-primary)}
.btn--outline:hover{background:linear-gradient(135deg,#1a2e6b 0,#223b82 100%);color:var(--color-white)}
.btn--outline-light{background:0 0;color:var(--color-white);border:2px solid var(--color-white)}
.btn--outline-light:hover{background-color:var(--color-white);color:var(--color-primary)}
.main-header{display:flex;justify-content:space-between;align-items:center;padding:32px 64px;position:sticky;top:0;background-color:var(--color-white);z-index:100;box-shadow:0 8px 24px rgba(242,245,242,.3);border-bottom:1px solid var(--color-bg-light)}
.logo a{display:flex;align-items:center;justify-content:center}
.main-nav ul{display:flex;list-style:none;gap:30px;align-items:center}
.main-nav ul li:last-child{margin-left:30px}
.main-nav a.btn.btn--primary{color:var(--color-white)}
.main-nav a{text-decoration:none;font-weight:700;color:var(--color-primary);transition:color .3s;position:relative;padding-bottom:12px}
.main-nav a:not(.btn):hover{color:var(--color-primary-hover)}
.main-nav a:not(.btn)::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:4px;background-color:var(--color-accent);border-radius:2px;transition:width .3s ease,opacity .3s ease;opacity:0}
.main-nav a.active:not(.btn)::after,.main-nav a:not(.btn):hover::after{width:12px;opacity:1}
.hamburger-btn{display:none;background:0 0;border:none;cursor:pointer;color:var(--color-primary)}
.hero-section{position:relative;min-height:85vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:120px 0;background:var(--color-brand-navy) url(../img/hero-fallback.jpg) center/cover}
.hero-bg-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}
.hero-overlay{position:absolute;inset:0;background-color:rgba(4,4,121,.45);z-index:2}
.hero-container{position:relative;z-index:3;max-width:800px;display:flex;flex-direction:column;align-items:center}
.hero-container h1{color:var(--color-white);font-size:4rem;margin-bottom:24px}
.hero-container p.lead-text{color:var(--color-bg-light);max-width:660px;margin-bottom:40px}
.hero-cta-buttons a:first-child{margin:0 16px 0 0}
.feature-item{display:flex;flex-direction:column;align-items:center;gap:20px}
.feature-item svg{color:var(--color-accent);width:64px;height:64px;object-fit:contain}
.feature-item h3{margin:0;max-width:250px}
.bento-card,.info-box{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:16px;padding:60px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.bento-card{min-height:280px}
.bento-card svg{color:var(--color-accent);width:64px;height:64px;margin-bottom:15px}
.bento-card h3{margin:0;color:var(--color-heading);line-height:1.2}
.bento-wide{grid-column:span 2}
.bento-dark{background-color:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}
.bento-dark h3{color:var(--color-white)}
.profits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;max-width:960px;margin:0 auto}
.info-box{background-color:var(--color-white);border-radius:12px;padding:48px 40px 32px;text-align:left;align-items:flex-start}
.info-box h3{margin-top:0;margin-bottom:24px}
.check-list,.custom-list{list-style:none;padding-left:0;margin-bottom:30px;line-height:1.5}
.check-list li,.custom-list li{position:relative;padding-left:30px;margin-bottom:12px}
.custom-list li::before{content:"•";position:absolute;left:10px;color:var(--color-primary);font-weight:700}
.check-list li::before{content:"✓";position:absolute;left:5px;color:var(--color-accent);font-weight:700}
.how-it-works-split{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}
.step-text{margin-bottom:30px;padding-left:20px;border-left:4px solid transparent;background:linear-gradient(var(--color-bg-alt),var(--color-bg-alt)) padding-box,var(--gradient-accent) border-box;max-width:420px}
.step-text h3{margin-top:0;margin-bottom:10px}
.mySwiper{width:100%;height:100%;max-height:400px;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.1);border:1px solid var(--color-border);background-color:var(--color-primary)}
.mySwiper img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.swiper-pagination{bottom:20px!important}
.swiper-pagination-bullet{width:20px;height:4px;border-radius:2px;background:rgba(255,255,255,.5);opacity:1}
.swiper-pagination-bullet-active{background:var(--gradient-accent)!important;width:32px}
.autoplay-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:rgba(255,255,255,.2);z-index:10}
.autoplay-progress .progress-line{height:100%;width:0;background:var(--gradient-accent)}
.manifesto-divider{position:relative;background-color:var(--color-primary);padding:100px 0;overflow:hidden;margin:0}
.manifesto-heading{color:var(--color-white);line-height:1.2;margin:0}
.manifesto-heading .highlight-green{color:var(--color-accent)}
.manifesto-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(16,185,129,.15) 0,rgba(4,4,121,0) 70%);z-index:1;pointer-events:none}
.parallax-divider{position:relative;background:url(../img/tanszy-prad-dla-firm-parczew-spoldzielnia-energetyczna.jpg) center 0/cover no-repeat fixed;padding:120px 0;color:var(--color-white)}
.parallax-overlay{position:absolute;inset:0;background-color:rgba(1,32,1,.75);z-index:1}
.parallax-content{position:relative;z-index:2;max-width:500px;margin:0 auto}
.parallax-content h2{color:var(--color-white);margin-bottom:20px}
.join-split{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:flex-start}
.join-steps{margin:40px 0;display:flex;flex-direction:column;gap:20px}
.step-item{display:flex;align-items:center;gap:16px}
.step-item p{margin:0}
.step-number{width:36px;height:36px;background:var(--gradient-accent);color:var(--color-white);border-radius:50%;display:flex;justify-content:center;align-items:center;font-weight:700;flex-shrink:0}
.form-card{background-color:var(--color-white);padding:40px;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.08);border:1px solid var(--color-border)}
.form-section-title{margin:30px 0 20px;color:var(--color-primary);border-bottom:2px solid var(--color-bg-light);padding-bottom:10px}
.form-section-title:first-of-type{margin-top:0}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-group label{font-weight:700;font-size:var(--text-small);color:var(--color-primary)}
.form-control{padding:12px 15px;font-size:16px;font-family:inherit;color:var(--color-text-main);border:1px solid var(--color-border-input);border-radius:8px;width:100%;transition:border-color .3s,box-shadow .3s;background-color:var(--color-white)}
.form-control::placeholder{color:var(--color-border-input)}
.form-control:focus{outline:0;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(105,175,14,.2)}
select.form-control{cursor:pointer;appearance:none;-webkit-appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 15px center/16px no-repeat;padding-right:45px}
.checkbox-group{margin-top:20px}
.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-weight:400;cursor:pointer}
.checkbox-label a{color:var(--color-primary);text-decoration:underline}
.checkbox-label input[type=checkbox]{appearance:none;-webkit-appearance:none;width:24px!important;height:24px!important;min-width:22px;border:2px solid var(--color-primary);border-radius:4px;background-color:var(--color-white);cursor:pointer;position:relative;display:inline-block;flex-shrink:0;transition:all .2s;margin-top:2px}
.checkbox-label input[type=checkbox]:checked{background-color:var(--color-primary);border-color:var(--color-primary)}
.checkbox-label input[type=checkbox]:checked::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") center/contain no-repeat}
.checkbox-label span{font-size:var(--text-small);line-height:1.2;user-select:none}
.tooltip{display:inline-flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--color-heading);font-size:12px;cursor:help;position:relative;margin-left:5px}
.tooltip::after{content:attr(data-tooltip);position:absolute;bottom:150%;left:50%;transform:translateX(-50%);width:250px;padding:10px;border:1px solid var(--color-border-input);border-radius:12px;background-color:var(--color-white);font-weight:400;text-align:left;visibility:hidden;opacity:0;transition:opacity .3s;z-index:10}
.tooltip:hover::after{visibility:visible;opacity:1}
.form-submit{margin-top:30px;display:flex;justify-content:space-between;align-items:center}
.main-footer.dark-footer{background-color:var(--color-primary);color:var(--color-bg-light);padding:80px 0 30px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:50px;margin-bottom:60px}
.main-footer h3{color:var(--color-white);font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:25px;opacity:.9}
.footer-logo{max-width:266px;margin-bottom:15px;display:block;filter:brightness(0) invert(1)}
.footer-slogan{font-size:14px;color:var(--color-text-light)}
.main-footer p{color:var(--color-bg-light);opacity:.8}
.main-footer a{color:var(--color-border-input);text-decoration:none;transition:color .2s ease}
.main-footer a:hover{color:var(--color-accent-hover)}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:12px}
.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid rgba(255,255,255,.1);font-size:var(--text-small);color:var(--color-text-light)}
@media (max-width:1280px){
.main-header{padding:32px 40px;flex-wrap:wrap}
.hamburger-btn{display:block;width:30px;height:20px;position:relative;background:0 0;border:none;cursor:pointer;z-index:101;padding:0}
.hamburger-btn span{position:absolute;left:0;width:100%;height:2px;background-color:var(--color-primary);transition:all .3s ease}
.hamburger-btn span:nth-child(1){top:0}
.hamburger-btn span:nth-child(2),.hamburger-btn span:nth-child(3){top:9px}
.hamburger-btn span:nth-child(4){top:18px}
.hamburger-btn.active span:nth-child(1),.hamburger-btn.active span:nth-child(4){width:0;left:50%;opacity:0}
.hamburger-btn.active span:nth-child(2){transform:rotate(45deg)}
.hamburger-btn.active span:nth-child(3){transform:rotate(-45deg)}
.main-nav{width:100%;position:absolute;top:100%;left:0;background-color:var(--color-bg-alt);box-shadow:0 10px 24px rgba(0,0,0,.1);padding:56px 0 32px;z-index:100;display:block;opacity:0;visibility:hidden;transform:translateY(-15px);transition:all .3s cubic-bezier(.4,0,.2,1)}
.main-nav.active{opacity:1;visibility:visible;transform:translateY(0)}
.main-nav ul{flex-direction:column;align-items:center;gap:56px;padding-bottom:10px}
.main-nav ul li:last-child{margin-left:0}
}
@media (max-width:1024px){
.how-it-works-split,.join-split{grid-template-columns:1fr;gap:40px}
.logo img{width:266px;height:auto}
.footer-grid{grid-template-columns:1fr;gap:40px}
.main-footer{padding:60px 0 30px;text-align:center}
.footer-brand{text-align:center}
.footer-logo{margin:0 auto;padding-bottom:12px}
.footer-bottom p{max-width:340px;margin:0 auto}
}
@media (max-width:768px){
:root{--text-base:1rem;--text-lead:1rem;--h1:2rem;--h2:1.75rem;--h3:1.4rem;--h4:1.25rem;--h5:1.125rem}
section{padding:50px 0}
.logo img{width:211px;height:auto}
.btn{width:100%}
.main-header{padding:32px 32px 32px 24px}
.hero-container h1{font-size:3rem}
.hero-cta-buttons a:first-child{margin:0 0 16px 0}
.grid-3-cols,.profits-grid{grid-template-columns:1fr}
.about-section .grid-3-cols{gap:56px}
.bento-wide{grid-column:span 1}
.parallax-divider{background-attachment:scroll;padding:80px 0}
.manifesto-divider{padding:80px 0}
.form-card{padding:25px 20px}
.form-submit{flex-direction:column;align-items:flex-start;gap:20px;text-align:center}
}
@media (max-width:468px){
.hero-container h1{font-size:2.5rem}
}
h4.width-fix-1{max-width:164px}
.privacy-policy-container{max-width:800px;margin:0 auto;background-color:#fff;padding:40px 56px;border-radius:16px;box-shadow:0 4px 15px rgba(0,0,0,.05)}
.privacy-policy-container h1{margin-top:32px;margin-bottom:40px}
.privacy-policy-container h2{padding-bottom:8px;margin-top:32px;margin-bottom:16px}
.privacy-policy-container h2:first-of-type{margin-top:0}
.privacy-policy-container p{margin-bottom:16px}
ol.main-list{padding-left:20px;margin-bottom:20px}
ol.main-list>li{margin-bottom:12px;padding-left:5px}
ol.alpha-list{list-style-type:lower-alpha;padding-left:25px;margin-top:10px;margin-bottom:10px}
ol.alpha-list>li{margin-bottom:8px}
ul.bullet-list{list-style-type:disc;padding-left:25px;margin-top:10px;margin-bottom:10px}
ul.bullet-list>li{margin-bottom:8px}
.highlight{font-weight:600}
@media (max-width:600px){
.privacy-policy-container{padding:20px 25px}
}