:root{--paper: #ffffff;--paper-2: #f4f5f2;--paper-3: #eceee9;--ink: #16191c;--ink-2: #3d444b;--ink-3: #626a72;--rule: #d3d7d1;--rule-strong: #9aa29c;--blue: #0f4c53;--blue-deep: #0a3a40;--blue-tint: #e4eeee;--clay: #9b4123;--clay-tint: #f4e4dc;--focus: #0f4c53;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, Consolas, monospace;--measure: 68ch;--page-max: 76rem;--gutter: clamp(1.1rem, 4vw, 3rem);--space: 1.5rem}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:clamp(1rem,.96rem + .2vw,1.075rem);line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,svg{max-width:100%}img{height:auto;display:block}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.1;letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;text-wrap:balance}h1{font-size:clamp(2.1rem,1.4rem + 3vw,3.6rem)}h2{font-size:clamp(1.55rem,1.2rem + 1.4vw,2.2rem)}h3{font-size:clamp(1.2rem,1.05rem + .6vw,1.45rem)}h4{font-size:1.05rem;font-family:var(--sans);font-weight:700;letter-spacing:0}p{margin:0 0 1.1em}a{color:var(--blue);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{color:var(--clay)}strong{font-weight:700}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}.skip-link{position:absolute;left:.75rem;top:-3.5rem;z-index:100;background:var(--blue);color:#fff;padding:.6rem 1rem;border-radius:4px;font-weight:600;transition:top .15s ease}.skip-link:focus{top:.75rem;color:#fff}.wrap{width:100%;max-width:var(--page-max);margin-inline:auto;padding-inline:var(--gutter)}.rule{border:0;border-top:1px solid var(--rule);margin:0}.rule-strong{border:0;border-top:2px solid var(--ink);margin:0}.eyebrow{font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--clay);margin:0 0 .6rem;display:block}.eyebrow--blue{color:var(--blue)}.masthead{border-bottom:2px solid var(--ink);background:var(--paper)}.masthead__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.85rem}.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink)}.brand:hover{color:var(--ink)}.brand__mark{width:34px;height:34px;flex:none}.brand__text{display:flex;flex-direction:column;line-height:1.05}.brand__name{font-family:var(--serif);font-weight:600;font-size:1.32rem;letter-spacing:-.01em}.brand__tag{font-size:.72rem;color:var(--ink-3);letter-spacing:.02em}.desktop-nav{display:none}@media(min-width:60rem){.desktop-nav{display:flex;align-items:center;gap:clamp(.9rem,1.6vw,1.7rem)}.desktop-nav a{text-decoration:none;color:var(--ink-2);font-size:.94rem;font-weight:600;padding:.4rem 0;border-bottom:2px solid transparent}.desktop-nav a:hover{color:var(--blue);border-bottom-color:var(--clay)}.desktop-nav a[aria-current=page]{color:var(--blue);border-bottom-color:var(--blue)}}.mobile-nav{display:block}@media(min-width:60rem){.mobile-nav{display:none}}.mobile-nav__toggle{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 .4rem;font-weight:700;font-size:.95rem;color:var(--ink)}.mobile-nav__toggle::-webkit-details-marker{display:none}.mobile-nav__toggle .bars{width:22px;height:2px;background:var(--ink);position:relative}.mobile-nav__toggle .bars:before,.mobile-nav__toggle .bars:after{content:"";position:absolute;left:0;width:22px;height:2px;background:var(--ink)}.mobile-nav__toggle .bars:before{top:-6px}.mobile-nav__toggle .bars:after{top:6px}.mobile-nav[open] .bars{background:transparent}.mobile-nav[open] .bars:before{top:0;transform:rotate(45deg)}.mobile-nav[open] .bars:after{top:0;transform:rotate(-45deg)}.mobile-nav__panel{position:absolute;left:0;right:0;background:var(--paper);border-bottom:2px solid var(--ink);border-top:1px solid var(--rule);box-shadow:0 12px 24px -18px #0006;z-index:40}.mobile-nav__panel a{display:block;padding:.85rem var(--gutter);border-top:1px solid var(--rule);text-decoration:none;color:var(--ink);font-weight:600;min-height:44px}.mobile-nav__panel a:first-child{border-top:0}.mobile-nav__panel a[aria-current=page]{color:var(--blue);box-shadow:inset 3px 0 0 var(--clay)}.masthead-relative{position:relative}.site-footer{margin-top:4rem;border-top:2px solid var(--ink);background:var(--paper-2)}.site-footer__grid{display:grid;gap:2rem 3rem;grid-template-columns:1fr;padding-block:2.5rem 1.5rem}@media(min-width:48rem){.site-footer__grid{grid-template-columns:1.4fr 1fr 1fr}}.site-footer h2{font-family:var(--sans);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.9rem}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin-bottom:.5rem}.site-footer a{color:var(--ink-2);text-decoration:none}.site-footer a:hover{color:var(--blue);text-decoration:underline}.footer-notice{border-top:1px solid var(--rule);padding-block:1.2rem 2rem;font-size:.85rem;color:var(--ink-3);line-height:1.6}.footer-brand__name{font-family:var(--serif);font-size:1.1rem;color:var(--ink)}.home-hero{display:grid;grid-template-columns:1fr;gap:clamp(1.4rem,3vw,2rem);padding-block:clamp(1.6rem,4vw,2.8rem)}@media(min-width:60rem){.home-hero{grid-template-columns:1fr 1.02fr;grid-template-areas:"intro figure" "start figure";column-gap:clamp(2rem,4vw,3.5rem);row-gap:clamp(1.4rem,3vw,2rem);align-items:start}.home-hero__intro{grid-area:intro}.home-hero__figure{grid-area:figure}.home-hero__start{grid-area:start}}.home-hero__lede{font-size:clamp(1.1rem,1rem + .55vw,1.3rem);line-height:1.5;color:var(--ink-2);max-width:46ch;margin-bottom:0}.home-hero__figure{margin:0}.home-hero__figure .diagram-key{grid-template-columns:1fr}.home-hero__start .eyebrow{margin-bottom:.2rem}.home-hero__start ul{list-style:none;margin:0;padding:0}.home-hero__start li{padding-block:.8rem;border-top:1px solid var(--rule)}.home-hero__start li:first-child{border-top:2px solid var(--ink)}.home-hero__start a{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--ink);text-decoration:none}.home-hero__start a:hover{color:var(--blue);text-decoration:underline;text-decoration-color:var(--clay)}.home-hero__start span{display:block;font-size:.92rem;color:var(--ink-2);margin-top:.15rem}.stories{padding-block:clamp(1.5rem,3vw,2.5rem)}.stories__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.story{display:grid;grid-template-columns:1fr;gap:.3rem 1.5rem;padding-block:1.4rem;border-top:1px solid var(--rule)}@media(min-width:46rem){.story{grid-template-columns:minmax(0,7rem) 1fr;align-items:start}.story__index{text-align:left}}.story__index{font-family:var(--mono);font-size:.8rem;color:var(--clay);padding-top:.35rem;letter-spacing:.04em}.story__body h3{margin-bottom:.35rem;font-size:clamp(1.25rem,1.05rem + .8vw,1.6rem)}.story__body h3 a{text-decoration:none}.story__body h3 a:hover{text-decoration:underline;text-decoration-color:var(--clay)}.story__body p{margin:0;color:var(--ink-2);max-width:62ch}.story__meta{font-size:.8rem;color:var(--ink-3);margin-top:.4rem}.tech-break{background:var(--blue-deep);color:#eaf1f0;margin-block:clamp(2rem,4vw,3.5rem)}.tech-break .wrap{padding-block:clamp(2rem,4vw,3.2rem)}.tech-break h2{color:#fff}.tech-break .eyebrow{color:#e8a385}.tech-break a{color:#ffd9c7}.tech-break__grid{display:grid;gap:2rem;grid-template-columns:1fr}@media(min-width:54rem){.tech-break__grid{grid-template-columns:1.2fr 1fr;align-items:center}}.tech-break p{color:#cbdad8}.compare-strip{padding-block:clamp(1.5rem,3vw,2.5rem)}.invite{display:grid;gap:1.4rem;grid-template-columns:1fr;align-items:center;background:var(--paper-2);border:1px solid var(--rule);border-left:4px solid var(--clay);padding:clamp(1.4rem,3vw,2.2rem);margin-block:clamp(1.5rem,3vw,2.5rem)}@media(min-width:50rem){.invite{grid-template-columns:1fr auto}}.invite h2{margin-bottom:.3rem}.invite p{margin:0;color:var(--ink-2);max-width:58ch}.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--blue);color:#fff;text-decoration:none;font-weight:600;padding:.7rem 1.15rem;border-radius:3px;border:2px solid var(--blue);min-height:44px}.btn:hover{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff}.btn--ghost{background:transparent;color:var(--blue)}.btn--ghost:hover{background:var(--blue-tint);color:var(--blue-deep)}.article-head{padding-block:clamp(1.6rem,3.5vw,2.6rem) 1.2rem}.breadcrumbs{font-size:.82rem;color:var(--ink-3);margin-bottom:1rem}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}.breadcrumbs a{color:var(--ink-3);text-decoration:none}.breadcrumbs a:hover{color:var(--blue);text-decoration:underline}.breadcrumbs li+li:before{content:"/";margin-right:.4rem;color:var(--rule-strong)}.article-meta{font-size:.85rem;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.8rem}.answer-first{border-left:4px solid var(--blue);background:var(--blue-tint);padding:1.1rem 1.3rem;margin-block:1.4rem}.answer-first p:last-child{margin-bottom:0}.answer-first strong{color:var(--blue-deep)}.article-body{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,3rem);padding-bottom:2.5rem}@media(min-width:64rem){.article-body{grid-template-columns:15rem minmax(0,1fr)}}.toc{align-self:start;font-size:.9rem}@media(min-width:64rem){.toc{position:sticky;top:1.5rem}}.toc h2{font-family:var(--sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-bottom:.7rem}.toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}.toc li{counter-increment:toc;border-top:1px solid var(--rule)}.toc li:first-child{border-top:0}.toc a{display:block;padding:.45rem 0;text-decoration:none;color:var(--ink-2)}.toc a:before{content:counter(toc,decimal-leading-zero);color:var(--clay);font-family:var(--mono);font-size:.72rem;margin-right:.6rem}.toc a:hover{color:var(--blue)}.prose{max-width:var(--measure)}.prose h2{margin-top:2.2rem;padding-top:1.1rem;border-top:1px solid var(--rule);scroll-margin-top:1.5rem}.prose h2:first-of-type{margin-top:.5rem}.prose h3{margin-top:1.6rem}.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1.1em}.prose li{margin-bottom:.5rem}.prose li::marker{color:var(--clay)}figure{margin:1.8rem 0}figure svg,figure img{width:100%;height:auto;border:1px solid var(--rule);background:var(--paper-2)}figcaption{font-size:.84rem;color:var(--ink-3);margin-top:.6rem;line-height:1.5}.diagram-key{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.5rem;font-size:.95rem;line-height:1.45;color:var(--ink-2)}@media(min-width:40rem){.diagram-key{grid-template-columns:1fr 1fr;gap:.5rem 1.6rem}}.diagram-key li{display:grid;grid-template-columns:1.6rem 1fr;gap:.6rem;align-items:start}.diagram-key .n{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:2px solid var(--blue);border-radius:50%;font-weight:700;font-size:.8rem;color:var(--blue);flex:none}.table-scroll{overflow-x:auto;margin:1.6rem 0;border:1px solid var(--rule)}table.data{border-collapse:collapse;width:100%;font-size:.92rem;min-width:34rem}table.data caption{text-align:left;font-size:.84rem;color:var(--ink-3);padding:.7rem .9rem;border-bottom:1px solid var(--rule);background:var(--paper-2)}table.data th,table.data td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--rule);vertical-align:top}table.data thead th{background:var(--paper-3);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}table.data tbody tr:last-child td{border-bottom:0}table.data th[scope=row]{font-weight:700;color:var(--ink);white-space:nowrap}table.data.compare{width:100%;margin:1.6rem 0;border:1px solid var(--rule)}table.data.compare caption{white-space:normal}@media(max-width:39.99rem){table.data.compare{min-width:0;border:0;display:block}table.data.compare caption{display:block;border:1px solid var(--rule);border-bottom:0}table.data.compare thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}table.data.compare tbody,table.data.compare tr,table.data.compare th,table.data.compare td{display:block;width:100%}table.data.compare tr{border:1px solid var(--rule);border-top:0}table.data.compare th[scope=row]{white-space:normal;border-bottom:1px solid var(--rule)}table.data.compare td{border-bottom:1px solid var(--rule)}table.data.compare tr td:last-child{border-bottom:0}table.data.compare td:before{content:attr(data-label);display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--ink-3);margin-bottom:.15rem}}.callout{border:1px solid var(--rule);border-left:4px solid var(--clay);background:var(--clay-tint);padding:1rem 1.2rem;margin:1.6rem 0;font-size:.95rem}.callout h3{margin:0 0 .4rem;font-family:var(--sans);font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;color:var(--clay)}.callout p:last-child{margin-bottom:0}.callout--blue{border-left-color:var(--blue);background:var(--blue-tint)}.callout--blue h3{color:var(--blue-deep)}.sources{margin-top:2.5rem;padding-top:1.3rem;border-top:2px solid var(--ink)}.sources h2{font-size:1.2rem}.sources ol{padding-left:1.2rem;font-size:.92rem;color:var(--ink-2)}.sources li{margin-bottom:.7rem}.sources a{word-break:break-word}.related{margin-top:2rem;padding-top:1.3rem;border-top:1px solid var(--rule)}.related h2{font-size:1rem;font-family:var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}.related ul{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}@media(min-width:40rem){.related ul{grid-template-columns:1fr 1fr;gap:.7rem 1.5rem}}.related a{text-decoration:none;font-weight:600}.related a:hover{text-decoration:underline}.related span{display:block;font-size:.85rem;font-weight:400;color:var(--ink-3)}.hub-head{padding-block:clamp(1.6rem,3.5vw,2.6rem) 1.2rem;max-width:60ch}.hub-list{padding-bottom:2.5rem}.hub-item{padding-block:1.5rem;border-top:1px solid var(--rule);display:grid;gap:.3rem}.hub-item:first-child{border-top:2px solid var(--ink)}.hub-item h2{font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem);margin:0}.hub-item h2 a{text-decoration:none}.hub-item h2 a:hover{text-decoration:underline;text-decoration-color:var(--clay)}.hub-item p{margin:.2rem 0 0;color:var(--ink-2);max-width:68ch}.hub-item .tag{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--clay);font-weight:700}.doc{padding-block:clamp(1.6rem,3.5vw,2.6rem)}.doc .prose{max-width:60ch}.checklist-tool{margin-block:2rem}.checklist-bar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;background:var(--paper);border-bottom:2px solid var(--ink);padding-block:.8rem}.checklist-status{font-weight:600;color:var(--ink)}.checklist-status strong{font-family:var(--mono);color:var(--blue);font-size:1.15rem}.checklist-actions{display:flex;gap:.6rem;margin-left:auto}.checklist-actions button{font:inherit;font-size:.9rem;font-weight:600;min-height:44px;padding:0 .9rem;border:2px solid var(--blue);background:transparent;color:var(--blue);border-radius:3px;cursor:pointer}.checklist-actions button:hover{background:var(--blue-tint)}.checklist-group{margin-top:1.6rem;border:1px solid var(--rule)}.checklist-group>h3{margin:0;padding:.8rem 1rem;background:var(--paper-3);font-family:var(--sans);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}.check{display:flex;gap:.8rem;align-items:flex-start;padding:.85rem 1rem;border-top:1px solid var(--rule)}.check input[type=checkbox]{flex:none;width:1.3rem;height:1.3rem;margin-top:.15rem;accent-color:var(--blue);cursor:pointer}.check label{cursor:pointer}.check label .q{display:block;font-weight:600}.check label .hint{display:block;font-size:.88rem;color:var(--ink-3);margin-top:.15rem}.notfound{padding-block:clamp(3rem,8vw,6rem);text-align:left;max-width:46ch}.notfound .code{font-family:var(--mono);color:var(--clay);font-size:.9rem;letter-spacing:.1em}@media print{.masthead,.site-footer,.checklist-bar,.skip-link,.toc,.related,.invite,.tech-break{display:none!important}body{font-size:11pt;color:#000}a{color:#000;text-decoration:underline}.check{break-inside:avoid}.check input[type=checkbox]{-webkit-appearance:checkbox;appearance:checkbox}.prose{max-width:none}.article-body{display:block}}
