/* O13.3 Global theme inheritance enclosure
   Hard-binds public route background tokens so sub-route canvases cannot bleach to flat white.
*/
:root{
  --ol-root-earth:#2B211A;
  --ol-root-earth-2:#33251D;
  --ol-root-brown:#4A3B32;
  --ol-root-sand:#E8DCCB;
  --ol-root-linen:#FDFBF7;
  --ol-root-gold:#D4A373;
  --ol-root-sienna:#A25A38;
  --ol-root-shadow:0 34px 100px rgba(43,33,26,.22);
  --bg-brand-brown:#2B211A;
  --bg-brand-brown-soft:#4A3B32;
  --bg-warm-sand:#E8DCCB;
  --bg-alabaster-linen:#FDFBF7;
}
html,
body{
  margin:0!important;
  min-height:100%!important;
  background:
    radial-gradient(circle at 22% -8%,rgba(212,163,115,.18),transparent 28%),
    linear-gradient(180deg,var(--ol-root-earth) 0%,var(--ol-root-earth-2) 42%,var(--ol-root-earth) 100%)!important;
  overflow-x:clip!important;
}
body[data-oloropa-page],
body[data-oloropa-final],
body[data-ol-page-family],
body[data-cct-tool-page],
body[data-phase8-concierge-scroll="true"]{
  --cct-green:var(--ol-root-brown)!important;
  --cct-green-2:var(--ol-root-brown)!important;
  --cct-forest:var(--ol-root-earth)!important;
  --cct-deep:var(--ol-root-earth)!important;
  --cct-ink:var(--ol-root-earth)!important;
  --cct-muted:rgba(43,33,26,.72)!important;
  --cct-ivory:var(--ol-root-linen)!important;
  --cct-sand:var(--ol-root-sand)!important;
  --cct-gold:var(--ol-root-gold)!important;
  background:
    radial-gradient(circle at 84% 8%,rgba(212,163,115,.16),transparent 30%),
    linear-gradient(180deg,var(--ol-root-earth) 0%,var(--ol-root-earth-2) 34%,var(--ol-root-earth) 100%)!important;
  color:var(--ol-root-earth)!important;
}
body[data-oloropa-page]::before,
body[data-cct-tool-page]::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 18%,rgba(212,163,115,.10),transparent 29%),
    radial-gradient(circle at 88% 20%,rgba(162,90,56,.11),transparent 31%),
    linear-gradient(180deg,var(--ol-root-earth),var(--ol-root-earth-2) 45%,var(--ol-root-earth));
}
body[data-oloropa-page] #main-content,
body[data-oloropa-page] main,
body[data-cct-tool-page] #main-content,
body[data-cct-tool-page] main,
body[data-ol-page-family] #main-content,
body[data-ol-page-family] main{
  background:
    linear-gradient(180deg,
      rgba(43,33,26,.98) 0%,
      rgba(43,33,26,.94) 22%,
      rgba(74,59,50,.92) 38%,
      rgba(232,220,203,.96) 68%,
      rgba(253,251,247,.98) 100%)!important;
  isolation:isolate!important;
}
body[data-oloropa-page="index.php"] #main-content,
body[data-oloropa-page="index.php"] main{
  background:inherit!important;
}
/* Header/footer enclosure: never allow child route canvases to bleach shared chrome. */
.ol-cc-header[data-oloropa-concierge-header],
header.ol-cc-header,
.olx-global-header,
[data-oloropa-global-header]{
  background:
    linear-gradient(180deg,rgba(43,33,26,.94),rgba(43,33,26,.90))!important;
  border-color:rgba(212,163,115,.24)!important;
  color:var(--ol-root-linen)!important;
  box-shadow:0 22px 80px rgba(43,33,26,.30)!important;
  backdrop-filter:blur(24px) saturate(132%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(132%)!important;
}
.ol-cc-header :is(a,button,span,strong,small),
.olx-global-header :is(a,button,span,strong,small){
  color:inherit;
}
.ol-cc-header .ol-cc-brand small,
.olx-global-header .olx-brand-copy small{
  color:rgba(253,251,247,.60)!important;
}
.ol-cc-header .ol-cc-brand strong,
.olx-global-header .olx-brand-copy strong{
  color:var(--ol-root-linen)!important;
}
.ol-cc-header .ol-cc-nav,
.olx-global-nav{
  background:rgba(253,251,247,.055)!important;
  border:1px solid rgba(253,251,247,.10)!important;
}
.ol-cc-header .ol-cc-link,
.olx-global-nav-link{
  color:rgba(253,251,247,.78)!important;
}
.ol-cc-header .ol-cc-link:hover,
.ol-cc-header .ol-cc-link.is-active,
.olx-global-nav-link:hover,
.olx-global-nav-link.is-active{
  background:rgba(253,251,247,.10)!important;
  color:var(--ol-root-linen)!important;
}
.ol-cc-header .ol-cc-cta,
.olx-global-cta{
  color:var(--ol-root-earth)!important;
  background:linear-gradient(135deg,#E7BA78,#C8893E)!important;
  border:1px solid rgba(253,251,247,.16)!important;
}
.ol-cc-footer,
.olx-global-footer,
footer[data-oloropa-global-footer]{
  position:relative!important;
  z-index:5!important;
  background:
    radial-gradient(circle at 16% 0%,rgba(212,163,115,.13),transparent 30%),
    linear-gradient(180deg,var(--ol-root-brown) 0%,var(--ol-root-earth) 48%,#211711 100%)!important;
  color:var(--ol-root-linen)!important;
  border-top:1px solid rgba(212,163,115,.22)!important;
  box-shadow:0 -28px 90px rgba(43,33,26,.20)!important;
}
.ol-cc-footer :is(h1,h2,h3,h4,strong),
.olx-global-footer :is(h1,h2,h3,h4,strong){
  color:var(--ol-root-linen)!important;
}
.ol-cc-footer :is(p,span,small,li),
.olx-global-footer :is(p,span,small,li){
  color:rgba(253,251,247,.70)!important;
}
.ol-cc-footer a,
.olx-global-footer a{
  color:rgba(253,251,247,.78)!important;
}
.ol-cc-footer a:hover,
.olx-global-footer a:hover{
  color:var(--ol-root-gold)!important;
}
/* CCT / secondary public route hero and section background reconciliation. */
body[data-cct-tool-page] .cct-hero,
body[data-cct-tool-page] .sp-hero.cct-hero,
body[data-ol-page-family="cct"] .cct-hero,
body[data-phase8-concierge-scroll="true"] .cct-hero{
  background:
    radial-gradient(circle at 70% 28%,rgba(212,163,115,.11),transparent 32%),
    linear-gradient(180deg,rgba(43,33,26,.98),rgba(43,33,26,.86) 56%,rgba(43,33,26,.96))!important;
  color:var(--ol-root-linen)!important;
}
body[data-cct-tool-page] .cct-hero::before,
body[data-phase8-concierge-scroll="true"] .cct-hero::before{
  background:
    radial-gradient(circle at 22% 18%,rgba(212,163,115,.12),transparent 38%),
    linear-gradient(180deg,rgba(43,33,26,.88),rgba(43,33,26,.48) 50%,rgba(43,33,26,.86))!important;
}
body[data-cct-tool-page] .cct-hero-copy,
body[data-cct-tool-page] .cct-hero-copy :is(h1,h2,h3,p),
body[data-cct-tool-page] .sp-hero-copy,
body[data-cct-tool-page] .sp-hero-copy :is(h1,h2,h3,p){
  color:var(--ol-root-linen)!important;
}
body[data-cct-tool-page] .cct-section,
body[data-cct-tool-page] .sp-section,
body[data-ol-page-family="cct"] .cct-section,
body[data-ol-page-family="cct"] .sp-section{
  background:
    radial-gradient(circle at 12% 12%,rgba(212,163,115,.10),transparent 30%),
    linear-gradient(180deg,rgba(253,251,247,.96),rgba(232,220,203,.94) 58%,rgba(253,251,247,.98))!important;
  color:var(--ol-root-earth)!important;
}
body[data-cct-tool-page] .cct-section.dark,
body[data-cct-tool-page] .sp-section.dark,
body[data-cct-tool-page] .cct-section.earth-video,
body[data-cct-tool-page] .sp-section.earth-video{
  background:
    radial-gradient(circle at 72% 18%,rgba(212,163,115,.13),transparent 34%),
    linear-gradient(180deg,var(--ol-root-earth),var(--ol-root-earth-2) 52%,var(--ol-root-earth))!important;
  color:var(--ol-root-linen)!important;
}
body[data-cct-tool-page] .cct-tool-shell,
body[data-cct-tool-page] .sp-section.sand,
body[data-cct-tool-page] .cct-final-cta{
  background:
    radial-gradient(circle at 75% 8%,rgba(212,163,115,.16),transparent 32%),
    linear-gradient(180deg,rgba(245,237,224,.98),rgba(232,220,203,.96) 64%,rgba(253,251,247,.98))!important;
}
body[data-cct-tool-page] :is(.cct-section-head,.sp-head,.cct-head) h2,
body[data-cct-tool-page] :is(.cct-section-head,.sp-head,.cct-head) p,
body[data-cct-tool-page] :is(.cct-tool-card,.sp-card,.phase7-service-card,.phase7-result-card,.cct-tool-utility-card) :is(h3,p,span,strong,small){
  color:var(--ol-root-earth)!important;
  text-shadow:none!important;
}
body[data-cct-tool-page] :is(.cct-tool-card,.sp-card,.phase7-service-card,.phase7-result-card,.cct-tool-utility-card,.cct-brief-form,.cct-router-panel,.cct-brief-summary,.cct-contact-preview,.cct-service-result){
  background:linear-gradient(145deg,rgba(253,251,247,.72),rgba(232,220,203,.54))!important;
  border:1px solid rgba(43,33,26,.12)!important;
  box-shadow:0 24px 72px rgba(43,33,26,.12)!important;
  backdrop-filter:blur(18px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(120%)!important;
}
body[data-cct-tool-page] .earth-video :is(.sp-card,.cct-tool-card),
body[data-cct-tool-page] .dark :is(.sp-card,.cct-tool-card),
body[data-cct-tool-page] .cct-section.dark :is(.phase7-service-card,.phase7-result-card){
  background:linear-gradient(145deg,rgba(253,251,247,.10),rgba(253,251,247,.045))!important;
  border-color:rgba(253,251,247,.16)!important;
  color:var(--ol-root-linen)!important;
}
body[data-cct-tool-page] .earth-video :is(.sp-card,.cct-tool-card) :is(h3,p,span,strong,small),
body[data-cct-tool-page] .dark :is(.sp-card,.cct-tool-card) :is(h3,p,span,strong,small){
  color:var(--ol-root-linen)!important;
}
/* Story grid and public journal cards should sit on warm linen, not a void-white slab. */
body[data-cct-tool-page="stories"] .cct-section#stories-index,
body[data-cct-tool-page="stories"] .ol-recovery-story-grid,
body[data-cct-tool-page="stories"] .ol-stories-cockpit{
  background:transparent!important;
}
body[data-cct-tool-page="stories"] .cct-section#stories-index{
  background:
    radial-gradient(circle at 70% 0%,rgba(212,163,115,.12),transparent 30%),
    linear-gradient(180deg,rgba(232,220,203,.96),rgba(253,251,247,.98))!important;
}
body[data-cct-tool-page="stories"] .ol-recovery-story-card,
body[data-cct-tool-page="stories"] .ol-stories-tools,
body[data-cct-tool-page="stories"] .ol-stories-empty{
  background:linear-gradient(145deg,rgba(253,251,247,.72),rgba(232,220,203,.58))!important;
  border:1px solid rgba(43,33,26,.12)!important;
  backdrop-filter:blur(18px) saturate(120%)!important;
}
body[data-cct-tool-page="stories"] .ol-stories-intel{
  background:linear-gradient(180deg,var(--ol-root-brown),var(--ol-root-earth))!important;
  color:var(--ol-root-linen)!important;
}
body[data-cct-tool-page="stories"] .ol-stories-intel :is(strong,p,span){
  color:var(--ol-root-linen)!important;
}
/* Local page wrappers that frequently carried legacy bg-white utilities. */
body[data-oloropa-page] :is(.page-container,.site-shell,.ol-page-shell,.public-shell,.p11-shell,.p8-shell,.sp-shell,.cct-shell){
  background:transparent!important;
}
body[data-oloropa-page] :is(.bg-white,.bg-\[\#fff\],.bg-\[\#ffffff\]){
  background-color:rgba(253,251,247,.72)!important;
}
@media (max-width: 760px){
  body[data-cct-tool-page] #main-content,
  body[data-cct-tool-page] main{
    background:linear-gradient(180deg,var(--ol-root-earth) 0%,var(--ol-root-earth-2) 34%,rgba(232,220,203,.96) 72%,var(--ol-root-linen) 100%)!important;
  }
  body[data-cct-tool-page] .cct-section,
  body[data-cct-tool-page] .sp-section{
    background:linear-gradient(180deg,rgba(253,251,247,.96),rgba(232,220,203,.95))!important;
  }
}
