/* ═══════════════════════════════════════════════════════════════════════════
   ACHARYA ANAND — NEUMORPHIC DESIGN SYSTEM v3.0
   Adapted from Acharya Anand · Warm beige parchment + cosmic navy
   Fonts: Cormorant Garamond (display) + Inter (UI)
   Pure CSS3 — No frameworks, no dependencies
   ═══════════════════════════════════════════════════════════════════════════ */

:root{
  /* ── Neumorphic parchment surface ── */
  --stone:#ECE6DA;
  --stone-2:#F3EEE3;
  --light:#FFFDF7;
  --dark:#D4CAB8;

  /* ── Cosmic-navy authority ── */
  --navy-950:#0B1020;
  --navy-900:#0D1226;
  --navy-800:#11172B;
  --navy-700:#1A2140;
  --indigo:#4B3F8F;

  /* ── Accents ── */
  --gold:#C8A44D;
  --gold-2:#E6C964;
  --saf:#D97706;       /* dominant CTA */
  --saf-2:#B8620C;
  --saf-3:#F59E2B;

  /* ── Ink ── */
  --ink:#211F28;
  --ink-2:#403C49;
  --muted:#6B6678;
  --line:#E0D7C6;

  /* ── Status ── */
  --status-success:#2D5A3D;
  --status-warning:#8B6914;
  --status-danger:#5A1A1A;

  /* ── On dark ── */
  --cream:#F8F3EA;
  --cream-mute:#B8B2A7;

  /* ── Gradients ── */
  --g-cta:linear-gradient(96deg,#F59E2B 0%,#D97706 52%,#B8620C 100%);
  --g-hero:radial-gradient(120% 90% at 78% 8%, #1A2140 0%, #0D1226 46%, #0B1020 100%);
  --g-band:linear-gradient(155deg,#141A33 0%,#0B1020 70%,#11172B 100%);

  /* ── Neumorphic shadows (parchment) ── */
  --raise:7px 7px 16px var(--dark),-7px -7px 16px var(--light);
  --raise-sm:4px 4px 10px var(--dark),-4px -4px 10px var(--light);
  --raise-card:12px 12px 28px var(--dark),-9px -9px 22px var(--light);
  --inset:inset 5px 5px 11px var(--dark),inset -5px -5px 11px var(--light);
  --inset-sm:inset 3px 3px 7px var(--dark),inset -3px -3px 7px var(--light);
  /* ── Neumorphic shadows (dark) ── */
  --d-raise:10px 12px 30px rgba(5,7,16,.55),-2px -2px 10px rgba(255,255,255,.045);
  --d-raise-sm:6px 7px 18px rgba(5,7,16,.5),-2px -2px 7px rgba(255,255,255,.04);
  --d-inset:inset 4px 4px 12px rgba(5,7,16,.6),inset -3px -3px 9px rgba(255,255,255,.04);

  --disp:'Cormorant Garamond',Georgia,serif;
  --ui:'Inter',-apple-system,'Segoe UI',sans-serif;
  --wrap:1180px;

  /* ── Legacy compat aliases ── */
  --bg:var(--stone);
  --bg-light:var(--light);
  --bg-dark:var(--dark);
  --deep-ink:var(--navy-950);
  --saffron:var(--saf-2);
  --saffron2:var(--saf);
  --antique-gold:var(--gold);
  --gold-pale:var(--gold-2);
  --text-dark:var(--ink);
  --text-body:var(--ink-2);
  --text-muted:var(--muted);
  --text-light:var(--cream);
  --ivory:var(--cream);
  --font-heading:var(--disp);
  --font-body:var(--ui);
  --radius-pill:999px;
  --radius-lg:20px;
  --radius-md:12px;
  --shadow-sm:var(--raise-sm);
  --shadow-md:var(--raise);
  --shadow-lg:var(--raise-card);
  --shadow-gold:6px 7px 16px rgba(140,80,15,.32),-4px -4px 10px var(--light);
  --g-tile:var(--g-band);
  --gradient-hero:var(--g-hero);
  --container-max:var(--wrap);

  /* ── Broken-page compat aliases → brand palette ── */
  --oxblood-950:var(--navy-950);
  --oxblood-900:var(--navy-900);
  --oxblood-800:var(--navy-800);
  --gold-500:var(--gold);
  --gold-400:var(--gold-2);
  --gold-300:var(--gold-2);
  --cream-100:var(--cream);
  --bronze-300:var(--saf-2);
  --ink-800:var(--ink);
  --ink-600:var(--ink-2);
  --parchment-100:var(--stone-2);
  --parchment-200:var(--stone);
  --ivory-100:var(--cream);
  --plum-900:var(--navy-900);
  --rose-600:var(--status-danger);
  --rose-700:var(--status-danger);
  --slate-700:var(--muted);
  --border-soft:var(--line);
  --border-strong:var(--dark);
  --font-display:var(--disp);
  --font-accent:var(--disp);
  --r-md:var(--radius-md);
  --r-lg:var(--radius-lg);
  --sp-2:8px;
  --sp-3:12px;
  --sp-4:16px;
  --sp-5:24px;
  --sp-6:32px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --duration-fast:160ms;
  --header-h:72px;
}

/* ════════ RESET ════════ */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--ui);background:var(--stone);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}
svg{display:block;flex-shrink:0}
img{display:block;max-width:100%}
button{font-family:var(--ui);cursor:pointer}
ul,ol{list-style:none}
input,textarea,select{font-family:inherit;font-size:inherit}
::selection{background:var(--saf);color:#fff}

/* ════════ TYPE HELPERS ════════ */
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--saf);display:inline-flex;align-items:center;gap:9px}
.eyebrow .st{color:var(--gold);font-size:13px}
.eyebrow.on-dark{color:var(--gold-2)}
.eyebrow.on-dark .st{color:var(--gold-2)}
.h2{font-family:var(--disp);font-weight:700;font-size:clamp(30px,4.4vw,46px);letter-spacing:-.01em;line-height:1.06;color:var(--navy-900)}
.h2.on-dark{color:var(--cream)}
.h2 em{font-style:italic;color:var(--saf)}
.h2.on-dark em{color:var(--gold-2)}
.lead{font-size:clamp(15px,1.4vw,17px);color:var(--ink-2);max-width:54ch;line-height:1.7}
.lead.on-dark{color:var(--cream-mute)}

/* ════════ BUTTONS ════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:none;border-radius:999px;padding:16px 30px;font-size:15px;font-weight:600;color:#fff;background:var(--g-cta);box-shadow:7px 8px 20px rgba(180,98,12,.34),-3px -3px 9px rgba(255,255,255,.18);transition:transform .18s,filter .18s,box-shadow .18s;letter-spacing:.01em;cursor:pointer;font-family:var(--ui)}
.btn:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:9px 11px 26px rgba(180,98,12,.42)}
.btn:active{transform:translateY(0)}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:none;border-radius:999px;padding:15px 26px;font-size:14.5px;font-weight:600;color:var(--navy-800);background:var(--stone);box-shadow:var(--raise-sm);transition:transform .18s,box-shadow .18s;cursor:pointer;font-family:var(--ui)}
.btn-ghost:hover{transform:translateY(-2px);box-shadow:var(--raise)}
.btn-ghost.on-dark{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 1px rgba(230,201,100,.4)}
.btn-ghost.on-dark:hover{box-shadow:inset 0 0 0 1px rgba(230,201,100,.7);transform:translateY(-2px);background:rgba(230,201,100,.06)}
.btn-sm{display:inline-flex;align-items:center;gap:7px;border:none;border-radius:999px;padding:12px 20px;font-size:13.5px;font-weight:600;color:#fff;background:var(--g-cta);box-shadow:5px 6px 14px rgba(180,98,12,.3);cursor:pointer;transition:transform .16s,filter .16s;font-family:var(--ui)}
.btn-sm:hover{transform:translateY(-2px);filter:brightness(1.05)}
.btn-ghost.sm{padding:12px 22px;font-size:13.5px}
.btn.sm{padding:12px 22px;font-size:13.5px}

.seal{width:44px;height:44px;border-radius:13px;background:var(--stone);box-shadow:var(--raise-sm);display:flex;align-items:center;justify-content:center;color:var(--gold)}
.seal.dark{background:var(--navy-800);box-shadow:var(--d-raise-sm);color:var(--gold-2)}
.mark{width:24px;height:24px}

/* ════════ UTILITY BAR ════════ */
.util{background:var(--navy-950);color:var(--cream);font-size:12.5px;text-align:center;padding:9px 20px;letter-spacing:.02em}
.util .g{color:var(--gold-2);font-weight:600}

/* ════════ HEADER ════════ */
header{position:sticky;top:0;z-index:90;background:rgba(236,230,218,.86);backdrop-filter:blur(14px);box-shadow:0 8px 26px -18px rgba(40,28,8,.5);transition:box-shadow .2s}
header.scrolled{box-shadow:0 10px 30px -16px rgba(40,28,8,.55)}
.nav{display:flex;align-items:center;height:70px;gap:28px}
.logo{display:flex;align-items:center;gap:12px}
.logo b{font-family:var(--disp);font-weight:700;font-size:22px;letter-spacing:.16em;color:var(--navy-900);line-height:1}
.logo .since{display:block;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:3px}
.logo img.logo-img{height:52px;width:auto;border-radius:8px}
.menu{display:flex;gap:4px;margin-left:8px}
.menu a{font-size:14px;font-weight:500;color:var(--ink-2);padding:9px 14px;border-radius:10px;transition:.16s}
.menu a:hover{color:var(--saf);background:rgba(0,0,0,.035)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.nav-right .btn{padding:11px 22px;font-size:13.5px;line-height:1;white-space:nowrap;max-height:44px;align-self:center;box-shadow:5px 6px 14px rgba(180,98,12,.3),-2px -2px 7px rgba(255,255,255,.16)}
.nav-right .btn:hover{box-shadow:6px 8px 18px rgba(180,98,12,.4),-2px -2px 7px rgba(255,255,255,.16)}
.nav-link{font-size:14px;font-weight:600;color:var(--navy-800);padding:10px 16px;border-radius:999px;transition:.16s}
.nav-link:hover{color:var(--saf)}
.hb{display:none;width:44px;height:44px;border-radius:12px;background:var(--stone);box-shadow:var(--raise-sm);align-items:center;justify-content:center;border:none;color:var(--navy-800)}

/* ════════ SECTION RHYTHM ════════ */
.sec{padding:clamp(64px,9vw,108px) 0}
.sec-head{max-width:640px;margin-bottom:clamp(34px,5vw,52px)}
.sec-head .h2{margin-top:12px}
.sec-head p{margin-top:16px}

/* ════════ HERO ════════ */
.hero{position:relative;background:var(--g-hero);color:var(--cream);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(230,201,100,.16) 1px,transparent 0);background-size:34px 34px;opacity:.35;mask-image:radial-gradient(120% 80% at 75% 10%,#000,transparent 75%)}
.hero .glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(75,63,143,.5),transparent 66%);top:-180px;right:-120px;pointer-events:none}
.hero .glow2{position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(217,119,6,.16),transparent 68%);bottom:-160px;left:-120px;pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.12fr .88fr;gap:54px;align-items:center;padding:clamp(54px,7vw,92px) 0 clamp(56px,7vw,88px)}
.h-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 10px;border-radius:999px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(230,201,100,.28);font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--gold-2);margin-bottom:26px}
.h-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--saf-3);box-shadow:0 0 0 4px rgba(245,158,43,.22)}
.hero h1{font-family:var(--disp);font-weight:700;font-size:clamp(34px,4.7vw,54px);line-height:1.13;letter-spacing:-.005em;color:var(--cream)}
.hero h1 .em{font-style:italic;color:var(--gold-2)}
.hero h1 .line2{color:#CFC7D8;display:inline}
.hero .sub{margin-top:28px;font-size:clamp(15.5px,1.6vw,18px);line-height:1.7;color:var(--cream-mute);max-width:46ch}
.hero .sub b{color:var(--cream);font-weight:600}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.trust-strip{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:38px;padding-top:30px;border-top:1px solid rgba(230,201,100,.16)}
.trust-strip .ti{display:flex;align-items:center;gap:11px;font-size:13.5px;font-weight:500;color:var(--cream)}
.trust-strip .ti .tc{width:30px;height:30px;border-radius:9px;background:rgba(230,201,100,.1);display:flex;align-items:center;justify-content:center;color:var(--gold-2)}

/* Free-kundli card */
.kundli-card{position:relative;background:var(--stone);border-radius:26px;padding:30px 28px;box-shadow:var(--raise-card);z-index:2}
.kc-rib{position:absolute;top:-13px;left:28px;background:var(--g-cta);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 16px;border-radius:999px;box-shadow:4px 5px 12px rgba(180,98,12,.35)}
.kc-head{display:flex;align-items:center;gap:13px;margin-bottom:4px}
.kc-head h3{font-family:var(--disp);font-weight:700;font-size:25px;color:var(--navy-900);line-height:1.1}
.kc-sub{font-size:13px;color:var(--muted);margin-bottom:20px;margin-top:2px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field-row.solo{grid-template-columns:1fr}
.lab{font-size:12px;font-weight:600;color:var(--ink-2);margin:0 2px 7px;display:block;letter-spacing:.01em}
.field{width:100%;border:none;outline:none;border-radius:14px;background:var(--stone);box-shadow:var(--inset);padding:14px 16px;font-family:var(--ui);font-size:14.5px;color:var(--ink);font-weight:500;transition:.2s;margin-bottom:14px}
.field::placeholder{color:#8C7E64;font-weight:400;opacity:1}
.field:focus{box-shadow:var(--inset-sm),0 0 0 2px rgba(217,119,6,.35)}
/* native date/time fields: show the dd/mm/yyyy & --:-- hint in the muted placeholder tone when empty (JS toggles .ph-empty); turns dark once a value is chosen */
input[type="date"].field.ph-empty,input[type="time"].field.ph-empty,input[type="datetime-local"].field.ph-empty,input[type="date"].form-input.ph-empty,input[type="time"].form-input.ph-empty,input[type="datetime-local"].form-input.ph-empty{color:#8C7E64;-webkit-text-fill-color:#8C7E64}
input[type="date"].field:not(:focus):invalid,input[type="time"].field:not(:focus):invalid,input[type="date"].form-input:not(:focus):invalid,input[type="time"].form-input:not(:focus):invalid{color:#8C7E64;-webkit-text-fill-color:#8C7E64}
.kc-card-cta{width:100%;margin-top:4px}
.kc-foot{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:12px;color:var(--muted)}
.kc-foot svg{color:var(--gold)}

/* ════════ GUARANTEE ════════ */
.guarantee{background:var(--g-band);color:var(--cream);position:relative;overflow:hidden}
.guarantee::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(230,201,100,.13) 1px,transparent 0);background-size:38px 38px;opacity:.4;mask-image:radial-gradient(90% 120% at 15% 50%,#000,transparent 70%)}
.g-glow{position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(217,119,6,.18),transparent 65%);top:-120px;right:-100px;pointer-events:none}
.g-grid{position:relative;display:grid;grid-template-columns:.94fr 1.06fr;gap:clamp(36px,5vw,70px);align-items:center}
.g-left .h2{margin-top:14px}
.g-quote{font-family:var(--disp);font-style:italic;font-weight:600;font-size:clamp(22px,2.7vw,30px);line-height:1.32;color:var(--cream);margin-top:24px}
.g-quote .hl{color:var(--gold-2);font-style:normal;font-weight:700}
.g-seal{display:inline-flex;align-items:center;gap:12px;margin-top:30px;padding:13px 20px 13px 14px;border-radius:16px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(230,201,100,.28)}
.g-seal .gs-ic{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(230,201,100,.5);display:flex;align-items:center;justify-content:center;color:var(--gold-2);flex-shrink:0}
.g-seal .gs-t b{display:block;font-size:14px;color:var(--cream);font-weight:600}
.g-seal .gs-t span{font-size:12.5px;color:var(--cream-mute)}
.g-steps{display:flex;flex-direction:column;gap:14px}
.g-step{display:flex;gap:18px;align-items:flex-start;background:rgba(255,255,255,.035);border-radius:18px;padding:22px 24px;box-shadow:var(--d-raise-sm)}
.g-step .gn{font-family:var(--disp);font-weight:700;font-size:24px;color:var(--gold-2);line-height:1;min-width:34px}
.g-step .gx b{display:block;color:var(--cream);font-size:15.5px;font-weight:600;margin-bottom:4px}
.g-step .gx p{color:var(--cream-mute);font-size:14px;line-height:1.6}
.g-step.accent{box-shadow:var(--d-raise-sm),inset 0 0 0 1px rgba(217,119,6,.4);background:rgba(217,119,6,.07)}

/* ════════ HOW IT WORKS ════════ */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step3{position:relative;background:var(--stone);border-radius:22px;padding:34px 28px 30px;box-shadow:var(--raise)}
.step3 .s-num{font-family:var(--disp);font-weight:700;font-size:18px;width:52px;height:52px;border-radius:50%;background:var(--stone);box-shadow:var(--raise-sm);display:flex;align-items:center;justify-content:center;color:var(--saf);margin-bottom:20px}
.step3 h4{font-family:var(--disp);font-weight:700;font-size:23px;color:var(--navy-900);line-height:1.15;margin-bottom:9px}
.step3 h4 em{font-style:italic;color:var(--saf)}
.step3 p{font-size:14.5px;color:var(--ink-2);line-height:1.66}
.step3 .skt{margin-top:16px;font-size:12px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;font-weight:600}
.step3 .conn{position:absolute;top:54px;right:-13px;width:26px;height:2px;background:var(--line);z-index:2}

/* ════════ SERVICES ════════ */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc{background:var(--stone);border-radius:20px;padding:28px 26px;box-shadow:var(--raise);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.svc:hover{transform:translateY(-5px);box-shadow:var(--raise-card)}
.svc .si{width:54px;height:54px;border-radius:15px;background:var(--stone);box-shadow:var(--raise-sm);display:flex;align-items:center;justify-content:center;color:var(--saf);margin-bottom:18px}
.svc h3{font-family:var(--disp);font-weight:700;font-size:22px;color:var(--navy-900);line-height:1.12}
.svc p{font-size:14px;color:var(--ink-2);line-height:1.62;margin-top:9px;flex:1}
.svc .svc-cta{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-size:13.5px;font-weight:600;color:var(--saf);transition:gap .18s}
.svc:hover .svc-cta{gap:12px}

/* ════════ WHY ════════ */
.why{background:var(--g-band);color:var(--cream);position:relative;overflow:hidden}
.why::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(230,201,100,.12) 1px,transparent 0);background-size:40px 40px;opacity:.32;mask-image:radial-gradient(100% 100% at 85% 30%,#000,transparent 72%)}
.why-grid{position:relative;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(34px,5vw,64px)}
.why-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.why-item{background:rgba(255,255,255,.04);border-radius:18px;padding:24px 22px;box-shadow:var(--d-raise-sm)}
.why-item .wi-ic{width:40px;height:40px;border-radius:11px;background:rgba(230,201,100,.1);display:flex;align-items:center;justify-content:center;color:var(--gold-2);margin-bottom:14px}
.why-item h4{font-family:var(--disp);font-weight:700;font-size:20px;color:var(--cream);line-height:1.15;margin-bottom:7px}
.why-item p{font-size:13.5px;color:var(--cream-mute);line-height:1.6}

/* ════════ TESTIMONIALS ════════ */
.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tcard{background:var(--stone);border-radius:22px;padding:30px 28px;box-shadow:var(--raise);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.tcard:hover{transform:translateY(-4px);box-shadow:var(--raise-card)}
.tcard.feature{grid-row:span 2;background:var(--g-band);color:var(--cream);box-shadow:var(--d-raise);justify-content:space-between}
.tcard .quote-mark{font-family:var(--disp);font-size:60px;line-height:.6;color:var(--gold);height:30px}
.tcard.feature .quote-mark{color:var(--gold-2)}
.tcard .stars{display:flex;gap:3px;color:var(--saf-3);margin-bottom:14px}
.tcard p.tq{font-family:var(--disp);font-weight:600;font-size:clamp(19px,1.8vw,22px);line-height:1.42;color:var(--navy-900);margin:6px 0 22px;flex:1}
.tcard.feature p.tq{color:var(--cream);font-size:clamp(22px,2.2vw,27px)}
.tcard .tperson{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--line)}
.tcard.feature .tperson{border-top:1px solid rgba(230,201,100,.2)}
.tcard .tini{width:46px;height:46px;border-radius:50%;background:var(--stone);box-shadow:var(--raise-sm);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:18px;color:var(--saf);flex-shrink:0}
.tcard.feature .tini{background:rgba(230,201,100,.12);box-shadow:none;color:var(--gold-2)}
.tcard .tperson b{display:block;font-size:14.5px;font-weight:600;color:var(--navy-900)}
.tcard.feature .tperson b{color:var(--cream)}
.tcard .tperson span{font-size:12.5px;color:var(--muted)}
.tcard.feature .tperson span{color:var(--cream-mute)}

/* ════════ FOUNDER ════════ */
.founder{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(34px,5vw,60px);align-items:center;background:var(--stone-2);border-radius:30px;padding:clamp(30px,4vw,52px);box-shadow:var(--raise-card)}
.founder-photo{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--raise);aspect-ratio:4/5}
.founder-photo img{width:100%;height:100%;object-fit:cover;object-position:top}
.founder-photo .fp-tag{position:absolute;left:16px;bottom:16px;right:16px;background:rgba(11,16,32,.78);backdrop-filter:blur(8px);border-radius:14px;padding:13px 16px;box-shadow:inset 0 0 0 1px rgba(230,201,100,.25)}
.founder-photo .fp-tag b{display:block;color:var(--cream);font-size:14.5px;font-weight:600}
.founder-photo .fp-tag span{font-size:12px;color:var(--gold-2)}
.founder-body .h2{margin-top:14px}
.founder-body .fquote{font-family:var(--disp);font-style:italic;font-weight:600;font-size:clamp(20px,2.2vw,26px);line-height:1.4;color:var(--navy-800);margin:22px 0}
.founder-body p{font-size:15px;color:var(--ink-2);line-height:1.72;max-width:56ch}
.fchips{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.fchip{font-size:12.5px;font-weight:600;color:var(--navy-800);background:var(--stone);box-shadow:var(--raise-sm);border-radius:999px;padding:9px 16px}

/* ════════ BOOKING CTA ════════ */
.book-cta{background:var(--g-band);color:var(--cream);position:relative;overflow:hidden;border-radius:30px;padding:clamp(48px,7vw,84px) clamp(28px,5vw,72px);text-align:center}
.book-cta::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(230,201,100,.14) 1px,transparent 0);background-size:36px 36px;opacity:.36;mask-image:radial-gradient(80% 120% at 50% 0%,#000,transparent 75%)}
.book-cta .bc-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(75,63,143,.45),transparent 66%);top:-260px;left:50%;transform:translateX(-50%);pointer-events:none}
.book-cta .seal{margin:0 auto 24px}
.book-cta h2{font-family:var(--disp);font-weight:700;font-size:clamp(32px,4.6vw,52px);line-height:1.06;color:var(--cream);position:relative}
.book-cta h2 em{font-style:italic;color:var(--gold-2)}
.book-cta p{position:relative;max-width:50ch;margin:20px auto 0;color:var(--cream-mute);font-size:clamp(15px,1.5vw,17px);line-height:1.7}
.book-cta .bc-btns{position:relative;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:34px}
.book-cta .bc-rea{position:relative;margin-top:24px;font-size:13px;color:var(--cream-mute);display:flex;align-items:center;justify-content:center;gap:8px}
.book-cta .bc-rea svg{color:var(--gold-2)}
.cta-row{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}

/* ════════ FOOTER ════════ */
footer{background:var(--navy-950);color:var(--cream-mute);padding:clamp(56px,7vw,80px) 0 0;margin-bottom:0}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-brand .logo b{color:var(--cream)}
.foot-brand p{margin-top:18px;font-size:14px;line-height:1.7;max-width:34ch;color:var(--cream-mute)}
.foot-col h5{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);font-weight:600;margin-bottom:18px}
.foot-col a{display:block;font-size:14px;color:var(--cream-mute);padding:6px 0;transition:.15s}
.foot-col a:hover{color:var(--cream);padding-left:4px}
.foot-bot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:0;padding:24px 0 30px;font-size:12.5px;color:var(--cream-mute)}
.foot-bot .fb-links{display:flex;gap:20px;flex-wrap:wrap}
.foot-bot a:hover{color:var(--cream)}

/* ════════ STICKY MOBILE CTA ════════ */
.mobile-cta{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:80;background:var(--navy-900);border-radius:18px;padding:10px 12px;box-shadow:0 14px 36px rgba(5,7,16,.55),inset 0 0 0 1px rgba(230,201,100,.2);align-items:center;gap:12px}
.mobile-cta .mc-t{flex:1}
.mobile-cta .mc-t b{display:block;color:var(--cream);font-size:13.5px;font-weight:600}
.mobile-cta .mc-t span{font-size:11.5px;color:var(--cream-mute)}
.mobile-cta .btn{padding:13px 22px;font-size:14px;flex-shrink:0}

/* ── Reveal ── */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

/* ════════ RESPONSIVE ════════ */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .g-grid{grid-template-columns:1fr;gap:34px}
  .why-grid{grid-template-columns:1fr;gap:30px}
  .founder{grid-template-columns:1fr;gap:28px}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .tcards{grid-template-columns:repeat(2,1fr)}
  .tcard.feature{grid-row:auto;grid-column:span 2}
  .menu,.nav-link.signin{display:none}
}
@media(max-width:760px){
  .nav{gap:14px}
  .hb{display:flex}
  .nav-right .btn{display:none}
  .steps3{grid-template-columns:1fr;gap:16px}
  .step3 .conn{display:none}
  .svc-grid{grid-template-columns:1fr}
  .tcards{grid-template-columns:1fr}
  .tcard.feature{grid-column:auto}
  .why-list{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr 1fr;gap:30px}
  .foot-brand{grid-column:span 2}
  .field-row{grid-template-columns:1fr}
  .mobile-cta{display:flex}
  .whatsapp-float{bottom:90px!important}
  body{padding-bottom:84px}
  .g-quote{font-size:21px}
}
@media(max-width:430px){
  .foot-top{grid-template-columns:1fr}
  .foot-brand{grid-column:auto}
  .hero h1{font-size:38px}
}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}*{scroll-behavior:auto}}

/* ═══════════════════════════════════════════════
   SUB-PAGE COMPONENTS (shared across inner pages)
   ═══════════════════════════════════════════════ */

/* ── Sub-page hero (dark authority band) ── */
.subhero{position:relative;background:var(--g-hero);color:var(--cream);overflow:hidden;padding:clamp(46px,7vw,84px) 0 clamp(44px,6vw,72px)}
.subhero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(230,201,100,.14) 1px,transparent 0);background-size:34px 34px;opacity:.32;mask-image:radial-gradient(110% 90% at 80% 12%,#000,transparent 76%)}
.subhero .sh-glow{position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(75,63,143,.45),transparent 66%);top:-180px;right:-120px;pointer-events:none}
.subhero .wrap{position:relative}
.crumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--cream-mute);margin-bottom:20px;flex-wrap:wrap}
.crumb a{color:var(--cream-mute);transition:.15s}
.crumb a:hover{color:var(--gold-2)}
.crumb .sep{opacity:.5}
.crumb b{color:var(--gold-2);font-weight:600}
.subhero h1{font-family:var(--disp);font-weight:700;font-size:clamp(34px,5vw,56px);line-height:1.08;letter-spacing:-.01em;color:var(--cream);max-width:18ch}
.subhero h1 em{font-style:italic;color:var(--gold-2)}
.subhero .sh-lead{margin-top:18px;font-size:clamp(15px,1.5vw,17.5px);line-height:1.7;color:var(--cream-mute);max-width:52ch}
.subhero .sh-strip{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(230,201,100,.16)}
.subhero .sh-strip .ti{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;color:var(--cream)}
.subhero .sh-strip .ti .tc{width:28px;height:28px;border-radius:8px;background:rgba(230,201,100,.1);display:flex;align-items:center;justify-content:center;color:var(--gold-2)}
.subhero .btn,.subhero .btn-ghost{vertical-align:middle}

/* ── Generic parchment panel ── */
.panel{background:var(--stone);border-radius:22px;padding:clamp(24px,3vw,38px);box-shadow:var(--raise-card)}
.panel-flat{background:var(--stone);border-radius:20px;padding:26px;box-shadow:var(--raise)}

/* ── Filter / chip bar ── */
.filterbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fpill{font-size:13.5px;font-weight:600;color:var(--ink-2);background:var(--stone);box-shadow:var(--raise-sm);border:none;border-radius:999px;padding:11px 20px;cursor:pointer;transition:transform .16s,box-shadow .16s,color .16s}
.fpill:hover{transform:translateY(-1px);color:var(--saf)}
.fpill.on{box-shadow:var(--inset);color:var(--saf);background:var(--stone-2)}
.result-meta{font-size:14px;color:var(--muted)}
.result-meta b{color:var(--navy-900);font-weight:600}

/* ── Profile ── */
.profile{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4vw,52px);align-items:start}
.profile-photo{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--raise-card);aspect-ratio:4/5;background:linear-gradient(180deg,#2A2358,#0D1226)}
.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:top}
.profile h1{font-family:var(--disp);font-weight:700;font-size:clamp(30px,4vw,44px);color:var(--navy-900);line-height:1.08}
.profile .p-disc{font-size:15px;color:var(--saf);font-weight:600;margin-top:6px}
.profile .p-bio{font-size:15px;color:var(--ink-2);line-height:1.72;margin-top:18px;max-width:56ch}
.pstats{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.pstat{flex:1;min-width:120px;background:var(--stone);border-radius:16px;padding:18px 20px;box-shadow:var(--raise-sm)}
.pstat b{font-family:var(--disp);font-weight:700;font-size:26px;color:var(--navy-900);display:block;line-height:1}
.pstat span{font-size:12.5px;color:var(--muted);margin-top:4px;display:block}

/* ── Booking widget ── */
.book-widget{position:sticky;top:90px;background:var(--stone);border-radius:24px;padding:26px 24px;box-shadow:var(--raise-card)}
.book-widget h3{font-family:var(--disp);font-weight:700;font-size:22px;color:var(--navy-900);margin-bottom:4px}
.book-widget .bw-sub{font-size:13px;color:var(--muted);margin-bottom:20px}
.mode-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.mode{background:var(--stone);border-radius:14px;padding:16px 8px;box-shadow:var(--raise-sm);border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px;transition:.18s;color:var(--ink-2)}
.mode:hover{transform:translateY(-2px)}
.mode.on{box-shadow:var(--inset);color:var(--saf)}
.mode b{font-size:12.5px;font-weight:600}
.mode span{font-size:11px;color:var(--muted)}
.mode.on span{color:var(--saf-2)}
.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:20px}
.slot{font-size:13px;font-weight:600;color:var(--ink-2);background:var(--stone);box-shadow:var(--raise-sm);border:none;border-radius:11px;padding:11px 6px;cursor:pointer;transition:.16s}
.slot:hover{color:var(--saf);transform:translateY(-1px)}
.slot.on{box-shadow:var(--inset);color:var(--saf)}
.slot.off{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.bw-total{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-top:1px solid var(--line);margin-bottom:16px}
.bw-total span{font-size:14px;color:var(--ink-2)}
.bw-total b{font-family:var(--disp);font-weight:700;font-size:26px;color:var(--navy-900)}
.bw-note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-top:14px;justify-content:center}
.bw-note svg{color:var(--gold)}

/* ── Review card ── */
.rev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.rev{background:var(--stone);border-radius:18px;padding:24px 24px;box-shadow:var(--raise)}
.rev .stars{display:flex;gap:3px;color:var(--saf-3);margin-bottom:12px}
.rev p{font-size:14.5px;color:var(--ink-2);line-height:1.66}
.rev .rv-by{display:flex;align-items:center;gap:11px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.rev .rv-ini{width:38px;height:38px;border-radius:50%;background:var(--stone);box-shadow:var(--raise-sm);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;color:var(--saf);font-size:15px}
.rev .rv-by b{font-size:13.5px;color:var(--navy-900);display:block}
.rev .rv-by span{font-size:12px;color:var(--muted)}

/* ── Form card ── */
.form-card{background:var(--stone);border-radius:24px;padding:clamp(26px,3.4vw,40px);box-shadow:var(--raise-card)}
.form-card h3{font-family:var(--disp);font-weight:700;font-size:25px;color:var(--navy-900);margin-bottom:4px}
.form-card .fc-sub{font-size:13.5px;color:var(--muted);margin-bottom:24px}
.field-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
textarea.field{border-radius:18px;min-height:130px;resize:vertical;line-height:1.6}
select.field{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23C8A44D' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
select.field:focus{box-shadow:var(--inset-sm),0 0 0 2px rgba(217,119,6,.35)}
select.field option{background:var(--stone);color:var(--ink);font-weight:500}

/* ── Info / contact tiles ── */
.info-tiles{display:grid;grid-template-columns:1fr;gap:14px}
.info-tile{display:flex;gap:15px;align-items:flex-start;background:var(--stone);border-radius:18px;padding:20px 22px;box-shadow:var(--raise-sm)}
.info-tile .it-ic{width:44px;height:44px;border-radius:12px;background:var(--stone);box-shadow:var(--raise-sm);display:flex;align-items:center;justify-content:center;color:var(--saf);flex-shrink:0}
.info-tile b{display:block;font-size:14.5px;color:var(--navy-900);font-weight:600;margin-bottom:3px}
.info-tile p{font-size:13.5px;color:var(--ink-2);line-height:1.55}
.info-tile a{color:var(--saf);font-weight:600}

/* ── Split layouts ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:start}
.split-37{display:grid;grid-template-columns:.66fr 1.34fr;gap:clamp(28px,4vw,52px);align-items:start}

/* ── Story / timeline ── */
.timeline{display:flex;flex-direction:column;gap:4px}
.tl-item{display:grid;grid-template-columns:auto 1fr;gap:22px;padding-bottom:30px;position:relative}
.tl-item:not(:last-child)::before{content:"";position:absolute;left:25px;top:54px;bottom:0;width:2px;background:var(--line)}
.tl-num{width:52px;height:52px;border-radius:50%;background:var(--stone);box-shadow:var(--raise-sm);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:18px;color:var(--saf);z-index:1}
.tl-c h4{font-family:var(--disp);font-weight:700;font-size:22px;color:var(--navy-900);margin-bottom:6px;padding-top:11px}
.tl-c p{font-size:14.5px;color:var(--ink-2);line-height:1.66;max-width:52ch}

/* ── Values grid ── */
.val-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* ── Kundli result preview ── */
.kundli-preview{background:var(--g-band);border-radius:24px;padding:clamp(26px,3.4vw,40px);color:var(--cream);box-shadow:var(--d-raise);position:relative;overflow:hidden}
.kundli-preview::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(230,201,100,.13) 1px,transparent 0);background-size:32px 32px;opacity:.3;mask-image:radial-gradient(90% 100% at 80% 10%,#000,transparent 72%)}
.kundli-preview .kp-in{position:relative}
.kp-chart{aspect-ratio:1/1;max-width:280px;margin:0 auto;position:relative}
.kp-chart svg{width:100%;height:100%}
.kp-rows{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.kp-row{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:rgba(255,255,255,.04);border-radius:14px;box-shadow:var(--d-raise-sm)}
.kp-row .kr-l{font-size:13px;color:var(--cream-mute)}
.kp-row .kr-v{font-size:14px;color:var(--cream);font-weight:600}
.kp-row .kr-v em{font-style:normal;color:var(--gold-2)}

/* ── Zodiac grid ── */
.zodiac-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.zsign{background:var(--stone);border-radius:18px;padding:24px 22px;box-shadow:var(--raise);transition:transform .25s,box-shadow .25s;display:block}
.zsign:hover{transform:translateY(-4px);box-shadow:var(--raise-card)}
.zsign .ztop{display:flex;align-items:center;gap:13px;margin-bottom:12px}
.zsign .zglyph{width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 36% 30%,#FFFDF7,var(--stone) 78%);box-shadow:var(--raise-sm),inset 0 0 0 1.5px rgba(200,164,77,.5);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s,box-shadow .3s;position:relative;font-family:'Cormorant Garamond',serif;font-size:30px;line-height:1;font-weight:600;color:#B8620C;text-shadow:0 1px 1px rgba(255,253,247,.7)}
.zsign .zglyph::after{content:"";position:absolute;inset:5px;border-radius:50%;border:1px solid rgba(200,164,77,.28)}
.zsign:hover .zglyph{transform:scale(1.07);box-shadow:var(--raise),inset 0 0 0 1.5px rgba(200,164,77,.75)}
.zsign h3{font-family:var(--disp);font-weight:700;font-size:21px;color:var(--navy-900);line-height:1}
.zsign .zdate{font-size:12px;color:var(--muted);margin-top:3px}
.zsign p{font-size:13.5px;color:var(--ink-2);line-height:1.6}
.zsign .zmore{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:13px;font-weight:600;color:var(--saf)}
@media(max-width:980px){.zodiac-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.zodiac-grid{grid-template-columns:1fr}}

/* ── Panchang ── */
.panchang-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pang{background:var(--stone);border-radius:18px;padding:22px 22px;box-shadow:var(--raise-sm)}
.pang .pg-l{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--saf);font-weight:600}
.pang .pg-v{font-family:var(--disp);font-weight:700;font-size:23px;color:var(--navy-900);margin-top:6px;line-height:1.1}
.pang .pg-s{font-size:12.5px;color:var(--muted);margin-top:3px}
.pang.warn{box-shadow:var(--raise-sm),inset 0 0 0 1px rgba(139,105,20,.3)}
@media(max-width:760px){.panchang-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.panchang-grid{grid-template-columns:1fr}}

/* ── FAQ accordion ── */
.faq-list{display:flex;flex-direction:column;gap:12px;max-width:820px}
.faq{background:var(--stone);border-radius:16px;box-shadow:var(--raise-sm);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:16px;font-weight:600;color:var(--navy-900);font-family:var(--disp)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .fq-ic{width:28px;height:28px;border-radius:50%;background:var(--stone);box-shadow:var(--raise-sm);display:flex;align-items:center;justify-content:center;color:var(--saf);flex-shrink:0;font-size:18px;transition:.2s}
.faq[open] summary .fq-ic{transform:rotate(45deg)}
.faq .fq-a{padding:0 26px 24px;font-size:14.5px;color:var(--ink-2);line-height:1.7;max-width:68ch}

/* ── Blog cards ── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bcard{background:var(--stone);border-radius:20px;overflow:hidden;box-shadow:var(--raise);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.bcard:hover{transform:translateY(-5px);box-shadow:var(--raise-card)}
.bcard .bimg{aspect-ratio:16/10;position:relative;background:repeating-linear-gradient(135deg,#E4DCCB,#E4DCCB 12px,#ECE6DA 12px,#ECE6DA 24px);display:flex;align-items:center;justify-content:center}
.bcard .bimg span{font-family:var(--ui);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--stone);box-shadow:var(--raise-sm);padding:7px 14px;border-radius:999px}
.bcard .bcat{position:absolute;top:12px;left:12px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--g-cta);padding:6px 12px;border-radius:999px}
.bcard .bbody{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.bcard .bmeta{font-size:12px;color:var(--muted);margin-bottom:9px}
.bcard h3{font-family:var(--disp);font-weight:700;font-size:21px;color:var(--navy-900);line-height:1.18}
.bcard p{font-size:13.5px;color:var(--ink-2);line-height:1.6;margin-top:9px;flex:1}
.bcard .bmore{margin-top:16px;font-size:13px;font-weight:600;color:var(--saf)}
@media(max-width:980px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.blog-grid{grid-template-columns:1fr}}

/* ── Legal prose ── */
.prose{max-width:760px}
.prose h2{font-family:var(--disp);font-weight:700;font-size:clamp(24px,2.6vw,30px);color:var(--navy-900);margin:38px 0 12px}
.prose h2:first-child{margin-top:0}
.prose p{font-size:15.5px;color:var(--ink-2);line-height:1.78;margin-bottom:14px}
.prose ul{margin:0 0 16px 0;padding-left:4px;list-style:none;display:flex;flex-direction:column;gap:9px}
.prose ul li{display:flex;gap:11px;font-size:15px;color:var(--ink-2);line-height:1.6}
.prose ul li::before{content:"✦";color:var(--gold);flex-shrink:0}
.prose .legal-meta{font-size:13.5px;color:var(--muted);padding:16px 20px;background:var(--stone-2);border-radius:14px;box-shadow:var(--raise-sm);margin-bottom:30px}
.match-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.match-split{grid-template-columns:1fr}}

/* ── Auth ── */
.auth-wrap{max-width:440px;margin:0 auto}
.auth-tabs{display:flex;background:var(--stone);box-shadow:var(--inset);border-radius:14px;padding:6px;margin-bottom:24px}
.auth-tabs button{flex:1;border:none;background:transparent;border-radius:10px;padding:12px;font-family:var(--ui);font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:.16s}
.auth-tabs button.on{background:var(--stone);box-shadow:var(--raise-sm);color:var(--saf)}
.auth-pane{display:none}.auth-pane.on{display:block}

/* ── Numerology ── */
.num-hero{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.num-big{width:96px;height:96px;border-radius:24px;background:var(--g-cta);box-shadow:6px 8px 20px rgba(180,98,12,.32);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:48px;color:#fff;flex-shrink:0}

/* ── Pricing ── */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
@media(max-width:980px){.pricing-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}}
.price-card{background:var(--stone);border-radius:22px;padding:30px 28px;box-shadow:var(--raise);text-align:center;position:relative;transition:.25s}
.price-card:hover{transform:translateY(-4px);box-shadow:var(--raise-card)}
.price-card.pop{box-shadow:var(--raise-card);border-top:4px solid var(--gold)}
.price-tag{position:absolute;top:-1px;left:50%;transform:translateX(-50%) translateY(-50%);background:var(--g-cta);color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:6px 14px;border-radius:999px;white-space:nowrap;box-shadow:4px 5px 12px rgba(180,98,12,.3)}
.price-card h3{font-family:var(--disp);font-weight:700;font-size:22px;color:var(--navy-900)}
.price-card .pp{font-family:var(--disp);font-weight:700;font-size:38px;color:var(--navy-900);margin:14px 0 4px}
.price-card .pp span{font-size:15px;font-weight:400;color:var(--muted)}
.price-card .pd{font-size:13px;color:var(--muted);padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.price-card ul{text-align:left;margin-bottom:22px;display:flex;flex-direction:column;gap:9px}
.price-card ul li{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink-2)}
.price-card ul li svg{color:var(--saf);flex-shrink:0;width:17px;height:17px}

/* ── Sub-page responsive ── */
@media(max-width:980px){
  .profile{grid-template-columns:1fr;gap:26px}
  .book-widget{position:static}
  .split,.split-37{grid-template-columns:1fr;gap:26px}
  .val-grid{grid-template-columns:1fr 1fr}
  .rev-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .field-row3{grid-template-columns:1fr}
  .val-grid{grid-template-columns:1fr}
  .mode-row{grid-template-columns:repeat(3,1fr)}
}

/* ── Mobile menu dropdown ── */
@media(max-width:980px){
  header.menu-open .menu{display:flex;position:absolute;top:70px;left:0;right:0;flex-direction:column;background:var(--stone);padding:14px 24px 20px;box-shadow:0 16px 32px -16px rgba(40,28,8,.55);gap:2px;z-index:95}
  header.menu-open .menu a{padding:14px 10px;border-radius:10px;font-size:15px}
  header.menu-open .nav-link.signin{display:block;text-align:left;padding:14px 10px}
}

/* ── Exit-intent popup ── */
.exit-overlay{position:fixed;inset:0;background:rgba(11,16,32,.62);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;z-index:300;padding:20px}
.exit-overlay.on{display:flex;animation:exitFade .3s}
@keyframes exitFade{from{opacity:0}to{opacity:1}}
.exit-card{position:relative;background:var(--stone);border-radius:26px;max-width:460px;width:100%;padding:clamp(28px,4vw,40px);box-shadow:var(--raise-card),inset 0 0 0 1px rgba(230,201,100,.25);text-align:center;animation:exitRise .38s cubic-bezier(.2,.7,.2,1)}
@keyframes exitRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.exit-x{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:var(--stone);box-shadow:var(--raise-sm);border:none;cursor:pointer;color:var(--ink-2);display:flex;align-items:center;justify-content:center}
.exit-x:hover{color:var(--saf)}
.exit-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--saf)}
.exit-card h3{font-family:var(--disp);font-weight:700;font-size:clamp(26px,3.4vw,34px);color:var(--navy-900);line-height:1.12;margin:12px 0 0}
.exit-card h3 em{font-style:italic;color:var(--saf)}
.exit-sub{font-size:14px;color:var(--ink-2);line-height:1.6;margin:12px 0 22px;max-width:42ch;margin-left:auto;margin-right:auto}
.exit-form{display:flex;flex-direction:column;gap:0;text-align:left}
.exit-form .field{margin-bottom:12px}
.exit-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.exit-done{display:none;font-size:14px;color:#2BA86A;font-weight:600;line-height:1.5;padding:14px 0}
.exit-foot{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:12px;color:var(--muted)}
.exit-foot svg{color:var(--gold)}
@media(max-width:440px){.exit-row2{grid-template-columns:1fr}}

/* ── WhatsApp float ── */
.whatsapp-float{position:fixed;bottom:22px;right:22px;z-index:800;background:var(--stone);border-radius:14px;padding:11px 18px;font-size:12px;font-weight:700;color:#166534;text-decoration:none;display:flex;align-items:center;gap:7px;box-shadow:var(--raise-sm);transition:.2s}
.whatsapp-float:hover{transform:translateY(-2px);box-shadow:var(--raise)}
.whatsapp-float svg{fill:#25d366}

/* ── Review card (testimonials.html masonry) ── */
.rev{background:var(--stone);border-radius:18px;padding:clamp(20px,3vw,28px);box-shadow:var(--raise);transition:.25s}
.rev:hover{transform:translateY(-3px);box-shadow:var(--raise-card)}
.rev .stars{display:flex;gap:2px;color:var(--saf-3);margin-bottom:10px}
.rev p{font-size:15px;line-height:1.7;color:var(--ink);margin:0}
.rv-by{display:flex;align-items:center;gap:10px;margin-top:14px}
.rv-ini{width:32px;height:32px;border-radius:50%;background:var(--g-band);color:var(--gold-2);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:14px;flex-shrink:0}
.rv-by div{display:flex;flex-direction:column;gap:1px}
.rv-by b{font-size:14px;color:var(--ink);font-weight:600}
.rv-by span{font-size:12px;color:var(--muted)}

/* ── Print ── */
@media print{header,.mobile-cta,.whatsapp-float,.exit-overlay{display:none!important}.hero{background:#0D1226!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* ═══════════════════════════════════════════════
   ADDITIONAL COMPONENTS FROM TATA REFERENCE
   ═══════════════════════════════════════════════ */

/* ── Auth extras (split-pane, dividers, OTP, social) ── */
.otp-row{display:flex;gap:10px;justify-content:space-between}
.otp-row input{width:100%;aspect-ratio:1/1;text-align:center;border:none;outline:none;border-radius:14px;background:var(--stone);box-shadow:var(--inset);font-family:var(--disp);font-weight:700;font-size:24px;color:var(--navy-900)}
.otp-row input:focus{box-shadow:var(--inset-sm),0 0 0 2px rgba(217,119,6,.35)}
.auth-divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--muted);font-size:12.5px}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.social-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--stone);box-shadow:var(--raise-sm);border:none;border-radius:14px;padding:14px;font-family:var(--ui);font-size:14px;font-weight:600;color:var(--navy-800);cursor:pointer;transition:.16s}
.social-btn:hover{transform:translateY(-1px);box-shadow:var(--raise)}
.auth-aside{background:var(--g-band);border-radius:24px;padding:clamp(28px,3.6vw,44px);color:var(--cream);box-shadow:var(--d-raise);position:relative;overflow:hidden}
.auth-aside::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(230,201,100,.13) 1px,transparent 0);background-size:30px 30px;opacity:.3;mask-image:radial-gradient(80% 100% at 85% 10%,#000,transparent 72%)}
.auth-aside .aa-in{position:relative}
.auth-pts{display:flex;flex-direction:column;gap:16px;margin-top:24px}
.auth-pt{display:flex;gap:13px;align-items:flex-start}
.auth-pt .ap-ic{width:38px;height:38px;border-radius:11px;background:rgba(230,201,100,.1);display:flex;align-items:center;justify-content:center;color:var(--gold-2);flex-shrink:0}
.auth-pt b{display:block;color:var(--cream);font-size:14.5px;font-weight:600}
.auth-pt span{font-size:13px;color:var(--cream-mute);line-height:1.5}

/* ── Availability avatar row (stacked circles) ── */
.av-row{display:flex}
.av-row img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--navy-800);margin-left:-12px;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.av-row img:first-child{margin-left:0}

/* ── Booking row + status badge ── */
.brow{display:flex;align-items:center;gap:16px;background:var(--stone);border-radius:18px;padding:16px 18px;box-shadow:var(--raise-sm);margin-bottom:12px}
.brow img{width:54px;height:54px;border-radius:13px;object-fit:cover;object-position:top;flex-shrink:0}
.brow .br-i{flex:1;min-width:0}
.brow .br-i b{font-size:14.5px;color:var(--navy-900);font-weight:600;display:block}
.brow .br-i span{font-size:12.5px;color:var(--muted)}
.br-status{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;border-radius:999px;flex-shrink:0}
.br-status.done{background:rgba(43,168,106,.14);color:#2BA86A}
.br-status.up{background:rgba(217,119,6,.14);color:var(--saf-2)}
.br-status.pend{background:rgba(139,105,20,.16);color:var(--status-warning)}
.br-status.canc{background:rgba(90,26,26,.1);color:var(--status-danger)}

/* ── Booking / admin table ── */
.atable-wrap{overflow-x:auto;border-radius:16px;box-shadow:var(--raise-sm)}
.atable{width:100%;border-collapse:collapse;background:var(--stone);min-width:560px}
.atable thead th{text-align:left;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.atable tbody td{padding:13px 16px;font-size:13.5px;color:var(--ink-2);border-bottom:1px solid var(--line);white-space:nowrap}
.atable tbody tr:last-child td{border-bottom:none}
.atable tbody tr:hover{background:var(--stone-2)}
.atable .u{display:flex;align-items:center;gap:10px}
.atable .u img{width:34px;height:34px;border-radius:9px;object-fit:cover;object-position:top;flex-shrink:0}
.atable .u b{color:var(--navy-900);font-weight:600;font-size:13.5px}

/* ── Status pills, tabs, chips, toggles, dropdowns ── */
.pill{font-size:11px;font-weight:700;letter-spacing:.02em;padding:5px 11px;border-radius:999px;display:inline-block;background:var(--stone);box-shadow:var(--raise-sm);color:var(--ink-2);border:none;cursor:pointer;font-family:var(--ui);transition:.16s}
.pill:hover{transform:translateY(-1px);color:var(--saf)}
.pill.on{box-shadow:var(--inset);color:var(--saf);background:var(--stone-2)}
.pill.paid,.pill.done,.pill.live{background:rgba(43,168,106,.14);color:#2BA86A;box-shadow:none}
.pill.up,.pill.new{background:rgba(217,119,6,.14);color:var(--saf-2);box-shadow:none}
.pill.pend{background:rgba(139,105,20,.16);color:var(--status-warning);box-shadow:none}
.pill.off{background:rgba(90,26,26,.1);color:var(--status-danger);box-shadow:none}

.tabs{display:flex;flex-wrap:wrap;gap:6px;background:var(--stone);box-shadow:var(--inset);border-radius:14px;padding:6px;margin-bottom:20px}
.tab{flex:1;min-width:90px;border:none;background:transparent;border-radius:10px;padding:11px 16px;font-family:var(--ui);font-size:13.5px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:.16s;text-align:center}
.tab:hover{color:var(--saf)}
.tab.on{background:var(--stone);box-shadow:var(--raise-sm);color:var(--saf)}

.chip{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--navy-800);background:var(--stone);box-shadow:var(--raise-sm);border-radius:999px;padding:8px 14px;font-family:var(--ui)}
.chip-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;background:rgba(0,0,0,.06);color:var(--ink-2);cursor:pointer;font-size:12px;line-height:1;transition:.15s}
.chip-x:hover{background:var(--saf);color:#fff}

.toggle-on,.toggle-off{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;font-weight:600;color:var(--navy-900)}
.toggle-on .track,.toggle-off .track{width:46px;height:26px;border-radius:999px;background:var(--stone);box-shadow:var(--inset);position:relative;transition:.2s;display:inline-block}
.toggle-on .knob,.toggle-off .knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--raise-sm);transition:.2s}
.toggle-on .track{background:linear-gradient(96deg,#2BA86A,#1E8A55)}
.toggle-on .knob{left:23px}

.dropdown{position:relative;display:inline-block}
.dropdown-trig{display:inline-flex;align-items:center;gap:8px;background:var(--stone);box-shadow:var(--raise-sm);border:none;border-radius:12px;padding:10px 16px;font-family:var(--ui);font-size:13.5px;font-weight:600;color:var(--navy-800);cursor:pointer;transition:.15s}
.dropdown-trig:hover{transform:translateY(-1px);box-shadow:var(--raise)}
.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--stone);border-radius:14px;box-shadow:var(--raise-card);padding:8px;z-index:140;display:none}
.dropdown.on .dropdown-menu{display:block;animation:fade .2s}
.dropdown-item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;font-size:13.5px;color:var(--ink-2);cursor:pointer;transition:.15s;border:none;background:none;width:100%;text-align:left;font-family:var(--ui)}
.dropdown-item:hover{background:rgba(0,0,0,.035);color:var(--saf)}
.dropdown-item.danger{color:var(--status-danger)}
.dropdown-divider{height:1px;background:var(--line);margin:6px 4px}

/* ── Notification dot + spinner + shimmer ── */
.notify-dot{position:relative;display:inline-block}
.notify-dot::after{content:"";position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:50%;background:var(--saf);box-shadow:0 0 0 3px var(--stone),0 0 0 4px rgba(217,119,6,.25)}
.notify-dot.dark::after{box-shadow:0 0 0 3px var(--navy-900),0 0 0 4px rgba(217,119,6,.3)}

.spinner{display:inline-block;width:22px;height:22px;border:2.5px solid rgba(217,119,6,.18);border-top-color:var(--saf);border-radius:50%;animation:spin .7s linear infinite}
.spinner.sm{width:16px;height:16px;border-width:2px}
.spinner.lg{width:34px;height:34px;border-width:3px}
@keyframes spin{to{transform:rotate(360deg)}}

.shimmer{position:relative;overflow:hidden;background:var(--stone-2);border-radius:12px;color:transparent}
.shimmer::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,253,247,.5) 50%,transparent 100%);transform:translateX(-100%);animation:shimmer 1.4s ease-in-out infinite}
@keyframes shimmer{to{transform:translateX(100%)}}
.shimmer-line{height:14px;border-radius:7px;margin-bottom:8px}
.shimmer-line.lg{height:22px}
.shimmer-line.sm{height:10px;width:60%}

/* ── Modal overlay system ── */
.amodal-overlay{position:fixed;inset:0;background:rgba(11,16,32,.55);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:200;padding:20px}
.amodal-overlay.on{display:flex;animation:fade .25s}
.amodal{background:var(--stone);border-radius:22px;box-shadow:var(--raise-card);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;animation:fade .28s}
.amodal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 0}
.amodal-head h3{font-family:var(--disp);font-weight:700;font-size:23px;color:var(--navy-900);line-height:1.15}
.amodal-head p{font-size:12.5px;color:var(--muted);margin-top:3px}
.amodal-x{width:36px;height:36px;border-radius:50%;background:var(--stone);box-shadow:var(--raise-sm);border:none;cursor:pointer;color:var(--ink-2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.amodal-x:hover{color:var(--saf)}
.amodal-body{padding:18px 24px 4px}
.amodal-foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 24px 24px;flex-wrap:wrap}
.dl-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.dl-row:last-child{border-bottom:none}
.dl-row .dl-l{color:var(--muted)}
.dl-row .dl-v{color:var(--navy-900);font-weight:600;text-align:right}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ── Toast notification ── */
.atoast{position:fixed;right:18px;bottom:18px;z-index:240;background:var(--navy-900);color:var(--cream);padding:14px 18px;border-radius:14px;box-shadow:0 14px 36px rgba(5,7,16,.5);font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:10px;transform:translateY(160%);transition:transform .35s;max-width:360px}
.atoast.on{transform:none}
.atoast svg{color:#3FBF7F;flex-shrink:0}
.atoast.err svg{color:#F87171}
.atoast.warn svg{color:var(--gold-2)}

/* ── Neumorphic date/time picker (amdp) ── */
.amdp{position:relative}
.amdp-native{position:absolute!important;opacity:0;width:0;height:0;pointer-events:none;margin:0}
.amdp-trig{display:flex;align-items:center;gap:10px;width:100%;text-align:left;cursor:pointer}
.amdp-trig .amdp-txt{flex:1;color:#A99C88;font-weight:400}
.amdp-trig .amdp-txt.filled{color:var(--ink);font-weight:500}
.amdp-trig .amdp-ic{color:var(--gold);flex-shrink:0;display:flex}
.amdp-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:120;width:320px;max-width:calc(100vw - 32px);background:linear-gradient(145deg,#F1ECE1,#E7E0D2);border-radius:26px;box-shadow:10px 12px 30px rgba(40,28,8,.18),-8px -8px 22px rgba(255,255,255,.85);padding:20px 20px 16px;display:none;animation:amdpIn .2s ease}
.amdp-pop.on{display:block}
@keyframes amdpIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.amdp-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:14px;border-bottom:1.5px dotted rgba(150,120,60,.32)}
.amdp-nav{width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#F4EFE5,#E4DDCE);box-shadow:5px 5px 11px rgba(40,28,8,.16),-4px -4px 9px rgba(255,255,255,.9);border:none;cursor:pointer;color:var(--saf);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.15s}
.amdp-nav:hover{color:var(--saf-2)}
.amdp-nav:active{box-shadow:inset 3px 3px 7px rgba(40,28,8,.18),inset -3px -3px 7px rgba(255,255,255,.8)}
.amdp-title{flex:1;border:none;background:linear-gradient(145deg,#F4EFE5,#E7E0D2);box-shadow:5px 5px 12px rgba(40,28,8,.14),-4px -4px 10px rgba(255,255,255,.9);border-radius:999px;padding:12px;font-family:var(--disp);font-weight:700;font-size:18px;color:var(--navy-900);cursor:pointer;transition:.15s;letter-spacing:.01em}
.amdp-title:hover{color:var(--saf)}
.amdp-title:active{box-shadow:inset 3px 3px 7px rgba(40,28,8,.16),inset -3px -3px 7px rgba(255,255,255,.8)}
.amdp-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px}
.amdp-dow span{text-align:center;font-size:11px;font-weight:600;color:var(--muted);padding:5px 0}
.amdp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.amdp-day{aspect-ratio:1;border:none;background:transparent;border-radius:50%;font-family:var(--ui);font-size:14px;font-weight:600;color:var(--navy-800);cursor:pointer;transition:.13s;display:flex;align-items:center;justify-content:center}
.amdp-day:hover:not(.empty){color:var(--saf);box-shadow:3px 3px 7px rgba(40,28,8,.13),-3px -3px 7px rgba(255,255,255,.85)}
.amdp-day.empty{pointer-events:none}
.amdp-day.today{box-shadow:inset 0 0 0 1.5px rgba(200,164,77,.55);color:var(--navy-900)}
.amdp-day.sel{background:linear-gradient(145deg,#F4EFE5,#E7E0D2);box-shadow:inset 3px 3px 7px rgba(40,28,8,.16),inset -3px -3px 7px rgba(255,255,255,.85);color:var(--saf);font-weight:700}
.amdp-mg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 8px}
.amdp-mo{border:none;background:transparent;border-radius:999px;padding:15px 6px;font-family:var(--ui);font-size:15px;font-weight:600;color:var(--navy-800);cursor:pointer;transition:.14s}
.amdp-mo:hover{color:var(--saf);box-shadow:4px 4px 9px rgba(40,28,8,.12),-4px -4px 9px rgba(255,255,255,.85)}
.amdp-mo.sel{background:linear-gradient(145deg,#F4EFE5,#E7E0D2);box-shadow:inset 3px 3px 8px rgba(40,28,8,.16),inset -3px -3px 8px rgba(255,255,255,.85);color:var(--saf)}
.amdp-yg{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;max-height:228px;overflow-y:auto;scrollbar-width:thin}
.amdp-yg::-webkit-scrollbar{width:4px}
.amdp-yg::-webkit-scrollbar-thumb{background:var(--dark);border-radius:2px}
.amdp-yg .amdp-mo{padding:12px 4px;font-size:13.5px}
.amdp-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1.5px dotted rgba(150,120,60,.32)}
.amdp-link{border:none;background:none;font-size:13px;font-weight:600;color:var(--saf);cursor:pointer;padding:6px 4px}
.amdp-link.r{margin-left:auto}
.amdp-pop.time{width:290px}
.amdp-thead{font-family:var(--disp);font-weight:700;font-size:16px;color:var(--navy-900);margin-bottom:14px;text-align:center}
.amdp-steprow{display:flex;align-items:flex-start;justify-content:center;gap:6px}
.amdp-unit{display:flex;flex-direction:column;align-items:center;gap:6px}
.amdp-step{width:40px;height:30px;border-radius:9px;border:none;background:var(--stone);box-shadow:var(--raise-sm);color:var(--saf);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.13s}
.amdp-step:hover{box-shadow:var(--raise);transform:translateY(-1px)}
.amdp-step:active{box-shadow:var(--inset-sm)}
.amdp-num{width:52px;height:50px;border:none;outline:none;border-radius:12px;background:var(--stone);box-shadow:var(--inset);text-align:center;font-family:var(--disp);font-weight:700;font-size:26px;color:var(--navy-900);padding:0}
.amdp-num:focus{box-shadow:var(--inset-sm),0 0 0 2px rgba(217,119,6,.35)}
.amdp-ulab{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.amdp-colon{font-family:var(--disp);font-weight:700;font-size:24px;color:var(--gold);padding-top:34px}
.amdp-seg{display:flex;flex-direction:column;gap:6px;margin-left:8px;padding-top:30px}
.amdp-segb{width:48px;padding:8px 0;border:none;border-radius:10px;background:var(--stone);box-shadow:var(--raise-sm);font-size:13px;font-weight:700;color:var(--ink-2);cursor:pointer;transition:.13s}
.amdp-segb:hover{color:var(--saf)}
.amdp-segb.on{box-shadow:var(--inset);color:var(--saf)}

/* ── Mobile tweaks for added components ── */
@media(max-width:760px){
  .atable{min-width:480px}
  .amodal-foot{justify-content:stretch}
  .amodal-foot .btn,.amodal-foot .btn-ghost{flex:1}
  .atoast{left:12px;right:12px;bottom:12px;max-width:none}
  .amdp-pop{width:calc(100vw - 32px)}
  .brow{flex-wrap:wrap}
  .br-status{order:3;margin-left:auto}
}

/* ═══════════════════════════════════════════════
   SHARED CONSULTATION COMPONENTS (chat.html + call.html)
   Promoted from page-local <style> blocks for parity
   ═══════════════════════════════════════════════ */

/* ── Mode benefit grid ── */
.mode-bens{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mode-ben{background:var(--stone);border-radius:18px;padding:24px 22px;box-shadow:var(--raise-sm);display:flex;flex-direction:column;gap:12px}
.mode-ben .mb-ic{width:42px;height:42px;border-radius:12px;background:rgba(217,119,6,.08);display:flex;align-items:center;justify-content:center;color:var(--saf);flex-shrink:0}
.mode-ben h4{font-family:var(--disp);font-weight:700;font-size:18px;color:var(--navy-900);line-height:1.2}
.mode-ben p{font-size:13.5px;color:var(--ink-2);line-height:1.6}
@media(max-width:900px){.mode-bens{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.mode-bens{grid-template-columns:1fr}}

/* ── "When to use" two-column row grid ── */
.when-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.when-row{display:flex;gap:14px;align-items:flex-start;background:var(--stone);border-radius:14px;padding:18px 20px;box-shadow:var(--raise-sm)}
.when-row .wr-ic{width:34px;height:34px;border-radius:10px;background:rgba(217,119,6,.08);display:flex;align-items:center;justify-content:center;color:var(--saf);flex-shrink:0}
.when-row b{display:block;font-family:var(--disp);font-weight:700;font-size:17px;color:var(--navy-900)}
.when-row p{font-size:13.5px;color:var(--ink-2);line-height:1.6;margin-top:3px}
@media(max-width:720px){.when-grid{grid-template-columns:1fr}}

/* ── Two-up pricing wrapper (pairs with .price-card) ── */
.price-box{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:760px;margin:0 auto}
@media(max-width:560px){.price-box{grid-template-columns:1fr;max-width:380px}}

/* ── Guarantee strip (dark band CTA) ── */
.guard-strip{background:var(--g-band);color:var(--cream);border-radius:20px;padding:24px 28px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;box-shadow:var(--d-raise)}
.guard-strip .gs-ic{width:50px;height:50px;border-radius:14px;background:rgba(230,201,100,.12);display:flex;align-items:center;justify-content:center;color:var(--gold-2);flex-shrink:0}
.guard-strip .gs-tx{flex:1;min-width:240px}
.guard-strip .gs-tx b{display:block;font-family:var(--disp);font-weight:700;font-size:20px;color:var(--cream);line-height:1.2}
.guard-strip .gs-tx span{display:block;font-size:13.5px;color:var(--cream-mute);margin-top:5px;line-height:1.6}
.guard-strip .btn-ghost{flex-shrink:0}

/* ── Dashboard stat tile (account.html + admin) ── */
.dstat{background:var(--stone);border-radius:18px;padding:22px;box-shadow:var(--raise-sm)}
.dstat .ds-ic{width:40px;height:40px;border-radius:11px;background:var(--stone);box-shadow:var(--raise-sm);display:flex;align-items:center;justify-content:center;color:var(--saf);margin-bottom:14px}
.dstat b{font-family:var(--disp);font-weight:700;font-size:28px;color:var(--navy-900);display:block;line-height:1}
.dstat span{font-size:12.5px;color:var(--muted);margin-top:4px;display:block}

/* ═══════════════════════════════════════════════
   BACKWARD COMPATIBILITY (legacy class aliases)
   ═══════════════════════════════════════════════ */
.container{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.section{padding:clamp(64px,9vw,108px) 0}
.section-dark{background:var(--navy-950);color:var(--cream)}
.section-light{background:var(--stone);color:var(--ink)}
.section-cream{background:var(--stone-2);color:var(--ink)}
.card{background:var(--stone);border:none;border-radius:20px;padding:28px;box-shadow:var(--raise);transition:.25s}
.card:hover{transform:translateY(-4px);box-shadow:var(--raise-card)}
.card-dark{background:var(--g-band);border:1px solid rgba(200,164,77,.15);border-radius:20px;padding:28px;box-shadow:var(--d-raise);color:var(--cream)}
.form-group{margin-bottom:18px}
.form-label{display:block;font-size:12px;font-weight:600;color:var(--ink-2);margin:0 2px 7px;letter-spacing:.01em}
.form-input{width:100%;border:none;outline:none;border-radius:14px;background:var(--stone);box-shadow:var(--inset);padding:14px 16px;font-family:var(--ui);font-size:14.5px;color:var(--ink);font-weight:500;transition:.2s}
.form-input::placeholder{color:#8C7E64;font-weight:400;opacity:1}
.form-input:focus{box-shadow:var(--inset-sm),0 0 0 2px rgba(217,119,6,.35)}
/* Browser autofill — Chrome/Safari paint a blue/white background on autofilled
   fields, which broke the neumorphic look. Paint over it with a 1000px inset of
   the stone surface (kept BELOW the neumorphic edge-shadows so depth survives). */
.field:-webkit-autofill,.form-input:-webkit-autofill,
.field:-webkit-autofill:hover,.form-input:-webkit-autofill:hover,
.field:-webkit-autofill:active,.form-input:-webkit-autofill:active{
  -webkit-text-fill-color:var(--ink); caret-color:var(--saf);
  -webkit-box-shadow:var(--inset),inset 0 0 0 1000px var(--stone);
  transition:background-color 9999s ease-in-out 0s}
.field:-webkit-autofill:focus,.form-input:-webkit-autofill:focus{
  -webkit-box-shadow:var(--inset-sm),0 0 0 2px rgba(217,119,6,.35),inset 0 0 0 1000px var(--stone)}
/* dark footer newsletter input keeps its dark-glass look when autofilled */
.footer-newsletter .fn-form input:-webkit-autofill{
  -webkit-text-fill-color:var(--cream);
  -webkit-box-shadow:inset 0 0 0 1000px #141a33,0 0 0 1px rgba(230,201,100,.30);
  transition:background-color 9999s ease-in-out 0s}
/* ── Footer newsletter (dark-glass, matches the footer band) ── */
.footer-newsletter{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;padding:26px 0;border-top:1px solid rgba(230,201,100,.14);margin-top:6px}
.footer-newsletter .fn-copy{display:flex;flex-direction:column;gap:4px;max-width:440px}
.footer-newsletter .fn-copy strong{font-family:var(--disp);font-size:20px;font-weight:700;color:var(--cream)}
.footer-newsletter .fn-copy span{font-size:13px;color:var(--cream-mute);line-height:1.55}
.footer-newsletter .fn-form{display:flex;flex-wrap:wrap;gap:10px;flex:1;min-width:280px;max-width:480px}
.footer-newsletter .fn-form input{flex:1;min-width:200px;padding:13px 18px;border:1px solid rgba(230,201,100,.30);border-radius:999px;background:rgba(255,253,247,.06);color:var(--cream);-webkit-text-fill-color:var(--cream);caret-color:var(--gold-2);font-size:14px;font-family:var(--ui)}
.footer-newsletter .fn-form input::placeholder{color:rgba(248,243,234,.55);-webkit-text-fill-color:rgba(248,243,234,.55);opacity:1}
.footer-newsletter .fn-form input:focus{outline:none;border-color:var(--gold-2);box-shadow:0 0 0 3px rgba(230,201,100,.18)}
.footer-newsletter .fn-form button{border:none;cursor:pointer;border-radius:999px;padding:13px 26px;font-family:var(--ui);font-size:14px;font-weight:600;color:#fff;background:var(--g-cta);box-shadow:0 8px 18px -7px rgba(217,119,6,.6);transition:filter .18s,transform .18s;white-space:nowrap}
.footer-newsletter .fn-form button:hover{filter:brightness(1.06);transform:translateY(-1px)}
.footer-newsletter .fn-form button:disabled{opacity:.6;cursor:not-allowed;transform:none}
.footer-newsletter .fn-msg{flex-basis:100%;font-size:12.5px;margin:3px 0 0 6px;min-height:1em;color:var(--cream-mute)}
@media(max-width:760px){.footer-newsletter{flex-direction:column;align-items:flex-start}.footer-newsletter .fn-form{max-width:100%;width:100%}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.visible,.reveal.in{opacity:1;transform:none}
h1,h2,h3,h4,h5,h6{font-family:var(--disp);font-weight:700;line-height:1.1;letter-spacing:-.01em}

/* ═══════════════════════════════════════════════════════════════════════════
   ACCESSIBILITY — skip link · keyboard focus · screen-reader utility
   (enhancements only — warm-beige design is unchanged for mouse users)
   ═══════════════════════════════════════════════════════════════════════════ */

/* (a) Skip-to-content link: visually hidden until keyboard-focused, then on-brand */
.skip-link{position:fixed;top:-100px;left:12px;z-index:100000;display:inline-block;
  padding:11px 20px;border-radius:0 0 12px 12px;background:var(--navy-900);color:var(--cream);
  font-family:var(--ui);font-size:14px;font-weight:600;line-height:1;text-decoration:none;
  box-shadow:0 8px 22px -8px rgba(11,16,32,.6);border:1px solid var(--gold);
  transition:top .18s ease}
.skip-link:focus{top:0;outline:2px solid var(--gold-2);outline-offset:2px}

/* (b) Keyboard-only focus ring (brand saffron/gold). :focus-visible never fires on
   plain mouse clicks, so the warm look is preserved for pointer users. */
:focus-visible{outline:2px solid var(--saf);outline-offset:2px}
/* on dark navy surfaces the lighter gold reads better */
#hdr :focus-visible,#footer :focus-visible,.footer-newsletter :focus-visible,
[class*="navy"] :focus-visible{outline-color:var(--gold-2)}
/* belt-and-braces: drop the legacy outline for browsers that support :focus-visible */
:focus:not(:focus-visible){outline:none}

/* (c) Screen-reader-only utility */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}


/* =========================================================================
   LIVE STATUS CHIP — "Quiet Signal"  (Online / Busy / By appointment)
   APPEND THIS to assets/css/style.css (end of file is fine).

   Slot-based availability pill, rendered by astrologer_status_chip().
   Pure CSS, no images/JS. Reads on light parchment cards/profile AND on the
   dark oxblood hero/page-header. Scoped under .chip-status--live so it cleanly
   overrides the legacy inline `.chip-status{border:1px solid currentColor}`.
   Contrast on parchment: online #0F5B30 ~7:1, busy #7A121E ~8:1,
   by-appointment #6E4E16 ~6:1 — all clear WCAG-AA. Meaning is never colour-only:
   each state carries a word + a screen-reader sentence.
   ========================================================================= */
.chip-status--live {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 12px 5px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  border: 1px solid transparent;        /* defeats the legacy currentColor border */
  background-clip: padding-box;
  transition: background-color .18s ease, border-color .18s ease;
}
.chip-status--live .cs-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
}
.chip-status--live .cs-label { color: inherit; }
.chip-status--live .cs-sr {              /* screen-reader-only full sentence */
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ONLINE — a slot is open to book. Calm green ink + gentle expanding halo. */
.chip-status--live.is-online {
  background: rgba(15, 123, 62, 0.07);
  border-color: rgba(15, 123, 62, 0.32);
  color: #0F5B30;
}
.chip-status--live.is-online .cs-dot {
  background: #138A44;
  box-shadow: 0 0 0 0 rgba(19, 138, 68, 0.45);
  animation: cs-ring 2s ease-in-out infinite;
}

/* BUSY — booked or blocked. Steady oxblood/ruby, no motion. */
.chip-status--live.is-busy {
  background: rgba(122, 18, 30, 0.06);
  border-color: rgba(122, 18, 30, 0.32);
  color: #7A121E;
}
.chip-status--live.is-busy .cs-dot { background: #B02633; }

/* BY APPOINTMENT — outside working hours, still fully bookable. Warm champagne-
   gold, inviting (never a dead grey). Text #6E4E16 ~6:1 on parchment. */
.chip-status--live.is-appointment {
  background: rgba(201, 162, 77, 0.10);
  border-color: rgba(201, 162, 77, 0.42);
  color: #6E4E16;
}
.chip-status--live.is-appointment .cs-dot { background: #C49A3E; }

/* Dark-context overrides (hero strip / dark sections / page-header). */
.hero .chip-status--live.is-online,
section.dark .chip-status--live.is-online,
.page-header .chip-status--live.is-online {
  background: rgba(159, 224, 176, 0.12);
  border-color: rgba(159, 224, 176, 0.45);
  color: #BDE9C9;
}
.hero .chip-status--live.is-online .cs-dot,
section.dark .chip-status--live.is-online .cs-dot,
.page-header .chip-status--live.is-online .cs-dot {
  background: #9FE0B0;
  box-shadow: 0 0 0 0 rgba(159, 224, 176, 0.55);
  animation: cs-ring-dark 2s ease-in-out infinite;
}
.hero .chip-status--live.is-busy,
section.dark .chip-status--live.is-busy,
.page-header .chip-status--live.is-busy {
  background: rgba(229, 140, 140, 0.10);
  border-color: rgba(229, 140, 140, 0.50);
  color: #F0B8B8;
}
.hero .chip-status--live.is-busy .cs-dot,
section.dark .chip-status--live.is-busy .cs-dot,
.page-header .chip-status--live.is-busy .cs-dot { background: #E58C8C; }
.hero .chip-status--live.is-appointment,
section.dark .chip-status--live.is-appointment,
.page-header .chip-status--live.is-appointment {
  background: rgba(226, 180, 76, 0.12);
  border-color: rgba(226, 180, 76, 0.45);
  color: #E9C677;
}
.hero .chip-status--live.is-appointment .cs-dot,
section.dark .chip-status--live.is-appointment .cs-dot,
.page-header .chip-status--live.is-appointment .cs-dot { background: #E2B44C; }

/* Soft expanding halo — the "live" pulse for Online. Calm, never jittery. */
@keyframes cs-ring {
  0%, 100% { box-shadow: 0 0 0 0   rgba(19, 138, 68, 0.45); }
  50%      { box-shadow: 0 0 0 4px rgba(19, 138, 68, 0);    }
}
@keyframes cs-ring-dark {
  0%, 100% { box-shadow: 0 0 0 0   rgba(159, 224, 176, 0.55); }
  50%      { box-shadow: 0 0 0 4px rgba(159, 224, 176, 0);    }
}

/* Respect reduced-motion: hold a static soft halo instead of animating. */
@media (prefers-reduced-motion: reduce) {
  .chip-status--live.is-online .cs-dot {
    animation: none;
    box-shadow: 0 0 0 3px rgba(19, 138, 68, 0.18);
  }
  .hero .chip-status--live.is-online .cs-dot,
  section.dark .chip-status--live.is-online .cs-dot,
  .page-header .chip-status--live.is-online .cs-dot {
    animation: none;
    box-shadow: 0 0 0 3px rgba(159, 224, 176, 0.22);
  }
}

@media (max-width: 480px) {
  .chip-status--live { font-size: 11.5px; padding: 5px 11px 5px 10px; }
}
