.grande-histoire-page{
  --gh-ink:#173449;--gh-ink-2:#234f68;--gh-muted:#687983;--gh-gold:#a98042;--gh-gold-soft:#ead9b8;
  --gh-paper:#fbfaf6;--gh-paper-2:#f5f1e8;--gh-card:#fffefa;--gh-line:#ddd3c3;--gh-blue:#244f69;
}
.grande-histoire-page,.grande-histoire-page *{box-sizing:border-box}
html{scroll-behavior:smooth}
.grande-histoire-page{
  color:var(--gh-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 74% 7%,rgba(197,168,112,.17),transparent 25rem),
    linear-gradient(180deg,#f6f2e9 0,#fbfaf6 36rem,#fbfaf6 100%);
}
.grande-histoire-page button,.grande-histoire-page a{font:inherit}
.grande-histoire-page button{cursor:pointer}
.grande-histoire-page{width:min(1180px,calc(100% - 34px));margin:0 auto 72px}
.eyebrow{margin:0 0 10px;color:#96703a;font-size:.76rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.hero{padding:84px 0 58px;position:relative}
.hero:after{content:"";position:absolute;right:2%;top:74px;width:280px;height:280px;border:1px solid rgba(169,128,66,.18);border-radius:50%;box-shadow:0 0 0 56px rgba(169,128,66,.035),0 0 0 112px rgba(169,128,66,.02);pointer-events:none}
.hero h1,.section-head h2,.arc h2,.reader-preview h2{font-family:Georgia,serif}
.hero h1{max-width:900px;margin:0;font-size:clamp(3.3rem,7vw,6.6rem);font-weight:500;line-height:.94;letter-spacing:-.045em}
.lead{max-width:850px;margin:28px 0 0;color:#526670;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.66}
.hero-notes{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:34px;color:#65737c;font-size:.88rem;font-weight:750}
.hero-notes span,.hero-notes strong{padding:9px 13px;border:1px solid #dbd0bd;border-radius:999px;background:rgba(255,255,252,.8)}
.hero-notes strong{border-color:#244f69;background:#244f69;color:#fff}
.hero-notes i{color:#b79a6d;font-style:normal}
.story,.threads,.arc,.reader-preview{padding:58px 0;border-top:1px solid #ddd4c6}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:28px}
.section-head h2,.arc h2,.reader-preview h2{margin:0;font-size:clamp(2.3rem,4vw,4.3rem);font-weight:500;line-height:1}
.section-head>p{max-width:390px;margin:0;color:var(--gh-muted);line-height:1.6}
.timeline-wrap{overflow-x:auto;padding:8px 2px 18px;scrollbar-width:thin}
.timeline{display:grid;grid-template-columns:repeat(12,minmax(116px,1fr));gap:0;min-width:1380px;position:relative}
.timeline:before{content:"";position:absolute;left:4%;right:4%;top:33px;height:2px;background:linear-gradient(90deg,#bca170,#c8b28d 44%,#244f69 52%,#c8b28d 61%,#bca170)}
.step{position:relative;display:grid;justify-items:center;gap:8px;padding:0 6px;border:0;background:transparent;color:var(--gh-ink);text-align:center}
.step-dot{display:grid;place-items:center;z-index:1;width:66px;height:66px;border:1px solid #cdbb9e;border-radius:50%;background:#fbfaf6;color:#806132;font-family:Georgia,serif;font-size:1.12rem;box-shadow:0 4px 16px rgba(64,55,41,.06);transition:.18s ease}
.step strong{font-size:.82rem;line-height:1.2}.step small{max-width:104px;color:#829098;font-size:.68rem;line-height:1.3}
.step:hover .step-dot,.step:focus-visible .step-dot,.step.active .step-dot{transform:translateY(-3px);border-color:#8d6e3f;background:#fff7e8;box-shadow:0 8px 24px rgba(85,66,38,.13)}
.step:focus-visible{outline:2px solid #244f69;outline-offset:5px;border-radius:14px}
.step.christ .step-dot{width:74px;height:74px;margin-top:-4px;border-color:#244f69;background:#244f69;color:#fff;box-shadow:0 9px 28px rgba(36,79,105,.22)}
.step.christ strong{color:#173e56;font-size:.88rem}
.step.dim{opacity:.28}.step.thread-hit{opacity:1}
.focus-card{display:grid;grid-template-columns:86px 1fr 110px;gap:26px;align-items:center;margin-top:26px;padding:30px 34px;border:1px solid #d5c9b8;border-radius:26px;background:linear-gradient(135deg,#fffefa,#f7f2e7);box-shadow:0 18px 60px rgba(50,58,60,.07)}
.focus-index{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#244f69;color:white;font-family:Georgia,serif;font-size:1.45rem}
.focus-copy h3{margin:3px 0 10px;font-family:Georgia,serif;font-size:2.3rem;font-weight:500}.focus-kicker{margin:0;color:#92703e;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.focus-copy>p:not(.focus-kicker){max-width:820px;margin:0;color:#536773;line-height:1.7}
.focus-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}
.focus-links span{color:#806132;font-size:.82rem;font-weight:800}.focus-links a{color:#244f69;font-size:.86rem;font-weight:850;text-decoration:none}
.focus-links a:hover{text-decoration:underline}.focus-symbol{justify-self:end;color:#b08a4f;font-family:Georgia,serif;font-size:4rem}
.thread-buttons{display:flex;flex-wrap:wrap;gap:9px}
.thread-buttons button{min-height:43px;padding:0 15px;border:1px solid #d3c5b0;border-radius:999px;background:#fffefa;color:#425d6c;font-weight:800}
.thread-buttons button:hover,.thread-buttons button:focus-visible,.thread-buttons button.active{border-color:#244f69;background:#244f69;color:#fff;outline:none}
.thread-explainer{display:flex;gap:16px;align-items:baseline;margin-top:18px;padding:18px 20px;border-left:3px solid #b68b4e;background:#f5f0e5;border-radius:0 14px 14px 0}
.thread-explainer strong{font-family:Georgia,serif;font-size:1.2rem}.thread-explainer span{color:#64757f;line-height:1.55}
.arc{text-align:center}.arc h2{max-width:760px;margin:0 auto}
.arc-grid{display:grid;grid-template-columns:1fr minmax(250px,.8fr) 1fr;gap:18px;align-items:stretch;margin-top:30px}
.arc-card{padding:30px;border:1px solid #d9cfbf;border-radius:24px;background:#fffefa;text-align:left;box-shadow:0 12px 40px rgba(54,61,63,.05)}
.arc-number{color:#916f3d;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.arc-icon{margin-top:22px;font-size:2rem}
.arc-card h3{margin:8px 0 8px;font-family:Georgia,serif;font-size:2rem;font-weight:500}.arc-card p{margin:0;color:#657680;line-height:1.62}
.arc-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#7a7569;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.arc-center i{font-style:normal;color:#b89b69}.arc-center strong{display:grid;place-items:center;width:160px;height:160px;border-radius:50%;background:#244f69;color:#fff;font-family:Georgia,serif;font-size:1.55rem;font-weight:500;text-transform:none;letter-spacing:0;box-shadow:0 15px 38px rgba(36,79,105,.22)}
.arc-center small{font-family:Inter,system-ui,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.04em}
.reader-preview{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.reader-preview>div>p:not(.eyebrow){max-width:520px;color:#637580;line-height:1.7}
.mini-reader{padding:24px;border:1px solid #d4c8b6;border-radius:24px;background:#fffefa;box-shadow:0 18px 55px rgba(50,58,60,.07)}
.mini-head{display:flex;justify-content:space-between;align-items:center}.mini-head span{font-family:Georgia,serif;font-size:1.5rem}.mini-head small{color:#917141;font-weight:800}
.mini-progress{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;margin:20px 0 22px}.mini-progress span,.mini-progress strong{height:4px;border-radius:99px;background:#ddd3c3}.mini-progress strong{background:#244f69}
.mini-current{display:grid;grid-template-columns:46px 1fr;gap:14px;padding:17px;border-radius:16px;background:#f5f0e5}
.mini-current>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#244f69;color:#fff;font-size:.78rem;font-weight:900}
.mini-current div{display:grid;gap:3px}.mini-current small{color:#92703e;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.mini-current strong{font-family:Georgia,serif;font-size:1.25rem}.mini-current p{margin:4px 0 0;color:#667781;font-size:.86rem;line-height:1.45}
.mini-reader>a{display:inline-block;margin-top:16px;color:#244f69;font-weight:850;text-decoration:none}
@media(max-width:900px){
  .section-head{display:block}.section-head>p{margin-top:16px}.focus-card{grid-template-columns:70px 1fr}.focus-symbol{display:none}
  .arc-grid{grid-template-columns:1fr}.arc-center{padding:16px 0}.reader-preview{grid-template-columns:1fr;gap:26px}
}
@media(max-width:620px){
  .grande-histoire-page{width:min(100% - 20px,1180px)}  .hero{padding:52px 3px 40px}.hero:after{display:none}.hero h1{font-size:clamp(3rem,15vw,4.8rem)}
  .hero-notes i{display:none}.focus-card{grid-template-columns:1fr;padding:22px}.focus-index{width:54px;height:54px;font-size:1.1rem}
  .thread-explainer{display:block}.thread-explainer span{display:block;margin-top:6px}.arc-card{padding:22px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* V2 — frise 12 étapes sans défilement */
.story,.threads,.synthesis,.arc,.reader-preview{padding:58px 0;border-top:1px solid #ddd4c6}
.era-band{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin:2px 0 12px}
.era{padding:6px 4px;border-radius:8px;background:#f2ece0;color:#826b48;font-size:clamp(.52rem,.64vw,.68rem);font-weight:900;letter-spacing:.055em;text-align:center;text-transform:uppercase}
.era.origins{grid-column:span 2}.era.israel{grid-column:span 5}.era.christ-era{grid-column:span 2;background:#e8eef1;color:#244f69}.era.church{grid-column:span 2}.era.fulfilment{grid-column:span 1}
.timeline-wrap{overflow:visible;padding:8px 0 18px;scrollbar-width:none}
.timeline{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;width:100%;min-width:0;position:relative}
.timeline:before{left:3.8%;right:3.8%;top:29px}
.step{align-content:start;gap:7px;min-width:0;padding:0 2px}
.step-dot{width:clamp(38px,4.35vw,58px);height:clamp(38px,4.35vw,58px);font-size:clamp(.84rem,1.1vw,1.08rem)}
.step strong{max-width:90px;font-size:clamp(.58rem,.72vw,.78rem);line-height:1.14;overflow-wrap:anywhere}
.step small{max-width:88px;font-size:clamp(.48rem,.57vw,.62rem);line-height:1.2}
.step.christ .step-dot{width:clamp(44px,4.9vw,66px);height:clamp(44px,4.9vw,66px);margin-top:-4px}
.step.christ strong{font-size:clamp(.62rem,.78vw,.84rem)}
.synthesis-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.synthesis-grid article{padding:23px;border:1px solid #d9cfbf;border-radius:20px;background:#fffefa}
.synthesis-grid article.center{border-color:#9db0bc;background:#f2f6f7;box-shadow:inset 0 3px 0 #244f69}
.synthesis-grid article>span{color:#a07c45;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.synthesis-grid strong{display:block;margin-top:15px;font-family:Georgia,serif;font-size:1.28rem;font-weight:600}
.synthesis-grid p{margin:8px 0 0;color:#667780;font-size:.9rem;line-height:1.55}
@media(max-width:900px){
  .step small{display:none}.timeline:before{top:23px}.step-dot{width:46px;height:46px}.step.christ .step-dot{width:52px;height:52px}
  .era{font-size:.5rem;letter-spacing:.02em}.synthesis-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .era-band{gap:1px}.era{padding:5px 1px;font-size:.42rem}
  .timeline:before{top:15px;left:3%;right:3%}
  .step{gap:5px}.step-dot{width:29px;height:29px;font-size:.68rem}
  .step.christ .step-dot{width:34px;height:34px;margin-top:-2px}
  .step strong{max-width:43px;font-size:.46rem;line-height:1.08}
  .synthesis-grid{grid-template-columns:1fr}
}

.book-context{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.6fr);gap:26px;align-items:center;margin-top:14px;padding:22px 24px;border:1px solid #ddd3c3;border-radius:20px;background:rgba(255,255,252,.72)}
.book-context h3{margin:0;font-family:Georgia,serif;font-size:1.45rem;font-weight:600}
.book-context p:not(.eyebrow){margin:7px 0 0;color:#667780;font-size:.9rem;line-height:1.55}
.book-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.book-chips span{padding:8px 11px;border:1px solid #d6c9b7;border-radius:999px;background:#fffefa;color:#35576a;font-size:.76rem;font-weight:850}
@media(max-width:760px){.book-context{grid-template-columns:1fr}.book-chips{justify-content:flex-start}}

.timeline-wrap{overflow-x:clip}
.step[aria-pressed="true"] strong{font-weight:950}

.book-context small{display:block;margin-top:8px;color:#8a8276;font-size:.72rem;line-height:1.4}

.purpose,.ecosystem{padding:58px 0;border-top:1px solid #ddd4c6}
.purpose-heading{max-width:900px}
.purpose-heading h2,.ecosystem h2{margin:0;font-family:Georgia,serif;font-size:clamp(2.4rem,4.3vw,4.5rem);font-weight:500;line-height:1}
.purpose-heading>p:last-child{max-width:880px;margin:20px 0 0;color:#586c77;font-size:1.08rem;line-height:1.68}
.purpose-line{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.25fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;margin-top:30px;padding:18px;border:1px solid #d8cebd;border-radius:24px;background:linear-gradient(135deg,#fffefa,#f7f2e8);box-shadow:0 16px 48px rgba(50,58,60,.06)}
.purpose-line>i{color:#b19464;font-style:normal;font-size:1rem;text-align:center}
.purpose-step{display:grid;align-content:center;min-height:116px;padding:15px 12px;border-radius:18px;text-align:center}
.purpose-step span{color:#9a7742;font-size:.66rem;font-weight:900;letter-spacing:.1em}
.purpose-step strong{display:block;margin-top:7px;font-family:Georgia,serif;font-size:1.18rem;font-weight:600}
.purpose-step small{display:block;margin-top:6px;color:#70808a;font-size:.7rem;line-height:1.35}
.purpose-step.christ-purpose{min-height:136px;background:#244f69;color:#fff;box-shadow:0 12px 30px rgba(36,79,105,.18)}
.purpose-step.christ-purpose span,.purpose-step.christ-purpose small{color:#dfe9ee}
.purpose-step.christ-purpose strong{font-size:1.34rem}
.mini-samples{display:flex;gap:7px;margin-bottom:18px}
.mini-samples button{min-height:34px;padding:0 10px;border:1px solid #d6c9b7;border-radius:999px;background:#fff;color:#486371;font-size:.72rem;font-weight:850}
.mini-samples button.active,.mini-samples button:hover,.mini-samples button:focus-visible{border-color:#244f69;background:#244f69;color:#fff;outline:none}
.ecosystem-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ecosystem-grid article{padding:24px;border:1px solid #d9cfbf;border-radius:20px;background:#fffefa}
.ecosystem-grid span{color:#95713d;font-size:.69rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.ecosystem-grid strong{display:block;margin-top:13px;font-family:Georgia,serif;font-size:1.3rem;font-weight:600}
.ecosystem-grid p{margin:8px 0 0;color:#667780;font-size:.9rem;line-height:1.58}
.ecosystem-conclusion{max-width:930px;margin:25px auto 0;padding:18px 22px;border-radius:16px;background:#f1eee6;color:#526772;text-align:center;line-height:1.6}
.ecosystem-conclusion strong{color:#244f69}
@media(max-width:900px){
  .purpose-line{grid-template-columns:1fr 1fr 1fr;gap:10px}
  .purpose-line>i{display:none}.purpose-step.christ-purpose{min-height:116px}
  .ecosystem-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .purpose-line{grid-template-columns:1fr 1fr;padding:12px}
  .purpose-step{min-height:102px;padding:12px 8px}
  .purpose-step.christ-purpose{min-height:102px;grid-column:span 2}
  .ecosystem-grid{grid-template-columns:1fr}
  .mini-samples{flex-wrap:wrap}
}

.mini-progress span.current{background:#244f69;box-shadow:0 0 0 2px rgba(36,79,105,.08)}

.method-note{max-width:920px;margin:18px auto 0;color:#7a817f;font-size:.78rem;line-height:1.55;text-align:center}
.method-note strong{color:#5c6f78}

.kerygma{padding:68px 0;border-top:1px solid #ddd4c6}
.kerygma-core{max-width:920px;margin:0 auto;text-align:center}
.kerygma-core h2{margin:0;font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,5rem);font-weight:500;line-height:.98;letter-spacing:-.025em}
.kerygma-core>p:last-child{max-width:820px;margin:20px auto 0;color:#566b76;font-size:1.04rem;line-height:1.72}
.kerygma-grid{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:14px;align-items:stretch;margin-top:34px}
.kerygma-grid article{padding:28px;border:1px solid #d9cfbf;border-radius:22px;background:#fffefa}
.kerygma-grid article>span{color:#95713d;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.kerygma-grid article>strong{display:block;margin-top:14px;font-family:Georgia,serif;font-size:1.45rem;font-weight:600;line-height:1.22}
.kerygma-grid article>p{margin:12px 0 0;color:#667780;line-height:1.6}
.kerygma-grid .kerygma-center{border-color:#244f69;background:#244f69;color:#fff;box-shadow:0 16px 38px rgba(36,79,105,.18)}
.kerygma-grid .kerygma-center>span,.kerygma-grid .kerygma-center>p{color:#dce7ec}
.kerygma-grid .kerygma-center>strong{font-size:1.62rem}
.era.christ-era{font-size:clamp(.46rem,.58vw,.62rem)}
@media(max-width:820px){.kerygma-grid{grid-template-columns:1fr}.kerygma-grid .kerygma-center{order:-1}}

.book-map{padding:58px 0;border-top:1px solid #ddd4c6}
.book-map-summary{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:-8px 0 22px;padding:13px 16px;border:1px solid #ddd3c3;border-radius:14px;background:#f8f5ee;color:#536b78}
.book-map-summary strong{color:#244f69}.book-map-summary small{color:#7f817b}
.book-map-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.book-map-filters button{min-height:36px;padding:0 11px;border:1px solid #d6c9b7;border-radius:999px;background:#fffefa;color:#496473;font-size:.72rem;font-weight:850}
.book-map-filters button.active,.book-map-filters button:hover,.book-map-filters button:focus-visible{border-color:#244f69;background:#244f69;color:#fff;outline:none}
.book-map-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.book-map-card{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start;padding:14px;border:1px solid #ddd3c3;border-radius:16px;background:#fffefa}
.book-map-card.hidden{display:none}
.book-map-stage{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f0e7d8;color:#806132;font-size:.7rem;font-weight:950}
.book-map-card[data-primary="8"] .book-map-stage,.book-map-card[data-primary="9"] .book-map-stage{background:#244f69;color:#fff}
.book-map-card strong{display:block;font-size:.86rem;line-height:1.2}
.book-map-card small{display:block;margin-top:4px;color:#7a858a;font-size:.66rem;line-height:1.3}
.book-map-stages{display:flex;flex-wrap:wrap;gap:3px;margin-top:7px}
.book-map-stages span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#f2eee5;color:#6e624f;font-size:.58rem;font-weight:900}
.book-map-loading{grid-column:1/-1;color:#718087}
@media(max-width:980px){.book-map-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.book-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.book-map-grid{grid-template-columns:1fr}}

.chapter-map-panel{margin-top:26px;padding:24px;border:1px solid #d8cebd;border-radius:22px;background:linear-gradient(135deg,#f8f5ee,#fffefa)}
.chapter-map-head{display:flex;justify-content:space-between;gap:24px;align-items:end}
.chapter-map-head h3{margin:0;font-family:Georgia,serif;font-size:1.65rem;font-weight:600}
.chapter-map-head>p{max-width:440px;margin:0;color:#687983;font-size:.82rem;line-height:1.55}
.landmarks{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.landmarks a{padding:8px 10px;border:1px solid #d4c7b5;border-radius:999px;background:#fff;color:#35586b;font-size:.72rem;font-weight:850;text-decoration:none}
.landmarks a:hover,.landmarks a:focus-visible{border-color:#244f69;background:#244f69;color:#fff;outline:none}
@media(max-width:760px){.chapter-map-head{display:block}.chapter-map-head>p{margin-top:10px}}

.placement-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px}
.placement-summary span{padding:12px 14px;border:1px solid #ddd3c3;border-radius:14px;background:#fffefa;color:#647681;font-size:.76rem;text-align:center}
.placement-summary strong{display:block;color:#244f69;font-family:Georgia,serif;font-size:1.25rem}
.book-mode-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.book-mode-filters button{min-height:36px;padding:0 11px;border:1px solid #d6c9b7;border-radius:999px;background:#f7f3eb;color:#496473;font-size:.72rem;font-weight:850}
.book-mode-filters button.active,.book-mode-filters button:hover,.book-mode-filters button:focus-visible{border-color:#806132;background:#806132;color:#fff;outline:none}
.book-map-card[data-mode="transversal"]{background:#f9f6ef}
.book-map-card[data-mode="retrospective"]{background:#f8f2e8}
.book-map-card[data-mode="apocalyptic"]{background:#f2f6f7;border-color:#c9d8df}
.book-map-mode{display:inline-block;margin-top:4px;color:#8a7655;font-size:.62rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:700px){.placement-summary{grid-template-columns:1fr 1fr}}

.thread-anchors{margin-top:16px;padding:18px 20px;border:1px solid #ddd3c3;border-radius:16px;background:#fffefa}
.thread-anchors-head{display:flex;justify-content:space-between;gap:18px;align-items:baseline}
.thread-anchors-head strong{font-family:Georgia,serif;font-size:1.08rem}
.thread-anchors-head span{color:#738089;font-size:.76rem}
.thread-anchor-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.thread-anchor-list a{padding:8px 10px;border:1px solid #d6c9b7;border-radius:999px;background:#f8f5ee;color:#35586b;font-size:.72rem;font-weight:850;text-decoration:none}
.thread-anchor-list a:hover,.thread-anchor-list a:focus-visible{border-color:#244f69;background:#244f69;color:#fff;outline:none}
.thread-anchor-list .empty{color:#7d8588;font-size:.78rem}
@media(max-width:620px){.thread-anchors-head{display:block}.thread-anchors-head span{display:block;margin-top:5px}}

.depth-switch{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:24px}
.depth-switch>span{margin-right:2px;color:#7a746b;font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.depth-switch button{min-height:38px;padding:0 12px;border:1px solid #d5c8b5;border-radius:999px;background:rgba(255,255,252,.82);color:#456171;font-size:.76rem;font-weight:850}
.depth-switch button.active,.depth-switch button:hover,.depth-switch button:focus-visible{border-color:#244f69;background:#244f69;color:#fff;outline:none}
body[data-depth="quick"] .focus-card,
body[data-depth="quick"] .book-context,
body[data-depth="quick"] .threads,
body[data-depth="quick"] .arc,
body[data-depth="quick"] .reader-preview,
body[data-depth="quick"] .passage-library,
body[data-depth="quick"] .book-map,
body[data-depth="quick"] .ecosystem{display:none}
body[data-depth="quick"] .story .section-head>p{display:none}
body[data-depth="quick"] .story{padding-bottom:34px}
body[data-depth="guided"] .book-map,
body[data-depth="guided"] .ecosystem,
body[data-depth="guided"] .passage-library-controls,
body[data-depth="guided"] .passage-library-resultline,
body[data-depth="guided"] .passage-library-grid,
body[data-depth="guided"] .passage-library>.method-note{display:none}

.passage-library{padding:58px 0;border-top:1px solid #ddd4c6}
.passage-library-summary{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:-8px 0 20px;padding:13px 16px;border:1px solid #ddd3c3;border-radius:14px;background:#f8f5ee;color:#536b78}
.passage-library-summary strong{color:#244f69}.passage-library-summary small{color:#7f817b}
.passage-library-controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:18px}
.passage-library-controls label{display:grid;gap:6px;color:#667780;font-size:.72rem;font-weight:850}
.passage-library-controls input,.passage-library-controls select{min-height:42px;padding:0 12px;border:1px solid #d5c8b5;border-radius:12px;background:#fffefa;color:#334e5d;font:inherit}
.passage-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.passage-card{padding:18px;border:1px solid #ddd3c3;border-radius:18px;background:#fffefa}
.passage-card.is-essential{border-color:#bda57c;box-shadow:0 8px 22px rgba(91,75,48,.06)}
.passage-card small{display:block;color:#8a7655;font-size:.64rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.passage-card h3{margin:7px 0 8px;font-family:Georgia,serif;font-size:1.24rem;font-weight:600}
.passage-card p{margin:0;color:#6a7a82;font-size:.78rem;line-height:1.5}
.passage-card .passage-tags{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}
.passage-card .passage-tags span{padding:4px 7px;border-radius:999px;background:#f2eee5;color:#6e624f;font-size:.6rem;font-weight:850}
.passage-card a{display:inline-block;margin-top:4px;color:#244f69;font-size:.76rem;font-weight:900;text-decoration:none}
.passage-library-loading{grid-column:1/-1;color:#718087}
body[data-depth="quick"] .passage-library{display:none}
@media(max-width:880px){.passage-library-grid{grid-template-columns:1fr 1fr}.passage-library-controls{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.passage-library-grid,.passage-library-controls{grid-template-columns:1fr}}

.story-local-nav{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.story-local-nav a{padding:8px 10px;border:1px solid #d6c9b7;border-radius:999px;background:rgba(255,255,252,.72);color:#35586b;font-size:.72rem;font-weight:850;text-decoration:none}
.story-local-nav a:hover,.story-local-nav a:focus-visible{border-color:#244f69;background:#244f69;color:#fff;outline:none}
.passage-role{display:block;margin:0 0 7px;color:#3e5968;font-family:Georgia,serif;font-size:.93rem;font-weight:600;line-height:1.35}
.passage-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:5px}
.passage-actions a{margin-top:0}
.passage-actions a.secondary{color:#7b776f;font-weight:750}
.passage-actions a.secondary:hover,.passage-actions a.secondary:focus{text-decoration:underline}
html{scroll-behavior:smooth}

.passage-study{margin:14px 0 4px;border-top:1px solid #e2d8c8}
.passage-study summary{cursor:pointer;padding:12px 0 4px;color:#35586b;font-size:.74rem;font-weight:900}
.passage-study summary:hover,.passage-study summary:focus-visible{color:#183f56;outline:none}
.passage-study-body{display:grid;gap:9px;margin-top:8px}
.passage-study-body section{padding:10px 11px;border-radius:11px;background:#f8f5ee}
.passage-study-body section.christ-reading{background:#edf3f5;border-left:3px solid #244f69}
.passage-study-body h4{margin:0 0 4px;color:#405b69;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase}
.passage-study-body p{margin:0;color:#65767f;font-size:.76rem;line-height:1.55}
.passage-study-body .echo-list{color:#526d7a;font-weight:700}

.echo-links{display:flex;flex-wrap:wrap;gap:6px}
.echo-links a{margin:0;padding:5px 8px;border:1px solid #d6c9b7;border-radius:999px;background:#fffefa;color:#35586b;font-size:.66rem;font-weight:850;text-decoration:none}
.echo-links a:hover,.echo-links a:focus-visible{border-color:#244f69;background:#244f69;color:#fff;outline:none}

.core-reading-path{margin:20px 0 24px;padding:22px;border:1px solid #d8cebd;border-radius:20px;background:linear-gradient(135deg,#f8f5ee,#fffefa)}
.core-reading-path-head{display:flex;justify-content:space-between;gap:24px;align-items:end}
.core-reading-path-head span{color:#8a7655;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.core-reading-path-head h3{margin:4px 0 0;font-family:Georgia,serif;font-size:1.45rem;font-weight:600}
.core-reading-path-head p{max-width:420px;margin:0;color:#6f7d84;font-size:.78rem;line-height:1.5}
.core-reading-path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}
.core-path-card{display:block;padding:12px;border:1px solid #ddd3c3;border-radius:14px;background:#fff;color:#35586b;text-decoration:none}
.core-path-card:hover,.core-path-card:focus-visible{border-color:#244f69;box-shadow:0 6px 16px rgba(36,79,105,.08);outline:none}
.core-path-card small{display:block;color:#8a7655;font-size:.6rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.core-path-card strong{display:block;margin:4px 0;font-family:Georgia,serif;font-size:.94rem}
.core-path-card span{display:block;color:#6d7b82;font-size:.67rem;line-height:1.4}
.core-path-card.stage-christ{border-color:#a8bdc8;background:#f3f7f8}
@media(max-width:880px){.core-reading-path-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.core-reading-path-head{display:block}.core-reading-path-head p{margin-top:8px}.core-reading-path-grid{grid-template-columns:1fr 1fr}}

.passage-library-resultline{display:flex;align-items:baseline;gap:5px;margin:0 0 12px;color:#758188;font-size:.72rem}
.passage-library-resultline strong{color:#244f69;font-family:Georgia,serif;font-size:1rem}
body[data-depth="quick"] .story-local-nav a[href="#fils"],
body[data-depth="quick"] .story-local-nav a[href="#passages-cles"],
body[data-depth="quick"] .story-local-nav a[href="#livres"]{display:none}
body[data-depth="guided"] .story-local-nav a[href="#livres"]{display:none}

.grande-histoire-page section[id]{scroll-margin-top:96px}
