:root{
    --cream:#fff9ee; --cream-2:#f7ebd8; --surface:#fffdf8;
    --espresso:#38220f; --espresso-2:#4a2e17;
    --saffron:#aa4c1d; --saffron-bright:#e2853a; --saffron-dark:#a8481a;
    --gold:#b5842f; --gold-deep:#866123; --gold-soft:#e7cf9c;
    --ink:#2c241c; --muted:#6f5a41; --muted-2:#7b644b;
    --line:rgba(138,99,32,.2); --line-gold:rgba(181,132,47,.42);
    --green:#47723b;
    --shadow:0 22px 54px -24px rgba(56,34,15,.42); --shadow-sm:0 8px 24px -14px rgba(56,34,15,.42);
    --maxw:1200px;
 /* a11y 2026-08-17: --gold-text is --gold darkened for text on cream;
    --line-strong is a control boundary at >=3:1 on every light surface. */
 --gold-text:#866123;--line-strong:#9e8139
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--cream);color:var(--ink);font-family:'Spectral',Georgia,serif;font-weight:400;font-size:18px;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  body.ta{font-family:'Noto Sans Tamil','Spectral',serif}
  body.te{font-family:'Noto Sans Telugu','Spectral',serif}
  body.kn{font-family:'Noto Sans Kannada','Spectral',serif}
  body.ml{font-family:'Noto Sans Malayalam','Spectral',serif}
  body.hi,body.sa{font-family:'Noto Serif Devanagari','Spectral',serif}
  h1,h2,h3,h4{font-family:'Marcellus',serif;font-weight:400;line-height:1.18;letter-spacing:.01em;color:var(--espresso)}
  body.ta h1,body.ta h2,body.ta h3,body.te h1,body.te h2,body.te h3,body.kn h1,body.kn h2,body.kn h3,body.ml h1,body.ml h2,body.ml h3,body.hi h1,body.hi h2,body.hi h3,body.sa h1,body.sa h2,body.sa h3{font-family:inherit}
  a{color:inherit;text-decoration:none}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  /* inline links inside body copy must not rely on colour alone (WCAG 1.4.1) */
  .inline-link{color:var(--saffron-dark);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
  .inline-link:hover{text-decoration-thickness:2px}
  p a:not(.btn):not(.inline-link):not([class]){text-decoration:underline;text-underline-offset:2px}
  img{max-width:100%;display:block}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 30px}
  .eyebrow{font-family:'Marcellus SC',serif;text-transform:uppercase;letter-spacing:.26em;font-size:.8rem;color:var(--gold-deep)}
  .sanskrit{font-family:'Noto Serif Devanagari',serif}
  .btn{display:inline-flex;align-items:center;gap:8px;font-family:'Marcellus SC',serif;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;padding:13px 24px;border-radius:3px;transition:all .3s ease;cursor:pointer;border:1px solid transparent;white-space:nowrap}
  .btn-primary{background:var(--saffron-dark);color:#fff;border-color:var(--saffron-dark);box-shadow:0 6px 18px -8px rgba(198,90,34,.6)}
  .btn-primary:hover{background:var(--saffron-dark);transform:translateY(-1px)}
  .btn-ghost{background:transparent;color:var(--espresso);border-color:var(--gold)}
  .btn-ghost:hover{background:var(--espresso);color:var(--cream);border-color:var(--espresso)}

  /* An "answer block": one self-contained paragraph that stands on its own if
     an assistant lifts it out of the page. Marked up so it is also the
     speakable target in the structured data. */
  .answer{background:var(--surface);border:1px solid var(--gold-soft);border-left:4px solid var(--saffron);
    border-radius:0 12px 12px 0;padding:20px 24px;margin:26px auto 0;max-width:78ch}
  .answer p{margin:0 0 10px;font-size:1.04rem;line-height:1.7}
  .answer p:last-child{margin-bottom:0}
  .answer .k{font-family:'Marcellus SC',serif;letter-spacing:.12em;text-transform:uppercase;
    font-size:.78rem;color:var(--gold-deep);display:block;margin-bottom:8px}
  .answer dl{margin:10px 0 0;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:.98rem}
  .answer dt{font-family:'Marcellus',serif;color:var(--espresso)}
  .answer dd{margin:0;color:var(--muted)}
  @media(max-width:560px){.answer{padding:16px 16px}.answer dl{grid-template-columns:1fr;gap:2px}
    .answer dd{margin-bottom:8px}}
  .btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--saffron);outline-offset:2px}

  .utility{background:var(--espresso);color:rgba(250,243,229,.82);font-size:.76rem}
  .utility .wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:8px 30px;flex-wrap:wrap}
  .utility .u-left{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
  .utility a{color:var(--gold-soft)}
  .utility .om{font-family:'Noto Serif Devanagari',serif;color:var(--gold-soft)}

  header.nav{position:sticky;top:0;z-index:100;background:rgba(250,243,229,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0}
  .brand{display:flex;align-items:center;gap:13px}
  .brand .mark{width:104px;height:46px;flex:0 0 104px}
  .brand .wordmark .full{font-family:'Marcellus',serif;font-size:1.06rem;color:var(--espresso);letter-spacing:.02em;line-height:1}
  .brand .wordmark .sub{font-family:'Marcellus SC',serif;font-size:.76rem;letter-spacing:.07em;color:var(--saffron);text-transform:uppercase;display:block;margin-top:3px}
  nav.links{display:flex;align-items:center;gap:16px}
  nav.links a:not(.btn){font-size:.82rem;letter-spacing:.03em;white-space:nowrap;color:var(--muted);transition:color .25s;position:relative}
  nav.links a:not(.btn):hover{color:var(--saffron)}
  .nav-toggle{display:none;background:none;border:0;color:var(--espresso);font-size:1.6rem;cursor:pointer;line-height:1}

  .hero{position:relative;overflow:hidden;padding:70px 0 84px;background:radial-gradient(ellipse at 76% 42%, rgba(226,133,58,.16), transparent 54%),linear-gradient(180deg,var(--cream),var(--cream-2))}
  .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.06fr .94fr;gap:56px;align-items:center}
  .hero h1{font-size:clamp(2.4rem,4.8vw,4rem);margin:.16em 0 .28em}
  .hero h1 em{font-style:normal;color:var(--saffron)}
  .hero .name-line{font-family:'Marcellus',serif;font-size:1.26rem;color:var(--gold-deep);margin:0 0 4px}
  .hero .creds-line{font-family:'Marcellus SC',serif;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;color:var(--muted);margin:0 0 22px}
  .hero p.lede{font-size:1.08rem;color:var(--muted);max-width:42ch;margin:0 0 28px}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
  .portrait{position:relative;display:flex;justify-content:center}
  .portrait .frame{position:relative;width:min(92%,468px);border-radius:12px;overflow:hidden;border:1px solid var(--line-gold);box-shadow:var(--shadow)}
  .portrait .frame picture{display:block}
/* Square, not portrait. The source is landscape 1448x1086; a 760:879 frame can
   only take 939px of it, which is not enough to hold the liṅgam and Gurukkal at
   once - the shrine fell outside the crop. A square frame holds both. */
.frame img{width:100%;height:auto;display:block;aspect-ratio:1/1;object-fit:cover;object-position:center}

  .creed{background:var(--espresso);color:var(--cream)}
  .creed .wrap{display:flex;align-items:center;justify-content:center;gap:26px;padding:18px 30px;flex-wrap:wrap;text-align:center}
  .creed .item{font-family:'Marcellus',serif;letter-spacing:.06em;font-size:1.02rem;color:var(--gold-soft)}
  /* on --espresso: --saffron-bright is the palette's on-dark saffron (5.45:1) */
  .creed .sep{color:var(--saffron-bright);font-size:1.1rem}

  section{position:relative;padding:92px 0}
  .section-head{max-width:660px;margin-bottom:48px}
  .section-head.center{margin:0 auto 48px;text-align:center}
  .section-head h2{font-size:clamp(2rem,3.8vw,2.9rem);margin:.3em 0 .35em}
  .section-head p{color:var(--muted);font-size:1.06rem;margin:0}
  .rule{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--gold-text);margin:0 auto 8px;max-width:200px}
  .rule .r{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line-gold),transparent)}

  .about{background:var(--surface)}
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
  .about-copy p{margin:0 0 16px}
  .about-copy h3{font-family:'Marcellus SC',serif;letter-spacing:.04em;font-size:1.02rem;color:var(--saffron-dark);margin:24px 0 12px;display:flex;align-items:center;gap:12px}
  .about-copy h3::before{content:"";width:22px;height:1px;background:var(--gold)}
  .creds{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 8px}
  .cred{background:var(--cream-2);border:1px solid var(--line-gold);border-radius:40px;padding:7px 16px;font-family:'Marcellus SC',serif;font-size:.78rem;letter-spacing:.08em;color:var(--gold-deep);text-transform:uppercase}
  .scripture{display:flex;flex-wrap:wrap;gap:9px 24px;margin:0;padding:0;list-style:none}
  .scripture li{position:relative;padding-left:18px;color:var(--muted);font-size:.95rem;width:calc(50% - 12px)}
  .scripture li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
  .about-media{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--line-gold);box-shadow:var(--shadow)}
  .about-media picture{display:block}
.about-media img{width:100%;height:auto;display:block}

  .cer{background:var(--cream)}
  .cer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
  .cer-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:28px 28px;box-shadow:var(--shadow-sm)}
  .cer-card .hd{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
  .cer-card .hd .ic{color:var(--saffron);flex:0 0 auto}
  .cer-card .hd h3{margin:0;font-size:1.2rem}
  .cer-list{list-style:none;margin:0;padding:0}
  .cer-list li{padding:10px 0;border-bottom:1px dotted var(--line);font-size:.98rem;color:var(--ink);display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;transition:color .2s}
  .cer-list li:last-child{border-bottom:0}
  .cer-list li:hover{color:var(--saffron-dark)}
  .cer-list li .nm{display:flex;flex-direction:column}
  .cer-list li .rg{color:var(--muted-2);font-size:.78rem;font-style:italic;font-family:'Cormorant Garamond',serif}
  .cer-list li .chev{color:var(--gold-text);flex:0 0 auto;opacity:.6;transition:transform .2s,opacity .2s}
  .cer-list li:hover .chev{opacity:1;transform:translateX(3px)}
  .cer-note{text-align:center;color:var(--muted);font-size:.9rem;margin-top:24px}

  /* muhurtham */
  .muh{background:var(--cream-2);color:var(--ink)}
  .muh .section-head h2{color:var(--espresso)}
  .muh .section-head p{color:var(--muted)}
  .muh .rule{color:var(--gold-deep)} .muh .rule .r{background:linear-gradient(90deg,transparent,rgba(231,207,156,.4),transparent)}
  .muh-panel{display:grid;grid-template-columns:.95fr 1.05fr;gap:34px;align-items:start}
  .muh-form{background:var(--surface);border:1px solid var(--gold-soft);border-radius:12px;padding:28px 28px}
  .muh-form .field{margin-bottom:14px}
  .muh-form label{display:block;font-family:'Marcellus SC',serif;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;color:var(--muted);margin-bottom:6px}
  .muh-form input,.muh-form select{width:100%;background:#fff;border:1px solid var(--line-strong);color:var(--ink);padding:11px 13px;border-radius:5px;font-family:'Spectral',serif;font-size:.96rem}
  .muh-form .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .muh-form .loc{font-size:.8rem;color:var(--muted-2);margin:2px 0 14px;display:flex;align-items:center;gap:7px}
  .muh-form .btn-primary{width:100%;justify-content:center;margin-top:4px}
  .muh-result{border:1px solid var(--gold-soft);border-radius:12px;padding:8px 28px 24px;min-height:200px;background:var(--surface)}
  .muh-empty{color:var(--muted-2);text-align:center;padding:60px 20px;font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-style:italic}
  .muh-day{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:18px 0 14px;border-bottom:1px solid rgba(181,132,47,.28);flex-wrap:wrap}
  .muh-day .d{font-family:'Marcellus',serif;font-size:1.3rem;color:var(--espresso)}
  .muh-day .sun{font-size:.86rem;color:var(--muted)}
  .muh-group{margin-top:16px}
  .muh-group h4{font-family:'Marcellus SC',serif;letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;margin:0 0 8px;display:flex;align-items:center;gap:9px}
  .muh-group.good h4{color:var(--green)} .muh-group.avoid h4{color:var(--saffron-dark)}
  .krow{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dotted rgba(181,132,47,.28);font-size:.95rem;color:var(--espresso)}
  .krow:last-child{border-bottom:0}
  .krow .kt{color:var(--muted)} .krow .kv{font-family:'Marcellus',serif;color:var(--gold-deep,#8a6320);white-space:nowrap;font-size:1.02rem}
  .muh-note{margin-top:16px;padding-top:14px;border-top:1px solid var(--gold-soft);font-size:.86rem;color:var(--muted)}
  .muh-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
  .muh-actions .btn{font-size:.78rem;padding:11px 16px}
  .btn-gold{background:var(--gold);color:#241505;border-color:var(--gold)} .btn-gold:hover{background:var(--gold-soft)}

  .modes{background:var(--surface)}
  .modes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:32px}
  .mode{border:1px solid var(--line-gold);border-radius:8px;padding:32px 28px;text-align:center;background:linear-gradient(170deg,#fff,var(--cream));transition:transform .35s,box-shadow .35s}
  .mode:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .mode .ic{color:var(--saffron);margin-bottom:14px;display:flex;justify-content:center}
  .mode h3{margin:0 0 8px;font-size:1.2rem}
  .mode p{margin:0;color:var(--muted);font-size:.95rem}
  .modes-extra{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center}
  .chip{border:1px solid var(--line);border-radius:40px;padding:9px 18px;font-size:.86rem;color:var(--ink);background:var(--cream-2)}
  .chip b{color:var(--saffron-dark);font-weight:400;font-family:'Marcellus',serif}

  .how{background:var(--cream)}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .step{border:1px solid var(--line);border-radius:8px;padding:28px 24px;background:var(--surface);box-shadow:var(--shadow-sm)}
  .step .n{font-family:'Marcellus',serif;font-size:2rem;color:var(--saffron);line-height:1}
  .step h3{font-size:1.08rem;margin:12px 0 8px}
  .step p{color:var(--muted);font-size:.93rem;margin:0}

  .contact{background:linear-gradient(180deg,var(--cream),var(--cream-2))}
  .contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:52px;align-items:start}
  .contact-info h3{font-size:1.4rem;margin:0 0 6px}
  .info-row{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
  .info-row .ic{color:var(--saffron);flex:0 0 22px;margin-top:3px}
  .info-row .val a{display:inline-flex;align-items:center;min-height:24px;padding:2px 0}
  .info-row .label{font-family:'Marcellus SC',serif;letter-spacing:.1em;font-size:.8rem;text-transform:uppercase;color:var(--gold-deep);display:block;margin-bottom:3px}
  .info-row .val{color:var(--ink);font-size:1rem} .info-row .val a{color:var(--saffron-dark)}
  .form{background:var(--surface);border:1px solid var(--line-gold);border-radius:10px;padding:32px 30px;box-shadow:var(--shadow)}
  .form h3{margin:0 0 4px} .form>p{color:var(--muted);font-size:.9rem;margin:0 0 18px}
  .field{margin-bottom:14px}
  .field label{display:block;font-family:'Marcellus SC',serif;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;color:var(--gold-deep);margin-bottom:6px}
  .field input,.field select,.field textarea{width:100%;background:var(--cream);border:1px solid var(--line-strong);color:var(--ink);padding:12px 14px;border-radius:4px;font-family:'Spectral',serif;font-size:.98rem}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .form .btn-primary{width:100%;justify-content:center;margin-top:6px}
  .form .hint{color:var(--muted-2);font-size:.78rem;margin-top:10px;text-align:center}

  footer.site{background:var(--espresso);color:rgba(250,243,229,.78);padding:58px 0 32px}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;margin-bottom:40px}
  .foot-brand .full{font-family:'Marcellus',serif;font-size:1.16rem;color:var(--cream)}
  .foot-brand .sub{font-family:'Marcellus SC',serif;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;color:var(--saffron-bright);margin-top:4px}
  .foot-brand p{color:rgba(250,243,229,.6);font-size:.9rem;margin:14px 0 0;max-width:38ch}
  .foot-col h3{font-family:'Marcellus SC',serif;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;color:var(--gold-soft);margin:0 0 16px}
  .foot-col a{display:block;color:rgba(250,243,229,.72);font-size:.9rem;padding:5px 0;transition:color .25s} .foot-col a:hover{color:#fff}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid rgba(231,207,156,.2);padding-top:24px;color:rgba(250,243,229,.55);font-size:.8rem}

  .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
  .reveal.in{opacity:1;transform:none}

  /* modal */
  .modal-back{position:fixed;inset:0;background:rgba(30,17,7,.66);backdrop-filter:blur(3px);z-index:400;display:none;align-items:center;justify-content:center;padding:20px}
  .modal-back.open{display:flex}
  .modal{background:var(--surface);border:1px solid var(--line-gold);border-radius:12px;max-width:640px;width:100%;max-height:88vh;overflow:auto;box-shadow:var(--shadow);position:relative}
  .modal .mhead{padding:28px 32px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface)}
  .modal .mhead .cat{font-family:'Marcellus SC',serif;letter-spacing:.16em;text-transform:uppercase;font-size:.62rem;color:var(--saffron)}
  .modal .mhead h3{margin:6px 0 0;font-size:1.7rem}
  .modal .mhead .rg{color:var(--muted-2);font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.05rem}
  .modal .mclose{position:absolute;top:20px;right:22px;background:none;border:0;font-size:1.6rem;color:var(--muted);cursor:pointer;line-height:1}
  .modal .mbody{padding:22px 32px 30px}
  .modal .mbody p{margin:0 0 18px;color:var(--ink)}
  .modal .meta{display:flex;gap:22px;flex-wrap:wrap;margin:0 0 20px}
  .modal .meta .m{background:var(--cream-2);border:1px solid var(--line-gold);border-radius:8px;padding:12px 18px}
  .modal .meta .m .k{font-family:'Marcellus SC',serif;letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;color:var(--gold-deep)}
  .modal .meta .m .v{font-family:'Marcellus',serif;color:var(--espresso);font-size:1.05rem}
  .modal h4{font-family:'Marcellus SC',serif;letter-spacing:.06em;font-size:.98rem;color:var(--saffron-dark);margin:22px 0 10px;display:flex;align-items:center;gap:10px}
  .modal h4::before{content:"";width:20px;height:1px;background:var(--gold)}
  .modal ul{margin:0;padding-left:2px;list-style:none}
  .modal ul li{position:relative;padding:6px 0 6px 20px;color:var(--muted);font-size:.96rem}
  .modal ul li::before{content:"";position:absolute;left:0;top:.85em;width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
  .modal .mfoot{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}

  /* chat */
  .chat-fab{position:fixed;bottom:22px;right:22px;z-index:2147483001;display:flex;align-items:center;gap:9px;background:var(--espresso);color:#fff;border:1px solid var(--gold-deep);border-radius:40px;padding:12px 19px 12px 15px;font-family:'Marcellus',serif;letter-spacing:.02em;font-size:.82rem;cursor:pointer;box-shadow:0 8px 22px -12px rgba(56,34,15,.55);transition:transform .2s}
  .chat-fab:hover{transform:translateY(-2px)}
  /* The consent bar is position:fixed at z-index 2147483000. At z-index 350 the
   floating buttons sat underneath it, so on a first visit the assistant and the
   WhatsApp button were both unclickable until consent was dismissed. */
.wa-fab{position:fixed;bottom:22px;left:22px;z-index:2147483001;width:54px;height:54px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px -10px rgba(37,211,102,.7);transition:transform .25s}
  .wa-fab:hover{transform:translateY(-2px)}
  .chat-panel{position:fixed;bottom:88px;right:22px;width:min(380px,calc(100vw - 44px));height:min(560px,calc(100vh - 130px));background:var(--surface);border:1px solid var(--line-gold);border-radius:14px;box-shadow:var(--shadow);z-index:360;display:none;flex-direction:column;overflow:hidden}
  .chat-panel.open{display:flex}
  .chat-head{background:var(--espresso);color:var(--cream);padding:16px 18px;display:flex;align-items:center;gap:12px}
  .chat-head .av{width:36px;height:36px;border-radius:50%;background:var(--saffron);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
  .chat-head .t{font-family:'Marcellus',serif;font-size:1rem;line-height:1.1} .chat-head .s{font-size:.78rem;color:var(--gold-soft)}
  .chat-head .x{margin-left:auto;background:none;border:0;color:var(--gold-soft);font-size:1.3rem;cursor:pointer}
  .chat-msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--cream)}
  .msg{max-width:85%;padding:11px 14px;border-radius:12px;font-size:.94rem;line-height:1.55}
  .msg.bot{background:var(--surface);border:1px solid var(--line);color:var(--ink);align-self:flex-start;border-bottom-left-radius:4px}
  .msg.user{background:var(--saffron);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
  .msg.bot a{color:var(--saffron-dark)}
  .chat-sug{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 12px;background:var(--cream)}
  .chat-sug button{background:var(--cream-2);border:1px solid var(--line-strong);color:var(--gold-deep);border-radius:30px;padding:7px 13px;font-size:.76rem;cursor:pointer;font-family:'Spectral',serif}
  .chat-sug button:hover{background:var(--gold-soft)}
  .chat-in{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--surface)}
  .chat-in input{flex:1;border:1px solid var(--line-strong);border-radius:8px;padding:11px 13px;font-family:'Spectral',serif;font-size:.94rem;background:var(--cream)}
  .chat-in button{background:var(--saffron);color:#fff;border:0;border-radius:8px;width:44px;cursor:pointer;flex:0 0 auto}
  .typing{display:flex;gap:4px;padding:6px 2px}
  .typing span{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:bl 1.2s infinite}
  .typing span:nth-child(2){animation-delay:.2s} .typing span:nth-child(3){animation-delay:.4s}
  @keyframes bl{0%,60%,100%{opacity:.3}30%{opacity:1}}

  @media(max-width:980px){
    .hero-grid{grid-template-columns:1fr;text-align:center}
    .hero p.lede{margin-left:auto;margin-right:auto} .hero-cta{justify-content:center}
    .portrait{order:-1;margin-bottom:6px}
    .about-grid,.contact-grid,.muh-panel{grid-template-columns:1fr;gap:34px}
    .cer-grid{grid-template-columns:1fr} .modes-grid{grid-template-columns:1fr}
    .steps{grid-template-columns:1fr 1fr} .scripture li{width:100%} .foot-grid{grid-template-columns:1fr 1fr}
  }
  /* The desktop nav is tight even at 1200px: brand + 7 links + CTA. Marcellus
     is wider than the fallback serif, so anything measured without the webfont
     underestimates it. Collapse to the menu button while there is still real
     room rather than at the last pixel - this is what made "Poojas &
     Ceremonies" break across two lines. */
  @media(max-width:1140px){
    nav.links{display:none}
    nav.links.open{display:flex;flex-direction:column;position:absolute;top:100%;right:14px;left:14px;background:var(--surface);border:1px solid var(--line-gold);border-radius:8px;padding:18px;gap:14px;align-items:flex-start;box-shadow:var(--shadow);z-index:120}
    nav.links.open a{padding:6px 2px}
    .nav-toggle{display:block;padding:6px 10px;min-width:44px;min-height:44px}
  }
  @media(max-width:680px){
    body{font-size:17px}
    .steps,.foot-grid{grid-template-columns:1fr} .field-row,.muh-form .frow{grid-template-columns:1fr}
    section{padding:64px 0}
  }
  /* 320px (iPhone SE 1st gen and split-screen) - the fixed 30px gutters plus
     card padding were wider than the viewport, clipping the muhurtham form and
     the contact block. */
  @media(max-width:400px){
    .wrap{padding:0 16px}
    .brand .mark{width:78px;height:35px;flex:0 0 78px}
    .brand{gap:8px}
    .brand .wordmark .full{font-size:.94rem}
    .nav-inner{gap:8px}
    .mobile-bar a{padding:0 10px}
    .utility .wrap{padding:8px 16px}
    .muh-form,.muh-result{padding:18px 14px}
    .contact-info,.contact-cta{padding:20px 16px}
    .btn{padding:12px 16px;white-space:normal;text-align:center;justify-content:center}
    .btn-lg{width:100%}
  }
  @media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

  .book{background:var(--surface)}
  .book-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}
  .book-tile{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;padding:26px 18px;border:1px solid var(--line-gold);border-radius:12px;background:linear-gradient(170deg,#fff,var(--cream));transition:transform .3s,box-shadow .3s}
  .book-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .book-tile .ic{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
  .book-tile.call .ic{background:#e9f3e4;color:#4c7a3f}
  .book-tile.wa .ic{background:#e3f9ec;color:#1eaf5d}
  .book-tile.mail .ic{background:#fbeede;color:var(--saffron-dark)}
  .book-tile.sched .ic{background:#f0e6d0;color:var(--gold-deep)}
  .book-tile .t{font-family:'Marcellus',serif;font-size:1.12rem;color:var(--espresso)}
  .book-tile .s{font-size:.82rem;color:var(--muted)}
  .cal-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;min-height:110px;background:var(--cream)}
  #cal-embed{min-height:110px}
  .cal-fallback{padding:26px 24px;text-align:center;color:var(--muted);font-size:.92rem}
  .cal-fallback b{color:var(--saffron-dark);font-weight:400;font-family:'Marcellus',serif}
  @media(max-width:820px){.book-tiles{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){.book-tiles{grid-template-columns:1fr}}

  .test{background:var(--cream)}
  .test-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:880px;margin:0 auto}
  .t-card{border:1px solid var(--line);border-radius:8px;padding:30px 28px;background:var(--surface);box-shadow:var(--shadow-sm)}
  .t-card .stars{color:var(--saffron);letter-spacing:3px;font-size:.9rem}
  .t-card p{color:var(--ink);font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.18rem;margin:12px 0 16px;line-height:1.5}
  .t-card .who{font-family:'Marcellus SC',serif;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;color:var(--espresso-2)}
  @media(max-width:820px){.test-grid{grid-template-columns:1fr}}

  /* FAQ */
  .faq{background:var(--surface)}
  .faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
  .faq-item{border:1px solid var(--line);border-radius:10px;background:var(--cream);overflow:hidden;transition:border-color .25s,box-shadow .25s}
  .faq-item[open]{border-color:var(--line-gold);box-shadow:var(--shadow-sm)}
  .faq-item summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:'Marcellus',serif;font-size:1.08rem;color:var(--espresso);font-weight:500}
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary .q-ico{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--gold);color:var(--gold-deep);display:grid;place-items:center;font-size:1.1rem;line-height:1;transition:transform .3s,background .25s,color .25s}
  .faq-item[open] summary .q-ico{transform:rotate(45deg);background:var(--saffron);border-color:var(--saffron);color:#fff}
  .faq-item .faq-a{padding:0 24px 22px;color:var(--muted);line-height:1.72;font-size:1rem}
  @media(max-width:640px){.faq-item summary{font-size:1rem;padding:17px 18px}.faq-item .faq-a{padding:0 18px 18px}}


  /* Guru & lineage */
  .lineage{background:var(--cream-2)}
  .lineage-grid{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start;max-width:960px;margin:0 auto}
  .lineage-seal{display:grid;place-items:center}
  .lineage-seal .seal-mark{width:180px;height:180px;filter:drop-shadow(0 10px 24px rgba(56,34,15,.16))}
  .lineage-body p{margin:0 0 15px;color:var(--ink)}
  .lineage-body strong{color:var(--espresso-2)}
  .guru-credit{margin-top:22px!important;font-family:'Marcellus',serif;color:var(--muted-2);font-size:.86rem;letter-spacing:.04em;border-top:1px solid var(--line-gold);padding-top:16px}
  .guru-credit span{display:block;color:var(--saffron-dark);font-size:1.24rem;margin-top:4px}
  @media(max-width:720px){.lineage-grid{grid-template-columns:1fr;gap:24px;text-align:left}.lineage-seal .seal-mark{width:130px;height:130px}.lineage-seal{margin-bottom:4px}}
.emblem{background-image:url("../img/emblem.webp");background-size:contain;background-position:left center;background-repeat:no-repeat;display:inline-block}.foot-emblem{width:104px;height:46px;display:block;margin:0 0 14px}.lineage-seal .seal-mark{display:block!important}
.guru-emblem{background-image:url("../img/guru-emblem.webp");background-size:contain;background-position:center;background-repeat:no-repeat;display:inline-block}
.lineage-photos{display:flex;flex-direction:column;gap:20px}.lin-photo{margin:0}.lin-photo picture{display:block}
.lin-photo img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line-gold);box-shadow:var(--shadow);display:block}.lin-photo figcaption{font-family:'Marcellus',serif;font-size:.8rem;color:var(--muted-2);margin-top:9px;line-height:1.45;letter-spacing:.02em}.lin-photo figcaption span{display:block;color:var(--saffron-dark);font-size:.94rem;margin-top:1px}@media(max-width:720px){.lineage-photos{max-width:360px;margin:0 auto}}
.field-flash{animation:fieldflash 1.6s ease}@keyframes fieldflash{0%,100%{box-shadow:none}20%{box-shadow:0 0 0 3px rgba(198,90,34,.35)}}
.foot-bottom a{color:rgba(231,207,156,.85);text-decoration:none}.foot-bottom a:hover{color:#fff}.foot-legal{margin:0 8px}
.fest-strip{background:var(--cream-2)}.today-line{margin:10px auto 0;max-width:640px;font-family:'Marcellus SC','Marcellus',serif;letter-spacing:.05em;font-size:.82rem;color:var(--saffron-dark);text-align:center}.today-line b{color:var(--espresso);font-weight:400}.fstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:900px;margin:0 auto}.fs-card{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line-gold);border-radius:14px;padding:16px;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;cursor:pointer}.fs-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.fs-chip{flex:0 0 54px;text-align:center;background:var(--cream-2);border:1px solid var(--line-gold);border-radius:10px;padding:7px 4px}.fs-chip .m{display:block;font-family:'Marcellus SC','Marcellus',serif;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--saffron-dark)}.fs-chip .d{display:block;font-family:'Marcellus',serif;font-size:1.4rem;color:var(--espresso);line-height:1}.fs-b{min-width:0}.fs-tag{display:inline-block;font-family:'Marcellus SC','Marcellus',serif;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:2px 8px;border-radius:20px;margin-bottom:3px}.fs-b h3{font-family:'Marcellus',serif;font-weight:400;font-size:1.02rem;color:var(--espresso);margin:2px 0 1px;line-height:1.15}.fs-din{font-size:.8rem;color:var(--saffron-dark);font-family:'Marcellus SC','Marcellus',serif;letter-spacing:.05em}@media(max-width:760px){.fstrip{grid-template-columns:1fr}}

/* ===== Muhurta day-quality verdict ===== */
.mq-banner,.muh-assess{border-radius:10px;padding:.85em 1em;margin:0 0 1em;border:1px solid}
.mq-banner.favourable,.muh-assess.favourable{background:rgba(76,122,63,.10);border-color:#8fae82}
.mq-banner.mixed,.muh-assess.mixed{background:rgba(181,132,47,.12);border-color:#d9b877}
.mq-banner.caution,.muh-assess.caution{background:rgba(178,52,42,.09);border-color:#d99b93}
.mq-h,.ma-h{font-family:'Marcellus',serif;font-size:1.05rem;margin-bottom:.15em}
.mq-banner.favourable .mq-h,.muh-assess.favourable .ma-h{color:#3c6a32}
.mq-banner.mixed .mq-h,.muh-assess.mixed .ma-h{color:#8a6320}
.mq-banner.caution .mq-h,.muh-assess.caution .ma-h{color:#a5352a}
.mq-s,.ma-s{font-family:'Spectral',serif;color:#5b4a38;line-height:1.5;margin-bottom:.4em}
.mq-r,.ma-r{margin:.2em 0 .5em;padding-left:1.15em}
.mq-r li,.ma-r li{font-family:'Spectral',serif;color:#5b4a38;line-height:1.5;margin-bottom:.25em;font-size:.95rem}
.mq-note,.ma-note{font-family:'Spectral',serif;font-style:italic;color:#6b5844;font-size:.9rem;line-height:1.5;border-top:1px dashed rgba(181,132,47,.4);padding-top:.5em;margin-top:.4em}

/* ===== Hero upgrades ===== */
.hero-tag{font-family:'Cormorant Garamond','Spectral',serif;font-style:italic;font-size:1.35rem;color:var(--gold-text);margin:.1em 0 .7em;line-height:1.3}
.hero-langs{font-family:'Marcellus SC','Marcellus',serif;letter-spacing:.06em;font-size:.82rem;color:#8a6f52;text-transform:uppercase;margin:.2em 0 .8em}
.hero-trust{display:flex;flex-wrap:wrap;align-items:center;gap:.5em;margin-top:1.1em;font-family:'Marcellus',serif;font-size:.82rem;color:#6b5844;letter-spacing:.02em}
.hero-trust span{white-space:nowrap}.hero-trust i{color:var(--gold-soft);font-style:normal}
/* ===== What are you celebrating? ===== */
.occ{padding:56px 0 8px}
.occ-sub{text-align:center;max-width:60ch;margin:.4em auto 0;color:#6b5844;font-family:'Spectral',serif}
.occ-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0 14px}
.occ-card{display:block;background:var(--surface);border:1px solid var(--gold-soft);border-radius:14px;padding:20px 20px 22px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s}
.occ-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(56,34,15,.12);border-color:var(--gold)}
.occ-t{display:block;font-family:'Marcellus',serif;font-size:1.22rem;color:var(--espresso);margin-bottom:.35em}
.occ-r{display:block;font-family:'Spectral',serif;color:var(--saffron);font-size:.98rem;line-height:1.5}
.occ-help{text-align:center;font-family:'Spectral',serif;color:#6b5844;margin:.6em 0 0}
.occ-help .wa-btn{color:#2f6f5e;text-decoration:none;border-bottom:1px solid rgba(47,111,94,.3);padding-bottom:2px}
.occ-help .wa-btn:hover{color:#245a4b}
@media(max-width:820px){.occ-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.occ-grid{grid-template-columns:1fr}}
/* ===== Cal replacement panel ===== */
.calf-h{font-family:'Marcellus',serif;font-size:1.2rem;color:var(--espresso);margin-bottom:.4em}
.cal-fallback p{font-family:'Spectral',serif;color:#5b4a38;line-height:1.6;margin:0 0 1em}
.calf-cta{display:flex;gap:.6em;flex-wrap:wrap}
/* ===== Mobile action bar ===== */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:1200;display:none;background:var(--espresso);box-shadow:0 -4px 18px rgba(56,34,15,.28);padding:env(safe-area-inset-bottom) 0 0}
.mobile-bar a{flex:1;text-align:center;padding:.9em .4em;color:#faf3e5;text-decoration:none;font-family:'Marcellus',serif;font-size:.98rem;border-right:1px solid rgba(250,243,229,.14)}
.mobile-bar a:last-child{border-right:none}
.mobile-bar .mb-wa{color:#a9e6c9}.mobile-bar .mb-req{background:var(--saffron);color:#fff}
@media(max-width:760px){
 .mobile-bar{display:flex}
 body{padding-bottom:56px}
 .chat-fab,#chatFab{bottom:70px!important}
html.sc-bar-open .wa-fab{bottom:104px}
html.sc-bar-open .chat-fab{bottom:152px!important}
 .wa-fab{display:none!important}
}

/* ===== What to expect (reassurance) ===== */
.how-assure{margin-top:34px;border-top:1px solid var(--gold-soft);padding-top:26px}
.ha-h{text-align:center;font-family:'Marcellus',serif;color:var(--espresso);font-size:1.3rem;margin:0 0 18px}
.ha-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 26px;max-width:900px;margin:0 auto}
.ha-item{background:var(--surface);border:1px solid var(--gold-soft);border-radius:12px;padding:16px 18px}
.ha-t{display:block;font-family:'Marcellus',serif;color:var(--saffron);font-size:1.05rem;margin-bottom:.3em}
.ha-d{display:block;font-family:'Spectral',serif;color:#5b4a38;line-height:1.55;font-size:.97rem}
@media(max-width:640px){.ha-grid{grid-template-columns:1fr}}
.t-ctx{font-family:'Marcellus',serif;color:var(--saffron);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.4em}
.hero-link{display:inline-flex;align-items:center;color:var(--saffron-dark);font-family:'Marcellus',serif;font-size:1.02rem;text-decoration:none;padding:6px 4px;border-bottom:1px solid transparent;transition:border-color .2s}.hero-link:hover{border-color:var(--saffron)}
.glance .g-more{font-family:'Marcellus',serif;color:var(--saffron-dark);text-decoration:none;font-size:.92rem;border-bottom:1px solid transparent}.glance .g-more:hover{border-color:var(--saffron)}

/* ===== Today's Panchāṅgam (top daily panel) ===== */
.today{background:linear-gradient(180deg,var(--cream) 0%,var(--surface) 100%);border-bottom:1px solid var(--gold-soft);padding:34px 0 40px}
.today .wrap{max-width:1120px}



.today-sub{color:var(--muted);font-size:1rem;margin:.35em 0 0}
.today-qual{display:inline-flex;flex-direction:column;gap:2px;padding:10px 16px;border-radius:12px;border:1px solid var(--gold-soft);background:var(--surface);min-width:180px}
.today-qual .q-h{font-family:'Marcellus',serif;font-size:.95rem;color:var(--espresso)}
.today-qual .q-s{font-size:.82rem;color:var(--muted);margin-top:2px;line-height:1.4}
.today-qual.favourable{border-color:#bcd8b0;background:#f2f8ee}.today-qual.favourable .q-h{color:var(--green)}
.today-qual.mixed{border-color:var(--gold-soft);background:#fbf4e6}.today-qual.mixed .q-h{color:var(--gold-deep)}
.today-qual.caution{border-color:#e6c3ac;background:#fbf0e8}.today-qual.caution .q-h{color:var(--saffron-dark)}
.today-qual.neutral{border-color:var(--gold-soft);background:var(--surface)}.today-qual.neutral .q-h{color:var(--espresso)}
.tw.ctx{border-color:var(--gold-soft)!important;background:#faf3e6!important}.tw.ctx .tw-n{color:var(--gold-deep)!important}
.today-now.ctx .dot{background:var(--gold)}
.today-fest{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0 4px;padding:14px 20px;border-radius:14px}
.today-fest.is-today{background:linear-gradient(120deg,#fbe9cf,#f7dcae);border:1px solid var(--gold)}
.today-fest.is-soon{background:var(--surface);border:1px dashed var(--gold-soft)}
.today-fest .tf-badge{font-family:'Marcellus',serif;text-transform:uppercase;letter-spacing:.07em;font-size:.8rem;padding:4px 11px;border-radius:999px;background:var(--saffron-dark);color:#fff}
.today-fest.is-soon .tf-badge{background:var(--gold-deep)}
.today-fest .tf-name{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.5rem;color:var(--espresso)}
.today-fest .tf-when{color:var(--muted);font-size:.95rem}
.today-fest .tf-cta{margin-left:auto;color:var(--saffron-dark);font-weight:600;white-space:nowrap}

.today-panch{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--gold-soft);border:1px solid var(--gold-soft);border-radius:12px;overflow:hidden}
.today-panch .tp{background:var(--surface);padding:13px 15px;display:flex;flex-direction:column;gap:3px}
.today-panch .tp-k{font-family:'Marcellus',serif;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.today-panch .tp-v{font-size:1.02rem;color:var(--ink)}
.today-panch .tp-v small{display:block;font-size:.76rem;color:var(--muted);margin-top:1px}

.today-win{border:1px solid var(--gold-soft);border-radius:12px;padding:12px 14px;background:var(--surface)}
.today-win:empty,.today-now:empty,.today-qual:empty,.today-panch:empty{display:none;border:0;padding:0}
.today-win .tw-h{font-family:'Marcellus',serif;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.today-win .tw{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-top:1px dashed var(--cream-2);font-size:.92rem}
.today-win .tw:first-of-type{border-top:0}
.today-win .tw-n{color:var(--ink)}.today-win .tw-t{color:var(--muted);font-variant-numeric:tabular-nums}
.today-win .tw.good .tw-n{color:var(--green)}.today-win .tw.avoid .tw-n{color:var(--saffron-dark)}
.today-win .tw.live{background:#fff6e6;margin:0 -14px;padding:5px 14px;border-radius:6px;font-weight:600}
/* NOT flex. The message this box receives contains a <b> for the window's
   name, and in a flex container each text run either side of that <b>
   became its own flex item - so "A traditionally restricted starting
   period (" / "Rahu Kalam" / ") is active until 11:29 AM" laid out as
   three columns. Ordinary inline flow with an inline-block bullet renders
   correctly whatever markup the script writes. */
.today-now{display:block;padding:11px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--gold-soft);font-size:.95rem;line-height:1.5;color:var(--ink)}
.today-now .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green);margin-right:9px;position:relative;top:-1px}
.today-now .dot.warn{background:var(--saffron)}
.today-now.warn{background:#fbf0e8;border-color:#e6c3ac}.today-now.good{background:#f2f8ee;border-color:#bcd8b0}
/* Pooja CTA — the standout */
.pooja-cta{display:grid;grid-template-columns:1.5fr auto;gap:26px;align-items:center;margin-top:26px;padding:26px 28px;border-radius:18px;background:linear-gradient(120deg,var(--cream-2),#f2e4c9);border:1px solid var(--gold);box-shadow:0 10px 30px -18px rgba(138,99,32,.5)}
.pooja-cta .pc-eyebrow{font-family:'Marcellus',serif;text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;color:var(--saffron-dark);margin:0 0 4px}
.pooja-cta h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.85rem;color:var(--espresso);margin:0 0 6px;line-height:1.1}
.pooja-cta .pc-lead{color:var(--muted);font-size:.98rem;margin:0 0 14px;max-width:56ch}
.pc-chips{display:flex;flex-wrap:wrap;gap:9px}
.pc-chips a{display:inline-block;text-decoration:none;font-family:'Spectral',serif;font-size:.9rem;color:var(--espresso);background:var(--surface);border:1px solid var(--gold-soft);border-radius:999px;padding:8px 15px;cursor:pointer;transition:.15s}
.pc-chips a:hover{border-color:var(--saffron);color:var(--saffron-dark);background:#fff}
.pc-act{display:flex;flex-direction:column;gap:10px;align-items:stretch;text-align:center}
.btn-lg{font-size:1.05rem;padding:15px 30px}
.pc-more{color:var(--saffron-dark);font-size:.9rem;font-weight:600}
.today-cal{display:inline-block;margin-top:18px;color:var(--gold-deep);font-weight:600;font-size:.95rem}
@media(max-width:860px){
 
 .today-panch{grid-template-columns:repeat(2,1fr)}
 .pooja-cta{grid-template-columns:1fr}
 .pc-act{align-items:stretch}
 
}
@media(max-width:480px){.today-panch{grid-template-columns:1fr 1fr}.today-fest .tf-cta{margin-left:0;flex-basis:100%}}

.chat-disc{font-size:.8rem;color:var(--muted);padding:8px 14px 2px;line-height:1.4;border-top:1px solid var(--cream-2)}
.cer-guides{text-align:center;margin:2px auto 14px;max-width:70ch;line-height:2}.cer-guides .cg-lbl{font-family:'Marcellus SC','Marcellus',serif;letter-spacing:.07em;text-transform:uppercase;font-size:.8rem;color:var(--muted);margin-right:6px}.cer-guides a{display:inline-block;margin:0 5px;padding:5px 13px;border:1px solid var(--gold-soft);border-radius:999px;text-decoration:none;color:var(--espresso);font-size:.92rem;background:var(--surface);transition:.15s}.cer-guides a:hover{border-color:var(--saffron);color:var(--saffron-dark)}
.cal-intro{color:var(--muted);font-size:.98rem;max-width:60ch;margin:0 auto 16px;text-align:center}.cal-intro b{color:var(--espresso)}
.req-cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:8px 0 6px}.req-cta-note{text-align:center;color:var(--muted);font-size:.92rem;max-width:60ch;margin:10px auto 0}
.contact-cta{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.contact-cta .hint{color:var(--muted-2);font-size:.86rem;margin-top:4px}


/* Today at a Glance strip */
.glance{background:var(--cream);color:var(--ink);border-top:1px solid var(--line-gold);border-bottom:1px solid var(--line-gold)}
.glance-in{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center;padding:13px 0}
.glance .g-item{display:flex;flex-direction:column;line-height:1.15}
.glance .g-k{font-family:'Marcellus SC','Marcellus',serif;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}
.glance .g-v{font-family:'Cormorant Garamond',serif;font-size:1.16rem;color:var(--ink)}
.glance .g-sep{width:1px;height:26px;background:var(--line-gold)}
.glance .g-now{display:flex;align-items:center;gap:8px;font-size:.92rem;background:rgba(198,90,34,.10);padding:7px 13px;border-radius:30px}
.glance .dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(123,191,123,.25);flex:0 0 auto}
.glance .dot.warn{background:#e0a13c;box-shadow:0 0 0 3px rgba(224,161,60,.25)}
.glance .g-more{color:var(--gold-soft);font-size:.82rem;font-family:'Marcellus SC','Marcellus',serif;letter-spacing:.06em;text-decoration:none;border-bottom:1px solid rgba(231,207,156,.4);padding-bottom:1px}
@media(max-width:680px){.glance .g-occ,.glance .g-sep{display:none}.glance-in{gap:12px}}
/* Panchangam section */
.pan{background:var(--cream)}
.pan-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:940px;margin:0 auto 18px}
.pan-card{background:var(--surface);border:1px solid var(--line-gold);border-radius:16px;padding:20px 22px;box-shadow:var(--shadow-sm)}
.pan-card.wide{max-width:940px;margin:0 auto 18px}
.pan-card h3{font-family:'Marcellus',serif;font-weight:400;font-size:1.16rem;color:var(--espresso);margin:0 0 14px;display:flex;align-items:center;gap:8px}
.pan-card h3:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--saffron)}
.pan-sub{color:var(--muted);font-size:.86rem;margin:-8px 0 12px}
.pan-el{display:grid;grid-template-columns:1fr 1fr;gap:11px 16px}
.pan-el .pe{display:flex;flex-direction:column;gap:1px}
.pan-el .pe .k{font-family:'Marcellus SC','Marcellus',serif;font-size:.6rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.pan-el .pe .v{font-family:'Cormorant Garamond',serif;font-size:1.14rem;color:var(--espresso);line-height:1.15}
.pan-el .pe .v small{display:block;font-family:'Spectral',serif;font-size:.72rem;color:var(--muted-2);font-style:italic}
.pan-win .w{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:9px;margin-bottom:6px;font-size:.92rem;border:1px solid transparent}
.pan-win .w .wt{color:var(--espresso-2)}
.pan-win .w .wv{font-variant-numeric:tabular-nums;color:var(--espresso);font-size:.9rem}
.pan-win .w.good{background:rgba(76,122,63,.08);border-color:rgba(76,122,63,.2)}
.pan-win .w.avoid{background:rgba(178,58,58,.06);border-color:rgba(178,58,58,.16)}
.pan-win .w.live{box-shadow:0 0 0 2px var(--saffron);position:relative}
.pan-win .w.live:after{content:'now';position:absolute;right:10px;top:-8px;background:var(--saffron);color:#fff;font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;padding:1px 6px;border-radius:8px}
.pan-note{color:var(--muted);font-size:.74rem;margin:10px 0 0;font-style:italic}
/* vratams */
.vrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px}
.vcard{border:1px solid var(--line-gold);border-radius:12px;padding:12px 14px;background:linear-gradient(135deg,var(--cream),var(--cream-2))}
.vcard .vd{font-family:'Marcellus SC','Marcellus',serif;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--saffron-dark)}
.vcard .vn{font-family:'Marcellus',serif;font-size:1.04rem;color:var(--espresso);margin:2px 0 3px}
.vcard .vp{font-size:.78rem;color:var(--muted-2)}
.vcard .va{margin-top:7px}
.vcard .va a{font-size:.78rem;color:var(--saffron-dark);text-decoration:none;border-bottom:1px solid var(--line-gold)}
/* nakshatra + tabs */
.nak-set{display:flex;gap:8px;margin-bottom:12px}
.nak-set select{flex:1;padding:9px 11px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);font-family:'Spectral',serif;color:var(--espresso)}
.nak-out .nd{display:inline-block;background:var(--cream-2);border:1px solid var(--line-gold);border-radius:20px;padding:5px 12px;margin:0 6px 6px 0;font-size:.86rem;color:var(--espresso)}
.nak-prompt{font-size:.88rem;color:var(--espresso-2);margin:8px 0 0}
.nak-prompt a{color:var(--saffron-dark);border-bottom:1px solid var(--line-gold);text-decoration:none}
.tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.tabs button{font-family:'Marcellus SC','Marcellus',serif;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:20px;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);cursor:pointer}
.tabs button.on{background:var(--espresso);color:var(--gold-soft);border-color:var(--espresso)}
.mday{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line-gold);font-size:.9rem}
.mday:last-child{border-bottom:none}
.mday .md-d{font-family:'Cormorant Garamond',serif;font-size:1.06rem;color:var(--espresso)}
.mday .md-n{color:var(--muted-2);font-size:.8rem}
.mday .md-a{display:flex;gap:10px;flex:0 0 auto}
.mday .md-a a{font-size:.76rem;color:var(--saffron-dark);text-decoration:none;border-bottom:1px solid var(--line-gold);white-space:nowrap}
@media(max-width:760px){.pan-grid{grid-template-columns:1fr}.pan-el{grid-template-columns:1fr 1fr}.mday{flex-wrap:wrap}}
