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

/* Index: Swiss modernist buyer guide. 12-column asymmetric poster grid, giant numerals, flush-left text.
   Colours and families come from the per-site variant CSS. */
body.ix{background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--body);font-feature-settings:"kern","tnum" 0;-webkit-font-smoothing:antialiased}
.ix a{color:var(--ink);text-decoration-line:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px}
.ix a:hover{color:var(--accent)}
.ix h1,.ix h2,.ix h3,.ix h4{font-family:var(--head);font-weight:700;line-height:1.08;letter-spacing:-.025em;margin:0 0 .45em;color:var(--ink);text-wrap:balance}
.ix h1 a,.ix h2 a,.ix h3 a{text-decoration:none}
.ix h1 a:hover,.ix h2 a:hover,.ix h3 a:hover{color:var(--accent)}
.ix p{margin:0 0 .9em}
.ix dl dd{margin-left:0}
.ix img:not(.ix-art):not(.ix-photo){filter:grayscale(1) contrast(1.05);transition:filter .25s}
.ix figure:hover img:not(.ix-art):not(.ix-photo){filter:none}
.ix figcaption{font:500 13px/1.4 var(--body);color:var(--mute);margin-top:8px;letter-spacing:.01em}
.ix-art{width:100%;height:auto}
.ix-num{display:block;font-family:var(--head);font-weight:700;font-size:clamp(88px,10.5vw,176px);line-height:.78;letter-spacing:-.07em;color:var(--ink);font-variant-numeric:tabular-nums;margin:0 0 22px -.04em}

/* Masthead: the name set as a poster headline, flush left */
.ix-mast{padding:0 48px}
.ix-mast-in{max-width:1344px;margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;padding:28px 0 0}
.ix-mast-block{grid-column:1/2;grid-row:1;width:44px;height:44px;background:var(--accent);align-self:start;margin-top:10px}
.ix-name{grid-column:2/13;grid-row:1;display:block;font-family:var(--head);font-weight:var(--name-weight);font-size:clamp(52px,9.6vw,152px);line-height:.86;letter-spacing:var(--name-track);text-decoration:none!important;color:var(--ink);padding-bottom:22px}
.ix-name:hover{color:var(--ink)}
.ix-name-1{color:var(--accent)}
.ix-meta{grid-column:1/7;grid-row:2;align-self:stretch;border-top:2px solid var(--rule);padding:12px 0 14px}
.ix-meta .ed-mast-meta{margin:0;font:500 14px/1.5 var(--body);color:var(--mute);max-width:56ch}
.ix-meta .ed-mast-meta span{display:block;color:var(--ink);font-weight:500;margin-bottom:4px}
.ix-meta .ed-mast-meta br{display:none}
.ix-nav{grid-column:7/13;grid-row:2;align-self:stretch;border-top:2px solid var(--rule);padding:12px 0 14px;display:flex;flex-wrap:wrap;gap:6px 26px;align-content:start;counter-reset:ixnav}
.ix-nav a{counter-increment:ixnav;font:600 15px/1.4 var(--body);text-decoration:none;letter-spacing:-.005em}
.ix-nav a::before{content:counter(ixnav,decimal-leading-zero);font-weight:700;font-size:12px;color:var(--accent);margin-right:7px;vertical-align:1px;font-variant-numeric:tabular-nums}
.ix-nav a:hover{color:var(--accent)}

/* Merlewood: the masthead sits in a black band, the block becomes a red column */
.ix-mast-band .ix-mast{background:var(--band);color:var(--band-ink)}
.ix-mast-band .ix-mast-in{padding-top:36px}
.ix-mast-band .ix-mast-block{grid-column:1/13;width:12px;height:auto;align-self:stretch;margin:6px 0 30px}
.ix-mast-band .ix-name{grid-column:1/13;padding-left:40px}
.ix-mast-band .ix-name,.ix-mast-band .ix-name:hover{color:var(--band-ink)}
.ix-mast-band .ix-name-1{color:var(--band-ink)}
.ix-mast-band .ix-meta,.ix-mast-band .ix-nav{border-top:1px solid var(--band-ink)}
.ix-mast-band .ix-meta .ed-mast-meta,.ix-mast-band .ix-meta .ed-mast-meta span{color:var(--band-ink)}
.ix-mast-band .ix-nav a{color:var(--band-ink)}
.ix-mast-band .ix-nav a::before{color:var(--band-ink);opacity:.9}
.ix-mast-band .ix-nav a:hover{color:var(--band-ink);text-decoration:underline;text-decoration-color:var(--band-ink)}

.ix-main{max-width:1440px;margin:0 auto;padding:40px 48px 72px}
.ix-mast-band .ix-main{padding-top:48px}

/* Home: numbered rows. Key column (numeral, heading) on the left, flush-left body on the right */
.ix-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;border-top:2px solid var(--rule);padding:26px 0 64px}
.ix-row:first-child{border-top-width:6px}
.ix-key{grid-column:1/4}
.ix-body{grid-column:4/13;min-width:0}
.ix-r-lead .ix-num{color:var(--accent)}
.ix-key .jn-section-top{display:flex;flex-direction:column;gap:10px}
.ix-key h2{font-size:clamp(24px,2.1vw,32px)}
.ix-key a{font:600 15px/1.4 var(--body)}

.jn-category,.ep-kicker,.ed-guide-type{font:700 13px/1.3 var(--body)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)!important;margin:0 0 12px!important}
.jn-byline,.ed-guide-byline,.ep-byline,.byline{font:500 14px/1.45 var(--body);color:var(--mute)}
.ep-byline span{display:block}
.jn-read{display:inline-block;font:700 15px/1.3 var(--body);text-decoration:none!important;border-top:2px solid var(--ink);padding-top:8px;margin-top:6px;min-width:140px}
.jn-read::after{content:"\2192";float:right;margin-left:24px;color:var(--accent)}
.jn-read:hover{border-color:var(--accent)}

.ix-lead h1{font-size:clamp(40px,4.9vw,80px);line-height:.98;letter-spacing:-.04em;margin-bottom:.35em}
.ix-lead .jn-dek{font-size:clamp(19px,1.5vw,23px);line-height:1.45;max-width:36em}

.ix-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ix-guides article{border-top:6px solid var(--ink);padding-top:16px}
.ix-guides h2{font-size:clamp(24px,2.1vw,32px)}

.ix-reviews{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:24px;row-gap:40px}
.ix-feature{grid-column:1/10}
.ix-feature article{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:24px;align-items:start}
.ix-feature article>figure{grid-column:1/5}
.ix-feature article>div{grid-column:5/10}
.ix-feature h3{font-size:clamp(30px,3vw,46px);letter-spacing:-.035em}
.ix-plate{border:2px solid var(--rule)}
.jn-verdict{font-size:19px;line-height:1.5;border-left:6px solid var(--accent);padding-left:16px}
.jn-check{font-size:16px;color:var(--ink);background:var(--tint);padding:12px 14px}
.ix-side{grid-column:1/10;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ix-side article{display:flex;flex-direction:column;gap:16px;border-top:2px solid var(--rule);padding-top:18px}
.ix-side figure img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top left;border:1px solid var(--rule)}
.ix-side h3{font-size:24px}

/* Shortlist and comparison controls */
.ix-r-index{background:linear-gradient(var(--rule),var(--rule)) top/100% 6px no-repeat;border-top:0;padding-top:32px}
.jn-shortlist-layout{display:block}
.jn-shortlist-layout>header{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:24px;margin-bottom:22px}
.jn-shortlist-layout>header h2{grid-column:1/10;font-size:clamp(32px,3.4vw,52px);letter-spacing:-.035em}
.jn-shortlist-layout>header p{grid-column:span 4;margin:0;font-size:17px}
.ed-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px 24px;padding:18px 0;border-top:2px solid var(--rule);border-bottom:2px solid var(--rule);margin-bottom:8px}
.ed-control-group{grid-column:1/-1;display:flex;flex-direction:column;gap:10px}
.ed-control-label,.ed-focus>span{font:700 13px/1.3 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.ed-chipset{display:flex;flex-wrap:wrap;gap:8px}
.ed-chip{display:inline-flex;align-items:center;gap:9px;min-height:44px;font:600 15px/1.1 var(--body);padding:10px 14px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0;cursor:pointer}
.ed-chip span{display:inline-block;width:10px;height:10px;border:2px solid currentColor;background:transparent}
.ed-chip[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.ed-chip[aria-pressed="true"] span{background:var(--accent);border-color:var(--accent)}
.ed-focus{display:flex;flex-direction:column;gap:8px}
.ed-focus select{font:500 16px var(--body);min-height:44px;padding:8px 10px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0;max-width:100%}
.ed-control-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:end}
.ed-button{min-height:44px;font:700 15px/1 var(--body);padding:12px 16px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0;cursor:pointer}
.ed-button-accent{background:var(--accent);border-color:var(--accent);color:#fff}
.ed-control-status{grid-column:1/-1;font-size:15px;color:var(--mute)}
.ed-control-status:empty{display:none}
.ed-share-url{grid-column:1/-1;font:15px var(--body);padding:10px;border:1px solid var(--ink);background:var(--paper);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 summary{display:grid;grid-template-columns:72px minmax(0,1fr) 28px;align-items:baseline;gap:16px;padding:18px 0;list-style:none}
.jn-vendors summary::-webkit-details-marker{display:none}
.jn-vendors summary::after{content:"+";font:400 30px/1 var(--head);color:var(--accent);text-align:right}
.jn-vendors details[open] summary::after{content:"\2212"}
.jn-vendors [class*="-rank"]{font:700 52px/.8 var(--head);letter-spacing:-.05em;color:var(--ink);font-variant-numeric:tabular-nums}
.jn-vendors details:first-child [class*="-rank"]{color:var(--accent)}
.jn-vendors summary>span:last-of-type{display:flex;flex-direction:column;gap:4px}
.jn-vendors summary strong{font:700 clamp(22px,2vw,28px)/1.15 var(--head);letter-spacing:-.025em}
.jn-vendors summary small{font:400 16px/1.5 var(--body);color:var(--mute)}
[class*="vendor-body"]{padding:0 0 26px 88px}
.jn-criteria{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 24px;margin:16px 0}
.jn-criteria section{border-top:2px solid var(--rule);padding-top:10px}
.jn-criteria h4{font:700 16px/1.3 var(--head);letter-spacing:-.01em;margin:0 0 6px}
.ed-status,.ep-status{display:inline-block;font:700 12px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;padding:5px 7px;border:2px solid currentColor;margin-bottom:8px;white-space:nowrap}
[data-status="documented"]>.ed-status,[data-status="documented"] .ep-status{color:#145A2A}
[data-status="partial"]>.ed-status,[data-status="partial"] .ep-status{color:#6E4300}
[data-status="not-established"]>.ed-status,[data-status="not-established"] .ep-status{color:var(--accent)}
.ed-claim{display:inline}
.ed-basis{display:block;font-size:14px;color:var(--mute);margin-top:4px}

.ix-archive h2{font-size:clamp(32px,3.6vw,56px);letter-spacing:-.035em}
.ix-archive>section>p:not(.jn-category){font-size:clamp(18px,1.4vw,21px);max-width:40em}

.ix-r-alts [data-journal-alternatives]>h2{font-size:clamp(28px,2.8vw,42px);letter-spacing:-.03em;margin-bottom:24px}
.ix-r-alts [data-journal-alternatives]>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ix-r-alts article{border-top:6px solid var(--ink);padding-top:14px}
.ix-r-alts h3{font-size:26px}
.jn-alternative-scenario{font-size:18px;font-weight:600;line-height:1.45}

/* Inner pages: one 12-column grid, a key column on the left, flush-left reading column */
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 34px;font:600 14px/1.4 var(--body);color:var(--mute)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--accent)}
.crumbs a{text-decoration:none}

.ix-guide,.ix-review,.ix-about,.ix-method,.ix-article-index,.ix-sources,.ix-archive-article{counter-reset:ixs}
.ed-guide-hero,.jn-ac-lead{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;border-top:6px solid var(--rule);padding:24px 0 28px;margin-bottom:0}
.ed-guide-hero h1,.ep-journal-verdict h1,.jn-ac-lead h1,.mainart h1,.ix-article-index h1,.ed-source-page h1,.ix-404 h1{font-size:clamp(40px,5.6vw,92px);line-height:.96;letter-spacing:-.045em}
.ed-guide-dek,.jn-ac-dek{font-size:clamp(20px,1.6vw,24px);line-height:1.45;max-width:34em;font-weight:500}
.ed-guide-dates{display:flex;flex-wrap:wrap;gap:6px 32px;font:500 14px/1.4 var(--body);color:var(--mute);margin:12px 0 0}
.ed-guide-dates div{display:flex;gap:6px}.ed-guide-dates dd{margin:0}
.ed-guide-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.ed-guide-toc,.tocm,.rtoc{font:500 15px/1.45 var(--body);border-top:2px solid var(--rule);padding-top:12px;align-self:start;position:sticky;top:20px}
.ed-guide-toc summary,.tocm summary,.rtoc h2{font:700 13px/1.3 var(--body)!important;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;color:var(--mute)}
.ed-guide-toc ol,.tocm ol,.rtoc ol{padding-left:0;margin:0;list-style:none;counter-reset:ixt}
.ed-guide-toc li,.tocm li,.rtoc li{counter-increment:ixt;margin:8px 0;display:grid;grid-template-columns:30px 1fr}
.ed-guide-toc li::before,.tocm li::before,.rtoc li::before{content:counter(ixt,decimal-leading-zero);font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.ed-guide-toc a,.tocm a,.rtoc a{text-decoration:none}
.ed-guide-body,.artbody,.pf-main{font-size:18px;line-height:1.68}
.ed-guide-section,.pf-main>section.ps,.artbody>h2{counter-increment:ixs}
.ed-guide-section{border-top:2px solid var(--rule);padding-top:18px;margin-top:40px}
.ed-guide-section:first-child{margin-top:0}
.ed-guide-section>header::before,.pf-main>section.ps>h2::before{content:counter(ixs,decimal-leading-zero);display:block;font:700 clamp(64px,6vw,104px)/.8 var(--head);letter-spacing:-.06em;color:var(--accent);margin-bottom:16px}
.ed-guide-body h2,.artbody h2,.pf-main h2{font-size:clamp(28px,2.6vw,38px);letter-spacing:-.03em;margin-top:0}
.ed-guide-checklist{border:2px solid var(--rule);border-left:10px solid var(--accent);padding:18px 22px;margin:28px 0;background:var(--paper)}
.ed-guide-checklist h3{font:700 13px/1.3 var(--body);letter-spacing:.06em;text-transform:uppercase}
.ed-guide-checklist ul{margin:0;padding-left:20px}
.ed-guide-notes,.ed-guide-related{margin:48px 0 0 calc(25% + 6px);max-width:760px;border-top:6px solid var(--rule);padding-top:16px;font-size:17px}
.ed-guide-notes summary{font:700 18px/1.3 var(--head)}
.ed-guide-related{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ed-guide-related-block h2{font-size:22px}
.ed-guide-related-block ul{list-style:none;padding:0;margin:0}
.ed-guide-related-block li{border-top:1px solid var(--rule);padding:8px 0}
.ed-guide-related-block a{font-weight:600;text-decoration:none}

/* Review page */
.ep-journal-open{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;border-top:6px solid var(--rule);padding-top:24px;margin-bottom:48px;align-items:start}
.ep-journal-verdict{grid-column:1/8;grid-row:1}
.ep-journal-picture{grid-column:8/13;grid-row:1}
.ep-journal-picture img{border:2px solid var(--rule)}
.ep-journal-fit{font-size:clamp(19px,1.5vw,22px);line-height:1.5;font-weight:500}
.ep-fit-guide{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:22px 0}
.ep-fit-guide div{border-top:2px solid var(--rule);padding-top:10px}
.ep-fit-guide div:last-child{border-top-color:var(--accent)}
.ep-fit-guide dt{font:700 13px/1.3 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.ep-fit-guide dd{margin:6px 0 0;font-size:17px}
.ep-official{display:inline-block;font:700 15px/1 var(--body);margin-top:10px;padding:13px 18px;background:var(--ink);color:var(--paper)!important;text-decoration:none!important}
.ep-official:hover{background:var(--accent)}
.pf-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.pf-main{grid-column:1/9;min-width:0}
.pf-main .tocm{display:none}
.pf-main>section.ps{border-top:2px solid var(--rule);padding-top:18px;margin-top:44px}
.pf-main>section.ps:first-of-type{margin-top:0}
.pf-aside{grid-column:9/13;font-size:16px;align-self:start;position:sticky;top:20px;display:flex;flex-direction:column;gap:26px}
.pf-aside .rtoc{position:static}
.pf-aside h2{font:700 13px/1.3 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.pf-aside .card{border-top:6px solid var(--rule);padding-top:12px}
.glance{margin:0}.glance dt{font:700 12px/1.3 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-top:12px}.glance dd{margin:2px 0 0;font-size:17px;font-weight:600}
.alts{list-style:none;padding:0;margin:0}.alts li{padding:10px 0;border-top:1px solid var(--rule)}.alts a{font-weight:700;text-decoration:none}.alts small{display:block;color:var(--mute);font-size:15px;margin:4px 0}
.shot{margin:24px 0}
.ep-profile{margin-top:64px;border-top:6px solid var(--rule);padding-top:24px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.ep-assessment-head{grid-column:1/5}
.ep-assessment-head h2{font-size:clamp(30px,3vw,46px);letter-spacing:-.035em}
.ep-criteria{grid-column:5/13;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.ep-criterion{border-top:2px solid var(--rule);padding-top:12px}
.ep-criterion header{display:flex;flex-direction:column-reverse;gap:4px;align-items:flex-start}
.ep-criterion h3{font-size:22px}
.ep-proof{font-size:16px;color:var(--mute)}
.ep-caveats{font-size:16px}

/* About, method, sources, article index, archive article */
.ed-accountability{display:block}
.jn-ac-lead>*{grid-column:1/10}
.jn-ac-lead h1{grid-column:1/10}
.jn-ac-section,.ed-ac-block{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;border-top:2px solid var(--rule);padding:20px 0 28px;counter-increment:ixs}
.jn-ac-section>*,.ed-ac-block>*{grid-column:5/12}
.jn-ac-section>h2,.ed-ac-block>h3{grid-column:1/5;grid-row:1/span 6;font-size:clamp(24px,2.2vw,32px)}
.jn-ac-section>h2::before,.ed-ac-block>h3::before{content:counter(ixs,decimal-leading-zero);display:block;font:700 clamp(56px,5vw,88px)/.8 var(--head);letter-spacing:-.06em;color:var(--accent);margin-bottom:14px}
.jn-ac-question{font-size:20px;font-weight:600;border-left:6px solid var(--accent);padding-left:16px}
.ed-ac-evidence{margin:0}
.ed-ac-evidence div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;padding:10px 0;border-top:1px solid var(--rule)}
.ed-ac-evidence dt{font:700 13px/1.4 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}.ed-ac-evidence dd{margin:0}
.jn-ac-revisions{border-top:2px solid var(--rule);padding:16px 0;margin:0 0 0 calc(33.33% + 8px);max-width:760px}
.jn-ac-revisions summary{font:700 18px/1.3 var(--head)}
.jn-ac-revisions article{border-top:1px solid var(--rule);padding:10px 0}
.jn-ac-revisions time{font-weight:700}
.jn-ac-revisions small{display:block;color:var(--mute);font-size:15px}
.ed-ac-contact{display:inline-block;padding:12px 16px;background:var(--ink);color:var(--paper)!important;text-decoration:none!important;font-weight:700;margin-right:14px}
.ed-ac-contact:hover{background:var(--accent)}

.ix-article-index>h1{border-top:6px solid var(--rule);padding-top:24px}
.ix-article-index .tline{font-size:clamp(20px,1.6vw,24px);font-weight:500;max-width:34em;margin-bottom:40px}
.alist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;counter-reset:ixa}
.alist li{counter-increment:ixa;position:relative;border-top:2px solid var(--rule);padding:18px 0 26px 126px;min-height:120px}
.alist li::before{content:counter(ixa,decimal-leading-zero);position:absolute;left:0;top:22px;font:700 72px/.8 var(--head);letter-spacing:-.06em;color:var(--accent)}
.alist li>*{display:block}
.alist a.n{font-family:var(--head);font-size:24px;font-weight:700;letter-spacing:-.02em;text-decoration:none;line-height:1.15}
.alist .byline{margin:8px 0 0}

.mainart{max-width:820px}
.ed-source-page{max-width:none}
.ed-source-page>p{max-width:46em;font-size:19px}
.ix-sources .srcs ol{columns:3}
.mainart>header{border-top:6px solid var(--rule);padding-top:24px}
.qa{border-top:1px solid var(--rule);padding:14px 0}.qa h3{font-size:21px}
.faq{max-width:820px;margin-top:40px}
table.matrix{width:100%;font-size:15px;margin:20px 0;display:block;overflow-x:auto}table.matrix th,table.matrix td{border-bottom:1px solid var(--rule);padding:8px;text-align:left;vertical-align:top}
.srcs{border-top:6px solid var(--rule);padding-top:18px;font-size:15px;line-height:1.55;margin-top:48px}
.srcs h2{font:700 clamp(24px,2vw,30px)/1.1 var(--head);letter-spacing:-.02em}
.srcs ol{columns:2;column-gap:40px;padding-left:24px}.srcs li{break-inside:avoid;margin-bottom:8px}
.srcs li::marker{color:var(--accent);font-weight:700}
.ix-after{max-width:1440px;margin:0 auto;padding:0 48px 48px}

.ix-404{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto 1fr;column-gap:24px;padding-top:12vh;min-height:70vh;align-items:start}
.ix-404::before{grid-column:1/5;grid-row:1/span 3;aspect-ratio:1;border:2px solid var(--rule);overflow:hidden;display:flex;align-items:flex-end;font:700 clamp(150px,19vw,300px)/.78 var(--head);letter-spacing:-.07em;color:var(--accent);padding-left:.02em}
.ix-motif-arcs .ix-404::before{background-color:var(--band);color:transparent;-webkit-text-stroke:2px var(--band-ink)}
.ix-404>*{grid-column:6/13}
.ix-404 p{font-size:20px}
.ix-404 h1{border-top:6px solid var(--accent);padding-top:22px}

/* Footer: a black slab, the name set large again */
.ix-foot-wrap{background:var(--band);color:var(--band-ink);padding:0 48px}
.ix-foot{max-width:1344px;margin:0 auto;padding:40px 0 56px;border-top:6px solid var(--accent)}
.ix-foot>.ed-wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:20px}
.ix-foot>.ed-wrap>div:first-child{grid-column:1/8}
.ix-foot>.ed-wrap>div:last-child{grid-column:8/13;border-top:1px solid var(--band-ink);padding-top:12px}
.ix-foot strong{display:block;font:700 clamp(40px,5vw,80px)/.9 var(--head);letter-spacing:-.045em;margin-bottom:18px}
.ix-foot p{color:var(--band-ink);font-size:16px;max-width:52ch}
.ix-foot a{color:var(--band-ink);font-weight:600;text-decoration-color:var(--band-ink)}
.ix-foot a:hover{color:var(--band-ink);text-decoration-thickness:3px}


/* Round 2: varied row splits */
.ix-r-lead{grid-template-rows:auto 1fr}
.ix-r-lead .ix-key{grid-column:1/8;grid-row:1}
.ix-r-lead .ix-body{display:contents}
.ix-r-lead .ix-lead{grid-column:1/8;grid-row:2;align-self:start}
.ix-r-lead .ix-poster{grid-column:8/13;grid-row:1/span 2;align-self:start}
.ix-r-index .ix-key{grid-column:1/5;grid-row:1}
.ix-r-index .ix-body{grid-column:1/13;grid-row:1}
.ix-r-index .jn-shortlist-layout>header{grid-template-columns:repeat(12,minmax(0,1fr));min-height:190px;align-content:start}
.ix-r-index .jn-shortlist-layout>header h2{grid-column:5/13}
.ix-r-index .jn-shortlist-layout>header p{grid-column:span 4}
.ix-r-index .jn-shortlist-layout>header p:first-of-type{grid-column:5/9}
.ix-r-index [data-editorial-compare]{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.ix-r-index .ed-controls{grid-column:1/5;grid-row:1/span 2;display:flex;flex-direction:column;gap:20px;margin:0;padding:16px 0 20px;position:sticky;top:20px}
.ix-r-index .ed-empty,.ix-r-index .jn-vendors{grid-column:5/13}
.ix-r-index .jn-vendors{border-top:2px solid var(--rule)}
.ix-r-archive .ix-key{grid-column:9/13;grid-row:1;text-align:right}
.ix-r-archive .ix-body{grid-column:1/9;grid-row:1}
.ix-r-archive .ix-num{font-size:clamp(150px,18vw,272px);margin:0 -.03em 0 0;color:var(--accent)}

/* Round 2: typographic art. Oversized cropped initials and numerals, sized by their own box (cqw). */
.ix-type{position:relative;overflow:hidden;container-type:inline-size;font-family:var(--head);font-weight:700;line-height:1;color:var(--ink);pointer-events:none;user-select:none}
.ix-type b,.ix-type span{position:absolute;font-weight:700;font-style:normal;white-space:nowrap}
.ix-type i{font-style:normal;font-variant-numeric:tabular-nums}
.ix-type-poster{aspect-ratio:3/4}
.ix-type-feature{aspect-ratio:4/3}
.ix-type-mark{aspect-ratio:1}
.ix-plate{margin:0}
/* Limmat: solid black and red glyphs on a hairline raster */
.ix-motif-grid .ix-type{border:2px solid var(--rule);background-color:var(--paper);background-image:linear-gradient(to right,rgba(11,11,11,.13) 1px,transparent 1px),linear-gradient(to bottom,rgba(11,11,11,.13) 1px,transparent 1px);background-size:calc(100%/6) calc(100%/8)}
.ix-motif-grid .ix-type-poster .t-a{font-size:112cqw;left:-2cqw;bottom:3cqw;letter-spacing:-.06em;line-height:.74}
.ix-motif-grid .ix-type-poster .t-b{top:0;right:0;width:50cqw;height:50cqw;background:var(--accent);color:#fff;font-size:46cqw;line-height:.74;letter-spacing:-.05em;display:flex;align-items:flex-end;padding-left:3cqw;overflow:hidden}
.ix-motif-grid .ix-type-poster .t-ranks{right:5cqw;top:58cqw;display:flex;flex-direction:column;gap:1.6cqw;font-size:6.4cqw;text-align:right}
.ix-motif-grid .t-ranks i:first-child{color:var(--accent)}
.ix-motif-grid .ix-type-feature{background-color:var(--tint);background-size:calc(100%/8) calc(100%/6)}
.ix-motif-grid .ix-type-feature .t-one{font-size:128cqw;right:2cqw;bottom:-27cqw;color:var(--accent);letter-spacing:-.08em;line-height:.8}
.ix-motif-grid .ix-type-feature .t-of{left:5cqw;top:5cqw;font-size:16cqw;letter-spacing:-.05em}
.ix-motif-grid .ix-type-feature .t-ranks{left:5cqw;bottom:5cqw;display:flex;gap:3.4cqw;font-size:5.4cqw}
.ix-motif-grid .ix-type-mark{background:var(--accent);border-color:var(--accent);background-image:none}
.ix-motif-grid .ix-type-mark .t-a{font-size:86cqw;left:3cqw;bottom:4cqw;color:#fff;letter-spacing:-.06em;line-height:.74}
.ix-motif-grid .ix-type-mark .t-b{right:6cqw;top:6cqw;font-size:30cqw;color:var(--ink);line-height:.8}
/* Merlewood: outlined letters against black slabs, one solid crimson glyph */
.ix-motif-arcs .ix-type-poster,.ix-motif-arcs .ix-type-mark{background:var(--band)}
.ix-motif-arcs .ix-type-poster .t-a,.ix-motif-arcs .ix-type-mark .t-a{font-size:122cqw;left:-9cqw;top:-22cqw;color:transparent;-webkit-text-stroke:.55cqw var(--band-ink);letter-spacing:-.04em;line-height:1}
.ix-motif-arcs .ix-type-poster .t-b{font-size:104cqw;right:-18cqw;bottom:-25cqw;color:var(--accent);letter-spacing:-.04em;line-height:1}
.ix-motif-arcs .ix-type-poster .t-bar{left:6cqw;right:6cqw;top:100cqw;height:2.2cqw;background:var(--band-ink)}
.ix-motif-arcs .ix-type-poster .t-ranks{left:6cqw;top:106cqw;display:flex;gap:4cqw;font-size:5.4cqw;color:var(--band-ink)}
.ix-motif-arcs .ix-type-feature{background:var(--paper);border:2px solid var(--rule)}
.ix-motif-arcs .ix-type-feature .t-ghost{font-size:86cqw;left:-5cqw;top:-20cqw;color:transparent;-webkit-text-stroke:.45cqw var(--ink);letter-spacing:-.05em}
.ix-motif-arcs .ix-type-feature .t-one{font-size:58cqw;right:3cqw;bottom:-12cqw;color:var(--accent);letter-spacing:-.05em}
.ix-motif-arcs .ix-type-feature .t-of{left:6cqw;bottom:6cqw;font-size:8cqw;border-top:1.2cqw solid var(--ink);padding-top:2cqw}
.ix-motif-arcs .ix-type-mark .t-a{font-size:110cqw;left:-6cqw;top:-18cqw}
.ix-motif-arcs .ix-type-mark .t-b{font-size:46cqw;right:4cqw;bottom:-6cqw;color:var(--accent);line-height:1}

/* Round 2: marks on about, method and the article index */
.ix-article-index{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-content:start}
.ix-article-index>*{grid-column:1/-1}
.ix-article-index>h1,.ix-article-index>.tline{grid-column:1/10}

/* Round 2: guide. Meta in the key column, an open contents strip, numbered section heads in the key column,
   prose in six columns and the checklist beside it */
.ed-guide-heading{display:contents}
.ed-guide-hero .ed-guide-type{grid-column:1/4;grid-row:1;align-self:start;padding-top:14px}
.ed-guide-hero h1{grid-column:4/13;grid-row:1/span 2;margin-bottom:.3em}
.ed-guide-hero .ed-guide-byline{grid-column:1/4;grid-row:2;align-self:end;margin:0}
.ed-guide-hero .ed-guide-dek{grid-column:4/12;grid-row:3;margin:0}
.ed-guide-hero .ed-guide-dates{grid-column:1/4;grid-row:3;flex-direction:column;gap:4px;margin:0;align-self:start}
.ed-guide-layout{display:block}
.ed-guide-toc{position:relative;padding:16px 0 12px calc(25% + 6px);border-top:2px solid var(--rule);border-bottom:2px solid var(--rule);margin:0 0 48px}
.ed-guide-toc>summary{position:absolute;left:0;top:16px;margin:0}
.ed-guide-toc ol{columns:2;column-gap:24px}
.ed-guide-toc li{break-inside:avoid;margin:0 0 10px;font-size:16px}
.ed-guide-body{display:block}
.ed-guide-section{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding-top:22px;margin-top:56px}
.ed-guide-section>header{grid-column:1/4}
.ed-guide-section>header h2{font-size:clamp(22px,1.9vw,28px);line-height:1.15}
.ed-guide-prose{grid-column:4/13;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:24px;align-content:start}
.ed-guide-prose>*{grid-column:1/7}
.ed-guide-prose>.ed-guide-checklist{grid-column:7/10;grid-row:1/span 40;align-self:start;margin:4px 0 0;position:sticky;top:20px;font-size:16px;line-height:1.5}
.ed-guide-checklist li{margin-bottom:6px}
.ed-guide-notes,.ed-guide-related{max-width:none}
/* Round 2: review body. The rail becomes a ruled index band above the text (contents, at a glance,
   alternatives); each section sets its numeral and heading in the key column */
.pf-aside{grid-column:1/-1;grid-row:1;position:static;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:12px;border-top:6px solid var(--rule);border-bottom:2px solid var(--rule);padding:16px 0 26px;margin-bottom:48px}
.pf-aside>.rtoc{grid-column:1/6;grid-row:1/span 2;border-top:0;padding-top:0}
.pf-aside>.rtoc ol{columns:2;column-gap:24px}
.pf-aside>.rtoc li{break-inside:avoid;margin:0 0 8px}
.pf-aside>.card{grid-column:6/9;grid-row:1/span 2;border-top:0;padding-top:0;border-left:1px solid var(--rule);padding-left:20px}
.pf-aside>div:not(.card):not(.rtoc){grid-column:9/13;grid-row:1;border-left:1px solid var(--rule);padding-left:20px}
.pf-aside>p.rbox{grid-column:9/13;grid-row:2;padding-left:20px;margin:0;align-self:end}
.pf-main{grid-column:1/-1;grid-row:2}
.pf-main>section.ps{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;margin-top:56px}
.pf-main>section.ps>*{grid-column:5/12}
.pf-main>section.ps>h2{grid-column:1/5;font-size:clamp(24px,2.1vw,32px);line-height:1.12;padding-right:12px}
.pf-main>section.ps>figure,.pf-main>section.ps>table,.pf-main>section.ps>.mwrap{grid-column:5/13}
.pf-main>section.ps>figure.shot{margin-top:0}
/* Round 2: archive article and its answers on the same key-column grid */
.ix-archive-article .mainart{max-width:none}
.ix-archive-article .mainart>h1{max-width:15em}
.ix-archive-article .mainart>.byline{margin-bottom:32px}
.ix-archive-article .artbody{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.ix-archive-article .artbody>*{grid-column:4/11}
.ix-archive-article .artbody>h2{grid-column:1/4;border-top:6px solid var(--accent);padding-top:12px;margin-top:28px;font-size:clamp(22px,1.9vw,28px);line-height:1.15}
.ix-archive-article .artbody>h3{margin-top:18px;font-size:21px}
.ix-archive-article .artbody>p:first-of-type{font-size:clamp(19px,1.5vw,22px);font-weight:500}
.ix-archive-article .artbody>.mwrap,.ix-archive-article .artbody>table{grid-column:4/13}
.ix-archive-article .faq{max-width:none;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;border-top:6px solid var(--rule);padding-top:18px}
.ix-archive-article .faq>*{grid-column:4/11}
.ix-archive-article .faq>h2{grid-column:1/4;grid-row:1/span 6;font-size:clamp(26px,2.4vw,36px)}

/* Narrow: rows fold to one column; numerals stay large and flush left */
@media (max-width:980px){
  .ix-mast,.ix-foot-wrap{padding-left:24px;padding-right:24px}
  .ix-main,.ix-after{padding-left:24px;padding-right:24px}
  .ix-meta{grid-column:1/13;grid-row:2}
  .ix-nav{grid-column:1/13;grid-row:3;border-top-width:1px}
  .ix-key,.ix-body{grid-column:1/13}
  .ix-key{display:flex;align-items:flex-end;gap:18px;margin-bottom:18px;flex-wrap:wrap}
  .ix-key .ix-num{margin:0;font-size:96px}
  .ix-r-lead .ix-body,.ix-r-archive .ix-body,.ix-reviews,.ix-feature article,.jn-shortlist-layout>header{grid-template-columns:1fr}
  .ix-lead,.ix-poster,.ix-archive,.ix-strip,.ix-feature,.ix-side,.ix-feature article>figure,.ix-feature article>div,.jn-shortlist-layout>header h2,.jn-shortlist-layout>header p{grid-column:1/-1}
  .ix-poster{margin-top:28px}
  .ix-feature article>figure{margin-bottom:18px}
  .ix-strip{margin-top:24px}
  .ix-r-alts [data-journal-alternatives]>div{grid-template-columns:1fr}
  .ed-guide-heading,.ed-guide-toc,.ed-guide-body,.ep-journal-verdict,.ep-journal-picture,.pf-main,.pf-aside,.ep-assessment-head,.ep-criteria,.jn-ac-lead>*,.jn-ac-section>*,.ed-ac-block>*,.jn-ac-section>h2,.ed-ac-block>h3,.ix-404>*,.ix-404::before{grid-column:1/-1;grid-row:auto}
  .ep-journal-picture{margin-bottom:28px}
  .ed-guide-toc,.pf-aside{position:static}
  .ed-guide-toc{margin-bottom:28px}
  .pf-main .tocm{display:block;position:static;margin-bottom:28px}
  .pf-aside .rtoc{display:none}
  .pf-aside{margin-top:40px}
  .ed-guide-notes,.ed-guide-related,.jn-ac-revisions{margin-left:0}
  .ix-foot>.ed-wrap>div:first-child,.ix-foot>.ed-wrap>div:last-child{grid-column:1/-1}
  .srcs ol{columns:1}
  .ix-404::before{width:220px;margin-bottom:24px}
}
@media (max-width:640px){
  .ix-mast,.ix-foot-wrap,.ix-main,.ix-after{padding-left:18px;padding-right:18px}
  .ix-mast-block{width:28px;height:28px;margin-top:4px}
  .ix-mast-band .ix-mast-block{width:8px;height:auto;margin-top:2px}
  .ix-mast-band .ix-name{padding-left:24px}
  .ix-name{font-size:clamp(40px,12.5vw,64px);padding-bottom:16px}
  .ix-nav{gap:6px 18px}
  .ix-row{padding-bottom:48px}
  .ix-guides,.ix-side,.ep-criteria,.ep-fit-guide,.ed-guide-related,.alist{grid-template-columns:1fr}
  .ix-side article{grid-template-columns:1fr}
  .ed-controls{grid-template-columns:1fr}
  .jn-vendors summary{grid-template-columns:44px minmax(0,1fr) 22px;gap:12px}
  .jn-vendors [class*="-rank"]{font-size:36px}
  [class*="vendor-body"]{padding-left:0}
  .ed-ac-evidence div{grid-template-columns:1fr;gap:2px}
  .alist li{padding-left:66px;min-height:0}
  .alist li::before{font-size:44px}
  .ed-guide-section>header::before,.pf-main>section.ps>h2::before{font-size:60px}
}

/* Round 2: narrow screens */
@media (max-width:980px){
  .ix-r-lead .ix-key,.ix-r-lead .ix-lead,.ix-r-lead .ix-poster,.ix-r-index .ix-key,.ix-r-index .ix-body,.ix-r-archive .ix-key,.ix-r-archive .ix-body{grid-column:1/-1;grid-row:auto}
  .ix-r-lead .ix-poster{max-width:420px;width:100%;margin-top:32px}
  .ix-r-archive .ix-key{text-align:left}
  .ix-r-archive .ix-num{font-size:96px;color:var(--ink)}
  .ix-r-index .jn-shortlist-layout>header{min-height:0;grid-template-columns:1fr}
  .ix-r-index .jn-shortlist-layout>header h2,.ix-r-index .jn-shortlist-layout>header p,.ix-r-index .jn-shortlist-layout>header p:first-of-type{grid-column:1/-1}
  .ix-r-index [data-editorial-compare]{display:block}
  .ix-r-index .ed-controls{position:static;border-bottom:2px solid var(--rule);margin-bottom:8px}
  .ix-r-index .jn-vendors{border-top:0}
  .ix-article-index>h1,.ix-article-index>.tline{grid-column:1/-1}
  .ed-guide-hero .ed-guide-type,.ed-guide-hero h1,.ed-guide-hero .ed-guide-byline,.ed-guide-hero .ed-guide-dek,.ed-guide-hero .ed-guide-dates{grid-column:1/-1;grid-row:auto}
  .ed-guide-hero .ed-guide-dek{margin-bottom:14px}
  .ed-guide-toc{padding-left:0;margin-bottom:32px}
  .ed-guide-toc>summary{position:static;margin-bottom:10px}
  .ed-guide-toc ol{columns:1}
  .ed-guide-section{margin-top:40px}
  .ed-guide-section>header,.ed-guide-prose{grid-column:1/-1}
  .ed-guide-prose{display:block}
  .ed-guide-prose>.ed-guide-checklist{position:static;margin:24px 0}
}
@media (max-width:980px){
  .ix-archive-article .artbody,.ix-archive-article .faq{display:block}
  .ix-archive-article .artbody>h2{margin-top:36px}
}
@media (max-width:980px){
  .pf-aside{grid-row:auto;display:flex;flex-direction:column;border-bottom:0;margin-bottom:0}
  .pf-aside>.card,.pf-aside>div:not(.card):not(.rtoc),.pf-aside>p.rbox{border-left:0;padding-left:0}
  .pf-main{grid-row:auto}
  .pf-main>section.ps{display:block;margin-top:40px}
}
@media (max-width:980px){.ix-sources .srcs ol{columns:1}}
@media (max-width:640px){
  .ed-guide-hero h1,.ep-journal-verdict h1,.jn-ac-lead h1,.mainart h1,.ix-article-index h1,.ed-source-page h1,.ix-404 h1{font-size:clamp(30px,8.4vw,40px)}
}

/* Round 3: generated duotone photographs. Hard-edged, framed by the grid's rules, never rounded. */
.ix-photo{display:block;width:100%;height:auto;object-fit:cover;background:var(--tint)}
.ix-poster{border:0}
.ix-poster .ix-photo{aspect-ratio:2/3;border-top:6px solid var(--accent)}
.ix-r-archive .ix-body{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));column-gap:24px;align-items:start}
.ix-archive{grid-column:1/6}
.ix-archive-photo{grid-column:6/9}
.ix-archive-photo .ix-photo{aspect-ratio:3/2;border-top:6px solid var(--rule)}
.ix-hero-photo{position:relative;margin:0}
.ix-hero-photo .ix-photo{border-top:6px solid var(--accent)}
.jn-ac-lead>.ix-hero-photo{grid-column:10/13;grid-row:1/span 5;align-self:start}
.jn-ac-lead>.ix-hero-photo .ix-photo{aspect-ratio:1}
.ix-hero-photo>.ix-type-mark{position:absolute;left:0;bottom:0;width:34%}
.ix-motif-grid .ix-hero-photo>.ix-type-mark{border-width:0}
.ix-article-index>.ix-hero-article-index{grid-column:10/13;grid-row:2/span 2;align-self:start;margin-bottom:24px}
.ix-article-index>.ix-hero-article-index .ix-photo{aspect-ratio:1}
.ed-guide-hero>.ix-hero-guide{grid-column:4/13;grid-row:4;margin-top:28px}
.ed-guide-hero>.ix-hero-guide .ix-photo{aspect-ratio:21/9}
.ep-assessment-head>.ix-hero-review{margin-top:22px;max-width:360px}
.ep-assessment-head>.ix-hero-review .ix-photo{aspect-ratio:1}
.mainart>.ix-hero-archive{margin:0 0 36px}
.mainart>.ix-hero-archive .ix-photo{aspect-ratio:21/9}
.ed-source-page .ix-hero-sources{margin:28px 0 8px}
.ed-source-page .ix-hero-sources .ix-photo{aspect-ratio:4/1}
.ix-404::before{background-size:cover;background-position:center;color:#fff;font-size:clamp(90px,10vw,150px);padding:0 0 .04em .06em;border:0;border-top:6px solid var(--accent)}
.ix-motif-arcs .ix-404::before{color:#fff;-webkit-text-stroke:0;background-color:var(--band)}
@media (max-width:980px){
  .ix-r-archive .ix-body{display:block}
  .ix-archive-photo{margin-top:24px}
  .jn-ac-lead>.ix-hero-photo,.ix-article-index>.ix-hero-article-index{grid-column:1/-1;grid-row:auto;margin:16px 0 8px}
  .jn-ac-lead>.ix-hero-photo .ix-photo,.ix-article-index>.ix-hero-article-index .ix-photo{aspect-ratio:3/2}
  .ix-hero-photo>.ix-type-mark{width:96px}
  .ed-guide-hero>.ix-hero-guide{grid-column:1/-1;grid-row:auto;margin-top:18px}
  .ed-guide-hero>.ix-hero-guide .ix-photo,.mainart>.ix-hero-archive .ix-photo{aspect-ratio:3/2}
  .ed-source-page .ix-hero-sources .ix-photo{aspect-ratio:5/2}
  .ix-poster .ix-photo{aspect-ratio:4/5}
}

/* Round 3b: real Nexus images (product screens and white-paper isometrics), framed, never redrawn */
.ix-plate-nexus{border:2px solid var(--rule);background:var(--paper)}
.ix-plate-nexus .ix-photo{aspect-ratio:auto}
.ix-nexus{filter:none!important;background:#fff}
.jn-ac-lead>.ix-hero-about .ix-photo{aspect-ratio:auto;object-fit:contain;padding:10px;border:2px solid var(--rule);border-top:6px solid var(--accent)}
.ep-assessment-head>.ix-hero-review .ix-nexus{aspect-ratio:auto;object-fit:contain;padding:8px;border:2px solid var(--rule);border-top:6px solid var(--accent)}
@media (max-width:980px){.jn-ac-lead>.ix-hero-about .ix-photo{aspect-ratio:auto}}

/* Round 5 (judge fixes) */
/* 1. Row 05: numeral inside the grid, photo takes the columns between text and numeral */
.ix-r-archive .ix-key{grid-column:10/13;grid-row:1;text-align:right;overflow:hidden}
.ix-r-archive .ix-body{grid-column:1/10;grid-row:1;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:24px;align-items:stretch}
.ix-r-archive .ix-num{font-size:clamp(120px,14vw,210px);margin:0;letter-spacing:-.06em}
.ix-archive{grid-column:1/5}
.ix-archive-photo{grid-column:5/10;display:flex}
.ix-archive-photo .ix-photo{aspect-ratio:auto;height:100%;min-height:300px;object-fit:cover}
/* 2. 404: no initials over the photo; photo and message share the grid */
.ix-404{padding-top:48px;grid-template-rows:auto auto 1fr}
.ix-404::before{grid-column:1/7;grid-row:1/span 3;aspect-ratio:4/3;font-size:0;padding:0}
.ix-404>*{grid-column:7/13}
/* 3. Home: row 01 photo height matches the lead; row 03 key becomes a band above full-width reviews; row 04 key, intro and filters share the left column */
.ix-poster .ix-photo{aspect-ratio:6/7}
.ix-r-reviews .ix-key{grid-column:1/13;display:flex;align-items:flex-end;gap:32px;margin-bottom:28px}
.ix-r-reviews .ix-key .ix-num{margin:0}
.ix-r-reviews .ix-key .jn-section-top{flex-direction:row;align-items:baseline;gap:28px;flex:1;justify-content:space-between;padding-bottom:12px}
.ix-r-reviews .ix-key h2{margin:0}
.ix-r-reviews .ix-body{grid-column:1/13}
.ix-r-reviews .ix-reviews{grid-template-columns:repeat(12,minmax(0,1fr))}
.ix-r-reviews .ix-feature{grid-column:1/13}
.ix-r-reviews .ix-feature article{grid-template-columns:repeat(12,minmax(0,1fr))}
.ix-r-reviews .ix-feature article>figure{grid-column:1/7}
.ix-r-reviews .ix-feature article>div{grid-column:7/13}
.ix-r-reviews .ix-side{grid-column:1/13}
.ix-r-index{grid-template-rows:auto auto 1fr}
.ix-r-index .ix-body,.ix-r-index .ix-body>section,.ix-r-index .jn-shortlist-layout,.ix-r-index [data-editorial-compare]{display:contents}
.ix-r-index #ranking{grid-column:1/2;grid-row:1}
.ix-r-index .ix-key{grid-column:1/5;grid-row:1}
.ix-r-index .jn-shortlist-layout>header{display:block;grid-column:1/5;grid-row:2;min-height:0;margin:0 0 8px}
.ix-r-index .jn-shortlist-layout>header h2{font-size:clamp(28px,2.6vw,40px)}
.ix-r-index .jn-shortlist-layout>header p{margin:0 0 10px;font-size:17px}
.ix-r-index .ed-controls{grid-column:1/5;grid-row:3;align-self:start}
.ix-r-index .ed-empty{grid-column:5/13;grid-row:1}
.ix-r-index .jn-vendors{grid-column:5/13;grid-row:1/span 3;align-self:start}
/* 4. Review hero: fit facts move under the vendor picture */
.ep-journal-open{grid-template-rows:auto auto auto auto auto}
.ep-journal-verdict{display:contents}
.ep-journal-verdict>*{grid-column:1/8}
.ep-journal-verdict>.ep-kicker{grid-row:1}
.ep-journal-verdict>h1{grid-row:2}
.ep-journal-verdict>.ep-journal-fit{grid-row:3}
.ep-journal-verdict>.ep-byline{grid-row:4}
.ep-journal-verdict>.ep-official{grid-row:5;justify-self:start;align-self:start}
.ep-journal-picture{grid-column:8/13;grid-row:1/span 3}
.ep-journal-verdict>.ep-fit-guide{grid-column:8/13;grid-row:4/span 2;grid-template-columns:1fr;gap:12px;margin:16px 0 0}
/* 5. Article index: title and date stay together; extra photo height goes below them */
.ix-article-index{grid-template-rows:auto auto auto 1fr auto}
.ix-article-index>h1{grid-row:2}
.ix-article-index>.tline{grid-row:3}
.ix-article-index>.ix-hero-article-index{grid-row:2/span 3}
.ix-article-index>.alist{grid-row:5}
.ix-article-index>.ix-hero-article-index .ix-photo{aspect-ratio:4/3}
/* 6. One red signal on Merlewood: masthead bar and rank one */
.ix-mast-block{background:var(--signal)}
.jn-vendors details:first-child [class*="-rank"]{color:var(--signal)}
@media (max-width:980px){
  .ix-r-archive .ix-key{grid-column:1/-1;text-align:left;overflow:visible}
  .ix-r-archive .ix-body{grid-column:1/-1;display:block}
  .ix-archive-photo .ix-photo{height:auto;aspect-ratio:3/2;min-height:0}
  .ix-404::before{grid-column:1/-1;grid-row:auto;width:100%;aspect-ratio:3/2}
  .ix-404>*{grid-column:1/-1}
  .ix-r-reviews .ix-key{display:flex;flex-wrap:wrap}
  .ix-r-reviews .ix-key .jn-section-top{flex-direction:column;align-items:flex-start;gap:8px}
  .ix-r-reviews .ix-feature article>figure,.ix-r-reviews .ix-feature article>div{grid-column:1/-1}
  .ix-r-index .ix-key,.ix-r-index .jn-shortlist-layout>header,.ix-r-index .ed-controls,.ix-r-index .ed-empty,.ix-r-index .jn-vendors,.ix-r-index #ranking{grid-column:1/-1;grid-row:auto}
  .ep-journal-verdict>*,.ep-journal-picture,.ep-journal-verdict>.ep-fit-guide{grid-column:1/-1;grid-row:auto}
  .ep-journal-picture{grid-row:1}
  .ix-article-index>h1,.ix-article-index>.tline,.ix-article-index>.ix-hero-article-index,.ix-article-index>.alist{grid-row:auto}
  .ix-article-index{grid-template-rows:none}
}

/* Round 6: row 05. No clipping: the numeral stands upright in cols 10 to 12, set vertically and sized by its
   own column (cqw), so the whole glyph fits the column width and runs the height of the photo beside it. */
.ix-r-archive .ix-key{grid-column:10/13;grid-row:1;overflow:visible;text-align:left;container-type:inline-size;display:block}
/* The vertical line box reports a wider layout overflow than the glyph ink (ink ends 8 px or more inside the column
   edge, measured), so only that phantom layout overflow is clipped at the grid edge; no ink reaches it. */
.ix-r-archive{overflow-x:clip}
.ix-r-archive .ix-body{grid-column:1/10;grid-template-columns:repeat(9,minmax(0,1fr))}
.ix-archive{grid-column:1/5}
.ix-archive-photo{grid-column:5/10}
.ix-r-archive .ix-num{writing-mode:vertical-rl;transform:rotate(180deg);font-size:124cqw;line-height:.76;letter-spacing:-.02em;margin:0;padding:0;text-align:left;display:block}
@media (max-width:980px){
  .ix-r-archive .ix-key{container-type:normal;grid-column:1/-1;grid-row:auto}
  .ix-r-archive .ix-body{grid-column:1/-1;grid-row:auto;display:block}
  .ix-archive-photo{margin-top:24px}
  .ix-archive-photo .ix-photo{width:100%}
  .ix-r-archive{overflow-x:visible}
  .ix-r-archive .ix-num{writing-mode:horizontal-tb;transform:none;font-size:96px;line-height:.78;letter-spacing:-.06em}
  .ix-archive-photo{grid-column:auto}
}
