@font-face{font-family:"Red Hat Display";src:url(/s/f/rhd.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Red Hat Mono";src:url(/s/f/rhm.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}

:root{
  --rx-paper:#f4f1ea;--rx-card:#fbfaf6;--rx-ink:#1b2220;--rx-soft:#4b5652;--rx-rule:#d9d3c5;
  --rx-acc:#0d5c55;--rx-acc-2:#e2efe9;--rx-amber:#9a5a0b;--rx-amber-bg:#f6e8cf;
  --rx-sans:"Red Hat Display",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rx-mono:"Red Hat Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --rx-w:72rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--rx-paper);color:var(--rx-ink);font:400 1.0625rem/1.65 var(--rx-sans);font-feature-settings:"kern","liga"}
img{max-width:100%;height:auto;display:block}
a{color:var(--rx-acc);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--rx-amber);outline-offset:2px}
.rx-wrap{max-width:var(--rx-w);margin:0 auto;padding-left:1.15rem;padding-right:1.15rem}
.rx-skip{position:absolute;left:-999px;top:0;background:var(--rx-ink);color:#fff;padding:.5rem 1rem}
.rx-skip:focus{left:.5rem;top:.5rem;z-index:9}

/* masthead */
.rx-mast{border-bottom:2px solid var(--rx-ink);background:var(--rx-paper)}
.rx-mast__row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-top:1.1rem;padding-bottom:.7rem;flex-wrap:wrap}
.rx-brand{display:inline-flex;align-items:center;gap:.5rem;color:var(--rx-ink);text-decoration:none;font:600 1.35rem/1 var(--rx-mono);letter-spacing:-.02em}
.rx-brand__mark{display:inline-block;width:.62em;height:.95em;background:var(--rx-acc);border-radius:1px;box-shadow:.18em .18em 0 var(--rx-amber-bg)}
.rx-mast__tag{font:400 .8rem/1.3 var(--rx-mono);color:var(--rx-soft)}
.rx-nav ul{list-style:none;margin:0;padding:0 0 .1rem;display:flex;flex-wrap:wrap;gap:0 1.1rem}
.rx-nav a{display:block;padding:.3rem 0 .35rem;font:500 .86rem/1.2 var(--rx-mono);color:var(--rx-ink);text-decoration:none;border-bottom:3px solid transparent}
.rx-nav a:hover{border-bottom-color:var(--rx-rule)}
.rx-nav a.rx-on{border-bottom-color:var(--rx-acc);color:var(--rx-acc)}

/* type helpers */
.rx-kicker{font:500 .78rem/1.4 var(--rx-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--rx-soft);margin:0 0 .6rem}
.rx-kicker a{color:var(--rx-acc);text-decoration:none}
.rx-h1{font:800 clamp(1.85rem,4.6vw,2.9rem)/1.08 var(--rx-sans);letter-spacing:-.022em;margin:0 0 .9rem;text-wrap:balance}
.rx-lede{font:400 clamp(1.12rem,2.2vw,1.32rem)/1.5 var(--rx-sans);color:var(--rx-ink);margin:0 0 1rem;max-width:44rem}
.rx-meta{font:400 .8rem/1.5 var(--rx-mono);color:var(--rx-soft);margin:.4rem 0 0}
.rx-stamp{display:inline-block;background:var(--rx-amber-bg);color:var(--rx-amber);padding:.05rem .45rem;border-radius:2px;font-weight:600}
.rx-num{font:600 .85rem/1 var(--rx-mono);color:var(--rx-acc);margin:0}

/* crumbs */
.rx-crumbs ol{list-style:none;margin:0;padding:1.1rem 0 0;display:flex;flex-wrap:wrap;gap:.2rem;font:400 .78rem/1.4 var(--rx-mono);color:var(--rx-soft)}
.rx-crumbs li+li::before{content:"/";margin:0 .45rem 0 .25rem;color:var(--rx-rule)}
.rx-crumbs a{color:var(--rx-soft)}

/* home */
.rx-hero{border-bottom:1px solid var(--rx-rule)}
.rx-hero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-top:2.2rem;padding-bottom:2rem;align-items:center}
.rx-hero__title{font:800 clamp(2.05rem,6.2vw,3.7rem)/1.03 var(--rx-sans);letter-spacing:-.03em;margin:0 0 1.1rem;max-width:18ch;text-wrap:balance}
.rx-hero__img{width:100%;max-width:17rem;justify-self:center}
.rx-home-intro{padding-top:2rem;padding-bottom:1rem}
.rx-home-intro>.rx-prose{max-width:46rem}
.rx-hubs{display:grid;grid-template-columns:minmax(0,1fr);gap:1.1rem;padding-top:1rem;padding-bottom:3rem}
.rx-hubcard{display:grid;grid-template-columns:minmax(0,1fr);background:var(--rx-card);border:1px solid var(--rx-rule);border-radius:4px;overflow:hidden}
.rx-hubcard__media{background:var(--rx-acc-2);display:flex;align-items:center;justify-content:center;padding:1rem;border-bottom:1px solid var(--rx-rule)}
.rx-hubcard__media img{width:11rem}
.rx-hubcard__body{padding:1.1rem 1.2rem 1.25rem}
.rx-hubcard__title{font:750 1.45rem/1.15 var(--rx-sans);margin:.4rem 0 .45rem;letter-spacing:-.015em}
.rx-hubcard__title a{color:var(--rx-ink);text-decoration:none}
.rx-hubcard__title a:hover{color:var(--rx-acc)}
.rx-hubcard__lede{margin:0 0 .8rem;color:var(--rx-soft)}
.rx-hubcard__list{list-style:none;margin:0;padding:0;border-top:1px dashed var(--rx-rule)}
.rx-hubcard__list li{border-bottom:1px dashed var(--rx-rule)}
.rx-hubcard__list a{display:block;padding:.5rem 0;font-weight:600;text-decoration:none}
.rx-hubcard__list a::before{content:"→ ";font-family:var(--rx-mono);color:var(--rx-soft)}

/* hub */
.rx-hubhead{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding:1.6rem 0 1.4rem;border-bottom:2px solid var(--rx-ink);align-items:end}
.rx-hubhead__img{width:9rem;justify-self:start}
.rx-artlist{list-style:none;margin:0;padding:0}
.rx-artlist__item{display:grid;grid-template-columns:2.4rem 1fr;gap:.5rem;padding:1.3rem 0;border-bottom:1px solid var(--rx-rule)}
.rx-artlist__item .rx-num{padding-top:.45rem}
.rx-artlist__title{font:750 1.3rem/1.22 var(--rx-sans);margin:0 0 .4rem;letter-spacing:-.01em}
.rx-artlist__title a{color:var(--rx-ink);text-decoration:none}
.rx-artlist__title a:hover{color:var(--rx-acc);text-decoration:underline}
.rx-artlist__lede{margin:0;color:var(--rx-soft)}
.rx-hubtext{padding:2rem 0 1rem}

/* article */
.rx-article{max-width:61.5rem}
.rx-arthead{padding:1.5rem 0 1.4rem;border-bottom:2px solid var(--rx-ink)}
.rx-arthead .rx-h1,.rx-arthead .rx-lede{max-width:46rem}
.rx-artgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;padding:1.6rem 0 2rem}
.rx-toc{font:400 .84rem/1.45 var(--rx-mono);border:1px solid var(--rx-rule);background:var(--rx-card);padding:.9rem 1rem;border-radius:4px}
.rx-toc__head{margin:0 0 .5rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.74rem;color:var(--rx-soft)}
.rx-toc ol{margin:0;padding-left:1.3rem}
.rx-toc li{margin:.25rem 0}
.rx-toc a{color:var(--rx-ink);text-decoration:none}
.rx-toc a:hover{color:var(--rx-acc);text-decoration:underline}
.rx-plain{max-width:46rem;padding:1.5rem 0 3rem}

/* prose */
.rx-prose{max-width:43rem;min-width:0;overflow-wrap:break-word}
.rx-prose>:first-child{margin-top:0}
.rx-prose p,.rx-prose ul,.rx-prose ol,.rx-prose dl{margin:0 0 1.05rem}
.rx-prose h2{font:750 1.55rem/1.2 var(--rx-sans);letter-spacing:-.015em;margin:2.4rem 0 .75rem;padding-top:.9rem;border-top:1px solid var(--rx-rule);scroll-margin-top:1rem;text-wrap:balance}
.rx-prose h3{font:700 1.17rem/1.3 var(--rx-sans);margin:1.7rem 0 .5rem;scroll-margin-top:1rem}
.rx-prose li{margin:.3rem 0}
.rx-prose li::marker{color:var(--rx-acc);font-family:var(--rx-mono)}
.rx-prose strong{font-weight:700}
.rx-prose code{font:500 .9em var(--rx-mono);background:var(--rx-acc-2);padding:.05em .3em;border-radius:2px}
.rx-prose blockquote{margin:1.4rem 0;padding:.9rem 1.1rem;background:var(--rx-acc-2);border-left:4px solid var(--rx-acc);border-radius:0 4px 4px 0}
.rx-prose blockquote p:last-child{margin-bottom:0}
.rx-prose a[href^="http"]{font-family:var(--rx-mono);font-size:.84em;word-break:break-word}
.rx-prose hr{border:0;border-top:1px solid var(--rx-rule);margin:2rem 0}
.rx-table{overflow-x:auto;margin:0 0 1.3rem;border:1px solid var(--rx-rule);border-radius:4px;background:var(--rx-card)}
.rx-table table{border-collapse:collapse;width:100%;font-size:.93rem;line-height:1.45}
.rx-table th,.rx-table td{padding:.55rem .75rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--rx-rule)}
.rx-table th{font:600 .78rem/1.3 var(--rx-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--rx-soft);background:var(--rx-paper)}
.rx-table tr:last-child td{border-bottom:0}
.rx-faq dl{margin:0}
.rx-faq dt{font-weight:700;margin:1.1rem 0 .3rem}
.rx-faq dd{margin:0;padding-left:1rem;border-left:3px solid var(--rx-rule)}
.rx-sources ol{font:400 .82rem/1.55 var(--rx-mono);padding-left:1.6rem;margin:.6rem 0 0}
.rx-sources li{margin:.2rem 0;word-break:break-word}
.rx-sources a{font-size:1em}

/* more */
.rx-more{border-top:2px solid var(--rx-ink);padding:1.4rem 0 3rem}
.rx-more ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-weight:600}
.rx-more__cards{display:grid!important;gap:.9rem!important;grid-template-columns:1fr}
.rx-more__cards a{display:block;height:100%;background:var(--rx-card);border:1px solid var(--rx-rule);border-radius:4px;padding:1rem 1.1rem;text-decoration:none;color:var(--rx-ink)}
.rx-more__cards a:hover{border-color:var(--rx-acc)}
.rx-more__cards strong{display:block;color:var(--rx-acc);margin-bottom:.3rem}
.rx-more__cards span{display:block;font-weight:400;font-size:.94rem;color:var(--rx-soft)}

/* error */
.rx-error{padding-top:3rem;padding-bottom:4rem}
.rx-error>*{max-width:46rem}
.rx-error__code{font:700 5rem/1 var(--rx-mono);color:var(--rx-acc);margin:0 0 1rem}
.rx-error__list{font-weight:600;padding-left:1.2rem}

/* footer */
.rx-foot{background:var(--rx-ink);color:#d9dfdc;padding:2.4rem 0 2.8rem;font-size:.94rem}
.rx-foot a{color:#fff}
.rx-foot__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.6rem}
.rx-foot__brand{font:600 1.1rem/1 var(--rx-mono);color:#fff;margin:0 0 .8rem;display:flex;align-items:center;gap:.5rem}
.rx-foot__brand .rx-brand__mark{background:#7cc7b6;box-shadow:none}
.rx-foot__text{margin:0;max-width:30rem;color:#b9c3bf}
.rx-foot__head{font:600 .74rem/1 var(--rx-mono);text-transform:uppercase;letter-spacing:.08em;color:#9fb0aa;margin:0 0 .7rem}
.rx-foot__list{list-style:none;margin:0;padding:0}
.rx-foot__list li{margin:.35rem 0}

@media (min-width:46rem){
  .rx-wrap{padding-left:2rem;padding-right:2rem}
  .rx-nav a{padding:.45rem 0 .55rem}
  .rx-hero__img{max-width:30rem}
  .rx-hero__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);padding-top:3.4rem;padding-bottom:3rem}
  .rx-hubcard{grid-template-columns:15rem minmax(0,1fr)}
  .rx-hubcard__media{border-bottom:0;border-right:1px solid var(--rx-rule)}
  .rx-hubhead{grid-template-columns:minmax(0,1fr) auto}
  .rx-hubhead__img{width:12rem}
  .rx-more__cards{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
  .rx-foot__grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}
}
@media (min-width:64rem){
  .rx-hubs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rx-hubs .rx-hubcard:first-child{grid-column:1/-1}
  .rx-hubcard{grid-template-columns:minmax(0,1fr)}
  .rx-hubs .rx-hubcard:first-child{grid-template-columns:18rem minmax(0,1fr)}
  .rx-hubcard__media{border-right:0;border-bottom:1px solid var(--rx-rule)}
  .rx-hubs .rx-hubcard:first-child .rx-hubcard__media{border-bottom:0;border-right:1px solid var(--rx-rule)}
  .rx-artgrid{grid-template-columns:15.5rem minmax(0,43rem);gap:3rem}
  .rx-toc{position:sticky;top:1rem;align-self:start;max-height:calc(100vh - 2rem);overflow:auto}
  .rx-artgrid>.rx-prose:only-child{grid-column:2}
}
@media print{.rx-mast nav,.rx-toc,.rx-more,.rx-foot{display:none}}
