@import url('dialogs.css');
@import url('closing.css');
@import url('photos.css');
@font-face{font-family:Antonio;src:url('assets/antonio.woff2') format('woff2');font-weight:100 700;font-display:swap}
:root{--maroon:#870127;--gold:#f8bd19;--ink:#211b1e;--cream:#f8f4eb;--first:1200px;--scene:1480px;--display:Antonio,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--maroon);color:white;font-family:var(--display);overflow-x:clip}body.modal-open{overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,h3,p,figure{margin:0}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:fixed;top:-80px;left:20px;background:white;color:var(--maroon);padding:15px;z-index:100}.skip:focus{top:10px}
.mini-brand{position:fixed;z-index:40;top:22px;left:50%;transform:translateX(-50%);opacity:0;pointer-events:none;transition:opacity .3s}.mini-brand img{width:52px;height:65px;object-fit:contain;filter:drop-shadow(0 1px 5px #3a052066)}.mini-brand.shown{opacity:1;pointer-events:auto}.bag-open{position:fixed;bottom:18px;right:20px;z-index:45;background:white;color:var(--maroon);border:0;border-radius:4px;padding:11px 17px;font-size:15px;box-shadow:0 2px 8px #0001}.bag-open span{margin-left:12px}
/* The opening viewport, the sideways hero, and staggered photos follow Valli's structure. */
.hero-scroll{height:140.315vh;position:relative;z-index:8}.hero-pin{height:100vh;position:sticky;top:0;overflow:clip}.hero-track{height:100%;width:calc(var(--first) + var(--scene));display:flex;will-change:transform}.hero-first{width:var(--first);flex:0 0 var(--first);height:100%;position:relative}.hero-color{position:absolute;inset:0 auto 0 0;width:55%;background:#d6a82c}.hero-person{position:absolute;left:0;bottom:0;width:55%;height:100%;object-fit:contain;object-position:center bottom;z-index:10;pointer-events:none}.hero-first h1{position:absolute;left:44%;top:5%;width:49%;height:82%;z-index:9;pointer-events:none}.hero-first h1 img{width:100%;height:100%;object-fit:contain}.hero-label{position:absolute;left:30px;bottom:30px;z-index:11;font-size:25px;line-height:1.05;letter-spacing:1px;text-shadow:0 2px 12px #23041566}.hero-slogan{position:absolute;left:58%;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:120px;line-height:1.4;letter-spacing:-2.4px;color:#ffffff30;z-index:1}.hero-second{width:var(--scene);flex:0 0 var(--scene);height:100%;position:relative;overflow:clip}.hero-loop-track{display:flex;width:calc(var(--scene) * 2);height:100%;will-change:transform}.hero-photo-group{position:relative;width:var(--scene);flex:0 0 var(--scene);height:100%}
.polaroid{appearance:none;border:0;background:#fff;color:var(--ink);padding:16px;text-align:left;position:relative;box-shadow:0 9px 24px #25051b22;transform-origin:center;transition:box-shadow .25s;touch-action:pan-y}.polaroid:hover{box-shadow:0 17px 40px #25051b3b}.polaroid-picture{display:block;overflow:hidden;background:#efece5}.polaroid-picture img{width:100%;height:100%;object-fit:cover;object-position:center 31%;user-select:none}.polaroid-caption{display:block;margin:17px 0 10px;font-size:23px;line-height:1.15;letter-spacing:-.2px;padding-right:28px}.polaroid-caption small{display:block;font-size:13px;letter-spacing:.3px;opacity:.58;margin-top:6px}.polaroid-number{position:absolute;right:16px;bottom:32px;font-size:13px;opacity:.45}.float-card{position:absolute;width:268px;z-index:12;will-change:transform,opacity}.float-card .polaroid-picture{width:236px;height:190px}.float-1{left:58.8%;top:64%}.float-2{left:75%;top:12%}.float-3{left:9.3%;top:29.6%}.float-4{left:38.2%;top:9.3%}.float-5{left:59.5%;top:54%}.float-6{left:80.5%;top:27%}.scribble{position:absolute;width:475px;height:220px;color:white;opacity:.93;pointer-events:none;z-index:2}.hero-first>.scribble{left:86%;bottom:9%}.hero-second>.scribble{left:65%;bottom:3%;width:290px;transform:rotate(-18deg)}.sport{position:absolute;z-index:13;will-change:transform;pointer-events:none}.sport img{width:100%;height:100%;object-fit:contain}.sport-a{width:210px;left:1%;top:3%;transform:rotate(-10deg)}.sport-b{width:235px;left:35%;top:79%;transform:rotate(9deg)}.hero-tools{position:absolute;bottom:22px;left:32px;right:95px;z-index:20;display:flex;gap:25px;align-items:center;font-size:11px;letter-spacing:1.5px}.hero-tools>span:first-child{margin-left:auto}.motion-toggle{border:0;background:#ffffff14;color:inherit;padding:8px 12px;font-size:10px;letter-spacing:1px;border-radius:3px}.motion-toggle:hover{background:#ffffff30}.hero-progress{width:100px;height:2px;background:#ffffff38;overflow:hidden}.hero-progress i{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
/* Four matching garment scenes, with the campaign photograph pinned on the right. */
.shop{display:grid;grid-template-columns:1fr 1fr;position:relative;isolation:isolate}.shop-products{grid-column:1}.shop-item{height:100vh;min-height:730px;display:flex;align-items:center;justify-content:center}.shop-content{width:60%;max-width:430px;text-align:center;display:flex;flex-direction:column;align-items:center}.product-kicker{font-size:11px;letter-spacing:2px;opacity:.6;margin-bottom:20px}.product-polaroid{width:274px;rotate:-3deg;margin-bottom:30px;padding:14px;transition:rotate .35s,transform .35s}.shop-item:nth-child(even) .product-polaroid{rotate:3deg}.product-polaroid:hover{rotate:0deg;transform:translateY(-5px)}.product-polaroid .polaroid-picture{height:290px;background:#f4f1e8}.product-polaroid .shop-model{object-fit:contain;object-position:center bottom}.product-polaroid .polaroid-caption{font-size:17px;margin:13px 0 5px;padding:0;white-space:nowrap}.product-polaroid .polaroid-caption small{font-size:10px;letter-spacing:1px}.shop-content h2{font-size:28px;font-weight:400;line-height:1.2;margin-bottom:12px}.shop-content>p{font-size:18px;line-height:1.2;color:#ffffffb3;max-width:404px}.buy{width:100%;height:72px;background:#ffffff1a;color:white;border:1px solid #ffffff66;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;gap:24px;margin-top:28px;transition:background .3s,color .3s}.buy:hover{background:var(--gold);color:var(--maroon)}.buy span{font:24px system-ui,sans-serif}.shop-content>small{font-size:12px;opacity:.6;margin-top:12px}.shop-photo-pin{grid-column:2;grid-row:1;height:100vh;position:sticky;top:0;overflow:clip;background:var(--maroon);align-self:start}.shop-photo{position:absolute;inset:6% 5%;padding:20px 20px 0;background:white;color:var(--ink);rotate:2deg;opacity:0;translate:0 25px;transition:opacity .55s,translate .55s,rotate .55s;box-shadow:0 25px 60px #1f011d40;pointer-events:none}.shop-photo:nth-child(even){rotate:-2deg}.shop-photo.active{opacity:1;translate:0 0;z-index:2}.shop-photo>img{width:100%;height:calc(100% - 76px);object-fit:cover;object-position:center 32%}.shop-photo figcaption{height:76px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;letter-spacing:.5px}.shop-photo figcaption>span{opacity:.5;font-size:11px}.shop-photo strong{font-weight:400;font-size:23px}
/* The photo roll retains the reference's pinned sideways motion and opposing type wall. */
.story-scroll{height:260vh;position:relative}.story-pin{position:sticky;top:0;height:100vh;overflow:clip}.story-track{display:flex;align-items:center;gap:140px;padding:0 120px;height:100%;width:max-content;will-change:transform;position:relative;z-index:2;cursor:grab;touch-action:pan-y;user-select:none}.story-track.dragging{cursor:grabbing}.story-card{flex:0 0 400px;width:400px;padding:24px;will-change:transform}.story-card .polaroid-picture{width:352px;height:395px}.story-card .polaroid-caption{font-size:26px;margin:24px 0 12px}.story-card .polaroid-caption small{font-size:16px}.story-card .polaroid-number{right:24px;bottom:40px;font-size:14px}.type-wall{position:absolute;top:12%;left:-3900px;width:max-content;will-change:transform;color:#f8bd1945;pointer-events:none}.type-wall div{font-size:120px;line-height:1.18;white-space:nowrap;font-weight:500;min-width:10000px}.type-wall div:nth-child(even){translate:-350px 0}.gallery-tools{position:absolute;bottom:30px;left:5%;right:5%;z-index:5;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:1px}.gallery-tools>div{display:flex;align-items:center;gap:18px}.gallery-tools button:not(.motion-toggle){width:38px;height:38px;border:1px solid #ffffff44;border-radius:50%;background:transparent;color:white;font:17px system-ui,sans-serif}.gallery-tools button:hover{background:#ffffff20}.gallery-count{font-size:13px;min-width:45px}
footer{height:420px;background:white;color:var(--maroon);display:flex;flex-direction:column;justify-content:center;overflow:hidden}.footer-marquee{overflow:hidden;width:100%}.footer-marquee>div{display:flex;align-items:center;gap:30px;white-space:nowrap;width:max-content;font-size:52px;animation:credits 35s linear infinite}.footer-marquee img{width:180px;height:70px;object-fit:contain}.footer-note{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:14px;opacity:.65;padding:70px 5% 0}@keyframes credits{to{transform:translateX(-35%)}}
@media(min-width:1600px){:root{--first:100vw;--scene:110vw}.hero-person{width:55%}.hero-first h1{width:52%}.float-card{width:300px}.float-card .polaroid-picture{width:268px;height:215px}}
@media(max-width:1199px) and (min-width:810px){:root{--first:100vw;--scene:1480px}.shop-content{width:76%}.product-polaroid{width:248px}.product-polaroid .polaroid-picture{height:265px}.story-track{gap:100px;padding:0 80px}.story-card{width:360px;flex-basis:360px}.story-card .polaroid-picture{width:312px;height:360px}.shop-photo{inset:9% 4%;padding:14px 14px 0}.shop-photo strong{font-size:21px}.shop-photo figcaption>span{display:none}}
@media(max-width:809px){:root{--first:100vw;--scene:210vw}.hero-scroll{height:180vh}.hero-person{width:77vw;height:87%;left:-14vw}.hero-color{width:55vw}.hero-first h1{left:43%;top:10%;width:54%;height:65%}.hero-label{font-size:19px;left:17px;bottom:65px}.hero-slogan{font-size:64px;left:57%;top:51%;letter-spacing:-1px}.float-card{width:170px;padding:12px}.float-card .polaroid-picture{width:146px;height:145px}.float-card .polaroid-caption{font-size:17px;margin:13px 0 6px;padding-right:15px}.float-card .polaroid-caption small{font-size:10px;line-height:1.3}.float-card .polaroid-number{right:12px;bottom:27px;font-size:10px}.float-1{left:59%;top:66%}.float-2{left:64%;top:15%}.float-3{left:5%;top:35%}.float-4{left:29%;top:8%}.float-5{left:54%;top:65%}.float-6{left:77%;top:28%}.hero-first>.scribble{width:45vw;left:70%;bottom:11%}.hero-second>.scribble{left:45%;bottom:3%;width:50vw}.sport-a{width:110px;left:6%;top:8%}.sport-b{width:145px;left:33%;top:78%}.hero-tools{left:15px;right:70px;bottom:20px;font-size:9px;gap:10px;letter-spacing:1px}.hero-tools>span:first-child{margin-left:0}.hero-progress{display:none}.motion-toggle{font-size:9px;padding:7px}.mini-brand{top:16px}.mini-brand img{width:37px;height:47px}.bag-open{bottom:12px;right:12px;font-size:12px;padding:8px 11px}.shop-content{width:86%}.shop-item{height:90vh;min-height:600px}.shop-photo-pin{height:90vh;min-height:600px}.product-kicker{font-size:9px;letter-spacing:1px;margin-bottom:16px}.product-polaroid{width:100%;max-width:210px;padding:10px;margin-bottom:24px}.product-polaroid .polaroid-picture{height:250px}.product-polaroid .polaroid-caption{font-size:13px;white-space:normal}.product-polaroid .polaroid-caption small{font-size:8px}.shop-content h2{font-size:22px}.shop-content>p{font-size:14px;line-height:1.3}.buy{height:55px;font-size:19px;gap:15px;margin-top:24px}.shop-content>small{font-size:10px;line-height:1.4}.shop-photo{inset:14% 5%;padding:9px 9px 0;rotate:1deg}.shop-photo>img{height:calc(100% - 56px);object-position:center 30%}.shop-photo figcaption{height:56px;justify-content:center;text-align:center}.shop-photo figcaption>span{display:none}.shop-photo strong{font-size:19px}.story-scroll{height:340vh}.story-track{gap:55px;padding:0 40px}.story-card{width:280px;flex-basis:280px;padding:16px}.story-card .polaroid-picture{width:248px;height:320px}.story-card .polaroid-caption{font-size:22px;margin:20px 0 10px}.story-card .polaroid-caption small{font-size:13px}.story-card .polaroid-number{right:16px;bottom:33px;font-size:12px}.type-wall{top:15%;left:-3200px}.type-wall div{font-size:85px;line-height:1.25}.gallery-tools{bottom:25px;font-size:10px;letter-spacing:.5px;display:block;text-align:center}.gallery-tools>div{justify-content:center;gap:16px;margin-top:14px}.gallery-tools button:not(.motion-toggle){width:32px;height:32px}.footer-marquee>div{font-size:35px;gap:20px}.footer-marquee img{width:130px;height:45px}footer{height:300px}.footer-note{font-size:11px;padding-top:45px;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-scroll{height:auto}.hero-pin{height:auto;position:relative;overflow-x:auto}.hero-track{transform:none!important}.hero-first,.hero-second{height:100svh}.hero-loop-track{transform:none!important}.hero-tools{display:none}.float-card{opacity:1!important;transform:none!important}.hero-photo-group[aria-hidden],.story-copy{display:none}.story-scroll{height:auto}.story-pin{position:relative;height:100svh;overflow-x:auto}.story-track{transform:none!important;gap:30px}.type-wall{transform:none!important}.mini-brand{opacity:1;pointer-events:auto}.motion-toggle{display:none}.gallery-tools{pointer-events:none}.gallery-tools button{pointer-events:auto}}

/* Physical instant-film prints. Motion acts on the button; hover acts on the paper itself. */
@font-face{font-family:Caveat;src:url('assets/caveat.ttf') format('truetype');font-weight:400 700;font-display:swap}
.polaroid{padding:0;background:transparent;box-shadow:none;isolation:isolate}
.polaroid:hover{box-shadow:none}
.photo-paper{display:block;position:relative;width:100%;aspect-ratio:4/5;transform:rotate(var(--paper-angle,0deg));transform-origin:center;filter:drop-shadow(1px 3px 2px #24091828) drop-shadow(4px 13px 10px #24091822);transition:transform .45s cubic-bezier(0,.68,.56,1),filter .45s;will-change:transform}
.photo-paper:after{content:"";position:absolute;inset:0;z-index:2;background:url('assets/instant-film-frame.png') center/100% 100% no-repeat;pointer-events:none}
.polaroid .polaroid-picture,.float-card .polaroid-picture,.product-polaroid .polaroid-picture,.story-card .polaroid-picture{position:absolute;left:8.45%;top:9.25%;width:83.1%;height:66.55%;margin:0;background:#e9e3d8;z-index:1;overflow:hidden}
.polaroid-picture:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,#ffffff09 0%,transparent 45%,#ffffff0a 65%,#17091904 100%);box-shadow:inset 0 0 2px #0002}
.polaroid .polaroid-caption,.float-card .polaroid-caption,.product-polaroid .polaroid-caption,.story-card .polaroid-caption{position:absolute;left:9%;right:9%;top:79%;padding:0;margin:0;z-index:3;font-family:Caveat,cursive;font-size:25px;font-weight:600;letter-spacing:0;line-height:.95;color:#2e2824;white-space:normal}
.polaroid-caption small,.float-card .polaroid-caption small,.product-polaroid .polaroid-caption small,.story-card .polaroid-caption small{font-family:Antonio,sans-serif;font-weight:400;font-size:10px;letter-spacing:.6px;line-height:1.1;opacity:.55;margin-top:8px}
.float-card{padding:0}
.float-1,.float-3,.float-5{--paper-angle:-1.3deg;--hover-angle:-3deg}
.float-2,.float-4,.float-6{--paper-angle:1.3deg;--hover-angle:3deg}
.float-card:hover .photo-paper,.float-card:focus-visible .photo-paper{transform:rotate(var(--hover-angle)) scale(1.1)}
.product-polaroid{padding:0;box-shadow:none;margin-bottom:30px}
.product-polaroid:hover{transform:none;rotate:0deg}
.product-polaroid .polaroid-picture{background:linear-gradient(135deg,#eee9df,#dedbd3)}
.product-polaroid .polaroid-picture img{object-fit:cover;object-position:center top}
.product-polaroid .polaroid-caption{font-size:22px}
.product-polaroid:hover .photo-paper{transform:rotate(1deg) scale(1.04)}
.story-card{padding:0}
.story-card .photo-paper{transition:transform .45s cubic-bezier(.01,.72,.56,1)}
.story-card:nth-child(3n+1){--paper-angle:-.7deg}
.story-card:nth-child(3n+2){--paper-angle:.7deg}
.story-card .polaroid-caption{font-size:34px}
.story-card .polaroid-caption small{font-size:13px}
.story-card:hover .photo-paper,.story-card:focus-visible .photo-paper{transform:rotate(-5deg)}
/* Campaign photography stays full-height and unframed, as in Valli's product split. */
.shop-photo{inset:0;padding:0;background:transparent;box-shadow:none;rotate:0deg;translate:0 0;transform:none;transition:opacity .6s;overflow:hidden}
.shop-photo:nth-child(even){rotate:0deg}
.shop-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 32%}
.shop-photo figcaption{display:none}
/* The large hero mark morphs into this fixed header mark at the first 60px trigger. */
.mini-brand{left:0;top:0;transform:none;opacity:0;pointer-events:none;transition:none;z-index:40;will-change:left,top,width,height}
.mini-brand img{width:100%;height:100%;object-fit:contain}
.hero-first h1{transform-origin:0 0;will-change:transform,opacity}
@media(max-width:809px){
 .float-card .polaroid-caption{font-size:17px}
 .float-card .polaroid-caption small{font-size:8px;margin-top:5px;letter-spacing:.3px}
 .product-polaroid .polaroid-caption{font-size:16px;white-space:normal}
 .product-polaroid .polaroid-caption small{font-size:8px;margin-top:5px}
 .story-card .polaroid-caption{font-size:26px}
 .story-card .polaroid-caption small{font-size:10px}
 .product-polaroid{padding:0}
 .shop-photo{inset:0;padding:0;rotate:0deg;translate:0 0}
 .shop-photo>img{width:100%;height:100%;object-position:center 30%}
}
@media(prefers-reduced-motion:reduce){.photo-paper{transform:none!important}.hero-first h1{transform:none!important}}

.float-1{top:78%}.float-2{top:25%}
.photo-paper:after{clip-path:inset(4.15% 2.25% 4% 2.25% round 1.1%)}
.mini-brand img{filter:none}

.spirit-home footer{height:auto;min-height:180px;padding:35px 0}.spirit-home .footer-note{padding:0 5%;align-items:center}
@media(max-width:809px){.spirit-home footer{min-height:160px;padding:30px 0}}
