/* 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}

/* Fjord: Nordic consultancy insights (round 4, enterprise register). Colours and fonts come from the per-site variant CSS. */
body.fj{background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--body);-webkit-font-smoothing:antialiased}
.fj a{color:var(--ink);text-decoration-color:var(--rule);text-decoration-thickness:1px;text-underline-offset:4px}
.fj a:hover{color:var(--accent);text-decoration-color:currentColor}
.fj h1,.fj h2,.fj h3,.fj h4{font-family:var(--head);font-weight:var(--hw);line-height:1.12;letter-spacing:-.015em;margin:0 0 .45em;color:var(--ink);text-wrap:balance}
.fj h1 a,.fj h2 a,.fj h3 a{text-decoration:none}
.fj h1 a:hover,.fj h2 a:hover,.fj h3 a:hover{color:var(--accent)}
.fj p{margin:0 0 1em}
.fj dl dd{margin-left:0}
.fj figcaption{font-size:14px;line-height:1.45;color:var(--mute);margin-top:8px}
.fj-art{width:100%;height:auto}
.fj-w{max-width:1280px;margin:0 auto;padding-left:clamp(20px,5vw,72px);padding-right:clamp(20px,5vw,72px)}
.fj img:not(.fj-art){border-radius:calc(var(--radius) * .6)}

/* Masthead: one quiet line */
.fj-mast{border-bottom:1px solid var(--rule)}
.fj-mast-in{display:flex;align-items:center;justify-content:space-between;gap:16px 40px;flex-wrap:wrap;padding-top:22px;padding-bottom:14px}
.fj-name{display:inline-flex;align-items:center;gap:.35em;font-family:var(--head);font-weight:700;font-size:21px;letter-spacing:-.01em;text-decoration:none!important;color:var(--ink)}
.fj-name::before{content:"";width:22px;height:3px;margin-right:10px;background:var(--accent)}
.fj-nav{display:flex;flex-wrap:wrap;gap:6px 30px;padding:0;margin:0;max-width:none}
.fj-nav a{font-size:15px;font-weight:500;text-decoration:none;color:var(--ink);padding:4px 0;border-bottom:1px solid transparent}
.fj-nav a:hover{border-bottom-color:var(--accent)}
.fj-mast-meta{padding-bottom:16px}
.fj-mast-meta .ed-mast-meta{margin:0;font-size:14px;line-height:1.5;color:var(--mute);max-width:none}
.fj-mast-meta .ed-mast-meta>span{display:block;max-width:78ch;margin-bottom:4px}
.fj-mast-meta .ed-mast-meta br{display:none}
.fj-mast-meta time{font-weight:600;color:var(--ink)}

/* Shared labels */
.jn-category,.ep-kicker,.ed-guide-type{font:600 13px/1.3 var(--body)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)!important;margin:0 0 14px!important}
.byline,.ed-guide-byline,.ep-byline{font-size:14px;color:var(--mute)}
.ep-byline span+span::before{content:"·";margin:0 .6em}
.jn-read{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;text-decoration:none!important;color:var(--accent)!important}
.jn-read::after{content:"→";transition:transform .2s}
.jn-read:hover::after{transform:translateX(4px)}

/* Home: hero with a huge left-aligned headline and a lot of air */
.fj-hero{padding-top:clamp(56px,9vw,128px)}
.fj-hero-copy article{max-width:1040px}
.fj-hero-copy h1{font-size:clamp(44px,7.4vw,112px);line-height:.98;letter-spacing:-.035em;margin:0 0 32px;max-width:14ch}
.fj-hero-copy p:not(.jn-category){font-size:clamp(19px,1.7vw,23px);line-height:1.55;color:var(--mute);max-width:46ch;margin-bottom:28px}
.fj-hero-copy .jn-read{font-size:17px}
.fj-hero-art{margin-top:clamp(40px,6vw,88px);line-height:0}
.fj-hero-art .fj-art{width:100%;height:clamp(260px,40vw,600px);object-fit:cover;object-position:center 60%}

.fj-band{padding:clamp(56px,7vw,104px) 0 0}
.fj-head{margin-bottom:28px}
.fj-head header{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.fj-head h2,.fj-alts [data-journal-alternatives]>h2,.fj-compare header h2{font-size:clamp(32px,4vw,56px);letter-spacing:-.03em;line-height:1.02;margin:0}
.fj-head header a{font-weight:600;color:var(--accent);text-decoration:none}
.fj-head header a::after{content:" →"}

/* Horizontal card rows: columns on wide screens, a row that scrolls inside itself on narrow ones */
.fj-row,.fj-alts [data-journal-alternatives]>div{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:24px}
.fj-card,.fj-alts [data-journal-alternatives]>div>article{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:28px 28px 26px;display:flex;flex-direction:column}
/* Row 1 cards size to their own text: the longer archive card gets more width, no dead card bottoms */
.fj-row-guides{grid-auto-flow:row;grid-template-columns:1fr 1fr 1.4fr;align-items:start}
.fj-row-guides .fj-card h2{font-size:26px;line-height:1.18}
.fj-row-guides .fj-card p:not(.jn-category){color:var(--mute)}
.fj-row-guides .fj-card .jn-read{margin-top:0}
.fj-card-archive{background:var(--tint);border-color:var(--tint2)}
.fj-card .jn-read{margin-top:auto;padding-top:8px}
.fj-row-reviews .fj-card{padding:0;overflow:hidden}
/* Every media box in the review row has the same height, caption included, so the titles line up */
.fj-row-reviews figure{margin:0;background:var(--tint);aspect-ratio:16/11.4;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
.fj-row-reviews figure img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0!important}
.fj-row-reviews figure figcaption{padding:7px 20px 8px;margin:0;font-size:13.5px}
.fj-row-reviews .fj-card-art .fj-art{height:100%;object-fit:cover}
/* Nexus product screen: shown whole on a pale mat, not cropped */
.fj-row-reviews .fj-nexus{background:var(--tint2);padding:14px}
.fj-row-reviews .fj-nexus .fj-art{object-fit:contain;border-radius:6px!important}
.fj-strip-nexus .fj-art{filter:saturate(.7)}
.fj-row-reviews [class*="review-copy"]{padding:22px 26px 26px;display:flex;flex-direction:column;flex:1}
.fj-row-reviews h3{font-size:28px;letter-spacing:-.02em}
.fj-row-reviews [class*="-fit"]{font-size:16px;color:var(--ink)}
.fj-row-reviews dl{margin:4px 0 18px;border-top:1px solid var(--rule)}
.fj-row-reviews dl div{padding:10px 0;border-bottom:1px solid var(--rule)}
.fj-row-reviews dt{font:600 12px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.fj-row-reviews dd{margin:4px 0 0;font-size:16px;color:var(--mute)}

/* Comparison: a calm pale band */
.fj-compare{background:var(--tint);margin-top:clamp(64px,8vw,112px);padding:clamp(48px,6vw,88px) 0}
[class*="-index-grid"]{display:grid;grid-template-columns:minmax(240px,1fr) 2.2fr;gap:56px;align-items:start;padding:0!important;max-width:none!important}
[class*="-index-grid"]>header{position:sticky;top:24px}
[class*="-index-grid"]>header p:not(.jn-category){color:var(--mute);margin-top:18px}
.ed-controls{display:flex;flex-direction:column;gap:16px;background:var(--card);border-radius:var(--radius);padding:22px 24px;margin-bottom:20px;border:1px solid var(--tint2)}
.ed-control-group{display:flex;flex-direction:column;gap:10px}
.ed-control-label,.ed-focus>span{font:600 12px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.ed-chipset{display:flex;flex-wrap:wrap;gap:8px}
.ed-chip{font:500 15px/1 var(--body);padding:9px 14px 9px 12px;border:1px solid var(--rule);background:var(--card);color:var(--ink);border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.ed-chip span{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--mute)}
.ed-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.ed-chip[aria-pressed="true"] span{background:var(--paper);border-color:var(--paper)}
.ed-focus{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ed-focus select{font:500 15px var(--body);padding:8px 10px;border:1px solid var(--rule);border-radius:8px;background:var(--card);color:var(--ink)}
.ed-control-actions{display:flex;flex-wrap:wrap;gap:10px}
.ed-button{font:600 14px/1 var(--body);padding:11px 16px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer}
.ed-button-accent{background:var(--accent);border-color:var(--accent);color:#fff}
.ed-control-status{font-size:14px;color:var(--mute)}
.ed-share-url{font:14px var(--body);padding:8px;border:1px solid var(--rule);border-radius:8px;background:#fff;color:var(--ink)}
.ed-empty{color:var(--mute)}
.jn-vendors{display:flex;flex-direction:column;gap:10px}
.jn-vendors details{background:var(--card);border-radius:var(--radius);border:1px solid var(--tint2)}
.jn-vendors summary{display:flex;align-items:flex-start;gap:18px;padding:18px 22px;list-style:none}
.jn-vendors summary::-webkit-details-marker{display:none}
.jn-vendors summary::after{content:"+";margin-left:auto;font-size:22px;line-height:1;color:var(--accent)}
.jn-vendors details[open] summary::after{content:"−"}
.jn-vendors summary>span:last-child{display:flex;flex-direction:column;gap:3px}
.jn-vendors summary strong{font-family:var(--head);font-weight:var(--hw);font-size:21px;letter-spacing:-.01em}
.jn-vendors summary small{font-size:15.5px;line-height:1.45;color:var(--mute)}
[class*="-rank"]{flex:none;font:600 14px/1 var(--body);font-variant-numeric:tabular-nums;color:var(--accent);border:1px solid var(--accent);border-radius:50%;width:32px;height:32px;display:inline-grid;place-items:center}
[class*="vendor-body"]{padding:0 22px 22px 72px}
.jn-criteria{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 26px;margin:16px 0}
.jn-criteria section{border-top:1px solid var(--rule);padding-top:12px}
.jn-criteria h4{font-size:16px;font-weight:600}
.ed-status,.ep-status{display:inline-block;white-space:nowrap;font:600 12px/1 var(--body);letter-spacing:.06em;padding:5px 9px;border-radius:999px;background:var(--tint);margin-bottom:8px}
[data-status="documented"]>.ed-status,[data-status="documented"] .ep-status{color:#1D5A36;background:#E3EFE6}
[data-status="partial"]>.ed-status,[data-status="partial"] .ep-status{color:#6E4708;background:#F4EBD9}
[data-status="not-established"]>.ed-status,[data-status="not-established"] .ep-status{color:#7C2D22;background:#F5E4E0}
.ed-basis{display:block;font-size:14.5px;color:var(--mute);margin-top:6px}

/* Alternatives: another card row */
.fj-alts [data-journal-alternatives]>h2{margin-bottom:28px}
.fj-alts h3{font-size:24px}
.jn-alternative-scenario{font-size:19px;line-height:1.5;color:var(--accent);font-family:var(--head)}
.fj-alts article p{font-size:16px}

/* Footer: a photo band, then a quiet colophon */
.fj-foot{margin-top:clamp(72px,9vw,128px);background:var(--tint)}
.fj-foot-art{line-height:0;background:var(--paper)}
.fj-foot-art .fj-art{width:100%;height:clamp(180px,22vw,320px);object-fit:cover;object-position:center 45%}
.fj-foot>.ed-wrap{max-width:1280px;margin:0 auto;padding:40px clamp(20px,5vw,72px) 56px;display:grid;grid-template-columns:1.3fr 1fr;gap:32px 64px;font-size:16px}
.fj-foot strong{display:block;font-family:var(--head);font-weight:var(--hw);font-size:clamp(28px,3vw,40px);letter-spacing:-.025em;margin-bottom:12px}
.fj-foot p{color:var(--mute);max-width:56ch}
.fj-foot>.ed-wrap>div:last-child p{color:var(--ink);line-height:2.1;text-align:right;max-width:none}
.fj-foot>.ed-wrap>div:last-child a{text-decoration:none;font-weight:500;margin:0 4px}
.fj-foot>.ed-wrap>div:last-child a:hover{color:var(--accent)}
.fj-links .fj-fl{white-space:nowrap}

/* Inner pages */
.fj-main:not(.fj-home){padding-bottom:24px}
.fj-strip{line-height:0}
.fj-strip .fj-art{width:100%;height:clamp(220px,30vw,440px);object-fit:cover;object-position:center 42%}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:clamp(28px,4vw,48px) 0 clamp(28px,4vw,56px);font-size:14px;color:var(--mute)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--rule)}
.crumbs a{text-decoration:none;color:var(--mute)}
.fj-main .ed-wrap{max-width:none;padding:0}
.ed-guide-hero h1,.ep-journal-verdict h1,.jn-ac-lead h1,.mainart h1,.fj-article-index h1,.ed-source-page h1,.fj-main>.fj-w>h1,.fj-404 h1{font-size:clamp(40px,6.4vw,92px);line-height:1;letter-spacing:-.035em;max-width:16ch;margin-bottom:28px}
.ed-guide-dek,.jn-ac-dek,.tline{font-size:clamp(19px,1.6vw,22px);line-height:1.55;color:var(--mute);max-width:52ch}
.ed-guide-hero{padding:clamp(40px,6vw,88px) 0 clamp(32px,4vw,56px);border-bottom:1px solid var(--rule);margin-bottom:clamp(36px,5vw,64px)}
.ed-guide-dates{display:flex;flex-wrap:wrap;gap:6px 28px;font-size:14px;color:var(--mute);margin:16px 0 0}
.ed-guide-dates div{display:flex;gap:6px}.ed-guide-dates dd{margin:0}
.ed-guide-layout{display:grid;grid-template-columns:240px minmax(0,720px);gap:72px}
.ed-guide-toc,.tocm{font-size:15px;line-height:1.45;align-self:start;position:sticky;top:24px;border-left:2px solid var(--accent);padding-left:18px}
.ed-guide-toc summary,.tocm summary,.rtoc h2{font:600 12px/1.3 var(--body)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.ed-guide-toc ol,.tocm ol,.rtoc ol{padding-left:18px;margin:0}
.ed-guide-toc li,.tocm li,.rtoc li{margin:7px 0}
.ed-guide-toc a,.tocm a,.rtoc a{text-decoration:none}
.ed-guide-body,.artbody,.pf-main{font-size:18px;line-height:1.75}
.ed-guide-body h2,.artbody h2,.pf-main h2{font-size:clamp(26px,2.6vw,34px);letter-spacing:-.025em;margin-top:1.8em}
.ed-guide-section:first-child h2,.pf-main>section:first-of-type h2{margin-top:0}
.ed-guide-checklist{background:var(--tint);border-radius:var(--radius);padding:22px 26px;margin:28px 0}
.ed-guide-checklist h3{font:600 12px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.ed-guide-checklist ul{margin:0;padding-left:20px}
.ed-guide-checklist li{margin:6px 0}
.ed-guide-notes,.ed-guide-related{max-width:1032px;margin:48px 0 0 312px;border-top:1px solid var(--rule);padding-top:18px;font-size:16px}
.ed-guide-notes summary{font-weight:600}
.ed-guide-notes nav{display:flex;gap:20px;margin-top:10px}
.ed-guide-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.ed-guide-related h2{font-size:20px}
.ed-guide-related ul{list-style:none;padding:0;margin:0}.ed-guide-related li{padding:6px 0;border-bottom:1px solid var(--rule)}

/* Review */
.ep-journal-open{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,5vw,80px);align-items:start;margin-bottom:clamp(48px,6vw,88px)}
.ep-journal-fit{font-size:clamp(18px,1.5vw,21px);line-height:1.55}
.ep-fit-guide{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.ep-fit-guide div{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:16px 18px}
.ep-fit-guide dt{font:600 12px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.ep-fit-guide dd{margin:6px 0 0;font-size:16px}
.ep-official{display:inline-block;margin-top:6px;font-weight:600;color:var(--accent)!important;text-decoration:none!important}
.ep-official::after{content:" ↗"}
/* Vendor picture on a neutral mat, colour softened a little so it sits in the calm palette */
.ep-journal-picture{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:18px}
.ep-journal-picture img{filter:saturate(.82)}
.pf-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:72px}
.pf-main .tocm{display:none}
.pf-aside{font-size:15px;align-self:start;position:sticky;top:24px;display:flex;flex-direction:column;gap:24px}
.pf-aside h2{font:600 12px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.pf-aside .card{background:var(--tint);border-radius:var(--radius);padding:18px}
.glance{margin:0}.glance dt{font:600 12px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:12px}.glance dt:first-child{margin-top:0}.glance dd{margin:3px 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-weight:600}.alts small{display:block;color:var(--mute);font-size:14.5px;margin:4px 0}
.shot{margin:28px 0;max-width:100%!important}
.ep-profile{margin:clamp(56px,7vw,96px) 0 0;padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--rule)}
.ep-assessment-head h2{font-size:clamp(32px,4vw,56px);letter-spacing:-.03em}
.ep-assessment-head p{max-width:64ch;color:var(--mute)}
.ep-criteria{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:20px;margin-top:28px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory}
.ep-criterion{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:22px;scroll-snap-align:start}
.ep-criterion header{display:flex;flex-direction:column;gap:8px}
.ep-criterion h3{font-size:20px;margin:0}
.ep-finding{font-size:16px}
.ep-criterion details summary{font-weight:600;font-size:15px;color:var(--accent)}
.ep-proof,.ep-caveats p{font-size:16px;color:var(--mute)}

/* About, method, sources, article index, archive article */
.jn-ac-lead{padding:clamp(24px,4vw,56px) 0 clamp(24px,3vw,40px);max-width:820px}
.jn-ac-lead>p:not(.jn-ac-dek){max-width:64ch}
.jn-ac-question{font-family:var(--head);font-size:21px;color:var(--accent)}
.jn-ac-section,.ed-ac-block{max-width:820px;margin:40px 0;padding-top:28px;border-top:1px solid var(--rule)}
.jn-ac-section h2,.ed-ac-block h2,.ed-ac-block h3{font-size:clamp(26px,2.6vw,34px);letter-spacing:-.025em}
.ed-ac-evidence div{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--rule)}
.ed-ac-evidence dt{font-weight:600}.ed-ac-evidence dd{margin:0;color:var(--mute)}
.jn-ac-section:has(.jn-ac-criteria){max-width:none}
.jn-ac-criteria{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:18px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory}
.jn-ac-criteria article{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:22px;scroll-snap-align:start}
.jn-ac-criteria h3{font-size:20px}
.jn-ac-criteria p{font-size:16px}
.jn-ac-revisions,.jn-ac-corrections{max-width:820px;background:var(--tint);border-radius:var(--radius);padding:22px 26px;margin:32px 0;border-top:0}
.jn-ac-revisions summary{font-weight:600}
.jn-ac-revisions article{padding:12px 0;border-top:1px solid var(--tint2)}
.jn-ac-revisions article:first-of-type{margin-top:12px}
.jn-ac-revisions time{font-weight:600;font-size:15px}
.jn-ac-revisions small{color:var(--mute);font-size:14px}
.ed-ac-contact{font-weight:600;color:var(--accent)!important;margin-right:14px}
.fj-article-index .tline{margin-bottom:clamp(36px,5vw,64px)}
.alist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;align-items:start}
.alist li{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:26px 26px 22px;display:flex;flex-direction:column}
.alist li:first-child{grid-column:1/-1;background:var(--tint);border-color:var(--tint2)}
.alist li:first-child a.n{font-size:clamp(28px,3vw,40px)}
.alist a.n{font-family:var(--head);font-weight:var(--hw);font-size:24px;line-height:1.18;letter-spacing:-.02em;text-decoration:none;order:0}
.alist .byline{order:2;margin:0;padding-top:14px}
.alist p:not(.byline){order:1;color:var(--mute);margin:12px 0 0;font-size:16.5px}
/* Archive article: section headings hang in a left column beside the text, so the long page has no empty half */
.mainart{max-width:1064px}
.mainart>h1{max-width:18ch}
.artbody{padding-left:324px;max-width:1064px}
.artbody::after{content:"";display:block;clear:both}
.artbody>h2.ah{float:left;clear:left;width:260px;margin:6px 0 24px -324px;font-size:24px;line-height:1.25;padding-top:14px;border-top:2px solid var(--accent)}
.artbody>h2.ah+*{margin-top:0}
.artbody>h2.ah:not(:first-child),.artbody>h2.ah:not(:first-child)+*{margin-top:48px}
.artbody>table,.artbody>.mwrap{margin-left:-324px;width:calc(100% + 324px);clear:both}
.mainart>.byline{margin-bottom:40px}
.faq{max-width:780px;margin-top:56px}
.faq h2{font-size:clamp(26px,2.6vw,34px)}
.qa{border-top:1px solid var(--rule);padding:18px 0}.qa h3{font-size:20px}
table.matrix{width:100%;font-size:15px;margin:24px 0;display:block;overflow-x:auto}table.matrix th,table.matrix td{border-bottom:1px solid var(--rule);padding:10px;text-align:left;vertical-align:top}
.ed-source-page{padding-top:8px}
.srcs{margin:clamp(48px,6vw,80px) 0 0;padding-top:28px;border-top:1px solid var(--rule);font-size:15px;line-height:1.6;color:var(--ink)}
.srcs h2{font:600 13px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.srcs ol{columns:2;column-gap:56px;padding-left:24px}.srcs li{break-inside:avoid;margin-bottom:10px}
.fj-after .srcs{margin-top:24px}
/* 404: the photo sits whole below the text (no fade over the people): the page is the photo's height plus room for the text */
.fj-404{min-height:max(100vh,calc(66.7vw + 360px));padding:clamp(64px,14vh,160px) clamp(20px,5vw,72px) 0;background:var(--hero) center bottom/100% auto no-repeat;box-sizing:border-box;max-width:none}
.fj-404 h1,.fj-404 p{max-width:1136px;margin-left:auto;margin-right:auto}
.fj-404 p{font-size:20px;color:var(--mute)}
.fj-404 h1{margin-bottom:24px}

/* Medium screens */
@media (max-width:1080px){
  .artbody{padding-left:0}
  .artbody>h2.ah{float:none;width:auto;margin:1.6em 0 .45em;font-size:clamp(24px,4vw,30px);border-top:0;padding-top:0}
  .artbody>h2.ah+*{margin-top:0!important}
  .artbody>table,.artbody>.mwrap{margin-left:0;width:100%}
  .fj-row-reviews{grid-auto-flow:row;grid-template-columns:1fr 1fr}
  .fj-row-reviews .fj-card:first-child{grid-column:1/-1}
  [class*="-index-grid"]{grid-template-columns:1fr;gap:28px}
  [class*="-index-grid"]>header{position:static}
  .ep-journal-open,.pf-body,.ed-guide-layout{grid-template-columns:1fr;gap:36px}
  .ed-guide-toc,.pf-aside{position:static}
  .ed-guide-notes,.ed-guide-related{margin-left:0}
  .pf-main .tocm{display:block;position:static;margin-bottom:28px}.pf-aside .rtoc{display:none}
}
/* Narrow screens: card rows scroll inside their own row, never the page */
@media (max-width:760px){
  body.fj{font-size:17px}
  .fj-row,.fj-alts [data-journal-alternatives]>div{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:84%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;margin-right:calc(-1 * clamp(20px,5vw,72px));padding-right:clamp(20px,5vw,72px);scroll-padding-left:0}
  .fj-row-reviews .fj-card:first-child{grid-column:auto}
  .fj-row{align-items:start}
  .fj-row>*,.fj-alts [data-journal-alternatives]>div>article{scroll-snap-align:start}
  .fj-card,.fj-alts [data-journal-alternatives]>div>article{padding:22px 20px}
  .fj-row-reviews .fj-card{padding:0}
  .fj-row-reviews [class*="review-copy"]{padding:18px 20px 22px}
  .fj-mast-in{gap:12px}
  .fj-nav{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:2px 22px}
  .fj-nav a{font-size:14.5px}
  .fj-hero-copy h1{font-size:clamp(40px,11.5vw,60px)}
  .ed-controls{padding:18px 16px}
  [class*="vendor-body"]{padding:0 18px 20px}
  .jn-vendors summary{padding:16px;gap:12px}
  .ep-fit-guide{grid-template-columns:1fr}
  .ep-criteria,.jn-ac-criteria{grid-auto-columns:84%}
  .ed-ac-evidence div{grid-template-columns:1fr;gap:2px}
  .fj-foot>.ed-wrap{grid-template-columns:1fr}
  .fj-foot>.ed-wrap>div:last-child p{text-align:left}
  .fj-links{display:flex;flex-direction:column;gap:6px;line-height:1.6}
  .fj-foot>.ed-wrap>div:last-child .fj-links a{margin:0 0 0 2px}
  .fj-links .fj-fl:first-child::before{content:"·\00a0";color:var(--ink)}
  .srcs ol{columns:1}
  .alist{grid-template-columns:1fr}
}
