/* ==========================================================================
   NEXIRA CONSULTING: REGULATORY DIAGNOSTIC (Stage 10-13B)
   Page-specific styles for regulatory-diagnostic.html only. All selectors dg-
   prefixed. Reuses .sd-hero / .sd-crumbs / .sd-dots / .sd-faq (service-detail.css),
   .faq and .closing (nexira.css) read-only. Editorial, typographic treatment:
   no dashboard visuals, no icons. Stage 07E rule: no decorative short rules.
   ========================================================================== */

.dg-k { margin: 0 0 var(--s-4); font-family: var(--sans); font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.2em; line-height: 1.4; text-transform: uppercase; color: var(--gold-text); }
.dg-k--dark { color: var(--gold-soft); }
.dg-n { display: block; margin-bottom: 0.6rem; font-family: var(--serif); font-size: 1.15rem; line-height: 1; color: var(--gold-text); }
.dg-head { max-width: 48rem; margin-bottom: var(--s-7); }
.dg-head h2, .dg-split h2 { font-size: var(--fs-2xl); margin: 0; }
.dg-intro { margin: var(--s-4) 0 0; font-size: var(--fs-md); line-height: 1.6; color: var(--text-muted); max-width: 44rem; }
.dg-intro--dark { color: var(--on-dark-muted); }
.dg-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.dg-split h2 { max-width: 16ch; }
.dg-note { margin: var(--s-6) 0 0; font-size: 0.92rem; line-height: 1.6; color: var(--text-muted); max-width: 46rem; }

/* 01 HERO */
.dg-hero { padding-block: clamp(2.75rem, 1.5rem + 4vw, 5.5rem); }
.dg-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: end; }
.dg-hero h1 { font-size: clamp(2.4rem, 1.5rem + 3.4vw, 4.4rem); max-width: 14ch; margin: 0 0 var(--s-5); }
.dg-hero .hero__ctas { margin-top: var(--s-6); }
.dg-glance { margin: 0; border-top: 1px solid var(--line-dark-2); }
.dg-glance > div { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: var(--s-4); padding-block: var(--s-3); border-bottom: 1px solid var(--line-dark); }
.dg-glance dt { font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-soft); padding-top: 0.2rem; }
.dg-glance dd { margin: 0; color: var(--on-dark); line-height: 1.5; }

/* 02 WHEN IT HELPS (ivory) */
.dg-helps { background: var(--ivory); padding-block: clamp(3.5rem, 2rem + 5vw, 7rem); }
.dg-ruled { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-strong); }
.dg-ruled li { padding: var(--s-4) 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: clamp(1.08rem, 1rem + 0.35vw, 1.25rem); line-height: 1.45; color: var(--ink); }
.dg-ruled--compact li { font-family: var(--sans); font-size: 1rem; padding: var(--s-3) 0; }
.dg-ruled a { color: var(--ink); text-decoration-color: var(--gold); text-underline-offset: 0.2em; }

/* 03 NOT NEEDED (paper) */
.dg-notneeded { background: var(--paper); padding-block: clamp(3.5rem, 2rem + 5vw, 7rem); }
.dg-routes { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-strong); }
.dg-routes li { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-3) clamp(1.5rem, 0.5rem + 3vw, 4rem); align-items: baseline; padding-block: var(--s-5); border-bottom: 1px solid var(--line); }
.dg-routes p { margin: 0; font-family: var(--serif); font-size: clamp(1.08rem, 1rem + 0.35vw, 1.25rem); line-height: 1.45; color: var(--ink); }
.dg-routes a { justify-self: start; padding-block: 0.3rem; font-weight: 500; color: var(--ink); text-decoration-color: var(--gold); text-underline-offset: 0.3em; }

/* 04 DOMAINS (deeper ivory; 4 x 2 ruled typographic grid) */
.dg-domains { background: var(--ivory-2); padding-block: clamp(3.5rem, 2rem + 5vw, 7rem); }
.dg-domain-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 clamp(1.25rem, 0.5rem + 2.5vw, 3rem); }
.dg-domain-list li { padding: var(--s-5) 0 var(--s-6); border-top: 1px solid var(--line-strong); }
.dg-domain-list h3 { margin: 0 0 var(--s-3); font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.45rem); line-height: 1.2; }
.dg-domain-list p { margin: 0; color: var(--text-muted); line-height: 1.6; font-size: 0.97rem; }
.dg-distinct { margin-top: var(--s-6); padding-top: var(--s-5); border-top: 1px solid var(--line-strong); display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: var(--s-5) clamp(1.5rem, 0.5rem + 3vw, 4rem); }
.dg-distinct__k { margin: 0; font-family: var(--serif); font-size: 1.15rem; line-height: 1.35; color: var(--ink); }
.dg-distinct dl { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4) clamp(1.25rem, 0.5rem + 2vw, 2.5rem); }
.dg-distinct dt { margin: 0 0 var(--s-1); font-weight: 600; color: var(--ink); }
.dg-distinct dd { margin: 0; color: var(--text-muted); line-height: 1.55; }

/* 05 EVIDENCE (charcoal; six lenses) */
.dg-evidence { background: var(--ink); color: var(--on-dark); padding-block: clamp(3.5rem, 2rem + 5vw, 7rem); }
.dg-evidence .dg-head h2 { color: var(--on-dark); }
.dg-lenses { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 0.5rem + 3vw, 4rem); }
.dg-lenses li { padding: var(--s-5) 0; border-top: 1px solid var(--line-dark-2); }
.dg-lenses h3 { margin: 0 0 var(--s-2); font-size: clamp(1.25rem, 1.05rem + 0.6vw, 1.55rem); line-height: 1.2; color: var(--on-dark); }
.dg-lenses p { margin: 0; color: var(--on-dark-muted); line-height: 1.6; }
.dg-lens-note { margin: var(--s-5) 0 0; font-size: 0.92rem; line-height: 1.6; color: var(--on-dark-muted); max-width: 46rem; }
.dg-methods { margin-top: var(--s-7); padding-top: var(--s-6); border-top: 1px solid var(--line-dark-2); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 1rem + 4vw, 5rem); }
.dg-methods h3 { margin: 0 0 var(--s-3); font-family: var(--sans); font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-soft); }
.dg-methods p { margin: 0 0 var(--s-3); color: var(--on-dark-muted); line-height: 1.65; }
.dg-methods .dg-principle { margin: 0 0 var(--s-3); font-family: var(--serif); font-size: clamp(1.1rem, 0.9rem + 0.7vw, 1.45rem); line-height: 1.35; color: var(--on-dark); }
.dg-ne { margin: 0 0.25em; color: var(--gold-soft); }
.dg-evidence .link-arrow { color: var(--on-dark); }

/* 06 HOW IT WORKS (ivory; sticky head beside numbered steps) */
.dg-how { background: var(--ivory); padding-block: clamp(3.5rem, 2rem + 5vw, 7rem); }
.dg-sticky { position: sticky; top: calc(var(--header-h) + var(--s-6)); }
.dg-steps { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--line-strong); }
.dg-steps > li { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--s-4); padding-block: var(--s-5); border-top: 1px solid var(--line-strong); }
.dg-steps .dg-n { margin: 0; padding-top: 0.2rem; }
.dg-steps h3 { margin: 0 0 var(--s-2); font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.45rem); line-height: 1.2; }
.dg-steps p { margin: 0; color: var(--text-muted); line-height: 1.65; }

/* 07 WHAT YOU RECEIVE (paper; six outputs, then the scope columns) */
.dg-receive { background: var(--paper); padding-block: clamp(3.5rem, 2rem + 5vw, 7rem); }
.dg-outputs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 0.5rem + 3vw, 4rem); }
.dg-outputs li { padding: var(--s-5) 0 var(--s-6); border-top: 1px solid var(--line-strong); }
.dg-outputs h3 { margin: 0 0 var(--s-3); font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.45rem); line-height: 1.2; }
.dg-outputs p { margin: 0; color: var(--text-muted); line-height: 1.6; }
.dg-scope { margin-top: var(--s-7); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 0.5rem + 3vw, 4rem); padding: var(--s-6) 0 0; border-top: 1px solid var(--line-strong); }
.dg-scope h3 { margin: 0 0 var(--s-3); font-family: var(--sans); font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-text); }
.dg-scope__note { margin: var(--s-3) 0 0; font-size: 0.9rem; color: var(--text-muted); }

/* 08 AFTERWARDS (deeper ivory) */
.dg-after { background: var(--ivory-2); padding-block: clamp(3.5rem, 2rem + 5vw, 7rem); }
.dg-after__k { margin: 0 0 var(--s-4); font-weight: 600; color: var(--ink); }

/* 09 BOUNDARIES (charcoal) */
.dg-bounds { background: var(--ink); color: var(--on-dark); padding-block: clamp(3rem, 2rem + 4vw, 6rem); }
.dg-bounds h2 { color: var(--on-dark); }
.dg-bounds__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-dark-2); }
.dg-bounds__list li { padding: var(--s-3) 0; border-bottom: 1px solid var(--line-dark); color: var(--on-dark-muted); line-height: 1.6; }

/* 10 FAQ (reuses .faq on paper) */

/* 11 CLOSING (light variant of .closing) */
.dg-closing { background: var(--ivory); color: var(--text); padding-block: clamp(3.5rem, 2rem + 4vw, 6rem); }
.dg-closing h2 { color: var(--ink); max-width: 14ch; }
.dg-closing p:not(.eyebrow) { color: var(--text-muted); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1100px) {
  .dg-domain-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dg-distinct { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
  .dg-hero__grid, .dg-split { grid-template-columns: 1fr; gap: var(--s-6); }
  .dg-split h2 { max-width: 22ch; }
  .dg-sticky { position: static; }
  .dg-lenses, .dg-outputs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dg-methods, .dg-scope { grid-template-columns: 1fr; gap: var(--s-6); }
  .dg-distinct dl { grid-template-columns: 1fr; }
  .dg-routes li { grid-template-columns: 1fr; gap: var(--s-2); }
}
@media (max-width: 640px) {
  .dg-domain-list, .dg-lenses, .dg-outputs { grid-template-columns: 1fr; }
  .dg-domain-list li, .dg-outputs li { padding-bottom: var(--s-5); }
  .dg-glance > div { grid-template-columns: 1fr; gap: var(--s-1); }
  .dg-steps > li { grid-template-columns: 1fr; gap: var(--s-1); }
}
