:root{--bg-color:#fff;--surface:#f4f5f6;--text-color:#1a1a1a;--text-muted:#555;--border-color:transparent;--accent:#ff6a1a;--glow:#ffb347;--accent-rgb:255, 106, 26;--glow-rgb:255, 179, 71;--font-sans:"Inter", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace;--max-width:1200px}:root.theme-blue{--accent:#0ea5e9;--glow:#38bdf8;--accent-rgb:14, 165, 233;--glow-rgb:56, 189, 248}:root.theme-green{--accent:#10b981;--glow:#34d399;--accent-rgb:16, 185, 129;--glow-rgb:52, 211, 153}@media (prefers-color-scheme:dark){:root{--bg-color:#0b0d10;--surface:#14181d;--text-color:#f2f4f7;--text-muted:#98a2b0;--border-color:#2a313b}}html{scroll-behavior:smooth}*{box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-color);margin:0;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{letter-spacing:-.02em;margin-top:0;font-weight:700;line-height:1.1}h1{margin-bottom:1rem;font-size:clamp(2.5rem,5vw,4rem)}h2{margin-bottom:1.5rem;font-size:clamp(2rem,4vw,3rem)}h3{margin-bottom:.75rem;font-size:1.5rem}a{color:var(--accent);text-decoration:none;transition:all .2s}a:hover,a:focus{color:var(--glow);text-decoration:underline}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}header{z-index:100;background-color:var(--bg-color);border-bottom:1px solid #0000;transition:background-color .3s,border-bottom .3s,box-shadow .3s;position:sticky;top:0}header.scrolled{border-bottom:1px solid var(--border-color);box-shadow:0 4px 20px #0000001a}@media (prefers-color-scheme:dark){header.scrolled{backdrop-filter:blur(10px);background-color:#0b0d10f2;box-shadow:0 4px 20px #0006}}header>.container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.logo{color:var(--text-color);font-size:1.5rem;font-weight:800;text-decoration:none!important}.logo span{color:var(--accent);font-size:1rem;font-weight:500;font-family:var(--font-mono);vertical-align:middle;margin-left:.25rem}nav{align-items:center;gap:2rem;display:flex}nav a{color:var(--text-color);font-weight:600;position:relative;text-decoration:none!important}nav a:after{content:"";background-color:var(--accent);width:0;height:2px;transition:width .2s;position:absolute;bottom:-4px;left:0}nav a:hover:after,nav a:focus:after{width:100%}nav a:hover{color:var(--accent)}main{min-height:70vh}footer{border-top:1px solid var(--border-color);color:var(--text-muted);background-color:var(--surface);padding:4rem 0;font-size:.875rem}.btn{background-color:var(--accent);cursor:pointer;text-align:center;box-shadow:0 4px 14px rgba(var(--accent-rgb), .3);border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.875rem 2rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;color:#fff!important;text-decoration:none!important}.btn:after{display:none!important}.btn:hover,.btn:focus{background-color:var(--glow);box-shadow:0 6px 20px rgba(var(--glow-rgb), .4);transform:translateY(-2px)}.btn:focus-visible{outline:3px solid var(--glow);outline-offset:2px}.btn-outline{border:2px solid var(--border-color);box-shadow:none;background-color:#0000;color:var(--text-color)!important}.btn-outline:hover,.btn-outline:focus{border-color:var(--accent);box-shadow:0 4px 14px rgba(var(--accent-rgb), .1);background-color:#0000;color:var(--accent)!important}.card-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:2rem;display:grid}.card{background-color:var(--surface);border:1px solid var(--border-color);border-radius:.75rem;padding:2.5rem;transition:all .3s;position:relative;overflow:hidden}.card:hover,.card:focus-within{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 10px 30px #0000001a}@media (prefers-color-scheme:dark){.card:hover,.card:focus-within{box-shadow:0 10px 30px rgba(var(--accent-rgb), .1)}}.mono-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:block}.plaid-divider{background-color:#0b0d10;background-image:linear-gradient(90deg, transparent 50%, rgba(var(--accent-rgb), .2) 50%), linear-gradient(0deg, transparent 50%, rgba(var(--accent-rgb), .4) 50%);border-top:2px solid var(--accent);border-bottom:1px solid var(--glow);background-size:8px 8px;width:100%;height:6px}@media (prefers-color-scheme:light){.plaid-divider{background-color:#fff;background-image:linear-gradient(90deg, transparent 50%, rgba(var(--accent-rgb), .1) 50%), linear-gradient(0deg, transparent 50%, rgba(var(--accent-rgb), .2) 50%)}}input,textarea,select{background-color:var(--bg-color);border:1px solid var(--border-color);width:100%;color:var(--text-color);border-radius:.5rem;margin-bottom:1rem;padding:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #ff6a1a33}.form-group label{margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.fade-in-section{opacity:0;visibility:hidden;will-change:opacity, visibility;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(20px)}.fade-in-section.is-visible,noscript .fade-in-section{opacity:1;visibility:visible;transform:none}.service-card{cursor:pointer}.service-card .service-details{opacity:0;max-height:0;transition:max-height .4s,opacity .4s,margin-top .4s;overflow:hidden}.service-card:hover .service-details,.service-card:focus-within .service-details{opacity:1;max-height:200px;margin-top:1rem}.accordion{border:1px solid var(--border-color);background-color:var(--surface);border-radius:.5rem;margin-bottom:1rem;overflow:hidden}.accordion-header{text-align:left;width:100%;color:var(--text-color);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:1.5rem;font-size:1.1rem;font-weight:600;display:flex}.accordion-header:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.accordion-icon{color:var(--accent);transition:transform .3s}.accordion-content{max-height:0;padding:0 1.5rem;transition:max-height .3s;overflow:hidden}.accordion.open .accordion-content{padding-bottom:1.5rem}.accordion.open .accordion-icon{transform:rotate(180deg)}.section-padding{padding:6rem 0}
