/* Cyprus Legal Compass ,  peau « co- »
   Codex de jalons, fond ivoire, accent vert signal, cuivre réservé aux sources.
   Trois fontes embarquées (/nom.woff2), jouées localement. Pas de requête distante. */

@font-face{font-family:'Playfair Display';src:url('/playfair-display-v22-latin-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('/manrope-variable.woff2') format('woff2');font-weight:300 800;font-style:normal;font-display:swap}
@font-face{font-family:'Courier Prime';src:url('/crimson-text-v11-latin-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root{
  --co-ivoire:#F7FAF7;
  --co-encre:#10231A;
  --co-vert:#00C275;
  --co-vert-fonce:#00844E;
  --co-pierre:#DDE8DF;
  --co-ardoise:#3B4A42;
  --co-cuivre:#7A3E22;
  --co-brume:#E7EFEA;
  --co-nuit:#0B1512;
  --co-lueur:#BFF5D9;
  --co-ombre-1:0 10px 30px rgba(16,35,26,.10);
  --co-ombre-2:0 4px 16px rgba(0,132,78,.18);
  --co-ombre-3:0 2px 10px rgba(122,62,34,.14);
  --co-mesure:68ch;
  --co-gouttiere:clamp(1rem, 4vw, 3.5rem);
  --co-rayon:16px;
  --co-rayon-petit:12px;
  --co-mono:'Courier Prime','IBM Plex Mono',ui-monospace,monospace;
  --co-serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --co-sans:'Manrope','Helvetica Neue',Helvetica,Arial,sans-serif;
  --co-filet:var(--co-pierre);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--co-sans);
  font-size:clamp(1rem, 0.85rem + 0.35vw, 1.12rem);
  line-height:1.72;
  color:var(--co-encre);
  background:var(--co-ivoire);
  background-image:
    radial-gradient(60rem 40rem at 90% -10%, rgba(0,194,117,.10), transparent 60%),
    radial-gradient(50rem 40rem at -10% 30%, rgba(11,21,18,.05), transparent 65%);
  text-rendering:optimizeLegibility;
}
img,svg,picture{display:block;max-width:100%}
img{height:auto;object-fit:cover}
a{color:var(--co-encre);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--co-vert-fonce)}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--co-vert);
  outline-offset:3px;
  border-radius:6px;
}
h1,h2,h3{font-family:var(--co-serif);font-weight:700;letter-spacing:-0.01em;line-height:1.1;margin:0 0 .5em;color:var(--co-encre)}
h1{font-size:clamp(2rem, 1.2rem + 3.6vw, 4rem)}
h2{font-size:clamp(1.4rem, 1rem + 1.6vw, 2rem)}
h3{font-size:clamp(1.05rem, .95rem + .5vw, 1.25rem);line-height:1.25}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
time{font-variant-numeric:tabular-nums}

.travee{
  width:min(100% - 2 * var(--co-gouttiere), 76rem);
  margin-inline:auto;
  min-width:0;
}

/* ---------- entête ---------- */
.co-fronton{
  position:sticky;top:0;z-index:10;
  background:rgba(247,250,247,.86);
  backdrop-filter:blur(18px) saturate(120%);
  border-bottom:1px solid var(--co-filet);
}
.co-fronton__barre{
  height:4px;
  background:linear-gradient(90deg, var(--co-vert) 0%, var(--co-vert) 30%, var(--co-cuivre) 30%, var(--co-cuivre) 42%, var(--co-encre) 42%);
}
.co-fronton__interieur{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 1.2rem;
  padding-block:.75rem;min-width:0;
}
.co-enseigne{font-family:var(--co-serif);font-size:1.25rem;text-decoration:none;letter-spacing:-.01em}
.co-devise{font-family:var(--co-mono);text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;color:var(--co-cuivre);margin:0;flex:1 1 auto}
.co-parcours ul{display:flex;flex-wrap:wrap;gap:.4rem 1rem}
.co-parcours__lien{
  font-family:var(--co-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;
  text-decoration:none;padding-bottom:2px;border-bottom:2px solid transparent;
}
.co-parcours__lien:hover{border-bottom-color:var(--co-vert)}
.co-parcours__lien[aria-current="page"]{border-bottom-color:var(--co-encre);color:var(--co-vert-fonce)}

.co-acces-direct{
  position:absolute;left:-9999px;top:0;background:var(--co-encre);color:var(--co-ivoire);
  padding:.6rem .9rem;border-radius:var(--co-rayon-petit);z-index:50;
}
.co-acces-direct:focus{left:1rem;top:.5rem;color:var(--co-ivoire)}

/* ---------- hero ---------- */
.co-phare{
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--co-filet);
  background:var(--co-brume);
}
.co-phare__planche{margin:0;position:absolute;inset:0;z-index:0}
.co-phare__planche img,.co-phare__planche picture{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.co-phare__voile{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(247,250,247,.15) 0%, rgba(11,21,18,.72) 100%);
}
.co-phare__interieur{position:relative;z-index:2;padding-block:clamp(4rem, 12vh, 9rem);color:var(--co-ivoire);max-width:min(100%, 52rem);min-width:0}
.co-phare__sur{
  font-family:var(--co-mono);text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;
  color:var(--co-lueur);margin:0 0 .6rem;padding-left:1.4rem;position:relative;
}
.co-phare__sur::before{content:"";position:absolute;left:0;top:.55em;width:1rem;height:1px;background:var(--co-lueur)}
.co-phare__titre{
  color:var(--co-ivoire);
  text-shadow:0 3px 22px rgba(11,21,18,.55), 0 1px 3px rgba(11,21,18,.5);
  max-width:22ch;
}
.co-phare__chapo{
  font-size:clamp(1.02rem, .9rem + .35vw, 1.2rem);
  color:#E8F3EB;text-shadow:0 1px 8px rgba(11,21,18,.5);
  max-width:58ch;
}
.co-phare__lien{
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--co-vert);color:var(--co-nuit);
  padding:.7rem 1.1rem;border-radius:var(--co-rayon);
  font-family:var(--co-mono);text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;
  text-decoration:none;box-shadow:var(--co-ombre-2);
  margin-top:.5rem;
}
.co-phare__lien:hover{background:var(--co-lueur);color:var(--co-nuit)}

.co-bilan{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid rgba(191,245,217,.35)}
.co-bilan__poste{display:flex;flex-direction:column;min-width:0}
.co-bilan__chiffre{font-family:var(--co-serif);font-size:1.5rem;color:var(--co-ivoire)}
.co-bilan__libelle{font-family:var(--co-mono);text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;color:var(--co-lueur)}

/* ---------- chaîne de jalons (rubriques) ---------- */
.co-chaine{padding-block:clamp(2.5rem, 6vw, 4.5rem)}
.co-chaine__titre{margin-bottom:1.5rem}
.co-chaine__liste{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:1.5rem}
.co-chaine__item{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;gap:.6rem .9rem;position:relative;min-width:0}
.co-chaine__lien{display:contents;color:inherit;text-decoration:none}
.co-chaine__corps{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.co-jalon{
  grid-row:span 2;
  width:38px;height:38px;border:1px solid var(--co-encre);border-radius:var(--co-rayon-petit);
  display:grid;place-items:center;
  font-family:var(--co-mono);font-size:.82rem;color:var(--co-encre);
  background:var(--co-ivoire);box-shadow:var(--co-ombre-3);
}
.co-jalon__lien{
  position:absolute;left:18px;top:38px;bottom:-1.5rem;width:1px;background:var(--co-pierre);
}
.co-chaine__cote{font-family:var(--co-mono);text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;color:var(--co-cuivre)}
.co-chaine__label{font-family:var(--co-serif);font-size:1.2rem}
.co-chaine__intro{color:var(--co-ardoise);font-size:.92rem;line-height:1.55}
.co-chaine__item:hover .co-jalon{background:var(--co-vert);color:var(--co-nuit);border-color:var(--co-vert)}

/* ---------- veille : article vedette + articles secondaires ---------- */
.co-veille{padding-block:clamp(2.5rem, 6vw, 4rem)}
.co-rayon__tete{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 1rem;margin-bottom:1.4rem;border-bottom:1px solid var(--co-pierre);padding-bottom:.7rem}
.co-rayon__tete h2{margin:0}
.co-rayon__decompte{font-family:var(--co-mono);font-size:.72rem;letter-spacing:.18em;color:var(--co-cuivre);text-transform:uppercase;margin-left:auto}
.co-rayon__phrase{color:var(--co-ardoise);flex:1 1 100%;margin:.3rem 0 0;max-width:60ch}

.co-veille__grille{
  display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
  gap:1.6rem;min-width:0;
}

/* carte d'article */
.co-entree{
  display:grid;grid-template-columns:1fr;gap:0;
  background:#fff;border:1px solid var(--co-pierre);border-radius:var(--co-rayon);
  box-shadow:var(--co-ombre-1);overflow:hidden;min-width:0;
}
.co-entree__vignette{margin:0;aspect-ratio:3/2;overflow:hidden}
.co-entree__vignette img,.co-entree__vignette picture{width:100%;height:100%}
.co-entree__texte{padding:1.1rem 1.2rem 1.2rem;display:flex;flex-direction:column;gap:.35rem;min-width:0}
.co-entree__cote{display:flex;gap:.5rem;align-items:baseline;margin:0;font-family:var(--co-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.18em}
.co-jalon__cote{color:var(--co-cuivre)}
.co-mention{color:var(--co-encre);text-decoration:none;border-bottom:1px solid transparent}
.co-mention:hover{border-bottom-color:var(--co-vert)}
.co-entree__intitule{margin:0;font-size:1.15rem;line-height:1.25}
.co-entree__intitule a{text-decoration:none}
.co-entree__intitule a:hover{color:var(--co-vert-fonce)}
.co-entree__abrege{margin:.2rem 0 0;color:var(--co-ardoise);font-size:.92rem;line-height:1.55}
.co-entree__datation{margin:auto 0 0;padding-top:.5rem;font-family:var(--co-mono);font-size:.72rem;letter-spacing:.14em;color:var(--co-ardoise);text-transform:uppercase}

/* liste compacte */
.co-etroit{margin-top:1.6rem;display:grid;gap:.8rem;grid-template-columns:1fr}
.co-etroit__item{
  display:grid;grid-template-columns:88px 1fr;gap:.9rem;align-items:center;
  padding:.6rem;background:#fff;border:1px solid var(--co-pierre);border-radius:var(--co-rayon-petit);
  box-shadow:var(--co-ombre-3);min-width:0;
}
.co-etroit__vignette{aspect-ratio:1/1;border-radius:var(--co-rayon-petit);overflow:hidden;min-width:0}
.co-etroit__vignette img{width:100%;height:100%}
.co-etroit__texte{min-width:0}
.co-etroit__cote{display:flex;gap:.8rem;margin:0;font-family:var(--co-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--co-ardoise)}
.co-etroit__titre{margin:.15rem 0 0;font-size:1rem;line-height:1.3}
.co-etroit__titre a{text-decoration:none}
.co-etroit__abrege{margin:.2rem 0 0;color:var(--co-ardoise);font-size:.86rem;line-height:1.5}

/* ---------- encart ---------- */
.co-encart{
  margin-block:clamp(2.5rem, 6vw, 4rem);
  background:var(--co-brume);
  border-left:3px solid var(--co-cuivre);
  border-radius:var(--co-rayon);
  padding:1.4rem 1.6rem;
  max-width:64ch;
  box-shadow:var(--co-ombre-3);
}
.co-encart h2{margin-top:0}
.co-encart p{margin-bottom:0;color:var(--co-ardoise)}

/* ---------- section nuit (pleine largeur) ---------- */
.co-nuit{
  background:var(--co-nuit);color:#EDF7F0;
  margin-top:clamp(2.5rem, 6vw, 5rem);
  padding-block:clamp(2.5rem, 6vw, 4.5rem);
}
.co-nuit__interieur{width:min(100% - 2 * var(--co-gouttiere), 76rem);margin-inline:auto;min-width:0}
.co-nuit h2{color:#EDF7F0}
.co-nuit h2::after{content:"";display:block;width:3rem;height:2px;background:var(--co-vert);margin-top:.6rem}
.co-nuit__liste{display:grid;gap:1.2rem;margin-top:1.6rem;grid-template-columns:repeat(auto-fit, minmax(min(100%, 18rem), 1fr))}
.co-nuit__item{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:flex-start;min-width:0}
.co-jalon--nuit{border-color:var(--co-vert);color:var(--co-vert);background:transparent;box-shadow:none}
.co-nuit__texte p{margin:0 0 .3rem;color:#C9DACF;font-size:.92rem}
.co-nuit__cote{font-family:var(--co-mono);text-transform:uppercase;letter-spacing:.2em;font-size:.68rem;color:var(--co-lueur) !important}

/* ---------- ailleurs (réseau) ---------- */
.co-ailleurs{padding-block:clamp(2.5rem, 6vw, 4rem)}
.co-ailleurs__liste{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit, minmax(min(100%, 20rem), 1fr));margin-top:1.4rem}
.co-ailleurs__item{background:#fff;border:1px solid var(--co-pierre);border-radius:var(--co-rayon-petit);padding:1rem 1.1rem;box-shadow:var(--co-ombre-3);margin:0;min-width:0}
.co-ailleurs__item p{margin:0;color:var(--co-ardoise);font-size:.94rem}
.co-ailleurs__item a{color:var(--co-encre);text-decoration:underline;text-decoration-color:var(--co-vert)}

/* ---------- page rubrique : bannière ---------- */
.co-banniere{position:relative;overflow:hidden;background:var(--co-brume);border-bottom:1px solid var(--co-filet)}
.co-banniere__planche{margin:0;position:absolute;inset:0;z-index:0}
.co-banniere__planche img,.co-banniere__planche picture{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.co-banniere__voile{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(247,250,247,.20) 0%, rgba(11,21,18,.75) 100%)}
.co-banniere__interieur{position:relative;z-index:2;padding-block:clamp(3rem, 9vh, 6rem);color:var(--co-ivoire);max-width:52rem;min-width:0}
.co-banniere__interieur h1{color:var(--co-ivoire);text-shadow:0 3px 20px rgba(11,21,18,.55)}
.co-banniere__interieur .co-phare__chapo{color:#E8F3EB;text-shadow:0 1px 6px rgba(11,21,18,.5)}

/* ---------- fil d'Ariane ---------- */
.co-remontee{padding-top:1.2rem;font-family:var(--co-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--co-ardoise)}
.co-remontee ol{display:flex;flex-wrap:wrap;gap:.3rem .6rem}
.co-remontee li+li::before{content:"/";margin-right:.5rem;color:var(--co-pierre)}
.co-remontee a{text-decoration:none;color:var(--co-ardoise)}
.co-remontee a:hover{color:var(--co-vert-fonce)}

.co-preambule{padding-block:2rem 1rem}
.co-preambule h1{margin-bottom:.6rem}

/* ---------- article ---------- */
.co-duo{
  display:grid;grid-template-columns:minmax(0, 68ch) minmax(0, 18rem);
  gap:2.5rem;padding-block:1.2rem 2rem;align-items:flex-start;
}
.co-fiche{min-width:0}
.co-entete-fiche{padding-block:1rem 1.5rem;border-bottom:1px solid var(--co-pierre);margin-bottom:1.6rem}
.co-entete-fiche h1{margin:.4rem 0 .6rem;text-shadow:none}
.co-chapeau{font-size:1.12rem;color:var(--co-ardoise);max-width:62ch}
.co-datation{font-family:var(--co-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--co-cuivre);margin:0}

.co-planche-image{margin:0 0 1.6rem}
.co-planche-image img,.co-planche-image picture{width:100%;aspect-ratio:16/9;border-radius:var(--co-rayon);box-shadow:var(--co-ombre-1)}
.co-planche-image figcaption{
  margin-top:.6rem;font-family:var(--co-mono);font-size:.72rem;letter-spacing:.04em;color:var(--co-ardoise);
  border-top:1px solid var(--co-pierre);padding-top:.5rem;
}

.co-corps,.co-fiche--service .co-corps{
  max-width:var(--co-mesure);min-width:0;
  background-image:repeating-linear-gradient(0deg, transparent 0 26px, rgba(16,35,26,.045) 26px 27px);
  background-position:0 0;
  padding:0;border-radius:var(--co-rayon);
}
.co-corps > *+*{margin-top:1em}
.co-corps h2{
  margin-top:2rem;scroll-margin-top:5rem;
  background:var(--co-ivoire);padding-right:.5rem;display:inline-block;
}
.co-corps h3{margin-top:1.4rem}
.co-corps ul,.co-corps ol{padding-left:1.4rem;list-style:disc}
.co-corps ol{list-style:decimal}
.co-corps li{margin:.4rem 0}
.co-corps blockquote{
  margin:1.4rem 0;padding:.8rem 1.1rem;border-left:3px solid var(--co-vert);
  background:var(--co-brume);border-radius:var(--co-rayon-petit);color:var(--co-encre);font-style:italic;
}
.co-corps a{color:var(--co-encre);text-decoration:underline;text-decoration-color:var(--co-vert);text-decoration-thickness:2px}
.co-corps a:hover{color:var(--co-vert-fonce);background:var(--co-lueur);border-radius:4px}
.co-corps table{border-collapse:collapse;width:100%;font-size:.92rem}
.co-corps > div,.co-corps .co-tableau{overflow-x:auto;max-width:100%;border-radius:var(--co-rayon-petit);border:1px solid var(--co-pierre)}
.co-corps th,.co-corps td{padding:.55rem .8rem;border-bottom:1px solid var(--co-pierre);text-align:left}
.co-corps th{background:var(--co-brume);font-family:var(--co-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}

/* rail de renvois */
.co-releve{
  position:sticky;top:5rem;min-width:0;
  background:#fff;border:1px solid var(--co-pierre);border-radius:var(--co-rayon);
  padding:1.1rem 1.2rem;box-shadow:var(--co-ombre-1);
}
.co-releve h2{
  font-family:var(--co-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;
  color:var(--co-cuivre);margin:0 0 .7rem;
}
.co-releve h2+.co-releve__sommaire+.co-releve h2{margin-top:1.4rem}
.co-releve__sommaire,.co-releve__sources{display:grid;gap:.5rem}
.co-releve__sommaire a,.co-releve__sources a{
  font-size:.86rem;text-decoration:none;display:block;min-width:0;
  border-bottom:1px dotted var(--co-pierre);padding-bottom:.35rem;
}
.co-releve__sources a{font-family:var(--co-mono);font-size:.74rem;color:var(--co-cuivre);word-break:break-word}

/* voisinage */
.co-voisinage{padding-block:2.5rem 3rem}
.co-voisinage .co-entree--micro{grid-template-columns:1fr;border-radius:var(--co-rayon)}
.co-voisinage .co-entree--micro .co-entree__vignette{aspect-ratio:3/2}

/* ---------- pied ---------- */
.co-pied{
  margin-top:clamp(3rem, 8vw, 5rem);
  background:var(--co-encre);color:#E8F3EB;
  padding-block:2.5rem 1.5rem;
  border-top:4px solid var(--co-vert);
}
.co-pied h2{font-family:var(--co-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.2em;color:var(--co-lueur);margin-bottom:.6rem}
.co-pied a{color:#E8F3EB;text-decoration:none;border-bottom:1px solid transparent}
.co-pied a:hover{border-bottom-color:var(--co-vert);color:var(--co-lueur)}
.co-pied__colonnes{display:grid;gap:1.6rem;grid-template-columns:1fr;min-width:0}
.co-pied__colonne{min-width:0}
.co-pied__colonne p{color:#C9DACF;font-size:.9rem}
.co-pied__note{
  margin-top:.8rem;padding:.8rem .9rem;border-left:2px solid var(--co-cuivre);
  background:rgba(122,62,34,.18);border-radius:var(--co-rayon-petit);
  font-size:.82rem;color:#E8D9CE;
}
.co-pied__ligne{
  margin-top:1.6rem;padding-top:1rem;border-top:1px solid #1E3328;
  font-family:var(--co-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#9FB3A6;
}
.co-pied__colonne ul{display:grid;gap:.3rem;font-size:.92rem}

/* ---------- responsive ---------- */
@media (min-width:40rem){
  .co-etroit{grid-template-columns:repeat(2, minmax(0,1fr))}
  .co-pied__colonnes{grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media (min-width:64rem){
  .co-pied__colonnes{grid-template-columns:1.4fr 1fr 1fr}
}

@media (max-width:63.99rem){
  .co-duo{grid-template-columns:1fr;gap:1.6rem}
  .co-releve{position:static}
}
@media (max-width:47.99rem){
  .co-chaine__liste{grid-template-columns:1fr;gap:1.2rem}
  .co-chaine__item{grid-template-columns:auto 1fr}
  .co-etroit{grid-template-columns:1fr}
  .co-phare__interieur{padding-block:3.5rem}
  .co-phare__planche img{object-position:50% 50%}
  .co-phare__titre{font-size:clamp(1.7rem, 5.5vw, 2.4rem)}
}
@media (max-width:24rem){
  .co-fronton__interieur{gap:.4rem .8rem}
  .co-enseigne{font-size:1.05rem}
  .co-parcours ul{gap:.3rem .7rem}
  .co-parcours__lien{font-size:.66rem}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
}
