/* Mobile-only refinements. Desktop layout and the original Siltech artwork stay intact. */
.st-mobile-menu { display:none; }
@media (max-width:760px), (pointer:coarse) and (max-width:1024px) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body { background-attachment:scroll !important; }
  /* A wrapped sticky header was covering most of an iPhone in landscape. */
  body > header, .site-header, header.top { position:relative !important; top:auto !important; }
  header .header-inner { flex-wrap:wrap; gap:16px; }
  header nav { flex-wrap:wrap; flex-shrink:1; min-width:0; max-width:100%; }
  header.header > .brand { max-width:100%; min-width:0; gap:12px; }
  header.header .logo-box { width:clamp(110px,35vw,200px); height:auto; flex-shrink:0; }
  header.header .brand-title { min-width:0; overflow-wrap:anywhere; }
  header.header .brand-title h1 { font-size:clamp(22px,4vw,31px); }
  header.header .brand-title p { font-size:clamp(14px,2.8vw,18px); }
  .hero > div { min-width:0; }
  .hero h2 { overflow-wrap:anywhere; }
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),
  textarea, select, .st-language select, .main-nav .st-language select {
    font-size:16px !important;
    min-height:44px;
    max-width:100%;
  }
  .st-language { max-width:100%; }
  .contact-box { grid-template-columns:minmax(0,1fr); }
  .contact-box > * { min-width:0; overflow-wrap:anywhere; }
  select, .st-language select { height:44px !important; }
  .st-campaign-arrow, .st-campaign-dot, .st-featured-compare { min-width:44px; min-height:44px; }
  body .st-campaign-arrow { flex:0 0 44px; }
  body .st-campaign-dots { flex-wrap:wrap; justify-content:center; min-width:0; gap:0; }
  body .st-campaign-dot { width:44px; padding:10px 5px; }
  body .st-campaign-dot span { width:24px; }
  body .st-campaign-dot.is-active span { width:34px; }
  .st-tech-dialog { max-height:94vh; max-height:94dvh; }
  .st-mobile-ready .site-header-inner {
    display:flex; flex-wrap:wrap; flex-direction:row; align-items:center;
    gap:12px; padding:14px 0; min-height:0; width:calc(100% - 28px);
  }
  .st-mobile-ready .header-left { flex:1 1 0; min-width:0; gap:10px; }
  .st-mobile-ready .social-icon { width:36px; height:44px; flex:0 0 36px; padding:6px; }
  .st-mobile-ready .brand-block { min-width:0; gap:10px; }
  .st-mobile-ready .brand-logo-wrap { width:116px; max-width:none; padding:6px; flex:0 0 116px; }
  .st-mobile-ready .brand-logo { width:100%; max-width:100%; }
  .st-mobile-ready .brand-title { font-size:18px; line-height:1.12; }
  .st-mobile-ready .brand-subtitle { font-size:11px; line-height:1.25; margin-top:4px; }
  .st-mobile-ready .brand-title-group { min-width:0; }
  .st-mobile-menu {
    display:inline-flex; align-items:center; justify-content:center; min-height:44px;
    padding:10px; border:1px solid #d8e3ee; border-radius:12px;
    background:#fff; color:#0f172a; font-family:inherit; font-size:15px; font-weight:700; line-height:1.2; cursor:pointer;
  }
  .st-mobile-ready .main-nav { flex:1 0 100%; width:100%; gap:10px; margin:0; justify-content:flex-start; }
  .st-mobile-ready .main-nav > a { display:none; }
  .st-mobile-ready .main-nav > .avai-nav {
    display:inline-flex; align-items:center; justify-content:center; min-height:44px;
    padding:8px 14px; border-radius:12px; background:#0057b8; color:#fff;
  }
  .st-mobile-ready .projects-language-group { width:auto; flex:1; justify-content:flex-end; gap:10px; }
  .st-mobile-ready .projects-language-group > .projects-nav { display:none; }
  .st-mobile-ready .st-language { margin:0; }
  .st-mobile-ready .st-language select { width:100%; }
  .st-mobile-ready.st-menu-open .main-nav > a,
  .st-mobile-ready.st-menu-open .projects-language-group > .projects-nav {
    display:inline-flex; align-items:center; min-height:44px;
  }
  .st-mobile-ready.st-menu-open .main-nav { align-items:stretch; }
  .st-mobile-ready.st-menu-open .main-nav > a { flex:1 1 42%; padding:10px; }
  .st-mobile-ready.st-menu-open .projects-language-group { flex-basis:100%; justify-content:space-between; }
  .st-mobile-menu:focus-visible { outline:3px solid #0057b8; outline-offset:3px; }
}
@media (max-width:370px) {
  .st-mobile-ready .header-left > .social-icon { display:none; }
  .st-mobile-ready .brand-logo-wrap { width:100px; flex-basis:100px; }
  .st-mobile-ready .brand-title { font-size:16px; }
}
