:root{
    --ink:#0B0A1F;
    --ink-2:#140F2E;
    --maroon:#4A1220;
    --gold:#D4AF37;
    --gold-soft:#E9CD7A;
    --saffron:#E8871E;
    --ivory:#F3EAD3;
    --ivory-dim:#C9BFA6;
    --line:rgba(212,175,55,0.25);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--ink);
    color:var(--ivory);
    font-family:'Jost', sans-serif;
    font-weight:400;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{
    font-family:'Cinzel', serif;
    letter-spacing:0.02em;
  }
  .mono{ font-family:'JetBrains Mono', monospace; }
  a{ color:inherit; text-decoration:none; }
  img{max-width:100%;}

  /* ---------- Starfield ---------- */
  #starfield{
    position:fixed; inset:0; z-index:0;
    background:radial-gradient(ellipse at 50% -10%, #1c1440 0%, var(--ink) 55%);
  }
  .star{
    position:absolute; border-radius:50%;
    background:var(--gold-soft);
    opacity:0.6;
    animation:twinkle 4s ease-in-out infinite;
  }
  @keyframes twinkle{ 0%,100%{opacity:0.15;} 50%{opacity:0.9;} }
  @media (prefers-reduced-motion: reduce){
    .star{ animation:none; opacity:0.4; }
  }

  /* ---------- Layout shells ---------- */
  .wrap{ max-width:1120px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
  section{ padding:96px 0; position:relative; z-index:1; }
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-family:'JetBrains Mono', monospace;
    font-size:12px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--saffron); margin-bottom:18px;
  }
  .eyebrow::before{ content:''; width:22px; height:1px; background:var(--saffron); }

  /* ---------- Nav ---------- */
  nav{
    position:sticky; top:0; z-index:20;
    backdrop-filter:blur(10px);
    background:rgba(11,10,31,0.72);
    border-bottom:1px solid var(--line);
  }
  nav .wrap{ display:flex; align-items:center; justify-content:space-between; padding:18px 24px; }
  .brand{ font-family:'Cinzel', serif; font-size:20px; font-weight:600; color:var(--gold-soft); }
  .brand span{ color:var(--saffron); }
  .nav-cta{
    border:1px solid var(--gold); color:var(--gold-soft);
    padding:9px 20px; border-radius:2px; font-size:13px;
    letter-spacing:0.05em; transition:all .25s ease;
  }
  .nav-cta:hover{ background:var(--gold); color:var(--ink); }

  /* ---------- Hero ---------- */
  .hero{ padding:120px 0 80px; text-align:center; }
  .zodiac-ring{
    width:280px; height:280px; margin:0 auto 40px;
    border-radius:50%;
    border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    position:relative;
  }
  .zodiac-ring::before{
    content:''; position:absolute; inset:-24px; border-radius:50%;
    border:1px dashed rgba(212,175,55,0.18);
    animation:spin 60s linear infinite;
  }
  @media (prefers-reduced-motion: reduce){ .zodiac-ring::before{ animation:none; } }
  @keyframes spin{ to{ transform:rotate(360deg); } }
  .zodiac-ring .om{ font-size:56px; color:var(--gold); font-family:'Cinzel', serif; }

  .hero h1{
    font-size:clamp(32px, 5vw, 56px);
    line-height:1.15; color:var(--ivory); font-weight:600;
    max-width:820px; margin:0 auto 22px;
  }
  .hero h1 em{ font-style:normal; color:var(--gold-soft); }
  .hero p.sub{
    font-size:18px; color:var(--ivory-dim); max-width:560px; margin:0 auto 40px;
    font-weight:300; line-height:1.6;
  }
  .hero-ctas{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
  .btn-primary{
    background:linear-gradient(135deg, var(--saffron), var(--gold));
    color:var(--ink); font-weight:600; padding:15px 32px;
    border-radius:2px; font-size:15px; letter-spacing:0.03em;
    box-shadow:0 8px 30px rgba(232,135,30,0.25);
    transition:transform .2s ease;
  }
  .btn-primary:hover{ transform:translateY(-2px); }
  .btn-ghost{
    border:1px solid var(--line); color:var(--ivory);
    padding:15px 32px; border-radius:2px; font-size:15px;
  }
  .btn-ghost:hover{ border-color:var(--gold); color:var(--gold-soft); }

  /* ---------- Live calculator (signature element) ---------- */
  .calc-panel{
    max-width:640px; margin:0 auto; margin-top:64px;
    border:1px solid var(--line); background:rgba(20,15,46,0.5);
    border-radius:4px; padding:36px;
    text-align:left;
  }
  .calc-panel .calc-label{
    font-family:'JetBrains Mono', monospace; font-size:12px;
    color:var(--saffron); letter-spacing:0.1em; text-transform:uppercase;
    display:block; margin-bottom:10px;
  }
  .calc-row{ display:flex; gap:12px; flex-wrap:wrap; }
  .calc-row input{
    flex:1; min-width:200px;
    background:var(--ink); border:1px solid var(--line); color:var(--ivory);
    padding:14px 16px; font-family:'Jost'; font-size:15px; border-radius:2px;
  }
  .calc-row input:focus{ outline:none; border-color:var(--gold); }
  .calc-row button{
    background:var(--gold); color:var(--ink); border:none;
    padding:14px 26px; font-weight:600; border-radius:2px; cursor:pointer;
    font-family:'Jost'; font-size:15px;
  }
  .calc-result{
    margin-top:24px; padding-top:24px; border-top:1px dashed var(--line);
    display:none;
  }
  .calc-result.show{ display:block; animation:fadein .5s ease; }
  @keyframes fadein{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }
  .calc-number{
    font-family:'JetBrains Mono', monospace; font-size:48px; color:var(--gold-soft);
    display:inline-block; margin-right:16px; line-height:1;
  }
  .calc-result p{ color:var(--ivory-dim); font-size:14px; line-height:1.6; margin-top:14px; }
  .calc-result .lock{
    margin-top:18px; font-size:13px; color:var(--saffron);
    font-family:'JetBrains Mono', monospace;
  }

  /* ---------- Section headers ---------- */
  .sec-head{ text-align:center; max-width:600px; margin:0 auto 56px; }
  .sec-head h2{ font-size:clamp(26px,3.5vw,38px); color:var(--ivory); margin-bottom:14px; }
  .sec-head p{ color:var(--ivory-dim); font-size:16px; line-height:1.6; }

  /* ---------- Trust strip ---------- */
  .trust-strip{ display:flex; justify-content:center; gap:48px; flex-wrap:wrap; padding:32px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .trust-item{ text-align:center; }
  .trust-item .num{ font-family:'JetBrains Mono'; font-size:28px; color:var(--gold-soft); }
  .trust-item .lbl{ font-size:12px; color:var(--ivory-dim); text-transform:uppercase; letter-spacing:0.08em; margin-top:4px; }

  /* ---------- Pricing ---------- */
  .tiers{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  @media (max-width:860px){ .tiers{ grid-template-columns:1fr; } }
  .tier{
    border:1px solid var(--line); border-radius:4px; padding:36px 28px;
    background:rgba(20,15,46,0.4); display:flex; flex-direction:column;
    transition:border-color .25s ease, transform .25s ease;
  }
  .tier:hover{ border-color:var(--gold); transform:translateY(-4px); }
  .tier.featured{ border-color:var(--gold); background:rgba(74,18,32,0.35); position:relative; }
  .tier.featured::before{
    content:'MOST CHOSEN'; position:absolute; top:-11px; left:28px;
    background:var(--gold); color:var(--ink); font-family:'JetBrains Mono';
    font-size:10px; letter-spacing:0.1em; padding:4px 10px; border-radius:2px;
  }
  .tier h3{ font-size:20px; color:var(--gold-soft); margin-bottom:8px; }
  .tier .price{ font-family:'JetBrains Mono'; font-size:34px; color:var(--ivory); margin:12px 0 4px; }
  .tier .price span{ font-size:14px; color:var(--ivory-dim); }
  .tier ul{ list-style:none; margin:20px 0; flex:1; }
  .tier li{ font-size:14px; color:var(--ivory-dim); padding:8px 0; border-top:1px solid rgba(212,175,55,0.1); line-height:1.5; }
  .tier li:first-child{ border-top:none; }
  .razorpay-slot{
    margin-top:20px; text-align:center;
  }
  .razorpay-slot .btn-primary{ width:100%; display:block; text-align:center; }
  .razorpay-note{
    font-family:'JetBrains Mono'; font-size:10px; color:rgba(233,205,122,0.5);
    text-align:center; margin-top:8px; letter-spacing:0.03em;
  }

  /* ---------- WhatsApp capture band ---------- */
  .wa-band{
    background:linear-gradient(135deg, var(--maroon), var(--ink-2));
    border:1px solid var(--line); border-radius:4px;
    padding:48px; text-align:center;
  }
  .wa-band h2{ font-size:clamp(22px,3vw,30px); margin-bottom:12px; color:var(--ivory); }
  .wa-band p{ color:var(--ivory-dim); margin-bottom:28px; font-size:15px; max-width:480px; margin-left:auto; margin-right:auto; }
  .btn-whatsapp{
    display:inline-flex; align-items:center; gap:10px;
    background:#25D366; color:#08130c; font-weight:600;
    padding:15px 30px; border-radius:2px; font-size:15px;
  }

  /* ---------- Testimonials ---------- */
  .testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  @media (max-width:860px){ .testi-grid{ grid-template-columns:1fr; } }
  .testi{ border:1px solid var(--line); border-radius:4px; padding:28px; background:rgba(20,15,46,0.3); }
  .testi p{ font-size:14px; color:var(--ivory-dim); line-height:1.7; margin-bottom:16px; font-style:normal; }
  .testi .who{ font-family:'JetBrains Mono'; font-size:12px; color:var(--gold-soft); }

  /* ---------- FAQ ---------- */
  .faq-item{ border-top:1px solid var(--line); padding:22px 0; }
  .faq-item h4{ font-size:16px; color:var(--ivory); margin-bottom:8px; font-weight:500; }
  .faq-item p{ font-size:14px; color:var(--ivory-dim); line-height:1.6; }

  footer{ border-top:1px solid var(--line); padding:40px 0; text-align:center; }
  footer p{ font-size:13px; color:var(--ivory-dim); }
  footer .brand{ margin-bottom:8px; display:inline-block; }
/* ---------- Horoscope section (shared) ---------- */
.sign-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:860px){ .sign-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .sign-grid{ grid-template-columns:1fr; } }
.sign-card{
  border:1px solid var(--line); border-radius:4px; padding:24px;
  background:rgba(20,15,46,0.4); transition:border-color .2s ease;
}
.sign-card:hover{ border-color:var(--gold); }
.sign-card h3{ font-size:17px; color:var(--gold-soft); margin-bottom:10px; }
.sign-card p{ font-size:14px; color:var(--ivory-dim); line-height:1.6; }
.date-line{
  font-family:'JetBrains Mono'; font-size:13px; color:var(--saffron);
  text-align:center; margin-bottom:48px; letter-spacing:0.05em;
}
