/* --------------------------------------------------------------------------
   v5.8 — Publication reset
   One strong visual, plain language, and a useful route into the library.
   -------------------------------------------------------------------------- */

.dm-human-warmth .dm-site-header .dm-header-desk {
  max-width: 20rem;
  display: grid;
  gap: .18rem;
  margin: 0;
  color: var(--dm-v54-muted);
  line-height: 1.14;
}

.dm-human-warmth .dm-header-desk span {
  color: var(--dm-v54-rust);
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .13em;
}

.dm-human-warmth .dm-header-desk strong {
  color: var(--dm-v54-ink);
  font-family: var(--dm-serif);
  font-size: .92rem;
  font-weight: 560;
}

.dm-human-warmth .dm-site-header .dm-brand-row {
  min-height: 5.5rem;
  gap: 1.6rem;
}

/* The old edition label suggested a made-up publication system. The identity
   now stays centred on the actual work: clear home guides. */
.dm-human-warmth .dm-site-header .dm-atmosphere-edition { display: none; }

.dm-human-warmth .dm-home-hero--grounded {
  position: relative;
  overflow: hidden;
  padding: clamp(2.3rem, 4.4vw, 5rem) 0 0;
  color: #24362e;
  background:
    linear-gradient(90deg, rgba(130, 98, 66, .08) 1px, transparent 1px) 0 0 / 7.25rem 100%,
    linear-gradient(180deg, #faf6ee 0%, #f4ede1 100%);
}

.dm-home-hero--grounded::before {
  position: absolute;
  top: -18rem;
  right: -15rem;
  width: 43rem;
  height: 43rem;
  border: 1px solid rgba(113, 80, 54, .14);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.dm-grounded-hero {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(2.2rem, 5.5vw, 7.5rem);
  align-items: center;
}

.dm-grounded-hero__mast {
  max-width: 33rem;
  padding: clamp(1rem, 2vw, 2.2rem) 0 clamp(2.8rem, 5vw, 5rem);
}

.dm-grounded-hero__mast .dm-kicker {
  margin: 0 0 1.05rem;
  color: #8b563d;
}

.dm-grounded-hero__mast h1 {
  max-width: 10.6ch;
  margin: 0;
  color: #20352b;
  font-family: var(--dm-serif);
  font-size: clamp(3.4rem, 6vw, 6.85rem);
  font-weight: 510;
  letter-spacing: -.07em;
  line-height: .88;
  text-wrap: balance;
}

.dm-grounded-hero__dek {
  max-width: 38ch;
  margin: 1.55rem 0 0;
  color: #5d554d;
  font-size: clamp(1rem, 1.24vw, 1.15rem);
  line-height: 1.63;
}

.dm-grounded-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1.3rem;
  align-items: center;
  margin-top: 1.65rem;
}

.dm-grounded-hero__actions a {
  min-height: 2.85rem;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: #204638;
  font-size: .76rem;
  font-weight: 800;
  text-underline-offset: .24em;
}

.dm-grounded-hero__actions .dm-grounded-hero__primary {
  padding: .72rem 1rem;
  border: 1px solid #204638;
  border-radius: .18rem;
  color: #fffdf7;
  background: #204638;
  box-shadow: none;
  text-decoration: none;
}

.dm-grounded-hero__actions .dm-grounded-hero__primary:is(:hover, :focus-visible) {
  color: #fffdf7;
  background: #315c4a;
}

.dm-grounded-hero__scene {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(63, 57, 47, .2);
  border-radius: 0;
  background: #d8c8b4;
  box-shadow: 0 1.1rem 3rem rgba(70, 50, 32, .12);
}

.dm-grounded-hero__scene img {
  width: 100%;
  min-height: clamp(29rem, 46vw, 41rem);
  display: block;
  object-fit: cover;
  object-position: 50% center;
}

.dm-grounded-hero__scene figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: min(31rem, 80%);
  padding: .85rem 1.05rem;
  border-top: 1px solid rgba(63, 57, 47, .18);
  border-left: 1px solid rgba(63, 57, 47, .18);
  color: #3e3932;
  background: rgba(250, 246, 238, .96);
  font-family: var(--dm-serif);
  font-size: .85rem;
  font-style: italic;
  line-height: 1.42;
}

.dm-grounded-hero__scene figcaption span {
  display: block;
  margin-bottom: .28rem;
  color: #8b563d;
  font-family: var(--dm-sans);
  font-size: .58rem;
  font-style: normal;
  font-weight: 820;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.dm-grounded-hero__routes {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(1.75rem, 3vw, 3.2rem);
  border-top: 1px solid rgba(63, 57, 47, .2);
}

.dm-grounded-hero__routes a {
  min-height: 10.5rem;
  padding: 1.35rem clamp(1rem, 2.2vw, 2rem) 1.6rem 0;
  color: #20352b;
  text-decoration: none;
}

.dm-grounded-hero__routes a + a {
  padding-left: clamp(1rem, 2.2vw, 2rem);
  border-left: 1px solid rgba(63, 57, 47, .2);
}

.dm-grounded-hero__routes span,
.dm-grounded-hero__routes small {
  display: block;
}

.dm-grounded-hero__routes span {
  margin-bottom: .65rem;
  color: #8b563d;
  font-size: .6rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.dm-grounded-hero__routes strong {
  display: block;
  max-width: 24ch;
  font-family: var(--dm-serif);
  font-size: clamp(1.12rem, 1.6vw, 1.42rem);
  font-weight: 560;
  letter-spacing: -.025em;
  line-height: 1.08;
}

.dm-grounded-hero__routes small {
  max-width: 36ch;
  margin-top: .55rem;
  color: #655e56;
  font-size: .78rem;
  line-height: 1.48;
}

.dm-grounded-hero__routes a:is(:hover, :focus-visible) strong { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }

html[data-dm-theme="dark"] .dm-human-warmth .dm-site-header .dm-header-desk strong { color: var(--dm-theme-ink); }
html[data-dm-theme="dark"] .dm-human-warmth .dm-site-header .dm-header-desk span { color: var(--dm-theme-gold); }

html[data-dm-theme="dark"] .dm-human-warmth .dm-home-hero--grounded {
  color: #f5ecdf;
  background:
    linear-gradient(90deg, rgba(228, 201, 151, .08) 1px, transparent 1px) 0 0 / 7.25rem 100%,
    linear-gradient(145deg, #121d18 0%, #172820 100%);
}

html[data-dm-theme="dark"] .dm-home-hero--grounded::before { border-color: rgba(228, 201, 151, .17); }
html[data-dm-theme="dark"] .dm-grounded-hero__mast h1,
html[data-dm-theme="dark"] .dm-grounded-hero__routes a { color: #f7eee3; }
html[data-dm-theme="dark"] .dm-grounded-hero__dek,
html[data-dm-theme="dark"] .dm-grounded-hero__routes small { color: #d5c8b9; }
html[data-dm-theme="dark"] .dm-grounded-hero__mast .dm-kicker,
html[data-dm-theme="dark"] .dm-grounded-hero__routes span { color: #e7c46d; }
html[data-dm-theme="dark"] .dm-grounded-hero__actions a { color: #f1d783; }
html[data-dm-theme="dark"] .dm-grounded-hero__actions .dm-grounded-hero__primary { border-color: #ead18a; color: #17231d; background: #ead18a; }
html[data-dm-theme="dark"] .dm-grounded-hero__actions .dm-grounded-hero__primary:is(:hover, :focus-visible) { color: #17231d; background: #f5df9e; }
html[data-dm-theme="dark"] .dm-grounded-hero__scene { border-color: rgba(247, 238, 227, .28); background: #24372d; box-shadow: 0 1.1rem 3rem rgba(0, 0, 0, .24); }
html[data-dm-theme="dark"] .dm-grounded-hero__scene figcaption { border-color: rgba(247, 238, 227, .24); color: #f7eee3; background: #1c2c24; }
html[data-dm-theme="dark"] .dm-grounded-hero__scene figcaption span { color: #e7c46d; }
html[data-dm-theme="dark"] .dm-grounded-hero__routes,
html[data-dm-theme="dark"] .dm-grounded-hero__routes a + a { border-color: rgba(247, 238, 227, .22); }

@media (max-width: 960px) {
  .dm-human-warmth .dm-site-header .dm-header-desk { display: none; }
  .dm-grounded-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.1rem; }
  .dm-grounded-hero__scene img { min-height: 34rem; }
}

@media (max-width: 782px) {
  .dm-human-warmth .dm-home-hero--grounded { padding-top: 1.45rem; }
  .dm-home-hero--grounded::before { top: -19rem; right: -26rem; }
  .dm-grounded-hero { grid-template-columns: 1fr; gap: 1.25rem; }
  .dm-grounded-hero__mast { max-width: 34rem; padding: .6rem 0 0; }
  .dm-grounded-hero__mast h1 { max-width: 10.4ch; font-size: clamp(3.25rem, 14.4vw, 4.85rem); }
  .dm-grounded-hero__dek { margin-top: 1.15rem; font-size: 1rem; }
  .dm-grounded-hero__scene { margin-top: .35rem; }
  .dm-grounded-hero__scene img { min-height: 0; aspect-ratio: 1 / 1; }
  .dm-grounded-hero__scene figcaption { position: relative; max-width: none; padding: .8rem .9rem; border-right: 0; border-bottom: 0; font-size: .8rem; }
  .dm-grounded-hero__routes { grid-template-columns: 1fr; margin-top: 1.75rem; }
  .dm-grounded-hero__routes a,
  .dm-grounded-hero__routes a + a { min-height: auto; padding: 1.1rem 0; border-left: 0; }
  .dm-grounded-hero__routes a + a { border-top: 1px solid rgba(63, 57, 47, .2); }
  .dm-grounded-hero__routes strong { max-width: 25ch; font-size: 1.28rem; }
  html[data-dm-theme="dark"] .dm-grounded-hero__routes a + a { border-color: rgba(247, 238, 227, .22); }
}

@media (prefers-reduced-motion: reduce) {
  .dm-grounded-hero__actions .dm-grounded-hero__primary { transition: none; }
}
