:root{
    --forest-deep:#132920;
    --forest-mid:#1f4335;
    --grass:#5c8a52;
    --grass-light:#82ab5f;
    --ivory:#f6f1e2;
    --clay:#b56a3c;
    --gold:#c99a4e;
    --ink:#1c2118;
    --paper:#efe8d6;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',sans-serif;
    background:var(--ivory);
    color:var(--ink);
    line-height:1.55;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{
    font-family:'Fraunces',serif;
    font-weight:500;
    letter-spacing:-0.01em;
    color:var(--ink);
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
  .skip-link{
    position:absolute;left:-999px;top:auto;
    background:var(--gold);color:var(--forest-deep);padding:12px 20px;z-index:1000;
    font-weight:600;border-radius:0 0 4px 0;
  }
  .skip-link:focus{left:0;top:0;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }

  /* ---------- NAV ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    display:flex;align-items:center;justify-content:space-between;
    padding:22px 40px;
    background:linear-gradient(to bottom, rgba(19,41,32,0.75), rgba(19,41,32,0));
    transition:background .3s ease, padding .3s ease;
  }
  header.scrolled{
    background:var(--forest-deep);
    padding:14px 40px;
    box-shadow:0 6px 24px rgba(0,0,0,0.18);
  }
  .logo{
    display:flex;align-items:center;gap:10px;
    font-family:'Fraunces',serif;font-size:1.5rem;color:var(--ivory);font-weight:600;
  }
  .logo svg{width:26px;height:26px;flex-shrink:0;}
  nav ul{display:flex;gap:36px;list-style:none;}
  nav a{
    color:var(--ivory);font-size:0.95rem;opacity:0.88;
    position:relative;padding-bottom:4px;
  }
  nav a::after{
    content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);
    transition:width .25s ease;
  }
  nav a:hover::after{width:100%;}
  .nav-cta{
    background:var(--gold);color:var(--forest-deep) !important;
    padding:10px 22px;border-radius:2px;font-weight:600;font-size:0.9rem;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(201,154,78,0.35);}
  .nav-cta::after{display:none;}

  .cart-btn{
    position:relative;background:none;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;width:38px;height:38px;
  }
  .cart-btn svg{width:22px;height:22px;stroke:var(--ivory);}
  .cart-count{
    position:absolute;top:-2px;right:-2px;background:var(--gold);color:var(--forest-deep);
    font-size:0.68rem;font-weight:700;width:17px;height:17px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    transform:scale(0);transition:transform .2s ease;
  }
  .cart-count.show{transform:scale(1);}
  .nav-right{display:flex;align-items:center;gap:18px;}
  .nav-toggle{
    display:none;background:none;border:none;cursor:pointer;
    width:32px;height:22px;position:relative;padding:0;
  }
  .nav-toggle span{
    position:absolute;left:0;width:100%;height:2px;background:var(--ivory);
    transition:transform .25s ease, opacity .25s ease, top .25s ease;
  }
  .nav-toggle span:nth-child(1){top:0;}
  .nav-toggle span:nth-child(2){top:10px;}
  .nav-toggle span:nth-child(3){top:20px;}
  .nav-toggle.open span:nth-child(1){top:10px;transform:rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){top:10px;transform:rotate(-45deg);}

  .mobile-nav{
    position:fixed;top:0;right:0;height:100vh;width:min(320px,80vw);z-index:99;
    background:var(--forest-deep);
    box-shadow:-12px 0 40px rgba(0,0,0,0.3);
    padding:100px 36px 40px;
    transform:translateX(100%);
    transition:transform .35s ease;
    display:flex;flex-direction:column;gap:8px;
  }
  .mobile-nav.open{transform:translateX(0);}
  .mobile-nav a{
    color:var(--ivory);font-family:'Fraunces',serif;font-size:1.35rem;padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .mobile-nav .nav-cta{display:inline-block;margin-top:24px;text-align:center;}
  .nav-scrim{
    position:fixed;inset:0;background:rgba(10,18,14,0.5);z-index:98;
    opacity:0;pointer-events:none;transition:opacity .3s ease;
  }
  .nav-scrim.open{opacity:1;pointer-events:auto;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100vh;
    background:radial-gradient(ellipse at 75% 20%, #234e3b 0%, var(--forest-deep) 55%, #0e1e17 100%);
    display:flex;align-items:center;
    padding-top:90px;
    overflow:hidden;
  }
  .hero-inner{
    width:100%;max-width:1180px;margin:0 auto;padding:0 40px;
    display:grid;grid-template-columns:1.15fr 0.85fr;gap:40px;align-items:center;
    position:relative;z-index:3;
  }
  .eyebrow-note{
    color:var(--grass-light);font-size:0.95rem;margin-bottom:22px;max-width:360px;
  }
  .hero h1{
    color:var(--ivory);
    font-size:clamp(2.6rem, 5vw, 4.1rem);
    line-height:1.06;
    font-weight:500;
    max-width:620px;
  }
  .hero h1 em{font-style:italic;color:var(--gold);font-weight:500;}
  .hero p.lede{
    color:#d8e2d3;font-size:1.08rem;max-width:460px;margin-top:26px;
  }
  .hero-actions{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;}
  .btn-primary{
    background:var(--gold);color:var(--forest-deep);padding:15px 30px;border-radius:2px;
    font-weight:600;font-size:0.95rem;display:inline-block;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(201,154,78,0.3);}
  .btn-ghost{
    border:1px solid rgba(246,241,226,0.4);color:var(--ivory);padding:15px 28px;border-radius:2px;
    font-size:0.95rem;transition:border-color .2s ease, background .2s ease;
  }
  .btn-ghost:hover{border-color:var(--ivory);background:rgba(255,255,255,0.06);}

  /* floating leaves */
  .leaf-field{position:absolute;inset:0;pointer-events:none;z-index:2;}
  .leaf{
    position:absolute;opacity:0.55;
    animation:drift linear infinite;
  }
  @keyframes drift{
    0%{transform:translateY(0) translateX(0) rotate(0deg);opacity:0;}
    10%{opacity:0.6;}
    90%{opacity:0.5;}
    100%{transform:translateY(-620px) translateX(40px) rotate(200deg);opacity:0;}
  }

  /* grass strip */
  .grass-strip{
    position:absolute;left:0;right:0;bottom:-2px;height:150px;z-index:2;
    display:flex;align-items:flex-end;
    overflow:hidden;
  }
  .blade{
    width:10px;background:linear-gradient(to top, var(--forest-mid), var(--grass));
    margin-right:2px;border-radius:40px 40px 0 0;
    transform-origin:bottom center;
    animation:sway ease-in-out infinite;
  }
  @keyframes sway{
    0%,100%{transform:rotate(-3deg);}
    50%{transform:rotate(4deg);}
  }

  /* ---------- 3D TEA BOX ---------- */
  .box-stage{
    perspective:1300px;
    display:flex;align-items:center;justify-content:center;
    position:relative;
    height:420px;
  }
  .steam{position:absolute;top:-40px;left:50%;transform:translateX(-50%);z-index:0;}
  .steam span{
    position:absolute;bottom:0;width:6px;height:60px;border-radius:50%;
    background:linear-gradient(to top, rgba(246,241,226,0.5), rgba(246,241,226,0));
    animation:rise 3.4s ease-in infinite;
    filter:blur(2px);
  }
  .steam span:nth-child(1){left:-14px;animation-delay:0s;}
  .steam span:nth-child(2){left:0px;animation-delay:1.1s;}
  .steam span:nth-child(3){left:14px;animation-delay:2.2s;}
  @keyframes rise{
    0%{transform:translateY(0) scaleX(1);opacity:0;}
    20%{opacity:0.7;}
    100%{transform:translateY(-110px) scaleX(1.6);opacity:0;}
  }

  .tea-box{
    --w:190px;--h:230px;--d:130px;
    width:var(--w);height:var(--h);position:relative;
    transform-style:preserve-3d;
    transform:rotateX(-12deg) rotateY(-32deg);
    animation:boxTurn 9s ease-in-out infinite;
  }
  @keyframes boxTurn{
    0%,100%{transform:rotateX(-12deg) rotateY(-32deg) translateY(0px);}
    50%{transform:rotateX(-10deg) rotateY(-18deg) translateY(-14px);}
  }
  .tea-box .face{position:absolute;top:0;left:0;backface-visibility:hidden;}
  .tea-box .front, .tea-box .back{
    width:var(--w);height:var(--h);
    background:linear-gradient(155deg, var(--box-a), var(--box-b));
  }
  .tea-box .front{transform:translateZ(calc(var(--d)/2));display:flex;flex-direction:column;justify-content:space-between;padding:20px;}
  .tea-box .back{transform:translateZ(calc(var(--d)/-2)) rotateY(180deg);}
  .tea-box .left, .tea-box .right{
    width:var(--d);height:var(--h);
    top:0;left:calc((var(--w) - var(--d)) / 2);
    background:linear-gradient(155deg, var(--box-a-dark), var(--box-b-dark));
  }
  .tea-box .right{transform:rotateY(90deg) translateZ(calc(var(--w)/2));}
  .tea-box .left{transform:rotateY(-90deg) translateZ(calc(var(--w)/2));}
  .tea-box .top, .tea-box .bottom{
    width:var(--w);height:var(--d);
    top:calc((var(--h) - var(--d)) / 2);left:0;
    background:linear-gradient(155deg, var(--box-a-light), var(--box-b-light));
  }
  .tea-box .top{transform:rotateX(90deg) translateZ(calc(var(--h)/2));}
  .tea-box .bottom{transform:rotateX(-90deg) translateZ(calc(var(--h)/2));}
  .box-mark{width:34px;height:34px;opacity:0.9;}
  .box-name{color:rgba(255,255,255,0.95);font-family:'Fraunces',serif;font-size:1.05rem;font-weight:500;}
  .box-strip{height:6px;width:44px;background:rgba(255,255,255,0.55);border-radius:4px;}

  /* ---------- SECTION HEADERS ---------- */
  .section{padding:120px 0;}
  .section-head{
    display:grid;grid-template-columns:1.2fr 1fr;gap:40px;margin-bottom:64px;align-items:end;
  }
  .section-head h2{font-size:clamp(2rem,3.4vw,2.8rem);max-width:520px;}
  .section-head p{color:#54594c;font-size:1.02rem;max-width:420px;}

  /* ---------- PRODUCTS ---------- */
  .products{background:var(--ivory);}
  .grid-products{
    display:grid;grid-template-columns:repeat(3,1fr);gap:36px;
  }
  .product-card{
    background:var(--paper);
    border-radius:4px;
    padding:34px 26px 28px;
    display:flex;flex-direction:column;align-items:center;text-align:center;
    transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
  }
  .product-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(28,33,24,0.12);}
  .mini-stage{perspective:900px;height:180px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
  .mini-box{
    --w:100px;--h:128px;--d:72px;
    width:var(--w);height:var(--h);position:relative;transform-style:preserve-3d;
    transform:rotateX(-14deg) rotateY(-28deg);
    transition:transform .5s ease;
  }
  .product-card:hover .mini-box{transform:rotateX(-14deg) rotateY(24deg);}
  .mini-box .face{position:absolute;top:0;left:0;backface-visibility:hidden;}
  .mini-box .front, .mini-box .back{width:var(--w);height:var(--h);background:linear-gradient(155deg, var(--box-a), var(--box-b));}
  .mini-box .front{transform:translateZ(calc(var(--d)/2));display:flex;align-items:flex-end;justify-content:center;padding-bottom:12px;}
  .mini-box .back{transform:translateZ(calc(var(--d)/-2)) rotateY(180deg);}
  .mini-box .left, .mini-box .right{
    width:var(--d);height:var(--h);
    top:0;left:calc((var(--w) - var(--d)) / 2);
    background:linear-gradient(155deg, var(--box-a-dark), var(--box-b-dark));
  }
  .mini-box .right{transform:rotateY(90deg) translateZ(calc(var(--w)/2));}
  .mini-box .left{transform:rotateY(-90deg) translateZ(calc(var(--w)/2));}
  .mini-box .top, .mini-box .bottom{
    width:var(--w);height:var(--d);
    top:calc((var(--h) - var(--d)) / 2);left:0;
    background:linear-gradient(155deg, var(--box-a-light), var(--box-b-light));
  }
  .mini-box .top{transform:rotateX(90deg) translateZ(calc(var(--h)/2));}
  .mini-box .bottom{transform:rotateX(-90deg) translateZ(calc(var(--h)/2));}
  .mini-box .mark{width:20px;height:20px;opacity:0.9;}

  .product-card h3{font-size:1.28rem;margin-bottom:6px;}
  .product-card .note{color:#5c6152;font-size:0.92rem;max-width:230px;margin-bottom:16px;}
  .product-card .price-row{display:flex;align-items:center;gap:14px;margin-top:auto;}
  .price{font-weight:600;color:var(--clay);font-family:'Fraunces',serif;font-size:1.1rem;}
  .add-btn{
    border:1px solid var(--ink);padding:9px 18px;border-radius:2px;font-size:0.85rem;font-weight:500;
    transition:background .2s ease, color .2s ease;
  }
  .add-btn:hover{background:var(--ink);color:var(--ivory);}

  /* ---------- STORY ---------- */
  .story{
    background:var(--forest-deep);color:var(--ivory);position:relative;overflow:hidden;
  }
  .story .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
  .story h2{color:var(--ivory);font-size:clamp(2rem,3.2vw,2.6rem);max-width:480px;margin-bottom:22px;}
  .story p{color:#cfd9c8;max-width:460px;margin-bottom:18px;}
  .stat-row{display:flex;gap:40px;margin-top:36px;flex-wrap:wrap;}
  .stat b{display:block;font-family:'Fraunces',serif;font-size:2.1rem;color:var(--gold);font-weight:500;}
  .stat span{color:#b7c2ae;font-size:0.88rem;}
  .story-visual{
    position:relative;height:420px;border-radius:6px;overflow:hidden;
    background:linear-gradient(180deg,#2c5a45 0%, #1a3a2c 70%, #14261d 100%);
  }
  .story-visual .field{
    position:absolute;bottom:0;left:0;right:0;height:65%;display:flex;align-items:flex-end;
  }
  .story-visual .blade{width:8px;margin-right:1.5px;}
  .story-visual .sun{
    position:absolute;top:38px;right:48px;width:90px;height:90px;border-radius:50%;
    background:radial-gradient(circle, rgba(201,154,78,0.9), rgba(201,154,78,0));
    filter:blur(1px);
  }

  /* ---------- BREW GUIDE ---------- */
  .brew{background:var(--ivory);}
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
  .step{
    background:#fff;border:1px solid #e6ded0;border-radius:4px;padding:32px 28px;
    position:relative;
  }
  .step .count{
    font-family:'Fraunces',serif;font-size:2.6rem;color:var(--grass);opacity:0.35;
    position:absolute;top:20px;right:24px;
  }
  .step h3{font-size:1.2rem;margin:8px 0 10px;max-width:180px;}
  .step p{color:#5c6152;font-size:0.94rem;}

  /* ---------- WHY SRISHTEA (features) ---------- */
  .features{background:var(--paper);}
  .features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e0d7c1;border:1px solid #e0d7c1;}
  .feature{background:var(--paper);padding:38px 28px;}
  .feature .ficon{width:36px;height:36px;margin-bottom:18px;}
  .feature h3{font-size:1.08rem;margin-bottom:8px;}
  .feature p{color:#5c6152;font-size:0.92rem;}

  /* ---------- TESTIMONIALS ---------- */
  .testimonials{background:var(--ivory);}
  .testimonial-viewport{overflow:hidden;position:relative;}
  .testimonial-track{display:flex;transition:transform .45s cubic-bezier(.2,.8,.2,1);}
  .testimonial-slide{flex:0 0 calc(33.333% - 19px);margin-right:28px;}
  .testimonial{background:#fff;border:1px solid #e6ded0;border-radius:4px;padding:30px 26px;display:flex;flex-direction:column;height:100%;}
  .testimonial .stars{color:var(--gold);letter-spacing:3px;margin-bottom:16px;font-size:0.95rem;}
  .testimonial p.quote{color:var(--ink);font-size:0.98rem;flex:1;margin-bottom:20px;}
  .testimonial .who{display:flex;align-items:center;gap:12px;}
  .testimonial .avatar{
    width:38px;height:38px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;color:#fff;font-size:0.95rem;flex-shrink:0;
  }
  .testimonial .who b{display:block;font-size:0.9rem;}
  .testimonial .who span{color:#8a8f7e;font-size:0.82rem;}

  /* ---------- GALLERY ---------- */
  .gallery{background:var(--forest-deep);}
  .gallery .section-head h2, .gallery .section-head p{color:var(--ivory);}
  .gallery .section-head p{color:#b7c2ae;}
  .gallery-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
  .gallery-tile{
    aspect-ratio:1/1;border-radius:4px;position:relative;overflow:hidden;
    display:flex;align-items:flex-end;padding:14px;
  }
  .gallery-tile span{color:rgba(255,255,255,0.85);font-size:0.78rem;font-weight:500;}
  .gallery-tile svg{position:absolute;top:14px;right:14px;width:18px;height:18px;opacity:0.65;}

  /* ---------- FAQ ---------- */
  .faq{background:var(--ivory);}
  .faq-list{max-width:760px;}
  .faq-item{border-bottom:1px solid #e0d7c1;padding:22px 0;}
  .faq-item summary{
    cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
    font-family:'Fraunces',serif;font-size:1.12rem;color:var(--ink);
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:"+";font-family:'Inter',sans-serif;font-size:1.4rem;color:var(--grass);flex-shrink:0;margin-left:20px;
    transition:transform .2s ease;
  }
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{color:#5c6152;margin-top:14px;max-width:600px;font-size:0.96rem;}

  /* ---------- NEWSLETTER / FOOTER ---------- */
  .cta-band{
    background:var(--clay);color:var(--ivory);padding:80px 0;text-align:center;
  }
  .cta-band h2{color:var(--ivory);font-size:clamp(1.8rem,3vw,2.4rem);max-width:560px;margin:0 auto 26px;}
  .newsletter{display:flex;justify-content:center;gap:12px;max-width:460px;margin:0 auto;flex-wrap:wrap;}
  .newsletter input{
    flex:1;min-width:220px;padding:15px 18px;border:none;border-radius:2px;font-size:0.95rem;font-family:'Inter',sans-serif;
  }
  .newsletter button{
    background:var(--forest-deep);color:var(--ivory);padding:15px 26px;border:none;border-radius:2px;
    font-weight:600;cursor:pointer;font-size:0.95rem;transition:background .2s ease;
  }
  .newsletter button:hover{background:#0e1e17;}

  footer{background:var(--forest-deep);color:#b7c2ae;padding:60px 0 30px;position:relative;}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.08);}
  .footer-logo{color:var(--ivory);font-family:'Fraunces',serif;font-size:1.4rem;margin-bottom:14px;}
  .footer-col h4{color:var(--ivory);font-size:0.95rem;margin-bottom:14px;font-weight:600;}
  .footer-col ul{list-style:none;}
  .footer-col li{margin-bottom:10px;font-size:0.92rem;}
  .footer-col a:hover{color:var(--gold);}
  .footer-bottom{display:flex;justify-content:space-between;padding-top:24px;font-size:0.85rem;flex-wrap:wrap;gap:10px;}

  /* ---------- TRUST BADGES ---------- */
  .trust-strip{background:var(--forest-deep);padding:26px 0;}
  .trust-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;}
  .trust-item{display:flex;align-items:center;gap:10px;color:#d8e2d3;font-size:0.88rem;}
  .trust-item svg{width:20px;height:20px;flex-shrink:0;stroke:var(--gold);}

  /* ---------- PRODUCT FILTER TABS ---------- */
  .filter-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:44px;}
  .filter-tab{
    border:1px solid #d8cdb2;background:transparent;padding:10px 20px;border-radius:30px;
    font-size:0.88rem;font-family:'Inter',sans-serif;cursor:pointer;color:var(--ink);
    transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .filter-tab:hover{border-color:var(--grass);}
  .filter-tab.active{background:var(--ink);border-color:var(--ink);color:var(--ivory);}
  .product-card{display:flex;} /* ensure transitions work when filtered */
  .product-card.hide{display:none;}

  /* ---------- WEIGHT SELECTOR ---------- */
  .weight-row{display:flex;gap:8px;margin-bottom:16px;}
  .weight-opt{
    border:1px solid #cfc4a8;background:#fff;padding:6px 14px;border-radius:20px;
    font-size:0.78rem;cursor:pointer;color:var(--ink);transition:background .2s ease, color .2s ease;
  }
  .weight-opt.active{background:var(--clay);border-color:var(--clay);color:#fff;}

  /* ---------- TESTIMONIAL SLIDER CONTROLS ---------- */
  .slider-controls{display:flex;justify-content:center;gap:22px;margin-top:34px;align-items:center;}
  .slider-arrow{
    width:38px;height:38px;border-radius:50%;border:1px solid #d8cdb2;background:#fff;cursor:pointer;
    display:flex;align-items:center;justify-content:center;transition:background .2s ease, border-color .2s ease;
  }
  .slider-arrow:hover{border-color:var(--grass);}
  .slider-arrow svg{width:16px;height:16px;}
  .slider-dots{display:flex;gap:8px;}
  .slider-dot{width:7px;height:7px;border-radius:50%;background:#d8cdb2;border:none;cursor:pointer;padding:0;transition:background .2s ease, width .2s ease;}
  .slider-dot.active{background:var(--clay);width:20px;border-radius:5px;}

  /* ---------- TOAST ---------- */
  .toast{
    position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);
    background:var(--ink);color:var(--ivory);padding:14px 26px;border-radius:4px;
    font-size:0.9rem;z-index:200;opacity:0;pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
    display:flex;align-items:center;gap:10px;box-shadow:0 12px 30px rgba(0,0,0,0.25);
  }
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
  .toast svg{width:16px;height:16px;stroke:var(--gold);flex-shrink:0;}

  /* ---------- CART DRAWER ---------- */
  .cart-scrim{
    position:fixed;inset:0;background:rgba(10,18,14,0.5);z-index:198;
    opacity:0;pointer-events:none;transition:opacity .3s ease;
  }
  .cart-scrim.open{opacity:1;pointer-events:auto;}
  .cart-drawer{
    position:fixed;top:0;right:0;height:100vh;width:min(420px,92vw);z-index:199;
    background:var(--ivory);box-shadow:-14px 0 40px rgba(0,0,0,0.25);
    transform:translateX(100%);transition:transform .35s ease;
    display:flex;flex-direction:column;
  }
  .cart-drawer.open{transform:translateX(0);}
  .cart-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:26px 28px;border-bottom:1px solid #e6ded0;
  }
  .cart-head h3{font-size:1.3rem;}
  .cart-close{background:none;border:none;cursor:pointer;font-size:1.4rem;line-height:1;color:var(--ink);}
  .cart-items{flex:1;overflow-y:auto;padding:10px 28px;}
  .cart-empty{color:#8a8f7e;text-align:center;padding:60px 0;font-size:0.95rem;}
  .cart-line{display:flex;gap:14px;padding:20px 0;border-bottom:1px solid #ece5d3;}
  .cart-line-swatch{
    width:56px;height:68px;border-radius:3px;flex-shrink:0;
    background:linear-gradient(155deg, var(--ca), var(--cb));
  }
  .cart-line-info{flex:1;}
  .cart-line-info h4{font-size:0.98rem;margin-bottom:2px;}
  .cart-line-info .meta{color:#8a8f7e;font-size:0.8rem;margin-bottom:8px;}
  .cart-line-qty{display:flex;align-items:center;gap:10px;}
  .cart-line-qty button{
    width:24px;height:24px;border:1px solid #d8cdb2;background:#fff;border-radius:50%;cursor:pointer;font-size:0.9rem;line-height:1;
  }
  .cart-line-price{text-align:right;flex-shrink:0;}
  .cart-line-price b{font-family:'Fraunces',serif;color:var(--clay);}
  .cart-line-remove{color:#8a8f7e;font-size:0.78rem;text-decoration:underline;margin-top:8px;display:inline-block;cursor:pointer;background:none;border:none;padding:0;}
  .cart-foot{padding:22px 28px 28px;border-top:1px solid #e6ded0;}
  .cart-subtotal{display:flex;justify-content:space-between;margin-bottom:16px;font-family:'Fraunces',serif;font-size:1.15rem;}
  .cart-checkout{
    display:block;width:100%;text-align:center;background:var(--gold);color:var(--forest-deep);
    padding:15px;border-radius:2px;font-weight:600;border:none;cursor:pointer;font-size:0.95rem;
  }
  .cart-note{color:#8a8f7e;font-size:0.78rem;text-align:center;margin-top:12px;}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:900px){
    .hero-inner{grid-template-columns:1fr;}
    .box-stage{height:300px;order:-1;}
    .section-head{grid-template-columns:1fr;}
    .grid-products{grid-template-columns:repeat(2,1fr);}
    .story .wrap{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    nav ul{display:none;}
    .nav-toggle{display:block;}
    header .nav-cta{display:none;}
    .features-grid{grid-template-columns:repeat(2,1fr);}
    .gallery-strip{grid-template-columns:repeat(3,1fr);}
    .testimonial-slide{flex:0 0 calc(50% - 14px);}
    .trust-row{justify-content:flex-start;}
  }
  @media (max-width:560px){
    .grid-products{grid-template-columns:1fr;}
    header{padding:16px 20px;}
    .wrap{padding:0 20px;}
    .hero-inner{padding:0 20px;}
    .section{padding:80px 0;}
    .features-grid{grid-template-columns:1fr;}
    .gallery-strip{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr;}
    .newsletter{flex-direction:column;}
    .newsletter button{width:100%;}
    .trust-row{flex-direction:column;align-items:flex-start;gap:14px;}
    .filter-tabs{gap:8px;}
    .slider-controls{gap:14px;}
    .testimonial-slide{flex:0 0 100%;margin-right:20px;}
  }