:root{--bg-color: #ffffff;--text-main: #111111;--text-muted: #666666;--accent: #000000;--border-light: #e5e5e5;--placeholder-bg: #f4f4f4;--font-stack: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--transition: all .3s cubic-bezier(.25, .8, .25, 1);--container-width: 1200px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-stack);background-color:var(--bg-color);color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased}.icon{font-size:48px;color:#333}.container{max-width:var(--container-width);margin:0 auto;padding:0 20px}section{padding:80px 0}h1,h2,h3,h4{margin-top:25px;margin-bottom:5px;font-weight:700;line-height:1.2;letter-spacing:-.02em}h2{margin-top:50px;font-size:2.5rem;margin-bottom:40px;position:relative;display:inline-block}h2:after{content:"";position:absolute;bottom:-10px;left:0;width:40px;height:2px;background:var(--text-main)}.email-link{color:#f5f5f5}p{color:var(--text-muted);margin-bottom:20px}.source{margin-left:30px;color:var(--text-muted);font-style:italic;font-size:.8rem}.bullets{margin-left:30px;color:var(--text-muted)}a{color:var(--text-muted);margin-bottom:20px}.btn-contact,.btn{display:inline-block;padding:16px 32px;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--accent);transition:var(--transition)}.btn:hover{background:transparent;color:var(--accent)}.btn-contact:hover{background:#fff;color:#000}.hamburger{display:none;position:relative;width:30px;height:25px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1000}.hamburger:focus{outline:none}.bar{display:block;width:100%;height:3px;margin-bottom:5px;background-color:#333;border-radius:3px;transition:all .3s ease-in-out}.bar:last-child{margin-bottom:0}nav{position:fixed;top:0;left:0;width:100%;background:#fffffff2;backdrop-filter:blur(10px);border-bottom:1px solid var(--border-light);z-index:1000;padding:20px 0}.nav-content{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:800;text-transform:uppercase;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.logo-mark{width:20px;height:20px;background:var(--text-main);position:relative}.logo-mark:before{content:"";position:absolute;top:50%;left:50%;width:2px;height:100%;background:#fff;transform:translate(-50%,-50%) rotate(45deg)}.nav-links{display:flex;gap:30px;list-style:none}.nav-links a{text-decoration:none;color:var(--text-main);font-weight:500;font-size:.9rem;position:relative}.nav-links a:after{content:"";position:absolute;width:0;height:1px;bottom:-4px;left:0;background:var(--text-main);transition:.3s}.nav-links a:hover:after{width:100%}.nav-left-logo{display:flex;align-items:center;gap:20px;font-size:1.25rem}.nav-left-logo img{width:60px;height:auto;display:block}#hero{height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:80px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;width:100%}.hero-text h1{font-size:4rem;margin-bottom:24px}.hero-text p{font-size:1.2rem;max-width:500px;margin-bottom:40px}.hero-animation{width:100%;height:500px;position:relative}.road-svg{width:100%;height:100%}.svg-line-bg{fill:none;stroke:#f0f0f0;stroke-width:1}.road-path{fill:none;stroke:var(--text-main);stroke-width:40;stroke-linecap:square;stroke-dasharray:1500;stroke-dashoffset:1500;animation:drawRoad 2s cubic-bezier(.55,.055,.675,.19) forwards .5s}.road-dashes{fill:none;stroke:#fff;stroke-width:2;stroke-dasharray:20,30;opacity:0;animation:fadeIn 1s ease forwards 1.2s}.measurement-lines{fill:none;stroke:var(--text-main);stroke-width:1;opacity:0;animation:fadeIn 1s ease forwards 2s}@keyframes drawRoad{to{stroke-dashoffset:0}}@keyframes fadeIn{to{opacity:1}}#about{background-color:#fafafa}.about-text{max-width:800px;font-size:1.1rem;text-align:justify}.services-grid{display:grid;text-align:center;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:30px}.adv-grid{display:grid;text-align:center;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px}.article-card{border:1px solid var(--border-light);padding:40px;transition:var(--transition)}.article-image{width:100%;height:auto;margin-bottom:20px;border-radius:8px}.cookie-banner{position:fixed;bottom:0;left:0;width:100%;background:#111111f7;color:#fff;z-index:9999;padding:20px 0;border-top:1px solid #333}.cookie-banner-inner{max-width:var(--container-width);margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:30px;flex-wrap:wrap}.cookie-banner-text{flex:1;color:#ccc;font-size:.9rem;margin-bottom:0;min-width:260px}.cookie-banner-text a{color:#fff;text-decoration:underline;margin-bottom:0}.cookie-banner-buttons{display:flex;gap:12px;flex-shrink:0}.cookie-btn{padding:10px 24px;font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border:1px solid #fff;cursor:pointer;transition:var(--transition)}.cookie-btn-accept{background:#fff;color:#111}.cookie-btn-accept:hover,.cookie-btn-reject{background:transparent;color:#fff}.cookie-btn-reject:hover{background:#fff;color:#111}@media(max-width:900px){.cookie-banner-inner{flex-direction:column;align-items:flex-start;gap:16px}}.oferta-section-alt{background-color:#fafafa}.oferta-header{display:flex;align-items:center;gap:20px;margin-bottom:10px}.oferta-header h2{margin-top:0;margin-bottom:40px}.oferta-icon{flex-shrink:0;width:48px;height:48px;color:var(--text-main);margin-bottom:33px}a.service-card{display:block;text-decoration:none;color:inherit}.article-table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:1rem}.article-table th,.article-table td{border:1px solid var(--border-light);padding:12px 16px;text-align:left;color:var(--text-muted)}.article-table th{background:var(--placeholder-bg);color:var(--text-main);font-weight:700}.service-card{border:1px solid var(--border-light);padding:40px;transition:var(--transition);background:#fff}.adv-card{border:1px solid var(--border-light);padding:20px 10px;transition:var(--transition);background:#fff}.service-card:hover{border-color:var(--text-main);transform:translateY(-5px);box-shadow:0 10px 30px #0000000d}.service-icon{margin-bottom:25px;width:48px;height:48px;color:var(--text-main)}#portfolio{background:var(--text-main);color:#fff}#portfolio h2{border-color:#fff}#portfolio h2:after{background:#fff}#portfolio p{color:#aaa}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.project-mockup{background-color:#222;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;border:1px solid #333;transition:var(--transition)}.project-mockup:hover{border-color:#fff;background-color:#2a2a2a}.mockup-info{text-align:center;color:#555;font-family:monospace;font-size:.8rem;padding:20px;border:1px dashed #444}.project-overlay{position:absolute;bottom:0;left:0;width:100%;padding:20px;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);transform:translateY(100%);transition:var(--transition)}.project-mockup:hover .project-overlay{transform:translateY(0)}.project-title{color:#fff;font-size:1.1rem;font-weight:600}#contact{background:var(--text-main);color:#fff}.contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-form input,.contact-form textarea{width:100%;padding:15px 0;border:none;border-bottom:1px solid var(--border-light);background:transparent;font-family:inherit;font-size:1rem;margin-bottom:30px;outline:none;transition:.3s;color:#fff;resize:none}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--text-main)}.contact-details h4{font-size:1.2rem;margin-bottom:10px}.contact-details p{margin-bottom:30px}.GDPR{display:flex-start;align-items:center;gap:8px}.GDPR label{display:flex;align-items:center;gap:10px}.GDPR input[type=checkbox]{flex-shrink:0;width:18px;height:18px;cursor:pointer}.GDPR span{cursor:pointer}footer{border-top:1px solid var(--border-light);padding:40px 0;text-align:center;font-size:.85rem;color:var(--text-muted)}.faq-container{margin:20px auto;border:1px solid #ccc;border-radius:8px}.accordion-item{border-bottom:1px solid #eee}.accordion-item:last-child{border-bottom:none}.accordion-header{width:100%;background-color:#f7f7f7;color:#333;padding:15px 20px;text-align:left;border:none;cursor:pointer;font-size:1.1em;font-weight:700;transition:background-color .2s}.accordion-header:hover{background-color:#ebebeb}.accordion-header[aria-expanded=true]{background-color:#e0e0e0}.accordion-content{padding:0 20px;max-height:0;overflow:hidden;transition:max-height .3s ease-out,padding .3s ease-out;background-color:#fff}.accordion-content.open{max-height:500px;padding:15px 20px}#footer-cols{background:var(--text-main);color:#fff}.footer-grid{display:grid;text-align:center;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px}.footer-card{text-align:left}.footer-link{color:inherit;text-decoration:underline;margin-bottom:0}@media(max-width:900px){.services-grid{display:grid;text-align:center;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px}}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;text-align:center}.hero-text h1{font-size:3rem}.hero-text p{margin:0 auto 30px}.hero-animation{height:300px}.contact-wrapper{grid-template-columns:1fr}h2{font-size:2rem}.nav-links{position:fixed;top:0;right:0;width:100%;max-width:300px;height:100vh;background-color:#000000f2;box-shadow:-2px 0 10px #00000080;z-index:999;transform:translate(100%);transition:transform .4s ease-out;display:flex;justify-content:flex-start;flex-direction:column;padding-top:80px}.hamburger{display:block;cursor:pointer}.nav-links.active{transform:translate(0)}.nav-links ul{list-style:none;padding:0;margin:0;width:100%}.nav-links li{text-align:left;margin:0;border-bottom:1px solid rgba(255,255,255,.1)}.nav-links a{display:block;text-decoration:none;color:#fff;padding:15px 25px;font-size:18px;font-weight:400;text-transform:uppercase;transition:background-color .3s ease,color .3s ease}.nav-links a:hover,.nav-links a:focus{background-color:#ffffff1a;color:gold}}
