/* Keep native anchor navigation clear of the fixed header on every viewport.
   app.js maintains the measured height, including the two-row phone header. */
html { scroll-padding-top: calc(var(--header-height, 104px) + 24px); }

/* Long translated words must wrap inside their own layout, rather than force
   the page wider. Normal word boundaries remain the first wrapping choice. */
main h1, main h2, main h3 { overflow-wrap: anywhere; }
.intro > div, .complex-content, .contact-heading, .business-lead {
  min-width: 0;
  max-width: 100%;
}

/* Preserve the Georgian introduction's two-line rhythm on compact phones;
   emergency wrapping above also handles browser text enlargement. */
@media (max-width: 380px) {
  .intro h2, html[lang=ka] .intro h2 {
    font-size: clamp(28px, 8.5vw, 32px);
  }
  /* Keep «Присоединяйтесь» whole at normal text size; retain the wrapping
     fallback for user text enlargement rather than forcing nowrap. */
  html[lang=ru] #careers h2 {
    font-size: clamp(30px, 10vw, 36px);
  }
}

/* The existing 3D destination becomes a native, keyboard-accessible chooser. */
#navigation .nav-3d{position:relative;color:inherit}
#navigation .nav-3d>summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;padding:10px 0;white-space:nowrap}
#navigation .nav-3d>summary::-webkit-details-marker{display:none}
#navigation .nav-3d>summary::after{content:'⌄';margin-left:6px;font-size:.8em}
#navigation .nav-3d>summary:focus-visible{outline:2px solid #b8ac86;outline-offset:5px}
#navigation .nav-3d-options{position:absolute;right:0;top:100%;min-width:170px;display:grid;gap:4px;padding:12px;background:#12150f;border:1px solid #777564;box-shadow:0 12px 32px #0008;z-index:80}
#navigation .nav-3d-options a{display:block;padding:10px 12px;white-space:nowrap}
@media(max-width:1000px){#navigation .nav-3d-options{position:static;margin-top:8px;box-shadow:none}#navigation .nav-3d{width:100%}}
