:root {
  --ink: #30303a;
  --muted: #79798a;
  --rose: #9b8ac4;
  --rose-dark: #74639b;
  --cream: #f7f6fc;
  --paper: #fefeff;
  --line: #e9e6f1;
  --lavender-soft: #ece8f5;
  --lavender-mid: #ddd8ed;
  --ice-blue: #e9f1f8;
  --lavender-ink: #645b7b;
  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 14px; -webkit-font-smoothing: antialiased; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.announcement { height: 34px; display:flex; align-items:center; justify-content:center; gap:12px; background:var(--lavender-soft); color:var(--lavender-ink); font-size:10px; letter-spacing:.11em; text-transform:uppercase; }
.announcement span { color:var(--rose-dark); }
.site-header { position:sticky; z-index:20; top:0; height:82px; padding:0 6.2%; display:flex; align-items:center; justify-content:space-between; background:rgba(254,253,255,.9); backdrop-filter:blur(16px); border-bottom:1px solid rgba(233,230,241,.8); transition:box-shadow .3s; }
.site-header.scrolled { box-shadow:0 8px 30px rgba(56,51,75,.07); }
.wordmark { display:inline-flex; align-items:center; gap:7px; font-family:var(--serif); font-size:24px; font-weight:600; letter-spacing:-1.3px; white-space:nowrap; }
.logo-flower { color:var(--rose); font-family:var(--sans); font-size:20px; }
.wordmark-dot { color:var(--rose); margin-left:-6px; }
.main-nav { display:flex; align-items:center; gap:34px; margin-left:28px; }
.main-nav a { font-size:12px; color:#5f5e6b; transition:color .2s; }
.main-nav a:hover,.text-link:hover { color:var(--rose-dark); }
.header-actions { display:flex; align-items:center; gap:18px; }
.icon-button { position:relative; border:0; padding:4px; background:transparent; cursor:pointer; display:grid; place-items:center; }
.icon-button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.count-badge { position:absolute; top:-5px; right:-8px; width:15px; height:15px; border-radius:50%; display:grid; place-items:center; background:var(--rose); color:#fff; font-size:9px; transform:scale(0); }
.count-badge.visible { animation:badge-pop .36s cubic-bezier(.16,1.5,.4,1) forwards; }
@keyframes badge-pop { to { transform:scale(1); } }
.wishlist-trigger.liked svg { fill:#a28ecb; stroke:#a28ecb; animation:heart-pulse .38s ease; }
@keyframes heart-pulse { 50% { transform:scale(1.3); } }
.search-wrap { position:relative; width:155px; height:34px; border-bottom:1px solid #d8d5e2; display:flex; align-items:center; gap:8px; }
.search-wrap svg { width:16px; height:16px; fill:none; stroke:#777687; stroke-width:1.5; stroke-linecap:round; }
.search-wrap input { width:100%; min-width:0; outline:0; border:0; background:transparent; color:var(--ink); font-size:11px; }
.search-wrap input::placeholder { color:#9896a5; }
.search-results { position:absolute; display:none; top:39px; left:-15px; width:260px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 12px 30px #322b4314; padding:6px; z-index:25; }
.search-results.open { display:block; }
.search-result { display:flex; align-items:center; gap:10px; padding:8px; border-radius:8px; cursor:pointer; font-size:12px; }
.search-result:hover { background:#f2eff9; }
.search-result img { width:38px; height:42px; object-fit:cover; border-radius:7px; }
.search-result span { flex:1; }
.search-result small { color:var(--muted); }
.currency-indicator { color:#625e77; font-size:10px; letter-spacing:.04em; }
.currency-indicator span { margin-left:3px; color:#9189a6; }
.mobile-menu { display:none; }
.hero { position:relative; overflow:hidden; min-height:570px; padding:72px 10.2% 54px; display:grid; grid-template-columns:1fr 1fr; align-items:center; background:#f2eff8; }
.hero-copy { position:relative; z-index:2; padding:0 0 8px 1%; }
.eyebrow { margin:0 0 17px; color:#786b9c; font-size:9px; font-weight:700; letter-spacing:.17em; }
.sparkle { margin-right:6px; color:#9181b7; }
h1,h2,h3,p { margin-top:0; }
.hero h1 { margin:0; font-family:var(--serif); font-size:clamp(54px,6.1vw,82px); line-height:.99; font-weight:500; letter-spacing:-3.5px; }
h1 em,h2 em { color:var(--rose); font-weight:500; }
.hero-description { max-width:355px; margin:21px 0 26px; color:#696876; line-height:1.8; font-size:13px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:17px; border-radius:99px; padding:14px 21px; border:1px solid transparent; font-size:11px; font-weight:600; transition:transform .25s,box-shadow .25s,background .25s; cursor:pointer; }
.button span { font-size:15px; line-height:10px; }
.button-dark { color:#fff; background:#363640; }
.button-dark:hover { background:#514d61; transform:translateY(-2px); box-shadow:0 8px 22px #46405a2a; }
.glow-button:hover { box-shadow:0 0 0 5px #aaa0d13d,0 8px 22px #46405a2a; }
.hero-proof { display:flex; align-items:center; gap:12px; margin-top:40px; }
.avatar-stack { display:flex; padding-left:3px; }
.avatar-stack img { width:29px; height:29px; border-radius:50%; border:2px solid #f2eff8; object-fit:cover; margin-left:-5px; }
.proof-stars { display:block; color:#d5a35b; font-size:11px; letter-spacing:2px; }
.proof-text { display:block; margin-top:3px; font-size:9px; color:#747382; }
.hero-art { position:relative; z-index:1; justify-self:end; width:min(100%,475px); height:445px; }
.hero-photo { position:absolute; inset:0 13% 3% 12%; overflow:hidden; border-radius:48% 48% 42% 42% / 39% 39% 34% 34%; background:#e4e0ef; box-shadow:0 18px 55px #49425f17; }
.hero-photo:before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#38324415,transparent 55%),url("https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=1100&q=88") center 39%/cover; transition:transform 1s; }
.hero:hover .hero-photo:before { transform:scale(1.04); }
.hero-sticker { position:absolute; z-index:2; display:grid; place-content:center; text-align:center; font-family:var(--serif); line-height:1.16; box-shadow:0 8px 24px #49425f1c; }
.sticker-top { width:104px; height:104px; top:28px; right:0; border-radius:50%; background:#e2eafa; color:#5c5b7c; font-size:16px; transform:rotate(9deg); }
.sticker-top span { margin-top:5px; font-family:var(--sans); font-size:8px; }
.sticker-bottom { width:105px; height:105px; bottom:34px; left:0; border-radius:50%; background:#dcd7ed; color:#5f586f; font-family:var(--sans); font-size:8px; letter-spacing:.09em; line-height:1.6; transform:rotate(-10deg); }
.sticker-star { font-size:24px; line-height:1; }
.hero-scribble { position:absolute; right:-1%; bottom:13px; color:#8172ab; font-family:var(--serif); font-size:18px; line-height:1.15; transform:rotate(-8deg); }
.hero-image-caption { position:absolute; right:13%; bottom:-3px; width:74%; display:flex; justify-content:space-between; color:#777286; font-size:8px; letter-spacing:.13em; }
.hero-orb { position:absolute; width:460px; height:460px; left:-360px; bottom:-300px; border:1px solid #d6d1e8; border-radius:50%; }
.trust-strip { overflow:hidden; height:48px; display:flex; align-items:center; justify-content:center; gap:40px; background:var(--lavender-mid); color:#554d6e; white-space:nowrap; font-size:9px; font-weight:600; letter-spacing:.15em; }
.trust-strip i { width:5px; height:5px; border-radius:50%; background:#8d81b4; }
.section { padding:96px 8.5%; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:33px; }
.section-heading .eyebrow { margin-bottom:10px; }
h2 { font-family:var(--serif); font-weight:500; font-size:clamp(36px,4.2vw,51px); letter-spacing:-1.7px; line-height:1.08; margin-bottom:0; }
.text-link { font-size:11px; font-weight:600; padding-bottom:6px; transition:color .2s; }
.text-link span { margin-left:7px; font-size:15px; }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.category-card { overflow:hidden; border-radius:18px; padding:12px 12px 0; transition:transform .28s,box-shadow .28s; }
.category-card:hover { transform:translateY(-5px); box-shadow:0 12px 28px #49425f18; }
.category-peach { background:#e9f0f8; }.category-lilac { background:#e9e5f4; }.category-yellow { background:#eef0e7; }.category-pink { background:#e7e8f4; }
.category-image { height:174px; overflow:hidden; border-radius:13px 13px 7px 7px; background:#eef0f7; }
.category-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.category-card:hover .category-image img { transform:scale(1.07); }
.category-label { min-height:47px; display:flex; align-items:center; justify-content:space-between; padding:0 3px; font-family:var(--serif); font-size:16px; }
.category-label b { font-family:var(--sans); font-size:13px; color:#77718f; font-weight:400; }
.products-section { padding-top:77px; background:#fdfcff; }
.product-tabs { display:flex; gap:6px; align-items:center; padding-bottom:2px; }
.product-tabs button { white-space:nowrap; border:1px solid transparent; background:transparent; color:#79798a; border-radius:20px; padding:9px 13px; font-size:10px; cursor:pointer; transition:.2s; }
.product-tabs button:hover,.product-tabs button.active { background:#ece8f5; color:#645b7b; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.product-card { min-width:0; position:relative; }
.product-image-wrap { position:relative; overflow:hidden; border-radius:15px; background:#f0eff7; aspect-ratio: .84; }
.product-image { width:100%; height:100%; display:block; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.product-card:hover .product-image { transform:scale(1.055); }
.product-badge { position:absolute; top:12px; left:12px; z-index:2; border-radius:50px; padding:7px 9px; background:#fbfaffed; color:#716393; font-size:8px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.quick-add { position:absolute; z-index:2; left:10px; right:10px; bottom:10px; min-height:39px; border:0; border-radius:30px; background:#fefeffed; backdrop-filter:blur(10px); color:#3b3a45; font-size:10px; font-weight:600; cursor:pointer; transform:translateY(60px); opacity:0; transition:transform .28s,opacity .28s,background .2s; }
.product-card:hover .quick-add,.quick-add:focus { transform:translateY(0); opacity:1; }
.quick-add:hover { background:white; }
.product-heart { position:absolute; top:10px; right:10px; z-index:2; width:33px; height:33px; border:0; border-radius:50%; background:#fbfaffed; display:grid; place-items:center; cursor:pointer; transition:transform .2s; }
.product-heart svg { width:16px; height:16px; fill:none; stroke:#5d5b6b; stroke-width:1.6; }
.product-heart:hover { transform:scale(1.08); }.product-heart.active svg { fill:#9b8ac4; stroke:#9b8ac4; animation:heart-pulse .35s ease; }
.product-info { padding:13px 2px 3px; }
.product-title-row { display:flex; justify-content:space-between; gap:8px; align-items:flex-start; }
.product-title { margin:0; font-size:12px; font-weight:600; }
.product-price { white-space:nowrap; font-size:11px; font-weight:600; }
.product-rating { margin-top:7px; color:#777684; font-size:9px; }
.product-rating span { color:#d1a153; letter-spacing:1px; margin-right:5px; }
.product-swatches { display:flex; gap:5px; margin-top:9px; }
.swatch { width:10px; height:10px; border:1px solid #fff; outline:1px solid #d8d5e2; border-radius:50%; }
.centered { text-align:center; margin-top:38px; }
.button-outline { border-color:#bcb2d1; color:#514d63; background:transparent; }
.button-outline:hover { background:#f0edf8; transform:translateY(-2px); }
.sale-banner { position:relative; overflow:hidden; min-height:420px; margin:12px 7% 0; padding:54px 7%; display:grid; grid-template-columns:1fr 1fr; align-items:center; border-radius:24px; background:#e6e2f1; }
.sale-copy { position:relative; z-index:2; }
.sale-copy .eyebrow { color:#756991; }
.sale-copy h2 { font-size:clamp(42px,5vw,63px); }
.sale-copy>p:not(.eyebrow) { max-width:320px; margin:17px 0 22px; color:#6b6878; font-size:12px; line-height:1.7; }
.sale-image { justify-self:end; position:relative; width:75%; height:304px; border-radius:48% 48% 12px 12px; overflow:hidden; transform:rotate(2deg); }
.sale-image img { width:100%; height:100%; object-fit:cover; }
.sale-stamp { position:absolute; right:-5px; bottom:15px; width:94px; height:94px; border-radius:50%; display:grid; place-content:center; text-align:center; background:#dce7f3; color:#5e5c7d; font-size:8px; line-height:1.35; letter-spacing:.08em; transform:rotate(-7deg); }
.sale-stamp span { display:block; font-family:var(--serif); font-size:30px; line-height:1; letter-spacing:-1px; }
.sale-decoration { position:absolute; left:42%; top:-30px; font-size:130px; color:#ffffff38; }
.reviews-section { padding:98px 8.5% 90px; text-align:center; }
.review-heading .eyebrow { margin-bottom:12px; }
.review-heading>p:last-child { color:#777684; font-size:12px; margin:14px 0 0; }
.review-carousel { position:relative; margin:37px auto 0; max-width:1060px; }
.review-track { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; text-align:left; }
.review-card { min-height:192px; padding:23px 22px 19px; border:1px solid #ebe8f1; border-radius:17px; background:#fefeff; transition:transform .25s,box-shadow .25s; }
.review-card:hover { transform:translateY(-3px); box-shadow:0 12px 25px #49425f10; }
.review-stars { color:#d3a253; font-size:11px; letter-spacing:2px; }
.review-quote { margin:15px 0 17px; font-family:var(--serif); font-size:16px; line-height:1.5; }
.reviewer { display:flex; align-items:center; justify-content:space-between; color:#747382; font-size:9px; }
.verified { color:#76699a; font-size:8px; }
.carousel-arrow { display:none; position:absolute; z-index:2; top:44%; width:35px; height:35px; border:1px solid var(--line); border-radius:50%; background:#fff; cursor:pointer; box-shadow:0 4px 12px #49425f10; }
.carousel-arrow.prev { left:-16px; }.carousel-arrow.next { right:-16px; }
.carousel-dots { display:none; justify-content:center; gap:6px; margin-top:17px; }
.carousel-dots button { width:6px; height:6px; padding:0; border:0; border-radius:50%; background:#d8d5e3; cursor:pointer; }
.carousel-dots button.active { width:18px; border-radius:5px; background:var(--rose); }
.site-footer { padding:57px 8.5% 20px; background:#f1eff8; }
.footer-main { display:grid; grid-template-columns:1.1fr 1.15fr 1.25fr; gap:50px; padding-bottom:47px; }
.footer-brand .wordmark { font-size:23px; }
.footer-brand>p { max-width:245px; margin:16px 0 19px; color:#777583; font-size:11px; line-height:1.75; }
.social-links { display:flex; gap:8px; }
.social-links a { width:27px; height:27px; display:grid; place-items:center; border:1px solid #d2cde1; border-radius:50%; color:#655e7d; font-family:var(--serif); font-size:11px; transition:background .2s; }
.social-links a:hover { background:#e4dff1; }
.footer-links { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.footer-links h3 { margin:5px 0 16px; font-size:10px; }
.footer-links a { display:block; width:max-content; margin:0 0 11px; color:#777583; font-size:10px; }
.footer-links a:hover { color:var(--rose-dark); }
.newsletter .eyebrow { margin:4px 0 11px; font-size:8px; }
.newsletter h2 { font-size:25px; letter-spacing:-.7px; }
.newsletter>p:not(.eyebrow) { margin:9px 0 15px; color:#777583; font-size:10px; line-height:1.6; }
.newsletter form { display:flex; border-bottom:1px solid #bcb7cc; }
.newsletter input { flex:1; min-width:0; padding:10px 0; border:0; outline:0; background:transparent; font-size:10px; }
.newsletter form button { width:35px; border:0; background:transparent; font-size:17px; cursor:pointer; }
.newsletter-message { min-height:13px; margin-top:7px!important; color:#716392!important; font-size:9px!important; }
.footer-bottom { padding-top:17px; border-top:1px solid #e2deeb; display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 14px; color:#777583; font-size:8px; letter-spacing:.06em; }
.drawer-scrim { position:fixed; z-index:39; inset:0; background:#2b20204d; opacity:0; visibility:hidden; transition:opacity .3s,visibility .3s; }
.drawer-scrim.open { opacity:1; visibility:visible; }
.cart-drawer { position:fixed; z-index:40; top:0; right:0; bottom:0; width:min(430px,100%); padding:27px 25px 20px; display:flex; flex-direction:column; background:#fefeff; transform:translateX(105%); transition:transform .36s cubic-bezier(.2,.75,.2,1); box-shadow:-14px 0 40px #322b431a; }
.cart-drawer.open { transform:translateX(0); }
.drawer-header { display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; border-bottom:1px solid var(--line); }
.drawer-header .eyebrow { margin-bottom:7px; font-size:8px; }
.drawer-header h2 { font-size:30px; }
.drawer-header h2 span { color:#9a8b86; font-family:var(--sans); font-size:11px; letter-spacing:0; }
.close-drawer { width:34px; height:34px; border-radius:50%; background:#efedf6; font-size:25px; font-weight:300; }
.shipping-progress { padding:15px 0 16px; border-bottom:1px solid var(--line); }
.shipping-progress p { margin:0 0 9px; color:#756967; font-size:10px; }
.progress-track { height:4px; overflow:hidden; border-radius:5px; background:#e9e6f1; }
.progress-track span { display:block; height:100%; width:0; border-radius:5px; background:#9b8ac4; transition:width .3s; }
.cart-items { flex:1; overflow:auto; }
.cart-row { display:grid; grid-template-columns:68px 1fr auto; gap:12px; align-items:center; padding:15px 0; border-bottom:1px solid #ebe8f1; }
.cart-row img { width:68px; height:76px; object-fit:cover; border-radius:9px; background:#f0eff7; }
.cart-product-name { margin:0 0 5px; font-size:11px; font-weight:600; }
.cart-product-price { color:#857a77; font-size:10px; }
.quantity-control { display:flex; align-items:center; gap:10px; width:max-content; height:27px; margin-top:10px; padding:0 7px; border:1px solid #e1ddeb; border-radius:20px; }
.quantity-control button { width:14px; border:0; padding:0; background:transparent; cursor:pointer; font-size:14px; line-height:1; }
.quantity-control span { min-width:9px; text-align:center; font-size:10px; }
.remove-item { align-self:start; border:0; background:transparent; color:#aa9994; cursor:pointer; font-size:15px; }
.empty-cart { display:none; flex:1; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.empty-cart.show { display:flex; }
.empty-cart>span { color:var(--rose); font-size:42px; }
.empty-cart h3 { margin:13px 0 8px; font-family:var(--serif); font-size:20px; font-weight:500; }
.empty-cart p { color:#847976; font-size:11px; }
.empty-cart .button { margin-top:7px; }
.drawer-footer { padding-top:16px; border-top:1px solid var(--line); }
.drawer-footer.hidden { display:none; }
.subtotal-row { display:flex; justify-content:space-between; font-size:12px; }
.subtotal-row strong { font-size:14px; }
.drawer-footer>p { margin:8px 0 15px; color:#777684; font-size:9px; }
.checkout-button { width:100%; justify-content:space-between; padding:15px 20px; }
.continue-link { display:block; margin:12px auto 0; border:0; background:transparent; color:#776967; font-size:10px; text-decoration:underline; cursor:pointer; }
.checkout-scrim { position:fixed; z-index:41; inset:0; background:#28243370; opacity:0; visibility:hidden; transition:opacity .25s,visibility .25s; }
.checkout-scrim.open { opacity:1; visibility:visible; }
.checkout-modal { position:fixed; z-index:42; top:50%; left:50%; width:min(760px,calc(100% - 32px)); max-height:min(90vh,850px); overflow:auto; padding:30px; border:1px solid #e8e4f0; border-radius:22px; background:#fefeff; box-shadow:0 24px 80px #29243330; opacity:0; visibility:hidden; transform:translate(-50%,-46%); transition:opacity .25s,visibility .25s,transform .25s; }
.checkout-modal.open { opacity:1; visibility:visible; transform:translate(-50%,-50%); }
.checkout-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.checkout-header .eyebrow { margin-bottom:7px; }
.checkout-header h2 { font-size:32px; }
.checkout-close { width:34px; height:34px; border-radius:50%; background:#efedf6; font-size:24px; }
.checkout-columns { display:grid; grid-template-columns:1.05fr .95fr; gap:30px; }
.checkout-fields h3,.checkout-summary h3 { margin:0 0 17px; font-size:12px; }
.checkout-fields>label { display:block; margin:12px 0 6px; color:#625e6b; font-size:10px; font-weight:600; }
.checkout-fields>input,.checkout-fields>textarea { width:100%; padding:11px 12px; border:1px solid #e5e1ed; border-radius:9px; outline:0; background:#fff; color:var(--ink); font-size:11px; resize:vertical; }
.checkout-fields>input:focus,.checkout-fields>textarea:focus { border-color:#a89bc9; box-shadow:0 0 0 3px #a89bc922; }
.payment-methods { margin:18px 0 0; padding:0; border:0; }
.payment-methods legend { margin-bottom:10px; font-size:11px; font-weight:600; }
.paymob-method-note { display:flex; gap:11px; align-items:flex-start; padding:13px; border:1px solid #e4dfef; border-radius:12px; background:#f7f5fb; color:#665b82; }
.paymob-method-note>span { font-size:19px; }
.paymob-method-note p { margin:0; }
.paymob-method-note strong,.paymob-method-note small { display:block; }
.paymob-method-note strong { font-size:10px; }
.paymob-method-note small { margin-top:5px; color:#777485; font-size:9px; line-height:1.5; }
.checkout-summary { align-self:start; padding:17px; border:1px solid #e9e5f1; border-radius:14px; background:#faf9fd; }
.checkout-summary h3 { margin-bottom:12px; }
.checkout-item { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid #ebe8f1; font-size:9px; }
.checkout-item>span { line-height:1.5; }.checkout-item small { color:#8b8796; }.checkout-item strong { white-space:nowrap; font-size:9px; }
.checkout-total { display:flex; justify-content:space-between; gap:10px; margin-top:12px; color:#777485; font-size:9px; }
.checkout-total strong { color:var(--ink); text-align:right; font-size:9px; }
.checkout-total.total-final { margin-top:15px; padding-top:13px; border-top:1px solid #e1ddeb; color:var(--ink); font-size:11px; }
.checkout-total.total-final strong { font-size:12px; }
.secure-payment-note { margin:14px 0 0; color:#777485; font-size:8px; line-height:1.55; }
.checkout-error { min-height:14px; margin:9px 0 0; color:#a03e55; font-size:9px; line-height:1.5; }
.place-order-button { width:100%; justify-content:space-between; margin-top:22px; padding:15px 20px; }
.place-order-button:disabled { cursor:wait; opacity:.72; }
.toast { position:fixed; z-index:50; left:50%; bottom:25px; transform:translate(-50%,20px); opacity:0; pointer-events:none; padding:12px 18px; border-radius:30px; background:#363640; color:#fff; font-size:11px; box-shadow:0 8px 25px #2a253333; transition:opacity .25s,transform .25s; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.payment-result-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(ellipse at 50% 10%,#eeebf7 0,transparent 58%),#fbfaff; }
.payment-result-card { width:min(100%,480px); padding:43px 38px; border:1px solid #e8e4f0; border-radius:24px; background:#ffffffdb; box-shadow:0 20px 60px #39334b12; text-align:center; }
.payment-result-card>.wordmark { justify-content:center; font-size:23px; }
.result-icon { width:68px; height:68px; display:grid; place-items:center; margin:34px auto 20px; border-radius:50%; background:#e9e5f4; color:#8272aa; font-size:30px; animation:heart-pulse 1.4s ease-in-out infinite; }
.payment-result-card .eyebrow { margin-bottom:11px; }
.payment-result-card h1 { margin:0; font-family:var(--serif); font-size:clamp(34px,8vw,45px); font-weight:500; letter-spacing:-1.6px; line-height:1.12; }
.result-message { max-width:350px; margin:15px auto 9px; color:#777485; font-size:12px; line-height:1.7; }
.result-reference { min-height:13px; margin-bottom:24px; color:#928ca1; font-size:9px; letter-spacing:.08em; }
.result-footnote { margin:19px 0 0; color:#928ca1; font-size:9px; line-height:1.6; }
[data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .65s ease; }
[data-reveal].revealed { opacity:1; transform:translateY(0); }
@media (max-width: 1000px) {
  .site-header { padding:0 4%; }.main-nav { gap:20px; margin-left:8px; }.header-actions { gap:13px; }.hero { padding-left:7%; padding-right:7%; }
  .section { padding-left:6%; padding-right:6%; }.product-grid { gap:14px; }.product-tabs button { padding:8px 9px; }
  .category-image { height:145px; }.footer-main { gap:30px; }
}
@media (max-width: 760px) {
  .announcement { height:31px; font-size:8px; gap:8px; }
  .site-header { height:68px; padding:0 5%; }
  .mobile-menu { display:flex; width:23px; flex-direction:column; gap:5px; padding:5px 0; }
  .mobile-menu span { display:block; width:20px; height:1px; background:#554a48; }
  .wordmark { font-size:21px; }
  .main-nav { position:absolute; top:68px; left:0; right:0; display:none; margin:0; padding:17px 6% 21px; flex-direction:column; align-items:flex-start; gap:18px; background:#fefefff5; backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
  .main-nav.open { display:flex; }.main-nav a { font-size:13px; }
  .header-actions { gap:13px; }.search-wrap { width:27px; border:0; }.search-wrap input { display:none; }.search-wrap:focus-within { position:absolute; top:68px; left:0; right:0; width:100%; height:50px; padding:0 6%; background:#fefeff; border-bottom:1px solid var(--line); }.search-wrap:focus-within input { display:block; }
  .search-results { left:0; top:48px; width:100%; border-radius:0 0 12px 12px; }
  .currency-indicator { display:none; }.wishlist-trigger svg,.cart-trigger svg { width:19px; height:19px; }
  .hero { min-height:0; padding:47px 7% 39px; grid-template-columns:1fr; gap:29px; }
  .hero-copy { padding:0 2%; }.hero h1 { font-size:clamp(53px,13vw,74px); letter-spacing:-2.7px; }
  .hero-description { max-width:320px; margin:14px 0 20px; font-size:12px; }
  .hero-proof { margin-top:23px; }.hero-art { justify-self:center; width:min(88%,390px); height:350px; margin-bottom:9px; }
  .hero-photo { inset:0 13% 4% 12%; }.sticker-top { width:82px;height:82px;top:18px;font-size:13px; }.sticker-bottom { width:83px;height:83px;bottom:27px;font-size:7px; }
  .hero-scribble { right:0; font-size:15px; }.hero-image-caption { right:13%; width:74%; font-size:7px; }
  .trust-strip { height:40px; justify-content:flex-start; gap:22px; padding-left:20px; font-size:8px; }
  .trust-strip span:nth-of-type(n+3),.trust-strip i:nth-of-type(n+2) { display:none; }
  .section { padding:67px 6%; }.section-heading { align-items:flex-end; margin-bottom:24px; gap:10px; }
  h2 { font-size:39px; }.section-heading .eyebrow { font-size:8px; }.text-link { white-space:nowrap; font-size:10px; }
  .category-grid { grid-template-columns:repeat(2,1fr); gap:12px; }.category-image { height:clamp(130px,37vw,220px); }.category-card { padding:9px 9px 0; border-radius:15px; }.category-label { min-height:42px; font-size:15px; }
  .products-section { padding-top:58px; }.products-section .section-heading { align-items:flex-start; flex-direction:column; gap:18px; }
  .product-tabs { width:100%; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }.product-tabs::-webkit-scrollbar { display:none; }.product-tabs button { font-size:9px; padding:8px 11px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 12px; }.product-image-wrap { border-radius:12px; }
  .quick-add { left:7px;right:7px;bottom:7px; min-height:35px; transform:none; opacity:1; font-size:9px; }
  .product-badge { top:8px;left:8px;padding:6px 7px;font-size:7px; }.product-heart { top:7px;right:7px;width:29px;height:29px; }
  .product-info { padding-top:10px; }.product-title { font-size:11px; }.product-price { font-size:10px; }.product-rating { font-size:8px; }
  .centered { margin-top:28px; }.sale-banner { min-height:0; margin:0 4%; padding:39px 7% 64px; grid-template-columns:1fr; gap:27px; border-radius:19px; }
  .sale-copy h2 { font-size:49px; }.sale-copy>p:not(.eyebrow) { max-width:270px; margin:12px 0 17px; font-size:11px; }
  .sale-image { justify-self:center; width:min(82%,300px); height:245px; margin-bottom:5px; }.sale-stamp { right:-17px; width:82px;height:82px; }
  .reviews-section { padding:67px 7% 64px; }.review-heading h2 { font-size:38px; }.review-heading>p:last-child { font-size:11px; }
  .review-carousel { margin-top:27px; padding:0 15px; }.review-track { display:block; }.review-card { display:none; min-height:178px; padding:21px; }.review-card.active { display:block; }
  .carousel-arrow,.carousel-dots { display:flex; }.carousel-arrow { top:43%; align-items:center; justify-content:center; }
  .site-footer { padding:42px 7% 18px; }.footer-main { grid-template-columns:1fr 1fr; gap:33px 21px; padding-bottom:29px; }
  .footer-brand { grid-column:1/-1; }.footer-brand>p { max-width:290px; }.footer-links { gap:13px; }.footer-links h3 { font-size:9px; }.footer-links a { font-size:9px; }
  .newsletter { grid-column:1/-1; }.newsletter h2 { font-size:24px; }.footer-bottom { gap:10px 14px; font-size:7px; }.footer-bottom span:last-child { text-align:right; }
  .cart-drawer { padding:23px 20px 17px; }
  .checkout-modal { max-height:92vh; padding:22px 18px 18px; border-radius:18px; }
  .checkout-header { margin-bottom:17px; }.checkout-header h2 { font-size:27px; }
  .checkout-columns { grid-template-columns:1fr; gap:20px; }
  .checkout-summary { order:-1; }
  .place-order-button { margin-top:16px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
