/* Shared responsive corrections for every public English page. */
html{overflow-x:hidden;-webkit-text-size-adjust:100%}
body{overflow-x:clip}
img,svg,video,canvas{max-width:100%}
input,select,textarea,button{max-width:100%}
main a,footer a,.direct-manager-contact strong{overflow-wrap:anywhere}
[id]{scroll-margin-top:170px}
.home-page main{overflow-x:clip}
.technical-data-grid.is-property-table{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}

@media(max-width:850px){
  [id]{scroll-margin-top:155px}
  .section-head{align-items:flex-start;flex-direction:column;gap:18px}
  .section-head>*,.footer-grid>*,.contact-route-card{min-width:0}
  .direct-manager-trigger strong{overflow-wrap:anywhere}
  .contact-hub .business-card-popover{max-width:calc(100vw - 30px)}
}
@media(max-width:520px){
  [id]{scroll-margin-top:150px}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px}
  .btn,button,[role="button"]{min-height:44px}
  .top nav{min-height:0;padding:14px 0 10px;gap:10px 12px}
  .top .brand{width:auto;max-width:calc(100% - 132px);flex:1}
  .top .brand img{height:54px}
  .top .nav-cta-group{flex:0 0 auto}
  .top .nav-cta-group .btn:first-child{display:none}
  .top .nav-cta-group .btn.fill{min-width:112px;min-height:50px}
  .top .links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;width:100%;padding-top:9px}
  .top .links a{min-width:0;padding:8px 1px;font-size:11px;text-align:center;white-space:nowrap}
  .direct-manager-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
  .contact-hub .direct-manager-links a{justify-content:center;min-width:0;text-align:center}
  .contact-hub .business-card-popover{left:50%;right:auto;width:min(390px,calc(100vw - 28px));transform:translate(-50%,-10px) scale(.97);transform-origin:bottom center}
  .contact-hub .direct-manager-trigger:hover~.business-card-popover,.contact-hub .direct-manager-trigger:focus~.business-card-popover,.contact-hub .direct-manager-trigger:focus-visible~.business-card-popover{transform:translate(-50%,0) scale(1)}
  .technical-data-grid.is-property-table{margin-right:-15px;padding-right:15px;border-right:0}

  /* Keep the home artwork inside one balanced mobile viewport instead of
     letting the transparent square asset dominate the next screen. */
  .home-page .hero>.roll-art.roll-art-integrated{
    width:min(500px,94vw);
    min-height:0;
    margin:12px auto 0;
  }

  /* The team list must participate in normal document flow on phones.
     Its desktop absolute positioning caused it to overlap longer copy. */
  .cap-v3-support-grid article{min-height:0}
  .cap-v3-support-grid .cap-v3-teams{display:flex;flex-direction:column}
  .cap-v3-teams .cap-v3-team-lines{
    position:static;
    left:auto;
    right:auto;
    bottom:auto;
    width:100%;
    margin-top:26px;
  }
  .cap-v3-team-lines span{padding:14px 8px 14px 32px}
  .cap-v3-support-grid .cap-v3-docs{min-height:420px;padding-bottom:215px}
}
@media(max-width:360px){
  .top .brand{max-width:calc(100% - 116px)}
  .top .brand img{height:48px}
  .top .nav-cta-group .btn.fill{min-width:100px}
  .top .links a{font-size:10px}
}
