/*
 * Deeproot consistency release, 2026-08-14.
 * This file intentionally overrides accumulated route-specific drift while
 * preserving the approved palette, typography families and component forms.
 */

:root {
  --dr-page-width: min(1180px, calc(100vw - 48px));
  --dr-mobile-width: calc(100vw - 32px);
  --dr-ink: #eeece4;
  --dr-black: #020202;
  --dr-rule: rgba(238, 236, 228, 0.12);
}

/* The shared navigation now has one geometry on every non-legal route. */
@media (min-width: 861px) {
  #dr .top .w {
    width: var(--dr-page-width) !important;
    max-width: none !important;
  }

  #dr .nav {
    min-height: 68px !important;
    height: 68px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 30px !important;
    align-items: center !important;
  }

  #dr .nav .brand,
  #dr .nav .brand img {
    display: block !important;
  }

  #dr .nav .brand img {
    width: 132px !important;
    max-width: 132px !important;
    height: auto !important;
    margin: 0 !important;
    opacity: 0.9 !important;
  }

  #dr .nav .ix {
    display: flex !important;
    justify-self: end !important;
    align-items: center !important;
    gap: clamp(22px, 4vw, 58px) !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  #dr .nav .ix a {
    display: grid !important;
    grid-template-columns: auto auto !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    padding: 8px 0 13px !important;
    border: 0 !important;
    background: transparent !important;
    color: rgba(238, 236, 228, 0.42) !important;
    font: 850 10px/1 Arial, sans-serif !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
  }

  #dr .nav .ix a.on {
    color: var(--dr-ink) !important;
    background: transparent !important;
  }

  #dr .dr-menu-toggle {
    display: none !important;
  }
}

/* Inner-page hero volume is consistent without touching the homepage hero. */
@media (min-width: 861px) {
  #dr.dr-route-services .ph .pt,
  #dr.dr-route-fit .ph .pt,
  #dr.dr-route-contact .ph .pt {
    font-size: clamp(64px, 7.8vw, 112px) !important;
    line-height: 0.9 !important;
  }

  #dr.dr-route-services .ph .le,
  #dr.dr-route-fit .ph .le,
  #dr.dr-route-contact .ph .le {
    max-width: 790px !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
  }
}

/* Services: remove hierarchy drift and restore readable supporting type. */
#dr.dr-route-services .dr-services-packages__head {
  display: block !important;
  max-width: 900px !important;
  margin: 0 !important;
}

#dr.dr-route-services .dr-services-packages__head .ey {
  margin: 0 0 18px !important;
}

#dr.dr-route-services .dr-services-packages__intro {
  max-width: 760px !important;
  margin-left: 0 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

#dr.dr-route-services .dr-services-list .card p,
#dr.dr-route-services .dr-services-packages .pkg p,
#dr.dr-route-services .dr-services-packages .pkg li,
#dr.dr-route-services .dr-services-chapter__rows p,
#dr.dr-route-services .dr-services-bridge-v2 p,
#dr.dr-route-services .dr-services-transfer p {
  font-size: 14.5px !important;
  line-height: 1.68 !important;
}

#dr.dr-route-services .dr-services-bridge-v2__head,
#dr.dr-route-services .dr-services-transfer__head {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
}

#dr.dr-route-services .dr-services-bridge-v2__head .lab,
#dr.dr-route-services .dr-services-transfer__head .lab {
  margin: 0 !important;
}

/* Fit: give split chapters useful reading width and complete Who Enters. */
@media (min-width: 861px) {
  #dr.dr-route-fit .dr-fit-chapter {
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.82fr) !important;
    gap: 72px !important;
  }

  #dr.dr-route-fit .dr-fit-chapter__intro {
    display: block !important;
  }

  #dr.dr-route-fit .dr-fit-chapter__intro > .lab,
  #dr.dr-route-fit .dr-fit-chapter__intro > h2,
  #dr.dr-route-fit .dr-fit-chapter__intro > p {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  #dr.dr-route-fit .dr-fit-chapter__intro > .lab {
    margin: 0 0 22px !important;
  }
}

#dr.dr-route-fit .dr-fit-who-title {
  max-width: 820px;
  margin: 0 0 34px;
  color: var(--dr-ink);
  font: 400 clamp(38px, 5vw, 70px)/0.98 Georgia, serif;
  letter-spacing: 0;
}

/* Source: keep the alternating composition but tether each label to its title. */
@media (min-width: 861px) {
  #dr.dr-route-source .dr-source-fallback-chapter {
    row-gap: 14px !important;
  }

  #dr.dr-route-source .dr-source-fallback-chapter > .lab,
  #dr.dr-route-source .dr-source-fallback-chapter > div:last-child {
    grid-column: 2 !important;
  }

  #dr.dr-route-source .dr-source-fallback-chapter > .lab {
    margin: 0 !important;
    align-self: end !important;
  }

  #dr.dr-route-source .dr-source-narrative .dr-source-fallback-chapter > .lab,
  #dr.dr-route-source .dr-source-narrative .dr-source-fallback-chapter > div:last-child {
    grid-column: 1 !important;
  }
}

/* Insights: improve small metadata and make the long mobile library deliberate. */
#dr.dr-route-insights .dr-ih-aside span {
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: rgba(238, 236, 228, 0.62) !important;
}

#dr.dr-route-insights .dr-lib-card p {
  font-size: 14px !important;
  line-height: 1.68 !important;
}

#dr.dr-route-article .dr-article-dek,
#dr.dr-route-article .dr-article-section p {
  font-size: 16px !important;
  line-height: 1.78 !important;
}

/* Legal pages now share the same header inset and navigation scale. */
#dr-legal .dr-legal-toggle {
  display: none;
}

@media (min-width: 861px) {
  #dr-legal .dlh.dlw,
  #dr-legal .dlf.dlw {
    width: var(--dr-page-width) !important;
    max-width: none !important;
  }

  #dr-legal .dlh {
    height: 68px !important;
  }

  #dr-legal .dlh img {
    display: block !important;
    width: 132px !important;
    height: auto !important;
    opacity: 0.9 !important;
  }

  #dr-legal .dlh nav {
    gap: clamp(22px, 4vw, 58px) !important;
    font: 850 10px/1 Arial, sans-serif !important;
    letter-spacing: 0.14em !important;
  }
}

/* One footer geometry, regardless of which historical page shell contains it. */
footer.dr-mobile-unified-footer {
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 36px 0 20px !important;
}

.dr-mobile-unified-footer .dr-mf-wrap {
  width: var(--dr-page-width) !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Mobile rhythm and first-paint navigation. */
@media (max-width: 860px) {
  :root {
    --dr-page-width: var(--dr-mobile-width);
  }

  html body #dr#dr .top {
    min-height: 68px !important;
  }

  html body #dr#dr .top .w {
    width: var(--dr-mobile-width) !important;
    max-width: none !important;
  }

  html body #dr#dr .nav {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    grid-template-rows: 68px !important;
    gap: 0 !important;
    align-items: center !important;
    min-height: 68px !important;
    height: 68px !important;
    padding: 0 !important;
    position: relative !important;
  }

  html body #dr#dr .nav .brand {
    display: flex !important;
    align-items: center !important;
    height: 68px !important;
    min-height: 68px !important;
    width: 126px !important;
    max-width: 126px !important;
    position: static !important;
    inset: auto !important;
  }

  html body #dr#dr .nav .brand img {
    display: block !important;
    width: 126px !important;
    max-width: 126px !important;
    height: auto !important;
    margin: 0 !important;
    opacity: 0.9 !important;
  }

  html body #dr#dr .nav .ix {
    display: none !important;
  }

  html body #dr#dr .dr-menu-toggle {
    display: grid !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    place-items: center !important;
    align-self: center !important;
    justify-self: end !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    top: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--dr-ink) !important;
  }

  html body #dr#dr .dr-menu-toggle b {
    display: grid !important;
    gap: 4px !important;
    opacity: 0.82 !important;
  }

  html body #dr#dr .dr-menu-toggle span {
    display: block !important;
    width: 19px !important;
    height: 1px !important;
    background: currentColor !important;
  }

  html body #dr#dr .nav.dr-menu-open > .ix {
    display: grid !important;
    top: 68px !important;
    grid-template: repeat(6, 54px) / 1fr !important;
  }

  #dr.dr-route-shop .dr-shop-hero,
  #dr.dr-route-shop .dr-shop-products,
  #dr.dr-route-shop .dr-shop-principle {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }

  #dr.dr-route-services .ph .pt,
  #dr.dr-route-fit .ph .pt,
  #dr.dr-route-contact .ph .pt {
    font-size: 40px !important;
    line-height: 0.94 !important;
  }

  #dr.dr-route-services .ph .le,
  #dr.dr-route-fit .ph .le,
  #dr.dr-route-contact .ph .le {
    font-size: 15px !important;
    line-height: 1.68 !important;
  }

  #dr.dr-route-source .s,
  #dr.dr-route-services .s,
  #dr.dr-route-fit .s,
  #dr.dr-route-contact .s {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }

  #dr.dr-route-source .dr-source-fallback-chapter,
  #dr.dr-route-source .dr-source-fallback-chapter > .lab,
  #dr.dr-route-source .dr-source-fallback-chapter > div:last-child {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  #dr.dr-route-services .dr-services-packages {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }

  #dr.dr-route-services .dr-services-packages .pkg {
    padding: 20px 16px !important;
  }

  #dr.dr-route-services .dr-services-list .card p,
  #dr.dr-route-services .dr-services-packages .pkg p,
  #dr.dr-route-services .dr-services-packages .pkg li,
  #dr.dr-route-services .dr-services-chapter__rows p,
  #dr.dr-route-services .dr-services-bridge-v2 p,
  #dr.dr-route-services .dr-services-transfer p {
    font-size: 14px !important;
    line-height: 1.62 !important;
  }

  #dr.dr-route-fit .dr-fit-who-title {
    margin-bottom: 26px !important;
    font-size: 36px !important;
    line-height: 1 !important;
  }

  #dr.dr-route-insights .dr-library {
    padding-top: 54px !important;
    padding-bottom: 58px !important;
  }

  #dr.dr-route-insights .dr-lib-head {
    margin-bottom: 28px !important;
  }

  #dr.dr-route-insights .dr-lib-card,
  #dr.dr-route-insights .dr-lib-card:last-child {
    min-height: 0 !important;
    padding: 24px 16px 26px !important;
  }

  #dr.dr-route-insights .dr-lib-card h3 {
    margin: 26px 0 14px !important;
    font-size: 24px !important;
    line-height: 1.06 !important;
  }

  #dr.dr-route-insights .dr-lib-card p {
    margin-bottom: 18px !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
  }

  #dr.dr-route-article .dr-article-dek,
  #dr.dr-route-article .dr-article-section p {
    font-size: 15px !important;
    line-height: 1.72 !important;
  }

  html body footer.dr-mobile-unified-footer {
    padding: 26px 0 16px !important;
  }

  html body .dr-mobile-unified-footer .dr-mf-wrap {
    width: var(--dr-mobile-width) !important;
  }

  html body #dr#dr footer.dr-mobile-unified-footer .dr-mf-contact,
  html body #dr-legal#dr-legal footer.dr-mobile-unified-footer .dr-mf-contact {
    display: block !important;
    margin: 22px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  html body #dr#dr footer.dr-mobile-unified-footer .dr-mf-email.dr-mobile-hide-email,
  html body #dr-legal#dr-legal footer.dr-mobile-unified-footer .dr-mf-email.dr-mobile-hide-email {
    display: flex !important;
  }

  #dr-legal .dlh.dlw {
    width: var(--dr-mobile-width) !important;
    height: 68px !important;
  }

  #dr-legal .dlh img {
    display: block !important;
    width: 126px !important;
    height: auto !important;
  }

  #dr-legal .dr-legal-toggle {
    display: grid !important;
    align-self: center !important;
    width: 44px !important;
    height: 44px !important;
    place-items: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  #dr-legal .dr-legal-toggle b {
    display: grid !important;
    gap: 4px !important;
    opacity: 0.82 !important;
  }

  #dr-legal .dr-legal-toggle i {
    display: block !important;
    width: 19px !important;
    height: 1px !important;
    background: var(--dr-ink) !important;
  }

  #dr-legal .dr-legal-menu {
    inset: 68px 0 auto 0 !important;
  }
}
