.mobile-specialty { display:none; }
.product-load-more { display:none; }

@media (max-width:850px) {
  body.menu-open { overflow:hidden; }
  .mobile-nav { max-height:calc(100dvh - var(--header)); overflow-y:auto; overscroll-behavior:contain; padding-bottom:max(24px,env(safe-area-inset-bottom)); }
  .mobile-nav a { padding:16px 0; font-size:23px; }
  .mobile-nav a:last-child { border-bottom:0; }
  .menu-button { display:flex; align-items:center; justify-content:flex-end; gap:9px; width:77px; flex-shrink:0; color:var(--ink); }
  .menu-button .menu-label,.menu-button .menu-icon { position:static; width:auto; height:auto; background:none; transform:none; }
  .menu-label { font-size:12px; }
  .menu-button[aria-expanded] span.menu-label,.menu-button[aria-expanded] span.menu-icon { top:auto; left:auto; transform:none; }
  .menu-button .menu-icon { position:relative; width:22px; height:22px; }
  .menu-icon i { position:absolute; left:0; width:22px; height:1px; background:currentColor; transition:transform .2s,top .2s; }
  .menu-icon i:first-child { top:7px; }
  .menu-icon i:last-child { top:15px; }
  .menu-button[aria-expanded=true] .menu-icon i { top:11px; }
  .menu-button[aria-expanded=true] .menu-icon i:first-child { transform:rotate(45deg); }
  .menu-button[aria-expanded=true] .menu-icon i:last-child { transform:rotate(-45deg); }
  .language select { font-size:16px; min-width:48px; }
  .solutions-sidebar .specialty-filters { border:0; gap:6px; padding:0; }
  .specialty-filters button { background:#f5f5f3; }
  .specialty-filters button.active { background:#eae3dc; }
  .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 22px; }
  .team-member h3 { font-size:17px; }
  .team-member>p { font-size:13px; line-height:1.5; }
  .enquiry-dialog,.product-dialog { max-height:calc(100dvh - 24px); overscroll-behavior:contain; scroll-padding-top:60px; padding-top:12px; padding-bottom:max(24px,env(safe-area-inset-bottom)); }
  .dialog-close { position:sticky; top:0; right:auto; display:block; margin:0 0 8px auto; z-index:3; flex-shrink:0; }
  .enquiry-dialog select { font-size:16px; }
  button.contact-phone,.retry-captcha,.partnership-intro>.light-link,.partner-body a,.team-note>a,.contact-address>a { display:inline-flex; align-items:center; min-height:44px; }
  .enquiry-launcher { bottom:calc(16px + env(safe-area-inset-bottom)); }
  body:has(.enquiry-launcher:not([hidden])) .site-footer { padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
}

@media (max-width:600px) {
  :root { --header:68px; --gutter:clamp(18px,5.2vw,28px); }
  html { scroll-padding-top:calc(var(--header) + 18px); }
  .site-header { gap:12px; }
  .brand { width:clamp(135px,44vw,200px); max-width:calc(100% - 132px); }
  .header-tools { gap:8px; flex-shrink:0; }
  .hero { padding-top:24px; }
  .hero h1,html:lang(fr) .hero h1,html:lang(de) .hero h1 { font-size:clamp(32px,9vw,49px); line-height:1.12; margin:29px 0 25px; }
  .hero h1>span { hyphens:none; overflow-wrap:normal; text-wrap:balance; }
  .hero-intro { font-size:16px; line-height:1.65; max-width:none; }
  .hero-bottom { gap:18px; margin-bottom:24px; }
  .hero-routes { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .hero-routes a { font-size:13px; line-height:1.4; padding:9px 0; min-height:48px; }
  .hero-film { aspect-ratio:1.5; }
  .hero-film figcaption { padding:var(--gutter); }
  .film-caption { max-width:310px; font-size:clamp(22px,6vw,29px); line-height:1.25; }
  .film-footer>a { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
  .section-shell { padding-top:44px; padding-bottom:48px; gap:23px; }
  .statement,.section-heading h2,html:lang(de) .statement,html:lang(de) .section-heading h2,.contact h2,.athletes-details h2,.partnership h2 { font-size:clamp(29px,8vw,38px); line-height:1.16; text-wrap:balance; hyphens:none; overflow-wrap:normal; }
  html:lang(de) .statement,html:lang(de) .section-heading h2 { hyphens:none; }
  .approach-intro p,.section-heading>p,.partnership-intro p,.contact-intro>p,.athletes-content>p { font-size:16px; line-height:1.65; }
  .audience-tabs { flex-wrap:wrap; gap:0 18px; }
  .audience-tabs button { flex:1 1 130px; min-width:min-content; max-width:none; font-size:14px; }
  .audience-lead { font-size:24px; line-height:1.35; }
  .service-row p { font-size:15px; }
  .portfolio .section-heading>p { margin-top:18px; }
  .solutions-layout { gap:14px; }
  .solutions-sidebar { display:none; }
  .mobile-specialty { display:grid; gap:8px; font-size:12px; color:var(--muted); }
  .mobile-specialty select { width:100%; min-width:0; min-height:48px; padding:10px 34px 10px 12px; border:1px solid #a5a6a0; border-radius:0; background:var(--white); color:var(--ink); font:inherit; font-size:16px; }
  .solutions-toolbar { gap:12px; padding-bottom:20px; }
  .solutions-toolbar .product-search { min-height:48px; padding:10px 12px; }
  .solutions-grid { grid-template-columns:1fr; gap:22px; }
  .product-load-more:not([hidden]) { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:24px; }
  #product-load-status { color:var(--muted); font-size:12px; }
  #show-more-products { min-height:48px; padding:10px 18px; border:1px solid #8b8d87; background:transparent; font-size:14px; }
  .solution-card { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
  .solution-card .packshot { flex:0 0 38%; min-width:108px; max-width:100%; aspect-ratio:4/3; }
  .solution-caption { padding:0; flex:1; min-width:min-content; max-width:100%; }
  .solution-maker { font-size:11px; line-height:1.4; margin-bottom:5px; }
  .solution-name { font-size:18px; line-height:1.25; gap:7px; overflow-wrap:normal; }
  .solution-name>span { font-size:15px; flex-shrink:0; }
  .solution-type { font-size:12px; line-height:1.5; margin-top:6px; hyphens:none; overflow-wrap:normal; }
  .solution-card:active { opacity:.72; }
  .portfolio .professional-note { font-size:12px; line-height:1.6; margin-top:28px; }
  .product-dialog,.enquiry-dialog { width:calc(100% - 20px); padding:10px 18px max(22px,env(safe-area-inset-bottom)); }
  .product-dialog .device-detail { gap:22px; }
  .product-dialog #device-name { font-size:30px; }
  .detail-information .device-actions { flex-direction:column; gap:10px; }
  .detail-information .device-actions a,.detail-information .device-actions button { flex:auto; min-height:48px; font-size:15px; }
  .detail-note { font-size:12px; }
  .detail-navigation { gap:12px; font-size:13px; }
  .detail-navigation button { flex:1; max-width:none; }
  .partnership { padding-top:42px; padding-bottom:44px; }
  .partnership-intro { padding-bottom:20px; }
  .register-heading>span { font-size:12px; }
  .partners-list { grid-template-columns:1fr; gap:4px; }
  .partner-item summary { min-height:88px; padding:10px 0; }
  .partner-logo { width:180px; max-width:calc(100% - 60px); height:54px; }
  .partner-item[data-partner=meril] .partner-logo { width:96px; height:62px; }
  .partner-item[data-partner=pf] .partner-logo { width:180px; height:54px; }
  .partner-item[data-partner=brosmed] .partner-logo { width:155px; }
  .partner-body { font-size:14px; line-height:1.6; padding-bottom:20px; max-width:38ch; }
  .partner-body a { font-size:13px; }
  .team-grid { gap:26px 16px; }
  .team-member h3 { font-size:16px; line-height:1.3; }
  .team-member>p { font-size:12px; line-height:1.5; }
  .contact-write { font-size:clamp(23px,6.5vw,30px); line-height:1.3; min-height:52px; gap:12px; }
  .contact-write>span:first-child { min-width:0; }
  .footer-brand { width:220px; max-width:85%; }
  .footer-nav { gap:4px 24px; }
  .footer-nav a { width:100%; min-height:44px; }
  .footer-bottom { font-size:11px; gap:12px; }
  .footer-bottom a { line-height:1.5; }
}
@media (max-width:360px) {
  html:lang(de) .statement { font-size:26px; }
}
