/* 016 content and reading templates: insights archive, category, tag, single article, author,
   search, 404, legal. Builds on site.css (scene, crumbs, cmp, vgrid/vcard, cta). Prefix ct-. */

/* ---------- frame: shorter scene for reading and utility pages ---------- */
.ct-scene-short{height:clamp(380px,48svh,500px)}
.ct-scene-article{height:clamp(460px,62svh,640px)}
.ct-scene-article h1{max-width:22ch;font-size:clamp(2.4rem,4.6vw,4.4rem)}
.ct-scene-short h1{max-width:20ch}
.scene .ct-lead-wide{max-width:60ch}
.scene .draft-banner{margin-top:18px;background:rgba(31,36,39,.55);color:var(--haze-2)}
.scene-media.ct-pos-top{object-position:50% 30%}
.scene-media.ct-pos-low{object-position:50% 70%}

/* ---------- toolbar under the scene: search + counts ---------- */
.ct-bar{background:var(--haze-3);border-bottom:1px solid var(--rule)}
.ct-bar .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 32px;padding-block:18px}
.ct-search{display:flex;flex:1 1 420px;max-width:620px}
.ct-search input{flex:1;min-width:0;height:48px;padding:0 16px;font:400 1rem var(--f);color:var(--ink);background:#fff;border:1px solid var(--asphalt-3);border-right:0;border-radius:2px 0 0 2px}
.ct-search input::placeholder{color:var(--ink-2)}
.ct-search input:hover{border-color:var(--ink)}
.ct-search .btn{height:48px;border-radius:0 2px 2px 0}
.ct-counts{display:flex;flex-wrap:wrap;gap:6px 26px;list-style:none;padding:0;font-size:.9rem;color:var(--ink-2)}
.ct-counts b{font:600 1.5rem/1 var(--d);color:var(--ink);margin-right:6px;font-variant-numeric:tabular-nums}
.scene .ct-search{margin-top:24px}
.scene .ct-search input{border-color:var(--haze)}

/* ---------- section rhythm ---------- */
.ct-sec{padding-block:clamp(56px,7vw,104px)}
.ct-sec+.ct-sec{border-top:1px solid var(--rule)}
.ct-dark{background:var(--asphalt);color:var(--white)}
.ct-dark+.ct-sec,.ct-sec+.ct-dark{border-top:0}
.ct-h2{font:600 clamp(2rem,3.2vw,3rem)/1 var(--d);text-transform:uppercase;max-width:20ch;text-wrap:balance}
.ct-intro{margin-top:14px;max-width:60ch;color:var(--ink-2)}
.ct-dark .ct-intro{color:var(--haze)}
.ct-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 40px;margin-bottom:clamp(24px,3vw,40px)}

/* ---------- featured article (dark band) ---------- */
.ct-feature{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:center}
.ct-feature figure{margin:0;position:relative}
.ct-feature figure a{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--asphalt-2)}
.ct-feature figure img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.ct-feature figure a:hover img{transform:scale(1.03)}
.ct-feature figcaption{font-size:.8rem;color:var(--haze);padding-top:10px}
.ct-feature h2{font:600 clamp(2.2rem,3.8vw,3.6rem)/1 var(--d);text-transform:uppercase;text-wrap:balance}
.ct-feature h2 a{text-decoration:none}
.ct-feature h2 a:hover{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:3px}
.ct-feature-sum{margin-top:18px;font-size:1.08rem;color:var(--haze-2);max-width:46ch}
.ct-feature .btn{margin-top:26px}

/* meta line: category, date, author; always under the title, never above it */
.ct-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:12px;font-size:.84rem;font-weight:600;color:var(--ink-2);list-style:none;padding:0}
.ct-meta a{text-decoration:none;color:inherit}
.ct-meta a:hover{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px}
.ct-dark .ct-meta,.scene .ct-meta{color:var(--haze)}
.ct-meta .is-sample{color:var(--amber-ink);background:var(--amber);padding:0 6px;border-radius:2px}

/* ---------- topic (category) tiles with imagery ---------- */
.ct-topics{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}
.ct-topic a{display:block;text-decoration:none;height:100%}
.ct-topic figure{margin:0;position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--asphalt)}
.ct-topic img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),opacity .3s}
.ct-topic a:hover img{transform:scale(1.04);opacity:.85}
.ct-topic figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,36,39,0) 45%,rgba(31,36,39,.82) 100%)}
.ct-topic figure span{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;font:600 1.55rem/1.02 var(--d);text-transform:uppercase;color:var(--white);text-wrap:balance}
.ct-topic p{margin-top:12px;font-size:.94rem;color:var(--ink-2);max-width:44ch}
.ct-topic .ct-count{margin-top:8px;font-size:.84rem;font-weight:600;color:var(--ink)}
.ct-topic .ct-count.none{color:var(--ink-2)}
.ct-topic a:hover .ct-count{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px}
.ct-topics.ct-three{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------- archive: list + sidebar ---------- */
.ct-archive{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,80px);align-items:start}
.ct-list{list-style:none;padding:0;border-top:2px solid var(--ink)}
.ct-item{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(18px,2.4vw,32px);padding:26px 0;border-bottom:1px solid var(--rule)}
.ct-item-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--asphalt)}
.ct-item-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.ct-item:hover .ct-item-img img{transform:scale(1.03)}
.ct-item h3{font:600 clamp(1.5rem,2.1vw,1.9rem)/1.04 var(--d);text-transform:uppercase;text-wrap:balance}
.ct-item h3 a{text-decoration:none}
.ct-item h3 a:hover{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:3px}
.ct-item-sum{margin-top:10px;max-width:60ch;color:var(--ink-2)}
.ct-item .ct-read{display:inline-block;margin-top:14px}
.ct-list.ct-compact .ct-item{grid-template-columns:120px minmax(0,1fr);padding:18px 0}
.ct-list.ct-compact h3{font-size:1.35rem}

.ct-side{position:sticky;top:24px;display:grid;gap:28px}
.ct-side h2{font:600 1.15rem/1 var(--d);text-transform:uppercase;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.ct-side ul{list-style:none;padding:0}
.ct-side li a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule);text-decoration:none;font-size:.94rem}
.ct-side li a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px}
.ct-side li a[aria-current]{font-weight:700}
.ct-side li span{color:var(--ink-2);font-variant-numeric:tabular-nums}
.ct-ask{background:var(--asphalt);color:var(--white);padding:22px}
.ct-ask h2{border-color:var(--amber)}
.ct-ask p{margin-top:12px;font-size:.94rem;color:var(--haze-2)}
.ct-ask .btn{margin-top:16px}

/* pagination */
.ct-pager{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;font-size:.92rem}
.ct-pager ol{display:flex;gap:6px;list-style:none;padding:0}
.ct-pager ol a,.ct-pager ol span{display:grid;place-items:center;min-width:40px;height:40px;border:1px solid var(--rule);font-weight:600;text-decoration:none}
.ct-pager ol [aria-current]{background:var(--asphalt);color:var(--white);border-color:var(--asphalt)}
.ct-pager .off{color:var(--ink-2);opacity:.6}
.ct-pager-note{color:var(--ink-2);font-size:.86rem}

/* ---------- category / tag pages ---------- */
.ct-switch{background:var(--haze-3);border-bottom:1px solid var(--rule)}
.ct-switch ul{display:flex;gap:4px;list-style:none;padding:0;overflow-x:auto;scrollbar-width:thin}
.ct-switch a{display:flex;align-items:center;gap:8px;padding:15px 14px 13px;font-size:.88rem;font-weight:600;text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent}
.ct-switch a span{font:600 1rem/1 var(--d);color:var(--asphalt-3)}
.ct-switch a:hover,.ct-switch a[aria-current]{border-bottom-color:var(--amber)}
.ct-switch a[aria-current] span{color:var(--amber-ink)}

.ct-covers{background:var(--haze-3);padding:24px}
.ct-covers h2{font:600 1.15rem/1 var(--d);text-transform:uppercase;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.ct-covers ul{list-style:none;padding:0;margin-top:4px}
.ct-covers li{position:relative;padding:11px 0 11px 26px;border-bottom:1px solid var(--rule);font-size:.93rem}
.ct-covers li::before{content:"";position:absolute;left:2px;top:17px;width:11px;height:6px;border-left:2px solid var(--amber);border-bottom:2px solid var(--amber);transform:rotate(-45deg)}
.ct-cap{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;margin-top:18px;text-decoration:none}
.ct-cap img{width:96px;aspect-ratio:1;object-fit:cover}
.ct-cap b{display:block;font:600 1.1rem/1.05 var(--d);text-transform:uppercase}
.ct-cap small{display:block;margin-top:4px;font-size:.82rem;color:var(--ink-2)}
.ct-cap:hover b{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px}

/* designed empty state */
.ct-empty{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,3vw,44px);align-items:center;padding:clamp(20px,2.4vw,32px);background:var(--haze-3);border-top:3px solid var(--amber)}
.ct-empty figure{margin:0}
.ct-empty img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(.35)}
.ct-empty figcaption{font-size:.8rem;color:var(--ink-2);padding-top:8px}
.ct-empty h2{font:600 clamp(1.8rem,2.6vw,2.4rem)/1.02 var(--d);text-transform:uppercase;text-wrap:balance}
.ct-empty p{margin-top:12px;color:var(--ink-2);max-width:54ch}
.ct-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
.ct-actions .btn-line{color:var(--ink)}
.ct-actions .btn-line:hover{background:var(--ink);color:var(--white)}
.ct-dark .ct-actions .btn-line,.scene .ct-actions .btn-line{color:var(--white)}
.ct-dark .ct-actions .btn-line:hover,.scene .ct-actions .btn-line:hover{background:var(--white);color:var(--ink)}

/* related topics row (tags + categories) */
.ct-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.ct-chips a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--rule);background:var(--haze-3);font-size:.9rem;font-weight:600;text-decoration:none;border-radius:2px;transition:background .2s,border-color .2s}
.ct-chips a:hover{border-color:var(--ink);background:#fff}
.ct-chips span{color:var(--ink-2);font-weight:500}

/* ---------- single article ---------- */
.ct-byline{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:22px;font-size:.9rem;color:var(--haze-2)}
.ct-byline a{color:var(--white);font-weight:600;text-decoration-color:var(--amber);text-decoration-thickness:2px}
.ct-avatar{display:grid;place-items:center;width:46px;height:46px;border:1px dashed var(--haze);border-radius:50%;font:600 .66rem/1.1 var(--f);text-align:center;color:var(--haze)}
.ct-who{display:flex;align-items:center;gap:12px}
.ct-art{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(32px,5vw,80px);padding-block:clamp(48px,6vw,88px) clamp(56px,7vw,96px)}
.ct-toc{position:sticky;top:24px;align-self:start}
.ct-toc p{font:600 1rem/1 var(--d);text-transform:uppercase;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.ct-toc ol{list-style:none;padding:0;counter-reset:t}
.ct-toc li{counter-increment:t}
.ct-toc a{display:grid;grid-template-columns:26px 1fr;gap:6px;padding:9px 0;border-bottom:1px solid var(--rule);font-size:.88rem;text-decoration:none;color:var(--ink-2);transition:color .2s}
.ct-toc a::before{content:counter(t);font:600 1rem/1.25 var(--d);color:var(--asphalt-3)}
.ct-toc a:hover{color:var(--ink)}
.ct-toc a.is-on{color:var(--ink);font-weight:600}
.ct-toc a.is-on::before{color:var(--amber)}
.ct-toc-meta{margin-top:18px;font-size:.82rem;color:var(--ink-2)}

.ct-body{max-width:960px;font-size:1.0625rem;line-height:1.72}
.ct-body>*{max-width:68ch}
.ct-body>*+*{margin-top:1.05em}
.ct-body>.ct-wide,.ct-body>.ct-pair,.ct-body>.ct-table,.ct-body>.ct-prod,.ct-body>.ct-pull{max-width:none}
.ct-body .lede{font-size:1.24rem;line-height:1.55;color:var(--ink)}
.ct-body h2{font:600 clamp(1.8rem,2.4vw,2.25rem)/1.04 var(--d);text-transform:uppercase;margin-top:2.1em;scroll-margin-top:24px;text-wrap:balance}
.ct-body h3{font-size:1.14rem;font-weight:700;margin-top:1.7em;scroll-margin-top:24px}
.ct-body ul,.ct-body ol{padding-left:1.25em}
.ct-body li+li{margin-top:.45em}
.ct-body li::marker{color:var(--amber-ink);font-weight:700}
.ct-body ol li::marker{font-family:var(--d)}
.ct-body a:not(.btn):not(.btn-line){text-decoration-color:var(--amber);text-decoration-thickness:2px;font-weight:600}
.ct-body figure{margin-block:2em 1.8em}
.ct-body figure img{width:100%;object-fit:cover}
.ct-body figcaption{display:flex;gap:10px;font-size:.84rem;line-height:1.5;color:var(--ink-2);padding-top:10px}
.ct-body figcaption b{flex:none;font:600 .95rem/1.4 var(--d);text-transform:uppercase;color:var(--ink)}
.ct-fig img{aspect-ratio:3/2}
.ct-wide img{aspect-ratio:16/8}
.ct-pair-imgs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-pair img{aspect-ratio:4/3}
.ct-body img.ct-plate{object-fit:contain;background:#fff;padding:18px}
.ct-table{overflow-x:auto;margin-block:1.6em}
.ct-table table{min-width:560px}
.ct-table caption{caption-side:bottom;text-align:left;font-size:.84rem;color:var(--ink-2);padding-top:10px}
.ct-table td{font-size:.95rem}
.ct-table .ns{color:var(--ink-2);font-style:italic}
.ct-pull{margin-block:2.2em!important;padding:28px 0;border-block:2px solid var(--ink);display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:start}
.ct-pull svg{width:44px;height:36px;color:var(--amber)}
.ct-pull p{font:600 clamp(1.7rem,2.6vw,2.4rem)/1.08 var(--d);text-transform:uppercase;max-width:30ch;text-wrap:balance}
.ct-pull cite{display:block;margin-top:12px;font:500 .85rem var(--f);color:var(--ink-2)}
.ct-note{padding:18px 20px;background:var(--haze-3);border-top:3px solid var(--amber);font-size:.96rem}
.ct-note strong{display:block;font:600 1.05rem/1 var(--d);text-transform:uppercase;margin-bottom:6px}
.ct-prod{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--asphalt);color:var(--white);margin-block:2em!important}
.ct-prod-img{display:block;background:#fff}
.ct-prod-img img{width:100%;height:100%;aspect-ratio:4/3;object-fit:contain;padding:18px}
.ct-prod-body{padding:clamp(20px,2.6vw,32px);display:flex;flex-direction:column;justify-content:center}
.ct-prod-name{font:600 2rem/1 var(--d);text-transform:uppercase}
.ct-prod-name a{text-decoration:none!important;color:var(--white)}
.ct-prod-line{margin-top:6px;font-size:.86rem;color:var(--haze)}
.ct-prod dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin-top:18px;padding-top:14px;border-top:1px solid var(--asphalt-3)}
.ct-prod dt{font-size:.76rem;font-weight:600;color:var(--haze)}
.ct-prod dd{font:600 1.3rem/1.1 var(--d);font-variant-numeric:tabular-nums}
.ct-prod .btn{margin-top:22px;align-self:start}
.ct-body .ct-prod a.btn{color:var(--amber-ink)}
.ct-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:2.4em!important;padding-top:18px;border-top:1px solid var(--rule);font-size:.9rem}
.ct-tags b{font-weight:600;margin-right:4px}

.ct-authorbox{display:grid;grid-template-columns:88px minmax(0,1fr);gap:20px;align-items:start;margin-top:28px!important;padding:22px;background:var(--haze-3)}
.ct-authorbox .ct-avatar{width:88px;height:88px;border-color:var(--asphalt-3);color:var(--ink-2);font-size:.74rem}
.ct-authorbox b{font:600 1.35rem/1 var(--d);text-transform:uppercase}
.ct-authorbox p{margin-top:8px;font-size:.94rem;color:var(--ink-2)}
.ct-authorbox .link{font-size:.92rem}

.ct-prevnext{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--asphalt-3)}
.ct-prevnext a{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;padding:28px var(--gutter);text-decoration:none;transition:background .2s}
.ct-prevnext a+a{border-left:1px solid var(--asphalt-3)}
.ct-prevnext a:hover{background:var(--asphalt-2)}
.ct-prevnext img{width:120px;aspect-ratio:4/3;object-fit:cover}
.ct-prevnext small{display:block;font-size:.8rem;font-weight:600;color:var(--haze)}
.ct-prevnext b{display:block;margin-top:4px;font:600 1.3rem/1.06 var(--d);text-transform:uppercase}
.ct-prevnext a:hover b{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px}

/* ---------- author ---------- */
.ct-profile{display:grid;grid-template-columns:200px minmax(0,1fr) 300px;gap:clamp(24px,4vw,64px);align-items:start}
.ct-photo{display:grid;place-items:center;aspect-ratio:1;border:2px dashed var(--asphalt-3);background:var(--haze-3);color:var(--ink-2);font-size:.84rem;text-align:center;padding:16px}
.ct-profile h2{font:600 clamp(2rem,3vw,2.8rem)/1 var(--d);text-transform:uppercase}
.ct-profile .ct-role{margin-top:8px;font-weight:600;color:var(--ink-2)}
.ct-bio{margin-top:18px;max-width:62ch}
.ct-bio p+p{margin-top:.9em}
.ct-facts{display:grid;gap:0;border-top:2px solid var(--ink)}
.ct-facts div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule)}
.ct-facts dt{font-size:.88rem;color:var(--ink-2)}
.ct-facts dd{font:600 1.25rem/1 var(--d);text-transform:uppercase;text-align:right}
.ct-preview{margin-top:40px;padding:22px;border:2px dashed var(--rule)}
.ct-preview>p:first-child{font-size:.84rem;font-weight:600;color:var(--ink-2);margin-bottom:14px}

/* ---------- search ---------- */
.ct-types{position:sticky;top:0;z-index:4;background:var(--haze-2);border-bottom:1px solid var(--rule)}
.ct-types ul{display:flex;gap:4px;list-style:none;padding:0;overflow-x:auto}
.ct-types a{display:flex;align-items:center;gap:8px;padding:15px 14px 13px;font-size:.9rem;font-weight:600;text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent}
.ct-types a b{font:600 1.15rem/1 var(--d);color:var(--asphalt-3)}
.ct-types a:hover,.ct-types a.is-on{border-bottom-color:var(--amber)}
.ct-group{scroll-margin-top:64px}
.ct-group+.ct-group{margin-top:clamp(48px,6vw,80px)}
.ct-group-h{display:flex;align-items:baseline;gap:14px;font:600 clamp(1.8rem,2.6vw,2.4rem)/1 var(--d);text-transform:uppercase;margin-bottom:20px}
.ct-group-h span{font:600 1rem var(--f);color:var(--ink-2)}
.ct-hit mark{background:rgba(224,154,59,.32);color:inherit;padding:0 2px}
.vcard .ct-code{font-size:.84rem;color:var(--ink-2);margin-top:2px}
.ct-pages{list-style:none;padding:0;border-top:2px solid var(--ink)}
.ct-pages a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding:18px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.ct-pages b{font:600 1.4rem/1.08 var(--d);text-transform:uppercase}
.ct-pages small{grid-column:1;font-size:.82rem;font-weight:600;color:var(--ink-2)}
.ct-pages p{grid-column:1;color:var(--ink-2);font-size:.94rem;max-width:64ch}
.ct-pages svg{grid-row:1/4;grid-column:2;align-self:center;width:22px;height:22px;color:var(--asphalt-3);transition:transform .25s var(--ease),color .2s}
.ct-pages a:hover b{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:3px}
.ct-pages a:hover svg{transform:translateX(4px);color:var(--ink)}
.ct-try{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}

/* product line tiles: four core lines, 4WD as the supplementary line */
.ct-lines{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.1fr);gap:14px;list-style:none;padding:0}
.ct-lines a{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:#fff;text-decoration:none}
.ct-lines img{width:100%;height:66%;object-fit:contain;padding:14px;transition:transform .8s var(--ease)}
.ct-lines a:hover img{transform:scale(1.04)}
.ct-lines span{position:absolute;left:14px;right:14px;bottom:14px;font:600 1.35rem/1.02 var(--d);text-transform:uppercase}
.ct-lines small{display:block;font:600 .76rem var(--f);text-transform:none;color:var(--ink-2);margin-top:4px}
.ct-lines .ct-supp a{background:var(--asphalt);color:var(--white)}
.ct-lines .ct-supp img{object-fit:cover;padding:0;height:100%;opacity:.78}
.ct-lines .ct-supp span{z-index:1}
.ct-lines .ct-supp small{color:var(--haze)}
.ct-lines .ct-supp a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,36,39,0) 40%,rgba(31,36,39,.85))}
.ct-dark .ct-lines a{color:var(--ink)}
.ct-dark .ct-lines .ct-supp a{color:var(--white)}

/* 404 */
.ct-404 .scene-text{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px}
.ct-404-code{font:700 clamp(7rem,16vw,15rem)/.8 var(--d);color:var(--amber);letter-spacing:-.02em}
.ct-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ct-contact>div{padding:22px;background:var(--haze-3);border-top:3px solid var(--asphalt)}
.ct-contact h3{font:600 1.35rem/1 var(--d);text-transform:uppercase}
.ct-contact p{margin-top:10px;font-size:.94rem;color:var(--ink-2)}
.ct-contact .link,.ct-contact .btn{margin-top:14px;display:inline-flex}

/* ---------- legal ---------- */
.ct-legal{display:grid;grid-template-columns:230px minmax(0,1fr) 280px;gap:clamp(28px,4vw,64px);padding-block:clamp(48px,6vw,88px) clamp(64px,8vw,112px)}
.ct-legal .ct-body{max-width:68ch}
.ct-legal .ct-body h2{font-size:clamp(1.55rem,2vw,1.9rem);display:grid;grid-template-columns:2.2ch 1fr;gap:10px}
.ct-legal .ct-body h2 span{color:var(--amber-ink);opacity:.55}
.ct-legal .ct-body p,.ct-legal .ct-body li{font-size:1rem}
.ct-glance{position:sticky;top:24px;align-self:start;display:grid;gap:20px}
.ct-glance section{padding:20px;background:var(--haze-3)}
.ct-glance h2{font:600 1.1rem/1 var(--d);text-transform:uppercase;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.ct-glance dl div{padding:10px 0;border-bottom:1px solid var(--rule)}
.ct-glance dt{font-size:.78rem;font-weight:600;color:var(--ink-2)}
.ct-glance dd{font-size:.92rem;margin-top:2px}
.ct-supply{list-style:none;padding:0}
.ct-supply li{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule);font-size:.9rem}
.ct-supply li::before{content:"";width:14px;height:14px;margin-top:4px;border:2px solid var(--asphalt-3);border-radius:2px}
.ct-supply-n{margin-top:10px;font-size:.84rem;color:var(--ink-2)}
.ct-legal .todo-inline{font-size:.94em}
.ct-sumbox{padding:20px 22px;background:var(--asphalt);color:var(--white);max-width:none!important}
.ct-sumbox h2{margin-top:0!important;color:var(--white);font-size:1.3rem!important;display:block!important}
.ct-sumbox ul{margin-top:10px;padding-left:1.1em;color:var(--haze-2)}
.ct-sumbox li::marker{color:var(--amber)}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .ct-legal{grid-template-columns:210px minmax(0,1fr)}
  .ct-glance{grid-column:2;position:static;grid-template-columns:1fr 1fr}
  .ct-profile{grid-template-columns:180px minmax(0,1fr)}
  .ct-profile .ct-facts{grid-column:1/-1}
  .ct-lines{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1000px){
  .ct-archive{grid-template-columns:minmax(0,1fr)}
  .ct-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-art{grid-template-columns:minmax(0,1fr)}
  .ct-toc{position:static}
  .ct-toc ol{columns:2;column-gap:24px}
  .ct-feature{grid-template-columns:minmax(0,1fr)}
  .ct-topics,.ct-topics.ct-three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-contact{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .ct-legal{grid-template-columns:minmax(0,1fr)}
  .ct-legal .ct-toc ol{columns:2}
  .ct-glance{grid-column:auto;grid-template-columns:1fr}
  .ct-empty{grid-template-columns:1fr}
  .ct-prod{grid-template-columns:1fr}
  .ct-prevnext{grid-template-columns:1fr}
  .ct-prevnext a+a{border-left:0;border-top:1px solid var(--asphalt-3)}
}
@media (max-width:760px){
  .ct-scene-short,.ct-scene-article{min-height:440px}
  .ct-404 .scene-text{grid-template-columns:1fr}
  .ct-404-code{order:-1;font-size:6rem}
}
@media (max-width:600px){
  .ct-topics,.ct-topics.ct-three,.ct-side,.ct-contact{grid-template-columns:1fr}
  .ct-item{grid-template-columns:1fr}
  .ct-list.ct-compact .ct-item{grid-template-columns:96px minmax(0,1fr)}
  .ct-toc ol,.ct-legal .ct-toc ol{columns:1}
  .ct-pair-imgs{grid-template-columns:1fr}
  .ct-pull{grid-template-columns:1fr;gap:10px}
  .ct-profile{grid-template-columns:1fr}
  .ct-photo{max-width:160px}
  .ct-lines{grid-template-columns:1fr 1fr}
  .ct-lines .ct-supp{grid-column:1/-1}
  .ct-lines .ct-supp a{aspect-ratio:16/9}
  .ct-prevnext a{grid-template-columns:88px minmax(0,1fr)}
  .ct-prevnext img{width:88px}
  .ct-authorbox{grid-template-columns:1fr}
  .ct-search{flex-basis:100%}
  .ct-body{font-size:1rem}
  .ct-pager{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){
  .ct-topic img,.ct-item-img img,.ct-feature figure img,.ct-lines img{transition:none}
}

/* screenshot fixes */
.ct-toc .ct-toc-meta{font:400 .82rem/1.5 var(--f);text-transform:none;padding-bottom:0;border-bottom:0}
.ct-body .ct-tags{list-style:none;padding-left:0}
.ct-body .ct-tags li{margin-top:0}
.ct-body .ct-tags a{display:inline-flex;padding:6px 12px;border:1px solid var(--rule);background:var(--haze-3);font-weight:600;text-decoration:none;border-radius:2px}
.ct-body .ct-tags a:hover{border-color:var(--ink);background:#fff}
main mark{background:rgba(224,154,59,.32);color:inherit;padding:0 2px}
.ct-side .ct-chips a{display:inline-flex;padding:7px 12px;border:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ct-side .ct-chips a:hover{border-color:var(--ink)}
.ct-lines{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1180px){.ct-lines{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.ct-lines{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.ct-scene-short::after,.ct-scene-article::after{background:linear-gradient(180deg,rgba(31,36,39,.45) 0,rgba(31,36,39,.88) 50%,rgba(31,36,39,.94) 100%)}}

img.ct-avatar,img.ct-photo{border:0;padding:0;object-fit:cover;background:var(--asphalt-2)}
img.ct-photo{width:100%;height:auto}
