:root{--paper:#f7f5ed;--white:#fdfcf7;--ink:#242e24;--muted:#64705f;--green:#294c38;--wash:#e9ecdf;--rule:#ced1c3;--serif:'Source Serif 4',Georgia,serif;--sans:'Schibsted Grotesk','Helvetica Neue',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-color:var(--green)}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1{font-weight:500;font-size:clamp(42px,5.2vw,68px);line-height:1.08;letter-spacing:-.055em;margin-bottom:24px}h1 em{font:400 1.03em var(--serif);letter-spacing:-.045em}h2{font-size:30px;line-height:1.2;font-weight:550;letter-spacing:-.035em;margin-bottom:20px}h3{font-size:21px;line-height:1.3;font-weight:550;letter-spacing:-.025em}p{margin-bottom:20px}small,.small{font-size:13px;line-height:1.6}.muted{color:var(--muted)}.wrap{max-width:1240px;padding:0 44px;margin:auto}.site-header{height:86px;border-bottom:1px solid var(--rule)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{font-weight:600;font-size:31px;letter-spacing:-1.7px;text-decoration:none}.brand-sub{font-size:12px;letter-spacing:0;border-left:1px solid var(--rule);padding-left:16px;margin-left:18px;vertical-align:middle;font-weight:400;color:var(--muted)}.site-nav{display:flex;align-items:center;gap:27px;font-size:13px}.site-nav a{text-decoration:none;padding:8px 0}.site-nav a[aria-current=page]{box-shadow:0 1px var(--ink)}.site-nav .nav-commercial{border-left:1px solid var(--rule);padding-left:26px}.menu-button{display:none;background:none;border:0;font-size:14px}.skip{position:absolute;top:-100px;left:20px;background:var(--white);padding:12px;z-index:100}.skip:focus{top:10px}:focus-visible{outline:2px solid var(--green);outline-offset:4px}.bread{display:flex;gap:10px;color:var(--muted);font-size:12px;padding-top:28px;margin-bottom:32px}.bread a{text-decoration:none}.page-intro{max-width:760px;padding:56px 0 37px}.page-intro .deck,.deck{font-size:19px;line-height:1.55;color:var(--muted);max-width:650px}.page-intro h1{font-size:56px}.home-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;padding:52px 0 34px}.home-intro h1{font-size:58px;margin:0}.home-intro p{font-size:16px;color:var(--muted);max-width:355px;margin:0 0 4px}.feature{display:grid;grid-template-columns:1.02fr 1fr;gap:48px;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);padding:29px 0 34px;align-items:center}.feature img{width:100%;height:335px;object-fit:cover;object-position:center 49%}.feature-copy{padding-right:20px}.topic{font-size:12px;color:var(--muted);margin-bottom:16px;display:block}.feature h2{font:450 39px/1.16 var(--sans);letter-spacing:-.045em;margin:0 0 20px}.feature h2 a{text-decoration:none}.feature p{font:19px/1.6 var(--serif);max-width:450px}.text-link{font-size:14px;font-weight:500}.text-link:after{content:' →';display:inline-block;margin-left:7px}.section{margin-top:56px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:22px}.section-head h2{margin:0}.filter-bar{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:15px 0;display:flex;align-items:center;gap:12px;margin:24px 0}.filter-list{display:flex;gap:8px;flex-wrap:wrap}.filter{border:1px solid transparent;background:none;border-radius:3px;font-size:13px;padding:8px 12px}.filter[aria-pressed=true]{background:var(--green);color:var(--white)}.filter:hover{border-color:var(--rule)}.search{margin-left:auto;position:relative;min-width:240px}.search input{width:100%;padding:10px 12px;border:1px solid var(--rule);background:var(--white);border-radius:3px;font-size:13px}.guide-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.guide-card{padding:3px 0 24px;border-bottom:1px solid var(--rule)}.guide-card h3{font-size:24px;line-height:1.2;margin:10px 0 14px}.guide-card h3 a{text-decoration:none}.guide-card p{font:17px/1.55 var(--serif);color:var(--muted);margin-bottom:16px}.guide-card .topic{margin-bottom:12px}.guide-card .number{font:italic 27px var(--serif);color:#929b83;margin-bottom:25px;display:block}.utility-band{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid var(--ink);padding:32px 0;margin-top:64px}.utility-band h2{font-size:25px}.utility-band p{color:var(--muted);max-width:430px}.utility-band>div+div{border-left:1px solid var(--rule);padding-left:45px}.footer{border-top:1px solid var(--rule);margin-top:74px;padding:35px 0 24px}.footer-main{display:flex;justify-content:space-between;gap:45px}.footer-brand p{font-size:13px;color:var(--muted);max-width:270px;margin-top:14px}.footer-links{display:flex;gap:70px}.footer-links div{display:flex;flex-direction:column;gap:9px;font-size:12px}.footer-links strong{font-weight:550;margin-bottom:5px}.footer-links a{text-decoration:none;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--rule);margin-top:30px;padding-top:18px;color:var(--muted);font-size:11px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid var(--green);background:var(--green);color:var(--white);border-radius:3px;text-decoration:none;font-size:14px;line-height:1.4;min-height:46px;gap:8px}.btn.secondary{background:transparent;color:var(--green)}.btn.quiet{border-color:var(--rule);background:var(--white);color:var(--ink)}.btn:hover{filter:brightness(.94)}.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.article-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:55px;align-items:center;margin:10px 0 28px}.article-hero img{height:260px;width:100%;object-fit:cover}.article-hero h1{font-size:57px}.article-hero .deck{font-size:19px}.byline{border-bottom:1px solid var(--rule);font-size:12px;padding:15px 0;color:var(--muted);display:flex;gap:20px;align-items:center}.ownership{font-size:12px;color:var(--muted);margin:12px 0}.article-grid{display:grid;grid-template-columns:190px minmax(0,700px);gap:65px;margin:43px 0 65px}.toc{position:sticky;top:25px;align-self:start;font-size:12px}.toc strong{display:block;font-weight:500;margin-bottom:14px}.toc a{display:block;text-decoration:none;color:var(--muted);padding:8px 12px;border-left:1px solid var(--rule);line-height:1.4}.toc a:hover,.toc a.active{color:var(--green);border-left-color:var(--green)}.article-body{min-width:0}.article-body p,.article-body li{font:19px/1.7 var(--serif)}.article-body h2{font-size:29px;margin:44px 0 19px;scroll-margin-top:24px}.article-body h2:first-child{margin-top:0}.article-body h3{margin-top:28px}.article-body .section{margin-top:44px}.article-body table{font-size:13px;line-height:1.6}.article-body .small,.article-body .small p{font:13px/1.65 var(--sans)}.article-body .editorial-end{border-top:1px solid var(--rule);padding-top:24px;margin-top:40px}.article-body .editorial-end p{font:13px/1.65 var(--sans);color:var(--muted)}table{width:100%;border-collapse:collapse;margin:24px 0}th{text-align:left;font-weight:500;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}td,th{vertical-align:top;padding:15px 12px}td{border-bottom:1px solid var(--rule)}.table-scroll{overflow:auto;max-width:100%}.table-scroll table{min-width:530px}.plain-list{padding-left:22px}.plain-list li{padding:4px 0}.callout{border-left:3px solid var(--green);padding:4px 0 4px 22px;margin:28px 0}.callout p{margin-bottom:0}.download-box{background:var(--wash);padding:26px;margin:30px 0}.download-box h3{margin:0 0 10px}.download-box p{font-size:16px}.article-body details{border-top:1px solid var(--rule);padding:18px 0}.article-body details:last-of-type{border-bottom:1px solid var(--rule)}summary{cursor:pointer;font-size:14px;font-weight:500}.article-body details p{font-size:17px}.checklist label{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--rule);font-size:14px}.checklist input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0;margin-top:4px}.checklist small{display:block;color:var(--muted)}.check-progress{font-size:12px;color:var(--muted);margin-top:12px}.related{border-top:1px solid var(--ink);padding-top:28px}.related h2{margin:0 0 25px}.product-list{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}.product-item{border-bottom:1px solid var(--rule);padding:26px 0}.product-heading{display:flex;align-items:center;gap:15px;margin-bottom:16px}.product-logo{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:4px;font:500 25px var(--serif);flex-shrink:0}.product-heading h2{font-size:25px;margin:0}.product-heading h2 a{text-decoration:none}.product-heading .topic{margin:2px 0 0}.product-item p{color:var(--muted);font-size:15px;max-width:430px}.product-item .button-row{justify-content:space-between}.save-button{font-size:12px;padding:7px 11px;min-height:38px;border:1px solid var(--rule);border-radius:3px;background:transparent}.save-button[aria-pressed=true]{background:var(--wash);border-color:var(--green)}.compare-tray{position:sticky;bottom:20px;z-index:20;margin:30px auto 0;max-width:720px;background:var(--green);color:var(--white);display:flex;gap:20px;justify-content:space-between;align-items:center;padding:17px 23px;box-shadow:0 6px 24px #19271b20;border-radius:4px;font-size:14px}.compare-tray a{font-size:13px}.empty{padding:45px 0;max-width:620px}.empty h2{font-size:25px}.result-count{font-size:12px;color:var(--muted);margin:0 0 18px}.comparison{min-width:670px}.comparison th:first-child{width:160px}.comparison th{min-width:210px;font-size:19px}.comparison td{font-size:14px}.comparison .rowlabel{font-size:12px;color:var(--muted)}.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr);gap:75px;margin:30px 0 65px}.split .prose{max-width:690px}.prose p,.prose li{font:19px/1.7 var(--serif)}.prose h2{margin:35px 0 18px}.prose h2:first-child{margin-top:0}.aside-note{border-top:1px solid var(--ink);padding-top:20px;align-self:start}.aside-note h2{font-size:21px}.aside-note p,.aside-note li{font-size:14px;color:var(--muted)}.aside-note ul{padding-left:18px}.format-example{border:1px solid var(--rule);background:var(--white);padding:24px;margin:26px 0}.format-example .sponsor-label{font-size:11px;color:var(--muted);margin-bottom:17px;display:block}.format-example h3{font-size:23px;margin-bottom:9px}.format-example p{font:16px/1.6 var(--sans)}.process{list-style:none;padding:0;counter-reset:step}.process li{border-top:1px solid var(--rule);padding:22px 0 22px 46px;position:relative;font:16px/1.6 var(--sans)}.process li:before{counter-increment:step;content:counter(step);position:absolute;left:0;font:italic 27px var(--serif);color:var(--muted)}.process strong{display:block;font-weight:500;margin-bottom:6px}.process span{color:var(--muted);font-size:14px}.inquiry-layout{display:grid;grid-template-columns:minmax(0,660px) 1fr;gap:70px;margin:20px 0 60px}.form-panel{border-top:1px solid var(--ink);padding-top:26px}.steps{display:flex;gap:24px;font-size:12px;color:var(--muted);margin:0 0 31px;padding:0;list-style:none}.steps li[aria-current=step]{color:var(--green);font-weight:600}.steps li span{display:inline-flex;border:1px solid var(--rule);width:23px;height:23px;border-radius:50%;align-items:center;justify-content:center;margin-right:6px}.steps li[aria-current=step] span{background:var(--green);color:var(--white);border-color:var(--green)}fieldset{border:0;margin:0;padding:0}legend{font-size:27px;letter-spacing:-.03em;font-weight:500;line-height:1.2;margin-bottom:10px}.field{margin:22px 0}.field>label{display:block;font-size:14px;margin-bottom:7px;font-weight:500}.field input,.field select,.field textarea{width:100%;border:1px solid #9ca592;border-radius:3px;background:var(--white);padding:11px 12px;font-size:15px;line-height:1.5}.field textarea{min-height:135px;resize:vertical}.field small{display:block;color:var(--muted);margin-top:6px;font-size:12px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-row .field{margin-top:0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.choice{display:flex;align-items:start;gap:10px;padding:17px 15px;border:1px solid var(--rule);border-radius:3px;cursor:pointer;background:var(--white)}.choice:has(input:checked){border-color:var(--green);background:var(--wash)}.choice input{margin-top:4px;accent-color:var(--green)}.choice strong{display:block;font-size:14px;font-weight:500}.choice small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:22px;border-top:1px solid var(--rule)}.error{padding:12px 16px;border-left:3px solid #a14835;background:#f3e5dd;color:#74331f;font-size:14px;margin:18px 0}.field input:user-invalid,.field textarea:user-invalid{border-color:#a14835}.consent{display:flex;gap:12px;font-size:13px;align-items:start;margin:24px 0}.consent input{margin-top:4px;accent-color:var(--green)}.review-list{margin:26px 0}.review-list>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--rule)}.review-list dt{font-size:12px;color:var(--muted)}.review-list dd{margin:0;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap}.preview-note{font-size:12px;color:var(--muted);padding:14px 0;border-top:1px solid var(--rule);margin-top:26px}.receipt{max-width:720px;margin:55px auto 75px}.receipt-symbol{font:34px var(--serif);color:var(--green);width:58px;height:58px;border:1px solid var(--green);border-radius:50%;display:flex;justify-content:center;align-items:center;margin-bottom:30px}.receipt h1{font-size:49px}.receipt-meta{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:18px 0;display:flex;justify-content:space-between;font-size:13px;margin:27px 0}.status-pill{display:inline-block;font-size:12px;border:1px solid var(--rule);border-radius:3px;padding:3px 9px;background:var(--wash)}.notice{background:var(--wash);padding:18px 22px;font-size:13px;margin:25px 0}.notice p:last-child{margin-bottom:0}.contact-options{max-width:760px}.contact-option{display:flex;justify-content:space-between;gap:30px;padding:26px 0;border-top:1px solid var(--rule)}.contact-option h2{font-size:24px}.contact-option p{color:var(--muted);max-width:470px;font-size:15px;margin:0}.contact-option a{align-self:center;flex-shrink:0;font-size:14px}.hidden,[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.research-chart svg{width:100%;height:auto}.research-chart .chart-caption{font:12px/1.65 var(--sans)}.chart-actions{display:flex;gap:20px;font-size:12px}.source-record p,.source-record li,.method-box p{font:14px/1.7 var(--sans)}.record-meta,.record-id,.fine{font:12px/1.6 var(--sans)}.vendor-figure{margin:25px 0}.vendor-figure figcaption p{font:12px/1.6 var(--sans);color:var(--muted)}.video-evidence{display:grid;grid-template-columns:35px 1fr;gap:15px;border-top:1px solid var(--rule);padding-top:20px}.video-evidence p{font-size:16px}.video-evidence .video-credit{font:12px var(--sans)}.video-links{display:flex;gap:20px;font-size:12px}.source-record blockquote{font:17px/1.6 var(--serif);margin:15px 0;padding-left:20px;border-left:1px solid var(--rule)}.check-progress{margin-bottom:20px}.toast{position:fixed;bottom:24px;right:24px;max-width:calc(100vw - 48px);background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:3px;font-size:13px;z-index:30}.print-only{display:none}@media(max-width:950px){.wrap{padding:0 28px}.brand-sub{display:none}.site-nav{gap:19px}.feature{gap:30px}.feature h2{font-size:33px}.feature img{height:300px}.article-grid{gap:35px;grid-template-columns:155px minmax(0,1fr)}.article-hero h1{font-size:46px}.split{gap:40px}.inquiry-layout{gap:35px;grid-template-columns:1.6fr 1fr}.home-intro h1{font-size:48px}.guide-list{gap:22px}.guide-card h3{font-size:22px}}@media(max-width:700px){.wrap{padding:0 22px}.site-header{height:70px}.wordmark{font-size:28px}.menu-button{display:block;padding:10px 0 10px 15px}.site-nav{display:none;position:absolute;top:69px;left:0;right:0;padding:20px 22px;background:var(--paper);border-bottom:1px solid var(--rule);z-index:50;box-shadow:0 12px 18px #2432220c}.site-nav.open{display:flex;flex-wrap:wrap;gap:14px 24px}.site-nav .nav-commercial{padding-left:0;border:0}.home-intro{display:block;padding:37px 0 26px}.home-intro h1{font-size:43px;margin-bottom:18px}.home-intro p{max-width:490px;font-size:15px}.feature{display:flex;flex-direction:column;gap:25px;padding-top:22px;align-items:stretch}.feature img{height:230px}.feature-copy{padding:0}.feature h2{font-size:31px}.feature p{font-size:18px;margin-bottom:15px}.filter-bar{display:block}.search{margin:14px 0 0;min-width:0}.filter{padding:8px 10px}.filter-list{gap:3px}.guide-list{grid-template-columns:1fr;gap:0}.guide-card{padding:24px 0}.guide-card .number{float:left;width:44px;margin:0}.guide-card>div{margin-left:44px}.guide-card h3{font-size:24px}.section{margin-top:38px}.section-head{align-items:start}.section-head h2{font-size:26px}.section-head a{font-size:12px;white-space:nowrap}.utility-band{display:block;margin-top:44px;padding-top:26px}.utility-band>div+div{padding:25px 0 0;border:0;border-top:1px solid var(--rule);margin-top:25px}.utility-band p{font-size:14px}.footer{margin-top:45px}.footer-main{display:block}.footer-links{gap:40px;margin-top:25px}.footer-bottom{display:block;line-height:1.9}.article-hero{display:block}.article-hero h1{font-size:42px}.article-hero img{height:215px;margin-top:25px}.article-hero .deck{font-size:18px}.bread{font-size:11px;flex-wrap:wrap;margin-bottom:26px;padding-top:23px}.byline{gap:12px;flex-wrap:wrap;font-size:11px}.article-grid{display:block;margin-top:25px}.toc{position:static;padding-bottom:25px;margin-bottom:28px;border-bottom:1px solid var(--rule)}.toc .toc-links{display:grid;grid-template-columns:1fr 1fr;gap:7px 15px}.toc a{padding:4px 0;border:0;text-decoration:underline;text-decoration-color:var(--rule)}.article-body p,.article-body li{font-size:18px}.article-body h2{font-size:26px}.article-body h3{font-size:21px}.page-intro{padding:36px 0 15px}.page-intro h1{font-size:43px}.page-intro .deck{font-size:18px}.product-list{display:block}.product-item{padding:24px 0}.product-heading h2{font-size:24px}.split,.inquiry-layout{display:block;margin-top:25px}.aside-note{margin-top:35px}.split .prose p,.split .prose li{font-size:18px}.inquiry-layout .aside-note{padding-top:23px}.choice-grid{gap:10px}.choice{padding:14px 11px}.choice small{font-size:11px}.steps{gap:13px;font-size:11px;justify-content:space-between}.steps li span{margin-right:4px;width:20px;height:20px}.field-row{display:block}.field-row .field{margin-top:22px}.review-list>div{display:block}.review-list dt{margin-bottom:5px}.receipt{margin:38px 0 55px}.receipt h1{font-size:41px}.receipt-meta{display:block}.receipt-meta span{display:block;margin:6px 0}.contact-option{display:block}.contact-option a{display:inline-block;margin-top:18px}.compare-tray{padding:14px 17px;gap:12px;bottom:12px;font-size:12px}.comparison{min-width:620px}.btn{font-size:13px}.form-actions{gap:15px}.source-record summary{font-size:13px}.research-chart svg text{font-size:15px}.article-body table{font-size:12px}.article-body td,.article-body th{padding:12px 7px}}
@media(prefers-reduced-motion:no-preference){.feature-copy{animation:enter .4s ease both}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}@media print{.site-header,.footer,.toc,.save-button,.compare-tray,.button-row,.preview-note,.toast{display:none!important}.wrap{max-width:none;padding:0}.article-grid,.split{display:block}.article-hero img{height:180px}body{background:white;color:black}.print-only{display:block}.article-body p{font-size:12pt}.article-body h2{break-after:avoid}a{color:black}details{display:block}.table-scroll{overflow:visible}.comparison{min-width:0;font-size:11px}}
/* The index reads as a small editorial library, without decorative issue numbers. */
.library-list{grid-template-columns:1fr 1fr;column-gap:65px}.library-list .number{display:none}.library-list .guide-card{padding:24px 0 28px}.library-list .guide-card h3{max-width:440px;font-size:27px}.library-list .guide-card p{max-width:450px}.library-list .guide-card>div{margin-left:0}
@media(max-width:700px){.library-list{grid-template-columns:1fr}.library-list .guide-card h3{font-size:25px}}
.scroll-hint{display:none}.comparison th:first-child{min-width:135px;width:150px}.comparison th:not(:first-child){min-width:230px}.comparison tbody th{border-top:0;background:var(--paper)}
@media(max-width:700px){.scroll-hint{display:block;font-size:12px;color:var(--muted);margin:20px 0 0}.comparison th:first-child{position:sticky;left:0;background:var(--paper);box-shadow:1px 0 var(--rule);z-index:1;min-width:125px;width:125px}.comparison th:not(:first-child){min-width:240px}.comparison td{min-width:240px}}
figure{margin:0}.research-chart{margin:28px 0;padding:22px 0 15px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.research-chart figcaption p{font:13px/1.6 var(--sans);color:var(--muted)}.mobile-theme-chart{display:none}.guide-card .number{display:none}.guide-card>div{margin-left:0}.research-chart h3{margin-top:0}
@media(max-width:700px){.research-chart>svg{display:none}.mobile-theme-chart{display:grid;gap:21px;margin:26px 0}.theme-label{display:flex;justify-content:space-between;font:13px/1.5 var(--sans);margin-bottom:7px}.theme-track{height:18px;background:var(--wash)}.theme-track span{display:block;height:100%;background:var(--green)}.guide-card>div{margin-left:0}}
.record-id{display:inline-block;min-width:30px;margin-right:6px;color:var(--muted)}.source-record{scroll-margin-top:20px}.method-box{scroll-margin-top:20px}
.sponsor-label{font-size:12px!important;font-weight:500}
@media(max-width:700px){.filter,.save-button{min-height:44px}.footer-links{column-gap:28px}}
.code-example{font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre;overflow:auto;max-width:100%;padding:20px;background:var(--wash);border:1px solid var(--rule);margin:20px 0}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8em}.prose .code-example code{font-size:inherit}
@media(max-width:700px){.footer-links{display:grid;grid-template-columns:1fr 1fr;row-gap:25px}}

/* Guides design system, October 2026, second pass.
   Every page opens on a cover: a deep field with a pale ink of the same family. The
   frame is the same everywhere; the pairing names the page type (buying guides green,
   software cobalt, how-to guides madder, the publication's own pages ink). Headlines
   and claims are set in Source Serif 4, reading text in Instrument Sans, and numbers
   and short labels in JetBrains Mono. Sections are numbered like chapters, and the
   contents list uses the same numbers. Each section type keeps one signature wherever
   it appears: the answer on its page's pale tint, steps and questions as ledgers on
   hairlines, references on a quiet panel, sponsored material only on sand. Green
   stays the color of links and actions. Color never carries meaning alone: the page
   type is also named in the breadcrumb, the tag and the card text. Spacing sits on an
   8px grid; radii are 4px for controls, 8px for tiles and art, 16px for panels.
   Deliberate exceptions to the first pass: page-type tags are drawn as pills, and a
   mono section number sits above each section heading. */
:root{
  --font:'Instrument Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --display:'Source Serif 4',Georgia,'Times New Roman',serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:var(--font);--serif:var(--font);
  /* Reading sizes 14, 15, 18, 22; display sizes 26, 34, 44, 58, 84 */
  --t-meta:14px;--t-ui:15px;--t-body:18px;--t-lead:22px;--t-h3:22px;--t-h2:44px;--t-h1:84px;
  --lh-body:1.65;--lh-tight:1.02;
  /* Neutrals: warm paper, green-black ink */
  --bg:#F7F5EE;--surface:#EEEBE1;--line:#DCD8CB;--line-strong:#141A16;
  --ink:#141A16;--ink-2:#3A433D;--ink-3:#59625B;
  /* Links and actions */
  --accent:#17663F;--accent-strong:#0E4A2C;--accent-tint:#E2EFE3;--accent-line:#B3D0BB;
  /* Sponsored material only */
  --sponsor-tint:#F6EEDC;--sponsor-line:#DFCB9F;--sponsor-ink:#6A4510;
  /* Page-type pairings: a deep field; a pale ink that doubles as the panel tint; ink for
     text on that tint; a mark for numbers on paper. Every text pair passes WCAG AA. */
  --buying-field:#173D2B;--buying-pale:#D8EDD9;--buying-ink:#11301F;--buying-mark:#2B6C47;
  --software-field:#1B2A5E;--software-pale:#DBE3FA;--software-ink:#17224B;--software-mark:#3A52AE;
  --howto-field:#6A2412;--howto-pale:#F7DFD0;--howto-ink:#511B0C;--howto-mark:#A0452A;
  --compare-field:#3A1D4A;--compare-pale:#ECDDF6;--compare-ink:#2C1438;--compare-mark:#6A3F92;
  --edition-field:#141A16;--edition-pale:#ECE8DC;--edition-ink:#141A16;--edition-mark:#59625B;
  --field:var(--edition-field);--pale:var(--edition-pale);--pale-ink:var(--edition-ink);--mark:var(--edition-mark);
  --r-control:4px;--r-tile:8px;--r-panel:16px;
  /* 8px spacing grid */
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:40px;--s6:48px;--s8:64px;--s10:80px;--s12:96px;
  /* Legacy names used by older rules */
  --paper:var(--bg);--white:#FFFFFF;--muted:var(--ink-3);--green:var(--accent);--green-deep:var(--accent-strong);--wash:var(--surface);--rule:var(--line)
}
body[data-page=buying],[data-type=buying]{--field:var(--buying-field);--pale:var(--buying-pale);--pale-ink:var(--buying-ink);--mark:var(--buying-mark)}
body[data-page=software],body[data-page=notes],body[data-page=directory],[data-type=software],[data-type=notes]{--field:var(--software-field);--pale:var(--software-pale);--pale-ink:var(--software-ink);--mark:var(--software-mark)}
body[data-page=howto],[data-type=howto]{--field:var(--howto-field);--pale:var(--howto-pale);--pale-ink:var(--howto-ink);--mark:var(--howto-mark)}
body[data-page=compare],[data-type=compare]{--field:var(--compare-field);--pale:var(--compare-pale);--pale-ink:var(--compare-ink);--mark:var(--compare-mark)}
[data-type=edition]{--field:var(--edition-field);--pale:var(--edition-pale);--pale-ink:var(--edition-ink);--mark:var(--edition-mark)}

body{background:var(--bg);color:var(--ink);font:400 var(--t-body)/var(--lh-body) var(--font);font-kerning:normal;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}
h1,h2,h3,legend{color:var(--ink);text-wrap:balance}
h1,h2{font-family:var(--display);font-weight:440;font-stretch:normal;font-optical-sizing:auto}
h1{line-height:var(--lh-tight);letter-spacing:-.022em}
h2{line-height:1.08;letter-spacing:-.016em}
h3,legend{font-family:var(--font);font-weight:600;letter-spacing:-.012em}
h1 em{font:inherit;font-style:italic;color:var(--accent)}
p,li,figcaption{text-wrap:pretty}
::selection{background:var(--accent);color:#fff}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:var(--accent-line)}
a:hover{color:var(--accent-strong);text-decoration-color:currentColor}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.small,.article-body .small,.article-body .small p,.preview-note,.fine,.record-meta{font:var(--t-meta)/1.6 var(--font)}
.muted,.small.muted{color:var(--ink-3)}
.text-link{font:500 var(--t-ui)/1.5 var(--font);color:var(--accent)}

/* Buttons: one filled action, one outlined; square-ish corners */
.btn{font:600 var(--t-ui)/1.4 var(--font);border-radius:var(--r-control);background:var(--accent);border-color:var(--accent);color:#fff;padding:12px var(--s3);min-height:48px}
.btn:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}
.btn.secondary{background:transparent;color:var(--accent);border-color:var(--accent-line)}
.btn.secondary:hover{background:var(--accent-tint);color:var(--accent-strong)}
.status-pill{border:0;border-radius:0;background:none;padding:0;font:600 var(--t-meta)/1.5 var(--font);color:var(--ink-2)}

/* Header on paper; footer on the ink field */
.site-header{height:72px;background:var(--bg);border-bottom:1px solid var(--line)}
.wordmark{font:700 27px/1 var(--font);font-stretch:88%;letter-spacing:-.04em;color:var(--ink)}
.brand-sub{font:500 var(--t-ui)/1 var(--font);font-stretch:100%;letter-spacing:0;color:var(--accent);border-left:1px solid var(--line);padding-left:var(--s2);margin-left:var(--s2)}
.site-nav{font:500 var(--t-ui)/1.4 var(--font);gap:var(--s3)}
.site-nav a{color:var(--ink-2);text-decoration:none;white-space:nowrap}
.site-nav a:hover{color:var(--ink)}
.site-nav a[aria-current=page]{color:var(--ink);box-shadow:none;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:10px}
.site-nav .nav-commercial{color:var(--accent);border-left:1px solid var(--line);padding-left:var(--s3)}
.footer{margin-top:var(--s12);padding:var(--s8) 0 var(--s4);background:var(--edition-field);color:var(--edition-pale);border:0}
.footer .wordmark{font-size:24px;color:var(--edition-pale)}
.footer-brand p{font-size:var(--t-ui);line-height:1.55;color:color-mix(in srgb,var(--edition-pale) 76%,var(--edition-field));max-width:300px}
.footer-links div{font-size:var(--t-ui);gap:var(--s1)}
.footer-links strong{font-weight:600;color:var(--edition-pale)}
.footer-links a{color:color-mix(in srgb,var(--edition-pale) 80%,var(--edition-field))}
.footer-links a:hover{color:var(--edition-pale)}
.footer-bottom{font-size:var(--t-meta);color:color-mix(in srgb,var(--edition-pale) 68%,var(--edition-field));border-color:color-mix(in srgb,var(--edition-pale) 18%,var(--edition-field))}
.footer-bottom a{color:inherit}
.footer :focus-visible{outline-color:var(--edition-pale)}

/* Topic labels are plain text; the page type carries the color */
.topic{font:500 var(--t-meta)/1.5 var(--font);letter-spacing:0;text-transform:none;color:var(--ink-3);margin:0}
.product-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:60px;height:60px;padding:6px;background:#fff;border:0;border-radius:14px;box-shadow:0 0 0 1px rgba(20,26,22,.08)}
.product-logo img{width:100%;height:100%;object-fit:contain;border-radius:8px}
.bread{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:500 var(--t-meta)/1.5 var(--font);padding-top:var(--s4);margin-bottom:var(--s3);color:var(--ink-3)}
.bread a{color:var(--ink-2);text-decoration:none}
.bread a:hover{color:var(--accent)}
.bread span{color:var(--ink-3);margin:0}

/* Covers: breadcrumb, opening, byline and ownership note share one edge-to-edge field */
/* Each piece paints 1px past its edges so the field has no hairline seams between them */
main>.bread,main>.article-hero,main>.byline,main>.ownership,main>.page-intro{background:var(--field);box-shadow:0 0 0 100vmax var(--field);clip-path:inset(-1px -100vmax)}
main>.bread{margin:0;padding:var(--s4) 0 0;color:color-mix(in srgb,var(--pale) 74%,var(--field))}
main>.bread a{color:var(--pale)}
main>.bread a:hover{color:var(--pale);text-decoration:underline}
main>.bread span{color:inherit}
main>.bread :focus-visible,main>.article-hero :focus-visible,main>.byline :focus-visible,main>.ownership :focus-visible,main>.page-intro :focus-visible{outline-color:var(--pale)}

.page-intro{display:flex;flex-direction:column;padding:var(--s8) 0 var(--s5);max-width:880px}
.page-intro h1{font-size:clamp(44px,5.4vw,72px);margin:0 0 var(--s3)}
.page-intro>.product-heading{order:3;margin:0 0 var(--s3)}.page-intro>.button-row{order:4}
.deck,.page-intro .deck{font:400 var(--t-lead)/1.45 var(--font);color:var(--ink-2);max-width:36ch;margin:0}
main>.page-intro{max-width:none;margin:0;padding:var(--s8) 0 var(--s6)}
main>.page-intro h1{color:var(--pale);max-width:20ch}
main>.page-intro .deck{color:color-mix(in srgb,var(--pale) 86%,var(--field))}
main>.page-intro a:not(.btn){color:var(--pale);text-decoration-color:color-mix(in srgb,var(--pale) 45%,var(--field))}
main>.page-intro .topic{color:color-mix(in srgb,var(--pale) 74%,var(--field))}
main>.page-intro .btn{background:var(--pale);border-color:var(--pale);color:var(--pale-ink)}
main>.page-intro .btn:hover{background:#fff;border-color:#fff;color:var(--pale-ink)}
main>.page-intro .btn.secondary{background:transparent;color:var(--pale);border-color:color-mix(in srgb,var(--pale) 45%,var(--field))}
main>.page-intro .save-button{color:var(--pale);text-decoration-color:color-mix(in srgb,var(--pale) 45%,var(--field))}
main>.page-intro+*{margin-top:var(--s6)}

/* Article opening: the title leads on the field; the painting sits beside it, never behind text */
.article-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--s8);align-items:end;margin:0;padding:var(--s6) 0 var(--s5)}
.article-hero>div{max-width:none}
.article-hero h1{color:var(--pale);font-size:clamp(46px,5.9vw,var(--t-h1));margin:0 0 var(--s3)}
.article-hero .deck{color:color-mix(in srgb,var(--pale) 86%,var(--field));max-width:34ch}
.article-hero>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;margin:0;border-radius:var(--r-tile)}
.byline{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s1) var(--s3);font:500 var(--t-meta)/1.5 var(--font);color:var(--ink-3);padding:var(--s2) 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line)}
.byline>span:first-child{color:var(--ink);font-weight:600}
.byline a{color:var(--accent)}
main>.byline{margin:0;padding:var(--s2) 0 var(--s4);border:0;border-top:1px solid color-mix(in srgb,var(--pale) 22%,var(--field));color:color-mix(in srgb,var(--pale) 74%,var(--field))}
main>.byline:has(+.ownership){padding-bottom:var(--s1)}
main>.byline>span:first-child{color:var(--pale)}
main>.byline a{color:var(--pale);text-decoration-color:color-mix(in srgb,var(--pale) 45%,var(--field))}
.ownership{font:var(--t-meta)/1.6 var(--font);color:var(--ink-3);margin:var(--s2) 0 0;max-width:72ch}
main>.ownership{max-width:none;margin:0;padding:0 0 var(--s4);color:color-mix(in srgb,var(--pale) 74%,var(--field))}
main>.ownership a{color:var(--pale);text-decoration-color:color-mix(in srgb,var(--pale) 45%,var(--field))}

/* Reading column with numbered contents on the left */
.article-grid{display:grid;grid-template-columns:216px minmax(0,1fr);gap:var(--s10);margin:var(--s8) 0 var(--s10)}
.article-body{max-width:720px;min-width:0;counter-reset:sec}
.toc{position:sticky;top:var(--s3);font:500 var(--t-meta)/1.4 var(--font)}
.toc strong{display:block;font:600 var(--t-ui)/1.4 var(--font);color:var(--ink);margin-bottom:var(--s2)}
.toc a{display:block;color:var(--ink-3);text-decoration:none;padding:6px 0 6px var(--s2);border-left:1px solid var(--line)}
.toc a:hover{color:var(--ink)}
.toc a.active{color:var(--ink);border-left:2px solid var(--mark);padding-left:15px}
.article-body p,.article-body li{font:400 var(--t-body)/var(--lh-body) var(--font);color:var(--ink)}
.article-body>section{margin-top:var(--s10)}
.article-body>section:first-child{margin-top:0}
.article-body h2{font-size:var(--t-h2);line-height:1.08;margin:0 0 var(--s3);padding:0;border:0}
.article-body h3{font-size:var(--t-h3);line-height:1.3;margin:var(--s5) 0 var(--s1)}
.article-body h3+p{margin-top:0}
.article-body strong{font-weight:600}
.article-body .editorial-end h2{font-size:26px}

/* Sections open on a heavy rule, then the heading. No labels or numbers above headings. */
.article-body>section:not(.related,.editorial-end)>h2{border-top:2px solid var(--line-strong);padding-top:var(--s3)}

/* The answer opens the body on the page's pale tint */
.bg-answer,.article-body>.short-answer{background:var(--pale);color:var(--pale-ink);border-radius:var(--r-panel);padding:var(--s5)}
.article-body>section:is(.bg-answer,.short-answer,.aa-facts,[aria-labelledby="source-ledger"])>h2{border:0;padding:0}
.article-body .bg-answer h2,.article-body>.short-answer h2{color:var(--pale-ink)}
.bg-answer ul{list-style:none;margin:0;padding:0;border-bottom:1px solid color-mix(in srgb,var(--pale-ink) 20%,var(--pale))}
.article-body .bg-answer li{position:relative;margin:0;padding:var(--s2) 0 var(--s2) var(--s5);border-top:1px solid color-mix(in srgb,var(--pale-ink) 20%,var(--pale));font:400 20px/1.5 var(--font);color:var(--pale-ink)}
.bg-answer li::before{content:"→";content:"→" / "";position:absolute;left:0;top:var(--s2);font:500 20px/1.5 var(--font);color:var(--pale-ink)}
.bg-answer a,.article-body>.short-answer a{color:var(--pale-ink);text-decoration-color:color-mix(in srgb,var(--pale-ink) 40%,var(--pale))}

/* Tables: a heavy header rule, hairline rows, tabular figures */
.table-scroll{margin:var(--s4) 0}
table{border-collapse:collapse;width:100%}
.article-body table,.prose table{font:400 var(--t-ui)/1.55 var(--font);margin:0}
th,td{padding:var(--s2) var(--s2) var(--s2) 0;text-align:left;vertical-align:top;font-variant-numeric:tabular-nums}
thead th{font:600 var(--t-meta)/1.4 var(--font);color:var(--ink);background:none;border:0;border-bottom:2px solid var(--line-strong);padding:0 var(--s2) 10px 0}
tbody th,tbody td{border-bottom:1px solid var(--line)}
tbody th{font-weight:600;color:var(--ink);padding-left:0;border-top:0;background:none}
tbody td:last-child,thead th:last-child{padding-right:0}
.comparison tbody th{background:var(--bg)}

/* Steps: a numbered ledger on hairlines */
.article-body ol.plain-list{list-style:none;padding:0;counter-reset:step;margin:var(--s3) 0;border-top:2px solid var(--line-strong)}
.article-body ol.plain-list>li{counter-increment:step;position:relative;margin:0;padding:var(--s2) 0 var(--s2) var(--s6);border-bottom:1px solid var(--line)}
.article-body ol.plain-list>li::before{content:counter(step,decimal-leading-zero);content:counter(step,decimal-leading-zero) / "";position:absolute;left:0;top:var(--s2);font:500 13px/calc(var(--t-body) * var(--lh-body)) var(--mono);color:var(--mark);font-variant-numeric:tabular-nums}

/* References: a quiet panel that reads as a bibliography; a cited source lights up when followed */
.article-body section[aria-labelledby="source-ledger"]{background:var(--surface);border-radius:var(--r-panel);padding:var(--s5)}
.article-body section[aria-labelledby="source-ledger"] ol.plain-list{columns:2;column-gap:var(--s5);border:0;margin:0}
.article-body section[aria-labelledby="source-ledger"] ol.plain-list>li{break-inside:avoid;padding:0 0 var(--s3);border:0;font:500 var(--t-ui)/1.45 var(--font)}
.article-body section[aria-labelledby="source-ledger"] ol.plain-list>li::before{content:none}
.article-body section[aria-labelledby="source-ledger"] li:target{outline:2px solid var(--mark);outline-offset:6px;border-radius:2px}
.article-body .plain-list li .small{font:var(--t-meta)/1.55 var(--font);color:var(--ink-3);margin:4px 0 0}
.article-body .editorial-end p,.article-body section[aria-labelledby="sources"] p{font-size:var(--t-ui);color:var(--ink-2)}

/* Sources on software pages: a closed list at the bottom that opens on demand, or when a citation is followed */
.sources-drawer summary{display:flex;align-items:baseline;gap:var(--s2);cursor:pointer;list-style:none}
.sources-drawer summary::-webkit-details-marker{display:none}
.sources-drawer summary h2{margin:0;padding:0;border:0;font-size:26px}
.sources-drawer summary::after{content:"";align-self:center;margin-left:auto;width:9px;height:9px;border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.sources-drawer[open] summary::after{transform:rotate(-135deg)}
.sources-drawer[open] summary{margin-bottom:var(--s3)}
.sources-drawer summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.sources-meta{font:500 12px/1.4 var(--mono);color:var(--ink-3)}
.prose .sources-drawer,.split>.sources-drawer{margin-top:var(--s8);padding:var(--s3) var(--s4);background:var(--surface);border-radius:var(--r-panel)}
.split>.sources-drawer{grid-area:2/1;max-width:690px}
.split:has(>.sources-drawer){row-gap:0}
.split:has(>.sources-drawer)>.prose{grid-area:1/1}
.split:has(>.sources-drawer)>.aside-note{grid-area:1/2/span 2}
.sources-list{list-style:none;margin:0;padding:0}
.sources-list li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);margin:0;padding:10px 0;border-top:1px solid var(--line);font:500 var(--t-ui)/1.45 var(--font)}
.sources-domain{flex-shrink:0;font:500 12px/1.4 var(--mono);color:var(--ink-3)}
@media(max-width:700px){.sources-drawer summary{flex-wrap:wrap}.sources-meta{order:3;width:100%}.prose .sources-drawer,.split>.sources-drawer{padding:var(--s2)}.sources-list li{display:block}.sources-domain{display:block;margin-top:2px}}
@media print{.sources-drawer>*{display:block}}

/* Common questions as a ledger: the question on the left, its answer beside it */
.article-body section[aria-labelledby="faq"]{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--s4)}
.article-body section[aria-labelledby="faq"]>*{grid-column:1/-1}
.article-body section[aria-labelledby="faq"]>h3{grid-column:1;font:470 21px/1.3 var(--display);letter-spacing:-.008em;margin:0;padding:var(--s3) 0;border-top:1px solid var(--line)}
.article-body section[aria-labelledby="faq"]>h3~p,.article-body section[aria-labelledby="faq"]>h3~ul{grid-column:2;font-size:16px;line-height:1.6;margin:0;padding:0 0 var(--s2)}
.article-body section[aria-labelledby="faq"]>h3+p{border-top:1px solid var(--line);padding-top:var(--s3)}

/* Keep reading: each next guide as a small cover in its own pairing */
.related{border-top:0;padding-top:0}
.article-body>.related{margin-top:var(--s12)}
.related h2{font-size:34px;margin:0 0 var(--s3)}
.related .guide-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--s2)}
.related .guide-card{position:relative;display:flex;flex-direction:column;min-height:236px;padding:var(--s3);border:0;border-radius:var(--r-panel);background:var(--field);color:var(--pale)}
.related .guide-card>div{display:flex;flex-direction:column;flex:1;margin:0}
.related .guide-card h3{order:1;margin:auto 0 var(--s1);font:440 23px/1.15 var(--display);letter-spacing:-.01em;color:var(--pale)}
.related .guide-card h3 a{color:var(--pale);text-decoration:none}
.related .guide-card h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.related .guide-card p{order:2;margin:0;font:400 14px/1.5 var(--font);color:color-mix(in srgb,var(--pale) 80%,var(--field))}
.related .guide-card .text-link{display:none}
.guide-card :is(h2,h3) a:focus-visible{outline:none}
.guide-card:has(:is(h2,h3) a:focus-visible){outline:2px solid var(--accent);outline-offset:3px}

/* Home: a masthead, the lead guide as a cover, then the library by page type */
.home-intro{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s4) var(--s5);align-items:end;padding:var(--s10) 0 var(--s6)}
.home-intro h1{grid-column:1/-1;font-size:clamp(52px,7.7vw,112px);line-height:.95;letter-spacing:-.03em;margin:0}
.home-intro-copy{grid-column:2;display:flex;flex-direction:column;gap:var(--s3)}
.home-intro p{font:400 var(--t-lead)/1.45 var(--font);color:var(--ink-2);max-width:32ch;margin:0}
.feature{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s5);align-items:stretch;background:var(--field);color:var(--pale);border:0;border-radius:var(--r-panel);padding:var(--s3)}
.feature>a{display:block;min-width:0}
.feature img{width:100%;height:100%;min-height:340px;aspect-ratio:auto;object-fit:cover;border-radius:var(--r-tile)}
.feature-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:var(--s3) var(--s3) var(--s2) 0}
.feature-copy h2{order:1}.feature-copy p{order:2}.feature-copy .text-link{order:3}
.feature h2{font:440 clamp(34px,3.6vw,52px)/1.04 var(--display);letter-spacing:-.02em;margin:0 0 var(--s2)}
.feature h2 a{color:var(--pale);text-decoration:none}
.feature h2 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.12em}
.feature p{font:400 var(--t-body)/1.6 var(--font);color:color-mix(in srgb,var(--pale) 86%,var(--field));margin:0 0 var(--s3);max-width:40ch}
.feature .text-link{color:var(--pale);text-decoration-color:color-mix(in srgb,var(--pale) 45%,var(--field))}
.feature :focus-visible{outline-color:var(--pale)}
.section{margin-top:var(--s10)}
main>.section{margin-top:var(--s12)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s3);margin:0;border-top:2px solid var(--line-strong);padding-top:var(--s3)}
.section-head h2{font-size:var(--t-h2);margin:0}
.section-deck{font:400 var(--t-body)/1.55 var(--font);color:var(--ink-2);max-width:60ch;margin:var(--s2) 0 0}
.filter-bar{display:flex;align-items:end;justify-content:space-between;gap:var(--s3);border:0;border-bottom:1px solid var(--line);padding:0;margin:var(--s3) 0 0}
.filter-list{display:flex;flex-wrap:wrap;gap:0 var(--s3)}
.filter{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:12px 0 10px;min-height:48px;font:500 var(--t-ui)/1.4 var(--font);color:var(--ink-3);box-shadow:none}
.filter:hover{border-color:transparent;color:var(--ink)}
.filter[aria-pressed=true]{background:none;color:var(--ink);border-bottom-color:var(--accent)}
.search{flex:0 1 280px;padding-bottom:var(--s1)}
.search input{background:var(--white);border:1px solid var(--line);border-radius:var(--r-control);padding:10px 12px;font:400 var(--t-ui)/1.4 var(--font);color:var(--ink)}
.search input::placeholder{color:var(--ink-3)}
.search input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.result-count{font:500 var(--t-meta)/1.5 var(--font);color:var(--ink-3);margin:var(--s2) 0 0}
/* Library cards sit on their page type's pale tint; the whole card is the link */
.library-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);border:0;margin-top:var(--s3)}
.library-list .guide-card{position:relative;display:flex;min-height:220px;padding:var(--s4);border:0;border-radius:var(--r-panel);background:var(--pale);color:var(--pale-ink)}
.library-list .guide-card>div{display:flex;flex-direction:column;gap:var(--s1);width:100%;margin:0}
.library-list .guide-card :is(h2,h3){order:1;font:440 30px/1.1 var(--display);letter-spacing:-.016em;margin:0}
.library-list .guide-card :is(h2,h3) a{color:var(--pale-ink);text-decoration:none}
.library-list .guide-card :is(h2,h3) a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.library-list .guide-card p{order:2;font:400 16px/1.55 var(--font);color:color-mix(in srgb,var(--pale-ink) 80%,var(--pale));margin:0;max-width:46ch}
.library-list .guide-card .topic{order:3;margin-top:auto;padding-top:var(--s3);font:500 13px/1.4 var(--mono);color:color-mix(in srgb,var(--pale-ink) 80%,var(--pale));text-align:left}
.library-list .guide-card .text-link{display:none}
.home-group{margin-top:var(--s4)}
.home-group-title{font:600 var(--t-body)/1.4 var(--font);color:var(--ink);margin:0 0 var(--s2);padding:0;border:0}
.home-group .library-list,.section .home-group .library-list{margin-top:0}
.utility-band{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);border-top:2px solid var(--line-strong);padding:var(--s4) 0 0;margin-top:var(--s12)}
.utility-band h2{font-size:30px;margin:0 0 var(--s1)}
.utility-band p{color:var(--ink-2);max-width:42ch;margin:0 0 var(--s2)}

/* Software directory */
.product-list{gap:0 var(--s8);border-top:1px solid var(--line)}
.product-item{padding:var(--s4) 0;border-color:var(--line)}
.product-heading{margin-bottom:var(--s1)}
.product-heading h2{font-size:30px;margin:0}
.product-heading h2 a{color:var(--ink);text-decoration:none}
.product-heading .topic{margin:4px 0 0}
.product-item p{font:400 17px/1.6 var(--font);color:var(--ink-2)}
.save-button{border:0;background:none;padding:var(--s1) 0;min-height:48px;font:500 var(--t-meta)/1.4 var(--font);color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:.2em}
.save-button[aria-pressed=true]{background:none;color:var(--accent-strong);text-decoration-color:currentColor}
.compare-tray{border-radius:var(--r-control);background:var(--ink)}

/* Prose pages, side notes and forms */
.split{gap:var(--s12);margin:var(--s3) 0 var(--s10)}
.prose p,.prose li{font:400 var(--t-body)/var(--lh-body) var(--font)}
.prose h2{font-size:30px;line-height:1.12;margin-top:var(--s8)}
.prose h2:first-child{margin-top:0}
.aside-note{border-top:2px solid var(--line-strong);padding-top:var(--s3)}
.aside-note h2{font-size:22px}
.aside-note p,.aside-note li{font-size:var(--t-ui);line-height:1.6;color:var(--ink-2)}
.notice{font-size:var(--t-ui);background:var(--surface);border-radius:var(--r-tile)}
.field input,.field select,.field textarea,.choice{border-radius:var(--r-control);border-color:var(--line);background:var(--white)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.choice:has(input:checked){border-color:var(--accent);background:var(--accent-tint)}

/* Sponsored material always sits on the sand tint, labeled in its own words */
.format-example{background:var(--sponsor-tint);border:1px solid var(--sponsor-line);border-radius:var(--r-tile);padding:var(--s3) var(--s4)}
.format-example .sponsor-label,.sponsor-label{display:block;font:600 var(--t-meta)/1.4 var(--font)!important;color:var(--sponsor-ink);margin-bottom:var(--s1)}
.format-example p,.format-example .small.muted{color:var(--ink)}
.format-example a{color:var(--sponsor-ink);text-decoration-color:var(--sponsor-line)}

/* Buying guides: the category map and the product list */
.bg-map{margin:var(--s5) 0 var(--s3)}
.article-body .bg-map h3{margin:0 0 4px}
.article-body .bg-map .bg-map-axes{font:500 var(--t-ui)/1.5 var(--font);color:var(--ink-2);margin:0 0 var(--s2)}
.bg-map-grid{display:grid;grid-template-columns:136px minmax(0,1fr) minmax(0,1fr);gap:4px}
.bg-map-col,.bg-map-row{font:600 var(--t-meta)/1.4 var(--font);color:var(--pale-ink)}
.bg-map-col{padding:0 var(--s2) var(--s1);align-self:end}
.bg-map-row{padding:var(--s2) var(--s2) var(--s2) 0;border-top:2px solid var(--field)}
.bg-map-cell{background:var(--pale);border-top:2px solid var(--field);border-radius:0 0 var(--r-tile) var(--r-tile);padding:var(--s2);min-height:136px}
.bg-map-cell.is-empty{background:var(--surface);border-top-color:var(--line)}
.article-body .bg-map-key{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.article-body .bg-map-empty{font:400 var(--t-meta)/1.5 var(--font);color:var(--ink-3);margin:0}
.bg-map figcaption{font:var(--t-meta)/1.6 var(--font);color:var(--ink-2);margin:var(--s2) 0 0}
.bg-map-table caption{text-align:left;font:600 var(--t-ui)/1.4 var(--font);color:var(--ink);padding:0 0 var(--s1)}
.bg-cite{display:block;font:var(--t-meta)/1.5 var(--font);color:var(--ink-3);margin-top:4px}
.bg-products{list-style:none;padding:0;margin:var(--s3) 0 0;border-top:2px solid var(--line-strong)}
.article-body .bg-products li{padding:var(--s3) 0;border-bottom:1px solid var(--line);margin:0}
.article-body .bg-products h3{margin:0 0 var(--s1);font:440 26px/1.15 var(--display);letter-spacing:-.01em}
.article-body .bg-products h3 a{color:var(--ink);text-decoration:none}
.article-body .bg-products h3 a:hover{color:var(--accent-strong)}
.article-body .bg-products p{margin:0 0 var(--s1);color:var(--ink-2);font-size:var(--t-ui)}

/* Landscape tiles: each vendor's own square mark, unmodified, with its name and our coverage */
.bg-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.article-body .bg-tile{margin:0;font:400 var(--t-meta)/1.35 var(--font)}
.bg-tile a,.bg-tile>span{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff;border-radius:10px;box-shadow:0 0 0 1px rgba(20,26,22,.08);color:var(--ink);text-decoration:none;height:100%}
.bg-tile a:hover{box-shadow:0 0 0 2px var(--mark)}
.bg-tile a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:10px}
.bg-mark{display:block;flex-shrink:0;border-radius:8px}
.bg-tile-text{display:flex;flex-direction:column;min-width:0}
.bg-tile-name{font:600 var(--t-ui)/1.25 var(--font);color:var(--ink)}
.bg-tile.is-small a,.bg-tile.is-small>span{padding:8px 10px;gap:10px}
.bg-tile.is-small .bg-tile-name{font-size:var(--t-meta)}
.bg-pending{margin-top:var(--s2);padding:var(--s2);background:var(--surface);border-radius:12px}
.article-body .bg-pending-title{font:500 var(--t-meta)/1.5 var(--font);color:var(--ink-2);margin:0 0 var(--s2)}
.bg-pending-group+.bg-pending-group{margin-top:var(--s2)}
.article-body .bg-pending-type{font:500 12px/1.4 var(--mono);color:var(--ink-3);margin:0 0 var(--s1)}
.bg-pending .bg-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}

/* Cover plates: evidence on a paper card inside the cover. They repeat what the page says, so
   they are hidden from assistive technology; the body carries the same facts with sources. */
.plate{margin:0;background:var(--bg);color:var(--ink);border-radius:var(--r-panel);padding:var(--s3);box-shadow:0 1px 0 rgba(0,0,0,.08),0 28px 56px -28px rgba(0,0,0,.55)}
.plate dl{margin:0}
.plate dt{font:500 11px/1.5 var(--mono);color:var(--ink-3);margin:0}
.plate dd{margin:0;font:440 18px/1.3 var(--display);color:var(--ink)}
.plate-note{font:500 11px/1.5 var(--mono);color:var(--ink-3);margin:var(--s2) 0 0}
.plate-mark{display:block;flex-shrink:0;border-radius:10px;background:#fff;box-shadow:0 0 0 1px rgba(20,26,22,.08)}
.plate-brand{padding:4px 0 var(--s2);border-bottom:2px solid var(--ink);margin-bottom:var(--s1)}
.wordmark-img{display:block;max-width:100%}
.wordmark-pair{display:inline-flex;align-items:center;gap:12px;font:600 22px/1 var(--font);color:var(--ink)}
.wordmark-pair img{border-radius:8px}
/* The category map in miniature */
.plate-grid{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:6px}
.plate-axis{grid-column:2/-1;font:500 11px/1.3 var(--mono);color:var(--ink-3)}
.plate-col{font:600 12px/1.25 var(--font);color:var(--ink-2);padding:2px 4px 4px;align-self:end}
.plate-grid .plate-col:nth-of-type(2){grid-column:2}
.plate-row{writing-mode:vertical-rl;transform:rotate(180deg);font:600 11px/1.2 var(--font);color:var(--ink-2);text-align:center;padding:4px 2px;max-height:150px}
.plate-cell{list-style:none;margin:0;padding:10px;background:var(--pale);border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start;min-height:124px}
.plate-cell.is-empty{background:var(--surface)}
.plate-cell li{display:flex;flex-direction:column;align-items:center;gap:6px;width:68px;font:600 11px/1.2 var(--font);color:var(--pale-ink);text-align:center}
.plate-shelf{margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.plate-shelf>span{font:500 11px/1.3 var(--mono);color:var(--ink-3)}
.plate-shelf ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.plate-shelf .plate-mark{border-radius:7px}
/* A product's facts */
.plate-facts dl>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:var(--s2);align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line)}
/* Two products */
.plate-vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s2);padding:4px 0 var(--s2);border-bottom:2px solid var(--ink)}
.plate-vs>span{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.plate-vs b{font:600 15px/1.2 var(--font)}
.plate-vs i{font:italic 400 30px/1 var(--display);color:var(--ink-3)}
.plate-versus dl>div{display:grid;grid-template-columns:1fr 1fr;gap:4px var(--s2);padding:12px 0;border-bottom:1px solid var(--line);text-align:center}
.plate-versus dt{grid-column:1/-1}
.plate-versus dd{font-size:17px}
/* An incumbent and its alternatives */
.plate-alts ul{list-style:none;margin:0;padding:0}
.plate-alts li{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.plate-alts li span{display:flex;flex-direction:column;font:400 13px/1.35 var(--font);color:var(--ink-2)}
.plate-alts li b{font:440 18px/1.2 var(--display);color:var(--ink)}
/* Kinds of software */
.plate-kinds ul{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.plate-kinds li{display:flex;align-items:baseline;gap:var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--line);font:440 28px/1.15 var(--display);color:var(--ink)}
/* Generated concept art is drawn on the field color, so it sits flush on the cover */
.article-hero>img.cover-art{aspect-ratio:1/1;object-fit:contain;border-radius:0;background:var(--field)}
/* Marks inside plates keep the size their markup gives them, whatever older image rules say */
figure.plate img{min-height:0;max-width:100%;aspect-ratio:auto;margin:0;object-fit:contain}
main>.page-intro:has(>.cover-art){display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);column-gap:var(--s8);align-items:end}
main>.page-intro:has(>.cover-art)>h1,main>.page-intro:has(>.cover-art)>.deck{grid-column:1}
main>.page-intro>.cover-art{grid-column:2;grid-row:1/span 2;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:var(--field)}
/* Product notes covers lead with the vendor's mark */
main>.page-intro>.product-heading{order:0;display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s3)}

/* Where one product sits on its category map */
.mini-map{margin:var(--s3) 0;padding:var(--s2);background:var(--surface);border-radius:var(--r-panel)}
.mini-grid{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:4px;margin-bottom:12px}
.mini-col{font:500 10px/1.3 var(--mono);color:var(--ink-3);padding:0 4px 4px;align-self:end}
.mini-grid>span:first-child+.mini-col{grid-column:2}
.mini-row{writing-mode:vertical-rl;transform:rotate(180deg);font:500 10px/1.2 var(--mono);color:var(--ink-3);text-align:center;max-height:96px}
.mini-cell{list-style:none;margin:0;padding:8px;min-height:52px;background:var(--bg);border-radius:8px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}
.mini-cell.is-here{background:var(--pale);box-shadow:inset 0 0 0 2px var(--mark)}
.mini-cell li{border-radius:9px}
.mini-cell li.is-current{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--mark)}
.mini-mark{display:block;border-radius:7px;background:#fff}
.mini-map figcaption,.aside-note .mini-map figcaption{font:400 var(--t-meta)/1.55 var(--font);color:var(--ink-2);margin:0}
.mini-map figcaption strong{color:var(--ink);font-weight:600}
.cluster-links{font-size:var(--t-ui)}

/* The cluster strip: every page in a category, one click away */
.cluster{display:flex;align-items:center;gap:var(--s2);margin:0;padding:6px 0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.cluster::-webkit-scrollbar{display:none}
main>.page-intro+.cluster{margin-top:0}
.cluster+.split{margin-top:var(--s6)}
.cluster ul{list-style:none;margin:0;padding:0;display:flex;gap:var(--s3)}
.cluster a{display:block;padding:10px 0;font:500 var(--t-ui)/1.3 var(--font);color:var(--ink-2);text-decoration:none;white-space:nowrap}
.cluster a:hover{color:var(--ink)}
.cluster a[aria-current=page]{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px var(--mark)}

/* Front page: questions buyers ask, each linked to the page that answers it */
.question-list{list-style:none;margin:var(--s3) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s5);border-top:2px solid var(--line-strong)}
.question-list li{border-bottom:1px solid var(--line)}
.question-list a{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);padding:var(--s2) 0;color:var(--ink);text-decoration:none}
.question-list .q{font:440 20px/1.3 var(--display);letter-spacing:-.01em}
.question-list a::after{content:"→";flex-shrink:0;color:var(--ink-3);transition:transform .2s}
.question-list a:hover::after{transform:translateX(3px);color:var(--ink)}
.question-list a:hover .q{text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:.18em}
/* Front page: every category guide by name, under the job it serves */
.category-index{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:var(--s5);margin-top:var(--s3);border-top:2px solid var(--line-strong)}
.category-group{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:baseline;padding:var(--s2) 0;border-bottom:1px solid var(--line)}
.category-group h3{font:600 var(--t-ui)/1.4 var(--font);color:var(--ink);margin:0}
/* As many columns as fit the longest name on one line */
.category-group ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));column-gap:var(--s3)}
.category-group a{display:block;padding:var(--s1) 0;font:440 20px/1.3 var(--display);letter-spacing:-.01em;color:var(--ink);text-decoration-color:var(--line);text-underline-offset:.18em}
.category-group a:hover{color:var(--accent-strong);text-decoration-color:currentColor}
.feature-visual{display:block;min-width:0}
.feature .plate{height:100%}
/* Card visuals: the vendors' marks, or the concept art */
.card-visual{order:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 var(--s3)}
.card-visual i{font:italic 400 18px/1 var(--display);color:color-mix(in srgb,var(--pale-ink) 70%,var(--pale));padding:0 4px}
.card-mark{display:block;border-radius:8px;background:#fff;box-shadow:0 0 0 1px rgba(20,26,22,.08)}
.card-art{display:block;border-radius:12px}
.index-note{font:400 var(--t-ui)/1.6 var(--font);color:var(--ink-2);margin:var(--s3) 0 0}
/* How we research, as three promises */
.method-list{list-style:none;margin:var(--s3) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}
.method-list li{padding:var(--s3);background:var(--surface);border-radius:var(--r-panel);font:400 16px/1.55 var(--font);color:var(--ink-2)}
.method-list b{display:block;font:440 22px/1.2 var(--display);color:var(--ink);margin-bottom:var(--s1)}

/* A vendor without a logo file in the ledger: its initial on a quiet tile, the size of a mark */
.mark-initial{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:22%;background:var(--surface);color:var(--ink);font-family:var(--display);font-weight:500;line-height:1;box-shadow:inset 0 0 0 1px var(--line)}

/* Research guides: tables with a caption and one source line beneath */
.article-body table caption{text-align:left;font:600 var(--t-ui)/1.4 var(--font);color:var(--ink);padding:0 0 var(--s1);caption-side:top}
.article-body .table-source{margin:calc(var(--s1) * -1) 0 var(--s3)}

/* Comparisons */
.th-mark{display:inline-flex;align-items:center;gap:8px}
.th-mark img{border-radius:5px;background:#fff}
.fit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);margin-top:var(--s3)}
.fit-col{background:var(--pale);border-radius:var(--r-panel);padding:var(--s3)}
.article-body .fit-col h3{display:flex;align-items:center;gap:10px;margin:0 0 var(--s2);font:440 22px/1.2 var(--display);color:var(--pale-ink)}
.fit-col h3 img{border-radius:7px;background:#fff}
.fit-list{list-style:none;margin:0;padding:0}
.article-body .fit-list li{margin:0;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--pale-ink) 20%,var(--pale));font-size:16px;line-height:1.55;color:var(--pale-ink)}
.fit-list strong{display:block}
.alt-list{list-style:none;padding:0;margin:var(--s3) 0 0;border-top:2px solid var(--line-strong)}
.article-body .alt-item{margin:0;padding:var(--s3) 0;border-bottom:1px solid var(--line)}
.alt-head{display:flex;align-items:center;gap:var(--s2);margin-bottom:12px}
.alt-head img{border-radius:9px;background:#fff;box-shadow:0 0 0 1px rgba(20,26,22,.08)}
.article-body .alt-head h3{margin:0;font:440 28px/1.15 var(--display)}
.alt-head h3 a{color:var(--ink);text-decoration:none}
.alt-head h3 a:hover{color:var(--accent-strong)}
.alt-head .topic{margin-left:auto;font:500 12px/1.4 var(--mono)}
.article-body .alt-choose{font-size:19px;margin:0 0 var(--s2)}
.alt-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);margin:0 0 var(--s1)}
.alt-facts dt{font:500 11px/1.4 var(--mono);color:var(--ink-3)}
.alt-facts dd{margin:4px 0 0;font:400 15px/1.5 var(--font);color:var(--ink-2)}
.pending-list{list-style:none;margin:var(--s2) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px var(--s3)}
.article-body .pending-list li{display:flex;align-items:center;gap:12px;margin:0}
.pending-list img{border-radius:7px;background:#fff;box-shadow:0 0 0 1px rgba(20,26,22,.08)}
.pending-list span{display:flex;flex-direction:column;font:400 13px/1.4 var(--font);color:var(--ink-3)}
.pending-list b{font:600 15px/1.3 var(--font);color:var(--ink)}

@media(max-width:950px){
  .question-list{grid-template-columns:minmax(0,1fr)}
  .category-index,.category-group{display:block}
  .category-group ul{margin-top:var(--s1)}
  .method-list{grid-template-columns:minmax(0,1fr)}
  main>.page-intro:has(>.cover-art){column-gap:var(--s5)}
}
@media(max-width:700px){
  .article-hero>img.cover-art{aspect-ratio:4/3}
  .article-hero .plate{margin-top:var(--s3)}
  .plate{padding:var(--s2)}
  .plate-cell li{width:60px}
  .plate-kinds li{font-size:22px}
  main>.page-intro:has(>.cover-art){display:flex}
  main>.page-intro>.cover-art{order:3;aspect-ratio:4/3;margin-top:var(--s3)}
  .home-intro-copy{margin-top:var(--s3)}
  .question-list .q{font-size:18px}
  .category-group{padding:var(--s2) 0 var(--s1)}
  .category-group a{padding:10px 0;font-size:18px}
  .fit-grid,.alt-facts,.pending-list{grid-template-columns:minmax(0,1fr)}
  .alt-head{flex-wrap:wrap}
  .alt-head .topic{margin-left:0;width:100%}
  .cluster{margin:0 calc(var(--s2) * -1);padding:6px var(--s2)}
}
@media print{.plate{box-shadow:none;border:1px solid #999}.cluster{display:none}}

/* One orchestrated entrance: the cover settles in; cards lift on hover */
@media(prefers-reduced-motion:no-preference){
  .article-hero>div>*,.article-hero>img,.article-hero>.plate,main>.page-intro>*{animation:cover-in .7s cubic-bezier(.2,.7,.2,1) both}
  .article-hero .deck{animation-delay:.06s}
  .article-hero>img,.article-hero>.plate{animation-delay:.12s}
  @keyframes cover-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  .library-list .guide-card,.related .guide-card{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
  .library-list .guide-card:hover,.related .guide-card:hover{transform:translateY(-3px)}
}

@media(max-width:950px){
  .article-hero,.home-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s5)}
  .article-hero{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
  .feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s3)}
  .article-grid{grid-template-columns:184px minmax(0,1fr);gap:var(--s5)}
  .split{gap:var(--s6)}
  /* The full navigation needs about 720px; below that it folds behind Menu */
  .menu-button{display:block;padding:12px 0 12px var(--s2);font:500 var(--t-ui)/1.4 var(--font);color:var(--ink);min-height:48px}
  .site-nav{display:none;position:absolute;top:71px;left:0;right:0;padding:var(--s2) var(--s3);background:var(--bg);border-bottom:1px solid var(--line);z-index:50;box-shadow:none}
  .site-nav.open{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3)}
  .site-nav .nav-commercial{border:0;padding-left:0}
}
@media(max-width:700px){
  :root{--t-body:17px;--t-lead:19px;--t-h2:32px;--t-h3:20px}
  .wrap{padding:0 var(--s2)}
  .site-header{height:64px}.site-nav{top:63px;padding:var(--s2)}
  main>.bread{padding-top:var(--s3)}
  .page-intro,main>.page-intro{padding:var(--s5) 0 var(--s4)}
  .article-hero,.home-intro,.feature{display:block}
  .article-hero{padding:var(--s4) 0}
  .article-hero h1{font-size:42px}
  .article-hero>img{aspect-ratio:16/9;margin-top:var(--s3)}
  .byline{gap:4px var(--s2)}
  .article-grid{display:block;margin-top:var(--s5)}
  .toc{position:static;border-bottom:1px solid var(--line);padding-bottom:var(--s3);margin-bottom:var(--s6)}
  .toc .toc-links{display:grid;grid-template-columns:1fr 1fr;gap:2px var(--s2)}
  .toc a{border:0;padding:6px 0;color:var(--ink-2);text-decoration:none}
  .toc a.active{border:0;padding-left:0}
  .article-body>section{margin-top:var(--s8)}
  .bg-answer,.article-body>.short-answer{padding:var(--s3) var(--s2)}
  .article-body .bg-answer li{font-size:18px;padding-left:var(--s4)}
  .bg-answer li::before{font-size:18px}
  .article-body section[aria-labelledby="faq"]{display:block}
  .article-body section[aria-labelledby="faq"]>h3{padding:var(--s3) 0 var(--s1)}
  .article-body section[aria-labelledby="faq"]>h3+p{border:0;padding-top:0}
  .article-body section[aria-labelledby="source-ledger"]{padding:var(--s3) var(--s2)}
  .article-body section[aria-labelledby="source-ledger"] ol.plain-list{columns:1}
  .article-body ol.plain-list>li{padding-left:var(--s5)}
  .related .guide-card{min-height:184px}
  .home-intro{padding:var(--s5) 0 var(--s4)}
  .home-intro h1{font-size:50px;margin-bottom:var(--s3)}
  .feature{padding:var(--s2)}
  .feature img{min-height:0;height:auto;aspect-ratio:16/10}
  .feature-copy{padding:var(--s3) var(--s1) var(--s1)}
  .feature h2{margin-top:var(--s3)}
  main>.section{margin-top:var(--s10)}
  .library-list{grid-template-columns:minmax(0,1fr)}
  .library-list .guide-card{min-height:0;padding:var(--s3)}
  .library-list .guide-card :is(h2,h3){font-size:26px}
  .filter-bar{display:block}
  .filter-list{gap:0 var(--s2)}
  .search{padding:var(--s1) 0 var(--s2)}
  .section-head{flex-wrap:wrap;align-items:baseline;gap:var(--s1) var(--s3)}
  .section-head a{font-size:var(--t-ui)}
  .utility-band{grid-template-columns:1fr;gap:var(--s4)}
  .utility-band>div+div{padding:var(--s4) 0 0;border-top:1px solid var(--line);margin:0}
  .product-list{display:block}
  .split{display:block}
  .format-example{padding:var(--s3)}
  .bg-map-grid{grid-template-columns:minmax(0,1fr);gap:var(--s1)}
  .bg-map-corner,.bg-map-col,.bg-map-row{display:none}
  .bg-map-cell{min-height:0;border-radius:var(--r-tile)}
  .article-body .bg-map-key{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;display:block;font:600 var(--t-meta)/1.4 var(--font);color:var(--pale-ink);margin:0 0 var(--s1)}
  .article-body .bg-map-cell.is-empty .bg-map-key{color:var(--ink-3)}
  .bg-tiles{grid-template-columns:minmax(0,1fr)}
  .bg-pending .bg-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* Tables become one labeled block per row */
  .table-scroll:has(table[data-stack]){overflow:visible}
  table[data-stack],table[data-stack] tbody,table[data-stack] tr,table[data-stack] th,table[data-stack] td{display:block;width:auto;min-width:0!important;position:static}
  table[data-stack] caption{display:block;width:auto}
  table[data-stack] thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  table[data-stack] tr{border-top:2px solid var(--line-strong);padding:var(--s2) 0}
  table[data-stack] tbody th{font:600 var(--t-body)/1.4 var(--font);padding:0 0 var(--s1);border:0;background:none;box-shadow:none}
  table[data-stack] td{padding:var(--s1) 0 0;border:0}
  table[data-stack] td[data-label]::before{content:attr(data-label);display:block;font:500 12px/1.4 var(--mono);color:var(--ink-3);margin-bottom:2px}
  .scroll-hint{display:none!important}
}
/* Print in ink on white: covers and cards give up their fields */
@media print{
  :root,body[data-page],[data-type]{--field:#fff;--pale:#000;--pale-ink:#000;--mark:#000}
  .footer{background:none}
  .article-hero{display:block}.article-hero>img,.article-hero>.plate{display:none}
}
