/* =========================================================
   DER EVEREST — CONTENT PAGES + SERVICE BACKGROUND PATTERN
   v1.3.0
   Service pages use a continuous navy canvas. FAQ/About retain
   their own editorial page system below.
   ========================================================= */

/* ---------------------------------------------------------
   SERVICE SYSTEM — ALL-NAVY CANVAS
   One authoritative late source of truth for generated v5
   service pages and the services index.
   --------------------------------------------------------- */
body .de-service-v5-page,
body .de-service-v5-index {
  --de-s5-navy: #07111F;
  --de-s5-navy-2: #0B1728;
  --de-s5-navy-soft: #101F33;
  --de-s5-cream: #F5EAD2;
  --de-s5-copy: rgba(245, 234, 210, .74);
  --de-s5-copy-strong: rgba(245, 234, 210, .88);
  --de-s5-gold: #C99A39;
  --de-s5-gold-soft: #E0B95A;
  --de-s5-line: rgba(245, 234, 210, .13);
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  background: var(--de-s5-navy) !important;
  color: var(--de-s5-cream) !important;
}

/* Every service section stays navy. Subtle tonal shifts create hierarchy
   without introducing white/light reading panels. */
body .de-service-v5-page .de-service-v5-section,
body .de-service-v5-index .de-service-v5-section,
body .de-service-v5-page .de-service-v5-white,
body .de-service-v5-page .de-service-v5-navy,
body .de-service-v5-page .de-service-v5-gold,
body .de-service-v5-index .de-service-v5-white,
body .de-service-v5-index .de-service-v5-navy {
  background-color: var(--de-s5-navy) !important;
  color: var(--de-s5-cream) !important;
}

body .de-service-v5-page .de-service-v5-section:nth-of-type(even),
body .de-service-v5-index .de-service-v5-section:nth-of-type(even) {
  background-color: var(--de-s5-navy-2) !important;
}

/* Homepage-derived contour/orbit pattern remains restrained and dark. */
body .de-service-v5-page .de-service-v5-section,
body .de-service-v5-index .de-service-v5-section {
  position: relative;
  isolation: isolate;
  background-image:
    radial-gradient(circle at 108% -8%, rgba(201,154,57,.10) 0 10%, transparent 10.4%),
    repeating-radial-gradient(ellipse at 70% 124%, transparent 0 38px, rgba(201,154,57,.035) 39px 40px, transparent 41px 78px),
    linear-gradient(145deg, rgba(7,17,31,.98), rgba(11,23,40,.98)) !important;
}

body .de-service-v5-page .de-service-v5-section:nth-of-type(even),
body .de-service-v5-index .de-service-v5-section:nth-of-type(even) {
  background-image:
    radial-gradient(circle at -6% 108%, rgba(201,154,57,.07) 0 9%, transparent 9.4%),
    repeating-radial-gradient(ellipse at 18% -20%, transparent 0 42px, rgba(201,154,57,.025) 43px 44px, transparent 45px 84px),
    linear-gradient(145deg, #0B1728, #07111F) !important;
}

body .de-service-v5-page .de-service-v5-section > *,
body .de-service-v5-index .de-service-v5-section > * {
  position: relative;
  z-index: 1;
}

/* Hero remains full width and slightly deeper. */
body .de-service-v5-hero {
  background-color: var(--de-s5-navy) !important;
  background-image:
    radial-gradient(circle at 108% -8%, rgba(201,154,57,.18) 0 12%, transparent 12.4%),
    radial-gradient(circle at 108% -8%, transparent 0 14.5%, rgba(201,154,57,.30) 14.7% 14.85%, transparent 15.1%),
    repeating-radial-gradient(ellipse at 66% 122%, transparent 0 32px, rgba(201,154,57,.07) 33px 34px, transparent 35px 66px),
    linear-gradient(145deg, #07111F 0%, #0B1728 100%) !important;
}

/* Typography: cream carries readable content; gold is accent only. */
body .de-service-v5-page .deek-atomic-heading,
body .de-service-v5-index .deek-atomic-heading,
body .de-service-v5-page .deek-service-card-pro__title,
body .de-service-v5-index .deek-service-card-pro__title,
body .de-service-v5-page .deek-service-list strong,
body .de-service-v5-page .deek-method-step h3,
body .de-service-v5-page .deek-faq-item summary {
  color: var(--de-s5-cream) !important;
}

body .de-service-v5-page .deek-atomic-heading em,
body .de-service-v5-index .deek-atomic-heading em,
body .de-service-v5-page .deek-eyebrow,
body .de-service-v5-index .deek-eyebrow,
body .de-service-v5-page .deek-service-card-pro__eyebrow,
body .de-service-v5-index .deek-service-card-pro__eyebrow,
body .de-service-v5-page .deek-method-step__idx {
  color: var(--de-s5-gold-soft) !important;
  background: transparent !important;
}

body .de-service-v5-page .deek-atomic-text,
body .de-service-v5-index .deek-atomic-text,
body .de-service-v5-page .deek-service-card-pro__text,
body .de-service-v5-index .deek-service-card-pro__text,
body .de-service-v5-page .deek-service-list p,
body .de-service-v5-page .deek-method-step p,
body .de-service-v5-page .deek-faq-item__answer {
  color: var(--de-s5-copy) !important;
}

/* Cards/panels stay navy — never white. */
body .de-service-v5-page .deek-service-card-pro,
body .de-service-v5-index .deek-service-card-pro,
body .de-service-v5-page .deek-service-card-pro.is-fact,
body .de-service-v5-page .deek-service-card-pro.is-proof,
body .de-service-v5-page .deek-method-step {
  background: rgba(16,31,51,.72) !important;
  color: var(--de-s5-cream) !important;
  border-color: var(--de-s5-line) !important;
  box-shadow: none !important;
}

body .de-service-v5-page .deek-service-card-pro:hover,
body .de-service-v5-index .deek-service-card-pro:hover {
  background: rgba(16,31,51,.94) !important;
  border-color: rgba(201,154,57,.46) !important;
}

body .de-service-v5-page .deek-service-card-pro__link,
body .de-service-v5-index .deek-service-card-pro__link {
  color: var(--de-s5-gold-soft) !important;
  border-top-color: var(--de-s5-line) !important;
}

body .de-service-v5-page .deek-service-card-pro__icon,
body .de-service-v5-index .deek-service-card-pro__icon,
body .de-service-v5-page .deek-service-list__marker,
body .de-service-v5-page .deek-service-card-pro__link-icon {
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--de-s5-gold-soft) !important;
}

/* Lists/dividers */
body .de-service-v5-page .deek-service-list,
body .de-service-v5-page .deek-service-list__item,
body .de-service-v5-page .de-service-v5-step-grid,
body .de-service-v5-page .de-service-v5-quote-layout .de-service-v5-two-grid,
body .de-service-v5-page .de-service-v5-directory {
  border-color: var(--de-s5-line) !important;
}

/* Split and route surfaces remain dark. */
body .de-service-v5-page .de-service-v5-split-media,
body .de-service-v5-page .de-service-v5-route,
body .de-service-v5-page .de-service-v5-quote-copy,
body .de-service-v5-page .de-service-v5-faq-copy {
  background-color: transparent !important;
}

body .de-service-v5-page .de-service-v5-route .deek-service-card-pro {
  background: rgba(7,17,31,.88) !important;
}

/* Special section: no gold background. Gold becomes a line/accent. */
body .de-service-v5-page .de-service-v5-special > .de-service-v5-shell {
  padding-block: clamp(44px, 6vw, 72px) !important;
  border-top: 1px solid rgba(201,154,57,.42);
  border-bottom: 1px solid rgba(201,154,57,.42);
  background: rgba(16,31,51,.45) !important;
}

body .de-service-v5-page .de-service-v5-special .deek-atomic-heading,
body .de-service-v5-page .de-service-v5-special .deek-atomic-text {
  color: var(--de-s5-cream) !important;
}

body .de-service-v5-page .de-service-v5-special .deek-eyebrow,
body .de-service-v5-page .de-service-v5-special .deek-atomic-heading em {
  color: var(--de-s5-gold-soft) !important;
}

/* FAQ is dark, high-contrast, flat and editable. */
body .de-service-v5-page .deek-faq-item {
  border-top-color: var(--de-s5-line) !important;
}
body .de-service-v5-page .deek-faq-item:last-child {
  border-bottom-color: var(--de-s5-line) !important;
}
body .de-service-v5-page .deek-faq-item__toggle {
  width: auto !important;
  height: auto !important;
  flex: 0 0 auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--de-s5-gold-soft) !important;
}

/* CTA stays gold on navy for maximum contrast. */
body .de-service-v5-page .deek-button:not(.is-ghost):not(.is-plain),
body .de-service-v5-index .deek-button:not(.is-ghost):not(.is-plain) {
  background: var(--de-s5-gold) !important;
  border-color: var(--de-s5-gold) !important;
  color: var(--de-s5-navy) !important;
}
body .de-service-v5-page .deek-button:not(.is-ghost):not(.is-plain):hover,
body .de-service-v5-index .deek-button:not(.is-ghost):not(.is-plain):hover {
  background: var(--de-s5-gold-soft) !important;
  border-color: var(--de-s5-gold-soft) !important;
  color: var(--de-s5-navy) !important;
}

/* Final CTA remains part of the same dark canvas, separated by a gold line. */
body .de-service-v5-page .de-service-v5-final {
  border-top: 1px solid rgba(201,154,57,.34) !important;
}
body .de-service-v5-page .de-service-v5-final > .de-service-v5-shell {
  background: rgba(11,23,40,.78) !important;
  border: 1px solid rgba(201,154,57,.24);
}

/* Services index: dark directory cards and readable links. */
body .de-service-v5-index .de-service-v5-directory {
  border-color: var(--de-s5-line) !important;
}

@media (max-width: 900px) {
  body .de-service-v5-page .de-service-v5-section:not(.de-service-v5-hero),
  body .de-service-v5-index .de-service-v5-section:not(.de-service-v5-hero) {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ---------------------------------------------------------
   Shared editorial content pages
   --------------------------------------------------------- */
body .de-content-page,
body .de-content-page * {
  box-sizing: border-box;
}

body .de-content-page {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  color: #101F33;
  background: #F7F5F1;
}

body .de-content-section {
  width: 100%;
  position: relative;
}

body .de-content-shell {
  width: min(100% - 64px, 1240px) !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
}

body .de-content-light {
  padding: clamp(72px, 8vw, 118px) 0;
  background: #FFFFFF;
}

body .de-content-section-intro {
  gap: 16px !important;
  margin-bottom: clamp(34px, 5vw, 58px);
}

body .de-content-section-intro .deek-atomic-heading {
  max-width: 820px;
}

/* Hero: the only full-bleed dark page moment. */
body .de-content-hero {
  min-height: clamp(560px, 68vh, 760px);
  display: flex;
  align-items: center;
  padding: clamp(72px, 8vw, 112px) 0;
  overflow: hidden;
  background-color: #07111F;
  color: #F5EAD2;
}

body .de-content-hero-pattern {
  background-image:
    radial-gradient(circle at 105% -5%, rgba(201,154,57,.24) 0 14%, transparent 14.4%),
    radial-gradient(circle at 105% -5%, transparent 0 16%, rgba(201,154,57,.34) 16.15% 16.3%, transparent 16.5%),
    repeating-radial-gradient(ellipse at 64% 118%, transparent 0 34px, rgba(201,154,57,.065) 35px 36px, transparent 37px 70px),
    linear-gradient(145deg, #07111F 0%, #0B1728 100%);
}

body .de-content-hero-copy,
body .de-about-hero-copy,
body .de-about-story-copy,
body .de-faq-side {
  gap: 18px !important;
}

body .de-content-hero .deek-atomic-heading.is-hero {
  max-width: 820px;
  font-size: clamp(48px, 6vw, 86px);
  line-height: .98;
}

body .de-content-hero .deek-atomic-text {
  color: rgba(245,234,210,.76) !important;
}

/* About */
body .de-about-hero-grid,
body .de-about-story-grid,
body .de-about-gold-grid,
body .de-content-dark-card,
body .de-content-final-card {
  display: grid !important;
  align-items: center !important;
  gap: clamp(42px, 6vw, 88px) !important;
}

body .de-about-hero-grid {
  grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr);
}

body .de-about-hero-media,
body .de-about-story-media {
  overflow: hidden;
  min-height: 500px;
  border: 1px solid rgba(201,154,57,.28);
}

body .de-about-hero-media .elementor-widget-container,
body .de-about-story-media .elementor-widget-container,
body .de-about-hero-media img,
body .de-about-story-media img {
  width: 100%;
  height: 100%;
  min-height: 500px;
}

body .de-about-hero-media img,
body .de-about-story-media img {
  display: block;
  object-fit: cover;
}

body .de-about-story-grid {
  grid-template-columns: minmax(0,.92fr) minmax(420px,1.08fr);
}

body .de-about-four-grid,
body .de-about-two-grid,
body .de-about-three-grid {
  display: grid !important;
  gap: 0 !important;
}

body .de-about-four-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
body .de-about-two-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
body .de-about-three-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }

body .de-about-four-grid .deek-service-card-pro,
body .de-about-two-grid .deek-service-card-pro {
  height: 100%;
  border-radius: 0;
  box-shadow: none;
}

body .de-about-four-grid .deek-service-card-pro__icon,
body .de-about-two-grid .deek-service-card-pro__icon {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #C99A39 !important;
}

body .de-content-gold {
  padding: clamp(72px, 8vw, 112px) 0;
  background: #FFFFFF;
}

body .de-content-gold > .de-content-shell {
  padding: clamp(46px, 6vw, 78px) clamp(30px, 5vw, 70px) !important;
  background: #C99A39;
  color: #07111F;
}

body .de-about-gold-grid {
  grid-template-columns: minmax(320px,.78fr) minmax(0,1.22fr);
}

body .de-content-gold .deek-atomic-heading,
body .de-content-gold .deek-atomic-heading em,
body .de-content-gold .deek-atomic-text,
body .de-content-gold .deek-eyebrow {
  color: #07111F !important;
}

body .de-about-three-grid .deek-method-step {
  min-height: 250px;
  padding: 32px 28px;
  background: #fff;
  border: 1px solid rgba(7,17,31,.12);
  border-right: 0;
}

body .de-about-three-grid > .elementor-element:last-child .deek-method-step {
  border-right: 1px solid rgba(7,17,31,.12);
}

body .de-about-three-grid .deek-method-step__idx {
  display: inline-flex;
  width: max-content;
  padding: 7px 9px;
  background: #C99A39;
  color: #07111F !important;
}

body .de-about-three-grid .deek-method-step h3 { color: #101F33 !important; }
body .de-about-three-grid .deek-method-step p { color: #586877 !important; }

body .de-about-proof {
  padding-top: 0;
}

body .de-content-dark-card,
body .de-content-final-card {
  grid-template-columns: minmax(0,1fr) auto;
  padding: clamp(42px,5vw,68px) clamp(28px,5vw,64px) !important;
  background-color: #07111F;
  background-image:
    radial-gradient(circle at 105% -10%, rgba(201,154,57,.15) 0 16%, transparent 16.4%),
    repeating-radial-gradient(ellipse at 70% 125%, transparent 0 34px, rgba(201,154,57,.06) 35px 36px, transparent 37px 70px),
    linear-gradient(145deg,#07111F,#0B1728);
  border: 1px solid rgba(201,154,57,.24);
  color: #F5EAD2;
}

body .de-content-dark-card .deek-atomic-text,
body .de-content-final-card .deek-atomic-text {
  color: rgba(245,234,210,.72) !important;
}

body .de-content-final {
  padding: 0 0 clamp(72px,8vw,112px);
  background: #FFFFFF;
}

/* FAQ */
body .de-faq-page .de-content-hero {
  min-height: 520px;
}

body .de-faq-layout {
  display: grid !important;
  grid-template-columns: minmax(300px,.68fr) minmax(0,1.32fr);
  gap: clamp(42px,6vw,88px) !important;
  align-items: start !important;
}

body .de-faq-side {
  position: sticky;
  top: calc(var(--de-header-height, 80px) + 30px);
}

body .de-faq-items {
  gap: 0 !important;
}

body .de-faq-page .deek-faq-item {
  border-top: 1px solid rgba(7,17,31,.14) !important;
}

body .de-faq-page .deek-faq-item:last-child {
  border-bottom: 1px solid rgba(7,17,31,.14) !important;
}

body .de-faq-page .deek-faq-item summary {
  color: #101F33 !important;
  padding: 24px 0;
  font-size: 16px;
}

body .de-faq-page .deek-faq-item__answer {
  color: #586877 !important;
  padding: 0 48px 24px 0;
}

body .de-faq-page .deek-faq-item__toggle {
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #07111F !important;
}

/* Keep editable widgets readable in Elementor editor. */
body.elementor-editor-active .de-content-page .deek-reveal,
body.elementor-editor-active .de-service-v5-page .deek-reveal {
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 1024px) {
  body .de-content-shell { width: min(100% - 40px, 920px) !important; }
  body .de-about-hero-grid,
  body .de-about-story-grid,
  body .de-about-gold-grid { grid-template-columns: minmax(0,1fr) minmax(340px,.9fr); }
  body .de-about-four-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body .de-faq-layout { grid-template-columns: minmax(260px,.62fr) minmax(0,1.38fr); }
}

@media (max-width: 820px) {
  body .de-content-shell { width: min(100% - 28px, 760px) !important; }
  body .de-content-hero { min-height: auto; padding: 68px 0; }
  body .de-about-hero-grid,
  body .de-about-story-grid,
  body .de-about-gold-grid,
  body .de-faq-layout,
  body .de-content-dark-card,
  body .de-content-final-card { grid-template-columns: 1fr; }
  body .de-faq-side { position: static; }
  body .de-about-hero-media,
  body .de-about-story-media,
  body .de-about-hero-media .elementor-widget-container,
  body .de-about-story-media .elementor-widget-container,
  body .de-about-hero-media img,
  body .de-about-story-media img { min-height: 400px; }
  body .de-about-three-grid { grid-template-columns: 1fr; }
  body .de-about-three-grid .deek-method-step { border-right: 1px solid rgba(7,17,31,.12); border-bottom: 0; }
  body .de-about-three-grid > .elementor-element:last-child .deek-method-step { border-bottom: 1px solid rgba(7,17,31,.12); }
}

@media (max-width: 640px) {
  body .de-content-shell { width: calc(100% - 20px) !important; }
  body .de-content-light,
  body .de-content-gold { padding: 58px 0; }
  body .de-content-hero .deek-atomic-heading.is-hero { font-size: clamp(42px,13vw,62px); }
  body .de-about-four-grid,
  body .de-about-two-grid { grid-template-columns: 1fr; }
  body .de-about-hero-media,
  body .de-about-story-media,
  body .de-about-hero-media .elementor-widget-container,
  body .de-about-story-media .elementor-widget-container,
  body .de-about-hero-media img,
  body .de-about-story-media img { min-height: 320px; }
  body .de-content-dark-card,
  body .de-content-final-card { padding: 34px 22px !important; }
  body .de-faq-page .deek-faq-item__answer { padding-right: 8px; }
}
