/* Shared small-screen refinements. Desktop dimensions remain in their own templates. */
.smp-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.smp-table-scroll:focus-visible{outline:3px solid #078b98;outline-offset:3px}
@media(max-width:1100px){
 .smp-site .smp-wrap{width:calc(100% - 40px);max-width:1200px}
 .smp-site .smp-ocean-header-row{flex-wrap:wrap;gap:8px 20px;padding-block:16px}
 .smp-header-ocean .smp-navigation{flex-basis:100%;margin-left:0;min-width:0}
 .smp-header-ocean .smp-nav-list{gap:8px 18px;justify-content:space-between}
 .smp-site .smp-detail-layout{grid-template-columns:minmax(0,1fr) 250px;gap:26px}
 .smp-site :is(.smp-detail-layout,.smp-grid,.smp-form-grid,.smp-home-company-layout)>*{min-width:0}
 .smp-site .smp-section{padding-block:48px}
 .fp-body .fp-header-inner,.fp-body .fp-main{margin-inline:20px}
}
@media(max-width:760px){
 .smp-site .smp-wrap{width:calc(100% - 28px)}
 .smp-site .smp-section{padding-block:32px}
 .smp-site :is(h1,h2,h3){overflow-wrap:break-word;hyphens:auto}
 .smp-site h1{font-size:clamp(28px,6.4vw,36px);line-height:1.18}
 .smp-site h2{font-size:clamp(23px,5.2vw,29px);line-height:1.25}
 .smp-site h3{font-size:clamp(19px,4.3vw,23px);line-height:1.3}
 .smp-site :is(.smp-ocean-hero,.smp-hero-copy,.smp-detail-heading,.smp-directory-hero,.smp-r-overview-hero,.smp-p-overview-hero) h1{font-size:clamp(28px,6.8vw,36px);line-height:1.18}
 .smp-site .smp-ocean-header-row{padding-block:12px;gap:10px;min-height:72px;justify-content:space-between}
 .smp-site .smp-brand-ocean{max-width:calc(100% - 90px);min-width:0;flex-shrink:1}
 .smp-site .smp-brand-ocean img{max-width:100%;height:auto;max-height:56px;object-fit:contain}
 .smp-site .smp-menu-toggle{min-width:76px;min-height:44px;margin-left:auto}
 .smp-header-ocean .smp-navigation{flex-basis:100%;width:100%}
 .smp-site .smp-nav-list>li{flex-wrap:wrap;justify-content:space-between}
 .smp-header-ocean .smp-nav-list>li>a{white-space:normal;min-height:44px;flex:1;padding:12px 8px}
 .smp-site .smp-submenu-toggle,.smp-site .smp-company-mega>summary{min-width:44px;min-height:44px}
 .smp-site .smp-company-mega-panel{max-width:100%;box-sizing:border-box}
 .smp-site .smp-utility-inner{gap:12px;min-height:40px;flex-wrap:wrap;padding-block:5px}
 .smp-site .smp-utility-inner>div{gap:14px;flex-wrap:wrap}
 .smp-site .smp-utility-inner a{min-height:36px;display:inline-flex;align-items:center}
 .smp-site .smp-ocean-hero{min-height:0}
 .smp-site .smp-ocean-hero-content{padding-block:30px}
 .smp-site .smp-ocean-hero-content>p{font-size:17px;line-height:1.6}
 .smp-site .smp-detail-layout{grid-template-columns:minmax(0,1fr);gap:24px;padding-bottom:36px}
 .smp-site .smp-article{font-size:16px;line-height:1.7;min-width:0}
 .smp-site .smp-article :is(img,video,iframe){max-width:100%}
 .smp-site .smp-article img{height:auto}
 .smp-site :is(pre,code){overflow-wrap:anywhere;white-space:pre-wrap}
 .smp-site .smp-article>section{margin-bottom:24px;padding-top:14px}
 .smp-site :is(.smp-info-box,.smp-provider-cta,.smp-editor,.smp-review){padding:20px}
 .smp-site :is(.smp-actions,.smp-section-heading,.smp-portal-heading){flex-wrap:wrap;gap:12px}
 .smp-site :is(button,.smp-button,.smp-text-link,.smp-pagination a){min-height:44px}
 .smp-site .smp-button{max-width:100%;white-space:normal;text-align:center;line-height:1.45}
 .smp-site :is(input,select,textarea),.fp-body :is(input,select,textarea){font-size:16px;max-width:100%;min-width:0}
 .smp-site input:not([type=checkbox]):not([type=radio]),.smp-site select{min-height:48px}
 .smp-site :is(.smp-r-core-page,.smp-p-overview-v2){padding-inline:14px}
 .smp-site :is(.smp-r-map-section,.smp-p-map-section,.smp-r-fit-section,.smp-p-fit-section){padding:18px 14px}
 .smp-site :is(.smp-r-overview-hero,.smp-p-overview-hero){padding:24px 18px}
 .smp-site .fp-section{margin-block:32px}
 .smp-site :is(.fp-map-layout,.smp-other-industries){padding:18px 14px}
 .smp-site .fp-hero-copy{padding:22px 18px}
 .smp-site .smp-home-company-feature{min-height:260px}
 .smp-site .smp-breadcrumb{line-height:1.55;margin-block:14px}
 .smp-site .smp-breadcrumb ol{gap:5px 8px}
 .smp-site .smp-footer-links{gap:20px}
 .fp-body .fp-header-inner,.fp-body .fp-main{margin-inline:14px}
 .fp-body .fp-header nav{max-width:100%;flex-wrap:wrap;gap:5px}
 .fp-body .fp-header nav a{min-height:44px;padding:10px 12px;white-space:normal}
 .fp-body .fp-editor{min-width:0}
 .fp-body .fp-section{padding:0;min-width:0}
 .fp-body .fp-sections{padding:20px 10px}
 .fp-body .fp-field{min-width:0;padding:16px 12px}
 .fp-body .fp-savebar{max-width:calc(100% - 20px);gap:8px;flex-wrap:wrap;padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .fp-body .fp-savebar button{min-height:46px}
 .fp-body :is(.fp-sidebar nav a,.fp-sort-row button,.fp-gallery-controls button,.fp-gallery-actions button,.fp-media-actions button){min-height:44px}
 .fp-body .fp-sidebar nav a{display:flex;align-items:center}
 .fp-body .fp-sort-row button{min-width:36px}
 .fp-body dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
 .cp-profile .cp-tabs a{min-height:48px;padding-inline:12px}
 .cp-profile .cp-panel{padding:20px 16px}
 .cp-profile .cp-facts{padding:0}
 .cp-profile .cp-contact-actions .cp-button{min-height:48px}
 .cp-profile .cp-description h2{font-size:25px;line-height:1.25}
 .cp-profile .cp-inquiry-form :is(input,textarea){font-size:16px}
}
@media(max-width:380px){
 .smp-site .smp-wrap{width:calc(100% - 24px)}
 .smp-site .smp-utility-inner>span>span{display:none}
 .smp-site .smp-home-branches{grid-template-columns:minmax(0,1fr)}
 .smp-site .smp-home-branch-copy p{font-size:14px}
 .fp-body .fp-main,.fp-body .fp-header-inner{margin-inline:12px}
 .cp-profile .cp-gallery-grid{gap:8px}
 .fp-body .fp-gallery{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.smp-site *,.fp-body *{scroll-behavior:auto!important;transition:none!important}}
