/*! tailwindcss v4.3.1 | 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-border-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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--spacing:.25rem;--container-4xl:56rem;--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,ui-sans-serif, system-ui, 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]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}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}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{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{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-0{top:0}.left-0{left:0}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[68ch\]{max-width:68ch}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.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,-webkit-backdrop-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))}@media(min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}}}:root{--font-display:"Instrument Serif", "Iowan Old Style", Georgia, serif;--font-sans:"Instrument Sans", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--font-serif-heading:var(--font-display);--font-serif-body:var(--font-sans);--ease-out-cubic:cubic-bezier(.215, .61, .355, 1);--ease-in-out-quad:cubic-bezier(.455, .03, .515, .955);--ease-spring:linear(0, .009 1.2%, .036 2.4%, .146 5.3%, .328 9.1%, .532 13.3%, .704 17.5%, .834 21.9%, .918 26.3%, .973 31.4%, 1 36.6%, 1.014 42.4%, 1.013 50.5%, 1.004 62.8%, 1);--sheet:1320px;--gutter:clamp(1.25rem, 4vw, 4rem);--bg-primary-dark:#0b0b0c;--bg-secondary-dark:#121315;--bg-raise-dark:#1a1b1e;--text-primary-dark:#eeedec;--text-secondary-dark:#9b9b99;--text-faint-dark:#6c6c6b;--border-dark:#eeedec1a;--border-strong-dark:#eeedec38;--accent-dark:#e85d2f;--accent-glow-dark:#e85d2f29;--trace-dark:#7ba3b5;--shadow-dark:0 30px 60px -30px #000c;--bg-primary-light:#f4f3f1;--bg-secondary-light:#fbfbfa;--bg-raise-light:#fff;--text-primary-light:#16171a;--text-secondary-light:#5a5c60;--text-faint-light:#71747a;--border-light:#14161921;--border-strong-light:#14161942;--accent-light:#c2481d;--accent-glow-light:#c2481d1a;--trace-light:#3d7a92;--shadow-light:0 30px 60px -34px #1416193d}html[data-theme=dark]{--bg-primary:var(--bg-primary-dark);--bg-secondary:var(--bg-secondary-dark);--bg-raise:var(--bg-raise-dark);--text-primary:var(--text-primary-dark);--text-secondary:var(--text-secondary-dark);--text-faint:var(--text-faint-dark);--border:var(--border-dark);--border-strong:var(--border-strong-dark);--accent:var(--accent-dark);--accent-glow:var(--accent-glow-dark);--trace:var(--trace-dark);--shadow:var(--shadow-dark);--grain:.045;color-scheme:dark}html[data-theme=light]{--bg-primary:var(--bg-primary-light);--bg-secondary:var(--bg-secondary-light);--bg-raise:var(--bg-raise-light);--text-primary:var(--text-primary-light);--text-secondary:var(--text-secondary-light);--text-faint:var(--text-faint-light);--border:var(--border-light);--border-strong:var(--border-strong-light);--accent:var(--accent-light);--accent-glow:var(--accent-glow-light);--trace:var(--trace-light);--shadow:var(--shadow-light);--grain:.03;color-scheme:light}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .4s var(--ease-out-cubic),color .4s var(--ease-out-cubic);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.002em;font-synthesis-weight:none;font-size:1.0625rem;line-height:1.62;overflow-x:hidden}body:after{content:"";z-index:200;pointer-events:none;opacity:var(--grain,.04);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:-50%}.sheet-rules{display:none}@media(min-width:1400px){.sheet-rules{z-index:0;pointer-events:none;max-width:var(--sheet);border-left:1px solid var(--border);border-right:1px solid var(--border);margin-inline:auto;display:block;position:fixed;inset:0}}.shell{width:100%;max-width:var(--sheet);padding-inline:var(--gutter);z-index:1;margin-inline:auto;position:relative}section[id]{scroll-margin-top:5.5rem}::selection{background:var(--accent);color:var(--bg-primary)}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}.mono,.metadata{font-family:var(--font-mono);font-feature-settings:"liga" 0}.metadata{letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);font-size:.7rem}.tag-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-size:.68rem;font-weight:500}header{transition:background-color .35s var(--ease-out-cubic),border-color .35s var(--ease-out-cubic),transform .4s var(--ease-out-cubic);background:0 0;border-bottom:1px solid #0000}header.nav-hidden:not(:focus-within){transform:translateY(-100%)}header.scrolled{background-color:var(--bg-primary)}@supports (color:color-mix(in lab,red,red)){header.scrolled{background-color:color-mix(in srgb,var(--bg-primary) 82%,transparent)}}header.scrolled{-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);border-bottom-color:var(--border)}.nav-bar{justify-content:space-between;align-items:center;gap:1rem;padding-block:1.15rem;display:flex}.brand-mark{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);align-items:baseline;gap:.55rem;font-size:1.6rem;line-height:1;display:inline-flex}.brand-mark .brand-sub{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);font-size:.6rem;transition:color .3s}.brand-mark:hover .brand-sub{color:var(--accent)}@media(max-width:1099px){.brand-mark .brand-sub{display:none}}.nav-link{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.13em;padding:.45rem .85rem;font-size:.7rem;transition:color .3s;position:relative}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-link:before{content:"";background:var(--accent);opacity:0;width:3px;height:3px;transition:opacity .25s,transform .25s var(--ease-spring);margin-top:-1.5px;position:absolute;top:50%;left:.15rem;transform:scale(.4)}.nav-link.active:before{opacity:1;transform:scale(1)}#theme-toggle{width:2.1rem;height:2.1rem;color:var(--text-secondary);border:1px solid var(--border);transition:color .25s,border-color .25s,transform .5s var(--ease-spring);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin-left:.6rem;display:inline-flex}#theme-toggle:hover{color:var(--accent);border-color:var(--border-strong)}html[data-theme=light] #theme-toggle{transform:rotate(180deg)}.menu-btn{cursor:pointer;flex-direction:column;justify-content:center;align-items:flex-end;gap:5px;width:2.4rem;height:2.4rem;display:inline-flex}.menu-btn span{background:var(--text-primary);width:22px;height:1px;transition:width .3s var(--ease-out-cubic);display:block}.menu-btn span:last-child{width:14px}@media(min-width:768px){.menu-btn{display:none}}.menu-btn:hover span:last-child{width:22px}.mobile-menu{z-index:40;background-color:var(--bg-primary);padding:var(--gutter);flex-direction:column;justify-content:center;align-items:flex-start;gap:.25rem;display:none;position:fixed;inset:0}.mobile-menu.is-open{display:flex}.mobile-menu .nav-link{font-family:var(--font-display);text-transform:none;letter-spacing:-.02em;color:var(--text-primary);padding:.15rem 0;font-size:clamp(2rem,9vw,3rem)}.mobile-menu .nav-link:hover{color:var(--accent)}.mobile-menu .nav-link:before{display:none}@media(min-width:768px){.mobile-menu,.mobile-menu.is-open{display:none}}#home{min-height:100svh;padding-top:7.5rem;display:flex;position:relative}.hero-body{flex-direction:column;flex:auto;display:flex}#hero-canvas{z-index:0;pointer-events:none;opacity:.9;width:100vw;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(96deg,#0000 26%,#0000004d 52%,#000 74%);mask-image:linear-gradient(96deg,#0000 26%,#0000004d 52%,#000 74%)}@media(max-width:767px){#hero-canvas{opacity:.9;width:100%;height:28vh;position:relative;top:auto;left:auto;transform:none;-webkit-mask-image:linear-gradient(#0000 0%,#000 38%);mask-image:linear-gradient(#0000,#000 38%)}.hero-inner{padding-bottom:1.25rem}}.hero-inner{z-index:1;flex-direction:column;flex:auto;justify-content:center;max-width:62rem;padding-bottom:3.5rem;display:flex;position:relative}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:.7rem;margin-bottom:2rem;font-size:.7rem;display:inline-flex}.status-dot{background:var(--accent);width:6px;height:6px;animation:status-ping 2.6s var(--ease-out-cubic) infinite;border-radius:50%;flex:none}@keyframes status-ping{0%{box-shadow:0 0 0 0 var(--accent-glow)}60%{box-shadow:0 0 0 9px #0000}to{box-shadow:0 0 #0000}}#home h1{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text-primary);margin-bottom:2.25rem;font-size:clamp(3.1rem,9.4vw,8.25rem);font-weight:400;line-height:.94}.word-em>span{color:var(--text-secondary);font-style:italic}.hero-sub{max-width:34rem;color:var(--text-secondary);margin-bottom:2.5rem;font-size:1.075rem}.hero-cta{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;display:flex}.hero-readout{z-index:1;border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:relative}@media(min-width:900px){.hero-readout{grid-template-columns:repeat(4,minmax(0,1fr))}}.readout-cell{border-left:1px solid var(--border);padding:1.15rem 1.25rem 1.35rem}@media(max-width:899px){.readout-cell:nth-child(odd){border-left:0;padding-left:0}.readout-cell:nth-child(n+3){border-top:1px solid var(--border)}.hero-readout{background:var(--bg-primary)}}@media(min-width:900px){.readout-cell:first-child{border-left:0;padding-left:0}}.readout-cell dt{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.45rem;font-size:.6rem}.readout-cell dd{color:var(--text-primary);font-size:.9rem;line-height:1.4}.btn{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background-color .3s var(--ease-out-cubic),color .3s var(--ease-out-cubic),border-color .3s var(--ease-out-cubic),transform .15s var(--ease-out-cubic);border-radius:2px;align-items:center;gap:.75rem;padding:.95rem 1.6rem;font-size:.72rem;font-weight:500;display:inline-flex}.btn:active{transform:translateY(1px)}.btn .arrow{transition:transform .35s var(--ease-spring)}.btn:hover .arrow{transform:translate(4px)}.btn-primary{background-color:var(--accent);color:#fff;border:1px solid var(--accent)}.btn-primary:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.btn-primary:hover{background-color:color-mix(in srgb,var(--accent) 82%,#000)}}.btn-primary:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.btn-primary:hover{border-color:color-mix(in srgb,var(--accent) 82%,#000)}}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-strong);background-color:#0000}.btn-secondary:hover{border-color:var(--text-primary);background-color:var(--text-primary)}@supports (color:color-mix(in lab,red,red)){.btn-secondary:hover{background-color:color-mix(in srgb,var(--text-primary) 5%,transparent)}}.link-quiet{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);padding-bottom:3px;font-size:.72rem;transition:color .3s;position:relative}.link-quiet:after{content:"";transform-origin:0;height:1px;transition:transform .4s var(--ease-out-cubic);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.link-quiet:hover{color:var(--accent)}.link-quiet:hover:after{transform:scaleX(1)}.plate{padding-block:clamp(3.5rem,6.5vw,6rem);position:relative}.sheet-head{border-top:1px solid var(--border);grid-template-columns:1fr;gap:1.25rem 2rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);padding-top:1.25rem;display:grid}@media(min-width:860px){.sheet-head{grid-template-columns:10rem minmax(0,1fr);gap:2rem 3rem}}.sheet-index{font-family:var(--font-mono);white-space:nowrap;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);padding-top:.65rem;font-size:.68rem}.section-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text-primary);font-size:clamp(2.4rem,5.4vw,4.25rem);font-weight:400;line-height:1}.section-title em{color:var(--text-secondary);font-style:italic}.sheet-lede{max-width:44ch;color:var(--text-secondary);margin-top:1.25rem}.rule{border:0;border-top:1px solid var(--border);margin:0;position:relative}.rule:before{content:"";background:var(--accent);width:2.5rem;height:1px;position:absolute;top:-1px;left:0}.about-grid{grid-template-columns:1fr;gap:3rem;display:grid}@media(min-width:860px){.about-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(3rem,6vw,6rem)}}.portrait{border:1px solid var(--border);background:var(--bg-secondary);padding:.7rem;position:relative}.portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center 22%;filter:saturate(.72)contrast(1.04);width:100%;transition:filter .6s var(--ease-out-cubic);display:block}.portrait:hover img{filter:saturate()contrast()}.portrait figcaption{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);justify-content:space-between;gap:1rem;padding-top:.7rem;font-size:.62rem;display:flex}.ledger{border-top:1px solid var(--border);margin-top:2.25rem}.ledger-row{border-bottom:1px solid var(--border);align-items:center;gap:.9rem;padding:.85rem 0;display:flex}.ledger-row img{object-fit:contain;filter:saturate(.2)contrast(1.1)brightness(1.15);opacity:.75;flex:none;width:1.5rem;height:1.5rem;transition:filter .35s,opacity .35s}.ledger-row:hover img{filter:none;opacity:1}.ledger-row .ledger-name{color:var(--text-primary);font-size:.9rem}.ledger-row .ledger-note{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-left:auto;font-size:.62rem}.about-lede{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-primary);max-width:30ch;font-size:clamp(1.5rem,2.7vw,2.05rem);line-height:1.24}.about-body{max-width:60ch;color:var(--text-secondary);margin-top:1.75rem}.about-body p+p{margin-top:1.1rem}.about-body strong{color:var(--text-primary);font-weight:500}.record{margin-top:3rem}.record-head{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding-bottom:.9rem;font-size:.68rem}.record-row{border-bottom:1px solid var(--border);grid-template-columns:2.5rem minmax(0,1fr);gap:0 1.25rem;padding:1.15rem 0;display:grid}.record-row .record-n{font-family:var(--font-mono);color:var(--accent);letter-spacing:.06em;padding-top:.32rem;font-size:.68rem}.record-row .record-label{font-size:.68rem;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-primary);margin-bottom:.35rem;display:block}.record-row .record-text{color:var(--text-secondary);font-size:.975rem}.capabilities{border-top:1px solid var(--border);grid-template-columns:1fr;gap:0;display:grid}@media(min-width:700px){.capabilities{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,5vw,5rem)}}.capability{border-bottom:1px solid var(--border);grid-template-columns:2.5rem minmax(0,1fr);gap:0 1.25rem;padding:1.6rem 0;transition:opacity .3s;display:grid}.capability .cap-n{font-family:var(--font-mono);color:var(--text-faint);padding-top:.3rem;font-size:.68rem;transition:color .3s}.capability:hover .cap-n{color:var(--accent)}.capability h4{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-primary);margin-bottom:.3rem;font-size:1.35rem;font-weight:400}.capability p{color:var(--text-secondary);font-size:.925rem}.case-study{border-top:1px solid var(--border);grid-template-columns:1fr;gap:2rem;padding-block:clamp(2.5rem,5vw,4.5rem);display:grid}.case-study:first-child{border-top:0;padding-top:0}@media(min-width:900px){.case-study{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(2.5rem,5vw,5rem)}.case-study.flip .case-media{order:2}}.case-media{position:relative}.case-media-crop{border:1px solid var(--border);aspect-ratio:4/5;background:var(--bg-secondary);overflow:hidden}.case-media-crop img{object-fit:cover;filter:saturate(.85);width:100%;height:100%;transition:transform .9s var(--ease-out-cubic),filter .6s var(--ease-out-cubic)}.case-study:hover .case-media-crop img{filter:saturate();transform:scale(1.035)}.case-caption{font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint);justify-content:space-between;gap:1rem;padding-top:.7rem;font-size:.62rem;display:flex}.case-index{font-family:var(--font-display);color:var(--text-primary);opacity:.14;letter-spacing:-.04em;margin-bottom:.75rem;font-size:clamp(3.5rem,7vw,5.5rem);line-height:.8}.case-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);margin-bottom:1rem;font-size:clamp(2rem,4vw,3.1rem);font-weight:400;line-height:1.04}.case-desc{color:var(--text-secondary);max-width:48ch;margin-bottom:1.75rem;font-size:1.0125rem}.case-specs{flex-wrap:wrap;gap:.4rem .5rem;margin-bottom:1.75rem;display:flex}.trajectory{margin-top:0}.trajectory-rail{justify-content:space-between;gap:.5rem;padding-top:1.5rem;display:flex;position:relative}.trajectory-track,.trajectory-fill{pointer-events:none;height:1px;position:absolute;top:calc(1.5rem + 5px)}.trajectory-track{background:var(--border-strong)}.trajectory-fill{background:var(--accent);width:0;transition:width .55s var(--ease-out-cubic),left .55s var(--ease-out-cubic)}.traj-node{z-index:2;cursor:pointer;font-family:var(--font-mono);text-align:left;background:0 0;border:0;flex-direction:column;flex:1 1 0;align-items:flex-start;gap:.7rem;padding:0;display:flex;position:relative}.traj-dot{background:var(--bg-primary);border:1px solid var(--text-faint);width:11px;height:11px;transition:background-color .3s,border-color .3s,transform .4s var(--ease-spring);border-radius:50%}.traj-node:hover .traj-dot,.traj-node.active .traj-dot{border-color:var(--accent);background:var(--accent);transform:scale(1.25)}.traj-node.is-break .traj-dot{border-radius:1px;transform:rotate(45deg)}.traj-node.is-break:hover .traj-dot,.traj-node.is-break.active .traj-dot{transform:rotate(45deg)scale(1.2)}.traj-year{letter-spacing:.08em;color:var(--text-secondary);font-size:.72rem;transition:color .3s}.traj-org{text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);font-size:.58rem;transition:color .3s}.traj-node:hover .traj-year,.traj-node.active .traj-year{color:var(--text-primary)}.traj-node.active .traj-org{color:var(--accent)}.trajectory-panel{border-top:1px solid var(--border);min-height:17rem;margin-top:clamp(2.5rem,5vw,4rem);padding-top:2.25rem;position:relative}.traj-detail[hidden]{display:none}.traj-detail{animation:traj-in .5s var(--ease-out-cubic);grid-template-columns:1fr;gap:1.25rem 3rem;display:grid}@media(min-width:860px){.traj-detail{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}@keyframes traj-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.traj-period{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-size:.66rem}.traj-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);margin-bottom:.5rem;font-size:clamp(1.7rem,3vw,2.35rem);font-weight:400;line-height:1.06}.traj-suborg{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);font-size:.7rem}.traj-text{color:var(--text-secondary);max-width:66ch}@media(max-width:700px){.trajectory-rail{scrollbar-width:thin;justify-content:flex-start;gap:2rem;padding-bottom:.75rem;overflow-x:auto}.traj-node{flex:none;min-width:64px}}.category-filter{border:1px solid var(--border);background:var(--bg-secondary);border-radius:2px;flex-wrap:wrap;gap:.15rem;padding:.25rem;display:inline-flex;position:relative}.filter-indicator{z-index:0;background:var(--accent);opacity:0;transform:translate(var(--fx,0),var(--fy,0));border-radius:1px;transition:opacity .2s;position:absolute;top:0;left:0}.filter-indicator.ready{opacity:1;transition:transform .5s var(--ease-spring),width .5s var(--ease-spring),height .5s var(--ease-spring),opacity .2s}.filter-btn{z-index:1;font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint);cursor:pointer;transition:color .3s var(--ease-out-cubic);background:0 0;border:0;border-radius:1px;padding:.5rem 1.05rem;font-size:.66rem;font-weight:500;position:relative}.filter-btn:hover{color:var(--text-primary)}.filter-btn.active,.filter-btn.active:hover{color:#fff}.filter-indicator:not(.ready)~.filter-btn.active{background:var(--accent);color:#fff}.work-index{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.project-card{border-bottom:1px solid var(--border)}.work-link{transition:background-color .35s var(--ease-out-cubic);grid-template-columns:2.75rem minmax(0,1fr);grid-template-areas:"num kind""head head""body body""meta meta";gap:.5rem 1rem;padding:1.5rem 0;display:grid;position:relative}@media(min-width:900px){.work-link{grid-template-columns:3.5rem minmax(0,8fr) minmax(0,4fr) 5.5rem;grid-template-areas:"num head meta kind""num body meta kind";align-items:start;gap:.35rem 1.75rem;padding:1.6rem 1rem 1.6rem 0}}.work-link:before{content:"";background:var(--bg-secondary);opacity:0;z-index:-1;transition:opacity .35s var(--ease-out-cubic);position:absolute;inset:0 -1rem}.work-link:hover:before{opacity:1}.work-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--text-faint);grid-area:num;padding-top:.45rem;font-size:.72rem;transition:color .3s}.work-link:hover .work-num{color:var(--accent)}.work-head{grid-area:head;align-items:baseline;gap:.6rem;display:flex}.work-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-primary);font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:400;line-height:1.12;transition:color .3s}.work-link:hover .work-title{color:var(--accent)}.work-go{font-family:var(--font-mono);color:var(--accent);opacity:0;transition:opacity .3s,transform .4s var(--ease-spring);font-size:.8rem;transform:translate(-4px,4px)}.work-link:hover .work-go{opacity:1;transform:none}.work-desc{color:var(--text-secondary);grid-area:body;max-width:64ch;font-size:.925rem;line-height:1.55}.work-meta{flex-wrap:wrap;grid-area:meta;gap:.35rem .45rem;padding-top:.35rem;display:flex}.work-kind{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);text-align:right;grid-area:kind;padding-top:.5rem;font-size:.62rem}.work-link[data-pending] .work-kind{color:var(--accent)}.tech-tag{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-faint);border:1px solid var(--border);white-space:nowrap;border-radius:1px;padding:.22rem .5rem;font-size:.62rem;transition:border-color .3s,color .3s}.work-link:hover .tech-tag{border-color:var(--border-strong);color:var(--text-secondary)}.work-peek{z-index:90;aspect-ratio:4/3;border:1px solid var(--border-strong);background:var(--bg-secondary);width:17rem;box-shadow:var(--shadow);pointer-events:none;opacity:0;transform:translate(var(--px,0),var(--py,0)) scale(.94);transition:opacity .28s var(--ease-out-cubic),transform .28s var(--ease-out-cubic);position:fixed;top:0;left:0;overflow:hidden}.work-peek.on{opacity:1;transform:translate(var(--px,0),var(--py,0)) scale(1)}.work-peek img{object-fit:cover;filter:saturate(.9);width:100%;height:100%}@media(max-width:1023px),(hover:none){.work-peek{display:none}}.project-card.hidden{display:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}.pub-list{border-top:1px solid var(--border)}.publication-item{border-bottom:1px solid var(--border);grid-template-columns:2.75rem minmax(0,1fr);align-items:start;gap:.5rem 1rem;padding:1.75rem 0;display:grid}@media(min-width:860px){.publication-item{grid-template-columns:3.5rem minmax(0,1fr) 7rem;gap:.4rem 2rem}}.publication-item .pub-n{font-family:var(--font-mono);color:var(--accent);padding-top:.5rem;font-size:.68rem}.publication-item h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-primary);max-width:52ch;margin-bottom:.6rem;font-size:clamp(1.3rem,2.1vw,1.65rem);font-weight:400;line-height:1.16}.publication-item .pub-authors{color:var(--text-secondary);max-width:62ch;font-size:.9rem}.publication-item .pub-authors strong{color:var(--text-primary);font-weight:500}.publication-item .pub-venue{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-top:.5rem;font-size:.66rem;display:block}.publication-item .pub-pdf{align-self:start;padding-top:.35rem}@media(min-width:860px){.publication-item .pub-pdf{text-align:right}}.contact-mail{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);word-break:break-word;transition:color .35s var(--ease-out-cubic);font-size:clamp(1.75rem,5.4vw,4rem);line-height:1.02;display:inline-block;position:relative}.contact-mail:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .55s var(--ease-out-cubic);position:absolute;bottom:.08em;left:0;right:0;transform:scaleX(0)}.contact-mail:hover{color:var(--accent)}.contact-mail:hover:after{transform:scaleX(1)}.channels{border-top:1px solid var(--border);margin-top:clamp(2.5rem,5vw,4rem)}.channel{border-bottom:1px solid var(--border);transition:padding-left .35s var(--ease-out-cubic);grid-template-columns:6.5rem minmax(0,1fr) 1.5rem;align-items:center;gap:1rem;padding:1.1rem 0;display:grid}.channel:hover{padding-left:.6rem}.channel .channel-key{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);font-size:.64rem;transition:color .3s}.channel:hover .channel-key{color:var(--accent)}.channel .channel-val{color:var(--text-primary);font-size:1rem}.channel .channel-go{font-family:var(--font-mono);color:var(--text-faint);text-align:right;transition:transform .4s var(--ease-spring),color .3s;font-size:.8rem}.channel:hover .channel-go{color:var(--accent);transform:translate(3px,-3px)}footer{border-top:1px solid var(--border);margin-top:clamp(3rem,7vw,6rem)}.footer-bar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem 2rem;padding-block:2rem 2.5rem;display:flex}.footer-links{flex-wrap:wrap;gap:1.5rem;display:flex}.footer-links a{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);font-size:.66rem;transition:color .3s}.footer-links a:hover{color:var(--accent)}.blog-card{border-bottom:1px solid var(--border);grid-template-columns:2.75rem minmax(0,1fr);gap:.5rem 1rem;padding:1.75rem 0;display:grid;position:relative}@media(min-width:860px){.blog-card{grid-template-columns:3.5rem minmax(0,8fr) minmax(0,4fr);align-items:start;gap:.4rem 2rem}}.blog-card:before{content:"";background:var(--bg-secondary);opacity:0;z-index:-1;transition:opacity .35s var(--ease-out-cubic);position:absolute;inset:0 -1rem}.blog-card:hover:before{opacity:1}.blog-card h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-primary);margin-bottom:.5rem;font-size:clamp(1.4rem,2.3vw,1.85rem);font-weight:400;line-height:1.12;transition:color .3s}.blog-card:hover h3{color:var(--accent)}.blog-card p{color:var(--text-secondary);max-width:56ch;font-size:.925rem}.blog-card .blog-n{font-family:var(--font-mono);color:var(--text-faint);padding-top:.4rem;font-size:.68rem}.blog-card:hover .blog-n{color:var(--accent)}.coming-soon{border-top:1px solid var(--border);gap:1.25rem 3rem;padding-top:2rem;display:grid}@media(min-width:860px){.coming-soon{grid-template-columns:10rem minmax(0,1fr)}}.coming-soon-tag{font-family:var(--font-mono);white-space:nowrap;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);padding-top:.5rem;font-size:.68rem}.coming-soon h2{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text-primary);margin-bottom:.75rem;font-size:clamp(2rem,4.5vw,3.25rem);font-weight:400;line-height:1.02}.coming-soon p{color:var(--text-secondary);max-width:46ch}.prose{max-width:68ch;color:var(--text-primary);margin:0 auto;font-size:1.125rem;line-height:1.75}.prose h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);margin:2.75rem 0 1rem;font-size:2rem;font-weight:400}.prose h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text-primary);margin:2rem 0 .75rem;font-size:1.5rem;font-weight:400}.prose p{margin:1.25rem 0}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.prose ul,.prose ol{margin:1.25rem 0;padding-left:1.5rem}.prose li{margin:.5rem 0}.prose blockquote{border-left:1px solid var(--accent);color:var(--text-secondary);font-family:var(--font-display);margin:1.75rem 0;padding-left:1.5rem;font-size:1.3rem;line-height:1.4}.prose img{border:1px solid var(--border);margin:1.75rem auto}.prose code:not(pre code){font-family:var(--font-mono);background:var(--bg-secondary);border:1px solid var(--border);color:var(--trace);border-radius:2px;padding:.1em .4em;font-size:.85em}.prose pre{font-family:var(--font-mono);border:1px solid var(--border);margin:1.75rem 0;padding:1.35rem;font-size:.85rem;line-height:1.6;position:relative;overflow-x:auto}.prose pre code{font-family:var(--font-mono)}html[data-theme=dark] .prose pre,html[data-theme=dark] .prose pre span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.copy-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-faint);cursor:pointer;opacity:0;padding:.3rem .6rem;font-size:.62rem;transition:opacity .2s,color .2s,border-color .2s;position:absolute;top:.5rem;right:.5rem}.prose pre:hover .copy-btn{opacity:1}.copy-btn:hover{color:var(--accent);border-color:var(--accent)}.post-nav{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1px;margin-top:4rem;display:grid}.post-nav a{color:var(--text-primary);flex-direction:column;gap:.5rem;padding:1.5rem 0;transition:color .3s;display:flex}.post-nav a:hover{color:var(--accent)}.post-nav a.next{text-align:right;align-items:flex-end}.read-progress{z-index:60;background:var(--accent);transform-origin:0;width:100%;height:2px;position:fixed;top:0;left:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.read-progress{animation:linear forwards read-progress;animation-timeline:scroll(root)}}@keyframes read-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.reveal{transition:opacity .6s var(--ease-out-cubic),transform .8s var(--ease-spring);transition-delay:var(--delay,0s)}.reveal.reveal-init{opacity:0;transform:translateY(22px)}.reveal.reveal-init.visible{opacity:1;transform:translateY(0)}.reveal-words.reveal-init{opacity:1;transform:none}.reveal-words .word{margin-bottom:-.14em;padding-bottom:.14em;display:inline-block;overflow:hidden}.reveal-words .word:not(:last-child){margin-right:.2em}.reveal-words .word>span{display:inline-block}.reveal-words.reveal-init .word>span{transform:translateY(110%)}.reveal-words.reveal-init.visible .word>span{transition:transform .85s var(--ease-spring);transition-delay:calc(var(--wi) * 60ms + var(--delay,0s));transform:none}.metric{font-variant-numeric:tabular-nums;text-align:right;color:var(--text-primary);font-weight:500;display:inline-block}:focus-visible{outline:1px solid var(--accent);outline-offset:4px;border-radius:1px}.skip-link{z-index:100;background:var(--accent);color:#fff;font-family:var(--font-mono);padding:.75rem 1.25rem;font-size:.75rem;position:absolute;top:0;left:-999px}.skip-link:focus{left:0}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}@property --tw-border-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}
