.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{color-scheme:light;--surface:#fff;--surface-raised:#fafafa;--surface-card:#fff;--text:#0a0a0a;--muted:#525252;--faint:#6b6b6b;--line-dark:#e5e5e5;--line-strong:#d4d4d4;--accent:#0057d9;--link:#0057d9;--focus-ring:#0057d9;--button-bg:#0a0a0a;--button-text:#fff;--button-hover:#333;--switch-track:#f2f2f2;--switch-thumb:#fff;--shell:1200px;--header:64px;--radius:8px;--radius-lg:12px;--radius-pill:999px;--font-text:system-ui, -apple-system, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.16, 1, .3, 1);--spring-duration:.4s;--sheet-glass:var(--surface-card);--sheet-filter:none;--sheet-edge:transparent;--shadow-sheet:0 16px 48px #0000001f}:root[data-theme=dark]{color-scheme:dark;--surface:#0a0a0a;--surface-raised:#111;--surface-card:#0f0f0f;--text:#ededed;--muted:#a3a3a3;--faint:#8f8f8f;--line-dark:#262626;--line-strong:#3a3a3a;--accent:#3b82f6;--link:#60a5fa;--focus-ring:#60a5fa;--button-bg:#ededed;--button-text:#0a0a0a;--button-hover:#d4d4d4;--switch-track:#1a1a1a;--switch-thumb:#3a3a3a;--shadow-sheet:0 16px 48px #0009}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--surface);-webkit-text-size-adjust:100%}body{background:var(--surface);color:var(--text);font-family:var(--font-text);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}button,input,textarea{font:inherit}a{color:inherit;text-underline-offset:.2em;text-decoration:none}img,svg{display:block}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;font-weight:600;line-height:1.15}p{text-wrap:pretty}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--text);color:var(--surface)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}section,:target{scroll-margin-top:calc(var(--header) + 16px)}.shell{width:min(calc(100% - 48px), var(--shell));margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius);background:var(--button-bg);color:var(--button-text);padding:12px 16px;font-weight:600;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:0s!important}}@media (width<=640px){.shell{width:calc(100% - 32px)}}.site-header{z-index:30;border-bottom:1px solid var(--line-dark);background:color-mix(in srgb, var(--surface) 86%, transparent);backdrop-filter:saturate(1.8)blur(12px);position:sticky;top:0}.header-inner{height:var(--header);align-items:center;gap:24px;display:flex}.brand{align-items:center;gap:10px;min-height:44px;display:inline-flex}.brand-division{border-left:1px solid var(--line-strong);color:var(--muted);padding-left:10px;font-size:.9375rem;font-weight:500;line-height:1.2}.logo img{width:auto;height:28px}.logo-auto .logo-on-dark,[data-theme=dark] .logo-auto .logo-on-light{display:none}[data-theme=dark] .logo-auto .logo-on-dark{display:block}.desktop-nav{gap:4px;margin-inline:auto;display:none}.desktop-nav a{border-radius:var(--radius);min-height:44px;color:var(--muted);align-items:center;padding:0 12px;font-size:.9375rem;transition:color .15s;display:inline-flex}.desktop-nav a:hover{color:var(--text)}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.language-switch{color:var(--faint);align-items:center;gap:4px;font-size:.875rem;display:flex}.language-switch a{min-width:32px;min-height:44px;color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.language-switch a:hover,.language-switch a.is-active{color:var(--text);font-weight:600}.header-actions>.language-switch,.header-actions>.header-cta{display:none}.theme-toggle{border:1px solid var(--line-dark);border-radius:var(--radius-pill);background:var(--switch-track);width:76px;height:44px;color:var(--faint);cursor:pointer;touch-action:pan-y;user-select:none;-webkit-tap-highlight-color:transparent;flex:0 0 76px;grid-template-columns:1fr 1fr;place-items:center;padding:4px;display:none;position:relative}[data-theme] .theme-toggle{display:grid}.theme-toggle svg{pointer-events:none;position:relative}.theme-toggle-thumb{background:var(--switch-thumb);pointer-events:none;width:32px;transition:transform .2s var(--ease-out);border-radius:50%;position:absolute;inset:4px auto 4px 4px;box-shadow:0 1px 3px #00000024}.theme-toggle[aria-checked=true] .theme-toggle-thumb{transform:translate(34px)}.theme-toggle[aria-checked=false] svg:first-of-type,.theme-toggle[aria-checked=true] svg:last-of-type{color:var(--text)}.menu-button{border:1px solid var(--line-dark);border-radius:var(--radius);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;place-items:center;display:inline-grid}.menu-button[aria-expanded=true] .menu-open-icon,.menu-button[aria-expanded=false] .menu-close-icon{display:none}.mobile-nav{max-height:calc(100dvh - var(--header));border-top:1px solid var(--line-dark);background:var(--surface);overflow-y:auto}.mobile-nav .shell{padding-block:8px 24px;display:grid}.mobile-nav .shell>a{border-bottom:1px solid var(--line-dark);align-items:center;min-height:56px;font-size:1.125rem;font-weight:500;display:flex}.mobile-language-switch{gap:12px;margin-top:16px}.mobile-language-switch a{border:1px solid var(--line-dark);border-radius:var(--radius);min-width:64px}@media (width<=400px){.header-inner{gap:12px}.header-actions,.brand{gap:8px}.brand-division{padding-left:8px;font-size:.875rem}.logo img{height:24px}}@media (width<=340px){.header-inner{gap:8px}.brand{gap:6px}.brand-division{padding-left:6px;font-size:.8125rem}.logo img{height:22px}}@media (width>=640px){.header-actions>.header-cta{display:inline-flex}}@media (width>=1024px){.desktop-nav,.header-actions>.language-switch{display:flex}.desktop-nav+.header-actions{margin-left:0}.menu-button,.mobile-nav{display:none}}.button{border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:.9375rem;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.button-primary{background:var(--button-bg);color:var(--button-text)}.button-primary:hover{background:var(--button-hover)}.button-secondary{border-color:var(--line-strong);background:var(--surface);color:var(--text)}.button-secondary:hover{background:var(--surface-raised)}.text-link{min-height:44px;color:var(--link);align-items:center;gap:6px;font-weight:500;display:inline-flex}.text-link:hover{text-decoration:underline}.note{max-width:72ch;color:var(--faint);font-size:.9375rem}.badge{border:1px solid var(--line-dark);border-radius:var(--radius-pill);color:var(--muted);letter-spacing:0;vertical-align:middle;white-space:nowrap;align-items:center;padding:1px 8px;font-size:.8125rem;font-weight:500;line-height:1.6;display:inline-flex}.hero{padding-block:clamp(72px,12vw,152px) clamp(56px,8vw,96px)}.hero .note{margin-bottom:16px}.hero h1{letter-spacing:-.04em;max-width:18ch;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.04}.lede{max-width:60ch;color:var(--muted);margin-top:20px;font-size:clamp(1.125rem,1.6vw,1.25rem)}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px;display:flex}.section{border-top:1px solid var(--line-dark);padding-block:clamp(56px,8vw,104px)}.section-head{max-width:640px;margin-bottom:40px}.section-head h2,.contact h2{letter-spacing:-.03em;font-size:clamp(1.75rem,3vw,2.5rem)}.page-hero{padding-block:clamp(48px,8vw,96px) clamp(40px,6vw,72px)}.page-hero h1{letter-spacing:-.035em;max-width:22ch;font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.08}.page-hero .note{max-width:60ch;margin-top:16px}.product-list{border-top:1px solid var(--line-dark)}.product{border-bottom:1px solid var(--line-dark);gap:8px 48px;padding-block:24px;display:grid}.product-title{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.product-title h3{font-size:1.1875rem}.product p{max-width:64ch;color:var(--muted)}@media (width>=900px){.product{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:baseline}}.contact-section{background:var(--surface-raised)}.contact{align-items:end;gap:32px 48px;display:grid}.contact>div>p{max-width:56ch;color:var(--muted);margin-top:12px}.contact-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.contact-email{color:var(--muted);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:4px 12px;font-size:.9375rem;display:flex}.copy-email{min-height:44px;color:var(--link);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:.9375rem;font-weight:500;display:inline-flex}.copy-email[hidden],.copy-email svg:nth-of-type(2),.copy-email[data-copied] svg:first-of-type{display:none}.copy-email[data-copied] svg:nth-of-type(2){display:block}@media (width>=900px){.contact{grid-template-columns:minmax(0,1fr) auto}.contact-actions,.contact-email{justify-content:flex-end}}.legal{gap:40px;max-width:60rem;display:grid}.legal h2{font-size:1.375rem}.legal p{max-width:72ch;color:var(--muted);margin-top:12px}.legal ul{max-width:72ch;color:var(--muted);gap:6px;margin-top:12px;padding-left:1.25rem;list-style:outside;display:grid}.legal a{color:var(--link);text-decoration:underline}.legal code{border:1px solid var(--line-dark);background:var(--surface-raised);color:var(--text);overflow-wrap:anywhere;border-radius:6px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em}.legal-table{border-collapse:collapse;width:100%;margin-top:16px;font-size:.9375rem}.legal-table th,.legal-table td{border-top:1px solid var(--line-dark);text-align:start;vertical-align:top;padding:14px 16px 14px 0}.legal-table thead th{border-top:0;border-bottom:1px solid var(--line-strong);color:var(--faint);font-size:.8125rem;font-weight:600}.legal-table tbody th{color:var(--text);font-weight:600}.legal-table code{overflow-wrap:normal;white-space:nowrap}.legal-table td{color:var(--muted)}@media (width<=719px){.legal-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.legal-table,.legal-table tbody,.legal-table tr,.legal-table th,.legal-table td{display:block}.legal-table tr{border-top:1px solid var(--line-dark);padding-block:16px}.legal-table th,.legal-table td{border:0;padding:0}.legal-table td{margin-top:10px}.legal-table td:before{color:var(--faint);content:attr(data-label);font-size:.8125rem;font-weight:600;display:block}}.footer{border-top:1px solid var(--line-dark)}.footer-inner{gap:40px;padding-block:56px 40px;display:grid}.footer-brand p{max-width:32ch;color:var(--muted);margin-top:12px;font-size:.9375rem}.footer-nav{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:32px;display:grid}.footer-nav h2{letter-spacing:0;margin-bottom:8px;font-size:.875rem}.footer-nav a{min-height:40px;color:var(--muted);align-items:center;font-size:.9375rem;font-weight:400;display:inline-flex}.footer-nav a:hover{color:var(--text)}.footer-legal{color:var(--faint);font-size:.875rem}@media (width>=900px){.footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.footer-legal{border-top:1px solid var(--line-dark);grid-column:1/-1;padding-top:24px}}@media (forced-colors:active){.button,.badge,.theme-toggle{border:1px solid canvastext}.theme-toggle-thumb{border:2px solid buttontext}}.privacy-controls{display:contents}body{padding-bottom:var(--consent-space,0px)}.footer-privacy-button{min-height:44px;color:var(--muted);cursor:pointer;text-align:start;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;padding:0;font-size:.9375rem;font-weight:400;display:inline-flex}.footer-privacy-button:hover{color:var(--text)}.privacy-button{border:1px solid var(--line-dark);border-radius:var(--radius-pill);background:var(--switch-track);min-height:44px;color:var(--text);cursor:pointer;letter-spacing:-.005em;-webkit-tap-highlight-color:transparent;transition:transform .26s var(--ease-out), background .16s ease;justify-content:center;align-items:center;padding:0 20px;font-size:.9375rem;font-weight:600;display:inline-flex}.privacy-button[hidden]{display:none}.privacy-button:active{transition-duration:80ms;transform:scale(.97)}.privacy-button-strong{background:var(--button-bg);color:var(--button-text);border-color:#0000}.consent-banner{z-index:40;bottom:max(16px, env(safe-area-inset-bottom));overscroll-behavior:contain;border:1px solid var(--line-dark);border-radius:var(--radius-lg);background:var(--sheet-glass);width:min(400px,100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:inset 0 1px 0 var(--sheet-edge), var(--shadow-sheet);color:var(--text);backdrop-filter:var(--sheet-filter);transition:opacity .36s ease, transform var(--spring-duration) var(--ease-spring), filter var(--spring-duration) var(--ease-spring);gap:12px;padding:20px;display:grid;position:fixed;left:16px;overflow-y:auto}.consent-banner[hidden]{display:none}.consent-banner.is-leaving{opacity:0;filter:blur(6px);pointer-events:none;transform:translateY(24px)scale(.96)}@starting-style{.consent-banner{opacity:0;filter:blur(6px);transform:translateY(24px)scale(.96)}}.consent-banner h2{letter-spacing:-.015em;font-size:1.0625rem;font-weight:600;line-height:1.25}.consent-banner p{color:var(--muted);letter-spacing:.005em;font-size:.875rem;font-weight:480;line-height:1.45}.consent-choices{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.consent-customize{min-height:44px;color:var(--link);cursor:pointer;text-underline-offset:.22em;background:0 0;border:0;justify-self:center;padding:0 12px;font-size:.875rem;font-weight:600;text-decoration-line:underline;text-decoration-color:#0000;transition:text-decoration-color .16s}.consent-customize:hover{text-decoration-color:currentColor}.privacy-sheet{border:1px solid var(--line-dark);border-radius:var(--radius-lg);background:var(--surface-card);width:min(520px,100vw - 32px);max-height:min(86dvh,720px);box-shadow:var(--shadow-sheet);color:var(--text);opacity:1;transition:opacity .24s ease, transform var(--spring-duration) var(--ease-spring), overlay var(--spring-duration) allow-discrete, display var(--spring-duration) allow-discrete;padding:0;transform:none}.privacy-sheet:not([open]){opacity:0;transform:scale(.9)}@starting-style{.privacy-sheet[open]{opacity:0;transform:scale(.9)}}.privacy-sheet::backdrop{opacity:1;transition:opacity .24s ease, overlay var(--spring-duration) allow-discrete, display var(--spring-duration) allow-discrete;background:#0000005c}.privacy-sheet:not([open])::backdrop{opacity:0}@starting-style{.privacy-sheet[open]::backdrop{opacity:0}}.privacy-sheet-body{gap:16px;padding:28px;display:grid}.privacy-sheet h2{letter-spacing:-.022em;font-size:1.5rem;font-weight:600;line-height:1.15}.privacy-sheet-intro{color:var(--muted);font-size:.9375rem}.privacy-signal{border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--surface-raised);color:var(--text);padding:12px 14px;font-size:.875rem;font-weight:500;line-height:1.45}.privacy-signal[hidden]{display:none}.privacy-categories{margin:0;padding:0;list-style:none;display:grid}.privacy-categories li{border-top:1px solid var(--line-dark);grid-template-columns:1fr auto;align-items:center;gap:16px;padding:14px 0;display:grid}.privacy-categories h3{letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600}.privacy-categories p{color:var(--muted);margin-top:2px;font-size:.875rem;line-height:1.45}.privacy-status{color:var(--faint);white-space:nowrap;font-size:.8125rem;font-weight:600}.privacy-switch{cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;place-items:center;width:51px;height:44px;margin:0;display:grid;position:relative}.privacy-switch:before{border-radius:var(--radius-pill);background:var(--switch-track);width:51px;height:31px;box-shadow:inset 0 0 0 1px var(--line-dark);content:"";grid-area:1/1;transition:background .2s}.privacy-switch:after{content:"";width:27px;height:27px;transition:transform var(--spring-duration) var(--ease-spring);background:#fff;border-radius:50%;grid-area:1/1;transform:translate(-10px);box-shadow:0 2px 6px #0000002e}.privacy-switch:checked:before{background:var(--accent)}.privacy-switch:checked:after{transform:translate(10px)}.privacy-switch:disabled{cursor:not-allowed;opacity:.5}.privacy-sheet-policy{color:var(--link);justify-self:start;font-size:.875rem;font-weight:600;text-decoration:underline}.privacy-sheet-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=560px){.privacy-sheet-body{padding:22px}.privacy-sheet-actions .privacy-button{flex:auto}}@media (prefers-reduced-motion:reduce){.consent-banner,.privacy-sheet,.privacy-switch:after{transition-property:opacity;transition-duration:.2s}.consent-banner.is-leaving,.privacy-sheet:not([open]){filter:none;transform:none}@starting-style{.consent-banner,.privacy-sheet[open]{filter:none;transform:none}}}@media (prefers-reduced-transparency:reduce){.consent-banner{background:var(--surface-card);backdrop-filter:none}}@media (prefers-contrast:more){.consent-banner{border-color:var(--text);background:var(--surface);backdrop-filter:none}.privacy-sheet,.privacy-button{border-color:var(--text)}}@media (forced-colors:active){.consent-banner,.privacy-sheet,.privacy-button,.privacy-signal{border:1px solid canvastext}.privacy-switch{appearance:auto;width:24px}.privacy-switch:before,.privacy-switch:after{display:none}}
