/* Reusable pieces shared across pages */
/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 30px;border-radius:100px;font-weight:600;font-size:.95rem;letter-spacing:.02em;cursor:pointer;border:1.5px solid transparent;transition:.3s ease}
.btn-primary{background:linear-gradient(120deg,var(--gold),var(--gold-deep));color:#2a2107;box-shadow:0 16px 30px -14px rgba(201,148,51,.8)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 22px 40px -14px rgba(201,148,51,.9)}
.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-3px)}

/* ---------- grinding mortar & pestle ---------- */
.grind-stage{display:grid;place-items:center}
.grind-big{width:210px;height:249px;overflow:visible}
.grind-big .ground{fill:rgba(0,0,0,.3)}
.grind-big .rim{fill:url(#brassRim)}
.grind-big .mouth{fill:url(#hollow)}
.grind-big .mound{fill:#61794a;opacity:.9}
.grind-big .shine{fill:none;stroke:rgba(255,255,255,.6);stroke-width:1.7;stroke-linecap:round}
.grind-big .bowl{fill:url(#brass)}
.grind-big .lip{fill:none;stroke:rgba(255,236,183,.42);stroke-width:1.6;stroke-linecap:round}
.grind-big .stem{fill:#9a6c1f}
.grind-big .foot{fill:url(#brassRim)}
.grind-big .rod,.grind-big .knob{fill:url(#bone)}
.grind-big .pestle{transform-origin:60px 72px;transform:rotate(var(--tilt,0deg)) translateY(var(--dip,0px));will-change:transform}
.grind-big .puff circle{fill:var(--sage);opacity:0;transform-origin:60px 58px}
.grind-stage.in .puff circle{animation:puff 2.4s ease-out infinite}
.grind-stage.in .puff circle:nth-child(2){animation-delay:.35s}
.grind-stage.in .puff circle:nth-child(3){animation-delay:.7s}
.grind-stage.in .puff circle:nth-child(4){animation-delay:1.05s}
.grind-stage.in .puff circle:nth-child(5){animation-delay:1.4s}
.grind-stage.in .puff circle:nth-child(6){animation-delay:1.75s}
@keyframes puff{0%{opacity:0;transform:translateY(6px) scale(.5)}25%{opacity:.85}100%{opacity:0;transform:translateY(-26px) scale(1.1)}}
.grind-caption{margin-top:18px;font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--ink-soft);font-style:italic}
.grind-caption .shloka{font-style:normal;font-size:1.15rem}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:70px}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px 20px;text-align:center;transition:.35s}
.stat:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.stat .num{font-family:'Cormorant Garamond';font-size:2.8rem;font-weight:700;color:var(--moss);line-height:1}
.stat .num .suf{color:var(--gold-deep)}
.stat p{font-size:.86rem;color:var(--ink-soft);margin-top:6px;text-transform:uppercase;letter-spacing:.12em}

/* product cards */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{position:relative;background:var(--paper);border-radius:var(--radius);overflow:hidden;box-shadow:0 14px 34px -24px rgba(31,61,43,.5);transition:transform .4s ease,box-shadow .4s ease;transform-style:preserve-3d;will-change:transform}
.card:hover{box-shadow:var(--shadow)}
.card .ph{aspect-ratio:4/3;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.card:hover .ph img{transform:scale(1.09)}
.card .body{padding:24px 24px 28px}
.card .tag{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-weight:700}
.card h3{font-size:1.5rem;margin:6px 0 8px}
.card p{color:var(--ink-soft);font-size:.95rem}
.product-grid.two{grid-template-columns:repeat(2,1fr);max-width:820px;margin-inline:auto}

/* icon panel for categories without a photograph */
.ph.motif{aspect-ratio:4/3;display:grid;place-items:center;position:relative;overflow:hidden;
  background:radial-gradient(circle at 32% 26%,#2f5d3b,#16301d 72%)}
.ph.motif::before{content:"";position:absolute;inset:-30%;
  background:repeating-radial-gradient(circle at 50% 50%,rgba(255,223,138,.11) 0 1px,transparent 1px 20px)}
.ph.motif::after{content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 45%,transparent 38%,rgba(0,0,0,.28))}
.ph.motif i{position:relative;z-index:1;font-size:2.9rem;color:#ffdf8a;text-shadow:0 6px 18px rgba(0,0,0,.4);transition:transform .5s ease}
.card:hover .ph.motif i{transform:scale(1.12) rotate(-5deg)}
.ph.motif.amber{background:radial-gradient(circle at 32% 26%,#b07f22,#5c3d0e 72%)}
.ph.motif.amber i{color:#ffeec2}

/* sub-item pills */
.pills{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.pills li{font-size:.71rem;font-weight:600;letter-spacing:.03em;color:var(--ink-soft);
  background:rgba(63,112,67,.08);border:1px solid var(--line);border-radius:100px;padding:5px 12px}

/* group heading inside the homepage products section */
.group-label{display:flex;align-items:center;gap:18px;margin:0 0 26px;text-transform:uppercase;
  letter-spacing:.28em;font-size:.72rem;font-weight:700;color:var(--gold-deep)}
.group-label::after{content:"";flex:1;height:1px;background:var(--line)}
.product-grid+.group-label{margin-top:58px}

/* remaining categories, teased below the featured grids */
.more-cats{margin-top:66px;padding-top:48px;border-top:1px solid var(--line);text-align:center}
.more-cats h3{font-size:clamp(1.5rem,3vw,2.15rem);margin:.22em 0 24px}
.cat-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-bottom:32px;
  max-width:820px;margin-inline:auto}
.cat-chips a{font-size:.8rem;font-weight:600;color:var(--ink-soft);background:var(--paper);
  border:1px solid var(--line);border-radius:100px;padding:8px 17px;transition:.28s ease}
.cat-chips a:hover{background:var(--forest);color:#f4f1e4;border-color:var(--forest);transform:translateY(-2px)}

/* value cards */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.vcard{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:36px 26px;text-align:center;transition:.4s}
.vcard:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
.vcard .ic{width:66px;height:66px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:1.6rem;color:#fff;background:radial-gradient(circle at 30% 30%,var(--moss-2),var(--forest));transition:.4s}
.vcard:hover .ic{transform:rotate(-8deg) scale(1.06)}
.vcard h3{font-size:1.5rem;margin-bottom:8px}
.vcard p{color:var(--ink-soft);font-size:.94rem}

/* quality items */
.q-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.qitem{display:flex;gap:18px;background:var(--paper);border-radius:18px;padding:28px;border:1px solid var(--line)}
.qitem i{font-size:1.8rem;color:var(--gold-deep);flex:none;margin-top:4px}
.qitem h3{font-size:1.35rem;margin-bottom:6px}
.qitem p{color:var(--ink-soft);font-size:.94rem}
.certs{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:48px}
.certs .chip{background:var(--paper);border:1px solid var(--line);border-radius:100px;padding:10px 22px;font-weight:600;font-size:.82rem;color:var(--forest);display:flex;gap:9px;align-items:center}
.certs .chip i{color:var(--moss)}

/* testimonial cards */
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tcard{background:var(--paper);border-radius:18px;padding:34px;border:1px solid var(--line);position:relative}
.tcard .quote{font-family:'Cormorant Garamond';font-size:4rem;color:var(--sage);line-height:.5;height:26px}
.tcard p{color:var(--ink-soft);font-style:italic;font-size:1.02rem;margin-bottom:18px}
.tcard .who{display:flex;align-items:center;gap:12px}
.tcard .av{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--sage),var(--moss));color:#fff;display:grid;place-items:center;font-family:'Cormorant Garamond';font-size:1.2rem;font-weight:700}
.tcard .who b{color:var(--forest);font-family:'Cormorant Garamond';font-size:1.2rem;display:block;line-height:1.1}
.tcard .who span{font-size:.8rem;color:var(--ink-soft)}

/* team cards */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:900px;margin:0 auto}
.tm{text-align:center;background:var(--paper);border-radius:20px;padding:36px 24px;border:1px solid var(--line);transition:.4s}
.tm:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.tm .av{width:104px;height:104px;border-radius:50%;margin:0 auto 18px;background:radial-gradient(circle at 30% 30%,var(--sage),var(--forest));color:#fff;display:grid;place-items:center;font-family:'Cormorant Garamond';font-size:2.4rem;font-weight:700;overflow:hidden}
.tm .av img{width:100%;height:100%;object-fit:cover}
.tm h3{font-size:1.5rem}
.tm p{color:var(--gold-deep);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.14em}

/* floating controls */
.float-ctrl{position:fixed;right:22px;bottom:22px;z-index:900;display:flex;flex-direction:column;gap:12px}
.float-ctrl button{width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center;font-size:1.1rem;color:#f4f1e4;background:linear-gradient(140deg,var(--moss-2),var(--forest));box-shadow:var(--shadow);transition:.3s;position:relative}
.float-ctrl button:hover{transform:translateY(-4px) scale(1.05)}
#audio-btn.on{background:linear-gradient(140deg,var(--gold),var(--gold-deep));color:#2a2107}
#audio-btn .pulse{position:absolute;inset:0;border-radius:50%;border:2px solid var(--gold);opacity:0}
#audio-btn.on .pulse{animation:pulse 1.8s infinite}
@keyframes pulse{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.6)}}
#top-btn{opacity:0;pointer-events:none;transform:translateY(10px)}
#top-btn.show{opacity:1;pointer-events:auto;transform:none}
.audio-hint{position:fixed;right:84px;bottom:34px;z-index:900;background:var(--paper);color:var(--ink);padding:8px 14px;border-radius:100px;font-size:.78rem;box-shadow:var(--shadow);white-space:nowrap;opacity:0;transform:translateX(10px);transition:.4s;pointer-events:none}
.audio-hint.show{opacity:1;transform:none}
