:root {
  --dgs-radius-sm: .5rem;
  --dgs-radius-md: 1rem;
  --dgs-radius-lg: 1.5rem;
  --dgs-shadow-card: 0 1rem 3rem rgba(16, 35, 27, .12);
  --dgs-space-section: clamp(3.5rem, 8vw, 7.5rem);
  --dgs-container: min(80rem, calc(100% - 2rem));
  --dgs-reading: min(46rem, calc(100% - 2rem));
}

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
img { height: auto; }

/* Keep the third-party mega menu visually aligned with the shared theme. */
.site-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu {
  background: #fff !important;
  border: 1px solid rgba(23, 58, 44, .16) !important;
  box-shadow: 0 1rem 2.5rem rgba(9, 32, 23, .16) !important;
}
.site-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link {
  background: transparent !important;
  color: #173a2c !important;
}
.site-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover,
.site-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:focus {
  background: #edf3ee !important;
  color: #0d2d22 !important;
}

.dgs-container { width: var(--dgs-container); margin-inline: auto; }
.dgs-reading { width: var(--dgs-reading); margin-inline: auto; }
.dgs-section { padding-block: var(--dgs-space-section); }
.dgs-context-links{background:#edf3ee;border-top:4px solid #245b43;margin:3rem 0;padding:1.25rem}.dgs-context-links>strong{color:#173a2c;font-family:var(--serif);font-size:1.25rem}.dgs-context-links div{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;margin-top:.75rem}.dgs-context-links a{color:#176447;font-size:.84rem;font-weight:750;text-decoration:underline;text-underline-offset:.18em}

.dgs-eyebrow {
  color: var(--wp--preset--color--sunset);
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.dgs-hero {
  background: #183b2b;
  color: #fff;
  display: grid;
  min-height: clamp(35rem, 78svh, 52rem);
  overflow: clip;
  position: relative;
}

.dgs-hero > * { grid-area: 1 / 1; }
.dgs-hero__media { height: 100%; object-fit: cover; width: 100%; }
.dgs-hero__veil { background: linear-gradient(90deg, rgba(8, 24, 17, .84), rgba(8, 24, 17, .18) 72%); }
.dgs-hero__content { align-self: end; padding-block: clamp(4rem, 10vw, 8rem); position: relative; }
.dgs-hero__title { color: inherit; font-size: clamp(2.7rem, 7vw, 6.5rem); letter-spacing: -.035em; max-width: 12ch; }
.dgs-hero__lede { font-size: clamp(1.05rem, 2vw, 1.35rem); max-width: 42rem; }

.dgs-card-grid { display: grid; gap: clamp(1rem, 2vw, 1.75rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.dgs-card { background: #fff; border: 1px solid rgba(23, 32, 27, .1); border-radius: var(--dgs-radius-md); overflow: clip; }
.dgs-card:hover { box-shadow: var(--dgs-shadow-card); transform: translateY(-2px); }
.dgs-card:focus-within { outline: 3px solid var(--wp--preset--color--sunset); outline-offset: 3px; }

.dgs-revenue-slot {
  contain: layout paint;
  margin-block: clamp(2rem, 5vw, 4rem);
  min-height: var(--dgs-slot-height, 0);
}
.dgs-revenue-slot[data-active="true"] { --dgs-slot-height: 15.625rem; }
.dgs-revenue-slot__label { color: #5b665f; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }

@media (prefers-reduced-motion: no-preference) {
  .dgs-card { transition: box-shadow 180ms ease, transform 180ms ease; }
}

@media (max-width: 48rem) {
  .dgs-hero__veil { background: linear-gradient(0deg, rgba(8, 24, 17, .9), rgba(8, 24, 17, .12) 78%); }
}
