:root {
  --hora-ink: #24130d;
  --hora-burgundy: #4b0f16;
  --hora-red: #741c24;
  --hora-gold: #b88a2b;
  --hora-gold-light: #e6c873;
  --hora-paper: #fffaf0;
  --hora-paper-deep: #f3e6c9;
}

.btn-hora-download {
  align-items: center;
  background: #fff8df;
  border: 1px solid #d6ad50;
  border-radius: 8px;
  color: #53131a;
  display: inline-flex;
  font: 800 .84rem/1.2 "Plus Jakarta Sans", sans-serif;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  text-decoration: none;
}

.btn-hora-download:hover,
.btn-hora-download:focus-visible {
  background: #f7e7b4;
  outline: 3px solid rgba(184,138,43,.28);
  outline-offset: 2px;
}
.btn-hora-language { color: #fff7db; display: inline-flex; font-size: .8rem; min-height: 44px; padding: 0 12px; align-items: center; }

.hora-chapter-list > li { list-style: none; }
.hora-chapter-item {
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: flex;
  font: inherit;
  min-height: 48px;
  text-align: left;
  width: 100%;
}
.hora-chapter-item:focus-visible {
  outline: 3px solid rgba(184,138,43,.45);
  outline-offset: -3px;
}

.hora-study-cover {
  background:
    radial-gradient(circle at 50% 47%, rgba(188,137,39,.16), transparent 29%),
    linear-gradient(155deg, #30080d 0%, #65161f 47%, #26070b 100%) !important;
  border: 1px solid var(--hora-gold) !important;
  box-shadow: 0 28px 65px rgba(41,11,9,.3), inset 0 0 0 7px #4b0f16, inset 0 0 0 9px var(--hora-gold) !important;
  color: #fae7a8 !important;
  min-height: min(1120px, calc(100vh - 120px));
  padding: 22px !important;
  position: relative;
}
.hora-study-cover::before,
.hora-study-cover::after {
  border: 1px solid rgba(230,200,115,.65);
  content: "";
  inset: 16px;
  pointer-events: none;
  position: absolute;
}
.hora-study-cover::after { inset: 25px; border-style: double; border-width: 3px; }
.hora-cover-inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  min-height: inherit;
  padding: 42px 8%;
  position: relative;
  text-align: center;
  z-index: 1;
}
.hora-cover-invocation { color: #f2d579; font-family: "Noto Serif Devanagari", serif; font-size: 1.15rem; letter-spacing: .08em; margin: 0 0 22px; }
.hora-cover-eyebrow { font: 700 .72rem/1.3 Cinzel, serif; letter-spacing: .35em; margin: 0 0 16px; }
.hora-cover-rule { background: linear-gradient(90deg, transparent, var(--hora-gold-light), transparent); height: 1px; margin: 0 auto 26px; max-width: 460px; width: 80%; }
.hora-cover-inner h1 { color: #fff4c4; font-family: "Noto Sans Oriya", serif; font-size: clamp(2.25rem, 5vw, 4.2rem); line-height: 1.25; margin: 0 0 17px; text-shadow: 0 2px 14px rgba(0,0,0,.42); }
.hora-cover-inner .hora-cover-english-title { font-family: Cinzel, Georgia, serif; font-size: clamp(2rem, 4.5vw, 3.65rem); letter-spacing: .06em; line-height: 1.22; }
.hora-cover-inner .hora-cover-english-title span { color: #f3d478; font-size: 1.2em; }
.hora-cover-inner h2 { color: #f3d478; font: 600 clamp(1.15rem, 2vw, 1.75rem)/1.25 Cinzel, serif; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.hora-cover-inner h2 span { font-size: 1.38em; font-weight: 800; }
.hora-cover-sanskrit { color: #e9ca78; font: 500 1.02rem/1.4 "Noto Serif Devanagari", serif; margin: 13px 0 0; }
.hora-cover-mandala { color: #d9b34e; height: 225px; margin: 20px 0; opacity: .86; width: 225px; }
.hora-cover-subtitle { color: #fff8dc; font: 500 1.06rem/1.6 "Libre Baskerville", Georgia, serif; letter-spacing: .04em; margin: 0 0 10px; }
.hora-cover-dedication { color: #d6bc75; font: italic .85rem/1.5 Georgia, serif; margin: 0 0 25px; }
.hora-cover-edition { font: 700 .72rem/1.4 Cinzel, serif; letter-spacing: .22em; margin: 0 0 7px; }
.hora-cover-details { color: #e1cc91; font: 600 .72rem/1.4 "Plus Jakarta Sans", sans-serif; margin: 0; }

.hora-section-text { color: var(--hora-ink); font-family: "Libre Baskerville", Georgia, serif; font-size: 1rem; line-height: 1.85; }
.hora-section-text p { margin: 0 0 1.15em; max-width: 78ch; }
.hora-source-note {
  background: #f8efd8;
  border-left: 3px solid var(--hora-gold);
  color: #64472c;
  font: 600 .75rem/1.55 "Plus Jakarta Sans", sans-serif;
  margin: 12px 0 18px;
  padding: 9px 12px;
}
.hora-source-note a { color: #6e1520; overflow-wrap: anywhere; }
.shloka-source { color: #805616; font: 800 .7rem/1.3 "Plus Jakarta Sans", sans-serif; letter-spacing: .08em; margin-bottom: 10px; text-align: right; text-transform: uppercase; }
.shloka-sanskrit { font-family: "Noto Serif Devanagari", "Noto Sans Devanagari", serif; }
.hora-lang-or .hora-section-text,
.hora-lang-or .hora-chap-summary,
.hora-lang-or .hora-data-table,
.hora-lang-or .hora-source-note { font-family: "Noto Sans Oriya", sans-serif; }
.hora-reference-appendix,
.hora-bibliography {
  background: var(--hora-paper);
  color: var(--hora-ink);
  margin: 30px 0;
  padding: clamp(20px,4vw,48px);
}
.hora-reference-appendix > h2,
.hora-bibliography > h2 { color: var(--hora-burgundy); font-family: Cinzel, serif; }
.hora-bibliography article { border-top: 1px solid #dec997; padding: 15px 0; }
.hora-bibliography article h3 { font-size: 1rem; margin-bottom: 5px; }
.hora-bibliography article p { margin: 5px 0; }
.hora-bibliography article a { color: #741c24; overflow-wrap: anywhere; }
.hora-colophon { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: 65vh; padding: 60px 12%; text-align: center; }
.hora-colophon h2 { color: var(--hora-burgundy); font-family: Cinzel, serif; }

@media (max-width: 720px) {
  .hora-study-cover { min-height: 760px; }
  .hora-cover-inner { padding: 30px 7%; }
  .hora-cover-mandala { height: 175px; width: 175px; }
}

@media print {
  @page { size: A4; margin: 13mm 14mm 16mm; }
  @page :first { margin: 0; }
  html, body { font-family: Georgia, "Noto Sans Oriya", serif !important; font-size: 9.5pt !important; line-height: 1.52 !important; }
  .hora-study-cover {
    border: 0 !important;
    box-shadow: inset 0 0 0 7mm #4b0f16, inset 0 0 0 7.5mm #d4ad4c !important;
    height: 297mm !important;
    margin: 0 !important;
    min-height: 297mm !important;
    padding: 9mm !important;
    page-break-before: avoid !important;
    width: 210mm !important;
  }
  .hora-cover-inner { min-height: 270mm; padding: 12mm 20mm; }
  .hora-cover-inner h1 { font-size: 31pt; }
  .hora-cover-inner h2 { font-size: 14pt; }
  .hora-cover-mandala { height: 52mm; margin: 5mm 0; width: 52mm; }
  .hora-print-page { padding: 0 !important; }
  .print-page-border { border: 0 !important; min-height: auto !important; padding: 0 !important; }
  .hora-print-toc { page-break-before: auto !important; }
  .print-toc-row {
    align-items: baseline;
    display: grid !important;
    gap: 3mm;
    grid-template-columns: 27mm 1fr;
    line-height: 1.25;
    margin: 0 0 1.2mm;
  }
  .print-toc-row .ptoc-num { font-size: 7.4pt; font-weight: 700; white-space: nowrap; }
  .print-toc-row .ptoc-name { font-size: 7.8pt; }
  .print-toc-row .ptoc-line { display: none; }
  .hora-print-chapter { page-break-before: always !important; }
  .print-ch-header { margin-bottom: 7mm !important; padding-bottom: 4mm !important; }
  .print-ch-title-odia { font-size: 20pt !important; }
  .print-ch-title-eng { color: #631923 !important; font-family: Cinzel, Georgia, serif; font-size: 14pt !important; }
  .print-ch-summary { font-size: 8.5pt !important; }
  .hora-section-block { break-inside: auto !important; margin-bottom: 6mm !important; }
  .hora-section-heading { break-after: avoid; color: #661820 !important; font-size: 12pt !important; }
  .hora-section-text { font-size: 9.2pt !important; line-height: 1.58 !important; }
  .hora-section-text p { max-width: none; orphans: 3; widows: 3; }
  .hora-source-note { background: #fbf4e5 !important; font-size: 7.3pt !important; }
  .hora-reference-appendix,
  .hora-bibliography { background: white !important; margin: 0 !important; padding: 0 !important; page-break-before: always !important; }
  .hora-reference-appendix > h2,
  .hora-bibliography > h2 { font-size: 16pt; }
  .hora-data-table { font-size: 6.5pt !important; table-layout: fixed; width: 100%; }
  .hora-data-table th { background: #65161f !important; color: white !important; }
  .hora-data-table th, .hora-data-table td { overflow-wrap: anywhere; padding: 1.8mm !important; }
  .hora-bibliography article { break-inside: avoid; font-size: 8.5pt; }
  .hora-print-seal { page-break-before: always !important; }
  .hora-colophon { min-height: 230mm; }
}
