/* Astro Siddh Drishti — celestial observatory design system */
:root {
  --ink: #071019;
  --ink-2: #0b1823;
  --navy: #0c2030;
  --blue: #17374d;
  --maroon: #3a171b;
  --ivory: #f2ecdf;
  --paper: #e7dfcf;
  --gold: #c8a467;
  --gold-light: #e1c78d;
  --copper: #9a6745;
  --muted: #9aa6ad;
  --line: rgba(207,174,111,.2);
  --line-light: rgba(242,236,223,.13);
  --serif: "Cormorant Garamond", "Noto Serif Devanagari", Georgia, serif;
  --sans: "Manrope", "Noto Sans Devanagari", sans-serif;
  --max: 1240px;
  --radius: 2px;
  --ease: cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); max-width:100%; overflow-x:clip; }
body { margin: 0; background: var(--ink); color: var(--ivory); font-family: var(--sans); font-size: 15px; line-height: 1.75; max-width:100%; overflow-x: clip; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img, svg { display: block; max-width: 100%; }
::selection { background: var(--gold); color: var(--ink); }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 1000; padding: .7rem 1rem; background: var(--ivory); color: var(--ink); }
.skip-link:focus { top: 1rem; }
.grain { pointer-events:none; position:fixed; inset:0; z-index:999; opacity:.04; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.eyebrow { display:flex; align-items:center; gap:.75rem; margin:0 0 1rem; color:var(--gold-light); font-size:.67rem; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow::before { content:""; width:28px; height:1px; background:var(--gold); }
.display { margin:0; font-family:var(--serif); font-weight:500; font-size:clamp(2.55rem, 6vw, 5.7rem); line-height:.96; letter-spacing:-.035em; text-wrap:balance; }
.section-title { margin:.2rem 0 1rem; max-width:780px; font-family:var(--serif); font-weight:500; font-size:clamp(2.1rem, 4.2vw, 4rem); line-height:1.03; letter-spacing:-.025em; text-wrap:balance; }
.lead { max-width:700px; margin:1.3rem 0; color:#c3c9ca; font-size:clamp(1rem, 1.6vw, 1.15rem); font-weight:300; }
.muted { color:var(--muted); }
.gold { color:var(--gold-light); }
.section { position:relative; padding:110px 0; }
.section.ivory { background:var(--ivory); color:var(--ink); }
.section.maroon { background:linear-gradient(120deg,#291116,var(--maroon)); }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2.6rem; }
.section-head .lead { margin:0; max-width:480px; }
.btn { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:.7rem; min-height:49px; padding:.75rem 1.15rem; border:1px solid var(--gold); border-radius:var(--radius); background:transparent; color:var(--ivory); font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:.35s var(--ease); overflow:hidden; }
.btn::before { content:""; position:absolute; inset:0; background:var(--gold); transform:translateY(105%); transition:transform .35s var(--ease); z-index:-1; }
.btn:hover::before, .btn:focus-visible::before { transform:translateY(0); }
.btn:hover, .btn:focus-visible { color:var(--ink); }
.btn.solid { background:var(--gold); color:var(--ink); }
.btn.solid:hover { background:var(--gold-light); }
.btn.ghost { border-color:var(--line-light); }
.btn.dark { color:var(--ink); }
.btn.dark:hover { color:var(--ink); }
.btn.text { min-height:auto; padding:.3rem 0; border:0; border-bottom:1px solid var(--gold); }
.btn.text::before { display:none; }
.btn.text:hover { color:var(--gold-light); }
.button-row { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.rule { height:1px; background:var(--line); }
.icon { width:1.05rem; height:1.05rem; }

/* Header */
.site-header { position:fixed; z-index:100; inset:0 0 auto; transition:.35s; }
.site-header.scrolled { background:rgba(7,16,25,.88); box-shadow:0 8px 30px rgba(0,0,0,.16); backdrop-filter:blur(18px); }
.topbar { border-bottom:1px solid var(--line-light); background:rgba(7,16,25,.75); color:#aeb8bc; font-size:.65rem; letter-spacing:.06em; }
.topbar-inner { height:29px; display:flex; align-items:center; justify-content:space-between; }
.topbar-info { display:flex; gap:1.4rem; }
.mainbar { height:79px; display:grid; grid-template-columns:260px 1fr auto; align-items:center; gap:1.6rem; border-bottom:1px solid var(--line-light); }
.brand { display:flex; align-items:center; gap:.8rem; }
.brand-mark { width:38px; aspect-ratio:1; position:relative; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; color:var(--gold); }
.brand-mark::before,.brand-mark::after { content:""; position:absolute; inset:5px; border:1px solid rgba(200,164,103,.35); transform:rotate(45deg); }
.brand-mark::after { transform:rotate(22.5deg); }
.brand-mark span { font-family:var(--serif); font-size:1.1rem; z-index:1; }
.brand-name { line-height:1.05; }
.brand-name strong { display:block; font-family:var(--serif); font-size:1.4rem; font-weight:600; letter-spacing:.01em; }
.brand-name small { color:var(--gold); font-size:.47rem; letter-spacing:.2em; text-transform:uppercase; }
.desktop-nav { display:flex; justify-content:center; align-items:stretch; height:100%; }
.nav-item { display:flex; align-items:center; }
.nav-link { height:100%; display:flex; align-items:center; gap:.3rem; padding:0 .72rem; border:0; background:none; font-size:.69rem; letter-spacing:.055em; cursor:pointer; }
.nav-link::after { content:""; width:4px; height:4px; border-right:1px solid var(--gold); border-bottom:1px solid var(--gold); transform:rotate(45deg) translateY(-2px); }
.nav-item:hover .nav-link { color:var(--gold-light); }
.mega { position:absolute; top:108px; left:50%; width:min(1100px,calc(100vw - 48px)); padding:28px; display:grid; grid-template-columns:1.1fr 2fr; gap:2rem; background:rgba(10,24,35,.98); border:1px solid var(--line); box-shadow:0 30px 80px rgba(0,0,0,.45); opacity:0; visibility:hidden; transform:translate(-50%,12px); transition:.28s var(--ease); }
.nav-item:hover .mega,.nav-item:focus-within .mega { opacity:1; visibility:visible; transform:translate(-50%,0); }
.nav-about-link { align-self:center; white-space:nowrap; }
.nav-about-link::after { display:none; }
.mega-feature { min-height:200px; padding:1.6rem; display:flex; flex-direction:column; justify-content:end; background:radial-gradient(circle at 50% 20%,rgba(200,164,103,.15),transparent 36%),linear-gradient(145deg,#142d3f,#09151e); border:1px solid var(--line); }
.mega-feature strong { font-family:var(--serif); font-size:2rem; font-weight:500; }
.mega-feature p { margin:.4rem 0 0; color:var(--muted); font-size:.78rem; }
.mega-links { display:grid; grid-template-columns:repeat(2,1fr); align-content:start; }
.mega-links a { padding:.7rem .9rem; border-bottom:1px solid var(--line-light); color:#c8cdce; font-size:.76rem; transition:.2s; }
.mega-links a:hover { color:var(--gold-light); padding-left:1.15rem; }
.header-actions { display:flex; align-items:center; gap:.65rem; }
.cart-chip{height:34px;min-width:42px;padding:0 .55rem;display:flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid var(--line-light);color:var(--gold-light);font-size:.67rem}.cart-chip span{color:var(--ivory)}
.lang-toggle { display:flex; border:1px solid var(--line-light); padding:3px; }
.lang-toggle button { border:0; padding:.35rem .45rem; background:none; color:#9ca7ab; font-size:.63rem; cursor:pointer; }
.lang-toggle button.active { background:var(--ivory); color:var(--ink); }
.menu-toggle { width:44px;height:44px;display:none;place-items:center;border:1px solid var(--line-light);background:none;cursor:pointer; }
.menu-toggle i,.menu-toggle i::before,.menu-toggle i::after { display:block;width:18px;height:1px;background:var(--ivory);content:"";transition:.25s; }
.menu-toggle i::before { transform:translateY(-6px); }.menu-toggle i::after { transform:translateY(5px); }
.mobile-menu { display:none; }

/* Hero */
.hero { min-height:100svh; position:relative; display:grid; align-items:end; padding:185px 0 86px; overflow:hidden; background:linear-gradient(115deg,rgba(6,15,23,.96) 5%,rgba(8,19,28,.62) 52%,rgba(8,16,23,.93)),radial-gradient(circle at 78% 42%,#17374d,transparent 35%),#071019; }
.stars,.stars::after { position:absolute; inset:0; content:""; background-image:radial-gradient(circle,rgba(255,246,218,.95) 0 1px,transparent 1.3px); background-size:83px 83px; opacity:.18; }
.stars::after { transform:translate(31px,45px); background-size:131px 131px; opacity:.4; }
.hero-orbit { position:absolute; width:min(68vw,790px); aspect-ratio:1; right:-7%; top:50%; transform:translateY(-47%); border:1px solid rgba(200,164,103,.24); border-radius:50%; }
.hero-orbit::before,.hero-orbit::after { content:"";position:absolute;border:1px solid rgba(200,164,103,.17);border-radius:50%;inset:12%; }
.hero-orbit::after { inset:27%; }
.zodiac-wheel { position:absolute; inset:7%; border:1px solid rgba(200,164,103,.12); border-radius:50%; animation:spin 90s linear infinite; }
.zodiac-wheel span { position:absolute; left:50%; top:50%; font-family:var(--serif); color:var(--gold-light); font-size:1.1rem; opacity:.68; transform:rotate(calc(var(--i)*30deg)) translateY(-21vw) rotate(calc(var(--i)*-30deg)); }
.moon { position:absolute; width:min(28vw,340px); aspect-ratio:1; right:11%; top:50%; transform:translateY(-50%); border-radius:50%; background:radial-gradient(circle at 37% 31%,#fff9e7 0 2%,#d9d1bb 7%,#a9aa9f 29%,#676f72 62%,#26333b 100%); box-shadow:0 0 80px rgba(212,206,181,.18); opacity:.72; }
.moon::before { content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 67% 24%,rgba(17,28,35,.36) 0 7%,transparent 8%),radial-gradient(circle at 30% 68%,rgba(17,28,35,.28) 0 10%,transparent 11%),radial-gradient(circle at 72% 65%,rgba(17,28,35,.22) 0 5%,transparent 6%); }
.temple-silhouette { position:absolute; inset:auto 0 0 38%; height:31%; opacity:.47; background:linear-gradient(to top,#050b10 0 48%,transparent 48%); clip-path:polygon(0 100%,0 75%,8% 75%,8% 58%,13% 58%,13% 72%,19% 72%,19% 50%,23% 50%,25% 17%,27% 50%,31% 50%,31% 66%,40% 66%,40% 45%,43% 45%,45% 4%,47% 45%,51% 45%,51% 63%,59% 63%,59% 35%,62% 35%,64% 12%,66% 35%,70% 35%,70% 61%,78% 61%,78% 45%,81% 45%,83% 23%,85% 45%,90% 45%,90% 69%,100% 69%,100% 100%); }
.hero-content { position:relative; z-index:2; max-width:770px; }
.hero .display { max-width:740px; }
.hero-tagline { margin:1.4rem 0 .5rem; color:var(--gold-light); font-family:"Noto Serif Devanagari",serif; font-size:clamp(1.25rem,2.2vw,1.85rem); }
.hero-scroll { position:absolute; right:3vw; bottom:4.8rem; z-index:2; display:flex; align-items:center; gap:.8rem; color:#8d989c; font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; writing-mode:vertical-rl; }
.hero-scroll::after { content:""; width:1px; height:66px; background:linear-gradient(var(--gold),transparent); }
@keyframes spin { to { transform:rotate(360deg); } }

/* Cards & grids */
.quick-strip { position:relative; margin-top:-1px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#09141d; }
.quick-grid { display:grid; grid-template-columns:repeat(6,1fr); }
.quick-card { min-height:170px; padding:1.4rem 1.1rem; border-right:1px solid var(--line); transition:.35s var(--ease); cursor:pointer; }
.quick-card:first-child { border-left:1px solid var(--line); }
.quick-card:hover { background:#0e2230; transform:translateY(-6px); }
.quick-number { color:var(--gold); font-family:var(--serif); font-size:.9rem; }
.quick-card h3 { margin:2.3rem 0 .45rem; font-family:var(--serif); font-size:1.2rem; font-weight:500; line-height:1.1; }
.quick-card p { margin:0; color:#819097; font-size:.67rem; line-height:1.5; }
.trust-row { display:grid; grid-template-columns:repeat(5,1fr); border-block:1px solid rgba(15,29,38,.16); }
.trust-item { padding:1rem;text-align:center;border-right:1px solid rgba(15,29,38,.16);font-size:.67rem;letter-spacing:.09em;text-transform:uppercase; }
.trust-item:last-child { border:0; }
.cards-3 { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line); }
.service-card { position:relative; min-height:330px; padding:2rem; display:flex; flex-direction:column; justify-content:space-between; background:var(--ink-2); transition:.35s; overflow:hidden; }
.service-card::before { content:""; position:absolute; width:200px; height:200px; border:1px solid var(--line); border-radius:50%; right:-90px; top:-90px; transition:.45s; }
.service-card:hover { background:#102636; }.service-card:hover::before { transform:scale(1.3); }
.service-card .num { color:var(--gold); font-family:var(--serif); }
.service-card h3 { margin:auto 0 1rem; font-family:var(--serif);font-size:clamp(1.6rem,2.5vw,2.3rem);font-weight:500;line-height:1.05; }
.service-card p { color:#93a0a5;font-size:.8rem; }
.mini-link { color:var(--gold-light);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase; }
.library-grid { display:grid;grid-template-columns:repeat(9,1fr);gap:1px;background:rgba(8,20,29,.14);border:1px solid rgba(8,20,29,.14); }
.library-card { min-height:230px;padding:1rem .5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eee7da;transition:.25s;text-align:center; }
.library-card:hover { background:#0d202e;color:var(--ivory); }
.planet-symbol { width:52px;aspect-ratio:1;display:grid;place-items:center;margin-bottom:1.6rem;border:1px solid var(--gold);border-radius:50%;font-family:var(--serif);font-size:1.5rem;color:var(--copper); }
.library-card strong { font-family:var(--serif);font-size:1.15rem;font-weight:600; }.library-card small { color:#7f7b72;font-size:.55rem;text-transform:uppercase;letter-spacing:.1em; }
.feature-split { display:grid;grid-template-columns:1fr 1fr;min-height:650px; }
.feature-visual { position:relative;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(200,164,103,.25),transparent 32%),linear-gradient(145deg,#173448,#071019); }
.feature-copy { padding:clamp(3rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center; }
.mandala { position:absolute;width:68%;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%); }
.mandala::before,.mandala::after { content:"";position:absolute;inset:12%;border:1px solid var(--line);transform:rotate(45deg); }.mandala::after{inset:27%;transform:rotate(22.5deg)}
.kundli-chart { position:absolute;width:42%;aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);border:1px solid var(--gold);box-shadow:0 0 55px rgba(200,164,103,.08); }
.kundli-chart::before,.kundli-chart::after{content:"";position:absolute;inset:0;border:1px solid var(--gold);transform:rotate(45deg)}.kundli-chart::after{inset:25%;}
.orbit-dot { position:absolute;width:10px;height:10px;border:2px solid var(--gold);border-radius:50%;left:50%;top:15%;box-shadow:0 0 15px var(--gold); }

/* Forms */
.tool-shell { display:grid;grid-template-columns:.75fr 1.25fr;border:1px solid var(--line);background:#09151f; }
.tool-aside { padding:clamp(2rem,4vw,4.5rem);background:radial-gradient(circle at 15% 85%,rgba(200,164,103,.14),transparent 34%),#0c1e2b; }
.tool-aside .steps { margin:3rem 0 0;padding:0;list-style:none;counter-reset:step; }
.steps li { counter-increment:step;display:flex;gap:1rem;padding:1rem 0;border-top:1px solid var(--line-light);color:#aab4b8;font-size:.75rem; }.steps li::before{content:"0" counter(step);color:var(--gold);font-family:var(--serif);font-size:1rem}
.tool-form { padding:clamp(2rem,5vw,5rem); }
.form-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1rem; }
.field { display:flex;flex-direction:column;gap:.45rem; }.field.full{grid-column:1/-1}.field label{color:#aab4b8;font-size:.66rem;letter-spacing:.07em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;padding:.9rem 0;border:0;border-bottom:1px solid rgba(242,236,223,.25);border-radius:0;background:transparent;color:var(--ivory);outline:none;transition:.2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.field select option{background:var(--ink);}.field textarea{min-height:110px;resize:vertical}.required::after{content:" *";color:var(--gold)}
.form-note { margin:1.4rem 0;color:#849198;font-size:.68rem;line-height:1.6; }
.result-panel { display:none;margin-top:2rem;padding:1.4rem;border:1px solid var(--line);background:#0b202c; }.result-panel.visible{display:block;animation:fadeUp .5s}.demo-badge{display:inline-flex;padding:.35rem .55rem;background:#7a552b;color:#fff4dd;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}.loader{display:flex;align-items:center;gap:1rem}.loader-ring{width:38px;aspect-ratio:1;border:1px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1rem;background:var(--line)}.result-stat{padding:1rem;background:#102431}.result-stat small{display:block;color:#8c9aa0;font-size:.6rem;text-transform:uppercase}.result-stat strong{font-family:var(--serif);font-size:1.25rem;font-weight:500}

/* Content modules */
.rashi-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line); }
.rashi-card { padding:1.4rem;min-height:165px;background:#0a1720;transition:.3s; }.rashi-card:hover{background:#122b3b}.rashi-card .glyph{color:var(--gold);font-size:1.7rem}.rashi-card strong{display:block;margin-top:2rem;font-family:var(--serif);font-size:1.2rem;font-weight:500}.rashi-card small{color:#7e8b91}
.nakshatra-wrap { display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:5rem; }
.nak-wheel { position:relative;width:min(460px,90vw);aspect-ratio:1;border:1px solid var(--line);border-radius:50%;margin:auto; }
.nak-wheel::before,.nak-wheel::after{content:"";position:absolute;inset:14%;border:1px solid var(--line);border-radius:50%}.nak-wheel::after{inset:33%;background:radial-gradient(circle,rgba(200,164,103,.18),transparent 60%)}
.nak-tick{position:absolute;left:50%;top:50%;width:1px;height:50%;transform-origin:top;transform:rotate(calc(var(--i)*13.333deg));background:linear-gradient(var(--line),transparent 18%)}
.nak-core { position:absolute;inset:39%;display:grid;place-items:center;border:1px solid var(--gold);transform:rotate(45deg); }.nak-core span{transform:rotate(-45deg);font-family:var(--serif);color:var(--gold-light)}
.tag-cloud { display:flex;flex-wrap:wrap;gap:.55rem; }.tag { padding:.55rem .75rem;border:1px solid var(--line-light);color:#a8b3b7;font-size:.66rem;cursor:pointer;transition:.2s}.tag:hover{border-color:var(--gold);color:var(--gold-light)}
.puja-grid { display:grid;grid-template-columns:1.35fr .65fr .65fr;grid-template-rows:repeat(2,280px);gap:1px;background:var(--line);border:1px solid var(--line); }
.puja-card { position:relative;padding:1.6rem;display:flex;flex-direction:column;justify-content:end;overflow:hidden;background:linear-gradient(180deg,transparent,#08131cf2),radial-gradient(circle at 50% 25%,#704a30,#172733 70%); }.puja-card:first-child{grid-row:1/-1}.puja-card:nth-child(3){background:linear-gradient(180deg,transparent,#160d0ef2),radial-gradient(circle at 50% 20%,#7a321e,#251416 70%)}.puja-card:nth-child(4){background:linear-gradient(180deg,transparent,#08131cf2),radial-gradient(circle at 50% 20%,#34576b,#12212d 70%)}
.puja-card::before{content:"ॐ";position:absolute;top:10%;right:10%;font-family:serif;font-size:6rem;color:rgba(242,236,223,.08)}.puja-card:hover::before{color:rgba(224,198,144,.16);transition:.4s}.puja-card h3{margin:0 0 .5rem;font-family:var(--serif);font-size:clamp(1.4rem,3vw,2.5rem);font-weight:500}.puja-card p{max-width:420px;margin:0;color:#a9b2b5;font-size:.75rem}
.products { display:grid;grid-template-columns:repeat(4,1fr);gap:1rem; }.product-card{background:#eee6d8;color:var(--ink);padding:1rem;transition:.35s}.product-card:hover{transform:translateY(-8px)}.product-image{height:250px;position:relative;display:grid;place-items:center;background:radial-gradient(circle,#dbc79f 0 12%,#9c6c3b 13%,#311d16 35%,#0e1820 70%);overflow:hidden}.product-image::before{content:"";width:80px;aspect-ratio:1;border:16px double rgba(233,212,167,.7);border-radius:50%;box-shadow:0 12px 30px #0008}.product-image.gem::before{width:75px;border:0;border-radius:50% 50% 45% 55%;background:radial-gradient(circle at 35% 28%,#fff8,#bb2334 20%,#5a0711 70%);clip-path:polygon(50% 0,88% 24%,100% 63%,71% 100%,29% 100%,0 63%,12% 24%)}.product-card h3{margin:1rem 0 .2rem;font-family:var(--serif);font-size:1.35rem;font-weight:600}.product-card p{margin:0;color:#615e57;font-size:.68rem}.price{margin-top:.8rem;color:#8d5c2d;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.editorial-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:1px;background:var(--line);border:1px solid var(--line)}.article-card{min-height:390px;padding:1.7rem;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(180deg,transparent,#08131cf5),radial-gradient(circle at 20% 15%,#375872,#0d1e2a 60%);transition:.3s}.article-card:nth-child(2){background:linear-gradient(180deg,transparent,#08131cf5),radial-gradient(circle at 50% 20%,#7c542e,#1b2428 65%)}.article-card:nth-child(3){background:linear-gradient(180deg,transparent,#08131cf5),radial-gradient(circle at 60% 20%,#5b292c,#241418 65%)}.article-card:hover{filter:brightness(1.15)}.article-card small{color:var(--gold);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}.article-card h3{margin:.7rem 0;font-family:var(--serif);font-size:clamp(1.4rem,2.5vw,2.3rem);font-weight:500;line-height:1.05}.article-card p{color:#9da9ad;font-size:.72rem}
.faq-list { max-width:900px;margin:auto;border-top:1px solid var(--line); }.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;padding:1.3rem 0;display:flex;justify-content:space-between;gap:1rem;border:0;background:none;text-align:left;font-family:var(--serif);font-size:1.35rem;cursor:pointer}.faq-q span:last-child{color:var(--gold)}.faq-a{max-height:0;overflow:hidden;color:#9fa9ad;transition:max-height .35s}.faq-item.open .faq-a{max-height:180px;padding-bottom:1.4rem}
.testimonial { max-width:880px;margin:auto;text-align:center; }.quote-mark{color:var(--gold);font-family:var(--serif);font-size:5rem;line-height:.5}.testimonial blockquote{margin:2rem 0;font-family:var(--serif);font-size:clamp(1.7rem,3.5vw,3rem);font-weight:400;line-height:1.2}.sample-label{color:#9b875f;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}
.final-cta { min-height:650px;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 50%,rgba(35,74,96,.55),transparent 36%),linear-gradient(rgba(6,14,21,.84),rgba(6,14,21,.96)),#0b1b26;overflow:hidden}.final-cta .display{max-width:950px;margin:auto}.final-cta .lead{margin:1.5rem auto}.final-orbit{position:absolute;width:680px;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;animation:spin 80s linear infinite}.final-orbit::before{content:"";position:absolute;inset:13%;border:1px solid var(--line);transform:rotate(45deg)}

/* Route pages */
.page-hero { min-height:520px;padding:190px 0 80px;display:flex;align-items:end;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 38%,rgba(39,85,111,.6),transparent 25%),linear-gradient(130deg,#08131c,#0c2230 70%,#071019)}
.page-hero::after{content:"";position:absolute;width:430px;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;right:9%;top:31%;}.breadcrumbs{display:flex;gap:.6rem;margin-bottom:1.2rem;color:#87959b;font-size:.63rem;text-transform:uppercase;letter-spacing:.09em}.page-hero .display{max-width:850px;font-size:clamp(3rem,7vw,6rem)}
.content-layout { display:grid;grid-template-columns:1fr 320px;gap:5rem; }.article-body{max-width:780px}.article-body h2{margin:2.8rem 0 1rem;font-family:var(--serif);font-size:2.4rem;font-weight:500}.article-body h3{margin:2rem 0 .6rem;font-family:var(--serif);font-size:1.6rem;font-weight:500}.article-body p,.article-body li{color:#b0b9bc}.article-body ul{padding-left:1.2rem}.aside-card{position:sticky;top:135px;padding:1.5rem;border:1px solid var(--line);background:#0a1923}.aside-card h3{font-family:var(--serif);font-size:1.55rem;font-weight:500}.aside-links a{display:block;padding:.8rem 0;border-top:1px solid var(--line-light);color:#a8b2b6;font-size:.72rem}.aside-links a:hover{color:var(--gold-light)}
.directory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.directory-card{min-height:200px;padding:1.4rem;display:flex;flex-direction:column;justify-content:space-between;background:#0a1822;transition:.3s}.directory-card:hover{background:#122a39}.directory-card small{color:var(--gold)}.directory-card h3{margin:0;font-family:var(--serif);font-size:1.6rem;font-weight:500}.directory-card p{margin:.4rem 0 0;color:#839097;font-size:.68rem}.notice{padding:1rem 1.2rem;border-left:2px solid var(--gold);background:rgba(200,164,103,.08);color:#bdc3c4;font-size:.74rem}.policy h2{font-family:var(--serif);font-size:2rem;font-weight:500;margin-top:2.5rem}.policy p,.policy li{color:#aab3b6}
.founder-home{background:radial-gradient(circle at 10% 45%,rgba(200,164,103,.08),transparent 28%),var(--ink)}
.founder-home-grid{display:grid;grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr);gap:clamp(3rem,7vw,6.5rem);align-items:center}
.founder-photo-frame{position:relative;margin:0;border:1px solid var(--line);background:#0b1823;box-shadow:0 28px 70px rgba(0,0,0,.28);overflow:hidden}
.founder-photo-frame::before{content:"";position:absolute;inset:12px;border:1px solid rgba(225,199,141,.34);z-index:2;pointer-events:none}
.founder-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center 44%;filter:saturate(.92) contrast(1.02)}
.founder-photo-frame--home{width:100%;max-width:510px;aspect-ratio:16/10;justify-self:start}
.founder-photo-frame--about{width:100%;aspect-ratio:16/10}
.founder-photo-frame figcaption{position:absolute;z-index:3;inset:auto 0 0;padding:3rem 1.6rem 1.25rem;background:linear-gradient(transparent,rgba(5,11,16,.94));display:flex;flex-direction:column}
.founder-photo-frame figcaption strong{font-family:var(--serif);font-size:1.42rem;font-weight:500}
.founder-photo-frame figcaption span{color:var(--gold-light);font-size:.6rem;letter-spacing:.11em;text-transform:uppercase}
.founder-copy .section-title{max-width:620px}.founder-copy .lead{max-width:680px}
.founder-copy>.muted{max-width:700px}
.founder-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.5rem 0}
.founder-meta span{padding:.45rem .65rem;border:1px solid var(--line-light);color:#9eaaae;font-size:.61rem;letter-spacing:.08em;text-transform:uppercase}
.founder-focus-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.5rem;margin:1.5rem 0 0;padding:0;list-style:none;color:#c7cdce;font-size:.75rem}
.founder-focus-list li{position:relative;padding-left:1.1rem}
.founder-focus-list li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;border:1px solid var(--gold);transform:rotate(45deg)}
.about-profile-grid{display:grid;grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr);gap:clamp(3rem,7vw,6.5rem);align-items:start}
.about-visual-column{position:sticky;top:138px}
.profile-facts{margin:0;border:1px solid var(--line);border-top:0;background:#09151f}
.profile-facts div{display:grid;grid-template-columns:100px 1fr;gap:1rem;padding:1rem 1.2rem;border-top:1px solid var(--line-light)}
.profile-facts dt{color:var(--gold-light);font-size:.59rem;letter-spacing:.12em;text-transform:uppercase}
.profile-facts dd{margin:0;color:#b6bec1;font-size:.7rem}
.about-body{max-width:720px}
.about-body>p:first-of-type{margin-top:.25rem}
.about-intro{font-family:var(--serif);font-size:clamp(1.55rem,2.7vw,2.3rem);line-height:1.3;color:var(--ivory)!important}
.about-quote{margin:3rem 0;padding:2.2rem;border-block:1px solid var(--line);color:var(--gold-light);font-family:"Noto Serif Devanagari",var(--serif);font-size:clamp(1.6rem,3vw,2.8rem);text-align:center}
.practice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid rgba(8,20,29,.14);background:rgba(8,20,29,.14)}
.practice-card{min-height:245px;padding:1.5rem;display:flex;flex-direction:column;background:#eee7da}
.practice-card span{color:var(--copper);font-family:var(--serif)}
.practice-card h3{margin:auto 0 .65rem;font-family:var(--serif);font-size:1.55rem;font-weight:600;line-height:1.08}
.practice-card p{margin:0;color:#66645f;font-size:.7rem;line-height:1.65}

/* Footer & utilities */
footer { background:#050b10;border-top:1px solid var(--line);padding:80px 0 110px; }.footer-top{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:3rem}.footer-brand p{max-width:320px;color:#89969b;font-size:.72rem}.footer-brand .tagline{color:var(--gold-light);font-family:"Noto Serif Devanagari",serif;font-size:1rem}.footer-col h4{margin:0 0 1.2rem;color:var(--gold-light);font-family:var(--serif);font-size:1.2rem;font-weight:500}.footer-col a{display:block;padding:.28rem 0;color:#879399;font-size:.69rem}.footer-col a:hover{color:var(--ivory)}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line-light);color:#68767c;font-size:.61rem}.socials{display:flex;gap:.5rem}.socials span{width:28px;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line-light);font-size:.6rem}
.floating-stack{position:fixed;z-index:90;right:18px;bottom:20px;display:flex;flex-direction:column;gap:.6rem}.float-btn{width:52px;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;background:#102a38;color:var(--ivory);box-shadow:0 10px 30px #0007;cursor:pointer}.float-call{background:var(--gold);color:var(--ink)}
.mobile-dock{display:none}.toast{position:fixed;z-index:1000;left:50%;bottom:30px;transform:translate(-50%,30px);padding:.85rem 1rem;background:var(--ivory);color:var(--ink);box-shadow:0 10px 40px #0008;opacity:0;visibility:hidden;transition:.3s;font-size:.75rem}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(22px);transition:.75s var(--ease)}.reveal.seen{opacity:1;transform:none}

@media (max-width:1100px){
  .desktop-nav,.header-actions .btn{display:none}.mainbar{grid-template-columns:1fr auto auto}.menu-toggle{display:grid}.mobile-menu{position:fixed;inset:108px 0 0;display:block;padding:1rem 20px 7rem;background:#071019;overflow:auto;transform:translateX(100%);visibility:hidden;transition:.35s var(--ease)}.mobile-menu.open{transform:none;visibility:visible}.mobile-menu a{display:block;padding:1rem 0;border-bottom:1px solid var(--line-light);font-family:var(--serif);font-size:1.45rem}.mobile-menu .mobile-about-link{color:var(--gold-light)}.mobile-menu .mobile-group{display:block;margin-top:1.5rem;color:var(--gold);font-family:var(--sans);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.quick-grid{grid-template-columns:repeat(3,1fr)}.library-grid{grid-template-columns:repeat(3,1fr)}.products{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1.6fr repeat(2,1fr)}.footer-col:nth-last-child(-n+2){margin-top:1rem}.zodiac-wheel span{transform:rotate(calc(var(--i)*30deg)) translateY(-30vw) rotate(calc(var(--i)*-30deg))}.content-layout{grid-template-columns:1fr 280px;gap:3rem}.directory-grid{grid-template-columns:repeat(3,1fr)}.practice-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  body{padding-bottom:66px}.container{width:min(calc(100% - 28px),var(--max))}.section{padding:78px 0}.topbar{display:none}.mainbar{height:72px}.site-header .mainbar{border-bottom-color:var(--line-light)}.brand-mark{width:34px}.brand-name strong{font-size:1.15rem}.brand-name small{display:none}.header-actions{display:block}.mainbar{grid-template-columns:1fr auto auto;gap:.5rem}.mobile-menu{inset:72px 0 0}.hero{min-height:850px;padding:135px 0 72px;align-items:center}.hero-content{margin-top:auto}.hero .display{font-size:3.55rem}.hero .lead{font-size:.94rem}.hero-orbit{width:620px;right:-360px;top:37%}.moon{width:260px;right:-65px;top:34%;opacity:.48}.temple-silhouette{left:0;height:23%}.hero-scroll{display:none}.button-row .btn{flex:1 1 100%}.quick-grid{grid-template-columns:repeat(2,1fr)}.quick-card{min-height:155px}.quick-card:nth-child(odd){border-left:1px solid var(--line)}.trust-row{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid rgba(15,29,38,.16)}.section-head{display:block}.section-head .lead{margin-top:1rem}.cards-3{grid-template-columns:1fr}.service-card{min-height:280px}.feature-split{grid-template-columns:1fr}.feature-visual{min-height:440px}.feature-copy{padding:4rem 24px}.tool-shell{grid-template-columns:1fr}.tool-aside{padding:2rem}.tool-form{padding:2rem 1.2rem}.form-grid{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr}.library-grid{grid-template-columns:repeat(3,1fr)}.library-card{min-height:175px}.rashi-grid{grid-template-columns:repeat(2,1fr)}.nakshatra-wrap{grid-template-columns:1fr;gap:3rem}.puja-grid{grid-template-columns:1fr;grid-template-rows:auto}.puja-card,.puja-card:first-child{min-height:330px;grid-row:auto}.products{grid-template-columns:1fr 1fr;gap:.5rem}.product-image{height:170px}.editorial-grid{grid-template-columns:1fr}.article-card{min-height:350px}.page-hero{min-height:440px;padding:135px 0 60px}.page-hero::after{right:-250px}.content-layout{grid-template-columns:1fr}.aside-card{position:relative;top:auto}.directory-grid{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.mobile-dock{position:fixed;z-index:85;display:grid;grid-template-columns:repeat(5,1fr);inset:auto 0 0;height:66px;padding-bottom:env(safe-area-inset-bottom);background:rgba(7,16,25,.96);border-top:1px solid var(--line);backdrop-filter:blur(15px)}.dock-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;color:#849198;font-size:.55rem}.dock-link.active{color:var(--gold-light)}.dock-link b{font-size:1rem;font-weight:400}.floating-stack{bottom:80px}.float-call{display:none}.toast{bottom:84px;width:calc(100% - 28px);text-align:center}
}
@media (max-width:430px){.hero .display{font-size:3.1rem}.library-grid{grid-template-columns:repeat(2,1fr)}.products{grid-template-columns:1fr}.directory-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}.footer-col{margin-top:0!important}}
@media (max-width:760px){.founder-home-grid,.about-profile-grid{grid-template-columns:1fr;gap:3rem}.founder-photo-frame--home{max-width:100%}.about-visual-column{position:relative;top:auto}.founder-focus-list{grid-template-columns:1fr}.profile-facts div{grid-template-columns:88px 1fr}.practice-grid{grid-template-columns:1fr}.practice-card{min-height:190px}.about-quote{padding:1.5rem .5rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
