/* Scoped to short touch landscape; portrait and desktop retain their layout. */
@media (any-pointer:coarse) and (orientation:landscape) and (max-height:600px){
 html.touch-landscape{--header-height:52px;--c-view:var(--landscape-view,100dvh);scroll-snap-type:none!important;scroll-padding-top:60px}
 .touch-landscape body{overflow-x:clip}
 .touch-landscape .site-header{position:fixed;inset:0 0 auto;height:52px;box-sizing:border-box;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));transform:none!important;visibility:visible!important;z-index:1000}
 .touch-landscape .site-header .brand img{width:180px;height:auto}
 .touch-landscape .site-header .main-nav{display:none}
 .touch-landscape .mobile-trigger{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #00394c24;border-radius:50%;background:#f2f7f4;color:#00394c;font-size:24px}
 .touch-landscape .nav-dialog{max-height:calc(var(--landscape-view,100dvh) - 16px);overflow-y:auto}
 .touch-landscape main>section,.touch-landscape .footer{scroll-snap-align:none!important;scroll-snap-stop:normal!important}
 .touch-landscape.c-scroll main>.c-hero{height:var(--c-view);min-height:240px;padding:52px 0 0;background:#002e3d}
 .touch-landscape.c-scroll .c-hero>.product-film{top:52px;height:calc(100% - 52px);object-fit:contain!important}
 .touch-landscape.c-scroll .c-hero .product-gallery{top:52px;height:calc(100% - 52px)}
 .touch-landscape.c-scroll .c-hero>.c-hero-content.slide-story{top:64px;left:max(16px,env(safe-area-inset-left));max-width:45%;padding:8px 12px}
 .touch-landscape.c-scroll .c-hero>.c-hero-content.slide-story h1{font-size:24px;margin-bottom:4px}
 .touch-landscape.c-scroll .c-hero>.c-hero-content.slide-story p{font-size:16px;line-height:1.25}
 .touch-landscape.c-scroll main>.c-story,.touch-landscape.c-scroll main>#why.c-story,.touch-landscape.c-scroll main>#contact.c-story-contact,.touch-landscape.section-scroll main>.section{height:auto;min-height:var(--landscape-view,100dvh);max-height:none;display:block;padding:68px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left))}
 .touch-landscape.c-scroll .c-story>.c-story-grid,.touch-landscape.c-scroll .c-story.is-reading-flow>.c-story-grid{height:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;gap:24px;align-items:start}
 .touch-landscape.c-scroll .c-story-copy{height:auto;max-height:none;overflow:visible;align-self:start}
 .touch-landscape.c-scroll .c-story h2,.touch-landscape.c-scroll .c-story-contact h2{font-size:28px;margin:6px 0 12px}
 .touch-landscape.c-scroll .c-story-copy p,.touch-landscape.c-scroll .c-story-contact p{font-size:16px;line-height:1.4}
 .touch-landscape.c-scroll .c-story .problem-media{height:auto;min-height:0;align-self:start}
 .touch-landscape.c-scroll .c-story .problem-gallery{height:max(220px,calc(var(--landscape-view,100dvh) - 100px));min-height:220px;max-height:none;aspect-ratio:auto;flex:none;width:100%}
 .touch-landscape.c-scroll .problem-controls button{min-width:44px;min-height:44px}
 .touch-landscape.c-scroll .problem-dots button{min-width:0;min-height:0}
 .touch-landscape.c-scroll .c-story-contact>.section-inner{height:auto;max-height:none;overflow:visible}
 .touch-landscape .inquiry-form{height:auto;max-height:none;overflow:visible;padding:18px;gap:12px}
 .touch-landscape .inquiry-form :is(input,select,textarea){font-size:16px;min-height:44px}
 .touch-landscape .inquiry-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .touch-landscape .banner-scene{height:auto;min-height:var(--landscape-view,100dvh)}
 .touch-landscape .banner-heading{min-height:90px;padding:60px 20px 8px}
 .touch-landscape.c-development main>.c-hero{height:auto;min-height:var(--c-view);padding:68px 20px 16px}
 .touch-landscape.c-development .development-panel{position:relative;inset:auto;margin:120px 0 16px auto;max-width:50%;padding:14px}
 .touch-landscape.c-development .development-legal{position:relative;inset:auto}
 .touch-landscape .media-dialog{max-height:calc(var(--landscape-view,100dvh) - 12px);box-sizing:border-box;overflow:auto}
 .touch-landscape .media-dialog img{max-height:calc(var(--landscape-view,100dvh) - 90px)}

 /* Content must determine panel height, including legacy grid/contact selectors. */
 html.touch-landscape.c-scroll main>section.c-story,
 html.touch-landscape.c-scroll main>section#why.c-story,
 html.touch-landscape.c-scroll main>section#contact.c-story-contact,
 html.touch-landscape.section-scroll main>section.section{
  height:auto!important;max-height:none!important;min-height:var(--landscape-view,100dvh);
  display:block!important;overflow:visible!important;contain:none;box-sizing:border-box;
 }
 html.touch-landscape.c-scroll .c-story>.c-story-grid,
 html.touch-landscape.c-scroll .c-story-contact>.section-inner.c-contact-layout{
  height:auto!important;max-height:none!important;min-height:min-content;
  grid-template-rows:auto!important;grid-auto-rows:auto;align-items:start;overflow:visible!important;
 }
 html.touch-landscape.c-scroll .c-story-copy,
 html.touch-landscape.c-scroll .contact-intro,
 html.touch-landscape .inquiry-form{
  height:auto!important;max-height:none!important;min-height:min-content;overflow:visible!important;
 }
 html.touch-landscape.c-scroll .c-story .problem-media{height:auto!important;max-height:none;min-height:min-content}
 html.touch-landscape main>section.section::after{display:none}
}
