/* Shared device sizing. Pinch-to-zoom remains available. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}
:where(.wrap,.container,.shell,[class*="-grid"],.actions,.hero-actions)>*{min-width:0}
:where(img,video,iframe){max-width:100%}
:where(p,address,small){overflow-wrap:break-word}
@media(max-width:1150px) and (min-width:761px){
 .main-header{height:auto;min-height:91px;flex-wrap:wrap;padding:15px 25px;gap:16px 24px}
 .main-header>nav{order:3;flex:0 0 100%;justify-content:center;flex-wrap:wrap;gap:12px 22px}
 .main-header>.nav-end{margin-left:auto}
}
@media(max-width:760px){
 header>.brand{min-width:0;flex-shrink:1}
 header>.brand img{max-width:100%;height:auto}
 header>.nav-end{flex-shrink:0}
 .btn,.button,.top-cta{max-width:100%;white-space:normal;text-align:center;overflow-wrap:break-word}
 .contact-form input:not([type=radio]),.contact-form textarea,.contact-form select,
 .controls input,.apply input:not([type=checkbox]),.apply select,.apply textarea,
 .story-tools input{font-size:16px}
 .contact-grid small,.footer-contact>a{overflow-wrap:anywhere}
}
@media(max-width:380px){
 header:not(.topbar):not(.masthead){padding-left:14px;padding-right:14px;gap:10px}
 header>.brand img{max-width:145px}
 header>.nav-end{gap:7px}
 .nav-end .btn.small{padding:10px 9px;font-size:11px;max-width:128px}
 .mobile-bar{padding-left:14px;padding-right:14px;gap:12px}
 .mobile-bar .btn{padding:12px 16px;font-size:12px}
 .hero h1{font-size:clamp(39px,12vw,49px)}
 .bless-hero h1,.noval-hero h1{font-size:clamp(37px,11vw,45px)}
}
