/*! NBC v7.022 · Continuous Canvas Contract
    Local containment is allowed. Section containment is not.
    Final production owner for vertical continuity across all public page families. */

@layer nbc.normal {
  /* ------------------------------------------------------------
     01 · ONE CANVAS — ordinary page sections do not draw shells
     ------------------------------------------------------------ */
  body[data-continuous-canvas="v7022"]:not(.page-styleguide) main,
  body[data-continuous-canvas="v7022"]:not(.page-styleguide) .nbc-page-shell {
    background-color: transparent !important;
  }

  body[data-continuous-canvas="v7022"]:not(.page-styleguide) main > :where(section,article,aside,div):not([data-folio]) {
    border-top: 0 !important;
    border-bottom: 0 !important;
  }

  /* The footer belongs to the same spatial field, not a final box. */
  body[data-continuous-canvas="v7022"]:not(.page-styleguide) .site-footer {
    border-top-color: transparent !important;
    background-color: transparent !important;
  }

  /* ------------------------------------------------------------
     02 · SERVICE CLOSE — CTA is a conclusion, not a giant card
     ------------------------------------------------------------ */
  body[data-continuous-canvas="v7022"].page-service .service-close-v6694 {
    position: relative;
    isolation: isolate;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  body[data-continuous-canvas="v7022"].page-service .service-close-v6694::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -10% 0 -8%;
    pointer-events: none;
    background: radial-gradient(58% 76% at 76% 45%, rgba(139,207,154,.065), transparent 72%);
  }

  body[data-continuous-canvas="v7022"].page-service .service-close-v6694__panel {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* ------------------------------------------------------------
     03 · CONTACT — one intake axis, no outer form/frame boxes
     ------------------------------------------------------------ */
  body[data-continuous-canvas="v7022"].page-contact .ac-intake-workflow,
  body[data-continuous-canvas="v7022"].page-contact .nbc-contact-after {
    background: transparent !important;
    border: 0 !important;
  }

  body[data-continuous-canvas="v7022"].page-contact .ac-intake-panel,
  body[data-continuous-canvas="v7022"].page-contact .nbc-contact-after-frame {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-continuous-canvas="v7022"].page-contact .ac-decision-note {
    border: 0 !important;
    border-top: 1px solid rgba(238,233,223,.14) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  @media (min-width: 761px) {
    body[data-continuous-canvas="v7022"].page-contact .ac-intake-workflow > .wrap {
      width: min(calc(100% - (2 * var(--nbc-layout-gutter, 40px))), var(--nbc-layout-wide, 1440px)) !important;
      max-width: var(--nbc-layout-wide, 1440px) !important;
      margin-inline: auto !important;
    }

    /* sequence already lives inside the wide wrap: never apply the gutter twice */
    body[data-continuous-canvas="v7022"].page-contact .ac-contact-sequence {
      width: 100% !important;
      max-width: none !important;
      margin-inline: 0 !important;
      grid-template-columns: minmax(0, 1.65fr) minmax(300px, .65fr) !important;
      gap: clamp(42px, 5vw, 74px) !important;
    }

    body[data-continuous-canvas="v7022"].page-contact .ac-intake-panel,
    body[data-continuous-canvas="v7022"].page-contact .nbc-contact-after-frame {
      padding-inline: 0 !important;
    }

    body[data-continuous-canvas="v7022"].page-contact .nbc-contact-after-frame {
      padding-block: 0 !important;
    }

    body[data-continuous-canvas="v7022"].page-contact .ac-decision-note {
      padding-inline: 0 !important;
      padding-top: clamp(24px, 2.4vw, 36px) !important;
    }
  }

  /* ------------------------------------------------------------
     04 · LARGE NON-FUNCTIONAL FRAMES — open the outer shell only
     ------------------------------------------------------------ */
  body[data-continuous-canvas="v7022"].page-regional-gateway .local-visit-panel,
  body[data-continuous-canvas="v7022"].page-regional-intelligence .regional-principles {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-continuous-canvas="v7022"].page-regional-gateway .local-visit-panel {
    padding-inline: 0 !important;
  }

  body[data-continuous-canvas="v7022"] .nbc-context-links {
    border: 0 !important;
    border-top: 1px solid rgba(139,207,154,.14) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-continuous-canvas="v7022"].page-case-detail .case2-related-grid {
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* ------------------------------------------------------------
     05 · MOBILE HOME — hero + dark scenes share one field
     ------------------------------------------------------------ */
  @media (max-width: 760px) {
    body[data-continuous-canvas="v7022"].page-home[data-mobile-home-v7="v7002"] #auftakt .home-process-opening__scene {
      inset: 0 !important;
      top: 0 !important;
      right: 0 !important;
      bottom: 0 !important;
      left: 0 !important;
      width: 100% !important;
      height: 100% !important;
      min-height: 100% !important;
    }

    /* The generated mobile homepage is one continuation of the hero, not a second canvas. */
    body[data-continuous-canvas="v7022"].page-home .m7h-home {
      background: linear-gradient(180deg, #0a1a11 0%, #07150e 13%, #06130d 42%, #06130d 100%) !important;
    }

    body[data-continuous-canvas="v7022"].page-home .m7h-scene:not(.m7h-cases) {
      border-top: 0 !important;
    }

    body[data-continuous-canvas="v7022"].page-home .m7h-principles {
      background: radial-gradient(85% 42% at 100% 0%, rgba(137,217,158,.085), transparent 74%) !important;
    }

    body[data-continuous-canvas="v7022"].page-home .m7h-diagnostic {
      background:
        linear-gradient(rgba(146,218,164,.022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(146,218,164,.022) 1px, transparent 1px),
        radial-gradient(80% 40% at 88% 6%, rgba(130,213,151,.11), transparent 72%) !important;
      background-size: 34px 34px, 34px 34px, auto !important;
    }

    body[data-continuous-canvas="v7022"].page-home .m7h-services,
    body[data-continuous-canvas="v7022"].page-home .m7h-knowledge {
      background: transparent !important;
    }

    body[data-continuous-canvas="v7022"].page-home .m7h-person {
      background: radial-gradient(80% 38% at 100% 3%, rgba(146,218,164,.085), transparent 70%) !important;
    }

    body[data-continuous-canvas="v7022"].page-home .m7h-final {
      background: radial-gradient(85% 55% at 90% 0%, rgba(156,222,176,.10), transparent 68%) !important;
    }

    /* ----------------------------------------------------------
       06 · MOBILE SERVICES — one dark service canvas
       ---------------------------------------------------------- */
    body[data-continuous-canvas="v7022"].page-service .m7s-service {
      background: linear-gradient(180deg, #0b2117 0%, #081a12 12%, var(--m7s-deep) 38%, var(--m7s-deep) 100%) !important;
    }

    body[data-continuous-canvas="v7022"].page-service .m7s-scene:not(.m7s-evidence) {
      border-top: 0 !important;
    }

    body[data-continuous-canvas="v7022"].page-service .m7s-signature {
      background: radial-gradient(circle at 92% 4%, rgba(145,212,159,.13), transparent 29%) !important;
    }

    body[data-continuous-canvas="v7022"].page-service .m7s-close {
      background: radial-gradient(circle at 20% 5%, rgba(145,212,159,.10), transparent 30%) !important;
    }

    /* ----------------------------------------------------------
       07 · MOBILE AUTHORITY — deep scenes inherit page canvas
       ---------------------------------------------------------- */
    body[data-continuous-canvas="v7022"][data-mobile-art="v7"][data-m7a-active] main {
      background: transparent !important;
    }

    body[data-continuous-canvas="v7022"][data-mobile-art="v7"][data-m7a-active] .m7a-shell [data-nbc-material="deep"] {
      background: transparent !important;
      border-top: 0 !important;
    }

    body[data-continuous-canvas="v7022"][data-mobile-art="v7"][data-m7a-active] .m7a-shell [data-nbc-material="instrument"] {
      background: radial-gradient(85% 52% at 88% 2%, rgba(139,207,154,.055), transparent 72%) !important;
      border-top: 0 !important;
    }

    body[data-continuous-canvas="v7022"][data-m7a-active="goettingen"] :where(.m7a-goe-check-compact,.m7a-goe-direct-compact,.m7a-goe-independence-compact),
    body[data-continuous-canvas="v7022"][data-m7a-active="trade"] .m7a-trade-chain {
      border-top: 0 !important;
      background: transparent !important;
    }

    /* Mobile contact already uses the correct single-column language;
       keep the local form controls, remove only outer framing. */
    body[data-continuous-canvas="v7022"].page-contact .ac-intake-panel,
    body[data-continuous-canvas="v7022"].page-contact .nbc-contact-after-frame {
      padding-inline: 0 !important;
    }
  }
}

/* --------------------------------------------------------------
   08 · MOBILE SECTION SEAMS — remove full-width chapter boxes
   Editorial rules inside Reading Paper / Folios remain untouched.
   -------------------------------------------------------------- */
@layer nbc.normal {
  @media (max-width: 760px) {
    /* Home: old desktop/mobile fallbacks may remain visible in some runtime paths. */
    body[data-continuous-canvas="v7022"].page-home main > section:not([data-folio]) {
      border-top: 0 !important;
      border-bottom: 0 !important;
      background-color: transparent !important;
    }
    body[data-continuous-canvas="v7022"].page-home :where(.home-operating-twin,.home-service-choice,.home-self-service,.home-attitude,.home-conversation):not([data-folio]) {
      border-top: 0 !important;
      border-bottom: 0 !important;
      background-color: transparent !important;
    }

    /* Services: scope / close are narrative continuations, not framed chapters. */
    body[data-continuous-canvas="v7022"].page-service .wave2-service-scope {
      border-top: 0 !important;
      border-bottom: 0 !important;
      background: transparent !important;
    }

    /* Diagnose: orientation scenes belong to one instrument canvas. */
    body[data-continuous-canvas="v7022"].page-diagnose .m7d-scene {
      border-top: 0 !important;
      border-bottom: 0 !important;
    }

    /* Decision guides: dark chapters stay open; the Working Folio remains material. */
    body[data-continuous-canvas="v7022"].page-template-guide .dg3-section:not([data-folio]) {
      border-top: 0 !important;
      border-bottom: 0 !important;
      background: transparent !important;
    }

    /* Authority / regional: no page-width chapter rules outside the Research Folio. */
    body[data-continuous-canvas="v7022"].page-regional-intelligence :where(.authority-hero,.authority-section):not([data-folio]) {
      border-top: 0 !important;
      border-bottom: 0 !important;
    }

    /* About: proof strip and narrative chapters live on the same dark field. */
    body[data-continuous-canvas="v7022"].page-about :where(.nbc-about-proofstrip,.ac-section,.ac-final-cta):not([data-folio]) {
      border-top: 0 !important;
      border-bottom: 0 !important;
    }

    /* Industry pages: thesis and closing chapters must not read as stacked bands. */
    body[data-continuous-canvas="v7022"].page-industry-hub :where(.bi-hero,.bi-section,.bi-industry-thesis):not([data-folio]) {
      border-top: 0 !important;
      border-bottom: 0 !important;
    }

    /* Cases: film, transfer and close are one narrative; Decision Record remains paper. */
    body[data-continuous-canvas="v7022"].page-case-detail :where(.case2-hero,.case2-section):not([data-folio]),
    body[data-continuous-canvas="v7022"].page-case-index .case2-index-cta {
      border-top: 0 !important;
      border-bottom: 0 !important;
    }

    /* Knowledge overview: section change through spacing/type/light, not separator lines. */
    body[data-continuous-canvas="v7022"].page-blog :where(.km-hero,.h7-topic-entry,.h7-featured,.km-library-section,.h7-praxis,.km-instrument-section,.h7-unsure,.h7-regional,.nbc-authority-strip,.km-final) {
      border-top: 0 !important;
      border-bottom: 0 !important;
    }
  }
}

/* --------------------------------------------------------------
   09 · HERO HANDOFF — hero is the first scene of the same canvas
   -------------------------------------------------------------- */
@layer nbc.normal {
  @media (max-width: 760px) {
    body[data-continuous-canvas="v7022"] main > :where(.nbc-hero-system,.diagnose-hero,.dc5-premium,.case2-hero,.case2-index-hero,.dg3-hero,.bi-hero,.authority-hero):not([data-folio]) {
      border-bottom: 0 !important;
    }
  }
}

/* ------------------------------------------------------------
   10 · GLOBAL CONVERSION CHROME — content CTAs stay in the flow
   ------------------------------------------------------------ */
@layer nbc.normal {
  body[data-continuous-canvas="v7022"]:not(.page-styleguide) .fab {
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  /* Mobile runtime helper links must never leak into the desktop header. */
  @media (min-width:1081px) {
    body[data-continuous-canvas="v7022"] .site-header :is(.nbc-mobile-header-cta,.nbc-mobile-context) {
      display:none !important;
      visibility:hidden !important;
      opacity:0 !important;
      pointer-events:none !important;
    }
  }

  /* ----------------------------------------------------------
     11 · CASE GUIDE BRIDGE — a bridge, never a horizontal card
     ---------------------------------------------------------- */
  body[data-continuous-canvas="v7022"].page-case-detail .dg5-guide-bridge {
    margin-block:clamp(52px,5vw,76px) !important;
    padding:clamp(28px,3vw,40px) 0 !important;
    border:0 !important;
    border-top:1px solid rgba(247,245,242,.14) !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body[data-continuous-canvas="v7022"].page-case-detail .dg5-guide-bridge::before {
    top:-1px !important;
    bottom:auto !important;
    width:72px !important;
    height:1px !important;
  }

  /* ----------------------------------------------------------
     12 · DIAGNOSE — search/orientation stays entirely dark
     ---------------------------------------------------------- */
  @media (max-width:760px) {
    body[data-continuous-canvas="v7022"].page-diagnose .m7d-paper {
      background:transparent !important;
      color:var(--m7i-text,#f6f4ef) !important;
      border-top:0 !important;
    }
    body[data-continuous-canvas="v7022"].page-diagnose .m7d-paper .m7d-kicker,
    body[data-continuous-canvas="v7022"].page-diagnose .m7d-paper .m7d-row>span,
    body[data-continuous-canvas="v7022"].page-diagnose .m7d-paper .m7d-row>b {
      color:var(--m7i-green,#8bcf9a) !important;
    }
    body[data-continuous-canvas="v7022"].page-diagnose .m7d-paper .m7d-intro,
    body[data-continuous-canvas="v7022"].page-diagnose .m7d-paper .m7d-row p {
      color:rgba(246,244,239,.62) !important;
    }
    body[data-continuous-canvas="v7022"].page-diagnose .m7d-paper .m7d-row {
      color:var(--m7i-text,#f6f4ef) !important;
      border-color:var(--m7i-line,rgba(246,244,239,.12)) !important;
    }

    /* --------------------------------------------------------
       13 · ABOUT — no paper/card island inside the dark story
       -------------------------------------------------------- */
    body[data-continuous-canvas="v7022"].page-about .nbc-about-global-capabilities {
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:0 !important;
      overflow:visible !important;
      scroll-snap-type:none !important;
      margin:0 !important;
      padding:0 !important;
      border:0 !important;
      border-top:1px solid rgba(242,240,233,.14) !important;
      background:transparent !important;
    }
    body[data-continuous-canvas="v7022"].page-about .nbc-about-global-capabilities > article {
      width:100% !important;
      max-width:none !important;
      min-height:0 !important;
      margin:0 !important;
      padding:22px 0 !important;
      border:0 !important;
      border-bottom:1px solid rgba(242,240,233,.12) !important;
      border-radius:0 !important;
      background:transparent !important;
      color:inherit !important;
      box-shadow:none !important;
      scroll-snap-align:none !important;
    }
    body[data-continuous-canvas="v7022"].page-about .nbc-about-global-capabilities > article :where(strong,h3) {
      color:#f2f0e9 !important;
    }
    body[data-continuous-canvas="v7022"].page-about .nbc-about-global-capabilities > article :where(p,span:not(.mono)) {
      color:rgba(242,240,233,.64) !important;
    }
  }
}

/* ------------------------------------------------------------
   14 · DIAGNOSE PRIMARY — dark canvas + one mobile axis
   The original mobile paper override and double gutter are legacy.
   ------------------------------------------------------------ */
@layer nbc.normal {
  body[data-continuous-canvas="v7022"].page-diagnose .dx-primary {
    color:#f5f2ed !important;
    background:
      radial-gradient(70% 42% at 86% 8%, rgba(139,207,154,.065), transparent 72%),
      linear-gradient(180deg, rgba(8,16,11,.96), rgba(10,20,14,.92)) !important;
  }
  body[data-continuous-canvas="v7022"].page-diagnose .dx-primary :where(h2,h3) {
    color:#f2f1eb !important;
  }
  body[data-continuous-canvas="v7022"].page-diagnose .dx-primary :where(.dx-section-head>p:last-child,.dx-tool-copy>p:not(.mono)) {
    color:rgba(239,241,236,.62) !important;
  }
  body[data-continuous-canvas="v7022"].page-diagnose .dx-primary .dx-tool {
    color:#f5f2ed !important;
    border-color:rgba(247,245,242,.12) !important;
    background:radial-gradient(circle at 92% 8%,rgba(139,207,154,.075),transparent 34%),rgba(255,255,255,.018) !important;
  }

  @media (max-width:760px) {
    body[data-continuous-canvas="v7022"].page-diagnose .dx-primary {
      width:100% !important;
      max-width:none !important;
      margin-inline:0 !important;
      padding-inline:0 !important;
    }
    body[data-continuous-canvas="v7022"].page-diagnose .dx-primary > .wrap {
      width:calc(100% - 40px) !important;
      max-width:none !important;
      margin-inline:20px !important;
      padding-inline:0 !important;
    }
    body[data-continuous-canvas="v7022"].page-diagnose .dx-primary-grid {
      width:100% !important;
      max-width:none !important;
      padding-right:0 !important;
      grid-template-columns:minmax(0,1fr) !important;
      gap:18px !important;
    }
    body[data-continuous-canvas="v7022"].page-diagnose .dx-primary-grid > .dx-tool {
      width:100% !important;
      max-width:none !important;
      min-width:0 !important;
      flex-basis:auto !important;
    }
    body[data-continuous-canvas="v7022"].page-diagnose .p73-logic-key__label {
      color:rgba(239,241,236,.62) !important;
    }
    body[data-continuous-canvas="v7022"].page-diagnose .p73-logic-key__step {
      color:rgba(239,241,236,.82) !important;
    }
  }
}


/* ============================================================
   v7.022 · KNOWLEDGE INDEX — ONE MOBILE AXIS
   The knowledge overview must not alternate between 1x and 2x
   mobile gutter. Every major scene owns one global page gutter;
   children do not add a second section-shell inset.
   ============================================================ */
@layer nbc.normal {
  @media (max-width:760px) {
    body[data-continuous-canvas="v7022"].page-blog :is(
      .km-hero,
      .h7-topic-entry,
      .h7-featured,
      .km-library-section,
      .h7-praxis,
      .km-instrument-section,
      .h7-unsure,
      .h7-regional,
      .nbc-authority-strip,
      .km-final
    ) > .wrap {
      width:calc(100% - (2 * var(--m7-gutter))) !important;
      max-width:none !important;
      margin-inline:var(--m7-gutter) !important;
      padding-inline:0 !important;
    }

    body[data-continuous-canvas="v7022"].page-blog :is(
      .h7-topic-entry,
      .h7-featured,
      .km-library-section,
      .h7-praxis,
      .km-instrument-section,
      .h7-unsure,
      .h7-regional,
      .nbc-authority-strip,
      .km-final
    ) {
      padding-inline:0 !important;
      margin-inline:0 !important;
    }
  }
}
