/* 2.26 — final mobile layout pass */
@media(max-width:680px){
  html{overflow-x:hidden;scroll-padding-top:64px}
  body{min-width:0;overflow-x:clip;-webkit-text-size-adjust:100%}
  img,video,iframe,svg{max-width:100%}

  /* Header: one stable row, independent from older menu rules */
  .site-header{position:relative!important;top:auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%;height:64px!important;min-height:64px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))!important;gap:16px}
  .site-header>.site-logo{display:flex!important;align-items:center;min-width:0;flex:0 1 auto}
  .site-header>.site-logo img{display:block;width:148px!important;max-width:calc(100vw - 90px);height:auto}
  .site-header>.zt-header-primary{display:none!important}
  .site-header>.menu-toggle{position:relative!important;inset:auto!important;flex:0 0 42px!important;width:42px!important;height:42px!important;margin:0!important;padding:0!important;border:0!important;display:grid!important;place-items:center!important;transform:none!important}
  .menu-toggle b{display:none!important}
  .menu-toggle i{width:42px!important;height:42px!important;border-color:rgba(255,255,255,.42);display:grid!important;place-content:center!important;gap:5px!important}
  .menu-toggle span{display:block!important;width:15px!important;height:1px!important;margin:0!important}
  .menu-toggle[aria-expanded=true] i{gap:0!important}

  /* Full menu: readable, complete and safe on short devices */
  .site-header>.zt-menu-panel{inset:0!important;width:100%!important;height:100dvh!important;margin:0!important;padding:calc(64px + 1.35rem + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .zt-menu-inner{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:2.25rem!important;padding:0!important}
  .zt-menu-inner small{margin-bottom:.85rem;font-size:.56rem;letter-spacing:.17em}
  .zt-menu-primary,.zt-menu-guides,.zt-menu-utility,.zt-menu-contact{grid-column:1!important;grid-row:auto!important;min-width:0}
  .zt-menu-primary a{grid-template-columns:1.65rem minmax(0,1fr) auto!important;gap:.65rem!important;padding:.82rem 0!important}
  .zt-menu-primary strong{font-size:clamp(1.15rem,5.6vw,1.4rem)!important;line-height:1.3}
  .zt-menu-primary a>span{font-size:.5rem}
  .zt-menu-guides a{padding:.8rem 0!important;font-size:.76rem!important}
  .zt-menu-utility>ul{display:grid!important;grid-template-columns:1fr 1fr;gap:.35rem 1rem!important}
  .zt-menu-utility a{font-size:.73rem!important;line-height:1.5}
  .zt-menu-social{margin-top:1.4rem;padding-top:1rem}
  .zt-menu-contact{display:block!important;margin:0!important;padding-top:1.25rem!important}
  .zt-menu-contact p{margin:0 0 1rem!important;font-size:.73rem!important;line-height:1.8}
  .zt-menu-contact>a{width:100%;padding:1rem!important}
  .zt-menu-open .site-header>.site-logo{opacity:.78}

  /* Shared page rhythm */
  main,section,article,header,div{min-width:0}
  .section{padding-left:20px!important;padding-right:20px!important}
  .page-hero{min-height:auto!important;padding:clamp(4.5rem,18vw,6rem) 20px clamp(3.5rem,14vw,5rem)!important;gap:1.5rem!important}
  .page-hero h1{max-width:100%;margin-top:1.75rem!important;font-size:clamp(2.25rem,10.5vw,3.45rem)!important;line-height:1.34!important;letter-spacing:-.045em!important;text-wrap:pretty;overflow-wrap:anywhere}
  .page-hero>div{font-size:.88rem!important;line-height:2!important}
  .section h2,.answer-block>h2,.seo-intro h2{font-size:clamp(2.1rem,10vw,3.25rem)!important;line-height:1.38!important;text-wrap:pretty}

  /* Home */
  .home-hero-f{min-height:620px!important}
  .hhf-word{top:3.5vh!important;font-size:20.5vw!important}
  .hhf-copy{top:13.5vh!important;left:20px!important;right:20px!important}
  .hhf-copy h1{width:auto!important;max-width:none!important;font-size:clamp(1.42rem,6.8vw,2.05rem)!important;line-height:1.48!important;letter-spacing:.025em!important}
  .hhf-track{top:31vh!important;gap:20px!important}
  .hhf-track>button{width:calc(100vw - 52px)!important}
  .hhf-footer{left:20px!important;right:20px!important}
  .seo-intro,.answer-block{padding:4.75rem 20px!important}
  .intro .two-col,.journal-home .journal-layout{gap:2.5rem!important;margin-top:2.75rem!important}
  .service-home>h2,.works-home>h2{margin:2rem 0 3rem!important}
  .service-home article{grid-template-columns:2.1rem minmax(0,1fr) 1.25rem!important;padding:1.4rem 0!important}
  .service-home article p{grid-column:2/-1!important;margin-top:.75rem!important}
  .works-home .work-grid{gap:3.25rem!important;margin-top:3rem!important}
  .works-home .work-grid a{margin:0!important}
  .journal-home .post-row{grid-template-columns:5.25rem minmax(0,1fr) 1rem!important}
  .journal-home .post-row h3{font-size:.95rem!important;line-height:1.55!important}

  /* Archives and single pages */
  .archive-grid,.post-list,.archive-shell,.zt-archive-main{padding-left:20px!important;padding-right:20px!important}
  .work-grid-pro,.blog-grid-pro{grid-template-columns:1fr!important;gap:3.5rem!important}
  .single-head h1{font-size:clamp(2rem,9.8vw,3.15rem)!important;line-height:1.38!important;text-wrap:pretty;overflow-wrap:anywhere}
  .zt-single-main>.zt-breadcrumbs,.zt-single-main .single-head,.zt-work-layout,.zt-article-layout{padding-left:20px!important;padding-right:20px!important}
  .zt-hero-media{margin-left:0!important;margin-right:0!important}
  .single-main-image{height:auto!important;max-height:none!important;aspect-ratio:4/3;object-fit:cover}
  .zt-work-layout,.zt-article-layout{grid-template-columns:1fr!important;gap:3rem!important}
  .zt-work-facts,.zt-article-sidebar{position:static!important}
  .article-body{width:100%;padding-top:3rem!important;padding-bottom:5rem!important;font-size:.98rem!important;line-height:2.15!important}
  .article-body h2{font-size:clamp(1.45rem,7vw,2rem)!important;line-height:1.55!important}
  .article-body h3{font-size:clamp(1.2rem,5.7vw,1.6rem)!important;line-height:1.6!important}
  .zt-case-study{width:100%;margin-bottom:4rem}
  .zt-case-lead{margin-bottom:4.5rem!important}
  .zt-case-gallery{gap:1.25rem}
  .zt-work-credits dl>div{grid-template-columns:minmax(5.4rem,.72fr) minmax(0,1.28fr)!important}
  .zt-post-nav,.zt-related{margin-left:20px!important;margin-right:20px!important}

  /* Footer */
  .site-footer{padding:4.5rem 20px calc(2rem + env(safe-area-inset-bottom))!important;gap:2.75rem!important}
  .site-footer nav ul{columns:1!important}
}

@media(max-width:360px){
  .site-header{padding-left:14px!important;padding-right:14px!important}
  .site-header>.site-logo img{width:138px!important}
  .zt-menu-utility>ul{grid-template-columns:1fr}
  .zt-menu-primary a>span{display:none}
  .zt-menu-primary a{grid-template-columns:1.5rem minmax(0,1fr)!important}
}
