/* Dedicated holiday pages (/holidays/{slug}/): section layout on top of
   holidays.css (badges, verse cards, tables, sources, cite) and the shared
   research shell. */
.holiday-hero .hero-subtitle{font:italic 21px/1.4 var(--serif);color:var(--ink-2);margin:0 0 14px}
.holiday-hero .badges{margin:16px 0 0}
.holiday-hero .hero-when{margin:16px 0 0;font-size:14px;color:var(--ink-2)}
.holiday-hero .hero-when strong{font:500 10px/1.6 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-right:6px}
.holiday-hero .hero-actions{margin:18px 0 0}
.share{display:inline-flex;align-items:center;gap:6px;font:13px var(--sans);color:var(--ink-2);background:var(--card-2);border:1px solid var(--line-2);border-radius:4px;padding:8px 14px;cursor:pointer}
.share:hover{background:var(--card);color:var(--ink)}
.share[data-done]{color:var(--ink);border-color:var(--accent)}
.holiday-section{padding:42px 0;border-top:1px solid var(--line)}
.holiday-section>header{display:grid;grid-template-columns:72px minmax(0,1fr);gap:24px;margin-bottom:22px}
.holiday-section>header h2{font:400 36px/1.18 var(--serif);letter-spacing:-.02em}
.holiday-section .prose p.plain{font:400 20px/1.6 var(--serif);color:var(--ink);margin-bottom:22px}
.holiday-section .prose p{color:var(--ink-2);line-height:1.8;margin-bottom:18px;font-size:15.5px}
.holiday-section .prose h3{font:400 24px/1.3 var(--serif);margin:26px 0 12px}
.holiday-section .prose h3:first-child{margin-top:0}
.holiday-section .prose p strong{font:500 10px/1.6 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-right:6px}
.holiday-section .prose .kept-by,.holiday-section .prose .readings-line{padding:12px 16px;border-left:3px solid var(--line-2);background:var(--card-2);border-radius:0 4px 4px 0;font-size:14.5px}
.holiday-section .research-table-wrap{margin-top:8px}
.passages-table caption,.holiday-page .dates-table caption{caption-side:top;text-align:left;padding:0 0 12px;color:var(--ink-3);font-size:12.5px;line-height:1.65}
sup.cite-mark{font:10px var(--mono);line-height:0;vertical-align:super;margin-left:2px}
sup.cite-mark a{color:var(--ink-3);text-decoration:none;padding:1px}
sup.cite-mark a:hover{color:var(--accent);text-decoration:underline}
.glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 40px;margin:0}
.glossary div{border-top:1px solid var(--line);padding-top:14px}
.glossary dt{font:400 21px/1.3 var(--serif);color:var(--ink);margin-bottom:6px}
.glossary dd{margin:0;font-size:14.5px;line-height:1.75;color:var(--ink-2)}
.holiday-page .faq-section,.holiday-page .method-section,.holiday-page .verses-section{padding:42px 0}
.holiday-page .faq-list{margin-top:-8px}
.holiday-page .sources{columns:1;counter-reset:none;list-style:decimal;padding-left:28px}
.holiday-page .sources li{counter-increment:none;padding-left:0;margin-bottom:10px;color:var(--ink-2);font-size:13.5px;line-height:1.65}
.holiday-page .sources li::before{content:none}
.holiday-page .sources li::marker{font:10px var(--mono);color:var(--ink-3)}
.src-kind,.src-retrieved{font:10px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-left:8px;white-space:nowrap}
.up-link{margin-top:10px}
.up-link a{text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:2px;font-size:13.5px}
.closing{text-align:center;padding:48px 0 56px}
.closing h2{font:400 36px/1.18 var(--serif);letter-spacing:-.02em;margin-bottom:12px}
.closing p.plain{font:italic 20px/1.6 var(--serif);color:var(--ink-2);margin:0 auto 22px;max-width:60ch}
.closing .vlist.single{grid-template-columns:1fr;max-width:640px;margin:0 auto 22px;text-align:left}
.closing .cta{display:inline-block;padding:12px 22px;border:1px solid var(--accent);border-radius:4px;color:var(--accent);text-decoration:none;font-size:14px}
.closing .cta:hover{background:var(--accent);color:var(--accent-ink)}
@media(max-width:900px){.glossary{grid-template-columns:1fr}}
@media(max-width:600px){
  .holiday-section{padding:34px 0}
  .holiday-section>header{grid-template-columns:1fr;gap:5px}
  .holiday-section>header h2,.closing h2{font-size:30px}
  .holiday-section .prose p.plain{font-size:18px}
  .holiday-hero .hero-subtitle{font-size:18px}
}

/* Inner guides use the dedicated panoramic art set as a full-width top banner. */
.holidays-page.holiday-page .holiday-hero{grid-template-columns:1fr;gap:24px;align-items:start}
.holidays-page.holiday-page .holiday-hero .page-art{width:100%}
.holidays-page.holiday-page .holiday-hero .page-art img{width:100%;height:auto;aspect-ratio:3/1;max-height:none;object-fit:cover}

/* Keep the guide's hierarchy and reading rhythm consistent with research pages. */
.holiday-page .holiday-hero .hero-when{padding:16px 18px;border:1px solid var(--line);border-radius:5px;background:var(--card-2);line-height:1.8}
.holiday-page .holiday-hero .badges{gap:8px}
.holiday-page .holiday-section>header h2{text-wrap:balance}
.holiday-page .glossary{padding:24px;background:var(--card-2);border:1px solid var(--line);border-radius:6px}
.holiday-page .holiday-section .prose p strong{font:600 1em/1.8 var(--sans);letter-spacing:normal;text-transform:none;color:var(--ink)}
.holiday-page .src-kind,.holiday-page .src-retrieved{white-space:normal}
.holiday-page .research-card h3{text-wrap:balance}

/* Full-width holiday heroes need full-width introductory copy as well. */
.holidays-page.holiday-page .holiday-hero .lede{max-width:none;width:100%}
.holidays-page.holiday-page .holiday-hero{margin-top:20px}

/* Editorial opening: title, panoramic artwork, then a reading/departure panel. */
.holidays-page.holiday-page .holiday-hero{
 display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
 column-gap:44px;row-gap:0;margin:28px 0 36px;align-items:start;
}
.holidays-page.holiday-page .holiday-hero .hero-copy{display:contents}
.holidays-page.holiday-page .holiday-hero .research-eyebrow{grid-column:1/-1;grid-row:1;margin:0 0 14px}
.holidays-page.holiday-page .holiday-hero h1{grid-column:1/-1;grid-row:2;font-size:clamp(40px,4.5vw,62px);line-height:1.08;max-width:24ch;margin:0 0 12px;text-wrap:balance}
.holidays-page.holiday-page .holiday-hero .hero-subtitle{grid-column:1/-1;grid-row:3;margin:0;font-size:22px}
.holidays-page.holiday-page .holiday-hero .page-art{grid-column:1/-1;grid-row:4;margin:26px 0 28px;max-width:none;border-radius:5px;overflow:hidden}
.holidays-page.holiday-page .holiday-hero .lede{grid-column:1;grid-row:5;font:400 21px/1.65 var(--serif);color:var(--ink);margin:0;max-width:none}
.holidays-page.holiday-page .holiday-hero .badges{grid-column:1;grid-row:6;margin:18px 0 0;gap:8px}
.holidays-page.holiday-page .holiday-hero .hero-when{grid-column:2;grid-row:5;margin:0;padding:18px 22px;background:var(--card-2);border:0;border-left:2px solid var(--line-2);border-radius:0;line-height:1.8;font-size:13px}
.holidays-page.holiday-page .holiday-hero .hero-actions{grid-column:2;grid-row:6;margin:16px 0 0}
.holidays-page.holiday-page .holiday-hero .share{background:transparent;padding:8px 0;border:0;border-bottom:1px solid var(--line-2);border-radius:0;font-size:12px}
.holidays-page.holiday-page .holiday-hero .share:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:700px){
 .holidays-page.holiday-page .holiday-hero{grid-template-columns:minmax(0,1fr);margin-top:22px}
 .holidays-page.holiday-page .holiday-hero h1{font-size:40px}
 .holidays-page.holiday-page .holiday-hero .hero-subtitle{font-size:19px}
 .holidays-page.holiday-page .holiday-hero .page-art{margin:22px 0}
 .holidays-page.holiday-page .holiday-hero .lede{grid-column:1;grid-row:5;font-size:19px}
 .holidays-page.holiday-page .holiday-hero .badges{grid-column:1;grid-row:6;margin-top:16px}
 .holidays-page.holiday-page .holiday-hero .hero-when{grid-column:1;grid-row:7;margin-top:22px;padding:16px 18px}
 .holidays-page.holiday-page .holiday-hero .hero-actions{grid-column:1;grid-row:8;margin-top:12px}
}

/* A deliberate memorization invitation before the reference material. */
.holiday-page .closing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:40px;align-items:center;text-align:left;margin:24px 0 44px;padding:34px;background:var(--card-2);border:1px solid var(--line-2);border-radius:6px}
.holiday-page .closing h2{font-size:34px;text-wrap:balance;margin:0 0 16px}
.holiday-page .closing .memorize-intro>p:not(.section-kicker){font:13px/1.75 var(--sans);color:var(--ink-2);margin:0 0 16px}
.holiday-page .closing .memorize-intro>p.plain{font:italic 19px/1.6 var(--serif);margin-bottom:0}
.holiday-page .closing .vlist.single{max-width:none;margin:0 0 20px}
.holiday-page .closing .vc{background:var(--bg);padding:24px 24px 48px;border:1px solid var(--line);border-radius:5px}
.holiday-page .closing .vc-t{font-size:23px;line-height:1.6}
.holiday-page .closing .vc-share{right:16px;bottom:12px}
.holiday-page .closing .cta{display:inline-block;background:var(--accent);color:var(--accent-ink);font-weight:600;padding:12px 20px;line-height:1.5}
.holiday-page .closing .cta:hover{background:var(--ink);border-color:var(--ink)}
@media(max-width:700px){.holiday-page .closing{grid-template-columns:1fr;padding:22px;gap:24px}.holiday-page .closing h2{font-size:30px}.holiday-page .closing .vc{padding:18px 18px 48px}.holiday-page .closing .vc-t{font-size:21px}}
