/* polices */
/* latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_theme/fonts/barlow-condensed-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_theme/fonts/barlow-condensed-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_theme/fonts/barlow-condensed-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_theme/fonts/barlow-condensed-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_theme/fonts/barlow-condensed-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_theme/fonts/barlow-condensed-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_theme/fonts/inter-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_theme/fonts/inter-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_theme/fonts/inter-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_theme/fonts/inter-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_theme/fonts/inter-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_theme/fonts/inter-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ---- feuille de l accueil en ligne (04/11/2026), reprise telle quelle ---- */
:root{
  --encre:#0E0E0F; --encre-2:#191919; --encre-3:#232323;
  --blanc:#FCFCFC; --papier:#F2F1EE;
  --gris:#8A8A8E; --gris-clair:#D8D7D3;
  --rouge:#BD3323;
  --fold:56px;
  --dur:.7s; --ease:cubic-bezier(.2,.7,.2,1);
  --pad:clamp(20px,5vw,80px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--blanc); color:var(--encre);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:clamp(15px,1.05vw,17px); line-height:1.65; overflow-x:hidden;
}
img{max-width:100%; height:auto; display:block}
a{color:inherit}
h1,h2,h3,.cond{
  font-family:"Barlow Condensed",Inter,sans-serif;
  font-weight:700; text-transform:uppercase; line-height:.92;
  letter-spacing:.005em; margin:0;
}
:focus-visible{outline:2px solid var(--rouge); outline-offset:3px}
::selection{background:var(--encre); color:var(--blanc)}
.sombre-bloc ::selection,.manifeste ::selection,.parc ::selection,.temoin ::selection,footer ::selection,.panneau ::selection{background:var(--blanc); color:var(--encre)}
html{scrollbar-color:var(--gris) var(--papier); scrollbar-width:thin; scroll-behavior:smooth}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:var(--papier)}
::-webkit-scrollbar-thumb{background:var(--encre); border:3px solid var(--papier)}
a{text-underline-offset:.22em; text-decoration-thickness:1px}
.compteur,.coord,.inventaire{font-variant-numeric:tabular-nums}
input,textarea,select{caret-color:var(--rouge)}

/* ------- le geste : la carte au coin corné ------- */
.carte{position:relative; display:block}
.js .carte{--fold:0px}
.carte>.face{
  clip-path:polygon(0 0,100% 0,100% calc(100% - var(--fold)),calc(100% - var(--fold)) 100%,0 100%);
  position:relative; height:100%;
}
.carte::after{
  content:""; position:absolute; right:0; bottom:0;
  width:var(--fold); height:var(--fold);
  clip-path:polygon(100% 0,0 100%,100% 100%);
  background:var(--gris-clair);
  transition:width var(--dur) var(--ease), height var(--dur) var(--ease);
}
.carte.sombre::after{background:var(--encre-3)}
.carte:hover::after{width:calc(var(--fold) + 18px); height:calc(var(--fold) + 18px)}

/* ------- utilitaires ------- */
.wrap{max-width:1360px; margin-inline:auto; padding-inline:var(--pad)}
.us::after{content:"_"; color:var(--rouge); margin-left:.06em}
.lede{font-size:clamp(1.06rem,1.5vw,1.32rem); line-height:1.55; max-width:62ch}

/* ------- navigation : barre epuree ------- */
header{
  position:fixed; inset:0 0 auto 0; z-index:60; color:var(--blanc);
  display:flex; align-items:center; justify-content:space-between;
  gap:20px; padding:20px var(--pad);
  transition:background .35s var(--ease), padding .35s var(--ease);
}
header.pose{background:var(--encre); padding-block:13px}
.marque{display:block; text-decoration:none; line-height:0}
.marque .logo{
  width:clamp(52px,4.4vw,62px); height:auto; display:block;
  --logo-carte:var(--blanc); --logo-pli:#8E8E93; --logo-texte:var(--encre); --logo-texte-2:#5C5C61;
  transition:transform .4s var(--ease);
}
.marque:hover .logo{transform:translateY(-2px)}
.barre-actions{display:flex; align-items:center; gap:12px}
.nav-cta{
  display:inline-block; background:var(--blanc); color:var(--encre);
  padding:11px 20px; text-decoration:none;
  font-family:"Barlow Condensed",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.1em;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);
  transition:transform .3s var(--ease);
}
.nav-cta:hover{transform:translateY(-2px)}

/* le bouton menu : deux traits qui se croisent, coupe d'angle de la marque */
.btn-menu{
  display:inline-flex; align-items:center; gap:12px; cursor:pointer;
  background:transparent; color:inherit; border:0; padding:10px 18px;
  font-family:"Barlow Condensed",sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:.1em; font-size:1rem; position:relative;
}
.btn-menu::before{
  content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px currentColor;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);
  transition:background .3s var(--ease);
}
.btn-menu::after{
  content:""; position:absolute; right:0; bottom:0; width:12px; height:12px; pointer-events:none;
  background:linear-gradient(to top left,transparent 50%,currentColor 50%,currentColor calc(50% + 1px),transparent calc(50% + 1px));
}
.btn-menu:hover::before{background:rgba(252,252,252,.1)}
.btn-menu-traits{position:relative; display:block; width:20px; height:12px}
.btn-menu-traits i{
  position:absolute; left:0; width:100%; height:1.6px; background:currentColor;
  transition:transform .4s var(--ease), width .4s var(--ease);
}
.btn-menu-traits i:first-child{top:calc(50% - 3.8px)}
.btn-menu-traits i:last-child{top:calc(50% + 2.2px); width:62%}
.btn-menu:hover .btn-menu-traits i:last-child{width:100%}
.btn-menu[aria-expanded="true"] .btn-menu-traits i:first-child{transform:translateY(3px) rotate(45deg)}
.btn-menu[aria-expanded="true"] .btn-menu-traits i:last-child{width:100%; transform:translateY(-3px) rotate(-45deg)}

/* ------- panneau plein ecran ------- */
.panneau{
  position:fixed; inset:0; z-index:55; background:var(--encre); color:var(--blanc);
  display:flex; align-items:center;
  clip-path:inset(0 0 100% 0); pointer-events:none;
  transition:clip-path .72s var(--ease);
}
.panneau[data-ouvert="1"]{clip-path:inset(0 0 0 0); pointer-events:auto}
.panneau-in{
  width:100%; max-width:1360px; margin-inline:auto; padding:clamp(96px,12vh,140px) var(--pad) clamp(32px,6vh,64px);
  display:grid; gap:clamp(28px,4vw,72px); grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:center;
}
.panneau-nav ul{list-style:none; margin:0; padding:0}
.panneau-nav li{overflow:hidden}
.panneau-nav a{
  display:inline-block; text-decoration:none; padding-block:clamp(6px,1.1vh,14px);
  font-family:"Barlow Condensed",sans-serif; font-weight:700; text-transform:uppercase;
  font-size:clamp(2.4rem,6.4vw,5.4rem); line-height:1; letter-spacing:.005em;
  color:transparent; -webkit-text-stroke:1.2px var(--blanc);
  transition:color .45s var(--ease), transform .45s var(--ease), opacity .45s var(--ease);
}
.panneau-nav a:hover,.panneau-nav a:focus-visible{color:var(--blanc); transform:translateX(18px)}
.panneau-nav ul:hover a:not(:hover){opacity:.42}
.panneau-vue{position:relative}
.panneau-vue .carte{--fold:44px}
.panneau-vue img{width:100%; aspect-ratio:4/3; object-fit:cover; transition:opacity .35s var(--ease)}
.panneau-vue .carte::after{background:var(--gris)}
.panneau-pied{
  grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:10px 34px; align-items:center;
  border-top:1px solid rgba(252,252,252,.16); padding-top:22px; color:var(--gris);
  font-family:"Barlow Condensed",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.12em; font-size:.88rem;
}
.panneau-pied a{text-decoration:none; border-bottom:1px solid rgba(252,252,252,.24); padding-bottom:2px}
.panneau-pied a:hover{color:var(--blanc)}
.panneau-fermer{
  position:absolute; top:20px; right:var(--pad); width:46px; height:46px;
  background:transparent; border:0; cursor:pointer; color:var(--blanc);
}
.panneau-fermer span,.panneau-fermer span::after{
  position:absolute; left:11px; top:22px; width:24px; height:1.6px; background:currentColor;
}
.panneau-fermer span{transform:rotate(45deg)}
.panneau-fermer span::after{content:""; left:0; top:0; transform:rotate(-90deg)}
.panneau-fermer:hover{color:var(--rouge)}
/* le bouton Menu de la barre (au-dessus du panneau) sert déjà de croix : celui-ci reste pour le clavier et les lecteurs d'écran */
.panneau-fermer{clip-path:inset(50%); overflow:hidden}
.panneau-fermer:focus-visible{clip-path:none; top:auto; bottom:24px}

/* ------- hero ------- */
.hero{position:relative; min-height:100svh; display:flex; align-items:flex-end; color:var(--blanc); overflow:hidden}
.hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0}
.hero::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top,rgba(14,14,15,.9) 0%,rgba(14,14,15,.3) 46%,rgba(14,14,15,.58) 100%);
}
.hero .wrap{position:relative; z-index:2; width:100%; padding-block:clamp(56px,10vh,110px) clamp(40px,7vh,80px)}
.hero h1{font-size:clamp(2.6rem,7.6vw,6.8rem)}
.hero h1 .ligne{display:block; overflow:hidden; margin-bottom:-.1em}
.hero h1 .ligne i{display:block; font-style:normal; padding-bottom:.1em}
.js .hero h1 .ligne i{animation:monte 1.05s var(--ease) both}
.js .hero h1 .ligne:nth-child(1) i{animation-delay:.15s}
.js .hero h1 .ligne:nth-child(2) i{animation-delay:.24s}
.js .hero h1 .ligne:nth-child(3) i{animation-delay:.33s}
@keyframes monte{from{transform:translateY(108%)} to{transform:none}}
.js .hero img{animation:respire 2.2s var(--ease) both}
@keyframes respire{from{transform:scale(1.14)} to{transform:none}}
.hero .ephemere{color:transparent; -webkit-text-stroke:1.5px var(--blanc)}
.hero-bas{
  display:flex; flex-wrap:wrap; gap:24px 48px; align-items:flex-end;
  justify-content:space-between; margin-top:clamp(28px,4vh,52px);
  border-top:1px solid rgba(252,252,252,.22); padding-top:24px;
}
.hero-bas p{margin:0; max-width:44ch; color:var(--gris-clair)}
.bouton{
  display:inline-flex; align-items:center; gap:12px;
  background:var(--blanc); color:var(--encre); text-decoration:none;
  padding:16px 26px;
  font-family:"Barlow Condensed",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:1.02rem;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);
  transition:transform .3s var(--ease)
}
.bouton:hover{transform:translateY(-2px)}
.bouton.creux{background:transparent linear-gradient(to top left,transparent 50%,currentColor 50%,currentColor calc(50% + 1px),transparent calc(50% + 1px)) no-repeat right bottom/16px 16px; color:var(--blanc); box-shadow:inset 0 0 0 1px currentColor}

/* ------- manifeste ------- */
.manifeste{background:var(--encre); color:var(--blanc); padding-block:clamp(70px,11vw,160px)}
.manifeste p{
  font-family:"Barlow Condensed",sans-serif; font-weight:600; text-transform:uppercase;
  font-size:clamp(1.8rem,4.6vw,4.2rem); line-height:1.02; margin:0; max-width:22ch;
}
.manifeste p em{font-style:normal; color:var(--gris)}
.manifeste .socle{
  display:grid; gap:28px 56px; grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  margin-top:clamp(40px,6vw,80px); border-top:1px solid rgba(252,252,252,.16); padding-top:36px;
}
.manifeste .socle h3{font-size:1.28rem; margin-bottom:8px}
.manifeste .socle p{font-family:Inter,sans-serif; font-weight:400; text-transform:none; font-size:.98rem; line-height:1.6; color:var(--gris-clair); max-width:38ch}

/* ------- deux jambes ------- */
.jambes{padding-block:clamp(70px,10vw,140px)}
.jambes .tete{display:flex; flex-wrap:wrap; gap:20px 60px; align-items:end; justify-content:space-between; margin-bottom:clamp(32px,5vw,60px)}
.jambes h2{font-size:clamp(2.1rem,5.4vw,4.6rem)}
.duo{display:grid; gap:clamp(18px,2.4vw,32px); grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.jambe .face{background:var(--encre); color:var(--blanc); display:flex; flex-direction:column}
.jambe figure{margin:0; position:relative; aspect-ratio:16/10; overflow:hidden}
.jambe figure img{width:100%; height:100%; object-fit:cover}
.jambe .txt{padding:clamp(24px,2.6vw,38px) clamp(24px,2.6vw,38px) clamp(44px,4vw,64px)}
.jambe h3{font-size:clamp(1.6rem,2.7vw,2.5rem); margin-bottom:12px}
.jambe p{color:var(--gris-clair); margin:0 0 18px; max-width:46ch}
.jambe ul{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px}
.jambe li{
  font-family:"Barlow Condensed",sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:.08em; font-size:.84rem; color:var(--gris-clair);
  border:1px solid rgba(252,252,252,.24); padding:5px 11px;
}

/* ------- mur de references ------- */
.mur{background:var(--papier); padding-block:clamp(70px,10vw,140px)}
.mur .tete{margin-bottom:clamp(30px,4vw,50px)}
.mur h2{font-size:clamp(1.9rem,4.4vw,3.6rem); max-width:20ch}
.noms{
  display:flex; flex-wrap:wrap; gap:6px 0; align-items:baseline;
  font-family:"Barlow Condensed",sans-serif; font-weight:700; text-transform:uppercase;
  font-size:clamp(1.5rem,4.6vw,3.4rem); line-height:1.06;
}
.noms span{display:inline-block; padding-right:.42em}
.noms span::after{content:"·"; color:var(--rouge); margin-left:.36em; font-weight:500}
.noms span:last-child::after{content:""}
.mur .note{margin-top:28px; color:var(--gris); font-size:.94rem; max-width:60ch}

/* ------- galerie ------- */
.galerie{padding-block:clamp(70px,10vw,140px)}
.galerie-in{display:grid; gap:clamp(28px,4vw,64px); grid-template-columns:minmax(0,3fr) minmax(0,9fr); align-items:start}
.galerie-tete{position:sticky; top:clamp(96px,14vh,150px)}
.galerie-tete h2{font-size:clamp(1.8rem,3.2vw,2.9rem); margin-bottom:16px}
.galerie-tete p{margin:0; color:#55555A; max-width:34ch}
@media (max-width:1000px){
  .galerie-in{grid-template-columns:1fr}
  .galerie-tete{position:static}
}
.grille{display:grid; gap:clamp(12px,1.6vw,22px); grid-template-columns:repeat(12,1fr)}
.grille figure{margin:0; position:relative; overflow:hidden}
.grille img{width:100%; height:100%; object-fit:cover}
.grille figcaption{
  position:absolute; left:0; bottom:0; background:var(--blanc); color:var(--encre);
  font-family:"Barlow Condensed",sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:.1em; font-size:.8rem; padding:7px 14px;
}
.g-a{grid-column:span 7; aspect-ratio:3/2}
.g-b{grid-column:span 5; aspect-ratio:15/14}
.g-c{grid-column:span 4; aspect-ratio:4/5}
.g-d{grid-column:span 4; aspect-ratio:4/5}
.g-e{grid-column:span 4; aspect-ratio:4/5}
.g-f{grid-column:span 6; aspect-ratio:16/10}
.g-g{grid-column:span 6; aspect-ratio:16/10}

/* ------- le parc ------- */
.parc{background:var(--encre); color:var(--blanc); padding-block:clamp(70px,10vw,140px); overflow:hidden}
.parc h2{font-size:clamp(2rem,5vw,4.2rem); max-width:18ch; margin-bottom:18px}
.parc .lede{color:var(--gris-clair); margin-bottom:clamp(36px,5vw,64px)}
.vans{display:grid; gap:clamp(16px,2vw,30px); grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.van figure{margin:0 0 16px; aspect-ratio:1/1; overflow:hidden; background:var(--encre-2)}
.van img{width:100%; height:100%; object-fit:cover}
.van h3{font-size:1.4rem; margin-bottom:6px}
.van p{margin:0; color:var(--gris); font-size:.95rem}
.inventaire{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:clamp(36px,5vw,60px);
  border-top:1px solid rgba(252,252,252,.16); padding-top:32px;
}
.inventaire span{
  font-family:"Barlow Condensed",sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:.08em; font-size:.88rem; color:var(--gris-clair);
  border:1px solid rgba(252,252,252,.2); padding:6px 12px;
}

/* ------- catalogue ------- */
.catalogue{padding-block:clamp(70px,10vw,140px)}
.catalogue .tete{display:flex; flex-wrap:wrap; gap:24px 60px; align-items:end; justify-content:space-between; margin-bottom:clamp(34px,5vw,60px)}
.catalogue h2{font-size:clamp(2rem,5vw,4.2rem); max-width:16ch}
.compteur{font-family:"Barlow Condensed",sans-serif; font-weight:700; line-height:.8; font-size:clamp(4.5rem,13vw,11rem)}
.compteur small{display:block; font-size:.13em; letter-spacing:.22em; color:var(--gris); line-height:1.6; font-weight:600}
.familles{display:grid; gap:clamp(12px,1.6vw,20px); grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.famille .face{background:var(--papier); padding:26px 26px 46px; height:100%}
.famille h3{font-size:1.42rem; margin-bottom:10px}
.famille p{margin:0; font-size:.95rem; color:#55555A}
.famille .carte::after{background:var(--gris-clair)}
.catalogue .pied{margin-top:clamp(32px,4vw,52px); display:flex; flex-wrap:wrap; gap:20px 40px; align-items:center; justify-content:space-between}
.catalogue .pied p{margin:0; color:var(--gris); max-width:52ch}
.bouton.encre{background:var(--encre); color:var(--blanc)}

/* ------- after party ------- */
.after{background:var(--rouge); color:var(--blanc); padding-block:clamp(56px,8vw,110px)}
.after .inner{display:grid; gap:28px 60px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); align-items:start}
.after h2{font-size:clamp(1.9rem,4.6vw,3.6rem)}
.after p{margin:0; max-width:52ch; color:rgba(252,252,252,.92)}

/* ------- valeurs ------- */
.valeurs{padding-block:clamp(70px,10vw,140px)}
.valeurs h2{font-size:clamp(1.9rem,4.4vw,3.4rem); margin-bottom:clamp(28px,4vw,48px)}
.valeur{border-top:1px solid var(--gris-clair)}
.valeur:last-child{border-bottom:1px solid var(--gris-clair)}
.valeur summary{
  list-style:none; cursor:pointer; padding:26px 0;
  display:flex; align-items:baseline; gap:20px;
  font-family:"Barlow Condensed",sans-serif; font-weight:700; text-transform:uppercase;
  font-size:clamp(1.6rem,3.6vw,2.8rem); line-height:1;
}
.valeur summary::-webkit-details-marker{display:none}
.valeur summary::after{content:"+"; margin-left:auto; color:var(--rouge); font-weight:500}
.valeur[open] summary::after{content:"-"}
.valeur .num{font-size:.42em; color:var(--gris); letter-spacing:.1em}
.valeur .corps{padding:0 0 28px; max-width:68ch; color:#4A4A4E}

/* ------- temoignage ------- */
.temoin{background:var(--encre); color:var(--blanc); padding-block:clamp(64px,9vw,130px)}
.temoin blockquote{
  margin:0; font-family:"Barlow Condensed",sans-serif; font-weight:500; text-transform:none;
  font-size:clamp(1.35rem,3.1vw,2.5rem); line-height:1.24; max-width:26ch;
}
.temoin .qui{margin-top:26px; color:var(--gris); font-size:.95rem}
.temoin .qui b{display:block; color:var(--blanc); font-family:"Barlow Condensed",sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:1.08rem; font-weight:700}

/* ------- contact ------- */
.contact{padding-block:clamp(70px,10vw,140px)}
.contact .inner{display:grid; gap:clamp(36px,5vw,80px); grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.contact h2{font-size:clamp(2rem,5vw,4rem); max-width:14ch; margin-bottom:20px}
.coord{list-style:none; margin:28px 0 0; padding:0}
.coord li{border-top:1px solid var(--gris-clair); padding:14px 0; display:flex; gap:16px; align-items:baseline}
.coord .k{font-family:"Barlow Condensed",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.12em; font-size:.82rem; color:var(--gris); min-width:96px}
.coord a{text-decoration:none; border-bottom:1px solid var(--gris-clair)}
form{display:grid; gap:16px}
.champ{display:grid; gap:7px}
label{font-family:"Barlow Condensed",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.12em; font-size:.82rem; color:var(--gris)}
input,textarea,select{
  font:inherit; color:inherit; background:var(--papier);
  border:1px solid transparent; border-bottom-color:var(--gris-clair);
  padding:13px 14px; width:100%;
}
input:focus,textarea:focus,select:focus{outline:2px solid var(--encre); outline-offset:1px}
textarea{min-height:130px; resize:vertical}
.deux{display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
form .bouton{border:0; cursor:pointer; justify-self:start; font-size:1rem}
.mention{color:var(--gris); font-size:.86rem; margin:0}

/* ------- footer ------- */
footer{background:var(--encre); color:var(--gris-clair)}
footer a{text-decoration:none}
footer a:hover{color:var(--blanc)}
footer ul{list-style:none; margin:0; padding:0}
footer .sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.pied-appel{background:var(--rouge); color:var(--blanc); padding-block:clamp(44px,6vw,84px); clip-path:polygon(0 0,100% 0,100% calc(100% - var(--fold)),calc(100% - var(--fold)) 100%,0 100%)}
.pied-appel-in{display:grid; gap:26px 60px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:end; padding-bottom:calc(var(--fold) * .5)}
.pied-appel h2{font-size:clamp(2.2rem,5.4vw,4.6rem); max-width:16ch}
.pied-appel h2.us::after{color:var(--encre)}
.pied-appel p{margin:0 0 24px; max-width:48ch; color:rgba(252,252,252,.94); font-size:1.05rem}
.pied-appel-actions{display:flex; flex-wrap:wrap; align-items:center; gap:14px 30px}
.pied-appel .bouton{background:var(--blanc); color:var(--encre)}
.pied-appel-tel{
  display:inline-flex; align-items:center; min-height:44px; color:var(--blanc);
  font-family:"Barlow Condensed",sans-serif; font-weight:700; font-size:1.5rem; letter-spacing:.04em;
  border-bottom:2px solid rgba(252,252,252,.55)
}
.pied-appel-tel:hover{border-bottom-color:var(--encre); color:var(--encre)}
.pied-appel :focus-visible{outline-color:var(--blanc)}
.pied-grille{
  display:grid; gap:40px clamp(30px,5vw,80px); padding-block:clamp(48px,6vw,84px) 0;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.3fr); align-items:start;
}
footer .marque{color:var(--blanc)}
footer .marque .logo{width:74px}
.pied-signature{margin:20px 0 0; max-width:30ch; color:var(--gris-clair); line-height:1.5}
.pied-reseaux{display:flex; flex-wrap:wrap; gap:0 22px; margin-top:14px !important}
.pied-reseaux a{display:inline-flex; align-items:center; min-height:44px}
.pied-titre{
  margin:0 0 16px; color:var(--blanc); font-family:"Barlow Condensed",sans-serif; font-weight:700;
  text-transform:uppercase; letter-spacing:.14em; font-size:1rem; display:flex; align-items:center; gap:10px;
}
.pied-titre::before{content:""; width:18px; height:2px; background:var(--rouge)}
.pied-col nav ul,.pied-col ul{display:flex; flex-direction:column; gap:0}
.pied-col li a{display:inline-flex; align-items:center; min-height:40px; transition:color .2s, transform .3s var(--ease)}
.pied-col li a:hover{transform:translateX(4px)}
footer .pied-coord p{margin:0}
footer .pied-coord p a{display:inline-flex; align-items:center; min-height:40px}
footer .pied-coord p.adresse{margin-top:10px; color:var(--gris-clair)}
footer .pied-coord p.horaires{margin-top:10px; color:var(--gris); font-size:.92rem; line-height:1.55}
footer .bas{
  margin-top:clamp(40px,5vw,64px); border-top:1px solid rgba(252,252,252,.16); padding-block:20px 26px;
  display:flex; flex-wrap:wrap; gap:4px 30px; justify-content:space-between; align-items:center;
  font-size:.86rem; color:var(--gris-clair);
}
footer .bas a{display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(252,252,252,.4)}
footer .bas a:hover{text-decoration-color:currentColor}
footer :focus-visible{outline-color:var(--blanc)}
@media (max-width:900px){
  .pied-appel-in{grid-template-columns:1fr}
  .pied-grille{grid-template-columns:1fr 1fr}
  .pied-marque{grid-column:1 / -1}
}
@media (max-width:600px){
  .pied-grille{grid-template-columns:1fr; gap:34px}
  .pied-appel .bouton{width:100%; justify-content:center}
  footer .bas{flex-direction:column; align-items:flex-start}
}

/* ------- bande defilante ------- */
.bande{
  background:var(--encre); color:var(--blanc); overflow:hidden;
  border-block:1px solid rgba(252,252,252,.14); padding-block:clamp(14px,1.6vw,24px);
}
.bande .piste{display:flex; width:max-content; animation:defile 34s linear infinite}
.bande.inverse .piste{animation-direction:reverse}
.bande span{
  font-family:"Barlow Condensed",sans-serif; font-weight:700; text-transform:uppercase;
  font-size:clamp(1.6rem,4.4vw,3.4rem); line-height:1; padding-right:.42em; white-space:nowrap;
}
.bande span.creuse{color:transparent; -webkit-text-stroke:1.2px var(--blanc)}
.bande span::after{content:"·"; color:var(--rouge); margin-left:.34em; font-weight:500}
@keyframes defile{from{transform:translate3d(0,0,0)} to{transform:translate3d(-50%,0,0)}}
.bande:hover .piste{animation-play-state:paused}

/* mur de references en bandes defilantes */
.mur .bande{background:transparent; color:var(--encre); border-color:var(--gris-clair)}
.mur .bande span.creuse{-webkit-text-stroke-color:var(--encre)}
.mur .bandes{margin-block:clamp(24px,3vw,40px); width:100vw; margin-left:calc(50% - 50vw)}
.sr-noms{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap}

/* ------- mots reveles ------- */
.js .mot-msk{display:inline-block; overflow:hidden; vertical-align:top}
.js .mot-msk>i{display:inline-block; font-style:inherit; will-change:transform}

/* ------- parallaxe ------- */
.par{overflow:hidden}
.par>img{will-change:transform}

/* ------- indice de scroll ------- */
.hint{
  position:absolute; right:calc(var(--pad) - 4px); top:50%; transform:translateY(-50%); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:16px; color:var(--gris-clair);
  font-family:"Barlow Condensed",sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:.22em; font-size:.74rem;
}
.hint>span:first-child{writing-mode:vertical-rl}
.hint .rail{display:block; width:1px; height:72px; background:rgba(252,252,252,.3); position:relative; overflow:hidden}
.hint .rail::after{content:""; position:absolute; inset:0 auto auto 0; width:1px; height:18px; background:var(--blanc); animation:glisse 2.1s var(--ease) infinite}
@keyframes glisse{0%{transform:translateY(-24px)} 60%,100%{transform:translateY(72px)}}

@media (max-width:900px){ .hint{display:none} }
@media (prefers-reduced-motion:reduce){
  .bande .piste{animation:none}
  .hint .rail::after{animation:none}
}

/* ------- reveals (fallback sans JS = tout visible) ------- */
.js .rvl{opacity:0; transform:translateY(26px)}

@media (max-width:900px){
  :root{--fold:38px}
  .nav-cta{display:none}
  .panneau-in{grid-template-columns:1fr; align-content:center; gap:26px; padding-top:clamp(88px,14vh,120px)}
  .panneau-vue{display:none}
  .panneau-nav a{-webkit-text-stroke-width:.9px; font-size:clamp(2.6rem,9vw,3.6rem); padding-block:clamp(8px,1.4vh,16px)}
  .hint{display:none}
  .g-a,.g-b,.g-c,.g-d,.g-e,.g-f,.g-g{grid-column:span 12}
  .g-c,.g-d,.g-e{aspect-ratio:3/2}
}
@media (max-width:620px){
  .hero-bas{flex-direction:column; align-items:flex-start}
  .coord li{flex-direction:column; gap:2px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important; transition-duration:.01ms !important}
  .js .hero h1 .ligne i,.js .hero img{animation:none}
  .js .rvl{opacity:1; transform:none}
}

/* =====================================================================
   Ajouts du passage au gestionnaire de contenu. Ne modifient pas le rendu de l'accueil,
   sauf : liens « suite » vers les nouvelles pages et menu à 8 entrées.
   ===================================================================== */

/* anciens styles en ligne de l'accueil, devenus des classes (la CSP refuse les styles en ligne) */
.logo-defs{position:absolute}
.hero-boutons{display:flex; gap:14px; flex-wrap:wrap}
/* pot de miel du formulaire (lead_form_fields du noyau) : hors écran */
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}

/* menu plein écran : huit entrées tiennent dans la hauteur de l'écran */
.panneau{overflow-y:auto}
.panneau-nav a{font-size:clamp(2.1rem,min(6.4vw,7.4vh),5.4rem)}
.panneau-nav a[aria-current="page"]{color:var(--blanc)}
@media (max-width:900px){
  .panneau-nav a{font-size:clamp(2rem,min(9vw,5.6vh),3.6rem); padding-block:clamp(6px,1.1vh,14px)}
}

/* lien « suite » vers une page détaillée : condensé, souligné, tiret bas rouge de la marque */
a.suite{
  display:inline-block; text-decoration:none; color:inherit;
  font-family:"Barlow Condensed",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:.95rem;
  border-bottom:1px solid currentColor; padding-bottom:3px; transition:color .3s var(--ease), border-color .3s var(--ease);
}
a.suite::after{content:"_"; color:var(--rouge); margin-left:.12em}
a.suite:hover{color:var(--rouge); border-color:var(--rouge)}
.jambe .txt .suite{margin-top:22px; color:var(--blanc)}
.mur-lien,.parc-lien,.after-lien,.reals-lien{margin:28px 0 0}
.parc .suite,.after .suite{color:var(--blanc)}
.after .suite::after{color:var(--blanc)}
.after .suite:hover{color:var(--encre); border-color:var(--encre)}
.catalogue .pied-actions{display:flex; flex-wrap:wrap; gap:18px 28px; align-items:center}

/* pages intérieures sans ouverture photo (blog, mentions, 404, merci) : l'en-tête part foncé */
.sans-hero header{background:var(--encre); padding-block:13px}
.sans-hero main{padding-top:clamp(96px,11vw,124px)}

/* ouverture des pages intérieures : le hero de l'accueil, en plus court */
.hero-page{min-height:min(78svh,760px)}
.hero-page h1{font-size:clamp(2.4rem,6.6vw,5.8rem)}
.hero-page .hero-bas p{max-width:52ch}
.hero-page.sans-image{background:var(--encre)}
.hero-page.sans-image::after{display:none}
.hero-fiche{min-height:min(70svh,680px)}
.hero-fiche h1{font-size:clamp(2.2rem,5.6vw,4.8rem)}
.ariane{font-family:"Barlow Condensed",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.14em; font-size:.82rem; color:var(--gris-clair); margin-bottom:22px}
.ariane a{text-decoration:none; border-bottom:1px solid rgba(252,252,252,.3)}
.ariane a:hover{color:var(--blanc)}

/* fonds de section */
.fond-papier{background:var(--papier)}
.fond-sombre{background:var(--encre); color:var(--blanc)}
.fond-sombre ::selection{background:var(--blanc); color:var(--encre)}

/* section texte et photo */
.section-cb{padding-block:clamp(70px,10vw,140px)}
.section-in{display:grid; gap:clamp(32px,5vw,80px); align-items:center}
.avec-image .section-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.image-gauche .section-img{order:-1}
.section-cb h2{font-size:clamp(2rem,4.8vw,4rem); max-width:18ch; margin-bottom:24px}
.section-img .face{background:var(--encre)}
.section-img figure{margin:0; aspect-ratio:4/3; overflow:hidden}
.section-img img{width:100%; height:100%; object-fit:cover}
.etiquettes{list-style:none; margin:28px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px}
.etiquettes li{
  font-family:"Barlow Condensed",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.08em; font-size:.86rem;
  border:1px solid var(--gris-clair); padding:6px 12px; color:#4A4A4E;
}
.fond-sombre .etiquettes li{border-color:rgba(252,252,252,.24); color:var(--gris-clair)}
@media (max-width:900px){
  .avec-image .section-in{grid-template-columns:1fr}
  .image-gauche .section-img{order:0}
}

/* texte courant mis en forme (sections, fiches, mentions, articles) */
.texte{max-width:68ch}
.texte p{margin:0 0 16px}
.texte h2{font-size:clamp(1.6rem,3vw,2.3rem); margin:40px 0 14px; line-height:1}
.texte h3{font-size:1.4rem; margin:30px 0 10px; line-height:1.05}
.texte ul,.texte ol{padding-left:1.2em; margin:0 0 18px}
.texte li{margin:0 0 8px}
.texte li::marker{color:var(--rouge)}
.texte strong{font-weight:600}
.texte a{text-decoration:underline; text-decoration-color:var(--rouge)}
.texte blockquote{margin:28px 0; padding:4px 0 4px 22px; border-left:3px solid var(--rouge); font-size:1.12em}

/* cartes au coin corné (formats) : la grille des familles du catalogue */
.formats{padding-block:clamp(70px,10vw,140px)}
.formats .tete{display:flex; flex-wrap:wrap; gap:20px 60px; align-items:end; justify-content:space-between; margin-bottom:clamp(32px,5vw,56px)}
.formats h2{font-size:clamp(2rem,5vw,4.2rem); max-width:16ch}
.fond-papier .famille .face{background:var(--blanc)}
.fond-sombre .famille .face{background:var(--encre-2); color:var(--blanc)}
.fond-sombre .famille p{color:var(--gris-clair)}
.fond-sombre .carte::after{background:var(--encre-3)}
.famille-lien{margin:18px 0 0}

/* appel à l'action */
.cta-cb{padding-block:clamp(56px,8vw,110px); color:var(--blanc)}
.cta-cb.fond-encre{background:var(--encre)}
.cta-cb.fond-rouge{background:var(--rouge)}
.cta-cb .inner{display:grid; gap:28px 60px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); align-items:start}
.cta-cb h2{font-size:clamp(1.9rem,4.6vw,3.6rem); max-width:16ch}
.cta-cb p{margin:0 0 24px; max-width:52ch; color:rgba(252,252,252,.88)}
.cta-cb.fond-rouge .bouton{background:var(--blanc); color:var(--encre)}
.cta-cb ::selection{background:var(--blanc); color:var(--encre)}

/* FAQ des pages d'offre : habillage des valeurs de l'accueil */
.faq .corps p{margin:0 0 12px}
.faq .corps p:last-child{margin:0}

/* réalisations : cartes et fiches */
.realisations{padding-block:clamp(70px,10vw,140px)}
.realisations .tete{margin-bottom:clamp(32px,5vw,56px)}
.realisations h2{font-size:clamp(2rem,5vw,4.2rem); max-width:18ch; margin-bottom:18px}
.reals{display:grid; gap:clamp(18px,2.4vw,32px); grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
a.real{text-decoration:none; color:inherit}
.real .face{background:var(--encre); color:var(--blanc); display:flex; flex-direction:column}
.real figure{margin:0; aspect-ratio:16/10; overflow:hidden}
.real figure img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease)}
.real:hover figure img{transform:scale(1.03)}
.real .txt{padding:clamp(22px,2.4vw,32px) clamp(22px,2.4vw,32px) clamp(42px,4vw,58px)}
.real h3{font-size:clamp(1.4rem,2.2vw,1.9rem); margin-bottom:10px}
.real p{margin:0; color:var(--gris-clair); font-size:.96rem}
.real .real-meta{font-family:"Barlow Condensed",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.12em; font-size:.8rem; color:var(--gris); margin-bottom:10px}
.fiche-corps{padding-block:clamp(60px,8vw,120px)}
.fiche-in{display:grid; gap:clamp(32px,5vw,80px); grid-template-columns:minmax(0,8fr) minmax(0,4fr); align-items:start}
.fiche-infos{position:sticky; top:110px}
.fiche-infos .coord{margin:0}
.fiche-galerie{padding-top:0}
.fiche-galerie .grille{grid-template-columns:repeat(12,1fr)}
.fiche-nav{border-top:1px solid var(--gris-clair)}
.fiche-nav-in{display:grid; grid-template-columns:1fr 1fr; gap:24px}
.fiche-nav-lien{display:block; text-decoration:none; padding-block:34px}
.fiche-nav-lien.suiv{text-align:right}
.fiche-nav-lien .k{display:block; font-family:"Barlow Condensed",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.12em; font-size:.82rem; color:var(--gris)}
.fiche-nav-lien .t{display:block; font-family:"Barlow Condensed",sans-serif; font-weight:700; text-transform:uppercase; font-size:clamp(1.3rem,2.4vw,2rem); line-height:1; margin-top:8px}
.fiche-nav-lien:hover .t{color:var(--rouge)}
@media (max-width:900px){
  .fiche-in{grid-template-columns:1fr}
  .fiche-infos{position:static}
  .fiche-nav-in{grid-template-columns:1fr}
  .fiche-nav-lien.suiv{text-align:left}
}

/* pages de texte (mentions légales) */
.wrap.etroit{max-width:880px}
.page-texte{padding-block:clamp(40px,6vw,80px) clamp(70px,10vw,120px)}
.page-texte h1,.blog-tete h1,.simple h1{font-size:clamp(2.6rem,8vw,5.2rem); line-height:.95; margin:0 0 40px}
.tiret{color:var(--rouge)}
.page-texte .texte{max-width:none}
.page-texte .texte h2{font-size:26px; line-height:1.1; letter-spacing:.02em; margin:48px 0 12px; padding-top:28px; border-top:1px solid #DDDCD8}
.page-texte .texte p{margin:0 0 12px}

/* blog : liste et article, sur le modèle du blog statique en ligne */
.blog-tete{padding-block:clamp(40px,6vw,72px) 28px}
.blog-tete h1{margin:0}
.blog-tete .intro{font-size:clamp(1.06rem,1.4vw,1.25rem); max-width:720px; color:#5E5E62; margin:22px 0 0}
.blog-liste{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr)); gap:36px; padding-block:20px clamp(70px,9vw,110px)}
a.billet{text-decoration:none; display:block; color:inherit}
.billet img{width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .5s var(--ease); clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
.billet:hover img{transform:scale(1.02)}
.billet h2{font-size:clamp(1.6rem,2.4vw,1.9rem); line-height:1.02; margin:18px 0 8px}
.billet .date{font-size:.88rem; margin:0 0 6px; color:#5E5E62}
.billet p{margin:0; color:#5E5E62; font-size:.96rem}
.pagination{display:flex; gap:12px; padding-bottom:60px}
.article-tete{padding-block:clamp(40px,6vw,72px) 28px}
.article-tete h1{font-size:clamp(2.4rem,6.4vw,4.6rem); line-height:.98}
.article-tete .meta{color:#5E5E62; font-size:.94rem; margin:22px 0 0}
.visuel{margin:0 0 clamp(36px,5vw,56px)}
.visuel img{width:100%; height:clamp(240px,42vw,520px); object-fit:cover; clip-path:polygon(0 0,100% 0,100% calc(100% - 34px),calc(100% - 34px) 100%,0 100%)}
.article-corps{font-size:clamp(16px,1.1vw,18px); line-height:1.7; padding-bottom:clamp(60px,8vw,100px)}
.article-corps .texte{max-width:none}
.article-corps .texte h2{font-size:clamp(1.8rem,3.4vw,2.4rem); line-height:1.05; letter-spacing:.01em; margin:56px 0 14px}
.article-corps .texte h3{font-size:1.5rem; line-height:1.15; margin:34px 0 10px}
.article-corps .texte>blockquote:first-child{
  background:var(--papier); border:0; padding:26px 28px 12px; margin:0 0 40px; font-size:1em;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);
}
.article-corps .texte>blockquote:first-child ul{margin-bottom:10px}
.appel{background:var(--encre); color:var(--blanc); margin-top:70px; padding:clamp(34px,5vw,56px); clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%)}
.appel p{font-family:"Barlow Condensed",sans-serif; font-weight:600; text-transform:uppercase; font-size:clamp(1.6rem,3vw,2.1rem); line-height:1.1; margin:0 0 22px}
.appel ::selection{background:var(--blanc); color:var(--encre)}
.lies{border-top:1px solid var(--gris-clair); margin-top:56px; padding-top:28px}
.lies h2{font-size:1.6rem; margin-bottom:12px}
.lies ul{padding-left:1.2em; margin:0}

/* pages simples (404, merci) */
.simple{padding-block:clamp(40px,6vw,80px) clamp(80px,12vw,160px)}
.simple p{max-width:60ch; margin:0 0 24px}

/* contenu riche dans les cartes, intertitres des mentions, accroche des pages d'offre, fil d'Ariane sur fond clair */
.famille-texte p{margin:0 0 10px; font-size:.95rem; color:#55555A}
.famille-texte p:last-child{margin:0}
.famille-texte a{text-decoration-color:var(--rouge)}
.fond-sombre .famille-texte p{color:var(--gris-clair)}
.page-texte h2{font-size:26px; line-height:1.1; letter-spacing:.02em; margin:48px 0 12px; padding-top:28px; border-top:1px solid #DDDCD8}
.page-texte .texte p{margin:0 0 12px}
.section-cb:not(.avec-image) .section-txt>.texte:first-child{font-size:clamp(1.12rem,1.6vw,1.4rem); line-height:1.55; max-width:62ch}
.section-cb:not(.avec-image) .section-txt>.texte:first-child p{margin:0}
.section-cb .texte p:last-child{margin-bottom:0}
.fond-sombre .texte a{color:var(--blanc)}
.ariane-claire{color:#5E5E62}
.ariane-claire a{border-bottom-color:var(--gris-clair)}
.ariane-claire a:hover{color:var(--encre)}
.cta-cb .us::after{color:var(--blanc)}
.cta-cb.fond-encre .us::after{color:var(--rouge)}
/* réalisation sans photo : le logo sur l'encre, même cadre que les autres cartes */
.real figure.vide{display:flex; align-items:center; justify-content:center; background:var(--encre-2)}
.real figure.vide .logo{width:22%; height:auto; opacity:.5; --logo-carte:var(--encre-3); --logo-pli:#3A3A3E; --logo-texte:var(--gris); --logo-texte-2:#5C5C61}
/* fiche sans récit : les informations en bandeau ; galerie d'une seule photo en pleine largeur */
.fiche-in.sans-texte{grid-template-columns:minmax(0,1fr)}
.fiche-in.sans-texte .fiche-infos{position:static; max-width:640px}
.g-seul{grid-column:span 12; aspect-ratio:16/9}
/* blog et mentions : mesures du blog statique en ligne (colonne de 760 px, corps 18 px ; mentions 820 px, 17 px) */
main.blog .wrap{max-width:1180px; padding-inline:24px}
main.blog .wrap.etroit{max-width:808px}
main.blog .article-corps{font-size:18px}
.page-texte .wrap.etroit{max-width:820px; padding-inline:24px}
.page-texte{font-size:17px}
/* pages courtes (404, merci) : le pied de page reste collé en bas de l'écran */
body.sans-hero{min-height:100vh; min-height:100svh; display:flex; flex-direction:column}
body.sans-hero>main{flex:1 0 auto}
/* menu plein écran : la première entrée garde de l'air sous la barre (1440 x 900) */
.panneau-in{padding-top:clamp(128px,16vh,170px)}
.panneau-nav a{font-size:clamp(2.1rem,min(6.4vw,6.4vh),5.4rem)}
@media (max-width:900px){ .panneau-in{padding-top:clamp(88px,14vh,120px)} }
