:root{--encre:#191c21;--texte:#262a31;--doux:#545b66;--brique:#b83a14;--brique-pale:#fbeae3;--gris:#f3f4f6;--gris-fonce:#e2e4e8;--trait:#dfe2e6;--titres:'Archivo',system-ui,sans-serif;--corps:'Source Serif 4',Georgia,serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.apj{margin:0;background:#fff;color:var(--texte);font-family:var(--corps);font-size:1.0625rem;line-height:1.68}
img{max-width:100%;height:auto}
a{color:var(--brique)}
.apj-saut{position:absolute;left:-9999px;top:0;background:var(--encre);color:#fff;padding:10px 14px;z-index:100}
.apj-saut:focus{left:12px;top:12px}
.apj-cadre{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}
.apj-cadre--etroit{max-width:860px}
.apj-surtitre{font-family:var(--titres);font-weight:600;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;color:var(--brique);margin:0 0 10px}
.apj-tete{background:#fff;border-bottom:1px solid var(--trait)}
.apj-tete__rang{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;flex-wrap:wrap}
.apj-tete__logo{display:block;line-height:0;padding:10px 0}
.apj-tete__logo img{height:54px;width:auto}
.apj-tete__bascule{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.apj-tete__bouton{display:none}
.apj-nav__liste{list-style:none;display:flex;flex-wrap:nowrap;gap:6px 22px;margin:0;padding:0}
.apj-nav__item{margin:0}
.apj-nav__lien{display:block;font-family:var(--titres);font-weight:600;font-size:.92rem;color:var(--encre);text-decoration:none;padding:8px 0;white-space:nowrap}
.apj-nav__lien:hover,.apj-nav__lien:focus{color:var(--brique);text-decoration:underline;text-underline-offset:5px}
.apj-nav__item ul{list-style:none;margin:0;padding:0}
.apj-fil{font-family:var(--titres);font-weight:600;font-size:.8rem;color:var(--doux);margin:0 0 14px}
.apj-fil ol,.apj-fil ul{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:0}
.apj-fil li{display:inline-flex;align-items:center;margin:0}
.apj-fil a{color:var(--doux);text-decoration:underline;text-underline-offset:3px}
.apj-fil a:hover{color:var(--brique)}
.apj-section__titre{font-family:var(--titres);font-weight:800;font-size:1.55rem;line-height:1.2;color:var(--encre);margin:0 0 26px;display:flex;align-items:center;gap:12px}
.apj-section__titre::before{content:'';width:12px;height:12px;background:var(--brique);flex:none}
.apj-ouverture{padding:52px 0 56px;background:#fff}
.apj-ouverture__grille{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:52px;align-items:center}
.apj-ouverture__titre{font-family:var(--titres);font-weight:800;font-size:clamp(1.9rem,3.9vw,3.05rem);line-height:1.08;color:var(--encre);margin:0 0 18px;overflow-wrap:break-word;hyphens:manual}
.apj-ouverture__devise{font-size:1.18rem;line-height:1.5;color:var(--doux);margin:0;font-style:italic}
.apj-ouverture__image{margin:0;position:relative}
.apj-ouverture__image::before{content:'';position:absolute;inset:18px -14px -14px 18px;background:var(--brique);border-radius:4px}
.apj-ouverture__image img{position:relative;display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.apj-ouverture__image:not(:has(img)){display:none}
.apj-portes{padding:48px 0 20px;background:var(--gris)}
.apj-portes__liste{list-style:none;counter-reset:porte;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 28px;margin:0;padding:0}
.apj-portes__liste li{counter-increment:porte;margin:0}
.apj-portes__liste a{display:block;height:100%;border-top:3px solid var(--encre);padding:14px 4px 18px;text-decoration:none;color:var(--texte)}
.apj-portes__liste a::before{content:counter(porte,decimal-leading-zero);display:block;font-family:var(--titres);font-weight:800;font-size:.95rem;color:var(--brique);margin-bottom:6px}
.apj-portes__nom{display:block;font-family:var(--titres);font-weight:800;font-size:1.2rem;line-height:1.25;color:var(--encre);margin-bottom:6px}
.apj-portes__desc{display:block;font-size:.97rem;line-height:1.5;color:var(--doux)}
.apj-portes__liste a:hover .apj-portes__nom{color:var(--brique);text-decoration:underline;text-underline-offset:4px}
.apj-presentation{padding:56px 0 24px}
.apj-lecture{max-width:800px}
.apj-recents{padding:40px 0 72px}
.apj-texte{font-size:1.0625rem;line-height:1.72;color:var(--texte)}
.apj-texte>*:first-child{margin-top:0}
.apj-texte p{margin:0 0 1em}
.apj-texte h2{font-family:var(--titres);font-weight:800;font-size:1.5rem;line-height:1.25;color:var(--encre);margin:2.1em 0 .65em}
.apj-texte h2::before{content:'';display:inline-block;width:.42em;height:.42em;background:var(--brique);margin-right:.5em;vertical-align:.14em}
.apj-texte h3{font-family:var(--titres);font-weight:600;font-size:1.2rem;line-height:1.3;color:var(--encre);margin:1.8em 0 .55em}
.apj-texte h4{font-family:var(--titres);font-weight:600;font-size:1.05rem;margin:1.6em 0 .5em;color:var(--encre)}
.apj-texte ul,.apj-texte ol{margin:0 0 1.1em;padding-left:1.5em}
.apj-texte li{margin:.35em 0}
.apj-texte li::marker{color:var(--brique)}
.apj-texte ol li::marker{font-family:var(--titres);font-weight:600}
.apj-texte strong,.apj-texte b{font-weight:600;color:var(--encre)}
.apj-texte a{color:var(--brique);text-decoration:underline;text-underline-offset:3px}
.apj-texte img{display:block;margin:1.4em auto;border-radius:4px}
.apj-texte figure{margin:1.4em 0}
.apj-texte blockquote{margin:1.4em 0;padding:18px 22px;background:var(--gris);border-radius:6px;font-style:italic}
.apj-texte table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem;line-height:1.5}
.apj-texte th,.apj-texte td{padding:.6em .8em;border-bottom:1px solid var(--trait);text-align:left;vertical-align:top}
.apj-texte th{background:var(--encre);color:#fff;font-family:var(--titres);font-weight:600}
.apj-texte tbody tr:nth-child(even) td{background:var(--gris)}
.apj-article__tete{padding:34px 0 22px}
.apj-article__titre{font-family:var(--titres);font-weight:800;font-size:clamp(1.75rem,3.3vw,2.55rem);line-height:1.13;color:var(--encre);margin:0 0 16px;overflow-wrap:break-word}
.apj-article__signature{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.95rem;color:var(--doux)}
.apj-article__signature strong{color:var(--encre);font-weight:600}
.apj-article__point{width:5px;height:5px;border-radius:50%;background:var(--brique)}
.apj-article__une{max-width:1040px;margin:4px auto 30px}
.apj-article__une img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover;border-radius:4px}
.apj-article__une:not(:has(img)){display:none}
.apj-article__corps{display:grid;grid-template-columns:230px minmax(0,740px);gap:56px;justify-content:center;align-items:start;padding-bottom:56px}
.apj-article .apj-texte>p:first-child{font-size:1.15rem;line-height:1.62;color:var(--encre);background:var(--brique-pale);padding:18px 22px;border-radius:6px;margin-bottom:1.3em}
.apj-sommaire{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;font-family:var(--titres)}
.apj-sommaire__bascule{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.apj-sommaire__libelle{display:block;font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brique);margin-bottom:10px}
.apj-sommaire__liste ul,.apj-sommaire__liste ol{list-style:none;margin:0;padding:0}
.apj-sommaire__liste li{margin:0}
.apj-sommaire__liste li li a{padding-left:12px;font-size:.8rem}
.apj-sommaire__liste a{display:block;padding:7px 0;border-bottom:1px solid var(--trait);font-size:.86rem;line-height:1.35;color:var(--texte);text-decoration:none}
.apj-sommaire__liste a:hover{color:var(--brique)}
.apj-sommaire:not(:has(a)){display:none}
.apj-signataire{display:flex;gap:20px;align-items:flex-start;margin-top:44px;padding:22px 24px;background:var(--gris);border-radius:8px}
.apj-signataire__photo{flex:none;width:92px;height:92px;border-radius:50%;overflow:hidden;background:var(--gris-fonce)}
.apj-signataire__photo img{width:100%;height:100%;object-fit:cover;display:block}
.apj-signataire__nom{font-family:var(--titres);font-weight:800;font-size:1.1rem;color:var(--encre);margin:2px 0 6px}
.apj-signataire__bio{font-size:.97rem;line-height:1.6;color:var(--texte)}
.apj-signataire__bio p{margin:0}
.apj-signataire__bio>*:not(:first-child){display:none}
.apj-signataire:not(:has(.apj-signataire__nom:not(:empty))){display:none}
.apj-initiales{display:flex;align-items:center;justify-content:center;background:var(--brique);color:#fff;font-family:var(--titres);font-weight:800;font-size:1.6rem}
.apj-voisins{padding:48px 0 64px;background:var(--gris)}
.apj-voisins:not(:has(.apj-carte)){display:none}
.apj-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 26px}
.apj-carte{margin:0}
.apj-carte__lien{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--texte)}
.apj-carte__visuel{aspect-ratio:16/10;overflow:hidden;border-radius:4px;background:var(--gris-fonce);margin-bottom:14px}
.apj-carte__visuel img{display:block;width:100%;height:100%;object-fit:cover}
.apj-carte__visuel:not(:has(img)){background:var(--apj-logo) center/36% auto no-repeat,linear-gradient(118deg,var(--brique-pale) 0 55%,var(--gris-fonce) 55% 100%)}
.apj-carte__corps{display:flex;flex-direction:column;flex:1}
.apj-carte__rubrique{font-family:var(--titres);font-weight:600;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brique);margin-bottom:8px}
.apj-carte__titre{font-family:var(--titres);font-weight:600;font-size:1.1rem;line-height:1.28;color:var(--encre);margin:0 0 8px}
.apj-carte__extrait{font-size:.95rem;line-height:1.55;color:var(--doux);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.apj-carte__extrait p{margin:0}
.apj-carte__date{font-family:var(--titres);font-weight:600;font-size:.78rem;color:var(--doux);margin-top:12px}
.apj-carte__lien:hover .apj-carte__titre{color:var(--brique);text-decoration:underline;text-underline-offset:4px}
.apj-rubrique__tete{padding:36px 0 34px;border-bottom:1px solid var(--trait);background:linear-gradient(180deg,var(--gris),#fff)}
.apj-rubrique__titre{font-family:var(--titres);font-weight:800;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.12;color:var(--encre);margin:0 0 20px;overflow-wrap:break-word}
.apj-rubrique__intro{font-size:1rem;line-height:1.68;column-count:2;column-gap:48px}
.apj-rubrique__intro p{margin:0 0 .85em}
.apj-rubrique__intro a{color:var(--brique)}
.apj-rubrique__intro:not(:has(*)){display:none}
.apj-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;padding:30px 0 72px}
.apj-liste .apj-carte{border-bottom:1px solid var(--trait);padding:22px 0}
.apj-liste .apj-carte__lien{flex-direction:row;gap:18px;align-items:flex-start}
.apj-liste .apj-carte__visuel{flex:none;width:132px;aspect-ratio:1/1;margin:0}
.apj-liste .apj-carte__visuel:not(:has(img)){background-size:62% auto,auto}
.apj-liste .apj-carte__rubrique{display:none}
.apj-liste .apj-carte__extrait{-webkit-line-clamp:2}
.apj-liste .apj-carte__date{margin-top:8px}
.apj-fixe{padding:36px 0 72px}
.apj-fixe__titre{font-family:var(--titres);font-weight:800;font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.13;color:var(--encre);margin:0 0 24px}
.apj-texte--fixe img{margin:0 0 1.4em;border-radius:6px}
.apj-profil__tete{display:flex;align-items:center;gap:26px;margin-bottom:26px}
.apj-profil__tete .apj-fixe__titre{margin:0}
.apj-profil__portrait{flex:none;width:132px;height:132px;border-radius:50%;overflow:hidden;margin:0;background:var(--gris-fonce)}
.apj-profil__portrait img{width:100%;height:100%;object-fit:cover;display:block}
.apj-profil__ecrire a,.apj-contact button,.apj-contact input[type=submit],.apj-bouton{display:inline-block;background:var(--encre);color:#fff;font-family:var(--titres);font-weight:600;font-size:.95rem;padding:12px 22px;border:0;border-radius:6px;text-decoration:none;cursor:pointer}
.apj-profil__ecrire a:hover,.apj-contact button:hover,.apj-bouton:hover{background:var(--brique)}
.apj-contact{margin-top:48px;padding:30px 28px 34px;background:var(--gris);border-radius:8px}
.apj-contact__titre{font-family:var(--titres);font-weight:800;font-size:1.4rem;color:var(--encre);margin:0 0 8px}
.apj-contact__intro{margin:0 0 20px;color:var(--doux)}
.apj-contact input:not([type=submit]):not([type=checkbox]):not([type=hidden]),.apj-contact textarea,.apj-champ{display:block;width:100%;font:inherit;font-size:1rem;color:var(--texte);background:#fff;border:1px solid #c5cad1;border-radius:6px;padding:12px 14px;margin:0 0 12px}
.apj-contact textarea{min-height:150px}
.apj-contact input:focus,.apj-contact textarea:focus{outline:2px solid var(--brique);outline-offset:1px}
.apj-pied{background:var(--encre);color:#e8eaee;padding:52px 0 26px;font-size:.97rem}
.apj-pied__grille{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px}
.apj-pied__logo{height:48px;width:auto;filter:invert(1);display:block;margin-bottom:16px}
.apj-pied__texte{margin:0;max-width:520px;line-height:1.6}
.apj-pied__titre{font-family:var(--titres);font-weight:800;font-size:1rem;color:#fff;margin:0 0 12px}
.apj-pied__liste{list-style:none;margin:0;padding:0}
.apj-pied__liste li{margin:0 0 8px}
.apj-pied a{color:#f3f4f6;text-decoration:underline;text-underline-offset:3px}
.apj-pied a:hover{color:#fff}
.apj-pied__bas{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:36px;padding-top:18px;border-top:1px solid #3a3f48;font-family:var(--titres);font-size:.85rem;color:#c3c8cf}
.apj-pied__bas p{margin:0}
@media (max-width:999px){
.apj-article__corps{display:block}
.apj-sommaire{position:sticky;top:0;z-index:30;max-height:none;overflow:visible;background:#fff;border-bottom:1px solid var(--trait);margin:0 0 22px}
.apj-sommaire__libelle{display:flex;align-items:center;justify-content:space-between;min-height:46px;margin:0;cursor:pointer;color:var(--encre)}
.apj-sommaire__libelle::after{content:'';width:9px;height:9px;border-right:2px solid var(--brique);border-bottom:2px solid var(--brique);transform:rotate(45deg) translateY(-3px)}
.apj-sommaire__liste{display:none;max-height:60vh;overflow:auto;padding-bottom:10px}
.apj-sommaire__bascule:checked~.apj-sommaire__liste{display:block}
.apj-sommaire__liste li li{display:none}
.apj-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
.apj-ouverture__grille{grid-template-columns:1fr;gap:34px}
}
@media (max-width:979px){
.apj-tete__rang{gap:0 16px;min-height:66px}
.apj-tete__logo img{height:44px}
.apj-tete__bouton{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border:1px solid var(--encre);border-radius:6px;font-family:var(--titres);font-weight:600;font-size:.9rem;color:var(--encre);cursor:pointer}
.apj-tete__traits{position:relative;width:18px;height:2px;background:var(--encre);box-shadow:0 -6px 0 var(--encre),0 6px 0 var(--encre)}
.apj-nav{display:none;width:100%;padding:4px 0 14px}
.apj-tete__bascule:checked~.apj-nav{display:block}
.apj-tete__bascule:focus-visible+.apj-tete__bouton{outline:2px solid var(--brique);outline-offset:2px}
.apj-nav__liste{flex-direction:column;gap:0}
.apj-nav__lien{padding:13px 2px;border-bottom:1px solid var(--trait);font-size:1rem}
}
@media (max-width:899px){
.apj-rubrique__intro{column-count:1}
.apj-liste{grid-template-columns:1fr}
.apj-portes__liste{grid-template-columns:repeat(2,minmax(0,1fr))}
.apj-pied__grille{grid-template-columns:1fr}
}
@media (max-width:599px){
body.apj{font-size:1.03rem}
.apj-grille{grid-template-columns:1fr}
.apj-portes__liste{grid-template-columns:1fr;gap:18px}
.apj-ouverture{padding:32px 0 30px}
.apj-ouverture__image::before{inset:12px -8px -8px 12px}
.apj-article__tete{padding:24px 0 16px}
.apj-article__une{margin:0 0 22px}
.apj-article__une img{aspect-ratio:3/2}
.apj-article .apj-texte>p:first-child{padding:16px 18px}
.apj-article__signature>span:first-child{flex-basis:100%}
.apj-article__signature>.apj-article__point:nth-child(2){display:none}
.apj-texte table{display:block;overflow-x:auto;white-space:normal}
.apj-texte th,.apj-texte td{min-width:120px}
.apj-liste .apj-carte__visuel{width:92px}
.apj-signataire{flex-direction:column;gap:14px;padding:20px}
.apj-profil__tete{flex-direction:column;align-items:flex-start;gap:16px}
.apj-profil__portrait{width:112px;height:112px}
.apj-contact{padding:22px 18px 26px}
.apj-cadre{padding:0 20px}
}
