/* Publisher content adapters. The unmodified WordPress presentation lives in theme.css. */
:root { --accent:var(--theme-color,#ff6100) }
/* Every first-party image uses the same picture wrapper. Keep the wrapper's
   box aligned with the existing image slot, including flex and crop layouts. */
.st-picture { display:block; min-width:0; max-width:100% }
.st-picture--logo,.st-picture--avatar { flex-shrink:0 }
.footer-columns { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:24px; padding-bottom:24px }
.footer-column { min-width:0; overflow-wrap:anywhere }
.footer-column h2 { font-size:.9rem; margin:0 0 12px }
.footer-column ul { display:flex; flex-direction:column; gap:8px; list-style:none; margin:0; padding:0 }
.footer-column a { display:inline-block; font-size:.8rem; padding:5px 0 }
.story-image > .st-picture,.article-embed-image > .st-picture { width:100%; height:100% }
/* The publisher's restrained 404 presentation is independent of the WP theme. */
.not-found { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:clamp(440px,64vh,680px); max-width:960px; margin:0 auto; padding-block:64px; text-align:center }
.not-found .eyebrow { margin:0 0 24px; color:var(--muted); font-size:.75rem; font-weight:650; letter-spacing:.2em }
.not-found .eyebrow::before { display:none }
.not-found h1 { margin:0; font-size:clamp(2rem,4.5vw,3.5rem); font-weight:650; line-height:1.12; letter-spacing:-.045em; text-wrap:balance }
.not-found > p:not(.eyebrow) { max-width:34ch; margin:20px 0 0; color:var(--muted); font-size:1rem; line-height:1.7; text-wrap:balance }
.not-found .text-link { margin-top:36px; padding:12px 0; border-bottom:1px solid var(--line); font-size:.875rem; color:var(--ink); text-decoration:none }
.not-found .text-link:hover { border-color:var(--accent) }
.not-found .text-link:focus-visible { outline:2px solid var(--ink); outline-offset:6px }
.site-header { background:var(--header-color,var(--accent)) }
.brand img { width:var(--logo-display-width,48px); max-height:none }
.footer-top .brand img { width:calc(var(--logo-display-width,48px) * 46 / 48) }
@media(max-width:959px) { .site-header .brand img { width:calc(var(--logo-display-width,48px) * 44 / 48) } }
@media(max-width:540px) { .site-header .brand img { width:calc(var(--logo-display-width,48px) * 38 / 48) } }
@media(max-width:359px) { .site-header .brand img { width:calc(var(--logo-display-width,48px) * 32 / 48) } }
.article-cover figure { margin:0 }
.article-cover img { object-fit:cover }
.credit { margin-left:.4em }
.rich-content { max-width:100%; overflow-x:auto }
.article-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; border-top:1px solid var(--line); margin-top:26px; padding-top:20px; font-size:.8rem }
.article-actions button,.button { border:1px solid var(--line); border-radius:12px; padding:10px 16px; background:var(--surface); color:var(--ink) }
.external-media,.sponsor,.toc { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:18px; margin:24px 0; font-size:.9rem }
.external-media span,.external-media a { display:block }
.external-media a { margin-top:8px }
.article-embed { margin:24px 0; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); padding:16px }
.article-content .article-embed-link { display:flex; align-items:center; gap:14px; text-decoration:none; background:var(--paper); border:1px solid var(--line); border-radius:12px; overflow:hidden }
.article-embed-image { flex:0 0 128px; align-self:stretch; min-height:104px }
.article-embed-image img { display:block; width:100%; height:100%; object-fit:cover; border-radius:0 }
.article-embed-copy { display:flex; flex-direction:column; gap:7px; padding:14px 14px 14px 0; min-width:0; overflow-wrap:anywhere }
.article-embed-copy:first-child { padding:14px }
.article-embed-label { font-size:.65rem; font-weight:750; text-transform:uppercase; letter-spacing:.04em; color:var(--muted) }
.article-embed-title { font-size:1.08rem; line-height:1.3 }
.article-embed-source { font-size:.68rem; color:var(--muted) }
.article-embed-link:hover .article-embed-title { text-decoration:underline }
@media(max-width:760px) { .article-embed { padding:12px } .article-embed-image { flex-basis:88px; min-height:96px } .article-embed-title { font-size:1rem } }
.social-embed{border:1px solid #dce2e8;border-radius:12px;margin:2rem auto;padding:1rem;max-width:640px;min-width:0;background:#fff}.social-embed-mount{width:100%;min-width:0}.social-embed-frame{display:block;border:0;width:100%;max-width:100%;min-height:120px}.social-embed--video .social-embed-frame{aspect-ratio:16/9;height:auto;min-height:0}.social-embed--portrait{max-width:460px}.social-embed-status{font-family:system-ui,sans-serif;font-size:.8rem;line-height:1.5;color:#5c6777;margin:.75rem 0}.social-embed-source{font-family:system-ui,sans-serif;font-size:.9rem;font-weight:650;overflow-wrap:anywhere}.social-embed-load{background:#153d58;color:#fff;border:0;border-radius:6px;padding:.75rem 1rem;cursor:pointer;white-space:normal}.social-embed-load:focus-visible,.social-embed-source:focus-visible{outline:3px solid #f59e0b;outline-offset:4px}.social-embed-load[hidden]{display:none}@media(max-width:480px){.social-embed{padding:.5rem}}

.social-embed--enhanced:not([data-activated]) .social-embed-mount{min-height:680px}.social-embed--portrait.social-embed--enhanced:not([data-activated]) .social-embed-mount{min-height:740px}.social-embed--video.social-embed--enhanced:not([data-activated]) .social-embed-mount{min-height:0;aspect-ratio:16/9}


.article-content .photo-collage{display:flex;flex-direction:column;gap:12px;margin:24px 0}.article-content .photo-collage figure{margin:0}
/* A gallery title, media and body stay together in the published document. */
.gallery-item { margin-block: 2.5rem; padding-block-end: 1.5rem; border-bottom: 1px solid var(--line, #d8dfe3); min-width: 0; }
.gallery-item > h2 { margin-block: 0 1rem; overflow-wrap: anywhere; }
.gallery-item-media { min-width: 0; max-width: 100%; margin-block-end: 1.25rem; }
.gallery-item-media > figure, .gallery-item-media > .social-embed { margin-block: 0; }
.gallery-item-content > :first-child { margin-block-start: 0; }
.gallery-item-content { overflow-wrap: anywhere; min-width: 0; }
.gallery-item-content pre, .gallery-item-content .rich-content { max-width: 100%; overflow-x: auto; }

.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.4rem; list-style:none; padding:0; margin:0; }
.breadcrumbs li + li::before { content:"/"; margin-right:.4rem; color:#89919b; }

/* Public archive and progressive gallery variants. */
.archive-intro h1 { font-size: clamp(28px, 4vw, 44px); }
.archive-pagination, .article-taxonomy, .gallery-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: 24px 0; }
.archive-pagination a, .gallery-controls a, .gallery-controls button { min-height: 44px; display: inline-flex; align-items: center; padding: 10px 16px; border: 1px solid #ccd4dd; border-radius: 5px; color: inherit; background: white; text-decoration: none; font: inherit; }
.gallery-controls button:disabled { opacity: .45; cursor: default; }
.gallery-controls [role=status] { font-size: 14px; }
.gallery-controls[hidden], .gallery-item[hidden] { display: none; }
.article-taxonomy { font-size: 14px; }
.article-taxonomy a { color: inherit; text-underline-offset: 3px; }
[data-gallery-style=slider]:focus-visible { outline: 2px solid #136ce0; outline-offset: 6px; }
@media(max-width:600px) { .gallery-controls { gap: 8px; } .gallery-controls a, .gallery-controls button { padding: 8px 10px; font-size: 14px; } }

.post-meta .meta-author { color:var(--ink); font-weight:650 }

/* WordPress's mobile recommendation derivative is 4:7. Reserve that geometry
   when Go serves an original asset instead of an imgproxy-cropped derivative. */
@media(max-width:540px) { .recommendations-grid .story-image { min-height:196px } }
@media(max-width:359px) { .recommendations-grid .story-image { min-height:168px } }
