body:has(.dc-shell) > .site-header,
body:has(.dc-shell) > .site-footer,
body:has(.dc-shell) > .skip-link {
  display: none;
}

body:has(.dc-shell) {
  margin: 0;
  overflow-x: hidden;
}

body:has(.dc-shell) > main#main-content {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.dc-shell {
  width: 100%;
  min-height: 100vh;
  overflow-x: clip;
}

.dc-guide-index {
  position: relative;
  padding: clamp(4.5rem, 8vw, 8rem) 1.25rem;
  background: #0b0f0d;
  color: #f6f6ef;
  border-top: 1px solid rgba(255,255,255,.12);
}

.dc-guide-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.dc-guide-kicker {
  margin: 0 0 1rem;
  color: #a8d35a;
  font: 800 .7rem/1.2 ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .16em;
}

.dc-guide-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(240px, .65fr);
  gap: clamp(2rem, 7vw, 6rem);
  align-items: end;
  margin-bottom: 2.5rem;
}

.dc-guide-heading h2 {
  max-width: 760px;
  margin: 0;
  color: inherit;
  font: 850 clamp(2.5rem, 5vw, 5.4rem)/.94 ui-sans-serif, system-ui, sans-serif;
  letter-spacing: -.065em;
}

.dc-guide-heading p {
  margin: 0;
  color: rgba(246,246,239,.68);
  font: 500 1rem/1.65 ui-sans-serif, system-ui, sans-serif;
}

.dc-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.16);
  border-left: 1px solid rgba(255,255,255,.16);
}

.dc-guide-grid a {
  min-height: 210px;
  display: grid;
  grid-template-rows: auto auto 1fr;
  align-content: start;
  gap: .75rem;
  padding: 1.4rem;
  color: inherit;
  text-decoration: none;
  border-right: 1px solid rgba(255,255,255,.16);
  border-bottom: 1px solid rgba(255,255,255,.16);
  transition: transform .25s ease, background-color .25s ease;
}

.dc-guide-grid a:hover,
.dc-guide-grid a:focus-visible {
  background: rgba(168,211,90,.1);
  transform: translateY(-3px);
}

.dc-guide-grid span {
  color: #a8d35a;
  font: 800 .68rem/1 ui-monospace, monospace;
}

.dc-guide-grid strong {
  font: 800 1.15rem/1.1 ui-sans-serif, system-ui, sans-serif;
}

.dc-guide-grid small {
  color: rgba(246,246,239,.62);
  font: 500 .78rem/1.55 ui-sans-serif, system-ui, sans-serif;
}

.dc-legal-links {
  display: flex;
  gap: 1.25rem;
  margin-top: 1.5rem;
}

.dc-legal-links a {
  color: rgba(246,246,239,.74);
  font: 700 .74rem/1.2 ui-sans-serif, system-ui, sans-serif;
}

.dc-shell .form-status:empty {
  display: none;
}

.dc-shell .form-status.success,
.dc-shell .form-status.ok {
  color: #163c2b;
  background: #d8f2df;
}

.dc-shell .form-status.error {
  color: #561b17;
  background: #f9ded8;
}

@media (max-width: 800px) {
  .dc-guide-heading {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .dc-guide-grid {
    grid-template-columns: 1fr;
  }

  .dc-guide-grid a {
    min-height: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dc-guide-grid a {
    transition: none;
  }
}
