/* pma-espagne.fr — famille V2-papier (habillage Design-Familles/_habillages/pma-espagne.fr.md)
   Papier chaud + encre + UN accent safran (hue 55), Erode (serif variable, contraste
   romain/italique dans le même titre), corps en pile système, angles droits stricts,
   AUCUNE ombre portée, photos bord à bord. Préfixe de classes régénéré : pme- (aucune
   collision avec un autre site du parc — écart hue 150° vs pma-barcelone.fr 205°). */

/* Police self-hostée — Erode (Indian Type Foundry, via Fontshare), variable romaine + italique */
@font-face{font-family:'Erode';font-style:normal;font-weight:300 800;font-stretch:100%;
font-display:swap;src:url('/fonts/Erode-Variable.woff2') format('woff2');}
@font-face{font-family:'Erode';font-style:italic;font-weight:300 800;font-stretch:100%;
font-display:swap;src:url('/fonts/Erode-VariableItalic.woff2') format('woff2');}

:root{
  /* --- TOKENS DE LA FICHE D'HABILLAGE — copiés tels quels ------------------------- */
  --pme-paper:       oklch(0.965 0.012 85);   /* papier chaud dominant */
  --pme-paper-2:     oklch(0.930 0.016 82);   /* section alternée */
  --pme-paper-3:     oklch(0.900 0.020 80);   /* 2e alternance */
  --pme-ink:         oklch(0.220 0.020 70);   /* encre chaude presque noire */
  --pme-accent:      oklch(0.620 0.140 55);   /* safran, réservé CTA/titres/accent */
  --pme-accent-deep: oklch(0.480 0.130 55);   /* hover / actif */
  --pme-accent-soft: oklch(0.820 0.070 55);   /* fond léger d'accent */
  --pme-rule:        oklch(0.850 0.010 80);   /* filet décoratif */
  --pme-field-line:  oklch(0.500 0.060 55);   /* bordure champ */

  /* --- dérivés (mêmes règles de dérivation que le reste du parc) ------------------ */
  --pme-ink-2:      oklch(0.360 0.018 70);
  --pme-ink-3:      oklch(0.460 0.016 70);
  --pme-rule-strong:oklch(0.640 0.020 75);
  --pme-line-on-dark: oklch(0.42 0.020 70);
  --pme-white:      oklch(0.99 0.004 85);

  /* --- carte des régions — coloration UNIQUEMENT par ces variables ---------------- */
  --map-land: var(--pme-paper-2);
  --map-line: var(--pme-rule-strong);
  --map-region: var(--pme-paper-3);
  --map-region-line: var(--pme-paper);
  --map-region-active: var(--pme-accent-soft);
  --map-dot: var(--pme-accent-deep);
  --map-dot-strong: var(--pme-accent);
  --map-label: var(--pme-ink);
  --map-muted: var(--pme-ink-3);

  /* --- TYPO : Erode display, corps système ---------------------------------------- */
  --font-display: "Erode", Georgia, "Times New Roman", serif;
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --w-book: 400; --w-med: 560; --w-bold: 650;

  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-5:1.5rem;
  --sp-6:2rem;   --sp-7:3rem;  --sp-8:4rem;   --sp-9:6rem; --sp-10:8rem;
  --sec-y: clamp(72px, 9vw, 150px);
  --gap:   clamp(20px, 2.4vw, 40px);

  /* V2-papier : angles droits stricts, zéro ombre portée */
  --pme-radius: 0px;
  --pme-shadow: none;

  --header-h: 78px;
  --mbar-h: 66px;
  --ease: cubic-bezier(.2,.6,.25,1);
}

.pme-skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--pme-ink);color:var(--pme-white);
  padding:12px 18px;font-weight:var(--w-bold);text-decoration:none}
.pme-skip:focus{left:0}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;overflow-x:hidden;background:var(--pme-paper);color:var(--pme-ink);
  font-family:var(--font-body);font-weight:var(--w-book);font-size:17px;
  line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg,video{display:block;max-width:100%}
button{font:inherit;color:inherit}
a{color:var(--pme-accent-deep);text-decoration:none}
a:hover{color:var(--pme-ink)}
h1,h2,h3,h4,p,figure,ul,ol,dl{margin:0}
ul,ol{padding:0;list-style:none}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--pme-accent);outline-offset:3px}
::selection{background:var(--pme-accent-soft)}

.pme-wrap    {width:100%;max-width:1240px;margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}
.pme-wrap-md {width:100%;max-width:1060px;margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}
.pme-wrap-sm {width:100%;max-width:900px; margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}
.pme-wrap-xs {width:100%;max-width:720px; margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}
.pme-sec{padding-block:var(--sec-y);position:relative}
.pme-sec-tight{padding-block:clamp(48px,5vw,80px)}
.pme-bg-paper{background:var(--pme-paper)}
.pme-bg-surface{background:var(--pme-paper-2)}
.pme-bg-surface-2{background:var(--pme-paper-3)}
.pme-on-dark{background:var(--pme-ink);color:oklch(0.965 0.008 85)}
.pme-on-dark .pme-h2,.pme-on-dark .pme-h3,.pme-on-dark strong{color:oklch(0.99 0.005 85)}
.pme-on-dark .pme-lede,.pme-on-dark p{color:oklch(0.90 0.010 85)}
.pme-on-dark .pme-eyebrow{color:var(--pme-accent-soft)}
.pme-on-dark .pme-eyebrow::before{background:var(--pme-accent-soft)}
.pme-on-dark a{color:var(--pme-accent-soft)}
.pme-on-dark .pme-h1 i,.pme-on-dark .pme-h2 i,.pme-on-dark .pme-h1 em,.pme-on-dark .pme-h2 em{color:var(--pme-accent-soft)}
.pme-on-dark .pme-muted{color:oklch(0.78 0.012 85)}

.pme-eyebrow{display:flex;align-items:center;gap:.7em;font-size:12px;font-weight:var(--w-bold);
  letter-spacing:.22em;text-transform:uppercase;color:var(--pme-accent-deep)}
.pme-eyebrow::before{content:"";width:34px;height:1px;background:var(--pme-accent);flex:none}
.pme-eyebrow-c{justify-content:center}

/* Titres — Erode : romain par défaut, la balise <i>/<em> porte le contraste italique fin,
   c'est le trait de famille V2 (contraste romain/italique DANS le même titre). */
.pme-h1{font-family:var(--font-display);font-size:clamp(32px,5vw,64px);line-height:1.15;
  letter-spacing:-0.01em;font-weight:640;overflow-wrap:break-word;text-wrap:balance;color:var(--pme-ink)}
.pme-h2{font-family:var(--font-display);font-size:clamp(26px,3.4vw,44px);line-height:1.1;
  letter-spacing:-0.008em;font-weight:620;overflow-wrap:break-word;text-wrap:balance;color:var(--pme-ink)}
.pme-h3{font-family:var(--font-display);font-size:clamp(19px,1.5vw,23px);line-height:1.3;
  font-weight:580;overflow-wrap:break-word;color:var(--pme-ink)}
.pme-h4{font-family:var(--font-display);font-size:16px;font-weight:var(--w-bold);letter-spacing:.01em;color:var(--pme-ink)}
.pme-h1 i,.pme-h2 i,.pme-h1 em,.pme-h2 em{font-style:italic;font-weight:340;color:var(--pme-accent-deep)}
.pme-lede{font-size:clamp(17px,1.35vw,20px);line-height:1.6;color:var(--pme-ink-2);font-weight:var(--w-book);text-wrap:pretty}
.pme-small{font-size:14px;line-height:1.55;color:var(--pme-ink-3)}
.pme-muted{color:var(--pme-ink-3)}
.pme-prose p{margin-bottom:1.1em;text-wrap:pretty}
.pme-prose{max-width:70ch}

.pme-num{font-family:var(--font-display);font-size:clamp(36px,3.6vw,54px);font-weight:340;letter-spacing:-0.02em;line-height:1;font-variant-numeric:tabular-nums}
.pme-num-sm{font-family:var(--font-display);font-size:clamp(28px,2.4vw,36px);font-weight:340;letter-spacing:-0.015em;line-height:1}
.pme-num-lbl{font-size:12px;font-weight:var(--w-bold);letter-spacing:.16em;text-transform:uppercase;color:var(--pme-ink-3)}
.pme-on-dark .pme-num-lbl{color:oklch(0.80 0.012 85)}

.pme-g{display:grid;gap:var(--gap)}
.pme-g-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pme-g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pme-g-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pme-g-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.pme-g-media{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center}
.pme-g-form{grid-template-columns:minmax(0,1.1fr) minmax(0,440px);align-items:start}
.pme-g-fields-2{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
.pme-stack{display:flex;flex-direction:column;gap:var(--sp-4)}
.pme-row{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}
.pme-mt-1{margin-top:var(--sp-2)} .pme-mt-2{margin-top:var(--sp-4)}
.pme-mt-3{margin-top:var(--sp-5)} .pme-mt-4{margin-top:var(--sp-6)}
.pme-mt-5{margin-top:var(--sp-7)} .pme-mt-6{margin-top:var(--sp-8)}
.pme-sec-head{max-width:760px}
.pme-sec-head-c{max-width:760px;margin-inline:auto;text-align:center}
.pme-sec-head-c .pme-eyebrow{justify-content:center}

/* Boutons — angles droits, aucune ombre, un seul accent réservé au primaire */
.pme-btn{
  --btn-bg:var(--pme-ink); --btn-fg:var(--pme-white); --btn-bd:var(--pme-ink);
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:52px;padding:0 26px;border:1px solid var(--btn-bd);border-radius:0;
  background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;
  font-size:15px;font-weight:var(--w-bold);letter-spacing:.05em;text-transform:uppercase;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
  text-align:center;
}
.pme-btn:hover{background:transparent;color:var(--pme-ink)}
.pme-btn-accent{--btn-bg:var(--pme-accent);--btn-fg:var(--pme-ink);--btn-bd:var(--pme-accent);background:var(--pme-accent);color:var(--pme-ink);border-color:var(--pme-accent)}
.pme-btn-accent:hover{background:var(--pme-ink);color:var(--pme-white);border-color:var(--pme-ink)}
.pme-btn-ghost{--btn-bg:transparent;--btn-fg:var(--pme-ink);--btn-bd:var(--pme-rule-strong);font-weight:var(--w-med)}
.pme-btn-ghost:hover{background:var(--pme-ink);color:var(--pme-white);border-color:var(--pme-ink)}
.pme-btn-sm{min-height:44px;padding:0 18px;font-size:13px}
.pme-btn-lg{min-height:58px;padding:0 34px}
.pme-btn-block{width:100%}
.pme-on-dark .pme-btn{--btn-bg:var(--pme-accent);--btn-fg:var(--pme-ink);--btn-bd:var(--pme-accent)}
.pme-on-dark .pme-btn:hover{background:transparent;color:var(--pme-accent-soft);border-color:var(--pme-accent-soft)}
.pme-on-dark .pme-btn-ghost{--btn-bg:transparent;--btn-fg:oklch(0.96 0.008 85);--btn-bd:oklch(0.55 0.02 85)}
.pme-on-photo .pme-btn{--btn-bg:var(--pme-accent);--btn-fg:var(--pme-ink);--btn-bd:var(--pme-accent)}
.pme-on-photo .pme-btn:hover{background:var(--pme-white);color:var(--pme-ink);border-color:var(--pme-white)}
.pme-on-photo .pme-btn-ghost{--btn-bg:transparent;--btn-fg:var(--pme-white);--btn-bd:oklch(0.99 0.004 85 / .7)}
.pme-on-photo .pme-btn-ghost:hover{background:var(--pme-white);color:var(--pme-ink)}
.pme-btn-onlight{background:var(--pme-ink) !important;color:var(--pme-white) !important;border-color:var(--pme-ink) !important}
.pme-btn-onlight:hover{background:transparent !important;color:var(--pme-ink) !important;border-color:var(--pme-ink) !important}
.pme-link-arrow{display:inline-flex;align-items:center;gap:.5em;font-weight:var(--w-bold);
  font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--pme-accent-deep)}
.pme-link-arrow span{transition:transform .25s var(--ease)}
.pme-link-arrow:hover span{transform:translateX(5px)}
.pme-on-dark .pme-link-arrow{color:var(--pme-accent-soft)}

/* Photos — bord à bord, angles droits, aucun cadre décoratif */
.pme-ph{position:relative;display:block;width:100%;overflow:hidden;border-radius:0;
  background:repeating-linear-gradient(135deg, var(--pme-paper-3) 0 12px, var(--pme-paper-2) 12px 24px)}
.pme-ph > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pme-ph-43{aspect-ratio:4/3}
.pme-ph-169{aspect-ratio:16/9}
.pme-ph-34{aspect-ratio:3/4}
.pme-ph-zoom{overflow:hidden}
.pme-ph-zoom > img{transition:transform .5s var(--ease)}
a:hover .pme-ph-zoom > img,.pme-card:hover .pme-ph-zoom > img{transform:scale(1.03)}

/* En-tête */
.pme-edge{position:fixed;top:0;left:0;right:0;height:3px;background:var(--pme-accent);z-index:60}
.pme-hdr{position:fixed;top:3px;left:0;right:0;z-index:55;height:var(--header-h);
  display:flex;align-items:center;background:transparent;border-bottom:1px solid transparent}
.pme-hdr.is-ready{transition:background-color .3s var(--ease),border-color .3s var(--ease)}
.pme-hdr .pme-wrap{display:flex;align-items:center;gap:clamp(16px,2.5vw,40px);width:100%}
.pme-hdr.is-solid{background-color:oklch(0.965 0.012 85 / .97);border-bottom-color:var(--pme-rule)}
.pme-brand{display:flex;flex-direction:column;line-height:1;gap:4px;flex:none}
.pme-brand b{font-family:var(--font-display);font-size:21px;font-weight:640;letter-spacing:-0.01em}
.pme-brand i{font-style:italic;font-size:10.5px;font-weight:340;letter-spacing:.1em;color:var(--pme-accent-deep)}
.pme-hdr-photo .pme-brand b{color:var(--pme-white)}
.pme-hdr-photo .pme-brand i{color:oklch(0.93 0.02 85)}
.pme-hdr-photo .pme-nav > li > a{color:var(--pme-white);text-shadow:0 1px 12px oklch(0.20 0.02 85 / .5)}
.pme-hdr-photo .pme-burger span{background:var(--pme-white)}
.pme-hdr.is-solid .pme-brand b{color:var(--pme-ink)}
.pme-hdr.is-solid .pme-brand i{color:var(--pme-accent-deep)}
.pme-hdr.is-solid .pme-nav > li > a{color:var(--pme-ink);text-shadow:none}
.pme-hdr.is-solid .pme-burger span{background:var(--pme-ink)}

.pme-nav{display:flex;align-items:center;gap:clamp(14px,2vw,28px);margin-left:auto}
.pme-nav > li{position:relative}
.pme-nav > li > a,.pme-nav > li > button{display:inline-flex;align-items:center;gap:.4em;
  background:none;border:0;padding:8px 0;font-size:15.5px;font-weight:var(--w-bold);
  color:var(--pme-ink);cursor:pointer;text-decoration:none}
.pme-nav > li > button::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .25s var(--ease)}
.pme-nav > li.is-open > button::after{transform:rotate(225deg) translateY(-2px)}

.pme-mega{position:absolute;top:calc(100% + 14px);left:0;background:var(--pme-paper);
  border:1px solid var(--pme-rule);border-radius:0;box-shadow:var(--pme-shadow);padding:22px;
  display:grid;gap:6px;min-width:280px;opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(-6px);transition:opacity .2s var(--ease),transform .2s var(--ease);z-index:70}
.pme-nav > li.is-open .pme-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.pme-mega a{display:block;padding:8px 0;color:var(--pme-ink);text-decoration:none;border-bottom:1px solid var(--pme-rule)}
.pme-mega a:last-child{border-bottom:0}
.pme-mega a b{display:block;font-size:15px;font-weight:var(--w-med)}
.pme-mega a small{display:block;font-size:12px;color:var(--pme-ink-3);line-height:1.35;margin-top:2px}
.pme-mega a:hover b{color:var(--pme-accent-deep)}
.pme-burger{display:none;margin-left:auto;width:46px;height:46px;border:1px solid var(--pme-rule);
  border-radius:0;background:transparent;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}
.pme-burger span{display:block;width:20px;height:1.6px;background:var(--pme-ink);transition:.25s var(--ease)}
.pme-hdr-photo .pme-burger{border-color:oklch(0.99 0.004 85 / .5)}

.pme-mnav{position:fixed;inset:0;z-index:80;background:var(--pme-paper);
  transform:translateX(100%);visibility:hidden;transition:transform .32s var(--ease),visibility 0s linear .32s;
  display:flex;flex-direction:column;overflow-y:auto;padding:22px}
.pme-mnav.is-open{transform:translateX(0);visibility:visible;transition:transform .32s var(--ease),visibility 0s linear 0s}
.pme-mnav-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.pme-mnav-grp{margin-top:22px}
.pme-mnav-grp > .pme-num-lbl{display:block;padding-bottom:8px;border-bottom:1px solid var(--pme-rule)}
.pme-mnav a{display:block;padding:14px 0;border-bottom:1px solid var(--pme-rule);
  font-size:18px;font-weight:var(--w-med);color:var(--pme-ink);text-decoration:none}
.pme-x{width:44px;height:44px;border:1px solid var(--pme-rule-strong);border-radius:0;
  background:transparent;cursor:pointer;font-size:20px;line-height:1;color:var(--pme-ink)}

/* HERO — mode B : éditorial pleine largeur, texte sur photo, SANS formulaire, 2 boutons */
.pme-hero{position:relative;isolation:isolate;padding-top:calc(var(--header-h) + 78px);
  padding-bottom:clamp(64px,7vw,120px);color:var(--pme-white);min-height:min(92vh,860px);
  display:flex;align-items:flex-end}
.pme-hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden;
  background:repeating-linear-gradient(135deg, oklch(0.55 0.10 55) 0 22px, oklch(0.48 0.11 55) 22px 44px)}
.pme-hero-media img{width:100%;height:100%;object-fit:cover}
.pme-hero-veil{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg, oklch(0.20 0.03 55 / .82) 0%, oklch(0.20 0.03 55 / .62) 44%, oklch(0.20 0.03 55 / .28) 78%, oklch(0.20 0.03 55 / .2) 100%),
             linear-gradient(to top, oklch(0.16 0.03 55 / .35), oklch(0.16 0.03 55 / .05))}
.pme-hero-txt{max-width:680px}
.pme-hero .pme-eyebrow{color:oklch(0.94 0.04 55)}
.pme-hero .pme-eyebrow::before{background:oklch(0.90 0.06 55)}
.pme-hero .pme-h1{color:var(--pme-white);text-shadow:0 1px 26px oklch(0.16 0.03 55 / .3)}
.pme-hero .pme-h1 i{color:oklch(0.92 0.05 55)}
.pme-hero .pme-lede{color:oklch(0.95 0.01 85);max-width:56ch}
.pme-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(22px,2.4vw,34px)}

/* bande de preuve chiffrée (section propre, après le formulaire) */
.pme-proof{display:grid;gap:20px 26px;grid-template-columns:repeat(4,minmax(0,1fr))}
.pme-proof > div{border-top:2px solid var(--pme-accent);padding-top:14px}

/* Formulaires */
.pme-form{background:var(--pme-paper);color:var(--pme-ink);border-radius:0;
  padding:clamp(22px,2vw,32px);box-shadow:var(--pme-shadow);border:1px solid var(--pme-rule)}
.pme-form .pme-h3{margin-bottom:2px}
.pme-lbl{display:block;font-size:11px;font-weight:var(--w-bold);letter-spacing:.16em;
  text-transform:uppercase;color:var(--pme-ink-2);margin-bottom:6px}
.pme-field{margin-bottom:14px}
.pme-inp,select.pme-inp,textarea.pme-inp{
  width:100%;font-family:var(--font-body);font-size:16px;font-weight:var(--w-book);color:var(--pme-ink);
  background:var(--pme-white);border:1px solid var(--pme-field-line);border-radius:0;
  padding:13px 14px;min-height:50px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
textarea.pme-inp{min-height:104px;resize:vertical}
select.pme-inp{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--pme-ink-2) 50%),linear-gradient(135deg,var(--pme-ink-2) 50%,transparent 50%);
  background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px}
.pme-inp:focus{outline:none;border-color:var(--pme-accent-deep);box-shadow:0 0 0 3px var(--pme-accent-soft)}
.pme-inp::placeholder{color:var(--pme-ink-3)}
.pme-reassure{font-size:13px;line-height:1.5;color:var(--pme-ink-3);margin-top:10px}
.pme-check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--pme-ink-3);margin-top:10px}
.pme-check a{color:var(--pme-ink-3);text-decoration:underline}

/* Cartes */
.pme-card{background:var(--pme-paper);border:1px solid var(--pme-rule);border-radius:0;
  overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s var(--ease)}
.pme-card:hover{border-color:var(--pme-rule-strong)}
.pme-card-body{padding:clamp(18px,1.6vw,26px);display:flex;flex-direction:column;gap:10px;flex:1}
.pme-card-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--pme-rule);
  display:flex;align-items:center;justify-content:space-between;gap:12px}
.pme-on-dark .pme-card{background:oklch(0.30 0.024 70);border-color:var(--pme-line-on-dark)}
.pme-ticks{display:flex;flex-direction:column;gap:8px}
.pme-ticks li{display:flex;gap:10px;font-size:14.5px;line-height:1.45;color:var(--pme-ink-2)}
.pme-ticks li::before{content:"";flex:none;width:14px;height:14px;margin-top:3px;
  border:1.4px solid var(--pme-accent-deep)}

/* Étapes (méthode / déroulé) */
.pme-step-n{font-family:var(--font-display);font-size:clamp(44px,4.6vw,74px);font-weight:300;
  letter-spacing:-0.03em;line-height:.85;color:var(--pme-accent-soft);font-variant-numeric:tabular-nums}
.pme-step{display:flex;flex-direction:column;gap:14px;padding-top:20px;border-top:1px solid var(--pme-line-on-dark)}

/* Équipe (rôles, pas de personnes) */
.pme-role{border-top:2px solid var(--pme-accent);padding-top:16px}
.pme-role .pme-h4{margin-bottom:4px}

/* FAQ */
.pme-faq details{border-bottom:1px solid var(--pme-rule)}
.pme-faq summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;gap:18px;align-items:flex-start;
  font-family:var(--font-display);font-size:clamp(17px,1.3vw,20px);font-weight:560;letter-spacing:-0.005em;color:var(--pme-ink)}
.pme-faq summary::-webkit-details-marker{display:none}
.pme-faq summary::after{content:"";flex:none;width:12px;height:12px;margin-left:auto;margin-top:8px;
  border-right:1.6px solid var(--pme-accent-deep);border-bottom:1.6px solid var(--pme-accent-deep);
  transform:rotate(45deg);transition:transform .25s var(--ease)}
.pme-faq details[open] summary::after{transform:rotate(225deg)}
.pme-faq .pme-ans{padding:0 0 24px;max-width:70ch;color:var(--pme-ink-2)}

/* Carte des régions — module signature, SVG fabriqué à la main, coloration par --map-* */
.pme-map-wrap{width:100%;max-width:760px;margin-inline:auto;background:var(--pme-paper);
  border:1px solid var(--pme-rule);padding:16px}
.pme-map-wrap svg{width:100%;height:auto;display:block}
.pme-map-legend{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:18px;justify-content:center}
.pme-map-legend span{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--pme-ink-2)}
.pme-map-legend i{width:12px;height:12px;display:inline-block;background:var(--map-dot-strong)}
.pme-map-list{columns:2;column-gap:40px;margin-top:8px}
.pme-map-list li{break-inside:avoid;padding:10px 0;border-bottom:1px solid var(--pme-rule);font-size:14.5px;color:var(--pme-ink-2)}
.pme-map-list li b{color:var(--pme-ink);font-weight:var(--w-med)}

/* Budget — postes SANS montant chiffré (FACTS §4 : aucun prix ferme) */
.pme-postes{display:grid;gap:0}
.pme-poste{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;padding:22px 0;border-bottom:1px solid var(--pme-rule)}
.pme-poste .pme-num-lbl{padding-top:4px}

/* Volet latéral — porte le formulaire (mode B), ouvert par le bouton primaire du hero et le CTA du header */
.pme-drawer{position:fixed;top:0;right:0;bottom:0;width:min(500px,100vw);z-index:95;background:var(--pme-paper);
  transform:translateX(101%);visibility:hidden;transition:transform .36s var(--ease),visibility 0s linear .36s;overflow-y:auto;
  border-left:1px solid var(--pme-rule);padding:26px}
.pme-drawer.is-open{transform:translateX(0);visibility:visible;transition:transform .36s var(--ease),visibility 0s linear 0s}
.pme-scrim{position:fixed;inset:0;z-index:90;background:oklch(0.20 0.02 70 / .5);
  opacity:0;visibility:hidden;transition:opacity .3s var(--ease)}
.pme-scrim.is-open{opacity:1;visibility:visible}

/* Pied de page */
.pme-foot{background:var(--pme-ink);color:oklch(0.94 0.008 85);padding-top:clamp(56px,6vw,88px);position:relative}
.pme-foot-grid{display:grid;gap:36px var(--gap);grid-template-columns:1.3fr repeat(3,minmax(0,1fr))}
.pme-foot a{color:oklch(0.90 0.010 85);text-decoration:none;font-size:15px}
.pme-foot .pme-num-lbl{color:oklch(0.80 0.012 85)}
.pme-foot a:hover{color:var(--pme-white)}
.pme-foot-col li{padding:6px 0}
.pme-foot-legal{margin-top:clamp(36px,4vw,56px);border-top:1px solid var(--pme-line-on-dark);
  padding:18px 0 22px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;
  font-size:12.5px;color:oklch(0.78 0.012 85)}
.pme-foot-legal a{font-size:12.5px}
.pme-foot-sources{margin-top:18px;padding-top:18px;border-top:1px solid var(--pme-line-on-dark);
  font-size:12px;line-height:1.6;color:oklch(0.70 0.012 85)}
.pme-foot-sources a{color:oklch(0.78 0.02 85);font-size:12px}

.pme-crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:12.5px;letter-spacing:.04em;color:var(--pme-ink-3)}
.pme-crumb a{color:var(--pme-ink-3)}
.pme-crumb a:hover{color:var(--pme-accent-deep)}

/* Hero clair (pages éditoriales) + article */
.pme-hero-light{padding-top:calc(var(--header-h) + 56px);padding-bottom:clamp(40px,5vw,72px);background:var(--pme-paper-2)}
.pme-hero-light .pme-h1{max-width:24ch}
.pme-g-art{display:grid;gap:clamp(28px,4vw,64px);grid-template-columns:240px minmax(0,1fr);align-items:start}
.pme-toc{position:sticky;top:calc(var(--header-h) + 24px)}
.pme-toc a{display:block;padding:8px 0;font-size:14px;color:var(--pme-ink-2);border-bottom:1px solid var(--pme-rule)}
.pme-toc a:hover{color:var(--pme-accent-deep)}
.pme-art{max-width:70ch}
.pme-art p{font-size:18px;line-height:1.68;margin-bottom:1.1em;text-wrap:pretty}
.pme-art h2{font-family:var(--font-display);font-size:clamp(23px,2.1vw,30px);line-height:1.18;
  letter-spacing:-0.01em;font-weight:600;margin:1.9em 0 .6em;color:var(--pme-ink)}
.pme-art h3{font-family:var(--font-display);font-size:19px;font-weight:560;margin:1.5em 0 .4em;color:var(--pme-ink)}
.pme-art ul{margin:0 0 1.3em}
.pme-art ul li{display:flex;gap:12px;font-size:17px;line-height:1.58;margin-bottom:.5em;color:var(--pme-ink-2)}
.pme-art ul li::before{content:"";flex:none;width:6px;height:6px;margin-top:10px;background:var(--pme-accent)}
.pme-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12px;font-weight:var(--w-bold);
  letter-spacing:.12em;text-transform:uppercase;color:var(--pme-ink-3)}
.pme-callout{margin:2.2em 0;padding:24px;border:1px solid var(--pme-rule);background:var(--pme-paper-2);
  display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.pme-callout p{margin:0;font-size:16px;max-width:44ch}

/* Article de blog — carte d'index */
.pme-post-card .pme-num-lbl{margin-bottom:6px}

.pme-mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:59;
  background:oklch(0.965 0.012 85 / .98);border-top:1px solid var(--pme-rule);
  padding:9px 12px;gap:9px}
.pme-mbar .pme-btn{flex:1;min-height:48px;padding:0 10px;font-size:13px}

.pme-d-only{display:revert}
.pme-m-only{display:none}
.pme-hide-m{display:revert}
.pme-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

@media (max-width:1080px){
  .pme-foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  :root{--header-h:66px}
  .pme-nav,.pme-hdr .pme-btn{display:none}
  .pme-burger{display:flex}
  .pme-g-media,.pme-g-form,.pme-g-4,.pme-g-3,.pme-g-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pme-g-media,.pme-g-form{grid-template-columns:minmax(0,1fr)}
  .pme-mbar{display:flex}
  body{padding-bottom:var(--mbar-h)}
  .pme-drawer{width:100vw;padding-bottom:calc(var(--mbar-h) + 20px)}
  .pme-map-wrap{max-width:420px}
}
@media (max-width:760px){
  /* index blog : grille -> rail horizontal sous 760px, pour éviter une section de 6 cartes
     empilées sur ~4 écrans (G72) ; scroll-snap natif, zéro JS. */
  .pme-blog-rail{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;
    gap:var(--gap);padding-bottom:10px;-webkit-overflow-scrolling:touch}
  .pme-blog-rail > .pme-card{flex:0 0 82vw;scroll-snap-align:start}
  /* sous ~760px le SVG de la carte est trop réduit pour que ses <text> restent lisibles
     (la taille est en unités du viewBox, pas en px écran) : la liste HTML juste en dessous
     (.pme-map-list) porte déjà la même information de façon accessible. */
  .pme-map-labels{display:none}
  .pme-proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pme-g-3,.pme-g-4,.pme-g-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pme-d-only{display:none}
  .pme-m-only{display:revert}
  .pme-hide-m{display:none}
  .pme-hero .pme-lede{font-size:16.5px;line-height:1.55}
  .pme-map-list{columns:1}
}
@media (max-width:640px){
  .pme-g-2{grid-template-columns:minmax(0,1fr)}
  .pme-foot-grid{grid-template-columns:minmax(0,1fr)}
  .pme-g-art{grid-template-columns:minmax(0,1fr)}
  .pme-toc{position:static}
}
@media (max-width:430px){
  .pme-g-4,.pme-g-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pme-hero{padding-top:calc(var(--header-h) + 24px)}
  .pme-poste{grid-template-columns:44px minmax(0,1fr)}
}
@media (max-width:560px){
  .pme-g:has(> .pme-card),.pme-g:has(> a.pme-card),.pme-g:has(> .pme-step){grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  *{transition-duration:.01ms !important;scroll-behavior:auto}
}
