/* ==========================================================
   ASHVATTHA PRESS — design tokens
   ========================================================== */
:root{
  --bg-0:#100c0a; --bg-1:#17110e; --bg-2:#1e1712; --bg-3:#241c15;
  --gold:#c5a059; --gold-bright:#e3c179; --gold-dim:#8a713f;
  --ivory:#efe7d8; --ivory-dim:#b9ac97; --ivory-faint:#7c7264;
  --line: rgba(197,160,89,0.16);
  --container: 1120px;
  --display:'Cormorant Garamond', serif;
  --serif:'EB Garamond', serif;
  --devanagari:'Noto Serif Devanagari', serif;
  --sans:'Work Sans', sans-serif;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--bg-0); color:var(--ivory-dim);
  font-family:var(--serif); font-size:17px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{ font-family:var(--display); color:var(--ivory); font-weight:500; margin:0; line-height:1.15; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
.grain{ position:fixed; inset:0; pointer-events:none; opacity:0.035; z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* NAV */
.site-nav{ position:sticky; top:0; z-index:50; background:rgba(16,12,10,0.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.nav-inner{ max-width:var(--container); margin:0 auto; padding:18px 24px; display:flex; align-items:center; justify-content:space-between; }
.nav-brand{ display:flex; align-items:center; gap:12px; }
.nav-mark{ width:34px; height:34px; }
.nav-word{ font-family:var(--sans); font-size:14px; letter-spacing:0.14em; color:var(--ivory); }
.nav-links{ display:flex; gap:32px; font-family:var(--sans); font-size:14px; }
.nav-links a, .nav-links-mobile a{ color:var(--ivory-dim); transition:color 0.2s ease; }
.nav-links a:hover, .nav-links a.active, .nav-links-mobile a:hover, .nav-links-mobile a.active{ color:var(--gold); }
.nav-links-mobile{ display:none; }
.nav-toggle{ display:none; background:none; border:none; padding:8px; cursor:pointer; }
.nav-toggle span{ display:block; width:22px; height:1.5px; background:var(--ivory); margin:5px 0; transition:transform 0.25s ease, opacity 0.25s ease; }
.nav-toggle.is-open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2){ opacity:0; }
.nav-toggle.is-open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

/* BUTTONS */
.btn{ display:inline-block; padding:14px 30px; font-family:var(--sans); font-size:13px; letter-spacing:0.06em; text-transform:uppercase; border-radius:2px; transition:all 0.25s ease; cursor:pointer; border:1px solid transparent; }
.btn-solid{ background:var(--gold); color:var(--bg-0); }
.btn-solid:hover{ background:var(--gold-bright); }
.btn-ghost{ border-color:var(--gold-dim); color:var(--ivory); }
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold); }

/* PAGE HERO (interior pages) */
.page-hero{ padding:110px 24px 70px; text-align:center; border-bottom:1px solid var(--line); }
.page-hero .eyebrow{ font-family:var(--sans); font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }
.page-hero h1{ font-size:clamp(36px,5vw,54px); max-width:820px; margin:0 auto 18px; }
.page-hero p{ max-width:640px; margin:0 auto; color:var(--ivory-dim); font-size:18px; }

.section-head{ max-width:640px; margin:0 auto 56px; text-align:center; }
.eyebrow{ font-family:var(--sans); font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; }
.section-head h2{ font-size:clamp(30px,4vw,42px); margin-bottom:16px; }
.section-sub{ color:var(--ivory-dim); font-size:17px; }

/* BOOK GRID (books index) */
.books{ padding:90px 24px 120px; }
.book-grid{ max-width:var(--container); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding:0 24px; }
.book-card{ background:var(--bg-2); border:1px solid var(--line); display:flex; flex-direction:column; transition:border-color 0.3s ease, transform 0.3s ease; }
.book-card:hover{ border-color:var(--gold-dim); transform:translateY(-3px); }
.book-cover{ background:#0c0a08; display:flex; align-items:center; justify-content:center; height:320px; padding:26px; border-bottom:1px solid var(--line); }
.book-cover img{ max-height:100%; max-width:100%; object-fit:contain; box-shadow:0 18px 40px rgba(0,0,0,0.5); }
.book-cover img, .book-detail-cover img, .jacket-full{
  -webkit-user-select:none; user-select:none;
  -webkit-touch-callout:none;
  -webkit-user-drag:none; user-drag:none;
  pointer-events:auto;
}
.book-card-body{ padding:26px 26px 30px; display:flex; flex-direction:column; flex:1; }
.book-title{ font-size:24px; margin-bottom:6px; }
.book-lang{ font-family:var(--devanagari); color:var(--ivory-faint); font-size:14px; margin:0 0 14px; }
.book-desc{ color:var(--ivory-dim); font-size:15px; flex:1; }
.book-credit{ font-family:var(--sans); font-size:11.5px; letter-spacing:0.03em; color:var(--gold-dim); margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.book-more{ display:inline-block; margin-top:16px; font-family:var(--sans); font-size:12.5px; letter-spacing:0.05em; color:var(--gold); }

/* TIERS */
.publish{ padding:100px 24px; }
.tier-grid{ max-width:var(--container); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:26px; padding:0 24px; }
.tier-card{ position:relative; background:var(--bg-2); border:1px solid var(--line); padding:40px 32px; display:flex; flex-direction:column; transition:border-color 0.3s ease, transform 0.3s ease; }
.tier-card:hover{ border-color:var(--gold-dim); transform:translateY(-4px); }
.tier-card--featured{ border-color:var(--gold-dim); background:var(--bg-3); }
.tier-flag{ position:absolute; top:-12px; left:32px; font-family:var(--sans); font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--bg-0); background:var(--gold); padding:5px 14px; border-radius:100px; }
.tier-name{ font-size:30px; margin-bottom:2px; }
.tier-hindi{ font-family:var(--devanagari); color:var(--gold); font-size:16px; margin:0 0 18px; }
.tier-price{ font-family:var(--sans); font-size:14px; color:var(--ivory-faint); margin:0 0 6px; }
.tier-price span{ font-family:var(--display); font-size:34px; color:var(--ivory); margin-left:2px; }
.tier-line{ font-family:var(--display); font-style:italic; font-size:17px; color:var(--gold-bright); margin:0 0 24px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.tier-list{ list-style:none; padding:0; margin:0 0 32px; flex:1; }
.tier-list li{ color:var(--ivory-dim); font-size:15px; padding:8px 0 8px 26px; position:relative; }
.tier-list li::before{ content:""; position:absolute; left:0; top:15px; width:12px; height:6px; border-left:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold); transform:rotate(-45deg); }
.tier-btn{ width:100%; text-align:center; }
.tier-note{ max-width:720px; margin:44px auto 0; text-align:center; color:var(--ivory-faint); font-family:var(--display); font-style:italic; font-size:17px; line-height:1.6; }
.why-band{ max-width:var(--container); margin:90px auto 0; padding:60px 24px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.why-item h4{ font-size:21px; font-weight:500; color:var(--gold-bright); margin:0 0 10px; }
.why-item p{ color:var(--ivory-dim); font-size:15px; line-height:1.65; margin:0; }

/* FAQ */
.faq{ max-width:760px; margin:90px auto 0; padding:0 24px; }
.faq-item{ border-bottom:1px solid var(--line); padding:26px 0; }
.faq-item h4{ font-size:19px; font-weight:500; color:var(--ivory); margin:0 0 10px; }
.faq-item p{ color:var(--ivory-dim); font-size:15.5px; margin:0; }

/* BOOK DETAIL PAGE */
.book-detail{ max-width:var(--container); margin:0 auto; padding:90px 24px 120px; display:grid; grid-template-columns:380px 1fr; gap:70px; align-items:start; }
.book-detail-cover{ background:#0c0a08; border:1px solid var(--line); padding:30px; display:flex; align-items:center; justify-content:center; position:sticky; top:100px; }
.book-detail-cover img{ box-shadow:0 20px 50px rgba(0,0,0,0.55); }
.book-detail-title{ font-size:clamp(32px,4vw,46px); margin-bottom:8px; }
.book-detail-lang{ font-family:var(--devanagari); color:var(--gold); font-size:19px; margin:0 0 6px; }
.book-detail-sub{ font-family:var(--display); font-style:italic; color:var(--ivory-dim); font-size:18px; margin:0 0 30px; }
.book-detail-meta{ display:flex; flex-wrap:wrap; gap:10px 28px; font-family:var(--sans); font-size:12.5px; color:var(--ivory-faint); margin-bottom:34px; padding-bottom:30px; border-bottom:1px solid var(--line); }
.book-detail-meta strong{ color:var(--ivory-dim); font-weight:500; }
.book-detail-body p{ font-size:17px; color:var(--ivory-dim); margin:0 0 20px; }
.book-detail-pull{ font-family:var(--display); font-style:italic; font-size:22px; color:var(--gold-bright); margin:36px 0; line-height:1.5; padding-left:24px; border-left:2px solid var(--gold-dim); }
.book-credit-box{ margin-top:36px; padding:18px 22px; background:var(--bg-2); border:1px solid var(--line); font-family:var(--sans); font-size:13px; color:var(--gold-dim); }
.author-block{ margin-top:44px; padding-top:36px; border-top:1px solid var(--line); display:flex; gap:20px; align-items:flex-start; }
.author-photo{ width:72px; height:72px; border-radius:50%; object-fit:cover; flex-shrink:0; border:1px solid var(--line); }
.author-name{ font-family:var(--display); font-size:19px; color:var(--ivory); margin:0 0 4px; }
.author-bio{ font-size:15px; color:var(--ivory-dim); margin:0; }
.jacket-section{ margin-top:70px; padding-top:50px; border-top:1px solid var(--line); }
.jacket-section h3{ font-size:22px; margin-bottom:24px; text-align:center; font-weight:500; }
.jacket-full{ border:1px solid var(--line); }
.book-detail-back{ display:inline-block; margin-bottom:36px; font-family:var(--sans); font-size:13px; color:var(--ivory-faint); }
.book-detail-back:hover{ color:var(--gold); }

@media (max-width:880px){
  .book-detail{ grid-template-columns:1fr; gap:40px; }
  .book-detail-cover{ position:static; max-width:320px; margin:0 auto; }
}

/* ABOUT */
.about-page{ max-width:760px; margin:0 auto; padding:90px 24px 120px; }
.about-page p{ font-size:17.5px; color:var(--ivory-dim); margin:0 0 22px; }
.about-page .pull{ font-family:var(--display); font-style:italic; font-size:24px; color:var(--gold-bright); margin:40px 0; text-align:center; line-height:1.5; }

/* CONTACT / FORM */
.contact{ padding:100px 24px 120px; text-align:center; }
.contact-methods{ max-width:600px; margin:50px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact-method{ background:var(--bg-2); border:1px solid var(--line); padding:26px; transition:border-color 0.2s ease; }
.contact-method:hover{ border-color:var(--gold-dim); }
.contact-label{ display:block; font-family:var(--sans); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.contact-value{ font-family:var(--display); font-size:19px; color:var(--ivory); }
.contact-value--icon{ display:inline-flex; align-items:center; gap:10px; color:var(--gold); }
.form-wrap{ max-width:560px; margin:56px auto 0; text-align:left; }
.form-row{ margin-bottom:20px; }
.form-row label{ display:block; font-family:var(--sans); font-size:12.5px; letter-spacing:0.05em; text-transform:uppercase; color:var(--ivory-faint); margin-bottom:8px; }
.form-row input, .form-row select, .form-row textarea{
  width:100%; background:var(--bg-2); border:1px solid var(--line); color:var(--ivory);
  padding:13px 16px; font-family:var(--serif); font-size:15.5px; border-radius:2px;
}
.form-row textarea{ resize:vertical; min-height:120px; }
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{ outline:none; border-color:var(--gold-dim); }
.form-submit{ width:100%; border:none; font-family:var(--sans); }
@media (max-width:600px){ .contact-methods{ grid-template-columns:1fr; } }

/* FOOTER */
.site-footer{ text-align:center; padding:70px 24px 50px; border-top:1px solid var(--line); }
.footer-mark{ width:52px; margin:0 auto 18px; }
.footer-word{ font-family:var(--sans); font-size:14px; letter-spacing:0.14em; color:var(--ivory); margin:0 0 10px; }
.footer-tagline{ font-family:var(--devanagari); color:var(--gold-dim); font-size:15px; margin:0 0 18px; }
.footer-address{ font-family:var(--sans); font-size:12px; letter-spacing:0.04em; color:var(--ivory-faint); margin:0 0 10px; }
.footer-copy{ font-family:var(--sans); font-size:12px; color:var(--ivory-faint); margin:0; }
.footer-legal{ font-family:var(--sans); font-size:12px; margin:10px 0 0; }
.footer-legal a{ color:var(--ivory-faint); text-decoration:underline; text-underline-offset:3px; }
.footer-legal a:hover{ color:var(--gold); }
.footer-links{ display:flex; justify-content:center; gap:26px; flex-wrap:wrap; margin:26px 0; font-family:var(--sans); font-size:13px; }
.footer-links a{ color:var(--ivory-dim); }
.footer-links a:hover{ color:var(--gold); }

/* 404 */
.error-page{ min-height:60vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:60px 24px; }
.error-page h1{ font-size:clamp(60px,10vw,110px); color:var(--gold-dim); margin-bottom:10px; }

/* Legal page reuse */
.legal{ max-width:720px; margin:0 auto; padding:90px 24px 120px; }
.legal h1{ font-size:clamp(32px,5vw,44px); margin-bottom:8px; }
.legal .updated{ font-family:var(--sans); font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold); margin:0 0 50px; }
.legal h2{ font-size:24px; margin:48px 0 16px; color:var(--gold-bright); font-weight:500; }
.legal p{ color:var(--ivory-dim); font-size:16.5px; line-height:1.75; margin:0 0 16px; }
.legal a{ color:var(--gold); text-decoration:underline; text-underline-offset:3px; }

@media (max-width:880px){
  .nav-links{ display:none; }
  .nav-links-mobile{ position:fixed; top:71px; left:0; right:0; bottom:0; background:var(--bg-0); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:30px; font-size:20px; transform:translateX(100%); transition:transform 0.3s ease; z-index:49; }
  .nav-links-mobile.is-open{ transform:translateX(0); }
  .nav-toggle{ display:block; }
  .book-grid{ grid-template-columns:1fr; max-width:480px; margin:0 auto; }
  .tier-grid{ grid-template-columns:1fr; max-width:440px; margin:0 auto; }
  .why-band{ grid-template-columns:1fr; gap:32px; max-width:440px; margin-left:auto; margin-right:auto; }
}
