/* Complete long-video rail, using the same controls as Shorts. */
.long-video-navigation { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 16px; }
.long-video-navigation>span { color:#dfd6f0; font-size:.9375rem; }
.long-videos.long-videos-rail {
  display:grid; grid-template-columns:none; grid-auto-flow:column;
  grid-auto-columns:calc((100% - 36px) / 3); gap:18px;
  overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory;
  scrollbar-width:thin; scrollbar-color:#9075bc transparent;
  padding:3px 2px 16px; margin:0 -2px;
}
.long-videos-rail>.video-card { scroll-snap-align:start; height:100%; }
.long-videos-rail .video-card button { height:100%; }
.long-videos-rail .video-meta { flex-wrap:wrap; }

/* An editorial library: compact cards, a clear reading measure and original imagery. */
.publications-section { background:#f5f6fa; border-bottom:1px solid var(--line); }
.publications-section .section-top { color:#645575; }
.publications-section h2 em, .publication-index h1 em { color:#56349a; }
.publication-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.publication-card { min-width:0; border:1px solid #dcd9e5; border-radius:16px; background:#fff; overflow:hidden; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.publication-card>a { display:flex; height:100%; flex-direction:column; }
.publication-card:hover { transform:translateY(-3px); border-color:#9e8ab9; box-shadow:0 12px 32px #2716480d; }
.publication-card:focus-within { outline:3px solid #56349a; outline-offset:4px; }
.publication-card-image { position:relative; overflow:hidden; aspect-ratio:3/2; background:#2a2844; }
.publication-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.publication-card:hover .publication-card-image img { transform:scale(1.025); }
.publication-card-arrow { position:absolute; right:14px; bottom:14px; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#24203a; background:#faf8e9; font-size:1.2rem; box-shadow:0 2px 12px #1112; }
.publication-card-copy { display:flex; flex-direction:column; flex:1; padding:19px 20px 18px; }
.publication-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 10px; font-size:.75rem; line-height:1.5; color:#65566f; margin-bottom:12px; }
.publication-card h3 { font-family:var(--serif); font-size:1.65rem; line-height:1.15; letter-spacing:-.02em; margin:0 0 12px; color:#251b38; text-wrap:balance; }
.publication-card-copy>p:not(.publication-meta) { color:#625c6e; font-size:.9375rem; line-height:1.55; margin-bottom:16px; }
.publication-read { display:flex; justify-content:space-between; gap:15px; margin-top:auto; padding-top:12px; border-top:1px solid #e9e4ee; font-size:.8125rem; font-weight:600; color:#513587; }
.publication-read span { font-size:1rem; }
.publication-index, .publication-main { padding:32px var(--pad) 56px; background:#f5f6fa; }
.publication-index .breadcrumbs, .publication-main .breadcrumbs { margin:0 0 30px; font-size:.8125rem; flex-wrap:wrap; gap:9px; color:#6a6179; }
.publication-index-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.7fr); gap:56px; align-items:end; margin-bottom:30px; }
.publication-index-heading .eyebrow { color:#655377; margin-bottom:12px; }
.publication-index h1 { font-size:clamp(2.5rem,4.3vw,4rem); line-height:1.04; letter-spacing:-.025em; }
.publication-index-heading>p { max-width:440px; font-size:1.0625rem; line-height:1.65; color:#625b70; }
.publication-filters { display:flex; flex-wrap:wrap; align-items:end; gap:16px; padding:18px 0; margin:0 0 26px; border-top:1px solid #ded9e7; border-bottom:1px solid #ded9e7; }
.publication-filters label { display:flex; flex-direction:column; gap:6px; font-size:.8125rem; color:#635471; }
.publication-search { flex:1; min-width:220px; max-width:520px; }
.publication-topic { min-width:200px; }
.publication-filters input, .publication-filters select { font:inherit; font-size:.9375rem; line-height:1.4; padding:11px 13px; width:100%; min-height:46px; border:1px solid #c9bfd7; border-radius:10px; color:#302142; background:#fff; }
.publication-filters input:focus-visible, .publication-filters select:focus-visible { outline:2px solid #5d4091; outline-offset:3px; }
.publication-filters input::placeholder { color:#766c80; }
#publication-count { margin-left:auto; align-self:center; padding-top:20px; color:#70667e; font-size:.8125rem; }
.publication-empty { border:1px solid #ded9e7; border-radius:12px; padding:24px; color:#65566f; }
.publication-index-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; padding-top:25px; margin-top:32px; border-top:1px solid #ded9e7; font-size:.9375rem; color:#65566f; }

.publication-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:48px; padding-bottom:32px; margin-bottom:34px; border-bottom:1px solid #ded9e7; }
.publication-introduction .eyebrow { color:#725a89; font-size:.8125rem; margin-bottom:14px; }
.publication-main h1 { font-size:clamp(2.1rem,3.6vw,3.5rem); line-height:1.08; letter-spacing:-.025em; text-wrap:balance; }
.publication-deck { margin:19px 0 23px; font-size:1.0625rem; line-height:1.65; color:#625b70; }
.publication-byline { display:flex; align-items:center; gap:11px; }
.publication-byline img { width:42px; height:42px; object-fit:cover; object-position:50% 56%; border-radius:50%; }
.publication-byline span { display:flex; flex-direction:column; gap:2px; }
.publication-byline strong { font-size:.875rem; font-weight:600; }
.publication-byline small { font-size:.75rem; color:#766981; }
.publication-cover { margin:0; border-radius:17px; overflow:hidden; background:#29243b; box-shadow:0 12px 35px #21143612; }
.publication-cover img { aspect-ratio:3/2; width:100%; height:auto; object-fit:cover; }
.publication-reading-layout { display:grid; grid-template-columns:230px minmax(0,780px); justify-content:center; align-items:start; gap:clamp(30px,5vw,76px); }
.publication-sidebar { position:sticky; top:108px; padding-right:15px; }
.publication-toc { border:0; }
.publication-toc summary { display:flex; justify-content:space-between; gap:10px; list-style:none; cursor:pointer; font-size:.875rem; font-weight:600; color:#42324f; padding:0 0 13px; }
.publication-toc summary::-webkit-details-marker { display:none; }
.publication-toc[open] summary span { transform:rotate(180deg); }
.publication-toc nav { display:flex; flex-direction:column; gap:0; max-height:60vh; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#c9bfd7 transparent; border-top:1px solid #ded9e7; }
.publication-toc a { padding:10px 0; border-bottom:1px solid #e4dfe9; font-size:.8125rem; line-height:1.45; color:#756980; }
.publication-toc a:hover { color:#4b249e; }
.publication-video-shortcut { display:flex; align-items:center; gap:9px; margin-top:18px; color:#583c83; font-size:.8125rem; }
.publication-video-shortcut span { font-size:1.3rem; }
.publication-prose { min-width:0; color:#403749; }
.publication-prose>p { font-size:1.0625rem; line-height:1.78; margin:0 0 17px; overflow-wrap:break-word; }
.publication-prose>p:first-child { font-size:1.1875rem; line-height:1.65; color:#251b38; }
.publication-prose>h2 { font-family:var(--serif); font-size:clamp(1.7rem,2.5vw,2.25rem); line-height:1.18; letter-spacing:-.02em; color:#352342; margin:32px 0 16px; text-wrap:balance; scroll-margin-top:12px; }
.publication-prose>h3 { font-family:var(--sans); font-size:1.125rem; line-height:1.5; font-weight:600; color:#493353; margin:25px 0 12px; }
.publication-prose>blockquote { margin:26px 0; padding:22px 26px; background:#ebe5f2; border-left:3px solid #704aa1; border-radius:0 12px 12px 0; color:#493359; }
.publication-prose>blockquote p { font-family:var(--serif); font-size:1.65rem; line-height:1.4; }
.publication-inline-image { margin:30px 0; }
.publication-inline-image img { border-radius:14px; width:100%; height:auto; }
.publication-inline-image figcaption { font-size:.6875rem; color:#867991; margin-top:7px; }
.publication-source { display:grid; grid-template-columns:42px minmax(0,1fr); gap:17px; padding:24px; margin:34px 0 24px; border:1px solid #ccc2dc; border-radius:15px; background:#eeebf4; scroll-margin-top:12px; }
.publication-source-icon { width:42px; height:42px; display:grid; place-items:center; border:1px solid #b7a5cd; border-radius:12px; font-size:1.4rem; color:#63408e; }
.publication-source .eyebrow { font-size:.6875rem; color:#756287; margin-bottom:6px; }
.publication-source h2 { font-size:1.75rem; line-height:1.2; margin:0 0 8px; }
.publication-source p:not(.eyebrow) { font-size:.9375rem; line-height:1.55; color:#6a5f77; }
.publication-source-actions { display:flex; flex-wrap:wrap; align-items:center; gap:17px; margin-top:18px; }
.publication-source-actions .button { min-height:46px; border-radius:10px; padding:11px 16px; font-size:.8125rem; gap:16px; }
.publication-source-actions .text-link { font-size:.8125rem; gap:10px; }
.publication-next { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding-top:22px; border-top:1px solid #ded9e7; }
.publication-next a { display:flex; flex-direction:column; gap:9px; }
.publication-next a:last-child { text-align:right; }
.publication-next small { font-size:.6875rem; color:#85768e; }
.publication-next span { font-family:var(--serif); font-size:1.25rem; line-height:1.3; color:#533967; }

@media (max-width:1000px) {
  .publication-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .publications-section .publication-card:last-child { display:none; }
  .publication-hero { gap:30px; }
  .publication-reading-layout { grid-template-columns:190px minmax(0,1fr); gap:30px; }
}
@media (max-width:900px) {
  .long-videos.long-videos-rail { grid-auto-columns:calc((100% - 18px) / 2); }
  .publication-hero { grid-template-columns:1fr; gap:25px; }
  .publication-introduction { max-width:720px; }
  .publication-cover { width:100%; max-width:780px; }
  .publication-reading-layout { grid-template-columns:minmax(0,1fr); gap:24px; max-width:780px; margin:auto; }
  .publication-sidebar { position:static; padding:17px 20px; border:1px solid #ded9e7; border-radius:12px; }
  .publication-toc nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; max-height:none; }
  .publication-video-shortcut { margin-top:10px; }
  .publication-index-heading { gap:25px; }
}
@media (max-width:620px) {
  .long-videos.long-videos-rail { grid-auto-columns:88%; gap:14px; }
  .long-video-navigation { margin-bottom:12px; }
  .long-video-navigation>span { font-size:.8125rem; }
  .publication-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
  .publication-card-copy { padding:17px 18px; }
  .publication-card h3 { font-size:1.65rem; }
  .publication-index, .publication-main { padding-top:24px; padding-bottom:38px; }
  .publication-index .breadcrumbs, .publication-main .breadcrumbs { margin-bottom:24px; font-size:.75rem; }
  .publication-index-heading { grid-template-columns:1fr; gap:17px; margin-bottom:23px; }
  .publication-index-heading>p, .publication-deck { font-size:1rem; }
  .publication-search, .publication-topic { min-width:0; flex:1 1 100%; }
  #publication-count { margin:0; padding:0; }
  .publication-filters { gap:14px; margin-bottom:22px; }
  .publication-hero { padding-bottom:26px; margin-bottom:24px; }
  .publication-main h1 { font-size:2.25rem; }
  .publication-introduction .eyebrow { font-size:.75rem; }
  .publication-cover { border-radius:12px; }
  .publication-sidebar { padding:16px; }
  .publication-toc nav { display:flex; }
  .publication-prose>p { font-size:1rem; line-height:1.75; margin-bottom:16px; }
  .publication-prose>p:first-child { font-size:1.125rem; }
  .publication-prose>blockquote { padding:18px 20px; }
  .publication-prose>blockquote p { font-size:1.5rem; }
  .publication-source { grid-template-columns:minmax(0,1fr); padding:20px; gap:12px; }
  .publication-source-icon { display:none; }
  .publication-source-actions { align-items:flex-start; flex-direction:column; gap:15px; }
  .publication-next { gap:18px; }
  .publication-next span { font-size:1.125rem; }
}
@media (prefers-reduced-motion:reduce) {
  .publication-card, .publication-card-image img { transition:none; }
  .publication-card:hover, .publication-card:hover .publication-card-image img { transform:none; }
}
