:root{--ink: #1d2433;--ink-soft: #4a5368;--paper: #f1f4f3;--paper-deep: #e3e9e7;--indigo: #2f3e6b;--teal: #3f7f7a;--sage: #8cbfa9;--sun: #e9c46a;--line: #cfd8d5;--font-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--font-body: "Newsreader", Georgia, "Times New Roman", serif;--measure: 66ch;--wide: 72rem}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1.1875rem;line-height:1.65}img,svg{max-width:100%;height:auto}a{color:var(--indigo);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--teal)}:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:2px}h1,h2,h3{font-family:var(--font-display);line-height:1.12;letter-spacing:-.02em;margin:0 0 .5em;color:var(--ink)}h1{font-size:clamp(2.4rem,6vw,4.2rem);font-weight:700}h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:650;margin-top:2.2em}h3{font-size:1.25rem;font-weight:600;margin-top:1.8em}.wrap{width:min(100% - 2.5rem,var(--wide));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:10}.skip-link:focus{left:0}.site-header{padding:1.25rem 0}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-family:var(--font-display);font-weight:800;font-size:1.5rem;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.site-nav{display:flex;gap:1.5rem;font-family:var(--font-display);font-size:1rem}.site-nav a{color:var(--ink-soft);text-decoration:none;padding:.25rem 0;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--sun)}.site-footer{margin-top:6rem;padding:2.5rem 0 3rem;background:var(--indigo);color:#dfe6f2;font-size:1rem}.site-footer a{color:#fff}.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.hero{padding:2.5rem 0 0}.hero h1{max-width:15ch}.hero .lede{max-width:46ch;font-size:1.3rem;color:var(--ink-soft);margin:0 0 2rem}.hero .actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}.btn{font-family:var(--font-display);font-weight:600;font-size:1.05rem;display:inline-block;padding:.8rem 1.4rem;border-radius:4px;background:var(--indigo);color:#fff;text-decoration:none;box-shadow:0 4px #1d2850;transition:transform .12s ease,box-shadow .12s ease}.btn:hover{color:#fff;transform:translateY(2px);box-shadow:0 2px #1d2850}.btn.quiet{background:transparent;color:var(--indigo);box-shadow:inset 0 0 0 2px var(--indigo)}.btn.quiet:hover{background:var(--indigo);color:#fff}.scene{display:block;width:100%;height:auto;border-radius:6px;overflow:hidden;background:#dfe8ef}.scene .layer{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}.scene .l1{animation-delay:.05s}.scene .l2{animation-delay:.2s}.scene .l3{animation-delay:.35s}.scene .l4{animation-delay:.5s}.scene .l5{animation-delay:.65s}@keyframes rise{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.section{padding-top:4rem}.section>h2:first-child{margin-top:0}.guide-list{list-style:none;margin:0;padding:0;max-width:52rem}.guide-list li{padding:1.5rem 0;border-top:1px solid var(--line)}.guide-list li:last-child{border-bottom:1px solid var(--line)}.guide-list h3{margin:0 0 .3em;font-size:1.45rem}.guide-list h3 a{color:var(--ink);text-decoration:none}.guide-list h3 a:hover{color:var(--teal);text-decoration:underline}.guide-list p{margin:0 0 .4em;color:var(--ink-soft)}.meta{font-family:var(--font-display);font-size:.95rem;color:var(--ink-soft)}.article{padding-top:3rem}.article header{max-width:var(--measure);margin-bottom:2rem}.article .prose{max-width:var(--measure)}.prose p,.prose ul,.prose ol{margin:0 0 1.2em}.prose li{margin-bottom:.4em}.prose img{border-radius:4px}.prose blockquote{margin:1.6em 0;padding:.2em 0 .2em 1.2rem;border-left:4px solid var(--sage);color:var(--ink-soft)}.prose table{border-collapse:collapse;width:100%;font-size:1rem;margin:1.5em 0}.prose th,.prose td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--line)}.prose th{font-family:var(--font-display)}.cover{margin:0 0 2rem;border-radius:6px;max-width:100%}.page{padding-top:3rem}.page .prose{max-width:var(--measure)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene .layer{animation:none}.btn{transition:none}}@media(max-width:40rem){body{font-size:1.0625rem}.site-nav{gap:1rem}}
