/* Common touch and small-width polish, scoped away from desktop compositions. */
@media(max-width:900px){
 .concept-bar,.concept-note,.notice{font-size:10px;line-height:1.5;align-items:center}
 .concept-bar>a,.concept-note>a,.notice>a{min-height:32px;display:inline-flex;align-items:center}
 header nav a,.concept-nav nav a,.button,.nav-button,button,summary{min-height:44px}
 header nav a,.concept-nav nav a{display:inline-flex;align-items:center}
 input,select,textarea{font-size:16px!important;min-height:48px}
 h1,h2,h3{overflow-wrap:normal}header,main,section,footer{min-width:0}
 .food-hero,.arch-case,.booking-layout,.knowledge-hero{gap:40px}
 .food-hero figure{max-width:none}.food-hero img{height:clamp(360px,70vw,540px)}
 .service-list>a{min-height:85px}.service-list p{line-height:1.65}
 .docs-layout>nav a{min-height:44px;display:inline-flex;align-items:center}
 .concept-faq summary{padding:4px 0;align-items:center}.concept-faq summary span{flex-shrink:0}
 footer a{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:600px){
 :root{--pad:22px}
 header{gap:16px;padding:24px var(--pad)}header nav{gap:16px;flex-wrap:wrap;justify-content:flex-end;font-size:12px}.brand{flex-shrink:0}
 .concept-bar{padding:8px var(--pad);gap:15px}.concept-bar>span{max-width:125px;font-size:9px}
 .food-hero h1{font-size:clamp(53px,14vw,77px);line-height:1.04;letter-spacing:-.05em}
 .food-hero img{height:clamp(330px,100vw,470px)}.food-hero .button{font-size:14px}
 .split h2,.season-notebook h2,.table-invitation h2{font-size:clamp(40px,10.7vw,60px);line-height:1.08;letter-spacing:-.045em}
 .arch-hero h1{font-size:clamp(59px,16vw,91px);line-height:1.01;letter-spacing:-.055em}.arch-image img{height:clamp(340px,105vw,470px)}
 .arch-image>span{font-size:23px;left:20px;right:20px;line-height:1.3}.principles-title h2,.format-feature h2{font-size:clamp(43px,11.8vw,67px);line-height:1.08;letter-spacing:-.045em}
 .page-intro h1{font-size:clamp(47px,12.6vw,73px);line-height:1.05;letter-spacing:-.045em}
 .case-notes h2,.case-plan h2{font-size:36px;line-height:1.12}.plan-drawing>span{min-height:145px;font-size:11px;text-align:center;padding:8px}.menu-items article{padding-right:60px}.menu-items h2{font-size:29px;line-height:1.13}
 .bike-hero h1{font-size:clamp(54px,14.5vw,81px);line-height:1;letter-spacing:-.05em}.bike-art{min-height:315px;scale:.8}
 .repair-route h2,.concept-faq h2,.service-list h2{font-size:clamp(40px,10.7vw,61px);line-height:1.08;letter-spacing:-.045em}.repair-route li{padding-left:38px}.repair-route h3{font-size:27px}
 .booking-layout h1{font-size:clamp(53px,14.3vw,81px);line-height:1.03;letter-spacing:-.05em}#booking{padding:24px}#booking h2{font-size:30px;line-height:1.12}fieldset{display:grid;grid-template-columns:1fr;gap:8px}fieldset label{min-height:44px;display:flex;align-items:center;gap:10px}fieldset input{min-height:0}.booking-result{font-size:15px;padding:18px}
 .knowledge-hero h1{font-size:clamp(45px,12vw,69px);line-height:1.05;letter-spacing:-.045em}.assistant-panel{padding:19px}.assistant-top{font-size:17px;gap:8px;flex-wrap:wrap}.assistant-top small{font-size:10px}.question-choices button{font-size:12px;padding:10px;min-height:44px}#ask-signal button{min-width:48px}
 .signal-method h2,.signal-boundaries h2{font-size:clamp(42px,11.4vw,64px);line-height:1.1;letter-spacing:-.04em}.source-index strong{font-size:23px;line-height:1.4}.docs-layout h2{font-size:32px;line-height:1.1}
 .lab-hero h1{font-size:clamp(43px,12vw,67px);line-height:1.05;letter-spacing:-.045em}.lab-intro h2,.demo-section h2,.comparison-heading h2{font-size:clamp(35px,10vw,50px);line-height:1.1;letter-spacing:-.04em}.lab-end h2{font-size:clamp(42px,12vw,64px);line-height:1.08}.mock-body h3{font-size:clamp(43px,12.3vw,62px)}
 .ride-heading h1{font-size:clamp(55px,15vw,80px);line-height:1.02;letter-spacing:-.05em}.ride-photo{height:330px}.sound-title h1{font-size:clamp(45px,12.5vw,68px);line-height:1.03;letter-spacing:-.05em}.sound-title>p{line-height:1.65}.record-scene{height:300px}.ride-intro h2,.sound-intro h2,.section-top h2,.ride-end h2,.sound-end h2{font-size:clamp(40px,11vw,61px);line-height:1.09;letter-spacing:-.04em}.session-text h3{font-size:32px;line-height:1.15}
 dialog{max-width:calc(100vw - 32px);max-height:calc(100svh - 48px);overflow:auto}
}
@media(max-width:360px){
 :root{--pad:20px}header .brand{font-size:28px}.saison header .brand{font-size:38px}header nav{font-size:11px;gap:10px}.concept-bar{font-size:9px}
 .concept-nav .brand{font-size:30px}.concept-nav nav .nav-button{font-size:11px;padding:10px 12px}.lab-hero{padding-left:20px;padding-right:20px}header .logo{font-size:30px}header>a:last-child{font-size:10px;padding:10px 12px}
 .stage-message{font-size:13px;padding:15px}.session-tabs button,.ride-filters button{font-size:11px;padding:10px 12px}.sound-title h1{font-size:43px}
 .source-index strong{font-size:21px}.plan-drawing>span{font-size:10px;min-height:125px}.menu-items h2{font-size:26px}.assistant-top small{margin-left:0;flex-basis:100%}.signal-dot{flex-shrink:0}
}
