/* Endcap publication design layer — source of truth for plugin/runtime visual rules. */
:root {
  --ec-ink: #131313;
  --ec-paper: #fbfaf7;
  --ec-surface: #f7f4ff;
  --ec-surface-strong: #eee7ff;
  --ec-signal: #6610f2;
  --ec-muted: #6d6d6d;
  --ec-border: #d6d2dc;
  --ec-radius-sm: 6px;
  --ec-radius-md: 10px;
  --ec-radius-lg: 14px;
  --ec-space-1: 4px;
  --ec-space-2: 8px;
  --ec-space-3: 12px;
  --ec-space-4: 16px;
  --ec-space-6: 24px;
  --ec-space-8: 32px;
  --ec-space-12: 48px;
  --ec-space-16: 64px;
}

/* Migrated plugin-global rules. */
.ec-view-all{display:inline-block;margin-top:22px;font-family:var(--font-mono,monospace);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--indigo,#6610F2);text-decoration:none}.ec-view-all:hover{text-decoration:underline}.ec-form [data-instatic-form-message]{margin-top:12px;font-family:var(--font-body,serif);font-size:14px;line-height:1.5}.ec-form [data-instatic-form-message="success"]{color:#176b3a}.ec-form [data-instatic-form-message="error"]{color:#a02222}.ec-home-trending{margin-top:44px}.ec-trending-list{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;row-gap:0}.ec-trending-list li{border-top:1px dotted var(--border-gray,#d1d1d1)}.ec-trending-link{display:flex;align-items:flex-start;gap:13px;padding:15px 0;color:var(--ink,#131313);text-decoration:none}.ec-trending-number{flex:0 0 auto;font-family:var(--font-mono,monospace);font-size:21px;font-weight:700;line-height:1;color:var(--indigo,#6610F2)}.ec-trending-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.ec-trending-meta{font-family:var(--font-mono,monospace);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#6D6D6D)}.ec-trending-title{font-family:var(--font-body,Georgia,serif);font-size:15px;font-weight:700;line-height:1.35;color:var(--ink,#131313)}.ec-trending-link:hover .ec-trending-title{text-decoration:underline}.ec-trending-link:focus-visible{outline:3px solid rgba(102,16,242,.35);outline-offset:3px}@media(max-width:639px){.ec-trending-list{grid-template-columns:1fr}.ec-home-trending{margin-top:36px}}

/* Migrated homepage section rules. */
.ec-home-section{margin-top:48px}.ec-section-dek{font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--muted);margin:5px 0 0;max-width:720px}.research-grid,.video-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:24px}.research-card{display:block;border:1px solid var(--border-gray);border-radius:8px;padding:20px;text-decoration:none;color:var(--ink);transition:border-color .2s ease}.research-card:hover{border-color:var(--indigo)}.research-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.research-pill{font-family:var(--font-body);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--indigo);padding:2px 8px;border-radius:4px}.research-source{font-family:var(--font-body);font-size:12px;color:var(--muted)}.research-date{margin-left:auto;font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;color:var(--muted)}.research-title{font-family:var(--font-body);font-weight:700;font-size:16px;line-height:1.35;margin:0 0 6px;color:var(--ink)}.research-card:hover .research-title{text-decoration:underline}.research-desc{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.research-why{font-family:var(--font-body);font-size:13px;line-height:1.5;color:var(--ink);margin:10px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.research-why strong{color:var(--indigo)}.research-read{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--indigo);margin-top:12px}.video-card{display:block;text-decoration:none;color:var(--ink)}.video-thumb{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:var(--light-bg);margin-bottom:10px}.video-thumb img{width:100%;height:100%;object-fit:cover;display:block}.video-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.video-play>span{width:48px;height:48px;background:rgba(102,16,242,.8);border-radius:50%;display:flex;align-items:center;justify-content:center}.video-card:hover .video-play>span{background:var(--indigo)}.video-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.video-channel{font-family:var(--font-body);font-size:12px;color:var(--muted)}.video-date{font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;color:var(--muted)}.video-title{font-family:var(--font-body);font-weight:700;font-size:15px;line-height:1.35;margin:5px 0 0;color:var(--ink)}.video-card:hover .video-title{text-decoration:underline}@media (min-width:640px){.research-grid,.video-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.research-grid,.video-grid{grid-template-columns:repeat(3,1fr)}}

/* Migrated UI runtime rules. */
.ec-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(5px);z-index:12000;display:none;align-items:flex-start;justify-content:center}.ec-overlay.ec-open{display:flex}.ec-search-panel{position:relative;background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px rgba(0,0,0,.35);width:min(640px,92vw);margin-top:10vh;overflow:hidden}.ec-search-input{width:100%;border:0;outline:0;padding:20px 64px 20px 22px;font-family:var(--font-body,serif);font-size:18px;color:var(--ink,#131313);border-bottom:1px solid var(--border-gray,#d1d1d1)}.ec-search-close{position:absolute;right:12px;top:11px;width:40px;height:40px;border:0;border-radius:50%;background:var(--light-bg,#F5F5F5);color:var(--ink,#131313);font-size:22px;line-height:1;cursor:pointer}.ec-modal-open{overflow:hidden}.ec-results{max-height:55vh;overflow-y:auto}.ec-hit{display:block;padding:14px 22px;text-decoration:none;border-bottom:1px dotted var(--border-gray,#d1d1d1)}.ec-hit:hover{background:var(--light-bg,#F5F5F5)}.ec-hit-cat{font-family:var(--font-mono,monospace);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--indigo,#6610F2)}.ec-hit-title{font-family:var(--font-body,serif);font-weight:700;font-size:15px;color:var(--ink,#131313);margin-top:2px}.ec-empty{padding:20px 22px;font-family:var(--font-body,serif);color:var(--muted,#6D6D6D)}.ec-list-status{margin:10px 0 18px;font-family:var(--font-mono,monospace);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted,#6D6D6D)}.ec-load-more{display:block;margin:26px auto 0;border:1px solid var(--indigo,#6610F2);border-radius:999px;background:#fff;color:var(--indigo,#6610F2);padding:11px 20px;font-family:var(--font-body,serif);font-size:14px;font-weight:700;cursor:pointer}.ec-load-more:hover{background:rgba(102,16,242,.06)}.ec-load-more:focus-visible{outline:3px solid rgba(102,16,242,.35);outline-offset:3px}.ec-menu{position:fixed;top:0;right:0;bottom:0;width:min(400px,88vw);background:rgba(255,255,255,.92);backdrop-filter:blur(12px) saturate(150%);z-index:11000;transform:translateX(100%);transition:transform .3s ease;box-shadow:-12px 0 40px rgba(0,0,0,.18);overflow-y:auto;padding:24px}.ec-menu.ec-open{transform:translateX(0)}.ec-menu-close{background:var(--indigo,#6610F2);color:#fff;border:0;width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer;display:block;margin-left:auto}.ec-menu-h{font-family:var(--font-mono,monospace);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#6D6D6D);margin:22px 0 6px}.ec-menu a.ec-menu-link{display:block;padding:11px 0;font-family:var(--font-body,serif);font-weight:700;font-size:17px;color:var(--ink,#131313);text-decoration:none;border-bottom:1px dotted var(--border-gray,#d1d1d1)}.ec-menu a.ec-menu-link:hover{color:var(--indigo,#6610F2)}.ec-menu-cta{display:block;margin-top:24px;text-align:center;background:rgba(102,16,242,.85);color:#fff;font-family:var(--font-body,serif);font-weight:700;padding:13px 0;border-radius:8px;text-decoration:none}.ec-burger{background:none;border:0;cursor:pointer;padding:6px;margin-left:10px;color:var(--ink,#131313);display:inline-flex;align-items:center}.ec-searchbtn{background:none;border:0;cursor:pointer;padding:6px;color:var(--ink,#131313);display:inline-flex;align-items:center}.ec-searchbtn:focus-visible,.ec-burger:focus-visible,.ec-menu-close:focus-visible,.ec-search-close:focus-visible,.ec-hit:focus-visible,.ec-menu-link:focus-visible,.ec-menu-cta:focus-visible{outline:3px solid rgba(102,16,242,.45);outline-offset:3px}.ec-sticky{position:fixed;top:0;left:0;right:0;height:48px;background:rgba(255,255,255,.95);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 1px 0 var(--border-gray,#d1d1d1);z-index:10900;display:flex;align-items:center;justify-content:center;gap:14px;transform:translateY(-100%);transition:transform .3s ease}.ec-sticky.ec-show{transform:translateY(0)}.ec-sticky img{height:26px;width:auto}.ec-sticky a.ec-sticky-link{font-family:var(--font-body,serif);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink,#131313);text-decoration:none;padding:0 5px}.ec-sticky a.ec-sticky-link:hover{color:var(--indigo,#6610F2)}@media (max-width:639px){.ec-sticky a.ec-sticky-link{display:none}}.ec-sources{margin:2.25rem 0 0;padding:1.25rem 1.15rem 1.05rem;border:1px solid var(--border-gray,#d1d1d1);border-radius:12px;background:linear-gradient(180deg,var(--light-bg,#F7F7F7) 0%,#fff 48%)}.ec-sources-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ec-sources-kicker{font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink,#131313)}.ec-sources-count{font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;color:var(--muted,#6D6D6D);background:#fff;border:1px solid var(--border-gray,#d1d1d1);border-radius:999px;padding:3px 9px}.ec-sources-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ec-source-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid var(--border-gray,#d1d1d1);background:#fff;text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.ec-source-card:hover{border-color:var(--indigo,#6610F2);box-shadow:0 6px 18px rgba(102,16,242,.08);transform:translateY(-1px)}.ec-source-num{flex:0 0 auto;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono,ui-monospace,monospace);font-size:12px;font-weight:700;color:var(--indigo,#6610F2);background:rgba(102,16,242,.08)}.ec-source-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.ec-source-title{font-family:var(--font-body,Georgia,serif);font-size:14px;font-weight:700;line-height:1.3;color:var(--ink,#131313);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ec-source-domain{font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;color:var(--muted,#6D6D6D);letter-spacing:.02em}.ec-source-arrow{flex:0 0 auto;color:var(--muted,#6D6D6D);font-size:14px;line-height:1}.ec-source-card:hover .ec-source-arrow{color:var(--indigo,#6610F2)}@media (max-width:639px){.ec-sources{padding:1rem .9rem}.ec-source-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.ec-article-recirculation{margin:2rem 0 0;padding-top:1.5rem;border-top:1px solid var(--border-gray,#d1d1d1)}.ec-article-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:1.25rem}.ec-article-actions-label{font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#6D6D6D)}.ec-share-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ec-share-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid var(--border-gray,#d1d1d1);border-radius:999px;background:#fff;color:var(--ink,#131313);font-family:var(--font-body,Georgia,serif);font-size:13px;font-weight:700;line-height:1;text-decoration:none;cursor:pointer}.ec-share-link:hover{border-color:var(--indigo,#6610F2);color:var(--indigo,#6610F2)}.ec-share-link:focus-visible,.ec-related-card:focus-visible,.ec-article-newsletter a:focus-visible,.ec-corrections a:focus-visible{outline:3px solid rgba(102,16,242,.35);outline-offset:3px}.ec-article-newsletter{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:1.25rem 1.35rem;border-radius:12px;background:linear-gradient(135deg,#241047 0%,#6610F2 100%);color:#fff;margin:0 0 2rem}.ec-article-newsletter-copy{min-width:0}.ec-article-newsletter-kicker{display:block;font-family:var(--font-mono,ui-monospace,monospace);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.74);margin-bottom:5px}.ec-article-newsletter strong{display:block;font-family:var(--font-body,Georgia,serif);font-size:18px;line-height:1.25;color:#fff;margin-bottom:4px}.ec-article-newsletter p{font-family:var(--font-body,Georgia,serif);font-size:13px;line-height:1.45;color:rgba(255,255,255,.84);margin:0}.ec-article-newsletter a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border-radius:999px;background:#fff;color:#4610A5;font-family:var(--font-body,Georgia,serif);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.ec-related{margin-top:.25rem}.ec-related-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.ec-related-title{font-family:var(--font-body,Georgia,serif);font-size:22px;line-height:1.2;color:var(--ink,#131313);margin:0}.ec-related-all{font-family:var(--font-mono,ui-monospace,monospace);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--indigo,#6610F2);text-decoration:none}.ec-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ec-related-card{display:block;color:var(--ink,#131313);text-decoration:none;min-width:0}.ec-related-imgwrap{aspect-ratio:16/10;border-radius:8px;overflow:hidden;background:var(--light-bg,#F5F5F5);margin-bottom:9px}.ec-related-img{display:block;width:100%;height:100%;object-fit:cover}.ec-related-meta{font-family:var(--font-mono,ui-monospace,monospace);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--indigo,#6610F2);margin-bottom:4px}.ec-related-card h3{font-family:var(--font-body,Georgia,serif);font-size:14px;line-height:1.35;margin:0;color:var(--ink,#131313)}.ec-related-card:hover h3{text-decoration:underline}.ec-corrections{font-family:var(--font-body,Georgia,serif);font-size:12px;line-height:1.5;color:var(--muted,#6D6D6D);margin:1.35rem 0 0}.ec-corrections a{color:var(--indigo,#6610F2);font-weight:700}.ec-topic-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:1.35rem 0 0;padding-top:1.1rem;border-top:1px dotted var(--border-gray,#d1d1d1)}.ec-topic-label{font-family:var(--font-mono,ui-monospace,monospace);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#6D6D6D);margin-right:3px}.ec-topic-link{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--light-bg,#F5F5F5);color:var(--ink,#131313);font-family:var(--font-body,Georgia,serif);font-size:12px;font-weight:700;text-decoration:none}.ec-topic-link:hover{background:rgba(102,16,242,.09);color:var(--indigo,#6610F2)}.ec-topic-link:focus-visible{outline:3px solid rgba(102,16,242,.35);outline-offset:2px}.byline-author-link{color:inherit;font-weight:700;text-decoration:none}.byline-author-link:hover{text-decoration:underline}.byline-author-link:focus-visible{outline:3px solid rgba(102,16,242,.35);outline-offset:3px}.ec-author-bio-card{display:block;margin:2rem 0 0;padding:1.1rem 1.2rem;border:1px solid var(--border-gray,#d1d1d1);border-radius:12px;background:var(--light-bg,#F7F7F7)}.ec-author-bio-card h2{font-family:var(--font-body,Georgia,serif);font-size:18px;line-height:1.25;color:var(--ink,#131313);margin:0 0 6px}.ec-author-bio-card p{font-family:var(--font-body,Georgia,serif);font-size:13px;line-height:1.55;color:var(--muted,#6D6D6D);margin:0 0 8px}.ec-author-bio-card a{font-family:var(--font-mono,ui-monospace,monospace);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--indigo,#6610F2)}@media (max-width:720px){.ec-article-actions{align-items:flex-start;flex-direction:column;gap:10px}.ec-article-newsletter{align-items:flex-start;flex-direction:column}.ec-related-grid{grid-template-columns:1fr;gap:18px}.ec-related-card{display:grid;grid-template-columns:112px 1fr;column-gap:12px;align-items:start}.ec-related-imgwrap{grid-row:1/3;margin:0}.ec-related-meta{grid-column:2}.ec-related-card h3{grid-column:2;font-size:15px}}

/* 0.6.0 shell and interaction foundation. */
.mast-sub,
.ec-searchbtn,
.ec-burger,
.ec-search-close,
.ec-menu-close,
.ec-load-more,
.ec-share-link {
  min-height: 44px;
}
.ec-searchbtn,
.ec-burger,
.ec-search-close,
.ec-menu-close {
  min-width: 44px;
  align-items: center;
  justify-content: center;
}
.mast-sub {
  display: inline-flex;
  align-items: center;
  width: max-content;
  color: var(--ec-signal);
  text-underline-offset: 3px;
}
.ec-menu a.ec-menu-link {
  min-height: 44px;
}

.mast-nav a.ec-active,
.mast-nav a[aria-current="page"] {
  color: var(--ec-signal);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}
.prose-body h2,
.page-wrap h2 {
  font-family: var(--font-display, "DM Serif Display", Georgia, serif);
  letter-spacing: -0.01em;
}
@media (max-width: 720px) {
  .site-header { height: auto; }
  .masthead { height: 72px; padding: 14px 0; }
  .mast-nav {
    box-sizing: border-box;
    height: 52px;
    min-height: 52px;
    padding: 4px 0;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .mast-nav::-webkit-scrollbar { display: none; }
  .mast-nav a {
    flex: 0 0 auto;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding-inline: 10px;
  }
  .mast-nav a:first-of-type { padding-left: 0; }
  .mast-sep { display: none; }
  .mast-sub { font-size: 12px; }
  .mast-icons { gap: 0; }
  .grid-card-date,
  .ec-trending-meta,
  .research-date,
  .video-date,
  .arch-date { font-size: max(11px, 0.6875rem); }
}
/* 0.6.1 homepage hierarchy and section art direction. */
.ec-home-newsletter {
  margin: 52px 0 12px;
  padding: 32px 36px;
  border-radius: var(--ec-radius-lg);
  background: #241047;
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
}
.ec-home-newsletter-copy { min-width: 0; }
.ec-home-newsletter-kicker {
  display: block;
  margin-bottom: 6px;
  color: #d9c9ff;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ec-home-newsletter h2 {
  margin: 0 0 7px;
  color: #fff;
  font-family: var(--font-display, "DM Serif Display", Georgia, serif);
  font-size: 30px;
  line-height: 1.1;
}
.ec-home-newsletter p {
  max-width: 680px;
  margin: 0;
  color: #e7e1f1;
  font-family: var(--font-body, Georgia, serif);
  font-size: 14px;
  line-height: 1.55;
}
.ec-home-newsletter > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 999px;
  background: #fff;
  color: #3f0c93;
  font-family: var(--font-body, Georgia, serif);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.ec-home-newsletter > a:focus-visible,
.ec-section-more:focus-visible {
  outline: 3px solid rgba(102, 16, 242, .4);
  outline-offset: 3px;
}
.ec-home-research,
.ec-home-videos {
  padding: 32px;
  border-radius: var(--ec-radius-lg);
}
.ec-home-research { background: var(--ec-surface); }
.ec-home-research .research-card { background: #fff; }
.ec-home-videos {
  background: #18151d;
  color: #fff;
}
.ec-home-videos .section-title,
.ec-home-videos .video-title { color: #fff; }
.ec-home-videos .ec-section-dek,
.ec-home-videos .video-channel,
.ec-home-videos .video-date { color: #b8b1be; }
.ec-home-videos .video-thumb {
  border: 1px solid #3e3944;
  background: #28232e;
}
.ec-home-videos .video-thumb img { opacity: .78; }
.research-card[hidden],
.video-card[hidden] { display: none !important; }
.ec-section-more {
  display: none;
  min-height: 44px;
  margin: 22px auto 0;
  padding: 0 18px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: var(--ec-signal);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.ec-home-videos .ec-section-more { color: #fff; }

@media (max-width: 720px) {
  .latest-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .grid-card--feature { margin-bottom: 24px; }
  .grid-card--compact {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    column-gap: 12px;
    align-items: start;
    padding: 16px 0;
    border-top: 1px dotted var(--ec-border);
  }
  .grid-card--compact .grid-card-imgwrap {
    grid-column: 1;
    grid-row: 1 / 3;
    margin: 0;
    aspect-ratio: 16 / 10;
  }
  .grid-card--compact .grid-card-meta,
  .grid-card--compact .grid-card-title { grid-column: 2; }
  .grid-card--compact .grid-card-title {
    margin-top: 5px;
    font-size: 15px;
    line-height: 1.32;
  }
  .ec-home-newsletter {
    margin-top: 42px;
    padding: 25px;
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .ec-home-newsletter h2 { font-size: 27px; }
  .ec-home-newsletter p { font-size: 14px; }
  .ec-home-newsletter > a { width: max-content; }
  .ec-home-research,
  .ec-home-videos {
    margin-top: 42px;
    padding: 24px 18px;
  }
  .ec-home-research .research-grid,
  .ec-home-videos .video-grid { gap: 18px; }
  .ec-section-more:not([hidden]) { display: block; }
}

/* 0.6.2 category hierarchy and shareable archive filters. */
.js-cat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px 24px;
  margin-top: 24px;
}
.ec-category-lead,
.ec-category-support,
.ec-category-feed-item {
  color: var(--ec-ink);
  text-decoration: none;
  min-width: 0;
}
.ec-category-lead {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr);
  gap: 32px;
  align-items: center;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--ec-border);
}
.ec-category-lead-image,
.ec-category-support-image,
.ec-category-feed-image {
  overflow: hidden;
  border-radius: var(--ec-radius-sm);
  background: var(--ec-surface);
}
.ec-category-lead-image { aspect-ratio: 16 / 9; }
.ec-category-support-image { aspect-ratio: 16 / 10; }
.ec-category-feed-image { aspect-ratio: 16 / 10; }
.ec-category-lead-image img,
.ec-category-support-image img,
.ec-category-feed-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.ec-category-meta {
  margin-top: 12px;
  color: var(--ec-muted);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 11px;
  line-height: 1.35;
}
.ec-category-lead-copy .ec-category-meta { margin-top: 0; }
.ec-category-lead-title {
  margin: 10px 0 12px;
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(30px, 3vw, 43px);
  line-height: 1.04;
}
.ec-category-lead-dek {
  margin: 0;
  color: var(--ec-muted);
  font-family: var(--font-body, Georgia, serif);
  font-size: 17px;
  line-height: 1.55;
}
.ec-category-support { grid-column: span 1; }
.ec-category-support-title {
  margin: 8px 0 0;
  font-family: var(--font-display, Georgia, serif);
  font-size: 18px;
  line-height: 1.24;
}
.ec-category-feed-item {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding-top: 18px;
  border-top: 1px dotted var(--ec-border);
}
.ec-category-feed-item .ec-category-meta { margin-top: 0; }
.ec-category-feed-title {
  margin: 6px 0 0;
  font-family: var(--font-display, Georgia, serif);
  font-size: 17px;
  line-height: 1.28;
}
.ec-category-lead:hover .ec-category-lead-title,
.ec-category-support:hover .ec-category-support-title,
.ec-category-feed-item:hover .ec-category-feed-title { color: var(--ec-signal); }
.ec-list-status {
  margin: 18px 0 12px;
  color: var(--ec-muted);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 11px;
}
.ec-list-empty {
  grid-column: 1 / -1;
  color: var(--ec-muted);
  font-family: var(--font-body, Georgia, serif);
}
.ec-load-more[hidden] { display: none !important; }
.ec-load-more {
  display: block;
  min-height: 44px;
  margin: 28px auto 0;
  padding: 0 19px;
  border: 1px solid var(--ec-signal);
  border-radius: 999px;
  background: transparent;
  color: var(--ec-signal);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.ec-archive-controls {
  display: grid;
  grid-template-columns: minmax(240px, 2fr) minmax(150px, 1fr) minmax(155px, 1fr) auto;
  gap: 14px;
  align-items: end;
  margin: 24px 0 18px;
  padding: 20px;
  border-radius: var(--ec-radius-md);
  background: var(--ec-surface);
}
.ec-archive-field { display: grid; gap: 7px; min-width: 0; }
.ec-archive-label {
  color: var(--ec-muted);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ec-archive-input,
.ec-archive-select,
.ec-archive-month {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  box-sizing: border-box;
  border: 1px solid var(--ec-border);
  border-radius: var(--ec-radius-sm);
  background: #fff;
  color: var(--ec-ink);
  padding: 0 12px;
  font: 14px var(--font-body, Georgia, serif);
}
.ec-archive-actions { display: flex; gap: 10px; align-items: center; }
.ec-archive-submit,
.ec-archive-clear {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 999px;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.ec-archive-submit {
  padding: 0 16px;
  border: 0;
  background: var(--ec-signal);
  color: #fff;
  cursor: pointer;
}
.ec-archive-clear { color: var(--ec-signal); padding: 0 6px; }
.arch-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 16px;
  align-items: center;
}
.arch-category {
  color: var(--ec-signal);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

@media (max-width: 720px) {
  .js-cat-grid { grid-template-columns: 1fr; gap: 0; }
  .ec-category-lead {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-bottom: 28px;
  }
  .ec-category-lead-title { font-size: 29px; }
  .ec-category-lead-dek { font-size: 15px; }
  .ec-category-support,
  .ec-category-feed-item {
    grid-column: 1;
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 16px 0;
    border-top: 1px dotted var(--ec-border);
  }
  .ec-category-support-image,
  .ec-category-feed-image {
    grid-column: 1;
    grid-row: 1 / 3;
    margin: 0;
  }
  .ec-category-support .ec-category-meta,
  .ec-category-support-title,
  .ec-category-feed-copy { grid-column: 2; }
  .ec-category-support .ec-category-meta,
  .ec-category-feed-item .ec-category-meta { margin-top: 0; }
  .ec-category-support-title,
  .ec-category-feed-title { font-size: 15px; line-height: 1.3; }
  .ec-archive-controls { grid-template-columns: 1fr; padding: 18px; }
  .ec-archive-actions { justify-content: flex-start; }
  .arch-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 12px;
    padding-block: 13px;
  }
  .arch-title { grid-column: 1 / -1; }
  .arch-category { grid-column: 1; }
  .arch-date { grid-column: 2; }
}

/* 0.6.3 article chrome, discovery overlays, footer trust, and static pages. */
.ec-search-section-title {
  margin: 0;
  padding: 12px 20px 8px;
  color: var(--ec-muted);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ec-result-group + .ec-result-group,
.ec-search-topics { border-top: 1px solid var(--ec-border); }
.ec-topic-chips,
.ec-menu-topic-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 2px 20px 18px;
}
.ec-topic-chip {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 11px;
  border: 1px solid var(--ec-border);
  border-radius: 999px;
  background: #fff;
  color: var(--ec-signal);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  font-weight: 700;
  text-decoration: none;
}
.ec-menu-topics { margin-top: 20px; }
.ec-menu-topic-chips { padding: 4px 0 0; }
.ec-menu-newsletter {
  margin-top: 24px;
  padding: 20px;
  border-radius: var(--ec-radius-md);
  background: #241047;
  color: #fff;
}
.ec-menu-newsletter-kicker {
  display: block;
  margin-bottom: 7px;
  color: #d9c9ff;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ec-menu-newsletter strong { display: block; font-family: var(--font-display, Georgia, serif); font-size: 20px; line-height: 1.15; }
.ec-menu-newsletter p { margin: 8px 0 14px; color: #e7e1f1; font: 13px/1.45 var(--font-body, Georgia, serif); }
.ec-menu-newsletter .ec-menu-cta {
  width: max-content;
  min-height: 44px;
  margin: 0;
  padding: 0 15px;
  border: 0;
  background: #fff;
  color: #3f0c93;
}
.ec-reading-progress {
  position: fixed;
  z-index: 15000;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: transparent;
  pointer-events: none;
}
.ec-reading-progress-fill {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--ec-signal);
  transform: scaleX(0);
  transform-origin: left center;
}
.ec-article-rail {
  position: fixed;
  z-index: 500;
  top: 46%;
  left: max(24px, calc(50% - 660px));
  display: grid;
  gap: 8px;
  padding: 9px;
  border: 1px solid var(--ec-border);
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--ec-shadow-soft);
}
.ec-article-rail .ec-share-link {
  min-width: 54px;
  min-height: 44px;
  margin: 0;
  padding: 0 8px;
  border: 0;
  background: transparent;
}
.article-wrap > h1,
.article-wrap .article-title { text-wrap: balance; }
.article-wrap .article-dek { max-width: 760px; color: var(--ec-muted); }
.ec-footer-trust {
  width: max-content;
  max-width: 100%;
  margin: 22px auto 14px;
  padding: 8px 13px;
  border: 1px solid #55505a;
  border-radius: 999px;
  color: #d9d4dc;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  letter-spacing: .04em;
}
.ec-static-page { background: #fff; }
.ec-static-wrap {
  max-width: 820px;
  margin-inline: auto;
}
.ec-static-wrap > h1 { text-wrap: balance; }
.ec-static-wrap > p:first-of-type {
  color: var(--ec-muted);
  font-size: 18px;
  line-height: 1.6;
}
.ec-standards {
  margin-top: 48px;
  padding: 28px;
  border-radius: var(--ec-radius-lg);
  background: var(--ec-surface);
}
.ec-standards h2 { margin-top: 0; font-family: var(--font-display, Georgia, serif); }
.ec-standards p { color: var(--ec-muted); font: 16px/1.65 var(--font-body, Georgia, serif); }
.ec-standards a { color: var(--ec-signal); font-weight: 700; }
.ec-static-page input,
.ec-static-page textarea,
.ec-static-page select { min-height: 44px; }

@media (max-width: 1100px) {
  .ec-article-rail { display: none; }
}
@media (max-width: 720px) {
  .ec-search-section-title { padding-inline: 16px; }
  .ec-topic-chips { padding-inline: 16px; }
  .ec-footer-trust { font-size: 9px; }
  .ec-standards { padding: 22px; }
}

/* 0.6.4 team portraits and Mike-first profile order. */
.ec-team-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 24px 0 42px;
}
.ec-staff-card.staff-item,
.ec-staff-card {
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--ec-border);
  border-radius: var(--ec-radius-lg);
  background: #fff;
}
.ec-staff-photo {
  width: 100%;
  margin: 0;
  aspect-ratio: 1;
  overflow: hidden;
  background: #45bfd7;
}
.ec-staff-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.ec-staff-copy { padding: 22px; }
.ec-staff-copy .staff-name,
.ec-staff-name {
  margin: 0;
  color: var(--ec-ink);
  font-family: var(--font-display, Georgia, serif);
  font-size: 25px;
  line-height: 1.12;
}
.ec-staff-copy .staff-role,
.ec-staff-role {
  margin-top: 7px;
  color: var(--ec-signal);
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.ec-staff-copy .staff-bio,
.ec-staff-bio {
  margin: 14px 0 0;
  color: var(--ec-muted);
  font: 15px/1.6 var(--font-body, Georgia, serif);
}
.ec-static-staff .prose-body { margin-top: 10px; }

@media (max-width: 620px) {
  .ec-team-grid { grid-template-columns: 1fr; gap: 20px; }
  .ec-staff-copy { padding: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
