@font-face{font-family:Archivo Variable;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-latin-standard-normal.woff2) format("woff2")}@font-face{font-family:Martian Mono Variable;font-style:normal;font-weight:100 800;font-stretch:75% 112.5%;font-display:swap;src:url(/fonts/martian-mono-latin-standard-normal.woff2) format("woff2")}:root{--paper: #FCFCFD;--ink: #12151A;--slate: #5C6675;--rule: #D9DDE3;--rule-card: #D3DAE6;--rule-strong: #A9B4C6;--accent: #1E3A6E;--field: #173463;--mist: #E7ECF4;--on-field: #FFFFFF;--on-field-dim: #C7D2E4;--sans: "Archivo Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Martian Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--s-025: .25rem;--s-05: .5rem;--s-075: .75rem;--s-1: 1rem;--s-15: 1.5rem;--s-2: 2rem;--s-3: 3rem;--s-4: 4rem;--s-6: 6rem;--s-8: 8rem;--term: 15rem;--measure: 40rem;--band: clamp(3.5rem, 7vw, var(--s-6))}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6}p{margin:0}a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;transition:text-decoration-thickness .12s ease,color .12s ease}a:hover,a:focus-visible{color:var(--ink);text-decoration-thickness:2px}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:var(--s-1);top:var(--s-05);z-index:10;padding:var(--s-05) var(--s-075);background:var(--paper);border:1px solid var(--rule);font-family:var(--mono);font-size:.6875rem;font-weight:600;font-stretch:85%;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--accent)}.wrap{max-width:72rem;margin-inline:auto;padding-inline:clamp(1.5rem,6vw,5rem)}.band{padding-block:var(--band)}.band--mist{background:var(--mist)}.pair{display:grid;grid-template-columns:minmax(0,1fr);row-gap:var(--s-025)}@media (min-width: 45em){.pair{grid-template-columns:var(--term) minmax(0,var(--measure));column-gap:var(--s-3);row-gap:0}}.pair+.pair{margin-block-start:var(--s-15)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:var(--s-15)}.card{padding:var(--s-2);background:var(--mist);border:1px solid var(--rule-card);border-radius:4px}.band--mist .card{background:var(--paper);border-color:var(--rule-card)}.card-name{margin:0 0 var(--s-075);font-size:1.25rem;font-weight:600;font-stretch:108%;letter-spacing:-.01em;line-height:1.25}.card p{font-size:1.0625rem;line-height:1.55}.cap-intro{max-width:var(--measure);margin-block-end:var(--s-2);font-size:1.125rem;line-height:1.55}.tech{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-075);margin:0;padding:0;list-style:none}@media (min-width: 30em){.tech{grid-template-columns:repeat(3,1fr)}}@media (min-width: 60em){.tech{grid-template-columns:repeat(6,1fr)}}.tech-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-075);padding:var(--s-15) var(--s-075);background:var(--paper);border:1px solid var(--rule-card);border-radius:4px;text-align:center}.tech-mark{width:28px;height:28px;flex:none;fill:var(--ink)}.tech-item span{font-family:var(--mono);font-size:.6875rem;font-weight:600;font-stretch:85%;letter-spacing:.06em;line-height:1.3;text-transform:uppercase;color:var(--ink)}.cap-sub{margin:var(--s-2) 0 var(--s-075);font-family:var(--mono);font-size:.625rem;font-weight:600;font-stretch:85%;letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}.tags{display:flex;flex-wrap:wrap;gap:var(--s-05);margin:0;padding:0;list-style:none}.tags li{padding:var(--s-025) var(--s-075);background:var(--paper);border:1px solid var(--rule-card);border-radius:4px;font-family:var(--mono);font-size:.6875rem;font-weight:500;font-stretch:85%;letter-spacing:.06em;color:var(--ink)}.hero{position:relative;overflow:hidden;isolation:isolate;min-height:min(88vh,46rem);display:grid;align-content:end;padding-block:var(--s-8) var(--band);background:var(--field);color:var(--on-field)}.hero:before{content:"";position:absolute;inset:-25%;z-index:-1;background:radial-gradient(55% 45% at 28% 32%,rgba(96,148,226,.42),transparent 68%),radial-gradient(48% 42% at 78% 62%,rgba(24,74,150,.55),transparent 70%),radial-gradient(38% 34% at 62% 18%,rgba(140,180,240,.22),transparent 72%)}.hero .wrap{width:100%}.hero h1{margin:0;font-size:clamp(3rem,1.6rem + 7.4vw,8.5rem);font-weight:700;font-stretch:125%;letter-spacing:-.03em;line-height:.92}.hero .lead{max-width:32ch;margin-block-start:var(--s-2);font-size:clamp(1.1875rem,1.05rem + .9vw,1.75rem);font-weight:400;line-height:1.4;color:var(--on-field-dim)}.eyebrow{margin:0 0 var(--s-2);font-family:var(--mono);font-size:.6875rem;font-weight:600;font-stretch:85%;letter-spacing:.14em;line-height:1.4;text-transform:uppercase;color:var(--slate)}.term{margin:0;font-size:clamp(1.125rem,1rem + .4vw,1.375rem);font-weight:600;font-stretch:108%;letter-spacing:-.01em;line-height:1.3}.desc{margin:0;max-width:var(--measure);font-size:1.125rem;line-height:1.55}.record{display:grid;grid-template-columns:minmax(0,1fr);row-gap:var(--s-025)}@media (min-width: 35em){.record{grid-template-columns:max-content minmax(0,1fr);column-gap:var(--s-3);row-gap:var(--s-05)}}.record dt{font-family:var(--mono);font-size:.625rem;font-weight:600;font-stretch:85%;letter-spacing:.1em;line-height:1.9;text-transform:uppercase;color:var(--slate)}.record dd{margin:0 0 var(--s-05);font-family:var(--mono);font-size:.75rem;font-weight:400;font-stretch:75%;line-height:1.9;color:var(--ink)}@media (min-width: 35em){.record dd{margin-block-end:0}}.record address{font:inherit;font-style:normal}.site-foot{padding-block:var(--s-3);border-block-start:1px solid var(--rule)}.colophon{font-family:var(--mono);font-size:.6875rem;font-weight:500;font-stretch:85%;letter-spacing:.06em;line-height:1.8;color:var(--slate)}.record+.colophon{margin-block-start:var(--s-3)}.page-title{margin:0 0 var(--s-15);font-size:clamp(2rem,1.5rem + 2.2vw,3.25rem);font-weight:700;font-stretch:115%;letter-spacing:-.025em;line-height:1.05}.prose{max-width:var(--measure)}.prose p+p{margin-block-start:var(--s-1)}@media (hover: hover) and (pointer: fine){.card,.tech-item,.tags li{transition:border-color .16s ease,background-color .16s ease}.card:hover,.tech-item:hover,.tags li:hover{border-color:var(--rule-strong)}.card:hover{background:#dfe6f1}.band--mist .card:hover,.tech-item:hover,.tags li:hover{background:#fff}}@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference){.card,.tech-item{transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.tech-mark{transition:transform .16s ease}.card:hover,.tech-item:hover{transform:translateY(-2px)}.tech-item:hover .tech-mark{transform:scale(1.08)}}@media (prefers-reduced-motion: no-preference){.reveal{animation:rise .48s cubic-bezier(.2,0,.1,1) both}.reveal-1{animation-delay:0ms}.reveal-2{animation-delay:.14s}.reveal-3{animation-delay:.26s}.reveal-4{animation-delay:.32s}.reveal-5{animation-delay:.38s}.hero:before{animation:drift 32s ease-in-out infinite alternate}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes drift{0%{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(3%,2%,0) scale(1.08)}}}@media print{:root{--band: var(--s-05)}body{background:#fff;color:#000;font-size:8.5pt;line-height:1.35}.wrap{max-width:none;padding:0}.skip{display:none}.reveal{animation:none}.hero{min-height:0;padding-block:0 var(--s-075);background:#fff;color:#000}.hero:before{display:none}.hero h1{font-size:16pt}.hero .lead{color:#000;font-size:9.5pt;max-width:none}.band--mist{background:#fff}.pair+.pair{margin-block-start:var(--s-05)}.cards{gap:var(--s-05)}.cap-intro{margin-block-end:var(--s-025);font-size:8pt}.tech{grid-template-columns:repeat(6,1fr);gap:var(--s-025)}.tech-item{padding:var(--s-025);border:1px solid #999;background:#fff;gap:2px}.tech-mark{width:12px;height:12px;fill:#000}.tech-item span{font-size:5.5pt;color:#000}.cap-sub{margin-block:var(--s-025) 2px;color:#000}.tags li{border:1px solid #999;background:#fff;font-size:6.5pt;color:#000}.card{padding:var(--s-025);border:1px solid #999;background:#fff;break-inside:avoid}.card p{font-size:8pt}.card-name{font-size:9.5pt;margin-block-end:0}.eyebrow{color:#000;margin-block-end:var(--s-025)}.site-foot{padding-block:var(--s-025)}.record{break-inside:avoid;row-gap:0}.record dt,.record dd{line-height:1.35;color:#000;font-size:7.5pt}a{color:#000;text-decoration:none}}
