/* Mobile layout corrections. Loaded after the theme and commerce styles. */
@media(max-width:800px){
 html{overflow-wrap:break-word}
 body{min-width:0}
 .site-header-shell .header,.home .site-header-shell .header{grid-template-columns:24px minmax(0,1fr) auto;gap:8px;padding-inline:16px;flex-wrap:nowrap}
 .site-header-shell .header .logo{font-size:clamp(20px,6vw,27px);white-space:nowrap}
 .site-header-shell .header .custom-logo{max-width:min(32vw,140px);height:auto}
 .site-header-shell .header .tools{gap:10px;flex-wrap:nowrap}
 .site-header-shell .announcement,.home .site-header-shell .announcement{letter-spacing:.3px;padding-inline:10px;font-size:7px}
 /* Grid rows follow the content rather than a viewport height. */
 .campaign-hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;min-height:0;height:auto;max-height:none;overflow:hidden}
 .campaign-half{min-width:0;min-height:0;padding:100px 24px 44px;align-items:center}
 .campaign-half-right{min-height:0;padding:44px 24px 40px}
 .campaign-copy,.campaign-right-copy{min-width:0;width:100%;padding:0}
 .campaign-kicker,.campaign-right-copy .campaign-kicker{font-size:11px;line-height:1.5;letter-spacing:1px;margin:0 0 20px;overflow-wrap:anywhere}
 .campaign-title{font-size:clamp(48px,17vw,100px);line-height:.98;letter-spacing:-.055em;margin:0;max-width:100%}
 .campaign-title .campaign-soft{font-size:.35em;line-height:1.3;margin:16px 0;letter-spacing:-.02em}
 .campaign-stamp{margin:24px 0 0 15%;font-size:13px;line-height:1.5;max-width:80%}
 .campaign-right-title{font-size:clamp(46px,15vw,88px);line-height:1;letter-spacing:-.05em;margin:0}
 .campaign-right-sub{font-size:12px;line-height:1.6;letter-spacing:.5px;margin:24px auto 0;max-width:260px}
 .campaign-buy{position:relative;inset:auto;transform:none;justify-self:center;display:block;width:calc(100% - 48px);max-width:340px;margin:24px 0;padding:17px 20px;text-align:center;font-size:12px;line-height:1.5;white-space:normal}
 .campaign-bottom{position:relative;inset:auto;height:auto;min-height:72px;padding:20px 24px;gap:16px;flex-wrap:wrap;align-items:center;font-size:9px;line-height:1.6}
 .campaign-bottom>span{max-width:100%}
 .buy-layout,.upc-panel{grid-template-columns:minmax(0,1fr);gap:28px}
 .buy-layout>*,.upc-panel>*,.buy-details,.upc-details,.product-gallery-column{min-width:0;max-width:100%}
 .buy-details h2,.upc-details h2,.single-product .product_title{font-size:26px!important;line-height:1.22!important;overflow-wrap:anywhere;letter-spacing:-.6px}
 .up-gallery,.home .buy-section .up-gallery{min-width:0;max-width:100%}
 .up-gallery-stage,.home .buy-section .up-gallery-stage,.product-preview .up-gallery-stage{grid-template-columns:minmax(0,1fr) 56px;gap:8px}
 .up-gallery-highlights,.home .buy-section .up-gallery-highlights{gap:12px;padding-top:8px}
 .up-gallery-feature>button,.home .buy-section .up-gallery-feature>button{font-size:8px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
 .up-gallery-controls,.home .buy-section .up-gallery-controls,.product-preview .up-gallery-controls{margin:16px 64px 18px 0}
 .up-gallery-rail,.home .buy-section .up-gallery-rail,.product-preview .up-gallery-rail{margin:0 64px 0 0;max-width:100%;gap:6px}
 .upc-kit,.single-product .upc-purchase-only .upc-kit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .upc-kit>label,.single-product .upc-kit>label,.kit-option{min-width:0;width:auto;line-height:1.5;white-space:normal;font-size:11px;padding:12px 5px}
 .upc-kit small,.kit-option small{line-height:1.5;white-space:normal}
 .upc-choice-buttons,.option-row{max-width:100%;flex-wrap:wrap}
 .upc-piece,.piece{min-width:0}
 .upc-total,.total-row{gap:12px;flex-wrap:wrap;line-height:1.5}
 .upc-total strong,.total-row strong{font-size:20px;line-height:1.35}
 .upc-note,.buy-subtitle,.product-delivery p{line-height:1.7;white-space:normal}
 .product-story-copy h2,.kits-editorial h2,.signature-message h2{line-height:1.15}
 .section-heading,.kit-showcase-heading{flex-wrap:wrap;gap:18px}
 .up-footer-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .up-footer-grid>*,.up-footer-email{min-width:0}
 .up-footer-bottom{flex-wrap:wrap;gap:20px;line-height:1.7}
}
@media(max-width:360px){
 .site-header-shell .header .tools{gap:7px}
 .campaign-half{padding-inline:20px}
 .campaign-title{font-size:16vw}
 .campaign-right-title{font-size:14vw}
 .upc-kit>label,.single-product .upc-kit>label{font-size:10px}
}
