:root { --ink:#27111d; --wine:#6d1745; --pink:#f563ad; --pink-bright:#ff7bc1; --blush:#fff0f6; --cream:#fffaf8; --line:#f3cadc; --muted:#876b7b; font-family:"DM Sans",sans-serif; color:var(--ink); background:var(--cream); }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;min-width:320px;background:var(--cream)} button,input{font:inherit} button{cursor:pointer}.announcement{height:35px;display:flex;gap:21px;justify-content:center;align-items:center;overflow:hidden;padding:0 22px;background:var(--wine);color:#fff8fb;font-size:10px;font-weight:700;letter-spacing:.04em;white-space:nowrap}.announcement i{height:3px;width:3px;border-radius:50%;background:#ffb9dc}.site-header{position:sticky;top:0;z-index:5;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,84px);border-bottom:1px solid rgba(109,23,69,.1);background:rgba(255,250,248,.9);backdrop-filter:blur(15px)}.wordmark{display:inline-flex;align-items:center;gap:2px;color:var(--ink);font-weight:800;letter-spacing:-.07em;text-decoration:none;font-size:20px}.wordmark b{color:var(--pink)}.wordmark em{font-style:normal}.wordmark span{margin-left:2px;color:var(--wine);font-size:13px}.header-link{color:var(--ink);font-size:13px;font-weight:700;text-decoration:none}.cart-button{display:flex;align-items:center;gap:8px;padding:9px 0;border:0;background:none;color:var(--ink);font-size:13px;font-weight:700}.cart-button svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.7}.cart-button b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--pink);color:#fff;font-size:10px}.hero{min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;background:linear-gradient(108deg,#fff0f6 0%,#ffe9f3 46%,#f7bfd9 100%)}.hero-copy{align-self:center;padding:80px 7vw 82px max(7vw,calc((100vw - 1280px)/2));z-index:1}.eyebrow{margin:0 0 13px;color:var(--wine);font-size:10px;font-weight:800;letter-spacing:.16em}.hero h1,.intro h2,.how-it-works h2,.faq h2,.checkout h2,.success h2{margin:0;font-family:"Playfair Display",serif;font-size:clamp(48px,5.4vw,78px);line-height:.96;letter-spacing:-.055em}.hero h1 i,.intro h2 i,.how-it-works h2 i,.faq h2 i,.checkout h2 i,.success h2 i{color:var(--pink);font-weight:600}.hero-text{max-width:425px;margin:27px 0;color:#725666;font-size:16px;line-height:1.7}.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:16px 21px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.025em;transition:.2s}.primary-action:hover{transform:translateY(-2px);background:var(--wine);box-shadow:0 8px 20px rgba(109,23,69,.18)}.primary-action span{font-size:18px;line-height:10px}.hero-proof{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:27px;color:#8d6b7e;font-size:11px;font-weight:700}.hero-proof span{color:var(--pink)}.hero-art{position:relative;min-height:520px;background:radial-gradient(circle at 48% 45%,#fff9fc 0 8%,transparent 39%),linear-gradient(135deg,#ef83b9,#e24295);overflow:hidden}.glow{position:absolute;border-radius:50%;filter:blur(2px)}.glow-one{top:-20%;right:-12%;width:440px;height:440px;background:rgba(255,242,250,.57)}.glow-two{bottom:-20%;left:-15%;width:380px;height:380px;background:rgba(126,13,75,.3)}.polaroid{position:absolute;display:flex;flex-direction:column;justify-content:space-between;width:260px;height:330px;padding:22px;border:10px solid #fffdfd;background:linear-gradient(135deg,#f3b3d2,#be236e);color:#fff;box-shadow:0 24px 45px rgba(83,8,49,.25)}.polaroid span{font-size:35px}.polaroid b{font-family:"Playfair Display",serif;font-size:35px;line-height:.88;letter-spacing:-.07em}.polaroid small{font-size:9px;font-weight:800;letter-spacing:.15em}.p-one{top:82px;left:16%;transform:rotate(-12deg)}.p-two{right:10%;bottom:61px;transform:rotate(12deg);background:linear-gradient(135deg,#fff9fc,#ffd2e5);color:var(--wine)}.mini-sticker{position:absolute;display:grid;place-items:center;width:90px;height:90px;border-radius:50%;background:#fffbdc;color:#c22e74;font-weight:800;text-align:center;font-size:12px;line-height:1.1;box-shadow:0 8px 20px rgba(91,0,49,.15)}.s-one{bottom:40px;left:14%;transform:rotate(-13deg)}.s-two{top:68px;right:8%;width:58px;height:58px;background:var(--wine);color:#fff;font-size:29px}.intro{text-align:center;padding:106px 20px 45px}.intro h2,.how-it-works h2,.faq h2{font-size:clamp(39px,4.1vw,60px)}.intro>p:last-child{max-width:466px;margin:22px auto;color:var(--muted);font-size:14px;line-height:1.7}.products{padding:25px max(23px,5vw) 112px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1410px;margin:auto}.product{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 23px rgba(121,28,73,.055);transition:.2s}.product:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(121,28,73,.12)}.product-visual{position:relative;display:grid;place-items:center;height:218px;overflow:hidden;background:linear-gradient(145deg,#fff8fb,#fcd0e3)}.product-visual::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.65);filter:blur(2px)}.product-symbol{position:relative;z-index:1;width:112px;height:112px;border:2px solid var(--wine);border-radius:50%;display:grid;place-items:center;color:var(--wine);font-family:"Playfair Display",serif;font-size:58px;box-shadow:inset 0 0 0 9px #fff4f8}.product-symbol.multi{font-size:31px;line-height:1;text-align:center}.sale{position:absolute;z-index:2;top:13px;right:13px;padding:7px 10px;border:1px solid #eab7cf;border-radius:99px;background:#fffdfd;color:var(--wine);font-size:9px;font-weight:800;letter-spacing:.1em}.product-copy{padding:19px 18px 18px}.product h3{min-height:38px;margin:0;font-size:14px;letter-spacing:.01em;line-height:1.35}.price{display:flex;align-items:center;gap:8px;margin:13px 0 17px;color:var(--pink);font-size:19px;font-weight:800}.price del{color:#b69daa;font-size:12px;font-weight:500}.product-actions{display:flex;gap:8px}.details-button{display:grid;place-items:center;flex:0 0 38px;border:1px solid #f0d5e2;border-radius:9px;background:#fff7fa;color:var(--wine);font-size:16px}.buy-button{flex:1;padding:12px 8px;border:0;border-radius:9px;background:var(--pink);color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em}.buy-button:hover{background:var(--wine)}.how-it-works{padding:96px max(23px,6vw);background:#fce7f0;text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;max-width:1040px;margin:52px auto 0;text-align:left}.steps article{position:relative;padding:0 16px 0 44px}.steps article:not(:last-child)::after{content:"";position:absolute;top:13px;right:-30px;width:45px;border-top:1px solid #e3adc7}.steps span{position:absolute;left:0;top:0;color:var(--pink);font-family:"Playfair Display",serif;font-size:20px;font-style:italic}.steps h3{margin:0 0 11px;font-size:16px}.steps p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;max-width:1160px;margin:auto;padding:108px 23px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{display:flex;justify-content:space-between;gap:15px;list-style:none;font-size:14px;font-weight:700;cursor:pointer}summary::-webkit-details-marker{display:none}summary span{color:var(--pink);font-size:19px;font-weight:400;transition:.2s}details[open] summary span{transform:rotate(45deg)}details p{max-width:540px;margin:14px 35px 0 0;color:var(--muted);font-size:13px;line-height:1.6}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:33px max(23px,5vw);border-top:1px solid var(--line);background:#fff8fb}footer p,footer a:not(.wordmark){color:var(--muted);font-size:11px;text-decoration:none}footer div{display:flex;gap:17px}.overlay{position:fixed;z-index:10;inset:0;background:rgba(55,11,34,.28);opacity:0;pointer-events:none;transition:.25s}.overlay.show{opacity:1;pointer-events:auto}.drawer{position:fixed;z-index:11;top:0;right:0;display:flex;flex-direction:column;width:min(100%,420px);height:100dvh;padding:25px;background:#fffafc;box-shadow:-10px 0 35px rgba(60,10,35,.12);transform:translateX(105%);transition:.28s}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:20px}.drawer-head h2{margin:0;font-family:"Playfair Display",serif;font-size:28px;letter-spacing:-.05em}.close-button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--wine);font-size:26px;line-height:25px}.cart-lines{display:grid;gap:17px;padding:22px 0;overflow:auto}.cart-line{display:grid;grid-template-columns:47px 1fr auto;gap:12px;align-items:center}.cart-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:12px;background:#fbd9e8;color:var(--wine);font-family:"Playfair Display",serif;font-size:24px}.cart-line b{display:block;font-size:12px}.cart-line span{display:block;margin-top:4px;color:var(--pink);font-size:12px;font-weight:800}.remove-item{border:0;background:none;color:#b08a9b;font-size:11px;text-decoration:underline}.empty-bag{margin:auto;text-align:center;color:var(--muted);font-size:14px;line-height:1.6}.empty-bag button{padding:0;border:0;background:none;color:var(--wine);font-weight:800}.cart-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:20px}.cart-footer>div,.summary-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.cart-footer span,.summary-total span{color:var(--muted);font-size:13px}.cart-footer b,.summary-total b{font-size:19px}.checkout-button{width:100%;border:0}.cart-footer small{display:block;margin-top:13px;color:var(--muted);font-size:10px;text-align:center}.checkout,.success{position:fixed;z-index:20;inset:0;display:none;overflow:auto;background:#fffafc}.checkout.active,.success.active{display:block}.checkout-shell{max-width:1050px;margin:auto;padding:25px}.back-button{padding:0;border:0;background:none;color:var(--wine);font-size:12px;font-weight:700}.checkout-brand{display:flex;justify-content:space-between;align-items:center;margin:45px 0}.checkout-brand p{font-size:10px;font-weight:800;letter-spacing:.13em;color:var(--muted)}.checkout-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px}.checkout-form h2{font-size:47px}.checkout-form label{display:grid;gap:8px;margin:30px 0 18px;font-size:11px;font-weight:800}.checkout-form input{height:48px;padding:0 14px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:14px;outline-color:var(--pink)}.stripe-slot{padding:24px;border:1px dashed #d78aaf;border-radius:13px;background:#fff5f9}.stripe-slot span{display:block;color:#806675;font-size:9px;letter-spacing:.1em}.stripe-slot span b{font-size:17px;letter-spacing:-.06em}.stripe-slot strong{display:block;margin:20px 0 5px;font-size:14px}.stripe-slot p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.checkout-form .primary-action{width:100%;margin-top:18px;border:0}.checkout-form small{display:block;margin-top:12px;color:var(--muted);font-size:10px;line-height:1.5;text-align:center}.order-summary{height:max-content;padding:28px;border:1px solid var(--line);border-radius:15px;background:#fff}.checkout-line{display:flex;justify-content:space-between;gap:12px;margin:15px 0;font-size:12px}.checkout-line span{color:var(--muted)}.summary-total{margin:23px 0 0;padding-top:18px;border-top:1px solid var(--line)}.success{display:none;place-items:center;text-align:center;background:radial-gradient(circle at center,#ffe9f2,#fff8fa 52%)}.success.active{display:grid}.success>div{max-width:485px;padding:30px}.success>div>span{display:grid;place-items:center;width:80px;height:80px;margin:auto auto 23px;border-radius:50%;background:var(--pink);color:#fff;font-size:39px}.success h2{font-size:59px}.success p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7}.success .primary-action{margin-top:17px;border:0}
@media(max-width:860px){.hero{grid-template-columns:1fr}.hero-copy{padding:78px 23px 38px}.hero-art{min-height:375px}.p-one{top:35px;left:17%;width:190px;height:245px}.p-two{right:14%;bottom:24px;width:170px;height:215px}.polaroid b{font-size:27px}.product-grid{grid-template-columns:repeat(2,1fr)}.steps,.faq,.checkout-grid{grid-template-columns:1fr;gap:33px}.steps article:not(:last-child)::after{display:none}.faq{padding-top:75px;padding-bottom:75px}.checkout-grid{gap:27px}.order-summary{grid-row:1}.checkout-brand{margin:28px 0}.header-link{display:none}}
@media(max-width:480px){.announcement{justify-content:flex-start}.announcement i:nth-of-type(n+2),.announcement span:nth-of-type(n+3){display:none}.site-header{height:70px;padding:0 19px}.wordmark{font-size:18px}.cart-button span{display:none}.hero h1{font-size:49px}.hero-art{min-height:320px}.p-one{left:8%;width:168px;height:210px}.p-two{right:7%;width:155px;height:190px}.mini-sticker{display:none}.product-grid{gap:11px}.product{border-radius:15px}.product-visual{height:148px}.product-symbol{width:78px;height:78px;font-size:40px}.product-symbol.multi{font-size:21px}.product-copy{padding:13px}.product h3{min-height:47px;font-size:12px}.price{margin:10px 0 12px;font-size:16px}.product-actions{gap:5px}.details-button{flex-basis:32px}.buy-button{padding:10px 3px;font-size:9px}.steps{gap:27px}.faq{gap:28px}footer{align-items:flex-start;flex-direction:column}.checkout-shell{padding:18px}.checkout-form h2{font-size:41px}.success h2{font-size:49px}}

.intro-spacer { height: 70px; }
.hero { display: block; min-height: 620px; }
.hero-copy { max-width: 790px; padding-right: max(7vw, calc((100vw - 1280px) / 2)); }

#stripe-payment-element { margin-top: 18px; }
.stripe-slot.is-live { border-style: solid; border-color: #eab7cf; }
.stripe-slot.is-live > strong, .stripe-slot.is-live > p:not(.checkout-error) { display: none; }
.checkout-error { margin: 14px 0 0 !important; color: #b72865 !important; font-weight: 700; }
.checkout-error[hidden] { display: none; }
.access-products { display: grid; gap: 9px; margin: 20px auto 0; max-width: 390px; text-align: left; }
.access-products a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--wine); background: #fff; font-size: 12px; font-weight: 800; text-decoration: none; }
.access-products a::after { content: 'Open ↗'; color: var(--pink); font-size: 10px; }

.details-button { border: 1px solid #f0d5e2; border-radius: 9px; background: #fff7fa; color: var(--wine); }
.details-button span { display: grid; place-items: center; width: 22px; height: 22px; border: 2px solid currentColor; border-radius: 50%; font-family: Georgia, serif; font-size: 15px; font-style: italic; font-weight: 700; line-height: 1; }
.product { cursor: pointer; }
.product button { cursor: pointer; }
.product-modal { position: fixed; z-index: 30; inset: 0; display: none; place-items: center; padding: 22px; background: rgba(48, 14, 33, .42); backdrop-filter: blur(4px); }
.product-modal.open { display: grid; }
.product-modal-card { position: relative; display: grid; grid-template-columns: minmax(260px, .8fr) minmax(300px, 1.2fr); width: min(100%, 790px); max-height: min(720px, calc(100dvh - 44px)); overflow: auto; border-radius: 21px; background: #fffafc; box-shadow: 0 24px 70px rgba(61, 8, 39, .28); }
.modal-close { position: absolute; z-index: 2; top: 14px; right: 14px; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #efcade; border-radius: 50%; background: #fff; color: var(--wine); font-size: 25px; line-height: 1; }
.modal-product-visual { position: relative; display: grid; min-height: 100%; place-items: center; overflow: hidden; background: linear-gradient(145deg, #fdd5e6, #f39ac5); }
.modal-product-visual::after { content: ""; position: absolute; width: 310px; height: 310px; border-radius: 50%; background: rgba(255,255,255,.48); filter: blur(2px); }
.modal-product-visual .product-symbol { z-index: 1; width: 150px; height: 150px; font-size: 73px; }
.modal-product-copy { padding: 54px 43px 38px; }
.modal-product-copy h2 { margin: 0; font-family: "Playfair Display", serif; font-size: 39px; line-height: 1; letter-spacing: -.05em; }
.modal-price { display: flex; align-items: center; gap: 10px; margin: 17px 0 21px; }.modal-price b { color: var(--pink); font-size: 21px; }.modal-price del { color: #ad96a2; font-size: 13px; }
.modal-product-copy > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.included { display: grid; gap: 7px; margin: 24px 0; padding: 17px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.included b { margin-bottom: 2px; color: var(--wine); font-size: 9px; letter-spacing: .12em; }.included span { color: #785d6d; font-size: 11px; }.included span::before { content: "♡"; margin-right: 7px; color: var(--pink); }
.modal-add-button { width: 100%; border: 0; }
@media (max-width: 620px) { .product-modal { padding: 12px; }.product-modal-card { grid-template-columns: 1fr; max-height: calc(100dvh - 24px); }.modal-product-visual { min-height: 205px; }.modal-product-visual .product-symbol { width: 115px; height: 115px; font-size: 55px; }.modal-product-copy { padding: 30px 24px 25px; }.modal-product-copy h2 { font-size: 33px; } }
.info-modal { position: fixed; z-index: 31; inset: 0; display: none; place-items: center; padding: 22px; background: rgba(86, 23, 61, .35); backdrop-filter: blur(5px); }
.info-modal.open { display: grid; }.info-modal-card { position: relative; width: min(100%, 655px); padding: 53px 52px 46px; border: 1px solid #f2cadd; border-radius: 22px; background: #fff8fb; box-shadow: 0 24px 70px rgba(74, 11, 45, .24); }
.info-modal-card h2 { max-width: calc(100% - 48px); margin: 0 0 26px; color: var(--ink); font-family: "Playfair Display", serif; font-size: 34px; line-height: 1; letter-spacing: -.045em; text-transform: uppercase; }.info-modal-card p { max-width: 535px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.55; }
@media (max-width: 620px) { .info-modal { padding: 16px; }.info-modal-card { padding: 45px 27px 32px; }.info-modal-card h2 { font-size: 27px; }.info-modal-card p { font-size: 15px; } }
.product-visual { background-position: center; background-repeat: no-repeat; background-size: cover; }.product-visual::after { inset: 0; width: auto; height: auto; border-radius: 0; background: linear-gradient(180deg, rgba(70, 8, 42, .03) 46%, rgba(70, 8, 42, .46)); filter: none; }
.cover-tag { position: absolute; z-index: 2; bottom: 14px; left: 15px; color: #fff; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-shadow: 0 1px 8px rgba(60, 5, 32, .55); }
.product-visual { background: #f5c5d7; color: #fff; }.product-visual::after { background: radial-gradient(circle at 50% 55%, transparent 26%, rgba(255,255,255,.14) 58%, rgba(154, 39, 100, .12) 100%); }
.modal-product-visual { background: #f5c5d7; color: #fff; }.modal-product-visual::after { inset: 0; width: auto; height: auto; border-radius: 0; background: radial-gradient(circle at 50% 55%, transparent 26%, rgba(255,255,255,.14) 58%, rgba(154, 39, 100, .12) 100%); filter: none; }.modal-product-visual .vendor-icon { width: 67%; height: 67%; }
.vendor-icon { position: relative; z-index: 1; width: 73%; height: 73%; stroke-width: 2.15; filter: drop-shadow(0 0 3px rgba(255,255,255,.8)) drop-shadow(0 0 9px rgba(255, 121, 192, .55)); }
.uploaded-vendor-icon { position: relative; z-index: 1; display: block; width: 73%; height: 73%; object-fit: contain; mix-blend-mode: screen; filter: drop-shadow(0 0 3px rgba(255,255,255,.8)) drop-shadow(0 0 9px rgba(255, 121, 192, .55)); }
.product-cover-name { position: relative; z-index: 1; display: block; max-width: 82%; color: #fff; font-family: "Playfair Display", serif; font-size: clamp(27px, 3vw, 44px); font-weight: 700; line-height: .9; letter-spacing: -.06em; text-align: center; text-shadow: 0 2px 12px rgba(116, 17, 72, .24); }
.product-visual .sale { color: #fff; border-color: rgba(255,255,255,.28); background: rgba(13,10,13,.64); }
.cover-tag { display: none; }
.modal-product-visual .uploaded-vendor-icon { width: 67%; height: 67%; }
.modal-product-visual .product-cover-name { font-size: 52px; }
@media (max-width: 620px) { .product-cover-name { font-size: 25px; }.modal-product-visual .product-cover-name { font-size: 39px; } }
.announcement i { width: auto; height: auto; border-radius: 0; background: transparent; color: #ffb9dc; font-size: 13px; font-style: normal; line-height: 1; }
.cart-icon { overflow: hidden; background: #fbd9e8; }
.cart-product-art { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: screen; filter: drop-shadow(0 0 2px rgba(255,255,255,.85)); }
.cart-product-art.cart-product-cover { object-fit: cover; mix-blend-mode: normal; filter: none; }
.cart-icon .vendor-icon { width: 78%; height: 78%; }
