/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,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}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}@font-face{font-family:Mona Sans;src:url(/fonts/mona-sans.woff2)format("woff2");font-style:normal;font-weight:600 750;font-display:swap}@font-face{font-family:Atkinson Hyperlegible Next;src:url(/fonts/atkinson-hyperlegible-next-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Atkinson Hyperlegible Next;src:url(/fonts/atkinson-hyperlegible-next-bold.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Commit Mono;src:url(/fonts/commit-mono.woff2)format("woff2");font-style:normal;font-weight:400 500;font-display:swap}:root{color-scheme:dark;--color-canvas:oklch(14.5% .012 75);--color-surface:oklch(18% .014 75);--color-surface-raised:oklch(22.5% .016 75);--color-surface-sunken:oklch(12% .01 75);--color-text:oklch(94% .01 80);--color-text-secondary:oklch(76% .012 80);--color-text-muted:oklch(67% .011 80);--color-rule-subtle:oklch(29% .012 75);--color-rule-strong:oklch(48% .018 75);--color-accent:oklch(78% .15 75);--color-accent-hover:oklch(83% .14 75);--color-accent-active:oklch(71% .145 75);--color-accent-ink:oklch(18% .018 70);--color-focus:oklch(86% .17 82);--color-verified:oklch(72% .11 145);--color-unavailable:oklch(70% .12 38);--color-danger:oklch(68% .17 27);--font-display:"Mona Sans", system-ui, sans-serif;--font-body:"Atkinson Hyperlegible Next", system-ui, sans-serif;--font-meta:"Commit Mono", ui-monospace, monospace;--text-display:clamp(3rem, 5.2vw + .25rem, 5.25rem);--text-h2:clamp(2rem, 3vw + .25rem, 3.75rem);--text-h3:clamp(1.375rem, 1.4vw + .5rem, 2rem);--text-lede:clamp(1.125rem, .8vw + .85rem, 1.375rem);--text-body:1rem;--text-ui:.9375rem;--text-meta:.75rem;--page-max:90rem;--page-gutter:clamp(1rem, 3.5vw, 4rem);--split-gap:clamp(2rem, 5vw, 6rem);--measure:65ch;--measure-compact:42ch;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--section-pad-dense:clamp(4rem, 7vw, 6rem);--section-pad-quiet:clamp(6rem, 9vw, 9rem);--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-pill:999px;--rule-hair:1px;--rule-strong:2px;--dur-instant:80ms;--dur-micro:.12s;--dur-short:.18s;--dur-medium:.26s;--dur-long:.42s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--graph-node-fill:var(--color-surface-raised);--graph-node-stroke:var(--color-rule-strong);--graph-edge:var(--color-rule-strong);--graph-edge-muted:var(--color-rule-subtle);--graph-active:var(--color-accent);--graph-human-gate:var(--color-verified)}html[data-theme=light]{color-scheme:light;--color-canvas:oklch(97.5% .008 80);--color-surface:oklch(99.5% .006 80);--color-surface-raised:oklch(94% .012 80);--color-surface-sunken:oklch(91.5% .014 80);--color-text:oklch(20% .018 70);--color-text-secondary:oklch(36% .015 70);--color-text-muted:oklch(44% .014 70);--color-rule-subtle:oklch(84% .018 80);--color-rule-strong:oklch(58% .025 75);--color-accent:oklch(52% .14 70);--color-accent-hover:oklch(47% .145 70);--color-accent-active:oklch(42% .14 70);--color-accent-ink:oklch(98.5% .008 80);--color-focus:oklch(45% .17 70);--color-verified:oklch(43% .1 145);--color-unavailable:oklch(46% .12 38);--color-danger:oklch(49% .17 27)}html{background:var(--color-canvas);color:var(--color-text);font-family:var(--font-body);overflow-x:clip}body{background:var(--color-canvas);min-width:20rem;color:var(--color-text);margin:0;overflow-x:clip}*,:before,:after{box-sizing:border-box}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.portfolio-section{scroll-margin-top:var(--space-xl);border-bottom:var(--rule-hair) solid var(--color-rule-subtle)}.portfolio-section--surface{background:var(--color-surface)}.portfolio-section-inner{width:min(100%, var(--page-max));padding:var(--section-pad-dense) var(--page-gutter);gap:var(--space-2xl);margin-inline:auto;display:grid}.portfolio-section-heading h2{overflow-wrap:anywhere;min-width:0;max-width:18ch;font-family:var(--font-display);font-size:var(--text-h2);letter-spacing:-.035em;margin:0;font-style:normal;font-weight:600;line-height:1.02}.portfolio-section-content{min-width:0}.entry-ledger article{border-top:var(--rule-hair) solid var(--color-rule-subtle)}.entry-ledger details{padding-block:var(--space-sm)}.entry-ledger summary{align-items:center;gap:var(--space-lg);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;min-height:3.25rem;list-style:none;display:grid}.entry-ledger summary::-webkit-details-marker{display:none}.entry-ledger summary:after{content:"+";color:var(--color-text-muted);font-family:var(--font-meta);font-size:var(--text-h3);line-height:1}.entry-ledger details[open] summary:after{content:"−"}.summary-main{gap:var(--space-xs);min-width:0;display:grid}.summary-main strong{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-h3);font-weight:600;line-height:1.15}.summary-main>span,.summary-meta{color:var(--color-text-muted)}.summary-meta{font-family:var(--font-meta);font-size:var(--text-meta);font-variant-numeric:tabular-nums;white-space:nowrap}.disclosure-body{max-width:var(--measure);padding:var(--space-md) 0 var(--space-lg);gap:var(--space-md);color:var(--color-text-secondary);line-height:1.62;display:grid}.disclosure-body p,.disclosure-body ul{margin:0}.disclosure-body ul{padding-inline-start:var(--space-lg)}.entry-location{color:var(--color-text-muted);font-family:var(--font-meta);font-size:var(--text-meta)}@media (width<=40rem){.entry-ledger summary{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto}.summary-meta{white-space:normal;grid-area:2/1}.entry-ledger summary:after{grid-area:1/2/span 2}}@media (width>=60rem){.portfolio-section-inner{gap:var(--split-gap);grid-template-columns:repeat(12,minmax(0,1fr))}.portfolio-section-heading{grid-column:1/span 4}.portfolio-section-content{grid-column:6/span 7}.portfolio-section--reverse .portfolio-section-heading{grid-column:9/span 4}.portfolio-section--reverse .portfolio-section-content{grid-area:1/1/auto/span 7}}@media (forced-colors:active){.entry-ledger article,.entry-ledger summary,.contact-actions{border-color:canvastext}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.skip-link{z-index:100;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-accent-ink);font-weight:700;position:fixed;inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-footer[data-astro-cid-3a5wmu7c]{border-top:var(--rule-hair) solid var(--color-rule-subtle);background:var(--color-surface-sunken)}.footer-inner[data-astro-cid-3a5wmu7c]{width:min(100%, var(--page-max));padding:var(--space-3xl) var(--page-gutter) var(--space-xl);margin-inline:auto}p[data-astro-cid-3a5wmu7c]{max-width:20ch;font-family:var(--font-display);font-size:var(--text-h2);letter-spacing:-.035em;margin:0;font-weight:600;line-height:1.02}.footer-meta[data-astro-cid-3a5wmu7c]{margin-top:var(--space-3xl);padding-top:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule-strong);justify-content:space-between;gap:var(--space-md);font-family:var(--font-meta);font-size:var(--text-meta);display:flex}a[data-astro-cid-3a5wmu7c]{color:var(--color-text-secondary);text-underline-offset:.3em}@media (width<=40rem){.footer-meta[data-astro-cid-3a5wmu7c]{flex-direction:column;align-items:flex-start}}.site-header[data-astro-cid-kbzixps5]{z-index:10;border-bottom:var(--rule-hair) solid var(--color-rule-subtle);background:var(--color-canvas);position:relative}.header-inner[data-astro-cid-kbzixps5]{width:min(100%, var(--page-max));min-height:4.5rem;padding-inline:var(--page-gutter);align-items:center;gap:var(--space-lg);grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);margin-inline:auto;display:grid}.brand[data-astro-cid-kbzixps5]{gap:var(--space-3xs);color:var(--color-text);white-space:nowrap;text-decoration:none;display:grid}.brand[data-astro-cid-kbzixps5] span[data-astro-cid-kbzixps5]{font-family:var(--font-display);font-weight:750}.brand[data-astro-cid-kbzixps5] small[data-astro-cid-kbzixps5]{color:var(--color-text-muted);font-family:var(--font-meta);font-size:var(--text-meta)}.desktop-navigation[data-astro-cid-kbzixps5] ul[data-astro-cid-kbzixps5],.mobile-nav-panel ul{margin:0;padding:0;list-style:none}.desktop-navigation[data-astro-cid-kbzixps5] ul[data-astro-cid-kbzixps5]{justify-content:center;gap:clamp(var(--space-sm), 1.5vw, var(--space-lg));display:flex}.desktop-navigation[data-astro-cid-kbzixps5] a[data-astro-cid-kbzixps5],.language-link[data-astro-cid-kbzixps5],.contact-link[data-astro-cid-kbzixps5],.mobile-nav-panel a{color:var(--color-text-secondary);font-size:var(--text-ui);text-underline-offset:.3em;white-space:nowrap;transition:color var(--dur-micro) var(--ease-out), text-decoration-color var(--dur-micro) var(--ease-out);text-decoration-color:#0000}.desktop-navigation[data-astro-cid-kbzixps5] a[data-astro-cid-kbzixps5]:hover,.language-link[data-astro-cid-kbzixps5]:hover,.mobile-nav-panel a:hover{color:var(--color-text);text-decoration-color:var(--color-accent)}.header-actions[data-astro-cid-kbzixps5]{align-items:center;gap:var(--space-md);display:flex}.contact-link[data-astro-cid-kbzixps5]{min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-text);align-items:center;text-decoration:none;display:inline-flex}.contact-link[data-astro-cid-kbzixps5]:hover{background:var(--color-accent);color:var(--color-accent-ink)}.theme-control select{border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-height:2.75rem;color:var(--color-text);padding-inline:var(--space-sm);font:inherit}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-navigation[data-astro-cid-kbzixps5]{display:none;position:relative}.mobile-navigation[data-astro-cid-kbzixps5] summary[data-astro-cid-kbzixps5]{cursor:pointer;border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);min-height:2.75rem;padding-inline:var(--space-md);white-space:nowrap;align-items:center;list-style:none;display:inline-flex}.mobile-navigation[data-astro-cid-kbzixps5] summary[data-astro-cid-kbzixps5]::-webkit-details-marker{display:none}.mobile-nav-panel{width:min(20rem, calc(100vw - 2 * var(--page-gutter)));padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-md);background:var(--color-surface);position:absolute;inset-block-start:calc(100% + var(--space-sm));inset-inline-end:0}.mobile-nav-panel li+li{border-top:var(--rule-hair) solid var(--color-rule-subtle)}.mobile-nav-panel li a,.mobile-language-link{align-items:center;min-height:2.75rem;display:flex}.mobile-language-link{margin-top:var(--space-md);border-top:var(--rule-strong) solid var(--color-rule-strong)}@media (width<=55.99rem){.header-inner[data-astro-cid-kbzixps5]{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto auto}.desktop-navigation[data-astro-cid-kbzixps5],.header-actions[data-astro-cid-kbzixps5] .language-link[data-astro-cid-kbzixps5],.header-actions[data-astro-cid-kbzixps5] .contact-link[data-astro-cid-kbzixps5]{display:none}.header-actions[data-astro-cid-kbzixps5]{display:flex}.mobile-navigation[data-astro-cid-kbzixps5]{display:block}}@media (width<=30rem){.brand[data-astro-cid-kbzixps5] small[data-astro-cid-kbzixps5]{display:none}.theme-control select{max-width:5.25rem}}.timeline-ledger[data-astro-cid-teqyj6df]{margin:0;padding:0;list-style:none}.timeline-ledger[data-astro-cid-teqyj6df] li[data-astro-cid-teqyj6df]{min-height:4.5rem;padding-block:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule-subtle);align-items:center;gap:var(--space-lg);grid-template-columns:minmax(6rem,.32fr) minmax(0,1fr);display:grid}time[data-astro-cid-teqyj6df]{color:var(--color-text-muted);font-family:var(--font-meta);font-size:var(--text-meta);font-variant-numeric:tabular-nums}a[data-astro-cid-teqyj6df]{min-height:2.75rem;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-h3);text-underline-offset:.3em;align-items:center;font-weight:600;line-height:1.15;display:inline-flex}@media (width<=30rem){.timeline-ledger[data-astro-cid-teqyj6df] li[data-astro-cid-teqyj6df]{gap:var(--space-xs);grid-template-columns:1fr}}.contact-content[data-astro-cid-d56ov33j],.contact-copy[data-astro-cid-d56ov33j],.contact-actions[data-astro-cid-d56ov33j]{display:grid}.contact-content[data-astro-cid-d56ov33j]{gap:var(--space-2xl)}.contact-copy[data-astro-cid-d56ov33j]{gap:var(--space-md)}.contact-copy[data-astro-cid-d56ov33j] p[data-astro-cid-d56ov33j]{max-width:var(--measure-compact);color:var(--color-text-secondary);font-size:var(--text-lede);margin:0;line-height:1.5}.contact-actions[data-astro-cid-d56ov33j]{border-top:var(--rule-hair) solid var(--color-rule-strong)}.contact-actions[data-astro-cid-d56ov33j] a[data-astro-cid-d56ov33j]{min-height:3.25rem;padding-block:var(--space-sm);border-bottom:var(--rule-hair) solid var(--color-rule-subtle);color:var(--color-text);text-underline-offset:.3em;overflow-wrap:anywhere;align-items:center;display:flex}.copy-email-control{border-bottom:var(--rule-hair) solid var(--color-rule-subtle);align-items:center;gap:var(--space-md);grid-template-columns:minmax(2.75rem,auto) minmax(0,1fr);min-width:0;display:grid}.copy-email-control button{min-width:2.75rem;min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer}.copy-email-control button[data-copy-state=active]{border-color:var(--color-accent)}.copy-email-control button[data-copy-state=success]{border-color:var(--graph-human-gate)}.copy-email-control button[data-copy-state=error]{border-color:var(--color-accent-hover)}.copy-email-status{min-width:0;color:var(--color-text-muted);font-family:var(--font-meta);font-size:var(--text-meta);overflow-wrap:anywhere}.contact-email[data-astro-cid-d56ov33j]{font-family:var(--font-display);font-size:var(--text-h3);font-weight:600}.credential-ledger[data-astro-cid-xumcgdyy] article[data-astro-cid-xumcgdyy]{padding-block:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule-subtle);gap:var(--space-md);display:grid}h3[data-astro-cid-xumcgdyy],p[data-astro-cid-xumcgdyy]{margin:0}h3[data-astro-cid-xumcgdyy]{font-family:var(--font-display);font-size:var(--text-h3);font-style:normal;line-height:1.15}p[data-astro-cid-xumcgdyy]{margin-top:var(--space-xs);color:var(--color-text-secondary)}.credential-meta[data-astro-cid-xumcgdyy]{justify-items:start;gap:var(--space-xs);min-width:0;color:var(--color-text-muted);font-family:var(--font-meta);font-size:var(--text-meta);overflow-wrap:anywhere;display:grid}a[data-astro-cid-xumcgdyy]{min-height:2.75rem;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-ui);text-underline-offset:.25em;align-items:center;display:inline-flex}@media (width>=48rem){.credential-ledger[data-astro-cid-xumcgdyy] article[data-astro-cid-xumcgdyy]{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(12rem,.45fr)}}.security-graph-fallback[data-astro-cid-dsmiyygq]{gap:var(--space-lg);display:grid}.security-graph-visual[data-astro-cid-dsmiyygq]{aspect-ratio:4/3;border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--graph-edge);overflow:hidden}svg[data-astro-cid-dsmiyygq]{width:100%;height:100%;display:block}line[data-astro-cid-dsmiyygq]{stroke:currentColor;stroke-width:3px;vector-effect:non-scaling-stroke}marker[data-astro-cid-dsmiyygq] path[data-astro-cid-dsmiyygq]{fill:currentColor}polygon[data-astro-cid-dsmiyygq]{fill:var(--graph-node-fill);stroke:var(--graph-node-stroke);stroke-width:4px;vector-effect:non-scaling-stroke}.human-gate[data-astro-cid-dsmiyygq] polygon[data-astro-cid-dsmiyygq]{stroke:var(--graph-human-gate)}text[data-astro-cid-dsmiyygq]{fill:var(--color-text-secondary);font-family:var(--font-meta);font-size:20px}.graph-static-nodes[data-astro-cid-dsmiyygq],.graph-relationships[data-astro-cid-dsmiyygq]{margin:0;padding:0;list-style:none}.graph-static-nodes[data-astro-cid-dsmiyygq]{gap:var(--space-sm) var(--space-lg);display:grid}.graph-static-nodes[data-astro-cid-dsmiyygq] li[data-astro-cid-dsmiyygq],.graph-relationships[data-astro-cid-dsmiyygq] li[data-astro-cid-dsmiyygq]{padding-block:var(--space-sm);border-top:var(--rule-hair) solid var(--color-rule-subtle)}.graph-static-nodes[data-astro-cid-dsmiyygq] a[data-astro-cid-dsmiyygq]{min-height:2.75rem;color:var(--color-text);text-underline-offset:.25em;align-items:center;font-weight:700;display:inline-flex}.graph-static-nodes[data-astro-cid-dsmiyygq] p[data-astro-cid-dsmiyygq],.graph-relationships[data-astro-cid-dsmiyygq]{color:var(--color-text-secondary);font-size:var(--text-meta);line-height:1.5}.graph-static-nodes[data-astro-cid-dsmiyygq] p[data-astro-cid-dsmiyygq]{margin:var(--space-2xs) 0 0}.graph-relationships[data-astro-cid-dsmiyygq]{font-family:var(--font-meta)}.graph-relationships[data-astro-cid-dsmiyygq] strong[data-astro-cid-dsmiyygq]{color:var(--color-text);font-weight:500}@media (width>=40rem){.graph-static-nodes[data-astro-cid-dsmiyygq]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (forced-colors:active){.security-graph-visual[data-astro-cid-dsmiyygq]{color:canvastext;background:canvas;border-color:canvastext}polygon[data-astro-cid-dsmiyygq],.human-gate[data-astro-cid-dsmiyygq] polygon[data-astro-cid-dsmiyygq]{fill:canvas;stroke:canvastext}text[data-astro-cid-dsmiyygq]{fill:canvastext}}.hero[data-astro-cid-yodha2z4]{scroll-margin-top:var(--space-xl);border-bottom:var(--rule-hair) solid var(--color-rule-subtle)}.hero-inner[data-astro-cid-yodha2z4]{width:min(100%, var(--page-max));padding:var(--space-2xl) var(--page-gutter) var(--space-3xl);gap:var(--space-2xl);align-items:start;margin-inline:auto;display:grid}.hero-copy[data-astro-cid-yodha2z4]{gap:var(--space-lg);min-width:0;display:grid}h1[data-astro-cid-yodha2z4]{overflow-wrap:anywhere;min-width:0;max-width:18ch;font-family:var(--font-display);font-size:var(--text-display);letter-spacing:-.04em;margin:0;font-style:normal;font-weight:750;line-height:.96}p[data-astro-cid-yodha2z4]{margin:0}.hero-positioning[data-astro-cid-yodha2z4]{max-width:38ch;font-size:var(--text-lede);line-height:1.5}.hero-supporting[data-astro-cid-yodha2z4]{max-width:var(--measure);color:var(--color-text-secondary);line-height:1.62}.hero-context[data-astro-cid-yodha2z4]{max-width:var(--measure-compact);gap:var(--space-xs);color:var(--color-text-muted);font-family:var(--font-meta);font-size:var(--text-meta);line-height:1.5;display:grid}.hero-actions[data-astro-cid-yodha2z4],.hero-profiles[data-astro-cid-yodha2z4]{gap:var(--space-md);flex-wrap:wrap;display:flex}.hero-actions[data-astro-cid-yodha2z4] a[data-astro-cid-yodha2z4],.hero-profiles[data-astro-cid-yodha2z4] a[data-astro-cid-yodha2z4]{min-height:2.75rem;color:var(--color-text);text-underline-offset:.3em;white-space:nowrap;align-items:center;display:inline-flex}.hero-actions[data-astro-cid-yodha2z4] .primary-action[data-astro-cid-yodha2z4]{padding-inline:var(--space-lg);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-accent-ink);font-weight:700;text-decoration:none}.hero-actions[data-astro-cid-yodha2z4] .primary-action[data-astro-cid-yodha2z4]:hover{background:var(--color-accent-hover)}.hero-actions[data-astro-cid-yodha2z4] .primary-action[data-astro-cid-yodha2z4]:active{background:var(--color-accent-active);transform:translateY(1px)}.hero-graph[data-astro-cid-yodha2z4]{min-width:0;position:relative}.security-graph-island{gap:var(--space-lg);display:grid}.graph-canvas-layer{z-index:2;aspect-ratio:4/3;border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-md);background:var(--color-surface-sunken);opacity:0;pointer-events:none;transition:opacity var(--dur-short) var(--ease-out);position:absolute;inset-block-start:0;inset-inline:0;overflow:hidden}.graph-canvas-layer.is-ready{opacity:1;pointer-events:auto}.graph-canvas-layer canvas{display:block;width:100%!important;height:100%!important}.graph-control-region{gap:var(--space-lg);display:grid}.graph-node-controls{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.graph-node-controls button{min-height:2.75rem;padding:var(--space-sm);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font:inherit;text-align:start;cursor:pointer}.graph-node-controls button:hover,.graph-node-controls button:focus-visible{color:var(--color-text);border-color:var(--color-accent-hover)}.graph-node-controls button[aria-pressed=true]{border-width:var(--rule-strong);border-color:var(--graph-active);color:var(--color-text)}.graph-active-details{padding-block:var(--space-md);border-block:var(--rule-hair) solid var(--color-rule-subtle);gap:var(--space-sm);display:grid}.graph-active-details h2{font-family:var(--font-display);font-size:var(--text-h3);margin:0;font-style:normal}.graph-active-details p,.graph-active-details ul{color:var(--color-text-secondary);margin:0;line-height:1.55}.graph-active-details ul{font-size:var(--text-meta);padding-inline-start:var(--space-lg)}.graph-active-details a{min-height:2.75rem;color:var(--color-text);text-underline-offset:.3em;align-items:center;font-weight:700;display:inline-flex}@media (width>=60rem){.hero-inner[data-astro-cid-yodha2z4]{gap:var(--split-gap);grid-template-columns:repeat(12,minmax(0,1fr))}.hero-copy[data-astro-cid-yodha2z4]{grid-column:1/span 7;position:sticky;inset-block-start:var(--space-xl)}.hero-graph[data-astro-cid-yodha2z4]{grid-column:8/span 5}}@media (prefers-reduced-motion:reduce){.graph-canvas-layer{transition:none}}@media (forced-colors:active){.graph-canvas-layer{display:none}}.tech-ledger[data-astro-cid-gcney6wx]{gap:var(--space-2xl);display:grid}.tech-ledger[data-astro-cid-gcney6wx]>section[data-astro-cid-gcney6wx]{gap:var(--space-lg);display:grid}header[data-astro-cid-gcney6wx],ul[data-astro-cid-gcney6wx],p[data-astro-cid-gcney6wx]{margin:0}h3[data-astro-cid-gcney6wx]{font-family:var(--font-display);font-size:var(--text-h3);margin:0;font-style:normal}header[data-astro-cid-gcney6wx]>p[data-astro-cid-gcney6wx],li[data-astro-cid-gcney6wx] p[data-astro-cid-gcney6wx]{color:var(--color-text-secondary);line-height:1.55}.tech-ledger[data-astro-cid-gcney6wx]>section[data-astro-cid-gcney6wx]>ul[data-astro-cid-gcney6wx],.evidence-links[data-astro-cid-gcney6wx]{padding:0;list-style:none}.tech-ledger[data-astro-cid-gcney6wx]>section[data-astro-cid-gcney6wx]>ul[data-astro-cid-gcney6wx]>li[data-astro-cid-gcney6wx]{padding-block:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule-subtle);gap:var(--space-md);display:grid}strong[data-astro-cid-gcney6wx]{color:var(--color-text)}.evidence-links[data-astro-cid-gcney6wx]{gap:var(--space-xs) var(--space-md);flex-wrap:wrap;display:flex}.evidence-links[data-astro-cid-gcney6wx] a[data-astro-cid-gcney6wx]{min-height:2.75rem;color:var(--color-text-secondary);font-size:var(--text-ui);text-underline-offset:.25em;align-items:center;display:inline-flex}@media (width>=48rem){.tech-ledger[data-astro-cid-gcney6wx]>section[data-astro-cid-gcney6wx]>ul[data-astro-cid-gcney6wx]>li[data-astro-cid-gcney6wx]{align-items:start;gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(12rem,.7fr)}}.assistant-content[data-astro-cid-a4b6sdza],.assistant-content{gap:var(--space-xl);color:var(--color-text-secondary);display:grid}.assistant-content[data-astro-cid-a4b6sdza] p[data-astro-cid-a4b6sdza],.assistant-content p,.assistant-suggestions[data-astro-cid-a4b6sdza] h3[data-astro-cid-a4b6sdza],.assistant-suggestions h3,.assistant-suggestions[data-astro-cid-a4b6sdza] ul[data-astro-cid-a4b6sdza],.assistant-suggestions ul{margin:0}.assistant-content[data-astro-cid-a4b6sdza] p[data-astro-cid-a4b6sdza],.assistant-content p{line-height:1.62}.assistant-suggestions[data-astro-cid-a4b6sdza],.assistant-suggestions,.assistant-form[data-astro-cid-a4b6sdza],.assistant-content form,.assistant-form[data-astro-cid-a4b6sdza] label[data-astro-cid-a4b6sdza],.assistant-content form label,.assistant-contact[data-astro-cid-a4b6sdza],.assistant-contact{gap:var(--space-sm);display:grid}.assistant-suggestions[data-astro-cid-a4b6sdza] h3[data-astro-cid-a4b6sdza],.assistant-suggestions h3{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-h3);font-style:normal}.assistant-suggestions[data-astro-cid-a4b6sdza] ul[data-astro-cid-a4b6sdza],.assistant-suggestions ul{padding-inline-start:var(--space-lg)}.assistant-suggestions button{min-width:2.75rem;min-height:2.75rem;padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:start}.assistant-form[data-astro-cid-a4b6sdza] textarea[data-astro-cid-a4b6sdza],.assistant-content textarea{width:100%;min-height:8rem;padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;resize:vertical}.assistant-form[data-astro-cid-a4b6sdza] button[data-astro-cid-a4b6sdza],.assistant-content form>button{min-width:2.75rem;min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;justify-self:start}.assistant-contact[data-astro-cid-a4b6sdza],.assistant-contact{padding-top:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule-subtle)}.assistant-contact[data-astro-cid-a4b6sdza] a[data-astro-cid-a4b6sdza],.assistant-contact a,[data-testid=assistant-answer] a{min-height:2.75rem;color:var(--color-text);text-underline-offset:.3em;align-items:center;display:inline-flex}
