/* Reference-led redesign: variance 5, motion 3, density 4. Existing light brand palette retained.
   Anton for display, League Spartan for bold copy, Montserrat for the seasonal caption.
   Radius scale: 32px panels, 44px photos, existing rounded controls. */
@font-face{font-family:Anton;src:url('/fonts/anton.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'League Spartan';src:url('/fonts/league-spartan.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Montserrat;src:url('/fonts/montserrat.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
:root{--seasonal-yellow:#f6c127;--seasonal-olive:#b4a820;--seasonal-orange:#e96b20;--seasonal-pink:#f59d98}
.seasonal-storefront::before{display:none}
.seasonal-storefront .site-page{max-width:none;overflow:clip}
.seasonal-storefront .header{min-height:80px;height:80px;padding-block:10px;background:#f6eee1}
.seasonal-storefront .header .brand-logo{width:210px;height:60px;object-fit:contain}
.seasonal-hero{position:relative;isolation:isolate;display:grid;place-items:center;min-height:440px;aspect-ratio:1.94;width:100%;max-height:850px;overflow:hidden}
.seasonal-hero picture{position:absolute;inset:0;z-index:-1}
.seasonal-hero picture img{width:100%;height:100%;object-fit:cover;object-position:center}
.seasonal-hero-copy{width:100%;padding:28px 24px;text-align:center;transform:translateY(-3%)}
.seasonal-hero h1{margin:0 0 10px;font:400 clamp(42px,5.2vw,86px)/1.18 Anton,Impact,sans-serif;text-transform:uppercase;color:var(--seasonal-yellow);letter-spacing:-.015em;text-wrap:balance}
.seasonal-subtitle{margin:0;font:700 clamp(20px,2.25vw,34px)/1.14 'League Spartan',Arial,sans-serif;text-transform:uppercase;color:var(--seasonal-orange);text-wrap:balance}
.seasonal-caption{max-width:1050px;margin:7px auto 0;font:500 clamp(13px,1.15vw,18px)/1.5 Montserrat,Arial,sans-serif;text-transform:uppercase;color:#a74157;text-wrap:balance}
.seasonal-promises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;background:#fbe9e6;border-block:1px solid var(--line)}
.seasonal-promises>div{display:flex;align-items:center;justify-content:center;gap:22px;padding:30px 20px;min-height:140px}
.seasonal-promises>div+div{border-left:1px solid var(--line)}
.seasonal-promises img{width:68px;height:86px;object-fit:contain;filter:drop-shadow(0 3px 3px #cfb8a455);flex-shrink:0}
.seasonal-promises strong{font:700 clamp(18px,1.9vw,30px)/1.14 'League Spartan',Arial,sans-serif;color:#a97b00;max-width:290px}
.seasonal-storefront .collection{padding-top:80px}
.seasonal-storefront .collection-intro{max-width:1120px;margin:0 0 56px;padding:64px 48px 44px;border-radius:32px;background:#fcebe7;box-shadow:none}
.seasonal-storefront .collection-intro .section-heading{display:block;text-align:left;margin-bottom:24px}
.seasonal-storefront .collection-intro h2{font:400 clamp(34px,4.15vw,64px)/1.2 Anton,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.02em;color:var(--seasonal-olive);margin:0}
.seasonal-storefront .collection-search{max-width:none}
.seasonal-storefront .filters{justify-content:flex-start}
.shop-the-look{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,2fr);gap:34px;max-width:1600px;margin:0 auto;padding:80px 40px 100px;scroll-margin-top:100px}
.look-heading h2{font:400 clamp(52px,7.5vw,118px)/1.17 Anton,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.02em;color:var(--seasonal-olive);margin:0 0 28px;max-width:4.2em}
.look-heading p{font:700 clamp(24px,2.65vw,40px)/1.17 'League Spartan',Arial,sans-serif;color:var(--seasonal-orange);margin:0;max-width:13em}
.look-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start;min-width:0}
.look-photo{position:relative;min-width:0;margin:0;aspect-ratio:5/7;border:7px solid var(--seasonal-olive);border-radius:44px;background:#fcebe7}
.look-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;border-radius:36px}
.look-point{position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%);width:clamp(44px,4vw,62px);height:clamp(44px,4vw,62px);border-radius:50%;border:1px solid #5a482d;background:#fffaf4;color:#b97514;font:400 36px/1 Arial,sans-serif;text-decoration:none;box-shadow:0 2px 0 #5a482d;z-index:1;transition:background .15s,box-shadow .15s}
.look-point:hover,.look-point:focus-visible{background:#fff0c5;box-shadow:0 0 0 4px #f6c12780;z-index:2}
.look-point:focus-visible{outline:3px solid #422f0e;outline-offset:4px}
.look-point-label{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);width:max-content;max-width:190px;white-space:normal;font:500 14px/1.3 var(--font-geist-sans),Arial,sans-serif;text-align:center;padding:8px 12px;background:#fffaf4;border:1px solid #705f54;border-radius:8px;color:#422f0e;visibility:hidden;pointer-events:none}
.look-point:hover .look-point-label,.look-point:focus-visible .look-point-label{visibility:visible}
.look-fallback{display:block;padding:8px}
/* The category label uses Geist Local. Match that family on product descriptions and legal links. */
.product-card .product-info>small,.product-detail-description,.product-detail-copy .product-legal-link{font-family:var(--font-geist-sans),Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.6;letter-spacing:.015em;text-transform:none}
.product-detail-copy .product-legal-link{margin-top:20px}
.auth-page .auth-brand{width:min(340px,80vw);height:auto;margin:0 auto 28px}
.auth-page .auth-brand img{display:block;width:100%;height:auto;max-height:125px;object-fit:contain}
@media(min-width:1600px){.seasonal-storefront .collection{max-width:1520px;margin-inline:auto}}
@media(max-width:1100px){.seasonal-promises>div{gap:14px;padding:24px 16px}.seasonal-promises img{width:54px;height:70px}.shop-the-look{grid-template-columns:1fr;padding:64px 30px}.look-heading h2{max-width:none;font-size:70px;margin-bottom:14px}.look-heading p{max-width:none}.look-photo{max-width:640px}.seasonal-storefront .header .brand-logo{width:170px}}
@media(max-width:767px){.seasonal-storefront .header{height:72px;min-height:72px;padding-block:8px}.seasonal-storefront .header .brand-logo{width:150px;height:48px}.seasonal-hero{aspect-ratio:auto;min-height:560px;height:calc(88svh - 72px);max-height:740px}.seasonal-hero-copy{padding:24px 18px;transform:translateY(-42%)}.seasonal-hero h1{font-size:clamp(36px,8.6vw,58px);margin-bottom:16px}.seasonal-subtitle{font-size:23px;line-height:1.18}.seasonal-caption{font-size:12px;line-height:1.5;margin-top:12px}.seasonal-promises{grid-template-columns:1fr;padding:12px 20px}.seasonal-promises>div{justify-content:flex-start;gap:20px;min-height:88px;padding:12px 8px}.seasonal-promises>div+div{border-left:0;border-top:1px solid var(--line)}.seasonal-promises img{width:46px;height:60px}.seasonal-promises strong{font-size:24px;max-width:none}.seasonal-storefront .collection{padding-top:36px}.seasonal-storefront .collection-intro{padding:32px 22px;margin-bottom:32px;border-radius:24px}.seasonal-storefront .collection-intro h2{font-size:36px}.shop-the-look{padding:50px 20px 64px;gap:28px}.look-heading h2{font-size:62px;line-height:1.16}.look-heading p{font-size:28px}.look-gallery{grid-template-columns:1fr;gap:28px}.look-photo{border-width:5px;border-radius:32px}.look-photo>img{border-radius:26px}.look-point{width:44px;height:44px;font-size:30px}.product-detail-copy .product-legal-link{font-size:13px}}
@media(prefers-reduced-motion:reduce){.look-point{transition:none}}
