/* Quiet editorial canvas for internal pages. The homepage deliberately keeps
 * its established section-by-section art direction. */
html.light[data-theme="light"] body:not(.home-page) {
  --internal-page-surface: #f5f6f4;
  --internal-page-accent:
    radial-gradient(circle at 0 0, rgba(101, 121, 130, 0.055), transparent 31rem),
    radial-gradient(circle at 100% 5rem, rgba(158, 166, 168, 0.07), transparent 28rem);
}

html:not([data-theme="light"]) body:not(.home-page) {
  --internal-page-surface: #0c0e0e;
  --internal-page-accent:
    radial-gradient(circle at 0 0, rgba(177, 124, 74, 0.075), transparent 32rem),
    radial-gradient(circle at 100% 5rem, rgba(91, 123, 130, 0.05), transparent 30rem);
}

/* Internal pages stay calm and readable. Only a restrained tonal accent is
 * retained at the top edge; there is no repeating decorative artwork. */
html[data-theme] body:not(.home-page):not(.home-page):not(.home-page) {
  background-color: var(--internal-page-surface) !important;
  background-image: var(--internal-page-accent) !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-size: 100% min(760px, 62vh) !important;
  background-attachment: scroll !important;
}

/* Long-form reading pages are intentionally completely undecorated. */
html[data-theme] body.article-reading-page:not(.home-page):not(.home-page):not(.home-page) {
  background-image: none !important;
}

/* Reliable editorial contrast on every internal page. These rules are loaded
 * last so page-specific muted colors cannot fade into the shared canvas. */
html.light[data-theme="light"] body:not(.home-page) main#top#top#top :is(h1, h2, h3, h4, h5, h6, summary, strong) {
  color: #172a36 !important;
}

html.light[data-theme="light"] body:not(.home-page) main#top#top#top :is(p, li, td, th, small, figcaption, blockquote) {
  color: #3c4b54 !important;
}

html.light[data-theme="light"] body:not(.home-page) main#top#top#top :is(
  .media-section,
  .service-final-cta,
  .subscription-final-cta,
  .pricing-choice-cta,
  .article-final-cta,
  .article-archive-cta
) :is(h1, h2, h3, h4, h5, h6, p, li, small, strong) {
  color: #f6f2ea !important;
}

html:not([data-theme="light"]) body:not(.home-page) main#top#top#top :is(h1, h2, h3, h4, h5, h6, summary, strong) {
  color: #f4efe7 !important;
  text-shadow: 0 1px 14px rgba(0, 0, 0, 0.28) !important;
}

html:not([data-theme="light"]) body:not(.home-page) main#top#top#top :is(p, li, td, th, small, figcaption, blockquote) {
  color: rgba(244, 239, 231, 0.86) !important;
}

html:not([data-theme="light"]) body:not(.home-page) main#top#top#top :is(
  .section-kicker,
  .subscription-eyebrow,
  .pricing-eyebrow,
  .service-eyebrow,
  .article-eyebrow
) {
  color: #d2a06d !important;
}

/* Both themes share the exact same content width behaviour, but main itself is
 * transparent so it cannot clip the viewport-wide decorative canvas. */
html body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Direct page sections must not create separate horizontal background bands.
 * The photographic contact section is the only deliberate exception. */
html body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top > :not(.media-section) {
  background-color: transparent !important;
  background-image: none !important;
}

/* Keep internal sections on the shared clean canvas. Media sections are
 * omitted so photographic hero/CTA artwork remains intact. */
html body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .section:not(.media-section),
  .light-block-tone-1.light-block-tone-1,
  .light-block-tone-2.light-block-tone-2,
  .light-block-tone-3.light-block-tone-3,
  .pricing-block.pricing-block,
  .pricing-hero.pricing-hero,
  .pricing-direction.pricing-direction,
  .pricing-decision-panel.pricing-decision-panel,
  .pricing-choice-cta.pricing-choice-cta,
  .service-hero.service-hero,
  .service-choice-panel.service-choice-panel,
  .service-quick-overview.service-quick-overview,
  .service-final-cta.service-final-cta,
  .article-archive-hero.article-archive-hero,
  .article-archive-tools.article-archive-tools,
  .article-summary.article-summary,
  .subscription-hero.subscription-hero,
  .subscription-section-header.subscription-section-header,
  .subscription-benefits.subscription-benefits,
  .subscription-plans-section.subscription-plans-section,
  .subscription-comparison-section.subscription-comparison-section,
  .subscription-faq-section.subscription-faq-section,
  .subscription-final-cta.subscription-final-cta,
  .contacts-panel.contacts-panel,
  .legal-page-header.legal-page-header
) {
  background-color: transparent !important;
  background-image: none !important;
  background-position: 0 0 !important;
  background-repeat: no-repeat !important;
  background-size: auto !important;
}

@media (max-width: 680px) {
  html[data-theme] body:not(.home-page):not(.home-page):not(.home-page) {
    background-size: 100% 34rem !important;
  }
}
/* Shared internal-page heading block.
 * All catalogue, service, pricing, subscription, article and policy pages
 * use the same visual frame while keeping their existing content structure. */
html[data-theme] body:not(.home-page) {
  --page-heading-surface: url("/assets/hero-legal-consulting-generated-header.webp");
  --page-heading-tint: rgba(7, 20, 31, 0.72);
  --page-heading-ink: #f6f1e9;
  --page-heading-copy: rgba(246, 241, 233, 0.82);
  --page-heading-kicker: #d5a16d;
}

html.light[data-theme="light"] body:not(.home-page) {
  --page-heading-tint: rgba(10, 27, 40, 0.66);
  --page-heading-ink: #ffffff;
  --page-heading-copy: rgba(255, 255, 255, 0.84);
  --page-heading-kicker: #e0ad78;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
) {
  position: relative !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 524px !important;
  margin-top: clamp(24px, 3vw, 38px) !important;
  margin-bottom: clamp(42px, 6vw, 72px) !important;
  padding: clamp(34px, 5vw, 64px) !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: var(--page-heading-tint) !important;
  background-image: var(--page-heading-surface) !important;
  background-position: center right !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-blend-mode: multiply !important;
  box-shadow: none !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
)::before {
  display: none !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
)::after {
  position: absolute !important;
  z-index: 2 !important;
  right: auto !important;
  bottom: 0 !important;
  left: clamp(34px, 5vw, 64px) !important;
  width: 96px !important;
  height: 3px !important;
  background: var(--page-heading-kicker) !important;
  content: "" !important;
  pointer-events: none !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
) :is(h1, h2, h3, strong) {
  color: var(--page-heading-ink) !important;
  text-shadow: none !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
) :is(p, span, small, time) {
  color: var(--page-heading-copy) !important;
  text-shadow: none !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
) :is(.section-kicker, .subscription-eyebrow, .article-eyebrow, .legal-document-kicker, > div > p:first-child) {
  color: var(--page-heading-kicker) !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
) h1 {
  max-width: 940px !important;
  font-size: clamp(2.5rem, 4.25vw, 4.15rem) !important;
  line-height: 1.04 !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
) h1 :is(span, em, strong) {
  color: var(--page-heading-ink) !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top .service-archive-inner > .section-copy:first-of-type {
  display: grid !important;
  align-content: center !important;
  justify-items: start !important;
  max-width: none !important;
}

html[data-theme] body.article-reading-page main#top#top#top#top#top#top#top#top#top#top .article-hero.article-hero {
  min-height: 524px !important;
  padding: clamp(34px, 5vw, 64px) !important;
}

/* Some legacy page styles use an intentionally heavy selector to clear old
 * imagery. This final rule keeps the shared decorative surface authoritative. */
html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
) {
  background-color: var(--page-heading-tint) !important;
  background-image: var(--page-heading-surface) !important;
  background-position: center right !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-blend-mode: multiply !important;
}

@media (max-width: 760px) {
  html[data-theme] body:not(.home-page) {
    --page-heading-surface: url("/assets/hero-legal-consulting-generated-header-mobile.webp");
  }

  html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top :is(
    .service-archive-inner > .section-copy:first-of-type,
    .service-hero,
    .pricing-hero,
    .subscription-hero-grid,
    .article-archive-hero,
    .article-hero,
    .legal-page-header
  ) {
    min-height: 320px !important;
    height: auto !important;
    margin-top: 20px !important;
    margin-bottom: 38px !important;
    padding: 28px 22px 34px !important;
    border-radius: 0 !important;
  }

  html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top :is(
    .service-archive-inner > .section-copy:first-of-type,
    .service-hero,
    .pricing-hero,
    .subscription-hero-grid,
    .article-archive-hero,
    .article-hero,
    .legal-page-header
  )::after {
    left: 22px !important;
  }

  html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top :is(
    .service-archive-inner > .section-copy:first-of-type,
    .service-hero,
    .pricing-hero,
    .subscription-hero-grid,
    .article-archive-hero,
    .article-hero,
    .legal-page-header
  ) h1 {
    font-size: clamp(2.1rem, 10vw, 3rem) !important;
  }
}

/* Shared closing CTA artwork.
 * Every internal catalogue and detail page uses the same theme-aware faceted
 * surface for its final action panel. */
html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .subscription-final-cta.subscription-final-cta,
  .service-final-cta.service-final-cta,
  .pricing-choice-cta.pricing-choice-cta,
  .article-final-cta.article-final-cta,
  .article-archive-cta.article-archive-cta
) {
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;
  border-color: rgba(141, 87, 47, 0.28) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* The artwork already separates the closing panel from the preceding content.
 * A border here reads as an accidental full-width rule between sections, so
 * keep that transition clean in both themes on every internal page. */
html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .subscription-final-cta.subscription-final-cta,
  .service-final-cta.service-final-cta,
  .pricing-choice-cta.pricing-choice-cta,
  .article-final-cta.article-final-cta,
  .article-archive-cta.article-archive-cta
) {
  border-top: 0 !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .subscription-final-cta.subscription-final-cta,
  .service-final-cta.service-final-cta,
  .pricing-choice-cta.pricing-choice-cta,
  .article-final-cta.article-final-cta,
  .article-archive-cta.article-archive-cta
)::before {
  position: absolute !important;
  inset-block: 0 !important;
  right: auto !important;
  left: calc(50% + var(--internal-heading-rail-extension) / 2) !important;
  z-index: 0 !important;
  display: block !important;
  width: calc(100vw + var(--internal-heading-rail-extension)) !important;
  height: auto !important;
  background-color: var(--internal-panel-surface, var(--internal-heading-surface)) !important;
  background-image: var(--internal-panel-art, var(--internal-heading-art)) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  content: "" !important;
  pointer-events: none !important;
  opacity: 1 !important;
  transform: translateX(-50%) !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .subscription-final-cta.subscription-final-cta,
  .service-final-cta.service-final-cta,
  .pricing-choice-cta.pricing-choice-cta,
  .article-final-cta.article-final-cta,
  .article-archive-cta.article-archive-cta
) > * {
  position: relative !important;
  z-index: 1 !important;
}

html.light[data-theme="light"] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .subscription-final-cta.subscription-final-cta,
  .service-final-cta.service-final-cta,
  .pricing-choice-cta.pricing-choice-cta,
  .article-final-cta.article-final-cta,
  .article-archive-cta.article-archive-cta
) :is(h2, h3, strong) {
  color: var(--internal-heading-ink) !important;
  -webkit-text-fill-color: var(--internal-heading-ink) !important;
  text-shadow: none !important;
}

html.light[data-theme="light"] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .subscription-final-cta.subscription-final-cta,
  .service-final-cta.service-final-cta,
  .pricing-choice-cta.pricing-choice-cta,
  .article-final-cta.article-final-cta,
  .article-archive-cta.article-archive-cta
) :is(p, li) {
  color: var(--internal-heading-copy) !important;
  -webkit-text-fill-color: var(--internal-heading-copy) !important;
}

html.light[data-theme="light"] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .subscription-final-cta.subscription-final-cta,
  .service-final-cta.service-final-cta,
  .pricing-choice-cta.pricing-choice-cta,
  .article-final-cta.article-final-cta,
  .article-archive-cta.article-archive-cta
) :is(.subscription-eyebrow, .section-kicker) {
  color: var(--internal-heading-accent) !important;
  -webkit-text-fill-color: var(--internal-heading-accent) !important;
}

/* Continue every closing artwork through its page's trailing space, so the
 * decorated canvas meets the footer in both themes. Subscription CTA is a
 * standalone full-width section and already touches the footer directly. */
html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .service-final-cta.service-final-cta,
  .pricing-choice-cta.pricing-choice-cta,
  .article-final-cta.article-final-cta,
  .article-archive-cta.article-archive-cta
)::before {
  bottom: calc(-1 * (var(--section-gap) + 24px)) !important;
}

/* The generated dark-layout mirror hides both visual variants. Restore the
 * bronze service artwork in dark mode while keeping the light asset hidden. */
html:not([data-theme="light"]) body.services-page main#top#top#top#top#top#top#top#top
  .service-directory-card .service-directory-card-media.theme-visual-dark {
  display: block !important;
}

html:not([data-theme="light"]) body.services-page main#top#top#top#top#top#top#top#top
  .service-directory-card .service-directory-card-media.theme-visual-light {
  display: none !important;
}

/* Dark article cards use the calm solid graphite surface from the visual
 * reference. Keep every state free of image and gradient layers. */
html:not([data-theme="light"]) body main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .article-card.article-card,
  .article-card-home.article-card-home,
  .article-directory-card.article-directory-card
) {
  background: #151817 !important;
  background-color: #151817 !important;
  background-image: none !important;
}

html:not([data-theme="light"]) body main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .article-card.article-card,
  .article-card-home.article-card-home,
  .article-directory-card.article-directory-card
)::before {
  display: block !important;
  background-image: var(--article-card-image) !important;
  filter: saturate(0.55) contrast(1.08) brightness(0.48) !important;
  opacity: 0.34 !important;
  content: "" !important;
}

html:not([data-theme="light"]) body main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .article-card.article-card,
  .article-card-home.article-card-home,
  .article-directory-card.article-directory-card
)::after {
  display: none !important;
  content: none !important;
}

html:not([data-theme="light"]) body main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .article-card.article-card,
  .article-card-home.article-card-home,
  .article-directory-card.article-directory-card
):is(:hover, :focus-visible) {
  background: #151817 !important;
  background-color: #151817 !important;
  background-image: none !important;
}

.legal-document-layout {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}

.legal-content--editorial {
  width: min(100%, 900px) !important;
  margin-inline: auto !important;
}

/* 2026-10 internal heading refresh.
 * In light mode, internal page titles borrow the full-bleed faceted language
 * of the homepage Popular Services section. The artwork lives on a viewport-wide
 * pseudo-element so title content can keep the site's normal container width. */
html[data-theme] body:not(.home-page) {
  --internal-heading-surface: #e7eaed;
  --internal-heading-art:
    linear-gradient(90deg, rgba(67, 84, 95, 0.035), rgba(67, 84, 95, 0.075)),
    var(--section-faceted-strata);
  --internal-panel-surface: #e7eaed;
  --internal-panel-art:
    linear-gradient(90deg, rgba(255, 255, 255, 0.16), rgba(77, 89, 101, 0.027)),
    var(--section-faceted-cross);
  --internal-heading-ink: #172a36;
  --internal-heading-copy: rgba(23, 42, 54, 0.78);
  --internal-heading-accent: #8d572f;
  --internal-heading-top-extension: clamp(150px, 18vw, 235px);
  --internal-heading-rail-extension: clamp(72px, 9vw, 120px);
}

html:not([data-theme="light"]) body:not(.home-page) {
  --internal-heading-surface: #0f1111;
  --internal-heading-art: var(--section-faceted-strata);
  --internal-panel-surface: #0f1111;
  --internal-panel-art: var(--section-faceted-strata);
  --internal-heading-ink: #f4efe7;
  --internal-heading-copy: rgba(244, 239, 231, 0.82);
  --internal-heading-accent: #d2a06d;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
) {
  position: relative !important;
  isolation: isolate !important;
  min-height: clamp(350px, 30vw, 390px) !important;
  margin-top: -24px !important;
  margin-bottom: clamp(32px, 3vw, 42px) !important;
  padding: clamp(28px, 2.5vw, 36px) clamp(30px, 4vw, 52px) !important;
  width: 100% !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
)::before {
  position: absolute !important;
  top: calc(-1 * var(--internal-heading-top-extension)) !important;
  right: auto !important;
  bottom: 0 !important;
  left: calc(50% + var(--internal-heading-rail-extension) / 2) !important;
  z-index: 0 !important;
  display: block !important;
  width: calc(100vw + var(--internal-heading-rail-extension)) !important;
  height: auto !important;
  background-color: var(--internal-heading-surface) !important;
  background-image: var(--internal-heading-art) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  content: "" !important;
  pointer-events: none !important;
  transform: translateX(-50%) !important;
}

html[data-theme] body:not(.home-page) main#top :is(
  .service-archive-inner,
  .service-detail-inner,
  .pricing-page-inner,
  .subscription-hero-inner,
  .article-archive-inner,
  .article-detail-inner,
  .legal-page-inner
) > .breadcrumbs {
  position: relative !important;
  z-index: 3 !important;
}

/* Photo-backed headers previously needed white copy in both themes. The new
 * light faceted surface restores the original dark editorial palette. */
html.light[data-theme="light"] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
) :is(h1, h1 em, h1 span, h1 strong, h2, h3, strong) {
  color: var(--internal-heading-ink) !important;
  -webkit-text-fill-color: var(--internal-heading-ink) !important;
  text-shadow: none !important;
}

html.light[data-theme="light"] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
) :is(p, span, small, time) {
  color: var(--internal-heading-copy) !important;
  -webkit-text-fill-color: var(--internal-heading-copy) !important;
  text-shadow: none !important;
}

html.light[data-theme="light"] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
) :is(.section-kicker, .subscription-eyebrow, .article-eyebrow, .legal-document-kicker, > div > p:first-child) {
  color: var(--internal-heading-accent) !important;
  -webkit-text-fill-color: var(--internal-heading-accent) !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .service-archive-inner > .section-copy:first-of-type,
  .service-hero,
  .pricing-hero,
  .subscription-hero-grid,
  .article-archive-hero,
  .article-hero,
  .legal-page-header
) > * {
  position: relative !important;
  z-index: 1 !important;
}

/* The contacts page is itself a single hero. Remove its photograph as well,
 * while leaving the homepage contact CTA untouched. */
html[data-theme] body.contact-page-view main#top#top#top#top#top#top#top#top > .cta.media-section#contacts {
  border-color: rgba(141, 87, 47, 0.28) !important;
  background-color: var(--internal-heading-surface) !important;
  background-image: var(--internal-heading-art) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
}

html[data-theme] body.contact-page-view main#top#top#top#top#top#top#top#top > .cta.media-section#contacts .media-overlay {
  display: none !important;
}

@media (max-width: 760px) {
  html[data-theme] body:not(.home-page) {
    --internal-heading-top-extension: 128px;
    --internal-heading-rail-extension: 0px;
  }

  html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
    .service-archive-inner > .section-copy:first-of-type,
    .service-hero,
    .pricing-hero,
    .subscription-hero-grid,
    .article-archive-hero,
    .article-hero,
    .legal-page-header
  ) {
    min-height: 300px !important;
    margin-top: -12px !important;
    margin-bottom: 34px !important;
    padding: 26px 20px 32px !important;
  }
}

/* Final dark reading surfaces: keep the long-form reading canvas solid
 * graphite, while page headings retain the shared faceted artwork used by
 * the other internal pages. */
html:not([data-theme="light"]) body:not(.home-page):not(#solid-reading-surface) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .article-detail-page,
  .article-summary,
  .article-summary-card,
  .article-markdown,
  .legal-page--editorial,
  .legal-content--editorial
) {
  background: #151817 !important;
  background-color: #151817 !important;
  background-image: none !important;
  background-blend-mode: normal !important;
}

html:not([data-theme="light"]) body:not(.home-page):not(#solid-reading-surface) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .article-detail-page,
  .article-reading-card,
  .article-summary,
  .article-summary-card,
  .article-markdown,
  .legal-page--editorial,
  .legal-content--editorial
)::before,
html:not([data-theme="light"]) body:not(.home-page):not(#solid-reading-surface) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top :is(
  .article-detail-page,
  .article-reading-card,
  .article-summary,
  .article-summary-card,
  .article-markdown,
  .legal-page--editorial,
  .legal-content--editorial
)::after {
  display: none !important;
  background: none !important;
  background-image: none !important;
  content: none !important;
}

html:not([data-theme="light"]) body .legal-content--editorial :is(h2, h3, h4, strong) {
  color: #f4efe7 !important;
}

html:not([data-theme="light"]) body .legal-content--editorial :is(p, li) {
  color: rgba(244, 239, 231, 0.82) !important;
}

html:not([data-theme="light"]) body .legal-content--editorial a {
  color: #d2a06d !important;
  text-decoration-color: rgba(210, 160, 109, 0.48) !important;
}

/* Page heading size system
 *
 * Primary section indexes share one generous visual stage, detail and legal
 * pages use a calmer compact stage, and article covers retain a taller media
 * stage. The semantic classes keep new pages aligned with the same system. */
html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top .page-heading.page-heading--primary {
  min-height: 560px !important;
  height: 560px !important;
  max-height: 560px !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top .page-heading.page-heading--compact {
  min-height: 400px !important;
  height: 400px !important;
  max-height: 400px !important;
}

html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top .page-heading.page-heading--media {
  min-height: 520px !important;
  height: 520px !important;
  max-height: 520px !important;
}

/* The contacts header is one column of a larger form section, so its tier
 * controls rhythm without forcing the entire form into a fixed-height box. */
html[data-theme] body.contact-page-view main#top#top#top#top#top#top#top#top .cta-copy.page-heading--compact {
  min-height: 400px !important;
  height: 400px !important;
  max-height: 400px !important;
  align-content: center;
}

@media (max-width: 760px) {
  html[data-theme] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top#top .page-heading:is(
    .page-heading--primary,
    .page-heading--compact,
    .page-heading--media
  ),
  html[data-theme] body.contact-page-view main#top#top#top#top#top#top#top#top .cta-copy.page-heading--compact {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding-block: 26px 32px !important;
  }
}
