.catechesis-hero{margin:0 0 1.25rem;padding:clamp(1.4rem,4vw,2.5rem);border:1px solid rgba(194,151,67,.42);border-radius:22px;background:radial-gradient(circle at 50% 0,rgba(212,169,82,.14),transparent 42%),linear-gradient(180deg,rgba(92,16,18,.9),rgba(40,7,8,.95));color:#fff6df;text-align:center;box-shadow:0 18px 45px rgba(0,0,0,.24)}
.catechesis-hero h1{margin:.2rem 0 .35rem;color:#fff4d2;font-size:clamp(2rem,5vw,3.7rem)}
.catechesis-hero .eyebrow,.catechesis-hero p{color:#fff1d2}
.catechesis-cross{font-size:2.4rem;color:#e6bf68;line-height:1}
.catechesis-lead{font-size:clamp(1.08rem,2.5vw,1.35rem);font-weight:700;max-width:62ch;margin:.5rem auto 1rem}
.catechesis-hero>p:not(.eyebrow):not(.catechesis-lead){max-width:76ch;margin-left:auto;margin-right:auto}
.catechesis-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1.2rem}
.catechesis-tracks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:0 0 1.25rem}
.catechesis-track{min-height:150px;display:flex;flex-direction:column;gap:.35rem;align-items:flex-start;padding:1.05rem;border:1px solid rgba(178,139,64,.34);border-radius:18px;background:rgba(255,248,226,.055);color:inherit;text-decoration:none}
.catechesis-track:hover,.catechesis-track:focus-visible{transform:translateY(-2px);border-color:#d6ad58;background:rgba(255,248,226,.1)}
.catechesis-track-icon{font-size:1.8rem}.catechesis-track strong{font-size:1.1rem;color:#f4d893}.catechesis-track span:last-child{line-height:1.45}
.catechesis-progress-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;margin:0 0 1.25rem;padding:1.15rem 1.3rem;border:1px solid rgba(178,139,64,.33);border-radius:18px;background:rgba(255,255,255,.045)}
.catechesis-progress-card h2{margin:.2rem 0}.catechesis-progress-card p{margin:.25rem 0}
.catechesis-progress-meter{min-width:120px;text-align:center;padding:.9rem 1rem;border-radius:15px;background:rgba(78,10,12,.72);border:1px solid rgba(222,181,93,.42)}
.catechesis-progress-meter strong{display:block;font-size:1.8rem;color:#f4d893}.catechesis-progress-meter span{font-size:.82rem}
.catechesis-course{padding:clamp(1rem,3vw,1.7rem)}.catechesis-lesson-list{display:grid;gap:.75rem;margin-top:1rem}
.catechesis-lesson-card{display:grid;grid-template-columns:54px 1fr;gap:.85rem;padding:1rem;border:1px solid rgba(178,139,64,.28);border-radius:16px;background:rgba(255,255,255,.035)}
.catechesis-lesson-card.is-open{border-color:rgba(213,169,79,.55)}.catechesis-lesson-card.is-planned{opacity:.78}
.catechesis-number{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#681315;color:#f9df9e;border:1px solid #c7963c;font-weight:900;font-size:1.15rem}
.catechesis-lesson-card h3{margin:.05rem 0 .3rem}.catechesis-lesson-card h3 a{color:#f1d38b}.catechesis-lesson-card p{margin:.2rem 0;line-height:1.5}
.catechesis-status{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#ddb869}.catechesis-child-title{font-size:.92rem;font-style:italic}
.catechesis-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.25rem 0}
.catechesis-principles article,.catechesis-reference-grid article,.catechesis-live-grid article{padding:1.1rem;border:1px solid rgba(178,139,64,.28);border-radius:18px;background:rgba(255,255,255,.04)}
.catechesis-principles h2,.catechesis-reference-grid h2{font-size:1.12rem;margin:.1rem 0 .45rem}
.catechesis-editorial-note{margin:1rem 0;padding:1rem 1.15rem;border-left:4px solid #c89a43;border-radius:10px;background:rgba(122,30,24,.22);line-height:1.55}
.catechesis-breadcrumbs{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:0 0 1rem;font-size:.92rem}
.catechesis-lesson{max-width:980px;margin:0 auto}
.catechesis-lesson-head{padding:clamp(1.15rem,4vw,2rem);border:1px solid rgba(197,153,68,.42);border-radius:20px;background:rgba(80,12,14,.72);text-align:center}
.catechesis-lesson-head h1{margin:.2rem 0 .55rem;font-size:clamp(1.8rem,4.3vw,3rem);color:#f7dda0}
.catechesis-source-status{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin-top:.9rem}.catechesis-source-status span{padding:.38rem .62rem;border:1px solid rgba(221,184,104,.4);border-radius:999px;background:rgba(0,0,0,.13);font-size:.8rem}
.catechesis-toolbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin:1rem 0;padding:.75rem;border:1px solid rgba(178,139,64,.3);border-radius:15px;background:rgba(38,9,9,.96);backdrop-filter:blur(8px)}
.catechesis-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.catechesis-tabs button{min-height:44px;padding:.6rem .8rem;border:1px solid #9e7430;border-radius:10px;background:transparent;color:#f6dfab;font-weight:800;cursor:pointer}
.catechesis-tabs button[aria-selected="true"]{background:#761619;border-color:#d3a54e;color:#fff8e8}.catechesis-read-button{white-space:nowrap}
.catechesis-panel{padding:.2rem 0}
.catechesis-copy-section,.catechesis-story,.catechesis-easy,.catechesis-family,.catechesis-sources,.catechesis-complete,.catechesis-safeguards{margin:1rem 0;padding:clamp(1rem,3vw,1.45rem);border:1px solid rgba(178,139,64,.27);border-radius:17px;background:rgba(255,255,255,.035)}
.catechesis-copy-section h2,.catechesis-story h2,.catechesis-easy h2,.catechesis-family h2,.catechesis-sources h2{margin-top:.05rem}
.catechesis-copy-section p,.catechesis-story p{max-width:78ch;line-height:1.75}
.catechesis-story{background:linear-gradient(180deg,rgba(248,222,166,.1),rgba(255,255,255,.03))}
.catechesis-question{margin-top:1rem;padding:.9rem;border-radius:12px;background:rgba(132,53,25,.25)}
.catechesis-easy ul{display:grid;gap:.7rem;padding-left:1.35rem;font-size:1.07rem;line-height:1.65}
.catechesis-reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1rem 0}.catechesis-reference-grid li{margin:.45rem 0;line-height:1.5}.catechesis-sources li{margin:.5rem 0}
.catechesis-complete{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:rgba(73,119,67,.1)}.catechesis-complete h2{margin:.05rem 0 .25rem}.catechesis-complete [aria-pressed="true"]{background:#48673e;border-color:#93bc81}
.catechesis-lesson-nav{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1.1rem 0}.catechesis-lesson-nav a:last-child{text-align:right}
.catechesis-live-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.catechesis-live-grid article>strong{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#6d1114;color:#f9dfa0}.catechesis-live-grid h3{margin:.65rem 0 .3rem}
.catechesis-safeguards ul{display:grid;gap:.65rem;line-height:1.55}
html.a11y-readable .catechesis-copy-section p,html.a11y-readable .catechesis-story p,html.a11y-readable .catechesis-easy li{max-width:68ch}
html.a11y-contrast .catechesis-hero,html.a11y-contrast .catechesis-lesson-head,html.a11y-contrast .catechesis-toolbar,html.a11y-contrast .catechesis-track,html.a11y-contrast .catechesis-lesson-card{background:#000!important;border-color:#fff!important}
html.a11y-contrast .catechesis-tabs button{border-color:#fff!important}
@media(max-width:900px){.catechesis-tracks{grid-template-columns:repeat(2,minmax(0,1fr))}.catechesis-principles,.catechesis-live-grid{grid-template-columns:1fr}.catechesis-toolbar{position:static;align-items:stretch;flex-direction:column}.catechesis-read-button{align-self:flex-start}}
@media(max-width:620px){.catechesis-tracks{grid-template-columns:1fr}.catechesis-progress-card{grid-template-columns:1fr}.catechesis-progress-meter{width:100%}.catechesis-lesson-card{grid-template-columns:42px 1fr}.catechesis-number{width:40px;height:40px}.catechesis-reference-grid{grid-template-columns:1fr}.catechesis-complete{align-items:stretch;flex-direction:column}.catechesis-lesson-nav{grid-template-columns:1fr}.catechesis-lesson-nav a:last-child{text-align:left}.catechesis-tabs{display:grid;grid-template-columns:1fr;width:100%}.catechesis-tabs button{width:100%;text-align:left}}


/* Interactive catechesis story path */
.catechesis-key-phrase{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:.8rem;
  margin:1rem 0;
  padding:.9rem 1rem;
  border:1px solid rgba(214,173,88,.48);
  border-radius:15px;
  background:linear-gradient(90deg,rgba(112,19,22,.48),rgba(255,255,255,.035));
}
.catechesis-key-phrase span{
  padding:.35rem .55rem;
  border-radius:999px;
  background:#6d1114;
  border:1px solid #c89a43;
  color:#fbe4aa;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.catechesis-key-phrase strong{font-size:1.05rem;line-height:1.45;color:#f7dfa5}
.catechesis-story-stage{margin:1rem 0}
.catechesis-story-status{
  margin:0 0 .55rem;
  color:#e5c47f;
  font-weight:800;
  font-size:.86rem;
  letter-spacing:.03em;
}
.catechesis-story-scenes{
  min-height:180px;
  display:grid;
}
.catechesis-story-scene{
  position:relative;
  align-self:stretch;
  padding:1.2rem 1.2rem 1.2rem 4rem;
  border:1px solid rgba(206,166,83,.36);
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0,rgba(229,192,111,.08),transparent 38%),
    rgba(38,12,10,.32);
}
.catechesis-story-scene:focus{outline:3px solid #fff4a8;outline-offset:3px}
.catechesis-scene-number{
  position:absolute;
  left:1rem;
  top:1rem;
  width:2rem;
  height:2rem;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#741416;
  border:1px solid #c79a43;
  color:#ffe6ad;
  font-weight:900;
}
.catechesis-story-scene p{margin:.1rem 0;font-size:1.05rem;line-height:1.75}
.catechesis-story-nav{display:flex;justify-content:space-between;gap:.7rem;margin-top:.7rem}
.catechesis-story-nav button:disabled{opacity:.45;cursor:not-allowed}
.catechesis-discovery{
  margin:1.2rem 0 0;
  padding:1rem;
  border:1px solid rgba(178,139,64,.32);
  border-radius:16px;
  background:rgba(255,248,226,.055);
}
.catechesis-discovery h3{margin:.2rem 0 .35rem;font-size:1.12rem}
.catechesis-discovery-options{display:grid;gap:.6rem;margin-top:.8rem}
.catechesis-discovery-option{
  border:1px solid rgba(177,137,62,.26);
  border-radius:12px;
  overflow:hidden;
  background:rgba(0,0,0,.08);
}
.catechesis-discovery-option>button{
  width:100%;
  min-height:48px;
  padding:.75rem .9rem;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.catechesis-discovery-option>button:hover,
.catechesis-discovery-option>button:focus-visible,
.catechesis-discovery-option>button[aria-pressed="true"]{
  background:rgba(126,25,27,.46);
}
.catechesis-discovery-feedback{
  padding:.8rem .9rem;
  border-top:1px solid rgba(194,151,67,.28);
  background:rgba(255,248,226,.065);
  line-height:1.6;
}
.catechesis-discovery-feedback:focus{outline:3px solid #fff4a8;outline-offset:-3px}
html.a11y-readable .catechesis-story-scene p,
html.a11y-readable .catechesis-discovery-feedback{max-width:68ch}
html.a11y-contrast .catechesis-key-phrase,
html.a11y-contrast .catechesis-story-scene,
html.a11y-contrast .catechesis-discovery,
html.a11y-contrast .catechesis-discovery-option,
html.a11y-contrast .catechesis-discovery-feedback{background:#000!important;border-color:#fff!important}
@media(max-width:620px){
  .catechesis-key-phrase{grid-template-columns:1fr}
  .catechesis-key-phrase span{justify-self:start}
  .catechesis-story-scene{padding:3.7rem 1rem 1rem}
  .catechesis-story-nav{display:grid;grid-template-columns:1fr}
  .catechesis-story-nav button{width:100%}
}

/* Youth and educator tracks */
.catechesis-youth{margin:1rem 0;padding:clamp(1rem,3vw,1.5rem);border:1px solid rgba(178,139,64,.34);border-radius:18px;background:linear-gradient(135deg,rgba(94,21,43,.28),rgba(255,255,255,.035))}
.catechesis-youth h2{margin:.15rem 0 .55rem}.catechesis-youth-hook{max-width:76ch;font-size:1.08rem;line-height:1.7}
.catechesis-youth-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:.85rem;margin-top:1rem}
.catechesis-youth-grid>div{padding:1rem;border:1px solid rgba(178,139,64,.25);border-radius:14px;background:rgba(0,0,0,.08)}
.catechesis-youth-grid h3{margin:.05rem 0 .55rem}.catechesis-youth-grid li{margin:.55rem 0;line-height:1.55}.catechesis-youth-practice p{line-height:1.65}
.catechesis-educator-callout{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.25rem 0;padding:1.2rem 1.3rem;border:1px solid rgba(205,163,78,.42);border-radius:18px;background:linear-gradient(90deg,rgba(100,18,20,.48),rgba(255,255,255,.045))}
.catechesis-educator-callout h2{margin:.15rem 0 .35rem}.catechesis-educator-callout p{margin:.2rem 0;max-width:68ch}
.catechesis-session-list{display:grid;gap:.7rem;margin-top:1rem}
.catechesis-session-step{display:grid;grid-template-columns:92px 1fr;gap:.8rem;align-items:start;padding:.85rem;border:1px solid rgba(178,139,64,.26);border-radius:14px;background:rgba(255,255,255,.035)}
.catechesis-session-step>strong{display:grid;place-items:center;min-height:44px;padding:.4rem;border-radius:10px;background:#6d1114;border:1px solid #c79a43;color:#ffe2a5}
.catechesis-session-step h3{margin:.05rem 0 .25rem}.catechesis-session-step p{margin:.1rem 0;line-height:1.55}
.catechesis-teacher-lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem}
.catechesis-teacher-lesson{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem;border:1px solid rgba(178,139,64,.28);border-radius:13px;background:rgba(255,255,255,.035);text-decoration:none;color:inherit}
.catechesis-teacher-lesson:hover,.catechesis-teacher-lesson:focus-visible{border-color:#d0a14c;background:rgba(255,255,255,.075)}
.catechesis-teacher-lesson span{font-size:.78rem;color:#d8b36d;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.catechesis-teacher-lesson strong{color:#f2d18b}
html.a11y-contrast .catechesis-youth,html.a11y-contrast .catechesis-educator-callout,html.a11y-contrast .catechesis-session-step,html.a11y-contrast .catechesis-teacher-lesson{background:#000!important;border-color:#fff!important}
@media(max-width:760px){.catechesis-youth-grid{grid-template-columns:1fr}.catechesis-educator-callout{align-items:stretch;flex-direction:column}.catechesis-teacher-lessons{grid-template-columns:1fr}.catechesis-session-step{grid-template-columns:1fr}.catechesis-session-step>strong{justify-self:start}}


/* Catechesis contrast baseline — keep dark design readable over approved temple theme */
body[data-page="catechesis"] .content{
  color:#f3e7d3;
}
body[data-page="catechesis"] .content p,
body[data-page="catechesis"] .content li,
body[data-page="catechesis"] .content label,
body[data-page="catechesis"] .content .small{
  color:#eadcc8;
}
.catechesis-track{
  color:#f3e7d3;
}
.catechesis-track span:last-child{
  color:#eadcc8;
}
.catechesis-progress-card{
  color:#f3e7d3;
}
.catechesis-progress-card h2{
  color:#f4d893;
}
.catechesis-progress-card p:not(.eyebrow){
  color:#eadcc8;
}
.catechesis-progress-meter span{
  color:#e8d3a4;
}
.catechesis-course{
  color:#f3e7d3;
}
.catechesis-course>.copy{
  color:#eadcc8;
}
.catechesis-lesson-card{
  color:#f3e7d3;
}
.catechesis-lesson-card p:not(.catechesis-status){
  color:#eadcc8;
}
.catechesis-child-title{
  color:#e6cfa6!important;
}
.catechesis-editorial-note,
.catechesis-copy-section,
.catechesis-story,
.catechesis-easy,
.catechesis-family,
.catechesis-sources,
.catechesis-complete,
.catechesis-safeguards,
.catechesis-youth,
.catechesis-session-step{
  color:#f1e4d1;
}
.catechesis-source-status span,
.catechesis-question,
.catechesis-discovery-feedback{
  color:#f0e2cd;
}
.catechesis-reference-grid article{
  color:#f1e4d1;
}
.catechesis-breadcrumbs,
.catechesis-breadcrumbs a{
  color:#e3c783;
}
html.a11y-contrast body[data-page="catechesis"] .content,
html.a11y-contrast body[data-page="catechesis"] .content p,
html.a11y-contrast body[data-page="catechesis"] .content li,
html.a11y-contrast body[data-page="catechesis"] .content label,
html.a11y-contrast body[data-page="catechesis"] .content .small{
  color:#fff!important;
}


/* Catechesis moderated question form */
.catechesis-ask-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:1.1rem 0;
  padding:1.1rem 1.25rem;
  border:1px solid rgba(205,163,78,.42);
  border-radius:18px;
  background:linear-gradient(90deg,rgba(82,15,29,.48),rgba(255,255,255,.045));
  color:#f2e5d1;
}
.catechesis-ask-cta h2{margin:.15rem 0 .3rem;color:#f4d893}
.catechesis-ask-cta p{margin:.2rem 0;color:#eadcc8!important}
.catechesis-ask-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:1rem;align-items:start}
.catechesis-ask-card,.catechesis-ask-notes .card{color:#f2e5d1}
.catechesis-question-form{display:grid;gap:1rem}
.catechesis-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.catechesis-question-form label{display:grid;gap:.4rem;color:#f1e4d1}
.catechesis-question-form label>span:first-child{font-weight:800;color:#f0d596}
.catechesis-question-form input[type="email"],
.catechesis-question-form select,
.catechesis-question-form textarea{
  width:100%;
  box-sizing:border-box;
  padding:.75rem .85rem;
  border:1px solid rgba(211,166,75,.48);
  border-radius:11px;
  background:rgba(15,7,6,.62);
  color:#fff7e8;
  font:inherit;
}
.catechesis-question-form textarea{resize:vertical;min-height:160px;line-height:1.55}
.catechesis-question-form input:focus,
.catechesis-question-form select:focus,
.catechesis-question-form textarea:focus{outline:3px solid #f2d184;outline-offset:2px}
.catechesis-question-form small{color:#d7c6ad}
.catechesis-check{grid-template-columns:auto 1fr!important;align-items:start;gap:.65rem!important}
.catechesis-check input{margin-top:.2rem;width:1.1rem;height:1.1rem}
.catechesis-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.catechesis-form-status{min-height:1.4em;margin:0!important;font-weight:800}
.catechesis-form-status.is-success{color:#bfe5b4!important}
.catechesis-form-status.is-error{color:#ffd0c8!important}
.catechesis-ask-notes{display:grid;gap:.8rem}
.catechesis-ask-notes ol{padding-left:1.3rem}
.catechesis-ask-notes li{margin:.6rem 0;line-height:1.5}
html.a11y-contrast .catechesis-ask-cta,
html.a11y-contrast .catechesis-question-form input,
html.a11y-contrast .catechesis-question-form select,
html.a11y-contrast .catechesis-question-form textarea{background:#000!important;border-color:#fff!important;color:#fff!important}
@media(max-width:800px){
  .catechesis-ask-layout{grid-template-columns:1fr}
  .catechesis-form-grid{grid-template-columns:1fr}
  .catechesis-ask-cta{align-items:stretch;flex-direction:column}
}


/* Enhanced catechesis audio player */
.catechesis-audio-controls{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin-left:auto;
}
.catechesis-audio-settings{position:relative}
.catechesis-audio-settings>summary{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.58rem .72rem;
  border:1px solid #9e7430;
  border-radius:10px;
  color:#f6dfab;
  font-weight:800;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.catechesis-audio-settings>summary::-webkit-details-marker{display:none}
.catechesis-audio-settings[open]>summary{background:#651416;border-color:#d3a54e;color:#fff8e8}
.catechesis-audio-panel{
  position:absolute;
  right:0;
  top:calc(100% + .55rem);
  z-index:20;
  width:min(390px,calc(100vw - 2rem));
  padding:1rem;
  border:1px solid rgba(211,166,75,.62);
  border-radius:14px;
  background:#25100f;
  box-shadow:0 18px 45px rgba(0,0,0,.42);
  color:#f3e7d3;
}
.catechesis-audio-panel label{
  display:grid;
  gap:.35rem;
  margin:.85rem 0;
  color:#f3e7d3;
}
.catechesis-audio-panel label>span{font-weight:800;color:#f0d596}
.catechesis-audio-panel select{
  width:100%;
  min-height:44px;
  padding:.55rem .65rem;
  border:1px solid rgba(211,166,75,.52);
  border-radius:9px;
  background:#110807;
  color:#fff7e8;
  font:inherit;
}
.catechesis-audio-status{
  min-height:2.6em;
  margin:0 0 .65rem!important;
  color:#f0dfc4!important;
  line-height:1.4;
  font-size:.92rem;
}
.catechesis-audio-transport{display:flex;flex-wrap:wrap;gap:.5rem}
.catechesis-audio-transport button{
  min-height:42px;
  padding:.52rem .7rem;
  border:1px solid rgba(211,166,75,.52);
  border-radius:9px;
  background:rgba(109,17,20,.42);
  color:#fff2d1;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.catechesis-audio-transport button:disabled{opacity:.45;cursor:not-allowed}
.catechesis-audio-rate{
  grid-template-columns:auto 1fr auto!important;
  align-items:center;
  column-gap:.65rem!important;
}
.catechesis-audio-rate>span{grid-column:1/-1}
.catechesis-audio-rate input{width:100%;accent-color:#c8923d}
.catechesis-audio-rate output{
  min-width:3.6rem;
  text-align:right;
  color:#f4d893;
  font-weight:900;
}
.catechesis-speech-active{
  position:relative;
  border-radius:8px;
  background:rgba(235,193,99,.14)!important;
  outline:2px solid rgba(235,193,99,.64);
  outline-offset:4px;
  transition:background .2s ease,outline-color .2s ease;
}
html.a11y-contrast .catechesis-audio-panel,
html.a11y-contrast .catechesis-audio-panel select,
html.a11y-contrast .catechesis-audio-transport button{
  background:#000!important;
  color:#fff!important;
  border-color:#fff!important;
}
html.a11y-contrast .catechesis-speech-active{
  background:#000!important;
  outline:4px solid #ff0!important;
}
@media(max-width:900px){
  .catechesis-audio-controls{margin-left:0;align-self:stretch;justify-content:space-between}
  .catechesis-audio-panel{left:0;right:auto}
}
@media(max-width:620px){
  .catechesis-audio-controls{display:grid;grid-template-columns:1fr auto}
  .catechesis-read-button{width:100%}
  .catechesis-audio-panel{position:fixed;left:1rem;right:1rem;top:auto;bottom:1rem;width:auto;max-height:72vh;overflow:auto}
}


/* Online catechesis audience overview */
.catechesis-online-overview{
  margin:1.15rem 0;
  padding:clamp(1rem,3vw,1.55rem);
  border:1px solid rgba(202,159,74,.42);
  border-radius:20px;
  background:linear-gradient(160deg,rgba(77,17,19,.48),rgba(26,10,9,.58));
  color:#f3e7d3;
}
.catechesis-online-intro{max-width:82ch}
.catechesis-online-intro h2{margin:.15rem 0 .55rem;color:#f5d895}
.catechesis-online-intro p:not(.eyebrow){line-height:1.7;color:#eadcc8!important}
.catechesis-audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.catechesis-audience-grid article{min-width:0;padding:1rem;border:1px solid rgba(202,159,74,.27);border-radius:15px;background:rgba(255,255,255,.035)}
.catechesis-audience-grid article>span{display:block;margin-bottom:.35rem;font-size:1.55rem}
.catechesis-audience-grid h3{margin:.15rem 0 .45rem;color:#f3d189}
.catechesis-audience-grid p{margin:.2rem 0;line-height:1.62;color:#eadcc8!important}
.catechesis-audience-grid a{display:inline-block;margin-top:.55rem;color:#f3d189;font-weight:800}
.catechesis-online-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
html.a11y-contrast .catechesis-online-overview,
html.a11y-contrast .catechesis-audience-grid article{background:#000!important;border-color:#fff!important;color:#fff!important}
@media(max-width:900px){.catechesis-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.catechesis-audience-grid{grid-template-columns:1fr}.catechesis-online-actions{display:grid}.catechesis-online-actions .btn{width:100%;box-sizing:border-box}}


/* Dark-surface contrast guard — prevents parchment ink colours leaking into dark modules */
body[data-page="catechesis"] .content :is(
  .catechesis-track,
  .catechesis-progress-card,
  .catechesis-course,
  .catechesis-lesson-card,
  .catechesis-principles article,
  .catechesis-reference-grid article,
  .catechesis-live-grid article,
  .catechesis-lesson-head,
  .catechesis-copy-section,
  .catechesis-story,
  .catechesis-easy,
  .catechesis-family,
  .catechesis-sources,
  .catechesis-complete,
  .catechesis-safeguards,
  .catechesis-youth,
  .catechesis-discovery,
  .catechesis-educator-callout,
  .catechesis-ask-cta,
  .catechesis-ask-card,
  .catechesis-ask-notes .card,
  .catechesis-session-step,
  .catechesis-online-overview,
  .catechesis-audience-grid article,
  .catechesis-audio-panel
){
  color:#f4e8d6!important;
}
body[data-page="catechesis"] .content :is(
  .catechesis-track,
  .catechesis-progress-card,
  .catechesis-course,
  .catechesis-lesson-card,
  .catechesis-principles article,
  .catechesis-reference-grid article,
  .catechesis-live-grid article,
  .catechesis-copy-section,
  .catechesis-story,
  .catechesis-easy,
  .catechesis-family,
  .catechesis-sources,
  .catechesis-complete,
  .catechesis-safeguards,
  .catechesis-youth,
  .catechesis-discovery,
  .catechesis-educator-callout,
  .catechesis-ask-cta,
  .catechesis-ask-card,
  .catechesis-ask-notes .card,
  .catechesis-session-step,
  .catechesis-online-overview,
  .catechesis-audience-grid article,
  .catechesis-audio-panel
) :is(p,li,span,small,label,.copy,.small){
  color:#eadcc8!important;
}
body[data-page="catechesis"] .content :is(
  .catechesis-track,
  .catechesis-progress-card,
  .catechesis-course,
  .catechesis-lesson-card,
  .catechesis-principles article,
  .catechesis-reference-grid article,
  .catechesis-live-grid article,
  .catechesis-copy-section,
  .catechesis-story,
  .catechesis-easy,
  .catechesis-family,
  .catechesis-sources,
  .catechesis-complete,
  .catechesis-safeguards,
  .catechesis-youth,
  .catechesis-discovery,
  .catechesis-educator-callout,
  .catechesis-ask-cta,
  .catechesis-ask-card,
  .catechesis-ask-notes .card,
  .catechesis-session-step,
  .catechesis-online-overview,
  .catechesis-audience-grid article,
  .catechesis-audio-panel
) :is(h1,h2,h3,h4,strong){
  color:#f4d893!important;
}
body[data-page="catechesis"] .content :is(
  .catechesis-track,
  .catechesis-course,
  .catechesis-lesson-card,
  .catechesis-principles article,
  .catechesis-reference-grid article,
  .catechesis-live-grid article,
  .catechesis-copy-section,
  .catechesis-story,
  .catechesis-easy,
  .catechesis-family,
  .catechesis-sources,
  .catechesis-youth,
  .catechesis-discovery,
  .catechesis-educator-callout,
  .catechesis-ask-cta,
  .catechesis-audience-grid article
) a:not(.btn){
  color:#f3cf80!important;
  text-decoration-color:rgba(243,207,128,.55);
}
body[data-page="catechesis"] .content .catechesis-progress-meter span,
body[data-page="catechesis"] .content .catechesis-source-status span,
body[data-page="catechesis"] .content .catechesis-status{
  color:#e8c978!important;
}


/* Parchment-surface text contrast — keep the approved light background, darken text only */
body[data-page="catechesis"] .content .catechesis-course.card{
  color:#2f2118!important;
}
body[data-page="catechesis"] .content .catechesis-course.card > .eyebrow{
  color:#8a5a1d!important;
}
body[data-page="catechesis"] .content .catechesis-course.card > h2{
  color:#721214!important;
}
body[data-page="catechesis"] .content .catechesis-course.card > .copy{
  color:#4b3729!important;
}
body[data-page="catechesis"] .content .catechesis-course.card .catechesis-lesson-card{
  color:#35251b!important;
}
body[data-page="catechesis"] .content .catechesis-course.card .catechesis-lesson-card :is(p,span,small,.copy,.small){
  color:#4d392c!important;
}
body[data-page="catechesis"] .content .catechesis-course.card .catechesis-lesson-card .catechesis-status{
  color:#8a5a1d!important;
}
body[data-page="catechesis"] .content .catechesis-course.card .catechesis-lesson-card h3{
  color:#721214!important;
}
body[data-page="catechesis"] .content .catechesis-course.card .catechesis-lesson-card h3 a{
  color:#7a1518!important;
  text-decoration-color:rgba(122,21,24,.35);
}
body[data-page="catechesis"] .content .catechesis-course.card .catechesis-lesson-card h3 a:hover,
body[data-page="catechesis"] .content .catechesis-course.card .catechesis-lesson-card h3 a:focus-visible{
  color:#5e0e11!important;
  text-decoration-color:currentColor;
}
body[data-page="catechesis"] .content .catechesis-course.card .catechesis-child-title{
  color:#77553a!important;
}
body[data-page="catechesis"] .content .catechesis-course.card .catechesis-number{
  color:#ffe4a6!important;
  background:#711214;
  border-color:#bb7c26;
}

/* Other actual parchment cards in catechesis should also use dark ink. */
body[data-page="catechesis"] .content :is(.catechesis-ask-card.card,.catechesis-ask-notes .card,.catechesis-session-model.card){
  color:#2f2118!important;
}
body[data-page="catechesis"] .content :is(.catechesis-ask-card.card,.catechesis-ask-notes .card,.catechesis-session-model.card) :is(p,li,span,small,label,.copy,.small){
  color:#4b3729!important;
}
body[data-page="catechesis"] .content :is(.catechesis-ask-card.card,.catechesis-ask-notes .card,.catechesis-session-model.card) :is(h1,h2,h3,h4,strong){
  color:#721214!important;
}


/* Moderated public Q&A */
.catechesis-qa-list{display:grid;gap:1rem;margin:1rem 0}
.catechesis-qa-item{
  border:1px solid rgba(202,159,74,.35)!important;
  background:linear-gradient(160deg,rgba(77,17,19,.56),rgba(26,10,9,.68))!important;
  color:#f4e8d6!important;
}
.catechesis-qa-item h2{margin:.2rem 0 .7rem;color:#f4d893!important;font-size:clamp(1.15rem,2.3vw,1.55rem)}
.catechesis-qa-item .catechesis-copy-section{margin:.5rem 0 0;padding:0;background:transparent!important;border:0!important}
.catechesis-qa-item .catechesis-copy-section p{color:#eadcc8!important;line-height:1.72}
.catechesis-qa-item .small{color:#d8c7af!important}
html.a11y-contrast .catechesis-qa-item{background:#000!important;border-color:#fff!important;color:#fff!important}


/* Illustrated catechesis for children */
.catechesis-child-hero{
  background:
    radial-gradient(circle at 20% 10%,rgba(247,210,126,.22),transparent 34%),
    radial-gradient(circle at 80% 8%,rgba(255,243,205,.13),transparent 30%),
    linear-gradient(180deg,rgba(92,16,18,.92),rgba(40,7,8,.96));
}
.catechesis-child-hub{
  margin:1rem 0 1.3rem;
  padding:clamp(1rem,3vw,1.4rem);
  border:1px solid rgba(205,163,78,.35);
  border-radius:20px;
  background:rgba(255,248,226,.04);
}
.catechesis-child-hub .section-head{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1rem}
.catechesis-child-hub .section-head h2{margin:.15rem 0;color:#f4d893}
.catechesis-child-hub .section-head>strong{color:#e8c77c}
.catechesis-child-badges{display:flex;flex-wrap:wrap;gap:.55rem;margin:.9rem 0 0}
.catechesis-child-badges span{display:inline-flex;align-items:center;min-height:38px;padding:.42rem .72rem;border:1px solid rgba(232,199,124,.35);border-radius:999px;background:rgba(255,248,226,.07);color:#f1d89c!important;font-weight:800}
.catechesis-child-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.catechesis-child-card{
  display:grid;
  grid-template-columns:minmax(170px,.85fr) minmax(0,1fr);
  align-items:stretch;
  overflow:hidden;
  border:1px solid rgba(205,163,78,.32);
  border-radius:19px;
  background:linear-gradient(145deg,rgba(255,248,226,.075),rgba(80,15,16,.25));
  color:inherit;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.catechesis-child-card:hover,.catechesis-child-card:focus-visible{
  transform:translateY(-3px);
  border-color:#d5aa55;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}
.catechesis-child-card .catechesis-story-illustration{border-radius:0;min-height:170px}

.catechesis-child-cover{position:relative;display:block;min-height:175px;overflow:hidden;background:#f3e7cf}
.catechesis-child-cover img{display:block;width:100%;height:auto;min-height:0;max-height:none;object-fit:contain;object-position:center}
.catechesis-child-card:focus-visible .catechesis-child-cover img{outline:3px solid #e2b76f;outline-offset:-3px}
.catechesis-child-poster{margin:1.1rem auto 1.5rem;max-width:620px;padding:0;border:1px solid rgba(214,179,109,.55);border-radius:17px;overflow:hidden;background:#f8f2e8}
.catechesis-child-poster img{display:block;width:100%;height:auto;max-width:none!important;border-radius:0!important}
.catechesis-child-poster figcaption{padding:.6rem .9rem;color:#4d2c28!important;font-size:.86rem;line-height:1.45;text-align:center}

.catechesis-child-card-copy{display:flex;flex-direction:column;justify-content:center;gap:.3rem;padding:1rem}
.catechesis-child-card-copy small{color:#f1d293!important;font-weight:680;text-transform:none;letter-spacing:.01em;line-height:1.38;font-size:.84rem}
.catechesis-child-card-copy strong{color:#fff1c7;font-size:clamp(1.14rem,1.8vw,1.34rem);line-height:1.34}
.catechesis-child-card-copy span:not(.catechesis-child-card-meta):last-child{color:#eadcc8;line-height:1.45}
.catechesis-child-card-meta{margin-top:.3rem;color:#d9bd7b!important;font-size:.82rem;font-weight:800}
.catechesis-storybook{
  border-color:rgba(222,183,101,.44);
  background:
    radial-gradient(circle at 90% 0,rgba(242,201,113,.12),transparent 34%),
    linear-gradient(180deg,rgba(89,19,19,.38),rgba(255,255,255,.035));
}
.catechesis-storybook-intro{
  margin:.25rem 0 1rem!important;
  color:#eadcc8!important;
  font-size:1rem;
}
.catechesis-story-stage-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.55rem}
.catechesis-story-stage-head .catechesis-story-status{margin:0}
.catechesis-story-play{min-height:42px;padding:.55rem .85rem;border:1px solid #c99a47;border-radius:999px;background:#fff0c9;color:#681115;font:inherit;font-weight:900;cursor:pointer}
.catechesis-story-play:hover,.catechesis-story-play:focus-visible{background:#f6d98f;outline:2px solid #f6d98f;outline-offset:2px}
.catechesis-story-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin:.55rem 0 .8rem}
.catechesis-story-dots button{width:34px;height:34px;padding:0;border:1px solid rgba(225,190,111,.5);border-radius:50%;background:rgba(255,248,226,.08);color:#f5daa0;font:inherit;font-weight:900;cursor:pointer}
.catechesis-story-dots button:hover,.catechesis-story-dots button:focus-visible{border-color:#f2d58f;background:rgba(255,248,226,.16)}
.catechesis-story-dots button[aria-current="step"]{background:#f2d58f;color:#611115;border-color:#fff0c9;box-shadow:0 0 0 3px rgba(242,213,143,.16)}
.catechesis-story-scene{
  display:grid;
  grid-template-columns:minmax(260px,.95fr) minmax(0,1.05fr);
  gap:1rem;
  align-items:center;
  padding:1rem;
  overflow:hidden;
  animation:catechesisSceneIn .35s ease both;
}
.catechesis-story-copy{display:grid;gap:.8rem;align-content:center}
.catechesis-story-copy p{margin:0!important;font-size:1.08rem;line-height:1.72}
.catechesis-story-listen{
  justify-self:start;
  min-height:42px;
  padding:.55rem .8rem;
  border:1px solid rgba(221,184,104,.45);
  border-radius:999px;
  background:#fff4d8;
  color:#6c1114;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.catechesis-story-listen:hover,.catechesis-story-listen:focus-visible{background:#f3dca7;outline:2px solid #f3dca7;outline-offset:2px}
.catechesis-story-illustration{
  position:relative;
  overflow:hidden;
  min-height:220px;
  border:1px solid rgba(149,94,30,.24);
  border-radius:18px;
  background:#f6e8cc;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 10px 24px rgba(0,0,0,.12);
}
.catechesis-story-illustration svg{display:block;width:100%;height:100%;min-height:220px}
.catechesis-story-scene:not([hidden]) .catechesis-story-illustration svg{animation:storybookIllustrationIn .7s cubic-bezier(.2,.75,.2,1) both}
.catechesis-story-illustration .story-border{fill:none;stroke:#9f6a2e;stroke-width:2;opacity:.3}
.catechesis-story-illustration .story-cloud{fill:#fff8e9;opacity:.82}
.catechesis-story-illustration .cloud-a{animation:storybookCloud 7s ease-in-out infinite alternate}
.catechesis-story-illustration .cloud-b{animation:storybookCloud 8.5s ease-in-out infinite alternate-reverse}
.catechesis-story-illustration .story-sun{fill:#efb953;stroke:#a66b20;stroke-width:3;animation:storybookGlow 3.4s ease-in-out infinite alternate}
.catechesis-story-illustration .story-hills{fill:#8ea464;stroke:#627c45;stroke-width:3}
.catechesis-story-illustration .story-tree{fill:none;stroke:#72512e;stroke-width:7;stroke-linecap:round}
.catechesis-story-illustration .story-leaf{fill:#769151;stroke:#5b7540;stroke-width:2}
.catechesis-story-illustration .story-cross,
.catechesis-story-illustration .story-church,
.catechesis-story-illustration .story-stable,
.catechesis-story-illustration .story-manger,
.catechesis-story-illustration .story-vestment{fill:none;stroke:#721214;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.catechesis-story-illustration .story-cross-large{stroke-width:10}
.catechesis-story-illustration .story-book{fill:#fff8e7;stroke:#7c431c;stroke-width:4}
.catechesis-story-illustration .story-candle{fill:#f4dd9e;stroke:#9a681f;stroke-width:3}
.catechesis-story-illustration .story-flame{fill:#db7b2f;stroke:#9d491e;stroke-width:2;transform-origin:center;animation:storybookFlame 1.8s ease-in-out infinite alternate}
.catechesis-story-illustration .story-tomb{fill:#d9c8a8;stroke:#755a3d;stroke-width:5}
.catechesis-story-illustration .story-stone{fill:#c9b797;stroke:#755a3d;stroke-width:4}
.catechesis-story-illustration .story-light-ray{fill:none;stroke:#f0c85f;stroke-width:7;stroke-linecap:round;opacity:.88;animation:storybookGlow 2.8s ease-in-out infinite alternate}
.catechesis-story-illustration .story-person{fill:#7a3026}
.catechesis-story-illustration .story-font{fill:#e9d9b8;stroke:#745437;stroke-width:5}
.catechesis-story-illustration .story-water{fill:none;stroke:#6ba0b7;stroke-width:5}
.catechesis-story-illustration .story-altar{fill:#d6b878;stroke:#8d5b24;stroke-width:4}
.catechesis-story-illustration .story-chalice{fill:#d9aa45;stroke:#7e4a18;stroke-width:5}
.catechesis-story-illustration .story-discos{fill:#ead594;stroke:#8d5b24;stroke-width:4}
.catechesis-story-illustration .story-path{fill:none;stroke:#c69958;stroke-width:18;stroke-linecap:round}
.catechesis-story-illustration .story-icon-frame{fill:#d9b26b;stroke:#7d3f1e;stroke-width:6}
.catechesis-story-illustration .story-star{fill:#e6b94d;stroke:#8e5b20;stroke-width:3;animation:storybookGlow 2.4s ease-in-out infinite alternate}
.catechesis-story-illustration .story-star-dot{fill:#e9bb4d;stroke:#8e5b20;stroke-width:2}
.catechesis-story-illustration .story-wing{fill:#f8f0db;stroke:#b28a50;stroke-width:4}
.catechesis-story-illustration .story-halo{fill:none;stroke:#d9ad46;stroke-width:7;animation:storybookGlow 2.6s ease-in-out infinite alternate}
.catechesis-story-illustration .story-stars circle{fill:#e3b447;animation:storybookGlow 2.2s ease-in-out infinite alternate}
.catechesis-story-illustration .story-spark{fill:#e7b94f;stroke:#8f5d22;stroke-width:1.5;transform-origin:center;animation:storybookSpark 2.6s ease-in-out infinite alternate}
.catechesis-story-illustration .story-spark.delay-a{animation-delay:.45s}
.catechesis-story-illustration .story-spark.delay-b{animation-delay:.9s}
.catechesis-story-illustration .story-swoosh{fill:none;stroke:#d8a94d;stroke-width:4;stroke-linecap:round;opacity:.72;stroke-dasharray:10 10;animation:storybookDraw 5s linear infinite}
.catechesis-story-illustration[data-illustration-scene="1"]{filter:saturate(1.03)}
.catechesis-story-illustration[data-illustration-scene="2"]{filter:saturate(1.06) brightness(1.01)}
.catechesis-story-illustration[data-illustration-scene="3"]{filter:saturate(1.08) brightness(1.03)}
.catechesis-child-traditional{
  display:grid;
  grid-template-columns:minmax(180px,280px) 1fr;
  gap:1rem;
  align-items:center;
  margin:1rem 0;
  padding:1rem;
  border:1px solid rgba(207,167,80,.30);
  border-radius:16px;
  background:rgba(255,248,226,.045);
}
.catechesis-child-traditional img{width:100%;max-height:300px;object-fit:contain;border-radius:12px;background:#ede0c2}
.catechesis-child-traditional figcaption{color:#dfcfb8;font-size:.88rem;line-height:1.55}
@keyframes storybookCloud{from{transform:translateX(-5px)}to{transform:translateX(10px)}}
@keyframes storybookGlow{from{opacity:.68}to{opacity:1}}
@keyframes storybookFlame{from{transform:scale(.92) rotate(-2deg)}to{transform:scale(1.06) rotate(2deg)}}
@keyframes catechesisSceneIn{from{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes storybookIllustrationIn{from{opacity:.35;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}
@keyframes storybookSpark{from{opacity:.35;transform:scale(.82)}to{opacity:1;transform:scale(1.12)}}
@keyframes storybookDraw{to{stroke-dashoffset:-80}}
@media(max-width:820px){
  .catechesis-child-grid{grid-template-columns:1fr}
  .catechesis-story-stage-head{align-items:stretch;flex-direction:column}
  .catechesis-story-play{width:100%}
  .catechesis-story-scene{grid-template-columns:1fr}
  .catechesis-story-illustration{min-height:200px}
  .catechesis-child-traditional{grid-template-columns:1fr}
}
@media(max-width:560px){
  .catechesis-child-card{grid-template-columns:1fr}
  .catechesis-child-card .catechesis-story-illustration{min-height:150px}
  .catechesis-story-scene{padding:.8rem}
}
@media(prefers-reduced-motion:reduce){
  .catechesis-child-card,
  .catechesis-story-scene,
  .catechesis-story-illustration .story-cloud,
  .catechesis-story-illustration .story-flame,
  .catechesis-story-illustration .story-light-ray,
  .catechesis-story-illustration .story-star,
  .catechesis-story-illustration .story-halo,
  .catechesis-story-illustration .story-stars circle,
  .catechesis-story-illustration .story-spark,
  .catechesis-story-illustration .story-swoosh,
  .catechesis-story-scene:not([hidden]) .catechesis-story-illustration svg{animation:none!important;transition:none!important;transform:none!important}
}
html.a11y-contrast .catechesis-story-illustration{background:#000!important;border-color:#fff!important}
html.a11y-contrast .catechesis-story-listen{background:#000!important;border-color:#fff!important;color:#fff!important}

/* Keep complete illustrated teaching posters visible, including their lower text panels. */
.catechesis-child-card .catechesis-child-cover{align-self:center;overflow:hidden;min-height:0}
.catechesis-child-poster{box-shadow:0 10px 28px rgba(0,0,0,.18)}
.catechesis-child-extra-art{max-width:650px;margin:1rem auto 1.5rem;border:1px solid rgba(225,195,137,.5);border-radius:16px;background:#fff6e5;color:#3a2420}
.catechesis-child-extra-art summary{padding:.9rem 1.1rem;cursor:pointer;color:#592b20;font-weight:800;line-height:1.4}
.catechesis-child-extra-art summary:focus-visible{outline:3px solid #a96724;outline-offset:2px}
.catechesis-child-extra-grid{display:grid;gap:1rem;padding:0 1rem 1rem}
.catechesis-child-extra-grid figure{margin:0;border-radius:12px;overflow:hidden;background:#fff}
.catechesis-child-extra-grid img{display:block;width:100%;height:auto}
.catechesis-child-extra-grid figcaption{padding:.55rem .85rem;text-align:center;font-size:.91rem;font-weight:650;color:#422a23}
@media (max-width:860px){.catechesis-child-card{grid-template-columns:minmax(130px,44%) minmax(0,1fr)}.catechesis-child-card-copy{padding:.8rem}}
@media (max-width:520px){.catechesis-child-card{grid-template-columns:42% minmax(0,1fr)}.catechesis-child-cover img{width:100%;height:auto}.catechesis-child-card-copy small{font-size:.76rem}.catechesis-child-card-copy strong{font-size:1.04rem}}


/* Storybook: resilient small-screen scene layout and accessible controls. */
.catechesis-story-scene[hidden]{display:none!important}
.catechesis-story-illustration svg{display:block;width:100%;height:auto;max-width:100%;aspect-ratio:420/250}
.catechesis-story-dots{display:flex;flex-wrap:wrap;gap:.4rem}
.catechesis-story-dots [data-story-dot]{min-width:44px;min-height:44px}
.catechesis-story-nav button,.catechesis-story-listen{min-height:44px}
@media (max-width:600px){
  .catechesis-story-scene{padding:3.65rem .85rem 1rem}
  .catechesis-scene-number{left:.85rem;top:.8rem}
  .catechesis-story-stage-head{flex-wrap:wrap}
  .catechesis-story-stage-head .catechesis-story-play{width:100%;border-radius:12px}
  .catechesis-story-illustration{min-height:0;width:100%;overflow:hidden}
  .catechesis-story-scene p{font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
  .catechesis-story-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .catechesis-story-nav button{white-space:normal;min-width:0}
}
