/*! NBC v6.430 · M1 Mobile Foundation · baseline v6.429 */
@media (max-width:760px){
  :root{
    --nbc-mobile-gutter:clamp(20px,5.6vw,24px);
    --nbc-mobile-section:clamp(56px,14vw,72px);
    --nbc-mobile-section-tight:clamp(40px,10.8vw,52px);
    --nbc-mobile-header:66px;
    --nbc-mobile-display-short:clamp(40px,11.2vw,48px);
    --nbc-mobile-display-medium:clamp(38px,10.5vw,44px);
    --nbc-mobile-display-long:clamp(35px,9.8vw,41px);
    --nbc-mobile-display-xlong:clamp(32px,8.8vw,38px);
    --nbc-mobile-title:clamp(28px,8.2vw,34px);
    --nbc-mobile-subtitle:clamp(22px,6.4vw,27px);
    --nbc-mobile-copy:16px;
    --nbc-mobile-leading:1.62;
    --nbc-layout-gutter:var(--nbc-mobile-gutter);
    --nbc-layout-section:var(--nbc-mobile-section);
    --nbc-layout-section-compact:var(--nbc-mobile-section-tight);
    --header-height:var(--nbc-mobile-header);
  }

  html{
    scroll-padding-top:calc(var(--nbc-mobile-header) + env(safe-area-inset-top) + 12px);
  }

  /* Do not use the page shell as an overflow mask. Decorative layers own their clipping. */
  body.page.design-system-executive,
  body.page.design-system-executive main.nbc-page-shell{
    overflow-x:visible;
  }

  body.page.design-system-executive :is(.wrap,.sw){
    width:calc(100% - (2 * var(--nbc-mobile-gutter)));
    max-width:none;
    margin-inline:auto;
  }
  body.page.design-system-executive :is(.wrap,.sw)>*{min-width:0}

  /* Foundation typography: scale by actual title length, never by one global display size. */
  body.page.design-system-executive :is(h1,h2,h3,.editorial-title,.display){
    max-width:100%;
    min-width:0;
    white-space:normal;
    word-break:normal;
    overflow-wrap:anywhere;
    -webkit-hyphens:auto;
    hyphens:auto;
  }
  body.page.design-system-executive h1[class].title-fit-short{
    font-size:var(--nbc-mobile-display-short);
    line-height:.98;
    letter-spacing:-.043em;
    text-wrap:balance;
  }
  body.page.design-system-executive h1[class].title-fit-medium{
    font-size:var(--nbc-mobile-display-medium);
    line-height:1;
    letter-spacing:-.041em;
    text-wrap:pretty;
  }
  body.page.design-system-executive h1[class].title-fit-long{
    font-size:var(--nbc-mobile-display-long);
    line-height:1.02;
    letter-spacing:-.037em;
    text-wrap:pretty;
  }
  body.page.design-system-executive h1[class].title-fit-xlong{
    font-size:var(--nbc-mobile-display-xlong);
    line-height:1.045;
    letter-spacing:-.032em;
    text-wrap:pretty;
  }
  body.page.design-system-executive h1[class].title-fit-longword{
    overflow-wrap:anywhere;
  }
  body.page.design-system-executive :is(.nbc-section-title,.service-editorial-section h2,.ep-chapter h2,.ih-command h2,.ih-architecture h2,.ih-routes h2,.ih-decision h2,.case-film-section h2){
    font-size:var(--nbc-mobile-title);
    line-height:1.06;
    letter-spacing:-.032em;
    text-wrap:pretty;
  }
  body.page.design-system-executive :is(.nbc-section-intro,.service-editorial-section>div>p,.ep-chapter>p,.ih-command p,.ih-architecture p,.ih-routes p,.ih-decision p){
    font-size:var(--nbc-mobile-copy);
    line-height:var(--nbc-mobile-leading);
  }
  body.page.design-system-executive :is(.nbc-eyebrow,.eyebrow,.ep-eyebrow,.nbc-hero-location,.mono){
    letter-spacing:.09em;
  }

  /* Shared vertical rhythm: content determines height unless a later archetype explicitly owns a stage. */
  body.page.design-system-executive .nbc-section,
  body.page.design-system-executive :is(.service-context-section,.service-editorial-section,.knowledge-direct-library,.knowledge-diagnostic,.evidence-library-grid-section,.ac-section){
    padding-block:var(--nbc-mobile-section);
  }
  body.page-home .home-final,
  body.page-service .service-management-statement,
  body.page-service.service-erp .service-management-statement,
  body.page-template-case-index .evidence-library-grid>*,
  body.page-digital-check .dc5-question-card{
    min-height:0;
  }
  body.page-home .home-final,
  body.page-service .service-management-statement,
  body.page-service.service-erp .service-management-statement{
    padding-block:var(--nbc-mobile-section);
  }
  body.page-template-case-index .evidence-library-grid>*{
    padding-block:30px;
  }

  /* Mobile header: stable, compact and safe-area aware. */
  body.page.design-system-executive .site-header{
    height:calc(var(--nbc-mobile-header) + env(safe-area-inset-top));
    padding-top:env(safe-area-inset-top);
    background:rgba(7,11,9,.90);
    border-bottom-color:rgba(247,245,242,.09);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    transform:none;
  }
  body.page.design-system-executive[data-mobile-header="hidden"]:not(.menu-open) .site-header{
    transform:none;
  }
  body.page.design-system-executive .site-header .nav{
    width:calc(100% - (2 * var(--nbc-mobile-gutter)));
    height:var(--nbc-mobile-header);
    min-height:var(--nbc-mobile-header);
  }
  body.page.design-system-executive .brand-logo{
    width:108px;
    max-height:46px;
  }
  body.page.design-system-executive .site-header .nav>.nbc-mobile-context{
    display:none;
  }
  body.page.design-system-executive .burger{
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
    border-radius:999px;
    border-color:rgba(247,245,242,.18);
    background:rgba(12,17,14,.72);
    line-height:1;
  }

  /* Full-screen menu: one clear hierarchy, safe areas, 44px+ targets. */
  body.page.design-system-executive.menu-open{overflow:hidden}
  body.page.design-system-executive .site-header nav #menu.open{
    width:100%;
    height:100dvh;
    min-height:100svh;
    max-height:100dvh;
    padding:
      calc(var(--nbc-mobile-header) + env(safe-area-inset-top) + 22px)
      var(--nbc-mobile-gutter)
      calc(24px + env(safe-area-inset-bottom));
    background:
      radial-gradient(circle at 88% 8%,rgba(134,200,149,.12),transparent 32%),
      #08100b;
    scroll-padding-bottom:calc(24px + env(safe-area-inset-bottom));
  }
  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:56px;
    padding:14px 0;
    font-size:clamp(23px,6.8vw,29px);
    line-height:1.08;
    letter-spacing:-.025em;
  }
  body.page.design-system-executive .site-header nav #menu.open .nav-sub{
    padding-bottom:14px;
  }
  body.page.design-system-executive .site-header nav #menu.open .nav-sub a{
    display:flex;
    align-items:center;
    min-height:44px;
    padding:9px 0;
    font-size:15px;
    line-height:1.35;
  }
  body.page.design-system-executive .site-header nav #menu.open .nav-cta{
    min-height:48px;
    margin-top:4px;
    font-size:15px;
  }

  /* Common hero offset follows the smaller mobile header. Homepage opening remains owned by M2. */
  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
  ){
    padding-top:calc(var(--nbc-mobile-header) + env(safe-area-inset-top) + 34px);
  }

  /* Touch foundation and iOS form behaviour. */
  body.page.design-system-executive :is(.btn,button,a.nav-cta,.burger){
    min-height:44px;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  body.page.design-system-executive :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
    width:100%;
    max-width:100%;
    min-height:48px;
    font-size:16px;
  }
  body.page.design-system-executive textarea{min-height:104px}
  body.page.design-system-executive :is(a,button,input,select,textarea,summary):focus-visible{
    outline:2px solid var(--nbc-focus,#a7e6b4);
    outline-offset:3px;
  }

  /* Explicit horizontal scrollers may extend visually; everything else must fit its container. */
  body.page.design-system-executive :is(
    .ot-scenarios,
    .baro-scenarios,
    .pp-scenario-picker,
    .pp-step-jump,
    .dc5-result-switch
  ){
    max-width:100vw;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
  body.page.design-system-executive :is(img,video,canvas,svg){max-width:100%}

  /* Floating actions must not collide with the iPhone home indicator. */
  body.page.design-system-executive .fab{
    min-height:48px;
    bottom:calc(16px + env(safe-area-inset-bottom));
  }

  /* Footer foundation: avoid desktop-column collapse and undersized tap targets. */
  body.page.design-system-executive .footer-main{
    grid-template-columns:1fr;
    gap:30px;
  }
  body.page.design-system-executive .footer-navigation-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 18px;
  }
  body.page.design-system-executive .footer-navigation-row a{
    display:flex;
    align-items:center;
    min-height:44px;
    padding-block:8px;
  }
  body.page.design-system-executive .footer-meta{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
}

@media (max-width:374px){
  :root{
    --nbc-mobile-gutter:20px;
    --nbc-mobile-display-short:clamp(38px,11.8vw,42px);
    --nbc-mobile-display-medium:clamp(36px,11vw,40px);
    --nbc-mobile-display-long:clamp(33px,10.2vw,37px);
    --nbc-mobile-display-xlong:clamp(30px,9.3vw,34px);
    --nbc-mobile-title:clamp(27px,8.5vw,31px);
  }
  body.page.design-system-executive .footer-navigation-row{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  body.page.design-system-executive .site-header{transform:none;transition:none}
}
