/* Keep the banner copy and call action in separate rows on phones. */
@media(max-width:767px){
 .j-site .v-subhero{height:auto;min-height:224px}
 .j-site .v-subhero-inner{height:auto;min-height:224px;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;padding-top:22px;padding-bottom:54px}
 .j-site .v-subhero-inner>div{width:100%;min-width:0}
 .j-site .v-subhero-inner strong{font-size:22px;line-height:1.45;margin-top:8px}
 .j-site .v-subhero-inner .v-button-glass{min-height:44px;max-width:100%;flex-shrink:0;white-space:nowrap;font-size:12px}
}

/* Nested forms can be narrower than the screen. Keep the phone number intact. */
.j-site .gn-form-call{container-type:inline-size}
.j-site .gn-form-call>a>strong{white-space:nowrap}
@container(max-width:250px){
 .j-site .gn-form-call>a{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:8px;row-gap:8px}
 .j-site .gn-form-call>a>strong{font-size:22px;text-align:center}
 .j-site .gn-form-call>a>span{grid-column:1/-1;text-align:center;padding:8px}
}

/* Keep every menu item reachable above the fixed phone dock in landscape. */
@media(max-width:1024px){
 .j-site .j-nav.is-open{max-height:calc(100dvh - 180px);overflow-y:auto;overscroll-behavior:contain}
}

/* Leave room for the chat input and close control in short viewports. */
.j-site .jc-messages{min-height:0}
@media(max-height:500px){
 .j-site .jc-head{padding:10px 14px;gap:8px}
 .j-site .jc-head p,.j-site .jc-utility,.j-site .jc-foot{display:none}
 .j-site .jc-head h2{font-size:17px}
 .j-site .jc-controls{max-height:100px;flex-shrink:1}
 .j-site .jc-messages{padding:10px 14px}
 .j-site .jc-form{margin:8px 14px}
}
