:root{--ink:#233744;--muted:#576c76;--navy:#172f40;--paper:#fbfaf7;--line:#dbe2e2;--soft:#edf2f1;--gold:#a48350;color-scheme:light}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:auto}
body{margin:0;background:#f3f3ef;color:var(--ink);font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:#294f65;text-underline-offset:3px}button,input{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ad8138;outline-offset:3px}
.shell{max-width:960px;padding:0 clamp(16px,4vw,32px);margin:0 auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;padding:10px;z-index:99}
.head{background:var(--navy);color:white}.headrow{min-height:69px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;font-size:1.5rem;line-height:1}
.brand strong{display:block;font:500 1.18rem Georgia,serif}.brand small{display:block;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#cbd9dc;margin-top:6px}
.headlink{border:1px solid #5a7581;border-radius:25px;color:#fff;text-decoration:none;padding:8px 14px;white-space:nowrap;font-size:.85rem}
.hero{padding:38px 0 27px}.kicker{text-transform:uppercase;color:var(--gold);letter-spacing:.13em;font-size:.71rem;font-weight:750}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.2;color:var(--navy)}
h1{font-size:clamp(2.06rem,6vw,3.5rem);margin:12px 0 16px;letter-spacing:-.025em}
h1 em{font-weight:400;color:#90764c}
.hero>p:not(.kicker){max-width:650px;color:var(--muted);font-size:1.04rem;line-height:1.65}
.mainnav{position:sticky;top:0;background:#e7edeb;border:1px solid var(--line);border-radius:13px;padding:5px;display:flex;gap:4px;z-index:5}
.mainnav a{display:grid;place-items:center;min-height:47px;flex:1;text-align:center;font-size:.85rem;font-weight:650;line-height:1.3;text-decoration:none;border-radius:10px;padding:5px 6px;color:var(--ink)}
.mainnav a[aria-current="page"]{background:#fff;box-shadow:0 1px 6px #19334316}
.search-top{margin:20px 0 25px;padding:19px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.search-top label{font-weight:750;display:block;margin-bottom:10px}
.searchline{display:flex;gap:8px}.searchline input{min-width:0;flex:1;background:white;border:1px solid #9eb2b5;border-radius:10px;padding:12px;min-height:50px}
.searchline button{background:var(--navy);color:white;border:0;border-radius:10px;padding:10px 20px;font-weight:700;min-height:50px}
.subtle{font-size:.76rem;color:var(--muted);margin:9px 0 0}
.view{padding:12px 0 50px}.sectiontitle{margin:12px 0 20px}.sectiontitle h2{font-size:clamp(1.72rem,4.5vw,2.25rem);margin:6px 0 11px}.sectiontitle p:not(.kicker){color:var(--muted);margin:0;max-width:720px}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:31px}
.content-card{background:var(--paper);border:1px solid var(--line);padding:20px;border-radius:13px;text-decoration:none;display:block;color:var(--ink);min-height:100px}
a.content-card:hover{border-color:#a58a5d;box-shadow:0 3px 15px #223d420b}
.content-card strong{display:block;font:500 1.25rem/1.3 Georgia,serif;color:var(--navy)}
.content-card span{display:block;margin-top:10px;color:var(--muted);font-size:.9rem;line-height:1.55}
.content-card small{display:block;margin-top:10px;color:#886c45;font-size:.76rem;font-weight:700}
.content-card.static{background:#f1f3f0}
.topic-links{display:grid;gap:5px;margin-top:15px}.topic-link{display:block;color:#31566b;font-size:.87rem;line-height:1.45;min-height:28px;text-decoration:underline}
.notice{border:1px solid #d5ded6;padding:17px;border-radius:11px;background:#eff2e9;font-size:.88rem;color:#445951;line-height:1.65;margin:16px 0 24px}
.samples{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.samples button{border:1px solid var(--line);border-radius:99px;background:#fff;min-height:44px;padding:8px 13px;color:var(--ink)}
.result-status{font-size:.85rem;color:var(--muted);margin:14px 0}
.results{display:grid;gap:10px}.search-result small{color:#90734c;margin:0 0 7px}.search-result span{margin-top:6px}
.empty{padding:25px;border:1px dashed #9faeac;border-radius:12px;background:var(--paper);color:var(--muted)}
.article{max-width:770px;margin:0 auto}.back{min-height:47px;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:10px 17px;color:var(--ink);margin:0 0 23px}
.article h2{font-size:clamp(1.8rem,5vw,2.7rem);margin:10px 0 20px}
.article h3{font-size:1.25rem;margin:31px 0 11px}.article p{font-size:1.05rem;line-height:1.8}
.article .answer{font:500 clamp(1.18rem,3vw,1.45rem)/1.65 Georgia,serif;background:#eaf0ed;border-left:4px solid var(--gold);padding:18px 22px;border-radius:10px}
.source-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
.source-link{display:inline-block;border:1px solid var(--line);padding:11px;border-radius:11px;background:white;text-decoration:none;font-size:.88rem}
.related{display:block;margin:18px 0;text-decoration:none;font-weight:650}
.sources-list{display:grid;gap:10px;margin-bottom:25px}.source-card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:13px 15px;text-decoration:none;color:var(--ink)}
.source-card strong,.source-card span,.source-card small{display:block}.source-card span,.source-card small{font-size:.79rem;color:var(--muted);margin-top:4px}
.footer{border-top:1px solid var(--line);margin-top:35px;padding:27px 0 48px;font-size:.82rem;color:var(--muted)}
@media(max-width:640px){.two-col{grid-template-columns:1fr}.hero{padding:20px 0 13px}.hero h1{font-size:clamp(1.95rem,7vw,2.5rem)}.hero>p:not(.kicker){font-size:.93rem;line-height:1.48}.mainnav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible}.mainnav a{grid-column:span 2;min-width:0;font-size:.79rem;padding:6px 3px}.search-top{padding:14px}.content-card{padding:17px}.headlink{font-size:.78rem;padding:7px 10px}}
@media(max-width:350px){.brand small{font-size:.55rem}.searchline button{padding:9px 11px}.searchline input{font-size:.9rem;padding:9px}.mainnav a{font-size:.77rem;min-width:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
:root[data-section="gestes"] .hero,:root[data-section="gestes"] .search-top,:root[data-section="geste"] .hero,:root[data-section="geste"] .search-top,:root[data-section="sacrement"] .hero,:root[data-section="sacrement"] .search-top{display:none}
:root[data-section="gestes"] .mainnav,:root[data-section="geste"] .mainnav{margin-top:18px}
.portal-feature-link{display:flex;flex-direction:column;gap:5px;padding:20px;border:1px solid var(--gold);border-radius:13px;background:var(--paper);text-decoration:none;margin-bottom:20px}.portal-feature-link strong{font:500 1.28rem/1.25 Georgia,serif;color:var(--navy)}.portal-feature-link span{font-size:.9rem;color:var(--muted)}[data-gtype][aria-pressed="true"]{background:var(--navy);color:white}.related-steps{margin-top:20px}.article a.back{display:inline-block;text-decoration:none}

/* Parcours guidés : navigation à grandes cibles tactiles, sans compte utilisateur. */
:root[data-section="parcours"] .hero,:root[data-section="parcours"] .search-top{display:none}
:root[data-section="parcours"] .mainnav{margin-top:18px}
.path-lesson{border:1px solid var(--line);border-radius:14px;padding:clamp(16px,4vw,26px);background:var(--paper);margin:20px 0}
.path-lesson h3{font-size:clamp(1.4rem,3.5vw,1.8rem);margin:12px 0}
.path-progress{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 15px}
.path-dot{display:grid;place-items:center;min-width:40px;min-height:44px;padding:7px;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none;background:#fff;font-weight:700}
.path-dot[aria-current="step"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.path-controls{display:flex;gap:12px;margin:22px 0}
.path-button{flex:1;display:grid;place-items:center;min-height:50px;border:1px solid #72888b;border-radius:11px;text-align:center;padding:10px 12px;text-decoration:none;background:white;font-size:.9rem;font-weight:650;color:var(--ink)}
.path-button.primary{background:var(--navy);color:white}
.path-source-link{margin-top:15px}
@media(max-width:360px){.path-controls{gap:7px}.path-button{padding:9px 6px;font-size:.82rem}}

/* Trois niveaux progressifs, sans répéter les textes des fiches canoniques. */
.path-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#e9eeeb;margin:16px 0 7px}
.path-levels button{min-height:46px;border:0;border-radius:9px;padding:8px 4px;color:var(--ink);background:transparent;font-weight:700;font-size:.91rem;cursor:pointer}
.path-levels button[aria-pressed="true"]{background:#fff;color:var(--navy);box-shadow:0 1px 6px #172f4024}
#parcours-progress{font-size:.7rem;letter-spacing:.065em;line-height:1.5}#parcours-intro{font-size:.95rem;line-height:1.5;margin:8px 0 12px}#view-parcours-detail h2{font-size:clamp(1.85rem,5vw,2.55rem);margin:14px 0 8px}
.path-deep{border-top:1px solid var(--line);padding:8px 0 4px;margin-top:16px}
.path-deep h4{font-family:Georgia,serif;font-size:1.12rem;color:var(--navy);font-weight:500;margin:15px 0 8px}
.path-deep p{line-height:1.7;color:var(--ink);font-size:1rem;margin:4px 0 14px}
@media(max-width:360px){.path-levels button{font-size:.8rem;padding:8px 1px}}

/* Témoignages anciens sourcés : source primaire / interprétation / limites explicitement séparées. */
.historical-evidence{border-top:1px solid var(--line);margin:22px 0;padding-top:12px}.historical-evidence h4{font:500 1.3rem Georgia,serif;color:var(--navy);margin:4px 0 16px}.historical-note{padding:16px 17px;margin-bottom:13px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.historical-note strong,.historical-note small{display:block}.historical-note small{font-size:.79rem;color:var(--muted);margin:4px 0 10px}.historical-note p{margin:8px 0;line-height:1.6}.historical-note .historical-significance{font-weight:600}.historical-note .historical-limit{color:var(--muted);font-size:.86rem}.historical-note a{display:inline-block;margin-top:7px}
