/* SADHNAM — shared stylesheet. Edit once, applies everywhere. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Karla:wght@400;500;600;700&family=Tiro+Devanagari+Sanskrit:ital@0;1&display=swap');

:root{
  --navy:#071124; --navy-2:#0b1830; --navy-3:#10213d;
  --ivory:#f5f0e6; --paper:#fffdf8; --soft:#eee7dc;
  --gold:#b88a3b; --gold-2:#d7b66c;
  --sindoor:#b94c33; --rose:#d98b87; --green:#315c4b;
  --ink:#162033; --muted:#677184;
  --line:rgba(7,17,36,.12);
  --radius:20px; --shadow:0 20px 55px rgba(7,17,36,.10);
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:"Karla",sans-serif;line-height:1.65}
body.drawer-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--sindoor);outline-offset:3px}
.container{width:min(var(--max),calc(100% - 36px));margin:auto}
.section{padding:80px 0}
.section.alt{background:#ece4d8}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hide{display:none!important}

/* ---------- type ---------- */
h1,h2,h3,h4{font-family:"Fraunces",serif;font-weight:500;letter-spacing:-.02em}
.dev{font-family:"Tiro Devanagari Sanskrit",serif}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}
.section-head h2{margin:8px 0 0;font-size:clamp(34px,4.4vw,54px);line-height:1.03}
.section-head p{max-width:520px;margin:0;color:var(--muted)}
.text-link{color:var(--sindoor);font-weight:700;white-space:nowrap}
.text-link:hover{opacity:.72}
.muted{color:var(--muted)}

/* ---------- buttons ---------- */
.btn,.btn-outline,.btn-ghost{min-height:46px;padding:0 20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;font-weight:700;transition:.25s;font-size:14px}
.btn{background:var(--sindoor);color:#fff}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(185,76,51,.24)}
.btn-outline{border-color:var(--line);background:var(--paper);color:var(--ink)}
.btn-outline:hover{background:#fff}
.btn-ghost{border-color:rgba(255,255,255,.24);color:#fff}
.btn-sm{min-height:36px;padding:0 14px;font-size:12px}
.btn[disabled]{opacity:.55;pointer-events:none}

/* ---------- header ---------- */
.topline{background:#050d1d;color:#d8dfea;font-size:12px}
.topline .container{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topline a{color:var(--gold-2);font-weight:700}
.header{position:sticky;top:0;z-index:60;background:rgba(245,240,230,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.navbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold-2);font:400 18px "Tiro Devanagari Sanskrit",serif}
.brand-copy strong{display:block;font-size:20px;letter-spacing:.19em;line-height:1}
.brand-copy small{display:block;margin-top:5px;color:var(--muted);font-size:10px;letter-spacing:.13em}
.navlinks{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700}
.navlinks a{position:relative;padding:4px 0}
.navlinks a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--sindoor);transition:.25s}
.navlinks a:hover:after,.navlinks a.active:after{width:100%}
.nav-actions{display:flex;align-items:center;gap:9px}
.circle-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;display:grid;place-items:center}
.circle-btn:hover{background:#fff}
.menu-btn{display:none}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(circle at 82% 18%,rgba(215,182,108,.19),transparent 27%),
             radial-gradient(circle at 13% 20%,rgba(217,139,135,.08),transparent 22%),
             linear-gradient(145deg,var(--navy),#0b1931 58%,#0d2242)}
.hero:after{content:attr(data-glyph);position:absolute;right:-40px;bottom:-95px;color:rgba(255,255,255,.028);font:400 290px/1 "Tiro Devanagari Sanskrit",serif;pointer-events:none}
.hero .container{position:relative;z-index:2}
.crumbs{padding-top:26px;color:#8f9fb2;font-size:12px}
.crumbs a{color:var(--gold-2)}
.hero-grid{min-height:480px;padding:48px 0 92px;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.hero h1{margin:16px 0 6px;font-size:clamp(46px,6vw,84px);line-height:.98;letter-spacing:-.035em}
.hero .dev-title{color:var(--gold-2);font:400 27px/1.7 "Tiro Devanagari Sanskrit",serif}
.hero p{max-width:660px;margin:16px 0 0;color:#c6d0dd;font-size:17px}
.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}
.hero-meta{display:flex;gap:32px;flex-wrap:wrap;margin-top:36px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}
.hero-meta strong{display:block;color:var(--gold-2);font-size:20px;font-family:"Fraunces",serif}
.hero-meta span{display:block;color:#9cabbc;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.hero-panel{padding:28px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px)}
.hero-panel h2{margin:8px 0 8px;font-size:32px;line-height:1.05}
.hero-panel p{color:#b6c2d0;font-size:14px}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.hero-tags span{padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#c5ced9;font-size:10px;font-weight:700}

/* ---------- cards / grids ---------- */
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:19px;background:var(--paper);transition:.27s}
a.card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(7,17,36,.09)}
.card-art{min-height:180px;padding:20px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;color:#fff;
  background:radial-gradient(circle at 76% 22%,rgba(215,182,108,.26),transparent 24%),linear-gradient(145deg,#10213d,#33566a)}
.card-art[data-tone="mantra"]{background:radial-gradient(circle at 74% 24%,rgba(215,182,108,.26),transparent 23%),linear-gradient(145deg,#15122d,#4b304b)}
.card-art[data-tone="granth"]{background:radial-gradient(circle at 25% 25%,rgba(215,182,108,.28),transparent 24%),linear-gradient(145deg,#16213a,#5b4933)}
.card-art[data-tone="news"]{background:radial-gradient(circle at 78% 20%,rgba(217,139,135,.24),transparent 24%),linear-gradient(145deg,#1a182a,#6a503b)}
.card-art[data-tone="ayurveda"]{background:radial-gradient(circle at 28% 26%,rgba(215,182,108,.24),transparent 24%),linear-gradient(145deg,#102b2a,#4b624c)}
.card-art[data-tone="research"]{background:radial-gradient(circle at 25% 25%,rgba(217,139,135,.2),transparent 24%),linear-gradient(145deg,#151a35,#3c456b)}
.card-art[data-tone="yoga"]{background:radial-gradient(circle at 75% 22%,rgba(215,182,108,.25),transparent 24%),linear-gradient(145deg,#10213d,#37536a)}
.card-art:after{content:attr(data-glyph);position:absolute;right:8px;bottom:-40px;color:rgba(255,255,255,.075);font:400 126px "Tiro Devanagari Sanskrit",serif}
.card-art>*{position:relative;z-index:2}
.card-art img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}
.badge{align-self:flex-start;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.14);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.card-art .glyph{color:var(--gold-2);font:400 24px "Tiro Devanagari Sanskrit",serif}
.card-body{padding:22px;display:flex;flex:1;flex-direction:column}
.kicker{color:var(--sindoor);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.card-body h3{margin:7px 0 6px;font-size:26px;line-height:1.08}
.card-body p{margin:0;color:var(--muted);font-size:13px}
.card-meta{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:auto;padding-top:16px;color:var(--muted);font-size:10px}
.card-meta span+span:before{content:"·";margin-right:9px;color:var(--gold)}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 0}
.chip{padding:5px 8px;border-radius:999px;background:var(--soft);color:#655c4c;font-size:10px;font-weight:700}

/* list row (news / verses / results) */
.row-list{display:grid;gap:12px}
.row{display:grid;grid-template-columns:76px 1fr auto;gap:18px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--paper);transition:.22s}
a.row:hover{transform:translateX(3px);border-color:rgba(185,76,51,.3);box-shadow:0 10px 28px rgba(7,17,36,.055)}
.row-mark{width:70px;height:70px;border-radius:14px;display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,var(--navy-3),#375c68);color:var(--gold-2);font:400 16px/1.25 "Tiro Devanagari Sanskrit",serif}
.row h3{margin:5px 0 3px;font-size:23px;line-height:1.1}
.row p{margin:0;color:var(--muted);font-size:12px}
.row-arrow{color:var(--sindoor);font-weight:700;font-size:18px}

/* ---------- filters ---------- */
.filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) repeat(auto-fit,minmax(140px,180px)) auto;gap:8px;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.filter-bar input,.filter-bar select{width:100%;height:48px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 13px;outline:none}
.filter-bar input:focus,.filter-bar select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,138,59,.1)}
.filter-shell{position:relative;z-index:5;margin-top:-38px}
.pills{display:flex;gap:7px;flex-wrap:wrap}
.pill{padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:11px;font-weight:700}
.pill.active,.pill:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.result-count{color:var(--muted);font-size:12px}
.result-count strong{color:var(--ink)}
.empty{display:none;padding:46px;border:1px dashed var(--line);border-radius:18px;background:var(--paper);text-align:center;color:var(--muted)}
.empty.show{display:block}
.empty h3{margin:0 0 6px;font-size:28px;color:var(--ink)}

/* ---------- article ---------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:46px;align-items:start}
.article{padding:44px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}
.article h2{margin:48px 0 14px;font-size:38px;line-height:1.08}
.article h2:first-child{margin-top:0}
.article h3{margin:26px 0 8px;font-size:23px}
.article p{color:#525d6d}
.article .lead{margin-top:0;color:var(--ink);font:400 20px/1.68 "Fraunces",serif}
.article ul,.article ol{color:#525d6d}
.article li{margin:8px 0}
.article table{width:100%;border-collapse:collapse;margin-top:14px}
.article th,.article td{border-bottom:1px solid var(--line);padding:12px;text-align:left;font-size:14px}
.article th{color:var(--sindoor);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.note{margin:24px 0;padding:21px 23px;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;background:#f6efe2;color:#4f5968}
.note strong{color:var(--ink)}
.note.warn{border-color:var(--sindoor);background:#fff7f2}
.note.warn strong{color:var(--sindoor)}
.scripture{margin:30px 0;padding:26px;border-left:4px solid var(--gold);border-radius:0 14px 14px 0;background:#f4ecdf}
.scripture .sk{font:400 26px/1.75 "Tiro Devanagari Sanskrit",serif;color:#16233b}
.scripture .tr{margin-top:14px;color:#7a5c32;font-style:italic;font-size:14px}
.scripture .mn{margin-top:12px;color:#4d5665;font-size:15px}
.sidebar{position:sticky;top:110px;display:grid;gap:15px}
.side-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.side-card h3{margin:0 0 13px;font-size:22px}
.side-card.dark{background:var(--navy);color:#fff}
.side-card.dark p{color:#aeb9c7;font-size:12px}
.side-card.warn{border-color:rgba(185,76,51,.24);background:#fff7f2}
.side-card.warn h3{color:var(--sindoor)}
.side-card.warn p{margin:0;color:var(--muted);font-size:12px}
.toc a{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}
.toc a:last-child{border:0}
.toc a:after{content:"→";color:var(--sindoor)}
.fact{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}
.fact:last-child{border:0}
.fact span{color:var(--muted)}
.fact strong{text-align:right}

/* ---------- media player ---------- */
.player{display:grid;grid-template-columns:1fr 1.3fr;gap:26px;padding:26px;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:var(--shadow)}
.player-wrap{position:relative;z-index:5;margin-top:-46px}
.track{display:flex;align-items:center;gap:16px}
.cover{width:80px;height:80px;border-radius:16px;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(145deg,var(--navy-3),#35606b);color:var(--gold-2);font:400 22px "Tiro Devanagari Sanskrit",serif}
.track small{color:var(--sindoor);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.track h2{margin:4px 0 2px;font-size:23px;line-height:1.1}
.track p{margin:0;color:var(--muted);font-size:11px}
.controls{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.play-btn{width:54px;height:54px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--sindoor);color:#fff;font-size:18px;box-shadow:0 10px 24px rgba(185,76,51,.22)}
.timeline{display:grid;gap:6px;min-width:0}
.seek{width:100%;accent-color:var(--sindoor)}
.time-row{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}
.ptools{display:flex;align-items:center;gap:7px}
.skip{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:10px;font-weight:700}
.speed{height:38px;padding:0 8px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:11px}
.player-state{grid-column:1/-1;min-height:18px;margin:0;color:var(--muted);font-size:10px}
.video-frame{position:relative;padding-top:56.25%;border-radius:18px;overflow:hidden;background:var(--navy)}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
.transcript{margin-top:20px;border:1px solid var(--line);border-radius:15px;overflow:hidden}
.transcript details+details{border-top:1px solid var(--line)}
.transcript summary{padding:16px 20px;display:flex;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-weight:700;background:#fff}
.transcript summary::-webkit-details-marker{display:none}
.transcript summary:after{content:"+";color:var(--sindoor);font-size:20px;line-height:1}
.transcript details[open] summary:after{content:"−"}
.transcript div{padding:0 20px 18px;color:#566171;font-size:14px}

/* ---------- forms (admin/contact) ---------- */
.form-card{padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--paper);margin-bottom:18px}
.form-card h2{margin:0 0 6px;font-size:28px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:16px}
.field{display:grid;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:11px;font-weight:700}
.field label i{color:var(--sindoor);font-style:normal}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px 13px;outline:none}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,138,59,.1)}
.field small{color:var(--muted);font-size:10px}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,140%);z-index:120;padding:14px 22px;border-radius:999px;background:var(--navy);color:#fff;font-size:13px;font-weight:700;box-shadow:var(--shadow);transition:.3s}
.toast.show{transform:translate(-50%,0)}
.table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:middle}
.table th{background:#f1e9dc;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.table tr:last-child td{border-bottom:0}
.tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--soft);color:#6b6151;font-size:10px;font-weight:700}
.tag.live{background:#ddefe9;color:#226356}
.tag.draft{background:#f3e3d5;color:#8c5a2e}

/* ---------- footer / drawer ---------- */
footer{background:#050d1d;color:#aeb8c6;padding:62px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:38px}
footer h3,footer h4{color:#fff;margin-top:0}
footer h3{font-size:30px}
footer a{display:block;margin:7px 0;font-size:13px}
footer a:hover{color:var(--gold-2)}
.footer-brand p{max-width:330px;font-size:13px}
.motto{color:var(--gold-2);font-family:"Tiro Devanagari Sanskrit",serif}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:11px}
.backdrop{position:fixed;inset:0;z-index:80;background:rgba(2,8,18,.64);opacity:0;visibility:hidden;transition:.25s}
.backdrop.show{opacity:1;visibility:visible}
.drawer{position:fixed;z-index:90;top:0;right:0;width:min(400px,89vw);height:100%;overflow:auto;padding:26px;background:var(--paper);transform:translateX(105%);transition:.3s;box-shadow:-20px 0 70px rgba(7,17,36,.2)}
.drawer.open{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line)}
.drawer-head strong{letter-spacing:.18em}
.drawer-close{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:22px}
.drawer-links{padding-top:14px}
.drawer-links a{display:flex;justify-content:space-between;padding:13px 4px;border-bottom:1px solid var(--line);font:500 21px "Fraunces",serif}
.drawer-links a:after{content:"→";color:var(--sindoor)}

/* ---------- responsive ---------- */
@media(max-width:1100px){
  .navlinks{display:none}.menu-btn{display:grid}
  .g4{grid-template-columns:repeat(2,1fr)}
  .layout{grid-template-columns:minmax(0,1fr) 270px;gap:28px}
  .filter-bar{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:34px;padding-bottom:86px}
  .g3,.g2{grid-template-columns:1fr 1fr}
  .layout{grid-template-columns:1fr}
  .sidebar{position:static;grid-template-columns:1fr 1fr;display:grid}
  .player{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .topline{display:none}
  .container{width:calc(100% - 22px)}
  .navbar{min-height:70px}
  .brand-copy small{display:none}
  .nav-actions>.circle-btn:first-child{display:none}
  .section{padding:58px 0}
  .section-head{align-items:flex-start;flex-direction:column}
  .hero h1{font-size:clamp(42px,13vw,62px)}
  .hero:after{font-size:170px;right:-25px}
  .g2,.g3,.g4{grid-template-columns:1fr}
  .row{grid-template-columns:56px 1fr;padding:16px;gap:13px}
  .row-mark{width:54px;height:54px;border-radius:12px;font-size:13px}
  .row-arrow{display:none}
  .article{padding:26px 20px}
  .article h2{font-size:31px}
  .sidebar{grid-template-columns:1fr}
  .filter-bar{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{display:block}
  .table{display:block;overflow-x:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{.topline,.header,.drawer,.backdrop,.sidebar,footer,.player-wrap,.filter-shell{display:none!important}body{background:#fff}.article{border:0;padding:0}}
