:root{--paper:#fafaf5;--paper-2:#f7f7f2;--paper-3:#f4f4ef;--paper-4:#eeeeea;--surface:#fff;--line-soft:#e8e8e4;--line:#dadad5;--line-mid:#c4c7c7;--ink-faint:#b5b5b5;--ink-soft:#777;--ink-mid:#444;--ink:#1a1c19;--ink-black:#000;--grid-unit:24px;--grid-opacity:.035;--gutter:24px;--margin:48px;--maxw:1440px;--header-h:72px;--fs-display:clamp(2rem, 1.05rem + 4.2vw, 4.5rem);--fs-h1:clamp(1.875rem, 1.2rem + 2.6vw, 3.25rem);--fs-h2:clamp(1.75rem, 1.2rem + 2.2vw, 3rem);--fs-h3:clamp(1.125rem, .95rem + .8vw, 1.5rem);--sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--ease:cubic-bezier(.2, .6, .2, 1);--ease-out:cubic-bezier(.16, .84, .44, 1)}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px)}body{font-family:var(--sans);color:var(--ink);background-color:var(--paper);background-image:linear-gradient(to right, rgba(0,0,0,calc(var(--grid-opacity) * 2)) 1px, transparent 1px), linear-gradient(to bottom, rgba(0,0,0,calc(var(--grid-opacity) * 2)) 1px, transparent 1px), linear-gradient(to right, rgba(0,0,0,var(--grid-opacity)) 1px, transparent 1px), linear-gradient(to bottom, rgba(0,0,0,var(--grid-opacity)) 1px, transparent 1px);background-size:calc(var(--grid-unit) * 5) calc(var(--grid-unit) * 5), calc(var(--grid-unit) * 5) calc(var(--grid-unit) * 5), var(--grid-unit) var(--grid-unit), var(--grid-unit) var(--grid-unit);font-size:16px;line-height:1.6;overflow-x:clip}img,svg{max-width:100%;display:block}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}table{border-collapse:collapse;width:100%}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:300;background:var(--ink-black);color:#fff;font-family:var(--mono);letter-spacing:.12em;padding:12px 20px;font-size:11px;position:absolute;top:-100px;left:0}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--ink-black);outline-offset:3px}[tabindex="-1"]:focus{outline:none}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--margin);margin-inline:auto}.mono-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:500;line-height:1.4}.mono-label--ink{color:var(--ink-black)}.rule-short{background:var(--ink-mid);vertical-align:middle;width:32px;height:1px;margin-right:10px;display:inline-block}.offset-frame{position:relative}.offset-frame:after{content:"";border:1px solid var(--ink-black);z-index:0;pointer-events:none;position:absolute;inset:0;transform:translate(6px,6px)}.offset-frame>*{z-index:1;position:relative}.panel{background:var(--surface);border:1px solid var(--ink-black)}.panel__head,.panel__foot{justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.panel__head{border-bottom:1px solid var(--ink-black)}.panel__foot{border-top:1px solid var(--line)}.btn{border:1px solid var(--ink-black);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-black);transition:transform .15s var(--ease), background-color .15s var(--ease), color .15s var(--ease);background:0 0;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-size:11px;font-weight:500;display:inline-flex;position:relative}.btn:after{content:"";border:1px solid var(--ink-black);z-index:-1;transition:transform .15s var(--ease);position:absolute;inset:0;transform:translate(4px,4px)}.btn:hover{transform:translate(2px,2px)}.btn:hover:after{transform:translate(0)}.btn:active{transform:translate(4px,4px)}.btn--solid{background:var(--ink-black);color:#fff}.btn--solid:hover{background:var(--ink-mid)}.btn--block{width:100%}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--line-mid);background:var(--surface);font-family:var(--mono);letter-spacing:.06em;color:var(--ink-mid);transition:transform .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease), box-shadow .18s var(--ease);padding:8px 14px;font-size:11px;display:inline-block}.tag:hover{border-color:var(--ink-black);color:var(--ink-black);box-shadow:2px 2px 0 0 var(--ink-black);transform:translate(-2px,-2px)}.tags--sm .tag{padding:6px 10px;font-size:10.5px}.link-arrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-black);border-bottom:1px solid var(--ink-black);align-self:flex-start;align-items:center;gap:10px;padding-bottom:4px;font-size:11px;font-weight:500;display:inline-flex}.link-arrow span{transition:transform .18s var(--ease)}.link-arrow:hover span{transform:translate(5px)}.section{border-bottom:1px solid var(--line);padding-block:clamp(56px,7vw,104px)}.section--alt{background:#f4f4ef99}.section--tight{padding-block:clamp(40px,5vw,72px)}.section:last-of-type{border-bottom:0}.section__head{max-width:720px;margin-bottom:clamp(36px,4.5vw,64px)}.section__title{font-size:var(--fs-h2);letter-spacing:-.035em;color:var(--ink-black);margin-top:12px;font-weight:800;line-height:1.05}.section__lead{color:var(--ink-soft);max-width:56ch;margin-top:16px;font-size:1rem}.masthead{border-bottom:1px solid var(--ink-black);padding-block:clamp(48px,6vw,88px) clamp(32px,4vw,56px)}.masthead__inner{gap:var(--gutter);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.masthead__title{font-size:var(--fs-h1);letter-spacing:-.04em;color:var(--ink-black);margin-top:14px;font-weight:800;line-height:1}.masthead__lead{color:var(--ink-soft);max-width:48ch;margin-top:20px}.masthead__meta{text-align:right;flex-direction:column;gap:6px;display:flex}.topbar{z-index:100;height:var(--header-h);background:var(--paper);border-bottom:1px solid var(--ink-black);position:sticky;top:0}.topbar__inner{height:100%;max-width:var(--maxw);padding-inline:var(--margin);align-items:center;gap:32px;margin-inline:auto;display:flex}.brand{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-black);font-size:13px;font-weight:500}.nav{gap:28px;margin-left:auto;display:flex}.nav a{font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mid);padding:6px 0;font-size:12px;font-weight:600;position:relative}.nav a:after{content:"";background:var(--ink-black);width:0;height:1px;transition:width .22s var(--ease);position:absolute;bottom:0;left:0}.nav a:hover{color:var(--ink-black)}.nav a:hover:after{width:100%}.nav a[aria-current=page]{color:var(--ink-black)}.nav a[aria-current=page]:after{background:var(--ink-black);width:100%;height:1px}.topbar__cta{margin-left:28px;padding:10px 20px}.menu-btn{border:1px solid var(--ink-black);flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin-left:auto;display:none}.menu-btn span{background:var(--ink-black);width:18px;height:1px;transition:transform .22s var(--ease), opacity .22s var(--ease);display:block}.menu-btn[aria-expanded=true] span:first-child{transform:translateY(6px)rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.drawer-overlay{z-index:110;background:#1a1c1966;position:fixed;inset:0}.drawer{z-index:120;background:var(--paper);border-left:1px solid var(--ink-black);width:min(420px,88vw);height:100dvh;transition:transform .34s var(--ease);visibility:hidden;flex-direction:column;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.drawer.is-open{visibility:visible;transform:translate(0)}.drawer__head{height:var(--header-h);border-bottom:1px solid var(--ink-black);flex:none;justify-content:space-between;align-items:center;padding-inline:24px;display:flex}.drawer__close{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-black);padding:8px;font-size:11px}.drawer__nav{flex-direction:column;flex:auto;display:flex;overflow-y:auto}.drawer__nav a{border-bottom:1px solid var(--line);letter-spacing:-.02em;color:var(--ink);transition:background-color .16s var(--ease), padding-left .16s var(--ease);align-items:baseline;gap:14px;padding:22px 24px;font-size:1.3125rem;font-weight:700;display:flex}.drawer__nav a:hover,.drawer__nav a:focus-visible{background:var(--paper-3);padding-left:32px}.drawer__nav a[aria-current=page]{color:var(--ink-black);background:var(--paper-4)}.drawer__foot{border-top:1px solid var(--ink-black);flex:none;padding:24px}.drawer__meta{margin-top:20px}.connect{background:var(--paper-3);border-top:1px solid var(--ink-black);border-bottom:0}.connect__title{font-size:var(--fs-h2);letter-spacing:-.04em;color:var(--ink-black);margin-top:16px;font-weight:800;line-height:1}.connect__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(32px,4vw,72px);display:grid}.connect__services{flex-direction:column;gap:10px;margin-top:28px;display:flex}.connect__services li{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-mid);border-bottom:1px solid var(--line);padding-bottom:10px;font-size:11px}.connect__actions{flex-wrap:wrap;gap:16px;margin-top:32px;display:flex}.connect__meta{gap:20px;margin-top:40px;display:grid}.connect__meta dd{margin-top:6px;font-size:.9375rem}.connect__meta dd a{border-bottom:1px solid var(--line-mid);word-break:break-word;padding-bottom:2px}.connect__meta dd a:hover{border-color:var(--ink-black)}.footer{background:var(--paper);border-top:1px solid var(--ink-black);padding-block:40px}.footer__inner{column-gap:var(--gutter);grid-template-columns:1fr 1fr;align-items:start;row-gap:36px;display:grid}.footer__brand{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-black);margin-bottom:10px;font-size:13px;font-weight:500}.footer__links{flex-direction:column;gap:8px;display:flex}.footer__links a{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-mid);border-bottom:1px solid #0000;align-self:flex-start;font-size:11px}.footer__links a:hover{color:var(--ink-black);border-color:var(--ink-black)}.footer__copy{text-align:right}@media (width<=1024px){:root{--margin:32px;--gutter:20px}.nav,.topbar__inner{gap:20px}.topbar__cta{margin-left:20px}.masthead__inner{grid-template-columns:1fr}.masthead__meta{text-align:left;flex-flow:wrap;gap:20px}.connect__grid{grid-template-columns:1fr}.footer__inner{grid-template-columns:1fr 1fr;row-gap:32px}}@media (width<=768px){:root{--margin:16px;--gutter:16px;--header-h:64px}body{background-size:96px 96px,96px 96px,24px 24px,24px 24px}.nav,.topbar__cta{display:none}.menu-btn{display:flex}.offset-frame:after{transform:translate(4px,4px)}.connect__actions{flex-direction:column;align-items:stretch}.connect .btn{width:100%}.footer__inner{grid-template-columns:1fr;row-gap:28px}.footer__copy{text-align:left}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media print{body{background:#fff}.topbar,.drawer,.drawer-overlay,.menu-btn,.pt{display:none!important}}.pt{z-index:200;background:var(--paper);opacity:0;pointer-events:none;display:none;position:fixed;inset:0}.is-leaving .pt{pointer-events:auto;animation:ptShow .14s var(--ease) both;display:block}.is-entering .pt{pointer-events:auto;opacity:1;display:block}.is-arrived .pt{pointer-events:none;animation:ptHide .3s var(--ease) both;display:block}@keyframes ptShow{0%{opacity:0}to{opacity:1}}@keyframes ptHide{0%{opacity:1}to{opacity:0}}.is-leaving.dir-fwd .page{animation:pageOutFwd .3s var(--ease) both}.is-leaving.dir-back .page{animation:pageOutBack .3s var(--ease) both}.is-entering.dir-fwd .page{opacity:0;transform:translate(20px)}.is-entering.dir-back .page{opacity:0;transform:translate(-20px)}.is-arrived.dir-fwd .page{animation:pageInFwd .42s var(--ease-out) both}.is-arrived.dir-back .page{animation:pageInBack .42s var(--ease-out) both}@keyframes pageOutFwd{to{opacity:0;transform:translate(-12px)}}@keyframes pageInFwd{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}@keyframes pageOutBack{to{opacity:0;transform:translate(12px)}}@keyframes pageInBack{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:none}}.is-leaving,.is-entering{overflow:hidden}@media (prefers-reduced-motion:reduce){.is-entering .page{opacity:1!important;transform:none!important}}.anim-ready [data-enter]{opacity:0;transform:translateY(14px)}.anim-ready.anim-go [data-enter]{opacity:1;transition:opacity .5s var(--ease-out) var(--enter-delay,0s), transform .5s var(--ease-out) var(--enter-delay,0s);transform:none}.anim-ready.enter-done [data-enter]{opacity:1!important;transition:none!important;transform:none!important}.anim-ready .reveal{opacity:0;transform:translateY(16px)}.anim-ready .reveal.is-visible{opacity:1;transition:opacity .5s var(--ease-out) var(--reveal-delay,0s), transform .5s var(--ease-out) var(--reveal-delay,0s);transform:none}.anim-ready .reveal.reveal-done{opacity:1!important;transition:none!important;transform:none!important}.anim-ready .draw-line{stroke-dasharray:var(--len,400);stroke-dashoffset:var(--len,400)}.anim-ready .draw-line.is-drawn{stroke-dashoffset:0;transition:stroke-dashoffset .7s var(--ease-out) var(--draw-delay,0s)}.anim-ready .draw-connector{transform-origin:top;transform:scaleY(0)}.anim-ready .draw-connector.is-drawn{transition:transform .4s var(--ease-out) var(--draw-delay,0s);transform:scaleY(1)}@media (prefers-reduced-motion:reduce){.pt{display:none!important}.is-leaving .page,.is-entering .page,.is-arrived .page{animation:none!important}.anim-ready [data-enter],.anim-ready .reveal{opacity:1!important;transition:none!important;transform:none!important}.anim-ready .draw-line{stroke-dasharray:none!important;stroke-dashoffset:0!important}.anim-ready .draw-connector{transform:none!important}}.anim-ready .reveal.is-visible,.anim-ready.anim-go [data-enter]{transition-duration:var(--reveal-duration,.5s)}.no-card-hover .card:hover,.no-card-hover .card:focus-within{box-shadow:none;transform:none}.no-card-hover .card:after{opacity:0!important}.no-card-hover .tag:hover{box-shadow:none;transform:none}.pt-type-FADE.is-leaving .page{animation:pageFadeOut .26s var(--ease) both}.pt-type-FADE.is-arrived .page{animation:pageFadeIn .42s var(--ease-out) both}@keyframes pageFadeOut{to{opacity:0}}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}.pt-type-SLIDE.is-leaving.dir-fwd .page{animation:slideOutFwd .26s var(--ease) both}.pt-type-SLIDE.is-arrived.dir-fwd .page{animation:slideInFwd .42s var(--ease-out) both}.pt-type-SLIDE.is-leaving.dir-back .page{animation:slideOutBack .26s var(--ease) both}.pt-type-SLIDE.is-arrived.dir-back .page{animation:slideInBack .42s var(--ease-out) both}@keyframes slideOutFwd{to{opacity:0;transform:translate(-48px)}}@keyframes slideInFwd{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:none}}@keyframes slideOutBack{to{opacity:0;transform:translate(48px)}}@keyframes slideInBack{0%{opacity:0;transform:translate(-48px)}to{opacity:1;transform:none}}.pt-type-EDITORIAL.is-arrived .page{animation:editorialIn .5s var(--ease-out) both}@keyframes editorialIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.pt-type-WIPE .pt{transform-origin:0}.pt-type-WIPE.is-leaving .pt{animation:wipeIn .2s var(--ease) both}.pt-type-WIPE.is-arrived .pt{animation:wipeOut .3s var(--ease) both}@keyframes wipeIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes wipeOut{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.pt-type-FADE .page,.pt-type-SLIDE .page,.pt-type-EDITORIAL .page,.pt-type-WIPE .pt{animation:none!important}}.hero{border-bottom:1px solid var(--line);padding-block:clamp(48px,7vw,96px) clamp(56px,7vw,104px);position:relative}.hero__grid{gap:var(--gutter);grid-template-columns:repeat(12,1fr);align-items:start;display:grid}.hero__body{grid-column:1/span 7}.hero__panel{grid-column:8/span 5;padding-top:48px}.hero__version{font-family:var(--mono);letter-spacing:.18em;color:var(--ink-mid);margin-bottom:28px;font-size:11px}.hero__title{font-size:var(--fs-display);letter-spacing:-.04em;color:var(--ink-black);text-wrap:balance;font-weight:800;line-height:1}.hero__subtitle{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-mid);margin-top:32px;font-size:12px;font-weight:500;line-height:2}.hero__subtitle span{color:var(--ink-soft);display:block}.hero .tags{margin-top:32px}.hero__meta{border-top:1px solid var(--line);gap:20px var(--gutter);grid-template-columns:repeat(4,1fr);margin-top:48px;padding-top:24px;display:grid}.hero__meta dt{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-faint);margin-bottom:6px;font-size:10px}.hero__meta dd{font-family:var(--mono);letter-spacing:.06em;color:var(--ink);font-size:11px}.flow{padding:8px 20px 12px;position:relative}.flow__spine{background:var(--line-mid);width:1px;height:calc(100% - 96px);position:absolute;top:40px;left:40px}.flow__node{grid-template-columns:40px 1fr 24px;align-items:start;gap:16px;padding:20px 0;display:grid;position:relative}.flow__node+.flow__node{border-top:1px dashed var(--line)}.flow__idx{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-black);background:var(--surface);border:1px solid var(--ink-black);z-index:1;place-items:center;width:26px;height:26px;font-size:11px;display:grid;position:relative}.flow__body h3{letter-spacing:.04em;color:var(--ink-black);font-size:15px;font-weight:700}.flow__body p{color:var(--ink-soft);margin-top:4px;font-size:13.5px;line-height:1.5}.flow__icon{fill:none;width:20px;height:20px;stroke:var(--ink-mid);stroke-width:1.25px;stroke-linecap:square;stroke-linejoin:miter}.scroll-hint{right:var(--margin);font-family:var(--mono);letter-spacing:.18em;color:var(--ink-soft);align-items:center;gap:10px;font-size:10px;display:flex;position:absolute;bottom:28px}.scroll-hint svg{fill:none;stroke:currentColor;stroke-width:1.25px;width:14px;height:14px;animation:nudge 2.6s var(--ease) infinite}@keyframes nudge{0%,72%,to{transform:translateY(0)}86%{transform:translateY(4px)}}.status-frame{max-width:760px}.status__list{padding:8px 24px 20px}.status__list li{border-bottom:1px dashed var(--line);font-family:var(--mono);letter-spacing:.1em;align-items:baseline;gap:8px;padding:14px 0;font-size:12px;display:flex}.status__list li:last-child{border-bottom:0}.status__k{color:var(--ink-mid);white-space:nowrap}.status__dots{border-bottom:1px dotted var(--ink-faint);flex:auto;min-width:24px;transform:translateY(-3px)}.status__v{color:var(--ink-black);white-space:nowrap;font-weight:500}.feature{gap:var(--gutter);border:1px solid var(--ink-black);background:var(--surface);grid-template-columns:88px minmax(0,1fr) minmax(0,.85fr);margin-bottom:48px;padding:32px;display:grid}.feature__meta{flex-direction:column;gap:12px;display:flex}.feature__num{font-family:var(--mono);color:var(--line-mid);font-size:36px;font-weight:500;line-height:1}.feature__body{flex-direction:column;align-items:flex-start;display:flex}.feature__title{font-size:var(--fs-h2);letter-spacing:-.035em;color:var(--ink-black);font-weight:800;line-height:1.05}.feature__sub{color:var(--ink-mid);margin-top:10px;font-size:1.0625rem;font-weight:600}.feature__cat{margin-top:8px}.feature__desc{color:var(--ink-soft);max-width:52ch;margin-top:20px}.feature__stack{border-top:1px solid var(--line);width:100%;color:var(--ink-mid);margin-top:20px;padding-top:16px}.feature__actions{flex-wrap:wrap;align-items:center;gap:20px 28px;margin-top:24px;display:flex}.feature__preview{display:flex}.preview-plate{border:1px dashed var(--line-mid);background:var(--paper-2);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;min-height:260px;padding:28px;display:flex}.preview-diagram{fill:none;width:100%;max-width:220px;stroke:var(--ink-faint);stroke-width:1px}.cards{gap:var(--gutter);display:grid}.cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}.cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line-mid);transition:transform .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease);flex-direction:column;align-items:flex-start;gap:10px;padding:28px;display:flex;position:relative}.card:after{content:"";border:1px solid var(--ink-black);opacity:0;z-index:-1;transition:opacity .2s var(--ease);pointer-events:none;position:absolute;inset:0;transform:translate(4px,4px)}.card:hover,.card:focus-within{border-color:var(--ink-black);transform:translate(-4px,-4px)}.card:hover:after,.card:focus-within:after{opacity:1}.card__head{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;width:100%;margin-bottom:6px;padding-bottom:14px;display:flex}.card__title{font-size:var(--fs-h3);letter-spacing:-.02em;color:var(--ink-black);font-weight:700;line-height:1.15}.card__cat{margin-top:-2px}.card__desc{color:var(--ink-soft);font-size:.9375rem}.card__extra{opacity:0;width:100%;transition:grid-template-rows .22s var(--ease), opacity .22s var(--ease);grid-template-rows:0fr;display:grid}.card__extra>div{overflow:hidden}.card:hover .card__extra,.card:focus-within .card__extra{opacity:1;grid-template-rows:1fr}.card__extra dl{grid-template-columns:64px 1fr;gap:6px 12px;padding-top:14px;display:grid}.card__extra dt{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-faint);font-size:10px}.card__extra dd{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-mid);font-size:10.5px}.card__stack{color:var(--ink-mid);margin-top:auto;padding-top:14px}.card .link-arrow{margin-top:14px}.card__link:before{content:"";position:absolute;inset:0}.table-scroll{border:1px solid var(--ink-black);background:var(--surface);overflow-x:auto}.archive{min-width:900px}.archive th,.archive td{text-align:left;font-family:var(--mono);letter-spacing:.08em;border-bottom:1px solid var(--line);white-space:nowrap;padding:16px 20px;font-size:11px}.archive thead th{background:var(--paper-3);border-bottom:1px solid var(--ink-black);color:var(--ink-mid);letter-spacing:.16em}.archive td:first-child{color:var(--ink-faint)}.archive td:nth-child(2){color:var(--ink-black);letter-spacing:.06em;font-weight:500}.archive td:nth-child(3),.archive td:nth-child(4){color:var(--ink-soft)}.archive td:nth-child(5){color:var(--ink-mid)}.archive tbody tr{transition:background-color .15s var(--ease)}.archive tbody tr:hover{background:var(--paper-2)}.archive tbody tr:last-child td{border-bottom:0}.archive td a{border-bottom:1px solid var(--ink-black);color:var(--ink-black);padding-bottom:2px}.detail{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:clamp(28px,4vw,64px);display:grid}.detail__aside{top:calc(var(--header-h) + 32px);flex-direction:column;gap:24px;display:flex;position:sticky}.detail__index{border-top:1px solid var(--ink-black);flex-direction:column;gap:8px;padding-top:16px;display:flex}.detail__index a{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-soft);text-transform:uppercase;font-size:11px}.detail__index a:hover{color:var(--ink-black)}.detail__block{border-top:1px solid var(--line);padding-block:clamp(28px,3.5vw,48px)}.detail__block:first-child{border-top:0;padding-top:0}.detail__block h2{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-black);margin-bottom:20px;font-size:11px;font-weight:500}.detail__block p{color:var(--ink-mid);max-width:62ch}.detail__block p+p{margin-top:14px}.detail__list{flex-direction:column;gap:12px;max-width:62ch;display:flex}.detail__list li{color:var(--ink-mid);padding-left:24px;font-size:.9375rem;position:relative}.detail__list li:before{content:"";background:var(--ink-faint);width:12px;height:1px;position:absolute;top:11px;left:0}.spec-table{border:1px solid var(--line-mid);background:var(--surface);max-width:720px}.spec-table>div{border-bottom:1px solid var(--line);grid-template-columns:180px minmax(0,1fr);gap:16px;padding:14px 20px;display:grid}.spec-table>div:last-child{border-bottom:0}.spec-table dt{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:10.5px}.spec-table dd{font-family:var(--mono);letter-spacing:.05em;color:var(--ink);word-break:break-word;font-size:11.5px}.detail__actions{flex-wrap:wrap;gap:16px;margin-top:8px;display:flex}.mini-arch{flex-direction:column;max-width:520px;display:flex}.mini-arch__box{border:1px solid var(--ink-black);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.mini-arch__box b{letter-spacing:.04em;font-size:13px;font-weight:700}.mini-arch__link{background:var(--ink-mid);width:1px;height:22px;margin-left:28px;position:relative}.mini-arch__link:after{content:"";border-left:4.5px solid #0000;border-right:4.5px solid #0000;border-top:6px solid var(--ink-mid);position:absolute;bottom:0;left:-4px}.timeline{flex-direction:column;display:flex;position:relative}.tl{gap:var(--gutter);grid-template-columns:160px 1fr;padding-bottom:56px;display:grid;position:relative}.tl:last-child{padding-bottom:0}.tl__rail{background:var(--line-mid);width:1px;position:absolute;top:14px;bottom:0;left:6px}.tl:last-child .tl__rail{display:none}.tl__year{flex-direction:column;gap:6px;padding-left:28px;display:flex;position:relative}.tl__year:before{content:"";background:var(--paper);border:1px solid var(--ink-black);width:13px;height:13px;position:absolute;top:8px;left:0}.tl__year>span:first-child{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-black);font-size:20px;font-weight:500;line-height:1}.tl__entry{background:var(--surface);border:1px solid var(--line-mid);padding:28px}.tl__head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-bottom:16px;display:flex}.tl__org{font-size:var(--fs-h3);letter-spacing:-.02em;color:var(--ink-black);margin-top:20px;font-weight:800}.tl__role{margin-top:8px}.tl__facts{gap:20px var(--gutter);border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px;padding-block:20px;display:grid}.tl__facts dt{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-faint);margin-bottom:6px;font-size:10px}.tl__facts dd{font-family:var(--mono);letter-spacing:.05em;color:var(--ink);font-size:11.5px}.tl__points{flex-direction:column;gap:10px;margin-top:24px;display:flex}.tl__points li{color:var(--ink-mid);padding-left:24px;font-size:.9375rem;position:relative}.tl__points li:before{content:"";background:var(--ink-faint);width:12px;height:1px;position:absolute;top:11px;left:0}.tl__stack{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.arch{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:clamp(32px,4vw,64px);display:grid}.arch__stack{flex-direction:column;display:flex}.arch__node{text-align:left;background:var(--surface);border:1px solid var(--line-mid);width:100%;transition:border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px;display:grid}.arch__node:hover{border-color:var(--ink-mid)}.arch__node[aria-selected=true]{border-color:var(--ink-black);box-shadow:4px 4px 0 0 var(--ink-black);transform:translate(-3px,-3px)}.arch__name{letter-spacing:.06em;color:var(--ink-black);font-size:15px;font-weight:700}.arch__note{text-align:right}.arch__node[aria-selected=true] .arch__note{color:var(--ink-mid)}.arch__link{background:var(--ink-mid);width:1px;height:34px;margin-left:44px;position:relative}.arch__link:after{content:"";border-left:4.5px solid #0000;border-right:4.5px solid #0000;border-top:6px solid var(--ink-mid);position:absolute;bottom:0;left:-4px}.arch__link--dashed{background:repeating-linear-gradient(to bottom, var(--ink-mid) 0 4px, transparent 4px 8px)}.arch__panel{top:calc(var(--header-h) + 32px);position:sticky}.arch__detail{padding:20px}.arch__detail h3{font-size:var(--fs-h3);letter-spacing:-.02em;color:var(--ink-black);font-weight:800}.arch__detail p{color:var(--ink-soft);margin-top:10px;font-size:.9375rem}.arch__detail .tags{margin-top:20px}.arch__legend{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.arch__legend ul{flex-direction:column;gap:10px;margin-top:12px;display:flex}.arch__legend li{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-soft);align-items:center;gap:12px;font-size:11px;display:flex}.key{flex:none;width:28px;height:1px}.key--solid{background:var(--ink-mid)}.key--dashed{background:repeating-linear-gradient(to right, var(--ink-mid) 0 4px, transparent 4px 8px)}.arch__note-body{color:var(--ink-soft);margin-top:16px;font-size:.9375rem}.statement{letter-spacing:-.035em;color:var(--ink-black);max-width:18ch;font-size:clamp(1.5rem,1rem + 2.2vw,2.75rem);font-weight:800;line-height:1.08}.about{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;gap:clamp(32px,4vw,72px);display:grid}.about__lead{letter-spacing:-.015em;color:var(--ink-black);margin-bottom:24px;font-size:clamp(1.0625rem,1rem + .5vw,1.375rem);font-weight:600;line-height:1.45}.about__body p{color:var(--ink-soft);max-width:60ch}.about__body p+p{margin-top:16px}.about__specs{border-top:1px solid var(--ink-black)}.about__specs>div{border-bottom:1px solid var(--line);padding:20px 0}.about__specs dt{margin-bottom:8px}.about__specs dd{color:var(--ink);font-size:.9375rem;line-height:1.6}.skills__grid{gap:40px var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.skillset--wide{grid-column:1/-1}.skillset h3{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-black);border-bottom:1px solid var(--line);align-items:baseline;gap:10px;margin-bottom:16px;padding-bottom:14px;font-size:11px;font-weight:500;display:flex}.skillset h3 .mono-label{color:var(--ink-faint)}@media (width<=1024px){.hero__body{grid-column:1/span 12}.hero__panel{grid-column:1/span 8;padding-top:48px}.hero__meta{grid-template-columns:repeat(2,1fr)}.scroll-hint{width:max-content;margin:40px auto 0;position:static}.feature{grid-template-columns:64px 1fr}.feature__preview{grid-column:1/-1;margin-top:24px}.preview-plate{min-height:200px}.cards--3{grid-template-columns:repeat(2,minmax(0,1fr))}.detail{grid-template-columns:1fr}.detail__aside{flex-flow:wrap;align-items:center;gap:20px 32px;position:static}.detail__index{flex-flow:wrap;gap:16px;width:100%}.arch{grid-template-columns:1fr}.arch__panel{position:static}}@media (width<=768px){.hero{padding-block:36px 48px}.hero__grid{grid-template-columns:1fr}.hero__body,.hero__panel{grid-column:1/-1}.hero__panel{padding-top:40px}.hero__title{letter-spacing:-.03em}.hero__meta{grid-template-columns:repeat(2,1fr);margin-top:36px}.flow{padding-inline:16px}.flow__spine{left:32px}.flow__node{grid-template-columns:32px 1fr;gap:12px}.flow__icon{display:none}.feature{grid-template-columns:1fr;padding:24px}.feature__meta{flex-flow:wrap;align-items:baseline;gap:16px}.feature__num{font-size:26px}.cards--2,.cards--3{grid-template-columns:1fr}.card{padding:24px}.card__extra{opacity:1;grid-template-rows:1fr}.archive{min-width:720px}.tl{grid-template-columns:1fr;gap:16px;padding-bottom:40px}.tl__rail{display:none}.tl__year{flex-direction:row;align-items:baseline;gap:12px;padding-left:24px}.tl__year:before{top:4px}.tl__entry{padding:22px}.tl__facts{grid-template-columns:1fr;gap:16px}.arch__node{grid-template-columns:32px 1fr;gap:10px;padding:14px 16px}.arch__note{text-align:left;grid-column:2}.arch__link{height:26px;margin-left:24px}.about{grid-template-columns:1fr}.skills__grid{grid-template-columns:1fr;gap:32px}.skillset--wide{grid-column:auto}.spec-table>div{grid-template-columns:1fr;gap:6px}.detail__actions{flex-direction:column;align-items:stretch}.detail__actions .btn{width:100%}}.preview-banner{padding:12px var(--margin);background:var(--ink-black);color:#fff;flex-wrap:wrap;align-items:center;gap:14px;font-size:13px;display:flex}.preview-banner .mono-label{color:#fff}.contact-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:start;gap:clamp(32px,4vw,72px);display:grid}.hp{width:1px;height:1px;overflow:hidden;position:absolute!important;left:-9999px!important}@media (width<=900px){.contact-grid{grid-template-columns:1fr}}.newsletter__title{font-size:var(--fs-h3);letter-spacing:-.02em;color:var(--ink-black);margin-bottom:10px;font-weight:800}.newsletter__lead{color:var(--ink-soft);max-width:46ch;margin-bottom:20px}.newsletter__form{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.newsletter__input{border:1px solid var(--line-mid);background:var(--surface);font-family:var(--mono);letter-spacing:.12em;color:var(--ink);border-radius:0;flex:200px;padding:12px 14px;font-size:11px}.newsletter__input:focus{outline:2px solid var(--ink-black);outline-offset:1px}.newsletter__note{color:var(--ink-faint);margin-top:12px}.newsletter__done{border:1px solid var(--ink-black);background:var(--surface);color:var(--ink-black);margin-top:12px;padding:12px 14px}.newsletter--compact .newsletter__form{flex-wrap:nowrap;margin-top:10px}.newsletter--compact .newsletter__input{flex:auto;min-width:0}.footer__newsletter{max-width:360px}@media (width<=768px){.newsletter__form{flex-direction:column}.newsletter__form .btn{width:100%}.footer__newsletter{max-width:none}}.page-copy{max-width:68ch}.page-copy p{color:var(--ink-mid)}.page-copy p+p{margin-top:16px}.admin{grid-template-columns:248px minmax(0,1fr);min-height:100dvh;display:grid}.admin__side{border-right:1px solid var(--ink-black);background:var(--paper);flex-direction:column;height:100dvh;display:flex;position:sticky;top:0;overflow:hidden auto}.admin__brand{height:var(--header-h);border-bottom:1px solid var(--ink-black);font-family:var(--mono);letter-spacing:.16em;color:var(--ink-black);flex:none;justify-content:space-between;align-items:center;gap:12px;padding-inline:20px;font-size:12px;display:flex}.admin__nav{flex:auto;padding-block:12px}.admin__group{padding:16px 20px 8px}.admin__nav a{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-mid);border-left:2px solid #0000;justify-content:space-between;align-items:center;gap:10px;padding:10px 20px;font-size:11.5px;display:flex}.admin__nav a:hover{background:var(--paper-3);color:var(--ink-black)}.admin__nav a[aria-current=page]{background:var(--paper-4);color:var(--ink-black);border-left-color:var(--ink-black);font-weight:500}.admin__side-foot{border-top:1px solid var(--line);flex:none;padding:16px 20px}.admin__side-email{letter-spacing:.08em;overflow-wrap:anywhere;font-size:9.5px}.admin__main{flex-direction:column;min-width:0;display:flex}.admin__bar{height:var(--header-h);border-bottom:1px solid var(--ink-black);background:var(--paper);z-index:20;flex:none;align-items:center;gap:16px;padding-inline:28px;display:flex;position:sticky;top:0}.admin__bar h1{letter-spacing:-.01em;font-size:1.0625rem;font-weight:700}.admin__bar-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.admin__body{flex:auto;padding:28px}.admin__toggle{display:none}.a-panel{background:var(--surface);border:1px solid var(--line-mid)}.a-panel__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.a-panel__body{padding:18px}.a-grid{gap:20px;display:grid}.a-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.a-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.a-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.a-stat{background:var(--surface);border:1px solid var(--line-mid);padding:18px}.a-stat dt{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-faint);font-size:10px}.a-stat dd{letter-spacing:-.03em;color:var(--ink-black);margin-top:8px;font-size:1.75rem;font-weight:800;line-height:1}.a-stat dd.is-text{font-family:var(--mono);letter-spacing:.08em;font-size:12px;font-weight:500}.a-field{margin-bottom:20px}.a-field label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mid);margin-bottom:6px;font-size:10.5px;display:block}.a-field .a-help{color:var(--ink-soft);margin-top:6px;font-size:12px}.a-input,.a-textarea,.a-select{border:1px solid var(--line-mid);background:var(--surface);width:100%;font-family:var(--sans);color:var(--ink);border-radius:0;padding:10px 12px;font-size:14px}.a-input:focus,.a-textarea:focus,.a-select:focus{outline:2px solid var(--ink-black);outline-offset:1px}.a-textarea{resize:vertical;min-height:120px;font-family:var(--mono);font-size:12.5px;line-height:1.6}.a-input--mono{font-family:var(--mono);font-size:12.5px}.a-error{font-family:var(--mono);letter-spacing:.06em;color:#111;border-left:2px solid #111;margin-top:6px;padding-left:8px;font-size:11px}.a-check{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-mid);align-items:center;gap:10px;font-size:11.5px;display:flex}.a-check input{accent-color:#111;width:16px;height:16px}.a-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:20px;display:flex}.a-table-wrap{border:1px solid var(--line-mid);background:var(--surface);overflow-x:auto}.a-table{width:100%;min-width:760px}.a-table th,.a-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 16px;font-size:13px}.a-table th{background:var(--paper-3);border-bottom:1px solid var(--ink-black);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mid);white-space:nowrap;font-size:10px}.a-table tbody tr:hover{background:var(--paper-2)}.a-table tbody tr:last-child td{border-bottom:0}.a-table .a-row-actions{justify-content:flex-end;gap:12px;display:flex}.a-badge{border:1px solid var(--line-mid);font-family:var(--mono);letter-spacing:.12em;color:var(--ink-mid);white-space:nowrap;padding:4px 8px;font-size:10px;display:inline-block}.a-badge--on{border-color:var(--ink-black);color:var(--ink-black)}.a-flash{border:1px solid var(--ink-black);background:var(--surface);font-family:var(--mono);letter-spacing:.08em;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;font-size:11.5px;display:flex}.a-empty{border:1px dashed var(--line-mid);background:var(--paper-2);text-align:center;padding:40px}.a-empty p{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-soft);font-size:11.5px}.a-linkbtn{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-black);border-bottom:1px solid var(--ink-black);cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;padding-bottom:2px;font-size:11px}.a-linkbtn:hover{color:var(--ink-mid);border-color:var(--ink-mid)}.a-login{place-items:center;min-height:100dvh;padding:24px;display:grid}.a-login__box{width:min(420px,100%)}.a-login__head{margin-bottom:24px}.a-login__head h1{letter-spacing:-.03em;margin-top:10px;font-size:1.75rem;font-weight:800}@media (width<=1024px){.a-grid--4,.a-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.admin{grid-template-columns:1fr}.admin__side{z-index:120;width:min(280px,84vw);transition:transform .3s var(--ease);visibility:hidden;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.admin__side.is-open{visibility:visible;transform:translate(0)}.admin__toggle{display:inline-flex}.admin__body{padding:20px 16px}.admin__bar{padding-inline:16px}.a-grid--4,.a-grid--3,.a-grid--2{grid-template-columns:1fr}.a-actions .btn{width:100%}}@media (prefers-reduced-motion:reduce){.admin__side{transition:none}}.a-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.a-pagination__count{color:var(--ink-soft)}.a-pagination__list{flex-wrap:wrap;gap:6px;display:flex}.a-page{border:1px solid var(--line-mid);background:var(--surface);min-width:36px;height:36px;font-family:var(--mono);letter-spacing:.08em;color:var(--ink-mid);justify-content:center;align-items:center;padding-inline:10px;font-size:11px;display:inline-flex}.a-page:hover{border-color:var(--ink-black);color:var(--ink-black)}.a-page.is-active{background:var(--ink-black);border-color:var(--ink-black);color:#fff}.a-page.is-disabled{opacity:.35;cursor:default}.a-page.is-disabled:hover{border-color:var(--line-mid);color:var(--ink-mid)}@media (width<=600px){.a-pagination{justify-content:center}.a-pagination__count{text-align:center;width:100%}}.media-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.media-tile{border:1px solid var(--line-mid);background:var(--surface);flex-direction:column;display:flex}.media-tile img{aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid var(--line);background:var(--paper-3);width:100%}.media-tile figcaption{flex-direction:column;gap:4px;padding:12px;display:flex}.media-tile__meta{color:var(--ink-faint)}.media-tile__warn{color:var(--ink-black);border-left:2px solid var(--ink-black);padding-left:6px}.media-tile__actions{gap:12px;margin-top:8px;display:flex}
