/* Shared finishing touches. Mobile follows page scrolling, with centered photo stages. */
.mobile-reel-hint{display:none;}
.photo-paper::after{background-image:image-set(url('assets/media/instant-film-frame-400.webp') 1x,url('assets/media/instant-film-frame-800.webp') 2x);}
.spirit-home .story-pin::after,.spirit-home .closing-images::after{background-image:url('assets/media/pennant-400.webp');}
.legacy-home{position:relative;isolation:isolate;}
.legacy-home::before,.legacy-home::after{content:"";position:absolute;width:min(45vw,560px);aspect-ratio:4/5;background:var(--maroon);mask:url('assets/fp-silhouette.svg') center/contain no-repeat;-webkit-mask:url('assets/fp-silhouette.svg') center/contain no-repeat;opacity:.035;pointer-events:none;z-index:-1;}
.legacy-home::before{left:0;top:6%;rotate:-12deg;}
.legacy-home::after{right:0;bottom:5%;rotate:12deg;width:min(32vw,430px);}
.legacy-home>header,.legacy-scroll{position:relative;z-index:1;}
.closing-image.is-revealed .closing-label{top:89%;opacity:1;}
@supports (mask-image:url('assets/fp-silhouette.svg')) or (-webkit-mask-image:url('assets/fp-silhouette.svg')){
 .closing-image.is-revealed .closing-photo{--fp-outside:0;width:66%;height:66%;}
 .closing-image.is-revealed .closing-photo::after{opacity:1;}
}
@media(max-width:809px),(max-width:1000px) and (max-height:500px){
 .spirit-home .morph-hero{--hero-card:min(82vw,calc((100svh - 180px)*.66),380px);--hero-gap:68px;}
 .spirit-home .morph-hero .hero-pin{position:sticky;top:0;display:block;height:100svh;overflow:clip;}
 .spirit-home .morph-card .polaroid-picture img{object-fit:cover;object-position:50% 56%;}
 .spirit-home .morph-row{position:absolute;inset:0 auto 0 0;max-width:none;width:max-content;height:100%;overflow:visible;padding:0 max(26px,calc((var(--hero-viewport,100vw) - var(--hero-card))/2));touch-action:pan-y;}
 .spirit-home .morph-cycle{height:100%;display:flex;align-items:center;gap:var(--hero-gap);padding-right:var(--hero-gap);}
 .spirit-home .morph-side-card{touch-action:pan-y;}
 .spirit-home .morph-side-card .photo-paper{will-change:auto;filter:drop-shadow(1px 5px 5px #24091825);}
 .spirit-home .morph-hero .hero-tools{left:22px;right:22px;bottom:max(22px,env(safe-area-inset-bottom));font-size:10px;}
 .spirit-home .morph-hero .motion-toggle{display:none;}
 .spirit-home .shop{display:block;}
 .spirit-home .shop-photo-pin{display:none;}
 .spirit-home .shop-item{height:auto;min-height:0;padding:64px 24px 70px;}
 .spirit-home .shop-content{width:100%;max-width:480px;}
 .spirit-home .product-polaroid{width:min(82vw,320px);max-width:none;margin-bottom:30px;}
 .spirit-home .shop-content h2{font-size:clamp(28px,7vw,38px);}
 .spirit-home .shop-content>p{max-width:340px;font-size:16px;line-height:1.5;}
 .spirit-home .buy{max-width:360px;min-height:56px;font-size:20px;}
 .spirit-home .collection-pricing{gap:9px;margin-top:20px;}
 .spirit-home .collection-price{font-size:30px;}
 .spirit-home .collection-pricing>span{font-size:11px;}
 .spirit-home .shop-content>small{font-size:11px;}
 .story-pin,.product-page .story-pin{position:sticky;top:0;height:100svh;min-height:0;max-height:none;overflow:clip;}
 .story-track,.product-page .story-track{--mobile-story-card:min(80vw,calc((100svh - 180px)*.66),350px);position:relative;display:flex;width:max-content;height:100%;align-items:center;gap:48px;padding:0 max(24px,calc((100vw - var(--mobile-story-card))/2));touch-action:pan-y;}
 .story-card,.product-page .story-card{width:var(--mobile-story-card);flex:0 0 var(--mobile-story-card);touch-action:pan-y;}
 .story-card .photo-paper{will-change:auto;filter:drop-shadow(1px 5px 5px #24091825);}
 .type-wall{top:12%;opacity:.3;}
 .type-wall>div{font-size:70px;}
 .gallery-tools{position:absolute;left:18px;right:18px;bottom:max(22px,env(safe-area-inset-bottom));width:auto;display:flex;flex-direction:column;gap:9px;margin:0;padding:0;font-size:9px;line-height:1.5;}
 .gallery-tools>div{gap:18px;margin:0;}
 .gallery-tools button:not(.motion-toggle){width:40px;height:40px;}
 .gallery-tools .motion-toggle{display:none;}
 .legacy-scroll,.contact-page .contact-collage{height:calc(100svh + var(--stack-count,3)*72svh);min-height:0;width:100%;margin:0;}
 .legacy-stage,.contact-page .contact-collage .contact-stack-stage{position:sticky;top:8svh;display:block;height:84svh;min-height:0;max-height:none;width:100%;max-width:480px;margin:0 auto;padding:0;overflow:clip;isolation:isolate;}
 .legacy-stage .stack-card,.contact-page .contact-collage .stack-card{position:absolute;left:50%;top:50%;width:min(78%,340px,calc((100svh - 170px)*.62));max-width:none;margin:0;flex:none;transform:translate(-50%,-50%) translate(var(--stack-x),var(--stack-y)) rotate(var(--stack-angle)) scale(var(--stack-scale));transition:none;touch-action:pan-y;}
 .photo-stack-controls{display:none;}
 .contact-page .contact-pennant-one{width:30%;right:1%;top:3%;}
 .contact-page .contact-pennant-two{width:25%;left:1%;bottom:5%;}
 .contact-page .contact-fp{right:5%;bottom:6%;}
 .legacy-home h2{font-size:clamp(33px,9vw,48px);}
 .legacy-home header p{font-size:14px;max-width:310px;}
 .legacy-home::before{width:66vw;top:12%;opacity:.05;}
 .legacy-home::after{width:42vw;bottom:5%;opacity:.04;}
 .spirit-home .closing-images{display:grid;grid-template-columns:1fr;height:auto;min-height:0;}
 .closing-images .closing-image{width:100%;height:min(122vw,620px);min-height:390px;}
 .closing-images .closing-label{max-width:86%;font:700 18px/1.25 var(--display);padding:10px 14px;border-radius:5px;}
 .spirit-home .closing-images::after{bottom:2%;}
 .site-menu-content nav>a{min-height:80px;font-size:clamp(32px,9vw,60px);}
 .athletics-footer-bottom{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:22px 12px;}
 .athletics-footer-bottom .footer-policies{grid-column:1/-1;grid-row:2;justify-content:flex-start;font-size:11px;line-height:1.7;}
 .athletics-footer-bottom .footer-credit{grid-column:2;grid-row:1;text-align:right;}
 .cookie-notice{max-height:45svh;overflow:auto;}
}
@media(max-width:360px){.menu-brand-copy strong{font-size:11px;}.menu-brand-copy{font-size:7px;}.site-menu-content{padding-inline:18px;}.menu-actions{gap:3px;}.menu-bag{padding:9px 8px;}}
@media(prefers-reduced-motion:reduce){.closing-image.is-revealed .closing-photo,.closing-label{transition:none;}}

/* The bag remains a centered, independently scrolling panel inside the viewport. */
#bag-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;inline-size:min(650px,calc(100vw - 24px));max-inline-size:calc(100vw - 24px);min-inline-size:0;max-height:calc(100svh - 24px);max-block-size:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
#bag-dialog .bag-row{grid-template-columns:85px minmax(0,1fr) 65px;}
#bag-dialog .bag-row>*{min-width:0;max-width:100%;}
#bag-dialog .bag-row h3,#bag-dialog .bag-row p,#bag-dialog .bag-price{overflow-wrap:anywhere;}
#bag-dialog .mockup-object,#bag-dialog svg{max-width:100%;}
#bag-dialog input,#bag-dialog select{font-size:16px;}
#bag-dialog .shipping-estimate-fields{grid-template-columns:repeat(2,minmax(0,1fr));}
#bag-dialog .shipping-estimate label{min-inline-size:0;}
#bag-dialog .bag-edit input{min-width:0;min-height:44px;padding:10px 4px;line-height:1.2;}
#bag-dialog .bag-edit button{min-height:44px;font-size:11px;}
#bag-dialog .close{width:44px;height:44px;top:12px;right:12px;}
#bag-dialog .purchase-policy{border-top:1px solid #e1d5db;margin-top:25px;padding-top:23px;}
#bag-dialog .purchase-policy h3{font:750 19px/1.3 var(--body);margin:0 0 12px;}
#bag-dialog .purchase-policy>p{font:12px/1.8 var(--body);color:#67545e;margin:0 0 14px;}
#bag-dialog .purchase-policy a{color:var(--maroon);text-decoration:underline;text-underline-offset:3px;}
#bag-dialog .purchase-policy .policy-rights{font-size:11px;}
#bag-dialog .purchase-agreement{display:flex;gap:12px;align-items:flex-start;padding:12px 0;font:600 12px/1.7 var(--body);cursor:pointer;}
#bag-dialog .purchase-agreement input{appearance:auto;flex:0 0 21px;width:21px;height:21px;padding:0;margin:1px 0 0;accent-color:var(--maroon);}
#bag-dialog .purchase-agreement input:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
#bag-dialog #purchase-agreement-status{font-size:11px;margin-top:8px;}
@media(max-width:550px){
 #bag-dialog{padding:48px 16px 24px;border-radius:16px;}
 #bag-dialog .bag-row{grid-template-columns:60px minmax(0,1fr) 60px;gap:10px;}
 #bag-dialog .bag-row h3{font-size:14px;line-height:1.35;}
 #bag-dialog .shipping-estimate{padding:16px;}
}
/* Reduced motion presents each photograph in document order, with no mobile slider. */
@media(prefers-reduced-motion:reduce) and (max-width:809px), (prefers-reduced-motion:reduce) and (max-width:1000px) and (max-height:500px){
 .spirit-home .morph-hero{height:auto!important;}
 .spirit-home .morph-hero .hero-pin{position:relative;height:auto;display:flex;flex-direction:column;overflow:visible;}
 .spirit-home .morph-card{position:relative!important;inset:auto!important;order:-1;width:100%!important;height:100svh!important;flex:0 0 100svh;transform:none!important;}
 .spirit-home .morph-row{position:relative;inset:auto;width:100%;height:auto;padding:35px 24px;overflow:visible;transform:none!important;opacity:1!important;}
 .spirit-home .morph-cycle{display:grid;gap:35px;height:auto;width:100%;padding:0;}
 .spirit-home .morph-slot{display:none;}
 .spirit-home .morph-side-card{width:min(100%,350px);margin:auto;translate:none;transform:none!important;}
 .spirit-home .morph-hero .hero-tools{display:none;}
 .story-scroll,.legacy-scroll,.contact-page .contact-collage{height:auto!important;min-height:0;}
 .story-pin,.product-page .story-pin,.legacy-stage,.contact-page .contact-collage .contact-stack-stage{position:relative;top:auto;height:auto;min-height:0;max-height:none;overflow:visible;padding:35px 0;}
 .story-track,.product-page .story-track{display:grid;gap:35px;width:100%;height:auto;padding:0 24px;transform:none!important;}
 .story-card,.product-page .story-card{width:min(100%,350px);margin:auto;}
 .legacy-stage,.contact-page .contact-collage .contact-stack-stage{display:grid;gap:35px;}
 .legacy-stage .stack-card,.contact-page .contact-collage .stack-card{position:relative;left:auto;top:auto;width:min(100%,340px);margin:auto;transform:none!important;opacity:1!important;}
 .gallery-tools,.type-wall{display:none;}
}

@media(max-width:809px),(max-width:1000px) and (max-height:500px){
 .legacy-stage .legacy-home-card:hover,.legacy-stage .legacy-home-card:focus-visible{z-index:var(--stack-layer,1);}
}
@media(max-height:600px){
 .spirit-home .morph-hero{--hero-card:min(66vw,calc((100svh - 120px)*.68),360px);--hero-gap:56px;}
 .story-track,.product-page .story-track{--mobile-story-card:min(68vw,calc((100svh - 120px)*.68),330px);}
}
