.brand-mark__colon[data-astro-cid-77qc4tpx]{fill:var(--color-fg-primary)}.brand-mark__slashes[data-astro-cid-77qc4tpx]{fill:var(--color-accent-neutral)}.brand-mark__b[data-astro-cid-77qc4tpx]{fill:var(--color-accent)}@theme{--text-display-1: clamp(2.75rem, 5.5vw, 4.5rem); --text-display-1--line-height: 1.05; --text-display-2: clamp(2.125rem, 4vw, 3.25rem); --text-display-2--line-height: 1.1; --text-h1: 2.25rem; --text-h1--line-height: 1.2; --text-h2: 1.75rem; --text-h2--line-height: 1.2; --text-h3: 1.375rem; --text-h3--line-height: 1.25; --text-h4: 1.125rem; --text-h4--line-height: 1.3; --text-body-lg: 1.125rem; --text-body-lg--line-height: 1.6; --text-body: 1rem; --text-body--line-height: 1.6; --text-body-sm: .875rem; --text-body-sm--line-height: 1.5; --text-label: .75rem; --text-label--line-height: 1.3; --text-micro: .6875rem; --text-micro--line-height: 1.35; --radius-field: .625rem; --radius-card: 1.125rem; --radius-panel: 1.5rem; --radius-xl: 1.5rem; --radius-lg: 1.125rem; --radius-md: .75rem; --radius-sm: .375rem; --radius-xs: .25rem; --radius-pill: 9999px; --blur-glass: 18px; --filter-glass: blur(var(--blur-glass)) saturate(165%) brightness(1.035); --spacing-section: clamp(6rem, 12vw, 15rem); --spacing-section-sm: 6rem;  --shadow-glass: inset 0 1px 0 var(--glass-edge-highlight), inset 1px 0 0 var(--glass-edge-side), inset -1px 0 0 var(--glass-edge-low), 0 12px 30px -20px var(--shadow-color), 0 2px 8px -6px var(--shadow-color-soft); --shadow-glass-gold: inset 0 1px 0 var(--glass-edge-highlight), inset 1px 0 0 var(--glass-edge-side), inset -1px 0 0 var(--glass-edge-low), 0 18px 44px -26px var(--shadow-color-accent), 0 12px 30px -20px var(--shadow-color), 0 2px 8px -6px var(--shadow-color-soft);  --shadow-lift: var(--shadow-glass);}@theme inline{--font-display: var(--brand-font-display); --font-body: var(--brand-font-body); --font-data: var(--brand-font-data); --color-surface-base: var(--brand-color-surface-base); --color-surface-card: var(--brand-color-surface-card); --color-surface-elevated: var(--brand-color-surface-elevated); --color-surface-inset: var(--brand-color-surface-inset); --color-surface-subtle: var(--brand-color-surface-subtle); --color-glass: light-dark(color-mix(in srgb, var(--brand-color-glass) 58%, transparent),color-mix(in srgb, var(--brand-color-glass) 54%, transparent)); --color-glass-strong: light-dark(color-mix(in srgb, var(--brand-color-glass) 78%, transparent),color-mix(in srgb, var(--brand-color-glass) 76%, transparent)); --color-fg-primary: var(--brand-color-fg-primary); --color-fg-secondary: var(--brand-color-fg-secondary); --color-fg-muted: var(--brand-color-fg-muted); --color-fg-muted-on-tone: var(--brand-color-fg-muted-on-tone); --color-fg-inverse: var(--brand-color-fg-inverse); --color-accent-text: var(--brand-color-accent-text); --color-accent-text-hover: var(--brand-color-accent-text-hover); --color-accent-fill: var(--brand-color-accent-fill); --color-accent-fill-hover: var(--brand-color-accent-fill-hover); --color-accent-fill-ink: var(--brand-color-accent-fill-ink); --color-accent: var(--brand-color-accent); --color-accent-soft: light-dark(color-mix(in srgb, var(--brand-color-accent-fill) 13%, transparent),color-mix(in srgb, var(--brand-color-accent-fill) 15%, transparent)); --color-accent-primary: var(--brand-color-accent-primary); --color-accent-primary-hover: var(--brand-color-accent-primary-hover); --color-accent-primary-ink: var(--brand-color-accent-text); --color-accent-secondary: var(--brand-color-accent-secondary); --color-accent-emphasis: var(--brand-color-accent-text); --color-accent-success: var(--brand-color-good); --color-accent-good: var(--brand-color-good); --color-accent-excellent: var(--brand-color-accent-excellent); --color-accent-neutral: var(--brand-color-accent-neutral); --color-accent-warning: var(--brand-color-accent-warning); --color-accent-warn: var(--brand-color-accent-warning); --color-accent-alarm: var(--brand-color-danger); --color-accent-attention: var(--brand-color-accent-attention); --color-accent-alarm-on-tone: var(--brand-color-accent-alarm-on-tone); --color-accent-warning-on-tone: var(--brand-color-accent-warning-on-tone); --color-accent-neutral-on-tone: var(--brand-color-accent-neutral-on-tone); --color-accent-good-on-tone: var(--brand-color-accent-good-on-tone); --color-accent-excellent-on-tone: var(--brand-color-accent-excellent-on-tone); --color-good: var(--brand-color-good); --color-danger: var(--brand-color-danger); --color-border-subtle: light-dark(color-mix(in srgb, var(--brand-color-border) 12%, transparent),color-mix(in srgb, var(--brand-color-border) 13%, transparent)); --color-border-strong: light-dark(color-mix(in srgb, var(--brand-color-border) 22%, transparent),color-mix(in srgb, var(--brand-color-border) 24%, transparent)); --color-hairline: light-dark(color-mix(in srgb, var(--brand-color-border) 9%, transparent),color-mix(in srgb, var(--brand-color-border) 11%, transparent)); --color-border-accent: light-dark(color-mix(in srgb, var(--brand-color-accent-fill) 38%, transparent),color-mix(in srgb, var(--brand-color-accent-fill) 42%, transparent)); --color-ring: color-mix(in srgb, var(--brand-color-ring) 68%, transparent); --color-glass-border: light-dark(color-mix(in srgb, var(--brand-color-glass-border) 44%, transparent),color-mix(in srgb, var(--brand-color-glass-border) 6.5%, transparent)); --color-scrim: light-dark(color-mix(in srgb, var(--brand-color-scrim) 30%, transparent),color-mix(in srgb, var(--brand-color-scrim) 58%, transparent)); --color-black: var(--brand-color-black); --color-white: var(--brand-color-white);}:root{color-scheme:light dark;--font-display:var(--brand-font-display);--font-body:var(--brand-font-body);--font-data:var(--brand-font-data);--color-surface-base:var(--brand-color-surface-base);--color-surface-card:var(--brand-color-surface-card);--color-surface-elevated:var(--brand-color-surface-elevated);--color-surface-inset:var(--brand-color-surface-inset);--color-surface-subtle:var(--brand-color-surface-subtle);--color-glass:light-dark(color-mix(in srgb, var(--brand-color-glass) 58%, transparent),color-mix(in srgb, var(--brand-color-glass) 54%, transparent));--color-glass-strong:light-dark(color-mix(in srgb, var(--brand-color-glass) 78%, transparent),color-mix(in srgb, var(--brand-color-glass) 76%, transparent));--color-fg-primary:var(--brand-color-fg-primary);--color-fg-secondary:var(--brand-color-fg-secondary);--color-fg-muted:var(--brand-color-fg-muted);--color-fg-muted-on-tone:var(--brand-color-fg-muted-on-tone);--color-fg-inverse:var(--brand-color-fg-inverse);--color-accent-text:var(--brand-color-accent-text);--color-accent-text-hover:var(--brand-color-accent-text-hover);--color-accent-fill:var(--brand-color-accent-fill);--color-accent-fill-hover:var(--brand-color-accent-fill-hover);--color-accent-fill-ink:var(--brand-color-accent-fill-ink);--color-accent:var(--brand-color-accent);--color-accent-soft:light-dark(color-mix(in srgb, var(--brand-color-accent-fill) 13%, transparent),color-mix(in srgb, var(--brand-color-accent-fill) 15%, transparent));--color-accent-primary:var(--brand-color-accent-primary);--color-accent-primary-hover:var(--brand-color-accent-primary-hover);--color-accent-primary-ink:var(--brand-color-accent-text);--color-accent-secondary:var(--brand-color-accent-secondary);--color-accent-emphasis:var(--brand-color-accent-text);--color-accent-success:var(--brand-color-good);--color-accent-good:var(--brand-color-good);--color-accent-excellent:var(--brand-color-accent-excellent);--color-accent-neutral:var(--brand-color-accent-neutral);--color-accent-warning:var(--brand-color-accent-warning);--color-accent-warn:var(--brand-color-accent-warning);--color-accent-alarm:var(--brand-color-danger);--color-accent-attention:var(--brand-color-accent-attention);--color-accent-alarm-on-tone:var(--brand-color-accent-alarm-on-tone);--color-accent-warning-on-tone:var(--brand-color-accent-warning-on-tone);--color-accent-neutral-on-tone:var(--brand-color-accent-neutral-on-tone);--color-accent-good-on-tone:var(--brand-color-accent-good-on-tone);--color-accent-excellent-on-tone:var(--brand-color-accent-excellent-on-tone);--color-good:var(--brand-color-good);--color-danger:var(--brand-color-danger);--color-border-subtle:light-dark(color-mix(in srgb, var(--brand-color-border) 12%, transparent),color-mix(in srgb, var(--brand-color-border) 13%, transparent));--color-border-strong:light-dark(color-mix(in srgb, var(--brand-color-border) 22%, transparent),color-mix(in srgb, var(--brand-color-border) 24%, transparent));--color-hairline:light-dark(color-mix(in srgb, var(--brand-color-border) 9%, transparent),color-mix(in srgb, var(--brand-color-border) 11%, transparent));--color-border-accent:light-dark(color-mix(in srgb, var(--brand-color-accent-fill) 38%, transparent),color-mix(in srgb, var(--brand-color-accent-fill) 42%, transparent));--color-ring:color-mix(in srgb, var(--brand-color-ring) 68%, transparent);--color-glass-border:light-dark(color-mix(in srgb, var(--brand-color-glass-border) 44%, transparent),color-mix(in srgb, var(--brand-color-glass-border) 6.5%, transparent));--color-scrim:light-dark(color-mix(in srgb, var(--brand-color-scrim) 30%, transparent),color-mix(in srgb, var(--brand-color-scrim) 58%, transparent));--color-black:var(--brand-color-black);--color-white:var(--brand-color-white);--color-cta-fill:var(--brand-color-cta-fill);--color-cta-fill-hover:var(--brand-color-cta-fill-hover);--color-cta-ink:var(--brand-color-cta-ink);--pattern-dot-color:light-dark(color-mix(in srgb, var(--brand-color-border) 13%, transparent),color-mix(in srgb, var(--brand-color-border) 11%, transparent));--pattern-line-color:light-dark(color-mix(in srgb, var(--brand-color-border) 5.5%, transparent),color-mix(in srgb, var(--brand-color-border) 4.5%, transparent));--ambient-primary:light-dark(color-mix(in srgb, var(--brand-color-accent-fill) 34%, transparent),color-mix(in srgb, var(--brand-color-accent-fill) 25%, transparent));--ambient-secondary:light-dark(color-mix(in srgb, var(--brand-ambient-secondary) 30%, transparent),color-mix(in srgb, var(--brand-ambient-secondary) 20%, transparent));--glass-edge-highlight:light-dark(color-mix(in srgb, var(--brand-color-glass-border) 62%, transparent),color-mix(in srgb, var(--brand-color-glass-border) 12%, transparent));--glass-edge-side:light-dark(color-mix(in srgb, var(--brand-color-glass-border) 27%, transparent),color-mix(in srgb, var(--brand-color-glass-border) 5%, transparent));--glass-edge-low:light-dark(color-mix(in srgb, var(--brand-glass-edge-low) 9%, transparent),color-mix(in srgb, var(--brand-glass-edge-low) 22%, transparent));--glass-edge-inner:light-dark(color-mix(in srgb, var(--brand-color-glass-border) 13%, transparent),color-mix(in srgb, var(--brand-color-glass-border) 3%, transparent));--glass-edge-accent:light-dark(color-mix(in srgb, var(--brand-color-cta-fill) 18%, transparent),color-mix(in srgb, var(--brand-color-cta-fill) 11%, transparent));--glass-specular:light-dark(color-mix(in srgb, var(--brand-color-glass-border) 34%, transparent),color-mix(in srgb, var(--brand-color-glass-border) 7%, transparent));--shadow-color-soft:light-dark(color-mix(in srgb, var(--brand-shadow-color) 3.5%, transparent),color-mix(in srgb, var(--brand-shadow-color) 20%, transparent));--shadow-color:light-dark(color-mix(in srgb, var(--brand-shadow-color) 10%, transparent),color-mix(in srgb, var(--brand-shadow-color) 38%, transparent));--shadow-color-strong:light-dark(color-mix(in srgb, var(--brand-shadow-color) 16%, transparent),color-mix(in srgb, var(--brand-shadow-color) 50%, transparent));--shadow-color-accent:light-dark(color-mix(in srgb, var(--brand-color-accent-fill) 20%, transparent),color-mix(in srgb, var(--brand-color-accent-fill) 18%, transparent));--text-display-1:clamp(2.75rem, 5.5vw, 4.5rem);--text-display-1--line-height:1.05;--text-display-2:clamp(2.125rem, 4vw, 3.25rem);--text-display-2--line-height:1.1;--text-h1:2.25rem;--text-h1--line-height:1.2;--text-h2:1.75rem;--text-h2--line-height:1.2;--text-h3:1.375rem;--text-h3--line-height:1.25;--text-h4:1.125rem;--text-h4--line-height:1.3;--text-body-lg:1.125rem;--text-body-lg--line-height:1.6;--text-body:1rem;--text-body--line-height:1.6;--text-body-sm:.875rem;--text-body-sm--line-height:1.5;--text-label:.75rem;--text-label--line-height:1.3;--text-micro:.6875rem;--text-micro--line-height:1.35;--radius-field:.625rem;--radius-card:1.125rem;--radius-panel:1.5rem;--radius-xl:1.5rem;--radius-lg:1.125rem;--radius-md:.75rem;--radius-sm:.375rem;--radius-xs:.25rem;--radius-pill:9999px;--blur-glass:18px;--filter-glass:blur(var(--blur-glass)) saturate(165%) brightness(1.035);--spacing-section:clamp(6rem, 12vw, 15rem);--spacing-section-sm:6rem;--shadow-glass:inset 0 1px 0 var(--glass-edge-highlight), inset 1px 0 0 var(--glass-edge-side), inset -1px 0 0 var(--glass-edge-low), 0 12px 30px -20px var(--shadow-color), 0 2px 8px -6px var(--shadow-color-soft);--shadow-glass-gold:inset 0 1px 0 var(--glass-edge-highlight), inset 1px 0 0 var(--glass-edge-side), inset -1px 0 0 var(--glass-edge-low), 0 18px 44px -26px var(--shadow-color-accent), 0 12px 30px -20px var(--shadow-color), 0 2px 8px -6px var(--shadow-color-soft);--shadow-lift:var(--shadow-glass);--color-border-focus:var(--color-ring);--shadow-glow-violet:0 10px 30px -14px var(--shadow-color);--edge-2tone:var(--shadow-glass);--grad-emphasis:linear-gradient(135deg, var(--color-accent-primary), var(--color-accent-secondary));--grad-violet:linear-gradient(135deg, var(--color-accent-primary), var(--color-accent-secondary));--wash-violet:radial-gradient(circle at 84% 12%, var(--color-accent-soft), transparent 48%);--wash-violet-soft:radial-gradient(circle at 80% 15%, var(--color-accent-soft), transparent 52%);--wash-magenta:radial-gradient(circle at 82% 12%, var(--color-accent-soft), transparent 50%);--wash-section-tinted:none;--grid-step:32px;--texture-grid:radial-gradient(circle at 0 0, var(--pattern-dot-color) 1.25px, transparent 1.8px), linear-gradient(to right, var(--pattern-line-color) 1px, transparent 1px), linear-gradient(to bottom, var(--pattern-line-color) 1px, transparent 1px);--dur-fast:.12s;--dur-base:.22s;--ease-standard:cubic-bezier(.2, .7, .2, 1);--ease-emphasized:cubic-bezier(.16, 1, .3, 1)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@layer base{html{background-color:var(--color-surface-base)}body{min-height:100dvh;color:var(--color-fg-primary);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--text-body--line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:after{content:"";z-index:-1;pointer-events:none;background-image:var(--texture-grid);background-position:0 0;background-size:var(--grid-step) var(--grid-step);position:fixed;inset:0}::selection{background-color:var(--color-accent-soft)}a{color:var(--color-accent-text);text-underline-offset:2px;text-decoration-line:underline}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p,ul,ol,dl,dd{margin:0}button,input{font:inherit}img,svg{max-width:100%;display:block}*,:after,:before,::backdrop{border:0 solid;margin:0;padding:0}::file-selector-button{border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box}::file-selector-button{box-sizing:border-box}html{-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent;line-height:1.5}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}small{font-size:80%}ol,ul,menu{list-style:none}video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}textarea{resize:vertical}::placeholder{opacity:1}:-moz-ui-invalid{box-shadow:none}table{text-indent:0;border-color:inherit;border-collapse:collapse}[hidden]:where(:not([hidden=until-found])){display:none!important}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-fg-primary);letter-spacing:-.015em;text-wrap:balance;margin:0;line-height:1.15}h1{font-size:var(--text-display-1);letter-spacing:-.025em;font-weight:700;line-height:var(--text-display-1--line-height)}h2{font-size:var(--text-h1);letter-spacing:-.02em;font-weight:700}h3{font-size:var(--text-h3);font-weight:600}p{color:var(--color-fg-secondary);text-wrap:pretty;margin:0}small{font-size:var(--text-body-sm);color:var(--color-fg-muted)}a{color:var(--color-accent-text);transition:color var(--dur-fast) var(--ease-standard);text-decoration:none}a:hover{color:var(--color-accent-text-hover)}:where(p,li,dd,td,small) a{text-underline-offset:.22em;text-decoration:underline 1px;text-decoration-color:var(--color-border-accent)}:where(p,li,dd,td,small) a:hover{text-decoration-color:currentColor}:where(p,li,dd) strong{color:var(--color-fg-primary);font-weight:600}}@layer components{.ambient-field{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ambient-shape{top:var(--ambient-y);left:var(--ambient-x);width:var(--ambient-size);aspect-ratio:1;filter:blur(var(--ambient-blur));opacity:var(--ambient-opacity);transform:translate(-50%, -50%) rotate(var(--ambient-rotate));position:absolute}.ambient-shape:before{content:"";background:var(--ambient-color);position:absolute;inset:12%}.ambient-shape--circle:before{border-radius:50%}.ambient-shape--square:before{border-radius:18%}.ambient-shape--triangle:before{clip-path:polygon(50% 0,100% 100%,0 100%)}}:where(.liquid-glass,.glass,.liquid-glass--gold,.glass-gold,.glass-lifted,.liquid-glass--lifted){isolation:isolate;--material-edge-flow:var(--glass-edge-side);--material-shadow:var(--shadow-glass);background-color:var(--color-surface-card);border:1px solid var(--color-glass-border);box-shadow:var(--material-shadow);position:relative;overflow:clip}:where(.liquid-glass,.glass,.liquid-glass--gold,.glass-gold,.glass-lifted,.liquid-glass--lifted):before{content:"";z-index:4;border-radius:inherit;pointer-events:none;background:conic-gradient(from 205deg at 50% 50%, var(--glass-edge-low), var(--glass-edge-highlight) 18%, transparent 38%, var(--material-edge-flow) 68%, var(--glass-edge-low) 100%);-webkit-mask-composite:xor;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}:where(.liquid-glass--gold,.glass-gold){--material-shadow:var(--shadow-glass-gold)}@supports (backdrop-filter:blur(1px)){:where(.liquid-glass,.glass,.liquid-glass--gold,.glass-gold,.glass-lifted,.liquid-glass--lifted){background-color:var(--color-glass);backdrop-filter:var(--filter-glass)}:where(.liquid-glass,.glass,.liquid-glass--gold,.glass-gold,.glass-lifted,.liquid-glass--lifted):before{backdrop-filter:blur(2px)saturate(190%)brightness(1.12)}}@media (prefers-reduced-transparency:reduce){:where(.liquid-glass,.glass,.liquid-glass--gold,.glass-gold,.glass-lifted,.liquid-glass--lifted){background-color:var(--color-surface-card);backdrop-filter:none}:where(.liquid-glass,.glass,.liquid-glass--gold,.glass-gold,.glass-lifted,.liquid-glass--lifted):before{backdrop-filter:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--site-gutter:clamp(1.25rem, 4vw, 4.5rem);--site-width:78rem;--reading-width:46rem;--section-space:clamp(5.5rem, 11vw, 9rem);--header-height:5rem}.skip-link{z-index:100;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border-radius:var(--radius-field);background:var(--color-cta-fill,var(--color-accent-fill));width:1px;height:1px;color:var(--color-cta-ink,var(--color-accent-fill-ink));padding:.7rem 1rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;overflow:hidden}.skip-link:focus{clip:auto;clip-path:none;width:auto;height:auto;overflow:visible}.site-shell{isolation:isolate;min-height:100dvh;position:relative;overflow:clip}.site-shell>.ambient-field{z-index:0}.site-shell>main{z-index:1;position:relative}.container{width:min(calc(100% - (2 * var(--site-gutter))), var(--site-width));margin-inline:auto}.site-header{z-index:40;padding-block:.75rem;position:sticky;top:0}.site-header__inner{min-height:calc(var(--header-height) - 1.5rem);border-radius:var(--radius-panel);justify-content:space-between;align-items:center;gap:1.25rem;padding:.45rem .75rem .45rem 1rem;display:flex}.brand-link,.nav-link,.button,.theme-toggle button{text-decoration:none}.brand-link{color:var(--color-fg-primary);font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:.65rem;font-size:1.35rem;font-weight:650;display:inline-flex}.brand-mark{width:auto;height:2rem}.site-nav{align-items:center;gap:clamp(.75rem,2.5vw,1.75rem);display:flex}.mobile-header-actions{align-items:center;gap:.4rem;display:none}.menu-toggle{border-radius:var(--radius-field);width:2.75rem;height:2.75rem;color:var(--color-fg-primary);cursor:pointer;transition:color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.menu-toggle:hover{background-color:var(--color-accent-soft)}.mobile-menu[popover]{top:.75rem;right:var(--site-gutter);border-radius:var(--radius-panel);width:clamp(15rem,52vw,21rem);max-width:none;max-height:calc(100dvh - 1.5rem);color:var(--color-fg-primary);font-family:var(--font-body);transform:translateX(calc(100% + var(--site-gutter)));opacity:0;transition:transform .32s var(--ease-emphasized), opacity .22s var(--ease-standard), overlay .32s allow-discrete, display .32s allow-discrete;margin:0;padding:.3rem .4rem 1rem .8rem;position:fixed;left:auto;overflow-y:auto}.mobile-menu[popover]:popover-open{opacity:1;transform:translate(0)}@starting-style{.mobile-menu[popover]:popover-open{transform:translateX(calc(100% + var(--site-gutter)));opacity:0}}.mobile-menu[popover]::backdrop{backdrop-filter:blur();transition:background-color .26s var(--ease-standard), backdrop-filter .26s var(--ease-standard), -webkit-backdrop-filter .26s var(--ease-standard), overlay .32s allow-discrete, display .32s allow-discrete;background-color:#0000}.mobile-menu[popover]:popover-open::backdrop{background-color:color-mix(in srgb, var(--color-scrim) 58%, transparent);backdrop-filter:blur(8px)}@starting-style{.mobile-menu[popover]:popover-open::backdrop{backdrop-filter:blur();background-color:#0000}}.mobile-menu__head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.4rem;display:flex}.mobile-menu__links{gap:.1rem;display:grid}.mobile-menu__links a{border-radius:var(--radius-field);min-height:2.75rem;color:var(--color-fg-primary);font-family:var(--font-body);font-size:var(--text-body-sm);transition:color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard);align-items:center;padding:.7rem .4rem;font-weight:650;text-decoration:none;display:flex}.mobile-menu__links a:hover{color:var(--color-accent-text-hover);background-color:var(--color-accent-soft)}.nav-link{color:var(--color-fg-secondary);font-size:var(--text-body-sm);transition:color var(--dur-fast) var(--ease-standard);font-weight:650}.nav-link:hover{color:var(--color-fg-primary)}.button{border-radius:var(--radius-pill);background:var(--color-cta-fill,var(--color-accent-fill));min-height:2.75rem;color:var(--color-cta-ink,var(--color-accent-fill-ink));transition:transform var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.1rem;font-weight:750;line-height:1;display:inline-flex}.button:hover{background:var(--color-cta-fill-hover,var(--color-accent-fill-hover));transform:translateY(-1px)}.button--quiet{border-color:color-mix(in srgb, var(--color-black) 18%, transparent);background:var(--color-white);color:var(--color-black)}.button--quiet:hover{background:color-mix(in srgb, var(--color-white) 88%, var(--color-accent-secondary))}.site-footer{z-index:1;border-top:1px solid var(--color-border-subtle);background-color:var(--color-surface-base);padding-block:4rem 2rem;position:relative}.site-footer__top,.site-footer__bottom{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.site-footer__top{align-items:start;padding-bottom:3rem}.site-footer__endorsement{gap:.65rem;max-width:32rem;display:grid}.site-footer__endorsement p,.site-footer__bottom{color:var(--color-fg-muted);font-size:var(--text-body-sm)}.footer-links,.theme-toggle{flex-wrap:wrap;align-items:center;gap:.4rem 1rem;display:flex}.theme-toggle{border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);gap:.2rem;padding:.2rem}.theme-toggle button{border-radius:var(--radius-pill);color:var(--color-fg-muted);cursor:pointer;font-size:var(--text-label);background:0 0;border:0;padding:.4rem .65rem}.theme-toggle button[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-fg-primary)}@media (width<=767px){:root{--header-height:4.5rem}.site-header__inner{padding:.3rem .4rem .3rem .8rem}.site-nav{display:none}.mobile-header-actions{display:flex}.mobile-scan-link{min-height:2.5rem;font-size:var(--text-body-sm);padding-inline:.8rem}.site-footer__top,.site-footer__bottom{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.mobile-menu[popover]{opacity:1;transform:none}}@media (prefers-reduced-transparency:reduce){.mobile-menu[popover]:popover-open::backdrop{backdrop-filter:none}}:root{--brand-font-display:"Recursive Variable", ui-sans-serif, system-ui, sans-serif;--brand-font-body:"Recursive Variable", ui-sans-serif, system-ui, sans-serif;--brand-font-data:"Fragment Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--brand-color-surface-base:light-dark(#faf4f2,#2d2a2e);--brand-color-surface-card:light-dark(#fefaf9,#403e41);--brand-color-surface-elevated:var(--brand-color-surface-card);--brand-color-surface-inset:light-dark(#ede7e5,#221f22);--brand-color-surface-subtle:var(--brand-color-surface-inset);--brand-color-glass:var(--brand-color-surface-card);--brand-color-fg-primary:light-dark(#29242a,#fcfcfa);--brand-color-fg-secondary:light-dark(#514c4f,#c1c0c0);--brand-color-fg-muted:light-dark(#686366,#c1c0c0);--brand-color-fg-muted-on-tone:light-dark(#686366,#d2d1d1);--brand-color-fg-inverse:light-dark(#fcfcfa,#221f22);--brand-color-accent-text:light-dark(#1b704b,#a9dc76);--brand-color-accent-text-hover:light-dark(#155f40,#bce88f);--brand-color-accent-fill:light-dark(#1b704b,#a9dc76);--brand-color-accent-fill-hover:light-dark(#155f40,#b9e58b);--brand-color-accent-fill-ink:light-dark(#fcfcfa,#221f22);--brand-color-accent:light-dark(#269d69,#a9dc76);--brand-color-accent-primary:var(--brand-color-accent-fill);--brand-color-accent-primary-hover:var(--brand-color-accent-fill-hover);--brand-color-accent-secondary:light-dark(#1c788e,#78dce8);--brand-color-good:light-dark(#1b704b,#a9dc76);--brand-color-danger:light-dark(#b9345a,#ffa9bf);--brand-color-accent-excellent:var(--brand-color-good);--brand-color-accent-neutral:light-dark(#918c8e,#939293);--brand-color-accent-warning:light-dark(#805000,#ffd866);--brand-color-accent-attention:var(--brand-color-accent-warning);--brand-color-accent-alarm-on-tone:var(--brand-color-danger);--brand-color-accent-warning-on-tone:var(--brand-color-accent-warning);--brand-color-accent-neutral-on-tone:var(--brand-color-accent-neutral);--brand-color-accent-good-on-tone:var(--brand-color-good);--brand-color-accent-excellent-on-tone:var(--brand-color-good);--brand-color-border:light-dark(#29242a,#fcfcfa);--brand-color-ring:light-dark(#1b704b,#a9dc76);--brand-color-glass-border:#fff;--brand-color-scrim:light-dark(#29242a,#000);--brand-color-black:#221f22;--brand-color-white:#fcfcfa;--brand-color-cta-fill:var(--brand-color-accent-fill);--brand-color-cta-fill-hover:var(--brand-color-accent-fill-hover);--brand-color-cta-ink:var(--brand-color-accent-fill-ink);--brand-ambient-secondary:light-dark(#269d69,#a9dc76);--brand-glass-edge-low:light-dark(#29242a,#000);--brand-shadow-color:light-dark(#29242a,#000)}@layer utilities{.mx-auto{margin-inline:auto}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.min-h-screen{min-height:100vh}.max-w-2xl{max-width:42rem}.px-6{padding-inline:1.5rem}.py-24{padding-block:6rem}.font-display{font-family:var(--font-display)}.text-3xl{font-size:1.875rem;line-height:1.2}.font-bold{font-weight:700}.text-fg-muted{color:var(--color-fg-muted)}.text-fg-primary{color:var(--color-fg-primary)}.underline{text-decoration-line:underline}}@font-face{font-family:Recursive Variable;src:url(/fonts/recursive-latin-ext-wght.woff2)format("woff2-variations");font-weight:300 1000;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Recursive Variable;src:url(/fonts/recursive-latin-wght.woff2)format("woff2-variations");font-weight:300 1000;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fragment Mono;src:url(/fonts/fragment-mono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}body{text-rendering:optimizelegibility;flex-direction:column;display:flex;position:relative;overflow-x:hidden}code,kbd,pre{font-family:var(--font-data);font-variant-numeric:tabular-nums}body:before{content:"";pointer-events:none;z-index:1;opacity:.018;mix-blend-mode:multiply;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMjAiIGhlaWdodD0iMjIwIj48ZmlsdGVyIGlkPSJuIj48ZmVUdXJidWxlbmNlIHR5cGU9ImZyYWN0YWxOb2lzZSIgYmFzZUZyZXF1ZW5jeT0iMC45IiBudW1PY3RhdmVzPSIyIiBzdGl0Y2hUaWxlcz0ic3RpdGNoIi8+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAgIDAgMCAwIDAgMCAgMCAwIDAgMCAwICAwIDAgMCAwLjU1IDAiLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWx0ZXI9InVybCgjbikiIG9wYWNpdHk9IjAuNiIvPjwvc3ZnPg==);background-size:220px 220px;position:fixed;inset:0}@media (width<=48rem){body:before{display:none}}:root[data-theme=dark] body:before{mix-blend-mode:overlay;opacity:.035;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMjAiIGhlaWdodD0iMjIwIj48ZmlsdGVyIGlkPSJuIj48ZmVUdXJidWxlbmNlIHR5cGU9ImZyYWN0YWxOb2lzZSIgYmFzZUZyZXF1ZW5jeT0iMC45IiBudW1PY3RhdmVzPSIyIiBzdGl0Y2hUaWxlcz0ic3RpdGNoIi8+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDEgIDAgMCAwIDAgMSAgMCAwIDAgMCAxICAwIDAgMCAwLjU1IDAiLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWx0ZXI9InVybCgjbikiIG9wYWNpdHk9IjAuNiIvPjwvc3ZnPg==)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body:before{mix-blend-mode:overlay;opacity:.035;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMjAiIGhlaWdodD0iMjIwIj48ZmlsdGVyIGlkPSJuIj48ZmVUdXJidWxlbmNlIHR5cGU9ImZyYWN0YWxOb2lzZSIgYmFzZUZyZXF1ZW5jeT0iMC45IiBudW1PY3RhdmVzPSIyIiBzdGl0Y2hUaWxlcz0ic3RpdGNoIi8+PGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDEgIDAgMCAwIDAgMSAgMCAwIDAgMCAxICAwIDAgMCAwLjU1IDAiLz48L2ZpbHRlcj48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWx0ZXI9InVybCgjbikiIG9wYWNpdHk9IjAuNiIvPjwvc3ZnPg==)}}
