/* NTROPYX background system
   Source layer only: harmonises page canvas and section transitions.
   It must not flatten premium objects, devices, cards, formulas, videos, or navigation. */

:root{
  --ntx-canvas-0:#020504;
  --ntx-canvas-1:#06110c;
  --ntx-canvas-2:#0a1911;
  --ntx-canvas-3:#0f2117;
  --ntx-paper:#f3efe4;
  --ntx-brass:#c7b978;
  --ntx-green:#1f8a5b;
  --ntx-line:rgba(199,185,120,.13);
}

html,
body{
  background-color:var(--ntx-canvas-0)!important;
}

body{
  background-color:var(--ntx-canvas-0)!important;
}

main{
  position:relative;
  z-index:1;
  background:transparent!important;
}

main > section,
main > header,
.sec,
.section,
.sec--noir,
.hub-head,
.hub-grid,
.sec-hero,
.sec-block,
.sec-story,
.sec-impact,
.cta-block,
.export-sec{
  position:relative;
  isolation:isolate;
  background:transparent!important;
  background-image:none!important;
}

#why,
#product,
#science,
#results,
#field-strip,
#roi,
#sector-grid,
#voices,
#faq,
#cta-band,
#contact,
#price,
#dose,
#synth,
#opportunity,
#tiers,
#territories,
#assets,
#apply,
#export-ops{
  background:transparent!important;
  background-image:none!important;
}

/* Remove only full-section decorative surfaces that create visible horizontal cuts. */
#product::after,
#science::before,
#results::before,
#roi::before,
#price::before,
#dose::before,
#synth::before,
#sector-grid::before,
#voices::before,
#faq::before,
#cta-band::before,
#contact::before,
#export-ops::before,
#territories::before,
.hub-grid::before,
.sec-hero::before,
.sec-block::before,
.sec-story::before,
.sec-impact::before,
.export-sec::before{
  content:none!important;
  display:none!important;
}

#why + #product,
#science + #results,
#results + #field-strip,
#field-strip + #roi,
#sector-grid + #voices,
#voices + #faq,
#faq + #cta-band,
#cta-band + #contact,
#tiers + #territories,
#territories + #voices,
#voices + #assets,
#export-ops + .ctaband,
.sec-hero + .sec-block,
.sec-block + .sec-story,
.sec-story + .sec-block,
.sec-story + .sec-impact,
.sec-impact + .cta-block{
  margin-top:0!important;
}

@media (max-width:700px){
  body{
    background-attachment:scroll!important;
  }
}

/* Cabinet OS 2026 — canonical NTROPYX canvas.
   Purpose: one continuous premium background, stable section rhythm,
   no page-by-page decorative bands. */
:root{
  --ntx-os-void:#000302;
  --ntx-os-carbon:#020706;
  --ntx-os-graphite:#101614;
  --ntx-os-british:#063427;
  --ntx-os-verde:#1d7a56;
  --ntx-os-mint:#8ee8b9;
  --ntx-os-champagne:#d8c78d;
  --ntx-os-paper:#f7f3e7;
  --ntx-os-muted:rgba(247,243,231,.68);
  --ntx-os-line:rgba(216,199,141,.18);
  --ntx-os-ease:cubic-bezier(.16,1,.3,1);
}

html{
  min-height:100%;
  background:var(--ntx-os-void)!important;
}

body{
  min-height:100%;
  color:var(--ntx-os-paper);
  background:
    radial-gradient(1200px 740px at 7% -6%,rgba(216,199,141,.17),transparent 61%),
    radial-gradient(980px 620px at 88% 4%,rgba(142,232,185,.11),transparent 63%),
    radial-gradient(1180px 780px at 52% 38%,rgba(6,52,39,.30),transparent 70%),
    radial-gradient(980px 640px at 17% 82%,rgba(8,42,44,.29),transparent 68%),
    linear-gradient(135deg,rgba(247,243,231,.030) 0 1px,transparent 1px 100%),
    linear-gradient(180deg,#000302 0%,#030806 20%,#07140f 48%,#030806 76%,#000302 100%)!important;
  background-size:auto,auto,auto,auto,118px 118px,auto!important;
  background-attachment:fixed!important;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.50;
  background:
    linear-gradient(90deg,rgba(247,243,231,.018) 1px,transparent 1px),
    linear-gradient(180deg,rgba(216,199,141,.014) 1px,transparent 1px),
    linear-gradient(116deg,transparent 0 44%,rgba(216,199,141,.040) 44.05%,transparent 44.18% 100%);
  background-size:116px 116px,116px 116px,auto;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 86%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 86%,transparent 100%);
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,3,2,.16),transparent 18%,transparent 72%,rgba(0,3,2,.68)),
    radial-gradient(920px 430px at 74% 30%,rgba(142,232,185,.078),transparent 74%),
    radial-gradient(820px 360px at 22% 70%,rgba(216,199,141,.092),transparent 74%);
}

main,
body > header,
body > footer{
  position:relative;
  z-index:1;
}

main > section,
body > section{
  background:transparent!important;
  border-image:none!important;
}

main > section:not(.hero):not(.sim-hero--pro):not(.sec-hero){
  padding-top:max(var(--section-pad-top, 72px), clamp(54px,6vw,104px));
  padding-bottom:max(var(--section-pad-bottom, 72px), clamp(54px,6vw,104px));
}

main > section:not(.hero)::selection,
body > section:not(.hero)::selection{
  background:rgba(142,232,185,.28);
}

@media (max-width:860px){
  body{
    background-attachment:scroll!important;
    background-size:auto,auto,auto,auto,82px 82px,auto!important;
  }
  body::before{opacity:.32;background-size:84px 84px,84px 84px,auto}
  main > section:not(.hero):not(.sim-hero--pro):not(.sec-hero){
    padding-top:max(var(--section-pad-top-mobile, 46px), 44px);
    padding-bottom:max(var(--section-pad-bottom-mobile, 46px), 44px);
  }
}
