.container{width:100%;max-width:var(--container-max);padding-inline:var(--page-inset);grid-template-columns:1fr;place-content:center stretch;margin-inline:auto;display:grid}.container--narrow{max-width:calc(var(--container-narrow) + var(--page-inset) * 2)}.container--flush{padding-inline:0}
.section{padding-block:var(--section-block);position:relative}.section--tight{padding-block:var(--space-8)}.section--loose{padding-block:clamp(var(--space-10), 16vw, var(--space-12))}.section--divided{border-top:1px solid var(--color-border)}.section--rule-heavy{border-top:1px solid var(--color-rule)}.section--rule-hairline{border-top:1px solid var(--color-border)}.section__index{box-sizing:border-box;width:100%;max-width:var(--container-max);padding-inline:var(--page-inset);gap:var(--space-4);margin-inline:auto;margin-bottom:var(--space-7);font-family:var(--font-label);font-weight:var(--weight-label);font-size:var(--text-xs);color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:var(--tracking-label);line-height:1.4;display:flex}.section__index-number:before{content:"["}.section__index-number:after{content:"]"}
.heading{font-family:var(--font-display);font-weight:var(--weight-normal);line-height:var(--leading-tight);color:var(--color-fg);text-wrap:balance}.heading--sans{font-family:var(--font-sans);font-weight:var(--weight-medium);letter-spacing:0}.heading--display{max-width:var(--measure-display);font-size:var(--text-display);font-weight:var(--weight-bold);line-height:var(--leading-display);color:var(--color-ink-soft);letter-spacing:var(--tracking-display)}.heading--xl{font-size:var(--text-4xl);letter-spacing:var(--tracking-4xl);line-height:.98}.heading--lg{font-size:var(--text-3xl);letter-spacing:var(--tracking-3xl)}.heading--md{font-size:var(--text-2xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-2xl)}.heading--sm{font-size:var(--text-xl);line-height:var(--leading-snug)}.heading--xs{font-size:var(--text-lg);line-height:var(--leading-snug)}.heading--eyebrow{max-width:none;font-family:var(--font-label);font-weight:var(--weight-label);font-size:var(--text-xs);color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:var(--tracking-label);line-height:1.4}.heading em{color:var(--color-accent-2-text);font-style:italic}
.text{font-size:var(--text-md);line-height:var(--leading-normal);color:var(--color-fg)}.text--sm{font-size:var(--text-sm);line-height:1.5}.text--lg{font-size:var(--text-lg);line-height:1.45}.text--muted{color:var(--color-fg-muted)}.text--lead{font-size:var(--text-xl);line-height:var(--leading-snug);text-wrap:pretty}.text--label{font-family:var(--font-label);font-weight:var(--weight-label);font-size:var(--text-xs);color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:var(--tracking-label);line-height:1.4}.text--tnum{font-variant-numeric:tabular-nums}
.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-5);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-fg);white-space:nowrap;cursor:pointer;border-radius:var(--radius-full);transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast), transform var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.button:active{transform:scale(.98)}.button:disabled{cursor:not-allowed;opacity:.45;transform:none}.button--primary{color:var(--color-bg);background:var(--color-fg);border-color:var(--color-fg)}.button--primary:hover:not(:disabled){color:var(--color-fg);background:var(--color-bg)}.button--secondary{color:var(--color-fg);background:var(--color-bg);border-color:var(--color-fg)}.button--secondary:hover:not(:disabled){color:var(--color-bg);background:var(--color-fg)}.button--ghost{color:var(--color-fg);border-color:var(--color-border)}.button--ghost:hover:not(:disabled){color:var(--color-fg);border-color:var(--color-fg)}.button--link{min-height:0;font-size:var(--text-md);font-weight:var(--weight-normal);color:var(--color-fg);border-radius:var(--radius-sm);transition:background-size var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;border:0;padding:0}.button--link:hover:not(:disabled){color:var(--color-fg);background-size:100% 1px}.button--sm{min-height:var(--control-height-sm);padding-inline:var(--space-4);font-size:var(--text-xs)}.button--lg{min-height:var(--control-height-lg);padding-inline:var(--space-6);font-size:var(--text-md)}.button--block{width:100%;display:flex}.button__icon{flex-shrink:0;width:1.25em;height:1.25em;display:inline-flex}.button__label{display:inline-block}.button__arrow{transition:transform var(--duration-fast) var(--ease-out);display:inline-block}.button:hover:not(:disabled) .button__arrow{transform:translate(4px)}
.card{gap:var(--space-4);padding:var(--space-5);color:var(--color-fg);border:1px solid var(--color-border);transition:border-color var(--duration-fast);background:0 0;border-radius:0;flex-direction:column;display:flex}.card--elevated{background:var(--color-bg-elevated)}.card--interactive:hover{border-color:var(--color-fg)}.card--interactive:focus-within{border-color:var(--color-accent)}.card--pad-sm{padding:var(--space-4)}.card--pad-lg{padding:var(--space-6)}.card__header{gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.card__body{gap:var(--space-3);flex-direction:column;display:flex}.card__footer{gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;margin-top:auto;display:flex}
.badge{gap:var(--space-2);padding:var(--space-1) var(--space-3);font-family:var(--font-label);font-weight:var(--weight-label);font-size:var(--text-xs);color:var(--color-fg);text-transform:uppercase;letter-spacing:var(--tracking-label);white-space:nowrap;border:1px solid var(--color-border);border-radius:var(--radius-full);background:0 0;align-items:center;line-height:1.4;display:inline-flex}.badge--accent{color:var(--color-accent);background:var(--color-accent-soft);border-color:#0000}.badge--outline{border-color:var(--color-fg)}.badge--sm{padding:0 var(--space-2);font-size:.75rem}.badge__dot{background:var(--color-fg-muted);border-radius:var(--radius-full);flex-shrink:0;width:.5em;height:.5em}.badge__dot--available{background:var(--color-available);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-available) 25%, transparent)}
.separator{width:100%;height:1px;margin-block:var(--space-5);background:var(--color-border);border:0}.separator--heavy{background:var(--color-rule)}.separator--vertical{width:1px;height:auto;min-height:1em;margin-block:0;margin-inline:var(--space-3);align-self:stretch}.separator--space-none{margin:0}.separator--space-sm{margin-block:var(--space-3)}.separator--space-lg{margin-block:var(--space-7)}
.list{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.list--bulleted{padding-inline-start:var(--space-5)}.list--plain{padding:0;list-style:none}.list--inline{flex-flow:wrap;padding:0;list-style:none}.list--gap-sm{gap:var(--space-1)}.list--gap-lg{gap:var(--space-4)}.list__item{color:var(--color-fg)}.list--bulleted .list__item::marker{color:var(--color-fg-muted)}.list--index{counter-reset:list-index;border-top:1px solid var(--color-border);gap:0;padding:0;list-style:none}.list--index .list__item{grid-template-columns:var(--space-8) 1fr;gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--color-border);counter-increment:list-index;align-items:baseline;display:grid}.list--index .list__item:before{font-family:var(--font-label);font-weight:var(--weight-label);font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:var(--tracking-label);content:counter(list-index, decimal-leading-zero)}
.index-list{border-top:1px solid var(--color-border);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.index-list__row{grid-template-columns:var(--space-8) 1fr;gap:var(--space-2) var(--space-4);padding-block:var(--space-5);border-bottom:1px solid var(--color-border);transition:background var(--duration-fast);grid-template-areas:"number title""number meta";align-items:baseline;display:grid;position:relative}.index-list__row--link:hover{background:var(--color-surface-hover)}.index-list__number{font-family:var(--font-label);font-weight:var(--weight-label);font-size:var(--text-xs);color:var(--color-fg-muted);letter-spacing:var(--tracking-label);grid-area:number;line-height:1.4}.index-list__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-normal);line-height:var(--leading-snug);color:var(--color-fg);letter-spacing:var(--tracking-2xl);grid-area:title}.index-list__link{color:inherit;text-decoration:none}.index-list__link:after{content:"";position:absolute;inset:0}.index-list__description{max-width:var(--measure);font-size:var(--text-md);color:var(--color-fg-muted);grid-area:meta}.index-list__meta{gap:var(--space-3);font-family:var(--font-label);font-weight:var(--weight-label);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:var(--tracking-label);white-space:nowrap;align-items:baseline;line-height:1.4;display:flex}.index-list__arrow{font-family:var(--font-sans);font-size:var(--text-lg);color:var(--color-fg);text-transform:none;letter-spacing:0;transition:transform var(--duration-fast) var(--ease-out);display:inline-block}.index-list__row--link:hover .index-list__arrow{transform:translate(4px)}@media (min-width:48rem){.index-list__row{grid-template-columns:var(--space-10) 1fr auto;gap:var(--space-2) var(--space-5);padding-inline:var(--space-3);margin-inline:calc(var(--space-3) * -1);grid-template-areas:"number title side""number meta side"}.index-list__meta{grid-area:side;align-self:start}}.index-list--oversized .index-list__row{padding-block:var(--space-6);transition:background var(--duration-fast), transform var(--duration-fast) var(--ease-out)}.index-list--oversized .index-list__number{font-family:var(--font-sans);font-weight:var(--weight-normal);font-size:var(--text-md);text-transform:none;letter-spacing:0;line-height:1}.index-list--oversized .index-list__title{font-size:var(--text-4xl);letter-spacing:var(--tracking-4xl);transition:transform var(--duration-fast) var(--ease-out);line-height:.98}.index-list--oversized .index-list__description{display:none}.index-list--oversized .index-list__row .index-list__arrow{font-size:var(--text-2xl)}.index-list--oversized .index-list__year{transition:opacity var(--duration-fast) var(--ease-out)}@media (min-width:48rem){.index-list--oversized .index-list__row{grid-template-columns:var(--space-10) 1fr minmax(14rem, 24ch);grid-template-areas:"number title side";align-items:baseline}.index-list--oversized .index-list__meta{grid-area:side;justify-content:flex-end;align-self:baseline}.index-list--oversized .index-list__description{max-width:100%;font-size:var(--text-md);text-align:end;white-space:nowrap;text-overflow:ellipsis;opacity:0;transition:opacity var(--duration-fast) var(--ease-out);pointer-events:none;grid-area:side;place-self:baseline end;padding-inline-end:calc(var(--text-2xl) + var(--space-3));line-height:1.4;display:block;overflow:hidden}.index-list--oversized .index-list__row:hover .index-list__year,.index-list--oversized .index-list__row:focus-within .index-list__year{opacity:0}.index-list--oversized .index-list__row:hover .index-list__description,.index-list--oversized .index-list__row:focus-within .index-list__description{opacity:1}}.index-list--oversized .index-list__row--link:focus-within{background:var(--color-surface-hover)}.index-list--oversized .index-list__link:hover{color:inherit}.index-list--oversized .index-list__row--link:focus-within .index-list__arrow{transform:translate(4px)}@media (prefers-reduced-motion:no-preference){.index-list--oversized .index-list__row--link:hover .index-list__title,.index-list--oversized .index-list__row--link:focus-within .index-list__title{transform:translate(8px)}}
.definition-rows{border-top:1px solid var(--color-border);margin:0}.definition-rows__row{gap:var(--space-1) var(--grid-gutter);padding-block:var(--space-4);border-bottom:1px solid var(--color-border);grid-template-columns:1fr;display:grid}.definition-rows__label{font-family:var(--font-label);font-weight:var(--weight-label);font-size:var(--text-xs);color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:var(--tracking-label);line-height:1.4}.definition-rows__value{font-size:var(--text-md);color:var(--color-fg);margin:0}.definition-rows--lg .definition-rows__value{font-size:var(--text-lg)}.definition-rows--leader .definition-rows__row{grid-template-columns:auto 1fr auto;align-items:baseline}.definition-rows--leader .definition-rows__row:after{min-width:var(--space-6);content:"";border-bottom:1px dotted var(--color-border);order:1}.definition-rows--leader .definition-rows__value{text-align:end;order:2}@media (min-width:48rem){.definition-rows__row{padding-block:var(--space-5);grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:baseline}.definition-rows--leader .definition-rows__row{grid-template-columns:auto 1fr auto}}
.timeline{border-top:1px solid var(--color-border);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timeline__item{padding-block:var(--space-6);border-bottom:1px solid var(--color-border);position:relative}.timeline__head{gap:var(--space-1);flex-direction:column;display:flex}.timeline__marker{display:none}.timeline__time{gap:var(--space-1);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-fg-muted);white-space:nowrap;display:flex}.timeline__item--current .timeline__time{color:var(--color-accent)}.timeline__dash{color:var(--color-fg-muted)}.timeline__sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.timeline__title{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:var(--leading-snug);letter-spacing:0}.timeline__subtitle{color:var(--color-fg-muted)}.timeline__body{max-width:var(--measure);margin-top:var(--space-3)}@media (min-width:48rem){.timeline__head{gap:var(--space-1) var(--space-6);grid-template-columns:1fr auto;grid-template-areas:"title time""subtitle time";align-items:baseline;display:grid}.timeline__time{grid-area:time;justify-content:flex-end}.timeline__title{grid-area:title}.timeline__subtitle{grid-area:subtitle}}
.icon-link{gap:var(--space-2);color:var(--color-fg);transition:color var(--duration-fast);align-items:baseline;text-decoration:none;display:inline-flex}.icon-link--muted{color:var(--color-fg-muted)}.icon-link--accent{color:var(--color-accent)}.icon-link:hover{color:var(--color-fg)}.icon-link--accent:hover{color:var(--color-accent-hover)}.icon-link__icon{flex-shrink:0;align-self:center;width:1.25em;height:1.25em;display:inline-flex}.icon-link__label{transition:background-size var(--duration-fast) var(--ease-out);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.icon-link--icon-only .icon-link__label,.icon-link__sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon-link:hover .icon-link__label{background-size:100% 1px}.icon-link__glyph{transition:transform var(--duration-fast) var(--ease-out);display:inline-block}.icon-link:hover .icon-link__glyph{transform:translate(4px)}.icon-link--external:hover .icon-link__glyph{transform:translate(3px,-3px)}.icon-link--icon-only{min-width:var(--control-height);min-height:var(--control-height);justify-content:center}
.portrait{max-width:100%;margin:0;display:block}.portrait__frame{aspect-ratio:4/5;background:var(--color-bg-elevated);border:1px solid var(--color-border);position:relative;overflow:hidden}.portrait__image{object-fit:cover;width:100%;height:100%;display:block}.portrait--mono .portrait__image{filter:grayscale()contrast(1.05)}.portrait--warm .portrait__image{filter:grayscale()sepia(.25)contrast(1.05)}.portrait--grain .portrait__frame:after{pointer-events:none;content:"";opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}.portrait__caption{margin-top:var(--space-3);font-family:var(--font-label);font-weight:var(--weight-label);font-size:var(--text-xs);color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:var(--tracking-label);line-height:1.4}
.wordmark{font-family:var(--font-display);font-weight:var(--weight-bold);color:var(--color-fg);white-space:nowrap;line-height:1;text-decoration:none;display:inline-block}.wordmark:hover{color:var(--color-fg)}.wordmark--nav{font-size:var(--text-xl);letter-spacing:-.01em}.wordmark--footer{width:100%;max-width:none;font-size:var(--text-display);line-height:var(--leading-display);color:var(--color-ink-soft);letter-spacing:var(--tracking-display);-webkit-user-select:none;user-select:none;display:block}.wordmark__text{display:block}.wordmark--footer .wordmark__text{letter-spacing:var(--tracking-display);transform:translateY(.12em)}.wordmark--fit{white-space:normal;--captured-length:initial;--support-sentinel:var(--captured-length,9999px);display:flex;container-type:inline-size}.wordmark__ghost{visibility:hidden}.wordmark__fill{--captured-length:100cqi;--available-space:var(--captured-length);flex-grow:1;container-type:inline-size}.wordmark__fill>.wordmark__text{inline-size:var(--available-space);font-size:var(--font-size);--support-sentinel:inherit;--captured-length:100cqi;--ratio:tan(atan2(var(--available-space), var(--available-space) - var(--captured-length)));--font-size:clamp(1em, 1em * var(--ratio), var(--max-font-size,infinity * 1px) - var(--support-sentinel));display:block}@container not (max-inline-size:0){.wordmark__fill>.wordmark__text{white-space:nowrap}}@property --captured-length{syntax:"<length>";inherits:true;initial-value:0}
.prose{max-width:var(--measure);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--color-fg)}.prose--lg{font-size:var(--text-lg)}.prose>*+*{margin-top:var(--space-4)}.prose>p:first-child{font-size:var(--text-lg);line-height:1.45}.prose h2,.prose h3,.prose h4{margin-top:var(--space-7);font-family:var(--font-display);font-weight:var(--weight-normal);line-height:var(--leading-snug)}.prose h2{font-size:var(--text-2xl);letter-spacing:var(--tracking-2xl)}.prose h3{font-size:var(--text-xl)}.prose h4{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-medium)}.prose ul,.prose ol{padding-inline-start:var(--space-5)}.prose li+li{margin-top:var(--space-1)}.prose li::marker{color:var(--color-fg-muted)}.prose blockquote{font-family:var(--font-display);font-size:var(--text-xl);font-style:italic;line-height:var(--leading-snug);color:var(--color-ink-soft);border-inline-start:1px solid var(--color-rule);padding-inline-start:var(--space-5)}.prose code{padding:0 var(--space-1);font-family:var(--font-mono);background:var(--color-surface-hover);border-radius:var(--radius-sm);font-size:.875em}.prose pre{padding:var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose hr{height:1px;margin-block:var(--space-7);background:var(--color-border);border:0}.prose img{border:1px solid var(--color-border);border-radius:0}.prose a{color:var(--color-accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--color-accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--color-accent) 40%, transparent);text-underline-offset:.18em;transition:text-decoration-color var(--duration-fast);text-decoration-thickness:1px}.prose a:hover{color:var(--color-accent-hover);text-decoration-color:currentColor}
.side-drawer{z-index:var(--z-drawer);position:fixed;inset:0}.side-drawer__backdrop{cursor:default;background:var(--color-backdrop);border:0;position:absolute;inset:0}.side-drawer__panel{background:var(--color-bg);border-inline-start:1px solid var(--color-border);width:min(28rem,90vw);box-shadow:var(--shadow-lg);outline:none;flex-direction:column;display:flex;position:absolute;top:0;bottom:0}.side-drawer--right .side-drawer__panel{right:0}.side-drawer--left .side-drawer__panel{border-inline-start:0;border-inline-end:1px solid var(--color-border);left:0}.side-drawer__header{gap:var(--space-3);min-height:var(--header-height);padding:0 var(--page-inset);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.side-drawer__title{font-family:var(--font-label);font-weight:var(--weight-label);font-size:var(--text-xs);color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:var(--tracking-label);line-height:1.4}.side-drawer__close{min-height:var(--control-height);padding:0 var(--space-2);font-family:var(--font-label);font-weight:var(--weight-label);font-size:var(--text-xs);color:var(--color-fg);text-transform:uppercase;letter-spacing:var(--tracking-label);border-radius:var(--radius-sm);background:0 0;border:0;align-items:center;margin-inline-end:calc(var(--space-2) * -1);line-height:1;display:inline-flex}.side-drawer__close:hover{color:var(--color-accent)}.side-drawer__body{padding:var(--space-6) var(--page-inset) var(--space-8);flex:1;overflow-y:auto}.side-drawer__nav{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.side-drawer__nav-item{border-bottom:1px solid var(--color-border)}.side-drawer__nav-link{padding-block:var(--space-4);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-normal);line-height:var(--leading-tight);color:var(--color-fg);letter-spacing:var(--tracking-3xl);transition:color var(--duration-fast);text-decoration:none;display:block}.side-drawer__nav-link:hover,.side-drawer__nav-link--active{color:var(--color-accent)}.side-drawer__sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
.line-reveal{display:block}.line-reveal__mask{margin:-.12em -.1em;padding:.12em .1em;display:block;overflow:hidden}.line-reveal__line{will-change:transform;display:block}
.clip-reveal{will-change:clip-path}@media (scripting:none){.clip-reveal{opacity:1!important;clip-path:none!important}}
