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

/* Notebook: a practitioner field report (round 4, enterprise register). Clean white page, ruled margin with
   short notes in the body face, numbered entries, documentary photographs. Colours and fonts from the variant CSS. */
body.nb{--m:200px;--gap:40px;--page:1240px;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--body);font-optical-sizing:auto}
.nb a{color:var(--ink);text-decoration-color:var(--pencil);text-decoration-thickness:1px;text-underline-offset:3px}
.nb a:hover{color:var(--accent);text-decoration-thickness:2px}
.nb h1,.nb h2,.nb h3,.nb h4{font-family:var(--head);font-weight:600;line-height:1.15;letter-spacing:-.01em;margin:0 0 .45em;color:var(--ink);text-wrap:balance}
.nb h1 a,.nb h2 a,.nb h3 a{text-decoration:none}
.nb h1 a:hover,.nb h2 a:hover,.nb h3 a:hover{text-decoration:underline;text-decoration-color:var(--pencil)}
.nb p{margin:0 0 .9em}
.nb dl dd{margin-left:0}
.nb figcaption{font:400 14px/1.4 var(--body);color:var(--mute);margin-top:8px}
.nb-art{width:100%;height:auto}

/* The note hand: used only for short notes (kickers, margin labels, scenarios). */
.nb-note,.jn-category,.ep-kicker,.ed-guide-type{font:600 12.5px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.jn-alternative-scenario{font:italic 400 18px/1.5 var(--body);color:var(--ink);border-left:2px solid var(--accent);padding-left:14px}

/* Masthead: the notebook's cover label, then index tabs */
.nb-mast{max-width:var(--page);margin:0 auto;padding:28px 32px 0}
.nb-mast-in{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:16px 40px;align-items:end;padding-bottom:18px}
.nb-cover{display:flex;align-items:baseline}
.nb-name{font-family:var(--head);font-weight:var(--name-weight);font-style:var(--name-style);font-size:clamp(34px,4.4vw,52px);line-height:1;letter-spacing:-.02em;text-decoration:none!important;color:var(--ink)!important}
.nb-meta .ed-mast-meta{margin:0;font-size:16px;line-height:1.5;color:var(--mute);max-width:56ch;justify-self:end}
.nb-meta{justify-self:end;text-align:right}
.nb-meta time{font-weight:600;color:var(--ink)}
.nb-tabs{border-bottom:1.5px solid var(--ink)}
.nb-nav{display:flex;flex-wrap:wrap;gap:6px;padding-left:var(--m)}
.nb-nav a{display:block;font:600 15px/1 var(--body);text-decoration:none;color:var(--ink);padding:11px 16px 10px;border:1px solid var(--rule);border-bottom:0;border-radius:8px 8px 0 0;background:var(--card);margin-bottom:-1px}
.nb-nav a:hover{color:var(--accent);border-color:var(--pencil)}

/* The page: a ruled margin on the left of every sheet */
.nb-main{max-width:var(--page);margin:0 auto;padding:36px 32px 56px}
.nb-sheet,.nb-book{position:relative}
.nb-sheet::before,.nb-book::before{content:"";position:absolute;top:-36px;bottom:-56px;left:calc(var(--m) - 20px);width:2px;background:var(--margin-line);box-shadow:5px 0 0 -.5px var(--margin-line);pointer-events:none}

/* Numbered entries (home) */
.nb-book{counter-reset:entry}
.nb-entry{display:grid;grid-template-columns:var(--m) minmax(0,1fr);gap:0 var(--gap);padding:34px 0;counter-increment:entry}
.nb-entry+.nb-entry{border-top:1px dashed var(--rule)}
.nb-margin{padding-right:44px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.nb-margin::before{content:counter(entry,decimal-leading-zero);font:600 15px/1 var(--body);font-variant-numeric:tabular-nums;color:var(--card);background:var(--pencil);border:1.5px solid var(--pencil);border-radius:50%;width:40px;height:40px;display:grid;place-items:center}
.nb-margin .nb-note,.nb-margin h2,.nb-margin header h2{margin:0}
.nb-margin h2{font:600 12.5px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.nb-margin header{display:flex;flex-direction:column;gap:10px}
.nb-margin header a{font:600 15px/1.3 var(--body)}
.nb-margin header a::after{content:" ↓";color:var(--pencil)}

/* Entry 01: the lead and its sketch */
.nb-lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:36px;align-items:center}
.nb-lead h1{font-size:clamp(36px,4.4vw,58px);line-height:1.06;letter-spacing:-.02em;font-weight:650}
.nb-lead p{font-size:20px;line-height:1.55;color:var(--ink);max-width:40ch}
/* Photographs */
.nb-plate{position:relative;margin:0}
.nb-pic{width:100%;height:auto;display:block}
.nb-plate-page{margin:4px 0 30px;max-width:1000px}
.nb-plate-page .nb-pic{aspect-ratio:16/5;object-fit:cover}
.nb-review .nb-plate-page .nb-pic{aspect-ratio:16/4}
.jn-read{display:inline-block;font:600 15px/1.3 var(--body);text-decoration:none!important;color:var(--accent)!important;border-bottom:1.5px solid var(--pencil);padding-bottom:2px}
.jn-read::after{content:" →"}

/* Entry 02: the other stories, as two numbered notes */
.nb-stories{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;counter-reset:sub}
.nb-story{counter-increment:sub;background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:22px 24px 20px;position:relative}
.nb-story::before{content:counter(entry,decimal-leading-zero) "." counter(sub);position:absolute;top:-11px;left:18px;background:var(--paper);padding:0 8px;font:600 13px/22px var(--body);font-variant-numeric:tabular-nums;color:var(--pencil)}
.nb-story h2,.nb-story h3{font-size:24px}
.nb-story .jn-category{margin:0 0 6px}
.nb-story p{font-size:17px}

/* Entry 03: reviews */
.nb-reviews{display:flex;flex-direction:column;gap:34px}
.nb-feature article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.nb-feature h3{font-size:clamp(30px,3vw,40px)}
.nb-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:34px;padding-top:30px;border-top:1px dashed var(--rule)}
.nb-pair article{display:flex;flex-direction:column;gap:18px}
.nb-pair article>figure{order:-1}
.nb-pair h3{font-size:26px}
.nb-reviews figure.jn-picture{background:var(--card);border:1px solid var(--rule);padding:0}
.nb-reviews figure.jn-picture img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.nb-reviews dl div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px solid var(--rule)}
.nb-reviews dt{font:600 14px/1.4 var(--body);color:var(--accent)}
.nb-reviews dd{font-size:16px;line-height:1.5}
.nb-reviews [class*="best-for"] strong,.nb-reviews [class*="-limit"] strong{color:var(--accent)}
.nb-reviews [class*="-limit"]{border-left:2px solid var(--margin-line);padding-left:14px;margin:0 0 1em}
.nb-reviews [class*="-limit"] p{margin:4px 0 0}

/* Entry 04: the comparison worksheet */
.nb-worksheet{background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:30px 32px;box-shadow:0 10px 30px -24px rgba(20,30,50,.4)}
.nb-worksheet header h2{font-size:clamp(28px,3vw,38px)}
.nb-worksheet header p{max-width:64ch;color:var(--mute)}
.nb-worksheet [data-journal-review-index]>div{display:block}
.ed-controls{display:flex;flex-direction:column;gap:14px;padding:18px 20px;margin:8px 0 18px;background:var(--tint);border-radius:4px}
.ed-control-group{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ed-control-label,.ed-focus>span{font:600 14px/1.3 var(--body);color:var(--ink)}
.ed-focus{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ed-chipset{display:flex;flex-wrap:wrap;gap:8px}
.ed-chip{font:500 15px/1 var(--body);padding:9px 14px 9px 12px;border:1.5px solid var(--pencil);background:var(--card);color:var(--ink);border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.ed-chip span{display:inline-block;width:12px;height:12px;border:1.5px solid var(--pencil);border-radius:2px}
.ed-chip[aria-pressed="true"] span{background:var(--pencil);box-shadow:inset 0 0 0 2px var(--card)}
.ed-chip[aria-pressed="false"]{border-style:dashed;color:var(--mute)}
.ed-focus select{font:500 15px var(--body);padding:7px 10px;border:1.5px solid var(--pencil);border-radius:4px;background:var(--card);color:var(--ink)}
.ed-control-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ed-button{font:600 15px/1 var(--body);padding:11px 16px;border:1.5px solid var(--ink);border-radius:4px;background:var(--card);color:var(--ink);cursor:pointer}
.ed-button-accent{background:var(--accent);border-color:var(--accent);color:#fff}
.ed-control-status{font-size:15px;color:var(--mute)}
.ed-share-url{font:15px var(--body);padding:8px;border:1px solid var(--rule);background:var(--card);color:var(--ink)}
.ed-empty{font-style:italic;color:var(--mute)}
.jn-vendors{display:flex;flex-direction:column}
.jn-vendors details{border-bottom:1px solid var(--rule)}
.jn-vendors details:first-child{border-top:1px solid var(--rule)}
.jn-vendors summary{display:flex;align-items:flex-start;gap:16px;padding:16px 4px;list-style:none}
.jn-vendors summary::-webkit-details-marker{display:none}
.jn-vendors summary::after{content:"+";margin-left:auto;font:400 26px/1 var(--body);color:var(--pencil)}
.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-size:22px;font-weight:600;line-height:1.2}
.jn-vendors summary small{font:400 16px/1.45 var(--body);color:var(--mute)}
.jn-vendors [class*="-rank"]{flex:0 0 auto;font:600 15px/1 var(--body);font-variant-numeric:tabular-nums;color:var(--pencil);border:1.5px solid var(--pencil);border-radius:50%;width:36px;height:36px;display:grid;place-items:center}
.jn-vendors [class*="vendor-body"]{padding:0 4px 22px 52px}
.jn-vendors dl div{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px solid var(--rule)}
.jn-vendors dt{font:600 14px/1.4 var(--body);color:var(--accent)}
.jn-criteria{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 26px;margin:14px 0}
.jn-criteria section{border-top:1.5px solid var(--ink);padding-top:10px}
.jn-criteria h4{font:600 16px/1.3 var(--head);margin:0 0 6px}
.jn-criteria p{font-size:16px}
.ed-status,.ep-status{display:inline-block;white-space:nowrap;font:600 12.5px/1 var(--body);padding:5px 8px;border:1.5px solid currentColor;border-radius:999px;margin-bottom:8px}
[data-status="documented"]>.ed-status,[data-status="documented"] .ep-status{color:#1D5C34}
[data-status="partial"]>.ed-status,[data-status="partial"] .ep-status{color:#7A4A06}
[data-status="not-established"]>.ed-status,[data-status="not-established"] .ep-status{color:#9A2B22}
.ed-claim{display:inline}
.ed-basis{display:block;font-size:14px;color:var(--mute);font-style:italic;margin-top:4px}

/* Entry 05: when another provider fits, as index cards with a pencilled scenario */
[data-journal-alternatives]>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
[data-journal-alternatives] article{background:var(--card);border-top:2px solid var(--ink);padding:18px 0 6px}
[data-journal-alternatives] h3{font-size:24px}
.jn-alternative-scenario{margin:0 0 .7em!important}
[data-journal-alternatives] article p:not(.jn-alternative-scenario){font-size:16.5px}
[data-journal-alternatives] strong{color:var(--accent)}

/* Entry 06: from the archive */
.nb-archive{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.nb-archive h2{font-size:clamp(26px,2.6vw,34px)}

/* Inner pages: the sheet keeps the ruled margin; content sits right of it */
.nb-sheet{padding-left:calc(var(--m) + var(--gap))}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 26px;font:500 15px/1.4 var(--body);color:var(--mute)}
.crumbs li+li::before{content:"›";margin-right:6px;color:var(--pencil)}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
/* Notes that hang in the margin on wide screens */
.nb-sheet .ep-kicker,.nb-sheet .ed-guide-type,.nb-sheet .jn-category{margin:0 0 10px}
@media (min-width:981px){
  .ed-guide-section h2,.pf-main section.ps>h2,.jn-ac-section>h2,.ed-ac-block>h3{position:relative}
  .ed-guide-section h2::before,.pf-main section.ps>h2::before,.jn-ac-section>h2::before,.ed-ac-block>h3::before{position:absolute;left:-110px;top:-2px;margin:0}
  .nb-sheet .ep-kicker,.nb-sheet .ed-guide-type{position:absolute;left:calc(-1 * (var(--m) + var(--gap)));width:calc(var(--m) - 44px);text-align:right;margin-top:12px}
}
.ed-guide-hero,.ep-journal-open,.jn-ac-lead,.mainart>h1,.ed-source-page>header{position:relative}

/* Guide */
.ed-guide-hero{max-width:860px;padding-bottom:26px;margin-bottom:30px;border-bottom:1.5px solid var(--ink)}
.ed-guide-hero h1,.ep-journal-verdict h1,.jn-ac-lead h1,.mainart h1,.nb-article-index h1,.ed-source-page h1{font-size:clamp(34px,4.6vw,56px);line-height:1.06;letter-spacing:-.02em}
.nb-article-index h1{font-size:clamp(34px,4.6vw,56px);line-height:1.06}
.ed-guide-dek,.jn-ac-dek{font-size:21px;line-height:1.5;color:var(--mute);max-width:52ch}
.ed-guide-byline{font-weight:600;margin:0 0 6px}
.ed-guide-dates{display:flex;flex-wrap:wrap;gap:6px 24px;font-size:15px;color:var(--mute);margin:0}
.ed-guide-dates div{display:flex;gap:6px}.ed-guide-dates dd{margin:0}
.ed-guide-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(200px,260px);gap:56px;align-items:start}
.ed-guide-toc,.tocm{font-size:16px;line-height:1.45;align-self:start;position:sticky;top:20px;background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:16px 18px;order:2}
.ed-guide-toc summary,.tocm summary{font:600 15px/1.3 var(--body);margin-bottom:6px;color:var(--accent)}
.ed-guide-toc ol,.tocm ol,.rtoc ol{padding-left:20px;margin:0}
.ed-guide-toc li,.tocm li,.rtoc li{margin:7px 0}
.ed-guide-toc li::marker,.tocm li::marker,.rtoc li::marker{color:var(--pencil);font-variant-numeric:tabular-nums}
.ed-guide-body,.artbody,.pf-main{font-size:18px;line-height:1.72}
.ed-guide-body{counter-reset:sec}
.ed-guide-section{counter-increment:sec;position:relative}
.ed-guide-body h2,.artbody h2,.pf-main h2{font-size:29px;margin-top:1.5em}
.ed-guide-section:first-child h2{margin-top:0}
.ed-guide-section h2::before,.pf-main section.ps>h2::before,.jn-ac-section>h2::before,.ed-ac-block>h3::before{content:counter(sec,decimal-leading-zero);font:600 14px/1 var(--body);font-variant-numeric:tabular-nums;color:var(--pencil);border:1.5px solid var(--pencil);border-radius:50%;width:38px;height:38px;display:inline-grid;place-items:center;vertical-align:.35em;margin-right:14px;letter-spacing:0}
.ed-guide-checklist{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--pencil);border-radius:4px;padding:16px 20px;margin:24px 0}
.ed-guide-checklist h3{font:600 17px/1.3 var(--head);color:var(--accent)}
.ed-guide-checklist ul{margin:0;padding-left:20px}
.ed-guide-checklist li::marker{content:"☐  ";color:var(--pencil)}
.ed-guide-notes,.ed-guide-related{max-width:720px;margin:32px 0 0;border-top:1.5px solid var(--ink);padding-top:14px;font-size:16px}
.ed-guide-notes summary{font:600 16px/1.3 var(--body);color:var(--accent)}
.ed-guide-related{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ed-guide-related h2{font-size:20px}
.ed-guide-related ul{padding-left:20px;margin:0}
.ed-guide-related li{margin:6px 0}

/* Review page */
.ep-journal-open{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:44px;align-items:start;padding-bottom:30px;margin-bottom:34px;border-bottom:1.5px solid var(--ink)}
.ep-journal-fit{font-size:21px;line-height:1.5}
.ep-fit-guide{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--card);border:1px solid var(--rule);border-radius:4px;margin:18px 0}
.ep-fit-guide div{padding:14px 18px}.ep-fit-guide div+div{border-left:1px dashed var(--rule)}
.ep-fit-guide dt{font:600 15px/1.3 var(--body);color:var(--accent)}
.ep-fit-guide dd{margin:4px 0 0;font-size:16px}
.ep-byline{font-size:15px;color:var(--mute)}
.ep-byline span+span::before{content:"·";margin:0 .6em}
.ep-official{font:600 15px/1 var(--body);color:var(--accent)!important}
.ep-official::after{content:" ↗"}
.ep-journal-picture{position:relative;background:var(--card);padding:10px 10px 12px;border:1px solid var(--rule);box-shadow:0 10px 24px -18px rgba(20,30,50,.35)}
.pf-body{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:52px;max-width:1040px}
.pf-main{counter-reset:sec}
.pf-main section.ps{counter-increment:sec}
.pf-main .tocm{display:none}
.pf-aside{font-size:16px;align-self:start;position:sticky;top:20px;display:flex;flex-direction:column;gap:22px}
.pf-aside h2{font:600 16px/1.3 var(--body);color:var(--accent);margin:0 0 8px}
.pf-aside .rtoc,.pf-aside .card{background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:16px 18px}
.glance{margin:0}.glance dt{font:600 14px/1.3 var(--body);color:var(--accent);margin-top:10px}.glance dt:first-child{margin-top:0}.glance dd{margin:2px 0 0;font-size:16px}
.alts{list-style:none;padding:0;margin:0}.alts li{padding:10px 0;border-bottom:1px dashed var(--rule)}.alts small{display:block;color:var(--mute);font-size:15px;margin:4px 0}
.shot{margin:24px 0;background:var(--card);border:1px solid var(--rule);padding:10px}
.ep-profile{max-width:1040px;margin:48px 0 0;border-top:1.5px solid var(--ink);padding-top:26px}
.ep-assessment-head{max-width:720px}
.ep-assessment-head h2{font-size:32px}
.ep-criteria{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:20px;counter-reset:crit}
.ep-criterion{counter-increment:crit;background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:18px 20px;position:relative}
.ep-criterion::before{content:counter(crit,decimal-leading-zero);position:absolute;top:-11px;left:16px;background:var(--paper);padding:0 8px;font:600 13px/22px var(--body);color:var(--pencil)}
.ep-criterion header{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.ep-criterion h3{font-size:21px}
.ep-proof{font-size:16px;color:var(--mute)}
.ep-criterion details summary{font-weight:600;color:var(--accent)}

/* About, method, sources, article index, archive article */
.ed-accountability,.mainart,.ed-source-page,.faq{max-width:760px}
.ed-accountability{counter-reset:sec}
.jn-ac-lead{padding-bottom:24px;margin-bottom:10px;border-bottom:1.5px solid var(--ink)}
.jn-ac-section,.ed-ac-block{counter-increment:sec;margin:30px 0;padding-top:4px}
.jn-ac-section h2,.ed-ac-block h3{font-size:27px}
.jn-ac-question{font-size:20px;border-left:3px solid var(--pencil);padding-left:16px}
.ed-ac-evidence div{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:10px 0;border-bottom:1px dashed var(--rule)}
.ed-ac-evidence dt{font:600 15px/1.4 var(--body);color:var(--accent)}.ed-ac-evidence dd{margin:0}
.jn-ac-criteria{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.jn-ac-criteria article{background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:14px 16px}
.jn-ac-criteria h3{font-size:19px}
.jn-ac-revisions,.jn-ac-corrections{background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:16px 20px;margin:28px 0}
.jn-ac-revisions summary{font-weight:600;color:var(--accent)}
.jn-ac-revisions article{padding:10px 0;border-top:1px dashed var(--rule)}
.jn-ac-revisions small{color:var(--mute);font-size:15px}
.jn-ac-corrections>h2::before{display:none!important}
.ed-ac-contact{font-weight:600;color:var(--accent)!important;margin-right:10px}
.nb-article-index .tline{font-size:17px;color:var(--mute)}
.alist{list-style:none;padding:0;margin:28px 0 0;max-width:800px;counter-reset:art}
.alist li{counter-increment:art;position:relative;padding:20px 0 20px;border-top:1px dashed var(--rule)}
.alist li::before{content:counter(art,decimal-leading-zero);position:absolute;left:-110px;top:22px;font:600 14px/1 var(--body);color:var(--pencil);border:1.5px solid var(--pencil);border-radius:50%;width:38px;height:38px;display:grid;place-items:center}
.alist a.n{font-family:var(--head);font-size:25px;font-weight:600;text-decoration:none;line-height:1.2}
.alist a.n:hover{text-decoration:underline}
.alist .byline{margin:6px 0;font-size:15px;color:var(--mute)}
.mainart .byline{color:var(--mute);font-size:15px}
.faq{margin-top:36px;border-top:1.5px solid var(--ink);padding-top:16px}
.qa{border-top:1px dashed var(--rule);padding:14px 0}.qa h2,.qa h3{font-size:21px}
.mwrap{overflow-x:auto}
table.matrix{width:100%;font-size:15.5px;margin:20px 0;background:var(--card)}
table.matrix th,table.matrix td{border:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top}
table.matrix th{background:var(--tint)}
.srcs{max-width:1040px;margin:40px 0 0;border-top:1.5px solid var(--ink);padding-top:18px;font-size:14.5px;line-height:1.55}
.srcs h2{font:600 18px/1.3 var(--head);color:var(--accent)}
.srcs ol{columns:2;column-gap:40px;padding-left:24px}.srcs li{break-inside:avoid;margin-bottom:8px}
.srcs li::marker{color:var(--pencil);font-variant-numeric:tabular-nums}
.ed-source-page .srcs{border:0;margin-top:20px;padding-top:0}
.ed-source-page .srcs ol{columns:1}
.nb-after{max-width:var(--page);margin:0 auto;padding:0 32px 40px calc(32px + var(--m) + var(--gap))}
.nb-404{max-width:640px;padding-top:12vh;text-align:center}
.nb-404 h1{font-size:52px}
.nb-404::before{content:"";display:block;width:300px;max-width:100%;aspect-ratio:420/260;margin:0 auto 24px;background:no-repeat center/contain}

/* Footer: the back page */
.nb-foot-wrap{max-width:var(--page);margin:0 auto;padding:0 32px 44px}
.nb-foot>.ed-wrap{display:grid;grid-template-columns:var(--m) minmax(0,1fr) minmax(0,1fr);gap:24px var(--gap);font-size:16px;align-items:start}
.nb-foot>.ed-wrap::before{content:"";display:block}
.nb-foot strong{display:block;font-family:var(--head);font-size:24px;font-weight:600;margin-bottom:6px}
.nb-foot p{margin:0 0 .6em;color:var(--mute)}
.nb-foot a{color:var(--ink);font-weight:500}
.nb-foot>.ed-wrap>div:last-child p{color:var(--ink)}
.nb-foot>.ed-wrap>div:last-child{text-align:right}

/* Second site: a lab-notebook label instead of a pencil underline */

/* Narrow screens: the margin folds above each entry */
@media (max-width:980px){
  body.nb{--m:0px;--gap:0px}
  .nb-sheet::before,.nb-book::before{left:-14px}
  .nb-sheet{padding-left:0}
  .nb-foot>.ed-wrap>div:last-child{text-align:left}
  .nb-entry{grid-template-columns:1fr}
  .nb-margin{flex-direction:row;flex-wrap:wrap;align-items:center;padding:0 0 16px;gap:12px}
  .nb-margin header{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
  .nb-lead,.nb-feature article,.nb-archive,.ep-journal-open,.pf-body,.ed-guide-layout,.ed-guide-related{grid-template-columns:1fr}
  .ed-guide-toc,.pf-aside{position:static}
  .ed-guide-toc{order:0}
  .pf-main .tocm{display:block;position:static}.pf-aside .rtoc{display:none}
  .srcs ol{columns:1}
  .nb-nav{padding-left:0}
  .alist li{padding-left:54px}
  .alist li::before{left:0}
  .nb-after{padding-left:32px}
  .nb-foot>.ed-wrap{grid-template-columns:1fr 1fr}
  .nb-foot>.ed-wrap::before{display:none}
}
@media (max-width:600px){
  .nb-mast,.nb-main,.nb-foot-wrap,.nb-after{padding-left:22px;padding-right:16px}
  .nb-sheet::before,.nb-book::before{left:-10px}
  .nb-mast-in{grid-template-columns:1fr;gap:10px}
  .nb-meta{justify-self:start;text-align:left}
  .nb-name{font-size:clamp(30px,9vw,40px)}
  .nb-tabs{border-bottom:0}
  .nb-nav{gap:6px;padding-bottom:4px}
  .nb-nav a{padding:9px 12px;white-space:nowrap;border:1px solid var(--rule);border-radius:6px;margin:0}
  .nb-lead p{font-size:18px}
  .nb-plate-page .nb-pic,.nb-review .nb-plate-page .nb-pic{aspect-ratio:16/8}
  .nb-worksheet{padding:20px 16px;margin:0 -6px}
  .ed-controls{padding:14px}
  .jn-vendors [class*="vendor-body"]{padding-left:4px}
  .jn-vendors dl div,.nb-reviews dl div{grid-template-columns:1fr;gap:2px}
  .ep-fit-guide{grid-template-columns:1fr}.ep-fit-guide div+div{border-left:0;border-top:1px dashed var(--rule)}
  .ed-ac-evidence div{grid-template-columns:1fr;gap:2px}
  .jn-ac-criteria{grid-template-columns:1fr}
  .nb-foot>.ed-wrap{grid-template-columns:1fr}
  .ed-guide-section h2::before,.pf-main section.ps>h2::before,.jn-ac-section>h2::before,.ed-ac-block>h3::before{display:grid;margin:0 0 10px}
  .alist li{padding-left:0;padding-top:64px}
  .alist li::before{top:18px}
}


/* Nexus plates: real Nexus product images, shown whole (no tint, no crop beyond the top band on review pages) */
.nb-plate-nexus{background:#fff}
.nb-plate-nexus .nb-pic{aspect-ratio:auto;object-fit:contain}
.nb-review .nb-plate-page.nb-plate-nexus .nb-pic{aspect-ratio:16/7;object-fit:cover;object-position:top}
@media (max-width:600px){.nb-review .nb-plate-page.nb-plate-nexus .nb-pic{aspect-ratio:16/10}}

/* ---- Round 4: enterprise register ---- */
.nb h1,.nb h2,.nb h3{font-weight:500;letter-spacing:-.012em}
.nb-lead h1{font-weight:500}
.jn-read,.ep-official,.ed-ac-contact{font-family:var(--sans)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.08em;text-transform:uppercase}
.crumbs ol{font:500 12.5px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase}
/* Masthead A (Larkmoor): name left over a heavy rule, meta right, nav in small caps below */
.nb-mast{padding-top:30px}
.nb-mast-in{border-bottom:3px solid var(--ink);padding-bottom:16px}
.nb-name{font-size:clamp(34px,4.2vw,50px)}
.nb-meta .ed-mast-meta{font:400 14px/1.5 var(--sans);color:var(--mute)}
.nb-tabs{border-bottom:1px solid var(--rule)}
.nb-nav{gap:4px 30px;padding:12px 0 12px var(--m)}
.nb-nav a{font:600 12.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:0;border:0;background:none;margin:0;border-radius:0}
.nb-nav a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:6px}
/* Masthead B (Repères): a dark band carries the name; meta and nav sit on paper below */
.nb-mast-band{max-width:none;padding:0}
.nb-mast-band .nb-mast-in{background:var(--band);border:0;padding:26px max(32px,calc((100% - var(--page))/2 + 32px)) 22px;align-items:center}
.nb-mast-band .nb-name{color:var(--band-ink)!important;font-size:clamp(32px,3.8vw,46px);letter-spacing:0}
.nb-mast-band .nb-meta .ed-mast-meta,.nb-mast-band .nb-meta time{color:var(--band-ink)}
.nb-mast-band .nb-tabs{max-width:var(--page);margin:0 auto;padding:0 32px;border-bottom:1px solid var(--ink)}
/* Margin numbers: plain numerals over a short rule, no badges */
.nb-margin::before{content:counter(entry,decimal-leading-zero);font:500 30px/1 var(--head);color:var(--accent);background:none;border:0;border-radius:0;width:auto;height:auto;display:block;padding-bottom:10px;border-bottom:2px solid var(--accent);min-width:44px}
.ed-guide-section h2::before,.pf-main section.ps>h2::before,.jn-ac-section>h2::before,.ed-ac-block>h3::before,.alist li::before{font:500 22px/1 var(--head);color:var(--accent);border:0;border-radius:0;width:auto;height:auto;background:none;display:inline-block}
.nb-story::before,.ep-criterion::before{font:600 12px/22px var(--sans);letter-spacing:.08em}
.jn-vendors [class*="-rank"]{border-radius:0;border:0;border-top:2px solid var(--accent);width:auto;min-width:30px;height:auto;padding-top:6px;font:500 20px/1 var(--head);color:var(--accent)}
/* Cards: flat, hairline */
.nb-story,.nb-worksheet,.ep-criterion,.jn-ac-criteria article,.jn-ac-revisions,.jn-ac-corrections,.ed-guide-checklist,.ed-guide-toc,.pf-aside .rtoc,.pf-aside .card,.ep-fit-guide{border-radius:0;box-shadow:none}
.nb-worksheet{border:0;border-top:3px solid var(--ink);padding:26px 0 0;background:transparent}
.ed-controls{border-radius:0}
.ed-chip,.ed-button,.ed-focus select{border-radius:0}
.ed-chip span{border-radius:0}
.ed-status,.ep-status{border-radius:0;font-family:var(--sans)}
.ed-guide-checklist li::marker{content:"—  "}
/* Photographs */
.nb-pic{width:100%;height:auto;display:block}
.nb-plate-hero .nb-pic{aspect-ratio:4/3;object-fit:cover}
.nb-plate-archive .nb-pic{aspect-ratio:3/2;object-fit:cover}
.nb-plate-page{margin:4px 0 30px;max-width:1000px}
.nb-plate-page .nb-pic{aspect-ratio:16/6;object-fit:cover}
.nb-plate-nexus{background:var(--tint);border:1px solid var(--rule)}
/* Footer: dark band on the second site, heavy rule on the first */
.nb-foot>.ed-wrap{border-top:3px solid var(--ink);padding-top:22px}
.nb-v-reperes .nb-foot-wrap{max-width:none;background:var(--band);padding:0}
.nb-v-reperes .nb-foot{max-width:var(--page);margin:0 auto;padding:28px 32px 40px}
.nb-v-reperes .nb-foot>.ed-wrap{border:0;padding:0}
.nb-v-reperes .nb-foot strong,.nb-v-reperes .nb-foot p,.nb-v-reperes .nb-foot a,.nb-v-reperes .nb-foot>.ed-wrap>div:last-child p{color:var(--band-ink)}
.nb-v-reperes .nb-foot a{text-decoration-color:var(--band-ink)}
@media (max-width:980px){.nb-nav{padding-left:0}}
@media (max-width:600px){
  .nb-mast-band .nb-mast-in{padding:20px 16px 18px 22px}
  .nb-mast-band .nb-tabs{padding:0 16px 0 22px}
  .nb-nav{gap:10px 20px}
  .nb-nav a{padding:4px 0;border:0}
  .nb-plate-page .nb-pic{aspect-ratio:3/2}
  .nb-v-reperes .nb-foot{padding:24px 16px 32px 22px}
}
@media (max-width:980px){.ed-guide-section h2::before,.pf-main section.ps>h2::before,.jn-ac-section>h2::before,.ed-ac-block>h3::before{display:block;margin:0 0 8px;font-size:18px}}

/* ---- Round 5 (judge FIX): a louder field-report system ---- */
/* The margin is a tinted log column with a heavy rule, the full height of every page */
.nb-sheet::before,.nb-book::before{left:0;width:calc(var(--m) - 20px);background:var(--tint);border-right:3px solid var(--accent);box-shadow:none;top:-36px;bottom:-56px}
.nb-margin{padding:0 20px 0 18px;position:relative;z-index:1}
/* Entry log line: a big numeral, then the note, then a hairline across the margin */
.nb-margin::before{font:500 46px/1 var(--head);letter-spacing:-.02em;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:12px;min-width:0;width:100%}
.nb-entry+.nb-entry{border-top:1px solid var(--rule)}
/* Margin notes in the body serif, italic */
.nb-note,.jn-category,.ep-kicker,.ed-guide-type,.nb-margin h2,.nb-margin .nb-note{font:italic 400 16px/1.35 var(--body);letter-spacing:0;text-transform:none;color:var(--accent)}
.nb-margin header a{font:400 15px/1.35 var(--body)}
/* Section numerals: large, hung in the tinted margin on every inner page */
@media (min-width:981px){
  .ed-guide-section h2::before,.pf-main section.ps>h2::before,.jn-ac-section>h2::before,.ed-ac-block>h3::before,.artbody>h2.ah::before,.alist li::before,.ed-source-page .srcs::before{position:absolute;left:calc(-1 * (var(--m) + var(--gap)) + 18px);top:-4px;font:500 34px/1 var(--head);color:var(--accent);margin:0}
  .nb-sheet .ep-kicker,.nb-sheet .ed-guide-type{left:calc(-1 * (var(--m) + var(--gap)) + 18px);width:calc(var(--m) - 58px);text-align:left}
}
.artbody{counter-reset:sec}
.artbody>h2.ah{counter-increment:sec;position:relative}
.artbody>h2.ah::before{content:counter(sec,decimal-leading-zero)}
.ed-source-page .srcs{position:relative}
.ed-source-page .srcs::before{content:"01"}
.ed-source-page>header{position:relative}
@media (max-width:980px){.artbody>h2.ah::before,.ed-source-page .srcs::before{display:block;margin:0 0 8px;font:500 18px/1 var(--head);color:var(--accent)}}
/* Wider measure, filled right column: guide, about, method */
.ed-guide-layout{grid-template-columns:minmax(0,1fr) 280px;gap:48px;max-width:1000px}
.nb-side{display:flex;flex-direction:column;gap:22px;align-self:stretch}
.nb-side .ed-guide-toc{position:sticky;top:20px}
.nb-side .ed-guide-notes,.nb-side .ed-guide-related{margin:0;max-width:none;display:block;border-top:2px solid var(--ink);padding-top:12px;font-size:15px}
.nb-side .ed-guide-related-block+.ed-guide-related-block{margin-top:18px}
.nb-side .ed-guide-related h2{font-size:17px}
.nb-acc{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;max-width:1000px;align-items:start}
.nb-acc .ed-accountability{max-width:none}
.nb-side-acc{position:sticky;top:20px}
.nb-side-acc .jn-ac-revisions,.nb-side-acc .jn-ac-corrections{margin:0}
.nb-side-acc .jn-ac-corrections h2{font-size:21px}
.mainart,.faq,.ed-source-page{max-width:1000px}
.artbody{max-width:760px}
/* Repères: the nav rule spans the content column only */
.nb-mast-band .nb-tabs{padding:0;margin:0 max(32px,calc((100% - var(--page))/2 + 32px))}
/* Footer links never wrap a lone word */
.nb-foot>.ed-wrap{grid-template-columns:var(--m) minmax(0,1fr) auto}
.nb-foot>.ed-wrap>div:last-child a{white-space:nowrap}
@media (max-width:980px){
  .ed-guide-layout,.nb-acc{grid-template-columns:1fr}
  .nb-side .ed-guide-toc,.nb-side-acc{position:static}
  .nb-sheet::before,.nb-book::before{width:3px;left:-14px;background:var(--accent);border:0}
  .nb-margin{padding:0 0 16px}
  .nb-margin::before{font-size:28px;width:auto;border-bottom:0;padding:0 6px 0 0}
  .nb-margin>*{min-width:0}
  .nb-margin header{flex:1 1 0}
  .nb-foot>.ed-wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .nb-sheet::before,.nb-book::before{left:-10px}
  .nb-mast-band .nb-tabs{margin:0 16px 0 22px}
  .nb-foot>.ed-wrap{grid-template-columns:1fr}
  .nb-foot>.ed-wrap>div:last-child a{white-space:normal}
}
.nb-side .ed-guide-toc{order:-1}
@media (max-width:980px){
  .nb-side-guide{display:contents}
  .ed-guide-layout>.ed-guide-body{order:1}
  .nb-side .ed-guide-notes,.nb-side .ed-guide-related{order:2;margin-top:28px}
}

/* ---- Round 6 (judge FIX) ---- */
/* Guide side column scrolls with the page: no sticky box sliding over the notes and related links */
.nb-side .ed-guide-toc{position:static}
/* The guide header rule spans the content column, as wide as the plate and the side column */
.ed-guide-hero{max-width:1000px}
@media (max-width:980px){
  .nb-side .ed-guide-related{margin-top:14px}
}
@media (max-width:600px){
  .nb-worksheet{margin:0}
}
@media (max-width:980px){
  .ed-guide-layout{row-gap:0}
  .nb-side .ed-guide-toc{margin-bottom:32px}
}

/* ---- Polish after pass: the guide side column (contents, notes, related) stays on screen as one sticky block ---- */
.nb-side-guide{position:sticky;top:20px;align-self:start}
@media (max-width:980px){.nb-side-guide{position:static}}
