:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--content-width:1180px;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{box-sizing:border-box;flex-direction:column;width:100%;min-width:320px;min-height:100svh;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);overflow-wrap:anywhere;font-weight:500}h1{letter-spacing:0;margin:32px 0;font-size:clamp(2.25rem,6vw,3.5rem);line-height:1.08}@media (width<=1024px){h1{margin:20px 0}}h2{letter-spacing:0;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.site-header{z-index:10;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0}.navbar{width:min(var(--content-width), calc(100% - 40px));text-align:left;justify-content:space-between;align-items:center;gap:24px;min-height:72px;margin:0 auto;display:flex}.brand,.nav-link{color:var(--text-h);text-decoration:none}.brand{flex:none;font-size:18px;font-weight:700}.nav-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.menu-toggle{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;flex:none;place-items:center;width:42px;height:42px;padding:0;display:none}.menu-toggle span{background:var(--accent);border-radius:999px;width:24px;height:2px;margin:3px 0;transition:transform .2s,opacity .2s;display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(5px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-5px)rotate(-45deg)}.nav-link{color:var(--text);border-radius:6px;padding:8px 12px;font-size:15px;font-weight:600;transition:background .2s,color .2s}.nav-link:hover,.nav-link.active{color:var(--text-h);background:var(--social-bg)}.page{min-height:100svh}.page-section{width:min(var(--content-width), calc(100% - 40px));text-align:left;margin:0 auto;padding:56px 0 96px}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:14px;font-weight:700}.contact-section{grid-template-columns:minmax(280px,.78fr) minmax(320px,1fr);align-items:start;gap:56px;display:grid}.contact-intro{min-width:0;max-width:520px}.contact-intro h1{text-wrap:balance;max-width:12ch;margin-bottom:20px;font-size:clamp(2rem,5vw,3.5rem);line-height:1.1}.contact-intro p:not(.eyebrow){max-width:460px;font-size:clamp(1rem,2vw,1.125rem);line-height:1.55}.contact-form{border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow);border-radius:8px;gap:24px;padding:28px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-field{color:var(--text-h);gap:8px;font-size:14px;font-weight:700;display:grid}.form-field-wide{grid-column:1/-1}.form-field input,.form-field textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-h);background:var(--bg);font:16px/1.4 var(--sans);border-radius:6px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.form-field textarea{resize:vertical}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true]{border-color:#c0262d}.form-field small,.captcha-wrap small{color:#c0262d;font-size:13px;font-weight:600}.form-message{min-height:18px;line-height:1.35;display:block}.captcha-wrap{gap:8px;display:grid}.form-warning{border:1px solid var(--accent-border);color:var(--text-h);background:var(--accent-bg);border-radius:6px;padding:12px 14px;font-size:14px}.submit-button{color:#fff;min-width:136px;font:700 15px/1 var(--sans);cursor:pointer;background:#7c2dff;border:0;border-radius:6px;justify-self:start;padding:12px 20px;transition:background .2s,box-shadow .2s,transform .2s,opacity .2s}.submit-button:hover{background:#6821d9;transform:translateY(-1px)}.submit-button:focus-visible{box-shadow:0 0 0 3px var(--accent-bg), 0 0 0 5px var(--accent-border);outline:none}.submit-button:disabled{cursor:wait;opacity:.65;transform:none}.form-status{border-radius:6px;padding:12px 14px;font-size:14px;font-weight:700}.form-status.success{color:#166534;background:#dcfce7}.form-status.error{color:#991b1b;background:#fee2e2}.projects-section{gap:40px;display:grid}.projects-intro{max-width:680px}.projects-intro h1{margin-bottom:18px}.projects-intro p:not(.eyebrow){font-size:clamp(1rem,2vw,1.125rem);line-height:1.55}.projects-status{border:1px solid var(--border);color:var(--text-h);background:var(--social-bg);border-radius:8px;justify-items:start;gap:10px;padding:16px 18px;display:grid}.projects-status.error{color:#991b1b;background:#fee2e2;border-color:#fecaca}.projects-status small{font-size:13px;line-height:1.4}.projects-status button{color:#fff;font:700 14px/1 var(--sans);cursor:pointer;background:#7c2dff;border:0;border-radius:6px;padding:8px 12px}.projects-status button:hover{background:#6821d9}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(20px,2.5vw,32px);display:grid}.project-card{border:1px solid var(--border);background:var(--bg);border-radius:8px;min-width:0;overflow:hidden}.project-image-wrap{aspect-ratio:10/7;background:var(--social-bg)}.project-image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.project-card-body{gap:10px;padding:clamp(18px,2vw,24px);display:grid}.project-card h2{margin:0;font-size:clamp(1.125rem,2vw,1.35rem);line-height:1.2}.project-card p{color:var(--text);font-size:15px;line-height:1.55}.services-page-section{gap:0;display:grid}.services-intro{width:100%;padding-bottom:clamp(40px,6vw,72px)}.services-intro h1{text-align:center;margin-bottom:18px}.services-intro p:not(.eyebrow){text-align:center;max-width:640px;margin-inline:auto;font-size:clamp(1rem,2vw,1.125rem);line-height:1.55}.service-content-section{border-top:1px solid var(--border);gap:28px;padding:clamp(40px,6vw,72px) 0;display:grid}.service-content-section+.service-content-section{background:linear-gradient(90deg, transparent 0, color-mix(in srgb, var(--social-bg) 68%, transparent) 12%, color-mix(in srgb, var(--social-bg) 68%, transparent) 88%, transparent 100%)}.section-heading{text-align:center;max-width:720px;margin-inline:auto}.section-heading h2,.past-projects-callout h2{margin:0 0 12px;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.1}.section-heading p:not(.eyebrow),.past-projects-callout p:not(.eyebrow){font-size:clamp(1rem,2vw,1.1rem);line-height:1.55}.service-list-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,28px);display:grid}.service-list-card{border:1px solid var(--border);background:var(--bg);border-radius:8px;min-width:0;padding:clamp(20px,2vw,26px)}.service-list-card h3{color:var(--text-h);margin:0;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.25}.past-projects-callout{border:1px solid var(--border);background:var(--social-bg);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(240px,.45fr);align-items:center;gap:clamp(32px,8vw,96px);margin-top:clamp(40px,6vw,72px);padding:clamp(24px,4vw,40px);display:grid}.past-projects-summary{justify-self:end;justify-items:start;gap:14px;display:grid}.past-projects-summary strong{color:var(--text-h);font-size:clamp(2.5rem,7vw,4rem);line-height:.95}.page-button{color:#fff;min-height:44px;font:700 15px/1 var(--sans);background:#7c2dff;border-radius:6px;justify-content:center;align-items:center;padding:0 18px;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.page-button:hover{background:#6821d9;transform:translateY(-1px)}.page-button-secondary{color:var(--text-h);border:1px solid var(--border);background:var(--bg)}.page-button-secondary:hover{color:#fff;background:#6821d9}.home-page-section{gap:clamp(48px,7vw,88px);display:grid}.home-hero{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1.05fr) minmax(280px,.72fr);align-items:center;gap:clamp(32px,7vw,88px);min-height:clamp(420px,58svh,620px);padding-bottom:clamp(36px,6vw,64px);display:grid}.home-hero-copy{max-width:720px}.home-hero h1{text-wrap:balance;max-width:12ch;margin-bottom:22px;font-size:clamp(2.5rem,7vw,5.75rem);line-height:.98}.home-hero-copy p:not(.eyebrow){max-width:650px;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65}.home-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.home-hero-panel{border:1px solid var(--border);background:var(--border);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.home-hero-panel span{min-height:128px;color:var(--text-h);background:var(--bg);place-items:center;padding:18px;font-size:clamp(1rem,2vw,1.15rem);font-weight:800;display:grid}.home-hero-panel span:nth-child(2),.home-hero-panel span:nth-child(3){background:color-mix(in srgb, var(--bg) 76%, var(--accent) 24%)}.home-preview-section{border-bottom:1px solid var(--border);gap:28px;padding-bottom:clamp(32px,5vw,56px);display:grid}.home-preview-band{background:linear-gradient(90deg, transparent 0, color-mix(in srgb, var(--social-bg) 70%, transparent) 12%, color-mix(in srgb, var(--social-bg) 70%, transparent) 88%, transparent 100%);padding:clamp(36px,6vw,64px) 0}.home-section-heading{max-width:720px}.home-section-heading h2,.home-final-cta h2{margin:0 0 12px;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.1}.home-section-heading p,.home-final-cta p{font-size:clamp(1rem,2vw,1.1rem);line-height:1.55}.home-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,28px);display:grid}.home-simple-card{border:1px solid var(--border);background:var(--bg);border-radius:8px;min-width:0;padding:clamp(20px,2.5vw,30px)}.home-simple-card h3{color:var(--text-h);margin:0 0 10px;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.25}.home-simple-card p{font-size:15px;line-height:1.55}.home-text-link{color:var(--accent);justify-self:start;font-weight:800;text-decoration:none}.home-text-link:hover{color:var(--text-h)}.home-industry-list{flex-wrap:wrap;gap:12px;display:flex}.home-industry-list span{border:1px solid var(--border);color:var(--text-h);background:var(--social-bg);border-radius:999px;padding:10px 14px;font-weight:700}.home-final-cta{border:1px solid var(--border);background:var(--social-bg);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(24px,6vw,72px);padding:clamp(24px,4vw,40px);display:grid}.about-page-section{gap:clamp(24px,4vw,44px);display:grid}.about-page-header{border-bottom:1px solid var(--border);width:100%;padding-bottom:clamp(28px,4vw,44px)}.about-page-header h1{text-align:center;margin-bottom:0}.about-content-section{grid-template-columns:minmax(280px,.78fr) minmax(0,1fr);align-items:start;gap:clamp(32px,6vw,72px);display:grid}.about-image-wrap{aspect-ratio:1;border:1px solid var(--border);background:var(--social-bg);border-radius:8px;overflow:hidden}.about-image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.about-image-placeholder{background:linear-gradient(135deg, color-mix(in srgb, var(--bg) 78%, var(--accent) 22%), color-mix(in srgb, var(--social-bg) 86%, var(--accent) 14%));width:100%;height:100%}.about-copy{max-width:620px}.about-copy h2{margin-bottom:18px;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.1}.about-copy p{font-size:clamp(1rem,2vw,1.125rem);line-height:1.7}@media (width<=720px){.navbar{flex-wrap:nowrap;gap:12px;min-height:64px;padding:12px 0;position:relative}.brand{min-width:0}.menu-toggle{margin-left:auto;display:grid}.nav-links{z-index:20;border:1px solid var(--border);background:var(--bg);width:min(210px,100vw - 40px);box-shadow:var(--shadow);border-radius:8px;justify-content:flex-start;align-items:stretch;gap:0;padding:0;display:none;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.nav-link{width:100%;box-sizing:border-box;text-align:center;border-radius:0;flex:0 0 100%;justify-content:center;align-items:center;inline-size:100%;min-inline-size:100%;margin:0;padding:12px 14px;display:flex}.nav-links .nav-link:first-child{border-radius:7px 7px 0 0}.nav-links .nav-link:last-child{border-radius:0 0 7px 7px}.nav-links .nav-link:nth-child(odd){color:var(--text-h);background:color-mix(in srgb, var(--bg) 82%, var(--accent) 18%)}.nav-links .nav-link:nth-child(2n){color:var(--text-h);background:color-mix(in srgb, var(--bg) 68%, var(--accent) 32%)}.nav-links .nav-link:hover,.nav-links .nav-link.active{color:#fff;background:#7c2dff}.nav-links-open{flex-direction:column;display:flex}.page-section{padding:40px 0 72px}.contact-section,.form-grid{grid-template-columns:1fr}.contact-section{gap:32px}.contact-intro h1{max-width:100%}.contact-form{padding:20px}.projects-grid,.home-hero,.home-card-grid,.home-final-cta{grid-template-columns:1fr}.home-hero{min-height:auto}.home-hero h1{max-width:100%}.home-hero-panel span{min-height:92px}.home-final-cta{justify-items:start}.service-list-grid,.past-projects-callout{grid-template-columns:1fr}.past-projects-summary{justify-self:start}.about-content-section{grid-template-columns:1fr}}@media (width>=721px) and (width<=960px){.projects-grid,.service-list-grid,.home-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{grid-template-columns:1fr;min-height:auto}}
