
@font-face{
  font-family:'PoliceTitre';
  font-style:normal;
  font-weight:700;          /* le fichier servi EST le poids 700 : on ne demande jamais autre chose,
                               sinon le navigateur fabrique un faux gras par-dessus un gras. */
  font-display:swap;
  src:url('police-titre.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;
}
@font-face{
  font-family:'PoliceLibelle';
  font-style:normal;
  font-weight:400 600;      /* un seul fichier, mais couvert de 400 à 600 : aucune graisse
                               synthétique n'est fabriquée dans cette plage. */
  font-display:swap;
  src:url('police-libelle.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;
}

:root{
  --police-titre:'PoliceTitre',Rockwell,"Roboto Slab","Bookman Old Style",Georgia,serif;
  --police-libelle:'PoliceLibelle',"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;

  --suie:#140D06;          /* le noir de suie, chaud */
  --suie-2:#1E1409;
  --four:#23160A;          /* le panneau du four, et l'ardoise des prix */
  --four-2:#1A1007;

  --pate:#F8EFDE;          /* le panneau clair */
  --pate-2:#F0E4CD;        /* le second ton du dégradé clair */
  --farine:#FBF4E6;        /* les blocs clairs posés, et le texte sur fond sombre */
  --farine-doux:#EBDCC2;   /* le texte secondaire sur fond sombre */
  --craie:#EFE7D8;         /* les prix sur l'ardoise : de la craie, pas de l'or */

  --brique:#7A3A1E;        /* la bande du contact */
  --brique-2:#5E2B14;
  --brique-clair:#93492A;  /* les voussoirs et la sole */
  --brique-fonce:#4E2411;

  --encre:#1E1207;
  --sourd:#6B5334;

  --tomate:#A5310F;        /* l'accent des fonds CLAIRS (la sauce) */
  --tomate-clair:#B23811;
  --tomate-fonce:#78200A;
  --braise:#F0842B;        /* l'accent des fonds SOMBRES OPAQUES */
  --flamme:#FFC777;        /* … et sur le VERRE et la BRIQUE, où la braise tombe sous 4,5 */

  --wa:#0F7A40;            /* le bouton WhatsApp, quand un mobile a été relevé */
  --wa-fonce:#0A5A2F;

  --rayon:12px;
  --rayon-bouton:10px;     /* jamais nul : un bouton n'est pas un rectangle brut */
  --colonne:1160px;

  --pres:0 1px 2px rgba(30,18,7,.10);
  --loin:0 12px 28px rgba(30,18,7,.16);
  --loin-haute:0 18px 40px rgba(30,18,7,.22);
  --pres-sombre:0 1px 2px rgba(0,0,0,.34);
  --loin-sombre:0 12px 28px rgba(0,0,0,.48);
  --loin-sombre-haute:0 18px 40px rgba(0,0,0,.58);

  --accent:var(--braise);
  --titre:var(--farine);
  --corps:var(--farine-doux);
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{
  font-family:var(--police-libelle);
  font-weight:400;
  font-size:17px;line-height:1.62;
  color:var(--farine-doux);
  background-color:#140d06;
  overflow-wrap:break-word;
}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
a{color:var(--accent)}
:where(a,button):focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}

.bande{max-width:var(--colonne);margin:0 auto;padding:0 clamp(16px,4vw,32px);width:100%}

.saut-contenu{position:absolute;left:-9999px;top:0;z-index:99;
  background:var(--four);color:var(--farine);padding:12px 20px;border-radius:0 0 10px 0}
.saut-contenu:focus{left:0}

main > section{
  position:relative;
  --joue-fond:rgba(255,214,150,.10);
  --joue-trait:rgba(255,214,150,.075);
  --joue-souffle:rgba(255,214,150,.055);
  --joue-arete:rgba(20,13,6,.44);
}
main > section::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  --goutte:max(0px,calc((100% - var(--colonne)) / 2));
  --voile:linear-gradient(90deg,#000 0%,rgba(0,0,0,.62) 14%,
          rgba(0,0,0,.26) 34%,rgba(0,0,0,.17) 50%,rgba(0,0,0,.26) 66%,
          rgba(0,0,0,.62) 86%,#000 100%);
  background-image:
    radial-gradient(78% 52% at 50% 104%,
      var(--joue-trait) 0%,var(--joue-souffle) 38%,transparent 72%),
    radial-gradient(96% 62% at 14% -6%,
      var(--joue-trait) 0%,transparent 66%),
    radial-gradient(72% 48% at 88% 26%,
      var(--joue-trait) 0%,transparent 60%),
    linear-gradient(90deg,var(--joue-fond) 0,transparent var(--goutte),
      transparent calc(100% - var(--goutte)),var(--joue-fond) 100%);
background-size:100% 100%,100% 100%,100% 100%,100% 100%;
background-position:left top,left top,left top,left top;
background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
-webkit-mask-image:var(--voile);mask-image:var(--voile);
}
.hero::after{content:none}

.ruban{
  background:linear-gradient(180deg,var(--suie-2),var(--suie));
  color:var(--farine-doux);text-align:center;
  font-size:13px;letter-spacing:.04em;padding:6px 16px;
  border-bottom:1px solid color-mix(in srgb,var(--braise) 24%,transparent);
}
.ruban a{color:var(--braise);text-underline-offset:3px;
  display:inline-block;min-height:24px;padding:2px 2px}

.entete{position:sticky;top:0;z-index:30;
  background:color-mix(in srgb,var(--suie) 82%,transparent);
  -webkit-backdrop-filter:blur(16px) saturate(115%);
  backdrop-filter:blur(16px) saturate(115%);
  border-bottom:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 10px 28px rgba(0,0,0,.34);
  --accent:var(--flamme);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:10px 0}
.marque{display:block;text-decoration:none;line-height:1.15}
.marque__nom{display:block;font-family:var(--police-titre);font-weight:700;
  font-size:1.24rem;color:var(--farine);letter-spacing:.005em}
.marque__sous{display:block;font-size:.66rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.2em;color:var(--flamme);margin-top:3px}

#nav-links{display:flex;align-items:center;gap:clamp(12px,2.4vw,28px)}
#nav-links a{
  font-family:var(--police-titre);font-weight:700;
  font-size:1rem;letter-spacing:.01em;
  color:var(--farine-doux);text-decoration:none;
  padding:10px 4px;display:inline-block;position:relative;
  transition:color .22s ease;
}
#nav-links a::after{content:'';position:absolute;left:4px;right:4px;bottom:2px;height:3px;
  border-radius:2px;background:var(--braise);
  transform:scaleX(0);transform-origin:left center;transition:transform .24s ease}
#nav-links a:hover{color:var(--farine)}
#nav-links a:hover::after{transform:scaleX(1)}
#nav-links .bouton::after{content:none}

#nav-toggle{display:none;background:none;border:0;cursor:pointer;
  padding:11px;border-radius:var(--rayon-bouton);min-width:46px;min-height:46px}
#nav-toggle:hover{background:rgba(255,255,255,.08)}
.nav-toggle__trait{display:block;width:23px;height:2.5px;border-radius:2px;
  background:var(--flamme);margin:5px auto;
  transition:transform .25s ease,opacity .2s ease}
#nav-toggle[aria-expanded="true"] .nav-toggle__trait:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
#nav-toggle[aria-expanded="true"] .nav-toggle__trait:nth-child(2){opacity:0}
#nav-toggle[aria-expanded="true"] .nav-toggle__trait:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

.sur{display:block;font-family:var(--police-libelle);font-weight:600;
  font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;
  color:var(--accent);margin-bottom:10px}
.sur--clair{color:var(--accent)}

.entete-section{margin-bottom:clamp(24px,4vw,40px)}
.entete-section h2{font-family:var(--police-titre);font-weight:700;
  font-size:clamp(1.75rem,3.8vw,2.7rem);line-height:1.14;letter-spacing:-.012em;
  color:var(--titre)}
.entete-section--centre{text-align:center}
.entete-section--centre .assise{margin-inline:auto}

.assise{display:block;width:72px;height:3px;margin-top:16px;border-radius:2px;
  background:linear-gradient(90deg,var(--accent),
    color-mix(in srgb,var(--accent) 8%,transparent))}

.cadre{position:relative;overflow:hidden;border-radius:var(--rayon);
  background:var(--four);
  box-shadow:var(--pres),var(--loin),0 0 0 1px rgba(30,18,7,.10)}
.cadre img{width:100%}
.contact .cadre{
  box-shadow:var(--pres-sombre),var(--loin-sombre),0 0 0 1px rgba(255,255,255,.10)}

.bouton{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:11px 22px;border-radius:var(--rayon-bouton);
  font-family:var(--police-titre);font-weight:700;font-size:1rem;
  text-decoration:none;color:var(--farine);
  transition:transform .24s ease,box-shadow .24s ease,filter .24s ease;
}
.bouton--plein{
  background:linear-gradient(180deg,var(--tomate-clair),var(--tomate-fonce));
  box-shadow:var(--pres-sombre),0 12px 28px rgba(120,32,10,.42),
    inset 0 1px 0 rgba(255,255,255,.20);
}
.bouton--plein:hover{filter:brightness(1.06);
  box-shadow:var(--pres-sombre),0 18px 40px rgba(120,32,10,.50),
    inset 0 1px 0 rgba(255,255,255,.26)}
.bouton--wa{
  background:linear-gradient(180deg,var(--wa),var(--wa-fonce));
  box-shadow:var(--pres-sombre),0 12px 28px rgba(10,90,47,.40),
    inset 0 1px 0 rgba(255,255,255,.20);
}
.bouton--wa:hover{filter:brightness(1.06);
  box-shadow:var(--pres-sombre),0 18px 40px rgba(10,90,47,.48),
    inset 0 1px 0 rgba(255,255,255,.26)}
.bouton--grand{min-height:56px;padding:14px 28px;font-size:1.06rem}

.plaque-tel{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:56px;padding:8px 22px;border-radius:var(--rayon-bouton);
  font-family:var(--police-libelle);font-weight:600;font-size:1.14rem;
  letter-spacing:.02em;font-variant-numeric:lining-nums tabular-nums;
  text-decoration:none;color:var(--farine);
  background:linear-gradient(180deg,var(--tomate-clair),var(--tomate-fonce));
  box-shadow:var(--pres-sombre),0 12px 28px rgba(120,32,10,.42),
    inset 0 1px 0 rgba(255,255,255,.20);
  transition:transform .24s ease,box-shadow .24s ease,filter .24s ease;
}
.plaque-tel:hover{filter:brightness(1.06);
  box-shadow:var(--pres-sombre),0 18px 40px rgba(120,32,10,.50),
    inset 0 1px 0 rgba(255,255,255,.26)}

.hero{position:relative;isolation:isolate;overflow:hidden;
  display:flex;align-items:center;
  min-height:min(86vh,720px);
  padding:clamp(56px,9vw,104px) 0 clamp(120px,15vw,176px);
  background:var(--suie)}
.hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 46%;z-index:-3;transform:scale(1.03)}
.hero__voile{position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(180deg,var(--suie) 0,transparent 140px),
    linear-gradient(96deg,
      color-mix(in srgb,var(--suie) 92%,transparent) 0%,
      color-mix(in srgb,var(--suie) 72%,transparent) 46%,
      color-mix(in srgb,var(--suie) 26%,transparent) 100%),
    linear-gradient(180deg,transparent 54%,color-mix(in srgb,var(--suie) 88%,transparent))}
.hero__bande{position:relative;z-index:1}

.hero__plaque{
  position:relative;overflow:hidden;
  max-width:640px;
  padding:clamp(28px,4vw,44px) clamp(24px,3.5vw,40px) clamp(32px,4vw,48px);
  border-radius:var(--rayon);
  background:color-mix(in srgb,var(--suie) 96%,transparent);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--pres-sombre),var(--loin-sombre),inset 0 1px 0 rgba(255,255,255,.10);
}
.hero__plaque::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,
    color-mix(in srgb,var(--braise) 40%,transparent) 22%,
    var(--braise) 50%,
    color-mix(in srgb,var(--braise) 40%,transparent) 78%,transparent);
  box-shadow:0 0 18px color-mix(in srgb,var(--braise) 45%,transparent)}
.hero__etiquette{font-family:var(--police-libelle);font-weight:600;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.2em;color:var(--braise)}
.hero__titre{font-family:var(--police-titre);font-weight:700;
  font-size:clamp(2.3rem,5.6vw,4.1rem);line-height:1.05;letter-spacing:-.02em;
  color:var(--farine);margin-top:18px}
.hero__accent{display:block;font-family:var(--police-titre);font-weight:700;
  font-size:clamp(2.3rem,5.6vw,4.1rem);line-height:1.05;letter-spacing:-.02em;
  color:var(--flamme);margin-bottom:18px}
@supports (background-clip:text) or (-webkit-background-clip:text){
  .hero__accent{
    background:linear-gradient(180deg,var(--flamme),var(--braise));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
}
.hero__intro{color:var(--farine-doux);max-width:52ch;font-size:1.02rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}

:root{--air-section:clamp(56px,7vw,88px)}
.sect{padding:var(--air-section) clamp(16px,4vw,32px)}
.plaque{position:relative;max-width:var(--colonne);margin-inline:auto;
  padding:clamp(32px,4.5vw,56px) clamp(20px,3vw,40px) clamp(40px,5vw,64px);
  border-radius:var(--rayon)}
.plaque--clair,.plaque--pate{
  --accent:var(--tomate);--titre:var(--encre);--corps:var(--sourd);
  background-color:var(--pate);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.80),var(--pres-sombre),var(--loin-sombre);
}
.plaque--sombre{
  overflow:hidden;
  background-color:var(--four);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),var(--pres-sombre),var(--loin-sombre);
}
.plaque--sombre::before{content:'';position:absolute;z-index:0;pointer-events:none;
  left:50%;top:-16%;transform:translateX(-50%);
  width:min(900px,94%);aspect-ratio:2/1;
  background:radial-gradient(50% 60% at 50% 34%,
    color-mix(in srgb,var(--braise) 8%,transparent) 0%,transparent 70%)}
.plaque--sombre > *{position:relative;z-index:1}

.sect--carte{z-index:2}
.carte__grille{display:grid;gap:clamp(20px,3vw,32px);grid-template-columns:minmax(0,1fr)}
.rubriques{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);align-content:start}
.rubrique,.temps__pas{
  position:relative;padding:22px 24px 24px;border-radius:var(--rayon);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.rubrique{
  background-color:#fbf4e6;
  border:1px solid color-mix(in srgb,var(--tomate) 16%,transparent);
  border-left:3px solid color-mix(in srgb,var(--tomate) 18%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.80),var(--pres),var(--loin);
}
.rubrique:hover{
  border-color:color-mix(in srgb,var(--tomate) 40%,transparent);
  border-left-color:var(--tomate);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.80),var(--pres),var(--loin-haute)}
.rubrique h3{font-family:var(--police-titre);font-weight:700;font-size:1.2rem;
  line-height:1.22;color:var(--titre);margin-bottom:8px}
.rubrique p{color:var(--corps);font-size:.96rem}

.carte__cote{display:grid;gap:24px;align-content:start}
.carte__visuel{position:relative;z-index:3}
.carte__visuel img{aspect-ratio:4/3;object-fit:cover}

.ardoise{
  --accent:var(--braise);--titre:var(--farine);--corps:var(--farine-doux);
  position:relative;padding:22px 24px 24px;border-radius:var(--rayon);
  background-color:#23160a;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),var(--pres-sombre),var(--loin-sombre);
}
.ardoise__titre{font-family:var(--police-titre);font-weight:700;font-size:1.14rem;
  color:var(--accent);margin-bottom:10px;padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.14)}
.ardoise__liste{display:grid}
.ardoise__ligne{display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:2px 16px;padding:12px 0;
  border-bottom:1px dashed rgba(255,255,255,.16)}
.ardoise__ligne:last-child{border-bottom:0;padding-bottom:0}
.ardoise__nom{grid-column:1;font-family:var(--police-titre);font-weight:700;
  font-size:1.02rem;line-height:1.3;color:var(--farine)}
.ardoise__prix{grid-column:2;text-align:right;
  font-family:var(--police-libelle);font-weight:600;font-size:1.02rem;
  color:var(--craie);font-variant-numeric:lining-nums tabular-nums}
.ardoise__garniture{grid-column:1 / -1;font-size:.9rem;color:var(--corps)}

.four__note{color:var(--corps);font-size:.96rem;max-width:64ch;
  margin:clamp(24px,3vw,32px) auto 0;text-align:center}

.voute{position:relative;z-index:1;
  --R:clamp(96px,26vw,148px);
  --bw:calc(var(--R) * .315);   /* largeur tangentielle : joint de ~5 px à mi-rayon */
  --bh:calc(var(--R) * .24);    /* épaisseur radiale du voussoir */
  width:min(100%,420px);
  height:calc(var(--R) + 96px);
  margin:0 auto clamp(32px,4.5vw,56px)}
.voute__braise{position:absolute;z-index:0;left:10%;right:10%;bottom:40px;
  height:clamp(40px,7vw,56px);pointer-events:none;
  background:radial-gradient(60% 100% at 50% 100%,
    color-mix(in srgb,var(--flamme) 34%,transparent) 0%,
    color-mix(in srgb,var(--braise) 20%,transparent) 42%,transparent 74%);
  filter:blur(5px)}
.voute__sole{position:absolute;z-index:1;left:11%;right:11%;bottom:20px;height:14px;
  border-radius:3px;
  background:linear-gradient(180deg,var(--brique-clair),var(--brique-fonce));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 18px -6px rgba(0,0,0,.72)}
.voute__disque{position:absolute;z-index:2;left:50%;bottom:32px;
  width:min(52%,196px);height:22px;border-radius:50%;
  transform:translateX(-50%);
  background:radial-gradient(70% 130% at 50% 32%,var(--flamme),var(--braise) 72%);
  box-shadow:0 0 0 1px rgba(0,0,0,.42),0 4px 10px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.30)}
.voute__arc{position:absolute;z-index:3;left:50%;bottom:34px;width:0;height:0}
.voute__brique{
  position:absolute;left:0;top:0;
  width:var(--bw);height:var(--bh);
  margin-left:calc(var(--bw) / -2);margin-top:calc(var(--bh) / -2);
  --a:calc(-80deg + var(--n) * 20deg);
  transform:rotate(var(--a)) translateY(calc(-1 * var(--R)));
  border-radius:3px;               /* arête de brique, pas un rayon d'interface */
  background-color:#7a3a1e;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -2px 0 rgba(0,0,0,.30),0 2px 5px rgba(0,0,0,.42);
  transition:opacity .5s ease,transform .6s cubic-bezier(.16,1,.3,1);
  transition-delay:calc(var(--n) * 36ms);
}

.temps{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.temps__pas{
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--four) 92%,transparent),
    color-mix(in srgb,var(--four-2) 94%,transparent));
  border:1px solid rgba(255,255,255,.09);
  border-left:3px solid color-mix(in srgb,var(--braise) 30%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),var(--pres-sombre),var(--loin-sombre);
}
.temps__pas:hover{
  border-color:color-mix(in srgb,var(--braise) 36%,transparent);
  border-left-color:var(--braise);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),var(--pres-sombre),var(--loin-sombre-haute)}
.temps__num{display:block;font-family:var(--police-libelle);font-weight:600;
  font-size:.84rem;letter-spacing:.22em;color:var(--braise);
  font-variant-numeric:lining-nums tabular-nums;margin-bottom:10px}
.temps__pas h3{font-family:var(--police-titre);font-weight:700;font-size:1.24rem;
  line-height:1.2;color:var(--farine);margin-bottom:8px}
.temps__pas p{color:var(--farine-doux);font-size:.95rem}

.realisations__grille{display:grid;gap:clamp(16px,2.4vw,24px);
  grid-template-columns:minmax(0,1fr);align-items:start}
.realisations__grille .cadre{transform:rotate(var(--tourne,0deg))}
.realisations__grille .cadre:nth-child(1){--tourne:-1.1deg}
.realisations__grille .cadre:nth-child(2){--tourne:.9deg}
.realisations__grille .cadre:nth-child(3){--tourne:-.7deg}
.realisations__grille img{aspect-ratio:4/3;object-fit:cover}
.realisations__haute img{aspect-ratio:3/4}

.equipe__photo{position:relative;z-index:1;overflow:hidden;
  margin-top:clamp(24px,3.5vw,40px)}
.equipe__photo img{width:100%;height:clamp(232px,26vw,456px);
  object-fit:cover;object-position:50% 80%}

.contact{--accent:var(--flamme);
  --joue-trait:rgba(30,18,7,.10);
  --joue-souffle:rgba(30,18,7,.05);
  --joue-fond:rgba(30,18,7,.30);--joue-arete:rgba(255,255,255,.30);
  padding:clamp(48px,7vw,88px) clamp(16px,4vw,32px);
  background-color:#7a3a1e}
.contact__grille{max-width:var(--colonne);margin-inline:auto;
  display:grid;gap:clamp(24px,3.5vw,40px);grid-template-columns:minmax(0,1fr)}
.contact__verre{
  position:relative;z-index:2;
  padding:clamp(24px,3.5vw,40px);
  border-radius:var(--rayon);
  background:color-mix(in srgb,var(--suie) 91%,transparent);
  -webkit-backdrop-filter:blur(16px) saturate(115%);
  backdrop-filter:blur(16px) saturate(115%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--pres-sombre),var(--loin-sombre),inset 0 1px 0 rgba(255,255,255,.10);
}
.contact__verre .entete-section{margin-bottom:20px}
.contact__phrase{color:var(--farine-doux);max-width:56ch}
.contact__visuel{align-self:start}
.contact__visuel img{aspect-ratio:4/3;object-fit:cover}

.fiche{margin-top:28px}
.fiche__titre{font-family:var(--police-titre);font-weight:700;font-size:1.08rem;
  color:var(--farine);margin-bottom:6px;padding-bottom:10px;
  border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}

.tableau{display:grid}
.tableau__ligne{display:grid;grid-template-columns:minmax(0,1fr) auto;
  align-items:center;gap:8px 16px;padding:10px 0;
  border-bottom:1px dashed rgba(255,255,255,.16)}
.tableau__ligne:last-child{border-bottom:0}
.tableau dt{font-family:var(--police-libelle);font-weight:600;font-size:.92rem;
  letter-spacing:.02em;color:var(--farine-doux);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tableau dd{font-family:var(--police-libelle);font-size:.96rem;text-align:right;
  color:var(--farine);font-variant-numeric:lining-nums tabular-nums}
.tableau dd a:not(.plaque-tel){color:var(--farine);text-decoration:none;
  display:inline-block;min-height:26px;padding:3px 2px;
  border-bottom:1px solid color-mix(in srgb,var(--accent) 44%,transparent);
  transition:color .2s ease,border-color .2s ease}
.tableau dd a:not(.plaque-tel):hover{color:var(--flamme);border-color:var(--flamme)}
.tableau__ligne--ferme dt,.tableau__ligne--ferme dd{
  color:color-mix(in srgb,var(--farine-doux) 74%,transparent)}
.tableau__aujourdhui{
  font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;
  color:var(--encre);background:var(--flamme);
  padding:3px 9px;border-radius:99px}
.tableau__ligne--aujourdhui dt,.tableau__ligne--aujourdhui dd{color:var(--flamme)}

.pied{background-color:#140d06;
  padding:32px 0 32px}
.pied__interieur{text-align:center}
.assise--pied{width:100%;max-width:none;height:3px;margin:0 0 24px;
  background:linear-gradient(90deg,transparent,
    color-mix(in srgb,var(--braise) 45%,transparent) 26%,
    var(--braise) 50%,
    color-mix(in srgb,var(--braise) 45%,transparent) 74%,transparent);
  box-shadow:0 0 22px color-mix(in srgb,var(--braise) 40%,transparent)}
.pied__nom{font-family:var(--police-titre);font-weight:700;
  font-size:clamp(1.5rem,3.4vw,2.05rem);line-height:1.15;color:var(--farine)}
.pied__lieu{font-size:.7rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.2em;color:var(--braise);margin-top:10px}
.pied__bas{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.10)}
.pied__credit{font-size:.86rem;color:var(--farine-doux)}
.pied a{color:var(--braise);display:inline-block;min-height:24px;padding:2px 2px}

html.js .reveal{opacity:0;transform:translateY(18px) rotate(var(--tourne,0deg));
  transition:opacity .6s ease,transform .66s cubic-bezier(.16,1,.3,1);
  transition-delay:calc(var(--i,0) * 80ms)}
html.js .reveal.est-vu{opacity:1;transform:rotate(var(--tourne,0deg))}
html.js .reveal.contact__verre{transform:none;transition:opacity .6s ease}

html.js .voute:not(.est-vu) .voute__brique{opacity:0;
  transform:rotate(var(--a)) translateY(calc(-1 * var(--R))) scale(.82)}
html.js .voute:not(.est-vu) .voute__disque{opacity:0;
  transform:translateX(-50%) translateY(-34px) scale(.9)}
.voute__disque{transition:opacity .5s ease .32s,
  transform .62s cubic-bezier(.16,1,.3,1) .32s}
html.js .voute:not(.est-vu) .voute__braise{opacity:0}
.voute__braise{transition:opacity .8s ease .4s}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js .reveal{transform:rotate(var(--tourne,0deg));transition:opacity .5s ease}
  html.js .voute:not(.est-vu) .voute__brique{
    transform:rotate(var(--a)) translateY(calc(-1 * var(--R)))}
  html.js .voute:not(.est-vu) .voute__disque{transform:translateX(-50%)}
  .voute__brique{transition:opacity .5s ease}
  .voute__disque{transition:opacity .5s ease .2s}
  #nav-links a::after{transition:none}
}

@media (min-width:601px){
  .rubrique h3{min-height:2.44em}
  .rubriques{grid-template-columns:repeat(2,minmax(0,1fr))}
  .temps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .realisations__grille{grid-template-columns:repeat(2,minmax(0,1fr))}
  .realisations__haute{grid-column:1 / -1}
  .realisations__haute img{aspect-ratio:16/9}
}
@media (min-width:901px){
  .carte__grille{grid-template-columns:minmax(0,1fr) minmax(0,340px)}
  .carte__grille{align-items:stretch}
  .rubriques{align-content:stretch;grid-auto-rows:1fr}
  .rubrique{display:flex;flex-direction:column;justify-content:center}
  .temps{grid-template-columns:repeat(4,minmax(0,1fr))}

  .realisations__grille{grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch}
  .realisations__grille > .cadre{position:relative}
  .realisations__grille > .cadre img{width:100%;height:100%;object-fit:cover}
  .realisations__grille .cadre:nth-child(2){margin-bottom:clamp(8px,2vw,24px)}
  .realisations__haute{grid-column:auto}
  .realisations__haute img{aspect-ratio:3/4}
  .contact__grille{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);
    align-items:start}
  .contact__visuel{align-self:stretch}
  .contact__visuel img{height:100%;aspect-ratio:auto;object-fit:cover}
}
@media (max-width:900px){
  #nav-toggle{display:block}
  #nav-links{
    display:none;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:0;
    padding:8px clamp(16px,4vw,32px) 16px;
    background:linear-gradient(180deg,var(--suie-2),var(--suie));
    border-bottom:1px solid rgba(255,255,255,.14);
    box-shadow:0 22px 44px rgba(0,0,0,.46);
  }
  #nav-links.is-open{display:flex}
  #nav-links a{padding:14px 4px;font-size:1.08rem;
    border-bottom:1px solid rgba(255,255,255,.09)}
  #nav-links li:last-child a{border-bottom:0}
  #nav-links .bouton{margin-top:8px;width:100%;padding-inline:16px}
  .hero{min-height:0}
  .hero__plaque{max-width:none}
  .tableau__ligne{grid-template-columns:minmax(0,1fr)}
  .tableau dd{text-align:left}
  .plaque-tel{width:100%}
}
@media (max-width:480px){
  body{font-size:16.5px}
  .bouton{width:100%}
  .hero__actions{gap:12px}
  .temps__pas h3,.rubrique h3{font-size:1.16rem}
}

@media (max-width:600px){
  .hero{display:block;min-height:0;
    padding-top:0;padding-bottom:clamp(96px,18vw,120px)}
  .hero__photo{position:static;width:100%;
    height:38vh;min-height:210px;max-height:340px;
    object-fit:cover;object-position:70% 52%;
    transform:none;z-index:auto}
  .hero__voile{display:none}
  .hero__bande{padding-top:clamp(28px,7vw,36px)}
}

.entete{background-color:rgba(20,13,6,0.76)}
.entete{margin-bottom:-67px}
