/* ============================================================
   RUDRAA RATNA — page styles
   ============================================================ */

/* ---- grids ---- */
.prod-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.purpose__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; animation:fadeUp .5s var(--ease-out) both; }
.cat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media(max-width:1000px){ .prod-grid,.purpose__grid{ grid-template-columns:repeat(2,1fr); } .cat-grid{ grid-template-columns:repeat(2,1fr); } .testi-grid{ grid-template-columns:1fr; } }
@media(max-width:560px){ .prod-grid,.purpose__grid,.cat-grid{ grid-template-columns:1fr 1fr; gap:14px; } }
@media(max-width:380px){ .prod-grid,.purpose__grid,.cat-grid{ grid-template-columns:1fr; } }

/* ============================================================ HERO */
.hero-wrap{ position:relative; overflow:hidden; background:
  radial-gradient(120% 90% at 88% 0%, rgba(176,130,58,.10), transparent 55%),
  radial-gradient(90% 80% at 0% 100%, rgba(87,22,27,.06), transparent 50%); }
.hero{ display:grid; grid-template-columns:1.04fr .96fr; gap:40px; align-items:center; padding-block:clamp(36px,5.5vw,82px); }
.hero__copy{ max-width:600px; }
.h-hero{ margin-top:18px; }
.hero__em{ color:var(--gold); font-style:italic; }
.hero__lead{ margin-top:22px; max-width:520px; }
.hero__cta{ display:flex; gap:14px; margin-top:30px; flex-wrap:wrap; }
.hero__proof{ display:flex; align-items:center; gap:14px; margin-top:32px; }
.hero__avatars{ display:flex; }
.hero__avatars span{ width:34px; height:34px; border-radius:50%; border:2px solid var(--ivory); margin-left:-10px; box-shadow:var(--sh1); }
.hero__avatars span:first-child{ margin-left:0; }
.hero__proof-txt{ font-size:13px; color:var(--ink-3); margin-top:2px; }
.hero__proof-txt b{ color:var(--maroon-ink); }

.hero__visual{ position:relative; min-height:440px; display:grid; place-items:center; }
.hero__mandala{ position:absolute; width:430px; height:430px; max-width:96%; border-radius:50%;
  background:
    repeating-conic-gradient(from 0deg, var(--gold-line) 0deg 0.5deg, transparent 0.5deg 11.5deg);
  -webkit-mask:radial-gradient(circle, transparent 47%, #000 48%, #000 49.5%, transparent 50.5%);
          mask:radial-gradient(circle, transparent 47%, #000 48%, #000 49.5%, transparent 50.5%);
  opacity:.6; animation:spinSlow 90s linear infinite; }
.hero__plinth{ position:relative; width:330px; height:330px; max-width:80%; border-radius:50%;
  background:radial-gradient(circle at 50% 38%, var(--paper), var(--ivory-2) 70%, var(--ivory-3));
  box-shadow:var(--sh3), inset 0 2px 10px rgba(255,255,255,.6); display:grid; place-items:center;
  border:1px solid var(--gold-line); }
.hero__plinth .gemart{ animation:floaty 6s var(--ease-in-out) infinite; }
.hero__float{ position:absolute; display:flex; align-items:center; gap:11px; padding:12px 15px; border-radius:var(--r3); background:rgba(255,255,255,.9); backdrop-filter:blur(8px); box-shadow:var(--sh2); }
.hero__float b{ display:block; font-size:13px; color:var(--maroon-ink); }
.hero__float span:not(.hf-ic){ font-size:11px; color:var(--ink-3); }
.hf-ic{ width:34px; height:34px; border-radius:10px; background:var(--ivory-2); display:grid; place-items:center; flex-shrink:0; }
.hero__float--cert{ top:6%; left:-2%; animation:floaty 7s var(--ease-in-out) infinite; }
.hero__float--ship{ bottom:14%; left:-4%; animation:floaty 6.4s var(--ease-in-out) .6s infinite; }
.hero__float--wa{ top:20%; right:-3%; animation:floaty 7.4s var(--ease-in-out) .3s infinite; }

@media(max-width:920px){
  .hero{ grid-template-columns:1fr; gap:10px; text-align:center; }
  .hero__copy{ max-width:640px; margin-inline:auto; }
  .hero__cta,.hero__proof{ justify-content:center; }
  .hero__lead{ margin-inline:auto; }
  .hero__visual{ min-height:380px; order:-1; }
  .eyebrow{ justify-content:center; }
}
@media(max-width:480px){
  .hero__float--cert{ left:0; top:0; } .hero__float--ship{ left:0; } .hero__float--wa{ right:0; }
  .hero__float span:not(.hf-ic){ display:none; }
  .hero__plinth{ width:250px; height:250px; }
  .hero__mandala{ width:320px; height:320px; }
}

/* ============================================================ PURPOSE PICKER */
.purpose__chips{ display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.purpose__chip{ display:flex; flex-direction:column; align-items:center; gap:8px; padding:18px 10px; border-radius:var(--r3); background:var(--paper); border:1px solid var(--line); transition:all .28s var(--ease); position:relative; }
.purpose__chip:hover{ border-color:var(--gold-line); transform:translateY(-3px); box-shadow:var(--sh1); }
.purpose__ic{ width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:var(--ivory-2); color:var(--gold); transition:all .28s; }
.purpose__lbl{ font-size:13px; font-weight:700; color:var(--maroon-ink); text-align:center; line-height:1.2; }
.purpose__deva{ font-size:11px; color:var(--ink-4); }
.purpose__chip.is-active{ background:var(--maroon); border-color:var(--maroon); box-shadow:var(--sh2); }
.purpose__chip.is-active .purpose__ic{ background:rgba(255,255,255,.12); color:var(--gold-soft); }
.purpose__chip.is-active .purpose__lbl{ color:#fff; }
.purpose__chip.is-active .purpose__deva{ color:var(--gold-soft); }
.purpose__panel{ margin-top:26px; }
.purpose__panel-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px; flex-wrap:wrap; }
.purpose__blurb{ font-family:var(--display); font-size:21px; color:var(--maroon-ink); margin:6px 0 0; }
@media(max-width:760px){ .purpose__chips{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:420px){ .purpose__chips{ grid-template-columns:repeat(2,1fr); } }

/* ============================================================ CATEGORY CARDS */
.cat-card button{ width:100%; text-align:left; background:var(--paper); border:1px solid var(--line); border-radius:var(--r3); overflow:hidden; transition:all .4s var(--ease-out); display:flex; flex-direction:column; }
.cat-card button:hover{ transform:translateY(-5px); box-shadow:var(--sh3); border-color:var(--gold-line); }
.cat-card__art{ aspect-ratio:16/11; display:grid; place-items:center; background:radial-gradient(120% 120% at 50% 20%, var(--ivory), var(--ivory-3)); }
.cat-card__txt{ padding:20px; }
.cat-card__deva{ color:var(--gold); font-size:14px; }
.cat-card__txt h3{ margin:4px 0 8px; }
.cat-card__txt p{ font-size:14px; margin-bottom:14px; }

/* ============================================================ CONSULT BAND */
.consult-band{ background:
  radial-gradient(120% 120% at 85% 10%, var(--maroon-2), var(--maroon-ink) 60%);
  color:#fff; padding-block:clamp(56px,7vw,96px); position:relative; overflow:hidden; }
.consult-band::before{ content:'ॐ'; position:absolute; right:-2%; bottom:-18%; font-family:var(--deva); font-size:380px; color:rgba(228,205,146,.05); line-height:1; }
.consult-band__in{ display:grid; grid-template-columns:1.3fr .7fr; gap:40px; align-items:center; position:relative; }
.consult-band__copy{ max-width:620px; }
.consult-band__copy .h2{ margin-top:14px; }
.consult-band__tags{ display:flex; flex-wrap:wrap; gap:9px; margin:22px 0 6px; }
.consult-tag{ font-size:12.5px; font-weight:600; padding:7px 14px; border-radius:var(--pill); border:1px solid var(--line-on-dark); color:var(--gold-soft); }
.consult-band__art{ display:grid; place-items:center; }
.consult-orb{ width:300px; height:300px; max-width:100%; border-radius:50%; display:grid; place-items:center; background:radial-gradient(circle at 50% 35%, rgba(228,205,146,.14), transparent 65%); border:1px solid var(--line-on-dark); }
@media(max-width:860px){ .consult-band__in{ grid-template-columns:1fr; } .consult-band__art{ display:none; } }

/* ============================================================ AUTH HOME */
.auth-home{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.auth-list{ list-style:none; padding:0; margin:22px 0 26px; display:flex; flex-direction:column; gap:14px; }
.auth-list li{ display:flex; gap:12px; font-size:15px; color:var(--ink-2); }
.auth-list li svg{ color:var(--leaf); flex-shrink:0; margin-top:3px; }
.auth-list b{ color:var(--maroon-ink); }
@media(max-width:860px){ .auth-home{ grid-template-columns:1fr; gap:32px; } }

/* fake vs real mini */
.fr-mini__stage{ position:relative; aspect-ratio:4/3; border-radius:var(--r3); overflow:hidden; border:1px solid var(--line); box-shadow:var(--sh2);
  background:radial-gradient(120% 120% at 50% 20%, var(--paper), var(--ivory-2)); display:grid; place-items:center; }
.fr-side{ position:absolute; inset:0; display:grid; place-items:center; }
.fr-fake{ background:radial-gradient(120% 120% at 50% 20%, #eef0f2, #d9dde1); }
.fr-fake-art{ filter:grayscale(.55) brightness(1.18) contrast(.82); }
.fr-tag{ position:absolute; bottom:14px; font-size:11.5px; font-weight:700; letter-spacing:.04em; padding:6px 12px; border-radius:var(--pill); display:inline-flex; align-items:center; gap:5px; }
.fr-tag--real{ left:14px; background:var(--leaf-bg); color:var(--leaf); }
.fr-tag--fake{ right:14px; background:#e7e9ec; color:#7a8088; }
.fr-handle{ position:absolute; top:0; bottom:0; width:2px; background:var(--gold); transform:translateX(-1px); pointer-events:none; z-index:3; }
.fr-handle span{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:42px; height:42px; border-radius:50%; background:#fff; box-shadow:var(--sh2); display:grid; grid-auto-flow:column; place-items:center; color:var(--gold); border:1px solid var(--gold-line); }
.fr-range{ position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; z-index:4; margin:0; }
.fr-mini__cap{ font-size:13px; margin-top:12px; text-align:center; }

/* ============================================================ TESTIMONIALS */
.testi{ padding:26px; display:flex; flex-direction:column; gap:14px; }
.testi__txt{ font-family:var(--display); font-size:19px; line-height:1.45; color:var(--maroon-ink); margin:0; }
.testi__by{ display:flex; align-items:center; gap:12px; margin-top:auto; }
.testi__av{ width:42px; height:42px; border-radius:50%; display:grid; place-items:center; color:#fff; font-family:var(--display); font-size:19px; font-weight:600; }
.testi__by b{ display:block; font-size:14px; color:var(--maroon-ink); }
.testi__by span{ font-size:12.5px; color:var(--ink-3); }

/* ============================================================ OFFER BAND */
.offer-band{ background:var(--ivory-2); border-top:1px solid var(--line); }
.offer-band__in{ display:flex; align-items:center; justify-content:space-between; gap:28px; padding-block:clamp(32px,4vw,52px); flex-wrap:wrap; }
.offer-band__in > div{ max-width:560px; }
