/* PG Litany — scoped to .pg-litany. Ported from DRobb .litany. Section + stanzas
   use .pg-reveal only for .pg-in (own block-fade neutralised); internals stage. */

.pg-litany.pg-reveal{ opacity:1; transform:none; filter:none; transition:none; will-change:auto; }
.pg-litany{ background:var(--pg-bone-deep); padding:220px 96px 200px; border-top:1px solid var(--pg-ink-thread); position:relative; overflow:hidden; }
.pg-litany::before{ content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 50% 0%, rgba(200,146,61,.10) 0%, transparent 55%), radial-gradient(ellipse at 50% 100%, rgba(180,83,58,.06) 0%, transparent 55%); }
.pg-litany .container{ max-width:760px; margin:0 auto; text-align:center; position:relative; z-index:2; }
.pg-litany .marker{ display:inline-flex; align-items:center; gap:14px; font-family:var(--pg-font-sans); font-size:10px; text-transform:uppercase; letter-spacing:.34em; color:var(--pg-ink-soft); margin-bottom:56px; justify-content:center; }
.pg-litany .marker .rule{ width:48px; height:1px; background:var(--pg-ink-thread); transform:scaleX(0); transform-origin:right; transition:transform 1400ms var(--pg-ease); }
.pg-litany .marker .rule.right{ transform-origin:left; }
.pg-litany.pg-in .marker .rule{ transform:scaleX(1); }
.pg-litany .marker em{ color:var(--pg-terracotta); font-style:normal; }
.pg-litany .preamble{ margin-bottom:96px; }
.pg-litany .preamble p{ font-family:var(--pg-font-italic); font-size:23px; line-height:1.62; color:var(--pg-ink); margin-bottom:1.4em; text-align:left; }
.pg-litany .preamble p:last-child{ margin-bottom:0; }
.pg-litany .preamble p em{ font-style:italic; color:var(--pg-terracotta); }
.pg-litany .preamble p strong{ font-weight:400; font-style:italic; background:linear-gradient(transparent 64%, rgba(200,146,61,.22) 64%); padding:0 2px; }

.pg-litany .questions-header{ margin-bottom:8px; }
.pg-litany .questions-header .qh-rule{ display:block; width:1px; height:56px; margin:0 auto 28px; background:var(--pg-terracotta); transform:scaleY(0); transform-origin:top; transition:transform 1200ms var(--pg-ease); }
.pg-litany.pg-in .questions-header .qh-rule{ transform:scaleY(1); }
.pg-litany .questions-header .qh-eyebrow{ display:inline-flex; align-items:center; gap:12px; font-family:var(--pg-font-sans); font-size:10px; text-transform:uppercase; letter-spacing:.34em; color:var(--pg-ink-soft); margin-bottom:20px; opacity:0; transition:opacity 1400ms var(--pg-ease) 300ms; }
.pg-litany.pg-in .questions-header .qh-eyebrow{ opacity:1; }
.pg-litany .questions-header .qh-eyebrow .micro-rule{ width:20px; height:1px; background:var(--pg-ink-thread); }
.pg-litany .questions-header .qh-eyebrow em{ color:var(--pg-terracotta); font-style:normal; }
.pg-litany .questions-header .qh-title{ font-family:var(--pg-font-display); font-weight:300; font-variation-settings:"opsz" 144; font-size:clamp(34px,4.4vw,56px); line-height:1.06; letter-spacing:-.016em; text-transform:lowercase; color:var(--pg-ink); margin-bottom:14px; opacity:0; transform:translateY(10px); transition:opacity 1400ms var(--pg-ease) 500ms, transform 1400ms var(--pg-ease) 500ms; }
.pg-litany.pg-in .questions-header .qh-title{ opacity:1; transform:translateY(0); }
.pg-litany .questions-header .qh-title em{ color:var(--pg-terracotta); }
.pg-litany .questions-header .qh-sub{ font-family:var(--pg-font-italic); font-style:italic; font-size:18px; color:var(--pg-ink-soft); margin-bottom:24px; opacity:0; transition:opacity 1400ms var(--pg-ease) 800ms; }
.pg-litany.pg-in .questions-header .qh-sub{ opacity:1; }
.pg-litany .questions-header .qh-sub em{ color:var(--pg-terracotta); }
.pg-litany .questions-header .qh-ornament{ display:flex; gap:8px; justify-content:center; align-items:center; opacity:0; transition:opacity 1400ms var(--pg-ease) 1000ms; }
.pg-litany.pg-in .questions-header .qh-ornament{ opacity:1; }
.pg-litany .questions-header .qh-ornament i{ width:6px; height:6px; background:var(--pg-terracotta); transform:rotate(45deg); }
.pg-litany .questions-header .qh-ornament i:nth-child(2){ width:4px; height:4px; opacity:.6; }

.pg-litany .stanza.pg-reveal{ opacity:1; transform:none; filter:none; transition:none; will-change:auto; }
.pg-litany .stanza{ padding:64px 0; position:relative; }
.pg-litany .stanza + .stanza{ border-top:1px solid var(--pg-ink-thread); }
.pg-litany .stanza .num{ font-family:var(--pg-font-display); font-weight:300; font-style:italic; font-variation-settings:"opsz" 72; font-size:18px; color:var(--pg-terracotta); margin-bottom:24px; letter-spacing:.04em; opacity:0; transition:opacity 1400ms var(--pg-ease); }
.pg-litany .stanza.pg-in .num{ opacity:1; transition-delay:200ms; }
.pg-litany .stanza .qline{ font-family:var(--pg-font-display); font-weight:300; font-variation-settings:"opsz" 144; font-size:clamp(36px,5vw,62px); line-height:1.1; letter-spacing:-.018em; color:var(--pg-ink); text-align:center; }
.pg-litany .stanza .qline em{ font-style:italic; color:var(--pg-terracotta); }
.pg-litany .stanza .qline .clip{ display:inline-block; overflow:hidden; padding-bottom:.42em; padding-right:.45em; vertical-align:bottom; line-height:1.1; }
.pg-litany .stanza .qline .clip > span{ display:inline-block; transform:translateY(115%); transition:transform 1800ms var(--pg-ease) 400ms; padding-bottom:.06em; padding-right:.08em; }
.pg-litany .stanza.pg-in .qline .clip > span{ transform:translateY(0); }
.pg-litany .stanza .qrule{ display:block; margin:36px auto 0; width:48px; height:1px; background:var(--pg-terracotta); transform:scaleX(0); transition:transform 1400ms var(--pg-ease) 1200ms; }
.pg-litany .stanza.pg-in .qrule{ transform:scaleX(1); }

.pg-litany .coda{ margin-top:140px; padding-top:72px; border-top:1px dashed var(--pg-ink-thread); text-align:center; }
.pg-litany .coda .c-l1{ font-family:var(--pg-font-italic); font-size:clamp(22px,2.6vw,28px); line-height:1.55; color:var(--pg-ink); margin-bottom:48px; max-width:640px; margin-left:auto; margin-right:auto; }
.pg-litany .coda .c-l1 em{ font-style:italic; color:var(--pg-terracotta); }
.pg-litany .coda .c-l2{ font-family:var(--pg-font-italic); font-style:italic; font-size:clamp(20px,2.2vw,24px); line-height:1.55; color:var(--pg-ink-pale); margin-bottom:28px; }
.pg-litany .coda .c-l3{ font-family:var(--pg-font-display); font-weight:300; font-style:italic; font-variation-settings:"opsz" 144; font-size:clamp(40px,5.2vw,68px); line-height:1.06; letter-spacing:-.018em; color:var(--pg-ink); position:relative; padding-bottom:40px; margin-bottom:0; }
.pg-litany .coda .c-l3 em{ color:var(--pg-terracotta); }
.pg-litany .coda .c-l3 .clip{ display:inline-block; overflow:hidden; padding-bottom:.1em; vertical-align:bottom; }
.pg-litany .coda .c-l3 .clip > span{ display:inline-block; transform:translateY(105%); transition:transform 1800ms var(--pg-ease) 200ms; }
.pg-litany .coda .c-l3.pg-in .clip > span{ transform:translateY(0); }
.pg-litany .coda .c-l3::after{ content:''; position:absolute; left:50%; bottom:0; width:64px; height:1px; background:var(--pg-terracotta); transform:translateX(-50%) scaleX(0); transform-origin:center; transition:transform 1600ms var(--pg-ease) 800ms; }
.pg-litany .coda .c-l3.pg-in::after{ transform:translateX(-50%) scaleX(1); }
.pg-litany .signature{ margin-top:56px; font-family:'Caveat',cursive; font-size:30px; color:var(--pg-ink-soft); text-align:center; opacity:0; transition:opacity 1800ms var(--pg-ease) 400ms; }
.pg-litany.pg-in .signature{ opacity:1; }
.pg-litany .signature em{ font-style:italic; color:var(--pg-terracotta); }

@media (prefers-reduced-motion: reduce){
  .pg-litany .marker .rule, .pg-litany .questions-header .qh-rule{ transform:scaleX(1) scaleY(1); }
  .pg-litany .stanza .qline .clip > span, .pg-litany .coda .c-l3 .clip > span{ transform:none; transition:none; }
  .pg-litany .stanza .num, .pg-litany .questions-header .qh-eyebrow, .pg-litany .questions-header .qh-title, .pg-litany .questions-header .qh-sub, .pg-litany .questions-header .qh-ornament, .pg-litany .signature{ opacity:1; transform:none; }
  .pg-litany .stanza .qrule, .pg-litany .coda .c-l3::after{ transform:scaleX(1) translateX(-50%); }
}
@media (max-width:880px){ .pg-litany{ padding:110px 24px; } }
