
:root{
  --bg:#0E0D0B; --bg2:#14120E; --card:#171410; --ivory:#EFE7D3; --gold:#B8A478;
  --gold2:#D8C491; --ring:#5C5446; --sub:#A89E8C; --line:rgba(184,164,120,.22);
  --paper:#F2ECDD; --paper-ink:#1B1813;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ivory);font-family:'Cormorant Garamond',Georgia,serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;z-index:0;
  background-image:radial-gradient(rgba(239,231,211,.025) 1px,transparent 1px);background-size:5px 5px}
.pa{font-family:'Noto Serif Gurmukhi','Cormorant Garamond',serif}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px;position:relative;z-index:1}
#progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold2));width:0;z-index:99}
header{position:sticky;top:0;z-index:50;background:rgba(14,13,11,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:13px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:44px;height:44px;border-radius:50%}
.brand .bname{letter-spacing:.28em;font-size:15px}
.brand .bname small{display:block;letter-spacing:.14em;color:var(--sub);font-size:11px;margin-top:2px}
nav.links{display:flex;gap:26px;align-items:center}
nav.links a{letter-spacing:.18em;font-size:13px;color:var(--sub);text-transform:uppercase;transition:color .25s}
nav.links a:hover,nav.links a.active{color:var(--ivory)}
#paperBtn{background:none;border:1px solid var(--ring);color:var(--sub);padding:8px 14px;letter-spacing:.14em;font-size:11px;text-transform:uppercase;cursor:pointer;font-family:inherit}
#paperBtn:hover{border-color:var(--gold);color:var(--ivory)}
.hero{text-align:center;padding:96px 0 72px;border-bottom:1px solid var(--line);position:relative;
  background:radial-gradient(ellipse 75% 60% at 50% -5%,rgba(184,164,120,.14),transparent 70%)}
.hero img.logo{width:216px;height:216px;border-radius:50%;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.hero h1{font-size:clamp(46px,7.5vw,78px);font-weight:600;line-height:1.18;margin-top:30px}
.hero .latin{letter-spacing:.44em;font-size:clamp(14px,2.4vw,19px);margin-top:16px;
  background:linear-gradient(100deg,#9A865E,var(--gold2) 45%,#9A865E);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .tag{font-style:italic;color:var(--sub);font-size:20px;margin-top:10px}
.hero p.lede{max-width:580px;margin:24px auto 0;color:var(--sub);font-size:19.5px;line-height:1.65}
.btns{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{border:1px solid var(--gold);padding:14px 32px;letter-spacing:.2em;font-size:13px;text-transform:uppercase;transition:.25s;display:inline-block}
.btn:hover{background:var(--gold);color:#14120E}
.btn.ghost{border-color:var(--ring);color:var(--sub)}
.btn.ghost:hover{border-color:var(--gold);color:#14120E;background:var(--gold)}
.divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:28px auto}
.divider:before,.divider:after{content:"";height:1px;width:92px;background:var(--gold);opacity:.6}
.divider i{width:9px;height:9px;background:var(--gold);transform:rotate(45deg);display:block}
section{padding:68px 0}
h2.sec{font-size:36px;font-weight:600;text-align:center}
p.secsub{text-align:center;color:var(--sub);font-style:italic;margin-top:8px;font-size:18px}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.feat{max-width:780px;margin:42px auto 0;background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);padding:46px 40px;text-align:center;transition:border-color .3s;display:block}
.feat:hover{border-color:var(--gold)}
.feat .kind{letter-spacing:.26em;font-size:11px;color:var(--gold);text-transform:uppercase}
.feat h3{font-size:clamp(34px,5vw,46px);margin:14px 0 4px;font-weight:600}
.feat .latin2{letter-spacing:.22em;color:var(--sub);font-size:14px;text-transform:uppercase}
.feat .ex{font-size:clamp(22px,3.4vw,29px);line-height:1.75;margin:22px 0}
.feat .read{color:var(--gold);letter-spacing:.18em;font-size:12px;text-transform:uppercase}
.tools{max-width:760px;margin:36px auto 0;display:flex;flex-direction:column;gap:16px;align-items:center}
#search{width:100%;background:var(--bg2);border:1px solid var(--ring);color:var(--ivory);padding:14px 18px;font-family:inherit;font-size:18px;text-align:center}
#search:focus{outline:none;border-color:var(--gold)}
.chips{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}
.chip{border:1px solid var(--ring);background:none;color:var(--sub);padding:8px 16px;letter-spacing:.12em;font-size:12px;text-transform:uppercase;cursor:pointer;font-family:inherit;transition:.2s}
.chip:hover{border-color:var(--gold);color:var(--ivory)}
.chip.on{background:var(--gold);color:#14120E;border-color:var(--gold)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:40px}
.card{background:var(--card);border:1px solid var(--line);padding:34px 30px;transition:transform .3s,border-color .3s;display:block;position:relative}
.card:hover{transform:translateY(-5px);border-color:var(--gold)}
.card .num{position:absolute;top:18px;right:22px;color:var(--ring);font-size:15px;letter-spacing:.1em}
.card .kind{letter-spacing:.24em;font-size:11px;color:var(--gold);text-transform:uppercase}
.card h3{font-size:31px;margin:14px 0 4px;font-weight:600;line-height:1.35}
.card .latin2{letter-spacing:.2em;color:var(--sub);font-size:13px;text-transform:uppercase}
.card .ex{font-size:20.5px;line-height:1.7;margin:18px 0}
.card .theme{color:var(--sub);font-size:15px;letter-spacing:.06em}
.card .read{margin-top:18px;color:var(--gold);letter-spacing:.18em;font-size:12px;text-transform:uppercase}
.empty{text-align:center;color:var(--sub);font-style:italic;font-size:19px;padding:30px 0;display:none}
.quote{text-align:center;max-width:780px;margin:0 auto}
.quote .big{font-size:clamp(28px,4.4vw,40px);line-height:1.6}
.quote .who{color:var(--sub);margin-top:16px;letter-spacing:.2em;font-size:13px;text-transform:uppercase}
.reading{max-width:740px;margin:0 auto;padding:66px 22px 26px;text-align:center;position:relative;z-index:1}
.reading .kind{letter-spacing:.26em;font-size:12px;color:var(--gold);text-transform:uppercase}
.reading h1{font-size:clamp(40px,6vw,58px);margin:16px 0 6px;font-weight:600;line-height:1.3}
.reading .latin2{letter-spacing:.24em;color:var(--sub);text-transform:uppercase;font-size:14px}
.reading .sub2{color:var(--sub);font-style:italic;margin-top:8px;font-size:18px}
.reading .theme{color:var(--sub);font-style:italic;margin-top:10px;font-size:17px}
.poem{margin:42px auto 8px;text-align:center}
.poem .couplet{margin:0 0 30px}
.poem p{font-size:clamp(21px,3.2vw,27px);line-height:1.85}
.poem .roman p{font-size:clamp(19px,2.8vw,23px)}
.poem .first p:first-child{font-size:clamp(24px,3.8vw,31px)}
.acts{display:flex;gap:12px;justify-content:center;margin:34px 0 6px;flex-wrap:wrap}
.acts button{background:none;border:1px solid var(--ring);color:var(--sub);padding:11px 22px;letter-spacing:.16em;font-size:12px;text-transform:uppercase;cursor:pointer;font-family:inherit;transition:.25s}
.acts button:hover{border-color:var(--gold);color:var(--ivory)}
.prevnext{display:flex;justify-content:space-between;gap:16px;max-width:740px;margin:26px auto 0;padding:22px;border-top:1px solid var(--line)}
.prevnext a{color:var(--sub);font-size:16px;max-width:46%}
.prevnext a:hover{color:var(--ivory)}
.prevnext .dir{letter-spacing:.18em;font-size:11px;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:5px}
.aboutbox{max-width:680px;margin:0 auto;text-align:center}
.aboutbox img{width:172px;height:172px;border-radius:50%;box-shadow:0 18px 50px rgba(0,0,0,.5)}
.aboutbox p{font-size:20px;line-height:1.75;margin-top:18px}
.aboutbox p.dim{color:var(--sub)}
footer{border-top:1px solid var(--line);padding:38px 0;text-align:center;color:var(--sub);position:relative;z-index:1}
footer .fl{letter-spacing:.3em;font-size:13px;color:var(--ivory)}
footer p{margin-top:10px;font-size:15px}
footer a{color:var(--gold)}
body.paper{background:var(--paper);color:var(--paper-ink)}
body.paper header{background:rgba(242,236,221,.94)}
body.paper nav.links a{color:#7A7261} body.paper nav.links a:hover,body.paper nav.links a.active{color:var(--paper-ink)}
body.paper .brand .bname small,body.paper .reading .latin2,body.paper .reading .theme,body.paper .reading .sub2,body.paper footer,body.paper .prevnext a{color:#7A7261}
body.paper .card,body.paper .feat{background:#EAE2CE}
body.paper footer .fl{color:var(--paper-ink)}
body.paper section,body.paper .reading{background:transparent}
@media(max-width:640px){nav.links{gap:14px}nav.links a{font-size:11px}.hero{padding:58px 0 46px}.feat{padding:34px 24px}}
