/* ═══════════════════════════════════════════════
   EUCHARISTIC ADORATION — /devotions/eucharistic-adoration
   ═══════════════════════════════════════════════
   One page, one stylesheet, and every rule under an ea- class so nothing here
   reaches the shared .prayer-* components on the other devotions.

   The head is the chapel: a dark sanctuary, a stone niche, the monstrance in
   it with a slow halo, and two candles either side. The candles and the niche
   are drawn in CSS and are aria-hidden; the monstrance is the one picture and
   carries the alt text. Below the head the page turns back to paper, because
   it is read for an hour, and the Sacrament stays in view in the sticky aside
   on a wide screen so the reader is never praying to a blank column.

   Motion is the flame and the halo and nothing else, and both stop under
   prefers-reduced-motion:reduce. */

.ea-page{
  --ea-night:#0e0906;
  --ea-night-2:#1a120b;
  --ea-stone:#2a1d13;
  --ea-gold:#c9a85a;
  --ea-gold-soft:#e3c987;
  --ea-candle:#efe6d2;
  --ea-text-dark:#efe4cf;
  --ea-muted-dark:#c6b594;
  --ea-red:#8b1a1a;
  background:linear-gradient(180deg,#f3ecdd 0,var(--paper) 30rem);
  color:var(--ink);
}

/* ── The chapel ──────────────────────────────── */
.ea-pagehead{
  position:relative;overflow:hidden;
  padding:58px 0 0;
  background:
    radial-gradient(ellipse 60% 48% at 50% 62%,rgba(227,201,135,.20),transparent 70%),
    radial-gradient(ellipse 90% 70% at 50% 100%,rgba(122,70,28,.30),transparent 70%),
    linear-gradient(180deg,#070504 0%,var(--ea-night) 38%,var(--ea-night-2) 100%);
  color:var(--ea-text-dark);
  border-bottom:1px solid rgba(201,168,90,.30);
}
.ea-pagehead .a-emblem{filter:drop-shadow(0 2px 10px rgba(201,162,75,.35)) brightness(1.1);}
.ea-pagehead .kicker{color:var(--ea-gold);}
.ea-pagehead h1{color:#f5ecd6;text-wrap:balance;}
.ea-pagehead .sub{color:var(--ea-muted-dark);max-width:600px;margin-left:auto;margin-right:auto;text-wrap:balance;}

.ea-altar{
  position:relative;
  width:min(760px,100%);
  margin:34px auto 0;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:end;
}
/* The niche: a round-headed arch of darker stone, with a thin gold moulding. */
.ea-niche{
  position:relative;
  grid-column:2;
  padding:34px clamp(34px,7vw,64px) 0;
  border-radius:999px 999px 0 0;
  background:
    radial-gradient(ellipse 70% 52% at 50% 40%,rgba(245,222,160,.22),transparent 72%),
    linear-gradient(180deg,#1f150d,#120c08);
  box-shadow:inset 0 0 0 1px rgba(201,168,90,.30),inset 0 0 60px rgba(0,0,0,.65);
}
.ea-niche::before{
  content:"";position:absolute;inset:9px 9px 0;border-radius:999px 999px 0 0;
  border:1px solid rgba(201,168,90,.18);border-bottom:0;pointer-events:none;
}
.ea-halo{
  position:absolute;left:50%;top:34%;
  width:min(380px,82vw);aspect-ratio:1;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,240,200,.42) 0%,rgba(227,201,135,.16) 34%,transparent 68%);
  pointer-events:none;
  animation:ea-breathe 9s ease-in-out infinite;
}
.ea-monstrance{
  position:relative;display:block;
  height:clamp(300px,50vh,470px);width:auto;
  margin:0 auto;
  filter:drop-shadow(0 0 18px rgba(245,215,140,.30)) drop-shadow(0 3px 4px rgba(0,0,0,.55));
}
/* The corporal: the square of linen the monstrance stands on, its top seen in
   perspective and its front falling over the edge of the altar with a lace
   hem and a small red cross. It is drawn over the foot of the picture, so the
   feet rest in the cloth rather than hovering on a line. The niche is lifted
   above the mensa so the fall paints over the altar's front. */
.ea-niche{z-index:2;}
.ea-corporal{
  position:absolute;left:50%;bottom:-19px;z-index:2;
  width:clamp(150px,42%,210px);height:25px;
  transform:translateX(-50%);
  pointer-events:none;
}
.ea-corporal::before{
  content:"";position:absolute;left:0;right:0;top:0;height:6px;
  background:linear-gradient(180deg,rgba(251,247,236,.92),#ece3cd);
  clip-path:polygon(5% 0,95% 0,100% 100%,0 100%);
}
.ea-corporal::after{
  content:"\2720";position:absolute;left:0;right:0;top:6px;bottom:0;
  padding-top:1px;
  background:linear-gradient(180deg,#f6f0e1,#e2d6bb);
  color:#8b1a1a;font-size:9px;line-height:12px;text-align:center;
  box-shadow:0 3px 6px rgba(0,0,0,.35);
  -webkit-mask:radial-gradient(circle at 50% 0,#000 3px,transparent 3.5px) bottom/8px 5px repeat-x,linear-gradient(#000,#000) top/100% calc(100% - 4px) no-repeat;
          mask:radial-gradient(circle at 50% 0,#000 3px,transparent 3.5px) bottom/8px 5px repeat-x,linear-gradient(#000,#000) top/100% calc(100% - 4px) no-repeat;
}
/* The altar: a mensa of stone under a white linen with a gold border. */
.ea-mensa{
  grid-column:1 / -1;
  height:30px;
  background:
    linear-gradient(180deg,#f2ead7 0,#e3d7bb 7px,#c9a85a 7px,#c9a85a 9px,transparent 9px),
    linear-gradient(180deg,#3a2919,#24180f);
  box-shadow:0 -6px 22px rgba(245,215,140,.12);
}

/* Candles — three a side on a wide screen, one a side on a phone. */
.ea-candles{
  display:flex;align-items:flex-end;gap:clamp(10px,2.6vw,26px);
  padding:0 clamp(8px,3vw,30px);
}
.ea-candles-left{justify-content:flex-end;}
.ea-candles-right{justify-content:flex-start;}
.ea-candle{position:relative;display:flex;flex-direction:column;align-items:center;}
.ea-flame{
  position:relative;
  width:10px;height:22px;margin-bottom:3px;
  border-radius:50% 50% 45% 45% / 62% 62% 38% 38%;
  background:radial-gradient(ellipse at 50% 72%,#fffbe8 0 22%,#ffd77a 46%,#f08b2c 78%,rgba(240,139,44,0) 100%);
  box-shadow:0 0 14px 6px rgba(255,200,110,.35),0 0 46px 18px rgba(255,190,90,.12);
  transform-origin:50% 90%;
  animation:ea-flicker 2.8s ease-in-out infinite;
}
.ea-candle:nth-child(2) .ea-flame{animation-duration:3.4s;animation-delay:-.8s;}
.ea-candle:nth-child(3) .ea-flame{animation-duration:2.3s;animation-delay:-1.6s;}
.ea-wax{
  width:16px;
  background:linear-gradient(90deg,#d9ceb6,var(--ea-candle) 40%,#fffaf0 55%,#d2c6ab);
  border-radius:2px 2px 0 0;
}
.ea-wax::before{content:"";display:block;width:1px;height:5px;margin:-5px auto 0;background:#3a2a1c;}
.ea-candle:nth-child(1) .ea-wax{height:150px;}
.ea-candle:nth-child(2) .ea-wax{height:120px;}
.ea-candle:nth-child(3) .ea-wax{height:92px;}
.ea-candles-left .ea-candle:nth-child(1){order:3;}
.ea-candles-left .ea-candle:nth-child(2){order:2;}
.ea-candles-left .ea-candle:nth-child(3){order:1;}
.ea-stick{
  width:30px;height:16px;
  background:linear-gradient(180deg,#d8b866,#8a6a26);
  clip-path:polygon(28% 0,72% 0,100% 100%,0 100%);
}

/* The sanctuary lamp hangs to one side, as it does beside a tabernacle. */
.ea-lamp{
  position:absolute;top:0;right:clamp(14px,8vw,90px);
  display:flex;flex-direction:column;align-items:center;
}
.ea-lamp::before{content:"";width:1px;height:clamp(40px,9vw,90px);background:linear-gradient(180deg,transparent,rgba(201,168,90,.55));}
.ea-lamp span{
  width:18px;height:24px;border-radius:40% 40% 50% 50%;
  background:radial-gradient(ellipse at 50% 40%,#ff8a6e 0,#c0261c 45%,#5b0d0a 100%);
  box-shadow:0 0 16px 4px rgba(200,40,30,.35);
  animation:ea-breathe 6s ease-in-out infinite;
}

.ea-scene-cap{
  margin:0;padding:20px 24px 30px;
  background:linear-gradient(180deg,#24180f,var(--ea-night-2));
  text-align:center;
  font-family:var(--head);font-style:italic;font-size:19px;line-height:1.5;
  color:var(--ea-muted-dark);
}
.ea-scene-cap b{display:block;font-family:var(--display);font-style:normal;font-weight:500;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--ea-gold-soft);margin-bottom:4px;}

@keyframes ea-flicker{
  0%,100%{transform:scale(1,1) rotate(0deg);opacity:1;}
  25%{transform:scale(.94,1.06) rotate(-2deg);opacity:.94;}
  50%{transform:scale(1.04,.96) rotate(1.5deg);opacity:1;}
  75%{transform:scale(.97,1.04) rotate(-1deg);opacity:.9;}
}
@keyframes ea-breathe{
  0%,100%{opacity:.82;}
  50%{opacity:1;}
}
@media(prefers-reduced-motion:reduce){
  .ea-flame,.ea-halo,.ea-lamp span{animation:none;}
}

/* ── The first word ──────────────────────────── */
.ea-first{padding:58px 0 10px;}
.ea-first .measure{text-align:center;}
.ea-first-lede{
  font-family:var(--head);font-size:clamp(23px,3.2vw,29px);line-height:1.45;
  color:var(--ink);margin:0 0 18px;text-wrap:pretty;
}
.ea-first p{margin:0 0 16px;font-size:19px;line-height:1.7;}
.ea-first em{color:var(--gold-deep);}

/* ── Body: sticky aside + reading column ─────── */
.ea-body{padding:40px 0 80px;}
.ea-shell{
  width:min(1180px,calc(100% - 56px));margin:0 auto;
  display:grid;grid-template-columns:270px minmax(0,1fr);
  gap:clamp(36px,5vw,72px);align-items:start;
}
.ea-aside{
  position:sticky;top:88px;
  max-height:calc(100vh - 104px);overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;
}
.ea-aside-niche{
  position:relative;
  padding:22px 20px 0;
  border-radius:999px 999px 0 0;
  background:
    radial-gradient(ellipse 70% 50% at 50% 42%,rgba(245,222,160,.26),transparent 72%),
    linear-gradient(180deg,#1f150d,#120c08);
  box-shadow:inset 0 0 0 1px rgba(201,168,90,.34);
  text-align:center;
}
.ea-aside-niche img{display:block;height:min(200px,24vh);width:auto;margin:0 auto;filter:drop-shadow(0 0 12px rgba(245,215,140,.30));}
.ea-aside-niche::after{content:"";display:block;height:12px;margin:0 -20px;background:linear-gradient(180deg,#f2ead7 0 5px,#c9a85a 5px 7px,#2c1f14 7px);}
.ea-aside-words{
  margin:0;padding:10px 12px 14px;background:var(--ea-night-2);
  font-family:var(--head);font-style:italic;font-size:16px;line-height:1.45;color:var(--ea-muted-dark);text-align:center;
}
.ea-contents{margin-top:22px;}
.ea-contents h2{
  margin:0 0 10px;font-family:var(--display);font-size:12px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);
}
.ea-contents ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule);}
.ea-contents li{border-bottom:1px solid var(--rule);}
.ea-contents a{
  display:flex;gap:10px;align-items:baseline;padding:9px 4px;
  font-family:var(--head);font-size:18px;line-height:1.3;color:var(--ink);
}
.ea-contents a span{font-family:var(--display);font-size:11px;letter-spacing:.08em;color:var(--gold-deep);min-width:22px;}
.ea-contents a:hover{color:var(--gold-deep);}
.ea-contents a:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px;border-radius:2px;}
.ea-contents ol ol{border-top:0;padding-left:32px;}
.ea-contents ol ol li{border-bottom:0;}
.ea-contents ol ol a{padding:3px 4px;font-size:16px;color:var(--muted);}

.ea-main{min-width:0;}
.ea-section{scroll-margin-top:90px;padding-bottom:20px;}
.ea-section + .ea-section{margin-top:54px;}
.ea-section-head{margin:0 0 26px;}
.ea-numeral{
  display:block;font-family:var(--display);font-size:12px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px;
}
.ea-section-head h2{
  margin:0 0 10px;font-family:var(--head);font-weight:600;
  font-size:clamp(32px,4.4vw,44px);line-height:1.08;color:#3b2716;
}
.ea-section-head p{margin:0;font-size:19px;line-height:1.65;color:#4a3a28;}
.ea-section .orn{margin:20px 0 0;justify-content:flex-start;}
.ea-prose p{margin:0 0 16px;font-size:19px;line-height:1.72;}
.ea-prose a,.ea-note a,.ea-steps a,.ea-hour a,.ea-checks a{
  color:var(--gold-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;
}
.ea-prose a:focus-visible,.ea-note a:focus-visible,.ea-steps a:focus-visible,.ea-hour a:focus-visible,.ea-checks a:focus-visible{
  outline:2px solid var(--gold-deep);outline-offset:2px;border-radius:2px;
}

/* Before you go — numbered steps */
.ea-steps{
  list-style:none;margin:0;padding:0;counter-reset:ea-step;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;
}
.ea-steps li{
  counter-increment:ea-step;position:relative;
  padding:22px 22px 20px 62px;
  background:var(--paper-card);border:1px solid var(--rule);
}
.ea-steps li::before{
  content:counter(ea-step);position:absolute;left:20px;top:20px;
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  font-family:var(--display);font-size:13px;color:var(--gold-deep);
  border:1px solid rgba(154,122,46,.55);
}
.ea-steps h3{margin:0 0 6px;font-family:var(--head);font-size:22px;font-weight:600;color:#3b2716;}
.ea-steps p{margin:0;font-size:17px;line-height:1.6;}

/* What you will see — a short glossary */
.ea-glossary{
  margin:30px 0 0;padding:26px 28px;
  background:var(--ea-night-2);color:var(--ea-text-dark);
  border:1px solid rgba(201,168,90,.30);
}
.ea-glossary h3{margin:0 0 14px;font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ea-gold-soft);}
.ea-glossary dl{margin:0;display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:10px 22px;}
.ea-glossary dt{font-family:var(--head);font-size:20px;font-weight:600;color:var(--ea-gold-soft);}
.ea-glossary dd{margin:0;font-size:17px;line-height:1.6;color:#e2d6bd;}

/* The order of the hour */
.ea-hour{list-style:none;margin:0;padding:0;border-left:1px solid rgba(154,122,46,.5);}
.ea-hour li{position:relative;padding:0 0 22px 30px;}
.ea-hour li::before{
  content:"";position:absolute;left:-6px;top:9px;width:11px;height:11px;border-radius:50%;
  background:var(--paper);border:1px solid var(--gold-deep);
}
.ea-hour li:last-child{padding-bottom:0;}
.ea-hour h3{margin:0 0 4px;font-family:var(--head);font-size:23px;font-weight:600;color:#3b2716;}
.ea-hour h3 small{font-family:var(--display);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-left:8px;}
.ea-hour p{margin:0;font-size:18px;line-height:1.65;}
/* The booklet link: a dark band in the middle of the hour's instructions. */
.ea-print{
  margin:30px 0 0;padding:24px 26px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 28px;align-items:center;
  background:var(--ea-night-2);color:var(--ea-text-dark);border:1px solid rgba(201,168,90,.30);
}
.ea-print p{margin:0;font-size:17px;line-height:1.55;color:#e2d6bd;}
.ea-print .ea-print-kicker{font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ea-gold-soft);margin-bottom:4px;}
.ea-print .ea-print-title{font-family:var(--head);font-size:26px;font-weight:600;line-height:1.15;color:#f5ecd6;margin-bottom:6px;}
.ea-print-actions{display:flex;flex-direction:column;gap:10px;}
.ea-print-btn{
  display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 20px;
  font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;
  background:var(--ea-gold);color:var(--ea-night-2);border:1px solid var(--ea-gold);
}
.ea-print-btn:hover{background:var(--ea-gold-soft);border-color:var(--ea-gold-soft);}
.ea-print-btn.ea-print-alt{background:transparent;color:var(--ea-gold-soft);border-color:rgba(201,168,90,.55);}
.ea-print-btn.ea-print-alt:hover{color:#f5ecd6;border-color:var(--ea-gold-soft);}
.ea-print-btn:focus-visible{outline:2px solid var(--ea-gold-soft);outline-offset:3px;}
.ea-first a{color:var(--gold-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.ea-first a:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px;border-radius:2px;}
@media(max-width:620px){
  .ea-print{grid-template-columns:1fr;padding:22px 20px;}
}
.ea-note{
  margin:28px 0 0;padding:18px 22px;
  border-left:3px solid var(--gold);background:rgba(154,122,46,.07);
  font-size:17px;line-height:1.6;color:#4a3a28;
}

/* Prayers */
.ea-prayer{
  scroll-margin-top:90px;
  position:relative;
  margin:0 0 26px;padding:clamp(26px,4vw,40px);
  background:var(--paper-card);border:1px solid var(--rule);
  box-shadow:0 14px 34px -24px rgba(60,38,18,.35);
}
.ea-prayer::before,.ea-prayer::after{content:"";position:absolute;width:30px;height:30px;border-color:rgba(154,122,46,.6);}
.ea-prayer::before{top:9px;left:9px;border-top:1px solid;border-left:1px solid;}
.ea-prayer::after{right:9px;bottom:9px;border-right:1px solid;border-bottom:1px solid;}
.ea-prayer h3{
  margin:0 0 4px;font-family:var(--display);font-weight:600;
  font-size:clamp(17px,2.2vw,21px);letter-spacing:.07em;text-transform:uppercase;color:#5a3d17;
}
.ea-rubric{margin:0 0 18px;font-family:var(--head);font-style:italic;font-size:17px;line-height:1.5;color:var(--muted);}
.ea-verse p{margin:0;padding-left:1.1em;text-indent:-1.1em;font-family:var(--head);font-size:21px;line-height:1.55;}
.ea-verse p.ea-stanza{margin-top:1em;}
.ea-verse .ea-amen,.ea-amen{font-weight:600;color:#5a3d17;}
.ea-text{margin:0 0 12px;font-family:var(--head);font-size:21px;line-height:1.6;}
.ea-dlg{margin:10px 0 0;font-family:var(--head);font-size:20px;line-height:1.55;}
.ea-dlg b{font-family:var(--display);font-size:14px;color:#8b1a1a;margin-right:6px;}
.ea-repeat{display:inline-block;margin:12px 0 0;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);}

/* Latin beside English, for the hymns */
.ea-parallel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,4vw,42px);}
.ea-parallel > div{min-width:0;}
.ea-parallel [lang="la"] p{color:#5e4e38;font-style:italic;}
.ea-lang{display:block;margin:0 0 10px;font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);}
.ea-source{margin:18px 0 0;padding-top:12px;border-top:1px solid var(--rule);font-size:15px;line-height:1.55;color:var(--muted);}

/* Meditations */
.ea-med{
  scroll-margin-top:90px;
  margin:0 0 40px;padding:0 0 34px;border-bottom:1px solid var(--rule);
}
.ea-med:last-child{border-bottom:0;}
.ea-med-kicker{margin:0 0 4px;font-family:var(--display);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);}
.ea-med h3{margin:0 0 18px;font-family:var(--head);font-size:clamp(28px,3.6vw,36px);font-weight:600;line-height:1.1;color:#3b2716;}
.ea-scripture{
  margin:0 0 20px;padding:20px 24px;
  background:rgba(139,26,26,.045);border-left:3px solid var(--ea-red);
}
.ea-scripture p{margin:0 0 8px;font-family:var(--head);font-size:21px;font-style:italic;line-height:1.55;color:#3a2a1c;}
.ea-scripture cite{display:block;font-family:var(--display);font-size:11px;font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:#7a2a22;}
.ea-scripture cite + p{margin-top:14px;}
.ea-med > p{margin:0 0 16px;font-size:19px;line-height:1.72;}
.ea-church{
  margin:20px 0;padding:0 0 0 20px;border-left:1px solid var(--gold);
  font-size:17px;line-height:1.65;color:#4a3a28;
}
.ea-church cite{display:block;margin-top:6px;font-family:var(--display);font-size:11px;font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);}
.ea-silence{
  margin:20px 0 0;padding:16px 20px;
  background:var(--ea-night-2);color:var(--ea-text-dark);
  font-family:var(--head);font-style:italic;font-size:19px;line-height:1.55;
}
.ea-silence b{font-family:var(--display);font-style:normal;font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ea-gold-soft);margin-right:10px;}

/* The silent interlude between prayers and meditations */
.ea-interlude{
  margin:54px 0;padding:46px clamp(22px,5vw,56px);
  background:
    radial-gradient(ellipse at 50% 0,rgba(227,201,135,.16),transparent 65%),
    var(--ea-night-2);
  color:var(--ea-text-dark);text-align:center;
  border:1px solid rgba(201,168,90,.30);
}
.ea-interlude p{margin:0 auto;max-width:560px;font-family:var(--head);font-style:italic;font-size:clamp(22px,3vw,28px);line-height:1.45;}
.ea-interlude cite{display:block;margin-top:14px;font-family:var(--display);font-style:normal;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ea-gold-soft);}

/* Communion checklist */
.ea-checks{list-style:none;margin:20px 0 0;padding:0;}
.ea-checks li{position:relative;padding:0 0 14px 32px;font-size:18px;line-height:1.65;}
.ea-checks li::before{content:"\2720";position:absolute;left:4px;top:1px;color:var(--ea-red);font-size:16px;}
.ea-checks strong{font-family:var(--head);font-size:20px;color:#3b2716;}

.ea-colophon{margin:56px 0 0;text-align:center;color:var(--muted);font-size:14px;letter-spacing:.08em;text-transform:uppercase;}
.ea-sources{margin:12px auto 0;max-width:640px;text-align:center;color:var(--muted);font-size:15px;line-height:1.6;}

/* ── Breakpoints ─────────────────────────────── */
@media(max-height:680px) and (min-width:1021px){
  .ea-aside-niche,.ea-aside-words{display:none;}
}
@media(max-width:1020px){
  .ea-shell{grid-template-columns:1fr;width:min(760px,calc(100% - 48px));}
  .ea-aside{position:static;max-height:none;overflow:visible;}
  .ea-aside-niche,.ea-aside-words{display:none;}
  .ea-contents{margin-top:0;}
}
@media(max-width:760px){
  .ea-pagehead{padding-top:44px;}
  .ea-candles .ea-candle:nth-child(n+2){display:none;}
  .ea-candle:nth-child(1) .ea-wax{height:110px;}
  .ea-niche{padding:26px 26px 0;}
  .ea-monstrance{height:clamp(260px,46vh,360px);}
  .ea-lamp{right:10px;}
  .ea-steps{grid-template-columns:1fr;}
  .ea-glossary{padding:22px 20px;}
  .ea-glossary dl{grid-template-columns:1fr;gap:2px;}
  .ea-glossary dd{margin-bottom:12px;}
  .ea-parallel{grid-template-columns:1fr;}
  .ea-parallel [lang="la"]{order:2;padding-top:16px;border-top:1px solid var(--rule);}
  .ea-shell{width:calc(100% - 36px);}
  .ea-prayer{padding:28px 20px;}
  .ea-verse p,.ea-text{font-size:20px;}
  .ea-first p,.ea-prose p,.ea-med > p{font-size:18px;}
}
@media print{
  .ea-pagehead{background:#fff !important;color:#000;border-bottom-color:#ccc;}
  .ea-pagehead h1{color:#000;}
  .ea-pagehead .kicker,.ea-pagehead .sub{color:#555;}
  .ea-altar,.ea-scene-cap,.ea-aside,.ea-interlude,.ea-print{display:none;}
  .ea-shell{display:block;}
  .ea-glossary,.ea-silence{background:#fff;color:#000;border:1px solid #ccc;}
  .ea-glossary dt,.ea-glossary dd,.ea-glossary h3,.ea-silence b{color:#000;}
  .ea-prayer{box-shadow:none;break-inside:avoid;}
}

/* Spacing for single elements, once written inline on the page. These
   class names also travel into the printable booklet with the prayers
   (scripts/build-holy-hour.mjs), where holy-hour.css gives them no rules —
   the booklet sets its own spacing. */
.ea-lang.ea-lang-next{margin-top:22px;}
.ea-prayer.ea-prayer-after{margin-top:24px;}
.ea-prayer.ea-prayer-after-lg{margin-top:30px;}
.ea-section .orn.ea-orn-close{margin:56px 0 0;}
