/* ES Producation Groups Berhad, Canopy: the article page (weekly/article-template.html).
   Loaded after css/tokens.css (the locked home page's CSS), css/pages.css and css/article-kit.css. It skins the article
   kit in Canopy's own terms (aeo-toolchain/article-kit/STANDARD.md): the "On this page" list sits in a LEFT rail, as the
   group report's rail does on every about page, sticky below the header; the reading column is ~66ch at 17px on a
   laptop and 16px on a phone; tables and figures are wider than the prose; the key-takeaways card is white with an ink
   rule, its heading and every bullet visible. Smallest text 12px. Written 20 Oct 2026 (Canopy AEO package). */

:root{
  --ak-ink:var(--ink);--ak-muted:var(--ink-2);--ak-rule:var(--rule);--ak-accent:var(--red);
  --ak-surface:var(--white);--ak-tint:var(--paper-2);--ak-zebra:transparent;--ak-radius:2px;
  --ak-top:calc(var(--hdr) + 28px);--ak-side:232px;--ak-gap:clamp(48px,4.4vw,80px);--ak-ui-font:var(--sans);
}

/* ---- the first screen ---- */
.art__mast{padding:calc(var(--hdr) + clamp(22px,3.4vw,48px)) 0 clamp(28px,3.4vw,48px)}
.art__head{margin-top:clamp(28px,3.6vw,52px);max-width:980px}
.art__head .label{margin-bottom:clamp(18px,2.2vw,28px)}
.art__h1{font-size:clamp(40px,4.6vw,72px);line-height:1.02;letter-spacing:-.022em;max-width:20ch;text-wrap:balance}
.art__byline{display:flex;flex-wrap:wrap;gap:6px 0;margin-top:clamp(20px,2.4vw,30px);font-size:13px;color:var(--ink-2)}
.art__byline span{display:inline-flex;align-items:center}
.art__byline span+span::before{content:"";width:18px;height:1px;background:var(--rule-2);margin:0 12px}
.art__byline span:first-child{color:var(--ink);font-weight:600}
.js .art__h1{animation:hero-rise 1s var(--ease) both}

.art__hero{margin:0}
.art__hero-img{position:relative;aspect-ratio:16/8;overflow:hidden;background:var(--stone)}
.art__hero-img img{width:100%;height:100%;object-fit:cover}
.art__hero figcaption{display:flex;gap:12px;align-items:baseline;margin-top:12px;font-family:var(--serif);font-style:normal;font-size:15px;color:var(--ink-2)}
.art__hero figcaption:not(:empty)::before{content:"Fig. 1";flex:none;font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink)}
.art__hero figcaption:empty{display:none}

/* ---- the reading area: the rail on the left, the article on the right ---- */
.art__wrap{padding-block:clamp(48px,6vw,96px)}
@media (min-width:1100px){
  .art .ak-layout{grid-template-columns:var(--ak-side) minmax(0,1fr)}
  .art .ak-aside{grid-column:1;grid-row:1}
  .art .ak-main{grid-column:2;grid-row:1}
}
.art .ak-main{max-width:900px}
.art .ak-toc__label{display:flex;align-items:center;gap:12px;margin:0;padding-bottom:12px;border-bottom:1px solid var(--ink);font-size:12px;letter-spacing:.14em;color:var(--ink)}
.art .ak-toc__label::before{content:"";width:22px;height:2px;background:var(--key);flex:none}
.art .ak-toc__progress{margin:0 0 6px;height:2px;background:var(--rule)}
.art .ak-toc__progress::after{background:var(--key)}
.art .ak-toc__list{border-left:1px solid var(--rule);margin-top:10px}
.art .ak-toc__list a{font-size:14px;line-height:1.4;color:var(--ink-2);padding:8px 0 8px 14px}
.art .ak-toc__list a[aria-current="true"]{color:var(--ink);border-left-color:var(--red);font-weight:600}
.art .ak-toc__top{font-size:13px;color:var(--ink-2)}
.art__card{margin-top:4px;padding:18px 18px 20px;background:var(--white);box-shadow:inset 0 0 0 1px var(--rule),inset 0 3px 0 var(--ink)}
.art__card p{font-family:var(--serif);font-size:18px;line-height:1.3;letter-spacing:-.01em;margin-bottom:12px}
.art__card .link{display:flex;justify-content:space-between;font-size:14px;margin-top:8px}
.art .ak-toc-m{border-radius:2px;border-color:var(--rule-2);background:var(--white)}
.art .ak-toc-m>summary{font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.art .ak-toc-m__count{letter-spacing:0;text-transform:none}

/* ---- the lead: short answer, standing note, key takeaways ---- */
.art__answer{padding:22px 0 0;border-top:1px solid var(--ink);max-width:68ch}
.art__k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink);margin-bottom:10px}
.art__answer-text{font-family:var(--serif);font-size:clamp(20px,1.6vw,24px);line-height:1.45;letter-spacing:-.008em;color:var(--ink)}
.art__standing{display:flex;gap:14px;align-items:flex-start;margin-top:24px;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:14px;line-height:1.55;color:var(--ink-2);max-width:68ch}
.art__standing .ic{flex:none;margin-top:1px}
/* key takeaways (render slot takeaways_html): <div class="art-takeaways"><p class="art-k">Key takeaways</p>
   <h2 class="art-takeaways__h" data-toc-skip>...</h2><ol class="art-checklist"><li><b>Lead.</b> text</li>...</ol></div> */
.art-takeaways{margin-top:28px;padding:clamp(22px,2.6vw,34px);background:var(--white);box-shadow:inset 0 0 0 1px var(--rule),inset 0 4px 0 var(--red);max-width:900px}
.art-takeaways .art-k,.art-k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink-2)}
.art-takeaways__h{font-family:var(--serif);font-weight:380;font-size:clamp(24px,2.1vw,32px);line-height:1.12;letter-spacing:-.015em;color:var(--ink);margin-top:8px}
.art-checklist{counter-reset:k;margin-top:18px;border-top:1px solid var(--ink)}
.art-checklist li{counter-increment:k;position:relative;padding:14px 0 14px 48px;border-bottom:1px solid var(--rule);font-size:16px;line-height:1.55;color:var(--ink-2)}
.art-checklist li::before{content:counter(k,decimal-leading-zero);position:absolute;left:0;top:16px;font-size:13px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.art-checklist li b{color:var(--ink);font-weight:600}
.art__toc-m{margin-top:8px}

/* ---- the body ---- */
.art__body{counter-reset:sec;margin-top:clamp(40px,4.4vw,64px)}
.art__body>*{max-width:66ch}
.art__body>:is(figure,.art-fig,.ak-table,.ak-table-hint,.art-stats,.art-steps,.art-faq,.art-sources,.art-chapter,.art-lookup){max-width:none}
.art__body :is(p,ul,ol){font-size:clamp(16px,1.18vw,17.5px);line-height:1.7;color:var(--ink-2)}
.art__body p+p,.art__body p+ul,.art__body ul+p,.art__body p+ol,.art__body ol+p{margin-top:1em}
.art__body a:not([class]){color:var(--ink);text-decoration:underline;text-decoration-color:rgba(22,24,28,.32);text-underline-offset:3px;text-decoration-thickness:1px}
.art__body a:not([class]):hover{text-decoration-color:var(--ink)}
.art__body b,.art__body strong{color:var(--ink);font-weight:600}
.art__body ul{list-style:none;padding:0}
.art__body ul li{position:relative;padding-left:20px}
.art__body ul li+li{margin-top:.45em}
.art__body ul li::before{content:"";position:absolute;left:0;top:.85em;width:10px;height:1px;background:var(--ink)}
.art__body ol:not([class]){counter-reset:ol;list-style:none;padding:0}
.art__body ol:not([class]) li{counter-increment:ol;position:relative;padding-left:32px}
.art__body ol:not([class]) li+li{margin-top:.5em}
.art__body ol:not([class]) li::before{content:counter(ol) ".";position:absolute;left:0;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
/* every section: <section class="art-chapter" id="..."><h2>...</h2>...</section> (or bare h2s) */
.art-chapter>*{max-width:66ch}
.art-chapter>:is(figure,.art-fig,.ak-table,.ak-table-hint,.art-stats,.art-steps,.art-lookup){max-width:none}
.art-chapter+.art-chapter,.art__body>h2:not(:first-child){margin-top:clamp(56px,6vw,88px)}
.art__body h2{counter-increment:sec;font-family:var(--serif);font-optical-sizing:auto;font-weight:380;font-size:clamp(28px,2.6vw,40px);line-height:1.1;letter-spacing:-.018em;color:var(--ink);padding-top:44px;border-top:1px solid var(--ink);position:relative;text-wrap:balance;margin-bottom:22px}
.art__body h2::before{content:counter(sec,decimal-leading-zero);position:absolute;left:0;top:16px;font-family:var(--sans);font-size:12px;letter-spacing:.14em;font-weight:600;color:var(--ink-2)}
.art__body h3{font-family:var(--sans);font-weight:600;font-size:1.08rem;letter-spacing:-.005em;color:var(--ink);margin:1.8em 0 .5em}
/* a figure or a table with its caption and source */
.art-fig{margin:clamp(30px,3.2vw,44px) 0}
.art-fig>img,.art-fig>picture img{width:100%;height:auto;background:var(--stone)}
.art-fig>figcaption{display:flex;gap:12px;align-items:baseline;margin-top:12px;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.art-fig>figcaption b:first-child{flex:none;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink)}
.art-fig .ak-table+figcaption,.art-fig .ak-table-hint+figcaption{margin-top:12px}
.art .ak-table{border-color:var(--rule-2);border-radius:2px}
.art .ak-table>table{font-size:15px}
.art .ak-table>table>caption{font-size:13px;color:var(--ink-2);border-bottom-color:var(--rule)}
.art .ak-table thead :is(th,td){font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink);background:var(--paper-2);border-bottom:1px solid var(--ink)}
.art .ak-table tbody th{font-family:var(--serif);font-weight:400;font-size:17px;letter-spacing:-.005em}
/* an inline call to action inside a section */
.art-cta{margin-top:1.4em;padding:14px 0 14px 18px;border-left:2px solid var(--red);font-size:15px!important;line-height:1.55;color:var(--ink)!important}
/* a method or scope note */
.art-method{font-size:14px!important;line-height:1.55;color:var(--ink-2);padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.art-method b:first-child{display:block;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);margin-bottom:4px}
/* three figures in a row: <div class="art-stats"><div><b>1.2:1</b><span>label</span></div>...</div> */
.art-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(28px,3vw,40px) 0;border-top:1px solid var(--ink)}
.art-stats>div{padding:18px 18px 20px 0}
.art-stats>div+div{padding-left:18px;border-left:1px solid var(--rule)}
.art-stats b{display:block;font-family:var(--serif);font-weight:380;font-size:clamp(32px,3vw,46px);letter-spacing:-.025em;line-height:1;color:var(--ink)}
.art-stats span{display:block;margin-top:8px;font-size:14px;line-height:1.45;color:var(--ink-2)}
/* a lookup box: a short definition or a worked example */
.art-lookup{margin:clamp(28px,3vw,40px) 0;padding:20px 22px;background:var(--paper-2);box-shadow:inset 3px 0 0 var(--ink)}
.art-lookup>:first-child{margin-top:0}
.art-lookup p{font-size:15.5px!important}
/* numbered steps */
.art-steps{counter-reset:st;margin:clamp(28px,3vw,40px) 0;border-top:1px solid var(--ink)}
.art-steps{list-style:none;padding:0}
.art-steps>li{counter-increment:st;position:relative;padding:16px 0 16px 56px!important;border-bottom:1px solid var(--rule)}
.art-steps>li::before{content:counter(st,decimal-leading-zero)!important;position:absolute!important;left:0;top:14px;width:auto!important;height:auto!important;background:none!important;font-family:var(--serif);font-size:26px;line-height:1;color:var(--ink)}
/* FAQ: visible question cards. <section class="art-faq"><h2>...</h2><div class="art-faq__item"><h3>Q</h3><p>A</p></div></section> */
.art-faq__item{padding:20px 0 22px;border-bottom:1px solid var(--rule);max-width:66ch}
.art-faq__item h3{font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.6vw,24px);letter-spacing:-.01em;line-height:1.25;margin:0 0 8px}
.art-faq details{border-bottom:1px solid var(--rule);max-width:66ch}
.art-faq summary{cursor:pointer;padding:18px 0;font-family:var(--serif);font-size:clamp(20px,1.6vw,24px);letter-spacing:-.01em;line-height:1.25;color:var(--ink)}
.art-faq details>:not(summary){padding-bottom:18px}
/* sources: a numbered list */
.art-sources ol{counter-reset:src;list-style:none;padding:0;margin-top:6px;border-top:1px solid var(--ink)}
.art__body .art-sources ol li{counter-increment:src;position:relative;padding:12px 0 12px 40px!important;border-bottom:1px solid var(--rule);font-size:14.5px!important;line-height:1.55}
.art__body .art-sources ol li::before{content:counter(src,decimal-leading-zero)!important;position:absolute!important;left:0;top:13px;font-size:12.5px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.art-sources .art-standing-note{margin-top:14px;font-size:13.5px!important}

/* ---- related (render_article's related_cards) ---- */
.art__related{margin-top:clamp(56px,6vw,88px);padding-top:18px;border-top:1px solid var(--ink)}
.art__related-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:12px}
.related-card{display:flex;flex-direction:column;gap:6px;padding:16px 0 18px;border-bottom:1px solid var(--rule);color:var(--ink)}
.related-card .rc-cat{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:var(--ink-2)}
.related-card .rc-title{font-family:var(--serif);font-size:clamp(19px,1.5vw,22px);letter-spacing:-.01em;line-height:1.25}
.related-card:hover .rc-title{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

@media (max-width:959px){
  .art__hero-img{aspect-ratio:3/2}
  .art-stats{grid-template-columns:1fr}
  .art-stats>div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
  .art__related-list{grid-template-columns:1fr}
}
@media (max-width:600px){
  .art__h1{font-size:clamp(34px,9.6vw,46px)}
  .art__answer-text{font-size:19px}
  .art-checklist li{padding-left:36px;font-size:15.5px}
  .art-takeaways{padding:20px 18px}
}
@media (prefers-reduced-motion:reduce){.js .art__h1{animation:none}}

/* ---- round-1 review: a margin column beside the prose on wide screens, two edges only (prose, wide) ---- */
@media (min-width:1180px){
  .art .ak-main{max-width:none}
  .art__lead,.art-chapter{display:grid;grid-template-columns:minmax(0,66ch) minmax(200px,1fr);column-gap:clamp(40px,4vw,64px);grid-auto-flow:row;align-items:start}
  .art__lead>*,.art-chapter>*{grid-column:1}
  .art__answer{max-width:none}
  .art__lead>.art__standing{grid-column:2;grid-row:1;margin-top:0;padding:4px 0 4px 16px;border:0;border-left:2px solid var(--red);max-width:none}
  .art__lead>.art-takeaways{grid-column:1 / -1;max-width:none}
  .art-chapter>:is(h2,figure,.art-fig,.ak-table,.ak-table-hint,.art-stats,.art-steps){grid-column:1 / -1}
  .art-chapter>:is(.art-cta,.art-lookup,.art-method){grid-column:2;grid-row:span 3;margin-top:0}
  .art-chapter>.art-cta{border-left-width:2px;padding:4px 0 4px 16px}
  .art-faq,.art-sources{max-width:66ch}
}

/* ---- round-2 review fixes ---- */
/* R2-03 a margin aside never starts a row by itself: one with no prose after it stays in the column */
@media (min-width:1180px){
  .art-chapter>:is(.art-cta,.art-lookup,.art-method):last-child{grid-column:1;grid-row:auto;margin-top:22px}
}
/* R2-06 the standing note's key is the four-colour chip */
.art__standing>.chip{flex:none;margin-top:5px;width:12px;height:12px}
/* R2-09 Sources is a section of its own; the byline never starts a line with its separator */
.art__body .art-sources{margin-top:clamp(56px,6vw,90px)}
@media (max-width:600px){.art__byline{flex-direction:column;gap:3px}.art__byline span+span::before{display:none}}

/* ---- the four kept guides (guides helper, 20 Oct 2026) ---- */
/* a section's own small-caps label ("Quick answers", "Sources") sits on the ruled head beside the section number,
   never above the rule */
.art__body section{position:relative}
.art__body section>.art-k:first-child{position:absolute;top:16px;left:44px;margin:0;font-size:12px;line-height:1.2;letter-spacing:.14em;font-weight:600;color:var(--ink)}
/* the related label carries the guide's own question after its lead word */
.art__related .chap__no{flex-wrap:wrap;gap:4px 12px}
/* the short answer is the page's lead panel: a heavier ink rule than the 1px rule every chapter opens with */
.art__answer{border-top:2px solid var(--ink)}
/* the method note, the FAQ and the sources keep the space a chapter has above its rule */
.art__body>.art-method+.art-chapter,.art__body .art-faq{margin-top:clamp(56px,6vw,90px)}
/* the FAQ and the sources read in the prose measure; their heading rule still spans the column */
.art__body>.art-sources>:is(ol,p){max-width:min(100%,640px)}
/* a link in the closing band's lede (the article close names neonplus.com.my) */
.art .closer .lede a{border-bottom:1px solid rgba(22,24,28,.32)}
.art .closer .lede a:hover{border-bottom-color:var(--ink)}

/* ---- round 2 (guides helper, 20 Oct 2026): the four kept guides' review fixes, for every article ---- */
/* red keeps its five jobs: an inline call is ruled in ink */
.art-cta{border-left-color:var(--ink)}
/* the mast: two tones in the title, the origin line, the guide's glyph beside the eyebrow */
.art__h1 .soft,.art__body h2 .soft{color:var(--ink-3)}
.art__origin{margin-top:10px;max-width:72ch;font-size:13px;line-height:1.5;color:var(--ink-2)}
.art__head .label .ic{width:20px;height:20px}
/* the hero plate: on laptop and wide screens its height follows the screen (21:9 at most), so the short answer begins
   on the first screen of a 1440 x 900 laptop */
.art__hero-img img{object-position:50% 55%}
.art--classroom-projector-or-tv .art__hero-img img{object-position:30% 45%}
@media (min-width:960px){
  .art__mast{padding-bottom:36px}
  .art__head{margin-top:40px}
  .art__hero-img{aspect-ratio:auto;height:clamp(300px,calc(100vh - 600px),566px)}
  .art__wrap{padding-top:48px}
}
/* the lead: the takeaways card keeps the reading measure, the method note sits beside it in the margin */
.art__lead>.art-method{margin-top:24px;max-width:68ch}
@media (min-width:1180px){
  .art__lead>.art-takeaways:not(:last-child){grid-column:1;max-width:none}
  .art__lead>.art-method{grid-column:2;align-self:start;margin-top:28px;max-width:none}
}
.art__lead>.art-takeaways:last-child .art-checklist li{padding-right:max(0px,calc(100% - 48px - 75ch))}
/* steps: the ruled row spans the column, the text keeps a reading measure */
.art-steps>li{padding-right:max(0px,calc(100% - 56px - 75ch))!important}
/* a sub-head inside a chapter: more space above than below, a hairline above */
.art__body .art-chapter>h3{margin:2.2em 0 .55em;padding-top:16px;border-top:1px solid var(--rule)}
.art__body .art-chapter>h2+h3{margin-top:0;padding-top:0;border-top:0}
/* small-caps labels inside the body */
.art__body .art-k{font-size:12px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink-2)}
/* exhibits that span the column */
.art-chapter>:is(.nrows,.art-split,.art-verdict,.art-pair,.art-draw){max-width:none}
@media (min-width:1180px){.art-chapter>:is(.nrows,.art-split,.art-verdict,.art-pair,.art-draw){grid-column:1 / -1}}
/* numbered ruled rows (aeo_render.nrows) in an article: a number, the lead as an h3, the sentence */
.art__body .nrows{margin:clamp(26px,2.8vw,38px) 0;padding:0;list-style:none}
.art__body .nrows li{padding:20px 0;margin:0}
.art__body .nrows li::before{content:none}
.art__body .nrows__lead{font-family:var(--serif);font-weight:400;font-size:clamp(19px,1.5vw,22px);line-height:1.3;letter-spacing:-.01em;color:var(--ink);margin:0;padding:0;border:0}
.art__body .nrows__text{margin:0!important;font-size:clamp(15.5px,1.1vw,16.5px);line-height:1.6;max-width:64ch}
/* a small fact sheet (aeo_render.fsheet) */
.art-facts{margin:clamp(24px,2.6vw,34px) 0}
.art-facts .art-k{margin-bottom:10px}
.art__body .fsheet dd{font-size:15.5px}
/* two ruled lists side by side (what stays / what travels) */
.art-split__cap{font-size:13.5px!important;color:var(--ink-2)!important;margin-bottom:12px}
.art-split__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,48px)}
.art-split__col{border-top:1px solid var(--ink)}
.art-split__k{display:flex;align-items:center;gap:10px;padding:14px 0 12px;font-size:12px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink)!important;border-bottom:1px solid var(--rule)}
.art-split__k .ic{width:22px;height:22px}
.art__body .art-split ul li{padding:12px 0;border-bottom:1px solid var(--rule);margin:0;font-size:15.5px;color:var(--ink)}
.art__body .art-split ul li::before{content:none}
/* a two-column verdict */
.art-verdict{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);margin:clamp(28px,3vw,40px) 0}
.art-verdict__col{border-top:1px solid var(--ink)}
.art-verdict__k{display:flex;align-items:center;gap:10px;padding:14px 0;font-family:var(--serif);font-size:clamp(19px,1.5vw,22px)!important;color:var(--ink)!important;border-bottom:1px solid var(--rule)}
.art-verdict__k .ic{width:26px;height:26px}
.art__body .art-verdict__list{counter-reset:vd;list-style:none;padding:0;margin:0}
.art__body .art-verdict__list li{counter-increment:vd;position:relative;padding:12px 0 12px 40px;border-bottom:1px solid var(--rule);font-size:15.5px;color:var(--ink-2);margin:0}
.art__body .art-verdict__list li::before{content:counter(vd,decimal-leading-zero);position:absolute;left:0;top:14px;font-size:12.5px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
/* two quoted sources side by side */
.art-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);margin:clamp(24px,2.6vw,36px) 0}
.art-pair__item{border-top:1px solid var(--ink);padding-top:14px}
.art-pair__item .art-k{margin-bottom:8px}
.art__body .art-pair__item p+p{margin-top:0}
.art-stats--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:640px){
  .art-split__cols,.art-verdict,.art-pair{grid-template-columns:1fr;row-gap:22px}
}
/* drawn exhibits (tools/guide_figures.py) in the corner-marked frame */
.art-draw{margin:clamp(30px,3.2vw,44px) 0}
.art-draw .fig__frame{overflow-x:auto}
.dr{display:block;width:100%;height:auto;min-width:560px}
.dr .ln{fill:none;stroke:var(--ink);stroke-width:1.25}
.dr .ln--w{stroke-width:2.5}
.dr .lt{stroke:var(--ink-4)}
.dr .red{stroke:var(--red)}
.dr .dash{stroke-dasharray:5 5}
.dr .ink{fill:var(--ink)}
.dr .red-fill{fill:var(--red)}
.dr .fillw{fill:var(--white)}
.dr .seat{fill:var(--white);stroke:var(--ink);stroke-width:1.25}
.dr .seat--key{fill:var(--red);stroke:var(--red)}
.dr text{font-family:var(--sans);font-size:15px;fill:var(--ink-2)}
.dr .tk{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;fill:var(--ink)}
.art-draw--card .fig__frame{background:var(--paper-2)}
.roomcard{max-width:520px;margin:clamp(10px,2vw,26px) auto;background:var(--white);box-shadow:inset 0 0 0 1px var(--rule-2),inset 0 3px 0 var(--ink);padding:18px 22px 16px}
.roomcard__h{display:flex;justify-content:space-between;gap:12px;font-size:12px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink)!important;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.roomcard dl div{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,1.3fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--rule)}
.roomcard dt{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:var(--ink-2)}
.roomcard dd{font-family:var(--serif);font-size:18px;color:var(--ink)}
.roomcard__f{margin-top:10px;font-size:12.5px!important;color:var(--ink-2)!important}
.yrs{--kw:96px;--vw:104px;--g:14px;position:relative;padding:30px 4px 4px}
.yrs__row{display:grid;grid-template-columns:var(--kw) minmax(0,1fr) var(--vw);gap:var(--g);align-items:center;padding:10px 0;border-bottom:1px solid var(--rule)}
.yrs__k{font-size:13.5px;color:var(--ink);white-space:nowrap}
.yrs__track{position:relative;height:14px}
.yrs__hi,.yrs__lo{position:absolute;left:0;top:0;height:100%;width:calc(var(--v) / 80 * 100%)}
.yrs__hi{background:var(--white);box-shadow:inset 0 0 0 1px var(--ink)}
.yrs__lo{background:var(--ink)}
.yrs__v{font-size:13.5px;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.yrs__axis{position:relative;height:26px;margin-left:calc(var(--kw) + var(--g));margin-right:calc(var(--vw) + var(--g))}
.yrs__axis span{position:absolute;top:6px;left:calc(var(--v) / 80 * 100%);transform:translateX(-50%);font-size:12px;color:var(--ink-2);white-space:nowrap}
.yrs__axis span:first-child{transform:none}
.yrs__axis span:last-child{transform:translateX(-100%)}
.yrs__mark{position:absolute;top:4px;bottom:30px;left:calc(4px + var(--kw) + var(--g) + (100% - 8px - var(--kw) - var(--vw) - 2 * var(--g)) * var(--m) / 80);border-left:1.5px solid var(--red)}
.yrs__mark span{position:absolute;top:0;left:8px;font-size:12px;color:var(--ink);white-space:nowrap}
@media (max-width:600px){.yrs{--kw:70px;--vw:78px;--g:8px}.yrs__k,.yrs__v{font-size:12.5px}.yrs__axis span:nth-last-child(2){display:none}}
.wall{padding:22px 6px 0}
.wall__grid{display:grid;grid-template-columns:1.99fr 2.66fr;column-gap:7%;align-items:end}
.wall__box{width:100%;aspect-ratio:16/9}
.wall__box--panel{background:var(--ink)}
.wall__box--proj{background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-2)}
.wall__grid p{margin-top:14px!important;padding-top:10px;border-top:1px solid var(--ink);align-self:start;font-size:13.5px!important;line-height:1.45;color:var(--ink-2)!important}
.wall__grid p b{display:block;margin-bottom:2px;font-family:var(--serif);font-weight:400;font-size:17px;color:var(--ink)}
/* tables: number columns take their own width, row heads stay on one line, a sub-label sits under its head */
.art .ak-table .ak-num{width:1%}
.art .ak-table[style*="--ak-colw:5rem"]:not(.ak-table--stack) tbody th{white-space:nowrap}
/* number-column headers wrap (their figures stay on one line), so three or four columns show before the swipe */
.art .ak-table thead th.ak-num{white-space:normal;min-width:4.5em}
.art .ak-table thead th:first-child{white-space:nowrap}
.art .ak-table .ak-sub{display:block;margin-top:2px;font-family:var(--sans);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.art-verdict-cell{font-weight:600;color:var(--ink)!important;white-space:nowrap}
.art-verdict-cell .ic{width:20px;height:20px;margin-right:8px;vertical-align:-5px}
/* links that leave the site carry the outbound mark */
.art__body a[href^="http"]:not([href^="https://wa.me"])::after{content:"\2009\2197";font-size:.85em}
.related-card .rc-cat{display:flex;align-items:center;gap:8px}
.related-card .rc-cat .ic{width:18px;height:18px}
.related-card--out .rc-title svg{display:inline-block;width:11px;height:11px;margin-left:2px;vertical-align:1px}
/* the rail card's note */
.art__card small{display:block;margin-top:12px;font-size:13px;line-height:1.45;color:var(--ink-2)}
/* in-body links to a Neon+ guide on neonplus.com.my: the same out mark as the rail and the related cards */
.art__body a .a-out{display:inline-block;width:.62em;height:.62em;margin-left:.18em;vertical-align:.06em}
