/* Socle des pages intérieures (mentions légales, confidentialité, 404, journal).
   Reprend le CSS critique de la page d'accueil : polices, variables, en-tête.
   À charger avant /css/style.css. */

@font-face{font-family:'Amiri';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/amiri-400-italic.woff2') format('woff2')}
@font-face{font-family:'Amiri';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/amiri-400.woff2') format('woff2')}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:block;src:url('/assets/fonts/amiri-700.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:block;src:url('/assets/fonts/poppins-300.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:block;src:url('/assets/fonts/poppins-400.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/poppins-500.woff2') format('woff2')}
/* Repli systeme aux metriques ajustees : le remplacement ne decale plus rien. */
@font-face{font-family:'Amiri secours';src:local('Georgia'), local('Times New Roman'), local('Noto Serif'), local('Liberation Serif'), local('DejaVu Serif');size-adjust:98.33%;ascent-override:114.31%;descent-override:64.48%;line-gap-override:0%}
@font-face{font-family:'Poppins secours';src:local('Arial'), local('Helvetica Neue'), local('Roboto'), local('Noto Sans'), local('Liberation Sans'), local('DejaVu Sans');size-adjust:112.43%;ascent-override:93.39%;descent-override:31.13%;line-gap-override:0%}

:root{
  --creme:#fdf5e6;--creme-2:#f7efe2;--blanc:#fff;
  --gris:#3a3a3a;--gris-2:#565b62;--beige:#c2ad76;
  --texte:#3a3a3a;--filet:rgba(58,58,58,.14);--filet-clair:rgba(255,255,255,.22);
  --serif:'Amiri','Amiri secours',Georgia,'Times New Roman',serif;
  --sans:'Poppins','Poppins secours',Arial,Helvetica,sans-serif;
  --nav:72px;--laisse:min(1180px,90vw);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav) + 10px)}
body{font-family:var(--sans);font-size:16px;line-height:1.75;font-weight:300;background:var(--creme);color:var(--texte);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.22;text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:2px solid var(--gris);outline-offset:3px}
.laisse{width:var(--laisse);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.evitement{position:absolute;left:50%;top:0;transform:translate(-50%,-130%);z-index:100;background:var(--gris);color:#fff;padding:13px 24px;font-size:13px;transition:transform .2s}
.evitement:focus{transform:translate(-50%,0)}

/* Boutons */
.bouton{display:inline-block;background:var(--gris);color:var(--blanc);padding:14px 26px;font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:400;transition:background .25s,color .25s}
.bouton:hover{background:#565b62;color:var(--blanc)}
.bouton--clair{background:var(--blanc);color:var(--gris)}
.bouton--clair:hover{background:var(--creme-2);color:var(--gris)}

/* Barre de navigation : blanc sur gris */
.entete{position:fixed;inset:0 0 auto;z-index:50;background:var(--gris);color:var(--blanc)}
.entete nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--nav)}
.marque{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--blanc);line-height:1.15}
.marque span{display:block;font-family:var(--sans);font-size:9.5px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-top:3px}
.menu{display:flex;gap:30px;list-style:none;font-size:12.5px;letter-spacing:.11em;text-transform:uppercase}
.menu a{display:inline-block;padding:8px 0;color:rgba(255,255,255,.88);border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.menu a:hover{color:var(--blanc);border-bottom-color:rgba(255,255,255,.6)}
.entete__tel{font-size:14px;letter-spacing:.04em;color:var(--blanc);white-space:nowrap;font-variant-numeric:tabular-nums}
.entete__tel:hover{color:rgba(255,255,255,.75)}
.bascule{display:none;width:44px;height:44px;background:transparent;border:1px solid rgba(255,255,255,.35);cursor:pointer;align-items:center;justify-content:center}
.bascule i,.bascule i::before,.bascule i::after{display:block;width:17px;height:1px;background:#fff;transition:transform .25s}
.bascule i::before,.bascule i::after{content:"";position:relative;top:-6px}
.bascule i::after{top:5px}
.bascule[aria-expanded="true"] i{background:transparent}
.bascule[aria-expanded="true"] i::before{transform:translateY(6px) rotate(45deg)}
.bascule[aria-expanded="true"] i::after{transform:translateY(-5px) rotate(-45deg)}
@media(max-width:1000px){
  .bascule{display:flex}
  .panneau{position:fixed;inset:0;background:var(--gris);padding:calc(var(--nav) + 34px) 8vw 40px;display:flex;flex-direction:column;gap:26px;transform:translateX(100%);transition:transform .32s cubic-bezier(.2,.7,.3,1);overflow-y:auto}
  .panneau[data-open="true"]{transform:none}
  .menu{flex-direction:column;gap:0;font-size:15px}
  .menu a{display:block;padding:16px 0;border-bottom:1px solid var(--filet-clair)}
}
@media(min-width:1001px){.panneau{display:flex;align-items:center;gap:38px}}

/* Accueil : la robe, deux lignes, rien d'autre */
.accueil{position:relative;min-height:min(62svh,540px);display:grid;align-items:center;color:var(--blanc);overflow:hidden;padding:calc(var(--nav) + 34px) 0 46px}
.accueil__fond{position:absolute;inset:0;z-index:0}
.accueil__fond picture{position:absolute;inset:0;display:block}
.accueil__fond img{width:100%;height:100%;object-fit:cover;object-position:50% 0%}
.accueil__fond::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(58,58,58,.78) 0%,rgba(58,58,58,.55) 42%,rgba(58,58,58,.28) 100%)}
.accueil__mot{position:relative;z-index:2;width:var(--laisse);margin-inline:auto;max-width:100%}
.accueil h1{font-size:clamp(25px,3.2vw,40px);color:var(--blanc);margin-bottom:26px;line-height:1.28;max-width:22ch;text-align:left}
.insecable{white-space:nowrap}
@media(max-width:900px){
  .accueil{min-height:min(56svh,430px);padding:calc(var(--nav) + 28px) 0 38px}
  .accueil__fond img{object-position:50% 50%}
}
