.auth-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:24px;animation:authOverlayIn .2s var(--ease-out)}@keyframes authOverlayIn{0%{opacity:0}to{opacity:1}}.auth-modal{position:relative;width:100%;max-width:400px;background:#fff;border-radius:16px;padding:40px 32px 32px;box-shadow:0 24px 64px #0000001f;animation:authModalIn .25s var(--ease-out)}@keyframes authModalIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-close{position:absolute;top:12px;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--text-light);cursor:pointer;transition:background .15s ease,color .15s ease}@media(hover:hover)and (pointer:fine){.auth-close:hover{background:var(--cream-dark);color:var(--forest)}}.auth-header{text-align:center;margin-bottom:28px}.auth-header h2{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:400;color:var(--forest);margin-bottom:8px}.auth-header p{font-size:.9rem;color:var(--text-light);font-weight:300;line-height:1.5}.auth-tabs{display:flex;gap:4px;margin-bottom:24px;padding:4px;background:var(--cream-dark);border-radius:100px}.auth-tab{flex:1;padding:8px 16px;border:none;border-radius:100px;background:transparent;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;color:var(--text-light);cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.auth-tab.active{background:#fff;color:var(--forest);box-shadow:0 1px 4px #0000000f}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:.8rem;font-weight:500;color:var(--forest);letter-spacing:.04em;text-transform:uppercase}.auth-field input{padding:12px 14px;border:1.5px solid var(--cream-dark);border-radius:10px;font-family:Inter,sans-serif;font-size:.9rem;color:var(--text);background:#fff;outline:none;transition:border-color .2s ease}.auth-field input:focus{border-color:var(--sage)}.auth-field input::placeholder{color:var(--text-light);opacity:.5}.auth-error{font-size:.85rem;color:#c0392b;font-weight:400;padding:8px 12px;background:#c0392b0f;border-radius:8px}.auth-submit{width:100%;padding:14px;margin-top:4px}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-footnote{text-align:center;font-size:.85rem;color:var(--text-light);font-weight:300;margin-top:20px}.auth-link{background:none;border:none;font-family:Inter,sans-serif;font-size:.85rem;color:var(--sage);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}@media(hover:hover)and (pointer:fine){.auth-link:hover{color:var(--forest)}}@media(prefers-reduced-motion:reduce){.auth-overlay,.auth-modal{animation:none}}.mobile-nav-overlay{position:fixed;inset:0;z-index:200;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.23,1,.32,1)}.mobile-nav-overlay.open{opacity:1;pointer-events:auto}.mobile-nav-drawer{position:fixed;top:0;right:0;bottom:0;z-index:201;width:300px;max-width:85vw;background:#fff;display:flex;flex-direction:column;padding:24px;transform:translate(100%);transition:transform .35s cubic-bezier(.23,1,.32,1);box-shadow:-4px 0 24px #0000000f}.mobile-nav-drawer.open{transform:translate(0)}.mobile-nav-close{align-self:flex-end;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:var(--text-light);cursor:pointer;margin-bottom:40px;transition:background .15s ease,color .15s ease}@media(hover:hover)and (pointer:fine){.mobile-nav-close:hover{background:var(--cream-dark);color:var(--forest)}}.mobile-nav-links{display:flex;flex-direction:column;gap:8px}.mobile-nav-links a{display:block;padding:12px 8px;font-family:Playfair Display,serif;font-size:1.4rem;font-weight:400;color:var(--forest);text-decoration:none;border-radius:8px;transition:background .15s ease,color .15s ease;opacity:0;transform:translate(16px);transition:opacity .35s cubic-bezier(.23,1,.32,1),transform .35s cubic-bezier(.23,1,.32,1),background .15s ease;transition-delay:calc(var(--i, 0) * 60ms + .1s)}@media(hover:hover)and (pointer:fine){.mobile-nav-links a:hover{background:var(--cream-dark)}}.mobile-nav-overlay.open .mobile-nav-links a{opacity:1;transform:translate(0)}.mobile-nav-divider{height:1px;background:var(--cream-dark);margin:24px 8px;opacity:0;transition:opacity .3s ease;transition-delay:.28s}.mobile-nav-overlay.open .mobile-nav-divider{opacity:1}.mobile-nav-auth{display:flex;flex-direction:column;gap:4px;padding:8px;margin-bottom:auto;opacity:0;transform:translate(16px);transition:opacity .35s cubic-bezier(.23,1,.32,1),transform .35s cubic-bezier(.23,1,.32,1);transition-delay:.28s}.mobile-nav-overlay.open .mobile-nav-auth{opacity:1;transform:translate(0)}.mobile-nav-user{font-size:.9rem;font-weight:500;color:var(--forest)}.mobile-nav-signout{align-self:flex-start;background:none;border:none;padding:4px 0;font-family:Inter,sans-serif;font-size:.82rem;font-weight:500;color:var(--text-light);cursor:pointer;transition:color .15s ease}@media(hover:hover)and (pointer:fine){.mobile-nav-signout:hover{color:var(--forest)}}.mobile-nav-signin{padding:10px 0;background:none;border:none;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;color:var(--forest);cursor:pointer;text-align:left;transition:color .15s ease}@media(hover:hover)and (pointer:fine){.mobile-nav-signin:hover{color:var(--sage)}}.mobile-nav-cart{display:flex;align-items:center;gap:12px;padding:12px 8px;margin-top:8px;border-radius:8px;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;color:var(--forest);text-decoration:none;transition:background .15s ease;opacity:0;transform:translate(16px);transition:opacity .35s cubic-bezier(.23,1,.32,1),transform .35s cubic-bezier(.23,1,.32,1),background .15s ease;transition-delay:.34s}@media(hover:hover)and (pointer:fine){.mobile-nav-cart:hover{background:var(--cream-dark)}}.mobile-nav-overlay.open .mobile-nav-cart{opacity:1;transform:translate(0)}.mobile-cart-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--forest);color:#fff;font-size:.7rem;font-weight:600;border-radius:100px;line-height:1}@media(prefers-reduced-motion:reduce){.mobile-nav-overlay,.mobile-nav-drawer{transition:none}.mobile-nav-links a{opacity:1;transform:none;transition:none}.mobile-nav-divider{opacity:1;transition:none}.mobile-nav-auth,.mobile-nav-cart{opacity:1;transform:none;transition:none}}.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:20px 48px;max-width:1280px;margin:0 auto;width:100%;background:linear-gradient(to bottom,var(--cream) 0%,transparent 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.site-nav .logo{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600;letter-spacing:.08em;color:var(--forest);text-decoration:none;transition:opacity .2s ease}.site-nav .nav-links{display:flex;gap:36px;list-style:none}.site-nav .nav-links a{text-decoration:none;color:var(--text-light);font-size:.85rem;font-weight:500;letter-spacing:.04em;transition:color .2s ease}.nav-actions{display:flex;align-items:center;gap:20px}.nav-signin{padding:8px 18px;border:1.5px solid var(--text-light);border-radius:100px;background:transparent;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;color:var(--text-light);cursor:pointer;transition:border-color .2s ease,color .2s ease}.nav-user{display:flex;align-items:center;gap:12px}.nav-user-name{font-size:.85rem;font-weight:500;color:var(--forest)}.nav-signout{padding:6px 14px;border:none;border-radius:100px;background:transparent;font-family:Inter,sans-serif;font-size:.78rem;font-weight:500;color:var(--text-light);cursor:pointer;transition:background .15s ease,color .15s ease}.cart-link{position:relative;color:var(--text-light);transition:color .2s ease}@media(hover:hover)and (pointer:fine){.site-nav .logo:hover{opacity:.7}.nav-signin:hover{border-color:var(--forest);color:var(--forest)}.nav-signout:hover{background:#0000000a;color:var(--forest)}.site-nav .nav-links a:hover,.cart-link:hover{color:var(--forest)}}.cart-badge{position:absolute;top:-6px;right:-8px;min-width:18px;height:18px;padding:0 4px;background:var(--forest);color:#fff;font-size:.65rem;font-weight:600;line-height:18px;text-align:center;border-radius:100px;pointer-events:none;animation:badgePop .2s var(--ease-out)}@keyframes badgePop{0%{transform:scale(0)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.cart-badge{animation:none}}.mobile-nav-toggle{display:none;align-items:center;justify-content:center;background:none;border:none;padding:6px;cursor:pointer;color:var(--forest);border-radius:8px;transition:background .15s ease;order:-1}@media(hover:hover)and (pointer:fine){.mobile-nav-toggle:hover{background:#1a33230f}}.hamburger-lines{display:flex;flex-direction:column;gap:5px;width:22px}.hamburger-lines span{display:block;width:100%;height:1.5px;background:currentColor;border-radius:1px;transition:transform .25s cubic-bezier(.23,1,.32,1),opacity .2s cubic-bezier(.23,1,.32,1);transform-origin:center}.mobile-nav-toggle[aria-expanded=true] .hamburger-lines span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.mobile-nav-toggle[aria-expanded=true] .hamburger-lines span:nth-child(2){opacity:0}.mobile-nav-toggle[aria-expanded=true] .hamburger-lines span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}@media(max-width:768px){.site-nav{padding:16px 24px}.site-nav .nav-links{display:none}.mobile-nav-toggle{display:flex}.nav-user-name{display:none}}@media(prefers-reduced-motion:reduce){.hamburger-lines span{transition:none}}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;pointer-events:none}.blob-1{width:500px;height:500px;background:var(--sage);top:-150px;right:-100px;animation:blobFloat 20s ease-in-out infinite}.blob-2{width:400px;height:400px;background:var(--water);bottom:-100px;left:-100px;animation:blobFloat 25s ease-in-out infinite reverse}.blob-3{width:300px;height:300px;background:var(--sand);top:40%;left:50%;animation:blobFloat 18s ease-in-out infinite 3s}@keyframes blobFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.5fr 1fr;align-items:center;flex:1;max-width:1280px;margin:0 auto;padding:0 48px;width:100%;gap:40px}.hero-text{padding-bottom:60px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);margin-bottom:24px;opacity:0;animation:fadeSlideUp .6s var(--ease-out) .3s forwards}.hero-text h1{font-family:Playfair Display,serif;font-size:clamp(4rem,8vw,7rem);font-weight:400;line-height:.95;color:var(--forest);margin-bottom:20px;opacity:0;animation:fadeSlideUp .7s var(--ease-out) .4s forwards}.hero-text h1 span{font-style:italic;display:block;font-weight:400;color:var(--sage)}.hero-text p{font-size:1.05rem;line-height:1.7;color:var(--text-light);max-width:400px;margin-bottom:36px;font-weight:300;opacity:0;animation:fadeSlideUp .6s var(--ease-out) .55s forwards}.hero-cta{display:flex;gap:16px;opacity:0;animation:fadeSlideUp .6s var(--ease-out) .7s forwards}.btn{padding:14px 32px;border:none;border-radius:100px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:transform .16s var(--ease-out),box-shadow .2s ease,background .2s ease;will-change:transform}.btn:active{transform:scale(.97)}.btn-primary{background:var(--forest);color:#fff}.btn-secondary{background:transparent;color:var(--forest);border:1.5px solid var(--forest)}@media(hover:hover)and (pointer:fine){.btn-primary:hover{box-shadow:0 8px 24px #1a332333}.btn-secondary:hover{background:#1a33230f}}.hero-visual{display:flex;justify-content:center;align-items:center;position:relative;padding:40px 0;opacity:0;animation:bottleEnter .9s var(--ease-out) .5s forwards}@keyframes bottleEnter{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.bottle-wrap{position:relative;width:360px;height:560px}.hero-bottle-img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;display:block;border-radius:12px}.bottle-shadow{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:80%;height:20px;background:radial-gradient(ellipse,rgba(0,0,0,.08) 0%,transparent 70%);border-radius:50%;z-index:0}.scroll-indicator{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;padding-bottom:32px;color:var(--text-light);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:0;animation:fadeSlideUp .6s var(--ease-out) 1s forwards}.scroll-line{width:1px;height:32px;background:linear-gradient(to bottom,var(--text-light),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{transform:scaleY(1);opacity:.6}50%{transform:scaleY(1.4);opacity:1}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hero nav{padding:20px 24px}.nav-links{display:none}.hero-grid{grid-template-columns:1fr;padding:0 24px;gap:0}.hero-text{padding-bottom:20px;text-align:center}.hero-text p{max-width:100%;margin-left:auto;margin-right:auto}.hero-cta{justify-content:center}.hero-visual{padding:20px 0}.bottle-wrap{width:280px;height:420px}}@media(prefers-reduced-motion:reduce){.hero-visual{opacity:1;transform:none}}.story-wrap{background:var(--cream-dark)}.story-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center}.story-text{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-out) .1s,transform .6s var(--ease-out) .1s}.story-wrap[data-visible=true] .story-text{opacity:1;transform:translateY(0)}.story-text h2{font-family:Playfair Display,serif;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:400;line-height:1.1;color:var(--forest);margin-bottom:24px}.story-text p{font-size:1rem;line-height:1.8;color:var(--text-light);font-weight:300;margin-bottom:16px}.story-text p:last-child{margin-bottom:0}.story-visual-wrap{position:relative;display:flex;justify-content:center;align-items:center;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease-out) .2s;opacity:1}.story-wrap[data-visible=true] .story-visual-wrap{clip-path:inset(0 0 0 0)}.story-visual-wrap img{width:100%;max-width:460px;height:auto;display:block;border-radius:12px}@media(max-width:768px){.story-grid{grid-template-columns:1fr;gap:48px}.story-visual-wrap img{max-width:320px}}@media(prefers-reduced-motion:reduce){.story-text{opacity:1;transform:none;transition:none}.story-visual-wrap{clip-path:none;transition:none}}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.feature-card{background:#fff;border-radius:16px;padding:40px 28px;text-align:center;box-shadow:0 2px 8px #0000000a;opacity:0;transform:translateY(20px);will-change:transform}.feature-card:active{transform:scale(.97)}.feature-card:nth-child(1){transition:opacity .3s var(--ease-out) 0ms,transform .3s var(--ease-out) 0ms}.feature-card:nth-child(2){transition:opacity .3s var(--ease-out) 60ms,transform .3s var(--ease-out) 60ms}.feature-card:nth-child(3){transition:opacity .3s var(--ease-out) .12s,transform .3s var(--ease-out) .12s}.feature-card:nth-child(4){transition:opacity .3s var(--ease-out) .18s,transform .3s var(--ease-out) .18s}@media(hover:hover)and (pointer:fine){.feature-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px);transition:transform .2s var(--ease-out),box-shadow .2s ease}}section[data-visible=true] .feature-card{opacity:1;transform:translateY(0)}.feature-icon{width:48px;height:48px;margin:0 auto 20px}.feature-card h3{font-family:Playfair Display,serif;font-size:1.15rem;font-weight:400;color:var(--forest);margin-bottom:12px}.feature-card p{font-size:.9rem;line-height:1.7;color:var(--text-light);font-weight:300}@media(max-width:768px){.features-grid{grid-template-columns:1fr;gap:16px}.feature-card{padding:28px 20px}}@media(prefers-reduced-motion:reduce){.feature-card{opacity:1;transform:none;transition:none}}.shop-wrap{background:var(--cream-dark)}.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.product-card{background:#fff;border-radius:16px;padding:0 32px 28px;text-align:center;overflow:hidden;box-shadow:0 2px 8px #0000000a;transition:transform .2s var(--ease-out),box-shadow .2s ease;opacity:0;transform:translateY(20px);text-decoration:none;color:inherit;display:flex;flex-direction:column;will-change:transform}.product-card:active{transform:scale(.97)}.product-card:nth-child(1){transition:opacity .5s var(--ease-out) 0ms,transform .5s var(--ease-out) 0ms}.product-card:nth-child(2){transition:opacity .5s var(--ease-out) 80ms,transform .5s var(--ease-out) 80ms}.product-card:nth-child(3){transition:opacity .5s var(--ease-out) .16s,transform .5s var(--ease-out) .16s}section[data-visible=true] .product-card{opacity:1;transform:translateY(0)}.product-visual{width:auto;height:220px;margin:0 -32px 24px;position:relative}.product-card h3{font-family:Playfair Display,serif;font-size:1.4rem;font-weight:400;color:var(--forest);margin-bottom:8px}.product-price{font-size:1.1rem;font-weight:500;color:var(--sage);margin-bottom:24px}.product-card .btn{display:inline-block;padding:12px 28px}.shop-preview-cta{text-align:center;margin-top:40px}@media(max-width:768px){.products-grid{grid-template-columns:1fr;gap:20px;max-width:360px;margin:0 auto}}footer{background:var(--forest);color:#ffffffd9;padding:80px 48px 32px}.footer-grid{max-width:1280px;margin:0 auto 48px;width:100%;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}.footer-brand .logo{color:#fff;opacity:1;animation:none;margin-bottom:16px}.footer-brand p{font-size:.9rem;line-height:1.7;font-weight:300;opacity:.7;max-width:280px}.footer-col h4{font-family:Playfair Display,serif;font-size:1rem;font-weight:400;color:#fff;margin-bottom:16px}.footer-col ul{list-style:none;padding:0}.footer-col ul li{margin-bottom:8px}.footer-col ul a{color:#fff9;text-decoration:none;font-size:.9rem;font-weight:300;transition:color .2s ease}.footer-col ul a:hover{color:#fff}.footer-social{color:#fff9;font-size:.9rem;font-weight:300}.footer-bottom{max-width:1280px;margin:0 auto;width:100%;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);text-align:center}.footer-bottom p{font-size:.8rem;opacity:.4;font-weight:300}@media(max-width:768px){footer{padding:60px 24px 24px}.footer-grid{grid-template-columns:1fr;gap:32px;text-align:center}.footer-brand p{max-width:100%;margin:0 auto}}.shop-page{min-height:100vh}.shop-hero{padding-top:40px}.shop-filters{display:flex;justify-content:center;gap:8px;margin-bottom:48px}.shop-filter-btn{padding:8px 20px;border:1.5px solid var(--text-light);border-radius:100px;background:transparent;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;color:var(--text-light);cursor:pointer;transition:all .2s ease}.shop-filter-btn:hover{border-color:var(--forest);color:var(--forest)}.shop-filter-btn.active{background:var(--forest);border-color:var(--forest);color:#fff}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px}.product-card{background:#fff;border-radius:16px;padding:0 28px 24px;text-align:center;overflow:hidden;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;opacity:0;transform:translateY(20px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out),box-shadow .2s ease;will-change:transform}.product-card.visible{opacity:1;transform:translateY(0)}@media(hover:hover)and (pointer:fine){.product-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}}.product-card-link{text-decoration:none;color:inherit;flex:1}.product-card-link:active{transform:scale(.97)}.product-visual{width:auto;height:220px;margin:0 -28px 20px;position:relative}.product-visual svg,.product-visual .product-img{width:100%;height:100%;object-fit:cover;border-radius:0}.product-badge{display:inline-block;padding:4px 12px;background:var(--sage);color:#fff;font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:100px;margin-bottom:12px}.product-card h3{font-family:Playfair Display,serif;font-size:1.3rem;font-weight:400;color:var(--forest);margin-bottom:8px}.product-desc{font-size:.88rem;line-height:1.7;color:var(--text-light);font-weight:300;margin-bottom:16px}.product-price{font-size:1.1rem;font-weight:500;color:var(--sage);margin-bottom:20px}.product-card .btn{display:inline-block;padding:12px 28px;width:100%}@media(max-width:768px){.shop-grid{grid-template-columns:1fr;gap:20px}.shop-filters{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.product-card{opacity:1;transform:none;transition:none}}.qty-picker{display:inline-flex;align-items:center;gap:0;border:1.5px solid var(--cream-dark);border-radius:100px;overflow:hidden}.qty-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;color:var(--text-light);cursor:pointer;transition:background .15s ease,color .15s ease}@media(hover:hover)and (pointer:fine){.qty-btn:hover:not(:disabled){background:var(--cream-dark);color:var(--forest)}}.qty-btn:disabled{opacity:.3;cursor:default}.qty-value{min-width:32px;text-align:center;font-size:.95rem;font-weight:500;color:var(--forest);font-variant-numeric:tabular-nums}.product-detail-page{min-height:100vh}.product-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:48px;font-size:.85rem;color:var(--text-light)}.product-breadcrumb a{color:var(--sage);text-decoration:none;transition:color .2s ease}.product-breadcrumb a:hover{color:var(--forest)}.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.product-detail-visual{position:relative;display:flex;justify-content:center;align-items:center;padding:40px}.product-detail-blob{position:absolute;width:320px;height:320px;background:var(--water);border-radius:50%;filter:blur(80px);opacity:.15;pointer-events:none;top:50%;left:50%;transform:translate(-50%,-50%)}.product-detail-bottle{position:relative;z-index:1;width:220px;height:320px;will-change:transform}.product-detail-bottle svg,.product-detail-bottle .product-img{width:100%;height:100%;object-fit:cover;border-radius:12px}.product-detail-info{padding-top:20px}.product-detail-info .product-badge{display:inline-block;padding:4px 12px;background:var(--sage);color:#fff;font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:100px;margin-bottom:16px}.product-detail-info h1{font-family:Playfair Display,serif;font-size:clamp(2.2rem,4vw,3rem);font-weight:400;color:var(--forest);margin-bottom:16px;line-height:1.1}.product-detail-price{font-size:1.5rem;font-weight:500;color:var(--sage);margin-bottom:24px}.product-detail-desc{font-size:1rem;line-height:1.8;color:var(--text-light);font-weight:300;margin-bottom:32px}.product-features{list-style:none;padding:0;margin-bottom:40px;display:flex;flex-direction:column;gap:12px}.product-features li{position:relative;padding-left:24px;font-size:.9rem;color:var(--text-light);font-weight:300;line-height:1.6}.product-features li:before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--sage);opacity:.5}.product-detail-actions{display:flex;gap:16px;align-items:center}.product-detail-actions .btn{padding:14px 36px;flex:1}.btn-added{background:var(--sage)!important;color:#fff!important}.product-more{background:var(--cream-dark)}.more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:600px;margin:0 auto}.more-card{background:#fff;border-radius:16px;padding:32px 24px;text-align:center;text-decoration:none;color:inherit;box-shadow:0 2px 8px #0000000a;transition:transform .2s var(--ease-out),box-shadow .2s ease;will-change:transform}.more-card:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.more-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}}.more-card-visual{width:100px;height:160px;margin:0 auto 16px}.more-card-visual svg,.more-card-visual .product-img{width:100%;height:100%;object-fit:cover;border-radius:12px}.more-card h3{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:400;color:var(--forest);margin-bottom:4px}@media(max-width:768px){.product-detail-grid{grid-template-columns:1fr;gap:40px}.product-detail-visual{padding:20px}.product-detail-bottle{width:180px;height:260px}.product-detail-actions{flex-direction:column}.product-detail-actions .btn{width:100%}.more-grid{grid-template-columns:1fr}}.cart-page{min-height:100vh}.cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}.cart-header h1{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:400;color:var(--forest)}.cart-clear-btn{background:none;border:none;font-family:Inter,sans-serif;font-size:.85rem;color:var(--text-light);cursor:pointer;transition:color .2s ease;text-decoration:underline;text-underline-offset:2px}.cart-clear-btn:hover{color:var(--forest)}.cart-empty{text-align:center;padding:80px 20px}.cart-empty h2{font-family:Playfair Display,serif;font-size:1.6rem;font-weight:400;color:var(--forest);margin:20px 0 8px}.cart-empty p{font-size:1rem;color:var(--text-light);font-weight:300;margin-bottom:32px}.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start}.cart-items{display:flex;flex-direction:column;gap:16px}.cart-item{display:flex;align-items:center;gap:20px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a}.cart-item-visual{width:56px;height:88px;flex-shrink:0}.cart-item-visual svg,.cart-item-visual .product-img{width:100%;height:100%;object-fit:cover;border-radius:12px}.cart-item-info{flex:1;min-width:0}.cart-item-info h3{font-family:Playfair Display,serif;font-size:1rem;font-weight:400;color:var(--forest);margin-bottom:2px}.cart-item-price{font-size:.85rem;color:var(--text-light);font-weight:300}.cart-item-total{font-size:.95rem;font-weight:500;color:var(--forest);min-width:60px;text-align:right;font-variant-numeric:tabular-nums}.cart-item-remove{background:none;border:none;padding:6px;color:var(--text-light);cursor:pointer;border-radius:6px;transition:background .15s ease,color .15s ease}@media(hover:hover)and (pointer:fine){.cart-item-remove:hover{background:#0000000a;color:#c0392b}}.cart-summary{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000000a;position:sticky;top:24px}.cart-summary h3{font-family:Playfair Display,serif;font-size:1.2rem;font-weight:400;color:var(--forest);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--cream-dark)}.summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.9rem;color:var(--text-light);font-weight:300}.summary-shipping span:last-child{font-size:.8rem}.summary-total{display:flex;justify-content:space-between;align-items:center;padding-top:16px;margin-top:16px;border-top:1px solid var(--cream-dark);font-size:1.1rem;font-weight:500;color:var(--forest);margin-bottom:24px}.cart-summary .btn{display:block;padding:14px;margin-bottom:12px}.cart-summary .btn:disabled{opacity:.5;cursor:not-allowed}.cart-continue{display:block;text-align:center;font-size:.85rem;color:var(--text-light);text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.cart-continue:hover{color:var(--forest)}@media(max-width:768px){.cart-layout{grid-template-columns:1fr;gap:32px}.cart-item{flex-wrap:wrap;gap:12px}.cart-item-info{flex-basis:calc(100% - 68px)}.cart-item-total{margin-left:auto}.cart-summary{position:static}}.checkout-page{min-height:100vh}.checkout-layout{display:grid;grid-template-columns:1fr 400px;gap:48px;align-items:start}.checkout-auth-prompt{text-align:center;padding:80px 20px}.checkout-auth-prompt h2{font-family:Playfair Display,serif;font-size:1.6rem;font-weight:400;color:var(--forest);margin:20px 0 8px}.checkout-auth-prompt p{font-size:1rem;color:var(--text-light);font-weight:300;margin-bottom:32px}.checkout-form h2{font-family:Playfair Display,serif;font-size:1.3rem;font-weight:400;color:var(--forest);margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.82rem;font-weight:500;color:var(--text-light);margin-bottom:6px;letter-spacing:.02em}.form-group input{width:100%;padding:12px 16px;border:1.5px solid #e0e0e0;border-radius:10px;font-family:Inter,sans-serif;font-size:.95rem;color:var(--forest);background:#fff;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px #88a38626}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkout-summary{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000000a;position:sticky;top:24px}.checkout-summary h3{font-family:Playfair Display,serif;font-size:1.2rem;font-weight:400;color:var(--forest);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--cream-dark)}.checkout-summary-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--cream-dark)}.checkout-summary-item:last-of-type{border-bottom:none}.checkout-summary-item-img{width:40px;height:60px;flex-shrink:0;border-radius:6px;overflow:hidden;background:var(--cream-dark)}.checkout-summary-item-img svg,.checkout-summary-item-img img{width:100%;height:100%;object-fit:cover}.checkout-summary-item-info{flex:1;min-width:0}.checkout-summary-item-info h4{font-size:.88rem;font-weight:500;color:var(--forest);margin-bottom:2px}.checkout-summary-item-info p{font-size:.8rem;color:var(--text-light)}.checkout-summary-item-total{font-size:.9rem;font-weight:500;color:var(--forest);font-variant-numeric:tabular-nums}.checkout-summary-totals{margin-top:16px;padding-top:16px;border-top:1px solid var(--cream-dark)}.checkout-summary-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--text-light);font-weight:300;margin-bottom:8px}.checkout-summary-total{display:flex;justify-content:space-between;font-size:1.1rem;font-weight:500;color:var(--forest);padding-top:12px;margin-top:8px;border-top:1px solid var(--cream-dark)}.checkout-form-actions{margin-top:32px}.checkout-form-actions .btn{width:100%;padding:14px;font-size:.95rem}.checkout-confirmation{text-align:center;padding:60px 20px;max-width:540px;margin:0 auto}.checkout-confirmation-icon{width:64px;height:64px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.checkout-confirmation h2{font-family:Playfair Display,serif;font-size:2rem;font-weight:400;color:var(--forest);margin-bottom:8px}.checkout-confirmation .order-id{font-size:.85rem;color:var(--text-light);font-weight:500;margin-bottom:24px}.checkout-confirmation p{font-size:1rem;color:var(--text-light);font-weight:300;line-height:1.7;margin-bottom:32px}@media(max-width:768px){.checkout-layout{grid-template-columns:1fr;gap:32px}.form-row{grid-template-columns:1fr}.checkout-summary{position:static}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--cream: #f5f2eb;--cream-dark: #e8e3d8;--forest: #1a3323;--sage: #7a9b7a;--water: #6baabe;--water-deep: #3a7a8a;--sand: #d4c5a9;--text: #1c1c1c;--text-light: #6b6560;--ease-out: cubic-bezier(.23, 1, .32, 1)}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden;min-height:100vh}#app{display:flex;flex-direction:column}.section-wrap{width:100%;padding:120px 48px}.section-content{max-width:1280px;margin:0 auto;width:100%}.section-header{text-align:center;margin-bottom:72px}.section-header h2{font-family:Playfair Display,serif;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:400;line-height:1.15;color:var(--forest);margin-bottom:20px}.section-header p{font-size:1.05rem;line-height:1.7;color:var(--text-light);max-width:480px;margin:0 auto;font-weight:300}@media(max-width:768px){.section-wrap{padding:80px 24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
