:root{--rb-band:#2c302b;--rb-band-rule:#8c948b;--rb-band-ink:#f2f5f1;--rb-ink:#2c302b;--rb-band-action:#9fd18f;--rb-action:#2a5d1d;--rb-muted:#444a43;--rb-paper:#f2f5f1;--rb-wash:#d3d6d2;--rb-rule:#636a62;--rb-panel:#e3e6e2;--rb-on-action:#f2f5f1}
:root[data-theme="dark"]{--rb-band:#333632;--rb-band-rule:#8c948b;--rb-band-ink:#e2e7e1;--rb-ink:#e2e7e1;--rb-band-action:#9fd18f;--rb-action:#9fd18f;--rb-muted:#bec5bd;--rb-paper:#1a1d19;--rb-wash:#333632;--rb-rule:#8c948b;--rb-panel:#272a26;--rb-on-action:#1a1d19}
@font-face{font-family:"Lora";unicode-range:U+0000-00FF;src:url(/fonts/lora.woff2) format("woff2");font-weight:650;scroll-margin-inline-start:21px;font-display:swap}
@font-face{font-family:"Figtree";unicode-range:U+0000-00FF;src:url(/fonts/figtree.woff2) format("woff2");font-weight:400;scroll-margin-inline-start:21px;font-display:swap}

/* ground rules */
html{-webkit-text-size-adjust:100%;background:var(--rb-paper)}
body{font-size:18px;overflow-wrap:anywhere;font-family:"Figtree",sans-serif;margin:0;font-weight:400;scroll-margin-inline-start:21px;line-height:1.65;background:var(--rb-paper);color:var(--rb-ink)}
*,*::before,*::after{box-sizing:border-box}
a{scroll-margin-inline-start:21px;text-underline-offset:3px;color:var(--rb-action);text-decoration-thickness:1px}
a:hover{text-decoration-thickness:3px}
a:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid var(--rb-action)}
main:focus{outline:none}
h1,h2,h3,h4{font-family:"Lora",serif;margin:0 0 12px;font-weight:650;scroll-margin-inline-start:21px;line-height:1.18;color:var(--rb-ink)}
h1{font-size:56px;max-width:19ch;scroll-margin-inline-start:21px;text-wrap:balance}
h2{font-size:25px}
h3,h4{font-size:20px}
p,ul,ol,dl{margin:0 0 16px}
p{max-width:64ch}
strong,b{font-weight:700}
time{white-space:nowrap}
.rb-skip-hop{top:-120px;position:absolute;padding:12px 16px;font-weight:700;scroll-margin-inline-start:21px;left:12px;background:var(--rb-paper);z-index:9;border-radius:6px;color:var(--rb-action)}
.rb-skip-hop:focus{top:12px}

/* masthead: the name sits on one ruled line, the menu reads like column heads */
.rb-rollhead{padding:32px;background:var(--rb-panel)}
.rb-rollwrap{max-width:1184px;margin:0 auto}
.rb-rollname{font-size:25px;font-family:"Lora",serif;max-width:none;border-bottom:2px solid var(--rb-ink);padding:0 0 8px;margin:0;font-weight:650;scroll-margin-inline-start:21px;line-height:1.2}
.rb-rollname a{text-decoration:none;color:var(--rb-ink)}
.rb-rollname a:hover{text-decoration:underline}
.rb-colheads ol{flex-wrap:wrap;gap:0 32px;padding:0;margin:0;scroll-margin-inline-start:21px;list-style:none;display:flex}
.rb-colheads a{text-decoration:none;font-size:15px;align-items:center;min-height:44px;scroll-margin-inline-start:21px;color:var(--rb-ink);display:inline-flex}
.rb-colheads a:hover{text-decoration:underline}
.rb-colheads a[aria-current=page]{text-decoration:underline;font-weight:700;scroll-margin-inline-start:21px;text-decoration-thickness:2px}

/* page body */
.rb-field{gap:48px;max-width:1184px;padding:32px 32px 64px;margin:0 auto;scroll-margin-inline-start:21px;background:var(--rb-paper);display:grid}
.rb-field>*{margin:0;min-width:0}
.rb-draftbar{padding:12px 16px;scroll-margin-inline-start:21px;background:var(--rb-panel);border-radius:6px}
.rb-keynote{font-size:20px;max-width:58ch;scroll-margin-inline-start:21px;line-height:1.45}
.rb-act{margin:0}
.rb-go-button{text-decoration:none;align-items:center;padding:8px 32px;font-weight:700;min-height:48px;scroll-margin-inline-start:21px;background:var(--rb-action);border-radius:6px;color:var(--rb-on-action);display:inline-flex}
.rb-go-button:hover{text-decoration:underline;text-decoration-thickness:2px}

/* home: intro beside a short facts list */
.rb-opener{gap:48px;align-items:start;grid-template-columns:minmax(0,7fr) minmax(0,4fr);scroll-margin-inline-start:21px;display:grid}
.rb-opener h1{margin-bottom:16px}
.rb-glancebox{border-top:3px solid var(--rb-ink);padding-top:16px}
.rb-glancebox h2{font-size:20px}
.rb-glance{gap:16px;margin:0;scroll-margin-inline-start:21px;display:grid}
.rb-glance div{gap:0;display:grid}
.rb-glance dt{font-size:15px;color:var(--rb-muted)}
.rb-glance dd{margin:0}

/* the roll: rows on a tinted tray */
.rb-tray{padding:32px;scroll-margin-inline-start:21px;background:var(--rb-panel);border-radius:6px}
.rb-tray>h2{margin:0 0 16px}
.rb-tray>p{margin:16px 0 0}
.rb-rolls{gap:8px;padding:0;margin:0;scroll-margin-inline-start:21px;list-style:none;display:grid}
.rb-roll{gap:8px 16px;align-items:baseline;padding:16px;grid-template-columns:104px minmax(0,1fr) 150px 92px;scroll-margin-inline-start:21px;background:var(--rb-paper);border-radius:6px;display:grid}
.rb-roll time,.rb-roll-time{font-size:15px;color:var(--rb-muted)}
.rb-roll-main a{font-weight:700;color:var(--rb-ink)}
.rb-roll-main p{font-size:15px;margin:3px 0 0;scroll-margin-inline-start:21px;color:var(--rb-muted)}
.rb-roll-tag{font-size:15px}
.rb-roll-time{text-align:right}
.rb-roll-bare{grid-template-columns:minmax(0,1fr) 150px}

/* topics list on home */
.rb-bays ul{gap:16px 48px;padding:0;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));scroll-margin-inline-start:21px;list-style:none;display:grid}
.rb-bays li a{align-items:center;font-weight:700;min-height:44px;scroll-margin-inline-start:21px;display:inline-flex}
.rb-bays li p{font-size:15px;margin:0;scroll-margin-inline-start:21px;color:var(--rb-muted)}
.rb-aboutnote{max-width:64ch}
.rb-aboutnote.rb-tray{max-width:none}
.rb-aboutnote p:last-child{margin-bottom:0}

/* home: the four jobs, what a guide gives, how it is made, who it is for */
.rb-jobs>p,.rb-gives>p,.rb-who>p{max-width:64ch}
.rb-jobs-list{gap:24px 48px;padding:0;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));counter-reset:rbjob;scroll-margin-inline-start:21px;list-style:none;display:grid}
.rb-jobs-list li{counter-increment:rbjob}
.rb-jobs-list h3::before{content:counter(rbjob) ". "}
.rb-jobs-list h3 a{align-items:center;min-height:44px;scroll-margin-inline-start:21px;display:inline-flex}
.rb-jobs-list p{margin:0}
.rb-gives dl{gap:24px 48px;margin:0 0 24px;grid-template-columns:repeat(2,minmax(0,1fr));scroll-margin-inline-start:21px;display:grid}
.rb-gives dt{font-weight:700}
.rb-gives dd{margin:0}
.rb-gives>p:last-child{margin:0}
.rb-method{gap:24px 48px;padding:32px;grid-template-columns:minmax(0,4fr) minmax(0,7fr);scroll-margin-inline-start:21px;background:var(--rb-wash);border-radius:6px;display:grid}
.rb-method ol{gap:12px;padding:0;margin:0 0 16px;counter-reset:rbstep;scroll-margin-inline-start:21px;list-style:none;display:grid}
.rb-method>div>p{margin:0}
.rb-method .rb-nextstop-links{gap:0;margin:0;scroll-margin-inline-start:21px;display:grid}
.rb-method li{position:relative;counter-increment:rbstep;scroll-margin-inline-start:21px;padding-left:2em}
.rb-method li::before{position:absolute;font-weight:700;scroll-margin-inline-start:21px;left:0;content:counter(rbstep) "."}
.rb-who-cols{gap:24px 48px;margin:0 0 16px;grid-template-columns:minmax(0,7fr) minmax(0,4fr);scroll-margin-inline-start:21px;display:grid}
.rb-who-cols p{margin:0}
.rb-who-cols ul{margin:0;padding-left:1.3em}
.rb-who>p:last-child{margin:0}

/* blog index, topic pages and breadcrumbs */
.rb-whereami ol{font-size:15px;flex-wrap:wrap;gap:0 12px;padding:0;margin:0;scroll-margin-inline-start:21px;list-style:none;display:flex}
.rb-whereami li+li::before{content:"/ ";color:var(--rb-muted)}
.rb-whereami a{align-items:center;min-height:36px;scroll-margin-inline-start:21px;display:inline-flex}
.rb-whereami [aria-current]{font-size:15px;color:var(--rb-muted)}
.rb-listtop{gap:16px;scroll-margin-inline-start:21px;justify-items:start;display:grid}
.rb-listtop>*{margin:0}
.rb-topicrun{font-size:15px;flex-wrap:wrap;gap:8px 24px;padding:0;margin:0;scroll-margin-inline-start:21px;list-style:none;display:flex}
.rb-topicrun a,.rb-topicrun span{align-items:center;min-height:44px;scroll-margin-inline-start:21px;display:inline-flex}
.rb-topicrun span{font-weight:700}

/* a post: facts rail beside the text */
.rb-postgrid{gap:48px;align-items:start;grid-template-columns:minmax(0,236px) minmax(0,1fr);scroll-margin-inline-start:21px;display:grid}
.rb-rail{font-size:15px;gap:32px;border-left:1px solid var(--rb-rule);scroll-margin-inline-start:21px;padding-left:16px;display:grid}
.rb-railfacts{gap:12px;margin:0;scroll-margin-inline-start:21px;display:grid}
.rb-railfacts dt{font-size:15px;color:var(--rb-muted)}
.rb-railfacts dd{margin:0;color:var(--rb-ink)}
.rb-railtoc h2{font-size:20px;margin:0 0 8px}
.rb-railtoc ol{margin:0;padding-left:1.3em}
.rb-railtoc li{padding:3px 0}
.rb-text{max-width:66ch}
.rb-text h2{margin-top:40px}
.rb-text h3{margin-top:32px}
.rb-text ul,.rb-text ol{padding-left:1.4em}
.rb-text li{margin-bottom:8px}
.rb-text blockquote{margin:0 0 16px;border-left:3px solid var(--rb-rule);scroll-margin-inline-start:21px;padding-left:16px}
.rb-text pre{font-size:15px;padding:16px;overflow-x:auto;scroll-margin-inline-start:21px;background:var(--rb-panel);border-radius:6px}
.rb-text code{font-size:15px}
.rb-text img{max-width:100%;height:auto}
.rb-wide{margin:0 0 32px;overflow-x:auto}
.rb-text table{font-size:15px;border-collapse:collapse;scroll-margin-inline-start:21px;min-width:100%}
.rb-text th,.rb-text td{text-align:left;border-bottom:1px solid var(--rb-rule);padding:12px;vertical-align:top;scroll-margin-inline-start:21px}
.rb-srcs{margin-top:40px}
.rb-srcs ul{padding-left:1.4em}

/* policy pages: numbered clauses on the tray */
.rb-notehead{gap:16px;scroll-margin-inline-start:21px;justify-items:start;display:grid}
.rb-notehead>*{margin:0}
.rb-revised{font-size:15px;color:var(--rb-muted)}
.rb-clauses{gap:8px;padding:0;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));counter-reset:rbclause;scroll-margin-inline-start:21px;list-style:none;display:grid}
.rb-clause{padding:16px 16px 12px;counter-increment:rbclause;scroll-margin-inline-start:21px;background:var(--rb-paper);border-radius:6px}
.rb-clause h2{font-size:20px}
.rb-clause h2::before{content:counter(rbclause) ". "}
.rb-clause p{max-width:none}
.rb-clause p:last-child{margin-bottom:8px}
.rb-nextstop h2{font-size:20px}
.rb-nextstop-links{flex-wrap:wrap;gap:0 32px;padding:0;margin:0 0 12px;scroll-margin-inline-start:21px;list-style:none;display:flex}
.rb-nextstop-links a{align-items:center;min-height:44px;scroll-margin-inline-start:21px;display:inline-flex}
.rb-nextstop>p{margin:0}

/* closing band */
.rb-closeout{padding:48px 32px 32px;scroll-margin-inline-start:21px;background:var(--rb-band);color:var(--rb-band-ink)}
.rb-closeout-cols{gap:32px 48px;max-width:1184px;margin:0 auto;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,4fr);scroll-margin-inline-start:21px;display:grid}
.rb-closeout h2{font-size:20px;margin:0 0 8px;scroll-margin-inline-start:21px;color:var(--rb-band-ink)}
.rb-closeout ul,.rb-closeout ol{padding:0;margin:0;scroll-margin-inline-start:21px;list-style:none}
.rb-closeout a{color:var(--rb-band-action)}
.rb-closeout li a{font-size:15px;align-items:center;min-height:44px;scroll-margin-inline-start:21px;display:inline-flex}
.rb-closeout a:focus-visible{outline-offset:3px;outline:3px solid var(--rb-band-action)}
.rb-closeout-note{font-size:15px;font-style:normal;max-width:1184px;margin:32px auto 0;scroll-margin-inline-start:21px;color:var(--rb-band-ink)}

@media (max-width:1024px){
h1{font-size:40px}
.rb-rollhead{padding:24px}
.rb-field{padding:24px 24px 56px}
.rb-closeout{padding:48px 24px 32px}
.rb-roll{grid-template-columns:104px minmax(0,1fr) 130px}
.rb-roll-time{text-align:left;grid-column:2/-1}
.rb-roll-bare{grid-template-columns:minmax(0,1fr) 130px}
.rb-postgrid{gap:32px;grid-template-columns:minmax(0,180px) minmax(0,1fr)}
}
@media (max-width:768px){
h1{font-size:36px}
h2,.rb-rollname{font-size:23px}
.rb-rollhead{padding:16px 20px}
.rb-field{gap:40px;padding:20px 20px 48px}
.rb-opener,.rb-postgrid,.rb-bays,.rb-clauses,.rb-closeout-cols,.rb-jobs-list,.rb-gives dl,.rb-method,.rb-who-cols{grid-template-columns:minmax(0,1fr)}
.rb-method{padding:20px}
.rb-opener,.rb-postgrid{gap:32px}
.rb-tray{padding:16px}
.rb-roll{flex-wrap:wrap;gap:3px 12px;padding:14px;scroll-margin-inline-start:21px;display:flex}
.rb-roll-main{order:4;scroll-margin-inline-start:21px;margin-top:8px;flex-basis:100%}
.rb-roll-time{text-align:left;order:3}
.rb-roll-bare{display:flex}
.rb-rail{border-top:0;border-left:0;scroll-margin-inline-start:21px;padding-left:0}
.rb-railfacts{grid-template-columns:repeat(2,minmax(0,1fr))}
.rb-closeout{padding:40px 20px 32px}
}
@media print{.rb-colheads,.rb-skip-hop,.rb-closeout-cols{display:none}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
