/* Dezine ID Mobile Sign-Off System — locked approved propagation layer. Desktop unaffected. */
.mobile-menu-toggle,.mobile-primary-nav{display:none}
.skip-link-global{position:fixed;left:16px;top:8px;z-index:1200;padding:10px 14px;background:#111;color:#fff;text-decoration:none;font:700 12px/1 Arial,Helvetica,sans-serif;transform:translateY(-160%)}
.skip-link-global:focus{transform:none}
@media(max-width:850px){
 html,body{width:100%;max-width:100%;overflow-x:hidden}
 body.mobile-menu-open{overflow:hidden}
 .site-shell-header,.site-header,.global-site-header{min-height:72px!important;height:auto!important;grid-template-columns:1fr auto!important;gap:14px!important;align-items:center!important;padding:0 18px!important}
 .site-shell-logo,.logo,.global-brand,.brand{max-width:155px}
 .site-shell-logo img,.logo img,.global-brand img,.brand img{max-width:100%;height:auto}
 .site-shell-nav,.site-nav,.global-site-nav,.site-header>.enquire,.global-site-header>.global-enquire,.site-shell-header>.site-shell-enquire{display:none!important}
 .mobile-menu-toggle{display:flex;align-items:center;justify-content:center;min-width:64px;min-height:44px;padding:0;border:0;background:transparent;color:#111;cursor:pointer;font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.02em}
 .mobile-menu-toggle:focus-visible,.mobile-primary-nav a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
 .mobile-primary-nav{position:fixed;z-index:1000;left:0;right:0;top:72px;min-height:calc(100svh - 72px);padding:28px 22px 42px;background:#fff;display:flex;flex-direction:column;align-items:stretch;border-top:1px solid #e4e4e4}
 .mobile-primary-nav[hidden]{display:none}
 .mobile-primary-nav a{display:flex;align-items:center;min-height:52px;border-bottom:1px solid #ddd;color:#111;text-decoration:none;font:700 12px/1.2 Arial,Helvetica,sans-serif}
 .mobile-primary-nav a[aria-current='page'],.mobile-primary-nav a.active{text-decoration:underline;text-underline-offset:7px}
 .mobile-primary-nav .mobile-enquire{margin-top:24px;justify-content:center;border:1px solid #111;min-height:48px;background:#111;color:#fff}
 .site-shell-footer{grid-template-columns:1fr!important;align-items:start!important;padding-left:22px!important;padding-right:22px!important}

 /* Approved project-template propagation: safe shared behaviours only. */
 body[data-mobile-template='project'] main{max-width:100%}
 body[data-mobile-template='project'] .grid2,body[data-mobile-template='project'] .before,body[data-mobile-template='project'] .outcomes{grid-template-columns:1fr!important}
 body[data-mobile-template='project'] .cards2,body[data-mobile-template='project'] .cards3,body[data-mobile-template='project'] .cards4,body[data-mobile-template='project'] .cards5,body[data-mobile-template='project'] .process,body[data-mobile-template='project'] .drawings,body[data-mobile-template='project'] .drawing-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body[data-mobile-template='project'] .footer-nav,body[data-mobile-template='project'] .global-project-navigation{display:grid!important;grid-template-columns:1fr!important;gap:0!important}
 body[data-mobile-template='project'] .footer-nav a,body[data-mobile-template='project'] .global-project-navigation a{min-height:52px;display:flex;align-items:center;border-bottom:1px solid #ddd}
 body[data-mobile-template='project'] img{max-width:100%}

 /* Approved text/standard-template propagation for standard landing structures. */
 body[data-mobile-template='standard'] main.wrap{padding:48px 22px 64px!important}
 body[data-mobile-template='standard'] main.wrap>h1{font-size:clamp(42px,11vw,52px)!important;line-height:1.02!important}
 body[data-mobile-template='standard'] main.wrap>.lead{font-size:16px!important;line-height:1.62!important;white-space:normal!important;max-width:680px!important}
 body[data-mobile-template='standard'] main.wrap>.grid,body[data-mobile-template='standard'] main.wrap>.cards{grid-template-columns:1fr!important}
 body[data-mobile-template='standard'] .practice-chapter-nav,body[data-mobile-template='standard'] .chapter-nav{grid-template-columns:1fr!important}
 body[data-mobile-template='standard'] .practice-chapter-nav a,body[data-mobile-template='standard'] .chapter-nav a{min-height:52px;border-right:0!important;border-bottom:1px solid #d7d7d7!important}
}
@media(max-width:620px){
 body[data-mobile-template='project'] .cards2,body[data-mobile-template='project'] .cards3,body[data-mobile-template='project'] .cards4,body[data-mobile-template='project'] .cards5,body[data-mobile-template='project'] .process,body[data-mobile-template='project'] .drawings,body[data-mobile-template='project'] .drawing-grid{grid-template-columns:1fr!important}
}

/* Whole-site QA containment corrections — mobile only, no desktop effect. */
@media(max-width:850px){
  /* Practice Page 2: allow the founder/content grid to shrink to the viewport. */
  .founder,.founder-copy,.portrait,.experience,.perspective,.perspective-copy{min-width:0!important;max-width:100%!important}
  .founder-copy{width:100%!important}
  .founder-copy>*{max-width:100%!important;overflow-wrap:anywhere}

  /* Custom project header host uses content-box geometry in its legacy stylesheet. */
  dezine-header,.global-site-header{box-sizing:border-box!important;max-width:100%!important}
  dezine-header{left:auto!important;right:auto!important;width:100%!important}

  /* Fixed-width editorial copy must wrap inside the approved mobile project column. */
  body[data-mobile-template='project'] main p{max-width:100%!important;overflow-wrap:break-word}

  /* Narrogin Page 3: later exact-master rules override its own earlier mobile block. Reinstate only the approved stacked mobile geometry. */
  .narrogin-page-three .page-three-sheet{width:100%!important;max-width:100%!important;height:auto!important;min-height:100vh!important;overflow:visible!important}
  .narrogin-page-three .page-three-exact{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;max-width:100%!important;padding:30px 20px!important;margin:0!important}
  .narrogin-page-three .page-three-heading{height:auto!important;margin-bottom:30px!important}
  .narrogin-page-three .page-three-images{position:relative!important;height:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:42px!important}
  .narrogin-page-three .page-three-images .image-card{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;min-height:0!important}
  .narrogin-page-three .page-three-images .image-card img{width:100%!important;height:auto!important;object-fit:contain!important}
  .narrogin-page-three .page-three-images figcaption{position:relative!important;top:auto!important;margin-top:10px!important}
  .narrogin-page-three .page-three-outcomes{position:relative!important;left:auto!important;right:auto!important;top:auto!important;height:auto!important;margin:48px 0 0!important;grid-template-columns:1fr!important}

  /* Sari Page 2: reinstate its existing stacked responsive rules after later canonical desktop overrides. */
  .sari-page-two .page-two-content{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;padding:32px 20px!important}
  .sari-page-two .page-two-copy,.sari-page-two .page-two-plans,.sari-page-two .page-two-gallery,.sari-page-two .page-two-quote{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:100%!important;max-width:100%!important;height:auto!important}
  .sari-page-two .page-two-plans{display:grid!important;gap:30px!important}
  .sari-page-two .plan{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important}
  .sari-page-two .plan img{width:100%!important;height:auto!important;object-fit:contain!important}
  .sari-page-two .page-two-gallery{margin-top:36px!important;display:grid!important;grid-template-columns:1fr!important;gap:24px!important}
  .sari-page-two .page-two-gallery figure{width:100%!important;height:auto!important;min-height:0!important}
  .sari-page-two .page-two-gallery img{width:100%!important;height:auto!important;object-fit:contain!important}
  .sari-page-two .page-two-quote{margin-top:38px!important;grid-template-columns:30px minmax(0,1fr)!important}

  /* Final containment guard for legacy project canvases. */
  body[data-mobile-template='project'] main,body[data-mobile-template='project'] section,body[data-mobile-template='project'] figure{max-width:100%}
}
@media(max-width:850px){
  .narrogin-page-three .exact-footer,
  .sari-page-two .page-two-footer{
    position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;
    width:auto!important;max-width:calc(100% - 40px)!important;margin:0 20px!important;box-sizing:border-box!important;
  }
  body[data-mobile-template='project'] .heritage-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:16px!important;row-gap:24px!important}
  body[data-mobile-template='project'] .heritage-grid figure,body[data-mobile-template='project'] .heritage-grid figcaption{min-width:0!important;width:100%!important;max-width:100%!important}
  body[data-mobile-template='project'] .heritage-grid figcaption{overflow-wrap:anywhere!important;word-break:normal!important}
}
@media(max-width:620px){
  body[data-mobile-template='project'] .heritage-grid{grid-template-columns:1fr!important}
}
