/* ==========================================================
   MOBILE DEPLOYMENT QA AUTHORITY — 09 SEP 2026
   Final mobile-only layer. Keeps desktop untouched while
   eliminating overflow, narrow text tracks, oversized media,
   inconsistent gutters and touch-navigation issues.
   ========================================================== */

@media (max-width: 900px) {
  :root{
    --mobile-gutter:22px;
    --mobile-nav-h:70px;
    --mobile-radius:20px;
  }

  html{
    width:100%;
    max-width:100%;
    overflow-x:clip!important;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }
  body{
    width:100%;
    max-width:100%;
    min-width:0!important;
    overflow-x:clip!important;
    overscroll-behavior-x:none;
  }
  main,.tr-main,.content-page,.content-flow,section,article,footer{
    min-width:0;
    max-width:100%;
  }
  img,video,canvas,svg,iframe{
    max-width:100%;
  }

  /* Text can wrap naturally, but never into the one-letter columns seen in Safari. */
  h1,h2,h3,h4,p,li,blockquote,.premium-card-copy{
    min-width:0!important;
    max-height:none!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    -webkit-hyphens:none!important;
    hyphens:none!important;
  }
  a[href^="mailto:"],a[href^="tel:"]{overflow-wrap:anywhere!important;}

  /* Fixed header: one mobile geometry, no floating drift or disappearing header. */
  .site-nav.nav-v5,
  .site-nav.nav-v5.static-brand-nav,
  .tr-home .site-nav.nav-v5,
  .page-internal .site-nav.nav-v5{
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:var(--mobile-nav-h)!important;
    min-height:var(--mobile-nav-h)!important;
    padding:0 16px!important;
    border-radius:0!important;
    transform:none!important;
  }
  .site-nav.nav-v5.nav-hidden{transform:none!important;}
  .site-nav.nav-v5 .brand-link,
  .site-nav.nav-v5.static-brand-nav .brand-link{
    width:min(57vw,220px)!important;
    max-width:min(57vw,220px)!important;
    height:44px!important;
  }
  .site-nav.nav-v5 .menu-button,
  .site-nav.nav-v5.static-brand-nav .menu-button{
    display:flex!important;
    flex:0 0 auto!important;
    width:74px!important;
    min-width:74px!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    touch-action:manipulation;
  }

  /* Mobile menu fits iPhone dynamic viewport + safe areas and remains scrollable. */
  .menu-overlay.nav-v5-menu{
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100svh!important;
    max-height:100dvh!important;
    padding-left:18px!important;
    padding-right:18px!important;
    padding-bottom:calc(24px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .menu-overlay .menu-top{
    top:0!important;
    min-height:calc(var(--mobile-nav-h) + env(safe-area-inset-top))!important;
    padding-top:env(safe-area-inset-top)!important;
  }
  .menu-overlay .menu-top .brand-link{
    width:min(57vw,220px)!important;
    height:44px!important;
  }
  .menu-overlay .menu-top button{
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    touch-action:manipulation;
  }
  .mobile-menu-list,
  .mobile-menu-group,
  .mobile-submenu{width:100%!important;min-width:0!important;max-width:100%!important;}
  .mobile-menu-list a{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:28px minmax(0,1fr) 38px!important;
    gap:10px!important;
    overflow:visible!important;
  }
  .mobile-menu-list b,
  .mobile-submenu a,
  .mobile-submenu span{
    min-width:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .mobile-menu-list b{font-size:clamp(22px,6.7vw,30px)!important;line-height:1.06!important;}
  .mobile-submenu{padding-left:38px!important;padding-right:0!important;}
  .mobile-submenu a{padding:9px 0!important;font-size:12px!important;line-height:1.35!important;}
  .training-lab-mobile-brand img{width:min(175px,100%)!important;height:auto!important;object-fit:contain!important;}

  /* Homepage begins immediately below the canonical 70px navigation. */
  .tr-main{padding-top:0!important;}
  .page-home-refined .doc-home-hero{
    margin-top:var(--mobile-nav-h)!important;
    width:100%!important;
    max-width:100%!important;
  }

  /* Internal hero: consistent premium crop rather than giant/uncropped images. */
  .content-page{padding-top:0!important;}
  .content-hero,.content-hero.dense-hero{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    padding-top:var(--mobile-nav-h)!important;
    grid-template-columns:minmax(0,1fr)!important;
    overflow:hidden!important;
  }
  .content-hero-copy{
    width:100%!important;
    max-width:none!important;
    padding:48px var(--mobile-gutter) 36px!important;
  }
  .content-hero-copy h1{
    width:100%!important;
    max-width:14.5ch!important;
    margin:15px 0 18px!important;
    font-size:clamp(38px,10.2vw,54px)!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
  }
  .content-hero-copy>p:not(.eyebrow){
    width:100%!important;
    max-width:62ch!important;
    font-size:14px!important;
    line-height:1.65!important;
  }
  .content-hero-media,
  .content-page .content-hero-media,
  .page-internal .content-hero-media{
    position:relative!important;
    width:calc(100% - 2 * var(--mobile-gutter))!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4 / 3!important;
    margin:0 var(--mobile-gutter) 28px!important;
    border-radius:var(--mobile-radius)!important;
    overflow:hidden!important;
    background:#111!important;
  }
  .content-hero-media > img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center 30%!important;
  }
  .page-training-refined .content-hero-media > img,
  .page-business-refined .content-hero-media > img{object-position:center center!important;}
  .content-hero-media>span:not(.business-lab-hero-logo){
    left:14px!important;
    right:14px!important;
    bottom:12px!important;
    max-width:calc(100% - 28px)!important;
    white-space:normal!important;
  }
  .content-page .business-lab-hero-media > .business-lab-hero-logo{
    width:min(42%,178px)!important;
    max-width:178px!important;
  }

  /* Editorial sections: one clean column and fixed readable gutter. */
  .section,
  .story-section,
  .dense-section{
    width:100%!important;
    max-width:100%!important;
    padding-left:var(--mobile-gutter)!important;
    padding-right:var(--mobile-gutter)!important;
  }
  .story-section{
    grid-template-columns:minmax(0,1fr)!important;
    gap:20px!important;
  }
  .story-aside{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    padding:0!important;
  }
  .story-aside>span{flex:0 0 auto!important;font-size:38px!important;line-height:1!important;}
  .story-main,.story-body{width:100%!important;max-width:100%!important;min-width:0!important;}
  .story-main>h2,
  .story-main h2.long-heading,
  .balanced-red-statement .story-main>h2{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(32px,8.8vw,46px)!important;
    line-height:1.04!important;
    letter-spacing:-.04em!important;
  }
  .story-main h3{font-size:clamp(21px,5.8vw,28px)!important;line-height:1.12!important;}
  .story-body p,.story-main>p,.premium-list li,.steps-grid article{font-size:14px!important;line-height:1.65!important;}

  /* Any multi-column content becomes a true single mobile column. */
  .doc-founder-intro,
  .doc-question-grid,
  .doc-proof-grid,
  .tr-founder-split,
  .tr-results-grid,
  .tr-impact-grid,
  .doc-offer-split,
  .proof.proof-final,
  .reach-proof-grid,
  .insights-grid,
  .real-session-masonry,
  .real-session-masonry--two,
  .real-session-masonry--three,
  .home-lab-choice__grid,
  .route-choice-grid,
  .steps-grid,
  .steps-grid.infographic-roadmap{
    grid-template-columns:minmax(0,1fr)!important;
  }

  /* Fix both list systems that previously collapsed into ~28px text tracks. */
  .premium-capability-tree,
  .business-function-map.premium-business-bands{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    gap:12px!important;
  }
  .premium-capability-tree>li,
  .business-function-map.premium-business-bands>li,
  .business-function-map.premium-business-bands>li:nth-child(n){
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:18px 18px!important;
    border-radius:16px!important;
  }
  .premium-capability-tree>li>.premium-card-copy,
  .business-function-map.premium-business-bands>li>.premium-card-copy{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .premium-capability-tree>li>span,
  .business-function-map.premium-business-bands>li>span{display:none!important;}
  .business-function-map.premium-business-bands>li,
  .business-function-map.premium-business-bands>li:nth-child(n){
    padding-left:68px!important;
  }
  .business-function-map.premium-business-bands>li::before{
    left:14px!important;
    top:16px!important;
    transform:none!important;
    width:40px!important;
    height:40px!important;
  }
  .business-function-map.premium-business-bands>li::after{
    display:none!important;
  }

  /* Homepage photo systems: consistent height, not oversized on phones. */
  .tr-founder-image{
    width:100%!important;
    height:min(112vw,520px)!important;
    min-height:390px!important;
    max-height:520px!important;
  }
  .tr-founder-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 18%!important;}
  .doc-offer-media{
    width:100%!important;
    height:min(106vw,500px)!important;
    min-height:380px!important;
    max-height:500px!important;
    overflow:hidden!important;
  }
  .doc-offer-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 18%!important;}

  .home-lab-choice{padding:64px var(--mobile-gutter)!important;}
  .home-lab-choice__head{grid-template-columns:minmax(0,1fr)!important;gap:14px!important;margin-bottom:28px!important;}
  .home-lab-choice__head h2{font-size:clamp(39px,10.5vw,52px)!important;line-height:.98!important;}
  .home-lab-choice__card{
    width:100%!important;
    height:min(104vw,480px)!important;
    min-height:380px!important;
    max-height:480px!important;
    border-radius:20px!important;
  }
  .home-lab-choice__training-logo{width:min(74%,300px)!important;max-width:300px!important;}
  .home-lab-choice__business-mark{width:min(50%,205px)!important;max-width:205px!important;}
  .home-lab-choice__footer{left:16px!important;right:16px!important;bottom:14px!important;}
  .home-lab-choice__footer b{white-space:normal!important;text-align:right!important;}

  /* Real-session galleries use one stable landscape crop on phones. */
  .real-session-gallery-section{padding-left:var(--mobile-gutter)!important;padding-right:var(--mobile-gutter)!important;}
  .real-session-masonry,.real-session-masonry--two,.real-session-masonry--three{gap:14px!important;}
  .real-session-shot{width:100%!important;max-width:100%!important;overflow:hidden!important;}
  .real-session-shot img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:4 / 3!important;
    object-fit:cover!important;
    object-position:center 30%!important;
  }

  /* Roadmaps / diagrams stay inside the phone width. */
  .tl-ecosystem-map,.steps-grid.infographic-roadmap,.business-function-map,
  .route-choice-grid,.premium-route-map .route-choice-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .tl-ecosystem-map{grid-template-areas:"hub" "programmes" "business" "service"!important;}
  .tl-ecosystem-node,.tl-ecosystem-node--service,.tl-ecosystem-hub{width:100%!important;max-width:100%!important;min-width:0!important;}
  .premium-route-map .route-choice-grid{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:14px!important;
    padding:0!important;
  }
  .premium-route-map .route-choice-card,
  .premium-route-map .route-choice-card:nth-child(n){
    grid-column:2!important;
    grid-row:auto!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  .premium-route-map .route-choice-card>span{display:none!important;}

  /* Testimonials cannot create a hidden horizontal page width. */
  .tr-testimonials-cinematic,.tr-cinematic-review-stage{width:100%!important;max-width:100%!important;overflow:hidden!important;}
  .tr-cinematic-reviewers{left:14px!important;right:14px!important;max-width:calc(100% - 28px)!important;overflow-x:auto!important;overflow-y:hidden!important;}

  /* CTAs/forms: comfortable touch targets, never wider than parent. */
  .actions,.story-actions,.doc-hero-actions,.doc-final-actions{width:100%!important;max-width:100%!important;}
  .button,.tr-pill,.transition-cta,.story-actions a,.actions a,.doc-final-actions a{
    max-width:100%!important;
    min-height:44px!important;
    white-space:normal!important;
    line-height:1.25!important;
    text-align:center!important;
    touch-action:manipulation;
  }
  .smart-form{width:100%!important;max-width:100%!important;padding:22px!important;border-radius:20px!important;}
  .smart-form input,.smart-form textarea,.smart-form select,.smart-form button{width:100%!important;max-width:100%!important;min-width:0!important;}

  /* Footer never inherits old desktop widths/alignment. */
  footer{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px!important;
    padding:44px var(--mobile-gutter) calc(44px + env(safe-area-inset-bottom))!important;
  }
  footer .footer-brand{width:100%!important;max-width:100%!important;}
  footer .footer-brand img{width:min(82vw,360px)!important;max-width:100%!important;height:auto!important;}
  .footer-contact{align-items:flex-start!important;max-width:100%!important;}
}

@media (max-width: 600px) {
  :root{--mobile-gutter:18px;}
  .content-hero-copy{padding:42px var(--mobile-gutter) 32px!important;}
  .content-hero-copy h1{font-size:clamp(35px,10vw,46px)!important;max-width:100%!important;}
  .story-main>h2,.story-main h2.long-heading,.balanced-red-statement .story-main>h2{font-size:clamp(30px,8.7vw,40px)!important;}
  .story-aside>span{font-size:34px!important;}

  .page-home-refined .doc-home-hero{
    height:calc(100svh - var(--mobile-nav-h))!important;
    min-height:620px!important;
    max-height:820px!important;
  }
  .page-home-refined .doc-home-hero .tr-hero-copy{
    top:24px!important;
    left:16px!important;
    right:16px!important;
    max-width:calc(100% - 32px)!important;
  }
  .page-home-refined .doc-home-hero .tr-hero-copy h1{
    max-width:320px!important;
    font-size:clamp(28px,8.2vw,34px)!important;
    line-height:1.09!important;
  }
  .page-home-refined .doc-home-hero .tr-hero-intro{font-size:11.8px!important;line-height:1.55!important;}
  .page-home-refined .doc-home-hero .shivi-primary-descriptor{font-size:9.25px!important;line-height:1.45!important;}
  .page-home-refined .doc-home-hero .shivi-hero-signature{font-size:16px!important;}
  .page-home-refined .doc-home-hero .doc-hero-actions{gap:7px!important;margin-top:14px!important;}
  .page-home-refined .doc-home-hero .doc-hero-actions .tr-pill{min-height:40px!important;padding:0 12px!important;font-size:8.5px!important;}

  .content-hero-media,
  .content-page .content-hero-media,
  .page-internal .content-hero-media{
    width:calc(100% - 36px)!important;
    margin-left:18px!important;
    margin-right:18px!important;
    margin-bottom:22px!important;
    aspect-ratio:1 / 1!important;
    border-radius:18px!important;
  }
  .content-page .business-lab-hero-media > .business-lab-hero-logo{width:min(43%,165px)!important;max-width:165px!important;}

  .doc-founder-intro{padding:54px var(--mobile-gutter)!important;gap:28px!important;}
  .doc-question-grid{gap:12px!important;}
  .doc-question-card,.problem-card-refined{padding:22px!important;min-height:0!important;}
  .doc-proof-grid>div{padding:22px!important;min-height:0!important;}
  .doc-results .result-card-refined,.tr-impact-grid article{min-height:0!important;padding:22px!important;}

  .tr-founder-image{height:min(118vw,500px)!important;min-height:360px!important;}
  .doc-offer-media{height:min(112vw,480px)!important;min-height:350px!important;}
  .home-lab-choice__card{height:min(110vw,455px)!important;min-height:365px!important;}
  .home-lab-choice__business-mark{width:min(47%,185px)!important;}

  .business-lab-path-strip{
    width:calc(100% - 36px)!important;
    max-width:calc(100% - 36px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow:visible!important;
    white-space:normal!important;
    flex-wrap:wrap!important;
  }

  .mobile-menu-intro{gap:10px!important;}
  .mobile-menu-intro p{max-width:145px!important;}
  .mobile-menu-list a{grid-template-columns:25px minmax(0,1fr) 34px!important;min-height:62px!important;}
  .mobile-menu-list b{font-size:clamp(21px,6.5vw,27px)!important;}
}

@media (max-width: 390px) {
  :root{--mobile-gutter:16px;}
  .site-nav.nav-v5,
  .site-nav.nav-v5.static-brand-nav,
  .tr-home .site-nav.nav-v5,
  .page-internal .site-nav.nav-v5{padding-left:13px!important;padding-right:13px!important;}
  .site-nav.nav-v5 .brand-link,
  .site-nav.nav-v5.static-brand-nav .brand-link{width:min(56vw,202px)!important;height:42px!important;}
  .site-nav.nav-v5 .menu-button,
  .site-nav.nav-v5.static-brand-nav .menu-button{width:68px!important;min-width:68px!important;}
  .content-hero-copy h1{font-size:34px!important;}
  .content-hero-media,.content-page .content-hero-media,.page-internal .content-hero-media{
    width:calc(100% - 32px)!important;
    margin-left:16px!important;
    margin-right:16px!important;
  }
  .page-home-refined .doc-home-hero{min-height:600px!important;}
  .page-home-refined .doc-home-hero .tr-hero-copy{left:14px!important;right:14px!important;max-width:calc(100% - 28px)!important;}
  .page-home-refined .doc-home-hero .tr-hero-copy h1{font-size:28px!important;max-width:300px!important;}
  .home-lab-choice__card{min-height:350px!important;}
  .business-function-map.premium-business-bands>li,
  .business-function-map.premium-business-bands>li:nth-child(n){padding-left:64px!important;}
}
