:root{--bg:#f6f8fb;--panel:#fff;--card-shadow:#0206170f;--text:#071022;--muted:#475569;--accent:#0ea5b7;--accent-contrast:#021022;--radius:10px;--gap:18px;--glass:#fff9;--transition-fast:.18s ease;--header-height:72px;--surface-1:var(--panel);--surface-2:#02061705;--border:#0206170f;--input-bg:#00000005;--layout-min:320px;--layout-max:1200px}:root.dark{--bg:linear-gradient(180deg,#071025 0%, #0f1724 100%);--panel:linear-gradient(180deg, #ffffff05, #ffffff03);--card-shadow:#02061799;--text:#e6eef6;--muted:#94a3b8;--accent:#06b6d4;--accent-contrast:#021022;--glass:#ffffff05;--surface-1:var(--panel);--surface-2:#ffffff05;--border:#ffffff0f;--input-bg:#ffffff05}@media (prefers-color-scheme:dark){:root:not(.dark){--bg:linear-gradient(180deg,#071025 0%, #0f1724 100%);--panel:linear-gradient(180deg, #ffffff05, #ffffff03);--card-shadow:#02061799;--text:#e6eef6;--muted:#94a3b8;--accent:#06b6d4;--accent-contrast:#021022;--glass:#ffffff05;--surface-1:var(--panel);--surface-2:#ffffff05;--border:#ffffff0f;--input-bg:#ffffff05}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}*{box-sizing:border-box;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast)}body{background:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;min-width:var(--layout-min);-webkit-text-size-adjust:100%;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5}.wrap{max-width:var(--layout-max);padding:calc(var(--header-height) + 40px) min(28px, 4vw) 28px;width:min(95%, var(--layout-max));margin:0 auto}hr{border:none;border-top:1px solid var(--border);margin:28px 0}.text-quote{border-left:3px solid #ccc;padding-left:16px}:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:3px;border-radius:6px}header{z-index:1000;background:0 0;position:fixed;top:0;left:0;right:0}.header-inner{max-width:var(--layout-max);min-width:var(--layout-min);width:min(95%, var(--layout-max));flex-direction:column;margin:0 auto;padding:0 min(28px,4vw);display:flex}.header-bg{background-color:var(--panel);border-bottom:1px solid var(--border);box-shadow:0 6px 18px var(--card-shadow);border-radius:var(--radius)}:root.dark .header-bg{background-color:#0f1724!important}.header-top{height:var(--header-height);align-items:center;gap:16px;padding:0 12px;display:flex}header .brand{align-items:center;gap:14px;display:flex}header .brand>div{flex-direction:column;justify-content:center;line-height:1.1;display:flex}header h1{white-space:nowrap;margin:0;padding:0;font-size:2rem}header .muted{color:var(--muted);margin:0;padding:0;font-size:.9rem}header .photo{background:var(--glass);border-radius:12px;flex-shrink:0;width:48px;height:48px;overflow:hidden}header .photo img{object-fit:cover;width:100%;height:100%;display:block}header nav{background-color:var(--panel);border-bottom:1px solid var(--border);height:40px;box-shadow:0 4px 12px var(--card-shadow);justify-content:space-between;align-items:center;padding:8px 22px;line-height:40px;display:flex;overflow:hidden}:root.dark header nav{background-color:#0f1724!important}.nav-links{gap:14px;display:flex}.nav-links a{color:var(--muted);white-space:nowrap;padding:0 8px;font-weight:600;line-height:normal;text-decoration:none}.nav-links a:hover{background:var(--surface-2);border-radius:8px}.nav-links a.active{color:var(--accent);font-weight:700}header .theme-toggle{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:8px 10px;font-weight:600;display:inline-flex}.theme-toggle .dot{background:var(--accent);border-radius:50%;width:16px;height:16px}#services,#cases,#about,#contact #articles{scroll-margin-top:calc(var(--header-height) + 40px)}.hero{grid-template-columns:1fr 274px;align-items:stretch;gap:28px;margin-top:20px;display:grid}.card{background:var(--surface-1);border-radius:var(--radius);box-shadow:0 6px 18px var(--card-shadow);flex-direction:column;height:100%;padding:22px;display:flex}.lead{margin:0 0 12px;font-size:clamp(18px,2.2vw,22px)}.sub{color:var(--muted);margin:0 0 18px}.cta{background:var(--accent);color:var(--accent-contrast);border-radius:12px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-block;box-shadow:0 6px 18px #0ea5b71f}.cta:focus-visible{transform:translateY(-1px);box-shadow:0 8px 28px #0ea5b738}.fixed-scope-offers{margin-top:18px}.fixed-scope-offers h3{margin:0 0 8px}a.simple-link{color:var(--accent);text-decoration:none}.margin-top-12{margin-top:12px}.margin-top-20{margin-top:20px}.services{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;display:grid}.service{background:var(--surface-2);cursor:pointer;border-radius:10px;padding:14px;transition:transform .18s,box-shadow .18s}.service:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0206170f}.service h3,.service h4{margin-top:0;margin-bottom:12px;font-size:16px}.service .details{opacity:0;max-height:0;color:var(--muted);font-size:14px;transition:max-height .36s,opacity .26s 80ms;overflow:hidden}.service.open .details{opacity:1;max-height:420px}.service:focus{outline-offset:2px;outline:2px solid #0078d4}.grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}a.link{cursor:pointer}.case{background:var(--surface-2);border-radius:10px;padding:16px}.about,.contact,.articles{margin-top:18px}.skills{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.skill{background:var(--surface-2);color:var(--muted);border-radius:8px;padding:6px 10px;font-size:13px}.soft-skill{background:var(--surface-2);color:var(--muted);cursor:pointer;border-radius:8px;margin:0 0 6px;padding:6px 10px;font-size:13px}.soft-skill:focus{outline-offset:2px;outline:2px solid #0078d4}.soft-skill:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0206170f}.soft-skill .details{opacity:0;max-height:0;color:var(--muted);font-size:14px;transition:max-height .36s,opacity .26s 80ms;overflow:hidden}.soft-skill.open .details{opacity:1;max-height:420px}.contact-form input,.contact-form textarea{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);resize:vertical;border-radius:8px;min-height:40px;margin-top:8px;padding:10px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#00000059}:root.dark .contact-form input::placeholder,:root.dark .contact-form textarea::placeholder{color:#ffffff40}.contact-form input:focus,.contact-form textarea:focus{border-color:color-mix(in srgb, var(--accent) 60%, var(--border));box-shadow:0 6px 18px #0ea5b70f}.contact-form button{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:0;border-radius:8px;margin-top:10px;padding:10px 14px;font-weight:700}.recaptcha-wrap{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px;display:inline-block}.recaptcha-wrap iframe{border-radius:6px;display:block}.hp{opacity:0;pointer-events:none;position:absolute;top:-9999px;left:-9999px}.cookie-banner{background:var(--panel);color:var(--text);box-shadow:0 -4px 18px var(--card-shadow);z-index:4000;border-top:1px solid var(--border);padding:18px;position:fixed;bottom:0;left:0;right:0}:root.dark .cookie-banner{background-color:#0f1724!important}.cookie-banner.hidden{display:none}.cookie-banner-inner{max-width:var(--layout-max);flex-flow:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.cookie-buttons{flex-wrap:wrap;gap:10px;display:flex}.cb-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 14px;font-weight:600}.cb-btn.primary{background:var(--accent);color:var(--accent-contrast)}.cb-btn.secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}.cb-btn.link{color:var(--accent);background:0 0;padding:8px 0}.cookie-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cookie-modal.hidden{display:none}.cookie-modal-content{background:var(--panel);color:var(--text);border-radius:var(--radius);box-shadow:0 6px 18px var(--card-shadow);width:min(480px,90%);padding:24px}.cookie-group{margin-top:18px}.cookie-modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}#cookie-settings-link{cursor:pointer;text-decoration:none}#cookie-settings-link:hover{color:var(--accent);text-decoration:underline}footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:18px;display:flex}.muted{color:var(--muted);font-size:14px}img{max-width:100%;height:auto;image-rendering:optimizeQuality;display:block}@media (max-width:1010px){header h1{font-size:1.5em}}@media (max-width:900px){.hero{grid-template-columns:1fr}.services{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}@media (max-width:640px){.services{grid-template-columns:1fr}.cookie-banner-inner{flex-direction:column;align-items:stretch}.cookie-buttons{justify-content:flex-start}}@media (max-width:531px){.theme-toggle{display:none!important}}@media (max-width:520px){header nav{padding:8px 14px}.services{grid-template-columns:1fr}}@media (max-width:440px){header h1{font-size:1.5em}.nav-links a{padding:0 4px}}@media (max-width:420px){.header-top{gap:10px;height:auto!important}.lead{font-size:18px}.cta{padding:10px 12px}.nav-links a{font-size:11px}}.card-body{flex:1}pre,pre code{white-space:pre-wrap;word-break:break-word;border:1px solid #0000000f;border-radius:8px;padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Roboto Mono,Courier New,monospace;font-size:.95rem;line-height:1.45;transition:background-color .18s,color .18s,border-color .18s;display:block;overflow:auto}:root pre,:root pre code{color:#f5f5f5;background:#0b0b0b;border-color:#0000001f;box-shadow:0 1px 2px #0000000a}:root.dark pre,:root.dark pre code{color:#0b0b0b;background:#fff;border-color:#ffffff14;box-shadow:0 1px 2px #ffffff05}code:not(pre code){background:#0000000f;border-radius:6px;padding:.12rem .32rem;font-size:.9em}:root.dark code:not(pre code){color:inherit;background:#ffffff0f}
