/* ENSO / El Niño advisory — NOAA-inspired */
.enso-advisory {
  --enso-bg: #0b1a2e;
  --enso-card: #152a45;
  --enso-text: #f4f7fb;
  --enso-muted: #9aa8bc;
  --enso-accent: #e8956a;
  margin: 1.25rem 0 1.5rem;
  border-radius: 1rem;
  background: linear-gradient(165deg, #0b1a2e 0%, #0e2036 55%, #0a1626 100%);
  color: var(--enso-text);
  box-shadow: 0 12px 40px rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.06);
  overflow: hidden;
}
.enso-advisory__inner { padding: 1.25rem 1.35rem 1.15rem; }
.enso-advisory__header {
  display: flex; flex-wrap: wrap; align-items: flex-start;
  justify-content: space-between; gap: .85rem 1.25rem; margin-bottom: 1.15rem;
}
.enso-advisory__kicker {
  margin: 0 0 .35rem; font-size: .72rem; letter-spacing: .06em;
  text-transform: uppercase; color: var(--enso-muted); font-weight: 600;
}
.enso-advisory__title {
  margin: 0; font-size: clamp(1.25rem, 2.6vw, 1.75rem); font-weight: 700;
  line-height: 1.25; letter-spacing: -.02em; color: #fff;
}
.enso-advisory__active { color: var(--enso-accent); }
.enso-advisory__active--neutral { color: #a8b4c6; }
.enso-advisory__badges { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.enso-badge {
  display: inline-flex; align-items: center; padding: .28rem .7rem;
  border-radius: 999px; font-size: .78rem; font-weight: 650; line-height: 1.2;
}
.enso-badge--strength { background: var(--enso-accent); color: #1a0f08; }
.enso-badge--very-strong { background: #e07a3a; color: #1a0f08; }
.enso-badge--strong { background: #e8956a; color: #1a0f08; }
.enso-badge--moderate { background: #f0c9a8; color: #1a0f08; }
.enso-badge--weak { background: #c5ced9; color: #1a2433; }
.enso-badge--neutral { background: #6b7789; color: #fff; }
.enso-badge--method {
  background: transparent; color: var(--enso-muted);
  border: 1px solid rgba(154,168,188,.35); font-weight: 550;
}
.enso-advisory__grid {
  display: grid; grid-template-columns: minmax(0,1.35fr) minmax(180px,.85fr);
  gap: 1.25rem 1.75rem; align-items: start;
}
.enso-metric__value {
  font-size: clamp(2.6rem, 6vw, 3.6rem); font-weight: 750;
  letter-spacing: -.04em; line-height: 1; color: #fff;
}
.enso-metric__trend {
  display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .55rem;
  margin-top: .45rem; color: var(--enso-accent); font-size: .92rem; font-weight: 600;
}
.enso-metric__trend.is-down { color: #7eb8e8; }
.enso-metric__arrow { font-size: .75rem; }
.enso-spark { color: var(--enso-accent); flex: 0 0 auto; }
.enso-metric__trend.is-down .enso-spark { color: #7eb8e8; }
.enso-metric__meta {
  margin: .55rem 0 0; font-size: .78rem; color: var(--enso-muted);
  line-height: 1.45; max-width: 36rem;
}
.enso-compare {
  margin-top: 1.25rem; padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.07);
}
.enso-compare__label, .enso-changed__label {
  margin: 0 0 .75rem; font-size: .68rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--enso-muted); font-weight: 650;
}
.enso-compare__cols {
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .75rem 1rem;
}
.enso-compare__value {
  font-size: 1.45rem; font-weight: 700; letter-spacing: -.02em; color: #fff;
}
.enso-compare__meta, .enso-changed__meta {
  margin: .25rem 0 0; font-size: .75rem; color: var(--enso-muted); line-height: 1.4;
}
.enso-advisory__gauge {
  display: flex; flex-direction: column; align-items: center; padding-top: .25rem;
}
.enso-gauge { width: min(100%, 220px); height: auto; }
.enso-gauge__tick { fill: var(--enso-muted); font-size: 10px; font-family: inherit; }
.enso-gauge__legend {
  list-style: none; margin: .55rem 0 0; padding: 0; display: flex; flex-wrap: wrap;
  justify-content: center; gap: .35rem .7rem; font-size: .68rem; color: var(--enso-muted);
}
.enso-gauge__legend .swatch {
  display: inline-block; width: .55rem; height: .55rem; border-radius: 2px;
  margin-right: .25rem; vertical-align: -1px;
}
.swatch-n { background: #9aa3b2; }
.swatch-w { background: #f0c9a8; }
.swatch-m { background: #e8a06a; }
.swatch-s { background: #e07a3a; }
.swatch-vs { background: #c94a2a; }
.enso-changed {
  margin-top: 1.25rem; padding: 1rem 1.05rem; border-radius: .75rem;
  background: var(--enso-card); border: 1px solid rgba(255,255,255,.05);
}
.enso-changed__grid {
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .85rem 1rem;
}
.enso-changed__value {
  font-size: 1.35rem; font-weight: 700; letter-spacing: -.02em; color: #fff;
}
.enso-impact {
  margin: .95rem 0 0; font-size: .86rem; line-height: 1.5; color: #d5deea;
}
.enso-source { margin: .45rem 0 0; font-size: .72rem; color: var(--enso-muted); }
@media (max-width: 860px) {
  .enso-advisory__grid { grid-template-columns: 1fr; }
  .enso-advisory__gauge { order: -1; }
  .enso-changed__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .enso-advisory__inner { padding: 1.05rem 1rem 1rem; }
  .enso-compare__cols { grid-template-columns: 1fr; }
  .enso-changed__grid { grid-template-columns: 1fr; }
}

.enso-advisory__title-block { min-width: 0; }
.enso-advisory__kicker {
  margin: 0 0 .35rem; font-size: .72rem; letter-spacing: .06em;
  text-transform: uppercase; color: var(--enso-muted); font-weight: 600;
}
