/* Functional floor shared by every design (prepended to each design's style.css by render-designs.mjs).
   Behaviour only: no colour, font, spacing or layout choices live here. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0}
[hidden]{display:none!important}
img,svg,video{max-width:100%;height:auto}
img{display:block}
figure{margin:0}
table{border-collapse:collapse}
.skip{position:absolute;left:-9999px;top:0;z-index:100}
.skip:focus{left:12px;top:12px;padding:8px 12px;background:#fff;color:#000;outline:3px solid #000}
summary{cursor:pointer}
:focus-visible{outline:3px solid currentColor;outline-offset:2px}
sup.rf{line-height:0;font-size:.7em;white-space:nowrap}
.ed-share-url{width:100%;max-width:100%}
pre,code{white-space:pre-wrap;overflow-wrap:anywhere}
main{overflow-wrap:break-word}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.srcs,.srcw,.srcs a{overflow-wrap:anywhere}
/* Structure the old stylesheet gave the correction contact: the address sits on its own line under the link. */
.ed-ac-address,.ed-ac-contact-note{display:block;overflow-wrap:anywhere}
.ed-ac-contact{display:inline-flex;align-items:center;min-height:44px}

/* Monolith: bold modern buyer guide. Huge condensed headlines, full-width black blocks, one yellow.
   Per-site variables (fonts, colours, heading case) come from the variant CSS. */
body.mo{background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--body)}
.mo a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
.mo h1,.mo h2,.mo h3,.mo h4{font-family:var(--head);font-weight:var(--hw);line-height:1;letter-spacing:var(--track);margin:0 0 .45em;text-wrap:balance;hyphens:manual;overflow-wrap:break-word}
.mo h1 a,.mo h2 a,.mo h3 a{text-decoration:none}
.mo h1 a:hover,.mo h2 a:hover,.mo h3 a:hover{text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--yel)}
.mo p{margin:0 0 .9em}
.mo dl dd{margin-left:0}
.mo-in{max-width:1320px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px}
.mo-art{width:100%;height:100%;object-fit:cover;display:block}
/* Vendor images: high-contrast black-and-white crops */
.mo main img:not(.mo-art){filter:grayscale(1) contrast(1.18)}
.mo figcaption{font:400 13px/1.4 var(--body);color:var(--mute);margin-top:8px}

/* Bands */
.mo-band{width:100%}
.mo-ink{background:var(--blk);color:#fff}
.mo-paper{background:var(--paper);color:var(--ink)}
.mo-yellow{background:var(--yel);color:#0A0A0A}
.mo-ink a{color:#fff}
.mo-yellow a{color:#0A0A0A}

/* Kickers, bylines, read links */
.jn-category,.ep-kicker,.ed-guide-type{font:700 13px/1.3 var(--body)!important;letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px!important;display:inline-block}
.mo-paper .jn-category{color:var(--ink)}
.mo-bleed .ed-guide-type,.mo-bleed .ep-kicker{color:#fff}
.mo-paper .jn-category::before,.mo-ink .jn-category::before,.ep-kicker::before,.ed-guide-type::before{content:"";display:inline-block;width:12px;height:12px;background:var(--yel);margin-right:10px;vertical-align:-1px}
.mo-yellow .jn-category::before{content:"";display:inline-block;width:12px;height:12px;background:#0A0A0A;margin-right:10px;vertical-align:-1px}
.jn-byline,.ed-guide-byline,.ep-byline,.byline{font:600 13px/1.4 var(--body);letter-spacing:.08em;text-transform:uppercase}
.jn-read{display:inline-flex;align-items:center;gap:10px;font:700 14px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none!important;padding:12px 0 6px;border-bottom:3px solid currentColor}
.jn-read::after{content:"\2192";font-size:16px}
.mo-ink .jn-read{border-color:var(--yel)}
.jn-read:hover{color:inherit;opacity:.8}

/* Masthead: two treatments */
.mo-mast{width:100%}
.mo-mast-row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-top:26px;padding-bottom:20px}
.mo-brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-family:var(--head);font-weight:var(--hw);letter-spacing:var(--track);line-height:.9}
.mo-brand svg{flex:none;width:40px;height:40px}
.mo-meta .ed-mast-meta{margin:0;font:500 13px/1.5 var(--body);letter-spacing:.06em;text-align:right;max-width:52ch}
.mo-meta .ed-mast-meta span{display:block}
.mo-meta .ed-mast-meta time{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:12px}
.mo-nav{display:flex;flex-wrap:wrap;gap:0 34px}
.mo-nav a{display:block;font:700 14px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:15px 0 13px;border-bottom:3px solid transparent}
.mo-nav a:hover{border-bottom-color:currentColor}
.mo-nav .jn-nav-about{margin-left:auto}
/* slab: one black monolith from the top of the page, the yellow hairline marks the nav */
.mo-mast-slab{background:var(--blk);color:#fff}
.mo-mast-slab a{color:#fff}
.mo-mast-slab .mo-brand{font-size:clamp(34px,4.2vw,56px)}
.mo-mast-slab .mo-brand svg{filter:invert(1) grayscale(1)}
.mo-mast-slab .ed-mast-meta{color:var(--onblk)}
.mo-mast-slab .mo-navbar{border-top:1px solid #333;border-bottom:4px solid var(--yel)}
.mo-mast-slab .mo-nav a:hover{border-bottom-color:var(--yel)}
/* plate: a giant name on paper, a yellow nav strip under it */
.mo-mast-plate{background:var(--paper);color:var(--ink)}
.mo-mast-plate .mo-mast-row{align-items:flex-end;padding-top:30px;padding-bottom:18px}
.mo-mast-plate .mo-brand{font-size:clamp(44px,7vw,104px);text-transform:uppercase;color:var(--ink)}
.mo-mast-plate .mo-brand svg{filter:grayscale(1) contrast(1.4);width:52px;height:52px;align-self:flex-start;margin-top:6px}
.mo-mast-plate .ed-mast-meta{color:var(--mute)}
.mo-mast-plate .mo-navbar{background:var(--yel);border-top:6px solid var(--blk)}
.mo-mast-plate .mo-nav a{color:#0A0A0A}

/* Home: the black lead block */
.mo-hero{padding:0 0 56px}
.mo-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:stretch;padding-top:64px}
.mo-hero-copy{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:8px}
.mo-hero-copy h1{font-size:clamp(46px,6.6vw,104px);line-height:.92;text-transform:var(--case);margin-bottom:28px;color:#fff}
.mo-hero-copy p:not(.jn-category):not(.jn-byline){font-size:21px;line-height:1.5;max-width:46ch;color:#fff}
.mo-hero-copy .jn-byline{color:var(--onblk)}
.mo-hero-art{min-height:420px;border:1px solid #2a2a2a;overflow:hidden}
.mo-guides{margin-top:56px}
.mo-guides>h2,.mo-guides>header{font:700 13px/1.3 var(--body)!important;letter-spacing:.16em;text-transform:uppercase}
.mo-guide-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;border-top:1px solid #3a3a3a;counter-reset:mo-g}
.mo-guide-row>article{counter-increment:mo-g;padding:28px 40px 4px 0;position:relative}
.mo-guide-row>article+article{padding-left:40px;border-left:1px solid #3a3a3a}
.mo-guide-row>article::before{content:counter(mo-g,decimal-leading-zero);display:block;font:var(--hw) 56px/1 var(--head);color:var(--yel);margin-bottom:14px}
.mo-guide-row h2{font-size:clamp(28px,2.6vw,38px);text-transform:var(--case);color:#fff}
.mo-guide-row p:not(.jn-category){color:var(--onblk);font-size:17px}

/* Reviews on white */
.mo-reviews{padding:72px 0 80px}
.mo-sec-head header,.mo-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.mo-sec-head{border-bottom:8px solid var(--ink);padding-bottom:14px;margin-bottom:36px}
.mo-sec-head header{width:100%}
.mo-sec-head h2{font-size:clamp(44px,6vw,92px);line-height:.9;margin:0;text-transform:var(--case)}
.mo-sec-head a{font:700 14px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:3px solid var(--yel);padding-bottom:4px}
.mo-review-grid{display:flex;flex-direction:column;gap:56px}
.mo-feature article{display:grid!important;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start}
.mo-feature article>*{min-width:0}
.mo-feature article>figure,.mo-feature .mo-crop{aspect-ratio:16/10;overflow:hidden;background:var(--blk)}
.mo-feature h3{font-size:clamp(40px,4.4vw,64px);text-transform:var(--case)}
.mo-crop img{width:100%;height:100%;object-fit:cover}
.mo-crop-nexus{background:#000}
.mo-crop-nexus img{object-fit:contain;filter:grayscale(1) contrast(1.15)}
body.mo-nexus .ep-profile::before{height:400px;background-color:#fff;background-size:cover;background-position:top center;outline:1px solid var(--rule);outline-offset:-1px}
.mo-review-grid figure:not(.mo-crop){background:var(--blk);padding:14px 14px 0}
.mo-review-grid figure:not(.mo-crop) img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center;background:#fff}
.mo-review-grid figure figcaption{margin:0;color:#fff;padding:9px 0 11px;font-size:13px}
.mo-review-grid figure figcaption a{color:#fff}
.mo-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.mo-side article{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding-top:20px;border-top:3px solid var(--ink)}
.mo-side h3{font-size:clamp(30px,2.6vw,40px);text-transform:var(--case)}
.mo-reviews dl{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--rule);margin:6px 0 4px}
.mo-reviews dl>div{padding:12px 16px 12px 0}
.mo-reviews dl>div+div{border-left:1px solid var(--rule);padding-left:16px}
.mo-reviews dt{font:700 12px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
.mo-reviews dd{font-size:16px}
.jn-verdict,.jn-check{font-size:16px;border-left:6px solid var(--yel);padding-left:14px}
.jn-check{border-left-color:var(--ink)}

/* The comparison: a black block holding a white evidence panel */
.mo-market{padding:80px 0}
.mo-market [data-journal-review-index]>div{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px;align-items:start}
.mo-market [data-journal-review-index] header{position:sticky;top:24px;color:#fff}
.mo-market [data-journal-review-index] header h2{hyphens:auto;-webkit-hyphens:auto;font-size:clamp(48px,5.6vw,88px);line-height:.9;text-transform:var(--case);color:#fff}
.mo-market [data-journal-review-index] header p:not(.jn-category){color:var(--onblk);font-size:18px}
.mo-market [data-editorial-compare]{background:var(--paper);color:var(--ink);padding:32px 36px 20px}
.mo-market [data-editorial-compare] a{color:var(--ink)}
.ed-controls{display:flex;flex-direction:column;gap:16px;padding:0 0 22px;border-bottom:8px solid var(--ink);margin-bottom:8px}
.ed-control-group{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ed-control-label,.ed-focus>span{font:700 12px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase}
.ed-chipset{display:flex;flex-wrap:wrap;gap:6px}
.ed-chip{font:600 14px/1 var(--body);padding:10px 14px;border:2px solid var(--ink);background:transparent;color:var(--ink);border-radius:0;cursor:pointer}
.ed-chip[aria-pressed="true"]{background:var(--ink);color:#fff}
.ed-chip[aria-pressed="true"]::before{content:"";display:inline-block;width:8px;height:8px;background:var(--yel);margin-right:8px;vertical-align:1px}
.ed-chip span{display:none}
.ed-focus{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ed-focus select{font:500 15px var(--body);padding:8px 10px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0}
.ed-control-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ed-button{font:700 13px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;padding:12px 16px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:0}
.ed-button-accent{background:var(--yel);border-color:var(--yel);color:#0A0A0A}
.ed-control-status{font-size:14px;color:var(--mute)}
.ed-share-url{font:14px var(--body);padding:8px;border:1px solid var(--rule);background:#fff;color:var(--ink)}
.ed-empty{color:var(--mute)}
.jn-vendors{display:flex;flex-direction:column}
.jn-vendors details{border-bottom:1px solid var(--rule)}
.jn-vendors summary{display:flex;align-items:center;gap:18px;padding:18px 4px;list-style:none}
.jn-vendors summary::-webkit-details-marker{display:none}
.jn-vendors summary::after{content:"+";margin-left:auto;font:400 30px/1 var(--head);width:36px;text-align:center}
.jn-vendors details[open] summary::after{content:"\2212"}
.jn-vendors details[open] summary{background:var(--tint)}
.jn-vendors summary>span:last-child{display:flex;flex-direction:column;gap:3px}
.jn-vendors summary strong{font:var(--hw) 28px/1 var(--head);letter-spacing:var(--track);text-transform:var(--case)}
.jn-vendors summary small{font:400 15px/1.45 var(--body);color:var(--mute)}
.jn-vendors [class*="-rank"]{flex:none;font:var(--hw) 34px/1 var(--head);font-variant-numeric:tabular-nums;color:#fff;background:var(--ink);width:52px;height:52px;display:flex;align-items:center;justify-content:center}
.jn-vendors details:first-child [class*="-rank"]{background:var(--yel);color:#0A0A0A}
[class*="vendor-body"]{padding:6px 4px 24px 74px}
.jn-criteria{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 28px;margin:14px 0}
.jn-criteria section{border-top:3px solid var(--ink);padding-top:12px}
.jn-criteria h4{font:700 13px/1.3 var(--body);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.ed-status,.ep-status{display:inline-block;white-space:nowrap;font:700 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;margin-bottom:8px;border:2px solid currentColor}
[data-status="documented"]>.ed-status,[data-status="documented"] .ep-status{background:var(--ink);color:#fff;border-color:var(--ink)}
[data-status="partial"]>.ed-status,[data-status="partial"] .ep-status{color:var(--ink);background:transparent}
[data-status="not-established"]>.ed-status,[data-status="not-established"] .ep-status{color:var(--ink);border-style:dashed}
.ed-claim{display:inline}
.ed-basis{display:block;font-size:14px;color:var(--mute);margin-top:4px}
[class*="-limit"] b,[class*="-limit"] strong{text-transform:uppercase;letter-spacing:.06em;font-size:14px}

/* Archive on the one yellow band: art bleeds to the left edge */
.mo-archive-band{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch}
.mo-archive-art{min-height:400px;background:var(--blk);overflow:hidden;position:relative}
.mo-archive-art img{position:absolute;inset:0}
.mo-archive{padding:72px 40px 72px 64px;max-width:820px;align-self:center}
.mo-archive h2{font-size:clamp(36px,4.2vw,64px);line-height:.95;text-transform:var(--case)}
.mo-archive p:not(.jn-category){font-size:19px;max-width:56ch}

/* Alternatives */
.mo-alts{padding:80px 0 96px}
.mo-alts [data-journal-alternatives]>h2{font-size:clamp(44px,6vw,92px);line-height:.9;text-transform:var(--case);border-bottom:8px solid var(--ink);padding-bottom:14px;margin-bottom:36px}
.mo-alts [data-journal-alternatives]>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px 32px}
.mo-alts article{border-top:3px solid var(--ink);padding-top:16px}
.mo-alts h3{font-size:clamp(28px,2.4vw,36px);text-transform:var(--case)}
.jn-alternative-scenario{font-weight:600;font-size:18px;line-height:1.45}
.mo-alts strong{text-transform:uppercase;letter-spacing:.06em;font-size:14px}

/* Inner pages */
.mo-page{padding-bottom:72px}
.mo-bleed{background:var(--blk);color:#fff;box-shadow:0 0 0 100vmax var(--blk);clip-path:inset(0 -100vmax -1px)}
.mo-bleed .ed-basis{color:var(--onblk)}
.ep-byline span+span::before{content:"\00B7";margin:0 .6em;color:var(--yel)}
.mo-bleed a{color:#fff}
.crumbs.mo-bleed{padding:22px 0 0;margin:0}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0;font:600 13px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--onblk)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--yel)}
.crumbs a{text-decoration:none}
.mo-bleed h1,h1.mo-bleed{color:#fff;font-size:clamp(46px,7vw,112px);line-height:.92;text-transform:var(--case);margin:0 0 24px}
.mo-bleed p{color:#fff}
.ed-guide-hero.mo-bleed,.jn-ac-lead.mo-bleed,.ep-journal-open.mo-bleed{padding:44px 0 64px;margin-bottom:56px}
.ed-guide-hero.mo-bleed .ed-guide-heading{max-width:1040px}
.ed-guide-dek,.jn-ac-dek{font-size:22px;line-height:1.45;max-width:52ch}
.mo-bleed .ed-guide-byline,.mo-bleed .ep-byline{color:var(--onblk)}
.ed-guide-dates{display:flex;flex-wrap:wrap;gap:8px 28px;font:600 13px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--onblk);margin:14px 0 0;border-top:1px solid #3a3a3a;padding-top:14px}
.ed-guide-dates div{display:flex;gap:8px}.ed-guide-dates dd{margin:0;color:#fff}
.ed-guide-layout{display:grid;grid-template-columns:260px minmax(0,720px);gap:72px}
.ed-guide-toc,.tocm{font:500 15px/1.45 var(--body);border-top:8px solid var(--ink);padding-top:12px;align-self:start;position:sticky;top:20px}
.ed-guide-toc summary,.tocm summary{font:700 12px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.ed-guide-toc ol,.tocm ol,.rtoc ol{padding-left:22px;margin:0}
.ed-guide-toc li,.tocm li,.rtoc li{margin:7px 0}
.ed-guide-toc li::marker,.rtoc li::marker,.tocm li::marker{font-weight:700}
.ed-guide-toc a,.rtoc a,.tocm a{text-decoration:none}
.ed-guide-toc a:hover,.rtoc a:hover{text-decoration:underline;text-decoration-color:var(--yel);text-decoration-thickness:3px}
.ed-guide-body,.artbody,.pf-main{font-size:18px;line-height:1.7}
.ed-guide-body h2,.artbody h2,.pf-main h2{font-size:clamp(32px,3.2vw,46px);line-height:.98;text-transform:var(--case);margin-top:1.5em;padding-top:.5em;border-top:3px solid var(--ink)}
.artbody h3,.pf-main h3{font-size:26px;margin-top:1.2em}
.ed-guide-section:first-child h2,.pf-main>.tocm+section h2,.pf-main>section:first-child h2{margin-top:0}
.ed-guide-checklist{background:var(--blk);color:#fff;padding:22px 26px;margin:28px 0;border-left:10px solid var(--yel)}
.ed-guide-checklist a{color:#fff}
.ed-guide-checklist h3{font:700 13px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#fff}
.ed-guide-checklist ul{margin:0;padding-left:20px}
.ed-guide-notes,.ed-guide-related{max-width:1052px;margin:48px 0 0;border-top:8px solid var(--ink);padding-top:16px;font-size:16px}
.ed-guide-notes summary{font:700 13px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase}
.ed-guide-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}
.ed-guide-related h2{font-size:36px;text-transform:var(--case)}
.ed-guide-related ul{list-style:none;padding:0;margin:0}
.ed-guide-related li{border-top:1px solid var(--rule);padding:10px 0}
.ed-guide-related-block a{font:var(--hw) 24px/1.15 var(--head);text-decoration:none;text-transform:var(--case)}

/* Review page */
.ep-journal-open.mo-bleed{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:start}
.ep-journal-fit{font-size:21px;line-height:1.5}
.ep-fit-guide{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #3a3a3a;border-bottom:1px solid #3a3a3a;margin:22px 0}
.ep-fit-guide div{padding:14px 18px 14px 0}.ep-fit-guide div+div{border-left:1px solid #3a3a3a;padding-left:18px}
.ep-fit-guide dt{font:700 12px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--yel)}
.ep-fit-guide dd{margin:6px 0 0;font-size:16px}
.ep-official{display:inline-block;font:700 14px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;background:var(--yel);color:#0A0A0A!important;padding:14px 18px;margin-top:8px}
.ep-journal-picture{background:#fff;border:1px solid #2a2a2a}
.ep-journal-picture img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top left}
.ep-journal-picture figcaption{color:var(--onblk);background:var(--blk);margin:0;padding:8px 0 0}
.ep-journal-picture figcaption a{color:#fff}
.pf-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px}
.pf-main .tocm{display:none}
.pf-aside{font-size:16px;align-self:start;position:sticky;top:20px;display:flex;flex-direction:column;gap:26px}
.pf-aside h2{font:700 12px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;border-top:8px solid var(--ink);padding-top:10px}
.pf-aside .card{background:var(--blk);color:#fff;padding:20px}
.pf-aside .card a{color:#fff}
.glance{margin:0}.glance dt{font:700 11px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--yel);margin-top:14px}.glance dt:first-child{margin-top:0}
.glance dd{margin:4px 0 0;font-size:16px}
.alts{list-style:none;padding:0;margin:0}.alts li{padding:12px 0;border-bottom:1px solid var(--rule)}
.alts a.n{font:var(--hw) 22px/1.1 var(--head);text-decoration:none;text-transform:var(--case)}
.alts small{display:block;color:var(--mute);font-size:14px;margin:4px 0}
.rbox{font-size:15px}
.shot{margin:28px 0}
.shot img{border:1px solid var(--rule)}
.ep-profile{margin:72px 0 0;border-top:8px solid var(--ink);padding-top:28px}
.ep-profile::before{content:"";display:block;height:280px;margin:0 0 32px;background:var(--img-review) center/cover no-repeat;border-bottom:8px solid var(--yel)}
.ep-assessment-head h2{font-size:clamp(40px,5vw,76px);line-height:.92;text-transform:var(--case)}
.ep-assessment-head p{max-width:64ch;font-size:18px}
.ep-criteria{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin-top:28px}
.ep-criterion{border-top:3px solid var(--ink);padding-top:14px}
.ep-criterion header{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.ep-criterion h3{font-size:28px;text-transform:var(--case)}
.ep-proof{font-size:16px;color:var(--mute)}

/* About, method, sources, article index, archive article */
.ed-accountability,.mainart,.ed-source-page{max-width:none}
.ed-accountability>section,.ed-accountability>details,.mainart>.artbody,.mo-archive-article .faq{max-width:780px}
.jn-ac-lead.mo-bleed p{max-width:64ch;font-size:18px}
.jn-ac-lead.mo-bleed .jn-ac-dek{font-size:23px}
.jn-ac-question{font:var(--hw) 30px/1.1 var(--head)!important;color:var(--yel)!important;text-transform:var(--case);border-left:10px solid var(--yel);padding-left:18px;margin-top:24px}
.jn-ac-section,.ed-ac-block{margin:40px 0;padding-top:16px;border-top:3px solid var(--ink)}
.jn-ac-section h2,.ed-ac-block h2,.ed-ac-block h3{font-size:clamp(32px,3.4vw,48px);text-transform:var(--case)}
.ed-ac-evidence div{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--rule)}
.ed-ac-evidence dt{font:700 12px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase}
.ed-ac-evidence dd{margin:0}
.jn-ac-criteria{display:grid;gap:16px}
.ed-ac-contact{font-weight:700;text-decoration-color:var(--yel);text-decoration-thickness:3px}
.jn-ac-revisions,.jn-ac-corrections{background:var(--tint);padding:20px 24px;margin:32px 0;border-top:0}
.jn-ac-revisions summary{font:700 13px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase}
.mo-article-index h1.mo-bleed{padding:44px 0 18px;margin:0}
.mo-article-index .tline.mo-bleed{padding-bottom:56px;margin:0 0 56px;color:var(--onblk);font:600 14px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase}
.alist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 48px;counter-reset:mo-a}
.alist li{counter-increment:mo-a;border-top:8px solid var(--ink);padding-top:16px}
.alist li::before{content:counter(mo-a,decimal-leading-zero);display:block;font:var(--hw) 20px/1 var(--head);margin-bottom:14px;background:var(--yel);color:#0A0A0A;width:max-content;padding:6px 8px}
.alist a.n{font:var(--hw) clamp(30px,3vw,44px)/1 var(--head);letter-spacing:var(--track);text-decoration:none;text-transform:var(--case);display:block;margin-bottom:12px}
.alist a.n:hover{text-decoration:underline;text-decoration-color:var(--yel);text-decoration-thickness:3px}
.alist .byline{color:var(--mute)}
.mainart>h1.mo-bleed{padding:40px 0 20px;margin:0}
.mainart>.byline.mo-bleed{color:var(--onblk);padding-bottom:56px;margin:0 0 56px}
.faq{margin-top:56px;border-top:8px solid var(--ink);padding-top:16px}
.faq h2.t2{font-size:clamp(36px,4vw,56px);text-transform:var(--case)}
.qa{border-top:1px solid var(--rule);padding:16px 0}.qa h3{font-size:26px;text-transform:var(--case)}
table.matrix{width:100%;font-size:15px;margin:24px 0;display:block;overflow-x:auto}
table.matrix th{background:var(--blk);color:#fff;text-align:left;padding:10px;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
table.matrix td{border-bottom:1px solid var(--rule);padding:10px;vertical-align:top}
.ed-source-page>header.mo-bleed{padding:40px 0 56px;margin-bottom:48px}
.ed-source-page>header.mo-bleed p{color:var(--onblk);max-width:70ch}
.srcs{margin:56px 0 0;border-top:8px solid var(--ink);padding-top:18px;font-size:14.5px;line-height:1.55}
.srcs h2{font:700 13px/1.3 var(--body);letter-spacing:.16em;text-transform:uppercase}
.srcs ol{columns:2;column-gap:48px;padding-left:24px}.srcs li{break-inside:avoid;margin-bottom:8px}
.mo-after{padding-bottom:56px}
.mo-after .srcs{margin-top:0}

/* 404: one black screen */
.mo-404{background:var(--blk);color:#fff;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.mo-404-in{padding:15vh 48px 48px;max-width:640px;justify-self:end}
.mo-404 h1{font-size:clamp(56px,8vw,120px);line-height:.9;text-transform:var(--case);color:#fff}
.mo-404 p{font-size:20px}
.mo-404 a{color:#fff;text-decoration-color:var(--yel);text-decoration-thickness:3px}
.mo-404::after{content:"";background:var(--pimg) center/cover no-repeat;border-left:8px solid var(--yel)}

/* Footer: a black slab with the name set huge */
.mo-foot{background:var(--blk);color:#fff;border-top:10px solid var(--yel)}
.mo-foot>.ed-wrap{max-width:1320px;margin:0 auto;padding:56px 40px 48px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 48px;align-items:end}
.mo-foot strong{display:block;font:var(--hw) clamp(52px,8vw,128px)/.88 var(--head);letter-spacing:var(--track);text-transform:var(--case);margin-bottom:18px}
.mo-foot p{color:var(--onblk);margin:0;max-width:60ch}
.mo-foot a{color:#fff;font:700 13px/2 var(--body);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.mo-foot a:hover{text-decoration:underline;text-decoration-color:var(--yel);text-decoration-thickness:2px}
.mo-foot>.ed-wrap>div:last-child p{color:#8f8f8f;text-align:right}

@media (min-width:1041px){
  .ed-guide-hero.mo-bleed,.jn-ac-lead.mo-bleed,.ed-source-page>header.mo-bleed{position:relative;padding-right:min(360px,28%)}
  .ed-guide-hero.mo-bleed::after,.jn-ac-lead.mo-bleed::after,.ed-source-page>header.mo-bleed::after{content:"";position:absolute;right:0;top:44px;bottom:64px;width:min(300px,23%);background:var(--pimg) center/cover no-repeat;border-bottom:8px solid var(--yel)}
  .ed-source-page>header.mo-bleed{min-height:420px}
  .mo-article-index h1.mo-bleed{min-height:420px}
  .mo-article-index h1.mo-bleed,.mainart>h1.mo-bleed{position:relative;min-height:300px;display:flex;align-items:flex-end;padding-right:min(360px,28%)}
  .mo-article-index h1.mo-bleed::after,.mainart>h1.mo-bleed::after{content:"";position:absolute;right:0;top:44px;bottom:0;width:min(300px,23%);background:var(--pimg) center/cover no-repeat;border-bottom:8px solid var(--yel)}
  .mo-article-index .tline.mo-bleed,.mainart>.byline.mo-bleed{padding-top:20px}
  .mo-article-index h1.mo-bleed{min-height:440px}
  /* Hanging headings: section titles sit in a left column, text in the right, so no wide empty margin */
  .ed-accountability>.jn-ac-section,.ed-accountability>.ed-ac-block{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:0 56px;max-width:none}
  .ed-accountability>.jn-ac-section>h2,.ed-accountability>.ed-ac-block>h2,.ed-accountability>.ed-ac-block>h3{grid-column:1;grid-row:1 / span 20;align-self:start}
  .ed-accountability>.jn-ac-section>:not(h2),.ed-accountability>.ed-ac-block>:not(h2):not(h3){grid-column:2}
  .ed-accountability>details,.ed-accountability>.jn-ac-corrections{max-width:none}
  .mainart>.artbody{max-width:none;padding-left:calc((100% - 56px) / 3 + 56px)}
  .mainart>.artbody>h2{float:left;clear:left;width:50%;margin-left:calc(-50% - 56px);margin-top:0}
  .mo-archive-article .faq{margin-left:calc((100% - 56px) / 3 + 56px);max-width:none}
}
@media (max-width:1040px){
  .ed-guide-hero.mo-bleed::before,.jn-ac-lead.mo-bleed::before,.ed-source-page>header.mo-bleed::before,.mo-article-index h1.mo-bleed::before,.mainart>h1.mo-bleed::before{content:"";display:block;height:200px;margin:0 0 24px;background:var(--pimg) center/cover no-repeat;border-bottom:6px solid var(--yel)}
  .mo-hero-grid,.mo-review-grid,.mo-archive-grid,.ep-journal-open.mo-bleed,.pf-body,.ed-guide-layout,.mo-market [data-journal-review-index]>div{grid-template-columns:minmax(0,1fr)}
  .mo-hero-art{min-height:0;aspect-ratio:16/9;order:-1}
  .mo-market [data-journal-review-index] header{position:static}
  .mo-archive-band{grid-template-columns:minmax(0,1fr)}
  .mo-archive-art{min-height:0;aspect-ratio:16/7}
  .mo-archive{padding:40px 40px 56px}
  .mo-feature article{grid-template-columns:minmax(0,1fr)}
  .ed-guide-toc,.pf-aside{position:static}
  .pf-main .tocm{display:block;margin-bottom:24px}.pf-aside .rtoc{display:none}
  .srcs ol{columns:1}
  .mo-404{grid-template-columns:1fr}.mo-404-in{justify-self:start}.mo-404::after{border-left:0;border-top:8px solid var(--yel);min-height:36vh}
}
@media (max-width:640px){
  body.mo{font-size:17px}
  .mo-in,.mo-foot>.ed-wrap{padding-left:18px;padding-right:18px}
  .mo-mast .mo-mast-row{flex-direction:column;align-items:flex-start;gap:12px;padding-top:18px;padding-bottom:14px}
  .mo-meta .ed-mast-meta{text-align:left}
  .mo-mast-plate .mo-brand{font-size:clamp(40px,12vw,60px)}
  .mo-mast-plate .mo-brand svg{width:36px;height:36px}
  .mo-nav{gap:0 18px}
  .mo-nav a{font-size:13px;padding:12px 0 10px}
  .mo-nav .jn-nav-about{margin-left:0}
  .mo-hero{padding-bottom:40px}
  .mo-hero-grid{padding-top:28px;gap:28px}
  .mo-hero-copy h1{font-size:clamp(40px,11vw,56px)}
  .mo-hero-copy p:not(.jn-category):not(.jn-byline){font-size:18px}
  .mo-guide-row>article,.mo-guide-row>article+article{padding:24px 0 4px;border-left:0}
  .mo-guide-row>article+article{border-top:1px solid #3a3a3a}
  .mo-sec-head h2,.mo-alts [data-journal-alternatives]>h2{font-size:44px}
  .mo-reviews,.mo-market,.mo-alts{padding:48px 0}
  .mo-market [data-editorial-compare]{padding:20px 16px 12px;margin-left:-18px;margin-right:-18px}
  .mo-market [data-journal-review-index] header h2{font-size:46px}
  .mo-reviews dl{grid-template-columns:1fr}.mo-reviews dl>div+div{border-left:0;padding-left:0;border-top:1px solid var(--rule)}
  [class*="vendor-body"]{padding-left:4px}
  .jn-vendors summary{gap:12px}
  .jn-vendors summary strong{font-size:23px}
  .jn-vendors [class*="-rank"]{width:40px;height:40px;font-size:26px}
  .mo-archive{padding:32px 18px 48px}
  .mo-side{grid-template-columns:minmax(0,1fr)}
  .mo-alts [data-journal-alternatives]>h2{margin-bottom:24px}
  .mo-alts article:first-child{border-top:0;padding-top:0}
  .mo-bleed h1,h1.mo-bleed{font-size:clamp(40px,11vw,60px)}
  .ep-journal-fit{font-size:18px}
  .ed-guide-dek,.jn-ac-dek{font-size:19px}
  .ep-fit-guide{grid-template-columns:1fr}.ep-fit-guide div+div{border-left:0;padding-left:0;border-top:1px solid #3a3a3a}
  .ed-ac-evidence div{grid-template-columns:1fr;gap:2px}
  .alist{grid-template-columns:1fr;gap:36px}
  .mo-foot>.ed-wrap{grid-template-columns:1fr;padding-top:40px}
  .mo-foot strong{font-size:clamp(44px,13vw,64px)}
  .mo-foot>.ed-wrap>div:last-child p{text-align:left}
  .mo-404-in{padding:12vh 20px 32px}
  .ep-profile::before{height:170px}
  body.mo-nexus .ep-profile::before{height:200px}
}
