/* ===== SOURCE: mobile-foundation.v6554.css ===== */
/*! NBC v6.554 · G10 Mobile System Foundation
    Scope: <=760px only. Desktop is intentionally untouched.
    Purpose: mobile typography, rhythm, header states, touch controls,
    surface primitives, rails and bottom-sheet primitives. */

.nbc-mobile-header-cta{display:none}
.m1-sheet-layer{display:none}

@media (max-width:760px){
  :root{
    --m-gutter:clamp(18px,5.15vw,22px);
    --m-header-h:66px;
    --m-section:clamp(58px,15.2vw,70px);
    --m-section-tight:clamp(44px,11.7vw,54px);
    --m-section-loose:clamp(68px,18vw,82px);
    --m-display-short:clamp(42px,11.8vw,46px);
    --m-display-medium:clamp(38px,10.6vw,42px);
    --m-display-long:clamp(35px,9.7vw,39px);
    --m-display-xlong:clamp(33px,8.9vw,36px);
    --m-h2:clamp(30px,8.45vw,34px);
    --m-h3:clamp(22px,6.35vw,26px);
    --m-lead:clamp(17.5px,4.75vw,19px);
    --m-body:17px;
    --m-small:14px;
    --m-eyebrow:10px;
    --m-line:rgba(247,245,242,.12);
    --m-line-strong:rgba(247,245,242,.18);
    --m-surface:#0b100d;
    --m-surface-deep:#07100b;
    --m-paper:#f1efe9;
    --m-paper-ink:#101410;
    --m-radius:18px;
    --m-ease:cubic-bezier(.22,.61,.36,1);

    /* Existing contracts now resolve through the new mobile scale. */
    --nbc-mobile-gutter:var(--m-gutter);
    --nbc-mobile-section:var(--m-section);
    --nbc-mobile-section-tight:var(--m-section-tight);
    --nbc-mobile-header:var(--m-header-h);
    --nbc-mobile-display-short:var(--m-display-short);
    --nbc-mobile-display-medium:var(--m-display-medium);
    --nbc-mobile-display-long:var(--m-display-long);
    --nbc-mobile-display-xlong:var(--m-display-xlong);
    --nbc-mobile-title:var(--m-h2);
    --nbc-mobile-subtitle:var(--m-h3);
    --nbc-mobile-copy:var(--m-body);
    --nbc-mobile-leading:1.64;
  }

  html{
    scroll-padding-top:calc(var(--m-header-h) + env(safe-area-inset-top) + 14px);
    text-size-adjust:100%;
    -webkit-text-size-adjust:100%;
  }
  body.page.design-system-executive{
    overflow-x:clip;
    font-size:var(--m-body);
    line-height:1.64;
    -webkit-font-smoothing:antialiased;
  }
  body.page.design-system-executive main.nbc-page-shell{overflow:clip}
  body.page.design-system-executive .wrap,
  body.page.design-system-executive .sw{
    width:calc(100% - (2 * var(--m-gutter)));
    max-width:none;
    margin-inline:auto;
  }

  /* ---- Editorial type hierarchy ------------------------------------------------ */
  body.page.design-system-executive main :is(h1,.editorial-title,.display){
    font-size:var(--m-display-short);
    line-height:.96;
    letter-spacing:-.047em;
    text-wrap:balance;
    max-width:100%;
    overflow-wrap:normal;
    word-break:normal;
    -webkit-hyphens:none;
    hyphens:none;
  }
  body.page.design-system-executive main :is(h1,.editorial-title).title-length-medium{
    font-size:var(--m-display-medium);
    line-height:.97;
  }
  /* Explicit fit classes are the final authority for real headline length. */
  body.page.design-system-executive main :is(h1,.editorial-title).title-fit-short{font-size:var(--m-display-short);line-height:.96}
  body.page.design-system-executive main :is(h1,.editorial-title).title-fit-medium{font-size:var(--m-display-medium);line-height:.97}
  body.page.design-system-executive main :is(h1,.editorial-title).title-fit-long{font-size:var(--m-display-long);line-height:.985}
  body.page.design-system-executive main :is(h1,.editorial-title).title-fit-xlong{font-size:var(--m-display-xlong);line-height:1}
  body.page.design-system-executive main :is(h1,.editorial-title).title-length-long,
  body.page.design-system-executive.page-template-article main h1,
  body.page.design-system-executive.title-case-long main h1{
    font-size:var(--m-display-long);
    line-height:.985;
  }
  body.page.design-system-executive.case-title-extra-long main h1,
  body.page.design-system-executive.title-case-metric-long main h1{
    font-size:var(--m-display-xlong);
    line-height:1;
  }
  body.page-home .home-process-opening__title{
    font-size:clamp(44px,12.2vw,49px);
    line-height:.93;
    letter-spacing:-.052em;
    max-width:9.2ch;
  }
  body.page.design-system-executive main h2{
    font-size:var(--m-h2);
    line-height:1.02;
    letter-spacing:-.037em;
    text-wrap:balance;
    overflow-wrap:normal;
    word-break:normal;
  }
  body.page.design-system-executive main h3{
    font-size:var(--m-h3);
    line-height:1.08;
    letter-spacing:-.025em;
    text-wrap:balance;
  }
  body.page.design-system-executive :is(.lede,.lead,.nbc-section-intro,.service-hero-copy>.lede,.local-hero-lede,.knowledge-hero-note){
    font-size:var(--m-lead);
    line-height:1.58;
  }
  body.page.design-system-executive :is(.nbc-eyebrow,.eyebrow,.ep-eyebrow,.knowledge-eyebrow,.evidence-eyebrow,.legal-hero-kicker,.nbc-hero-location,.mono){
    font-size:var(--m-eyebrow);
    letter-spacing:.105em;
    line-height:1.35;
  }
  body.page.design-system-executive main :is(p,li){text-wrap:pretty}

  /* Article reading is deliberately calmer than conversion pages. */
  body.page-template-article .ep-chapter :is(p,li){
    font-size:17px;
    line-height:1.76;
  }
  body.page-template-article .ep-chapter h2{margin-bottom:20px}

  /* ---- Vertical rhythm --------------------------------------------------------- */
  body.page.design-system-executive .nbc-section{padding-block:var(--m-section)}
  body.page.design-system-executive :is(
    .service-context-section,.service-editorial-section,.knowledge-direct-library,
    .knowledge-diagnostic,.evidence-library-grid-section,.ac-section,
    .ih-command,.ih-architecture,.ih-routes,.ih-decision,.ih-ninety,.ih-evidence,
    .ih-faqs,.ih-next,.case-film-section,.case-evidence-system,.case-related,
    .case-knowledge-container,.case-audit-trail,.case-next-step
  ){padding-block:var(--m-section)}
  body.page.design-system-executive :is(.nbc-hero-bridge,.nbc-authority-strip){
    padding-block:var(--m-section-tight);
  }
  body.page.design-system-executive :is(
    .diagnose-hero,.oml-hero,.service-hero,.premium-hub-opening,.evidence-library-hero,
    .case-dossier-hero,.knowledge-direct-hero,.knowledge-hub-direct-hero,.ep-signature-stage,
    .ac-intake-hero,.ac-founder-hero,.local-hero,.decision-hub-hero,.decision-library-hero,
    .dg-hub-hero,.dg-page-hero,.legal-hero
  ){
    padding-top:calc(var(--m-header-h) + env(safe-area-inset-top) + 22px);
    padding-bottom:clamp(44px,11.5vw,56px);
  }

  /* Avoid accidental empty 'cinema screens' in the foundation layer. M2/M3 may
     opt into immersive heights explicitly with data-mobile-immersive. */
  body.page.design-system-executive main>section:not([data-mobile-immersive="true"]){
    scroll-margin-top:calc(var(--m-header-h) + 14px);
  }

  /* ---- Mobile header: quiet in hero, contextual after the hero ---------------- */
  body.page.design-system-executive .site-header{
    height:calc(var(--m-header-h) + env(safe-area-inset-top));
    padding-top:env(safe-area-inset-top);
    border-bottom:1px solid rgba(247,245,242,.075);
    background:linear-gradient(180deg,rgba(7,11,9,.94),rgba(7,11,9,.78));
    backdrop-filter:blur(20px) saturate(118%);
    -webkit-backdrop-filter:blur(20px) saturate(118%);
    box-shadow:0 10px 34px rgba(0,0,0,.10);
    transform:none!important;
  }
  body.page.design-system-executive .site-header .nav{
    width:calc(100% - (2 * var(--m-gutter)));
    height:var(--m-header-h);
    min-height:var(--m-header-h);
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    align-items:center;
    gap:8px;
  }
  body.page.design-system-executive .brand{grid-column:1;min-width:0}
  body.page.design-system-executive .brand-logo{
    width:104px;
    max-height:44px;
    object-fit:contain;
  }
  body.page.design-system-executive .site-header nav{grid-column:2;grid-row:1}
  body.page.design-system-executive .site-header .nav>.nbc-mobile-context{
    grid-column:2;
    grid-row:1;
    position:static;
    display:flex;
    min-width:0;
    max-width:100%;
    transform:none;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    color:rgba(247,245,242,.62);
    font:500 9px/1.2 var(--mono,"IBM Plex Mono",monospace);
    letter-spacing:.085em;
    text-transform:uppercase;
    transition:opacity .2s ease,transform .2s var(--m-ease);
  }
  body.page.design-system-executive .site-header .nav>.nbc-mobile-context b{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--green);
    font-weight:500;
  }
  body.page.design-system-executive .site-header .nav>.nbc-mobile-context span{display:none}
  body.page.design-system-executive[data-m1-header-condensed="true"] .site-header .nav>.nbc-mobile-context{
    opacity:1;
    visibility:visible;
  }
  .nbc-mobile-header-cta{
    grid-column:3;
    grid-row:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:38px;
    padding:0 12px;
    border:1px solid rgba(145,212,159,.26);
    border-radius:999px;
    background:rgba(145,212,159,.055);
    color:rgba(247,245,242,.9);
    text-decoration:none;
    font-size:12px;
    font-weight:650;
    letter-spacing:-.01em;
    opacity:0;
    transform:translateY(2px);
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,transform .2s var(--m-ease),background .18s ease,border-color .18s ease;
  }
  body.page.design-system-executive[data-m1-header-condensed="true"] .nbc-mobile-header-cta{
    opacity:1;
    transform:none;
    visibility:visible;
    pointer-events:auto;
  }
  body.page.design-system-executive.menu-open .nbc-mobile-header-cta,
  body.page.design-system-executive.menu-open .site-header .nav>.nbc-mobile-context{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
  body.page.design-system-executive .burger{
    grid-column:4;
    grid-row:1;
    width:42px;
    height:42px;
    min-width:42px;
    min-height:42px;
    border:1px solid rgba(247,245,242,.16);
    border-radius:999px;
    background:rgba(10,15,12,.66);
    color:transparent;
    font-size:0;
    position:relative;
    z-index:92;
  }
  body.page.design-system-executive .burger::before,
  body.page.design-system-executive .burger::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:16px;
    height:1.5px;
    border-radius:2px;
    background:rgba(247,245,242,.92);
    transform-origin:center;
    transition:transform .2s var(--m-ease);
  }
  body.page.design-system-executive .burger::before{transform:translate(-50%,-4px)}
  body.page.design-system-executive .burger::after{transform:translate(-50%,4px)}
  body.page.design-system-executive .burger[aria-expanded="true"]::before{transform:translate(-50%,0) rotate(45deg)}
  body.page.design-system-executive .burger[aria-expanded="true"]::after{transform:translate(-50%,0) rotate(-45deg)}

  /* The menu remains a full-screen decision surface, but becomes more editorial. */
  body.page.design-system-executive .site-header nav #menu.open{
    inset:0;
    width:100vw;
    height:100dvh;
    min-height:100svh;
    max-height:100dvh;
    padding:
      calc(var(--m-header-h) + env(safe-area-inset-top) + 28px)
      var(--m-gutter)
      calc(28px + env(safe-area-inset-bottom));
    gap:0;
    background:
      radial-gradient(circle at 88% 6%,rgba(145,212,159,.11),transparent 31%),
      linear-gradient(180deg,#08100b 0%,#07100b 100%);
  }
  body.page.design-system-executive .site-header nav #menu.open>li{
    border-top:1px solid rgba(247,245,242,.09);
  }
  body.page.design-system-executive .site-header nav #menu.open>li>a,
  body.page.design-system-executive .site-header nav #menu.open .nav-summary{
    min-height:55px;
    padding:13px 0;
    font-size:clamp(22px,6.35vw,27px);
    line-height:1.06;
    letter-spacing:-.027em;
  }
  body.page.design-system-executive .site-header nav #menu.open .nav-sub a{
    min-height:43px;
    padding:8px 0;
    color:rgba(247,245,242,.64);
    font-size:14.5px;
  }
  body.page.design-system-executive .site-header nav #menu.open .nav-cta{
    min-height:50px;
    margin-top:5px;
    border-radius:999px;
    font-size:15px;
  }

  /* ---- Buttons / thumb targets ------------------------------------------------- */
  body.page.design-system-executive :is(.btn,.button,.lm-btn){
    min-height:50px;
    max-width:100%;
    padding:0 18px;
    border-radius:999px;
    font-size:14px;
    line-height:1.15;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  body.page.design-system-executive .hero-ctas{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
  }
  body.page.design-system-executive .hero-ctas .btn{width:auto;max-width:100%}
  body.page.design-system-executive :is(button,.btn,.button,.lm-btn,a.nav-cta,.nbc-mobile-header-cta,summary){
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  body.page.design-system-executive :is(button,.btn,.button,.lm-btn,a.nav-cta,.nbc-mobile-header-cta):active{
    scale:.985;
  }
  body.page.design-system-executive :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
    min-height:50px;
    font-size:16px;
    border-radius:var(--nbc-radius-control,12px);
  }
  body.page.design-system-executive textarea{min-height:112px}

  /* Replace permanent bottom conversion bars with the quieter header path. */
  body.page.design-system-executive :is(.home-float-cta,.fab){display:none!important}

  /* ---- Surface primitives for M2–M4 ------------------------------------------- */
  body.page.design-system-executive [data-mobile-surface="dark"],
  body.page.design-system-executive .m-surface-dark{
    background:transparent;
    color:var(--paper);
  }
  body.page.design-system-executive [data-mobile-surface="deep"],
  body.page.design-system-executive .m-surface-deep{
    background:
      radial-gradient(circle at 82% 15%,rgba(145,212,159,.075),transparent 34%),
      var(--m-surface-deep);
    color:var(--paper);
  }
  body.page.design-system-executive [data-mobile-surface="paper"],
  body.page.design-system-executive .m-surface-paper{
    margin-inline:calc(var(--m-gutter) * -1);
    padding-inline:var(--m-gutter);
    background:var(--m-paper);
    color:var(--m-paper-ink);
  }
  body.page.design-system-executive [data-mobile-surface="paper"] :is(h1,h2,h3,h4,strong,a),
  body.page.design-system-executive .m-surface-paper :is(h1,h2,h3,h4,strong,a){color:var(--m-paper-ink)}
  body.page.design-system-executive [data-mobile-surface="paper"] :is(p,li),
  body.page.design-system-executive .m-surface-paper :is(p,li){color:rgba(16,20,16,.72)}
  body.page.design-system-executive [data-mobile-surface="paper"] :is(.nbc-eyebrow,.eyebrow,.mono),
  body.page.design-system-executive .m-surface-paper :is(.nbc-eyebrow,.eyebrow,.mono){color:#3e7650}

  /* ---- G10 intentional horizontal-control cue ------------------------------- */
  body.page.design-system-executive :is(
    .m2-twin__rail,.baro-scenarios,.dc5-process-types,.m4-reading-nav,.m4-case-nav,
    .dg-guide-switcher,.km-b5-filterset,.authority-hub-nav .wrap,.pp-scenario-picker,
    .pp-step-jump,.dc5-result-switch,.ep-mobile-nav,.m7-document-nav__rail,
    [role="tablist"],[data-g10-horizontal="true"]
  ){scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
  body.page.design-system-executive :is(
    .m2-twin__rail,.baro-scenarios,.dc5-process-types,.m4-reading-nav,.m4-case-nav,
    .dg-guide-switcher,.km-b5-filterset,.authority-hub-nav .wrap,.pp-scenario-picker,
    .pp-step-jump,.dc5-result-switch,.ep-mobile-nav,.m7-document-nav__rail,
    [role="tablist"],[data-g10-horizontal="true"]
  )::-webkit-scrollbar{display:none}
  body.page.design-system-executive :is(
    .m2-twin__rail,.baro-scenarios,.dc5-process-types,.m4-reading-nav,.m4-case-nav,
    .dg-guide-switcher,.km-b5-filterset,.authority-hub-nav .wrap,.pp-scenario-picker,
    .pp-step-jump,.dc5-result-switch,.ep-mobile-nav,.m7-document-nav__rail,
    [role="tablist"],[data-g10-horizontal="true"]
  )[data-scroll-cue="more"]{
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent 100%);
    mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent 100%);
  }

  /* ---- Bottom-sheet primitive (used by M2/M3 progressive disclosure) ---------- */
  .m1-sheet-layer{
    position:fixed;
    inset:0;
    z-index:140;
    display:grid;
    align-items:end;
    visibility:hidden;
    pointer-events:none;
  }
  .m1-sheet-layer[data-open="true"]{visibility:visible;pointer-events:auto}
  .m1-sheet-backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:rgba(0,0,0,.58);
    opacity:0;
    transition:opacity .24s ease;
  }
  .m1-sheet-layer[data-open="true"] .m1-sheet-backdrop{opacity:1}
  .m1-sheet{
    position:relative;
    z-index:1;
    width:100%;
    max-height:min(82dvh,760px);
    overflow:auto;
    overscroll-behavior:contain;
    padding:14px var(--m-gutter) calc(26px + env(safe-area-inset-bottom));
    border:1px solid rgba(247,245,242,.12);
    border-bottom:0;
    border-radius:24px 24px 0 0;
    background:#0a120d;
    color:var(--paper);
    box-shadow:0 -24px 80px rgba(0,0,0,.42);
    transform:translateY(102%);
    transition:transform .3s var(--m-ease);
  }
  .m1-sheet-layer[data-open="true"] .m1-sheet{transform:none}
  .m1-sheet__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
  .m1-sheet__handle{width:38px;height:4px;border-radius:99px;background:rgba(247,245,242,.22)}
  .m1-sheet__close{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    min-height:42px;
    padding:0;
    border:1px solid rgba(247,245,242,.14);
    border-radius:999px;
    background:transparent;
    color:var(--paper);
    font-size:20px;
  }
  .m1-sheet__title{margin:0 0 12px;font-size:var(--m-h3);line-height:1.08}
  .m1-sheet__body{font-size:16px;line-height:1.65;color:rgba(247,245,242,.72)}
  body.m1-sheet-open{overflow:hidden}

  /* ---- Media discipline -------------------------------------------------------- */
  body.page.design-system-executive :is(img,video,canvas,svg){max-width:100%}
  body.page.design-system-executive figure{max-width:100%}

  /* ---- Footer: quieter, easier to scan ---------------------------------------- */
  body.page.design-system-executive .site-footer{padding-top:var(--m-section);padding-bottom:calc(34px + env(safe-area-inset-bottom))}
  body.page.design-system-executive .footer-main{grid-template-columns:1fr;gap:28px}
  body.page.design-system-executive .footer-navigation-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 16px;
  }
  body.page.design-system-executive .footer-navigation-row a{
    min-height:42px;
    padding-block:7px;
  }
  body.page.design-system-executive .footer-meta{grid-template-columns:1fr;gap:9px}

  /* ---- Utility/admin heroes: intentional clearance below the fixed header ---- */
  body.page-contact .ac-intake-hero,
  body.page.page-legal:not(.page-styleguide) .legal-hero,
  body.page.page-styleguide .styleguide-hero{
    padding-top:calc(var(--m-header-h) + env(safe-area-inset-top) + 28px)!important;
  }
  body.page-contact .ac-intake-hero{padding-bottom:28px!important}
  body.page.page-legal:not(.page-styleguide) .legal-hero,
  body.page.page-styleguide .styleguide-hero{padding-bottom:30px!important}
}


@media (max-width:374px){
  :root{
    --m-gutter:18px;
    --m-display-short:40px;
    --m-display-medium:38px;
    --m-display-long:35px;
    --m-display-xlong:32px;
    --m-h2:29px;
    --m-h3:22px;
  }
  .nbc-mobile-header-cta{padding-inline:10px;font-size:11.5px}
  body.page.design-system-executive .brand-logo{width:98px}
  body.page.design-system-executive .footer-navigation-row{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  .nbc-mobile-header-cta,
  .nbc-mobile-context,
  .m1-sheet,
  .m1-sheet-backdrop,
  body.page.design-system-executive .burger::before,
  body.page.design-system-executive .burger::after{transition:none!important}
  body.page.design-system-executive :is(button,.btn,.button,.lm-btn,a.nav-cta,.nbc-mobile-header-cta):active{scale:1}
}

/* ===== SOURCE: mobile-system-g10.v6554.css ===== */
/*! NBC v6.554 · G10 Mobile System Contract
    Final owner for mobile rhythm, allowed horizontal controls, touch/focus,
    CTA geometry and cross-family responsive consistency. Desktop untouched. */
@media (max-width:760px){
  :root{
    --m5-focus:#a6e8b4;
    --m5-paper:#f1eee7;
    --m5-paper-ink:#111511;
    --m5-deep:#07100b;
    --m5-line:rgba(247,245,242,.12);
    --m5-muted:rgba(247,245,242,.66);
  }

  html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto}
  body.page.design-system-executive{-webkit-tap-highlight-color:transparent}
  body.page.design-system-executive main :is(p,li,dd){orphans:2;widows:2}
  body.page.design-system-executive :is(img,picture,video){display:block}

  /* Keyboard focus must remain obvious even in the dark visual system. */
  body.page.design-system-executive :is(a,button,input,select,textarea,summary):focus-visible{
    outline:2px solid var(--m5-focus)!important;
    outline-offset:3px!important;
    box-shadow:none!important;
  }

  /* Mobile rails: consistent momentum, snap and edge affordance across M2–M4. */
  body.page.design-system-executive :is(
    .baro-scenarios,.dc5-process-types,.m4-reading-nav,.m4-case-nav,
    .dg-guide-switcher,[role="tablist"],[data-g10-horizontal="true"]
  ){
    scroll-padding-inline:var(--m-gutter);
    scroll-snap-stop:normal;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  body.page.design-system-executive :is(
    .baro-scenarios,.dc5-process-types,.m4-reading-nav,.m4-case-nav,
    .dg-guide-switcher,[role="tablist"],[data-g10-horizontal="true"]
  )::-webkit-scrollbar{display:none}
  body.page.design-system-executive [data-g10-rail-state="start"]{
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 30px),transparent 100%);
    mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 30px),transparent 100%);
  }
  body.page.design-system-executive [data-g10-rail-state="middle"]{
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);
  }
  body.page.design-system-executive [data-g10-rail-state="end"]{
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 100%);
  }

  /* Header: slightly lighter render cost while retaining the glass effect. */
  body.page.design-system-executive .site-header{
    backdrop-filter:blur(16px) saturate(112%);
    -webkit-backdrop-filter:blur(16px) saturate(112%);
  }

  /* Footer polish: small enough to be quiet, large enough to feel intentional. */
  body.page.design-system-executive .footer-brand strong{font-size:18px;line-height:1.15}
  body.page.design-system-executive .footer-signature>p{font-size:13.25px;line-height:1.55}
  body.page.design-system-executive .footer-mail{font-size:13px}
  body.page.design-system-executive .footer-navigation-row a{font-size:12.5px}
  body.page.design-system-executive .footer-meta{font-size:10.5px;line-height:1.5}

  /* M2/M3 final balance: no visual redesign, only small rhythm consistency. */
  body.page-home[data-m2-home-active="true"] .m2-section__intro,
  body[data-m3-service-active="true"] .m3-intro{max-width:35ch}
  body[data-m3-service-active="true"] .m3-next__copy{max-width:34ch}

  /* Case detail: opened evidence should read like editorial content, not metadata. */
  body[data-m4-kind="case-detail"] .m4-case-accordion[open] :is(p,li,dd){
    font-size:15.5px!important;
    line-height:1.66!important;
  }
  body[data-m4-kind="case-detail"] .m4-case-accordion summary{
    min-height:58px;
    align-items:center;
  }

  /* Decision Guide detail: biggest remaining typographic weakness from M4. */
  body[data-m4-kind="guide-detail"] .dg-page-hero h1{
    font-size:clamp(38px,10.2vw,42px)!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
  }
  body[data-m4-kind="guide-detail"] .dg-page-body{padding-top:48px!important}
  body[data-m4-kind="guide-detail"] .dg-page-body :is(p,li,dd),
  body[data-m4-kind="guide-detail"] .dg-takeaway p,
  body[data-m4-kind="guide-detail"] .dg-after20-item p,
  body[data-m4-kind="guide-detail"] .dg-related-guides p{
    font-size:15.5px!important;
    line-height:1.64!important;
  }
  body[data-m4-kind="guide-detail"] .dg-page-body :is(h2,.dg-section-title){
    font-size:29px!important;
    line-height:1.03!important;
    letter-spacing:-.035em!important;
  }
  body[data-m4-kind="guide-detail"] .dg-page-body h3{
    font-size:20px!important;
    line-height:1.08!important;
  }
  body[data-m4-kind="guide-detail"] .dg-takeaway{padding:22px!important;}
  body[data-m4-kind="guide-detail"] :is(.dg-live-tool,.dg-guide-preview,.dg-after20,.dg-related-guides){
    padding-block:52px!important;
  }
  body[data-m4-kind="guide-detail"] :is(.dg-preview-stack,.dg-related-grid){gap:14px!important}
  body[data-m4-kind="guide-detail"] :is(.dg-preview-caption,.dg-preview-note,.dg-tool-note,.dg-live-tool small){
    font-size:12.5px!important;
    line-height:1.52!important;
  }

  /* Barometer: the previous SVG stage reserved too much vertical space on a phone. */
  body[data-m4-kind="barometer"] .baro-stage{overflow:hidden}
  body[data-m4-kind="barometer"] .baro-svg{
    height:clamp(225px,62vw,255px)!important;
    min-height:225px!important;
  }
  body[data-m4-kind="barometer"] .baro-readout{
    min-height:0!important;
    padding-bottom:12px!important;
  }
  body[data-m4-kind="barometer"] .baro-stage-column{min-height:0!important}
  body[data-m4-kind="barometer"] .baro-finding{margin-top:0!important}
  body[data-m4-kind="barometer"] .baro-scenario{min-height:46px}

  /* Digital Check: keep the initial tool screen compact and intentional. */
  body[data-m4-kind="digital"] .dc5-stage{min-height:260px!important}
  body[data-m4-kind="digital"] .dc5-question-panel{padding-bottom:30px!important}

  /* Regional Göttingen page: M5 creates a dedicated mobile journey. */
  body.page-regional[data-m5-local-active="true"] .local-hero{
    min-height:0!important;
    padding-top:calc(var(--m-header-h) + env(safe-area-inset-top) + 22px)!important;
    padding-bottom:58px!important;
  }
  body.page-regional[data-m5-local-active="true"] .local-hero-grid{display:block!important}
  body.page-regional[data-m5-local-active="true"] .local-founder-card{display:none!important}
  body.page-regional[data-m5-local-active="true"] .local-hero h1{
    font-size:clamp(34px,9.2vw,37px)!important;
    line-height:.97!important;
    max-width:9.6ch!important;
  }
  body.page-regional[data-m5-local-active="true"] .local-hero-thesis{
    margin-top:22px!important;
    font-size:19px!important;
    line-height:1.18!important;
  }
  body.page-regional[data-m5-local-active="true"] .local-hero-lede{
    margin-top:14px!important;
    max-width:35ch;
    font-size:16px!important;
    line-height:1.58!important;
  }
  body.page-regional[data-m5-local-active="true"] .local-hero-actions{
    margin-top:25px!important;
    display:block!important;
  }
  body.page-regional[data-m5-local-active="true"] .local-hero-actions .btn{width:100%}
  body.page-regional[data-m5-local-active="true"] .nbc-hero-secondary-link{display:none!important}
  body.page-regional[data-m5-local-active="true"] .local-hero-proof{
    margin-top:22px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px 12px!important;
    border:0!important;
    padding:0!important;
    font-size:11px!important;
    line-height:1.35!important;
  }
  body.page-regional[data-m5-local-active="true"] .local-hero-proof strong{grid-column:1/-1;color:var(--green)}
  body.page-regional[data-m5-local-active="true"] main>.local-situations,
  body.page-regional[data-m5-local-active="true"] main>.local-economy,
  body.page-regional[data-m5-local-active="true"] main>.local-check,
  body.page-regional[data-m5-local-active="true"] main>.local-proof,
  body.page-regional[data-m5-local-active="true"] main>.local-qualification,
  body.page-regional[data-m5-local-active="true"] main>.local-independence,
  body.page-regional[data-m5-local-active="true"] main>.local-direct,
  body.page-regional[data-m5-local-active="true"] main>.local-faq,
  body.page-regional[data-m5-local-active="true"] main>.local-final{display:none!important}

  .m5-local{background:#07100b;color:var(--paper)}
  .m5-local__section{padding:var(--m-section,66px) var(--m-gutter);border-top:1px solid var(--m5-line)}
  .m5-local__section--deep{background:radial-gradient(circle at 85% 0,rgba(134,200,149,.08),transparent 38%),#07100b}
  .m5-local__section--paper{background:var(--m5-paper);color:var(--m5-paper-ink);border-color:rgba(17,21,17,.12)}
  .m5-local__wrap{width:100%;max-width:430px;margin-inline:auto}
  .m5-local__kicker{display:block;margin-bottom:20px;color:var(--green);font:500 10px/1.2 var(--mono,"IBM Plex Mono",monospace);letter-spacing:.1em;text-transform:uppercase}
  .m5-local__section--paper .m5-local__kicker{color:#477a52}
  .m5-local__title{margin:0;font-size:clamp(30px,8.5vw,34px);line-height:1.01;letter-spacing:-.04em;text-wrap:balance}
  .m5-local__section--paper .m5-local__title{color:var(--m5-paper-ink)}
  .m5-local__intro{margin:18px 0 0;max-width:35ch;color:var(--m5-muted);font-size:16px;line-height:1.62}
  .m5-local__section--paper .m5-local__intro{color:rgba(17,21,17,.68)}
  .m5-local__rail{
    display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%;margin-top:30px;padding-right:0;overflow:visible;scroll-snap-type:none;scrollbar-width:none
  }
  .m5-local__rail::-webkit-scrollbar{display:none}
  .m5-local-card{
    min-width:0;width:100%;max-width:none;min-height:285px;padding:22px;border:1px solid rgba(247,245,242,.12);border-radius:22px;background:rgba(255,255,255,.025);scroll-snap-align:none
  }
  .m5-local-card small{color:var(--green);font:500 9px/1.2 var(--mono,"IBM Plex Mono",monospace);letter-spacing:.09em}
  .m5-local-card h3{margin:52px 0 12px;font-size:24px;line-height:1.02;letter-spacing:-.035em}
  .m5-local-card p{margin:0;color:var(--m5-muted);font-size:15px;line-height:1.55}
  .m5-local__chain{margin-top:30px;border-top:1px solid rgba(17,21,17,.14)}
  .m5-local__step{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid rgba(17,21,17,.14)}
  .m5-local__step span{color:#477a52;font:500 10px/1.2 var(--mono,"IBM Plex Mono",monospace)}
  .m5-local__step strong{display:block;color:var(--m5-paper-ink);font-size:17px;line-height:1.16}
  .m5-local__step p{margin:7px 0 0;color:rgba(17,21,17,.66);font-size:14.5px;line-height:1.52}
  .m5-local__proof{margin-top:30px;display:grid;gap:0;border-top:1px solid var(--m5-line)}
  .m5-local__proof-row{display:grid;grid-template-columns:1fr auto;gap:14px;padding:22px 0;border-bottom:1px solid var(--m5-line);align-items:start}
  .m5-local__proof-row small{color:var(--green);font:500 9px/1.2 var(--mono,"IBM Plex Mono",monospace);letter-spacing:.08em}
  .m5-local__proof-row strong{display:block;margin-top:7px;font-size:17px;line-height:1.14}
  .m5-local__proof-row b{color:var(--green);font-size:18px;line-height:1.06;text-align:right}
  .m5-local__pillars{margin-top:30px;display:grid;gap:10px}
  .m5-local__pillar{padding:18px;border:1px solid var(--m5-line);border-radius:16px;background:rgba(255,255,255,.025)}
  .m5-local__pillar strong{display:block;font-size:17px;line-height:1.14}
  .m5-local__pillar p{margin:7px 0 0;color:var(--m5-muted);font-size:14.5px;line-height:1.5}
  .m5-local__cta{margin-top:28px;width:100%}
  .m5-local__micro{margin:12px 0 0;color:rgba(247,245,242,.5);font-size:11.5px;line-height:1.48}
}

@media (max-width:374px){
  body.page-regional[data-m5-local-active="true"] .local-hero h1{font-size:34px!important}
  .m5-local__section{padding-inline:18px}
}

@media (prefers-reduced-motion:reduce){
  @media (max-width:760px){
    html{scroll-behavior:auto}
    body.page.design-system-executive [data-g10-rail-state]{-webkit-mask-image:none;mask-image:none}
  }
}
@media (max-width:760px){
  body.page-regional[data-m5-local-active="true"] .local-hero h1{max-width:100%!important}
  body.page-regional[data-m5-local-active="true"] .local-hero h1 span{
    overflow-wrap:normal!important;
    word-break:normal!important;
    -webkit-hyphens:manual!important;
    hyphens:manual!important;
  }
}
@media (max-width:760px){
  body[data-m4-kind="barometer"] .baro-svg{
    height:clamp(175px,49vw,205px)!important;
    min-height:175px!important;
  }
}

/* M5 final readability guard — narrow mobile only. */
@media (max-width:760px){
  body.page-service.service-ki[data-m3-service-active="true"] .nbc-unified-hero-title{
    max-width:100%!important;
  }
  body[data-m4-kind="barometer"] :is(.baro-readout p,.baro-finding p,.risk-reversal-tool){
    font-size:12.5px!important;
    line-height:1.48!important;
  }
  body[data-m4-kind="digital-check"] #dc-prefill-copy{
    font-size:12.5px!important;
    line-height:1.45!important;
  }
  body.page-decision-guide .dg-conversion-copy p{
    font-size:15px!important;
    line-height:1.62!important;
  }
}
@media (max-width:760px){
  body.page-digital-check #dc-prefill-copy{font-size:12.5px!important;line-height:1.45!important}
}
@media (max-width:760px){
  body.page-template-guide .dg-conversion-copy p{font-size:15px!important;line-height:1.62!important}
}

/* M5 tablet-edge guard: keep the 768px boundary touch-safe without mounting mobile-only compositions. */
@media (min-width:761px) and (max-width:820px){
  body.page-barometer input[type="range"]{min-height:44px!important}
  body .styleguide-final{min-width:44px!important}
  body.page-template-guide .dg-tool-caption{font-size:11.5px!important;line-height:1.45!important}
}
@media (min-width:761px) and (max-width:820px){
  body.page-barometer input[type="range"]{height:44px!important;min-height:44px!important}
  body.page-barometer :is(.baro-dimension-copy,.baro-readout p,.baro-finding p,.risk-reversal-tool){font-size:12.5px!important;line-height:1.48!important}
}
@media (min-width:761px) and (max-width:820px){
  body.page-barometer input[type="number"]{min-height:44px!important;height:44px!important;padding-block:8px!important}
}


/* G10 global mobile contract ------------------------------------------------ */
@media (max-width:760px){
  body.page.design-system-executive main :is(.lede,.lead,.nbc-unified-hero-lead,.local-hero-lede,.knowledge-hero-note){max-width:90%}
  body.page.design-system-executive main :is(.grid-cards,.related-grid,.proof-grid,.service-case-grid,.service-fit-grid,.knowledge-grid,.evidence-library-grid,.contact-process-grid,.contact-trust-grid,.branch-case-grid,.branch-read-grid){grid-template-columns:1fr}
  body.page.design-system-executive main :is(.grid-cards,.related-grid,.proof-grid,.service-case-grid,.service-fit-grid,.knowledge-grid,.evidence-library-grid,.contact-process-grid,.contact-trust-grid,.branch-case-grid,.branch-read-grid)>*{min-width:0;width:100%}
  body.page.design-system-executive :is(.btn,.btn-solid,.btn-outline)[href],body.page.design-system-executive button.btn{max-width:100%}
  body.page.design-system-executive main :is(.dg-takeaways,.dg-preview-stack,.dg-related-grid,.knowledge-card-grid,.hub-path-grid,.case-related-grid,.m4-metric-rail,.dc7-choice-grid,.dx-primary-grid,.baro-dimensions){scroll-snap-type:none;overscroll-behavior-inline:auto;mask-image:none;-webkit-mask-image:none}
  body.page.design-system-executive [data-g10-card-stack="true"]{display:grid;grid-template-columns:1fr;overflow:visible}
}
