
/* Maquette validee : page d'entree floutee, index des projets, fiches avec cartouche, bandeau legal defilant. Un seul theme clair, assume. */
:root{
  color-scheme:light;
  --fond:#F7F6F2; --encre:#161616; --gris1:#2E2E2B; --gris2:#4A4A46; --gris3:#5C5A54; --gris4:#8C8A83; --filet:#CFCCC3; --vide:#E4E1D8; --brique:#8A3B26;
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{background:var(--fond)}
body{background:var(--fond);color:var(--encre);font-family:var(--sans);font-size:16px;line-height:1.55}
a{color:var(--encre);text-decoration:none}
a:hover{color:var(--brique)}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brique);outline-offset:3px}
.cadre{width:100%;max-width:1360px;margin:0 auto;padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}
@media (max-width:640px){.cadre{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}
.mono{font-family:var(--mono)}
.todo{color:var(--gris4)}
[hidden]{display:none!important}
/* Pointeur : point rond plein, brique sur ce qui est cliquable */
html,body,*{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Ccircle cx='7' cy='7' r='6' fill='%23161616'/%3E%3C/svg%3E") 7 7,auto}
a,a *,button,button *,summary,summary *,[data-i],[data-i] *,.ecran,.ecran *,.lb .s{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Ccircle cx='7' cy='7' r='6' fill='%238A3B26'/%3E%3C/svg%3E") 7 7,pointer}


/* Page d'entree */
.ecran{display:block;position:fixed;inset:0;z-index:30;overflow:hidden;background:var(--fond);color:var(--encre)}
.ecran:hover{color:var(--encre)}
.trouble{position:absolute;inset:-40px;padding:68px 80px;display:flex;flex-direction:column;gap:40px;pointer-events:none;animation:respire 7s ease-in-out infinite;transition:filter .6s}
.trouble .bar{display:flex;justify-content:space-between;align-items:center}
.trouble .bar svg{width:150px;height:auto}
.trouble .bar span{display:flex;gap:28px}
.trouble .filet{border-top:1px solid var(--encre)}
.trouble .g{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:48px 32px}
.trouble .g img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1);display:block}
.trouble .g i{display:block;height:14px;width:70%;background:var(--gris2);margin-top:14px}
.ecran:hover .trouble{animation-play-state:paused;filter:blur(6px)}
@keyframes respire{0%,100%{filter:blur(16px);transform:scale(1.04)}50%{filter:blur(10px);transform:scale(1.02)}}
.voile{position:absolute;inset:0;background:rgba(247,246,242,.42)}
.centre{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;text-align:center;padding:32px 16px}
.centre svg{width:min(560px,80vw);height:auto;display:block}
.centre .mono{font-size:14px;color:var(--gris1)}
.entrer{position:absolute;right:max(40px,env(safe-area-inset-right,0px));bottom:calc(32px + env(safe-area-inset-bottom,0px));font-size:20px;min-height:44px;display:flex;align-items:center;transition:letter-spacing .3s}
.ecran:hover .entrer{letter-spacing:.08em}
@media (max-width:640px){.entrer{right:16px}.trouble{padding:56px 24px}}

/* En-tete */
/* Menu facon Atelier Tequi : un point rond qui ouvre un panneau sombre depuis la droite */
header.haut .cadre{padding-block:28px}
header.haut .logo{display:block;width:230px}
header.haut .logo svg{width:100%;height:auto;display:block}
@media (max-width:640px){header.haut .logo{width:160px}header.haut .cadre{padding-block:20px}}
.bouton-menu{position:fixed;z-index:35;text-transform:uppercase;letter-spacing:.08em;top:calc(52px + env(safe-area-inset-top,0px));right:max(40px,env(safe-area-inset-right,0px));display:flex;align-items:center;gap:12px;min-height:44px;padding:0;border:0;background:none;color:var(--encre);font-family:var(--mono);font-size:13px;transition:color .5s cubic-bezier(.23,1,.32,1)}
.bouton-menu .point{width:20px;height:20px;border-radius:0;background:currentColor;transition:transform .5s cubic-bezier(.23,1,.32,1)}
.bouton-menu:not([aria-expanded="true"]){color:#fff;mix-blend-mode:difference}
.menu-ouvert .bouton-menu{color:var(--encre);mix-blend-mode:normal}
@media (hover:hover){.bouton-menu:hover .point{transform:scale(1.15)}.bouton-menu:not([aria-expanded="true"]):hover{color:#6DBBCC}.menu-ouvert .bouton-menu:hover{color:var(--brique)}}
@media (max-width:640px){.bouton-menu{top:calc(18px + env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px))}}
.voile-menu{position:fixed;inset:0;z-index:33;background:transparent;opacity:0;transition:opacity .5s}
.menu-ouvert .voile-menu{opacity:1}
.panneau{position:fixed;z-index:34;top:0;right:0;bottom:0;width:50vw;background:rgba(247,246,242,.55);-webkit-backdrop-filter:blur(18px) saturate(1.05);backdrop-filter:blur(18px) saturate(1.05);border-left:1px solid var(--encre);color:var(--encre);display:flex;flex-direction:column;justify-content:space-between;padding:calc(120px + env(safe-area-inset-top,0px)) max(32px,env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) 48px;clip-path:inset(0 0 0 100%);transition:clip-path .7s cubic-bezier(.23,1,.32,1),visibility 0s .7s;visibility:hidden}
.menu-ouvert .panneau{clip-path:inset(0);visibility:visible;transition:clip-path .7s cubic-bezier(.23,1,.32,1),visibility 0s}
.panneau ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.panneau li{opacity:0;transform:translateX(30px);transition:opacity .5s,transform .7s cubic-bezier(.23,1,.32,1)}
.menu-ouvert .panneau li{opacity:1;transform:none}
.menu-ouvert .panneau li:nth-child(1){transition-delay:.12s}.menu-ouvert .panneau li:nth-child(2){transition-delay:.17s}.menu-ouvert .panneau li:nth-child(3){transition-delay:.22s}.menu-ouvert .panneau li:nth-child(4){transition-delay:.27s}.menu-ouvert .panneau li:nth-child(5){transition-delay:.32s}.menu-ouvert .panneau li:nth-child(6){transition-delay:.37s}
.panneau a{position:relative;display:inline-block;color:var(--encre);font-size:24px;font-weight:500;letter-spacing:-.01em;line-height:1.3;padding-bottom:4px;background-image:linear-gradient(transparent calc(100% - 1px),currentColor 0);background-repeat:no-repeat;background-size:0% 100%;transition:background-size .4s cubic-bezier(.9,0,.1,1),color .3s}
.panneau a:hover,.panneau a:focus-visible{background-size:100% 100%;color:var(--brique)}
.panneau a[aria-current="page"]::before{content:"";position:absolute;left:-22px;top:.55em;width:8px;height:8px;border-radius:50%;background:currentColor}
.p-pied{display:flex;flex-direction:column;gap:4px;font-size:11.5px;line-height:1.5;color:var(--gris3)}
@media (max-width:760px){.panneau{width:72vw;padding-left:max(48px,env(safe-area-inset-left,0px))}}
main{padding-block:4px 120px;display:flex;flex-direction:column;gap:48px;min-height:60vh}

/* Index */
.tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.tete h1{margin:0;font-family:var(--mono);font-size:13px;font-weight:400;color:var(--gris2)}
.modes{display:flex;gap:4px;font-family:var(--mono);font-size:13px}
.modes button{min-height:44px;padding:0 12px;border:0;background:none;color:var(--encre)}
.modes button[aria-pressed="true"]{text-decoration:underline;text-underline-offset:4px}
.modes span{align-self:center;color:var(--gris4)}
.filtres{display:flex;flex-wrap:wrap;gap:8px}
.intro>.vide{flex:1 1 220px}
.rub-cadre{position:relative;height:0;z-index:2}
.rub-cadre .rubrique{position:absolute;right:max(40px,env(safe-area-inset-right,0px));top:2px}
@media (max-width:640px){.rub-cadre{height:auto;display:flex;justify-content:flex-end;padding-bottom:18px}.rub-cadre .rubrique{position:static}}
.tete{padding-right:180px}
@media (max-width:640px){.tete{padding-right:0}}
.rubrique{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--encre);border-top:1px solid var(--encre);border-bottom:1px solid var(--encre);padding:6px 1px 5px;white-space:nowrap}
.rubrique:empty{display:none}
@media (max-width:640px){.rubrique{font-size:11px}}
.traj-l{display:block;height:72px;width:auto;max-width:100%;margin:0 0 22px}
.illu-t{margin:28px 0 0;max-width:620px}
.illu-t img{width:100%;height:auto;display:block}
.actu .citation{margin:0 0 20px}
.logos-actu{display:flex;align-items:center;gap:28px}
.noos-l{height:110px;width:auto;display:block}
.noos-logo img{width:min(180px,40vw);height:auto;display:block}
.membres{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px 32px}
.membres li{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--filet);padding-top:12px}
.membres b{font-weight:500;font-size:18px}
.membres .mono{font-size:12px;color:var(--gris3)}
.membres p{margin:6px 0 0;font-size:15px;color:var(--gris1)}
.lignes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.lignes li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;border-top:1px solid var(--filet);padding:14px 0}
.lignes .mono{font-size:12px;color:var(--gris3);padding-top:4px}
.lignes b{font-weight:500}
.lignes p{margin:4px 0 0;color:var(--gris1)}
.masque{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.filtres button{font-size:15px;min-height:44px;padding:0 18px;border:1px solid #B9B6AD;background:transparent;border-radius:999px}
.filtres button span{font-family:var(--mono);font-size:12px;color:var(--gris3);margin-left:4px}
.filtres button[aria-pressed="true"]{background:var(--encre);color:var(--fond);border-color:var(--encre)}
.filtres button[aria-pressed="true"] span{color:var(--fond);opacity:.7}
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:48px 32px}
@media (max-width:400px){.grille{grid-template-columns:1fr}}
.carte{display:flex;flex-direction:column;gap:14px}
.vignette{aspect-ratio:4/3;overflow:hidden;background:var(--vide)}
.vignette img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1);transition:filter .3s}
.carte:hover .vignette img,.carte:focus-visible .vignette img{filter:grayscale(0)}
.carte .ligne{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:12px;color:var(--gris3);text-transform:lowercase}
.carte .t{display:flex;flex-direction:column;gap:4px}
.carte .t b{font-size:21px;font-weight:500;line-height:1.25}
.carte .t span{color:var(--gris2)}
.carte .t em{font-size:14px;color:var(--gris3)}
.defile{overflow-x:auto}
.liste{min-width:760px;display:flex;flex-direction:column}
.liste a{display:grid;grid-template-columns:56px minmax(0,3fr) minmax(0,1.3fr) minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:baseline;padding:18px 0;border-top:1px solid var(--filet)}
.liste a .mono{font-size:13px;color:var(--gris2)}
.liste a b{font-size:18px;font-weight:500}
.liste a .r{text-align:right}

.vers-index{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;border-top:1px solid var(--encre);border-bottom:1px solid var(--encre);padding-block:22px}
.vers-index .mono{font-size:13px;color:var(--gris3)}
.vers-index b{font-size:clamp(20px,2vw,26px);font-weight:500;letter-spacing:-.01em;transition:letter-spacing .3s}
.vers-index:hover b{letter-spacing:.02em}
.titre-index{margin:0 0 6px;font-size:clamp(36px,5vw,56px);font-weight:500;line-height:1.05;letter-spacing:-.025em}
.refs .sous-index{margin:0 0 12px;font-size:13px;font-weight:400;color:var(--gris3)}
.refs h2{margin:0 0 8px;font-size:22px;font-weight:500}
.refs p{margin:0 0 20px;max-width:680px;color:var(--gris2)}
.refs .rang{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,3fr) minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:baseline;padding:14px 0;border-top:1px solid var(--filet);font-size:15px}
.refs .rang .mono{font-size:12px;color:var(--gris3)}
.refs .rang .r{text-align:right}

/* Fiche */
.retour{font-family:var(--mono);font-size:13px;color:var(--gris2);min-height:44px;display:inline-flex;align-items:center}
.entete{display:flex;flex-direction:column;gap:18px}
.entete .mono{font-size:13px;color:var(--gris3)}
.entete h1{margin:0;font-size:clamp(36px,5vw,56px);font-weight:500;line-height:1.05;letter-spacing:-.025em;text-wrap:balance}
.entete .lieu{font-size:22px;color:var(--gris2)}
.entete .accroche{margin:6px 0 0;max-width:820px;font-size:clamp(20px,2vw,26px);line-height:1.35;letter-spacing:-.01em;text-wrap:balance}
.une{margin:0;display:flex;flex-direction:column;gap:10px}
.une img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--vide)}
figcaption{font-family:var(--mono);font-size:13px;color:var(--gris2)}
.corps{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.texte{flex:999 1 560px;min-width:0;max-width:760px;display:flex;flex-direction:column;gap:20px;font-size:18px;line-height:1.65}
.texte p{margin:0}
.fiche{flex:1 1 320px;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);font-size:15px;line-height:1.5;border-top:1px solid var(--encre)}
.fiche dt{padding:12px 0;border-bottom:1px solid var(--filet);font-family:var(--mono);font-size:12px;color:var(--gris3)}
.fiche dd{margin:0;padding:12px 0;border-bottom:1px solid var(--filet)}
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:40px 32px}
@media (max-width:440px){.galerie{grid-template-columns:1fr}}
.galerie figure{margin:0;display:flex;flex-direction:column;gap:10px}
.galerie .im{aspect-ratio:4/3;background:var(--vide);overflow:hidden}
.galerie .im img{width:100%;height:100%;object-fit:cover;display:block}
.galerie .dessin .im{background:#fff}
.galerie .dessin .im img{object-fit:contain;padding:4%}
.voisins{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid var(--encre);padding-top:24px}
.voisins a{min-height:44px;display:flex;flex-direction:column;gap:4px}
.voisins a .mono{font-size:12px;color:var(--gris3)}
.voisins a b{font-size:18px;font-weight:500}
.voisins a:last-child{text-align:right}

/* Studio, collectif */
.intro{display:flex;flex-wrap:wrap;gap:24px 56px;border-top:1px solid var(--encre);padding-top:20px}
#app>.intro:first-child{border-top:0;padding-top:0}
.intro h1{margin:0;flex:1 1 220px;font-family:var(--mono);font-size:13px;font-weight:400;color:var(--gris2)}
.intro .texte{flex:999 1 560px}
.gros{font-size:clamp(22px,2.4vw,30px);line-height:1.3;letter-spacing:-.01em;margin:0;text-wrap:balance}
.equipe{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:40px 32px}
.equipe figure{margin:0;display:flex;flex-direction:column;gap:12px}
.equipe img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 0%;filter:grayscale(1);display:block}
.equipe b{display:block;font-size:20px;font-weight:500}
.equipe span{font-family:var(--mono);font-size:12px;color:var(--gris3)}
.equipe{grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:48px}
.equipe figure{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:28px;align-items:start}
.equipe figcaption{display:flex;flex-direction:column;gap:4px;font-family:var(--sans);font-size:16px;color:var(--encre)}
@media (max-width:640px){.equipe figure{grid-template-columns:1fr}.equipe img{max-width:320px}}
.bio{margin-top:12px;font-size:15px;line-height:1.6;color:var(--gris1)}
.bio p{margin:0 0 .8em}
.def{margin:0;font-size:15px}
.def b{font-size:22px;font-weight:500;margin-right:10px}
.def .mono{font-size:13px;color:var(--gris3)}
.citation{margin:8px 0 0;padding-left:20px;border-left:1px solid var(--encre)}
.citation p{margin:0 0 6px;font-size:20px;line-height:1.4}
.citation cite{font-style:normal;font-size:12px;color:var(--gris3)}
.partenaires{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 32px}
.partenaires li{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-top:1px solid var(--filet)}
.partenaires b{font-weight:500}
.partenaires .mono{font-size:12px;color:var(--gris3)}
#app>.intro+.intro{margin-top:8px}
.volets{border-bottom:1px solid var(--encre)}
.volet{border-top:1px solid var(--encre)}
.volet summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding-block:12px;font-size:clamp(20px,2vw,26px);letter-spacing:-.01em}
.volet summary::-webkit-details-marker{display:none}
.volet summary:hover{color:var(--brique)}
.volet summary i{position:relative;width:16px;height:16px;flex:none}
.volet summary i::before,.volet summary i::after{content:"";position:absolute;left:0;top:7.5px;width:16px;height:1px;background:currentColor;transition:transform .25s}
.volet summary i::after{transform:rotate(90deg)}
.volet[open] summary i::after{transform:rotate(0deg)}
.volet .texte{padding:4px 0 36px;margin-left:auto;max-width:760px}
.volet .texte p{margin:0}

.actu{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;border-top:1px solid var(--filet);padding-top:20px}
.actu time{font-family:var(--mono);font-size:13px;color:var(--gris3)}
.actu h2{margin:0 0 10px;font-size:22px;font-weight:500}
.actu p{margin:0 0 20px;max-width:680px;color:var(--gris1)}
.planche{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.planche figure{margin:0}
.planche img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;filter:grayscale(1);transition:filter .3s}
.planche figure:hover img{filter:none}
.eu{width:96px;height:96px;border-radius:50%;display:block}
@media (max-width:640px){.actu{grid-template-columns:1fr;gap:6px}}

/* Pied de page */
footer{border-top:1px solid var(--encre)}
footer .cadre{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;font-size:15px;line-height:1.6;padding-block:40px}
footer .col{display:flex;flex-direction:column}
footer b{font-weight:600}
.bandeau-l{overflow:hidden;background:var(--encre);color:var(--fond);font-family:var(--mono);font-size:12px;padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));white-space:nowrap}
.bandeau{display:flex;width:max-content;animation:defile 60s linear infinite}
.bandeau span{padding-right:48px}
@keyframes defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}


/* Plan de situation */
.plan-situation{margin:0;display:flex;flex-direction:column;gap:10px}
.plan-situation figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.plan-carte{display:block;width:100%;height:auto;background:var(--fond)}
.defile-carte{overflow-x:auto}
@media (max-width:760px){.plan-carte{min-width:860px}}
.c-fond{fill:var(--fond)}
.c-bati{fill:#D9D6CE;stroke:none}
.c-parc{fill:url(#hachure);stroke:#B9B6AD;stroke-width:1}
.c-hach{stroke:#B9B6AD;stroke-width:1.2}
.c-rail{fill:none;stroke:var(--gris2);stroke-width:2;stroke-dasharray:10 6}
.c-cible{fill:var(--brique)}
.c-cercle{fill:none;stroke:var(--brique);stroke-width:1.5;stroke-dasharray:4 5}
.c-rue{font-family:var(--mono);font-size:12px;letter-spacing:.12em;fill:var(--gris1);paint-order:stroke;stroke:var(--fond);stroke-width:4px;stroke-linejoin:round}
.c-cim{fill:#EEECE6;stroke:#B9B6AD;stroke-width:1}
.c-cim-t{fill:var(--gris2);font-size:14px}
.c-croix{stroke:#C9C6BD;stroke-width:1.2;fill:none}
.c-parc-t{fill:var(--gris3)}
.c-metro{fill:var(--encre)}
.c-metro-t{font-family:var(--sans);font-weight:600;font-size:18px;fill:var(--fond)}
.c-legende{font-family:var(--mono);font-size:15px;fill:var(--encre)}
.c-titre-c{font-family:var(--sans);font-weight:500;font-size:24px;fill:var(--encre)}
.c-halo{paint-order:stroke;stroke:var(--fond);stroke-width:6px;stroke-linejoin:round}
.c-trait{stroke:var(--encre);stroke-width:1.2}
.c-nord path{fill:var(--encre)}
.c-nord text,.c-echelle text{font-family:var(--mono);font-size:13px;fill:var(--encre)}
.c-echelle rect{fill:var(--encre);stroke:var(--encre);stroke-width:1}
.c-echelle rect.v{fill:var(--fond)}
.c-bord{fill:none;stroke:var(--encre);stroke-width:2}

/* Visionneuse */
.lb{position:fixed;inset:0;z-index:40;background:var(--fond);display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:calc(env(safe-area-inset-top,0px) + 16px) max(16px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 12px) max(16px,env(safe-area-inset-left,0px))}
.lb .h,.lb .b{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:13px;color:var(--gris2)}
.lb button{border:0;background:none;min-height:44px;font-family:var(--mono);font-size:13px;color:var(--encre)}
.lb button:hover{color:var(--brique)}
.lb .s{display:flex;align-items:center;justify-content:center;min-height:0;padding-block:8px}
.lb .s img{max-width:100%;max-height:100%;object-fit:contain}
@media (prefers-reduced-motion:reduce){.trouble{animation:none;filter:blur(12px)}.bandeau{animation:none}*{transition:none!important}}

/* Sélecteur de langue */
.langues{position:fixed;z-index:35;top:calc(52px + env(safe-area-inset-top,0px));right:calc(max(40px,env(safe-area-inset-right,0px)) + 112px);display:flex;align-items:center;gap:6px;min-height:44px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--gris3)}
.langues a{color:var(--gris3);padding:4px 2px}
.langues a:hover{color:var(--brique)}
.langues a[aria-current="true"]{color:var(--encre);text-decoration:underline;text-underline-offset:4px}
.menu-ouvert .langues{z-index:36}
@media (max-width:640px){.langues{top:calc(18px + env(safe-area-inset-top,0px));right:calc(max(16px,env(safe-area-inset-right,0px)) + 100px)}}
