/* Migration safeguards, language control and scoped inherited-layout corrections. */
/* Everest's 72px word forced the mobile grid's intrinsic minimum beyond its viewport.
   Keep the two-line type, spacing and tilted photo; desktop is deliberately untouched. */
@media(max-width:520px){
  html.html_entry_id_3396 .n2bf-gallery .gallery-hero{grid-template-columns:minmax(0,1fr)}
  html.html_entry_id_3396 .n2bf-gallery .gallery-hero h1{font-size:min(72px,calc((100vw - 48px) / 5.4))}
}
/* Fixed legacy type minima exceed narrow content columns (even with body overflow
   hidden). Scale only affected mobile headings; keep words/copy, colors, desktop
   dimensions and existing line breaks. Legal compound words may wrap as needed. */
@media(max-width:520px){
  #top .contact h2{font-size:min(90px,calc((100vw - 48px) / 4.3))}
  html[lang=de].html_entry_id_3771 .n2bf-legal .legal-page h1{font-size:min(64px,calc((100vw - 48px) / 8.5))}
  html[lang=de].html_entry_id_3365 .n2bf-legal .legal-page h1{font-size:min(64px,calc((100vw - 48px) / 7))}
  html[lang=en].html_entry_id_3771 .n2bf-legal .legal-page h1{font-size:min(64px,calc((100vw - 48px) / 4.9))}
  .n2bf-legal .legal-copy h2{overflow-wrap:anywhere}
  html[lang=en] .n2bf-gallery .gallery-section-head h2{font-size:min(55px,calc((100vw - 48px) / 6.1))}
  html .n2bf-gallery .video-section h2{font-size:min(55px,calc((100vw - 48px) / 7.3))}
  #top .hero h1{font-size:min(67px,calc((100vw - 48px) / 5.25))}
  #top .tour h2{font-size:min(58px,calc((100vw - 48px) / 6))}
  #top .member h3{font-size:min(24px,calc((100vw - 108px) / 13.5))}
  #top .tour-card h3{font-size:min(48px,calc((100vw - 108px) / 5.4))}
  html.html_entry_id_3398 .n2bf-gallery .gallery-hero{grid-template-columns:minmax(0,1fr)}
  html.html_entry_id_3398 .n2bf-gallery .gallery-hero h1{font-size:min(72px,calc((100vw - 48px) / 4.85))}
}
/* Shared skip control matches the homepage: visible only during keyboard focus. */
.site-header .skip-link{position:absolute;top:-100px;left:20px;z-index:1000;padding:12px 18px;background:#e2392f;color:#fff}
.site-header .skip-link:focus{top:20px}
.language-switch{display:flex;align-items:center;gap:7px;flex:none;font:700 11px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.04em}
.language-switch a{padding:6px 2px}
.language-switch a[aria-current=page]{border-bottom:2px solid #e2392f}
a:focus-visible,button:focus-visible{outline:2px solid #e2392f;outline-offset:4px}
@media(max-width:750px){.site-header .language-switch{position:absolute;top:14px;right:24px;margin:0}.site-header{flex-wrap:wrap}}
