.eco {
  position: relative;
  padding-bottom: var(--section-y);
  background:
    radial-gradient(45% 30% at 0% 20%, rgba(143, 227, 245, 0.25), transparent 70%),
    var(--paper);
}
.eco__seam { height: clamp(140px, 16vw, 220px); background: linear-gradient(to bottom, var(--ink-950), var(--paper)); }
.eco__intro { display: grid; gap: var(--space-5); margin-top: clamp(1rem, 3vw, 3rem); }
.eco__title { font-size: var(--fs-h2); line-height: 1.05; letter-spacing: -0.04em; max-width: 22ch; }

.eco__ehr { list-style: none; margin: clamp(2.5rem, 5vw, 4rem) 0 0; padding: 0; border-top: 1px solid var(--paper-line); }
.eco__ehr li {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 24px;
  padding-block: clamp(1rem, 2vw, 1.5rem);
  border-bottom: 1px solid var(--paper-line);
}
.eco__ehrname {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(2.6rem, 8vw, 7rem); line-height: 1; letter-spacing: -0.055em;
  font-variation-settings: "opsz" 96, "wdth" 82;
  color: var(--on-paper);
  transition: color var(--dur-med), transform var(--dur-med) var(--ease-out);
}
.eco__ehr li:hover .eco__ehrname { color: var(--accent-deep); transform: translateX(12px); }
.eco__ehrstate { display: inline-flex; align-items: center; gap: 10px; color: var(--on-paper-muted); }
.eco__ehrstate i { width: 8px; height: 8px; border-radius: 50%; background: var(--closed); box-shadow: 0 0 0 4px rgba(111, 220, 140, 0.2); }

.eco__partners { margin-top: var(--space-7); display: flex; flex-wrap: wrap; align-items: baseline; gap: 16px 40px; color: var(--on-paper-faint); }
.eco__partners ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px 36px; }
.eco__partners li { font-family: var(--font-display); font-weight: 600; font-size: 1.3rem; letter-spacing: -0.02em; color: var(--on-paper-muted); }

/* ---- Resources ---- */
.res { margin-top: clamp(6rem, 12vw, 10rem); }
.res__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 16px; }
.res__title { font-size: var(--fs-h2); letter-spacing: -0.04em; }
.res__list { list-style: none; margin: var(--space-6) 0 0; padding: 0; border-top: 1px solid var(--paper-line); }
.res__list li { border-bottom: 1px solid var(--paper-line); }
.res__row {
  position: relative;
  display: grid; grid-template-columns: 140px minmax(0, 1fr) 140px 48px; gap: 24px; align-items: center;
  padding-block: 28px; text-decoration: none; color: var(--on-paper);
}
.res__type { color: var(--accent-deep); }
.res__main { display: grid; gap: 6px; }
.res__rtitle { font-family: var(--font-display); font-size: var(--fs-h3); font-weight: 600; letter-spacing: -0.03em; line-height: 1.1; }
.res__body { color: var(--on-paper-muted); max-width: 60ch; }
.res__thumb {
  height: 88px; border-radius: 14px;
  opacity: 0; transform: translateX(-12px) scale(0.96);
  transition: opacity var(--dur-med), transform var(--dur-med) var(--ease-out);
}
.res__thumb--0 { background: radial-gradient(circle at 30% 30%, #6fdc8c, transparent 60%), linear-gradient(135deg, #1d2f44, #22c3e6); }
.res__thumb--1 { background: radial-gradient(circle at 70% 30%, #f3c35a, transparent 55%), linear-gradient(135deg, #13202f, #0a6f8c); }
.res__thumb--2 { background: radial-gradient(circle at 40% 70%, #ffb48c, transparent 60%), linear-gradient(135deg, #1d2f44, #8fe3f5); }
.res__row:hover .res__thumb, .res__row:focus-visible .res__thumb { opacity: 1; transform: none; }
.res__go {
  width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
  box-shadow: inset 0 0 0 1px var(--paper-line); color: var(--on-paper);
  transition: background var(--dur-med), color var(--dur-med), transform var(--dur-med) var(--ease-out);
}
.res__row:hover .res__go { background: var(--accent); color: var(--on-accent); transform: rotate(-45deg); }

@media (max-width: 860px) {
  .res__row { grid-template-columns: minmax(0, 1fr) 44px; gap: 10px 16px; }
  .res__type { grid-column: 1 / -1; }
  .res__thumb { display: none; }
  .res__go { width: 44px; height: 44px; }
}

.eco__tag { margin-top: clamp(2.5rem, 5vw, 4rem); }
.eco__tag + .eco__ehr { margin-top: 16px; }
.eco__partners li.is-sample { font-family: var(--font-mono); font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; padding: 8px 16px; border-radius: 10px; border: 1px dashed var(--paper-line); color: var(--on-paper-faint); }
.res__titlewrap { display: grid; gap: 10px; }
.eco__ehrname { font-size: clamp(2rem, 5.6vw, 5rem); }
.eco__ehrstate { font-size: 0.95rem; letter-spacing: 0; text-transform: none; font-family: var(--font-body); }
.eco__more { margin-top: 20px; color: var(--on-paper-muted); }
