*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#173c25;background:#fbfaf5;font-family:"DM Sans",sans-serif;overflow-x:hidden}.topbar{background:#173c25;color:#fff;text-align:center;font-size:13px;padding:9px}.header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:rgba(251,250,245,.94);border-bottom:1px solid #e8e4d8;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#173c25}.brand-mark{font-weight:700;font-size:24px;letter-spacing:-3px;border:2px solid #173c25;border-radius:8px;padding:3px 7px}.brand b{display:block;font-size:15px;letter-spacing:1.5px}.brand small{display:block;font-size:10px;color:#71806f;margin-top:2px}nav{display:flex;gap:28px}nav a,.footer a{color:#31553b;text-decoration:none;font-size:14px;transition:.25s}nav a:hover,.footer a:hover{color:#a77821}.cart-btn{border:1px solid #173c25;background:transparent;border-radius:99px;padding:10px 16px;font-weight:700;color:#173c25;cursor:pointer;transition:.25s}.cart-btn:hover{transform:translateY(-2px);background:#173c25;color:#fff}.cart-btn span{background:#d6ad52;color:#173c25;border-radius:50%;padding:3px 7px;margin-left:5px}.hero{min-height:650px;padding:70px 7%;display:grid;grid-template-columns:1fr .85fr;gap:60px;align-items:center;background:radial-gradient(circle at 85% 45%,#e4efdd 0,#fbfaf5 45%)}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:700;color:#668267}.hero h1{font-family:"Playfair Display",serif;font-size:64px;line-height:1.03;margin:18px 0;color:#153a23}.hero h1 em,.benefit-copy h2 em{font-style:normal;color:#9a742d}.hero p{max-width:600px;font-size:18px;line-height:1.7;color:#5c6d60}.hero-actions{display:flex;align-items:center;gap:25px;margin:30px 0}.btn{display:inline-block;border:0;border-radius:8px;padding:14px 23px;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 24px #173c2520}.primary{background:#173c25;color:#fff}.primary:hover{background:#285b39}.light{background:#fff;color:#173c25}.full{width:100%}.text-btn{color:#31553b;font-weight:700;text-decoration:none;font-size:14px}.text-btn:hover{color:#a77821}.trust-row{display:flex;flex-wrap:wrap;gap:18px;color:#49614e;font-size:12px}.hero-product{position:relative;text-align:center;animation:heroFloat 5s ease-in-out infinite}.image-frame{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f0f2e9}.smart-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .55s ease,filter .55s ease}.image-frame:hover .smart-image{transform:scale(1.04)}.hero-frame{width:min(470px,100%);height:530px;margin:auto;border-radius:22px;padding:18px;background:linear-gradient(145deg,#f1f4eb,#e4eadc);box-shadow:0 30px 70px #173c251c}.leaf-badge{position:absolute;z-index:2;top:10px;left:8%;background:#d6ad52;color:#173c25;font-weight:800;font-size:11px;line-height:1.2;padding:13px;border-radius:50%;box-shadow:0 10px 30px #9a742d40}.floating-card{position:absolute;right:2%;bottom:30px;background:#fff;border:1px solid #e6e0cf;padding:14px 18px;border-radius:12px;box-shadow:0 15px 35px #173c2518;text-align:left}.floating-card strong{display:block;font-family:"Playfair Display",serif;font-size:18px}.floating-card span{font-size:11px;color:#71806f}.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:26px 7%;background:#f1f4eb;border-top:1px solid #e4e9dc;border-bottom:1px solid #e4e9dc}.strip div{display:grid;grid-template-columns:32px 1fr;column-gap:5px;align-items:center}.strip div:first-letter{font-size:22px}.strip b{font-size:13px}.strip small{grid-column:2;color:#71806f;font-size:11px}.section,.category-section{padding:85px 7%}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.section-head h2,.about h2,.category-section h2{font-family:"Playfair Display",serif;font-size:42px;margin:10px 0;color:#153a23}.section-head p{max-width:450px;color:#71806f;line-height:1.6}.centered{text-align:center;display:block}.centered p{margin:0 auto}.category-section{background:#fffdf8}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}.category-card{position:relative;overflow:hidden;text-align:left;border:1px solid #e7e1d1;background:linear-gradient(145deg,#fff,#f4f1e8);padding:32px;border-radius:18px;cursor:pointer;color:#173c25;transition:.35s;min-height:190px}.category-card:hover{transform:translateY(-8px);box-shadow:0 20px 45px #173c2518;border-color:#d6ad52}.category-card span{font-size:38px;display:block;margin-bottom:18px}.category-card b{display:block;font-family:"Playfair Display",serif;font-size:25px}.category-card small{display:block;color:#71806f;margin:7px 0 18px}.category-card em{font-style:normal;font-weight:700;color:#9a742d;font-size:13px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 28px}.filter{border:1px solid #d9d5c8;background:#fff;border-radius:999px;padding:10px 17px;color:#31553b;font-weight:700;cursor:pointer;transition:.25s}.filter:hover,.filter.active{background:#173c25;color:#fff;border-color:#173c25}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{background:#fff;border:1px solid #e6e0d3;border-radius:16px;overflow:hidden;transition:.35s;animation:cardIn .5s both}.product-card:hover{transform:translateY(-8px);box-shadow:0 22px 45px #173c2518}.product-image{height:285px;position:relative;background:#f2f4ed;padding:16px;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .45s}.product-card:hover .product-image img{transform:scale(1.06)}.tag{position:absolute;z-index:2;top:13px;left:13px;background:#d6ad52;color:#173c25;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800;letter-spacing:.8px}.product-info{padding:20px}.stars{font-size:12px;color:#b18632}.stars span{color:#899489}.product-info h3{font-family:"Playfair Display",serif;font-size:21px;margin:10px 0 5px}.product-info p{color:#71806f;font-size:13px;margin:0 0 14px}.price{display:flex;align-items:center;gap:9px;margin-bottom:16px}.price strong{font-size:22px}.price del{color:#9a9d98;font-size:13px}.price b{color:#397049;font-size:11px}.benefits{padding:85px 7%;display:grid;grid-template-columns:.9fr 1fr;gap:70px;align-items:center;background:#f1f4eb}.benefit-image{height:560px;border-radius:22px;overflow:hidden;background:#e5eadf;padding:18px;box-shadow:0 25px 60px #173c2516}.benefit-image img{width:100%;height:100%;object-fit:contain}.benefit-copy h2{font-family:"Playfair Display",serif;font-size:45px;margin:12px 0}.benefit-copy>p{color:#71806f;line-height:1.7}.benefit-list{margin-top:28px;display:grid;gap:17px}.benefit-list>div{display:flex;gap:14px;align-items:flex-start}.benefit-list>div>span{font-size:22px}.benefit-list section b{display:block}.benefit-list small{color:#71806f}.offer{margin:0 7%;padding:55px 6%;background:#173c25;color:#fff;border-radius:22px;display:flex;justify-content:space-between;align-items:center;gap:30px}.offer .eyebrow{color:#d6ad52}.offer h2{font-family:"Playfair Display",serif;font-size:40px;margin:10px 0}.offer p{color:#c9d5cb}.reviews{padding-top:80px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review-grid blockquote{margin:0;background:#fff;border:1px solid #e7e1d1;border-radius:15px;padding:28px;line-height:1.65;color:#526456}.review-grid footer{margin-top:18px;color:#b18632;font-size:12px}.review-grid footer b{color:#173c25}.about{text-align:center;padding:85px 15%;background:#fffdf8}.about p{max-width:720px;margin:auto;color:#71806f;line-height:1.8}.footer{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:35px;padding:55px 7%;background:#edf1e7}.footer p{color:#71806f;font-size:13px;line-height:1.6}.footer h4{margin:0 0 15px}.footer a{display:block;margin:8px 0}.cart-overlay,.modal-overlay{position:fixed;inset:0;background:#102317b8;z-index:100;display:flex;justify-content:flex-end;opacity:0;pointer-events:none;transition:.3s;backdrop-filter:blur(5px)}.cart-overlay.open,.modal-overlay.open{opacity:1;pointer-events:auto}.cart{width:min(430px,100%);height:100%;background:#fffdf8;padding:30px;overflow:auto;transform:translateX(100%);transition:.35s}.cart-overlay.open .cart{transform:translateX(0)}.close,.modal-close{border:0;background:transparent;font-size:30px;cursor:pointer;color:#173c25}.cart h2{font-family:"Playfair Display",serif}.cart-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #eee7d8;padding:16px 0;font-size:13px}.cart-row small{display:block;color:#71806f;margin-top:4px}.cart-row button{border:1px solid #ddd;background:#fff;padding:3px 8px;border-radius:5px;cursor:pointer}.cart-row .remove{color:#a44;border:0;background:transparent}.cart-total{display:flex;justify-content:space-between;font-size:18px;padding:20px 0}.secure{text-align:center;color:#71806f;font-size:12px}.empty{color:#71806f}.modal-overlay{justify-content:center;align-items:center;padding:20px}.product-modal{position:relative;width:min(1000px,100%);max-height:92vh;overflow:auto;background:#fffdf8;border-radius:22px;display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:30px;transform:translateY(25px) scale(.97);transition:.35s;box-shadow:0 30px 90px #0004}.modal-overlay.open .product-modal{transform:none}.modal-close{position:absolute;right:15px;top:10px;z-index:5;width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 5px 20px #0002}.main-gallery-image{height:470px;background:#f0f2e9;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}.main-gallery-image img{width:100%;height:100%;object-fit:contain}.thumbs{display:flex;gap:10px;margin-top:12px}.thumb{width:75px;height:75px;padding:4px;border:2px solid transparent;border-radius:10px;background:#f0f2e9;cursor:pointer}.thumb.active{border-color:#d6ad52}.thumb img{width:100%;height:100%;object-fit:contain}.detail-copy{padding:35px 20px 20px 0}.detail-category{font-size:11px;letter-spacing:2px;color:#9a742d;font-weight:800}.detail-copy h2{font-family:"Playfair Display",serif;font-size:38px;line-height:1.1;margin:12px 0}.detail-price{display:flex;align-items:center;gap:10px;margin:18px 0}.detail-price strong{font-size:28px}.detail-price del{color:#999}.detail-price b{font-size:11px;color:#397049}.detail-copy>p{color:#667568;line-height:1.7}.detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.detail-meta span{font-size:11px;border:1px solid #e1dccf;border-radius:999px;padding:7px 10px;color:#526456}.royal-intro{position:fixed;inset:0;z-index:9999;background:#173c25;display:flex;align-items:center;justify-content:center;overflow:hidden;animation:introOut .9s 2.8s forwards;pointer-events:none}.royal-curtain{position:absolute;top:0;width:51%;height:100%;background:repeating-linear-gradient(90deg,#173c25 0,#214c31 9%,#153620 18%);box-shadow:inset 0 0 70px #0007}.royal-curtain.left{left:0;transform-origin:left;animation:curtainLeft 2.2s 1s cubic-bezier(.7,0,.2,1) forwards}.royal-curtain.right{right:0;transform-origin:right;animation:curtainRight 2.2s 1s cubic-bezier(.7,0,.2,1) forwards}.royal-center{position:relative;z-index:3;text-align:center;color:#d6ad52;animation:royalLogo 1.1s .35s both}.royal-crown{font-size:55px}.royal-logo{font-family:"Playfair Display",serif;font-size:34px;letter-spacing:4px}.royal-subtitle{font-size:11px;letter-spacing:4px;color:#e8dfc8;margin-top:8px}.royal-line{margin-top:16px;font-size:22px}.royal-sparkles i{position:absolute;width:5px;height:5px;background:#e9cf79;border-radius:50%;animation:spark 1.7s infinite}.royal-sparkles i:nth-child(1){left:20%;top:30%}.royal-sparkles i:nth-child(2){left:30%;top:70%}.royal-sparkles i:nth-child(3){left:65%;top:25%}.royal-sparkles i:nth-child(4){left:78%;top:60%}.royal-sparkles i:nth-child(5){left:50%;top:15%}.royal-sparkles i:nth-child(6){left:15%;top:55%}.royal-sparkles i:nth-child(7){left:85%;top:35%}.royal-sparkles i:nth-child(8){left:55%;top:80%}@keyframes curtainLeft{to{transform:scaleX(0)}}@keyframes curtainRight{to{transform:scaleX(0)}}@keyframes royalLogo{from{opacity:0;transform:scale(.8);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}@keyframes introOut{to{opacity:0;visibility:hidden}}@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes spark{0%,100%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.6)}}@keyframes cardIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}.reveal{animation:revealIn .8s both}@keyframes revealIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@media(max-width:900px){nav{display:none}.hero{grid-template-columns:1fr;padding-top:45px}.hero h1{font-size:48px}.strip,.product-grid,.category-grid,.review-grid{grid-template-columns:repeat(2,1fr)}.benefits{grid-template-columns:1fr;gap:35px}.footer{grid-template-columns:1fr 1fr}.product-modal{grid-template-columns:1fr}.detail-copy{padding:0}.main-gallery-image{height:390px}}@media(max-width:600px){.header{padding:0 4%;height:70px}.brand b{font-size:12px}.brand small{font-size:8px}.cart-btn{padding:8px 11px}.hero{padding:45px 5%}.hero h1{font-size:39px}.hero p{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-frame{height:400px}.strip,.product-grid,.category-grid,.review-grid,.footer{grid-template-columns:1fr}.section,.category-section{padding:60px 5%}.section-head{display:block}.section-head h2,.category-section h2{font-size:34px}.benefits{padding:60px 5%}.benefit-image{height:380px}.benefit-copy h2{font-size:35px}.offer{margin:0 5%;padding:40px 25px;display:block}.offer h2{font-size:31px}.offer .btn{margin-top:20px}.about{padding:60px 7%}.product-image{height:250px}.main-gallery-image{height:330px}.product-modal{padding:20px}.detail-copy h2{font-size:30px}.royal-logo{font-size:25px;letter-spacing:2px}}

/* Premium motion + account/checkout/review UI */
html{scroll-behavior:smooth}.locked{overflow:hidden}.header{position:sticky;top:0;z-index:80;background:rgba(255,253,248,.9);backdrop-filter:blur(16px);transition:.3s}.scrolled .header{box-shadow:0 12px 35px rgba(23,60,37,.09)}
.header-actions{display:flex;align-items:center;gap:9px}.account-btn,.cart-btn{border:1px solid #ddd7c7;background:#fff;border-radius:999px;padding:10px 14px;font-weight:800;color:#173c25;cursor:pointer;transition:.3s}.account-btn:hover,.cart-btn:hover{transform:translateY(-2px);border-color:#d6ad52;box-shadow:0 8px 20px #173c2514}.account-btn span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid #ddd7c7;margin-right:4px}.hero-product{animation:heroFloat 5s ease-in-out infinite}.hero-frame{position:relative;overflow:hidden}.hero-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.35) 48%,transparent 60%);transform:translateX(-120%);animation:shine 5s 2s infinite}.product-card{animation:cardIn .7s var(--delay) both}.product-card:after{content:"";position:absolute;inset:auto 15% 0;height:1px;background:#d6ad52;transform:scaleX(0);transition:.35s}.product-card:hover:after{transform:scaleX(1)}.product-image{background:radial-gradient(circle at 50% 45%,#fff 0,#f0f3e9 70%)}.quick-glow{position:absolute;width:150px;height:150px;border-radius:50%;background:#d6ad5230;filter:blur(30px);animation:pulseGlow 3s infinite}.card-actions{display:flex;gap:9px;align-items:center}.card-actions .btn{flex:1}.mini-cart{width:44px;height:44px;border-radius:12px;border:1px solid #d9d5c8;background:#fff;color:#173c25;font-size:25px;cursor:pointer;transition:.25s}.mini-cart:hover{background:#173c25;color:#fff;transform:rotate(90deg)}
.detail-points{list-style:none;padding:0;margin:20px 0;display:grid;gap:8px}.detail-points li{font-size:13px;color:#506253}.btn.secondary{background:#fff;border:1px solid #d6ad52;color:#173c25}.btn.secondary:hover{background:#f8f2e3}.review-open{margin-top:10px}.review-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:25px 0 10px;border-top:1px solid #e7e1d1;padding-top:20px}.review-head h3{font-family:"Playfair Display",serif;margin:0}.review-head span{font-size:12px;color:#9a742d;font-weight:800}.product-reviews{display:grid;gap:10px;max-height:250px;overflow:auto}.live-review{border:1px solid #e8e2d6;background:#fff;padding:13px 15px;border-radius:12px}.live-review p{margin:7px 0;color:#536456;font-size:13px;line-height:1.5}.review-top{display:flex;justify-content:space-between;gap:8px}.review-top>span{color:#b18632;letter-spacing:1px}.review-top small{color:#397049;font-weight:800}.no-reviews{font-size:13px;color:#71806f;padding:12px 0}.qty{display:flex;gap:10px;align-items:center;margin-top:8px}.qty button{width:28px;height:28px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer}.cart-row .remove{display:block;margin-top:8px;color:#a44;border:0;background:transparent;padding:0}.account-modal,.review-modal,.checkout-modal{position:relative;background:#fffdf8;border-radius:24px;box-shadow:0 35px 100px #0005;transform:translateY(25px) scale(.97);transition:.35s}.modal-overlay.open .account-modal,.modal-overlay.open .review-modal,.modal-overlay.open .checkout-modal{transform:none}.account-modal{width:min(460px,100%);padding:45px 35px;text-align:center}.account-icon{width:65px;height:65px;display:grid;place-items:center;margin:0 auto 15px;border-radius:50%;background:#fff;border:1px solid #ddd7c7;font-size:25px;font-weight:800}.account-modal h2,.review-modal h2,.checkout-modal h2{font-family:"Playfair Display",serif;font-size:34px;margin:10px 0 20px}.account-status p,.account-status{color:#68776a;line-height:1.6}.account-status small{display:block;color:#71806f;margin:8px 0 18px}.account-note{display:block;color:#8a928b;margin-top:18px;line-height:1.5}.google{background:#fff;border:1px solid #d7d3c9;color:#173c25}.review-modal{width:min(520px,100%);padding:35px}.review-modal form{display:grid;gap:18px}.review-modal label,.checkout-modal label{font-weight:700;font-size:13px;color:#3e5144}.review-modal textarea,.review-modal select,.checkout-modal input,.checkout-modal textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #dcd7cb;border-radius:11px;padding:12px 13px;background:#fff;color:#24382a;font:inherit;outline:none}.review-modal textarea:focus,.review-modal select:focus,.checkout-modal input:focus,.checkout-modal textarea:focus{border-color:#b28a3e;box-shadow:0 0 0 3px #d6ad5220}.checkout-modal{width:min(850px,100%);max-height:92vh;overflow:auto;padding:35px}.checkout-head p{color:#71806f;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:22px}.form-grid .wide{grid-column:1/-1}.cod-box{margin:20px 0;padding:14px 16px;border-radius:12px;background:#f0f4ea;border:1px solid #dbe5d4}.cod-box b,.cod-box span{display:block}.cod-box span{font-size:12px;color:#71806f;margin-top:4px}.checkout-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e7e1d1;padding:18px 0;margin-bottom:10px;font-size:18px}.checkout-total strong{font-size:25px}.toast{position:fixed;z-index:10000;left:50%;bottom:25px;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#173c25;color:#fff;padding:13px 18px;border-radius:999px;box-shadow:0 12px 30px #0003;transition:.35s;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes shine{0%,65%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}@keyframes pulseGlow{0%,100%{transform:scale(.8);opacity:.25}50%{transform:scale(1.2);opacity:.5}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:700px){.header-actions{gap:5px}.account-btn{font-size:0;padding:9px}.account-btn span{margin:0}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.checkout-modal{padding:25px 18px}.account-modal,.review-modal{padding:30px 20px}.review-head{align-items:flex-start;flex-direction:column}}

/* ===== PREMIUM SCROLL MOTION ===== */
.reveal,
.scroll-reveal,
.category-card,
.benefit-list > div,
.review-grid blockquote{
  will-change: transform, opacity;
}

/* Products rise into view with a soft 3D reveal */
.product-card.scroll-reveal{
  opacity:0;
  transform:perspective(900px) translate3d(0,72px,0) rotateX(8deg) scale(.93);
  animation:none;
  transition:opacity .85s cubic-bezier(.2,.75,.25,1),
             transform 1s cubic-bezier(.16,1,.3,1),
             box-shadow .35s ease;
  transition-delay:var(--scroll-delay,0s);
}
.product-card.scroll-reveal.visible{
  opacity:1;
  transform:perspective(900px) translate3d(0,0,0) rotateX(0) scale(1);
}
.product-card.scroll-reveal.visible:hover{
  transform:translate3d(0,-10px,0) scale(1.015);
}
.product-card.scroll-reveal.visible .product-image img{
  animation:productImageReveal 1s cubic-bezier(.16,1,.3,1) both;
  animation-delay:calc(var(--scroll-delay,0s) + .12s);
}

/* Category cards float in one after another */
.category-card{
  opacity:0;
  transform:translate3d(0,55px,0) scale(.94);
  transition:opacity .75s ease, transform .85s cubic-bezier(.16,1,.3,1),
             box-shadow .35s ease, border-color .35s ease;
  transition-delay:var(--scroll-delay,0s);
}
.category-card.visible{
  opacity:1;
  transform:none;
}
.category-card.visible:hover{
  transform:translate3d(0,-8px,0) scale(1.01);
}

/* Benefits/reviews gently slide up */
.benefit-list > div,
.review-grid blockquote{
  opacity:0;
  transform:translate3d(0,38px,0);
  transition:opacity .7s ease, transform .8s cubic-bezier(.16,1,.3,1);
  transition-delay:var(--scroll-delay,0s);
}
.benefit-list > div.visible,
.review-grid blockquote.visible{
  opacity:1;
  transform:none;
}

/* A little movement on the product image after the card arrives */
.product-image{
  transition:box-shadow .5s ease, transform .45s ease;
}
.product-card.scroll-reveal.visible .product-image{
  animation:imageFramePop .85s cubic-bezier(.16,1,.3,1) both;
  animation-delay:calc(var(--scroll-delay,0s) + .05s);
}

/* FARM FRESH badge drops like a soft ball and bounces into place */
.leaf-badge{
  animation:farmFreshDrop 1.8s cubic-bezier(.22,1.35,.36,1) 3.85s both;
  transform-origin:50% 100%;
}
.leaf-badge::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:-9px;
  height:9px;
  border-radius:50%;
  background:rgba(23,60,37,.18);
  filter:blur(4px);
  transform:scale(.25);
  animation:farmFreshShadow 1.8s ease 3.85s both;
}

/* Extra polish for the hero image */
.hero-product{
  animation:heroFloat 5s ease-in-out 2.4s infinite;
}
.hero-frame{
  animation:heroFrameIn 1.1s cubic-bezier(.16,1,.3,1) .25s both;
}

@keyframes productImageReveal{
  0%{opacity:0;transform:translateY(24px) scale(.88) rotate(-2deg)}
  60%{opacity:1;transform:translateY(-5px) scale(1.035) rotate(.5deg)}
  100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}
}

@keyframes imageFramePop{
  0%{opacity:.65;transform:scale(.97)}
  65%{opacity:1;transform:scale(1.012)}
  100%{opacity:1;transform:scale(1)}
}

@keyframes farmFreshDrop{
  0%{opacity:0;transform:translate3d(0,-260px,0) scale(.58) rotate(-18deg)}
  38%{opacity:1;transform:translate3d(0,18px,0) scale(1.12) rotate(7deg)}
  52%{transform:translate3d(0,-28px,0) scale(.94) rotate(-4deg)}
  67%{transform:translate3d(0,10px,0) scale(1.05) rotate(2deg)}
  80%{transform:translate3d(0,-7px,0) scale(.98) rotate(-1deg)}
  91%{transform:translate3d(0,3px,0) scale(1.01) rotate(0)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0)}
}

@keyframes farmFreshShadow{
  0%{opacity:0;transform:scale(.15)}
  48%{opacity:.65;transform:scale(1.1)}
  68%{opacity:.28;transform:scale(.72)}
  100%{opacity:.18;transform:scale(1)}
}

@keyframes heroFrameIn{
  0%{opacity:0;transform:translateY(35px) scale(.94) rotate(.7deg)}
  100%{opacity:1;transform:none}
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }
}
