@import"https://fonts.googleapis.com/css2?family=Besley:ital,wght@0,600;0,700;0,800;0,900;1,700;1,800;1,900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--color-forest: #234E28;--color-forest-dark: #163519;--color-sage: #5E8254;--color-sage-light: #7E9F74;--color-moss: #3B6334;--color-leaf: #327824;--color-logo: #CAD7BA;--color-logo-hover: #BACDA7;--color-logo-text: #163519;--color-blanco-vegetal: #FAFBF8;--color-white: #FFFFFF;--color-off-white: #F6F8F4;--color-stone-light: #ECEFEA;--color-stone: #E2E7DE;--color-stone-medium: #D0D8CB;--color-stone-dark: #A9B5A3;--color-cream-warm: #FAFBF8;--color-cream: #E2E7DE;--color-sand: #C6D2C0;--color-sand-light: #E2E7DE;--color-earth: #3B2F1E;--color-earth-mid: #5C4A32;--color-earth-light: #525A4E;--color-terracotta: #B87333;--color-terracotta-h: #CF8A4A;--color-olive: #6E7A4A;--color-gray-100: #EDF1EA;--color-gray-200: #D2DBD0;--color-gray-300: #B6C2B3;--color-gray-400: #7F8E7C;--color-gray-500: #556352;--color-gray-600: #3E4B3C;--color-gray-700: #2C372A;--color-gray-800: #1E261D;--color-gray-900: #121811;--font-display: "Besley", Georgia, serif;--font-heading: "Besley", Georgia, serif;--font-body: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px;--space-5xl: 128px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(35, 78, 40, .05);--shadow-md: 0 8px 24px rgba(35, 78, 40, .07);--shadow-lg: 0 16px 48px rgba(35, 78, 40, .09);--shadow-xl: 0 24px 64px rgba(35, 78, 40, .12);--shadow-glow: 0 0 40px rgba(94, 130, 84, .16);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .2s;--duration-normal: .4s;--duration-slow: .6s;--container-max: 1200px;--container-narrow: 800px;--nav-height: 80px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--color-earth);background:var(--color-cream-warm);line-height:1.7;min-height:100vh;overflow-x:hidden}img{max-width:100%;display:block;height:auto;transition:opacity .3s ease}img.img-fallback{object-fit:cover;background:linear-gradient(135deg,#0e1c15,#1b4332,#2d6a4f);border-radius:inherit;min-height:140px}a{color:inherit;text-decoration:none;transition:color var(--duration-fast) ease}ul,ol{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.15;color:var(--color-earth)}.section-eyebrow{display:inline-block;font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--color-sage);margin-bottom:var(--space-md);position:relative;padding-left:36px}.section-eyebrow:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:24px;height:2px;background:var(--color-terracotta)}.section-title{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:var(--space-md);color:var(--color-earth)}.section-subtitle{font-size:1.05rem;color:var(--color-gray-500);max-width:560px;line-height:1.7}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-lg)}.container--narrow{max-width:var(--container-narrow)}.reveal{opacity:0;transform:translateY(32px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translate(-40px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.reveal-left.is-visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(40px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.reveal-right.is-visible{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transform:scale(.92);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.reveal-scale.is-visible{opacity:1;transform:scale(1)}[data-delay="1"]{transition-delay:.1s}[data-delay="2"]{transition-delay:.2s}[data-delay="3"]{transition-delay:.3s}[data-delay="4"]{transition-delay:.4s}[data-delay="5"]{transition-delay:.5s}[data-delay="6"]{transition-delay:.6s}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-cream)}::-webkit-scrollbar-thumb{background:var(--color-sand);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-sage)}::selection{background:#6b8f4e33;color:var(--color-earth)}.section-divider{width:100%;height:80px;position:relative;overflow:hidden}.section-divider svg{position:absolute;bottom:0;width:100%;height:100%}.navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:0 var(--space-lg);height:var(--nav-height, 84px);display:flex;align-items:center;transition:background var(--duration-normal, .3s) ease,box-shadow var(--duration-normal, .3s) ease,backdrop-filter var(--duration-normal, .3s) ease,border-color var(--duration-normal, .3s) ease}.navbar--transparent{background:#18100bb8;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid rgba(212,197,169,.12)}.navbar--solid{background:#1c130df5;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);box-shadow:0 4px 24px #0000004d;border-bottom:1px solid rgba(212,197,169,.16)}.navbar--solid .nav-link{color:var(--color-sand-light, #E8DFCC)}.navbar--solid .nav-logo img{filter:none}.nav-container{width:100%;max-width:var(--container-max, 1200px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg, 24px)}.nav-logo{display:flex;align-items:center}.nav-logo img{height:64px;width:auto;object-fit:contain;transition:transform var(--duration-fast, .15s) ease;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25))}.nav-logo:hover img{transform:scale(1.04)}.navbar--transparent .nav-logo img{filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.nav-menu{display:flex;align-items:center;gap:var(--space-xl, 32px)}.nav-link{font-size:.95rem;font-weight:500;color:var(--color-sand-light, #E8DFCC);transition:color var(--duration-fast, .15s) ease,transform var(--duration-fast, .15s) ease;position:relative;letter-spacing:.3px;text-decoration:none}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-sand, #D4C5A9);transition:width var(--duration-normal, .3s) var(--ease-out, ease-out)}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link:hover,.nav-link.active,.navbar--solid .nav-link:hover,.navbar--solid .nav-link.active{color:#fff}.nav-cta{font-size:.85rem;background:var(--color-terracotta, #B87333);color:#fff}.nav-cta:hover{background:var(--color-terracotta-h, #CF8A4A);color:#fff}.btn-nav-back,.navbar .btn-secondary,.navbar--solid .btn-secondary,.navbar--transparent .btn-secondary{background:#d4c5a91f!important;color:var(--color-sand-light, #E8DFCC)!important;border:1.5px solid var(--color-sand, #D4C5A9)!important;border-radius:var(--radius-full)!important;padding:6px 18px!important;font-size:.84rem!important;font-weight:600!important;letter-spacing:.3px!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;gap:6px!important;transition:all var(--duration-fast, .2s) ease!important;box-shadow:0 2px 8px #00000026!important}.btn-nav-back:hover,.navbar .btn-secondary:hover,.navbar--solid .btn-secondary:hover,.navbar--transparent .btn-secondary:hover{background:var(--color-sand, #D4C5A9)!important;color:#1c130d!important;border-color:var(--color-sand-light, #E8DFCC)!important;transform:translateY(-1px)!important;box-shadow:0 4px 14px #d4c5a94d!important}.nav-right{display:flex;align-items:center;gap:18px}.nav-hamburger{display:none;background:transparent;border:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer;z-index:1001}.nav-hamburger span{display:block;width:24px;height:2px;background:var(--color-sand-light, #E8DFCC);border-radius:2px;transition:all var(--duration-fast, .15s) ease}.navbar--solid .nav-hamburger span{background:var(--color-sand-light, #E8DFCC)}.nav-hamburger.is-active span:nth-child(1){transform:rotate(45deg) translateY(5px) translate(5px)}.nav-hamburger.is-active span:nth-child(2){opacity:0}.nav-hamburger.is-active span:nth-child(3){transform:rotate(-45deg) translateY(-5px) translate(5px)}.nav-cart{position:relative;font-size:1.2rem;color:var(--color-sand-light, #E8DFCC);background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color var(--duration-fast, .15s) ease,transform var(--duration-fast, .15s) ease}.nav-cart:hover{color:#fff;transform:translateY(-1px)}.navbar--solid .nav-cart{color:var(--color-sand-light, #E8DFCC)}.navbar--solid .nav-cart:hover,.navbar--solid .nav-cart.active{color:#fff}.cart-badge{position:absolute;top:-6px;right:-10px;background:var(--color-terracotta, #B87333);color:var(--color-white, #ffffff);font-size:.65rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:scale(0);transition:transform var(--duration-fast, .15s) var(--ease-spring, ease)}.cart-badge.has-items{transform:scale(1)}@media (max-width: 900px){.nav-menu{position:fixed;top:0;right:0;width:300px;max-width:85vw;height:100vh;background:#1c130dfa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;align-items:flex-start;padding:calc(var(--nav-height, 84px) + var(--space-xl, 32px)) var(--space-xl, 32px);gap:var(--space-md, 16px);transform:translate(100%);transition:transform var(--duration-normal, .3s) var(--ease-out, ease-out);box-shadow:-8px 0 32px #0006;z-index:1000}.nav-menu.is-open{transform:translate(0)}.nav-menu .nav-link{color:var(--color-sand-light, #E8DFCC);font-size:1.05rem;padding:var(--space-sm, 8px) 0}.nav-menu .nav-link:hover{color:#fff}.nav-hamburger{display:flex}}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-body);font-weight:600;font-size:.92rem;padding:14px 32px;border-radius:var(--radius-full);transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden;cursor:pointer;border:none;letter-spacing:.3px}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff26;transform:translate(-100%);transition:transform var(--duration-normal) var(--ease-out)}.btn:hover:after{transform:translate(0)}.btn-primary{background:var(--color-forest);color:var(--color-white);box-shadow:0 4px 16px #234e2838}.btn-primary:hover{background:var(--color-forest-dark);transform:translateY(-2px);box-shadow:0 8px 28px #234e2852}.btn-secondary{background:transparent;color:var(--color-forest);border:2px solid var(--color-forest)}.btn-secondary:hover{background:var(--color-forest);color:var(--color-white);transform:translateY(-2px)}.btn-terracotta{background:var(--color-terracotta);color:var(--color-white);box-shadow:0 4px 16px #b8733340}.btn-terracotta:hover{background:var(--color-terracotta-h);transform:translateY(-2px);box-shadow:0 8px 28px #b8733359}.btn-ghost{background:transparent;color:var(--color-white);border:2px solid rgba(255,255,255,.3)}.btn-ghost:hover{background:#ffffff1a;border-color:#fff9}.btn-sm{padding:10px 22px;font-size:.85rem}.btn-icon{font-size:1.1em;transition:transform var(--duration-fast) ease}.btn:hover .btn-icon{transform:translate(4px)}.card{background:var(--color-white);border-radius:var(--radius-lg, 16px);overflow:hidden;border:1px solid var(--color-gray-200);transition:transform var(--duration-normal, .3s) var(--ease-out, ease-out),box-shadow var(--duration-normal, .3s) var(--ease-out, ease-out)}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.card-img{width:100%;height:240px;object-fit:cover}.card-body{padding:var(--space-lg, 24px)}.card-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-sage);background:#5e82541f;padding:4px 12px;border-radius:var(--radius-full, 9999px);margin-bottom:var(--space-sm, 8px)}.card-title{font-family:var(--font-display, serif);font-size:1.25rem;margin-bottom:var(--space-sm, 8px);color:var(--color-forest)}.card-text{font-size:.92rem;color:var(--color-gray-500);line-height:1.6}.shop-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-2xl, 40px);flex-wrap:wrap;gap:var(--space-lg, 24px)}.shop-filters{display:flex;gap:var(--space-sm, 8px);flex-wrap:wrap}.filter-btn{padding:8px 20px;border-radius:var(--radius-full, 9999px);font-size:.82rem;font-weight:600;color:var(--color-gray-500);background:var(--color-white);border:1px solid var(--color-gray-200);transition:all var(--duration-fast, .15s) ease;cursor:pointer}.filter-btn:hover,.filter-btn.active{background:var(--color-forest);color:var(--color-white);border-color:var(--color-forest)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-lg, 24px);width:100%}.product-card{background:var(--color-white);border-radius:var(--radius-lg, 16px);overflow:hidden;border:1px solid var(--color-gray-200);display:flex;flex-direction:column;height:100%;transition:transform var(--duration-normal, .3s) var(--ease-out, ease-out),box-shadow var(--duration-normal, .3s) var(--ease-out, ease-out)}.product-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px #234e2814}.product-img-wrap{position:relative;height:240px;overflow:hidden;background:linear-gradient(135deg,var(--color-cream),var(--color-sand-light))}.product-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow, .5s) var(--ease-out, ease-out)}.product-card:hover .product-img-wrap img{transform:scale(1.06)}.product-badge{position:absolute;top:var(--space-md, 16px);left:var(--space-md, 16px);background:var(--color-sage);color:var(--color-white);font-size:.7rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:4px 12px;border-radius:var(--radius-full, 9999px);z-index:2}.product-body{padding:var(--space-lg, 24px);display:flex;flex-direction:column;flex:1}.product-category{font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-sage);margin-bottom:var(--space-xs, 4px)}.product-name{font-family:var(--font-display, serif);font-size:1.15rem;color:var(--color-forest);margin-bottom:var(--space-sm, 8px)}.product-desc{font-size:.85rem;color:var(--color-gray-500);line-height:1.5;margin-bottom:var(--space-md, 16px);flex:1}.product-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.product-price{font-family:var(--font-display, serif);font-size:1.35rem;font-weight:700;color:var(--color-forest)}.product-price small{font-size:.75rem;color:var(--color-gray-400);font-family:var(--font-body, sans-serif);font-weight:400}.btn-add-cart{width:44px;height:44px;border-radius:50%;background:var(--color-forest);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:all var(--duration-fast, .15s) ease;cursor:pointer;border:none}.btn-add-cart:hover{background:var(--color-terracotta);transform:scale(1.08)}.btn-add-cart.added{background:var(--color-sage);animation:cartPop .4s var(--ease-spring, ease)}@keyframes cartPop{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}.services-section{padding:var(--space-5xl, 80px) 0;background:var(--color-cream);position:relative}.services-header{margin:0 auto var(--space-3xl, 48px);max-width:800px;text-align:center}.services-eyebrow{display:inline-flex;align-items:center;gap:var(--space-sm, 8px);font-size:.8rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#d36a44;margin-bottom:var(--space-xs, 4px)}.services-title{font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3rem);font-weight:700;color:var(--color-forest);line-height:1.15;margin-bottom:var(--space-sm, 8px)}.services-subtitle{font-size:1.05rem;color:var(--color-gray-600);line-height:1.65}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-xl, 32px);align-items:stretch}.service-card-item{display:flex;flex-direction:column;height:100%;background:transparent;transition:transform var(--duration-normal, .3s) var(--ease-out, ease-out)}.service-card-item:hover{transform:translateY(-4px)}.service-card-thumb{width:100%;height:210px;border-radius:var(--radius-sm, 6px);overflow:hidden;margin-bottom:var(--space-md, 16px);background:var(--color-sand-light);position:relative;box-shadow:0 4px 14px #234e280d}.service-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--duration-slow, .5s) var(--ease-out, ease-out)}.service-card-item:hover .service-card-thumb img{transform:scale(1.06)}.service-card-content{display:flex;flex-direction:column;flex-grow:1}.service-card-heading{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:#d36a44;margin-bottom:var(--space-sm, 8px);line-height:1.25}.service-card-description{font-size:.93rem;color:var(--color-gray-600);line-height:1.6;margin-bottom:var(--space-lg, 20px);flex-grow:1}.service-card-action{align-self:center;margin-top:auto;background:#d36a44;color:#fff!important;font-size:.88rem;font-weight:600;padding:9px 20px;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;cursor:pointer;box-shadow:0 2px 8px #d36a4440;transition:background var(--duration-fast, .2s) ease,transform var(--duration-fast, .2s) ease,box-shadow var(--duration-fast, .2s) ease}.service-card-action:hover{background:#b85633;transform:translateY(-2px);box-shadow:0 4px 14px #d36a4459;color:#fff!important}@media (max-width: 1024px){.services-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-lg, 24px)}.service-card-thumb{height:200px}}@media (max-width: 600px){.services-grid{grid-template-columns:1fr;gap:var(--space-xl, 32px)}.service-card-thumb{height:220px}.services-title{font-size:2rem}}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;font-size:.85rem;font-weight:600;color:var(--color-forest);margin-bottom:6px}.form-input,.form-textarea{width:100%;padding:12px 16px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);font-family:inherit;font-size:1rem;background:var(--color-white);color:var(--color-gray-700);transition:all .2s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-sage);box-shadow:0 0 0 3px #5e825424}.form-textarea{min-height:120px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.form-grid.full{grid-template-columns:1fr}.form-vine-wrapper{position:absolute;pointer-events:none;z-index:10;overflow:visible}.form-vine-wrapper.top-left{top:-14px;left:-14px;width:300px;height:300px}.form-vine-wrapper.bottom-right{bottom:-14px;right:-14px;width:250px;height:250px}.form-vine-stem{fill:none;stroke:var(--color-forest);stroke-width:2.8;stroke-linecap:round;stroke-dasharray:600;stroke-dashoffset:600}.vines-grown .form-vine-stem,.is-visible .form-vine-stem{animation:drawVineForm 1.5s cubic-bezier(.22,1,.36,1) forwards}.form-vine-leaf{opacity:0}.form-vine-leaf .leaf-pop{transform-origin:0px 0px;transform:scale(0);opacity:0}.vines-grown .form-vine-leaf,.is-visible .form-vine-leaf{opacity:1}.vines-grown .form-vine-leaf .leaf-pop,.is-visible .form-vine-leaf .leaf-pop{animation:popLeafForm .7s cubic-bezier(.34,1.56,.64,1) forwards}.leaf-delay-1 .leaf-pop{animation-delay:.2s}.leaf-delay-2 .leaf-pop{animation-delay:.45s}.leaf-delay-3 .leaf-pop{animation-delay:.7s}.leaf-delay-4 .leaf-pop{animation-delay:.35s}.leaf-delay-5 .leaf-pop{animation-delay:.6s}@keyframes drawVineForm{0%{stroke-dashoffset:600}to{stroke-dashoffset:0}}@keyframes popLeafForm{0%{opacity:0;transform:scale(0)}65%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.form-vine-flower{display:none;opacity:0}.form-vine-flower .flower-pop{transform-origin:0px 0px;transform:scale(0) rotate(-40deg);opacity:0}.blooming-vines .form-vine-flower{display:block;opacity:1}.blooming-vines.vines-grown .form-vine-flower .flower-pop,.blooming-vines.is-visible .form-vine-flower .flower-pop,.login-modal.active.blooming-vines .form-vine-flower .flower-pop,.blooming-vines .form-vine-flower .flower-pop{animation:popFlower .85s cubic-bezier(.34,1.56,.64,1) forwards}.flower-delay-1 .flower-pop{animation-delay:.75s}.flower-delay-2 .flower-pop{animation-delay:1.05s}.flower-delay-3 .flower-pop{animation-delay:1.25s}@keyframes popFlower{0%{opacity:0;transform:scale(0) rotate(-50deg)}60%{opacity:1;transform:scale(1.2) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.form-vine-flower .sway{transform-origin:0px 0px;animation:gentleBreeze2 3.6s ease-in-out infinite alternate}.form-vine-leaf .sway{transform-origin:0px 0px;animation:gentleBreeze1 3.8s ease-in-out infinite alternate}.form-vine-leaf:nth-child(2n) .sway{animation-name:gentleBreeze2;animation-duration:3.4s;animation-delay:-1.1s}.form-vine-leaf:nth-child(3n) .sway{animation-name:gentleBreeze3;animation-duration:4.2s;animation-delay:-2.2s}.form-vine-leaf:nth-child(4n) .sway{animation-name:gentleBreeze1;animation-duration:4.5s;animation-delay:-3s}.form-vine-leaf:nth-child(5n) .sway{animation-name:gentleBreeze2;animation-duration:3.6s;animation-delay:-1.7s}@keyframes gentleBreeze1{0%{transform:rotate(-9.5deg)}to{transform:rotate(9.5deg)}}@keyframes gentleBreeze2{0%{transform:rotate(10.5deg)}to{transform:rotate(-8.5deg)}}@keyframes gentleBreeze3{0%{transform:rotate(-8.5deg)}to{transform:rotate(10deg)}}@media (max-width: 600px){.form-vine-wrapper.top-left{top:-10px;left:-10px;width:220px;height:220px;transform:scale(.75);transform-origin:top left}.form-vine-wrapper.bottom-right{bottom:-10px;right:-10px;width:180px;height:180px;transform:scale(.75);transform-origin:bottom right}}footer.footer,honatu-footer.footer,honatu-footer{display:block;background:linear-gradient(180deg,var(--color-earth) 0%,var(--color-gray-900) 100%);color:var(--color-sand-light);padding:var(--space-4xl) 0 var(--space-xl);margin-top:auto;position:relative;overflow:hidden;width:100%}footer.footer:before,honatu-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-terracotta),var(--color-sage),transparent)}.footer-inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-lg)}.footer-top{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:var(--space-3xl);padding-bottom:var(--space-3xl);border-bottom:1px solid rgba(212,197,169,.12)}.footer-brand{display:flex;flex-direction:column;gap:var(--space-md)}.footer-brand img,.footer-logo-img{height:84px;width:auto;max-width:250px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15));transition:transform var(--duration-fast) ease}.footer-brand img:hover,.footer-logo-img:hover{transform:scale(1.04)}.footer-brand p{font-size:.9rem;color:var(--color-gray-400);line-height:1.6;max-width:300px}.footer-col h4{font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--color-sand);margin-bottom:var(--space-lg)}.footer-col a{display:block;font-size:.9rem;color:var(--color-gray-400);padding:6px 0;text-decoration:none;transition:color var(--duration-fast) ease,transform var(--duration-fast) ease}.footer-col a:hover{color:var(--color-white);transform:translate(4px)}.footer-col p{font-size:.9rem;color:var(--color-gray-400);padding:4px 0}.footer-col p a{color:var(--color-gray-400);transition:color var(--duration-fast) ease}.footer-col p a:hover{color:var(--color-terracotta);transform:none}.footer-social{display:flex;gap:var(--space-md);margin-top:var(--space-md)}.footer-social a{width:42px;height:42px;border-radius:50%;background:#d4c5a914;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--color-sand);transition:all var(--duration-fast) ease;padding:0;text-decoration:none}.footer-social a:hover{background:var(--color-terracotta);color:var(--color-white);transform:translateY(-3px) scale(1.05)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-xl);font-size:.82rem;color:var(--color-gray-500);flex-wrap:wrap;gap:var(--space-md)}.footer-bottom a{color:var(--color-gray-400);text-decoration:none;padding:0;transition:color var(--duration-fast) ease}.footer-bottom a:hover{color:var(--color-terracotta);transform:none}.footer-legal-links{display:flex;align-items:center;gap:var(--space-md)}@media (max-width: 900px){.footer-top{grid-template-columns:1fr 1fr;gap:var(--space-2xl)}}@media (max-width: 600px){.footer-brand img,.footer-logo-img{height:70px}.footer-top{grid-template-columns:1fr;gap:var(--space-xl)}.footer-bottom{flex-direction:column;gap:var(--space-sm);text-align:center;justify-content:center}.footer-legal-links{justify-content:center}footer.footer,honatu-footer.footer,honatu-footer{padding:var(--space-3xl) 0 var(--space-lg)}}.loader{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-cream-warm);z-index:10000;flex-direction:column}.loader-inner{text-align:center}.loader-logo{height:72px;width:auto;display:block;margin:0 auto 24px;animation:loaderPulse 2s ease-in-out infinite}@keyframes loaderPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.96)}}.loader-bar{width:180px;height:3px;background:var(--color-sand-light);border-radius:var(--radius-full);overflow:hidden;margin:0 auto}.loader-bar-fill{width:0%;height:100%;background:linear-gradient(90deg,var(--color-forest),var(--color-sage),var(--color-terracotta));border-radius:var(--radius-full);animation:loaderFill 1.5s var(--ease-out) forwards}@keyframes loaderFill{0%{width:0%}60%{width:85%}to{width:100%}}.loader--hide{opacity:0;transform:scale(1.02);transition:opacity .5s ease,transform .5s ease;pointer-events:none}.skeleton-card{background:var(--color-white, #FFFFFF);border-radius:var(--radius-md, 16px);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 12px #00000008;position:relative}.skeleton-img{width:100%;aspect-ratio:1;background:#e8ebe6;animation:shimmer 1.5s infinite linear}.skeleton-body{padding:24px;display:flex;flex-direction:column;gap:12px}.skeleton-text{height:16px;background:#e8ebe6;border-radius:4px;animation:shimmer 1.5s infinite linear}.skeleton-text.short{width:40%}.skeleton-text.medium{width:70%}.skeleton-button{height:44px;background:#e8ebe6;border-radius:var(--radius-sm, 8px);margin-top:auto;animation:shimmer 1.5s infinite linear}@keyframes shimmer{0%{background-color:#e8ebe6}50%{background-color:#f4f6f2}to{background-color:#e8ebe6}}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:var(--color-white, #FFFFFF);border-radius:var(--radius-md, 16px);border:1px dashed var(--color-gray-300, #D0D8CD);color:var(--color-gray-500, #6C7A70)}.empty-state-icon{margin-bottom:16px;color:var(--color-gray-400, #9AADA0);opacity:.5}.empty-state h3{font-family:var(--font-heading);font-size:1.2rem;color:var(--color-forest, #234E28);margin-bottom:8px}.empty-state p{font-size:.95rem;max-width:400px}.login-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0e1c15a6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}.login-overlay.active{opacity:1;visibility:visible}.login-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);width:90%;max-width:430px;background:transparent;border:none;box-shadow:none;z-index:1001;opacity:0;visibility:hidden;overflow:visible!important;transition:all .3s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.login-modal.active{transform:translate(-50%,-50%) scale(1);opacity:1;visibility:visible}.login-modal-card{position:relative;background:var(--color-white);border-radius:var(--radius-xl, 22px);box-shadow:0 25px 55px -12px #0e1c1566,0 0 0 1px #234e281a;padding:30px 28px 24px;z-index:5;box-sizing:border-box;overflow:visible}.login-modal .form-vine-wrapper{position:absolute;pointer-events:none;z-index:15;overflow:visible}.login-modal .form-vine-wrapper.top-left{top:0;left:0;width:140px;height:140px}.login-modal .form-vine-wrapper.bottom-right{bottom:0;right:0;width:140px;height:140px}.login-modal.active .form-vine-stem{animation:drawVineForm 1.4s cubic-bezier(.22,1,.36,1) forwards}.login-modal.active .form-vine-leaf{opacity:1}.login-modal.active .form-vine-leaf .leaf-pop{animation:popLeafForm .65s cubic-bezier(.34,1.56,.64,1) forwards}.login-modal .leaf-delay-1 .leaf-pop{animation-delay:.12s}.login-modal .leaf-delay-2 .leaf-pop{animation-delay:.3s}.login-modal .leaf-delay-3 .leaf-pop{animation-delay:.5s}.login-modal .leaf-delay-4 .leaf-pop{animation-delay:.24s}.login-modal .leaf-delay-5 .leaf-pop{animation-delay:.42s}.login-close{position:absolute;top:14px;right:14px;background:var(--color-cream);border:1px solid var(--color-gray-200);color:var(--color-forest);cursor:pointer;width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:20}.login-close:hover{background:#fde8e4;color:var(--color-terracotta);border-color:var(--color-terracotta);transform:rotate(90deg)}.auth-modal-header{text-align:center;margin-bottom:18px}.auth-modal-logo{height:48px;width:auto;margin:0 auto 8px;display:block;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.08))}.auth-modal-header h2{font-family:var(--font-heading);font-size:1.45rem;color:var(--color-forest);margin-bottom:4px;letter-spacing:-.01em}.auth-modal-header p{color:var(--color-gray-500);font-size:.85rem;line-height:1.35;margin:0}.auth-tabs{display:flex;background:var(--color-gray-100);border-radius:var(--radius-full);padding:3px;margin-bottom:16px;gap:4px;border:1px solid var(--color-gray-200)}.auth-tab-btn{flex:1;padding:7px 12px;border:none;border-radius:var(--radius-full);background:transparent;font-family:var(--font-body);font-weight:600;font-size:.85rem;color:var(--color-gray-600);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;justify-content:center;gap:6px}.auth-tab-btn.active{background:var(--color-white);color:var(--color-forest);box-shadow:0 2px 6px #00000014}.auth-pane{display:none}.auth-pane.active{display:block;animation:authFadeIn .25s ease}@keyframes authFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.login-modal .form-group{margin-bottom:12px;text-align:left}.login-modal .form-label{display:block;font-size:.8rem;font-weight:600;color:var(--color-forest);margin-bottom:4px}.login-modal .form-input{width:100%;height:40px;padding:8px 12px;border:1.5px solid var(--color-gray-200);border-radius:10px;font-size:.9rem;font-family:var(--font-body);color:var(--color-forest);background:var(--color-off-white);transition:all .2s ease;box-sizing:border-box}.login-modal .form-input:focus{outline:none;border-color:var(--color-forest);background:var(--color-white);box-shadow:0 0 0 3px #5e825424}.login-modal .btn{height:44px;font-size:.92rem;border-radius:10px;margin-top:6px}.auth-switch-prompt{text-align:center;margin-top:14px;font-size:.82rem;color:var(--color-gray-500)}.auth-switch-prompt button{background:none;border:none;padding:0;color:var(--color-forest);font-weight:600;cursor:pointer;text-decoration:underline;font-size:inherit}.auth-switch-prompt button:hover{color:var(--color-terracotta)}.cart-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e1c1580;z-index:999;opacity:0;visibility:hidden;transition:all .3s ease}.cart-overlay.is-open{opacity:1;visibility:visible}.cart-panel{position:fixed;top:0;right:0;width:400px;max-width:90vw;height:100vh;background:var(--color-white);box-shadow:var(--shadow-xl);z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .4s var(--ease-out)}.cart-panel.is-open{transform:translate(0)}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl);border-bottom:1px solid var(--color-gray-100)}.cart-header h3{font-family:var(--font-display);font-size:1.4rem}.cart-close{background:none;border:none;color:var(--color-gray-400);cursor:pointer;padding:8px;border-radius:var(--radius-full);display:flex;transition:all .2s ease}.cart-close:hover{background:var(--color-cream);color:var(--color-forest)}.cart-items{flex:1;overflow-y:auto;padding:var(--space-md) var(--space-xl)}.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-gray-400);text-align:center;gap:var(--space-sm)}.cart-empty-icon{opacity:.3;margin-bottom:var(--space-md)}.cart-empty-sub{font-size:.85rem;color:var(--color-gray-400)}.cart-item{display:flex;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--color-gray-100);align-items:center}.cart-item-img{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-md);background:var(--color-cream)}.cart-item-info{flex:1}.cart-item-name{font-weight:600;font-size:.9rem;margin-bottom:2px}.cart-item-price{font-size:.85rem;color:var(--color-sage);font-weight:600}.cart-item-qty{display:flex;align-items:center;gap:var(--space-sm);margin-top:6px}.qty-btn{width:28px;height:28px;border-radius:var(--radius-full);border:1px solid var(--color-gray-200);background:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;transition:all .2s ease}.qty-btn:hover{background:var(--color-cream);border-color:var(--color-sage)}.cart-item-remove{background:none;border:none;color:var(--color-gray-300);cursor:pointer;padding:6px;transition:color .2s ease}.cart-item-remove:hover{color:var(--color-terracotta)}.cart-footer{padding:var(--space-xl);border-top:1px solid var(--color-gray-100)}.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.cart-total-label{font-weight:600;color:var(--color-gray-600)}.cart-total-value{font-size:1.3rem;font-weight:700;color:var(--color-forest)}.btn-checkout{display:flex;justify-content:center;width:100%}.cart-badge{position:absolute;top:-4px;right:-4px;background:var(--color-terracotta);color:var(--color-white);font-size:.65rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0);transition:all .3s var(--ease-spring)}.cart-badge.has-items{opacity:1;transform:scale(1)}.custom-toast{position:fixed;bottom:var(--space-xl);right:var(--space-xl);background:var(--color-white);padding:16px 24px;border-radius:var(--radius-md);box-shadow:0 10px 30px #0e1c151a;z-index:9999;display:flex;align-items:center;transform:translate(150%);transition:transform .5s cubic-bezier(.175,.885,.32,1.275);border:1px solid var(--color-sage);min-width:300px}.custom-toast.show{transform:translate(0)}.toast-content{position:relative;z-index:2;display:flex;align-items:center;gap:12px;background:var(--color-white);padding-right:12px}.toast-text{font-size:.95rem;font-weight:500;color:var(--color-forest)}.toast-vine-container{position:absolute;top:-12px;left:-12px;width:calc(100% + 24px);height:calc(100% + 24px);pointer-events:none;z-index:1}.vine-stem{fill:none;stroke:var(--color-forest);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:600;stroke-dashoffset:600}.custom-toast.show .vine-stem{animation:drawVine 1.5s ease-out forwards}.vine-leaf{opacity:0;transform:scale3d(0,0,1)}.custom-toast.show .vine-leaf{animation:popLeaf .8s cubic-bezier(.34,1.56,.64,1) forwards}.custom-toast.show .leaf-1{animation-delay:.3s}.custom-toast.show .leaf-2{animation-delay:.6s}.custom-toast.show .leaf-3{animation-delay:.9s}.custom-toast.show .leaf-4{animation-delay:.5s}.custom-toast.show .leaf-5{animation-delay:.8s}@keyframes drawVine{to{stroke-dashoffset:0}}@keyframes popLeaf{0%{opacity:0;transform:scale3d(0,0,1)}to{opacity:1;transform:scaleZ(1)}}
