/* Single pages. Loaded on singular views only. Logical properties: RTL safe. */
.entry--single { --ai-scale: var(--aisamurai-reader-scale, 1); font-size: calc(var(--ai-fs, 1.0625rem) * var(--ai-scale)); }
.entry--single .entry-title { margin: 0 0 .5rem; font-size: clamp(1.9rem, 3.4vw + 1rem, 3rem); line-height: 1.12; letter-spacing: -.02em; }
.entry--single .entry-header { padding-block: 1rem .25rem; }
.entry--single .entry-content { max-inline-size: var(--ai-w, 70ch); margin-inline: auto; line-height: 1.8; overflow-wrap: anywhere; }
.entry--single .entry-content > * + * { margin-block-start: 1.25em; }
.entry--single .entry-content h2, .entry--single .entry-content h3, .entry--single .entry-content h4 { scroll-margin-block-start: 6rem; margin-block: 2em .5em; }
.entry--single .entry-content img { border-radius: 10px; }
.entry--single .entry-content blockquote { margin-inline: 0; padding: .25rem 1.25rem; border-inline-start: 4px solid var(--c-crimson); background: rgb(215 38 61 / 5%); border-radius: 0 10px 10px 0; font-size: 1.1em; }
[dir="rtl"] .entry--single .entry-content blockquote { border-radius: 10px 0 0 10px; }
.entry--single .entry-content :where(a:not(.btn)) { text-decoration-thickness: 1px; }
.entry--single.is-justified .entry-content { text-align: justify; hyphens: auto; }
.entry--single.has-dropcap .entry-content > p:first-of-type::first-letter { float: inline-start; margin-inline-end: .1em; font-size: 3.4em; line-height: .85; font-weight: 800; color: var(--c-crimson); }
.entry-summary { max-inline-size: var(--ai-w, 70ch); margin: .25rem auto 1rem; font-size: 1.25em; line-height: 1.55; color: var(--c-steel); font-weight: 500; }
.entry-thumb { max-inline-size: 100%; margin-block: 1rem 1.5rem; }
.entry-thumb img { inline-size: 100%; block-size: auto; border-radius: 14px; }
.entry-thumb.ratio-16-9 img { aspect-ratio: 16 / 9; object-fit: cover; } .entry-thumb.ratio-21-9 img { aspect-ratio: 21 / 9; object-fit: cover; } .entry-thumb.ratio-4-3 img { aspect-ratio: 4 / 3; object-fit: cover; }
.entry-thumb figcaption { margin-block-start: .5rem; color: var(--c-mist); font-size: .85rem; text-align: start; }

/* Cover title */
.entry-cover { position: relative; display: grid; align-items: end; min-block-size: clamp(320px, 52vh, 560px); margin-block-end: 2rem; color: #fff; background: #0b0b0f center / cover no-repeat; }
.entry-cover::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgb(0 0 0 / 82%), rgb(0 0 0 / 15%) 70%); }
.entry-cover__inner { position: relative; padding-block: 2.5rem; }
.entry-cover .entry-title { color: #fff; max-inline-size: 22ch; }
.has-transparent-header .entry-cover { padding-block-start: 5rem; }

/* Meta */
.entry-meta--single { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1.1rem; margin: .25rem 0 1.25rem; padding: 0; list-style: none; color: var(--c-mist); font-size: .9rem; }
.entry-meta--single li { display: inline-flex; align-items: center; gap: .4rem; }
.entry-meta__avatar { border-radius: 50%; }
.entry-meta--single a { color: inherit; text-decoration: none; }
.entry-meta--single a:hover { color: var(--c-crimson); }
.entry-meta--single .icon { opacity: .7; }
.entry-meta__author span a { color: var(--c-ink); font-weight: 700; }

/* Reader tools */
.ai-tools { display: flex; flex-wrap: wrap; gap: .5rem; max-inline-size: var(--ai-w, 70ch); margin: 0 auto 1.25rem; }
.ai-tool { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .9rem; border: 1px solid var(--c-line); border-radius: 999px; background: #fff; color: var(--c-ink); font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; transition: border-color .15s, background-color .15s, color .15s; }
.ai-tool:hover { border-color: var(--c-crimson); color: var(--c-crimson); }
.ai-tool.is-done { border-color: #16a34a; color: #16a34a; }

/* Progress */
.ai-progress { position: fixed; inset-block-start: var(--wp-admin--admin-bar--height, 0px); inset-inline: 0; z-index: 90; block-size: 3px; pointer-events: none; }
.ai-progress span { display: block; inline-size: 100%; block-size: 100%; background: linear-gradient(90deg, var(--c-crimson), #ff7a8a); transform: scaleX(0); transform-origin: 0 50%; will-change: transform; }
.ai-progress:dir(rtl) span { transform-origin:100% 50%; }
[dir="rtl"] .ai-progress span { transform-origin: 100% 50%; }

/* TOC */
.ai-toc { max-inline-size: var(--ai-w, 70ch); margin: 0 auto 1.75rem; border: 1px solid var(--c-line); border-radius: 14px; background: #fff; }
.ai-toc summary { padding: .85rem 1.1rem; font-weight: 800; cursor: pointer; list-style-position: inside; }
.ai-toc ol { margin: 0; padding: 0 1.1rem 1rem; list-style: none; counter-reset: toc; }
.ai-toc li { counter-increment: toc; }
.ai-toc a { display: block; padding: .3rem .6rem; border-inline-start: 2px solid transparent; color: var(--c-steel); text-decoration: none; border-radius: 0 8px 8px 0; font-size: .92rem; line-height: 1.4; }
[dir="rtl"] .ai-toc a { border-radius: 8px 0 0 8px; }
.ai-toc a:hover { color: var(--c-crimson); }
.ai-toc a.is-active { border-inline-start-color: var(--c-crimson); background: rgb(215 38 61 / 7%); color: var(--c-ink); font-weight: 700; }
.ai-toc__l3 a { padding-inline-start: 1.5rem; } .ai-toc__l4 a { padding-inline-start: 2.4rem; font-size: .85rem; }
.entry-grid { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.entry-grid__main { min-inline-size: 0; }
.entry-grid__side { position: sticky; inset-block-start: calc(var(--wp-admin--admin-bar--height, 0px) + 96px); }
.ai-toc--side { margin: 0; }
.ai-toc--side summary { pointer-events: none; list-style: none; } .ai-toc--side summary::-webkit-details-marker { display: none; }
@media (max-width: 1000px) { .entry-grid { grid-template-columns: 1fr; } .entry-grid__side { position: static; order: -1; } .ai-toc--side { max-inline-size: var(--ai-w, 70ch); margin-inline: auto; } }

/* Heading anchors */
.ai-anchor { margin-inline-start: .35em; opacity: 0; color: var(--c-crimson); text-decoration: none; font-weight: 400; transition: opacity .15s; }
:is(h2, h3, h4):hover > .ai-anchor, .ai-anchor:focus { opacity: 1; }

/* Share */
.ai-share { display: flex; align-items: center; gap: .75rem; max-inline-size: var(--ai-w, 70ch); margin: 1.75rem auto; }
.ai-share__label { color: var(--c-mist); font-weight: 700; font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; }
.ai-share ul { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.ai-share a, .ai-share button { display: grid; place-items: center; inline-size: 40px; block-size: 40px; border: 1px solid var(--c-line); border-radius: 50%; background: #fff; color: var(--c-ink); cursor: pointer; transition: background-color .15s, color .15s, border-color .15s, transform .15s; }
.ai-share a:hover, .ai-share button:hover { background: var(--c-crimson); border-color: var(--c-crimson); color: #fff; transform: translateY(-2px); }
.ai-share button.is-done { background: #16a34a; border-color: #16a34a; color: #fff; }
.ai-share--float { position: fixed; inset-block-start: 40%; inset-inline-start: 14px; z-index: 40; flex-direction: column; margin: 0; max-inline-size: none; }
.ai-share--float .ai-share__label { display: none; } .ai-share--float ul { flex-direction: column; }
@media (max-width: 1250px) {
	.ai-share--float { inset: auto 0 0 0; flex-direction: row; justify-content: center; padding: .5rem; background: rgb(255 255 255 / 92%); backdrop-filter: blur(10px); border-block-start: 1px solid var(--c-line); }
	.ai-share--float ul { flex-direction: row; }
}

/* Terms, author, CTA */
.terms { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; max-inline-size: var(--ai-w, 70ch); margin: 1.5rem auto 0; font-size: .9rem; }
.terms__list a { display: inline-block; margin: .15rem .25rem .15rem 0; padding: .2rem .75rem; border-radius: 999px; background: rgb(11 11 15 / 6%); color: var(--c-ink); text-decoration: none; font-weight: 600; }
.terms__list a:hover { background: var(--c-crimson); color: #fff; }
.ai-author { display: flex; gap: 1.25rem; align-items: center; max-inline-size: var(--ai-w, 70ch); margin: 2.5rem auto; padding: 1.5rem; border: 1px solid var(--c-line); border-radius: 18px; background: #fff; }
.ai-author__avatar img { inline-size: 88px; block-size: 88px; border-radius: 50%; object-fit: cover; }
.ai-author__label { margin: 0; color: var(--c-mist); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ai-author__name { margin: .1rem 0 .4rem; font-size: 1.3rem; }
.ai-author__bio { margin: 0 0 .5rem; color: var(--c-steel); }
.ai-author__links { display: flex; flex-wrap: wrap; gap: 1rem; margin: 0; font-weight: 700; font-size: .9rem; }
@media (max-width: 560px) { .ai-author { flex-direction: column; text-align: center; } }
.ai-cta { max-inline-size: var(--ai-w, 70ch); margin: 2rem auto; padding: 1.75rem; border-radius: 18px; color: #fff; background: radial-gradient(circle at 100% 0%, rgb(255 255 255 / 18%), transparent 55%), linear-gradient(135deg, #0b0b0f, #2a1519 60%, var(--c-crimson)); }
.ai-cta__title { margin: 0 0 .4rem; color: #fff; font-size: 1.4rem; }
.ai-cta p { margin: 0 0 1rem; color: #e7e8ee; }
.ai-cta .btn--primary { background: #fff; color: var(--c-crimson) !important; }

/* Related + navigation */
.related { max-inline-size: 100%; margin-block: 3rem 1rem; }
.related--list .related__list { display: grid; gap: .9rem; margin: 0; padding: 0; list-style: none; max-inline-size: var(--ai-w, 70ch); }
.related--list li { display: flex; gap: .9rem; align-items: center; }
.related__thumb img { inline-size: 84px; block-size: 64px; object-fit: cover; border-radius: 10px; }
.related__title { display: block; font-weight: 700; text-decoration: none; color: var(--c-ink); }
.related__title:hover { color: var(--c-crimson); }
.related time { color: var(--c-mist); font-size: .82rem; }

/* Comments toggle */
.ai-comments-toggle { max-inline-size: var(--ai-w, 70ch); margin: 2rem auto; }
.ai-comments-toggle > summary { display: inline-flex; padding: .7rem 1.25rem; border: 1px solid var(--c-line); border-radius: 999px; background: #fff; font-weight: 700; cursor: pointer; list-style: none; }
.ai-comments-toggle > summary::-webkit-details-marker { display: none; }
.ai-comments-toggle[open] > summary { margin-block-end: 1rem; border-color: var(--c-crimson); color: var(--c-crimson); }

/* Embeds, code, links, lightbox, quote */
.yt-lite { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 14px; background: #000 center / cover no-repeat; cursor: pointer; }
.yt-lite::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgb(0 0 0 / 45%), transparent 55%); }
.yt-lite.is-playing::after { display: none; }
.yt-lite__play { position: absolute; z-index: 1; inset: 0; margin: auto; inline-size: 72px; block-size: 52px; border: 0; border-radius: 16px; background: var(--c-crimson); cursor: pointer; box-shadow: 0 10px 28px rgb(0 0 0 / 40%); transition: transform .15s; }
.yt-lite__play::before { content: ""; position: absolute; inset: 0; margin: auto; inline-size: 0; block-size: 0; border-style: solid; border-width: 10px 0 10px 17px; border-color: transparent transparent transparent #fff; transform: translateX(2px); }
.yt-lite:hover .yt-lite__play { transform: scale(1.08); }
.yt-lite iframe { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; border: 0; z-index: 2; }
.entry-content pre.has-copy { position: relative; }
.ai-codecopy { position: absolute; inset-block-start: .5rem; inset-inline-end: .5rem; padding: .25rem .65rem; border: 1px solid rgb(255 255 255 / 25%); border-radius: 8px; background: rgb(255 255 255 / 12%); color: inherit; font: inherit; font-size: .75rem; cursor: pointer; opacity: 0; transition: opacity .15s; }
pre.has-copy:hover .ai-codecopy, .ai-codecopy:focus { opacity: 1; }
.entry-content a.is-external { display:inline; padding:.08em .24em; border-block-end:1px solid color-mix(in srgb,var(--c-crimson) 58%,transparent); border-radius:4px 4px 2px 2px; background:linear-gradient(to top,color-mix(in srgb,var(--c-crimson) 10%,transparent) 0 52%,transparent 52%); color:color-mix(in srgb,var(--c-crimson) 82%,var(--c-ink)); font-weight:650; text-decoration:none; box-decoration-break:clone; -webkit-box-decoration-break:clone; transition:color .18s,background-color .18s,border-color .18s; }
.entry-content a.is-external::after { content:"↗"; display:inline-grid; place-items:center; inline-size:1.35em; block-size:1.35em; margin-inline-start:.28em; border-radius:50%; background:var(--c-ink); color:#fff; font-size:.68em; line-height:1; vertical-align:.14em; }
.entry-content a.is-external:hover { border-color:var(--c-crimson); background:color-mix(in srgb,var(--c-crimson) 12%,transparent); color:var(--c-crimson); }
.entry-content a.is-external:focus-visible { outline:2px solid var(--c-crimson); outline-offset:3px; }
.is-zoomable { cursor: zoom-in; }
.ai-lightbox { max-inline-size: 96vw; max-block-size: 96vh; padding: 0; border: 0; background: transparent; }
.ai-lightbox::backdrop { background: rgb(0 0 0 / 88%); backdrop-filter: blur(4px); }
.ai-lightbox img { max-inline-size: 96vw; max-block-size: 92vh; border-radius: 10px; }
.ai-lightbox__close { position: fixed; inset-block-start: 1rem; inset-inline-end: 1.25rem; border: 0; background: none; color: #fff; font-size: 2.2rem; line-height: 1; cursor: pointer; }
.ai-quote { position: absolute; z-index: 9999; display: flex; gap: 2px; padding: 4px; border-radius: 10px; background: #0b0b0f; box-shadow: 0 10px 28px rgb(0 0 0 / 35%); }
.ai-quote button { padding: .4rem .75rem; border: 0; border-radius: 7px; background: none; color: #fff; font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }
.ai-quote button:hover { background: var(--c-crimson); }

@media print {
	.ai-tools, .ai-share, .ai-progress, .related, .ai-cta, .ai-comments-toggle, .comments, .ai-toc, .ai-author { display: none !important; }
	.entry--single .entry-content { max-inline-size: none; }
}

/* Editorial single: the same graphite, crimson and Heebo as the post cards. */
.single-shell { --c-ink:#1b2231; --c-steel:#535e70; --c-mist:#687181; --c-crimson:#d92344; --c-line:#e5e8ee; inline-size:min(100% - 2 * var(--gap),1120px); font-family:Heebo,Arial,sans-serif; }
body.single { background:#fff; }
.single-shell .breadcrumbs { padding-block:24px 0; font-size:.75rem; }
.single-shell .breadcrumbs a { color:var(--c-mist); text-decoration:none; }
.entry--single { padding-block:24px 64px; }
.entry--single .entry-header { margin:0 auto; padding:0; max-inline-size:var(--ai-w,70ch); }
.entry--single .entry-title { color:var(--c-ink); font-weight:800; font-size:clamp(2.2rem,4.3vw,3.6rem); line-height:1.15; letter-spacing:-.035em; text-wrap:balance; overflow-wrap:anywhere; }
.entry-kicker { display:inline-flex; align-items:center; gap:10px; margin-block-end:20px; color:var(--c-crimson); font-size:.75rem; font-weight:700; text-decoration:none; }
.entry-kicker::before,.entry-header:not(:has(.entry-kicker))::before { content:""; display:block; inline-size:20px; block-size:10px; border-inline:6px solid #d92344; transform:skew(-24deg); }
.entry-header:not(:has(.entry-kicker))::before { margin-block-end:24px; }
.entry-intro { display:grid; grid-template-columns:minmax(0,1fr); gap:0 48px; padding-block:12px 40px; margin-block-end:32px; border-block-end:1px solid var(--c-line); }
.entry-intro:has(> .entry-thumb) { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); }
.entry-intro > .entry-header { grid-column:1; grid-row:1; inline-size:100%; align-self:end; padding-block-start:20px; }
.entry-intro > .entry-summary { grid-column:1; grid-row:2; }
.entry-intro > .entry-meta { grid-column:1; grid-row:3; align-self:start; }
.entry--single .entry-intro > .entry-thumb { grid-column:2; grid-row:1 / 4; margin:0; inline-size:100%; align-self:stretch; }
.entry-intro > .entry-thumb img { block-size:100%; min-block-size:380px; max-block-size:540px; aspect-ratio:1.1; object-fit:cover; }
.entry-summary { margin-block:20px; font-size:1.12em; font-weight:700; line-height:1.75; color:var(--c-steel); }
.entry-meta--single { margin-block:24px 0; padding-block:18px 0; border-block-start:1px solid var(--c-line); gap:12px 20px; font-size:.75rem; }
.entry-meta--single .icon { inline-size:16px; block-size:16px; }
.entry-meta__avatar { inline-size:30px; block-size:30px; }
.entry--single .entry-thumb { margin:32px auto; max-inline-size:100%; }
.entry-thumb img { border-radius:12px; }
.entry--single .entry-content { color:var(--c-ink); line-height:1.95; }
.entry-content > p:first-child { font-size:1.12em; }
.entry--single .entry-content :is(h1,h2,h3,h4,h5,h6) { position:relative; inline-size:100%; max-inline-size:100%; padding-inline-end:24px; color:var(--c-ink); font-family:Heebo,Arial,sans-serif; font-weight:600; letter-spacing:-.025em; line-height:1.4; text-wrap:wrap; overflow-wrap:anywhere; scroll-margin-block-start:120px; }
.entry--single .entry-content h1 { margin-block:44px 20px; font-size:clamp(1.875rem,2.8vw,2.25rem); font-weight:700; line-height:1.25; }
.entry--single .entry-content h2 { margin-block:42px 18px; padding-inline-start:14px; border-inline-start:3px solid var(--c-crimson); font-size:clamp(1.5rem,2.2vw,1.875rem); font-weight:700; line-height:1.3; }
.entry--single .entry-content h3 { margin-block:32px 14px; font-size:clamp(1.25rem,1.7vw,1.4375rem); }
.entry--single .entry-content h4 { margin-block:26px 12px; font-size:1.125rem; letter-spacing:-.015em; }
.entry--single .entry-content h5 { margin-block:24px 10px; font-size:1rem; letter-spacing:0; }
.entry--single .entry-content h6 { margin-block:22px 10px; font-size:.9375rem; color:var(--c-steel); letter-spacing:0; }
.entry--single .entry-content :is(h1,h2,h3,h4,h5,h6) + :is(h2,h3,h4,h5,h6) { margin-block-start:16px; }
.entry--single .entry-content :is(h1,h2,h3,h4,h5,h6) > .ai-anchor { position:absolute; inset-inline-end:0; inset-block-start:50%; margin:0; transform:translateY(-50%); font-size:16px; line-height:1; }
.entry--single .entry-content :is(h1,h2,h3,h4,h5,h6):hover > .ai-anchor { opacity:.6; }
.entry--single .entry-content .ai-anchor:focus-visible { opacity:1; outline:2px solid var(--c-crimson); outline-offset:4px; border-radius:2px; }
@media (max-width:680px) {
 .entry--single .entry-content :is(h1,h2,h3,h4,h5,h6) { padding-inline-end:0; }
 .entry--single .entry-content :is(h1,h2,h3,h4,h5,h6) > .ai-anchor { inset-block-start:100%; margin-block-start:3px; transform:none; font-size:12px; }
 .entry--single .entry-content h2 { margin-block:32px 16px; padding-inline-start:11px; border-inline-start-width:2px; font-size:1.5rem; line-height:1.35; }
 .entry--single .entry-content h3 { margin-block:26px 12px; font-size:1.25rem; }
 .entry--single .entry-content h4 { margin-block:22px 10px; font-size:1.0625rem; }
}
.entry-content :where(ul,ol) { padding-inline-start:1.3em; }
.entry-content li { padding-inline-start:.3em; margin-block:.45em; }
.entry-content li::marker { color:var(--c-crimson); }
.entry-content a { text-underline-offset:4px; }
.entry--single .entry-content blockquote { border:0; border-inline-start:3px solid var(--c-crimson); border-radius:0; background:#f6f7f9; padding:24px 28px; margin-block:32px; font-size:1.16em; }
.entry-content blockquote p { margin:0; }
.entry-content blockquote cite { display:block; margin-block-start:14px; color:var(--c-mist); font-size:.8em; font-style:normal; }
.entry-content pre { direction:ltr; text-align:left; overflow:auto; padding:24px; background:#1b2231; color:#fff; border-radius:12px; }
.entry-content :where(figure,iframe,video) { max-inline-size:100%; margin-inline:0; }
.entry-content table { inline-size:100%; border-collapse:collapse; font-size:.9em; }
.entry-content th,.entry-content td { padding:12px; border-block-end:1px solid var(--c-line); text-align:start; }
.entry-content th { background:#f6f7f9; }
.ai-tools { gap:6px; padding-block:0 24px; margin-block-end:28px; border-block-end:1px solid var(--c-line); }
.ai-tool { min-block-size:40px; border-radius:8px; font-size:.75rem; padding:8px 12px; }
.ai-tool .icon { inline-size:17px; block-size:17px; }
.ai-toc { border-radius:12px; background:#f6f7f9; box-shadow:none; }
.ai-toc summary { padding:18px 20px; font-size:.9rem; }
.ai-toc a { padding-block:8px; font-size:.85rem; }
.entry-grid { grid-template-columns:minmax(0,1fr) 240px; }
.has-toc-side .entry-intro:has(> .entry-thumb),.layout__main .entry-intro:has(> .entry-thumb) { grid-template-columns:1fr; }
.has-toc-side .entry-intro > .entry-thumb,.layout__main .entry-intro > .entry-thumb { grid-column:1; grid-row:4; margin-block-start:24px; }
.ai-share { padding-block:20px; border-block:1px solid var(--c-line); }
.ai-share a,.ai-share button { inline-size:40px; block-size:40px; box-shadow:none; }
.ai-share__label { font-size:.75rem; letter-spacing:0; }
.ai-author { border-radius:12px; box-shadow:none; padding:28px; margin-block:40px; background:#f6f7f9; }
.ai-author__avatar { flex:none; }
.ai-author__avatar img { inline-size:64px; block-size:64px; }
.ai-author__name { font-weight:800; }
.ai-author__bio { font-size:.9rem; line-height:1.8; }
.ai-cta { background:#1b2231; border-radius:12px; padding:32px; }
.ai-cta__title { font-weight:800; }
.related { padding-block-start:0; margin-block-start:32px; }
.related > h2 { margin-block-start:0; }
.comments__title { font-size:1.65rem; font-weight:800; letter-spacing:-.025em; margin-block-end:24px; }
.comments { max-inline-size:var(--ai-w,70ch); margin:48px auto 0; }
.comment-list { padding:0; list-style:none; }
.comment-body { padding:24px 0; border-block-end:1px solid var(--c-line); }
.comment-author .avatar { border-radius:50%; }
.comment-metadata { font-size:.75rem; }
.comment-metadata a { color:var(--c-mist); }
.comment-respond { padding:28px; background:#f6f7f9; border:1px solid var(--c-line); border-radius:12px; }
.comment-reply-title { margin-block-start:0; font-size:1.4rem; }
.comment-form label { display:block; font-size:.85rem; margin-block-end:6px; }
.comment-form :is(input[type=text],input[type=email],input[type=url],textarea) { inline-size:100%; border:1px solid var(--c-line); border-radius:8px; padding:12px; font:inherit; background:#fff; }
.comment-form .submit { border:0; border-radius:8px; padding:12px 24px; font:inherit; font-weight:700; background:var(--c-crimson); color:#fff; cursor:pointer; }
.entry-cover,.entry-hero { font-family:Heebo,Arial,sans-serif; background-color:#1b2231; }
.entry-hero { background-image:none; border:0; }
.entry-cover .entry-title,.entry-hero .entry-title { font-size:clamp(2.2rem,4.5vw,4rem); font-weight:800; line-height:1.15; }
.entry-cover .entry-meta { border:0; }
.entry-cover .entry-meta a,.entry-cover .entry-kicker { color:#fff; }
@media (max-width:1000px) { .entry-grid { grid-template-columns:1fr; } .entry-intro { gap:0 28px; } }
@media (max-width:760px) {
 .single-shell { inline-size:calc(100% - 40px); }
 .single-shell .breadcrumbs { font-size:.7rem; padding-block-start:18px; }
 .entry--single { padding-block-start:16px; }
 .entry-intro:has(> .entry-thumb) { grid-template-columns:1fr; }
 .entry-intro { padding-block:0 24px; margin-block-end:24px; }
 .entry-intro > .entry-header { padding-block-start:8px; }
 .entry--single .entry-title { font-size:clamp(2rem,7.8vw,3rem); line-height:1.2; }
 .entry--single .entry-intro > .entry-thumb { grid-column:1; grid-row:4; margin-block-start:24px; }
 .entry-intro > .entry-thumb img { min-block-size:0; block-size:auto; aspect-ratio:4/3; }
 .entry-meta--single { gap:10px 16px; margin-block-start:18px; }
 .ai-tool { min-block-size:44px; }
 .ai-author { flex-direction:row; text-align:start; align-items:start; padding:20px; gap:16px; }
 .ai-author__avatar img { inline-size:48px; block-size:48px; }
 .comment-respond { padding:20px; }
 .entry-content table { display:block; overflow-x:auto; }
 .entry--single .entry-content blockquote { padding:20px; }
}
@media print { .entry-intro:has(> .entry-thumb) { display:block; } .entry-intro > .entry-thumb img { min-block-size:0; max-block-size:250px; object-fit:contain; } }
/* Sidebar widgets use the same restrained editorial hierarchy. */
.single-shell .wp-block-search__label { display:block; font-weight:700; margin-block-end:12px; }
.single-shell .wp-block-search__inside-wrapper { gap:8px; }
.single-shell .wp-block-search__input { min-inline-size:0; inline-size:100%; border:1px solid var(--c-line); border-radius:8px; background:#fff; padding:8px; }
.single-shell .wp-block-search__button { border:0; border-radius:8px; background:var(--c-ink); color:#fff; font:inherit; margin:0; padding:10px 14px; }
@media (min-width:901px) {
 .single-shell .layout--sidebar { grid-template-columns:minmax(0,1fr) 260px; gap:48px; }
 .single-shell .layout--sidebar-start { grid-template-columns:260px minmax(0,1fr); }
 .layout__main .entry-intro > .entry-thumb img { aspect-ratio:16/10; min-block-size:0; block-size:auto; max-block-size:500px; }
}
/* Group conversation: a quiet chat surface and a compact message composer. */
.discussion { --discussion-avatar:36px; --chat-accent:#d92344; --chat-muted:#737b89; border:1px solid #e4e7ec; border-radius:20px; padding:0; background:#f7f8fa; box-shadow:0 8px 30px rgb(27 34 49 / 4%); overflow:clip; }
.discussion-heading { display:block; padding:20px 24px; background:#fff; border-block-end:1px solid #e8eaef; }
.article-section-title { position:relative; margin:0; padding-inline-start:16px; color:var(--c-ink); font-family:Heebo,Arial,sans-serif; font-size:clamp(1.25rem,2.5vw,1.65rem); line-height:1.45; font-weight:800; letter-spacing:-.025em; overflow-wrap:anywhere; text-wrap:balance; }
.article-section-title::before { content:""; position:absolute; inset-inline-start:0; inset-block-start:.22em; inline-size:4px; block-size:1em; border-radius:2px; background:var(--c-crimson); }
.related > .article-section-title { margin-block-end:24px; }
/* Related cards use available reading-column space, including beside a sidebar. */
.related { container:related / inline-size; }
.related .card__eyebrow > span.card__badge { padding:2px 7px; border-radius:5px; background:color-mix(in srgb,currentColor 8%,transparent); font-weight:600; line-height:1.5; }
.related span.card__badge:hover { text-decoration:none; }
.related > .grid { --related-min:200px; grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--related-min)),1fr)); gap:16px; max-inline-size:none; margin-block:0; }
.related > .grid:has(> .card--sm) { --related-min:240px; }
.related > .grid:has(> .card--index),.related > .grid:has(> .card--panorama) { --related-min:280px; }
.related > .grid:has(> .card--xs) { --related-min:160px; }
@container related (max-width:900px) {
 .related > .grid > .card { --card-pad:14px; min-inline-size:0; min-block-size:0; }
 .related .card .card__body { padding:14px; }
 .related .card .card__title { font-size:16px; line-height:1.45; margin-block-end:10px; }
 .related .card .card__eyebrow { margin-block-end:8px; gap:5px; }
 .related .card .card__excerpt { font-size:12px; line-height:1.65; -webkit-line-clamp:2; margin-block-end:12px; }
 .related .card .card__footer { gap:6px; padding-block-start:10px; margin-block-start:auto; }
 .related .card .card__meta,.related .card time { font-size:11px; gap:4px 6px; }
 .related .card .card__arrow { inline-size:26px; block-size:26px; }
 .related .card .card__badge { font-size:11px; }
 .related .card .card__author { flex-wrap:wrap; }
 .related .card--xl.card--has-media { display:flex; flex-direction:column; }
 .related .card--xl > .card__media { block-size:140px; }
 .related .card--xl .card__media img,.related .card--xl .card__ph { position:static; block-size:140px; }
 .related .card--cover .card__composition { min-block-size:260px; }
 .related .card--cover .card__body { padding-block-start:70px; }
 .related .card--cover .card__title { max-inline-size:none; }
 .related .card--note .card__composition { min-block-size:240px; }
 .related .card--poster .card__body { min-block-size:260px; }
 .related .card--poster .card__media { inline-size:48px; flex-basis:48px; }
 .related .card--poster .card__poster-bottom { gap:10px; }
 .related .card--poster .card__footer { min-inline-size:0; }
 .related .card--press .card__masthead { padding:14px 14px 0; }
 .related .card--press .card__media { margin-inline:14px; }
 .related .card--folio .card__folio-art { padding-block-start:14px; padding-inline-end:14px; }
 .related .card--folio .card__media { margin-inline-start:18px; }
 .related .card--folio .card__body { margin-inline-start:18px; }
 .related .card--frame .card__mount { padding:12px 12px 0; }
 .related .card--frame .card__media { padding:4px; }
 .related .card--rail .card__composition { grid-template-columns:28px minmax(0,1fr); }
 .related .card--rail .card__spine { padding:14px 6px; }
 .related .card--rail .card__media img,.related .card--rail .card__ph { aspect-ratio:4 / 3; }
 .related .card--briefing .card__brief-head { grid-template-columns:minmax(0,1fr) 48px; gap:8px; margin-block-end:10px; }
 .related .card--briefing.card--no-media .card__brief-head { grid-template-columns:minmax(0,1fr); }
 .related .card--briefing .card__excerpt { padding-block-start:10px; }
 .related .card--sm .card__media { inline-size:64px; margin:10px; margin-inline-end:0; }
 .related .card--sm .card__media img,.related .card--sm .card__ph { min-block-size:80px; }
 .related .card--index .card__composition { grid-template-columns:30px minmax(0,1fr) 60px; gap:10px; padding:14px; }
 .related .card--index.card--no-media .card__composition { grid-template-columns:30px minmax(0,1fr); }
 .related .card--index .card__body { padding:0; }
 .related .card--index .card__ordinal { font-size:30px; }
 .related .card--index .card__media img,.related .card--index .card__ph { min-block-size:80px; }
 .related .card--panorama .card__composition { grid-template-columns:minmax(0,1fr); min-block-size:0; }
 .related .card--panorama .card__media { block-size:150px; }
 .related .related__list { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:14px; }
 .related .related__thumb img { inline-size:64px; block-size:52px; }
}
@container related (max-width:600px) {
 .related > .grid { --related-min:150px; gap:12px; }
 .related > .article-section-title { margin-block-end:16px; }
 .related .card .card__body { padding:12px; }
 .related .card .card__title { font-size:15px; }
 .related .card .card__meta { font-size:10px; }
 .related .card .card__avatar { inline-size:18px; block-size:18px; }
}
.discussion-conversation { padding:28px 24px 16px;  }
.discussion-list,.discussion-list .children { list-style:none; padding:0; margin:0; }
.discussion-list > .discussion-item { margin:0 0 18px; padding:0; border:0; }
.discussion-comment { display:flex; align-items:flex-start; gap:10px; scroll-margin-block-start:120px; }
.discussion-avatar { display:grid; place-items:center; inline-size:var(--discussion-avatar); block-size:var(--discussion-avatar); flex:none; border-radius:13px; background:#e8ebf0; color:#596477; font-size:.85rem; font-weight:800; position:relative; z-index:1; box-shadow:none; }
.discussion-avatar--1 { background:#eaedf2; color:#596477; }
.discussion-avatar--2 { background:#e8ebf0; color:#596477; }
.discussion-avatar--3 { background:#eaedf2; color:#596477; }
.discussion-main { flex:1; min-inline-size:0; }
.discussion-bubble { position:relative; inline-size:fit-content; max-inline-size:100%; min-inline-size:min(190px,100%); padding:13px 16px 12px; background:#fff; border:1px solid #e7e9ef; border-radius:3px 17px 17px; border-start-start-radius:3px; border-start-end-radius:17px; box-shadow:0 1px 2px rgb(27 34 49 / 2%); }
.discussion-meta { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; margin-block-end:6px; }
.discussion-name { font-size:.8rem; font-weight:800; color:#2f3949; overflow-wrap:anywhere; }
.discussion-meta--1 .discussion-name { color:#2f3949; }
.discussion-meta--2 .discussion-name { color:#2f3949; }
.discussion-meta--3 .discussion-name { color:#2f3949; }
.discussion-time { margin-inline-start:auto; color:var(--chat-muted); font-size:.65rem; text-decoration:none; white-space:nowrap; }
.discussion-author-badge { padding:2px 6px; border-radius:5px; background:#e7eaf0; color:#596477; font-size:.6rem; font-weight:600; }
.discussion-text { color:#394456; font-size:.9rem; line-height:1.85; overflow-wrap:anywhere; }
.discussion-text p { margin:0 0 .7em; }
.discussion-text p:last-child { margin:0; }
.discussion-text :where(img,video,iframe) { max-inline-size:100%; }
.discussion-text pre { max-inline-size:100%; overflow:auto; }
.discussion-parent { display:flex; flex-direction:column; gap:7px; margin:12px 0 16px; padding:12px 14px; background:#f7f8fa; border:1px solid #e9ecf1; border-inline-start:3px solid #a8b1c0; border-radius:11px; color:#5d6878; font-style:normal; overflow-wrap:anywhere; }
.discussion-parent-heading { display:flex; align-items:flex-start; gap:7px; }
.discussion-parent-heading svg { inline-size:15px; block-size:15px; margin-block-start:2px; flex:none; color:#8994a5; }
.discussion-parent strong { color:#465366; font-size:.76rem; font-weight:700; line-height:1.6; }
.discussion-parent .discussion-parent-text { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0; font-size:.82rem; line-height:1.75; }
.discussion-pending { margin:10px 0 0; color:#9d2340; font-size:.75rem; }
.discussion-actions { display:flex; gap:16px; align-items:center; }
.discussion-actions a { display:inline-flex; align-items:center; gap:6px; min-block-size:44px; padding-inline:3px; color:#737d8d; font-size:.7rem; font-weight:600; text-decoration:none; }
.discussion-actions .comment-reply-link::before { content:"↩"; font-size:1rem; }
.discussion-actions .comment-reply-link:dir(rtl)::before { transform:scaleX(-1); }
.discussion-actions a:hover { color:var(--chat-accent); }
.discussion-item { position:relative; }
.discussion-list .children,.discussion-list--connected .children { margin-block-start:2px; margin-inline-start:46px; padding:0; border:0; }
.discussion-list .children .children { margin-inline-start:18px; }
.discussion-list .children .children .children { margin-inline-start:0; }
.discussion-list .children > li { padding:0; margin-block-end:12px; }
.discussion-list .children > li::before,.discussion-thread { display:none; }
.discussion-list .children .discussion-avatar { display:none; }
.discussion-list .children .discussion-bubble { inline-size:100%; }
.discussion-submit-status { color:#526071; font-size:.82rem; line-height:1.6; }
.discussion-submit-status[data-error="true"] { color:#9d2340; }
.discussion .comment-form button:disabled { opacity:.6; cursor:wait; }
.discussion-captcha { display:grid; justify-items:start; gap:8px; }
.discussion-captcha-start { padding:8px 12px; border:1px solid #dfe3eb; border-radius:8px; background:#f7f8fa; color:#394456; font:inherit; font-size:.82rem; cursor:pointer; }
.discussion-captcha p { color:#526071; font-size:.75rem; line-height:1.6; }
.discussion .comment-respond { position:relative; margin:0; padding:18px 20px; background:#fff; border:0; border-block-start:1px solid #e8eaef; border-radius:0 0 24px 24px; box-shadow:none; scroll-margin-block-start:120px; overflow:visible; }
.discussion-list .comment-respond { margin-block:8px 20px; padding:14px; border:1px solid #e8eaef; border-radius:16px; }
.discussion .comment-reply-title { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; padding:0; font-size:.78rem; line-height:1.7; color:var(--chat-muted); }
.discussion .comment-reply-title:has(#cancel-comment-reply-link:not([style*="display:none"]):not([style*="display: none"])) { margin-block-end:16px; padding:8px 12px; border:1px solid #e7eaf0; border-radius:10px; background:#f7f8fa; }
.discussion .comment-reply-title small { margin-inline-start:auto; font-size:.72rem; }
.discussion #cancel-comment-reply-link { display:inline-flex; align-items:center; min-block-size:44px; color:var(--chat-accent); text-decoration:none; }
/* A labeled identity field and one continuous writing surface. */
.discussion .comment-form { display:flex; flex-direction:column; gap:12px; }
.discussion .comment-form p { margin:0; }
.discussion .comment-form .comment-form-author { display:flex; flex-direction:row; align-items:center; gap:12px; inline-size:100%; max-inline-size:350px; margin:0; padding:0; }
.discussion .comment-form-author::before { display:none; }
.discussion .comment-form-author label { flex:none; font-size:.8rem; font-weight:500; margin:0; color:#465366; }
.discussion .comment-form-author input[type=text] { flex:1; inline-size:100%; max-inline-size:none; min-inline-size:0; min-block-size:38px; border:1px solid #dfe3eb; border-radius:9px; padding:7px 11px; font:inherit; font-size:.9rem; font-weight:400; background:#fff; color:#394456; }
.discussion .comment-form-comment { border:1px solid #dfe3eb; border-block-end:0; border-radius:12px 12px 0 0; background:#fff; }
.discussion .comment-form-comment label { display:block; position:static; inline-size:auto; block-size:auto; overflow:visible; clip-path:none; padding:10px 12px 0; margin:0; color:#465366; font-size:.78rem; font-weight:500; }
.discussion .comment-form textarea { display:block; inline-size:100%; min-block-size:72px; max-block-size:240px; padding:8px 12px 10px; border:0; border-radius:0; background:transparent; color:#394456; font:inherit; font-size:.9rem; line-height:1.65; resize:none; }
.discussion .comment-form textarea:focus { outline:0; box-shadow:none; }
.discussion .comment-form-comment:focus-within { border-color:#aab3c3; box-shadow:0 0 0 3px #eef0f5; }
.discussion .comment-form input:focus-visible { outline:2px solid #aab3c3; outline-offset:2px; }
.discussion .comment-form :is(input,textarea)::placeholder { color:#8b94a3; opacity:1; font-weight:400; }
.discussion-compose-tools { display:flex; align-items:center; gap:8px; flex-wrap:wrap; position:relative; margin-block-start:-12px; padding:9px 10px; border:1px solid #dfe3eb; border-block-start:1px solid #f0f2f6; border-radius:0 0 12px 12px; background:#fff; }
.discussion-identity-choice { display:flex; align-items:center; flex:0 1 auto; flex-wrap:wrap; gap:7px; color:#626e7e; font-size:.75rem; }
.discussion-identity-choice > span:first-child { margin-inline-end:2px; color:#465366; font-weight:600; }
.discussion .comment-form .discussion-identity-choice label { display:inline-flex; align-items:center; gap:7px; min-block-size:34px; margin:0; padding:5px 11px; border:1px solid #e1e5ec; border-radius:9px; background:#f8f9fb; color:#4f5c6d; font:inherit; white-space:nowrap; cursor:pointer; transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s; }
.discussion-identity-choice label:has(input:checked) { border-color:#d92344; background:#fff4f6; color:#9f1d36; box-shadow:0 0 0 2px rgb(217 35 68 / 8%); }
.discussion-identity-choice input[type=checkbox] { inline-size:15px; block-size:15px; margin:0; accent-color:#d92344; }
.discussion-identity-choice small { margin-inline-start:0; color:#8993a1; font-size:.68rem; }
.discussion-identity-badge { display:inline-flex; align-items:center; justify-content:center; inline-size:25px; block-size:25px; border:1px solid #dfe4ea; border-radius:8px; color:#697789; background:#f3f5f8; vertical-align:middle; }
.discussion-identity-badge--human { color:#3e668d; border-color:#d5e2ef; background:#eef5fb; }
.discussion-identity-badge--binary { color:#76518d; border-color:#e4d8ed; background:#f7f0fa; }
.discussion-identity-badge svg { inline-size:15px; block-size:15px; }
.discussion .comment-form-comment:focus-within + .discussion-compose-tools { border-inline-color:#aab3c3; border-block-end-color:#aab3c3; }
.discussion #discussion-compose-note { flex:1 1 105px; min-inline-size:0; align-self:center; padding-inline-start:8px; border-inline-start:1px solid #f0f2f5; color:var(--chat-muted); font-size:.65rem; }
.discussion-terms-link { display:inline-flex; align-items:center; min-block-size:30px; color:inherit; text-decoration:underline; text-decoration-color:#c5cbd5; text-underline-offset:3px; }
.discussion-terms-link:hover { color:var(--chat-accent); text-decoration-color:currentColor; }
.discussion-character-count { font-size:.65rem; color:var(--chat-muted); direction:ltr; }
.discussion .form-submit { margin-inline-start:auto; padding:0; border:0; background:none; }
.discussion .comment-form .submit { display:inline-flex; align-self:center; align-items:center; justify-content:center; min-block-size:38px; padding:7px 12px; border:1px solid #e9ecf1; border-radius:9px; background:#f5f6f8; color:#394456; font-family:Heebo,Arial,sans-serif; font-size:.8125rem; font-weight:500; line-height:1.25; letter-spacing:-.015em; box-shadow:inset 0 1px 0 #fff; transition:background-color .2s ease,border-color .2s ease,color .2s ease; cursor:pointer; }
.discussion .comment-form .submit:hover { background:#eceff3; border-color:#dfe3e9; color:#394456; }
.discussion .submit:disabled { opacity:.6; cursor:wait; }
.discussion :is(a,button):focus-visible { outline:2px solid #d92344; outline-offset:3px; }
.discussion [hidden] { display:none!important; }
.discussion-empty { text-align:center; color:var(--chat-muted); font-size:.82rem; padding:8px 20px 20px; }
.discussion .nav-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; margin-block:20px; font-size:.8rem; }
@media(max-width:600px) {
 .discussion { --discussion-avatar:28px; border-radius:18px; }
 .discussion-heading { padding:16px 14px; gap:10px; }
 .discussion-conversation { padding:20px 12px 10px; }
 .discussion-comment { gap:7px; }
 .discussion-avatar { border-radius:10px; font-size:.74rem; }
 .discussion-bubble { padding:11px 12px; }
 .discussion-meta { gap:4px 7px; }
 .discussion-text { font-size:.88rem; }
 .discussion-list .children,.discussion-list--connected .children { margin-inline-start:35px; padding:0; }
 .discussion-list .children .children { margin-inline-start:12px; }
 .discussion-list .children .children .children { margin-inline-start:0; }
 .discussion .comment-respond { padding:14px 12px; border-radius:0 0 18px 18px; }
 .discussion-list .comment-respond { padding:10px; border-radius:12px; }
 .discussion .comment-form .comment-form-author { max-inline-size:none; }
 .discussion-compose-tools { gap:6px; padding:12px 8px; }
 .discussion-character-count { inline-size:100%; text-align:end; order:2; }
 .discussion #discussion-compose-note { font-size:.6rem; min-inline-size:70px; }
}
@media(prefers-reduced-motion:reduce) { .discussion-identity-choice label { transition:none; } }

/* Image-led articles and a two-column reading layout. */
.post-editorial { inline-size:min(100% - 2 * var(--gap),1040px); }
.post-editorial .entry--single { padding-block:18px 64px; }
@media (min-width:1001px) {
 .post-editorial .entry--single { padding-block-start:var(--header-content-gap,48px); }
}
.post-hero { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:flex-end; min-block-size:clamp(320px,35vw,440px); margin:0; overflow:hidden; border-radius:12px; background:#17202e; color:#fff; }
.post-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgb(7 13 24 / 5%) 12%,rgb(7 13 24 / 30%) 40%,rgb(7 13 24 / 93%) 100%); }
.post-hero .post-hero__image { position:absolute; inset:0; z-index:-2; inline-size:100%; block-size:100%; object-fit:cover; border-radius:0; }
.post-hero__heading { inline-size:100%; max-inline-size:none; padding:96px 32px 40px; }
.post-editorial .post-hero .entry-title { inline-size:100%; max-inline-size:100%; margin:0; color:#fff; font-size:clamp(2.2rem,4.5vw,4rem); font-weight:800; line-height:1.12; letter-spacing:-.035em; text-wrap:wrap; text-shadow:0 2px 24px rgb(0 0 0 / 24%); }
.post-hero__eyebrow { display:flex; align-items:center; gap:12px; margin-block-end:20px; }
.post-hero__trail { display:flex; flex-wrap:wrap; align-items:center; gap:9px; min-inline-size:0; }
.post-hero__home { display:inline-flex; align-items:center; min-block-size:30px; color:rgb(255 255 255 / 85%); font-size:12px; font-weight:400; text-decoration:none; }
.post-hero__home:hover { color:#fff; }
.post-hero__home:focus-visible { outline:2px solid #fff; outline-offset:3px; border-radius:3px; }
.post-hero__separator { color:rgb(255 255 255 / 45%); font-size:12px; }
.post-hero__flash { inline-size:32px; block-size:8px; flex:none; border-radius:2px; background:var(--c-crimson); box-shadow:0 2px 12px rgb(0 0 0 / 12%); transform:skewX(-14deg); }
.post-hero__category { display:inline-flex; align-items:center; min-block-size:30px; padding:4px 11px; border:1px solid rgb(255 255 255 / 35%); border-radius:6px; background:rgb(15 22 34 / 30%); color:#fff; font-size:12px; font-weight:500; line-height:1.4; text-decoration:none; backdrop-filter:blur(8px); transition:background .15s,border-color .15s; }
.post-hero__category:hover { color:#fff; border-color:rgb(255 255 255 / 70%); background:rgb(15 22 34 / 60%); }
.post-hero__category:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.post-hero .entry-kicker { color:#fff; margin-block-end:14px; font-size:12px; font-weight:500; }
.post-hero .entry-kicker::before { display:none; }
.post-hero__caption { position:relative; padding:0 36px 22px; margin-block-start:-16px; color:rgb(255 255 255 / 68%); text-align:start; font-size:11px; line-height:1.65; }
.post-hero--plain { min-block-size:280px; }
.post-deck { max-inline-size:760px; margin:24px 0; color:#596273; font-size:1.12em; font-weight:700; line-height:1.75; text-wrap:pretty; }
.post-rule { position:relative; block-size:1px; margin-block:32px 36px; background:linear-gradient(to left,#dce1e8,#edf0f4); }
.post-rule::before { content:""; position:absolute; inset-inline-start:0; inset-block-start:-1px; inline-size:36px; block-size:3px; border-radius:3px; background:var(--c-crimson); }
.post-reading-grid { display:grid; grid-template-columns:220px minmax(0,1fr); grid-template-rows:min-content 1fr; column-gap:48px; row-gap:28px; align-items:start; }
.post-editorial--sidebar { inline-size:min(100% - 2 * var(--gap),1040px); }
.post-editorial.container--narrow { inline-size:min(100% - 2 * var(--gap),var(--ai-w,70ch)); }
.post-editorial.container--full { inline-size:calc(100% - 2 * var(--gap)); max-inline-size:none; }
.post-hero[style*="--post-hero-ratio"] { aspect-ratio:var(--post-hero-ratio); min-block-size:0; }
.post-opening { padding-block:20px; }
.post-opening--hero { padding:clamp(20px,4vw,40px); border-radius:12px; background:#f5f6f8; }
.post-opening .entry-title { max-inline-size:100%; font-size:clamp(2rem,4.5vw,4rem); line-height:1.15; font-weight:800; }
.post-opening :is(.post-hero__home,.post-hero__category) { color:var(--ink); text-shadow:none; }
.post-opening .post-hero__category { background:#fff; border-color:var(--line); backdrop-filter:none; }
.post-opening .post-hero__separator { color:#737b88; }
.post-reading-grid--sidebar { grid-template-columns:170px minmax(0,1fr) 240px; grid-template-rows:auto; column-gap:32px; }
.post-reading-grid--sidebar .post-body { grid-column:2; grid-row:1; }
.post-reading-grid--sidebar .post-widgets { grid-column:3; grid-row:1; }
.post-details { grid-column:1; grid-row:1; min-inline-size:0; padding-inline-end:16px; border-inline-end:1px solid #edf0f4; }
.post-details__label { display:block; margin-block-end:18px; color:#9299a5; font-size:11px; font-weight:500; }
.post-details .entry-meta--single { display:flex; flex-direction:column; align-items:stretch; gap:14px; padding:0; border:0; margin:0 0 24px; font-size:12px; }
.post-details .entry-meta__author { margin-block-end:2px; gap:10px; }
.post-details .entry-meta__avatar { inline-size:32px; block-size:32px; }
.post-details .ai-tools { gap:6px; margin:0 0 20px; padding:0 0 20px; }
.post-details .ai-tool { padding:7px 9px; min-block-size:34px; font-size:11px; border-radius:7px; }
.post-details .ai-tool .icon { inline-size:14px; block-size:14px; }
.post-details .ai-share { padding:0 0 20px; margin:0 0 20px; border-block-start:0; display:block; }
.post-details .ai-share__label { display:block; margin-block-end:9px; font-size:11px; }
.post-details .ai-share ul { gap:5px; flex-wrap:wrap; }
.post-details .ai-share :is(a,button) { inline-size:30px; block-size:30px; border-radius:7px; }
.post-details .terms { display:grid; gap:8px; font-size:11px; margin-block:14px; }
.post-details .terms strong { font-weight:500; color:#9299a5; }
.post-details .terms__list a { display:inline-block; padding:4px 7px; background:#f5f6f8; color:#687181; border-radius:5px; text-decoration:none; }
.post-body { grid-column:2; grid-row:1 / 3; min-inline-size:0; }
.post-editorial .post-body .entry-content { inline-size:100%; max-inline-size:100%; margin:0; font-size:1em; line-height:1.9; }
.post-editorial .post-body .entry-content > p:first-child { font-size:1em; }
.post-body .entry-content > :first-child { margin-block-start:0; }
.post-body .comments { max-inline-size:100%; }
.post-widgets { grid-column:1; grid-row:2; min-inline-size:0; }
.post-editorial .wp-block-search__inside-wrapper { display:flex; flex-wrap:wrap; gap:7px; }
.post-editorial .wp-block-search__input { flex:1 1 90px; padding:8px 9px; min-inline-size:0; font-size:16px; }
.post-editorial .wp-block-search__button { padding:8px 10px; font-size:11px; font-weight:500; background:#f0f2f5; color:#535e70; }
@media (min-width:681px) and (max-width:1000px) {
 .post-reading-grid--sidebar { grid-template-columns:150px minmax(0,1fr); column-gap:28px; }
 .post-reading-grid--sidebar .post-widgets { grid-column:2; grid-row:2; }
}
@media (max-width:900px) {
 .post-reading-grid { grid-template-columns:170px minmax(0,1fr); column-gap:30px; }
 .post-details { padding-inline-end:16px; }
 .post-hero__heading { padding:80px 26px 30px; }
 .post-hero__caption { padding-inline:30px; }
}
@media (max-width:680px) {
 .post-editorial { inline-size:calc(100% - 32px); }
 .post-editorial > .breadcrumbs { display:none; }
 .post-editorial .entry--single { padding-block-start:0; }
 .post-hero { inline-size:calc(100% + 32px); margin-inline:-16px; min-block-size:320px; border-radius:0; }
 .post-hero__home { display:inline-flex; align-items:center; min-block-size:28px; color:rgb(255 255 255 / 85%); font-size:11px; font-weight:400; text-decoration:none; }
 .post-hero__home:hover { color:#fff; }
 .post-hero__home:focus-visible { outline:2px solid #fff; outline-offset:3px; border-radius:3px; }
 .post-hero__separator { display:block; color:rgb(255 255 255 / 45%); font-size:11px; }
 .post-hero__heading { padding:100px 18px 24px; }
 .post-editorial .post-hero .entry-title { font-size:clamp(1.875rem,8vw,2.75rem); line-height:1.15; max-inline-size:100%; }
 .post-hero__eyebrow { gap:10px; margin-block-end:16px; }
 .post-hero__flash { inline-size:26px; block-size:7px; }
 .post-hero__category { min-block-size:28px; padding:4px 9px; font-size:11px; }
 .post-hero__caption { padding:0 22px 20px; margin-block-start:-12px; font-size:10px; }
 .post-deck { margin-block:20px; }
 .post-rule { margin-block:24px; }
 .post-reading-grid { display:flex; flex-direction:column; gap:24px; }
 .post-details { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:10px; inline-size:100%; padding:0 0 20px; border-inline-end:0; border-block-end:1px solid #edf0f4; }
 .post-details__label { display:none; }
 .post-details .entry-meta--single { grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:0 0 4px; font-size:11px; }
 .post-details .ai-tools { padding:0; border:0; margin:0; gap:4px; }
 .post-details .ai-tool { min-block-size:40px; }
 .post-details .ai-share { margin:0; padding:0; border:0; display:flex; justify-content:flex-end; align-items:center; gap:0; }
 .post-details .ai-share__label { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip-path:inset(50%); }
 .post-details .ai-share ul { gap:3px; }
 .post-details .ai-share :is(a,button) { inline-size:29px; block-size:36px; border:0; background:transparent; }
 .post-details .ai-share .icon { inline-size:16px; block-size:16px; }
 .post-details .terms { grid-column:1 / -1; display:inline-grid; margin:0; font-size:10px; }
 .post-details .ai-toc { grid-column:1 / -1; inline-size:100%; }
 .post-body,.post-widgets { inline-size:100%; }
}
@media (max-width:359px) {
 .post-details { grid-template-columns:1fr; }
 .post-details .ai-share { justify-content:flex-start; }
}
/* Compact article identity and actions, with touch-sized controls. */
.post-details { padding:14px 12px; border:1px solid #edf0f4; border-radius:10px; background:#fafbfc; }
.post-details__label { display:none; }
.post-details .entry-meta--single { gap:10px; margin:0; font-size:11px; color:#748092; }
.post-details .entry-meta__author { gap:8px; margin:0; color:#303a4b; }
.post-details .entry-meta__avatar { inline-size:28px; block-size:28px; }
.post-details .entry-meta--single .icon { inline-size:13px; block-size:13px; }
.post-details__controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-block-start:12px; padding-block-start:10px; border-block-start:1px solid #e8ecf1; }
.post-details .post-details__controls .ai-tools { gap:4px; padding:0; margin:0; border:0; }
.post-details .post-details__controls .ai-tool { position:relative; justify-content:center; inline-size:36px; min-block-size:36px; padding:0; border:1px solid #e8ecf1; background:#fff; color:#667284; border-radius:8px; }
.post-details .post-details__controls .ai-tool span { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip-path:inset(50%); }
.post-details .post-details__controls .ai-share { position:static; display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:0; margin:0; border:0; background:transparent; }
.post-details .post-details__controls .ai-share__label { position:static; inline-size:auto; block-size:auto; clip-path:none; overflow:visible; margin:0; font-size:10px; font-weight:400; letter-spacing:0; color:#8791a0; }
.post-details .post-details__controls .ai-share ul { flex-direction:row; gap:4px; }
.post-details .post-details__controls .ai-share :is(a,button) { inline-size:36px; block-size:36px; border:1px solid #e8ecf1; background:#fff; color:#667284; border-radius:8px; }
.post-details .post-details__controls .ai-share .icon { inline-size:15px; block-size:15px; }
.post-details .post-details__controls :is(.ai-tool,.ai-share a,.ai-share button):hover { color:var(--c-crimson); background:#fff3f5; border-color:#f0d6dc; transform:none; }
.post-details .post-details__controls :is(button,a):focus-visible { outline:2px solid var(--c-crimson); outline-offset:2px; }
.post-details .post-details__controls .is-done { background:#edf9f0; color:#16803d; border-color:#c6e9d1; }
.post-details .ai-toc { margin-block-start:16px; }
@media (max-width:680px) {
 .post-rule { margin-block:20px 16px; }
 .post-details { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:10px 12px; }
 .post-details .entry-meta--single { gap:7px 12px; margin:0; }
 .post-details .entry-meta__avatar { inline-size:26px; block-size:26px; }
 .post-details__controls { margin-block-start:8px; padding-block-start:7px; gap:6px; }
 .post-details .post-details__controls .ai-share { flex:1; flex-direction:row; align-items:center; justify-content:space-between; gap:8px; }
 .post-details .post-details__controls .ai-share ul { gap:2px; }
 .post-details .post-details__controls .ai-share :is(a,button) { inline-size:40px; block-size:40px; border:0; background:transparent; }
 .post-details .post-details__controls .ai-tool { inline-size:40px; min-block-size:40px; }
 .post-details .terms { margin-block:10px 0; }
}
@media print {
 .post-hero { min-block-size:250px; print-color-adjust:exact; }
 .post-reading-grid { display:block; }
 .post-details,.post-widgets { display:none; }
}

.post-editorial .post-hero { border-end-start-radius:0; border-end-end-radius:0; }
.post-details.post-details--strip { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; padding:16px 24px; border:1px solid #e9edf2; border-block-start:0; border-radius:0 0 12px 12px; background:#fff; }
.post-details.post-details--strip .entry-meta--single { flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px 0; font-size:13px; line-height:1.5; color:#67717e; }
.post-details--strip .entry-meta--single > li { display:flex; align-items:center; gap:6px; min-inline-size:0; }
.post-details--strip .entry-meta--single > li + li { margin-inline-start:16px; padding-inline-start:16px; border-inline-start:1px solid #e5e8ec; }
.post-details--strip .entry-meta--single a { color:inherit; text-decoration:none; transition:color .15s; }
.post-details--strip .entry-meta--single a:hover { color:var(--c-crimson); }
.post-details.post-details--strip .entry-meta__author { gap:9px; color:#28303a; font-weight:600; }
.post-details.post-details--strip .entry-meta__avatar { inline-size:30px; block-size:30px; border-radius:50%; background:#f1f3f5; }
.post-details.post-details--strip .entry-meta--single .icon { inline-size:14px; block-size:14px; color:#87909b; }
.post-editorial .post-body > .ai-share--bottom { inline-size:100%; max-inline-size:100%; box-sizing:border-box; margin-inline:0; }
.post-details--strip .post-details__controls { margin:0; padding:0; border:0; }
.post-details.post-details--strip .post-details__controls .ai-tool { inline-size:auto; min-block-size:34px; padding:6px 10px; gap:6px; font-size:12px; }
.post-details.post-details--strip .post-details__controls .ai-tool span { position:static; inline-size:auto; block-size:auto; clip-path:none; overflow:visible; }
.post-details--strip .post-details__controls .ai-share { flex-direction:row; align-items:center; gap:12px; }
.post-details--strip .post-details__controls .ai-share :is(a,button) { inline-size:36px; block-size:36px; border-color:transparent; background:transparent; }
.post-reading-grid.post-reading-grid--compact { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; column-gap:28px; }
.post-reading-grid--compact.post-reading-grid--sidebar { grid-template-columns:minmax(0,1fr) 240px; }
.post-reading-grid--compact .post-body { grid-column:1; grid-row:1; }
.post-reading-grid--compact .post-widgets { grid-column:2; grid-row:1; }
.post-reading-grid--compact .post-body { inline-size:100%; max-inline-size:var(--ai-w,70ch); font-size:var(--ai-fs,1.0625rem); }
.post-editorial .post-deck { font-size:calc(var(--ai-fs,1.0625rem) * 1.12); max-inline-size:var(--ai-w,70ch); }
@media (min-width:681px) {
 .post-reading-grid--compact.post-reading-grid--sidebar-start { grid-template-columns:240px minmax(0,1fr); }
 .post-reading-grid--compact.post-reading-grid--sidebar-start .post-body { grid-column:2; }
 .post-reading-grid--compact.post-reading-grid--sidebar-start .post-widgets { grid-column:1; }
}
@media (min-width:901px) {
 .post-reading-grid--compact.post-reading-grid--sidebar { column-gap:clamp(36px,4vw,56px); }
}
@media (max-width:900px) {
 .post-reading-grid--compact.post-reading-grid--sidebar { grid-template-columns:minmax(0,1fr) 220px; column-gap:24px; }
}
@media (max-width:680px) {
 .post-details.post-details--strip { inline-size:calc(100% + 32px); margin-inline:-16px; padding:14px 16px; border-inline:0; border-radius:0; gap:12px; }
 .post-details.post-details--strip .entry-meta--single { flex:1 1 100%; gap:10px 0; font-size:12px; }
 .post-details--strip .entry-meta--single > li + li { margin-inline-start:10px; padding-inline-start:10px; }
 .post-details--strip .post-details__controls { flex:1 1 100%; }
 .post-details--strip .post-details__controls .ai-share { justify-content:space-between; }
 .post-details--strip .post-details__controls .ai-share :is(a,button) { inline-size:40px; block-size:40px; }
}

@media print { .post-details--strip { display:none; } }

/* Author card follows the reading column and keeps a clear identity hierarchy. */
.post-body > .ai-author { inline-size:100%; max-inline-size:100%; box-sizing:border-box; margin:32px 0; padding:24px; gap:20px; align-items:flex-start; text-align:start; border:1px solid #e5e8ed; border-radius:14px; background:#fff; }
.post-body .ai-author__avatar { padding:4px; border:1px solid #e9edf2; border-radius:50%; background:#fafbfc; }
.post-body .ai-author__avatar img { display:block; inline-size:64px; block-size:64px; border-radius:50%; }
.post-body .ai-author__body { flex:1; min-inline-size:0; }
.post-body .ai-author__label { margin:0 0 4px; color:#7a8390; font-size:12px; line-height:1.5; font-weight:500; letter-spacing:0; }
.post-body .ai-author__name { margin:0; color:var(--c-ink); font-size:20px; line-height:1.4; font-weight:700; overflow-wrap:anywhere; }
.post-body .ai-author__bio { margin:10px 0 0; color:#606a78; font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.post-body .ai-author__links { margin:14px 0 0; gap:8px 16px; font-size:12px; line-height:1.5; font-weight:600; }
.post-body .ai-author__links:empty { display:none; }
.post-body .ai-author__links a { display:inline-flex; align-items:center; min-block-size:32px; padding:5px 10px; border:1px solid #e7eaf0; border-radius:7px; color:#485364; background:#fafbfc; text-decoration:none; transition:color .15s, background .15s, border-color .15s; }
.post-body .ai-author__links a:hover { color:var(--c-crimson); border-color:#efd3da; background:#fff5f7; }
.post-body .ai-author__links a:focus-visible { outline:2px solid var(--c-crimson); outline-offset:3px; }
@media (max-width:680px) {
 .post-body > .ai-author { flex-direction:row; margin-block:24px; padding:18px 16px; gap:14px; border-radius:12px; }
 .post-body .ai-author__avatar { padding:3px; }
 .post-body .ai-author__avatar img { inline-size:44px; block-size:44px; }
 .post-body .ai-author__name { font-size:18px; }
 .post-body .ai-author__bio { font-size:13px; }
 .post-body .ai-author__links { gap:8px; }
}

/* Shared media frame: a thin rim, white mat and restrained elevation. */
.entry-content .ai-video,
.entry-content :is(figure.wp-block-image,.wp-caption),
.entry-thumb {
 --media-pad:7px; --media-radius:16px;
 box-sizing:border-box; padding:var(--media-pad); border:1px solid #e1e6ed;
 border-radius:var(--media-radius); background:#fff;
 box-shadow:0 1px 2px rgb(24 36 54 / 3%),0 8px 24px -18px rgb(24 36 54 / 22%);
}
/* Framed media shares one quiet surface; player geometry never depends on embed dimensions. */
.entry-content .ai-video { box-sizing:border-box; inline-size:100%; max-inline-size:100%; margin-block:24px; }
.entry-content .ai-video__stage { position:relative; inline-size:100%; aspect-ratio:16 / 9; overflow:hidden; border-radius:calc(var(--media-radius) - var(--media-pad) - 1px); background:#101217; }
.entry-content .ai-video__stage :is(iframe,.yt-lite) { position:absolute; inset:0; inline-size:100%; block-size:100%; max-inline-size:100%; margin:0; border:0; border-radius:0; }
.entry-content .wp-block-embed__wrapper:has(.ai-video)::before { display:none; padding:0; }
.entry-content .ai-video__stage .visitor-embed-placeholder { position:absolute; z-index:3; inset:0; margin:0; box-sizing:border-box; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:12px; overflow:auto; }
.entry-content .ai-video .ai-share--video { position:static; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 12px; inline-size:100%; max-inline-size:none; margin:9px 0 0; padding:8px 3px 1px; border:0; border-block-start:1px solid #f0f2f5; }
.entry-content .ai-video .ai-share__label { color:#747d8b; font-size:11px; font-weight:400; letter-spacing:0; text-transform:none; }
.entry-content .ai-video .ai-share ul { flex-direction:row; gap:4px; }
.entry-content .ai-video .ai-share :is(a,button) { inline-size:32px; block-size:32px; border:1px solid transparent; border-radius:8px; background:#f6f8fa; color:#697586; text-decoration:none; }
.entry-content .ai-video .ai-share :is(a,button):hover { transform:none; border-color:#efd5dc; background:#fff0f4; color:var(--c-crimson); }
.entry-content .ai-video .ai-share a::after { content:none; }
.entry-content .ai-video .ai-share .icon { inline-size:14px; block-size:14px; }
.entry-content :is(figure.wp-block-image,.wp-caption) { display:grid; grid-template-columns:minmax(0,1fr); position:relative; max-inline-size:100%; }
.entry-content :is(figure.wp-block-image,.wp-caption) > :is(img,a) { grid-area:1 / 1; min-inline-size:0; }
.entry--single .entry-content :is(figure.wp-block-image,.wp-caption) img { display:block; max-inline-size:100%; block-size:auto; border-radius:calc(var(--media-radius) - var(--media-pad) - 1px); }
.entry-content :is(figure.wp-block-image,.wp-caption) > :is(figcaption,.wp-caption-text) { grid-area:1 / 1; align-self:end; position:relative; z-index:1; box-sizing:border-box; min-inline-size:0; inline-size:100%; max-inline-size:100%; margin:0; padding:30px 14px 11px; border:0; border-radius:0 0 calc(var(--media-radius) - var(--media-pad) - 1px) calc(var(--media-radius) - var(--media-pad) - 1px); background:linear-gradient(180deg,transparent,rgb(11 17 27 / 72%)); color:rgb(255 255 255 / 90%); font-size:11px; font-weight:400; line-height:1.65; text-align:start; text-shadow:0 1px 3px rgb(0 0 0 / 22%); overflow-wrap:anywhere; }
.entry-content :is(figure.wp-block-image,.wp-caption) > :is(figcaption,.wp-caption-text) a { color:inherit; text-underline-offset:3px; }

@media(max-width:600px) {
 .entry-content .ai-video { margin-block:18px; }
 .entry-content .ai-video,.entry-content :is(figure.wp-block-image,.wp-caption),.entry-thumb { --media-pad:5px; --media-radius:12px; }
 .entry-content :is(figure.wp-block-image,.wp-caption) > :is(figcaption,.wp-caption-text) { margin:0; max-inline-size:100%; padding:24px 11px 9px; font-size:10px; }
}

.entry-thumb { position:relative; }
.entry-thumb img { border-radius:calc(var(--media-radius) - var(--media-pad) - 1px); }
.entry-thumb:has(figcaption) figcaption { position:absolute; inset-inline:var(--media-pad); inset-block-end:var(--media-pad); margin:0; padding:30px 14px 11px; border:0; border-radius:0 0 calc(var(--media-radius) - var(--media-pad) - 1px) calc(var(--media-radius) - var(--media-pad) - 1px); background:linear-gradient(180deg,transparent,rgb(11 17 27 / 72%)); color:rgb(255 255 255 / 90%); font-size:11px; font-weight:400; line-height:1.65; text-align:start; overflow-wrap:anywhere; }

/* Cover credits blend into the image above the headline, without a floating card. */
.post-hero .post-hero__caption { position:absolute; z-index:2; inset-block-start:0; inset-inline:0; inline-size:100%; max-inline-size:100%; box-sizing:border-box; margin:0; padding:11px 16px 28px; border:0; border-radius:0; background:linear-gradient(180deg,rgb(11 17 27 / 52%),transparent); color:rgb(255 255 255 / 82%); font-size:10px; font-weight:400; line-height:1.65; text-align:end; overflow-wrap:anywhere; }
@media(max-width:600px) {
 .post-hero .post-hero__caption { padding:9px 12px 24px; font-size:10px; }
 .entry-thumb:has(figcaption) figcaption { padding:24px 11px 9px; font-size:10px; }
}

.post-hero { border:1px solid rgb(34 45 61 / 10%); box-shadow:0 2px 4px rgb(24 36 54 / 3%),0 12px 32px -24px rgb(24 36 54 / 24%); }

/* Let the article image reach beneath the initially transparent header. */
.single.has-transparent-header .post-editorial > .breadcrumbs { display:none; }
.single.has-transparent-header .post-editorial .entry--single { padding-block-start:0; }
.single.has-transparent-header .post-editorial .post-hero { inline-size:100vw; max-inline-size:none; margin-inline:calc(50% - 50vw); border-radius:0; }
.single.has-transparent-header .post-hero__heading { padding-block-start:calc(var(--header-current-h,80px) + 48px); }

/* Full-bleed hero may exceed the document by the scrollbar width. Clip only
   horizontal painting, without creating a nested scrolling container. */
body.single { overflow-x:clip; }

html:has(body.single) { overflow-x:clip; }

/* Give the mobile article opening a consistent inset from both edges. */
@media(max-width:700px) {
 .single .post-editorial .post-hero__heading { padding-inline:28px; box-sizing:border-box; }
 .single .post-editorial .post-opening { padding-inline:12px; box-sizing:border-box; }
 .single .post-editorial .entry--single > .post-deck { padding-inline:12px; box-sizing:border-box; }
 .single .post-hero__heading .post-deck { padding-inline:0; }
}

/* Image captions: a quiet readable credit, independent of the headline. */
.post-hero .post-hero__caption {
 inset-block-start:0; inset-block-end:auto; inset-inline:0;
 padding:14px 32px 34px; margin:0; text-align:start;
 color:rgb(255 255 255 / 88%); font-size:11px; font-weight:400;
 line-height:1.65; letter-spacing:0; text-wrap:pretty;
 background:linear-gradient(to bottom,rgb(8 13 21 / 68%),rgb(8 13 21 / 22%) 60%,transparent);
 text-shadow:0 1px 3px rgb(0 0 0 / 35%);
}
.single.has-transparent-header .post-hero .post-hero__caption {
 inset-block-start:var(--header-current-h,80px); padding-block-start:10px;
}
.entry-thumb:has(figcaption) figcaption,
.entry-content :is(figure.wp-block-image,.wp-caption) > :is(figcaption,.wp-caption-text) {
 padding:28px 18px 12px; font-size:11px; line-height:1.65; text-align:start;
 color:rgb(255 255 255 / 90%); text-wrap:pretty;
 background:linear-gradient(to bottom,transparent,rgb(8 13 21 / 72%));
}
@media(max-width:700px) {
 .post-hero .post-hero__caption { padding:10px 28px 26px; font-size:10px; line-height:1.6; }
 .entry-thumb:has(figcaption) figcaption,
 .entry-content :is(figure.wp-block-image,.wp-caption) > :is(figcaption,.wp-caption-text) { padding:24px 12px 10px; font-size:10px; line-height:1.6; }
}

/* Caption follows the summary as a quiet image credit. */
.post-editorial .post-image-credit { margin:10px 0 22px; color:#747e8c; font-size:11px; font-weight:400; line-height:1.6; text-align:start; overflow-wrap:anywhere; }
.post-hero__heading .post-deck { margin-block-end:0; }
.post-hero__heading .post-image-credit { margin:12px 0 0; color:rgb(255 255 255 / 68%); max-inline-size:70ch; }
@media(max-width:700px) {
 .post-editorial .post-image-credit { font-size:10px; }
 .post-editorial .entry--single > .post-image-credit { padding-inline:12px; }
}

/* Keep the image credit visible below the summary at desktop widths too. */
.post-editorial .post-hero__heading .post-image-credit {
 position:static; display:block; visibility:visible; opacity:1;
 inline-size:100%; max-inline-size:var(--ai-w,70ch); min-block-size:1.6em;
 margin-block:12px 0; color:#d8dde5; font-size:12px; line-height:1.6;
}
@media(max-width:700px) {
 .post-editorial .post-hero__heading .post-image-credit { font-size:10px; margin-block-start:10px; }
}

/* One quiet breadcrumb capsule replaces the separate category badge. */
.post-editorial .post-hero__flash { display:none; }
.post-editorial .post-hero__trail { display:inline-flex; inline-size:fit-content; max-inline-size:100%; gap:8px; padding:5px 12px; border:1px solid rgb(255 255 255 / 32%); border-radius:7px; background:rgb(15 22 34 / 35%); backdrop-filter:blur(8px); }
.post-editorial .post-hero__trail :is(.post-hero__home,.post-hero__category) { min-block-size:22px; padding:0; border:0; border-radius:0; background:transparent; backdrop-filter:none; color:#e8ecf2; font-size:11px; font-weight:400; line-height:1.5; }
.post-editorial .post-hero__trail a:hover { background:transparent; color:#fff; text-decoration:underline; text-underline-offset:3px; }
.post-editorial .post-hero__separator { color:rgb(255 255 255 / 45%); font-size:10px; }
.post-editorial .post-opening .post-hero__trail { background:#f4f6f8; border-color:#dce1e8; }
.post-editorial .post-opening .post-hero__trail a { color:#465366; }
.post-editorial .post-opening .post-hero__separator { color:#8a94a3; }
@media(max-width:700px) { .post-editorial .post-hero__trail { gap:7px; padding:4px 10px; } }

/* Compact author portrait and configurable metadata actions. */
.post-details.post-details--strip .entry-meta__avatar { inline-size:24px; block-size:24px; flex:none; }
.post-details.post-details--strip .entry-meta__avatar img { inline-size:100%; block-size:100%; object-fit:cover; border-radius:50%; }
.ai-meta-actions { display:flex; flex-wrap:wrap; gap:6px; }
.post-details__controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.post-details .ai-meta-action { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; border:1px solid #dce1e8; border-radius:8px; background:#f7f8fa; color:#4b5667; }
.post-details .ai-meta-action:hover { background:#edf0f5; border-color:#bbc4d0; color:#222d3e; }
.post-details .ai-meta-action:focus-visible { outline:2px solid var(--c-crimson); outline-offset:3px; }
.post-details .ai-meta-action[aria-expanded=true] { border-color:var(--c-crimson); color:var(--c-crimson); }
.post-details.post-details--strip { gap:12px; align-items:stretch; }
.post-details--strip .entry-meta--single { flex-basis:100%; }
.post-details--strip .post-details__controls { flex-basis:100%; padding-block-start:12px; border-block-start:1px solid #e9edf2; justify-content:flex-start; }
.post-ai-summary { padding:20px 24px; margin-block:14px; border:1px solid #e2e7ed; border-inline-start:3px solid var(--c-crimson); border-radius:10px; background:#f8f9fb; color:#455163; }
.post-ai-summary[hidden] { display:none; }
.post-ai-summary h2 { margin:0 0 10px; font-size:1.1rem; color:#253044; }
.post-ai-summary p { margin:0 0 8px; font-size:.9rem; line-height:1.8; }
@media(max-width:700px) {
 .post-details.post-details--strip .entry-meta__avatar { inline-size:22px; block-size:22px; }
 .post-details--strip .post-details__controls { padding-block-start:12px; border-block-start:1px solid #e9edf2; }
 .post-ai-summary { padding:16px; }
}

.single .ai-author__avatar img { inline-size:52px; block-size:52px; }
@media(max-width:700px) { .single .ai-author__avatar img { inline-size:38px; block-size:38px; } }

.post-details .ai-meta-action:disabled { opacity:.55; cursor:default; background:#f7f8fa; border-color:#e2e6ec; color:#6c7583; }

/* A soft divider between the wrapped metadata and action rows. */
.post-details--strip .post-details__controls {
 position:relative; border-block-start:0; padding-block-start:15px;
}
.post-details--strip .post-details__controls::before {
 content:""; position:absolute; inset-block-start:0; inset-inline:0;
 block-size:1px; pointer-events:none;
 background:linear-gradient(to right,transparent,#dfe4eb 18%,#d5dce5 50%,#dfe4eb 82%,transparent);
}
@media(max-width:700px) {
 .post-details--strip .post-details__controls { position:relative; border-block-start:0; padding-block-start:13px; }
 .post-details--strip .post-details__controls::before {
  content:""; position:absolute; inset-block-start:0; inset-inline:0; block-size:1px; pointer-events:none;
  background:linear-gradient(to right,transparent,#e0e5ec 18%,#d7dee7 50%,#e0e5ec 82%,transparent);
 }
}

.post-details--strip .post-details__controls::before {
 background:linear-gradient(to right,transparent,rgb(130 147 168 / 12%) 18%,rgb(130 147 168 / 18%) 50%,rgb(130 147 168 / 12%) 82%,transparent);
}
@media(max-width:700px) {
 .post-details--strip .post-details__controls::before { background:linear-gradient(to right,transparent,rgb(130 147 168 / 12%) 18%,rgb(130 147 168 / 18%) 50%,rgb(130 147 168 / 12%) 82%,transparent); }
}

/* Quiet, consistent hover feedback throughout the metadata toolbar. */
.post-details.post-details--strip .post-details__controls :is(.ai-tool,.ai-share a,.ai-share button) {
 transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;
 transform:none; text-decoration:none;
}
@media(hover:hover) {
 .post-details.post-details--strip .post-details__controls :is(.ai-tool,.ai-share a,.ai-share button):not(:disabled):hover {
  background:#f0f3f7; border-color:#d2d9e3; color:#29374b;
  box-shadow:inset 0 1px 0 rgb(255 255 255 / 75%); transform:none; text-decoration:none;
 }
}
.post-details.post-details--strip .post-details__controls :is(.ai-tool,.ai-share a,.ai-share button):not(:disabled):active {
 background:#e8edf3; border-color:#c6d0dd; box-shadow:inset 0 1px 2px rgb(35 52 74 / 6%); transform:none;
}
.post-details.post-details--strip .post-details__controls :is(.ai-tool,.ai-share a,.ai-share button):focus-visible {
 outline:2px solid var(--c-crimson); outline-offset:3px;
}
@media(prefers-reduced-motion:reduce) {
 .post-details.post-details--strip .post-details__controls :is(.ai-tool,.ai-share a,.ai-share button) { transition:none; }
}

/* Bring the mobile metadata strip closer to the article opening. */
@media(max-width:700px) {
 .post-editorial .post-rule:has(+ .post-reading-grid .post-details--strip) { margin-block:2px 0; }
 .post-editorial .post-body > .post-details--strip:first-child { margin-block-start:0; }
}

/* A quieter breadcrumb treatment over the article cover. */
.post-editorial .post-hero__trail { align-items:center; gap:7px; padding:3px 9px; border-color:rgb(255 255 255 / 14%); border-radius:6px; background:rgb(10 17 25 / 24%); backdrop-filter:blur(6px); }
.post-editorial .post-hero__trail :is(.post-hero__home,.post-hero__category) { min-block-size:20px; color:#c6ced7; font-size:10px; font-weight:400; line-height:1.6; }
.post-editorial .post-hero__separator { color:rgb(255 255 255 / 28%); font-size:9px; }
.post-editorial .post-opening .post-hero__trail { background:#f7f8fa; border-color:#e8ecf0; }
.post-editorial .post-opening .post-hero__trail a { color:#677385; }
.post-editorial .post-opening .post-hero__separator { color:#b0b8c3; }
@media(max-width:700px) { .post-editorial .post-hero__trail { gap:6px; padding:3px 8px; } }

.post-closing { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(210px,.65fr); gap:0; inline-size:100%; margin-block:30px 24px; border:1px solid #e5e9ef; border-radius:14px; background:#fff; box-shadow:0 12px 30px rgb(27 34 49 / 5%); overflow:hidden; font-family:Heebo,Arial,sans-serif; }
.post-closing__topics,.post-closing__share { min-inline-size:0; padding:20px 22px; }
.post-closing__share { display:flex; align-items:center; border-inline-start:1px solid #e8ebf0; background:#fafbfc; }
.post-closing .post-content-invitation { margin:0; padding:0; border:0; }
.post-closing .post-content-invitation p { margin:0; color:#596476; font-size:13px; line-height:1.75; }
.post-closing .post-content-invitation__tags { display:flex; flex-wrap:wrap; gap:6px; margin-block-start:10px; }
.post-closing .post-content-invitation__separator { display:none; }
.post-closing .post-content-invitation__tags a { display:inline-flex; align-items:center; min-block-size:28px; padding:4px 9px; border:1px solid #e2e6ec; border-radius:999px; background:#f7f8fa; color:#596476; font-size:11px; font-weight:600; line-height:1.4; text-decoration:none; transition:color .18s,border-color .18s,background-color .18s; }
.post-closing .post-content-invitation__tags a::before { content:"#"; margin-inline-end:2px; color:var(--c-crimson); }
.post-closing .post-content-invitation__tags a:hover { color:var(--c-crimson); border-color:#efcbd3; background:#fff5f7; }
.post-closing .ai-share { inline-size:100%; max-inline-size:none; margin:0; padding:0; border:0; flex-direction:column; align-items:flex-start; gap:9px; }
.post-closing .ai-share__label { color:#7a8390; font-size:10px; font-weight:600; letter-spacing:.04em; }
.post-closing .ai-share ul { gap:5px; }
.post-closing .ai-share :is(a,button) { inline-size:36px; block-size:36px; border-radius:9px; box-shadow:none; }
.post-closing__author { grid-column:1/-1; border-block-start:1px solid #e8ebf0; background:#fff; }
.post-closing__author > summary { display:flex; align-items:center; gap:11px; min-block-size:64px; padding:10px 16px; cursor:pointer; list-style:none; transition:background-color .18s; }
.post-closing__author > summary::-webkit-details-marker { display:none; }
.post-closing__author > summary:hover { background:#fafbfc; }
.post-closing__author > summary:focus-visible { outline:2px solid var(--c-crimson); outline-offset:-3px; }
.post-closing__author-avatar { flex:none; padding:2px; border:1px solid #e4e8ee; border-radius:50%; background:#fff; }
.post-closing__author-avatar img { display:block; inline-size:40px; block-size:40px; border-radius:50%; object-fit:cover; }
.post-closing__author-copy { display:grid; flex:1; gap:1px; min-inline-size:0; }
.post-closing__author-copy small { color:#8791a0; font-size:10px; line-height:1.4; }
.post-closing__author-copy strong { color:#303a4b; font-size:14px; line-height:1.45; }
.post-closing__author-toggle { display:grid; place-items:center; inline-size:38px; block-size:38px; border:1px solid #e9ecf1; border-radius:9px; background:#f5f6f8; color:#5f6b7a; font-size:20px; font-weight:300; line-height:1; transition:background-color .2s,border-color .2s,color .2s; }
.post-closing__author-toggle > span { display:block; transition:transform .2s; }
.post-closing__author[open] .post-closing__author-toggle { border-color:#dfe3e9; background:#eceff3; color:#394456; }
.post-closing__author[open] .post-closing__author-toggle > span { transform:rotate(45deg); }
.post-closing__author-panel { padding:0 18px 18px; }
.post-closing .post-closing__author-panel .ai-author { max-inline-size:none; margin:0; padding:18px; border-radius:10px; background:#f7f8fa; box-shadow:none; }
.post-closing .post-closing__author-panel .ai-author__avatar { display:none; }
@media(max-width:700px) {
 .post-closing { grid-template-columns:minmax(0,1fr); margin-block:24px 20px; border-radius:12px; }
 .post-closing__topics,.post-closing__share { padding:16px; }
 .post-closing__share { border-inline-start:0; border-block-start:1px solid #e8ebf0; }
 .post-closing .ai-share { flex-direction:row; align-items:center; justify-content:space-between; gap:10px; }
 .post-closing .ai-share ul { flex-wrap:nowrap; }
 .post-closing .ai-share :is(a,button) { inline-size:38px; block-size:38px; }
 .post-closing__author { grid-column:1; }
 .post-closing__author-panel { padding:0 12px 12px; }
 .post-closing .post-closing__author-panel .ai-author { flex-direction:column; padding:14px; text-align:start; }
}
@media(max-width:380px) {
 .post-closing .ai-share { align-items:flex-start; flex-direction:column; }
 .post-closing .ai-share ul { inline-size:100%; justify-content:space-between; }
 .post-closing .ai-share :is(a,button) { inline-size:40px; block-size:40px; }
}
