/* Visual redesign: editorial portfolio. Content lives in index.html unchanged. */
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600;6..72,700&display=swap');

:root {
  --ink: #17191e;
  --forest: #23262e;
  --moss: #a12a43;
  --lime: #c4cad3;
  --paper: #f4f1ea;
  --paper-deep: #e7e2da;
  --line: rgba(23, 25, 30, .18);
  --bg: var(--paper);
  --surface: #fffdf8;
  --card: #fffdf8;
  --text: var(--ink);
  --muted: #5d6861;
  --accent: var(--forest);
  --accent-2: var(--moss);
  --border: var(--line);
  --radius: 0;
}

html[data-site-theme="dark"] {
  --ink: #eceef2;
  --forest: #e3e6ec;
  --moss: #d76a80;
  --lime: #c4cad3;
  --paper: #181a20;
  --paper-deep: #252832;
  --line: rgba(236, 238, 242, .18);
  --bg: var(--paper);
  --surface: #1b2b25;
  --card: #1b2b25;
  --text: var(--ink);
  --muted: #afbeb5;
  --accent: var(--forest);
  --accent-2: var(--moss);
  --border: var(--line);
}

html { scroll-behavior: smooth; }
body {
  background: var(--paper) !important;
  color: var(--ink) !important;
  font-family: 'DM Sans', Arial, sans-serif !important;
  font-size: 16px;
  letter-spacing: -.01em;
}
html[data-site-theme="dark"] body { background: var(--paper) !important; }
body::before, canvas { display: none !important; }
::selection { background: var(--lime); color: var(--ink); }
.container { max-width: 1320px; padding: 0 36px; }
.section { padding: 112px 0; position: relative; }
.section + .section::before { content: ''; position: absolute; top: 0; left: 36px; right: 36px; height: 1px; background: var(--line); }

nav {
  background: rgba(245, 242, 233, .93) !important;
  border-bottom: 1px solid var(--line) !important;
  backdrop-filter: blur(16px) !important;
}
nav .nav-inner { min-height: 76px; padding: 0; }
nav .brand { font-family: 'DM Mono', monospace; font-size: 18px; letter-spacing: -.08em; }
nav .brand .logo-text {
  color: var(--forest) !important;
  background: none !important;
  -webkit-text-fill-color: var(--forest);
  text-shadow: none !important;
}
nav .brand .logo-dot { color: var(--moss) !important; font-size: 1.2em; text-shadow: none !important; }
nav a, nav .nav-links a { color: var(--ink) !important; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; opacity: 1 !important; }
nav .nav-links { gap: 25px; }
nav .nav-links a:hover { color: var(--moss) !important; }
nav .nav-links .nav-sep { background: var(--line); }
.icon-btn { color: var(--forest) !important; border-color: var(--line) !important; background: transparent !important; }

.hero { padding: 86px 0 112px; overflow: hidden; }
.hero::after { content: 'JOURNALISM / DATA / INVESTIGATION'; font: 10px 'DM Mono', monospace; letter-spacing: .14em; color: var(--moss); position: absolute; left: 36px; bottom: 34px; }
.hero .container { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr); gap: 72px; align-items: center; }
.hero-text { max-width: 770px; }
.hero-text h1 { font: 500 clamp(3.6rem, 6.4vw, 6.6rem)/.9 'Newsreader', Georgia, serif; color: var(--forest); letter-spacing: -.075em; margin-bottom: 32px; }
.hero-text h1 .highlight {
  color: var(--forest);
  background: linear-gradient(to top, var(--lime) 17%, transparent 17%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0 .04em;
}
.hero-text p { max-width: 590px; color: #43514a; font: 400 20px/1.5 'Newsreader', Georgia, serif; margin: 13px 0; }
html[data-site-theme="dark"] .hero-text p,
html[data-site-theme="dark"] .featured-content p,
html[data-site-theme="dark"] .story-card p,
html[data-site-theme="dark"] .interview-card p { color: #bfcbc4 !important; }
a.highlight, .highlight { color: var(--forest) !important; text-decoration-color: var(--moss) !important; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.hero-actions { margin-top: 34px; }
.btn { border-radius: 0 !important; padding: 14px 21px !important; font: 500 12px 'DM Mono', monospace !important; text-transform: uppercase; letter-spacing: .08em; }
.btn-secondary { background: var(--forest) !important; color: #fff !important; border: 1px solid var(--forest) !important; }
.btn-secondary:hover { background: var(--moss) !important; border-color: var(--moss) !important; transform: none !important; }
.hero-media { border-top: 8px solid var(--forest); background: var(--forest); padding: 12px; box-shadow: 18px 18px 0 var(--lime); }
.video-carousel, .carousel-track-container, .carousel-track, .carousel-slide, .video-container { border-radius: 0 !important; }
.video-container { background: #0b1713; }
.carousel-button { background: var(--paper) !important; color: var(--forest) !important; border-radius: 0 !important; }
.carousel-indicator { background: rgba(255,255,255,.55) !important; }
.carousel-indicator.current-slide { background: var(--lime) !important; }

#impact-grid { background: var(--forest); color: white; }
#impact-grid::before { display: none; }
.impact-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 0 !important; border-left: 1px solid rgba(255,255,255,.25); }
.impact-card { background: transparent !important; border: 0 !important; border-right: 1px solid rgba(255,255,255,.25) !important; border-radius: 0 !important; padding: 0 28px 12px !important; box-shadow: none !important; }
.impact-card h3 { color: var(--lime) !important; font: 500 12px 'DM Mono', monospace !important; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 18px; }
.impact-card p { color: rgba(255,255,255,.83) !important; font: 400 18px/1.45 'Newsreader', Georgia, serif; }
.impact-card .highlight { color: white !important; text-decoration-color: var(--lime) !important; }

.section-title { color: var(--forest) !important; font: 500 clamp(2.75rem,5vw,5rem)/.95 'Newsreader', Georgia, serif !important; letter-spacing: -.065em !important; margin-bottom: 55px !important; }
h2.section-title::before, h3.subsection-title::before { display: none !important; }
.section-title::after { content: ''; display: inline-block; width: .3em; height: .3em; margin-left: .12em; background: var(--moss); vertical-align: .08em; }
.subsection-title { color: var(--forest) !important; font-family: 'Newsreader', Georgia, serif !important; }

.featured-article { background: transparent !important; border: 1px solid var(--line) !important; border-radius: 0 !important; box-shadow: none !important; }
.featured-article:hover { transform: none !important; }
.featured-media { border-radius: 0 !important; }
.featured-content { padding: 43px !important; }
.featured-content h3 { color: var(--forest) !important; font: 500 clamp(2rem,3vw,3.3rem)/1 'Newsreader', Georgia, serif !important; letter-spacing: -.05em; }
.featured-content p, .story-card p, .interview-card p { font-family: 'Newsreader', Georgia, serif !important; color: #46524b !important; }
.tags .tag, .tag { border-radius: 20px !important; background: #e9f0dc !important; border-color: #cfdbc3 !important; color: var(--forest) !important; font: 500 10px 'DM Mono', monospace !important; text-transform: uppercase; letter-spacing: .05em; }
.story-grid { gap: 24px !important; }
.story-card { border-radius: 0 !important; background: transparent !important; border: 1px solid var(--line) !important; box-shadow: none !important; }
.story-card:hover { transform: translateY(-4px) !important; border-color: var(--moss) !important; }
.story-card h3 { color: var(--forest) !important; font-family: 'Newsreader', Georgia, serif !important; }
.story-image, .story-image img { border-radius: 0 !important; }
.story-link, .story-link-external { color: var(--forest) !important; font: 500 11px 'DM Mono', monospace !important; letter-spacing: .06em; text-transform: uppercase; }

/* Reporting cards are text-led: outlet, title, explanation, then destination. */
.investigative .cards { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; }
.investigative .card-article { min-height: 310px; background: transparent !important; border: 1px solid var(--line) !important; border-radius: 0 !important; box-shadow: none !important; }
.investigative .card-article > img { display: none !important; }
.investigative .card-article::after { display: none !important; }
.investigative .card-article .card-content { height: 100%; padding: 28px !important; gap: 15px !important; }
.investigative .card-article h3 { color: var(--forest) !important; font: 500 28px/1.04 'Newsreader', Georgia, serif !important; letter-spacing: -.04em; }
.investigative .card-article p { color: #46524b !important; font: 400 17px/1.42 'Newsreader', Georgia, serif !important; }
.investigative .story-link-container { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--line); }
html[data-site-theme="dark"] .investigative .card-article p { color: #bfcbc4 !important; }

.outlets-wrap { border-color: var(--line) !important; }
.outlet-chip { background: #f0ecdf !important; border: 1px solid var(--line) !important; border-radius: 0 !important; color: var(--ink) !important; }
html[data-site-theme="dark"] .outlet-chip { background: #1b2b25 !important; }
.outlet-chip:hover, .outlet-chip.active { background: var(--forest) !important; color: white !important; border-color: var(--forest) !important; }
.outlet-chip .outlet-count, .outlet-chip.active .outlet-years { color: var(--lime) !important; }
.outlet-panel { border-radius: 0 !important; background: #fffdf8 !important; border-color: var(--line) !important; }
html[data-site-theme="dark"] .outlet-panel { background: #1b2b25 !important; }
.outlet-panel .story h4 { color: var(--forest) !important; font-family: 'Newsreader', Georgia, serif !important; }
.outlet-panel .story::before { background: var(--moss) !important; box-shadow: none !important; }

.init-card, .interview-card { background: transparent !important; border: 1px solid var(--line) !important; border-radius: 0 !important; box-shadow: none !important; }
.init-card:hover { transform: none !important; border-color: var(--moss) !important; }
.init-card h3, .interview-card h3 { color: var(--forest) !important; font-family: 'Newsreader', Georgia, serif !important; }
.init-card .role, .init-card li::before { color: var(--moss) !important; }
.research-trail::before { background: var(--line) !important; }
.research-step .rnode { background: var(--paper) !important; border-color: var(--forest) !important; }
.research-step .inst { color: var(--forest) !important; }
.research-step .output { color: var(--moss) !important; }

.featured-video, .embed-grid iframe, .interview-card iframe { border-radius: 0 !important; border: 1px solid var(--line) !important; }
.reels-btn { background: var(--forest) !important; border-radius: 0 !important; color: white !important; }
.interview-list { gap: 18px !important; }
.interview-card { padding: 28px !important; }
.award-list, .grant-list { border-top: 1px solid var(--line); }
.award-list li, .grant-list li { border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; }
.award-list li:hover, .grant-list li:hover { background: #e9f0dc !important; transform: none !important; }
.award-year, .grant-year { color: var(--moss) !important; font-family: 'DM Mono', monospace !important; }
.award-title, .grant-title { color: var(--forest) !important; font-family: 'Newsreader', Georgia, serif !important; }
.award-status { border-radius: 0 !important; }
.show-more-btn { border-radius: 0 !important; background: var(--forest) !important; color: white !important; }

/* Resume: replace the compressed legacy NOW badges with a quiet status pill. */
.resume-page .resume-item .now-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 8px !important;
  padding: 3px 7px !important;
  border: 1px solid var(--moss) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--forest) !important;
  font: 500 10px/1 'DM Mono', monospace !important;
  letter-spacing: .05em !important;
  vertical-align: middle;
}

.footer { background: var(--forest) !important; color: white !important; padding: 100px 0 58px !important; }
.footer::before { display: none; }
.footer .container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.footer h2 { color: var(--lime) !important; font: 500 clamp(3rem,5vw,5rem)/.9 'Newsreader', Georgia, serif !important; letter-spacing: -.06em; }
.footer p { color: rgba(255,255,255,.76) !important; font: 400 20px/1.5 'Newsreader', Georgia, serif !important; max-width: 620px; }
.footer h2, .footer p, .footer .socials { margin-left: auto !important; margin-right: auto !important; }
.socials a { color: white !important; border: 1px solid rgba(255,255,255,.3); border-radius: 0 !important; }
.socials a:hover { background: var(--lime) !important; color: var(--forest) !important; }
.se-banner { background: var(--ink) !important; border-top-color: var(--lime) !important; border-radius: 0 !important; }
[data-reveal] { opacity: 1 !important; transform: none !important; }

@media (max-width: 960px) {
  .hero .container { grid-template-columns: 1fr; gap: 45px; }
  .hero-media { max-width: 650px; }
  .impact-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 30px 0 !important; }
  .impact-card:nth-child(2) { border-right: 0 !important; }
  .investigative .cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 680px) {
  .container { padding: 0 20px; }
  .section { padding: 74px 0; }
  .section + .section::before { left: 20px; right: 20px; }
  nav .nav-inner { min-height: 64px; }
  nav .nav-links { background: var(--paper) !important; }
  .hero { padding-top: 55px; padding-bottom: 87px; }
  .hero::after { left: 20px; bottom: 26px; font-size: 8px; }
  .hero-text h1 { font-size: clamp(3.45rem, 17vw, 5.5rem); }
  .hero-text p { font-size: 18px; }
  .hero-media { padding: 8px; box-shadow: 10px 10px 0 var(--lime); }
  .impact-grid { grid-template-columns: 1fr !important; gap: 25px !important; }
  .impact-card, .impact-card:nth-child(2) { border-right: 0 !important; padding: 0 20px 18px !important; }
  .impact-card:not(:last-child) { border-bottom: 1px solid rgba(255,255,255,.25) !important; }
  .section-title { margin-bottom: 36px !important; }
  .featured-content { padding: 27px !important; }
  .outlets-row, .init-cards { grid-template-columns: 1fr !important; }
  .investigative .cards { grid-template-columns: 1fr !important; }
  .award-list li, .grant-list li { padding: 16px 0 !important; }
}
