:root{--color-primary:#2d6815;--color-primary-dark:#2d6815;--color-primary-light:#6ec240;--color-accent:#14507e;--color-accent-tint:rgba(37, 99, 165, 0.12);--color-accent-line:rgba(37, 99, 165, 0.30);--color-text:#011628;--color-text-muted:rgba(1, 22, 40, 0.65);--color-bg:#ffffff;--color-bg-alt:#f9f8f8;--color-bg-dark:#011628;--color-white:#ffffff;--font-family:'IBM Plex Sans', system-ui, -apple-system, sans-serif;--max-width:1200px;--section-padding:4rem 1.5rem;--transition:0.3s ease}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-primary-dark)}h1,h2,h3,h4{line-height:1.3;font-weight:600}.container{max-width:var(--max-width);margin:0 auto;padding:0 clamp(.75rem,2vw,1.5rem)}nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:0 0;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .4s ease,box-shadow .4s ease,backdrop-filter .4s ease}nav.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 20px rgba(0,0,0,8%)}.nav-inner{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:72px}.nav-logo{height:44px;width:44px;object-fit:contain;object-position:left center;transition:opacity var(--transition)}.nav-logo-dark{display:none}nav.scrolled .nav-logo-light{display:none}nav.scrolled .nav-logo-dark{display:block}.nav-links{display:flex;list-style:none;gap:.4rem;align-items:center}.nav-links a{color:rgba(255,255,255,.9);font-size:.875rem;font-weight:500;letter-spacing:.3px;padding:.45rem .95rem;border-radius:8px;transition:color var(--transition),background var(--transition)}.nav-links a:hover{color:var(--color-white);background:rgba(85,166,48,.22)}.nav-links a.active{color:var(--color-white);background:var(--color-primary-dark)}nav.scrolled .nav-links a{color:var(--color-text-muted)}nav.scrolled .nav-links a:hover{color:var(--color-primary);background:rgba(85,166,48,.14)}nav.scrolled .nav-links a.active{color:var(--color-white)}.nav-toggle{display:none;flex-direction:column;gap:5px;background:0 0;border:none;cursor:pointer;padding:.5rem}.nav-toggle span{width:24px;height:2px;background:var(--color-white);transition:var(--transition)}nav.scrolled .nav-toggle span{background:var(--color-text)}nav.nav-solid{position:static;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 20px rgba(0,0,0,8%)}nav.nav-solid .nav-logo-light{display:none}nav.nav-solid .nav-logo-dark{display:block}nav.nav-solid .nav-links a{color:var(--color-text)}nav.nav-solid .nav-links a:hover{color:var(--color-primary);background:rgba(85,166,48,.14)}nav.nav-solid .nav-links a.active{color:var(--color-white)}nav.nav-solid .nav-toggle span{background:var(--color-text)}.hero{position:relative;z-index:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:#011628;color:var(--color-white);text-align:center;padding:8rem 1.5rem 6rem;overflow:hidden}.hero-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,0,0,.7),rgba(0,0,0,.4));z-index:-1;pointer-events:none}.hero-content{max-width:720px;position:relative;z-index:1}.hero h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin-bottom:1rem;letter-spacing:-.5px}.hero .subtitle{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:300;opacity:.9;margin-bottom:1.5rem;font-style:italic}.hero p{font-size:1.05rem;line-height:1.8;opacity:.85;margin-bottom:2.5rem;font-weight:300}.btn{display:inline-block;padding:.9rem 2.5rem;font-family:var(--font-family);font-size:.85rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;border:2px solid var(--color-primary-dark);color:var(--color-white);background:var(--color-primary-dark);border-radius:12px;cursor:pointer;transition:all .35s ease}.btn:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-white);box-shadow:0 6px 20px rgba(85,166,48,.3);transform:translateY(-1px)}section{padding:var(--section-padding);position:relative;z-index:1;background:var(--color-bg)}.section-alt{background:var(--color-bg-alt);position:relative;z-index:1}.section-dark{background:var(--color-bg-dark);color:var(--color-white);padding:3rem 1.5rem}.section-header{text-align:center;margin-bottom:3.5rem}.section-header h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:1rem;position:relative;color:var(--color-primary-dark)}.section-dark .section-header h2{color:var(--color-white)}.page-content h1{color:var(--color-primary-dark)}.section-header h2::after{content:'';display:block;width:60px;height:3px;background:var(--color-primary);margin:1rem auto 0}.section-header p{color:var(--color-text-muted);max-width:600px;margin:0 auto;font-size:1.05rem}.section-dark .section-header p{color:rgba(255,255,255,.7)}.answer-first{max-width:var(--max-width);margin:0 auto 3rem;font-size:1.05rem;line-height:1.8;color:var(--color-text);padding:1.5rem 2rem;border-left:4px solid var(--color-primary);background:rgba(85,166,48,.12);border-radius:0 12px 12px 0}#czym-sie-zajmujemy h2{font-size:1.6rem;margin-bottom:1rem}#czym-sie-zajmujemy p{font-size:1.05rem;line-height:1.8;color:var(--color-text);margin-bottom:1.25rem}#czym-sie-zajmujemy a{text-decoration:underline;text-underline-offset:2px}.intro-row{display:grid;grid-template-columns:2fr 1fr;gap:2.5rem;margin-bottom:3rem}.intro-row--solo{grid-template-columns:1fr}.intro-row-text h2{margin-top:0}.intro-row-media{border-radius:16px;overflow:hidden;min-height:260px;display:flex}.intro-row-media img{width:100%;height:100%;object-fit:cover;display:block}.intro-media-ph{flex:1;display:flex;align-items:center;justify-content:center;background:var(--color-bg-alt);border:1px dashed rgba(0,0,0,.2);border-radius:16px;color:var(--color-text-muted);font-size:.9rem}.intro-full h2{margin-top:0}@media(max-width:768px){.intro-row{grid-template-columns:1fr}}.philosophy-text{max-width:var(--max-width);margin:0 auto 3rem;text-align:center;font-size:1.1rem;color:var(--color-text-muted)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:var(--max-width);margin:0 auto}@media(max-width:980px){.values-grid{grid-template-columns:repeat(2,1fr)}}.value-card{text-align:center;padding:2rem 1.5rem;border-radius:16px;background:var(--color-bg);border:1px solid rgba(0,0,0,6%);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.value-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(85,166,48,.1),0 4px 12px rgba(0,0,0,6%);border-color:rgba(85,166,48,.3)}.value-icon{font-size:2rem;margin-bottom:1rem;display:block}.value-card h3{font-size:1rem;margin-bottom:.5rem}.value-card p{font-size:.875rem;color:var(--color-text-muted)}.services-columns{display:flex;flex-direction:column;gap:2.5rem;max-width:var(--max-width);margin:0 auto}.service-group{border-radius:16px;background:var(--color-bg);border:1px solid rgba(0,0,0,6%);transition:box-shadow .35s ease,border-color .35s ease;overflow:hidden}.service-group:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(85,166,48,.15),0 8px 24px rgba(0,0,0,8%);border-color:var(--color-primary)}.section-alt .service-group{background:var(--color-white)}.service-group h3{font-size:1.5rem;margin-bottom:1.25rem;color:var(--color-primary-dark);display:flex;align-items:center;gap:.5rem}.service-group ul{list-style:none}.service-group--row{display:flex;align-items:stretch;gap:0;position:relative}.service-img{position:absolute;left:0;top:0;bottom:0;width:350px;border-radius:0;object-fit:cover;object-position:center;height:100%}.service-group--row .service-text{margin-left:350px}.service-text{flex:1;padding:2rem 2.5rem}.service-intro{font-size:.95rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:1rem}.service-group li{position:relative;padding:.15rem 0 .15rem 1.2rem;font-size:.9rem;line-height:1.5;color:var(--color-text-muted)}.service-group li::before{content:'';position:absolute;left:0;top:.55rem;width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.projects-map{height:400px;border-radius:16px;border:1px solid rgba(0,0,0,6%);overflow:hidden;z-index:0}.projects-map-wrapper{position:relative;margin-bottom:3rem}.map-scroll-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(1,22,40,.85);color:#fff;padding:.75rem 1.5rem;border-radius:12px;font-size:.9rem;font-weight:500;pointer-events:none;opacity:0;transition:opacity .3s ease;z-index:1000;white-space:nowrap}.map-scroll-hint.visible{opacity:1}.map-pin{background:0 0;border:none}.leaflet-popup-content a.map-popup-link{color:var(--color-primary);font-weight:700;text-decoration:none}.leaflet-popup-content a.map-popup-link:hover{color:var(--color-primary);text-decoration:underline}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.project-card{position:relative;border-radius:16px;overflow:hidden;background:var(--color-bg);border:2px solid rgba(0,0,0,6%);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;cursor:pointer}.project-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(85,166,48,.15),0 8px 24px rgba(0,0,0,8%);border-color:var(--color-primary)}.project-card img{width:100%;height:240px;object-fit:cover;transition:transform .5s ease}.project-card:hover img{transform:scale(1.06)}.project-img-wrapper{position:relative;overflow:hidden}.project-img-wrapper::after{content:'Zobacz projekt \2192';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(1,22,40,.55);color:#fff;font-size:.95rem;font-weight:600;letter-spacing:.5px;opacity:0;transition:opacity .35s ease;pointer-events:none}.project-card:hover .project-img-wrapper::after{opacity:1}.project-info{padding:1.5rem}.project-info h3{font-size:1.05rem;margin-bottom:.5rem;transition:color var(--transition)}.project-card:hover .project-info h3{color:var(--color-primary-dark)}.project-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem;font-size:.8rem;color:var(--color-text-muted)}.project-meta span{display:flex;align-items:center;gap:.25rem}.project-info p{font-size:.9rem;color:var(--color-text-muted);line-height:1.6}.project-more{display:inline-flex;align-items:center;gap:.35rem;margin-top:.75rem;font-size:.85rem;font-weight:600;color:var(--color-primary);transition:gap var(--transition)}.project-more::after{content:'';position:absolute;inset:0;z-index:1}.project-card:hover .project-more{gap:.6rem;color:var(--color-primary-dark)}.faq-list{max-width:var(--max-width);margin:0 auto;display:flex;flex-direction:column;gap:.75rem}.faq-item{border:1px solid rgba(0,0,0,8%);border-radius:16px;overflow:hidden;background:var(--color-bg);transition:box-shadow .35s ease,border-color .35s ease}.faq-item:hover{box-shadow:0 8px 24px rgba(0,0,0,6%);border-color:var(--color-primary)}.faq-question{width:100%;background:0 0;border:none;padding:1.25rem 1.5rem;font-family:var(--font-family);font-size:1rem;font-weight:600;color:var(--color-text);text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:color var(--transition)}.faq-question:hover{color:var(--color-primary)}.faq-question::after{content:'+';font-size:1.4rem;font-weight:300;color:var(--color-primary);flex-shrink:0;transition:transform var(--transition)}.faq-item.open .faq-question::after{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease}.faq-item.open .faq-answer{max-height:800px}.faq-answer p{padding:0 1.5rem 1.5rem;font-size:.95rem;line-height:1.7;color:var(--color-text-muted)}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;max-width:1200px;margin:0 auto}.team-card{text-align:center;padding:2.5rem 2rem;border-radius:16px;background:var(--color-bg);border:1px solid rgba(0,0,0,6%);transition:box-shadow .35s ease,border-color .35s ease,transform .35s ease}.team-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,6%);border-color:rgba(85,166,48,.2)}.team-photo{width:180px;height:180px;border-radius:50%;object-fit:cover;margin:0 auto 1.25rem;border:3px solid rgba(85,166,48,.15)}.team-card h3{font-size:1.1rem;margin-bottom:.25rem}.team-card .role{font-size:.85rem;color:var(--color-text-muted);margin-bottom:.25rem}.team-card .education{font-size:.8rem;color:var(--color-text-muted);font-style:italic;margin-bottom:.75rem}.team-card .team-bio{font-size:.85rem;color:var(--color-text-muted);line-height:1.6}.clients-list{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem 2.5rem;max-width:800px;margin:0 auto}.clients-list span{font-size:1rem;font-weight:500;color:rgba(255,255,255,.8);padding:.6rem 1.4rem;border:1px solid rgba(255,255,255,.15);border-radius:12px;transition:all .35s ease}.clients-list span:hover{border-color:var(--color-primary);color:var(--color-white);background:rgba(85,166,48,.1);box-shadow:0 0 20px rgba(85,166,48,.15)}.contact-hero{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.contact-big{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;padding:2rem 2.5rem;border:1px solid var(--color-bg-dark);border-radius:16px;transition:all .35s ease}.contact-big:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(85,166,48,.15),0 8px 24px rgba(0,0,0,8%);border-color:var(--color-primary)}.contact-big-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.contact-big-icon{font-size:1.8rem}.contact-big-label{font-size:1.1rem;font-weight:600;color:var(--color-text)}.contact-big-numbers{display:flex;flex-direction:column;align-items:center;gap:.4rem}.contact-big-numbers a{font-size:1.15rem;font-weight:600;color:var(--color-primary-dark);text-decoration:none}.contact-big-numbers a:hover{color:var(--color-primary)}.contact-big-value{font-size:1.15rem;font-weight:600;color:var(--color-primary-dark);margin-bottom:.75rem}.contact-big:hover .contact-big-value{color:var(--color-primary)}.contact-details{text-align:center;margin-bottom:3rem;font-size:.9rem;color:var(--color-text-muted)}.contact-form-section{max-width:var(--max-width);margin:0 auto}.contact-form-section h3{text-align:center;font-size:1rem;color:var(--color-text-muted);font-weight:500;margin-bottom:1.5rem}.contact-form{display:flex;flex-direction:column;gap:1rem}.contact-form input,.contact-form textarea{width:100%;padding:.85rem 1rem;font-family:var(--font-family);font-size:.9rem;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:var(--color-bg);color:var(--color-text);transition:border-color .35s ease,box-shadow .35s ease;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(85,166,48,.12)}.contact-form textarea{min-height:140px;resize:vertical;border:2px solid var(--color-primary)}.contact-form .btn{align-self:flex-start}.hp-field{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}.form-consent{display:flex;align-items:flex-start;gap:.5rem;margin-top:.25rem}.form-consent input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--color-primary)}.form-consent label{font-size:.78rem;color:var(--color-text-muted);line-height:1.5}.footer-divider{width:100%;height:2px;background:var(--color-bg-dark);margin-top:auto}footer{background:var(--color-bg-alt);color:var(--color-text-muted);padding:2.5rem 0 2rem}.footer-grid{max-width:var(--max-width);margin:0 auto;padding:0 clamp(.75rem,2vw,1.5rem);display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;align-items:center}.footer-right{text-align:left}.footer-center{text-align:center}.footer-left{font-size:.85rem}.footer-left p{margin-bottom:.25rem}.footer-left a{color:var(--color-primary-dark);text-decoration:underline}.footer-left a:hover{color:var(--color-text)}.footer-sak-link{display:inline-block;text-decoration:none;margin-bottom:.5rem}.footer-sak-link img{height:65px;width:auto}.footer-right p{font-size:.85rem;color:var(--color-text);line-height:1.4}.footer-right p strong a{color:var(--color-primary-dark);text-decoration:underline;font-weight:700}.footer-right p strong a:hover{color:var(--color-text)}.footer-legal{font-size:.8rem;color:var(--color-text);margin-top:.5rem}.footer-legal a{color:var(--color-primary-dark);text-decoration:underline}.footer-legal a:hover{color:var(--color-text)}.scroll-top{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;border-radius:50%;background:var(--color-primary);color:var(--color-white);border:none;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--transition);box-shadow:0 4px 12px rgba(85,166,48,.3)}.scroll-top.visible{opacity:1;visibility:visible}.scroll-top:hover{background:var(--color-primary-dark);transform:translateY(-2px)}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.project-breadcrumb{position:static;border-bottom:1px solid rgba(0,0,0,6%);background:#f7f7f7}.project-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;min-height:52px;font-size:.9rem}.project-breadcrumb li{display:flex;align-items:center;gap:.65rem}.project-breadcrumb li+li::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--color-primary);flex-shrink:0}.project-breadcrumb a{color:var(--color-text-muted);text-decoration:none;transition:color var(--transition)}.project-breadcrumb a:hover{color:var(--color-primary-dark)}.crumb-current{color:var(--color-primary-dark);font-weight:700}.project-hero{position:relative;width:100%;aspect-ratio:5/1;min-height:200px;background-size:cover;background-position:50%;display:flex;align-items:flex-end;padding:0;margin-top:0}.project-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}.project-hero-overlay{width:100%;background:linear-gradient(to top,rgba(1,22,40,.9) 0%,rgba(1,22,40,.4) 60%,transparent 100%);padding:6rem 0 3rem;margin-top:auto}.project-hero h1{color:var(--color-white);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;max-width:700px}.oferta-hero{aspect-ratio:auto;min-height:190px;background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 70%,var(--color-primary-light) 100%);overflow:hidden}.oferta-hero-pattern{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;opacity:.4;pointer-events:none}.oferta-hero-pattern--svg{background-color:#e4e8df;opacity:.3;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.oferta-hero .project-hero-overlay{position:relative;z-index:1;padding:2.25rem 0 1.5rem;background:linear-gradient(to top,rgba(11,41,8,.55) 0%,rgba(11,41,8,.15) 55%,transparent 100%)}.oferta-cta{margin-top:3.5rem;padding:1.75rem 1.75rem 2rem;background:rgba(85,166,48,6%);border:1px solid rgba(85,166,48,.18);border-left:4px solid var(--color-primary);border-radius:12px}.oferta-cta-lead{font-size:1.15rem;font-weight:700;color:var(--color-primary-dark);margin-bottom:.5rem}.oferta-cta p{margin-bottom:1.25rem}.oferta-cta .btn{margin-bottom:0}.oferta-faq{margin-top:3.5rem}.oferta-faq-heading{font-size:1.6rem;font-weight:700;margin-bottom:1.5rem}.oferta-faq .faq-list{max-width:100%;margin:0}.project-detail{padding:4rem 1.5rem 6rem}.project-meta-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:1rem 1.25rem;background:rgba(85,166,48,6%);border:1px solid rgba(85,166,48,.16);border-radius:12px;margin-bottom:2.5rem;font-size:.9rem}.project-meta-bar span{display:inline-flex;align-items:baseline;gap:.4rem;padding:.4rem .9rem;background:rgba(85,166,48,.12);border:1px solid rgba(85,166,48,.28);border-radius:8px;color:var(--color-primary-dark)}.project-meta-bar strong{color:var(--color-primary-dark);font-weight:700}.project-content--full{max-width:100%}.project-video{margin:3rem 0}.project-video h2{font-size:1.3rem;margin-bottom:1.5rem}.video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-facade{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:#000}.video-facade img{width:100%;height:100%;object-fit:cover;opacity:.88;transition:opacity .2s ease}.video-facade:hover img,.video-facade:focus-visible img{opacity:.74}.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:rgba(0,0,0,.62);transition:background .2s ease,transform .2s ease}.video-facade:hover .video-play,.video-facade:focus-visible .video-play{background:#cf2e2e;transform:translate(-50%,-50%)scale(1.06)}.video-play::after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-style:solid;border-width:15px 0 15px 26px;border-color:transparent transparent transparent #fff}.video-note{margin:.9rem 0 0;font-size:.85rem;color:var(--color-text-muted);line-height:1.55}.video-note a{color:var(--color-primary-dark);font-weight:600}.video-note strong{color:var(--color-text)}.project-content h2{font-size:1.6rem;margin-bottom:1.25rem;color:var(--color-text)}.project-content h3{font-size:1.15rem;margin-top:2rem;margin-bottom:.75rem;color:var(--color-primary-dark)}.project-content p{font-size:1rem;color:var(--color-text-muted);line-height:1.8;margin-bottom:1rem}.project-content a{color:var(--color-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:rgba(85,166,48,.4);transition:text-decoration-color var(--transition),color var(--transition)}.project-content a:hover{color:var(--color-primary-dark);text-decoration-color:var(--color-primary)}.project-content ul{list-style:none;margin-bottom:1.5rem}.project-content ol{list-style:decimal;margin-bottom:1.5rem;padding-left:1.5rem}.project-content li{font-size:1rem;line-height:1.7;color:var(--color-text-muted)}.project-content ul li{position:relative;padding:.15rem 0 .15rem 1.2rem}.project-content ol li{padding:.15rem 0}.project-content ol li::marker{color:var(--color-primary);font-weight:600}.project-content ul li::before{content:'';position:absolute;left:0;top:.8rem;width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.project-content table{width:100%;border-collapse:collapse;margin:1.5rem 0 2rem;font-size:.95rem;line-height:1.5;background:var(--color-white)}.project-content th,.project-content td{padding:.7rem .9rem;border:1px solid rgba(85,166,48,.18);text-align:left;vertical-align:top}.project-content td{color:var(--color-text-muted)}.project-content thead th{background:rgba(85,166,48,.12);color:var(--color-primary-dark);font-weight:700}.project-content tbody tr:nth-child(even){background:rgba(85,166,48,5%)}.project-content table strong{color:var(--color-text)}@media(max-width:640px){.project-content table{font-size:.85rem}.project-content th,.project-content td{padding:.55rem .6rem}}.project-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;margin-bottom:2.5rem}.project-gallery{max-width:var(--max-width);margin:0 auto 3rem}.project-gallery h2{font-size:1.4rem;margin-bottom:1.5rem}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.gallery-grid--cols-4{grid-template-columns:repeat(4,1fr)}.gallery-grid--cols-6{grid-template-columns:repeat(6,1fr)}@media(max-width:768px){.gallery-grid--cols-4,.gallery-grid--cols-6{grid-template-columns:1fr 1fr}}.gallery-grid img{width:100%;border-radius:12px;object-fit:cover;box-shadow:0 8px 24px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease}.gallery-wide{grid-column:1/-1}.gallery-span-2{grid-column:span 2}.gallery-span-3{grid-column:span 3}.gallery-thumb{cursor:pointer}.gallery-thumb:hover{transform:scale(1.02);box-shadow:0 14px 36px rgba(0,0,0,.16)}.lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox-img{max-width:92vw;max-height:90vh;object-fit:contain;border-radius:4px}.lightbox-close{position:absolute;top:1rem;right:1.5rem;background:0 0;border:none;color:#fff;font-size:2.5rem;cursor:pointer;z-index:10000;line-height:1}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:none;color:#fff;font-size:2.5rem;padding:.5rem 1rem;cursor:pointer;border-radius:8px;transition:background .2s}.lightbox-prev:hover,.lightbox-next:hover{background:rgba(255,255,255,.3)}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-counter{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:.85rem}@media(max-width:768px){:root{--section-padding:3rem 0.75rem}.nav-links{position:fixed;top:72px;left:0;right:0;background:rgba(255,255,255,.98);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0 1rem;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .35s ease;box-shadow:0 8px 24px rgba(0,0,0,.1)}.nav-links.open{transform:translateY(0);opacity:1;visibility:visible}.nav-links li{width:100%}.nav-links a{display:block;width:100%;text-align:center;color:var(--color-text)!important;padding:.95rem 1.5rem;font-size:1rem;border-radius:0;border-bottom:1px solid rgba(1,22,40,8%)}.nav-links li:last-child a{border-bottom:0}.nav-links a:hover{color:var(--color-primary)!important;background:rgba(85,166,48,.1)!important}.nav-links a.active{color:var(--color-white)!important;background:var(--color-primary-dark)!important}.nav-toggle{display:flex}.contact-hero{grid-template-columns:1fr}.projects-grid{grid-template-columns:1fr}.values-grid{grid-template-columns:1fr}.value-card{padding:1.25rem 1rem}.service-text{padding:1.25rem 1rem}.faq-question{padding:1rem}.faq-answer p{padding:0 1rem 1.25rem}.project-meta-bar{padding:.75rem;gap:.5rem;margin-bottom:1.5rem}.projects-map{height:260px}.team-grid{grid-template-columns:1fr}.service-group--row{flex-direction:column}.service-img{position:static;width:100%;height:250px}.service-group--row .service-text{margin-left:0}.project-hero-overlay{padding:3rem 0 1.25rem}.project-breadcrumb ol{gap:.5rem;font-size:.82rem;min-height:46px}.project-breadcrumb li{gap:.5rem}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-right{text-align:center}.footer-center{display:none}}.btn:focus-visible,.nav-links a:focus-visible,.faq-question:focus-visible,.scroll-top:focus-visible,.project-breadcrumb a:focus-visible,.lightbox-close:focus-visible,.lightbox-prev:focus-visible,.lightbox-next:focus-visible,.gallery-thumb:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.fade-in{opacity:1;transform:none}}.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;padding:.75rem 1.25rem;background:var(--color-primary-dark);color:var(--color-white);font-weight:600;border-radius:0 0 8px 0;text-decoration:none}.skip-link:focus{left:0}.error-404{text-align:center;padding:4rem 1.5rem 6rem}.error-404-code{font-size:clamp(4rem,12vw,7rem);font-weight:700;line-height:1;color:var(--color-primary);margin-bottom:.5rem}.error-404 h1{margin-bottom:1rem}.error-404 p{max-width:540px;margin:0 auto 1rem;color:var(--color-text-muted)}.error-404-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.cta-center{text-align:center;margin-top:2rem}.oferta-chips{position:static;display:flex;flex-wrap:wrap;gap:14px 12px;margin:0 0 2rem}.oferta-chip{display:inline-flex;align-items:center;padding:15px 24px;font-size:15px;font-weight:700;line-height:1.1;color:var(--color-accent);background:var(--color-accent-tint);border:1px solid var(--color-accent-line);border-radius:24px;transition:all var(--transition)}.oferta-chip:hover,.oferta-chip:focus-visible{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent);transform:translateY(-1px);box-shadow:0 6px 16px rgba(20,80,126,.28)}