/* TerraNava case files: a restrained editorial layer for public evidence pages. */
:root {
  --case-paper: var(--tn-paper, #f8f8f5);
  --case-surface: var(--tn-paper-deep, #fff);
  --case-ink: var(--tn-ink-new, #182126);
  --case-copy: var(--tn-copy-new, #4f5d62);
  --case-navy: var(--tn-green-new, #3d6472);
  --case-gold: var(--tn-gold-new, #b59b6b);
  --case-rule: var(--tn-line-new, #dedbd2);
}

/* Case pages must read as dossiers, not as a group of promotional cards. */
body.tn-institutional[data-page="cases"],
body.tn-institutional[data-page="hydrorisk"],
body.tn-institutional[data-page="ficha-territorial"] {
  background: var(--case-paper);
  color: var(--case-ink);
}

body.tn-institutional .tn-page > .tn-hero,
body.tn-institutional .tn-page > .tn-section:first-of-type {
  border-top: 1px solid var(--case-rule);
}

body.tn-institutional .tn-kicker,
body.tn-institutional .tn-section-kicker,
body.tn-institutional .tn-eyebrow {
  color: var(--tn-gold-ink, #77633e);
  font-family: var(--tn-sans, "Source Sans 3", Arial, sans-serif);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.tn-institutional .tn-case-grid,
body.tn-institutional .tn-case-list,
body.tn-institutional .tn-evidence-grid,
body.tn-institutional .tn-metric-grid,
body.tn-institutional .tn-project-grid {
  gap: 0;
  border-top: 1px solid var(--case-rule);
  border-left: 1px solid var(--case-rule);
}

body.tn-institutional .tn-case-grid > *,
body.tn-institutional .tn-case-list > *,
body.tn-institutional .tn-evidence-grid > *,
body.tn-institutional .tn-metric-grid > *,
body.tn-institutional .tn-project-grid > * {
  min-width: 0;
  border: 0;
  border-right: 1px solid var(--case-rule);
  border-bottom: 1px solid var(--case-rule);
  border-radius: 0;
  box-shadow: none;
  background: var(--case-surface);
}

body.tn-institutional .tn-case-grid a,
body.tn-institutional .tn-case-list a,
body.tn-institutional .tn-project-grid a {
  transition: background-color 160ms ease, color 160ms ease;
}

body.tn-institutional .tn-case-grid a:hover,
body.tn-institutional .tn-case-grid a:focus-visible,
body.tn-institutional .tn-case-list a:hover,
body.tn-institutional .tn-case-list a:focus-visible,
body.tn-institutional .tn-project-grid a:hover,
body.tn-institutional .tn-project-grid a:focus-visible {
  background: var(--case-paper);
}

body.tn-institutional .tn-case-grid h2,
body.tn-institutional .tn-case-list h2,
body.tn-institutional .tn-evidence-grid h2,
body.tn-institutional .tn-project-grid h2 {
  color: var(--case-ink);
  font-family: var(--tn-serif, "Source Serif 4", Georgia, serif);
  line-height: 1.05;
}

body.tn-institutional .tn-case-grid p,
body.tn-institutional .tn-case-list p,
body.tn-institutional .tn-evidence-grid p,
body.tn-institutional .tn-project-grid p,
body.tn-institutional .tn-section p {
  color: var(--case-copy);
}

body.tn-institutional .tn-evidence-table,
body.tn-institutional .tn-data-table,
body.tn-institutional table {
  border-collapse: collapse;
  border-top: 1px solid var(--case-rule);
}

body.tn-institutional .tn-evidence-table th,
body.tn-institutional .tn-evidence-table td,
body.tn-institutional .tn-data-table th,
body.tn-institutional .tn-data-table td,
body.tn-institutional table th,
body.tn-institutional table td {
  border-color: var(--case-rule);
}

body.tn-institutional .tn-figure,
body.tn-institutional figure,
body.tn-institutional .tn-map-panel {
  overflow: hidden;
  border: 1px solid var(--case-rule);
  border-radius: 0;
  box-shadow: none;
  background: var(--case-surface);
}

body.tn-institutional figcaption,
body.tn-institutional .tn-figure-caption,
body.tn-institutional .tn-source-note {
  padding-top: 12px;
  color: var(--case-copy);
  font-size: .83rem;
  line-height: 1.45;
}

body.tn-institutional .tn-status,
body.tn-institutional .tn-tag,
body.tn-institutional .tn-badge {
  border: 1px solid var(--case-rule);
  border-radius: 0;
  background: transparent;
  color: var(--case-ink);
  font-family: var(--tn-sans, "Source Sans 3", Arial, sans-serif);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.tn-institutional .tn-cta-primary,
body.tn-institutional .tn-button-primary,
body.tn-institutional .tn-button--primary {
  border-radius: 0;
  background: var(--tn-green-dark, #182126);
  color: var(--tn-paper-deep, #fff);
}

body.tn-institutional .tn-cta-secondary,
body.tn-institutional .tn-button-secondary,
body.tn-institutional .tn-button--secondary {
  border-radius: 0;
  border-color: var(--case-ink);
  background: transparent;
  color: var(--case-ink);
}

/* Older standalone case documents use a few different root names. */
.case-page,
.territorial-sheet,
.santa-cruz-academico,
.evidence-pack,
.observatorio-page,
.critical-basins-page,
.espana-hidrica-page,
.critical-basin-page,
.spain-brief-page,
.evidence-pack-page,
.sc-academic-page,
.ficha-launch,
.hydrorisk-launch {
  background: var(--case-paper);
  color: var(--case-ink);
}

.case-page section,
.territorial-sheet section,
.santa-cruz-academico section,
.evidence-pack section,
.observatorio-page section,
.critical-basins-page section,
.espana-hidrica-page section,
.critical-basin-page section,
.spain-brief-page section,
.evidence-pack-page section,
.sc-academic-page section,
.ficha-launch section,
.hydrorisk-launch section {
  border-color: var(--case-rule);
}

/* Independent tool pages keep their controls but use the same dossier rhythm. */
.critical-basin-page .cb-hero,
.spain-brief-page .sp-hero,
.evidence-pack-page .pack-hero,
.sc-academic-page .sc-hero,
.ficha-launch .brief-hero,
.hydrorisk-launch .product-hero {
  border-bottom: 1px solid var(--case-rule);
}

.critical-basin-page .cb-facts,
.critical-basin-page .tn-cartography-grid,
.spain-brief-page .sp-facts,
.spain-brief-page .tn-cartography-grid,
.evidence-pack-page .pack-metrics,
.sc-academic-page .sc-metrics,
.sc-academic-page .tn-cartography-grid,
.hydrorisk-launch .product-trust-grid,
.hydrorisk-launch .product-capabilities-grid {
  gap: 0;
  border-top: 1px solid var(--case-rule);
  border-left: 1px solid var(--case-rule);
}

.critical-basin-page .cb-fact,
.critical-basin-page .tn-cartography-card,
.spain-brief-page .sp-fact,
.spain-brief-page .tn-cartography-card,
.evidence-pack-page .pack-metric,
.sc-academic-page .sc-metric,
.sc-academic-page .tn-cartography-card,
.hydrorisk-launch .product-trust-grid > *,
.hydrorisk-launch .product-capabilities-grid > * {
  border: 0;
  border-right: 1px solid var(--case-rule);
  border-bottom: 1px solid var(--case-rule);
  border-radius: 0;
  box-shadow: none;
  background: var(--case-surface);
}

.critical-basin-page .cb-kicker,
.spain-brief-page .sp-kicker,
.evidence-pack-page .eyebrow,
.sc-academic-page .sc-kicker,
.ficha-launch .step-index,
.hydrorisk-launch .tool-launch-label,
.hydrorisk-launch .product-hero-eyebrow {
  color: var(--tn-gold-ink, #77633e);
  font-family: "Source Sans 3", Arial, sans-serif;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.ficha-launch .tn-header,
.hydrorisk-launch .hydrorisk-shell-header {
  border-bottom: 1px solid var(--case-rule);
  box-shadow: none;
}

.ficha-launch .brief-hero,
.ficha-launch .story-reader,
.ficha-launch .story-step,
.hydrorisk-launch .product-capability-card,
.hydrorisk-launch .product-trust-grid > * {
  border-radius: 0;
  box-shadow: none;
}

@media (max-width: 760px) {
  body.tn-institutional .tn-case-grid,
  body.tn-institutional .tn-case-list,
  body.tn-institutional .tn-evidence-grid,
  body.tn-institutional .tn-metric-grid,
  body.tn-institutional .tn-project-grid {
    border-left: 0;
  }

  body.tn-institutional .tn-case-grid > *,
  body.tn-institutional .tn-case-list > *,
  body.tn-institutional .tn-evidence-grid > *,
  body.tn-institutional .tn-metric-grid > *,
  body.tn-institutional .tn-project-grid > * {
    border-right: 0;
  }
}
