/* Mobile overrides for EN index */
@media (max-width: 768px){
  /* HERO caption safe bounds */
  .hero .caption{ padding: 16px; align-items:flex-end; }
  .hero .caption .inner{
    max-width: 92vw;
    margin: 0 auto 6vh;
    transform: none;
    text-align: left;
  }
  .hero h1{
    font-size: clamp(18px, 5.0vw, 24px);
    line-height: 1.25;
    word-break: keep-all;
    overflow-wrap: anywhere;
    hyphens: auto;
    margin-bottom: 8px;
  }
  .hero p{ font-size: 14px; line-height: 1.4; }

  /* Floating language switch (bottom-right), size matched */
  .lang-fab{
    position:fixed; right:14px; bottom:22px;
    display:flex; gap:10px;
    padding:10px 12px;
    background:rgba(255,255,255,.95);
    border-radius:28px;
    box-shadow:0 8px 24px rgba(0,0,0,.18);
    z-index:9999;
    backdrop-filter:saturate(120%) blur(4px);
    -webkit-backdrop-filter:saturate(120%) blur(4px);
  }
  .lang-fab a{
    font-weight:700; text-decoration:none; color:#1a2b3b;
    padding:10px 16px; line-height:1; border-radius:22px;
    min-width:84px; text-align:center; font-size:16px;
  }
  .lang-fab a.active{ background:#f0e6df; color:#8a624a; }

  /* Header nav scroll hint (gradient mask while hinting) */
  .nav-scroll-hint{ position:relative }
  .nav-scroll-hint.hinting::after{
    content:''; position:absolute; right:0; top:0; bottom:0; width:24px;
    pointer-events:none;
    background:linear-gradient(to left, rgba(255,255,255,1), rgba(255,255,255,0));
  }
}
@media (min-width: 390px) and (max-width: 768px){
  .lang-fab a{ font-size:17px; padding: 11px 18px; min-width: 92px; }
}
