
:root{
  --ink:#2b1a10;--ink-soft:#5a4128;--paper:#f2e4c6;--paper-2:#ecdcb6;--card:#fbf4e2;--card-edge:#e4d3aa;
  --teak:#6f4626;--teak-soft:#8a6238;--marigold:#e0951b;--marigold-deep:#c47c10;--vermilion:#c23f2a;
  --peacock:#0f7268;--peacock-deep:#0b564e;--gold-badge:#eda92b;--green:#3f9152;
  --shadow:0 14px 34px -12px rgba(60,35,12,.42);--shadow-sm:0 6px 18px -8px rgba(60,35,12,.4);
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:"Mulish",system-ui,sans-serif;color:var(--ink);line-height:1.65;
  background:
    radial-gradient(1200px 640px at 50% -6%, rgba(224,149,27,.16), transparent 60%),
    linear-gradient(180deg,#efe0bf 0%, var(--paper) 55%, #e7d4ab 100%);
  background-attachment:fixed;min-height:100vh;
}
.te{font-family:"Noto Sans Telugu",sans-serif}
.wrap{max-width:820px;margin:0 auto;padding:0 20px}
a{color:var(--peacock-deep);text-decoration:none}
a:hover{text-decoration:underline}
.accent{--accent:var(--peacock)}
.accent-v{--accent:var(--peacock)} .accent-s{--accent:var(--vermilion)}

/* top bar */
.topbar{background:linear-gradient(180deg,rgba(247,238,218,.96),rgba(247,238,218,.86));
  border-bottom:1px solid rgba(111,70,38,.16);position:sticky;top:0;z-index:5;backdrop-filter:blur(6px)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;padding:11px 20px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--teak)}
.brand img{width:38px;height:38px;border-radius:11px;box-shadow:var(--shadow-sm)}
.brand b{color:var(--vermilion);font-family:"Fraunces",serif;font-size:19px}
.brand small{display:block;color:var(--ink-soft);font-weight:600;font-size:11px;margin-top:-2px}
.appbtn{display:inline-flex;align-items:center;gap:7px;background:var(--vermilion);color:#fff;font-weight:800;
  font-size:13.5px;padding:9px 16px;border-radius:999px;box-shadow:var(--shadow-sm)}
.appbtn:hover{text-decoration:none;transform:translateY(-1px)}

/* breadcrumb */
.crumbs{font-size:12.5px;color:var(--ink-soft);padding:16px 0 4px;font-weight:600}
.crumbs a{color:var(--teak)}
.crumbs span{opacity:.55;margin:0 6px}

/* headings */
main{padding-bottom:64px}
.eyebrow{font-weight:800;letter-spacing:1.4px;text-transform:uppercase;font-size:12px;color:var(--accent,var(--peacock));margin:14px 0 4px}
h1{font-family:"Noto Serif Telugu",serif;font-size:clamp(30px,5vw,44px);line-height:1.25;margin:0 0 6px;color:var(--teak)}
h1 .en{display:block;font-family:"Fraunces",serif;font-style:italic;font-size:.5em;color:var(--ink-soft);font-weight:500;margin-top:6px}
h2{font-family:"Fraunces",serif;font-size:23px;color:var(--teak);margin:38px 0 12px}
h2.te{font-family:"Noto Sans Telugu",sans-serif;font-weight:800}
.divider{width:120px;height:3px;border-radius:2px;background:var(--marigold);margin:6px 0 8px}

/* palm-leaf verse panel */
.leaf{position:relative;margin:22px 0 26px;padding:44px clamp(26px,6vw,60px);border-radius:12px / 34px;color:#3a2410;
  background:repeating-linear-gradient(0deg,transparent 0 35px,rgba(111,70,38,.055) 35px 36px),
    radial-gradient(120% 100% at 50% 0%,#f0dcaa 0%,#e7cd93 55%,#ddc082 100%);
  border:1px solid rgba(111,70,38,.4);
  box-shadow:inset 0 0 46px rgba(120,74,30,.28),inset 0 0 6px rgba(120,74,30,.35),var(--shadow);overflow:hidden}
.leaf .hole{position:absolute;top:50%;width:15px;height:15px;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#b89a63,#7a5423);box-shadow:inset 0 1px 3px rgba(0,0,0,.5);transform:translateY(-50%)}
.leaf .hole.l{left:16px}.leaf .hole.r{right:16px}
.verse{position:relative;text-align:center;font-family:"Noto Serif Telugu",serif}
.verse .line{display:block;font-size:clamp(20px,3.2vw,27px);font-weight:600;line-height:1.9;color:#3a2410;text-shadow:0 1px 0 rgba(255,255,255,.28)}
.verse .line.sig{color:var(--vermilion);font-weight:700}

/* watch/listen CTA */
.playcta{display:flex;justify-content:center;margin:0 0 30px}
.playcta a{display:inline-flex;align-items:center;gap:10px;background:var(--accent,var(--peacock));color:#fff;font-weight:800;
  font-size:16px;padding:14px 26px;border-radius:14px;box-shadow:var(--shadow);}
.playcta a:hover{text-decoration:none;transform:translateY(-2px)}
.playcta svg{width:20px;height:20px;fill:currentColor}

/* text blocks */
.block{background:var(--card);border:1px solid var(--card-edge);border-radius:16px;padding:20px 22px;margin:0 0 16px;box-shadow:var(--shadow-sm)}
.block p{margin:0}
.block .lbl{font-weight:800;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--accent,var(--peacock));margin-bottom:8px}
.te-body{font-family:"Noto Sans Telugu",sans-serif;font-size:17px}
.translit{font-style:italic;color:var(--ink-soft);white-space:pre-line}

/* FAQ */
.faq details{background:var(--card);border:1px solid var(--card-edge);border-radius:14px;margin:0 0 10px;box-shadow:var(--shadow-sm)}
.faq summary{cursor:pointer;font-weight:800;padding:15px 18px;list-style:none;color:var(--teak)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--accent,var(--peacock));font-size:20px;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq .ans{padding:0 18px 16px;color:var(--ink-soft)}

/* related + poem grid */
.rel{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 0}
.rel a{display:block;background:var(--card);border:1px solid var(--card-edge);border-radius:13px;padding:14px 16px;box-shadow:var(--shadow-sm);color:var(--ink)}
.rel a:hover{text-decoration:none;border-color:var(--accent,var(--peacock));transform:translateY(-2px)}
.rel .k{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--accent,var(--peacock))}
.rel .t{font-family:"Noto Serif Telugu",serif;font-weight:600;margin-top:3px}

/* satakam index */
.hero{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:18px 0 8px}
.hero img{width:150px;border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--card-edge)}
.plist{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 0}
.pcard{background:var(--card);border:1px solid var(--card-edge);border-radius:16px;padding:18px;box-shadow:var(--shadow-sm);color:var(--ink);display:block}
.pcard:hover{text-decoration:none;border-color:var(--accent,var(--peacock));transform:translateY(-3px)}
.pcard .num{font-family:"Noto Serif Telugu",serif;font-size:22px;color:var(--vermilion);font-weight:700}
.pcard .fl{font-family:"Noto Serif Telugu",serif;font-weight:600;font-size:18px;margin-top:4px}

/* enroll strip */
.enroll{background:linear-gradient(135deg,color-mix(in srgb,var(--peacock) 12%,var(--card)),var(--card));
  border:1px solid var(--card-edge);border-radius:18px;padding:22px;margin:34px 0 0;text-align:center}
.enroll h3{margin:0 0 4px;font-family:"Fraunces",serif;color:var(--teak)}
.enroll p{margin:0 0 14px;color:var(--ink-soft)}
.enroll a{display:inline-block;background:var(--peacock);color:#fff;font-weight:800;padding:12px 22px;border-radius:12px}
.enroll a:hover{text-decoration:none}

footer{border-top:1px solid rgba(111,70,38,.16);margin-top:40px;padding:26px 0;color:var(--ink-soft);font-size:13px}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer a{color:var(--teak);font-weight:700}

@media(max-width:640px){
  .rel,.plist{grid-template-columns:1fr}
  .hero img{width:120px}
  .brand small{display:none}
}
