/* Touch controls shared by all public pages. */
@media (max-width:767px) {
  #nav .nav-inner { height:66px; gap:8px; padding-left:16px; padding-right:7px; }
  #nav .nav-wordmark { font-size:clamp(.67rem,3vw,.8125rem); letter-spacing:.025em; }
  #nav .nav-burger { display:flex; flex:0 0 56px; width:56px; height:56px; margin:0 0 0 auto; background:rgba(255,255,255,.6); border:1px solid rgba(20,45,32,.16); border-radius:18px; }
  #nav .nav-burger span { width:28px; height:3px; }
  #nav .nav-burger.open span:first-child { transform:translateY(4.5px) rotate(45deg); }
  #nav .nav-burger.open span:last-child { transform:translateY(-4.5px) rotate(-45deg); }
  body.menu-open #nav .nav-burger { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.4); }
  #mobileMenu { padding-top:96px; grid-template-rows:auto auto; align-content:start; row-gap:28px; }
  #mobileMenu .nav-menu-list a { min-height:52px; font-size:clamp(1.65rem,7vw,2.3rem); padding-block:8px; }
  #mobileMenu .nav-menu-brand { display:flex; align-items:center; justify-content:center; min-height:54px; padding:12px 18px; border:1px solid rgba(255,255,255,.45); border-radius:16px; color:#fff; font-size:1rem; background:rgba(255,255,255,.1); }
  #mobileMenu .nav-menu-foot { padding-bottom:env(safe-area-inset-bottom,0px); }
  :is(.chip,.faq-q,.zd-check,.zd-service-btn) { min-height:48px; }
  .sheet { max-height:calc(100dvh - 16px); padding:12px 18px calc(18px + env(safe-area-inset-bottom,0px)); scroll-padding-block:64px 90px; }
  .sheet .sheet-close { position:sticky; top:0; margin-left:auto; width:48px; height:48px; background:#edf1ee; box-shadow:0 2px 10px #0001; }
  .sheet .sheet-close::after { display:none; }
  .sheet .sheet-img { height:130px; margin-top:-26px; }
  .sheet .btn-primary { position:sticky; bottom:0; min-height:52px; box-shadow:0 0 0 10px #fff,0 -12px 20px #fff; z-index:2; }
  .sheet .chip { min-height:48px; padding:12px 14px; }
  .sheet .chip[aria-pressed="true"] { box-shadow:inset 0 0 0 1px currentColor; }
  .product-story .story-copy h2 { font-size:clamp(2.65rem,12vw,3.8rem); }
  .about-reels .reel-marquee { overflow-x:auto; mask-image:none; -webkit-mask-image:none; }
  .about-reels .reel-marquee .feed-track { animation:none; width:max-content; transform:none; }
  .about-reels .reel-group[aria-hidden="true"] { display:none; }
  .about-reels .reel-tile { scroll-snap-align:start; }
}
@media (max-width:360px) { #nav .nav-cta { display:none; } }
@media (max-height:600px) and (max-width:767px) {
  #mobileMenu .nav-menu-list a { font-size:1.35rem; min-height:44px; padding-block:4px; }
  #mobileMenu { row-gap:14px; }
  .sheet .sheet-img { height:88px; }
}

/* Shared action color matches the vehicle-registration menu button. */
body :is(.btn-primary,.wa-btn,.nav-cta,.nav-menu-cta,.subpage-float-cta) {
  background:#234dd1 !important; color:#fff !important; border-color:#6484ed;
  box-shadow:0 8px 24px rgba(35,77,209,.24);
}
body :is(.btn-primary,.wa-btn,.nav-cta,.nav-menu-cta,.subpage-float-cta):hover { background:#183dae !important; }
body .chip.sel { background:#e4ebff; border-color:#6484ed; color:#183dae; }
@media (max-width:767px) {
  #mobileMenu .nav-menu-list .nav-menu-brand { font-size:1rem; line-height:1.4; }
}

/* Simple mobile layout: every product and action remains in normal flow. */
@media (max-width:900px) {
  .product-story .story-track { display:grid !important; width:100% !important; height:auto !important; transform:none !important; }
  .product-story .story-panel { width:100% !important; min-width:0; }
}
@media (max-width:767px) {
  .feature-flick-section .feature-rail { display:grid; grid-template-columns:1fr; overflow:visible; width:auto; }
  .feature-flick-section .feature-card { width:100%; min-width:0; }
  .product-story .story-copy h2 { font-size:clamp(2.5rem,11vw,3.8rem); }
  .story-action { min-height:48px; display:inline-flex; align-items:center; }
}

/* Distinct service destination, without the numbered menu-item decoration. */
#mobileMenu .nav-menu-list .nav-menu-brand {
  display:flex; align-items:center; justify-content:flex-start; gap:12px;
  width:100%; min-height:64px; padding:16px; margin-top:16px;
  background:#234dd1; border:1px solid #6484ed; border-radius:16px;
  color:#fff; font-size:clamp(.9rem,3.8vw,1.15rem); font-weight:700;
  letter-spacing:0; line-height:1.25; text-decoration:none;
  box-shadow:0 8px 24px #0002;
}
#mobileMenu .nav-menu-list .nav-menu-brand::before { content:none; display:none; }
#mobileMenu .nav-menu-brand .nav-service-icon { flex:0 0 26px; width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
#mobileMenu .nav-service-arrow { margin-left:auto; font-size:1.5rem; }
#mobileMenu .nav-menu-list .nav-menu-brand:hover { background:#183dae; }
#mobileMenu .nav-menu-list .nav-menu-brand:focus-visible { outline:3px solid #fff; outline-offset:4px; }
