/* UTravel: stack independent desktop columns on narrow screens. */
@media screen and (max-width: 900px) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body { margin:0; }
  main .world-explorer,
  main .about-hero-grid,
  main .about-purpose-grid,
  main .about-service-grid,
  main .about-subhead,
  main .about-closing {
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:24px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  main .world-explorer > *, main .about-hero-grid > *,
  main .about-purpose-grid > *, main .about-service-grid > * {
    width:100% !important; min-width:0 !important; max-width:100% !important;
    box-sizing:border-box !important; flex:0 0 auto !important;
    grid-area:auto !important; position:relative !important; inset:auto !important;
    margin-left:0 !important; margin-right:0 !important;
  }
  main .world-explorer { gap:0 !important; border-radius:20px !important; }
  main .world-stage { padding:16px !important; min-height:0 !important; }
  main .world-stage-top { padding:0 !important; gap:12px !important; flex-wrap:wrap !important; font-size:10px !important; }
  main .world-stage-top span { width:auto !important; max-width:100%; }
  main .world-canvas { display:block !important; width:100% !important; height:320px !important; height:clamp(240px,76vw,380px) !important; max-width:100% !important; flex:none !important; }
  main .world-hint { padding:8px 0 !important; font-size:12px !important; line-height:1.6 !important; text-align:center; }
  main .world-controls { display:flex !important; flex-wrap:wrap !important; justify-content:space-between; gap:8px !important; padding:8px 0 0 !important; }
  main .world-controls > div { display:flex; flex-wrap:wrap; gap:6px; }
  main .world-controls button { min-height:44px; padding:8px 10px; font-size:12px; }
  main .world-browser { padding:22px 18px !important; border-left:0 !important; border-top:1px solid #dce2d8 !important; }
  main .world-browser input,main .world-browser select { width:100%; min-width:0; max-width:100%; min-height:46px; font-size:16px !important; box-sizing:border-box; }
  main .world-filter { flex-wrap:wrap; gap:10px; }
  main .world-filter select { width:auto; }
  main .country-pills { display:flex;flex-wrap:wrap;gap:8px; }
  main .country-pills button { min-height:44px; }
  main .country-detail h3 { font-size:30px !important; line-height:1.3 !important; }
  main .world-status { font-size:13px !important; line-height:1.7 !important; }
  main .about-section { padding:40px 18px !important; box-sizing:border-box; min-width:0; }
  main .about-intro,main .about-what { width:100% !important; min-width:0 !important; max-width:100% !important; }
  main .about-title-block h2 { display:block !important; width:auto !important; font-size:clamp(28px,7.5vw,40px) !important; line-height:1.35 !important; letter-spacing:-.02em !important; margin:18px 0 !important; }
  main .about-title-block h2 > span,main .about-title-block h2 > em { display:block !important; line-height:inherit !important; }
  main .about-eyebrow { display:block !important; font-size:11px !important; line-height:1.7 !important; letter-spacing:1.5px !important; }
  main .about-origin-quote { display:flex !important; align-items:flex-start !important; gap:12px !important; padding:20px !important; margin:24px 0 0 !important; width:100% !important; min-width:0 !important; box-sizing:border-box; }
  main .about-origin-quote > span { flex:0 0 28px; width:28px !important; font-size:44px !important; line-height:1 !important; position:static !important; }
  main .about-origin-quote p { flex:1; min-width:0; margin:0 !important; font-size:16px !important; line-height:1.75 !important; }
  main .about-story { display:flex !important; flex-direction:column !important; gap:18px !important; padding:0 !important; }
  main .about-story p { font-size:16px !important; line-height:1.8 !important; margin:0 !important; overflow-wrap:break-word; }
  main .about-story .about-story-emphasis { padding:18px !important; font-size:18px !important; box-sizing:border-box; }
  main .about-purpose-card,main .about-service-grid article { padding:24px 20px !important; }
  main .about-closing { padding:24px 20px !important; }
  main .about-closing > * { grid-area:auto !important; min-width:0; }
}
