/* ── SELF-HOSTED LATIN FACES (fetch_fonts.py — generated) ──────── */
@font-face{font-family:'Fraunces';font-style:italic;font-weight:300 600;font-display:swap;src:url('/fonts/fraunces-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:300 600;font-display:swap;src:url('/fonts/fraunces-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/fraunces-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/fraunces-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400 700;font-display:swap;src:url('/fonts/newsreader-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400 700;font-display:swap;src:url('/fonts/newsreader-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/newsreader-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/newsreader-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/jetbrains-mono-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/jetbrains-mono-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* ── end self-hosted latin faces ──────────────────────────────── */

/* ═══════════════════════════════════════════════════════════════════
   LIFE KUNDALI · site.css · redesign 18 Sep 2026
   One token set. The legacy component rules at the end read the OLD names
   (--paper, --page, --ink, --gold …), so retuning these values re-skins the
   calculators, the order pages, the library and the 965 panchang pages
   without touching their markup. New chrome and pages use lk-* classes.
   ═══════════════════════════════════════════════════════════════════ */
/* Self-hosted Devanagari — the two faces the live site already ships in /fonts/ (tests/test_selfhosted_fonts.py). */
@font-face{font-family:'Tiro Devanagari Hindi';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/tiro-devanagari-hindi-400.woff2') format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
@font-face{font-family:'Noto Serif Devanagari';font-style:normal;font-weight:400 600;font-display:swap;src:url('/fonts/noto-serif-devanagari-400-500-600.woff2') format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}
:root{
  /* paper world */
  --paper:#FBF8F1; --paper-2:#F4EEE2; --paper-3:#EAE1CF; --cream:#FBF8F1; --page:#F4EEE2; --aside:#F1EBDD; --card:#FFFFFF;
  /* ink */
  --ink:#1B1611; --ink-2:#4E463C; --ink-3:#7C7264; --soft:#4E463C; --muted:#7C7264;
  --rule:#E3DAC8; --line:#E3DAC8;
  /* the 1% */
  --maroon:#6B1A26; --maroon-2:#8A2532; --maroon-d:#4A1119;
  --gold:#B8912F; --gold-l:#E1C271; --gold-2:#E1C271; --gold-d:#8A6A24; --gold-dim:#8A6A24; --gold-tint:#F1E7CB; --gold-h:rgba(184,145,47,.34);
  --green:#2E6B45; --ok:#2E6B45; --warn:#9A6A12;
  /* sky world */
  --night:#0A0F1F; --night2:#1C2440; --dusk:#161D33; --dusk-2:#232C48; --sky-rule:#1B2440; --dusk-1:#4A3F4A;
  --star:#F2EFE4; --starline:#8FA3D8; --moon:#D9DDE7; --moon-2:#9BA3B8;
  --line-sky:rgba(217,221,231,.14);
  /* type */
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --display:"Fraunces","Newsreader",Georgia,serif;
  --deva:"Tiro Devanagari Hindi","Noto Serif Devanagari","Mangal",serif;
  --mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,Menlo,monospace;
  /* space, radii, shadow */
  --s1:8px; --s2:14px; --s3:22px; --s4:36px; --s5:58px; --s6:94px;
  --r-s:9px; --r-m:16px; --r-pill:999px; --r:14px;
  --e1:0 1px 2px rgba(27,22,17,.05),0 4px 14px rgba(27,22,17,.06);
  --e2:0 2px 6px rgba(27,22,17,.06),0 14px 38px rgba(27,22,17,.10);
  --h-sec:clamp(1.75rem,3.6vw,2.4rem); --measure:64ch;
  --nav-h:64px; --daylight:.5;
  --wrap:1180px; --gutter:clamp(16px,4vw,48px);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,5.4vw,4.4rem);font-variation-settings:"opsz" 144}
h2{font-size:clamp(1.9rem,3.6vw,3rem);font-variation-settings:"opsz" 96}
h3{font-size:clamp(1.25rem,1.8vw,1.55rem);font-variation-settings:"opsz" 48}
p{margin:0}
.hi,.dev{font-family:var(--deva);font-weight:400}
.lk-mono{font-family:var(--mono);font-size:.82em;letter-spacing:0;font-variant-numeric:tabular-nums}
.lk-eyebrow{font-family:var(--serif);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dim)}
.lk-sky .lk-eyebrow{color:var(--gold)}
.lk-eyebrow .hi{text-transform:none;letter-spacing:0;font-size:1.05rem;margin-right:.6em}
.lk-wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.lk-measure{max-width:62ch}
.lk-lede{font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.5;color:var(--ink-2)}
.lk-sky .lk-lede{color:var(--moon)}
.lk-sky{background:var(--night);color:var(--moon)}
.lk-sky h1,.lk-sky h2,.lk-sky h3{color:#fff}
.lk-paper{background:var(--paper);color:var(--ink)}
.lk-paper-2{background:var(--paper-2)}
section{padding-block:clamp(56px,8vw,112px)}
.lk-sub{display:flex;gap:.6em;align-items:baseline;flex-wrap:wrap;margin-top:.5rem}

/* buttons */
.lk-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:.95em 1.5em;border-radius:999px;border:1px solid transparent;font:600 .95rem/1 var(--serif);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;white-space:nowrap}
.lk-btn:focus-visible{outline:3px solid var(--gold-2);outline-offset:3px}
.lk-btn:hover{transform:translateY(-1px)}
.lk-btn-gold{background:var(--gold);color:#1a1204;border-color:var(--gold);box-shadow:0 8px 30px -12px rgba(201,162,74,.8)}
.lk-btn-gold:hover{background:var(--gold-2)}
.lk-btn-maroon{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.lk-btn-maroon:hover{background:var(--maroon-2)}
.lk-btn-ghost{background:transparent;color:inherit;border-color:currentColor;opacity:.85}
.lk-btn-ghost:hover{opacity:1}
.lk-btn-lg{padding:1.15em 1.9em;font-size:1.02rem}
.lk-small{font-size:.86rem;color:var(--ink-3)}
.lk-sky .lk-small{color:var(--moon-2)}

/* nav */
.lk-nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(10,15,31,.86);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line-sky);color:var(--moon)}
.lk-nav .lk-wrap{display:flex;align-items:center;gap:1.5rem;min-height:64px}
.lk-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff;font-family:var(--display);font-size:1.15rem;letter-spacing:.02em}
.lk-brand .hi{color:var(--gold);font-size:1.15rem}
.lk-brand svg{width:30px;height:30px}
.lk-nav ul{list-style:none;margin:0 0 0 auto;padding:0;display:flex;gap:1.4rem;align-items:center}
.lk-nav ul a{text-decoration:none;font-size:.9rem;letter-spacing:.04em;color:var(--moon);opacity:.85}
.lk-nav ul a:hover{opacity:1;color:#fff}
.lk-nav .lk-btn{padding:.7em 1.15em;font-size:.85rem}
.lk-nav .lk-lang{font-family:var(--deva);font-size:1rem;border:1px solid var(--line-sky);border-radius:6px;padding:.25em .5em}
.lk-nav .lk-menu{display:none;margin-left:auto;background:none;border:1px solid var(--line-sky);color:var(--moon);border-radius:8px;padding:.45em .7em;font:inherit}
@media (max-width:860px){
  .lk-nav ul{display:none;position:absolute;left:0;right:0;top:100%;background:var(--night);flex-direction:column;align-items:stretch;padding:1rem var(--gutter) 1.4rem;gap:1rem;border-bottom:1px solid var(--line-sky)}
  .lk-nav ul.open{display:flex}
  .lk-nav .lk-menu{display:block}
  .lk-nav .lk-btn{align-self:flex-start}
}

/* horizon between worlds */
.lk-horizon{height:clamp(90px,12vh,170px);background:linear-gradient(180deg,var(--night) 0%,#2B2B45 38%,#8C7A62 70%,var(--paper) 100%);position:relative}
.lk-horizon::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.6}
.lk-horizon.lk-up{background:linear-gradient(0deg,var(--night) 0%,#2B2B45 38%,#8C7A62 70%,var(--paper) 100%)}
.lk-horizon.lk-up::after{bottom:auto;top:0}

/* folio — a page from the book */
.lk-folio{position:relative;background:linear-gradient(175deg,#FBF7EE,var(--paper-2));border:1px solid var(--line);border-radius:6px;padding:clamp(1.4rem,3vw,2.4rem);box-shadow:0 30px 60px -40px rgba(28,23,18,.45)}
.lk-folio::before{content:"";position:absolute;inset:9px;border:1px solid rgba(107,26,38,.18);border-radius:3px;pointer-events:none}
.lk-stack{position:relative}
.lk-stack::before,.lk-stack::after{content:"";position:absolute;inset:0;background:var(--paper-2);border:1px solid var(--line);border-radius:6px;z-index:-1}
.lk-stack::before{transform:translate(8px,8px);opacity:.55}
.lk-stack::after{transform:translate(4px,4px);opacity:.8}
.lk-rubric{color:var(--maroon);font-family:var(--display);font-variation-settings:"opsz" 48}
.lk-rule{height:1px;background:var(--line);margin-block:1.2rem}

/* grid helpers */
.lk-grid{display:grid;gap:clamp(1rem,2.4vw,2rem)}
.lk-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lk-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lk-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.lk-g3,.lk-g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.lk-g2,.lk-g3,.lk-g4{grid-template-columns:minmax(0,1fr)}}

/* form */
.lk-field{display:flex;flex-direction:column;gap:.35rem}
.lk-field label{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.lk-field input,.lk-field select{font:inherit;font-size:1rem;padding:.75em .9em;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%}
.lk-field input:focus,.lk-field select:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.lk-field .lk-hint{font-size:.82rem;color:var(--ink-3)}

/* footer */
footer{background:var(--night);color:var(--moon-2);padding-block:56px 40px;border-top:1px solid var(--line-sky)}
footer .lk-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
@media (max-width:820px){footer .lk-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:480px){footer .lk-cols{grid-template-columns:minmax(0,1fr)}}
footer h4{font-family:var(--serif);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
footer a{color:var(--moon);text-decoration:none;font-size:.95rem}
footer a:hover{color:#fff}
footer .lk-fine{margin-top:2.6rem;padding-top:1.2rem;border-top:1px solid var(--line-sky);display:flex;flex-wrap:wrap;gap:1rem 2rem;font-size:.85rem}

/* misc */
.lk-chips{display:flex;flex-wrap:wrap;gap:.6rem}
.lk-chip{border:1px solid var(--line);border-radius:999px;padding:.35em .85em;font-size:.84rem;color:var(--ink-2);background:rgba(255,255,255,.4)}
.lk-sky .lk-chip{border-color:var(--line-sky);color:var(--moon);background:rgba(255,255,255,.04)}
.lk-starfield{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.lk-faq details{border-top:1px solid var(--line);padding-block:1rem}
.lk-faq details:last-child{border-bottom:1px solid var(--line)}
.lk-faq summary{cursor:pointer;font-family:var(--display);font-size:1.15rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.lk-faq summary::-webkit-details-marker{display:none}
.lk-faq summary::after{content:"+";color:var(--maroon);font-size:1.3rem;line-height:1}
.lk-faq details[open] summary::after{content:"–"}
.lk-faq details p{margin-top:.6rem;color:var(--ink-2);max-width:65ch}
.lk-skip{position:absolute;left:-999px}
.lk-skip:focus{left:8px;top:8px;background:#fff;padding:.5em 1em;z-index:99}


/* ═══════ legacy components (kept from the 2026-08 site.css; read the tokens above) ═══════ */
.dev,.hi{font-family:'Tiro Devanagari Hindi','Noto Serif Devanagari',serif}
.mono{font-family:'IBM Plex Mono',monospace}
.wrap{max-width:960px;margin:0 auto;padding:0 22px 72px}
#sky{position:absolute;inset:0;width:100%;height:100%;display:block}
#herostars{position:absolute;inset:0;width:100%;height:100%;display:block}
.section-head h1, .section-head h2, .section-head .sub, .section-head p,
.creed-lead, .numbers b, .numbers div{color:var(--star,#f2efe4)}
.section-head .sub, .section-head p{color:rgba(242,239,228,.72)}
.section-head h1 em, .section-head h1 .dev,
.section-head h2 em, .section-head h2 .dev{color:var(--gold-l,#e2c56e)}
.card, .paper-sheet{color:var(--ink,#15110b)}
.card h3, .card h4{color:var(--maroon,#5b1620)}
.mysky{background:var(--paper-2,#f7f2e7);border-top:1px solid var(--rule,#e7e0cf);
  border-bottom:1px solid var(--rule,#e7e0cf);padding:clamp(38px,6vw,72px) 0}
.mysky-in{max-width:1200px;margin:0 auto;padding:0 24px}
.mysky-h{font-family:'Fraunces','Noto Serif Devanagari',Georgia,serif;
  font-weight:300;font-size:var(--h-sec);margin:0 0 10px;
  color:var(--maroon,#5b1620)}
.mysky-h .dev{color:var(--gold-d,#8a6a24)}
.mysky-credit{margin:14px 0 0;font-size:.82rem;color:var(--ink-3,#8e8676)}
.mysky-credit a{color:var(--maroon,#5b1620)}
.mysky-lede{margin:0 0 22px;max-width:62ch;color:var(--ink-2,#6b6152);
  font-size:clamp(.95rem,1.3vw,1.04rem)}
.mysky-frame{box-shadow:var(--e2);position:relative;aspect-ratio:16/9;min-height:300px;
  border:1px solid var(--rule,#e7e0cf);border-bottom:0;
  border-radius:var(--r-m) 14px 0 0;overflow:hidden;
  background:var(--night,#080b15);
  box-shadow:0 14px 40px rgba(33,28,20,.14)}
.mysky .sky-rail{background:var(--night,#080b15);
  position:static;margin-top:0;border-radius:0 0 14px 14px;
  padding:13px 18px calc(13px + var(--pin,0px));
  border:1px solid var(--rule,#e7e0cf);border-top:0}
@media(max-width:640px){.mysky-frame{aspect-ratio:4/5}}
.sky-content .dev-big{display:block;font-size:clamp(3.4rem,10vw,5.6rem);color:var(--gold-l);line-height:1.15;
  text-shadow:0 0 26px rgba(201,165,63,.5),0 0 90px rgba(201,165,63,.25)}
.sky-content h1{color:var(--moon);font-size:var(--h-sec);letter-spacing:.3em;font-weight:300;margin-top:8px;text-transform:uppercase}
.sky-content .tagline{color:var(--moon-2);font-style:italic;margin-top:16px;font-size:clamp(1rem,2.6vw,1.16rem)}
.sky-content .tagline .hi{color:var(--gold-l);font-style:normal}
.sky-sub{color:#8d93b3;font-size:.94rem;margin-top:10px}
.sky-cta{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.sky-price{flex-basis:100%;color:rgba(255,255,255,.78);font-size:.95rem;margin-top:-4px}
.sky-content .sky-price{text-align:left}
.sky-now b.g{color:var(--gold-l);font-weight:600}
.sky-now .dev{color:var(--gold-l)}

.night-band{background:var(--night);color:var(--moon-2);padding:8px 20px 52px}
.numbers{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 44px;max-width:960px;margin:0 auto;font-size:.82rem;letter-spacing:.06em}
.numbers b{font-family:'Fraunces','Noto Serif Devanagari',serif;color:var(--moon);font-size:1.5rem;display:block;text-align:center;font-style:normal;font-weight:400}
.numbers div{text-align:center;min-width:108px}
.btn{display:inline-block;padding:14px 28px;border-radius:var(--r-s);text-decoration:none;
  font-size:.84rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--maroon);
  transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s}
.btn.primary{background:var(--maroon);color:var(--cream)}
.btn.primary:hover{background:var(--maroon-d);transform:translateY(-1px);box-shadow:0 14px 30px rgba(0,0,0,.18)}
.btn.ghost{color:var(--maroon);background:transparent}
.btn.ghost:hover{background:var(--maroon);color:var(--cream)}
.btn.gold{background:transparent;border-color:var(--gold);color:var(--maroon)}
.btn.gold:hover{background:var(--gold);color:var(--night)}
.btn.star{background:var(--gold);border-color:var(--gold);color:var(--night);font-weight:500;box-shadow:0 0 22px rgba(201,165,63,.35)}
.btn.outline-star{color:var(--moon);border-color:rgba(233,228,212,.5);background:rgba(255,255,255,.04)}
.btn.outline-star:hover{border-color:var(--gold-l);color:var(--gold-l)}
.card{box-shadow:var(--e1);padding:var(--s4);border-radius:var(--r-m);background:var(--cream);border:1px solid var(--line);
      border-radius:var(--r-s);padding:34px 36px;margin:26px 0;box-shadow:0 1px 0 var(--gold-h)}
.card.honest{border-top:1px solid var(--maroon)}
.section-head{margin-bottom:var(--s4);text-align:center;margin:64px 0 10px}
.section-head .dev{color:var(--maroon);font-size:1.5rem;display:block}
.section-head h1, .section-head h2{border:none;font-size:2.1rem;font-weight:300;color:var(--ink);margin-bottom:4px}
.section-head p{color:var(--soft);font-style:italic}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:var(--s3);margin:var(--s4) 0}
.tile{background:var(--paper,#fff);padding:var(--s4);text-decoration:none;
  color:var(--ink);display:flex;flex-direction:column;
  border:1px solid var(--rule,#e8e2d6);border-radius:var(--r-m);
  box-shadow:var(--e1);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.tile:hover{transform:translateY(-3px);box-shadow:var(--e2);
  border-color:var(--gold-h)}
.tile .hi{color:var(--maroon);font-size:1rem}
.tile h3{color:var(--ink);font-size:1.15rem;font-weight:500;margin:4px 0 10px}
.tile p{color:var(--soft);font-size:.92rem;flex:1;line-height:1.7}
.tile .go{color:var(--maroon);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-top:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:var(--s3);margin-top:var(--s3)}
.prod .hi{color:var(--maroon);font-size:.9rem;margin-bottom:8px}
.prod .pr{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:1.2rem;color:var(--ink);margin:10px 0 12px}
.prod .pr small{color:var(--soft);font-size:.72rem;font-family:'Newsreader','Noto Serif Devanagari',serif}
.badge{display:inline-block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--green);border:1px solid var(--green);border-radius:var(--r-s);padding:3px 10px;margin-bottom:10px;align-self:flex-start;background:transparent}
.badge.gray{color:var(--soft);border-color:var(--soft)}
.freebies{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.free{background:var(--cream);border:1px solid var(--line);border-top:1px solid var(--gold);border-radius:var(--r-s);padding:var(--s4) var(--s3)}
.free h3{color:var(--ink);font-size:1.02rem;font-weight:500;margin-bottom:8px}
.free p{font-size:.9rem;color:var(--soft);line-height:1.7}
.steps{counter-reset:s;list-style:none;margin-left:0}
.steps li{counter-increment:s;position:relative;padding-left:50px;margin:18px 0}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;
  border-radius:50%;border:1px solid var(--gold);color:var(--maroon);background:transparent;
  font-family:'Fraunces','Noto Serif Devanagari',serif;display:flex;align-items:center;justify-content:center}
.price-line{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:1.6rem;color:var(--ink);text-align:center;margin:8px 0}
.contact-line{text-align:center;font-size:1.05rem;margin:4px 0}
.fineprint{font-size:.85rem;color:var(--soft)}
.q{font-weight:600;margin-top:16px}
.samplebox .shots{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:18px;margin:20px 0 22px;align-items:start}
.samplebox .shots.one{grid-template-columns:minmax(0,380px);justify-content:center}
.samplebox .shots a{display:block;border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden;
  background:#fff;box-shadow:0 2px 10px rgba(27,23,16,.1);
  transition:transform .16s ease,box-shadow .16s ease}
.samplebox .shots a:hover,.samplebox .shots a:focus-visible{transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(27,23,16,.2)}
.samplebox .shots img{display:block;width:100%;height:auto}
@media(prefers-reduced-motion:reduce){.samplebox .shots a{transition:none}
.samplebox .shots a:hover,.samplebox .shots a:focus-visible{transform:none}}
.partner{background:var(--night);color:var(--moon);border:none;border-top:1px solid var(--gold-h)}
.partner h2{color:var(--moon);border-color:rgba(233,228,212,.16)}
.partner p{color:var(--moon-2)}
.partner a{color:var(--gold-l)}
.svc-hero{background:radial-gradient(900px 500px at 75% -10%,var(--night2) 0%,transparent 60%),var(--night);
  color:var(--moon);padding:72px 22px 56px;text-align:center;border-bottom:1px solid var(--gold-h)}
.svc-hero .dev{display:block;font-size:2rem;color:var(--moon);opacity:.92}
.svc-hero h1{font-size:2.7rem;font-weight:300;letter-spacing:-.01em;line-height:1.12;margin-top:8px}
.svc-hero h1 em{font-style:italic;color:var(--gold-l)}
.svc-hero .sub{color:var(--moon-2);font-style:italic;margin-top:14px;max-width:620px;margin-left:auto;margin-right:auto;font-size:1.05rem;line-height:1.75}
.svc-hero .pr{font-family:'Fraunces','Noto Serif Devanagari',serif;margin-top:20px;font-size:1.4rem;color:var(--gold-l)}
.svc-hero .pr small{color:var(--moon-2);font-size:.82rem;font-family:'Newsreader','Noto Serif Devanagari',serif}
.svc-hero .badge{margin:16px auto 0;display:inline-block;color:var(--gold-l);border-color:var(--gold-h)}
.crumb{max-width:960px;margin:16px auto 0;padding:0 22px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.crumb a{color:var(--soft)}
.chapters{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:0;margin-top:10px;
  border-top:1px solid var(--line);border-left:1px solid var(--line)}
.chapters div{background:var(--cream);border:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  border-radius:0;padding:18px 18px 20px;font-size:.92rem;line-height:1.65}
.chapters b{color:var(--ink);font-family:'Fraunces','Noto Serif Devanagari',serif;font-weight:500}
.chapters .hi{color:var(--maroon);font-size:.95rem;display:block;margin-bottom:4px}
.quotebig{text-align:center;font-family:'Fraunces','Noto Serif Devanagari',serif;font-weight:300;font-size:1.6rem;font-style:italic;color:var(--ink);
  max-width:640px;margin:56px auto;padding:0 20px;line-height:1.5}
.quotebig .hi{color:var(--maroon);font-size:1.1rem;font-style:normal}
@media(max-width:560px){.card{padding:24px 20px}
.sky-cta .btn{width:100%;max-width:320px}
.svc-hero h1{font-size:1.9rem}}
.sky-content .hero-mark{display:block;margin:0 auto 6px;width:min(190px,32vw);
  height:auto;filter:drop-shadow(0 0 34px rgba(246,223,164,.20))}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px 24px;margin-top:10px}
.field{display:flex;flex-direction:column;gap:8px}
.field.wide{grid-column:1/-1}
.field label{font-size:.74rem;color:var(--soft);letter-spacing:.16em;text-transform:uppercase}
.field input,.field textarea{font-family:'Newsreader',Georgia,'Noto Serif Devanagari',serif;font-size:16px;color:var(--ink);
  background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;
  padding:6px 2px 10px;width:100%;transition:border-color .18s}
.field select{font-family:'Newsreader',Georgia,'Noto Serif Devanagari',serif;font-size:16px;color:var(--ink);
  background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;
  padding:6px 2px 10px;width:100%}
.field input::placeholder,.field textarea::placeholder{color:#b3a88d}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--gold);box-shadow:none}
.field .hint{font-size:.8rem;color:var(--soft);line-height:1.55}
.field.bad input{border-bottom-color:var(--maroon);background:transparent}
.check{display:flex;gap:11px;align-items:flex-start;font-size:.88rem;color:var(--soft);grid-column:1/-1;line-height:1.55}
.check input{width:15px;height:15px;flex:none;margin-top:4px;accent-color:var(--maroon)}
.btn.big{width:100%;max-width:440px;text-align:center;padding:18px 28px;font-size:.88rem;
  letter-spacing:.22em;cursor:pointer;font-family:'Newsreader','Noto Serif Devanagari',serif}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn.tiny{padding:7px 14px;font-size:.72rem;letter-spacing:.12em;border-radius:var(--r-s)}
.working{display:none;background:var(--night);color:#cfd3e8;border-radius:var(--r-s);
  border:1px solid var(--gold-h);padding:24px 26px;margin-top:18px}
.working.on{display:block}
.working h3{color:var(--gold-l);font-size:.9rem;font-weight:400;letter-spacing:.22em;
  text-transform:uppercase;margin-bottom:14px;font-family:'Newsreader','Noto Serif Devanagari',serif}
.stages{list-style:none;margin:0;font-size:.94rem}
.stages li{padding:5px 0 5px 26px;position:relative;color:#6f769a}
.stages li::before{content:"·";position:absolute;left:6px;color:#4a5178}
.stages li.now{color:var(--moon)}
.stages li.now::before{content:"▸";color:var(--gold)}
.stages li.done{color:#9aa2c4}
.stages li.done::before{content:"✓";color:var(--green);font-size:.85rem}
.elapsed{margin-top:14px;font-size:.8rem;color:#7f86ab;font-variant-numeric:tabular-nums;
  font-family:'IBM Plex Mono',monospace}
.elapsed b{color:var(--gold-l);font-weight:normal}
.mala{display:flex;flex-wrap:wrap;gap:4px;max-width:260px;margin:15px 0 2px}
.mala i{width:7px;height:7px;border-radius:50%;background:#232849;display:block;
  transition:background .45s ease, box-shadow .45s ease}
.mala i.lit{box-shadow:0 0 5px rgba(226,197,110,.28)}
.mala i.now{box-shadow:0 0 9px rgba(226,197,110,.85);transform:scale(1.25)}
.malabel{font-size:.83rem;color:#9aa2c4;margin-top:9px;min-height:1.2em}
.malabel b{color:var(--gold-l);font-weight:normal}
.mandala{display:grid;grid-template-columns:repeat(9,1fr);gap:3px;width:207px;margin:15px 0 2px}
.mandala i{aspect-ratio:1;display:block;background:#232849;border-radius:1px;
  transition:background .6s ease, box-shadow .6s ease}
.mandala i.lit{background:#46527a}
.mandala i.brahma{background:#2c2740}
.mandala i.brahma.lit{background:var(--gold)}
.mandala i.now{box-shadow:0 0 8px rgba(226,197,110,.8)}
.result{display:none;margin-top:18px}
.result.on{display:block}
.result .score{font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:2.8rem;color:var(--maroon);line-height:1.1}
.result .verdict{font-size:1.05rem;color:var(--soft);font-style:italic;margin-bottom:12px}
.msg{display:none;border-radius:var(--r-s);padding:14px 18px;margin-top:16px;font-size:.94rem;line-height:1.6}
.msg.on{display:block}
.msg.err{background:#fdf6f4;border:1px solid #e0c5bd;border-left:2px solid var(--maroon);color:#5e2129}
.msg.note{background:var(--cream);border:1px solid var(--line);border-left:2px solid var(--gold);color:var(--soft)}
.editor{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,1fr);gap:18px;align-items:start}
@media(max-width:820px){.editor{grid-template-columns:minmax(0,1fr)}}
.plan{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden;position:relative}
.plan svg{display:block;width:100%;height:auto;touch-action:none;-webkit-user-select:none;user-select:none}
.rooms{display:flex;flex-direction:column;gap:8px;max-height:430px;overflow-y:auto;padding-right:4px}
.dial{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:4px}
.dial .n8{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;flex:1;min-width:210px}
.dial .n8 button{font-family:inherit;font-size:.78rem;letter-spacing:.04em;padding:8px 0;border:1px solid var(--line);
  background:var(--cream);color:var(--soft);border-radius:var(--r-s);cursor:pointer}
.dial .n8 button.on{background:var(--maroon);border-color:var(--maroon);color:var(--cream)}
.dial input[type=range]{flex:1;min-width:170px;accent-color:var(--maroon)}
.dial .deg{font-variant-numeric:tabular-nums;font-family:'IBM Plex Mono',monospace;color:var(--ink);min-width:52px;font-size:.9rem}
.sky-hero{display:block;position:relative;min-height:100svh;overflow:hidden;
  --daylight:0}
.sky-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  --a:calc(.70 + .16 * var(--daylight));
  --b:calc(.46 + .24 * var(--daylight));
  --c:calc(.13 + .26 * var(--daylight));
  --d:calc(.58 + .14 * var(--daylight));
  background:linear-gradient(102deg,rgba(5,7,18,var(--a)) 0%,rgba(5,7,18,var(--b)) 27%,
                             rgba(5,7,18,var(--c)) 53%,rgba(5,7,18,0) 75%),
             linear-gradient(0deg,rgba(5,7,18,var(--d)) 0%,rgba(5,7,18,0) 32%)}
.sky-content{position:absolute;z-index:2;text-align:left;
  left:max(24px,calc((100vw - 1200px) / 2 + 24px));right:auto;bottom:clamp(112px,17vh,168px);max-width:min(620px,54vw)}
.sky-content .kicker{display:block;font-size:.74rem;letter-spacing:.34em;
  text-transform:uppercase;color:#8e7a53;margin:0 0 18px}
.sky-content .kicker .dev{font-family:'Tiro Devanagari Hindi','Noto Serif Devanagari',serif;
  letter-spacing:normal;font-size:.96rem;color:var(--gold-l);vertical-align:-.06em}
.sky-content h1.sky-claim{font-family:'Fraunces','Noto Serif Devanagari',serif;font-weight:300;
  color:var(--moon);font-size:clamp(2.1rem,5.1vw,3.6rem);line-height:1.08;
  letter-spacing:-.014em;margin:0 0 18px;text-transform:none}
.sky-content h1.sky-claim em{font-style:italic;color:var(--gold-l)}
.sky-claim .nb{white-space:nowrap}
.city-pick{font:inherit;color:var(--gold-l);background:none;border:0;padding:0 2px;
  cursor:pointer;border-bottom:1px dashed rgba(212,175,110,.5);line-height:1.05}
.city-pick:hover,.city-pick:focus{border-bottom-style:solid;outline:none}
.city-pick::after{content:'\00a0▾';font-size:.62em;vertical-align:.18em;opacity:.75}
#city-sel{position:absolute;left:0;bottom:100%;margin-bottom:10px;z-index:6;
  max-height:46vh;font:inherit;font-size:.95rem;padding:9px 12px;border-radius:9px;
  background:#0d1024;color:var(--moon);border:1px solid rgba(212,175,110,.42)}
#city-sel[hidden]{display:none}
.skypick{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;
  margin:0 0 18px;padding:14px 18px;border-radius:14px;
  background:rgba(10,13,32,.045);border:1px solid rgba(138,106,36,.22)}
.skypick .nb{position:relative;display:inline-block}
.skypick-label{font-family:'Fraunces','Noto Serif Devanagari',Georgia,serif;
  font-size:1.06rem;font-weight:600;color:var(--ink,#241f18);letter-spacing:-.01em}
.skypick-btn.city-pick{font-size:1.24rem;font-weight:600;line-height:1.15;
  color:var(--maroon,#6d1f2b);padding:6px 14px;border-radius:10px;
  border:1px solid rgba(138,106,36,.5);border-bottom-style:solid;
  background:rgba(255,255,255,.55)}
.skypick-btn.city-pick:hover,.skypick-btn.city-pick:focus{
  border-color:var(--gold-d,#8a6a24);background:#fff}
.skypick-btn.city-pick::after{font-size:.55em;vertical-align:.22em}
.skypick-hint{flex:1 1 16ch;min-width:16ch;font-size:.82rem;line-height:1.5;
  color:var(--ink-2,#6b6152)}
@media (max-width:560px){.skypick{gap:8px 12px;padding:12px 14px}
.skypick-hint{flex-basis:100%}}
.sky-content .sky-sub{color:#a2aacb;font-size:clamp(1rem,1.5vw,1.1rem);
  line-height:1.6;margin:0 0 26px;max-width:44ch}
.sky-content .sky-cta{justify-content:flex-start;margin:0}
@media(max-width:860px){.sky-hero{display:flex;align-items:flex-end;min-height:100svh}
.sky-content{position:static;left:auto;right:auto;bottom:auto;
    max-width:none;width:100%;
    
    padding:26vh 20px calc(var(--pin,0px) + var(--rail,76px) + 26px)}
.sky-scrim{background:linear-gradient(0deg,
    rgba(5,7,18,calc(.90 + .08 * var(--daylight))) 0%,
    rgba(5,7,18,calc(.80 + .14 * var(--daylight))) 40%,
    rgba(5,7,18,calc(.36 + .28 * var(--daylight))) 68%,rgba(5,7,18,0) 90%)}}
@media(max-width:620px){.sky-content .sky-cta .btn{width:100%;max-width:none}
.sky-content h1.sky-claim{font-size:var(--h-sec)}}
.monbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.monbar button{font:inherit;font-size:1.15rem;line-height:1;width:44px;height:44px;
  border:1px solid var(--gold);background:#fff;color:var(--maroon);border-radius:var(--r-s);
  cursor:pointer}
.monbar button:hover{background:#fdf6e3}
.monbar select{font:inherit;font-size:15.7px;height:44px;padding:0 12px;
  border:1px solid var(--line);border-radius:var(--r-s);background:#fff;color:var(--ink)}
.monbar #mcity{margin-left:auto;border-color:var(--gold);color:var(--maroon);
  font-weight:600;max-width:15em}
.monbar #mmsg{color:#8a3b2a;font-size:.9rem;flex-basis:100%}
@media(max-width:620px){.monbar #mcity{margin-left:0;flex:1 1 100%;max-width:none}}
.monload{color:var(--muted);padding:40px 0;text-align:center}
.moncal{border:1.5px solid var(--gold);border-radius:var(--r-m);overflow:hidden;
  background:#fffdf7;box-shadow:0 1px 0 #efe6cf}
.monhead{padding:17px 20px 14px;border-bottom:1.5px solid var(--gold);
  background:linear-gradient(#fdf6e3,#faf3e0);text-align:center}
.montitle{font-size:1.62rem;color:var(--maroon);letter-spacing:.01em}
.monsub{color:#6b4a12;font-size:.96rem;margin-top:5px}
table.montab{width:100%;border-collapse:collapse;table-layout:fixed}
table.montab th{padding:10px 4px;border-bottom:1px solid var(--gold);
  background:#faf3e0;font-weight:600}
table.montab th .en{display:block;font-size:.68rem;letter-spacing:.09em;
  text-transform:uppercase;color:#8c7a55}
table.montab th .hi{display:block;font-size:.95rem;color:var(--maroon);margin-top:1px}
table.montab td{border:1px solid #e8dfc6;vertical-align:top;height:118px;
  padding:7px 8px;overflow:hidden}
table.montab td.empty{background:#f7f2e6}
td.d .num{display:flex;align-items:center;justify-content:space-between;
  font-size:1.3rem;line-height:1.1;color:var(--ink)}
td.d .num .mn{flex:0 0 auto}
td.d .tit{display:block;font-size:.86rem;color:var(--maroon);margin-top:3px;
  line-height:1.28}
td.d .nak{display:block;font-size:.76rem;color:#8c7a55;line-height:1.28}
td.d.shukla{background:#fffdf7}
td.d.krishna{background:#efe8d6}
td.d.feast{background:#fdf3dc}
td.d.moonday{background:#f7e9c9;box-shadow:inset 0 0 0 1px #dcc287}
td.d.eclday{background:#f4e0d7;box-shadow:inset 0 0 0 1px #d9b6a8}
td.d.istoday{outline:3px solid var(--maroon);outline-offset:-3px}
td.d .mrail{display:flex;flex-direction:column;align-items:stretch;
  gap:3px;margin-top:5px}
td.d .mmk{display:block;font-size:.68rem;line-height:1.3;text-align:center;
  padding:1px 5px;border-radius:var(--r-s);background:#efe0b8;color:#6b4a12;
  border:1px solid #e3cf9a}
td.d .mmk.ecl{background:#efd6cc;color:#8a3b2a;border-color:#d9b6a8}
.monkey{padding:14px 20px 16px;border-top:1.5px solid var(--gold);
  color:#7c6a4a;font-size:.86rem;background:#faf3e0}
.monkey .mnkey{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0 0 11px}
.monkey .mnkey i{display:inline-flex;align-items:center;gap:6px;font-style:normal}
.monkey .mnkey b{font-weight:400;font-size:.82rem;color:#6b4a12}
.monkey .sw{display:inline-block;width:13px;height:13px;border:1px solid #d9cda8;
  vertical-align:-2px;margin:0 6px 0 0}
.monkey .sw.krishna{margin-left:18px;background:#efe8d6}
.monkey .sw.shukla{background:#fffdf7}
.monkey .note{display:block;margin-top:9px;line-height:1.6}
@media(max-width:620px){table.montab td{height:88px;padding:4px 5px}
td.d .num{font-size:1.05rem}
td.d .num .mn{width:14px;height:14px}
td.d .tit{font-size:.68rem}
td.d .nak{display:none}
td.d .mrail{gap:2px;margin-top:3px}
td.d .mmk{font-size:.58rem;padding:0 3px}
.montitle{font-size:1.2rem}
.monsub{font-size:.82rem}}
.moncal{box-shadow:0 2px 0 #e6d9b6, 0 14px 34px -20px rgba(91,22,32,.30)}
.monhead{background:linear-gradient(#fbf2dc,#f6ecd2)}
.homecal{background:var(--cream,#fdf9ef);color:#2a2118;
  padding:clamp(44px,6vw,78px) 0 clamp(48px,7vw,86px)}
.homecal-in{max-width:1200px;margin:0 auto;padding:0 24px}
.homecal-head{margin:0 0 22px;max-width:62ch}
.homecal-head h2{margin:0 0 8px;font-family:'Fraunces','Noto Serif Devanagari',serif;font-weight:300;
  font-size:var(--h-sec);line-height:1.15;color:var(--maroon,#5b1620)}
.homecal-head h2 .dev{color:var(--gold-d,#8a6a24)}
.homecal-head p{margin:0;color:#6b5c48;font-size:clamp(.95rem,1.3vw,1.04rem);
  line-height:1.6}
.homecal-foot{margin:20px 0 0}
.homecal-foot a{color:var(--maroon,#5b1620);font-size:.95rem;
  border-bottom:1px solid rgba(91,22,32,.32);text-decoration:none;
  padding-bottom:2px}
.homecal-foot a:hover{border-bottom-color:var(--maroon,#5b1620)}
.monbar .mplace{font:inherit;font-size:15.7px;height:44px;width:auto;
  flex:0 0 auto;white-space:nowrap;
  padding:0 15px;border:1.5px solid var(--gold,#b98a2e);border-radius:var(--r-s);
  background:#fff;color:var(--maroon,#5b1620);font-weight:600;cursor:pointer}
.monbar .mplace::after{content:'\00a0↑';opacity:.55;font-size:.82em}
.monbar .mplace:hover{background:#fdf6e3}
@media(max-width:620px){.monbar .mplace{flex:1 1 100%}}
.homecal-words{max-width:62ch}
@media(min-width:1040px){.homecal-in{display:grid;
    grid-template-columns:minmax(0,1fr) minmax(19em,23em);
    column-gap:clamp(26px,3.2vw,54px);align-items:start}
.homecal-head{grid-column:1;grid-row:1}
.monbar{grid-column:1;grid-row:2}
#moncal{grid-column:1;grid-row:3;min-width:0}
.homecal-foot{grid-column:1}
.homecal-join{grid-column:2;grid-row:1/span 3;align-self:start;
    position:sticky;top:88px}}
@media(max-width:1039px){.homecal-join{margin:22px 0 4px}}
.homecal{background:linear-gradient(180deg,#f3ecdc 0%,#f7f1e4 100%)}
.prose.article{max-width:68ch}
.prose.article h1{font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.14;
  margin:0 0 8px;color:var(--maroon)}
.prose.article h2{font-size:clamp(1.25rem,2.4vw,1.55rem);margin:var(--s5) 0 var(--s2);
  color:var(--maroon)}
.prose.article h3{font-size:1.06rem;margin:var(--s4) 0 var(--s1)}
.prose.article p{margin:0 0 var(--s3);line-height:1.75}
.prose.article li{margin:0 0 var(--s2);line-height:1.7}
.prose.article hr{border:0;border-top:1px solid var(--rule);margin:var(--s5) 0 var(--s3)}
.artmeta{color:var(--ink-3);font-size:.82rem;letter-spacing:.06em;
  text-transform:uppercase;margin:0 0 var(--s4)}
.pull{border-left:3px solid var(--gold);padding:var(--s1) 0 var(--s1) var(--s3);
  margin:var(--s4) 0;font-size:1.1rem;color:var(--ink);font-style:italic}
.artfoot{color:var(--ink-2);font-size:.92rem}
.postlist{list-style:none;padding:0;margin:var(--s4) 0 0;display:grid;gap:var(--s3)}
.postlist .post{background:var(--paper);border:1px solid var(--rule);
  border-radius:var(--r-m);padding:var(--s4);box-shadow:var(--e1);
  transition:transform .16s ease,box-shadow .16s ease}
.postlist .post:hover{transform:translateY(-3px);box-shadow:var(--e2)}
.postlist .post a{text-decoration:none}
.postlist .post h2{margin:0 0 6px;font-size:1.3rem;color:var(--maroon);
  font-family:'Fraunces','Noto Serif Devanagari',Georgia,serif;font-weight:400}
.postlist .post p:last-child{margin:0;color:var(--ink-2)}
.mysky-lede .nb{position:relative;display:inline-block}
.mysky-lede #city-sel{bottom:auto;top:100%;margin:8px 0 0}
.skybox{
  background:
    radial-gradient(ellipse at 24% 0%, rgba(20,27,48,.52) 0%, rgba(11,15,28,.90) 72%),
    url(brand/skyband.svg) center / cover no-repeat,
    var(--night);
}
.subnav{background:var(--night);border-bottom:1px solid var(--sky-rule);
  position:sticky;top:0;z-index:49}
.subnav .in{max-width:1200px;margin:0 auto;padding:0 24px;
  display:flex;align-items:center;gap:22px;overflow-x:auto;
  scrollbar-width:none;-ms-overflow-style:none}
.subnav .in::-webkit-scrollbar{display:none}
.subnav a,.subnav span{
  display:inline-block;padding:11px 1px;white-space:nowrap;
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;border-bottom:2px solid transparent}
.subnav a{color:var(--moon-2);transition:color .16s,border-color .16s}
.subnav a:hover{color:var(--moon);border-bottom-color:var(--gold)}
.subnav a.on{color:var(--gold-l);border-bottom-color:var(--gold)}
.subnav span{color:var(--ink-3);opacity:.62;cursor:default}
.subnav span::after{content:"";display:inline-block}
@media(max-width:740px){.subnav .in{gap:16px;padding:0 16px}
.subnav a,.subnav span{font-size:.72rem}}
.postlist,.tiles,.gy-list,.cx-tiles{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));
  gap:var(--s3);list-style:none;padding:0;margin:var(--s4) 0 var(--s5)}
.postlist .post,.tile,.gy-card,.cx-tile{
  display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--rule);border-radius:var(--r-m);box-shadow:var(--e1);
  padding:var(--s3);overflow:hidden;text-decoration:none;color:var(--ink);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.postlist .post .cardsky,.tile .cardsky,.gy-card .cardsky,.cx-tile .cardsky,
.cardsky{
  display:flex;align-items:center;justify-content:center;text-align:center;
  gap:.5ch;color:var(--gold-l);text-shadow:0 1px 10px rgba(0,0,0,.6);
  padding:9px var(--s3);
  margin:calc(var(--s3) * -1) calc(var(--s3) * -1) var(--s3);
  background:
    radial-gradient(ellipse at 24% 0%, rgba(20,27,48,.52) 0%, rgba(11,15,28,.90) 72%),
    url(brand/skyband.svg) center / cover no-repeat,
    var(--night);}
.cardsky > *{margin:0;color:inherit;line-height:1.35}
.cardsky .hi{color:var(--gold-l,#e2c56e);
             font-family:'Tiro Devanagari Hindi','Noto Serif Devanagari',serif;
  font-size:1.02rem}
.cardsky .eyebrow,.cardsky .artmeta{
  font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:.7rem;
  letter-spacing:.15em;text-transform:uppercase}
.postlist .post:hover,.tile:hover,.gy-card:hover,.cx-tile:hover{
  transform:translateY(-3px);box-shadow:var(--e2);border-color:var(--gold-h)}
.postlist .post > .eyebrow,.tile > .hi,.gy-card > .eyebrow,.cx-tile > .eyebrow{
  font-family:'Fraunces','Noto Serif Devanagari',serif;font-size:.68rem;
  letter-spacing:.17em;text-transform:uppercase;color:var(--maroon);
  display:block;margin:0 0 6px}
.postlist .post h2,.tile h3,.gy-card h2,.cx-tile h2{
  font-family:'Fraunces','Noto Serif Devanagari',serif;font-weight:500;
  font-size:1.14rem;line-height:1.32;color:var(--maroon);margin:0 0 8px}
.postlist .post p:not(.cardsky),.tile p:not(.cardsky),
.gy-card p:not(.cardsky),.cx-tile p:not(.cardsky){
  color:var(--ink-2);font-size:.93rem;line-height:1.6;margin:0}
.vlimits{max-width:var(--measure);margin:var(--s5) auto var(--s4);
  padding:var(--s3) var(--s4);background:var(--paper);
  border:1px solid var(--rule);border-left:3px solid var(--gold);
  border-radius:var(--r-m)}
.vlimits h3{font-family:'Fraunces','Noto Serif Devanagari',serif;
  font-weight:500;font-size:1.02rem;color:var(--maroon);margin:0 0 10px}
.vlimits p{color:var(--ink-2);font-size:.95rem;line-height:1.65;
  margin:0 0 10px}
.vlimits p:last-child{margin-bottom:0}
.gy-card .ask,.tile .ask{font-family:Georgia,'Noto Serif Devanagari',serif;
  font-style:italic;color:var(--maroon-2);font-size:.95rem;line-height:1.45;
  margin:0 0 8px}
.gy-card .go,.tile .go,.cx-tile .go{margin-top:auto;padding-top:14px;
  font-size:.8rem;letter-spacing:.06em;color:var(--maroon-2)}
.computed,.cx-val,.val-mono{
  font-family:var(--mono);font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}
.computed-block{
  font-family:var(--mono);font-size:.78rem;line-height:1.85;
  font-variant-numeric:tabular-nums;color:var(--ink-2);
  background:rgba(21,17,11,.045);border:1px solid var(--rule);
  border-radius:var(--r-s);padding:.85rem .95rem;overflow-x:auto;
}
.skybox .computed-block,.night-band .computed-block{
  background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.12);
  color:var(--moon-2)}
.stack{position:relative}
.stack::before,.stack::after{
  content:"";position:absolute;inset:0;border-radius:var(--r-s);
  background:var(--paper);border:1px solid var(--rule);z-index:0}
.stack::before{transform:translate(7px,7px);opacity:.45}
.stack::after{transform:translate(3.5px,3.5px);opacity:.75}
.folio{
  position:relative;z-index:1;
  background:linear-gradient(175deg,var(--paper),var(--page));
  border:1px solid var(--rule);border-radius:var(--r-s);
  padding:2.2rem 2rem 2.6rem;box-shadow:var(--e2)}
.folio::before{
  content:"";position:absolute;inset:9px;border-radius:calc(var(--r-s) - 4px);
  border:1px solid rgba(91,22,32,.14);pointer-events:none}
.folio h3,.folio h4{
  font-family:'Fraunces','Noto Serif Devanagari',serif;color:var(--maroon);
  margin:0 0 .6rem}
.folio.samplebox h2{margin-top:0}
.folio .pageno{
  position:absolute;right:1.6rem;bottom:.9rem;font-family:var(--mono);
  font-size:.68rem;letter-spacing:.14em;color:var(--ink-3)}
.withmargin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);
  gap:var(--s4);align-items:start}
.margin{position:sticky;top:96px;border-left:2px solid var(--gold);
  padding-left:1.3rem;font-size:.86rem;color:var(--ink-2)}
.margin h4{font-family:'Fraunces',serif;font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3);margin:0 0 .6rem;font-weight:500}
.margin .cite{margin:0 0 .9rem;line-height:1.6}
.margin .cite .deva{display:block;font-family:'Noto Serif Devanagari',serif;
  color:var(--ink);font-size:.95rem;line-height:1.75;margin-bottom:.2rem}
.margin .src{font-style:italic;color:var(--maroon)}
@media(max-width:900px){.withmargin{grid-template-columns:minmax(0,1fr)}
.margin{position:static;margin-top:var(--s3)}}
.wk-lede{color:var(--ink-2);max-width:var(--measure);line-height:1.7;
  margin:0 0 var(--s3)}
.folio .wk-line{
  position:relative;margin:0 0 1.15rem;padding-left:1rem;font-size:1.06rem;
  line-height:1.85;color:var(--ink);cursor:pointer;outline:0;
  transition:color .15s}
.folio .wk-line::before{
  content:"";position:absolute;left:0;top:.42em;bottom:.42em;width:2px;
  background:var(--gold);opacity:0;transition:opacity .15s}
.folio .wk-line:hover::before,
.folio .wk-line:focus-visible::before,
.folio .wk-line.on::before{opacity:1}
.folio .wk-line:focus-visible{text-decoration:underline;
  text-decoration-color:var(--gold);text-underline-offset:4px}
.folio .wk-line b{font-weight:600;color:var(--maroon)}
.cb-grid{display:grid;grid-template-columns:max-content minmax(0,1fr);
  column-gap:1rem;row-gap:.18rem;white-space:normal}
.cb-grid .cb-k{color:var(--ink-3)}
.cb-grid .cb-v{color:var(--ink);overflow-wrap:anywhere}
.skybox .cb-grid .cb-v,.night-band .cb-grid .cb-v{color:var(--moon)}
.margin .computed-block{margin:0}
#working{margin:var(--s5) auto var(--s5)}
.disclosure{
  background:var(--aside);border:0;border-left:2px solid var(--maroon);
  border-radius:0 var(--r-s) var(--r-s) 0;box-shadow:none;
  padding:1rem 1.2rem 1.05rem;margin:var(--s3) 0;
  font-size:.92rem;line-height:1.65;color:var(--ink-2);max-width:var(--measure)}
.disclosure > *:first-child{margin-top:0}
.disclosure > *:last-child{margin-bottom:0}
.disclosure .lbl{
  display:block;font-family:'Fraunces',serif;font-size:.68rem;
  letter-spacing:.17em;text-transform:uppercase;color:var(--maroon);
  margin-bottom:.45rem}
.disclosure ul{margin:0;padding-left:1.15rem}
.disclosure li{margin:.32rem 0}
.disclosure li::marker{color:var(--maroon-2)}
.disclosure code,.disclosure .computed{font-family:var(--mono);font-size:.84em}
.skybox .disclosure,.night-band .disclosure{
  background:rgba(255,255,255,.05);border-left-color:var(--gold-d);
  color:var(--moon-2)}
.skybox .disclosure .lbl,.night-band .disclosure .lbl{color:var(--gold-l)}
.rubric{color:var(--maroon);font-family:'Fraunces','Noto Serif Devanagari',serif;
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.socs{display:flex;gap:14px;justify-content:center;align-items:center;
  margin:16px 0 4px;flex-wrap:wrap}
.soc{display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;color:var(--soft,#5f564a);
  border:1px solid rgba(212,175,110,.28);background:rgba(255,255,255,.03);
  transition:color .15s,border-color .15s,background .15s;text-decoration:none}
.soc svg{fill:none;stroke:currentColor;display:block}
.soc:hover,.soc:focus-visible{color:var(--maroon,#5b1620);
  border-color:var(--gold,#d4af6e);background:rgba(212,175,110,.10)}
.soc:focus-visible{outline:2px solid var(--gold,#d4af6e);outline-offset:2px}
@media (hover:none){.soc{width:44px;height:44px}}
.cx-read{margin:var(--s5) 0 0;padding:var(--s4);border:1px solid var(--rule,#e8e2d6);border-radius:var(--r-m);background:var(--paper,#fff)}
.cx-read h2{margin:0 0 6px;font-size:1.05rem}
.cx-read p{margin:0 0 10px;color:var(--soft);font-size:.92rem}
.cx-read ul{margin:0;padding-left:1.2em}
.cx-read li{margin:4px 0}
.second-cta{text-align:center;margin:10px 0 0;font-size:.95rem}
.second-cta a{color:var(--maroon,#5b1620);text-decoration:none;
  border-bottom:1px solid var(--rule,#e8e2d6)}
.second-cta a:hover{border-bottom-color:var(--maroon,#5b1620)}
.lib{margin:56px 0 8px}
.libh{text-align:center;border:none;font-size:2.1rem;font-weight:300;
      color:var(--ink);margin:0 0 4px}
.libsub{text-align:center;color:var(--soft);font-style:italic;
        margin:0 0 30px;max-width:44em;margin-left:auto;margin-right:auto}
.libsec{margin:0 0 22px}
.libsec h3{font-size:1.02rem;font-weight:600;margin:0 0 6px;letter-spacing:.01em}
.libsec h3 a{text-decoration:none}
.libn{font-size:.8rem;font-weight:400;color:var(--soft);margin-left:6px}
.libnames{margin:0;line-height:2.05;color:var(--soft);font-size:.94rem}
.libnames a{text-decoration:none;border-bottom:1px solid rgba(0,0,0,.14)}
.libnames a:hover{border-bottom-color:var(--maroon)}
.libnames small{color:var(--soft);font-size:.82em;border:0}
/* ═══════ overrides ═══════ */
.dk-share{display:none} /* the share strip: replaced by the footer's share row */
.dk-pin{background:var(--maroon);color:#fff;font-family:var(--serif)}
.dk-comm{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.2rem,2.4vw,1.8rem)}
.dk-comm .btn{background:var(--maroon);color:#fff;border-radius:999px}
.subnav{background:var(--night);border-bottom:1px solid var(--line-sky);position:sticky;top:calc(var(--nav-h) + env(safe-area-inset-top,0px));z-index:40}
.subnav .in{display:flex;gap:1.2rem;overflow-x:auto;padding:.55rem var(--gutter);max-width:var(--wrap);margin-inline:auto;scrollbar-width:none;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.subnav .in::-webkit-scrollbar{display:none}
.subnav a{color:var(--moon-2);text-decoration:none;white-space:nowrap;padding-bottom:.25rem;border-bottom:2px solid transparent}
.subnav a.on{color:#fff;border-color:var(--gold)}
.subnav a:hover{color:#fff}
main.wrap,.wrap.prose,.cm{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.prose{font-size:1.08rem;line-height:1.65}
.prose h1{font-family:var(--display);font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.08;margin:1.2rem 0 .6rem;font-variation-settings:"opsz" 96}
.prose h2{font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2rem);margin:2rem 0 .6rem}
.prose p{max-width:var(--measure)}
.crumb{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:1.4rem}
.crumb a{color:var(--maroon);text-decoration:none}
@media print{.lk-nav,.subnav,.dk-pin,footer{display:none}}

/* ── blocks carried verbatim from the old pages, sitting inside the new sections ── */
.lk-old .wrap{padding-bottom:clamp(40px,6vw,72px);padding-top:clamp(8px,2vw,24px)}
.lk-old .section-head{margin-top:clamp(16px,3vw,40px)}
.lk-old .section-head .sub,.lk-old .section-head p{color:var(--ink-2)}
.lk-old .section-head h2{font-family:var(--display);font-weight:400;font-variation-settings:"opsz" 96}
.lk-old .card h2,.lk-old .card h3{font-family:var(--display);font-weight:500}
.lk-old .tiles{margin-top:1rem}
.lk-old .night-band{padding-top:clamp(28px,4vw,48px)}
.lk-oldorder{border-top:1px solid var(--line);padding-top:1rem;margin-top:.4rem}
.lk-oldorder #order{padding-top:0!important}
.lk-oldorder .price-line{display:none}
.lk-oldorder .btn{display:inline-block}
#chat .tiles{grid-template-columns:minmax(0,1fr)}
@media (max-width:640px){.lk-old .wrap{padding-inline:16px}}
@media (max-width:520px){.lk-btn{white-space:normal;text-align:center;line-height:1.25}}

/* pinned social rail, restored 19 Sep 2026 (see FINDING) */
/* THE PINNED RAIL — raj, 30 Aug 2026: "pin on the screen right side".
   Same five links as the footer row, fixed to the right edge, vertically
   centred so it never collides with the sticky nav (which is full-width at
   z-50, y 0–63; the rail is centred and sits at z-40).

   IT SITS IN THE BOTTOM-RIGHT CORNER, NOT THE MIDDLE, AND raj WAS RIGHT.
   Version 1 was vertically centred. The vertical middle of the right edge is
   precisely where the eye rests while reading a column of text, so a fixed
   object there is in peripheral vision for the whole page — it reads as
   something stuck to the screen rather than as part of the site. The bottom
   corner is where a reader expects a persistent secondary control and
   ignores it until they want it. Top-right was rejected because it would
   compete with COMPUTE MINE, and that button has to win.
   Because the rail lives entirely in the empty gutter beside a 916px content
   column, moving it down cannot cover the footer either: the footer's own
   text is inside that same column.

   THE 1024px FLOOR IS MEASURED. The content column is a constant 916px, so
   the free gutter is (100vw - 916) / 2. A 44px button plus 10px of margin
   needs 54px, which arrives at 1024px. Below that the rail is display:none
   and the footer row is the only copy — at a 579px viewport the measured
   gutter is 22px and the rail would sit on top of the words. Saving a
   reader one scroll is not worth covering the sentence they are reading.

   The icons themselves inherit .soc from the footer rules above; only the
   container and the ink differ, because out here there is no `footer .links a`
   to supply a colour. */
/* 6 Sep, raj on his phone: "i dont see social accounts... they dont show on
   side." Under 1024px the rail lies flat instead: a short row in the
   bottom-right corner, small, translucent, covering the bottom 36px of the
   viewport and nothing a reader is in the middle of reading. */
.socrail{display:flex;flex-direction:row;gap:6px;
  position:fixed;right:8px;bottom:10px;z-index:40;
  color:var(--soft,#5f564a)}
.socrail .soc{width:34px;height:34px;
  background:rgba(250,247,241,.8);backdrop-filter:blur(4px)}
@media (min-width:1024px){
  .socrail{display:flex;flex-direction:column;gap:10px;
    position:fixed;right:14px;bottom:26px;z-index:40;
    color:var(--soft,#5f564a)}
  .socrail .soc{width:44px;height:44px;
    background:rgba(250,247,241,.72);backdrop-filter:blur(4px)}
  .socrail .soc:hover,.socrail .soc:focus-visible{
    color:var(--maroon,#5b1620);background:rgba(250,247,241,.95)}
}
/* A reader who has asked for less motion gets no transition on the rail. */
@media (prefers-reduced-motion:reduce){ .socrail .soc{transition:none} }
/* Nothing pinned over the page when it is being printed. */
@media print{ .socrail{display:none !important} }

/* KEEP THE FOOTER OUT OF THE RAIL'S GUTTER.
   Found by looking at the live page, not by measuring: the footer's link
   rows run edge to edge (#footer has max-width:none) and the longest one
   reached x=1486 in a 1512 viewport — straight under the pinned rail, with
   "आज का पंचांग" clipped behind the Instagram icon.

   MY EARLIER MEASUREMENT MISSED IT AND THE REASON MATTERS. To place the rail
   I measured the gutter with `document.querySelectorAll('p,h1,h2,li')` and
   concluded the content column was a constant 916px. True of every element I
   sampled. The footer's rows are <span>s and were not in the sample, so the
   number was right about the question I asked and wrong about the page.
   A measurement is only as wide as its selector.

   Reserving 72px of padding is enough: content now ends at 100vw-72 while
   the rail starts at 100vw-58, so they cannot meet at any width. Capping the
   rows also stops that fourteen-link line from running as one 1,059px
   sentence, which was hard to read regardless of the rail. */
@media (min-width:1024px){
  #footer{padding-left:72px;padding-right:72px}
  #footer .links{max-width:900px;margin-left:auto;margin-right:auto}
}
/* ^ that @media was never closed (pre-24 Sep); every rule appended after it
   was silently swallowed into a min-width:1024px block. */

/* the ordinary price beside an offer price — struck, quiet, never hidden (season.py) */
s.was,.was{color:var(--ink-3,#7a7f8c);font-weight:400;margin-right:.35em;text-decoration:line-through}

/* THE JOIN STRIP — 24 Sep 2026. raj: the daily panchang "is not visible nor
   getting enough attention". The full box stays where it is; this is the
   one-line version that sits where the eye lands — under the front-page
   hero and above the month calendar on /panchang/. Night band, gold button,
   one email field, the city remembered from the picker when there is one. */
.lk-joinstrip{background:var(--sky,#0b1020);color:#efe9da;border-top:1px solid rgba(201,162,74,.35);border-bottom:1px solid rgba(201,162,74,.35)}
.lk-joinstrip .lk-wrap{display:flex;gap:14px 22px;align-items:center;flex-wrap:wrap;padding-block:14px}
.lk-joinstrip .js-t{flex:1 1 320px;min-width:0}
.lk-joinstrip .js-t b{display:block;color:#f6e3a4;font-size:1.05rem;font-weight:600}
.lk-joinstrip .js-t span{color:#c9c4b4;font-size:.9rem}
.lk-joinstrip form{display:flex;gap:8px;flex:1 1 380px;min-width:0;flex-wrap:wrap}
.lk-joinstrip input{flex:1 1 150px;min-width:0;padding:11px 12px;border-radius:6px;border:1px solid #3a3f58;background:#141a30;color:#efe9da;font:inherit;font-size:.95rem}
.lk-joinstrip input.city{flex:0 1 140px}
.lk-joinstrip button{padding:11px 18px;border-radius:6px;border:0;cursor:pointer;background:linear-gradient(135deg,#f6e3a4,#c9a227);color:#1a1206;font:inherit;font-weight:600;white-space:nowrap}
.lk-joinstrip .js-m{flex:1 1 100%;margin:0;font-size:.88rem;color:#c9c4b4}
.lk-joinstrip .js-m.ok{color:#9fd6a8}.lk-joinstrip .js-m.err{color:#f0a8a0}

/* ---- the floating "Try for free" pill ---------------------------------
   raj, 27 Sep 2026: "there should be a floating item running on screen
   saying try for free and point it to saar". Bottom-LEFT, because the
   social rail owns the bottom-right. Night on paper, gold rule, one line;
   a small × puts it away for the session. Never on saar.html itself, never
   on an order page mid-payment (site.js decides). */
.lk-tryfree{position:fixed;left:12px;bottom:12px;z-index:41;display:flex;align-items:center;gap:10px;
  padding:9px 12px 9px 14px;border-radius:999px;background:#0b1020;color:#f6e3a4;
  border:1px solid rgba(201,162,74,.6);box-shadow:0 8px 28px rgba(0,0,0,.35);
  font:inherit;font-size:.92rem;line-height:1.2;text-decoration:none;max-width:calc(100vw - 80px)}
.lk-tryfree b{font-weight:600;color:#fff;white-space:nowrap}
.lk-tryfree .tf-hi{font-family:'Noto Serif Devanagari','Tiro Devanagari Hindi',serif;color:#c9c4b4;font-size:.86rem;white-space:nowrap}
.lk-tryfree .tf-x{margin-left:2px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#efe9da;
  font-size:14px;line-height:22px;text-align:center;cursor:pointer;flex:0 0 auto}
.lk-tryfree .tf-x:hover{background:rgba(255,255,255,.25)}
.lk-tryfree:hover{border-color:#f6e3a4}
@media (max-width:640px){.lk-tryfree .tf-hi{display:none}.lk-tryfree{font-size:.88rem;padding:8px 10px 8px 12px}}
@media (prefers-reduced-motion:no-preference){
  .lk-tryfree{animation:lk-tf-in .5s ease-out both}
  @keyframes lk-tf-in{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
}

/* service stories — wire_service_videos.py + stories.js */
.lk-bubbles{display:flex;gap:1.1rem;overflow-x:auto;padding:.4rem .1rem 1rem;margin:1.2rem 0 .4rem;scrollbar-width:none}
.lk-bubbles::-webkit-scrollbar{display:none}
.lk-bubble{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.45rem;background:none;border:0;padding:0;cursor:pointer;font:inherit;color:var(--ink,#1d1a14);width:92px}
.lk-bubble .ring{width:84px;height:84px;border-radius:50%;padding:3px;background:conic-gradient(from 200deg,#c9a24a,#f6e3a4,#a0742a,#c9a24a)}
.lk-bubble img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--paper,#faf7f1);display:block}
.lk-bubble .lb{font-size:.78rem;line-height:1.25;text-align:center}
.lk-bubble .lb small{display:block;color:var(--soft,#6b6150);font-size:.7rem}
.lk-bubble:hover .ring{filter:brightness(1.08)}
.lk-bubbles-h{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--soft,#6b6150);margin:1.4rem 0 0}
.lk-watch{justify-self:start;align-self:flex-start;display:inline-flex;align-items:center;gap:.7rem;background:none;border:1px solid #ffffff44;border-radius:999px;padding:.35rem 1rem .35rem .35rem;color:inherit;font:inherit;cursor:pointer}
.lk-watch img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.lk-watch b{font-weight:500}.lk-watch small{opacity:.75;font-size:.78rem;display:block}
.lk-watch:hover{border-color:#c9a24a}
.lk-story{position:fixed;inset:0;z-index:9999;background:#05070ef2;display:flex;align-items:center;justify-content:center;flex-direction:column}
.lk-story[hidden]{display:none}
.lk-story-box{position:relative;height:min(92vh,calc(92vw * 16 / 9));aspect-ratio:9/16;max-width:96vw}
.lk-story video{width:100%;height:100%;border-radius:14px;background:#000;object-fit:contain}
.lk-story-x{position:absolute;top:10px;right:10px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:#000a;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}
.lk-story-end{position:absolute;inset:auto 0 12% 0;display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:0 1rem}
.lk-story-end[hidden]{display:none}
.lk-story-end .go{background:#c9a24a;color:#1d1a14;border-radius:999px;padding:.85rem 1.6rem;font-weight:600;text-decoration:none;box-shadow:0 6px 24px #0008}
.lk-story-end .again{background:none;border:0;color:#fff;opacity:.85;cursor:pointer;font:inherit;font-size:.9rem}
.lk-story-note{color:#efe9da;font-size:.85rem;margin:.6rem 1rem 0;text-align:center;max-width:36rem}
.lk-story-note[hidden]{display:none}
.lk-story-note s{opacity:.7}
.lk-hvid{position:relative;justify-self:center;width:min(100%,340px);aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:#0b1020;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.lk-hvid-v{width:100%;height:100%;object-fit:cover;display:block}
.lk-hvid-sound{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:#c9a24a;color:#1d1a14;border:0;border-radius:999px;padding:.6rem 1.2rem;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 6px 20px #0008;white-space:nowrap}
.lk-hvid-sound:before{content:"";display:inline-block;width:0;height:0;border-left:9px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-right:.5rem;vertical-align:middle}
.lk-first{display:flex;gap:.8rem;align-items:center;margin-top:.2rem;padding:.7rem .9rem;border:1px solid #ffffff2e;border-radius:12px;background:#ffffff0a;max-width:34rem}
.lk-first img{width:56px;height:auto;border-radius:3px;box-shadow:0 8px 18px -8px #000c;flex:0 0 auto}
.lk-first p{margin:0;font-size:.92rem;line-height:1.5}
.lk-first a{color:#f6e3a4;font-weight:600;white-space:nowrap}
.lk-story-end .free{color:#f6e3a4;font-size:.9rem;text-decoration:underline}
@media (max-width:760px){.lk-hvid{width:min(78vw,300px);margin:0 auto}}
@media (max-width:600px){.lk-story-box{height:88vh}.lk-story video{border-radius:0}}

/* ── 30 Sep 2026 · LESS CROWDED (raj: "website feels too crowdy already") ──
   The floating social rail goes: the same four links live in every footer.
   The "Try for free" pill waits until the reader has scrolled past the first
   screen, steps aside over the footer, and drops its Hindi line on phones. */
.socrail{display:none !important}
.lk-tryfree{transition:opacity .35s ease,transform .35s ease}
.lk-tryfree.off{opacity:0 !important;transform:translateY(16px) !important;pointer-events:none;visibility:hidden;animation:none !important}
@media (max-width:600px){.lk-tryfree .tf-hi{display:none}.lk-tryfree{padding:8px 12px;gap:6px;font-size:.9rem}}
/* sub-nav: a soft fade at the edge says "there is more, swipe", instead of a
   word cut in half (audit 30 Sep). The current page is scrolled into view by site.js. */
.subnav .in{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 48px),transparent);padding-right:48px}

/* ── DARK THEME (1 Oct 2026, raj: "dark and light theme option") ──────────
   The paper world goes to night; the sky world was already night. Every
   colour the site uses comes from these tokens, so the switch is the tokens.
   Chosen by the reader with the ☾ button (site.js), remembered on the device. */
html[data-theme="dark"]{
  --paper:#0D1324; --paper-2:#101830; --paper-3:#17213B; --cream:#0D1324; --page:#101830; --aside:#131C34; --card:#141E37;
  --ink:#ECE6D6; --ink-2:#C9C1AE; --ink-3:#9D9583; --soft:#C9C1AE; --muted:#9D9583;
  --rule:#26304D; --line:#26304D;
  --maroon:#E8A0A9; --maroon-2:#F2B6BE; --maroon-d:#C97C86;
  --gold:#D9B45A; --gold-d:#E1C271; --gold-dim:#C9A24A; --gold-tint:#2A2513; --gold-h:rgba(217,180,90,.30);
  --green:#7FC79A; --ok:#7FC79A; --warn:#E3B55B;
  --e1:0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.35);
  --e2:0 2px 6px rgba(0,0,0,.45),0 14px 38px rgba(0,0,0,.5);
  color-scheme:dark;
}
html[data-theme="dark"] .lk-btn-maroon{background:#8A2532;border-color:#8A2532;color:#fff}
html[data-theme="dark"] .lk-btn-maroon:hover{background:#A52F3E}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0A0F1F;color:var(--ink);border-color:#33405F}
html[data-theme="dark"] img[src$=".svg"]:not([src*="mark"]):not([src*="logo"]){filter:none}
.lk-theme{font-size:1.05rem;line-height:1;min-width:2.2em}
html[data-theme="dark"] .lk-horizon{background:linear-gradient(180deg,var(--night) 0%,var(--paper) 100%);height:clamp(40px,6vh,80px)}
html[data-theme="dark"] .lk-horizon.lk-up{background:linear-gradient(0deg,var(--night) 0%,var(--paper) 100%)}
html[data-theme="dark"] .lk-field input,html[data-theme="dark"] .lk-field select,html[data-theme="dark"] .plan{background:var(--card)}
html[data-theme="dark"] td.d.shukla,html[data-theme="dark"] .monkey .sw.shukla{background:var(--paper-3)}
html[data-theme="dark"] .dk-pin,html[data-theme="dark"] .dk-comm .btn{background:#8A2532}
html[data-theme="dark"] .lk-skip:focus{background:var(--card)}
/* dark: the panchang calendar, the folio cards, and the city-month pages'
   own page styles (which hard-code cream and maroon, so they need !important) */
html[data-theme="dark"] .moncal{background:var(--card)}
html[data-theme="dark"] .monhead,html[data-theme="dark"] table.montab th,html[data-theme="dark"] .monkey{background:var(--paper-3);color:var(--ink-2)}
html[data-theme="dark"] table.montab td{border-color:var(--rule)}
html[data-theme="dark"] table.montab td.empty{background:var(--paper)}
html[data-theme="dark"] td.d.krishna,html[data-theme="dark"] .monkey .sw.krishna{background:#0F1729}
html[data-theme="dark"] td.d.feast{background:#2A2414}
html[data-theme="dark"] td.d.moonday{background:#2C2614;box-shadow:inset 0 0 0 1px #6B5A2E}
html[data-theme="dark"] td.d.eclday{background:#2E1B18;box-shadow:inset 0 0 0 1px #6B3A30}
html[data-theme="dark"] td.d .mmk.ecl{background:#3A2420;color:#F0B4A6;border-color:#6B3A30}
html[data-theme="dark"] .monbar button,html[data-theme="dark"] .monbar .mplace{background:var(--card);color:var(--ink)}
html[data-theme="dark"] .monbar button:hover,html[data-theme="dark"] .monbar .mplace:hover{background:var(--paper-3)}
html[data-theme="dark"] .homecal{background:var(--paper);color:var(--ink)}
html[data-theme="dark"] .lk-folio{background:linear-gradient(175deg,var(--card),var(--paper-2))}
html[data-theme="dark"] .samplebox .shots a{background:var(--card)}
html[data-theme="dark"] .msg.err{background:#2E1B18;border-color:#6B3A30;color:#F0B4A6}
html[data-theme="dark"] .mysky{background:var(--paper-2)}
html[data-theme="dark"] body{color:var(--ink)!important;background:var(--paper)!important}
html[data-theme="dark"] .cm h1,html[data-theme="dark"] .cm h2{color:#F2C6CC!important}
html[data-theme="dark"] .cm h1 .en,html[data-theme="dark"] .cm .lede,html[data-theme="dark"] .cm .crumb,html[data-theme="dark"] .cta-strip p{color:var(--ink-2)!important}
html[data-theme="dark"] .cm a,html[data-theme="dark"] .navmo a,html[data-theme="dark"] .sibs a{color:var(--maroon)!important}
html[data-theme="dark"] .navmo a,html[data-theme="dark"] .cta-strip,html[data-theme="dark"] .mo{background:var(--card)!important;border-color:var(--rule)!important}
html[data-theme="dark"] .evt td{border-color:var(--rule)!important}
html[data-theme="dark"] .gy-card,html[data-theme="dark"] .tile,html[data-theme="dark"] .card,html[data-theme="dark"] .paper-sheet{background:var(--card);color:var(--ink)}
