/* Compositions immersives. Les contenus restent intégralement dans le HTML. */
html[data-composition]{scroll-padding-bottom:90px}
html[data-composition]{--marge:clamp(24px,5vw,96px)}
html[data-composition] .editorial-tete{padding:22px var(--marge);min-height:76px;border-bottom:1px solid color-mix(in srgb,var(--encre) 16%,transparent)}
html[data-composition] .editorial-main{padding:0}
html[data-composition] .editorial-section{margin:0;padding:clamp(64px,8vw,140px) var(--marge)}
html[data-composition] .edition-note,html[data-composition] .fait,html[data-composition] .edition-liens{margin:16px var(--marge)}
html[data-composition] .editorial-pied{margin-top:0;border-top:1px solid color-mix(in srgb,var(--encre) 18%,transparent);padding:32px var(--marge)}
html[data-composition] .editorial-entree{position:relative;isolation:isolate;padding:72px var(--marge);min-height:0;max-width:none}
html[data-composition] .accroche{font-size:clamp(52px,6.8vw,112px);line-height:1.03;max-width:17ch;font-weight:450;letter-spacing:-.045em;overflow-wrap:break-word}
html[data-composition] .surtitre{font:500 12px/1.5 Archivo,sans-serif;letter-spacing:.15em;text-transform:uppercase}
html[data-composition] .sous{font-size:18px;max-width:45ch}
.coordonnees .localisation{margin-top:0;font-size:15px}.coordonnees .actions{margin-top:18px}
html[data-composition] .btn{border-radius:0;padding:14px 24px;font-size:14px;letter-spacing:.02em}
.ligne-titre,.titre-masque,.ligne-titre>span{display:block}.ligne-titre{overflow:clip}
/* Photographe et restaurant : la photo traverse l'écran ; les coordonnées restent immédiates. */
html:is([data-composition=photographe],[data-composition=restaurant]) .editorial-entree:has(.entree-image){display:flex;align-items:stretch;min-height:min(790px,calc(100svh - 76px));background:#252721;color:#fff;padding:64px var(--marge);overflow:clip}
html:is([data-composition=photographe],[data-composition=restaurant]) .editorial-entree:has(.entree-image)::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.62),transparent 55%);pointer-events:none}
html:is([data-composition=photographe],[data-composition=restaurant]) .editorial-entree:has(.entree-image) .entree-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-height:none;aspect-ratio:auto;margin:0;border-radius:0}
html:is([data-composition=photographe],[data-composition=restaurant]) .editorial-entree:has(.entree-image) .entree-texte{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:48px;width:100%;min-width:0}
html:is([data-composition=photographe],[data-composition=restaurant]) .editorial-entree:has(.entree-image) .essentiel{margin:auto 0}
html:is([data-composition=photographe],[data-composition=restaurant]) .editorial-entree:has(.entree-image) :is(.surtitre,.sous,.localisation){color:#fff}
html:is([data-composition=photographe],[data-composition=restaurant]) .editorial-entree:has(.entree-image) .btn{background:#fff;color:#161612;border-color:#fff}
html:is([data-composition=photographe],[data-composition=restaurant]) .editorial-entree:has(.entree-image) .manque-court{color:white;border-color:currentColor;background:#252721}
html[data-composition=photographe] .editorial-entree:has(.entree-image) .coordonnees{display:flex;width:100%;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap}
html[data-composition=photographe] .coordonnees .actions{margin-top:0}
html[data-composition=photographe] .accroche{font-family:Fraunces,Georgia,serif}
/* Sans photo, aucun grand emplacement réservé. */
html[data-composition] .editorial-entree.sans-photo{display:block;min-height:0;padding-block:64px}
html[data-composition] .sans-photo .coordonnees{margin-top:32px}
/* Les galeries forment des séquences, avec un repli en grille sans animation. */
.galerie-piste,.preuve{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.galerie-piste figure,.preuve figure{margin:0;overflow:clip;aspect-ratio:4/3}
.galerie-piste figure:first-child{grid-column:1/-1;aspect-ratio:2/1}
.galerie-piste picture,.galerie-piste img,.preuve picture,.preuve img{display:block;width:100%;height:100%;object-fit:cover}
.galerie-fenetre{overflow:clip}
html[data-composition=photographe] .galerie-metier{padding-inline:0;padding-block:24px 80px}
html[data-composition=photographe] .galerie-piste{gap:24px}
html[data-composition=photographe] .prestations{border-top:1px solid color-mix(in srgb,var(--encre) 18%,transparent)}
html[data-composition=photographe] .liste-offres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:48px}
html[data-composition=photographe] .liste-offres li{display:flex;flex-direction:column;align-items:flex-start;gap:24px;border-top:1px solid var(--accent);padding-block:24px}
html[data-composition=photographe] .liste-offres h3{font-size:32px}
html[data-composition=photographe] .maison{display:grid;grid-template-columns:1fr 1fr;gap:64px;background:var(--fond2)}
html[data-composition=photographe] .presentation{font:400 clamp(22px,2.4vw,36px)/1.4 Fraunces,serif;max-width:38ch}
/* Plombier : coordonnées et titre à gauche, réalisation à droite, interventions numérotées. */
html[data-composition=plombier] .editorial-entree{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding-block:56px}
html[data-composition=plombier] .entree-texte{display:flex;flex-direction:column;gap:36px;min-width:0}
html[data-composition=plombier] .accroche{font-family:Archivo,sans-serif;font-size:clamp(48px,5.8vw,90px);font-weight:550;max-width:13ch;letter-spacing:-.055em}
html[data-composition=plombier] .entree-image{aspect-ratio:4/5;max-height:660px;overflow:clip}
html[data-composition=plombier] .contact-principal{font-size:22px}
html[data-composition=plombier] .prestations{background:var(--fond2)}
html[data-composition=plombier] .liste-offres{counter-reset:offre;display:block;margin-top:48px}
html[data-composition=plombier] .liste-offres li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:32px;padding-block:32px;align-items:baseline;border-bottom:1px solid color-mix(in srgb,var(--encre) 20%,transparent)}
html[data-composition=plombier] .liste-offres li::before{counter-increment:offre;content:counter(offre,decimal-leading-zero);font-size:13px;color:var(--accent)}
html[data-composition=plombier] .liste-offres h3{font:500 clamp(26px,2.8vw,42px)/1.2 Archivo,sans-serif}
html[data-composition=plombier] .preuve{grid-template-columns:1.4fr 1fr 1fr;align-items:center}
html[data-composition=plombier] .preuve figure{aspect-ratio:4/5}html[data-composition=plombier] .preuve figure:first-child{aspect-ratio:1/1}
html[data-composition=plombier] .maison{border-top:1px solid var(--accent)}
/* Restaurant : ouverture centrée, carte généreuse, horaires regroupés. */
html[data-composition=restaurant] .editorial-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);column-gap:0}
html[data-composition=restaurant] .editorial-main>:is(.editorial-entree,.edition-note,.fait,.galerie-metier,.maison,.complements){grid-column:1/-1}
html[data-composition=restaurant] .editorial-entree:has(.entree-image){text-align:center}
html[data-composition=restaurant] .editorial-entree:has(.entree-image)::after{background:linear-gradient(0deg,rgba(0,0,0,.64),rgba(0,0,0,.32) 70%,rgba(0,0,0,.28))}
html[data-composition=restaurant] .editorial-entree:has(.entree-image) .entree-texte{align-items:center}
html[data-composition=restaurant] .editorial-entree:has(.entree-image) .coordonnees{text-align:center}
html[data-composition=restaurant] .coordonnees .actions{justify-content:center}
html[data-composition=restaurant] .accroche{font-weight:400;font-size:clamp(56px,7.5vw,118px);max-width:14ch}
html[data-composition=restaurant] .prestations{grid-column:1;padding-right:5vw}
html[data-composition=restaurant] .infos{grid-column:2;padding-left:5vw;border-left:1px solid color-mix(in srgb,var(--encre) 15%,transparent);background:var(--fond2)}
.carte-restaurant ul{list-style:none;padding:0}.categorie+.categorie{margin-top:40px}
html[data-editorial] .categorie h3{font:500 12px/1.5 Archivo,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--accent);padding-block:16px;margin:0}
.carte-restaurant li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:24px;padding:22px 0;border-bottom:1px solid color-mix(in srgb,var(--encre) 12%,transparent)}
.carte-restaurant h4{font:400 clamp(22px,2vw,30px)/1.2 Fraunces,serif;letter-spacing:-.025em}.carte-restaurant p{font-size:15px;color:var(--encre2);margin-top:8px}.carte-restaurant .prix{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
html[data-composition=restaurant] .galerie-metier{padding:0}
html[data-composition=restaurant] .galerie-piste{grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:center}
html[data-composition=restaurant] .galerie-piste figure{grid-column:auto;aspect-ratio:4/5}
html[data-composition=restaurant] .galerie-piste figure:nth-child(2){aspect-ratio:3/4}
html[data-composition=restaurant] .maison{display:grid;grid-template-columns:1fr 1fr;gap:6vw}
/* Mouvement natif et optionnel ; identité et coordonnées jamais masquées. */
@media(prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 ::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
 .entree-image{view-transition-name:photo-ouverture}
 ::view-transition-old(photo-ouverture){animation:photo-sortie .25s ease both}
 ::view-transition-new(photo-ouverture){animation:photo-entree .45s ease both}
 @keyframes photo-sortie{to{opacity:0}}@keyframes photo-entree{from{opacity:0}to{opacity:1}}
 html[data-composition] .btn,html[data-composition] .appel-mobile{transition:transform .18s,background-color .18s,color .18s}
 html[data-composition] .btn:hover{transform:translateY(-2px)}html[data-composition] .btn:active{transform:scale(.98)}
 @supports(animation-timeline:view()) and (animation-range:entry 0% entry 100%){
  @keyframes image-revelee{from{clip-path:inset(12% 0 12%);opacity:.7}to{clip-path:inset(0);opacity:1}}
  @keyframes ligne-revelee{from{transform:translateY(100%)}to{transform:none}}
  @keyframes profondeur{from{transform:scale(1.08) translateY(-2%)}to{transform:scale(1.08) translateY(2%)}}
  .revelation{view-timeline:--photo block}.revelation picture{animation:image-revelee linear both;animation-timeline:--photo;animation-range:entry 0% entry 90%}
  .titre-masque{view-timeline:--titre block}.ligne-titre>span{animation:ligne-revelee linear both;animation-timeline:--titre;animation-range:entry 0% entry 100%}
  html:is([data-composition=photographe],[data-composition=restaurant]) .entree-image img{animation:profondeur linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
 }
 @supports(animation-timeline:view()) and (animation-range:contain 0% contain 100%) and (view-timeline-name:--galerie){
  html[data-composition=photographe] .galerie-horizontale{height:calc(100svh + 85vw);padding-block:24px;view-timeline:--galerie block;--fenetre:100vw;--diapo:70vw}
  html[data-composition=photographe] .galerie-horizontale .galerie-fenetre{position:sticky;top:24px}
  html[data-composition=photographe] .galerie-horizontale .galerie-piste{display:flex;gap:24px;width:max-content;animation:galerie-traversee linear both;animation-timeline:--galerie;animation-range:contain 0% contain 100%}
  html[data-composition=photographe] .galerie-horizontale figure{flex:0 0 var(--diapo);width:var(--diapo);height:72svh;aspect-ratio:auto}
  html[data-composition=photographe] .galerie-horizontale picture{animation:none}
  @keyframes galerie-traversee{from{transform:translateX(0)}to{transform:translateX(calc(-100% + var(--fenetre)))}}
 }
}
@media(max-width:760px){
 html[data-composition] .editorial-tete{padding:18px 22px;min-height:66px;gap:16px;flex-wrap:wrap}
 html[data-editorial] .editorial-tete nav{gap:16px;flex-wrap:wrap}html[data-editorial] .editorial-tete nav a{font-size:11px}
 html[data-composition] .editorial-entree{padding:32px 24px}
 html[data-composition] .accroche{font-size:clamp(40px,12vw,58px);max-width:100%;line-height:1.06}
 html:is([data-composition=photographe],[data-composition=restaurant]) .editorial-entree:has(.entree-image){min-height:calc(100svh - 162px);padding:40px 24px 32px}
 html:is([data-composition=photographe],[data-composition=restaurant]) .editorial-entree:has(.entree-image) .entree-texte{gap:32px}
 html[data-composition=photographe] .editorial-entree:has(.entree-image) .coordonnees{display:block}
 html[data-composition=photographe] .coordonnees .actions{margin-top:14px}
 html[data-composition] .editorial-section{padding:56px 24px}
 html[data-composition=photographe] .galerie-metier{padding:12px 0 48px}.galerie-piste{gap:12px}
 html[data-composition=photographe] .liste-offres{display:block;margin-top:24px}
 html[data-composition=photographe] .liste-offres li{gap:16px;padding-block:24px}
 html[data-composition=photographe] .maison,html[data-composition=restaurant] .maison{display:block}
 html[data-composition=photographe] .presentation{font-size:25px}
 html[data-composition=plombier] .editorial-entree{display:block}
 html[data-composition=plombier] .entree-texte{gap:24px}
 html[data-composition=plombier] .entree-image{margin-top:32px;max-height:340px;aspect-ratio:4/3}
 html[data-composition=plombier] .liste-offres{margin-top:24px}
 html[data-composition=plombier] .liste-offres li{grid-template-columns:24px minmax(0,1fr);gap:16px;padding-block:24px}
 html[data-composition=plombier] .liste-offres .prix{grid-column:2}
 html[data-composition=plombier] .preuve{grid-template-columns:1fr 1fr;gap:12px}
 html[data-composition=plombier] .preuve figure:first-child{grid-column:1/-1;aspect-ratio:3/2}
 html[data-composition=restaurant] .editorial-main{display:block}
 html[data-composition=restaurant] .infos{border-left:0}
 html[data-composition=restaurant] .galerie-metier{padding:0}
 html[data-composition=restaurant] .galerie-piste{gap:6px}
 .carte-restaurant li{gap:16px;padding:18px 0}
 html[data-editorial][data-appel] body{height:100dvh;padding-bottom:0;overflow:hidden}
 html[data-editorial][data-appel] .page-site{height:calc(100dvh - 64px - env(safe-area-inset-bottom,0px));overflow-y:auto;overflow-x:clip;scroll-padding:16px 0}
 html[data-editorial][data-appel] .appel-mobile{height:calc(64px + env(safe-area-inset-bottom,0px))}
 html[data-editorial].mode-retouche .appel-mobile{display:none}html[data-editorial].mode-retouche .page-site{height:100dvh}
 @media(prefers-reduced-motion:no-preference){@supports(animation-timeline:view()) and (animation-range:contain 0% contain 100%){
  html[data-composition=photographe] .galerie-horizontale{height:calc(100svh + 120vw);padding:12px 0;--diapo:85vw}
  html[data-composition=photographe] .galerie-horizontale figure{height:62svh}
 }}
}
html[data-editorial][style*="overflow: hidden"] .page-site{overflow-y:hidden}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}html[data-composition] *,html[data-composition] *::before,html[data-composition] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
html[data-composition=restaurant] .editorial-entree:has(.entree-image) .surtitre{text-align:center}
@media(max-width:760px){
 html[data-composition] .editorial-tete nav{display:flex}
 html:is([data-composition=photographe],[data-composition=restaurant]) .editorial-entree:has(.entree-image){min-height:calc(100svh - 202px)}
}

/* (24/09) Les règles propres au style « Selon votre activité » (thème boutique) vivent dans signatures.css :
   la couverture, les tirages et la carte inclinés en relief qui étaient ici ont été retirés avec la refonte des démos. */
/* Le crédit reste attaché aux illustrations, dans les aperçus et les exports. */
html[data-editorial] figure[data-photo]{position:relative}
html[data-editorial] .illustration-legende{position:absolute;z-index:3;bottom:8px;right:8px;left:auto;max-width:calc(100% - 16px);padding:5px 9px;background:#fff;color:#161616;font:400 11px/1.4 Archivo,sans-serif;text-align:left}
html[data-editorial] .illustration-legende a{color:inherit}

/* Choix explicites de composition : les mêmes faits, un autre ordre et une autre grille.
   Classes partagées avec le panneau de styles pour conserver son aperçu immédiat. */
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier){--marge:clamp(24px,5vw,96px)}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-main{display:flex;flex-direction:column;padding:0}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-main>*{min-width:0;order:1}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-main>:is(.edition-note,.fait){order:-1}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-entree,
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-entree:has(.entree-image){order:0;display:grid;min-height:0;max-width:none;gap:6vw;padding:72px var(--marge);color:var(--encre);background:var(--fond);text-align:left;overflow:visible;align-items:center}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-entree:has(.entree-image)::after{content:none}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-entree:has(.entree-image) .entree-image,
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .entree-image{position:relative;inset:auto;z-index:auto;width:100%;height:auto;max-height:none;aspect-ratio:4/3;border-radius:0;margin:0;overflow:clip}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-entree:has(.entree-image) .entree-texte,
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .entree-texte{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:32px;width:100%;min-width:0}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-entree :is(.surtitre,.sous,.localisation){color:var(--encre)}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-entree .coordonnees{display:block;text-align:left;margin:0}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-entree .actions{justify-content:flex-start;margin-top:18px}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-entree .btn{background:var(--accent);color:var(--sur);border-color:var(--accent)}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-entree .manque-court{background:var(--fond2);color:var(--encre);border-color:var(--encre2)}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-section{margin:0;padding:80px var(--marge)}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .galerie-horizontale{height:auto}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .galerie-fenetre{position:static;height:auto;width:100%}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .galerie-piste{display:grid;width:100%;transform:none;animation:none}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) :is(.galerie-piste,.editorial-galerie,.preuve){grid-template-columns:1fr 1fr;gap:24px}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) :is(.galerie-piste,.editorial-galerie,.preuve) figure{grid-column:auto;flex:none;width:100%;height:auto;aspect-ratio:4/3;margin:0}
html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .infos{border-left:0}
/* Album : ouverture en regard, récit puis diptyques ; les offres viennent ensuite. */
html[data-editorial][data-composition].theme-table .editorial-entree:has(.entree-image){grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
html[data-editorial][data-composition].theme-table .accroche{font:400 clamp(44px,5.3vw,88px)/1.08 Fraunces,serif;letter-spacing:-.04em;max-width:18ch}
html[data-editorial][data-composition].theme-table .maison{order:1;display:block;max-width:none;background:var(--fond2)}
html[data-editorial][data-composition].theme-table .maison>p{max-width:48ch;font:400 clamp(22px,2.4vw,36px)/1.5 Fraunces,serif}
html[data-editorial][data-composition].theme-table :is(.galerie-metier,.editorial-galerie,.preuve){order:2}
html[data-editorial][data-composition].theme-table .prestations{order:3}
html[data-editorial][data-composition].theme-table .infos{order:4}
html[data-editorial][data-composition].theme-table .complements{order:5}
/* Affiche : titre et coordonnées en tête, photographie panoramique, offres prioritaires. */
html[data-editorial][data-composition].theme-atelier .editorial-entree:has(.entree-image){display:flex;flex-direction:column;align-items:stretch;gap:48px}
html[data-editorial][data-composition].theme-atelier .accroche{font:700 clamp(52px,8.3vw,138px)/.98 Archivo,sans-serif;letter-spacing:-.065em;max-width:18ch}
html[data-editorial][data-composition].theme-atelier .editorial-entree:has(.entree-image) .entree-texte{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);align-items:end;gap:8vw}
html[data-editorial][data-composition].theme-atelier .editorial-entree:has(.entree-image) .entree-image{aspect-ratio:2.4/1;max-height:540px}
html[data-editorial][data-composition].theme-atelier .prestations{order:1;background:var(--fond2)}
html[data-editorial][data-composition].theme-atelier .infos{order:2}
html[data-editorial][data-composition].theme-atelier :is(.galerie-metier,.editorial-galerie,.preuve){order:3}
html[data-editorial][data-composition].theme-atelier .maison{order:4}
html[data-editorial][data-composition].theme-atelier .complements{order:5}
@media(max-width:760px){
 html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-entree,
 html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-entree:has(.entree-image){display:flex;flex-direction:column;align-items:stretch;padding:32px 24px;gap:32px}
 html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-entree:has(.entree-image) .entree-texte{display:flex;align-items:flex-start;gap:24px}
 html[data-editorial][data-composition].theme-table .accroche{font-size:clamp(38px,11vw,52px)}
 html[data-editorial][data-composition].theme-atelier .accroche{font-size:clamp(44px,13vw,62px)}
 html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-section{padding:48px 24px}
 html[data-editorial][data-composition].theme-atelier .editorial-entree:has(.entree-image) .entree-image{aspect-ratio:1.7/1}
 html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) :is(.galerie-piste,.editorial-galerie,.preuve){gap:12px}
 html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .galerie-horizontale figure{height:auto}
}
html[data-editorial][data-composition].theme-atelier .maison{max-width:none;width:100%;grid-template-columns:1fr 2fr}
html[data-editorial][data-composition].theme-table :is(.galerie-piste,.editorial-galerie,.preuve) figure:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:2/1}
@media(min-width:761px){html[data-editorial][data-composition].theme-atelier :is(.galerie-piste,.editorial-galerie,.preuve){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){html[data-editorial][data-composition].theme-atelier :is(.galerie-piste,.editorial-galerie,.preuve) figure:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:2/1}}

html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) figure[data-photo]>picture{position:absolute;inset:0;width:100%;height:100%}
/* (24/09) Le geste principal est entré dans l'en-tête : sur téléphone, Album et Affiche gardent l'enseigne et ce geste sur une
   ligne ; les liens passent à la barre du bas, qui les portait déjà (la tête prenait sinon trois lignes). */
@media(max-width:760px){
 html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-tete{flex-wrap:nowrap}
 html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-tete nav{display:none}
 html[data-editorial][data-composition]:is(.theme-table,.theme-atelier) .editorial-tete .enseigne{flex:1 1 auto;min-width:0}
}
