/* Modern storefront: generous type, tactile controls, and the full campaign portrait. */
:root{--navy:#182139;--paper:#fbf9f6;--muted:#656773;--line:#e3dfdc;--pink:#f0c9d2;--sans:'DM Sans',Arial,sans-serif}
html{scroll-padding-top:132px}
body{font-size:15px;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
.announcement{min-height:38px;letter-spacing:1px;font-size:10px;background:#182139}
.announcement a{font-weight:600}
.header{position:sticky;top:12px;z-index:15;height:88px;width:calc(100% - 64px);max-width:1320px;margin:16px auto 0;padding:0 28px;background:#fbf9f6f2;border:1px solid #e3dfdccc;border-radius:22px;backdrop-filter:blur(18px);box-shadow:0 6px 30px #18213905}
.wordmark{font-family:Georgia,serif;font-size:32px;letter-spacing:5px;color:var(--navy)}
.wordmark span{font-size:7px;letter-spacing:1.8px;margin-top:10px}
.header nav{gap:6px;display:flex}
.header nav a{padding:13px 18px;font-size:13px;border-radius:30px;transition:background .2s}
.header nav a:hover{background:#eee8e4;color:var(--navy)}
.bag-button{background:var(--navy);color:white;border-radius:30px;padding:12px 17px;gap:9px;font-size:12px}
.bag-button #bag-count{border:0;background:#ffffff25;min-width:23px;height:23px;font-size:10px}
.bag-button svg{width:18px;height:18px}
.hero{width:calc(100% - 96px);max-width:1280px;margin:36px auto 52px;grid-template-columns:1fr 1.06fr;gap:56px;min-height:0;max-height:none;align-items:center}
.hero-copy{padding:30px 0;min-width:0}
.hero-copy>.eyebrow{font-size:10px;letter-spacing:1.1px;align-self:flex-start;display:flex;align-items:center;gap:8px;background:#f3ece7;padding:10px 14px;border-radius:30px}
.tiny-star{font-size:18px;margin:0;color:#a76879}
.hero h1{font-family:var(--sans);font-size:clamp(56px,6.6vw,96px);font-weight:600;line-height:1.02;letter-spacing:-5px;margin:30px 0 24px}
.hero h1 em{font-family:Georgia,serif;letter-spacing:-5px;font-weight:400;color:#a45c72}
.intro{font-size:17px;line-height:1.8;max-width:360px;color:var(--muted)}
.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:22px;margin-top:32px}
.button{border-radius:40px;font-size:14px;font-weight:500;padding:19px 25px;gap:36px;min-height:56px}
.hero .button{margin:0}
.text-link{display:inline-flex;align-items:center;gap:16px;font-size:13px;border-bottom:1px solid #b8b2b0;padding:0 0 6px}
.text-link:hover{color:#a45c72}
.hero-bottom{display:flex;gap:16px;margin-top:44px;padding-top:28px;border-top:1px solid var(--line);max-width:380px}
.hero-bottom p{font-size:12px;line-height:1.8}
.hero-bottom strong{color:var(--navy);font-weight:500}
.hero-colors{display:flex;padding-left:5px}
.hero-colors i{display:block;width:26px;height:26px;margin-left:-5px;border:2px solid var(--paper);border-radius:50%}
.hero-preview{font-size:11px;line-height:1.7;color:var(--muted);margin-top:18px}
.hero-photo--campaign{width:100%;max-width:560px;min-height:0;aspect-ratio:3/4;border-radius:22px;align-self:center;justify-self:end;box-shadow:0 16px 40px #704b6010}
.hero-photo--campaign img{object-fit:contain;object-position:center;animation:campaign-fade .8s ease-out both}
@keyframes campaign-fade{from{opacity:0}to{opacity:1}}
.ticker{height:58px;background:#f0dce0;border-top:1px solid #ead1d7;border-bottom:1px solid #ead1d7}
.ticker-group{font-weight:500;font-size:10px;letter-spacing:1.7px}
.ticker-group span:nth-child(even){color:#a45c72}
.section{padding:90px max(40px,calc((100vw - 1280px)/2))}
.eyebrow{font-size:10px;letter-spacing:1.6px;color:#73707a}
.section h2{font-family:var(--sans);font-size:clamp(38px,4vw,58px);font-weight:500;line-height:1.08;letter-spacing:-2.5px}
.section h2 em{font-family:Georgia,serif;color:#a45c72;letter-spacing:-2px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px}
.section-heading h2{margin-top:18px}
.section-heading>p{font-size:14px;line-height:1.8;max-width:300px;color:var(--muted)}
.collection-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}
.collection-filters{display:flex;gap:6px;background:#eeeae6;padding:5px;border-radius:40px}
.collection-filters button{padding:12px 19px;border-radius:30px;font-size:12px;min-height:44px;transition:background .2s,color .2s}
.collection-filters button[aria-pressed=true]{background:var(--navy);color:#fff}
.collection-filters span{display:inline-block;margin-left:7px;opacity:.7;font-size:10px}
#collection-count{font-size:11px;color:var(--muted)}
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.product{display:flex;flex-direction:column;min-width:0;background:white;border:1px solid var(--line);border-radius:22px;padding:12px 12px 22px}
.product-photo{aspect-ratio:1/1;overflow:hidden;border-radius:14px;transform:none!important;transition:box-shadow .25s}
.product-photo img{transition:transform .6s}
@media(hover:hover){.product-photo:hover img{transform:scale(1.035)}}
.product-badge{top:14px;left:14px;border-radius:20px;font-size:8px;letter-spacing:1px;padding:9px 12px;background:#fffdf5ed}
.detail-button{width:40px;height:40px;bottom:14px;right:14px;border-radius:50%;background:#fffffff2;font-size:19px}
.product-title{margin:22px 8px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.product-title h3{font-size:16px;font-weight:500;line-height:1.4;letter-spacing:-.4px}
.product-title>span{font-size:15px;white-space:nowrap}
.product-subtitle{font-size:12px;line-height:1.7;margin:8px 8px 0;min-height:41px}
.swatches{margin:18px 8px 22px;height:58px;gap:12px}
.swatches legend{font-size:11px;margin-bottom:12px}
.swatch{width:28px;height:28px;flex:0 0 28px}
.swatch:before{inset:-8px}
.mask-variant{margin:18px 8px 22px;height:58px;font-size:12px}
.add-button{width:calc(100% - 16px);margin:0 8px;border-radius:30px;min-height:48px;padding:13px 19px;font-size:12px;background:#f9f6f3;border-color:#ded9d4}
#patches .add-button{background:var(--chosen,#f3d9e1);border-color:transparent}
.add-button:hover,#patches .add-button:hover{background:var(--navy);color:white}
.product-footnote{margin:14px 8px 0;font-size:10px;line-height:1.7;color:var(--muted)}
.preview-note{font-size:11px;line-height:1.8;max-width:820px;margin-top:24px}
.sets{grid-template-columns:.8fr 1.4fr;gap:55px;background:#182139;align-items:center}
.sets .eyebrow{color:#e8c1ce}
.sets h2{font-size:clamp(42px,4.1vw,62px)}
.sets h2 em{color:#efc9d4}
.sets-intro>p:not(.eyebrow){font-size:14px;color:#c3c8d4}
.set-art{font-size:112px;color:#efc9d4;margin-top:28px}
.set-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.set-row,.set-row:last-child{display:grid;grid-template-columns:1fr;gap:14px;padding:24px;border:1px solid #ffffff26;background:#ffffff05;border-radius:20px;align-content:start}
.set-number{font-size:10px;color:#c9b6c5;letter-spacing:2px;padding:0}
.set-row h3{font-family:var(--sans);font-size:23px;font-weight:500;letter-spacing:-.7px}
.set-row p{font-size:12px;color:#c3c8d4;margin-top:8px;line-height:1.7}
.set-options{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:16px}
.set-options label{font-size:10px;color:#c3c8d4;justify-content:space-between;width:100%}
.set-options select{min-height:36px;font-size:11px;border-radius:8px;padding:6px 10px}
.set-action{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 12px;margin-top:4px}
.old-price{font-size:12px}
.set-action strong{font-size:22px;margin:0;justify-self:end}
.set-action button{grid-column:1/-1;border:1px solid #ffffff40;border-radius:30px;min-height:42px;padding:11px 15px;margin-top:10px;display:flex;justify-content:space-between;font-size:12px;color:#fff}
.set-action button:hover{background:#efc9d4;color:var(--navy)}
.story{position:relative;overflow:hidden;background:#f1e2e1;padding-top:100px;padding-bottom:100px}
.story:before{content:'✧';position:absolute;left:7%;top:75px;font-size:170px;color:#c59ba54a;transform:rotate(-14deg);pointer-events:none}
.story h2{font-size:64px;position:relative;margin:22px 0 26px}
.story p:not(.eyebrow){font-size:15px;max-width:535px;line-height:1.85;color:#585765;position:relative}
.story a{font-size:13px;margin-top:10px}
.faq{grid-template-columns:.8fr 1.4fr;gap:55px}
.faq summary{font-size:15px;padding:25px 0;line-height:1.5}
.faq details p{font-size:14px;line-height:1.85}
footer{padding:65px max(40px,calc((100vw - 1280px)/2)) 24px}
.footer-top{grid-template-columns:1.1fr 1fr .5fr;gap:30px;padding-bottom:54px}
.footer-logo{font-family:Georgia,serif;font-size:46px;letter-spacing:5px;color:#f0dce0}
.footer-top p{font-size:13px;margin-top:13px}
.footer-top .eyebrow{font-size:9px}
.footer-top>div:nth-child(2)>a{font-size:14px}
.footer-links{font-size:13px;gap:18px}
.footer-bottom{font-size:10px;line-height:1.6}
dialog{padding:32px}
.bag-dialog{width:min(510px,100vw);border-radius:22px 0 0 22px}
.dialog-heading h2{font-family:var(--sans);font-size:38px;font-weight:500;letter-spacing:-1.5px}
.bag-preview,.bag-item p{font-size:12px}
.bag-item{padding:24px 0}
.bag-item img{border-radius:10px}
.bag-item h3,.bag-item>strong{font-size:14px}
.quantity button{width:32px;height:32px;border-radius:50%}
.quantity .remove{border-radius:0;font-size:11px}
.summary-line{font-size:14px}
.checkout-disabled{border-radius:30px;font-size:13px}
.summary-note{font-size:12px}
.info-dialog{width:min(520px,calc(100vw - 32px));border-radius:24px}
.info-dialog h2{font-family:var(--sans);font-size:33px;font-weight:500;letter-spacing:-1px;line-height:1.15}
.info-dialog p{font-size:14px;line-height:1.8}
#toast{border-radius:30px;font-size:12px;max-width:calc(100vw - 32px);padding:16px 22px}
@media(min-width:1600px){.hero{max-width:1280px}.header{max-width:1320px}.hero-photo--campaign{min-height:0}}
@media(max-width:1100px){.hero{gap:30px}.hero h1{font-size:66px;letter-spacing:-3.5px}.hero h1 em{letter-spacing:-3px}.hero-copy>.eyebrow{font-size:8px;padding:9px 12px}.intro{font-size:15px}.hero-bottom{margin-top:28px}.sets{grid-template-columns:1fr;gap:35px}.sets-intro{max-width:580px}.set-art{display:none}.set-options{max-width:230px}.product-title{display:block}.product-title>span{display:block;margin-top:7px}.product-subtitle{min-height:61px}.footer-logo{font-size:35px}.footer-top>div:nth-child(2)>a{font-size:12px}}
@media(max-width:700px){
 html{scroll-padding-top:150px}
 .announcement{font-size:9px;min-height:32px;gap:20px}
 .header{top:8px;width:calc(100% - 24px);height:auto;min-height:110px;padding:16px 18px 8px;gap:12px;border-radius:18px;flex-wrap:wrap;margin-top:10px}
 .wordmark{font-size:24px;letter-spacing:3.5px}.wordmark span{font-size:6px;letter-spacing:1px;margin-top:7px}
 .header nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:5px;gap:14px}
 .header nav a{font-size:12px;padding:10px 14px}
 .bag-button{padding:9px 13px;font-size:11px;gap:7px}.bag-button svg{width:15px}
 .hero{display:flex;width:calc(100% - 32px);margin:20px auto 30px;gap:24px}
 .hero-copy{padding:14px 8px 0;order:0}
 .hero-copy>.eyebrow{font-size:8px;letter-spacing:.7px}
 .hero h1{font-size:clamp(58px,14.8vw,80px);letter-spacing:-3.5px;line-height:1.02;margin:22px 0 18px}
 .hero h1 em{letter-spacing:-3px}.intro{font-size:15px;line-height:1.8;max-width:340px}
 .hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:18px;margin-top:24px}
 .hero .button{font-size:12px;padding:16px 19px;min-height:50px;gap:18px}
 .text-link{font-size:11px;gap:8px}.hero-preview{font-size:10px;margin-top:17px}
 .hero-bottom{display:none}
 .hero-photo--campaign{margin:0;width:100%;max-width:480px;align-self:center;aspect-ratio:3/4;border-radius:18px}
 .ticker{height:48px}.ticker-group{font-size:9px;gap:24px}
 .section{padding:56px 20px}.section h2{font-size:40px;letter-spacing:-1.8px}.section h2 em{letter-spacing:-1.5px}
 .section-heading{display:block;margin-bottom:24px}.section-heading>p{font-size:13px;margin-top:18px}
 .collection-tools{display:block;margin-bottom:20px}.collection-filters{width:100%;gap:3px;padding:4px;justify-content:space-between}.collection-filters button{padding:11px 12px;font-size:11px;white-space:nowrap}.collection-filters span{margin-left:4px}
 #collection-count{font-size:10px;margin-top:14px}
 .product-grid{grid-template-columns:1fr;gap:22px}.product:first-child{grid-column:auto}
 .product{padding:10px 10px 22px;border-radius:20px}.product-photo,.product:first-child .product-photo{aspect-ratio:1/1}
 .product-title,.product:first-child .product-title{display:flex;margin-top:20px}.product-title h3,.product:first-child .product-title h3{font-size:17px}.product-title>span{margin-top:0;font-size:16px}
 .product-subtitle,.product:first-child .product-subtitle{font-size:12px;min-height:0}.product-badge{font-size:8px;padding:9px 11px}
 .product-footnote{font-size:11px}.mask-variant{height:48px;margin:15px 8px;font-size:12px}.swatches{height:58px;margin:18px 8px 22px}
 .add-button{font-size:13px;min-height:50px}.preview-note{font-size:10px;margin-top:24px}
 .sets{display:block}.sets h2{font-size:46px}.sets-intro>p:not(.eyebrow){font-size:13px}.set-list{margin-top:30px;grid-template-columns:1fr;gap:14px}
 .set-row,.set-row:last-child{padding:24px;gap:12px}.set-row h3{font-size:25px}.set-row p{font-size:12px}.set-action strong{font-size:23px}.set-options{max-width:none}.set-options label{font-size:11px}.set-options select{font-size:12px;min-height:40px}
 .story{padding-top:70px;padding-bottom:70px}.story h2{font-size:48px}.story:before{font-size:95px;left:-20px;top:80px}.story p:not(.eyebrow){font-size:14px}
 .faq{display:block}.faq-list{margin-top:28px}.faq summary{font-size:14px}.faq details p{font-size:13px}
 footer{padding:48px 24px 22px}.footer-top{grid-template-columns:1fr;gap:32px;padding-bottom:36px}.footer-top>div:first-child{grid-column:auto}.footer-logo{font-size:38px}.footer-top>div:nth-child(2)>a{font-size:14px}.footer-links{flex-direction:row;flex-wrap:wrap;gap:20px;font-size:12px}.footer-bottom{font-size:9px;flex-wrap:wrap;gap:8px}
 .bag-dialog{border-radius:18px 0 0 18px;padding:26px 20px}.bag-item{grid-template-columns:58px 1fr auto;gap:10px}.bag-item img{width:58px;height:72px}.bag-item h3{font-size:12px}.quantity{gap:8px}.quantity .remove{margin-left:0}.summary-note{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.hero-photo--campaign img{animation:none}.product-photo img{transition:none;transform:none!important}}
