:root{--bg-primary:#1a1a1f;--bg-secondary:#27262e;--bg-card:#2d2c35;--text-primary:#fff;--text-secondary:#a0a0a0;--accent:#19f5aa;--accent-hover:#14d494;--accent-secondary:#3763f4;--border-color:#3a3944;--transition:.3s ease;--radius:12px;--radius-sm:8px;--error:#f87171;--error-rgb:248, 113, 113;--accent-rgb:25, 245, 170;--bg-primary-rgb:26, 26, 31;--shadow:0 4px 20px #0000004d;--shadow-hover:0 8px 30px #19f5aa26;--max-width:1200px;--header-height:72px;--footer-height:80px}[data-theme=light]{--bg-primary:#f5f5f7;--bg-secondary:#fff;--bg-card:#fff;--text-primary:#1a1a1f;--text-secondary:#666;--accent:#047857;--accent-hover:#065f46;--error:#dc2626;--error-rgb:220, 38, 38;--accent-rgb:4, 120, 87;--bg-primary-rgb:245, 245, 247;--border-color:#e0e0e0;--shadow:0 4px 20px #00000014;--shadow-hover:0 8px 30px #04785733}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.fade-in{opacity:1;transform:none}}.skip-link{z-index:10000;background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);padding:.75rem 1.5rem;font-weight:600;text-decoration:none;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:1rem}body{font-family:var(--font-inter);color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;transition:background-color var(--transition), color var(--transition);font-weight:400;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}ul{list-style:none}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;font-weight:700;line-height:1.2}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}h4{font-size:1.25rem}p{color:var(--text-secondary);margin-bottom:1rem}.text-accent{color:var(--accent)}.text-muted{color:var(--text-secondary)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--bg-primary)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 15px rgba(var(--accent-rgb), .4);transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:var(--text-primary);border:2px solid var(--border-color);background:0 0}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn:focus-visible,.theme-toggle:focus-visible,.mobile-toggle:focus-visible,.nav-links a:focus-visible,.card:focus-visible,.partners-grid a:focus-visible,.social-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.header{z-index:1000;background:var(--bg-primary);border-bottom:1px solid var(--border-color);transition:background-color var(--transition), border-color var(--transition), box-shadow var(--transition);position:fixed;top:0;left:0;right:0}.header.scrolled{background:rgba(var(--bg-primary-rgb), .98)}.nav{height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.nav-logo img{height:2.5rem;transition:filter var(--transition)}[data-theme=light] .invert-on-light,[data-theme=light] .nav-logo img{filter:invert()}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{color:var(--text-secondary);transition:color var(--transition);font-weight:500;position:relative}.nav-links a:after{content:"";background:var(--accent);width:0;height:2px;transition:width var(--transition);position:absolute;bottom:-4px;left:0}.nav-links a:hover,.nav-links a.active{color:var(--text-primary)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-actions{align-items:center;gap:1rem;display:flex}.theme-toggle{color:var(--text-secondary);cursor:pointer;min-width:44px;min-height:44px;transition:all var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.75rem;display:flex}.theme-toggle:hover{color:var(--accent);background:var(--bg-secondary)}.theme-toggle svg{width:20px;height:20px}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon,[data-theme=light] .theme-toggle .icon-sun{display:block}[data-theme=light] .theme-toggle .icon-moon{display:none}.mobile-toggle{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;gap:5px;min-width:44px;min-height:44px;padding:.625rem;display:none}.mobile-toggle span{background:var(--text-primary);width:24px;height:2px;transition:all var(--transition);display:block}.mobile-toggle.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.mobile-toggle.active span:nth-child(2){opacity:0}.mobile-toggle.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.mobile-menu{top:var(--header-height);background:var(--bg-primary);visibility:hidden;transition:transform var(--transition), visibility var(--transition);z-index:999;padding:2rem;position:fixed;bottom:0;left:0;right:0;transform:translate(100%)}.mobile-menu.active{visibility:visible;transform:translate(0)}.mobile-menu .nav-links{flex-direction:column;align-items:flex-start;gap:1.5rem}.mobile-menu .nav-links a{font-size:1.25rem}.hero{min-height:80vh;padding:calc(var(--header-height) + 2rem) 0 4rem;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-bg{opacity:.3;background:url(/assets/img/header.webp) 50%/cover no-repeat fixed;position:absolute;inset:0}.hero-bg:after{content:"";background:linear-gradient(to bottom, var(--bg-primary) 0%, transparent 30%, transparent 70%, var(--bg-primary) 100%);position:absolute;inset:0}@media (width<=768px){.hero-bg{background-attachment:scroll}}.hero-content{text-align:center;z-index:1;max-width:800px;margin:0 auto;position:relative}.hero-label{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;font-size:.875rem;font-weight:600;display:inline-block}.hero h1{margin-bottom:1.5rem}.hero p{max-width:600px;margin:0 auto 2rem;font-size:1.25rem}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.page-hero{padding:calc(var(--header-height) + 4rem) 0 4rem;text-align:center;background:var(--bg-secondary)}.page-hero h1{margin-bottom:.5rem}section{padding:5rem 0}.section-header{text-align:center;margin-bottom:3rem}.section-label{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:inline-block}.section-subtitle{max-width:600px;margin:0 auto;font-size:1.1rem}.page-hero .section-subtitle{margin-top:1rem}.card-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);transition:all var(--transition);padding:2rem}.card:hover{box-shadow:var(--shadow-hover);border-color:var(--accent);transform:translateY(-4px)}.icon-box,.card-icon,.info-card-icon{background:rgba(var(--accent-rgb), .1);border-radius:var(--radius-sm);color:var(--accent);justify-content:center;align-items:center;display:flex}.card-icon{width:48px;height:48px;margin-bottom:1.5rem}.card-icon svg{width:24px;height:24px}.card h3,.card h4{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem}.card p{margin-bottom:0;font-size:.9375rem}.services-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.service-card{padding:1.5rem}.service-card .card-icon{width:40px;height:40px;margin-bottom:1rem}.service-card .card-icon svg{width:20px;height:20px}.team-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2rem;max-width:900px;margin:0 auto;display:grid}.team-card{text-align:center;padding:1.5rem}.team-card:hover{transform:translateY(-4px)}.team-card img{object-fit:cover;border:3px solid var(--border-color);width:120px;height:120px;transition:border-color var(--transition);border-radius:50%;margin:0 auto 1rem}.team-card:hover img{border-color:var(--accent)}.team-card h3{margin-bottom:.25rem}.about-values{background:var(--bg-secondary)}.about-content{max-width:720px;margin:0 auto}.about-content p{margin-bottom:1.25rem;font-size:1.0625rem;line-height:1.8}.values-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:900px;margin:0 auto;display:grid}.value-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);transition:all var(--transition);padding:2rem}.value-card:hover{box-shadow:var(--shadow-hover);border-color:var(--accent);transform:translateY(-4px)}.value-card h3{color:var(--accent);margin-bottom:.75rem;font-size:1.125rem}.value-card p{margin-bottom:0;font-size:.9375rem}.team-card p{margin-bottom:0;font-size:.875rem}.team-card-title{color:var(--text-muted);margin-top:.25rem;font-size:.75rem;font-style:italic}.who-we-work-with,.partners{background:var(--bg-secondary)}.partners-grid{align-items:center;gap:3rem;display:flex;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.partners-track{flex-shrink:0;align-items:center;gap:3rem;animation:20s linear infinite scroll-logos;display:flex}@keyframes scroll-logos{0%{transform:translate(0)}to{transform:translate(calc(-100% - 3rem))}}.partners-grid:hover .partners-track{animation-play-state:paused}.partners-grid a{opacity:.7;transition:opacity var(--transition);flex-shrink:0;display:block}.partners-grid a:hover{opacity:1}.partners-grid img{filter:grayscale()brightness(1.2);width:auto;height:40px;transition:filter var(--transition)}[data-theme=light] .partners-grid img{filter:grayscale()brightness(.8)}.partners-grid a:hover img{filter:grayscale(0%)brightness()}.partners-grid img[src*=fieldeffect]{height:22px}.partners-grid img[src*=knowbe4]{height:28px}.partners-grid img[src*=ninjaone]{height:34px}.partners-grid img[src*=pdq]{height:28px}.partners-grid img[src*=scale_computing]{height:34px}.partners-grid img[src*=ubiquiti]{height:28px}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:3rem;display:grid}.contact-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}.form-group input,.form-group textarea{width:100%;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:all var(--transition);padding:.875rem 1rem;font-family:inherit;font-size:1rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .1);outline:none}.form-group textarea{resize:vertical;min-height:150px}.form-group input.invalid,.form-group textarea.invalid{border-color:var(--error);box-shadow:0 0 0 3px rgba(var(--error-rgb), .15)}.form-optional{color:var(--text-secondary);font-size:.8125rem;font-weight:400}.form-error{color:var(--error);margin-top:.25rem;font-size:.8125rem;display:none}.form-group.has-error .form-error{display:block}.form-status{color:var(--text-secondary);margin-top:.5rem;font-size:.8125rem;display:block}.form-status:empty{display:none}.form-consent{color:var(--text-secondary);margin-top:.75rem;font-size:.8125rem}.contact-form .btn{width:100%}.contact-info{flex-direction:column;gap:1.5rem;display:flex}.info-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);align-items:flex-start;gap:1rem;padding:1.5rem;display:flex}.info-card-icon{flex-shrink:0;width:40px;height:40px}.info-card h2,.info-card h4{margin-bottom:.25rem;font-size:1rem}.info-card p{margin-bottom:0;font-size:.9375rem}.map-container{border-radius:var(--radius);border:1px solid var(--border-color);overflow:hidden}.map-container iframe{aspect-ratio:16/9;width:100%;min-height:250px;display:block}.cta{background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);text-align:center}.cta-content{max-width:600px;margin:0 auto}.footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:2rem 0}.footer-content{align-items:center;display:flex}.footer-logo{flex:1}.footer-logo img{height:1.5rem}[data-theme=light] .footer-logo img{filter:invert()}.footer-legal{text-align:center;justify-content:center;gap:2rem;margin-top:1rem;display:flex}.footer-legal a{color:var(--text-secondary);transition:color var(--transition);font-size:.8125rem}.footer-legal a:hover{color:var(--text-primary)}.footer-maple{align-items:center;display:flex}.footer-maple svg{width:24px;height:24px;color:var(--text-secondary)}.social-links{flex:1;justify-content:flex-end;gap:1rem;display:flex}.social-links a{min-width:44px;min-height:44px;color:var(--text-secondary);transition:color var(--transition);justify-content:center;align-items:center;display:flex}.social-links a:hover{color:var(--accent)}.social-links svg{width:20px;height:20px}.partners-cta{text-align:center;margin-top:3rem}.error-content{text-align:center}.error-content p{margin-bottom:2rem;font-size:1.25rem}.error-page{min-height:calc(100vh - var(--header-height) - var(--footer-height));text-align:center;justify-content:center;align-items:center;display:flex}.error-page h1{color:var(--accent);font-size:8rem;line-height:1}.legal-content{max-width:800px;margin:0 auto;padding:3rem 1.5rem}.legal-content h2{color:var(--text-primary);margin-top:2rem;font-size:1.5rem}.legal-content h3{font-size:1.25rem}.legal-content p{margin-bottom:1.5rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fade-in{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(20px)}.fade-in.visible{opacity:1;transform:translateY(0)}@media (width<=992px){.contact-grid{grid-template-columns:1fr}.card-grid,.services-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){:root{--header-height:64px}.nav-links,.nav-actions .btn{display:none}.mobile-toggle,.mobile-menu .nav-links{display:flex}.mobile-menu .nav-actions{margin-top:2rem}.mobile-menu .nav-actions .btn{display:inline-flex}.hero{min-height:auto;padding:calc(var(--header-height) + 3rem) 0 3rem}section{padding:3rem 0}.hero-buttons{flex-direction:column;align-items:center}.footer-content{text-align:center;flex-direction:column;gap:1rem}.footer-logo,.social-links{flex:none;justify-content:center}.footer-maple{margin-left:0}}@media (width<=600px){.card-grid,.services-grid,.values-grid{grid-template-columns:1fr}.contact-grid{gap:2rem}.hero p{font-size:1.1rem}}@media (width<=480px){.team-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.team-card img{width:80px;height:80px}}
