/*
 * ZOOTRIPPER mobile-perfect layer 3.20.7
 * Loaded last to make every public template stable from 320px upward.
 */
html{box-sizing:border-box;overflow-wrap:break-word}
*,*:before,*:after{box-sizing:inherit}
html,body{max-width:100%}
body{overflow-x:clip}
img,picture,video,canvas,svg,iframe{max-width:100%;height:auto}
main img{filter:none!important;-webkit-filter:none!important;mix-blend-mode:normal!important}
input,button,textarea,select{max-width:100%;font:inherit}
pre,code{white-space:pre-wrap;overflow-wrap:anywhere}
.article-body table,.ym-reading-body table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.article-body :where(h1,h2,h3,h4,h5,h6,p,li,a),.ym-reading-body :where(h1,h2,h3,h4,h5,h6,p,li,a){overflow-wrap:anywhere}

/* One outer article gutter; legacy wrappers must not add a second inset. */
body.single-post .zt-single-main .single.post-single{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
body.single-post .zt-single-main .post-single .article-body-wrap{min-width:0!important;padding-inline:0!important}

/* Desktop journal headers: use the available canvas instead of reserving an empty column. */
@media(min-width:981px){
  body.blog .journal-archive>.page-hero,
  body .journal-archive>.page-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-content:end!important;
    width:100%!important;
    max-width:none!important;
    padding-left:max(5.5vw,48px)!important;
    padding-right:max(5.5vw,48px)!important;
    gap:0!important;
  }
  body.blog .journal-archive>.page-hero>p,
  body .journal-archive>.page-hero>p{grid-column:1!important;width:min(100%,1280px)!important;margin:0 auto!important}
  body.blog .journal-archive>.page-hero>h1,
  body .journal-archive>.page-hero>h1{
    grid-column:1!important;
    display:block!important;
    width:min(100%,1280px)!important;
    max-width:none!important;
    margin:clamp(30px,3vw,48px) auto 0!important;
    font-size:clamp(50px,5.25vw,80px)!important;
    line-height:1.3!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    word-break:normal!important;
    line-break:strict!important;
    overflow-wrap:normal!important;
    text-wrap:wrap!important;
  }
  body.blog .journal-archive>.page-hero>div,
  body .journal-archive>.page-hero>div{
    grid-column:1!important;
    width:min(100%,1280px)!important;
    max-width:none!important;
    margin:clamp(24px,2.4vw,38px) auto 0!important;
    font-size:15px!important;
    line-height:2!important;
  }

  body.single-post .zt-single-main .post-single .single-head{
    display:block!important;
    width:min(1120px,calc(100% - 8vw))!important;
    max-width:1120px!important;
    margin:0 auto clamp(42px,4.5vw,64px)!important;
    padding:0!important;
  }
  body.single-post .zt-single-main .post-single .zt-kicker{
    display:flex!important;
    width:100%!important;
    margin:0 0 clamp(22px,2.2vw,32px)!important;
  }
  body.single-post .zt-single-main .post-single .single-head h1{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(42px,4.25vw,68px)!important;
    line-height:1.34!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    word-break:normal!important;
    line-break:strict!important;
    overflow-wrap:normal!important;
    text-wrap:wrap!important;
  }
  body.single-post .zt-single-main .post-single .zt-article-meta{
    display:flex!important;
    flex-wrap:wrap!important;
    width:100%!important;
    margin:clamp(25px,2.5vw,38px) 0 0!important;
    padding-top:15px!important;
    gap:10px 24px!important;
    border-top:1px solid rgba(39,42,39,.3)!important;
  }
  body.single-post .zt-single-main .post-single .article-author{
    width:100%!important;
    margin:12px 0 0!important;
  }
}

/* Hero wordmark: charcoal olive softens the contrast over the gradient. */
.home-hero-f .hhf-word{
  color:#3f4335!important;
  background-image:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:#3f4335!important;
  filter:none!important;
  -webkit-filter:none!important;
  opacity:1!important;
}

/* Touch devices: clear hover transforms and guarantee usable targets. */
@media(hover:none),(pointer:coarse){
  a,button,input,select,textarea{-webkit-tap-highlight-color:rgba(38,93,83,.14)}
  a:active,button:active{opacity:.78}
  .work-card,.blog-row,.related-grid>a,.home-work-card{transform:none!important}
}

@media(max-width:980px){
  html{scroll-padding-top:72px}
  body.zt-menu-open{overflow:hidden;overscroll-behavior:none}
  .site-header{position:fixed!important;inset:0 0 auto!important;z-index:10001!important;display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;height:68px!important;min-height:68px!important;padding:0 max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left))!important;gap:14px!important;background:rgba(34,35,31,.94)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  body.home:not(.zt-page-scrolled):not(.zt-menu-open) .site-header{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .site-header .site-logo{display:flex!important;align-items:center!important;min-width:0!important;flex:0 1 auto!important}
  .site-header .site-logo img{display:block!important;width:clamp(132px,39vw,166px)!important;max-width:100%!important;height:auto!important}
  .site-header .zt-header-primary,.site-header .zt-header-consult{display:none!important}
  .site-header .menu-toggle{position:relative!important;inset:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;flex:0 0 76px!important;width:76px!important;height:48px!important;margin:0!important;padding:0!important;gap:10px!important;color:#fff!important;background:transparent!important;border:0!important;transform:none!important;cursor:pointer}
  .site-header .menu-toggle b{display:block!important;margin:0!important;color:#fff!important;font:700 10px/1 Archivo,sans-serif!important;letter-spacing:.16em!important;opacity:1!important;visibility:visible!important}
  .site-header .menu-toggle i{display:grid!important;place-content:center!important;gap:6px!important;width:42px!important;height:42px!important;margin:0!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:50%!important;background:rgba(255,255,255,.04)!important}
  .site-header .menu-toggle span{display:block!important;width:16px!important;height:1px!important;margin:0!important;background:#fff!important;transition:transform .3s ease,opacity .2s ease!important}
  .site-header .menu-toggle[aria-expanded=true] i span:first-child{transform:translateY(3.5px) rotate(45deg)!important}
  .site-header .menu-toggle[aria-expanded=true] i span:last-child{transform:translateY(-3.5px) rotate(-45deg)!important}
  .zt-menu-panel{position:fixed!important;inset:68px 0 0!important;z-index:10000!important;display:block!important;width:100%!important;height:calc(100dvh - 68px)!important;max-height:none!important;margin:0!important;overflow-y:auto!important;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding:max(28px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(40px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))!important;background:#22231f!important;color:#f3efe4!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-10px)!important;transition:opacity .28s ease,visibility .28s,transform .38s cubic-bezier(.16,1,.3,1)!important}
  .zt-menu-panel.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
  .zt-menu-inner{display:grid!important;width:min(100%,720px)!important;margin:0 auto!important;grid-template-columns:1fr!important;gap:34px!important;align-items:start!important}
  .zt-menu-primary,.zt-menu-guides,.zt-menu-utility,.zt-menu-contact{grid-column:1!important;min-width:0!important}
  .zt-menu-primary ol{display:grid!important;grid-template-columns:1fr!important;gap:0!important}
  .zt-menu-primary li{width:100%!important;margin:0!important}
  .zt-menu-primary a{display:grid!important;grid-template-columns:28px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:58px!important;padding:10px 0!important}
  .zt-menu-primary strong{min-width:0!important;font-size:clamp(1.18rem,5vw,1.55rem)!important;line-height:1.35!important}
  .zt-menu-primary a>span{font-size:.5rem!important;letter-spacing:.11em!important;text-align:right!important}
  .zt-menu-panel small{margin-bottom:12px!important}
  .zt-menu-guides a,.zt-menu-utility a,.zt-menu-social a{min-height:46px!important;display:flex!important;align-items:center!important}
  .zt-menu-contact>a{min-height:68px!important;border-radius:14px!important}

  main{min-width:0!important}
  .section,.seo-intro,.home-activities,.home-yokomichi,.answer-block,.cta,.site-footer,
  .page-hero,.archive-tools,.archive-main,.journal-archive,.work-archive-pro,.zt-single-main,
  .service-page-pro,.price-page-pro,.faq-page,.contact-page,.activity-page,.zt-guide-page,.ym-archive,.ym-single{max-width:100%!important}
  .two-col,.journal-layout,.works-home-heading,.service-intro,.answer-block>div,
  .editorial-split,.service-aftercare,.service-closing,.price-intro,.contact-intro,
  .zt-work-layout,.zt-article-layout,.single-grid,.activity-intro,.activity-story,.activity-program,.activity-impact,
  .ym-book-hero,.ym-reading,.ym-amazon-closing{grid-template-columns:1fr!important}
  .zt-work-facts,.zt-article-aside{position:static!important;top:auto!important;width:100%!important}
  .site-footer{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer-intro,.footer-bottom{grid-column:1/-1!important}
}

@media(max-width:700px){
  :root{--zt-mobile-gutter:clamp(18px,5.4vw,26px)}
  html{font-size:16px}
  body{font-size:1rem;line-height:1.8;-webkit-text-size-adjust:100%}
  p,li,dd{line-height:1.85}
  h1,h2,h3,h4{max-width:100%;text-wrap:wrap!important}
  main :where(h1,h2,h3,h4){word-break:auto;overflow-wrap:anywhere}
  .section,.seo-intro,.home-activities,.home-yokomichi,.answer-block,
  .page-hero,.archive-tools,.archive-main,.journal-archive>section:not(.page-hero),
  .work-archive-pro>section:not(.page-hero),.service-page-pro>section:not(.page-hero),
  .price-page-pro>section:not(.page-hero),.faq-page>section:not(.page-hero),
  .contact-page>section:not(.page-hero),.activity-page>section:not(.activity-hero),
  .zt-guide-page>section,.zt-single-main,.ym-archive>section,.ym-single>article,.ym-related,.ym-back,.ym-associate-disclosure{
    padding-left:var(--zt-mobile-gutter)!important;padding-right:var(--zt-mobile-gutter)!important
  }
  .section,.seo-intro,.home-activities,.home-yokomichi,.answer-block{padding-top:clamp(64px,17vw,92px)!important;padding-bottom:clamp(64px,17vw,92px)!important}
  .section-label{font-size:.65rem!important;line-height:1.5!important;letter-spacing:.14em!important}
  .page-hero{min-height:0!important;padding:clamp(88px,24vw,132px) var(--zt-mobile-gutter) clamp(58px,15vw,84px)!important}
  .page-hero>p{font-size:.65rem!important;letter-spacing:.16em!important}
  .page-hero h1{font-size:clamp(2.1rem,10vw,3.15rem)!important;line-height:1.28!important;letter-spacing:.015em!important}
  .page-hero>div{max-width:36em!important;font-size:.95rem!important;line-height:1.9!important}

  /* Home hero: a self-contained mobile composition; no inherited absolute coordinates. */
  body.home .home-hero-f,body.home main>.home-hero-f{display:block!important;height:auto!important;min-height:100svh!important;padding:104px var(--zt-mobile-gutter) 26px!important;overflow:hidden!important}
  .home-hero-f .hhf-word{position:relative!important;inset:auto!important;display:block!important;width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;font-size:clamp(3.55rem,17.2vw,5.2rem)!important;line-height:.82!important;letter-spacing:-.078em!important;white-space:nowrap!important}
  .home-hero-f .hhf-copy{position:relative!important;inset:auto!important;display:block!important;width:100%!important;max-width:100%!important;height:auto!important;margin:38px 0 0!important;padding:0!important;transform:none!important}
  .home-hero-f .hhf-copy small{display:inline-flex!important;width:auto!important;max-width:100%!important;margin:0!important;padding:8px 12px!important;font-size:.58rem!important;line-height:1.2!important;letter-spacing:.13em!important;white-space:normal!important}
  .home-hero-f .hhf-copy h1{display:block!important;width:100%!important;max-width:100%!important;margin:19px 0 0!important;font-size:clamp(1.48rem,6.35vw,1.86rem)!important;line-height:1.55!important;letter-spacing:.018em!important;overflow:visible!important}
  .home-hero-f .hhf-copy h1 span,.home-hero-f .hhf-copy h1 span:first-child{display:block!important;width:100%!important;max-width:100%!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}
  .home-hero-f .hhf-track{position:relative!important;inset:auto!important;display:flex!important;width:calc(100% + var(--zt-mobile-gutter))!important;max-width:none!important;height:auto!important;margin:27px 0 0!important;padding:0 var(--zt-mobile-gutter) 0 0!important;gap:12px!important;overflow-x:hidden!important;overflow-y:visible!important;scroll-snap-type:x mandatory!important;transform:none!important;transition:none!important}
  .home-hero-f .hhf-track>button{position:relative!important;display:block!important;flex:0 0 calc(100% - 34px)!important;width:calc(100% - 34px)!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important;opacity:.32!important;transform:none!important;scroll-snap-align:start!important;overflow:visible!important}
  .home-hero-f .hhf-track>button.active{opacity:1!important;transform:none!important}
  .home-hero-f .hhf-track>button img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9.2!important;object-fit:cover!important;border-radius:2px 14px 2px 8px!important}
  .home-hero-f .hhf-track>button>span{position:relative!important;inset:auto!important;display:grid!important;width:100%!important;min-height:46px!important;margin:0!important;padding:11px 2px 0!important;grid-template-columns:30px 88px minmax(0,1fr)!important;align-items:start!important;gap:8px!important;text-align:left!important;background:transparent!important}
  .home-hero-f .hhf-track>button>span b,.home-hero-f .hhf-track>button>span i,.home-hero-f .hhf-track>button>span strong{position:static!important;margin:0!important;min-width:0!important;line-height:1.4!important}
  .home-hero-f .hhf-track>button>span b{font-size:.82rem!important}
  .home-hero-f .hhf-track>button>span i{font-size:.48rem!important;letter-spacing:.13em!important}
  .home-hero-f .hhf-track>button>span strong{display:block!important;max-width:none!important;font-size:.6rem!important;text-align:right!important;white-space:normal!important}
  .home-hero-f .hhf-footer{position:relative!important;inset:auto!important;display:flex!important;width:100%!important;height:auto!important;margin:18px 0 0!important;padding:0!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;transform:none!important}
  .hhf-footer>p{display:none!important}
  .home-hero-f .hhf-pagination{display:flex!important;width:100%!important;margin:0!important;align-items:center!important;gap:8px!important}
  .home-hero-f .hhf-prev,.home-hero-f .hhf-next{flex:0 0 42px!important;width:42px!important;height:42px!important;margin:0!important}
  .home-hero-f .hhf-dots{display:flex!important;flex:1 1 auto!important;min-width:0!important;gap:6px!important}
  .home-hero-f .hhf-dots>button{flex:1 1 0!important;width:auto!important;min-width:0!important;padding:7px 0!important}

  .seo-intro-title h2,.section h2,.home-activities h2,.answer-block h2,.home-yokomichi h2,
  .activity-page h2,.service-page-pro h2,.price-page-pro h2,.faq-page h2,.contact-page h2{
    font-size:clamp(1.8rem,8.4vw,2.65rem)!important;line-height:1.42!important
  }
  .seo-intro nav{grid-template-columns:1fr!important}
  .seo-intro nav a{min-height:58px!important}
  .two-col,.journal-layout,.home-activities-grid{gap:38px!important}
  .two-col img,.editorial-split img{width:100%!important}
  .service-home article{grid-template-columns:auto minmax(0,1fr)!important;gap:14px!important;padding:26px 0!important}
  .service-home article p{grid-column:1/-1!important;margin:0!important}
  .work-grid,.home-activities-grid,.ym-book-grid,.related-grid,.activity-cards,
  .service-detail,.price-grid,.maintenance-grid,.outcome-grid,.labo-themes,.contact-trust-grid{
    grid-template-columns:1fr!important
  }
  .home-work-card figure,.work-card figure{aspect-ratio:4/3!important}
  .home-work-card h3,.work-card h2{font-size:clamp(1.35rem,6vw,1.8rem)!important}
  .journal-home .post-row,.blog-row{grid-template-columns:72px minmax(0,1fr) auto!important;gap:12px!important;padding:18px 0!important}
  .post-row-thumb{display:none!important}
  .journal-home .post-row time,.blog-row time{font-size:.66rem!important}
  .journal-home .post-row h3,.blog-row h2,.blog-row h3{font-size:1rem!important;line-height:1.65!important}
  .answer-block>div{display:grid!important;grid-template-columns:1fr!important}
  .home-yokomichi-door{grid-template-columns:1fr!important}
  .home-yokomichi-door figure{min-height:0!important;aspect-ratio:4/3!important}

  /* Page-specific archive and editorial grids missed by legacy breakpoints. */
  .category-hero,.category-main-grid,.category-feature>a,.journal-highlight-pro,
  .journal-grid-pro,.journal-ranking-pro,.work-grid-pro,.article-layout,
  .founder-story,.founder-story-body,.labo-manifesto,.labo-findings,
  .labo-research>header,.labo-domain,.labo-article-layout{
    grid-template-columns:1fr!important
  }
  .category-hero,.category-finder,.category-feature,.category-main-grid,
  .journal-highlight-pro,.journal-grid-pro,.journal-ranking-pro,.work-grid-pro{
    max-width:100%!important;padding-left:var(--zt-mobile-gutter)!important;padding-right:var(--zt-mobile-gutter)!important
  }
  .category-finder form{grid-template-columns:1fr!important}
  .category-finder button{width:100%!important;min-height:50px!important}
  .journal-grid-pro,.work-grid-pro,.category-card-grid{display:grid!important;grid-template-columns:1fr!important;gap:42px!important}
  .journal-ranking-pro ol{display:grid!important;grid-template-columns:1fr!important}
  .article-sidebar,.category-ranking{position:static!important;top:auto!important;width:100%!important}
  .founder-story-photo{width:100%!important}
  .labo-steps{grid-template-columns:1fr!important}

  /* Archives and filters */
  .archive-tools,.blog-tools{display:block!important}
  .archive-tools form,.blog-tools form,.faq-search{width:100%!important;margin-top:24px!important}
  .archive-tools input,.blog-tools input,.faq-search input{width:100%!important;min-height:52px!important;font-size:16px!important}
  .archive-filter,.faq-filter{display:flex!important;max-width:100%!important;overflow-x:auto!important;scrollbar-width:none!important;padding-bottom:6px!important;gap:8px!important}
  .archive-filter::-webkit-scrollbar,.faq-filter::-webkit-scrollbar{display:none}
  .archive-filter a,.faq-filter button{flex:0 0 auto!important;min-height:44px!important;padding:10px 15px!important}
  .archive-featured,.blog-featured{grid-template-columns:1fr!important}
  .archive-featured figure,.blog-featured figure{aspect-ratio:4/3!important}
  .archive-pagination,.navigation.pagination .nav-links{display:flex!important;flex-wrap:wrap!important;gap:7px!important}
  .archive-pagination a,.archive-pagination span,.nav-links .page-numbers{min-width:44px!important;min-height:44px!important;display:grid!important;place-items:center!important}

  /* Article, case study and generic WordPress content. */
  .zt-single-main{padding-top:104px!important;padding-bottom:72px!important}
  .single-head h1,.zt-work-single .single-head h1{font-size:clamp(2rem,9.4vw,3rem)!important;line-height:1.3!important}
  .zt-hero-media{margin-left:calc(var(--zt-mobile-gutter) * -1)!important;margin-right:calc(var(--zt-mobile-gutter) * -1)!important;border-radius:0!important}
  .article-body,.ym-reading-body{min-width:0!important;font-size:1rem!important;line-height:1.9!important}
  .article-body h2,.ym-reading-body h2{margin-top:2.5em!important;font-size:clamp(1.55rem,7.2vw,2.1rem)!important;line-height:1.48!important}
  .article-body h3,.ym-reading-body h3{font-size:clamp(1.25rem,5.7vw,1.65rem)!important;line-height:1.55!important}
  .article-body figure,.article-body .wp-block-image{max-width:100%!important;margin-left:0!important;margin-right:0!important}
  .article-body iframe{width:100%!important;aspect-ratio:16/9!important;height:auto!important}
  .article-body .alignwide,.article-body .alignfull{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
  .article-body blockquote,.zt-box,.zt-summary,.zt-pros,.zt-cons,.zt-column{padding:22px 20px!important}
  .zt-work-facts{order:2!important;margin-top:32px!important;padding:24px 20px!important}
  .zt-case-study section{grid-template-columns:1fr!important}
  .zt-case-study .zt-case-label,.zt-case-study h2,.zt-case-study section>p:not(.zt-case-label){grid-column:1!important}
  .post-navigation,.zt-post-nav{grid-template-columns:1fr!important}

  /* Service, price, FAQ and contact. */
  .service-catalog,.service-fit-grid,.price-plans,.price-choose-grid,.running-cost-grid{grid-template-columns:1fr!important}
  .service-flow ol{grid-template-columns:1fr!important}
  .service-flow li{min-height:0!important;padding:28px 0!important}
  .service-aftercare,.service-closing{padding-top:66px!important;padding-bottom:66px!important}
  .service-closing a,.cta>a,.contact-submit button{width:100%!important;min-height:56px!important;justify-content:center!important;text-align:center!important}
  .price-plans article,.service-catalog article,.price-choose-grid article,.running-cost-grid article{padding:26px 20px!important}
  .price-table,.comparison-table{display:block!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .faq-items details summary{min-height:56px!important;padding:18px 46px 18px 0!important;line-height:1.65!important}
  .contact-form-pro,.contact-form{padding:26px 20px!important}
  .contact-form .form-row,.contact-form-pro .form-row,.contact-purpose{grid-template-columns:1fr!important}
  .contact-form input,.contact-form textarea,.contact-form select{font-size:16px!important;min-height:50px!important}
  .contact-purpose label{min-height:50px!important}

  /* Activity photo grids collapse without awkward crops. */
  .activity-hero{min-height:0!important;grid-template-columns:1fr!important;padding-top:0!important}
  body:not(.home) .activity-hero{padding-top:68px!important}
  .activity-hero-copy{padding:54px var(--zt-mobile-gutter) 38px!important}
  .activity-hero h1{font-size:clamp(3.7rem,18vw,6.3rem)!important;line-height:.9!important}
  .activity-hero figure{height:auto!important;aspect-ratio:4/3!important}
  .activity-hero figure img{width:100%!important;height:100%!important;object-fit:cover!important}
  .whitebase-photo-lead,.whitebase-photo-middle,.whitebase-photo-people,.activity-gallery{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;padding-left:4px!important;padding-right:4px!important}
  .whitebase-photo-lead-main,.whitebase-photo-middle .wide,.activity-gallery .wide{grid-column:1/-1!important}
  .whitebase-photo-lead figure,.whitebase-photo-middle figure,.whitebase-photo-people figure,.activity-gallery figure{height:auto!important;aspect-ratio:1/1!important}
  .whitebase-photo-lead-main,.whitebase-photo-middle .wide,.activity-gallery .wide{aspect-ratio:16/10!important}
  .activity-program ul{grid-template-columns:1fr!important}

  /* Yokomichi */
  .ym-archive-hero,.ym-archive-intro,.ym-book-hero,.ym-reading,.ym-amazon-closing{grid-template-columns:1fr!important}
  .ym-single-cover{width:min(76vw,340px)!important;margin-inline:auto!important}
  .ym-book-intro h1{font-size:clamp(2rem,9vw,3rem)!important}
  .ym-breadcrumb{padding:20px var(--zt-mobile-gutter)!important;overflow-x:auto!important;white-space:nowrap!important}
  .ym-shop .ym-hero,.ym-archive .ym-hero{padding-top:68px!important}

  /* Footer and persistent CTA. */
  .cta{display:grid!important;grid-template-columns:1fr!important;padding:64px var(--zt-mobile-gutter)!important;gap:32px!important}
  .cta h2{font-size:clamp(1.9rem,8.5vw,2.7rem)!important;line-height:1.4!important}
  .cta p br{display:none}
  .cta>a{margin:0!important}
  .site-footer{grid-template-columns:1fr!important;padding:64px var(--zt-mobile-gutter) max(32px,env(safe-area-inset-bottom))!important;gap:42px!important}
  .site-footer>*{grid-column:1!important}
  .footer-intro h2{font-size:clamp(2rem,9vw,3rem)!important}
  .footer-bottom{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .footer-backtop{justify-self:start!important;min-height:44px!important;display:flex!important;align-items:center!important}
}

@media(max-width:420px){
  :root{--zt-mobile-gutter:18px}
  .site-header{padding-inline:16px!important}
  .site-header .site-logo img{width:132px!important}
  .zt-menu-primary ol{grid-template-columns:1fr!important}
  .zt-menu-primary a{min-height:56px!important}
  .home-hero-f{min-height:100svh!important}
  .home-hero-f .hhf-word{min-height:0!important;font-size:clamp(3.3rem,17vw,4.5rem)!important}
  .home-hero-f .hhf-track>button{flex-basis:calc(100% - 26px)!important;width:calc(100% - 26px)!important}
  .service-home article{grid-template-columns:1fr!important}
  .service-home article>*{grid-column:1!important}
  .whitebase-photo-lead,.whitebase-photo-middle,.whitebase-photo-people,.activity-gallery{grid-template-columns:1fr!important}
  .whitebase-photo-lead-main,.whitebase-photo-middle .wide,.activity-gallery .wide{grid-column:1!important}
}

/* 3.20.5 — explicit specificity against the older important overrides. */
@media(max-width:980px){
  body .site-header>.menu-toggle,
  body.home:not(.zt-page-scrolled) .site-header>.menu-toggle,
  body.home:not(.zt-page-scrolled) .site-header>.menu-toggle:hover,
  body.home:not(.zt-page-scrolled) .site-header>.menu-toggle:focus-visible,
  body.home:not(.zt-page-scrolled) .site-header>.menu-toggle[aria-expanded=true],
  body .site-header>.menu-toggle:hover,
  body .site-header>.menu-toggle:focus-visible,
  body .site-header>.menu-toggle[aria-expanded=true]{
    display:flex!important;align-items:center!important;justify-content:flex-end!important;
    flex:0 0 88px!important;width:88px!important;min-width:88px!important;max-width:88px!important;
    height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;gap:8px!important;
    border:0!important;border-radius:0!important;background:transparent!important;color:#f4f0e6!important;
    box-shadow:none!important;transform:none!important;appearance:none;-webkit-appearance:none;
  }
  body .site-header>.menu-toggle:focus-visible{outline:2px solid #e5ca83!important;outline-offset:3px!important}
  body .site-header>.menu-toggle b,
  body .site-header>.menu-toggle:hover b,
  body .site-header>.menu-toggle:focus-visible b,
  body .site-header>.menu-toggle[aria-expanded=true] b{
    display:block!important;flex:0 0 36px!important;width:36px!important;margin:0!important;
    font:700 9px/1 Archivo,sans-serif!important;letter-spacing:.12em!important;text-align:right!important;
    color:inherit!important;opacity:1!important;visibility:visible!important;
  }
  body .site-header>.menu-toggle i,
  body.home:not(.zt-page-scrolled) .site-header>.menu-toggle i,
  body .site-header>.menu-toggle:hover i,
  body .site-header>.menu-toggle:focus-visible i,
  body .site-header>.menu-toggle[aria-expanded=true] i{
    position:relative!important;inset:auto!important;display:block!important;flex:0 0 44px!important;
    width:44px!important;min-width:44px!important;max-width:44px!important;
    height:44px!important;min-height:44px!important;max-height:44px!important;aspect-ratio:1!important;
    margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
    background:transparent!important;box-shadow:none!important;transform:none!important;
  }
  body .site-header>.menu-toggle::before,body .site-header>.menu-toggle::after,
  body .site-header>.menu-toggle i::before,body .site-header>.menu-toggle i::after{content:none!important}
  body .site-header>.menu-toggle i>span{
    position:absolute!important;inset:50% auto auto 11px!important;display:block!important;
    width:22px!important;height:2px!important;margin:0!important;padding:0!important;
    border:0!important;border-radius:1px!important;background:#f4f0e6!important;opacity:1!important;
    transform-origin:center!important;transition:transform .25s ease!important;
  }
  body .site-header>.menu-toggle i>span:first-child{transform:translateY(-5px)!important}
  body .site-header>.menu-toggle i>span:last-child{transform:translateY(3px)!important}
  body .site-header>.menu-toggle[aria-expanded=true] i>span:first-child{transform:translateY(-1px) rotate(45deg)!important}
  body .site-header>.menu-toggle[aria-expanded=true] i>span:last-child{transform:translateY(-1px) rotate(-45deg)!important}
  body .zt-menu-panel .zt-menu-primary ol{padding:0!important;margin:0!important;list-style:none!important}
  body .zt-menu-panel .zt-menu-primary a{grid-template-columns:24px minmax(0,1fr) auto!important;gap:12px!important;border-bottom:1px solid rgba(243,239,228,.18)!important;transform:none!important}
  body .zt-menu-panel .zt-menu-primary strong{font-size:clamp(18px,4.8vw,23px)!important;line-height:1.5!important;letter-spacing:.02em!important;white-space:normal!important}
  body .zt-menu-panel .zt-menu-contact{position:static!important;margin:0!important;padding:22px 0 0!important;background:transparent!important}
  body .zt-menu-panel .zt-menu-guides,body .zt-menu-panel .zt-menu-utility{padding:0!important;margin:0!important}
}

@media(max-width:700px){
  body.single-post .zt-single-main{padding:92px max(20px,env(safe-area-inset-right)) 64px max(20px,env(safe-area-inset-left))!important;margin:0!important}
  body.single-work .zt-single-main{padding-top:92px!important}
  body.single-post .zt-single-main>.zt-breadcrumbs{width:100%!important;max-width:100%!important;margin:0 0 22px!important;padding:0!important;font-size:11px!important;line-height:1.7!important;white-space:normal!important}
  body.single-post .zt-single-main .post-single .single-head,
  body.single-post .zt-single-main .post-single .article-layout,
  body.single-post .zt-single-main .zt-mobile-tools,
  body.single-post .zt-single-main .post-single .article-body-wrap,
  body.single-post .zt-single-main .post-single .article-body{
    width:100%!important;max-width:100%!important;min-width:0!important;padding-inline:0!important;margin-inline:0!important;
  }
  body.single-post .zt-single-main .post-single .single-head{display:block!important;padding:0!important;margin-top:0!important;margin-bottom:26px!important}
  body.single-post .zt-single-main .post-single .single-head h1{
    display:block!important;align-self:stretch!important;justify-self:stretch!important;
    width:100%!important;max-width:none!important;inline-size:100%!important;max-inline-size:none!important;
    margin:0!important;padding:0!important;text-align:left!important;
    font-size:clamp(24px,6.9vw,32px)!important;line-height:1.55!important;letter-spacing:.01em!important;
    word-break:normal!important;line-break:strict!important;overflow-wrap:normal!important;
    white-space:normal!important;text-wrap:wrap!important;
  }
  body.single-post .zt-single-main .post-single .zt-kicker{margin-bottom:14px!important}
  body.single-post .zt-single-main .post-single .zt-article-meta{display:flex!important;flex-wrap:wrap!important;gap:8px 14px!important;margin-top:20px!important;padding-top:12px!important;font-size:10px!important;line-height:1.6!important;letter-spacing:.07em!important}
  body.single-post .zt-single-main .post-single .article-author{font-size:12px!important;line-height:1.8!important;margin-top:10px!important}
  body.single-post .zt-single-main .post-single>.zt-hero-media{position:relative!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:auto!important;margin:0 0 28px!important;border-radius:8px!important;overflow:hidden!important}
  body.single-post .zt-single-main .post-single>.zt-hero-media>.single-main-image{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;transform:none!important}
  body.single-post .zt-single-main .post-single>.zt-hero-media figcaption:empty{display:none!important}
  body.single-post .zt-single-main .post-single .article-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:48px!important;padding:0!important}
  body.single-post .zt-single-main .post-single .article-body-wrap{order:1!important}
  body.single-post .zt-single-main .post-single .article-sidebar{position:static!important;top:auto!important;order:2!important;padding:0!important}
  body.single-post .zt-single-main .post-single .article-body{padding:0!important;font-size:16px!important;line-height:1.95!important;letter-spacing:.015em!important}
  body.single-post .zt-single-main .post-single .article-body p,
  body.single-post .zt-single-main .post-single .article-body li{font-size:16px!important;line-height:1.95!important}
  body.single-post .zt-single-main .post-single .article-body p{margin:0 0 1.5em!important}
  body.single-post .zt-single-main .post-single .article-body :is(h1,h2,h3,h4,h5,h6){display:block!important;width:100%!important;max-width:none!important;inline-size:100%!important;max-inline-size:none!important;white-space:normal!important;word-break:normal!important;line-break:strict!important;overflow-wrap:normal!important;text-wrap:wrap!important;text-align:left!important;letter-spacing:.01em!important;scroll-margin-top:88px!important}
  body.single-post .zt-single-main .post-single .article-body :is(h1,h2,h3,h4,h5,h6)>:is(strong,b,span,em){max-width:none!important;white-space:normal!important;text-wrap:inherit!important}
  body.single-post .zt-single-main .post-single .article-body h2{margin:48px 0 20px!important;padding:18px 0 0!important;font-size:clamp(21px,5.7vw,25px)!important;line-height:1.65!important;border-top:2px solid #3f4335!important;border-bottom:0!important}
  body.single-post .zt-single-main .post-single .article-body h2::before,
  body.single-post .zt-single-main .post-single .article-body h2::after{content:none!important}
  body.single-post .zt-single-main .post-single .article-body h3{margin:34px 0 16px!important;padding:0 0 0 12px!important;font-size:clamp(19px,5.1vw,22px)!important;line-height:1.65!important}
  body.single-post .zt-single-main .post-single .article-body h4{font-size:18px!important;line-height:1.65!important}
  body.single-post .zt-single-main .zt-toc{margin:0 0 32px!important;border-radius:8px!important;overflow:hidden!important}
  body.single-post .zt-single-main .zt-toc button{display:grid!important;grid-template-columns:minmax(0,1fr) 20px!important;gap:4px 12px!important;padding:16px 18px!important;min-height:72px!important}
  body.single-post .zt-single-main .zt-toc button span{grid-column:1!important;grid-row:1!important;font-size:9px!important}
  body.single-post .zt-single-main .zt-toc button strong{grid-column:1!important;grid-row:2!important;font-size:16px!important;line-height:1.5!important}
  body.single-post .zt-single-main .zt-toc button i{grid-column:2!important;grid-row:1/3!important;align-self:center!important}
  body.single-post .zt-single-main .zt-toc ol{padding:8px 18px 14px!important}
  body.single-post .zt-single-main .zt-toc a{grid-template-columns:22px minmax(0,1fr)!important;gap:8px!important;font-size:14px!important;line-height:1.8!important}
  body.single-post .zt-single-main .zt-mobile-tools .zt-share{margin:0 0 26px!important;padding-top:16px!important;gap:8px!important;flex-wrap:wrap!important}
  body.single-post .zt-single-main .zt-share>a,body.single-post .zt-single-main .zt-share>button{flex:0 0 40px!important;width:40px!important;height:40px!important;min-height:40px!important;margin:0!important}
  /* Site-wide mobile Japanese titles; keep the English hero wordmark unchanged. */
  body main .page-hero h1,body main .category-hero h1,body main .ym-book-intro h1,body main .zt-work-single .single-head h1{display:block!important;width:100%!important;max-width:none!important;inline-size:100%!important;max-inline-size:none!important;align-self:stretch!important;justify-self:stretch!important;font-size:clamp(25px,7vw,34px)!important;line-height:1.55!important;letter-spacing:.01em!important;white-space:normal!important;word-break:normal!important;line-break:strict!important;overflow-wrap:normal!important;text-wrap:wrap!important}
  body main .section h2,body main .seo-intro-title h2,body main .home-activities h2,
  body main .answer-block h2,body main .home-yokomichi h2,
  body main .service-page-pro h2,body main .price-page-pro h2,
  body main .faq-page h2,body main .contact-page h2{width:100%!important;max-width:none!important;inline-size:100%!important;max-inline-size:none!important;font-size:clamp(23px,6.4vw,30px)!important;line-height:1.6!important;letter-spacing:.01em!important;word-break:normal!important;line-break:strict!important;overflow-wrap:normal!important;text-wrap:wrap!important}
}
@media(max-width:420px){
  body.single-post .zt-single-main{padding-left:max(18px,env(safe-area-inset-left))!important;padding-right:max(18px,env(safe-area-inset-right))!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
