/* Phone layout: natural document flow, readable controls, one-row character rail. */
@media (max-width:760px){
 html{scroll-padding-top:78px}
 .announcement{height:30px;font-size:10px;letter-spacing:.1px}
 .announcement a,.announcement-divider{display:none}
 header{height:66px;padding:0 20px;gap:12px}
 .wordmark{font-size:20px;white-space:nowrap}
 .nav-actions{gap:7px;font-size:12px}
 #theme-toggle{min-width:44px;min-height:44px;padding:10px;color:var(--text);font-size:17px}
 #open-cart{min-height:44px;padding:7px}
 .campaign,html[data-theme=cute] .campaign{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;overflow:hidden}
 .campaign-copy{order:0;width:100%;padding:38px 24px 24px;animation:none}
 .campaign .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:18px}
 .campaign h1{font-size:clamp(34px,9.2vw,52px);letter-spacing:-1.8px;line-height:1.1}
 .campaign h1 em{white-space:nowrap}
 .campaign-copy>p:not(.eyebrow){font-size:14px;line-height:1.65;max-width:360px;margin:18px 0 22px}
 .campaign-copy>.primary{width:100%;min-height:50px;justify-content:space-between;font-size:14px;padding-inline:22px}
 .video-trigger{display:block;margin:8px auto 0;padding:13px 16px;font-size:12px;min-height:44px}
 .edition-note{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin:15px 0 0;padding-top:17px;border-top:1px solid var(--line)}
 .edition-note>span:first-child{font-size:8px;letter-spacing:.8px;color:var(--muted)}
 #edition-clock{font-size:12px;letter-spacing:.7px;white-space:nowrap}
 .campaign-art,html[data-theme=cute] .campaign-art{position:relative;inset:auto;order:1;display:block;width:100%;height:320px;object-fit:cover;object-position:69% center;transform:none!important;mix-blend-mode:normal}
 html[data-theme=cute] .campaign-art{height:340px;object-fit:contain;background:#f0dbc4;mix-blend-mode:multiply}
 .campaign-shade,.campaign-bottom,.haunt-atmosphere,.season-strip{display:none}
 .section{padding:48px 20px}
 .section-heading{margin-bottom:24px}
 .section-heading .eyebrow{font-size:9px;margin-bottom:12px}
 .section-heading h2{font-size:32px;letter-spacing:-1.3px;line-height:1.15}
 .section-heading>p{display:none}
 .showcase{gap:24px}
 .selected-stage{height:320px;border-radius:18px;padding:38px 20px 48px}
 .selected-stage>img{height:235px;max-height:235px}
 .stage-meta{top:17px;left:18px;font-size:8px}
 .stage-bottom{left:18px;right:18px;bottom:12px;gap:8px;flex-wrap:nowrap;letter-spacing:0}
 .stage-bottom>span{font-size:7px}
 .stage-bottom button{min-height:36px;font-size:10px;padding:0}
 .selection-top{margin-bottom:10px}.selection-top .eyebrow{margin-bottom:0;font-size:9px}
 .selection-panel h3{font-size:29px;letter-spacing:-1px}
 .selection-panel>p{font-size:13px;line-height:1.6;margin-top:9px}
 .price-row{padding:16px 0;margin:8px 0 20px}
 .price-row strong{font-size:26px}.price-row>span{font-size:11px}
 .collection-tabs{width:100%;gap:4px;margin-bottom:14px}
 .collection-tabs button{flex:1;padding:11px 8px;min-height:44px;font-size:12px}
 .search-label{margin:14px 0}.search-label input{height:46px;font-size:16px;padding:12px 38px 12px 14px}
 .character-tray{grid-template-rows:118px;grid-auto-columns:96px;max-height:none;gap:10px;padding:3px 2px 10px;scroll-padding-left:2px;scrollbar-width:none;overscroll-behavior-x:contain}
 .character-tray::-webkit-scrollbar{display:none}
 .character-thumb{padding:6px 3px;border-radius:14px}
 .character-thumb img{height:82px}.character-thumb span{font-size:10px;padding:6px 0}
 .tray-controls{margin:8px 0 18px;font-size:11px}.tray-controls button{width:44px;height:44px;padding:0}
 #add-cart{min-height:52px;font-size:14px}
 .selection-panel>.small-note{font-size:11px!important}
 summary{font-size:13px;min-height:36px}.included p{font-size:13px}
 .signup{margin:0 20px 20px;padding:25px 22px;border-radius:18px;gap:24px}
 .signup h2,.story h2{font-size:30px;letter-spacing:-1px}
 .signup h2 br{display:block}.signup>div>p:not(.eyebrow){font-size:13px;margin:13px 0}
 .signup .eyebrow{font-size:9px;margin-bottom:15px}
 form>label{font-size:12px}.email-row input{font-size:16px}
 .signup .email-row{display:grid;grid-template-columns:1fr;gap:10px}
 .signup .email-row input,.signup .email-row button{width:100%;min-height:48px}
 .consent{align-items:flex-start;font-size:12px;line-height:1.5;gap:10px}.consent input{width:18px;height:18px;flex-shrink:0;margin:0}
 .story{gap:20px}.story>div>p{font-size:14px;line-height:1.75;margin-bottom:18px}
 .story a,.story .text-button{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
 footer{padding:32px 20px 25px;gap:26px}footer>div:nth-child(2)>a{font-size:13px;overflow-wrap:anywhere;min-height:30px}
 .footer-bottom{display:grid;gap:10px;font-size:10px}
 dialog,#checkout,#cart{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:46px 20px 24px;border-radius:20px}
 .close{width:40px;height:40px;right:10px;top:9px}
 dialog h2,#checkout h2{font-size:28px;line-height:1.2;margin-bottom:16px}
 dialog .eyebrow{font-size:8px;margin-bottom:15px}
 .checkout-layout{gap:22px}.checkout-step{gap:8px}.checkout-step small{font-size:9px}
 .checkout-step h3{font-size:13px}.demo-address{padding:15px;font-size:12px}
 .checkout-summary{padding:16px}.checkout-summary .primary{font-size:13px;gap:12px}
 .cart-line{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}.cart-line h3{font-size:14px}
 .quantity{gap:10px}.quantity button{width:36px;height:36px}.remove{padding:8px 0}
 #toast{max-width:calc(100vw - 32px);width:max-content;text-align:center;bottom:16px}
 html[data-theme=cute] .edition-note>span:first-child{color:#79645e}
}
