@font-face {
  font-family:Manrope;
  src:url('/assets/manrope.woff2') format('woff2');
  font-style:normal;
  font-weight:200 800;
  font-display:swap
}


:root {
  --font:Manrope,Arial,sans-serif;
  --paper:#10171d;
  --ink:#edf2f4;
  --muted:#a5b2bd;
  --line:#2a3944;
  --surface:#18232c;
  --accent:#bcd7c7;
  --focus:#bcd7c7;
  font-family:var(--font);
  color-scheme:dark;
  color:var(--ink);
  background:var(--paper);
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased
}


html[data-theme=light] {
  color-scheme:light;
  --paper:#fff;
  --ink:#15222c;
  --muted:#586875;
  --line:#d6dfe4;
  --surface:#f2f6f8;
  --focus:#15222c
}


* {
  box-sizing:border-box
}

html {
  scroll-padding-top:28px
}

body {
  margin:0;
  min-width:0;
  min-height:100dvh;
  background:var(--paper);
  color:var(--ink)
}

button,input {
  font:inherit
}

button {
  appearance:none;
  border:0;
  padding:0;
  background:none;
  color:inherit;
  cursor:pointer
}

a {
  color:inherit;
  text-decoration:none
}

button,a {
  -webkit-tap-highlight-color:transparent
}

img {
  display:block;
  max-width:100%;
  height:auto
}

svg {
  width:24px;
  height:24px;
  flex-shrink:0
}

h1,h2,h3,p,figure {
  margin:0
}

::selection {
  background:var(--accent);
  color:#10171d
}

:focus-visible {
  outline:2px solid var(--focus);
  outline-offset:5px
}

[hidden] {
  display:none!important
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.shell {
  width:calc(100% - 128px);
  max-width:1440px;
  margin-inline:auto
}

.skip-link {
  position:fixed;
  z-index:20;
  top:12px;
  left:20px;
  padding:12px 18px;
  border-radius:8px;
  background:var(--accent);
  color:#10171d;
  font-size:14px;
  font-weight:750;
  transform:translateY(-160%)
}

.skip-link:focus {
  transform:none
}


.site-header {
  min-height:88px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:32px;
  border-bottom:1px solid var(--line)
}

.brand {
  display:inline-flex;
  width:fit-content;
  align-items:center;
  gap:7px;
  font-size:36px;
  font-weight:800;
  line-height:1;
  letter-spacing:-.065em
}

.brand-cookie {
  width:34px;
  height:34px;
  object-fit:contain
}

.primary-nav {
  display:flex;
  align-items:center;
  gap:32px
}

.nav-link {
  display:flex;
  align-items:center;
  min-height:44px;
  color:var(--muted);
  font-size:14px;
  font-weight:650
}

.nav-link:hover,.nav-link.is-active {
  color:var(--ink)
}

.header-actions {
  justify-self:end;
  display:flex;
  gap:21px;
  align-items:center
}.theme-toggle {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  border-left:0;
  padding-left:0;
}

.theme-toggle svg {
  width:24px;
  height:24px
}

.moon-icon,html[data-theme=light] .sun-icon {
  display:none
}

html[data-theme=light] .moon-icon {
  display:block
}


.pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:48px;
  padding:13px 21px;
  border-radius:8px;
  font-size:14px;
  font-weight:750;
  line-height:1.5
}

.pill svg {
  width:19px;
  height:19px
}

.pill.primary {
  color:#10171d;
  background:var(--accent)
}

.pill.primary:hover {
  background:#cbe5d6
}

.text-button {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  font-size:13px;
  font-weight:600;
  line-height:1.5
}

.text-button:hover {
  color:var(--muted)
}


.feed {
  padding-top:32px;
  border-top:1px solid var(--line);
  scroll-margin-top:28px
}

.section-heading {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:18px
}

.section-heading h2 {
  font-size:44px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.045em
}

.section-heading p {
  font-size:18px;
  line-height:1.5;
  color:var(--muted)
}

.filters {
  display:flex;
  gap:28px;
  overflow-x:auto;
  margin-top:14px;
  margin-bottom:24px;
  border-bottom:1px solid var(--line)
}

.filter-button {
  position:relative;
  min-height:46px;
  padding:8px 2px 13px;
  white-space:nowrap;
  color:var(--muted);
  font-size:14px;
  font-weight:600
}

.filter-button::after {
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:2px;
  background:transparent
}

.filter-button.is-active {
  color:var(--ink);
  font-weight:750
}

.filter-button.is-active::after {
  background:var(--accent)
}

.filter-button:hover {
  color:var(--ink)
}

.filters :focus-visible {
  outline-offset:-4px
}

.story-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}

.story-card {
  min-width:0
}

.story-image-button {
  display:block;
  overflow:hidden;
  border-radius:8px;
  aspect-ratio:16/9;
  background:var(--surface)
}

.story-image-button img {
  width:100%;
  height:100%;
  object-fit:contain
}

.story-image-button.product-cover {
  background:#f3cfaf
}

.story-image-button.product-cover img {
  object-fit:contain
}

.card-meta {
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:9px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5
}

.story-kind {
  color:var(--ink)
}.story-card h3 {
  font-size:30px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.035em
}

.story-title:hover {
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px
}

.story-excerpt {
  margin-top:12px;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
  letter-spacing:-.01em
}

.story-list {
  margin-top:30px;
  border-top:1px solid var(--line)
}

.reading-row {
  display:grid;
  grid-template-columns:230px minmax(0,1fr) 24px;
  gap:24px;
  align-items:center;
  min-height:76px;
  padding-block:17px;
  border-bottom:1px solid var(--line)
}

.row-meta {
  font-size:12px;
  line-height:1.6;
  color:var(--muted)
}

.reading-row h3 {
  font-size:22px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:-.025em
}

.reading-row:hover h3 {
  text-decoration:underline;
  text-underline-offset:4px
}

.reading-row svg {
  width:21px;
  height:21px
}

.empty-state {
  padding:55px 20px;
  text-align:center;
  border-block:1px solid var(--line)
}

.empty-state h3 {
  font-size:28px;
  letter-spacing:-.035em
}

.empty-state p {
  margin:12px 0 25px;
  color:var(--muted);
  font-size:15px;
  line-height:1.6
}


.companion-rail {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:36px;
  align-items:center;
  padding:28px 0;
  margin-top:24px
}

.companion-intro h2 {
  font-size:25px;
  line-height:1.2;
  letter-spacing:-.035em
}

.companion-intro p {
  margin-top:8px;
  color:var(--muted);
  font-size:14px;
  line-height:1.5
}

.companion-group {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px
}

.companion {
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  border:1px solid var(--line);
  border-radius:8px;
  padding:8px
}

.companion:hover {
  background:var(--surface)
}

.companion>img {
  width:55px;
  height:55px;
  object-fit:contain;
  flex-shrink:0
}

.companion>span {
  flex:1;
  min-width:0
}

.companion strong {
  font-size:14px;
  font-weight:700
}

.companion small {
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:12px
}

.companion>svg {
  width:16px;
  height:16px
}

.site-footer {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:20px 28px;
  margin-top:20px;
  border-top:1px solid var(--line);
  padding-block:28px 32px
}

.site-footer .brand {
  font-size:26px
}

.site-footer .brand-cookie {
  width:28px;
  height:28px
}

.site-footer>p {
  flex:1;
  min-width:180px;
  color:var(--muted);
  font-size:12px;
  line-height:1.6
}

.footer-links {
  display:flex;
  flex-wrap:wrap;
  gap:16px
}

.footer-links a,.site-footer .text-button {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:var(--muted);
  font-size:12px;
  line-height:1.6
}

.footer-links a:hover {
  color:var(--ink);
  text-decoration:underline;
  text-underline-offset:3px
}

.site-footer .text-button svg {
  width:16px;
  height:16px
}

.toast {
  position:fixed;
  z-index:30;
  bottom:24px;
  left:50%;
  max-width:calc(100% - 40px);
  padding:13px 22px;
  border-radius:8px;
  background:var(--ink);
  color:var(--paper);
  font-size:13px;
  line-height:1.5;
  box-shadow:0 4px 24px #0003;
  opacity:0;
  transform:translate(-50%,12px);
  pointer-events:none;
  transition:opacity .15s,transform .15s
}

.toast.is-visible {
  opacity:1;
  transform:translate(-50%,0)
}



@media(max-width:1100px) {
  .shell {
  width:calc(100% - 64px)
}

.site-header {
  gap:20px
}

.primary-nav {
  gap:20px
}

.reading-row {
  grid-template-columns:200px minmax(0,1fr) 24px
}

.companion-rail {
  grid-template-columns:1fr;
  gap:20px
}

.companion-group {
  max-width:800px
}

.site-footer>p {
  flex-basis:50%
}


}


@media(max-width:900px) {
.site-header {
  grid-template-columns:1fr auto;
  gap:0;
  min-height:110px
}

.primary-nav {
  grid-row:2;
  grid-column:1/-1;
  justify-content:flex-start;
  gap:28px;
  border-top:1px solid var(--line)
}

.brand {
  font-size:30px
}

.header-actions {
  grid-column:2;
  grid-row:1
}

.section-heading h2 {
  font-size:32px
}

.section-heading p {
  font-size:14px
}

.story-card h3 {
  font-size:22px
}

.story-excerpt {
  font-size:13px
}

.card-meta {
  font-size:12px
}

.reading-row {
  grid-template-columns:180px minmax(0,1fr) 22px;
  gap:16px
}

.reading-row h3 {
  font-size:18px
}


}


@media(max-width:600px) {
  .shell {
  width:calc(100% - 40px)
}

.site-header {
  min-height:112px
}

.brand {
  font-size:29px
}

.brand-cookie {
  width:31px;
  height:31px
}

.header-actions {
  gap:12px
}.theme-toggle {
  padding-left:0;
  min-width:36px
}

.theme-toggle svg {
  width:22px;
  height:22px
}

.primary-nav {
  gap:28px;
  overflow-x:auto;
  min-width:0
}

.nav-link {
  font-size:12px;
  min-height:44px
}

.feed {
  padding-top:26px
}

.section-heading {
  display:block
}

.section-heading h2 {
  font-size:31px
}

.section-heading p {
  margin-top:8px;
  font-size:13px
}

.filters {
  gap:24px;
  margin-top:12px;
  margin-bottom:20px
}

.filter-button {
  font-size:13px
}

.story-grid {
  grid-template-columns:1fr;
  gap:32px
}

.story-image-button {
  aspect-ratio:16/9
}

.story-card h3 {
  font-size:27px;
  line-height:1.23
}

.card-meta {
  font-size:12px
}

.story-excerpt {
  font-size:14px;
  margin-top:10px
}

.story-list {
  margin-top:28px
}

.reading-row {
  grid-template-columns:minmax(0,1fr) 22px;
  gap:4px 15px;
  padding-block:18px
}

.row-meta {
  grid-column:1;
  font-size:12px
}

.reading-row h3 {
  grid-column:1;
  font-size:19px;
  line-height:1.4
}

.reading-row>svg {
  grid-column:2;
  grid-row:1/3
}

.companion-rail {
  margin-top:12px;
  padding-block:24px
}

.companion-intro h2 {
  font-size:25px
}

.companion-group {
  grid-template-columns:1fr
}

.companion {
  padding:7px 13px;
  gap:15px
}

.companion>img {
  width:50px;
  height:50px
}

.companion strong {
  font-size:14px
}

.companion small {
  font-size:12px
}

.site-footer {
  align-items:flex-start;
  gap:14px 20px;
  margin-top:8px;
  padding-block:24px
}

.site-footer>p {
  flex-basis:100%;
  min-width:0;
  font-size:12px
}

.footer-links {
  gap:7px 22px;
  flex-basis:100%
}

.site-footer .text-button {
  font-size:12px
}

.toast {
  font-size:12px;
  text-align:center;
  width:max-content
}


}


@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
  scroll-behavior:auto!important;
  animation:none!important;
  transition:none!important
}


}
/* A newsletter invitation with an honest coming-soon state. */
.newsletter-section {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);
  align-items:center;
  gap:64px;
  margin-top:30px;
  padding-block:62px;
  border-top:1px solid var(--line);
}
.newsletter-copy h2 {
  font-size:clamp(38px,3.7vw,54px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.045em;
}
.newsletter-copy p {
  max-width:640px;
  margin-top:24px;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}
.newsletter-status {
  padding:30px 32px;
  border-radius:8px;
  background:var(--accent);
  color:#10221a;
}
.newsletter-status h3 {
  font-size:22px;
  font-weight:800;
  line-height:1.35;
  letter-spacing:-.025em;
}
.newsletter-status p {
  margin-top:12px;
  font-size:15px;
  line-height:1.7;
}
.newsletter-status a {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  margin-top:12px;
  font-size:16px;
  font-weight:700;
  line-height:1.5;
  text-decoration:underline;
  text-underline-offset:5px;
}
.newsletter-status a svg {width:18px;height:18px}
.newsletter-status a:focus-visible {outline-color:#10221a}
@media(max-width:900px) {
  .newsletter-section {gap:30px;grid-template-columns:1fr 1fr;padding-block:42px}
  .newsletter-copy h2 {font-size:40px}
  .newsletter-copy p {font-size:15px;margin-top:20px}
  .newsletter-status {padding:24px}
  .newsletter-status h3 {font-size:20px}
}
@media(max-width:600px) {
  .newsletter-section {grid-template-columns:1fr;gap:28px;padding-block:36px;margin-top:16px}
  .newsletter-copy h2 {font-size:36px}
  .newsletter-copy p {font-size:15px;margin-top:18px}
  .newsletter-status {padding:24px}
  .newsletter-status h3 {font-size:21px}
}

/* Progressive navigation and publication archives. */
html:not([data-js="true"]) .js-only { display:none!important; }
#main-content:focus { outline:none; }
.filter-button { display:inline-flex; align-items:center; }
.breadcrumbs { padding-block:24px; color:var(--muted); font-size:13px; line-height:1.6; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.breadcrumbs li { display:flex; align-items:center; gap:8px; }
.breadcrumbs li+li::before { content:'/'; color:var(--muted); opacity:.6; }
.breadcrumbs a { display:inline-flex; align-items:center; min-height:32px; }
.breadcrumbs a:hover { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.topic-header { padding:30px 0 40px; max-width:920px; }
.topic-eyebrow { color:var(--muted); font-size:12px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.topic-header h1 { margin-top:14px; font-size:clamp(48px,6vw,80px); font-weight:800; line-height:1.05; letter-spacing:-.055em; }
.topic-deck { margin-top:18px; max-width:660px; color:var(--muted); font-size:clamp(18px,2vw,24px); line-height:1.5; }
.topic-summary { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:24px; color:var(--muted); font-size:13px; }
.topic-summary a { display:inline-flex; align-items:center; gap:8px; min-height:36px; color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.topic-summary svg { width:17px; height:17px; }
.topic-shell .story-grid { margin-top:28px; }
.channel-notice { padding:20px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.channel-empty { padding:64px 0 72px; max-width:720px; }
.channel-empty h2 { margin-top:16px; font-size:clamp(30px,4vw,46px); line-height:1.15; letter-spacing:-.04em; }
.channel-empty>p:not(.topic-eyebrow) { margin-top:18px; max-width:580px; color:var(--muted); font-size:17px; line-height:1.7; }
.channel-empty .pill { margin-top:26px; }
.topic-end { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:64px; padding:34px 0; border-top:1px solid var(--line); color:var(--muted); font-size:16px; line-height:1.6; }
.topic-end strong { font-weight:600; color:var(--ink); }
.topic-end .text-button { display:inline-flex; gap:10px; font-size:14px; }
@media(max-width:600px) {
.topic-header { padding:16px 0 28px; }
 .breadcrumbs { padding-block:18px; font-size:12px; }
 .topic-summary { gap:18px; margin-top:18px; }
 .channel-empty { padding:40px 0 48px; }
 .channel-empty>p:not(.topic-eyebrow) { font-size:16px; }
 .topic-end { flex-direction:column; align-items:flex-start; margin-top:40px; gap:18px; }
}

.story-card h2 { margin-top:14px; font-size:26px; line-height:1.22; font-weight:750; letter-spacing:-.04em; }
.topic-shell .single-story { grid-template-columns:1fr; }
.single-story .story-card { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); column-gap:40px; align-content:start; }
.single-story .story-image-button { grid-column:1; grid-row:1 / span 4; }
.single-story .card-meta { align-self:end; margin-top:18px; }
.single-story .story-card h2 { font-size:clamp(28px,3vw,42px); max-width:600px; }
.single-story .story-excerpt { font-size:17px; line-height:1.65; max-width:560px; }
@media(max-width:700px) {
 .single-story .story-card { display:block; }
 .single-story .story-card h2 { font-size:30px; }
 .single-story .story-excerpt { font-size:16px; }
 .story-card h2 { font-size:26px; }
}

.filters { scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.filters::-webkit-scrollbar { height:3px; }
.filters::-webkit-scrollbar-thumb { background:var(--line); border-radius:2px; }
.filters::-webkit-scrollbar-button { display:none; }

/* Editorial lead: a broad headline, then art and context. */
.hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); grid-template-areas:"title title" "art context"; align-items:center; gap:32px 44px; padding:32px 0 30px; }
.hero h1 { grid-area:title; font-size:clamp(56px,6.3vw,92px); font-weight:800; line-height:1.04; letter-spacing:-.055em; text-wrap:balance; max-width:100%; }
.hero-figure { grid-area:art; min-width:0; }
.hero-image-button { display:block; overflow:hidden; aspect-ratio:16/9; border-radius:8px; background:var(--surface); }
.hero-image-button img { width:100%; height:100%; object-fit:contain; }
.hero-figure figcaption { margin-top:9px; color:var(--muted); font-size:12px; line-height:1.5; }
.hero-copy { grid-area:context; min-width:0; padding-bottom:27px; }
.hero-description { max-width:540px; color:var(--muted); font-size:clamp(18px,1.65vw,24px); line-height:1.55; letter-spacing:-.025em; }
.hero-meta { margin-top:28px; color:var(--muted); font-size:14px; line-height:1.8; }
.hero-meta p:first-child { color:var(--ink); }
.hero-meta a:hover { text-decoration:underline; text-underline-offset:4px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 26px; margin-top:26px; }
.hero-actions .pill { min-height:52px; padding:14px 24px; font-size:15px; }
.hero-actions .text-button { font-size:14px; text-decoration:underline; text-decoration-color:var(--muted); text-underline-offset:6px; }
.feed-toolbar { display:flex; align-items:center; justify-content:flex-start; gap:44px; margin-bottom:24px; }
.feed-toolbar h2 { flex-shrink:0; font-size:clamp(28px,2.95vw,42px); font-weight:800; line-height:1.15; letter-spacing:-.045em; }
.feed-toolbar .filters { flex:0 1 auto; margin:0; border-bottom:0; gap:24px; }
.feed-toolbar .filter-button { padding:10px 1px; min-height:44px; }
.feed-description { margin:0 0 24px; color:var(--muted); font-size:16px; line-height:1.6; }
@media(min-width:901px) and (max-height:820px) {
 .hero { padding-block:24px; row-gap:24px; }
 .hero h1 { font-size:clamp(56px,5.65vw,82px); }
 .hero-description { font-size:clamp(18px,1.55vw,22px); }
 .hero-meta { margin-top:22px; }
 .hero-actions { margin-top:22px; }
}
@media(max-width:1100px) {
 .hero { column-gap:30px; }
 .hero-description { font-size:19px; }
 .hero-actions { gap:12px 20px; }
 .hero-actions .pill { padding-inline:18px; }
 .hero-actions .text-button { font-size:13px; }
 .feed-toolbar { display:block; }
 .feed-toolbar .filters { margin-top:12px; justify-content:flex-start; }
}
@media(max-width:900px) {
 .hero { grid-template-columns:1fr; grid-template-areas:"title" "art" "context"; padding:28px 0 32px; gap:24px; }
 .hero h1 { font-size:clamp(40px,7.2vw,66px); }
 .hero-copy { padding-bottom:0; }
 .hero-description { max-width:700px; font-size:20px; }
 .hero-meta { margin-top:20px; }
 .hero-actions { margin-top:20px; }
}
@media(max-width:600px) {
 .hero { padding:26px 0 28px; gap:22px; }
 .hero h1 { font-size:clamp(32px,9.8vw,42px); line-height:1.06; letter-spacing:-.05em; text-wrap:pretty; }
 .hero-description { font-size:16px; line-height:1.6; letter-spacing:-.02em; }
 .hero-meta { font-size:13px; line-height:1.75; margin-top:18px; }
 .hero-actions { margin-top:20px; gap:12px 22px; }
 .hero-actions .pill { min-height:48px; padding:12px 18px; font-size:14px; }
 .hero-actions .text-button { font-size:13px; }
 .feed-toolbar h2 { font-size:31px; }
 .feed-toolbar { margin-bottom:20px; }
 .feed-toolbar .filters { gap:24px; margin-top:10px; }
 .feed-description { font-size:14px; margin-bottom:20px; }
}

/* Search and a finite, crawlable archive. */
.site-header { grid-template-columns:auto minmax(0,1fr) auto; gap:24px; }
.primary-nav { justify-content:center; gap:24px; }
.header-actions { gap:12px; min-width:0; }
.header-search { display:flex; align-items:center; width:200px; min-width:0; min-height:42px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.header-search:focus-within { border-color:var(--focus); }
.header-search input { min-width:0; width:100%; padding:10px 0 10px 12px; color:var(--ink); font-size:13px; border:0; outline:none; background:transparent; }
.header-search input::placeholder { color:var(--muted); opacity:1; }
.header-search button { display:flex; align-items:center; justify-content:center; min-width:42px; min-height:42px; }
.header-search svg { width:18px; height:18px; }
.archive-link-row { margin-top:28px; padding-top:18px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; }
.archive-link-row p { color:var(--muted); font-size:14px; }
.archive-link-row .text-button { text-decoration:underline; text-underline-offset:5px; }
.pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; padding:32px 0 8px; }
.pagination a,.pagination .page-current,.pagination>span[aria-current] { display:inline-flex; min-width:44px; min-height:44px; justify-content:center; align-items:center; padding:8px 12px; font-size:14px; border:1px solid var(--line); border-radius:6px; }
.pagination a:hover { background:var(--surface); }
.pagination [aria-current=page] { background:var(--accent); border-color:var(--accent); color:#10171d; font-weight:750; }
.pagination-gap { padding:8px; color:var(--muted); }
.search-shell { max-width:1180px; padding-bottom:64px; }
.search-heading { padding:24px 0 30px; }
.search-heading h1 { font-size:clamp(38px,5vw,68px); line-height:1.08; letter-spacing:-.055em; font-weight:800; }
.search-heading p { margin-top:18px; color:var(--muted); font-size:19px; line-height:1.6; }
.archive-search-form { display:grid; grid-template-columns:minmax(0,1fr) 170px 155px; gap:18px; align-items:end; padding-bottom:30px; border-bottom:1px solid var(--line); }
.archive-search-form label { display:block; margin-bottom:9px; font-size:12px; font-weight:650; color:var(--muted); }
.search-query-field>div { display:flex; gap:10px; }
.archive-search-form input,.archive-search-form select { width:100%; min-width:0; height:48px; background:var(--surface); color:var(--ink); border:1px solid var(--line); border-radius:8px; padding:10px 13px; font-family:var(--font); font-size:15px; }
.archive-search-form input { flex:1; }
.archive-search-form .pill { flex-shrink:0; }
.archive-search-form button svg { width:18px; height:18px; }
.search-status { min-height:24px; margin:24px 0 4px; color:var(--muted); font-size:14px; line-height:1.7; }
.search-result { display:grid; grid-template-columns:170px minmax(0,1fr); gap:24px; padding:26px 0; border-bottom:1px solid var(--line); }
.search-result>a { display:block; aspect-ratio:16/10; overflow:hidden; border-radius:6px; background:var(--surface); }
.search-result img { width:100%; height:100%; object-fit:cover; }
.search-result h2 { margin-top:8px; font-size:25px; line-height:1.25; letter-spacing:-.035em; }
.search-result h2 a:hover { text-decoration:underline; text-underline-offset:4px; }
.search-result p { color:var(--muted); font-size:16px; line-height:1.65; margin-top:10px; }
.search-result .search-meta,.search-result small { color:var(--muted); font-size:12px; line-height:1.6; }
.search-empty,.search-error { margin-top:26px; padding:32px; background:var(--surface); border-radius:8px; }
.search-empty h2 { font-size:26px; letter-spacing:-.03em; }
.search-empty p,.search-error p { margin:12px 0 18px; color:var(--muted); line-height:1.7; }
.search-error>a { margin-left:18px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1200px) and (min-width:601px) {
 .site-header { grid-template-columns:1fr auto; gap:0; min-height:128px; }
 .primary-nav { grid-row:2; grid-column:1/-1; justify-content:flex-start; border-top:1px solid var(--line); }
 .header-actions { grid-column:2; grid-row:1; }
 .header-search { width:240px; }
}
@media(max-width:900px) {
 .archive-search-form { grid-template-columns:1fr 1fr; gap:16px; }
 .search-query-field { grid-column:1/-1; }
 .search-result { grid-template-columns:135px minmax(0,1fr); gap:20px; }
}
@media(max-width:600px) {
 .site-header { grid-template-columns:1fr auto; gap:0; min-height:0; }
 .site-header>.brand { min-height:62px; }
 .header-actions { display:contents; }
 .header-actions .theme-toggle { grid-column:2; grid-row:1; justify-self:end; }
 .header-search { grid-row:2; grid-column:1/-1; width:100%; margin-bottom:12px; min-height:44px; }
 .header-search input { font-size:16px; }
 .primary-nav { grid-row:3; grid-column:1/-1; justify-content:flex-start; gap:28px; }
 .search-heading { padding:14px 0 24px; }
 .search-heading p { font-size:16px; }
 .archive-search-form { gap:14px; padding-bottom:24px; }
 .archive-search-form input,.archive-search-form select { font-size:16px; }
 .search-query-field>div { gap:8px; }
 .archive-search-form .pill { padding-inline:14px; }
 .archive-search-form button svg { display:none; }
 .search-result { grid-template-columns:88px minmax(0,1fr); gap:14px; padding:22px 0; }
 .search-result h2 { font-size:20px; }
 .search-result p { font-size:14px; }
 .search-result .search-meta { font-size:12px; }
 .search-empty,.search-error { padding:24px; }
 .archive-link-row p { font-size:13px; }
}

.search-result p.search-result-meta { margin-top:0; font-size:12px; line-height:1.6; }
.search-result-image img { object-fit:contain; }

.search-status,.search-result-copy,.search-result h2,.search-result-excerpt { overflow-wrap:anywhere; }

/* Dates describe the development separately from the date of our reporting. */
.story-event-date { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:4px; color:var(--muted); font-size:12px; line-height:1.6; }
.story-event-date time { white-space:nowrap; }
.card-meta { flex-wrap:wrap; justify-content:flex-start; gap:3px 14px; padding-block:5px; }
.row-meta { display:flex; flex-wrap:wrap; gap:3px 14px; }
.article-dates { display:flex; flex-wrap:wrap; gap:16px 32px; margin-top:18px; font-size:13px; line-height:1.65; }
.article-dates>div { min-width:0; }
.article-dates dt { color:var(--muted); font-size:11px; font-weight:650; letter-spacing:.035em; text-transform:uppercase; }
.article-dates dd { margin:3px 0 0; color:var(--ink); }
.article-dates dd>span { display:block; color:var(--muted); font-size:12px; }
.coverage-window { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px 36px; padding:20px 0; margin-bottom:28px; border-block:1px solid var(--line); }
.coverage-window-intro h3 { font-size:12px; font-weight:700; letter-spacing:.02em; }
.coverage-window-intro p { margin-top:5px; color:var(--muted); font-size:12px; line-height:1.6; }
.coverage-window-intro p>span { display:block; }
.coverage-window dl { display:flex; flex-wrap:wrap; align-items:center; gap:16px 32px; margin:0; }
.coverage-window dl>div { display:flex; align-items:center; gap:14px; }
.coverage-window dt { font-size:12px; line-height:1.6; }
.coverage-window dt small { display:block; color:var(--muted); font-size:11px; }
.coverage-window dd { margin:0; color:var(--ink); font-size:25px; font-weight:750; font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
@media(min-width:601px) {
 .reading-row .row-meta { display:grid; gap:3px; }
}
@media(max-width:600px) {
 .card-meta { gap:3px 12px; }
 .article-dates { gap:16px 24px; margin-top:16px; }
 .coverage-window { display:block; padding:18px 0; margin-bottom:24px; }
 .coverage-window dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:16px; }
 .coverage-window dl>div { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
 .coverage-window dt { font-size:11px; }
 .coverage-window dt small { font-size:10px; }
 .coverage-window dd { font-size:24px; }
}
