/* P74 decision 993. Shared phone and tablet layout for the website family. */
.mobile-menu,.mobile-filter-toggle{display:none}
@media(max-width:1100px){
 .website-polish :is(.products,.plan-grid,.capabilities,.industry-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
 .website-polish :is(.product,.plan-card,.catalogue-results,.hero-copy,.detail-copy){min-width:0}
}
@media(max-width:760px){
 .website-polish{--mobile-gutter:18px;font-size:14px;line-height:1.65}
 .website-polish .wrap{width:calc(100% - 36px)}
 .website-polish>header{position:relative;top:auto}
 .website-polish>header :is(.header,.navwrap){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;min-height:0;padding-block:16px}
 .website-polish>header .brand:has(img.family-r017){width:97.02px!important;flex-basis:auto!important;margin:0!important}
 .website-polish>header .brand img.family-r017{width:97.02px!important}
 .website-polish>header .mobile-menu{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:76px;min-height:44px;padding:10px 12px;border:1px solid #8c9caf;border-radius:8px;background:transparent;color:white;font:500 13px/1.4 Montserrat,Arial,sans-serif;margin:0 0 0 auto;order:1}
 .website-polish>header .mobile-menu::after{content:'+';font-size:20px;line-height:1}
 .website-polish>header .mobile-menu[aria-expanded=true]::after{content:'−'}
 .website-polish>header .mobile-menu:focus-visible{outline:3px solid #75dedd;outline-offset:3px}
 .website-polish>header .search{order:3;flex:1 0 100%;max-width:none;width:100%;min-height:48px;margin:0;padding:8px 0}
 .website-polish>header .search input{min-width:0;width:100%;min-height:32px;font-size:16px}
 .website-polish>header :is(.account-link,.basket-link){min-height:44px;display:inline-flex;align-items:center;font-size:13px;order:2;margin:0}
 .website-polish>header .account-link{flex:1 0 45%}
 .website-polish>header .basket-link{margin-left:auto}
 .website-polish>header nav.mobile-nav{display:flex!important;flex-direction:column;align-items:stretch!important;justify-content:start!important;flex:1 0 100%;width:100%;gap:4px!important;order:4;padding:12px 0 0;margin:0;overflow:visible;border-top:1px solid #34425c;white-space:normal;text-align:left}
 .website-polish>header nav.mobile-nav a{display:flex!important;align-items:center;justify-content:space-between;min-height:44px;min-width:44px;width:100%;padding:10px 12px;margin:0;font-size:14px;white-space:normal;line-height:1.5;border-radius:8px;box-sizing:border-box}
 .website-polish>header nav.mobile-nav a:not(.button):not(.btn):not(.cta){color:#fff}
 .website-polish>header nav.mobile-nav a:hover{background:#223554}
 .website-polish>header nav.mobile-nav a:is(.primary,.cta):hover{background:#75dedd;color:#06183e}
 .website-polish>header[data-mobile-ready] nav.mobile-nav:not(.mobile-open){display:none!important}
 .website-polish>header:not([data-mobile-ready]) .mobile-menu{display:none}
 .website-polish>header>.mobile-nav{width:calc(100% - 36px);margin:0 auto 16px}
 .website-polish :is(h1,.hero-copy h1,.hero h1,.page-intro h1,.page-content>h1){font-size:clamp(34px,9.8vw,44px);line-height:1.12;letter-spacing:-.04em;overflow-wrap:break-word}
 .website-polish :is(h2,.section-heading h2,.business h2,.feature h2){font-size:30px;line-height:1.2}
 .website-polish .hero-copy{padding:32px 0 0}
 .website-polish:is(.site-flow,.site-chat) .hero{padding-block:36px}
 .website-polish:is(.site-flow,.site-chat) .hero-copy{padding:0}
 .website-polish :is(.hero-copy>p:not(.kicker):not(.eyebrow),.lead,.lede,.intro-copy){font-size:14px;line-height:1.75}
 .website-polish :is(.section,.shop,.page-content,.page-intro){padding-block:36px}
 .website-polish :is(.section-heading,.filterrow,.results-bar){gap:12px}
 .website-polish :is(.hero-grid,.herogrid,.print-detail,.product-layout,.detail-grid,.split,.checkout-layout,.contact-layout,.industry-section,.guide-grid,.plan-grid,.capabilities,.industry-grid){grid-template-columns:minmax(0,1fr)}
 .website-polish :is(.hero-grid,.herogrid){min-height:0;gap:24px}
 .website-polish :is(.business,.feature,.guide-card,.contact-panel,.quote-summary,.summary,.form-panel){padding:24px}
 .website-polish .hero-art{min-height:210px;max-height:250px}
 .website-polish .hero-art>img{max-height:220px;height:220px;object-fit:contain}
 .website-polish .art-caption{font-size:11px;bottom:8px;gap:12px}
 .website-polish .art-caption span:first-child{font-size:10px}
 .website-polish :is(.button,.btn,.cta,.text-link,.line-link,.view-product,.plain-button){font-size:13px;min-height:44px;line-height:1.5}
 .website-polish :is(.text-link,.line-link){display:inline-flex;align-items:center;white-space:normal}
 .website-polish :is(.hero-actions,.herobtns,.herorow,.actions,.contact-actions){gap:12px;flex-wrap:wrap}
 .website-polish .hero-copy>.text-link{margin:12px 0 0;display:flex;width:fit-content}
 .website-polish :is(.kicker,.eyebrow,.fine,.details-note,.sample-note,.plan-note,.note,.tax,.product-copy .kicker,.service-strip p){font-size:12px;line-height:1.6}
 .website-polish :is(.product-name,.product-copy .product-name){font-size:16px;line-height:1.5}
 .website-polish :is(.spec,.product-copy .spec,.quote-item p,.quote-summary p,.guide-card p,.capabilities article>p:last-child,.industry-grid p){font-size:13px;line-height:1.7}
 .website-polish .product-image>span{font-size:11px}
 .website-polish .products{gap:28px 18px}
 .website-polish .mobile-more{display:flex;justify-content:center;margin:28px auto 0}
 .website-polish .product-copy{padding-top:16px}
 .website-polish .buyrow{flex-wrap:wrap;gap:12px;font-size:13px}
 .website-polish .buyrow strong{font-size:26px}
 .website-polish .buyrow strong small{font-size:16px}
 .website-polish .buyrow .view-product{justify-content:center}
 .website-polish :is(button,summary,select,input:not([type=checkbox]):not([type=radio])){min-height:44px}
 .website-polish :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important;max-width:100%;box-sizing:border-box}
 .website-polish :is(button,.quantity button,.add){min-width:44px}
 .website-polish :is(.field,label,.sort,.breadcrumbs,.crumb,.steps,.workflow-buttons button){font-size:13px}
 .website-polish :is(.breadcrumbs,.crumb) a{display:inline-flex;align-items:center;min-height:44px}
 .website-polish .sort{justify-content:space-between;margin:18px 0 0;white-space:normal}
 .website-polish .sort select{min-width:0;max-width:70%}
 .website-polish .catalogue-layout{display:block}
 .website-polish .mobile-filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:12px 16px;background:#fff;border:1px solid #9fb4bc;border-radius:8px;color:#06183e;font:500 14px/1.5 Montserrat,Arial,sans-serif;margin:0 0 16px}
 .website-polish .mobile-filter-toggle::after{content:'+';font-size:20px}
 .website-polish .mobile-filter-toggle[aria-expanded=true]::after{content:'−'}
 .website-polish .catalogue-sidebar h3{display:none}
 .website-polish .catalogue-sidebar .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;white-space:normal;gap:8px;margin:0 0 20px;padding:0}
 .website-polish .catalogue-sidebar .filters button{white-space:normal;font-size:13px;line-height:1.5;min-height:48px;text-align:left;padding:10px 12px}
 .website-polish .catalogue-sidebar[data-mobile-ready]:not(.mobile-filters-open) .filters{display:none}
 .website-polish .filterrow{flex-wrap:wrap;align-items:center}
 .website-polish .filters button{font-size:13px;min-height:44px}
 .website-polish #results{font-size:12px;white-space:normal}
 .website-polish .family-footer{padding-block:32px 20px}
 .website-polish .family-footer .footer-grid{gap:28px 18px}
 .website-polish .family-footer .footer-bottom nav a{min-width:44px;min-height:44px}
 .website-polish .family-footer .footer-bottom{font-size:11px}
 .website-polish .family-footer .footer-column a{font-size:13px}
 .website-polish .family-footer .footer-phone{font-size:24px}
 .website-polish .map-lanes{grid-template-columns:1fr}
 .website-polish .map-lanes p{font-size:13px}
 .website-polish :is(.map-top,.map-bottom,.map-records){font-size:11px}
 .website-polish .map-top{flex-wrap:wrap}
 .website-polish .workflow-buttons{grid-template-columns:1fr}
 .website-polish .preview .wrap{font-size:11px;flex-wrap:wrap;padding-block:8px;gap:4px}
 .website-polish .preview a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;white-space:normal}
 .website-polish .compare-scroll{overflow:auto;overscroll-behavior-inline:contain}
 .website-polish .shotcomposer button{width:44px;min-width:44px}
 .website-polish .shotcall{font-size:12px;min-height:44px}
 .website-polish :is(.sform,.fields,.form-grid){min-width:0}
 .website-polish :is(.sform input,.sform select){min-width:0}
}
@media(max-width:480px){
 .website-polish .products{grid-template-columns:minmax(0,1fr)}
 .website-polish .product-image{aspect-ratio:4/3;min-height:0}
 .website-polish .buyrow{flex-direction:row;align-items:center}
 .website-polish .buyrow .view-product{width:auto}
 .website-polish .detail-form{grid-template-columns:1fr}
 .website-polish .family-footer .footer-grid{grid-template-columns:minmax(0,1fr)}
 .website-polish .family-footer .footer-column{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){.website-polish *{scroll-behavior:auto!important}}

/* Aaron 6 Oct: mobile website logos at 70% of previous dimensions. */
@media(max-width:760px){
 .website-polish img.family-r017{width:117.6px!important}
 .website-polish :is(.brand,.print-brand):has(>img.family-r017){width:117.6px!important}
 .website-polish>header .brand:has(>img.family-r017),
 .website-polish>header .brand img.family-r017{width:97.02px!important}
}

/* P74 decision 1007: all logos reduced to 70% of current dimensions, including mobile. */
/* P74 6 Oct: header logos +10% (mobile header 97.02px; footer 117.6px retained). */
