/* The Parish Bench — rpcconnected.org
   Direction 14 « La Table d'Essai » sur une paroisse : fiches d'essai à entête
   cousu, cachets de protocole, traits de mesure, jaune de sécurité pour les
   limites de la preuve.
   Règle négative : --securite ne sert jamais à valoriser ou décorer — il marque
   un protocole ou une limite. Aucun aplat --securite sur les titres d'articles. */

@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:600; font-display:swap; src:url('/barlow-condensed-600.woff2') format('woff2'); }
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:700; font-display:swap; src:url('/barlow-condensed-700.woff2') format('woff2'); }
@font-face { font-family:'Public Sans'; font-style:normal; font-weight:400; font-display:swap; src:url('/public-sans-400.woff2') format('woff2'); }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:500; font-display:swap; src:url('/jetbrains-mono-500.woff2') format('woff2'); }

:root {
  --etabli:    #ECE8E0;
  --fiche:     #F6F3EC;
  --fiche-2:   #EFEAE0;
  --encre:     #191B19;
  --encre-2:   #3C403C;
  --outil:     #5D6360;
  --securite:  #C9971B;
  --securite-fonce: #8A6310;
  --filet:     #CFC6B4;
  --filet-2:   #A99E88;
  --nuit:      #1E211F;
  --bench:     #7A4A21;
  --hour:      #3E5C76;
  --classroom: #5C7A3E;
  --record:    #6B4A7A;

  --titre: 'Barlow Condensed','Arial Narrow','Helvetica Neue',sans-serif;
  --texte: 'Public Sans','Segoe UI',system-ui,sans-serif;
  --mono:  'JetBrains Mono','SF Mono',Menlo,Consolas,monospace;
}

*,*::before,*::after { box-sizing:border-box; }
html { font-size:100%; }
body { margin:0; background:var(--etabli); color:var(--encre); font:400 clamp(1rem,.95rem + .2vw,1.05rem)/1.55 var(--texte); }
a { color:inherit; }
img { max-width:100%; height:auto; display:block; }
h1,h2,h3 { font-family:var(--titre); font-weight:700; text-transform:uppercase; letter-spacing:.02em; line-height:1.05; margin:0; }
p { margin:0 0 .9em; }
main { min-height:40vh; }

.rpc-acces-direct { position:absolute; left:-9999px; top:0; background:var(--nuit); color:#fff; padding:.6rem 1rem; z-index:50; font-family:var(--mono); font-size:.8rem; }
.rpc-acces-direct:focus { left:1rem; top:1rem; }

.rpc-travee { max-width:76rem; margin:0 auto; padding:0 1.4rem; }

/* ---------- fronton : la barre de sécurité + l'enseigne ---------- */
.rpc-fronton { border-bottom:2px solid var(--encre); background:var(--fiche); }
.rpc-fronton__securite { height:6px; background:repeating-linear-gradient(135deg,var(--securite) 0 14px,var(--encre) 14px 28px); }
.rpc-fronton__interieur { display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap; padding-top:1rem; padding-bottom:1rem; }
.rpc-enseigne { display:flex; align-items:center; gap:.7rem; text-decoration:none; font:700 1.7rem/1 var(--titre); text-transform:uppercase; letter-spacing:.03em; }
.rpc-enseigne__marque { width:2rem; height:2rem; color:var(--encre); }
.rpc-devise { margin:0; font:500 .72rem/1.3 var(--mono); text-transform:uppercase; letter-spacing:.12em; color:var(--outil); }
.rpc-parcours { margin-left:auto; }
.rpc-parcours ul { display:flex; gap:.35rem; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
.rpc-parcours__lien { display:block; padding:.5rem .8rem; font:500 .72rem/1 var(--mono); text-transform:uppercase; letter-spacing:.09em; text-decoration:none; border:1px solid var(--filet); background:var(--fiche-2); }
.rpc-parcours__lien:hover { border-color:var(--encre); }
.rpc-parcours__lien[aria-current] { background:var(--encre); color:var(--fiche); border-color:var(--encre); }
.rpc-parcours__lien[data-rubrique="the-bench"] { border-top:3px solid var(--bench); }
.rpc-parcours__lien[data-rubrique="the-hour"] { border-top:3px solid var(--hour); }
.rpc-parcours__lien[data-rubrique="the-classroom"] { border-top:3px solid var(--classroom); }
.rpc-parcours__lien[data-rubrique="the-record"] { border-top:3px solid var(--record); }

/* ---------- remontée ---------- */
.rpc-remontee ol { display:flex; gap:.5rem; list-style:none; margin:1.1rem 0 0; padding:0; font:500 .72rem/1 var(--mono); text-transform:uppercase; letter-spacing:.08em; color:var(--outil); }
.rpc-remontee li + li::before { content:"› "; color:var(--filet-2); }
.rpc-remontee a { color:inherit; }

/* ---------- cachet de protocole (signature B) ---------- */
.rpc-cachet { display:inline-flex; align-items:center; gap:.6rem; border:2px solid var(--securite); padding:.45rem .85rem; font:500 .68rem/1.2 var(--mono); text-transform:uppercase; letter-spacing:.14em; color:var(--securite-fonce); background:var(--fiche); }
.rpc-cachet__marque { width:.8rem; height:.8rem; background:var(--securite); flex:none; }
.rpc-cachet--pied { margin-top:1rem; }

/* ---------- préambule ---------- */
.rpc-preambule { padding:2.6rem 1.4rem 1.6rem; }
.rpc-preambule .rpc-cachet { margin-bottom:1.1rem; }
.rpc-preambule h1 { font-size:clamp(2.4rem,1.6rem + 3.6vw,4rem); max-width:20ch; }
.rpc-preambule > p { max-width:62ch; margin-top:1rem; color:var(--encre-2); font-size:1.06rem; }

/* ---------- bilan : les mesures du site ---------- */
.rpc-bilan { display:flex; gap:0; list-style:none; margin:1.6rem 0 0; padding:0; border:2px solid var(--encre); background:var(--fiche); width:max-content; max-width:100%; border-radius:12px; overflow:hidden; }
.rpc-bilan__poste { padding:.8rem 1.3rem; border-right:1px solid var(--filet); display:flex; flex-direction:column; gap:.15rem; }
.rpc-bilan__poste:last-child { border-right:0; }
.rpc-bilan__chiffre { font:700 1.5rem/1 var(--titre); }
.rpc-bilan__libelle { font:500 .64rem/1.2 var(--mono); text-transform:uppercase; letter-spacing:.12em; color:var(--outil); }

/* ---------- rayons ---------- */
.rpc-rayon { padding-top:2.4rem; }
.rpc-rayon__tete { display:flex; align-items:baseline; gap:1rem; border-bottom:2px solid var(--encre); padding-bottom:.5rem; margin-bottom:0; }
.rpc-rayon__tete h2 { font-size:1.5rem; }
.rpc-rayon__tete h2 a { text-decoration:none; }
.rpc-rayon__tete h2 a:hover { text-decoration:underline; text-underline-offset:.18em; }
.rpc-rayon__phrase { margin:0 0 0 auto; font:500 .72rem/1.3 var(--mono); text-transform:uppercase; letter-spacing:.08em; color:var(--outil); }
.rpc-rayon__decompte { font:500 .72rem/1 var(--mono); color:var(--outil); }

/* ---------- la vedette : la fiche à l'essai ---------- */
.rpc-une .rpc-rayon__tete h2 { color:var(--encre); }
.rpc-vedette { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); border:2px solid var(--encre); background:var(--fiche); margin-top:1.2rem; box-shadow:7px 7px 0 var(--filet); border-radius:14px; overflow:hidden; }
.rpc-vedette__image { margin:0; border-right:1px solid var(--filet); }
.rpc-vedette__image img { width:100%; height:100%; object-fit:cover; }
.rpc-vedette__texte { padding:1.4rem 1.5rem 1.5rem; display:flex; flex-direction:column; gap:.8rem; }
.rpc-vedette__intitule { font-size:clamp(1.7rem,1.3rem + 1.6vw,2.5rem); }
.rpc-vedette__intitule a { text-decoration:none; }
.rpc-vedette__intitule a:hover { text-decoration:underline; text-underline-offset:.16em; }
.rpc-vedette__abrege { color:var(--encre-2); }
.rpc-vedette__suite { margin-top:auto; }
.rpc-bouton { display:inline-block; background:var(--encre); color:var(--fiche); padding:.7rem 1.2rem; font:600 .8rem/1 var(--titre); text-transform:uppercase; letter-spacing:.1em; text-decoration:none; box-shadow:4px 4px 0 var(--securite); }
.rpc-bouton:hover { background:var(--bench); }

/* ---------- l'entête cousu (signature A) ---------- */
.rpc-cousu { display:flex; border:1.5px solid var(--encre); background:var(--fiche-2); border-radius:12px; overflow:hidden; }
.rpc-cousu__cel { flex:1; padding:.55rem .8rem; border-right:1px solid var(--filet-2); font:500 .68rem/1.35 var(--mono); color:var(--encre-2); }
.rpc-cousu__cel:last-child { border-right:0; }
.rpc-cousu__cel b { display:block; font:600 .6rem/1 var(--mono); text-transform:uppercase; letter-spacing:.14em; color:var(--outil); margin-bottom:.25rem; }
.rpc-cousu__cel--ecart { background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(201,151,27,.14) 10px 20px); }
.rpc-cousu__cel--ecart b { color:var(--securite-fonce); }

/* ---------- le trait de mesure (signature C) ---------- */
.rpc-mesure { display:flex; align-items:center; gap:.7rem; margin:.55rem 0; font-family:var(--mono); }
.rpc-mesure__valeur { font:600 .82rem/1 var(--mono); color:var(--encre); white-space:nowrap; }
.rpc-mesure__trait { flex:1; height:1px; background:var(--outil); position:relative; min-width:2rem; }
.rpc-mesure__trait::before,.rpc-mesure__trait::after { content:""; position:absolute; top:-3.5px; width:1px; height:8px; background:var(--outil); }
.rpc-mesure__trait::before { left:0; } .rpc-mesure__trait::after { right:0; }
.rpc-mesure__libelle { font:500 .64rem/1.2 var(--mono); text-transform:uppercase; letter-spacing:.1em; color:var(--outil); white-space:nowrap; }

/* ---------- entrées (fiches d'essai) ---------- */
.rpc-casier { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; padding-top:1.3rem; }
.rpc-entree { border:1.5px solid var(--encre); background:var(--fiche); display:flex; flex-direction:column; box-shadow:4px 4px 0 var(--filet); border-radius:12px; overflow:hidden; }
.rpc-entree__vignette { margin:0; border-bottom:1px solid var(--filet); aspect-ratio:16/9; overflow:hidden; }
.rpc-entree__vignette img { width:100%; height:100%; object-fit:cover; }
.rpc-entree__texte { padding:1rem 1.1rem 1.1rem; display:flex; flex-direction:column; gap:.55rem; }
.rpc-entree__cote { display:flex; align-items:center; gap:.55rem; margin:0; font-family:var(--mono); }
.rpc-onglet { font:600 .6rem/1 var(--mono); text-transform:uppercase; letter-spacing:.12em; color:#fff; background:var(--outil); padding:.3rem .55rem; }
.rpc-cote { font:500 .68rem/1 var(--mono); color:var(--outil); letter-spacing:.08em; }
.rpc-mention { font:500 .68rem/1 var(--mono); color:var(--outil); text-decoration:none; text-transform:uppercase; letter-spacing:.1em; }
.rpc-mention:hover { color:var(--encre); text-decoration:underline; }
.rpc-entree__intitule { font-size:1.25rem; line-height:1.08; }
.rpc-entree__intitule a { text-decoration:none; }
.rpc-entree__intitule a:hover { text-decoration:underline; text-underline-offset:.15em; }
.rpc-entree__abrege { font-size:.9rem; color:var(--encre-2); margin:0; }
.rpc-entree__datation { font:500 .66rem/1 var(--mono); text-transform:uppercase; letter-spacing:.1em; color:var(--outil); margin-top:auto; }
.rpc-entree__renvoi { padding-top:.9rem; }
.rpc-renvoi { font:600 .76rem/1 var(--titre); text-transform:uppercase; letter-spacing:.09em; text-decoration:none; border-bottom:2px solid var(--securite); padding-bottom:.15rem; }
.rpc-renvoi:hover { background:var(--securite); }

/* rubrique → couleur d'onglet */
.rpc-entree[data-rubrique="the-bench"] .rpc-onglet, .rpc-vedette[data-rubrique="the-bench"] .rpc-onglet { background:var(--bench); }
.rpc-entree[data-rubrique="the-hour"] .rpc-onglet, .rpc-vedette[data-rubrique="the-hour"] .rpc-onglet { background:var(--hour); }
.rpc-entree[data-rubrique="the-classroom"] .rpc-onglet, .rpc-vedette[data-rubrique="the-classroom"] .rpc-onglet { background:var(--classroom); }
.rpc-entree[data-rubrique="the-record"] .rpc-onglet, .rpc-vedette[data-rubrique="the-record"] .rpc-onglet { background:var(--record); }

/* ---------- registre en ligne (rubriques) ---------- */
.rpc-registre { border:1.5px solid var(--encre); border-top:0; background:var(--fiche); border-radius:0 0 12px 12px; overflow:hidden; }
.rpc-entree--ligne { display:grid; grid-template-columns:200px 1fr; border:0; border-bottom:1px solid var(--filet); box-shadow:none; }
.rpc-entree--ligne:last-child { border-bottom:0; }
.rpc-entree--ligne .rpc-entree__vignette { border-bottom:0; border-right:1px solid var(--filet); aspect-ratio:auto; }
.rpc-entree--ligne .rpc-entree__vignette img { height:100%; }
.rpc-entree--ligne .rpc-entree__intitule { font-size:1.35rem; }

/* ---------- onglets de rubrique ---------- */
.rpc-onglets { display:flex; gap:.4rem; margin-top:1.4rem; border-bottom:2px solid var(--encre); flex-wrap:wrap; }
.rpc-onglets .rpc-onglet { position:static; padding:.6rem 1rem .55rem; font-size:.72rem; text-decoration:none; color:var(--encre); background:var(--fiche-2); border:1.5px solid var(--encre); border-bottom:0; }
.rpc-onglets .rpc-onglet[data-rubrique="the-bench"] { border-top:4px solid var(--bench); }
.rpc-onglets .rpc-onglet[data-rubrique="the-hour"] { border-top:4px solid var(--hour); }
.rpc-onglets .rpc-onglet[data-rubrique="the-classroom"] { border-top:4px solid var(--classroom); }
.rpc-onglets .rpc-onglet[data-rubrique="the-record"] { border-top:4px solid var(--record); }
.rpc-onglets .rpc-onglet--courant { background:var(--encre); color:var(--fiche); }

/* ---------- encart ---------- */
.rpc-encart { margin-top:2.6rem; border:2px solid var(--encre); border-left:10px solid var(--securite); background:var(--fiche); padding:1.3rem 1.5rem; border-radius:12px; }
.rpc-encart h2 { font-size:1.3rem; margin-bottom:.5rem; }
.rpc-encart p { margin:0; color:var(--encre-2); max-width:68ch; }

/* ---------- réseau ---------- */
.rpc-ailleurs { margin-top:2.6rem; }
.rpc-ailleurs__liste { list-style:none; margin:1rem 0 0; padding:0; display:grid; gap:.6rem; }
.rpc-ailleurs__item { border:1px solid var(--filet); border-left:6px solid var(--outil); background:var(--fiche); padding:.8rem 1.1rem; border-radius:12px; }
.rpc-ailleurs__item p { margin:0; font-size:.94rem; }
.rpc-ailleurs__item a { color:var(--encre); font-weight:600; }

/* ---------- article ---------- */
.rpc-fiche { padding-top:.6rem; }
.rpc-entete-fiche { padding-top:1.6rem; }
.rpc-entete-fiche .rpc-cousu { margin-bottom:1.3rem; max-width:44rem; }
.rpc-entete-fiche h1 { font-size:clamp(2.1rem,1.5rem + 2.6vw,3.3rem); max-width:24ch; margin-top:.7rem; }
.rpc-chapeau { font-size:1.12rem; color:var(--encre-2); max-width:60ch; margin-top:.9rem; }
.rpc-datation { font:500 .72rem/1.5 var(--mono); text-transform:uppercase; letter-spacing:.1em; color:var(--outil); margin-top:.6rem; }
.rpc-entete-fiche .rpc-cachet { margin-top:1rem; }
.rpc-planche-image { margin-top:1.6rem; }
.rpc-planche-image figure, .rpc-planche-image img { width:100%; }
.rpc-planche-image img { aspect-ratio:21/9; object-fit:cover; border:2px solid var(--encre); border-radius:14px; }
.rpc-planche-image figcaption { font:500 .7rem/1.4 var(--mono); color:var(--outil); padding:.5rem .2rem 0; border-top:1px solid var(--filet); margin-top:.5rem; }

.rpc-duo { display:grid; grid-template-columns:minmax(0,1fr) 17rem; gap:3rem; margin-top:2.2rem; align-items:start; }
.rpc-corps { max-width:44rem; }
.rpc-corps h2 { font-size:1.5rem; margin:2.2rem 0 .8rem; padding-top:1.1rem; border-top:2px solid var(--encre); position:relative; }
.rpc-corps h2::before { content:""; position:absolute; top:-2px; left:0; width:3.2rem; height:8px; border-left:1px solid var(--outil); border-right:1px solid var(--outil); }
.rpc-corps h3 { font-size:1.15rem; margin:1.6rem 0 .6rem; }
.rpc-corps p { margin-bottom:1rem; }
.rpc-corps ul,.rpc-corps ol { margin:0 0 1rem; padding-left:1.3rem; }
.rpc-corps li { margin-bottom:.4rem; }
.rpc-corps a { text-decoration-thickness:1px; text-underline-offset:.16em; }
.rpc-corps blockquote { margin:1.4rem 0; padding:.9rem 1.2rem; border-left:6px solid var(--securite); background:var(--fiche); font-style:normal; color:var(--encre-2); }
.rpc-corps img { border:1.5px solid var(--encre); margin:1.4rem 0; }

.rpc-releve { position:sticky; top:1.2rem; display:flex; flex-direction:column; gap:1.2rem; }
.rpc-releve__bloc { border:1.5px solid var(--encre); background:var(--fiche); padding:1rem 1.1rem; }
.rpc-releve__bloc h2 { font-size:1.05rem; margin-bottom:.7rem; }
.rpc-releve__bloc--mesures { background:var(--fiche-2); border-top:4px solid var(--securite); }
.rpc-releve__sommaire,.rpc-releve__sources { margin:0; padding-left:1.1rem; font-size:.88rem; }
.rpc-releve__sommaire li,.rpc-releve__sources li { margin-bottom:.35rem; }
.rpc-releve__sommaire a,.rpc-releve__sources a { text-decoration:none; }
.rpc-releve__sommaire a:hover,.rpc-releve__sources a:hover { text-decoration:underline; }
.rpc-releve__sources { font-family:var(--mono); font-size:.74rem; word-break:break-all; }

/* ---------- pied ---------- */
.rpc-pied { margin-top:3.5rem; background:var(--nuit); color:#D8D3C6; }
.rpc-pied a { color:#EDE8DB; }
.rpc-pied__colonnes { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:2.5rem; padding-top:2.4rem; padding-bottom:2rem; }
.rpc-pied__colonne h2 { font-size:1.05rem; color:#fff; margin-bottom:.8rem; }
.rpc-pied__colonne p { font-size:.88rem; color:#B7B1A2; }
.rpc-pied__colonne ul { list-style:none; margin:0; padding:0; font-size:.88rem; }
.rpc-pied__colonne li { margin-bottom:.4rem; }
.rpc-pied__colonne a { text-decoration:none; }
.rpc-pied__colonne a:hover { text-decoration:underline; }
.rpc-pied__note { border-left:4px solid var(--securite); padding-left:.8rem; margin-top:1rem; }
.rpc-pied .rpc-cachet { background:transparent; color:var(--securite); }
.rpc-pied__ligne { padding-top:1.1rem; padding-bottom:1.4rem; border-top:1px solid #3A3E3A; font:500 .68rem/1 var(--mono); text-transform:uppercase; letter-spacing:.12em; color:#8B8577; }

/* ---------- responsive ---------- */
@media (max-width:62rem) {
  .rpc-vedette { grid-template-columns:1fr; }
  .rpc-vedette__image { border-right:0; border-bottom:1px solid var(--filet); }
  .rpc-vedette__image img { aspect-ratio:21/9; }
  .rpc-casier { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rpc-duo { grid-template-columns:1fr; }
  .rpc-releve { position:static; }
  .rpc-pied__colonnes { grid-template-columns:1fr 1fr; }
}
@media (max-width:40rem) {
  .rpc-fronton__interieur { gap:.8rem; }
  .rpc-parcours { margin-left:0; width:100%; }
  .rpc-casier { grid-template-columns:1fr; }
  .rpc-entree--ligne { grid-template-columns:1fr; }
  .rpc-entree--ligne .rpc-entree__vignette { border-right:0; border-bottom:1px solid var(--filet); aspect-ratio:16/9; }
  .rpc-cousu { flex-direction:column; }
  .rpc-cousu__cel { border-right:0; border-bottom:1px solid var(--filet-2); }
  .rpc-cousu__cel:last-child { border-bottom:0; }
  .rpc-bilan { flex-wrap:wrap; }
  .rpc-pied__colonnes { grid-template-columns:1fr; gap:1.6rem; }
}
