:root{--bg: #0a0a0b;--bg-alt: #0c0c0e;--surface-raise: rgba(255, 255, 255, .015);--text: #e6e6e8;--text-strong: #fafafa;--text-muted: #a8a8ab;--text-subtle: #7a7a7e;--text-soft: #c8c8cb;--border: rgba(255, 255, 255, .08);--border-soft: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .12);--c-blue: #3b82f6;--c-purple: #a855f7;--c-teal: #14b8a6;--c-pink: #f472b6;--c-orange: #fb923c;--t-blue: rgba(59, 130, 246, .12);--t-purple: rgba(168, 85, 247, .12);--t-teal: rgba(20, 184, 166, .12);--t-pink: rgba(244, 114, 182, .12);--t-orange: rgba(251, 146, 60, .12);--font-sans: system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--site-max: 1200px;--gutter: 32px;--section-pad: 56px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-pill: 999px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--bg);color-scheme:dark}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-weight:400;line-height:1.5;max-width:var(--site-max);margin:0 auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,svg,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}input,textarea,select{font:inherit;color:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3,h4,h5,h6{margin:0 0 16px;font-weight:500;color:var(--text-strong);letter-spacing:-.02em;line-height:1.2}h1{font-size:clamp(32px,5vw,48px);line-height:1.1;letter-spacing:-.025em;margin:0 0 20px}h2{font-size:clamp(22px,3vw,26px)}h3{font-size:15px;line-height:1.35}h4{font-size:13px;font-weight:500}p{font-size:15px;line-height:1.7;color:var(--text-muted);margin:0 0 14px}p:last-child{margin-bottom:0}.lead{font-size:17px;line-height:1.6;color:var(--text-muted)}.mono{font-family:var(--font-mono)}.kicker{font-family:var(--font-mono);font-size:11px;color:var(--text-subtle);letter-spacing:.05em;margin-bottom:8px}.nav{display:flex;justify-content:space-between;align-items:center;padding:18px var(--gutter);border-bottom:.5px solid var(--border-soft);background:#0a0a0beb;position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(10px)}.nav-brand{display:flex;align-items:center;gap:11px}.nav-brand span{font-weight:500;font-size:15px;letter-spacing:-.01em;color:var(--text-strong)}.nav-links{display:flex;gap:28px;font-size:13px;color:var(--text-muted);align-items:center}.nav-links a{transition:color .15s ease}.nav-links a:hover{color:var(--text-strong)}.nav-active{color:var(--text-strong)!important}.nav-cta{background:var(--c-blue);padding:7px 14px;border-radius:var(--r-sm);font-weight:500;color:#fff!important;transition:filter .15s ease}.nav-cta:hover{filter:brightness(1.08)}.nav-toggle{display:none;width:36px;height:36px;border-radius:var(--r-sm);align-items:center;justify-content:center}.nav-toggle svg{width:22px;height:22px;stroke:var(--text)}section{padding:var(--section-pad) var(--gutter);border-top:.5px solid var(--border-soft)}section:first-of-type{border-top:none;padding-top:64px}.section-alt{background:var(--bg-alt)}.btn-primary,.btn-secondary{display:inline-block;padding:11px 20px;border-radius:7px;font-size:14px;font-weight:500;text-decoration:none;transition:filter .15s ease,border-color .15s ease,background .15s ease;cursor:pointer;text-align:center}.btn-primary{background:var(--c-blue);color:#fff}.btn-primary:hover{filter:brightness(1.08)}.btn-secondary{border:.5px solid rgba(255,255,255,.15);color:var(--text);background:transparent}.btn-secondary:hover{border-color:#ffffff4d}.btn-row{display:flex;gap:12px;flex-wrap:wrap}.card{border:.5px solid var(--border);border-radius:var(--r-lg);padding:22px;background:var(--surface-raise)}.card-plain{border:.5px solid var(--border);border-radius:var(--r-lg);padding:22px}.svc-blue{background:var(--t-blue);color:var(--c-blue)}.svc-purple{background:var(--t-purple);color:var(--c-purple)}.svc-teal{background:var(--t-teal);color:var(--c-teal)}.svc-pink{background:var(--t-pink);color:var(--c-pink)}.svc-orange{background:var(--t-orange);color:var(--c-orange)}.icon-square{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.chip{font-family:var(--font-mono);font-size:12px;background:#ffffff0a;border:.5px solid var(--border);padding:5px 10px;border-radius:5px;display:inline-block}.tech-tile-row{display:flex;flex-wrap:wrap;gap:8px}.tech-tile{display:inline-block;border:.5px solid var(--border);background:var(--surface-raise);padding:9px 14px;border-radius:var(--r-md);font-size:13px;color:var(--text-soft);transition:color .15s ease,border-color .15s ease,background .15s ease}.tech-tile:hover{color:var(--text-strong);border-color:var(--border-strong);background:#ffffff0a}.tech-tile--muted{color:var(--text-muted);font-style:italic}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.grid-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start}footer{padding:28px var(--gutter);border-top:.5px solid var(--border-soft);font-size:12px;color:var(--text-subtle);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}footer a{color:inherit;transition:color .15s ease}footer a:hover{color:var(--text)}.field{margin-bottom:14px}.field-label{display:block;font-family:var(--font-mono);font-size:10.5px;color:var(--text-subtle);letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.field-input,.field-textarea{width:100%;border:.5px solid rgba(255,255,255,.1);background:#ffffff05;border-radius:6px;padding:9px 12px;font-size:13px;color:var(--text);font-family:inherit;transition:border-color .15s ease,background .15s ease}.field-input::placeholder,.field-textarea::placeholder{color:var(--text-subtle)}.field-input:focus,.field-textarea:focus{outline:none;border-color:#3b82f680;background:#ffffff08}.field-textarea{min-height:96px;resize:vertical;line-height:1.5}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pill-group{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pill-group--narrow{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.pill{position:relative;display:block;cursor:pointer}.pill input{position:absolute;opacity:0;width:1px;height:1px}.pill span{display:block;border:.5px solid rgba(255,255,255,.1);border-radius:5px;padding:7px 10px;font-size:12px;color:var(--text-muted);text-align:center;transition:all .15s ease;user-select:none}.pill input:checked+span{border-color:#3b82f673;background:#3b82f61a;color:var(--c-blue)}.pill input:focus-visible+span{outline:2px solid rgba(59,130,246,.5);outline-offset:2px}.field-required{color:var(--c-blue)}.field-error{display:none;margin-top:6px;font-size:11.5px;color:#f87171;font-family:var(--font-mono)}.field.is-invalid .field-error{display:block}.field.is-invalid .field-input,.field.is-invalid .field-textarea{border-color:#f8717180}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.form-status{margin-top:16px;padding:12px 14px;border-radius:var(--r-md);font-size:13px;display:none}.form-status.is-success{display:block;background:#14b8a614;border:.5px solid rgba(20,184,166,.3);color:var(--c-teal)}.form-status.is-error{display:block;background:#f8717114;border:.5px solid rgba(248,113,113,.3);color:#f87171}.recaptcha-disclosure{margin-top:14px;margin-bottom:0;font-family:var(--font-mono);font-size:10.5px;color:var(--text-subtle);letter-spacing:.02em;line-height:1.5}.recaptcha-disclosure a{color:var(--text-muted);border-bottom:.5px solid rgba(168,168,171,.2)}.recaptcha-disclosure a:hover{color:var(--text-strong)}.grecaptcha-badge{visibility:hidden!important}.popup-overlay{position:fixed;inset:0;background:#0000009e;backdrop-filter:blur(4px);display:none;align-items:flex-start;justify-content:center;padding:48px 24px;overflow-y:auto;z-index:100}.popup-overlay.is-open{display:flex}.popup-card{background:var(--bg-alt);border:.5px solid var(--border-strong);border-radius:12px;width:100%;max-width:480px;overflow:hidden;margin:auto;animation:popup-in .18s ease}@keyframes popup-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.popup-head{padding:22px 24px;border-bottom:.5px solid var(--border-soft);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.popup-close{width:28px;height:28px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:var(--text-subtle);font-size:18px;line-height:1;transition:color .15s ease,background .15s ease}.popup-close:hover{color:var(--text);background:#ffffff0d}.popup-body{padding:22px 24px}.popup-foot{margin-top:14px;padding-top:14px;border-top:.5px solid var(--border-soft);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-subtle);gap:12px}@media(max-width:900px){:root{--gutter: 24px;--section-pad: 44px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr}.grid-hero{grid-template-columns:1fr;gap:32px}.nav-links{gap:18px}}@media(max-width:640px){:root{--gutter: 20px;--section-pad: 36px}section{padding-top:var(--section-pad);padding-bottom:var(--section-pad)}.grid-2,.grid-3,.grid-4,.field-row{grid-template-columns:1fr}.pill-group{grid-template-columns:repeat(2,1fr)}.nav-toggle{display:flex}.nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:.5px solid var(--border);padding:8px 20px 16px;display:none}.nav-links.is-open{display:flex}.nav-links a,.nav-links span{padding:12px 0;border-top:.5px solid var(--border-soft);font-size:14px}.nav-links a:first-child{border-top:none}.nav-cta{margin-top:12px;text-align:center}.btn-row{flex-direction:column;align-items:stretch}.btn-row .btn-primary,.btn-row .btn-secondary{text-align:center}footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.footer-links[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:10px}.footer-sep[data-astro-cid-sz7xmlte]{color:var(--text-subtle)}
