/* Phone and touch refinements. Desktop composition and motion choices are preserved. */
@media (max-width:1050px) {
  .site-header,.is-home .site-header{height:74px;gap:10px}
  .mobile-nav{top:74px;padding-bottom:calc(30px + env(safe-area-inset-bottom));overscroll-behavior:contain}
  .mobile-nav summary,.mobile-nav a{min-height:44px}
  .mobile-nav details>a{font-size:1rem;line-height:1.5;padding:12px 14px}
  .site-header .icon-button,.site-header .menu-toggle,.site-header .lang-link,.site-header .quote-open{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .site-header .menu-toggle{display:block}
  .site-header .brand{min-height:44px;display:flex;align-items:center}
  .site-header .lang-link{font-size:.875rem}
  .site-header .header-tools{gap:3px}
  .site-header .quote-open{position:relative}
  .quote-open .quote-dot{right:4px;top:8px;margin:0}
  .table-scroll{max-width:100%;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#829d85 #edf2eb}
  .table-scroll[data-scrollable=true]::before{content:attr(data-scroll-label);display:block;position:sticky;left:0;width:fit-content;max-width:100%;padding:10px 0;color:#426548;font-size:.875rem;line-height:1.5}
  .table-scroll td,.table-scroll th{font-size:.9375rem;line-height:1.5}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:1rem!important}
  .studio-dialog input,.studio-dialog select,.contact-form input,.contact-form select{min-height:48px}
  .studio-dialog,.search-dialog,.lightbox{max-height:calc(100dvh - 24px);overscroll-behavior:contain;scroll-padding-block:20px}
  .dialog-close,.studio-dialog .dialog-close,.lightbox-controls button,.film-toggle,.filter-list>button{min-height:44px;min-width:44px}
  .filter-list>button{font-size:.875rem}
  .studio-dialog .quote-item-fields input{font-size:1rem}
  .quote-remove{min-height:44px;padding:10px 4px}
  .product-thumbs{scroll-snap-type:x proximity}
  .product-thumbs>button{scroll-snap-align:start}
}
@media (max-width:700px) {
  html{scroll-padding-top:94px}
  .site-header,.is-home .site-header{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
  .site-header .brand{width:112px}
  .site-header .header-tools{gap:2px}
  .site-header .quote-open{padding:0;height:44px}
  .site-header .menu-toggle{width:44px;height:44px}
  .mobile-nav> a,.mobile-nav summary{font-size:1.45rem;line-height:1.3}
  .breadcrumb{font-size:.8125rem;line-height:1.5;overflow-wrap:anywhere}
  .product-layout{display:flex;flex-direction:column;gap:18px;padding-top:25px;padding-bottom:35px}
  .product-info{display:contents}
  .product-info>.eyebrow{order:0;margin:0}
  .product-info>h1{order:1;margin:0;font-size:clamp(2.15rem,9vw,3rem);overflow-wrap:anywhere}
  .product-visual{order:2}
  .product-info>.intro{order:3;margin:0;font-size:1rem;line-height:1.7}
  .product-info>.product-actions{order:4;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:10px}
  .product-info>.product-actions .button,.product-quote-add{width:100%;min-height:50px;font-size:.9375rem}
  .product-info>.product-actions .link-line{min-height:44px;align-self:flex-start}
  .product-info>.product-quote-add{order:5;margin:0}
  .product-info>.spec-summary{order:6;margin:8px 0 0;width:100%}
  .product-stage{aspect-ratio:1.12;max-height:410px}
  .product-stage .zoom-button{width:44px;height:44px}
  .product-detail-nav>a,.toc>a{min-height:44px;display:flex;align-items:center;padding:10px 0}
  .product-detail-nav{gap:0 20px;margin-bottom:25px}
  .rich-text{font-size:1rem;line-height:1.75;overflow-wrap:anywhere}
  .rich-text img{max-width:100%;height:auto}
  .rich-text h2,.rich-text h3{overflow-wrap:anywhere}
  .rich-text .table-scroll{overflow-wrap:normal}
  .table-scroll table{min-width:560px}
  .contact-form{padding:24px 18px;border-radius:5px}
  .contact-form h2{font-size:1.75rem;line-height:1.15}
  .contact-form label{font-size:1rem}
  .contact-form .form-note,.form-status{font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}
  .contact-form .button{font-size:.9375rem;white-space:normal}
  .contact-info a{overflow-wrap:anywhere}
  .contact-layout>div,.contact-form{min-width:0;width:100%;max-width:100%;overflow-wrap:anywhere}
  .contact-selection{padding:16px;min-width:0}
  .contact-selection pre{overflow-wrap:anywhere;word-break:break-word;max-width:100%}
  .studio-dialog{width:calc(100% - 24px);padding:20px}
  .studio-dialog h2{font-size:1.9rem}
  .quote-item-head{align-items:center}
  .quote-item-head a{overflow-wrap:anywhere}
  .quote-next>.button{gap:14px}
  .finder-product{grid-template-columns:60px minmax(0,1fr);gap:12px}
  .finder-product .button{white-space:normal;line-height:1.5;min-height:48px}
  .studio-text-link{min-height:44px}
  .studio-product-grid .card-meta{font-size:.75rem}
  .catalog-tools input{min-height:44px}
  .lightbox-top{gap:12px;align-items:flex-start}
  .lightbox-top>span{line-height:1.5;overflow-wrap:anywhere}
  .lightbox-controls{gap:12px;font-size:.875rem}
  .lightbox-controls button{flex:1;white-space:normal}
  .lightbox-controls a{min-height:44px;display:flex;align-items:center}
  .site-footer a{min-height:44px;display:inline-flex;align-items:center}
  .studio-custom,.studio-equipment,.studio-company{grid-template-columns:minmax(0,1fr)}
  .studio-custom-copy,.studio-equipment-copy,.studio-company-copy,.footer-grid>div{min-width:0;overflow-wrap:anywhere}
  .studio-process{flex-wrap:wrap;justify-content:flex-start}
  .studio-custom h2,.studio-equipment h2,.studio-company h2,.cta h2{overflow-wrap:anywhere}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid a{max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:360px){.site-header .brand{width:90px}.site-header,.is-home .site-header{gap:6px}.studio-dialog{padding:18px}.studio-dialog h2{font-size:1.7rem}}
@media(hover:none){.catalog-card:hover .catalog-image>img,.studio-realization:hover img{transform:none}.button:hover{transform:none}}
