/* ==========================================================
   LES COPAINS DE BASTIEN — feuille de style du site
   ----------------------------------------------------------
   TOUT SE RÈGLE ICI : couleurs, tailles de texte, espacements.
   Modifie une variable, tout le site suit.
   ========================================================== */
:root{
  /* ---- Tailles de texte (éditables) ---- */
  --fs-body:1rem;            /* texte courant */
  --fs-lead:1.12rem;         /* paragraphes d'intro */
  --fs-h1:clamp(2.4rem,5vw,3.9rem);
  --fs-h2:clamp(2rem,4vw,3.2rem);
  --fs-h3:clamp(1.4rem,2.4vw,1.9rem);
  --fs-plaque:1.02rem;       /* texte des plaques (taille normale) */
  --fs-plaque-xl:clamp(1.4rem,4vw,2.85rem); /* plaque du héro */
  --lh:1.7;                  /* interlignage du texte courant */
}

  :root{
    --nuit:#15100a;           /* la rue — cacao noir */
    --nuit-2:#1f1810;
    --ivoire:#f3ecdf;         /* le palace */
    --ivoire-2:#ece2cf;
    --encre:#241a11;          /* texte sur ivoire */
    --brun-doux:#6e5b47;
    --blanc-casse:#f6f1e7;
    --plaque:#2f1e10;         /* émail chocolat noir — la plaque est en chocolat */
    --plaque-cadre:#b5854a;   /* laiton */
    --plaque-fonce:#221409;
    --cuivre:#c4924f;
    --cuivre-clair:#e0b577;
    --ligne-n:rgba(243,236,223,.14);
    --ligne-i:rgba(36,26,17,.16);
    --max:1280px;
  }

  /* Trames pavés (SVG inline) — version claire et version sombre */
  :root{
    --pave-sombre:url("assets/img/pave-sombre.png");
    --pave-clair:url("assets/img/pave-clair.png");
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:"Hanken Grotesk",system-ui,sans-serif;
    background:var(--nuit);color:var(--ivoire);
    line-height:1.7;-webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.serif{font-family:"Fraunces",Georgia,serif;font-weight:300;line-height:1.06;letter-spacing:-0.015em}
  em{font-style:italic}
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 32px}

  /* ============ PLAQUE DE RUE — composant signature ============ */
  /* Proportions de la plaque réelle : cadre épais, rivets aux coins,
     fronton en demi-ellipse large (~60% du panneau), liseré blanc sur le bleu */
  .plaque{
    position:relative;display:inline-block;text-align:center;text-transform:uppercase;
    background:linear-gradient(150deg,#dcb678 0%,#ab7d3f 46%,#8e6428 72%,#c89e5a 100%);
    border-radius:12px;padding:9px;
    color:var(--blanc-casse);margin-top:3.2em;
    box-shadow:inset 0 1px 0 rgba(255,246,226,.55), inset 0 -1px 0 rgba(56,33,9,.5),
               0 16px 36px -18px rgba(0,0,0,.75);
  }
  .plaque::after{ /* rivets */
    content:"";position:absolute;inset:0;border-radius:12px;pointer-events:none;
    background-image:
      radial-gradient(circle, #3a2510 35%, rgba(255,241,214,.75) 38% 50%, transparent 53%),
      radial-gradient(circle, #3a2510 35%, rgba(255,241,214,.75) 38% 50%, transparent 53%),
      radial-gradient(circle, #3a2510 35%, rgba(255,241,214,.75) 38% 50%, transparent 53%),
      radial-gradient(circle, #3a2510 35%, rgba(255,241,214,.75) 38% 50%, transparent 53%);
    background-size:11px 11px;background-repeat:no-repeat;
    background-position:2px 2px, calc(100% - 2px) 2px, 2px calc(100% - 2px), calc(100% - 2px) calc(100% - 2px);
  }
  .plaque .rue{
    display:block;margin:0;background:var(--plaque);
    border:1.5px solid rgba(241,242,246,.92);border-radius:6px;
    padding:.8em 1.5em .85em;
    font-family:"Archivo Narrow","Hanken Grotesk",sans-serif;font-weight:600;
    font-size:1.08rem;letter-spacing:.09em;line-height:1.3;
  }
  .plaque .arr{ /* fronton : demi-ellipse pleine, large et haute */
    position:absolute;bottom:calc(100% - 11px);left:50%;transform:translateX(-50%);
    min-width:62%;box-sizing:border-box;white-space:nowrap;
    background:var(--plaque);
    border:8px solid var(--plaque-cadre);border-bottom:0;
    border-radius:50% 50% 0 0 / 100% 100% 0 0;
    padding:1em 1.9em .5em;
    font-family:"Archivo Narrow","Hanken Grotesk",sans-serif;
    font-size:.64rem;font-weight:600;letter-spacing:.18em;color:#f3ead9;
  }
  .plaque-xl{padding:14px;border-radius:16px;margin-top:4.4em}
  .plaque-xl::after{border-radius:16px;background-size:18px 18px;
    background-position:4px 4px, calc(100% - 4px) 4px, 4px calc(100% - 4px), calc(100% - 4px) calc(100% - 4px)}
  .plaque-xl .rue{font-size:clamp(1.4rem,4vw,2.85rem);letter-spacing:.07em;
    padding:.85em 1.3em .9em;border-width:2px;border-radius:9px}
  .plaque-xl .arr{font-size:.82rem;border-width:12px;padding:1.4em 2.6em .65em;
    bottom:calc(100% - 17px);min-width:58%}

  /* ============ Boutons ============ */
  .btn{
    display:inline-flex;align-items:center;gap:.7em;font-weight:600;font-size:.9rem;
    letter-spacing:.1em;text-transform:uppercase;padding:1.05em 1.9em;cursor:pointer;
    border:1px solid var(--cuivre);background:transparent;color:inherit;
    transition:background .25s,color .25s;
  }
  .btn::after{content:"→"}
  .btn-plein{background:var(--cuivre);color:var(--nuit);border-color:var(--cuivre)}
  .btn-plein:hover{background:var(--cuivre-clair);border-color:var(--cuivre-clair);color:var(--nuit)}
  .btn-nuit:hover{background:var(--ivoire);color:var(--nuit);border-color:var(--ivoire)}
  .btn-ivoire{border-color:var(--encre);color:var(--encre)}
  .btn-ivoire:hover{background:var(--encre);color:var(--ivoire)}

  .label{font-size:.72rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--cuivre)}

  /* ============ Header ============ */
  header{
    position:sticky;top:0;z-index:60;
    background:rgba(21,16,10,.84);backdrop-filter:blur(12px);
    border-bottom:1px solid var(--ligne-n);
  }
  .nav{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;padding:1rem 0}
  .brand{display:flex;align-items:center;gap:.9rem}
  .brand .mini-plaque{
    background:var(--plaque);border:3px solid var(--plaque-cadre);border-radius:5px;
    padding:.34rem .62rem;box-shadow:inset 0 0 0 1px rgba(241,242,246,.85);
    font-family:"Archivo Narrow",sans-serif;
    font-weight:600;font-size:.7rem;letter-spacing:.12em;color:var(--blanc-casse);text-transform:uppercase;
  }
  .brand .txt{font-family:"Fraunces",serif;font-size:1.16rem}
  .brand small{display:block;font-family:"Hanken Grotesk",sans-serif;font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(243,236,223,.55)}
  .brand img{height:120px;width:auto;display:block}
  .menu{display:flex;align-items:center;gap:2.2rem}
  .menu a{font-size:.84rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(243,236,223,.88);transition:color .2s}
  .menu a:hover{color:var(--cuivre-clair)}
  .menu .btn{padding:.75em 1.4em;font-size:.74rem}
  .burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px}
  .burger span{display:block;height:1.5px;background:var(--ivoire)}

  /* ============ HERO — l'écran coupé en deux ============ */
  .hero{position:relative;min-height:94vh;display:grid;grid-template-columns:1fr 1fr}
  .hero-rue{
    background:var(--nuit) var(--pave-sombre);
    position:relative;overflow:hidden;
  }
  .hero-rue img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;filter:saturate(.85)}
  .hero-rue::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,16,10,.48),rgba(21,16,10,.92))}
  .hero-palace{
    background:var(--ivoire) var(--pave-clair);
    position:relative;overflow:hidden;
  }
  .hero-palace img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34;filter:saturate(.8) brightness(1.08)}
  .hero-palace::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(243,236,223,.25),rgba(243,236,223,.9))}
  .hero-side-label{
    position:absolute;top:50%;font-size:.72rem;font-weight:700;letter-spacing:.5em;text-transform:uppercase;
    z-index:2;writing-mode:vertical-rl;
  }
  .hero-rue .hero-side-label{left:2rem;color:rgba(243,236,223,.5);transform:translateY(-50%) rotate(180deg)}
  .hero-palace .hero-side-label{right:2rem;color:rgba(36,26,17,.45);transform:translateY(-50%)}

  .hero-centre{
    position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;
    align-items:center;justify-content:center;text-align:center;padding:0 24px;
  }
  .hero-centre .plaque-xl{margin-bottom:2.4rem}
  .hero-sub{
    max-width:54ch;font-size:1.1rem;line-height:1.75;
    color:var(--ivoire);text-shadow:0 1px 24px rgba(21,16,10,.55);
    background:rgba(21,16,10,.58);backdrop-filter:blur(4px);
    padding:1rem 1.6rem;border-radius:8px;margin-bottom:2.2rem;
  }
  .hero-cta{display:flex;gap:1.1rem;flex-wrap:wrap;justify-content:center}
  .hero-scroll{
    position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:5;
    font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(243,236,223,.85);
  }

  /* ============ MANIFESTE / PARADOXE ============ */
  .paradoxe{background:var(--nuit-2) var(--pave-sombre);border-top:1px solid var(--ligne-n);padding:0}
  .paradoxe .inner{max-width:980px;margin:0 auto;padding:8rem 32px;text-align:center}
  .paradoxe p{
    font-family:"Fraunces",serif;font-weight:300;color:var(--ivoire);
    font-size:clamp(1.7rem,3.9vw,3rem);line-height:1.32;
  }
  .paradoxe .pont{color:var(--cuivre-clair);font-style:italic}

  /* ============ LE SPLIT NARRATIF ============ */
  .recit{display:grid;grid-template-columns:1fr 1fr}
  .recit-col{padding:7rem 0}
  .recit-rue{background:var(--nuit-2) var(--pave-sombre);color:var(--ivoire);border-top:1px solid var(--ligne-n)}
  .recit-palace{background:var(--ivoire) var(--pave-clair);color:var(--encre);border-top:1px solid var(--ligne-i)}
  .recit-col .col-inner{max-width:560px;padding:0 9%}
  .recit-rue .col-inner{margin-left:auto}
  .recit-head{margin-bottom:4rem}
  .recit-head .plaque{margin-bottom:1.6rem}
  .recit-bloc{margin-bottom:4.5rem}
  .recit-bloc:last-child{margin-bottom:0}
  .recit-bloc .num{font-family:"Fraunces",serif;font-style:italic;font-size:1rem;color:var(--cuivre);display:block;margin-bottom:.8rem}
  .recit-bloc h3{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:400;margin-bottom:1rem}
  .recit-bloc p{font-size:1.04rem;opacity:.94;max-width:44ch}
  .recit-media{margin-top:1.6rem;border-radius:8px;overflow:hidden;aspect-ratio:4/3;border:1px solid currentColor}
  .recit-rue .recit-media{border-color:var(--ligne-n)}
  .recit-palace .recit-media{border-color:var(--ligne-i)}
  .recit-media img{width:100%;height:100%;object-fit:cover}

  /* ============ LA FUSION ============ */
  .fusion{
    position:relative;text-align:center;padding:11rem 0;
    background:
      linear-gradient(180deg, transparent 0%, rgba(21,16,10,.0) 60%),
      linear-gradient(100deg,var(--nuit-2) 0%,#3a2c1c 55%,#6e5236 115%);
    border-top:1px solid var(--ligne-n);overflow:hidden;
  }
  .fusion::before{content:"";position:absolute;inset:0;background:var(--pave-sombre);opacity:.7}
  .fusion .inner{position:relative;z-index:1}
  .fusion .label{display:block;margin-bottom:2rem}
  .fusion h2{font-size:clamp(2.8rem,7.5vw,6rem);color:var(--ivoire);margin-bottom:1.6rem}
  .fusion h2 em{color:var(--cuivre-clair)}
  .fusion p{max-width:52ch;margin:0 auto 2.8rem;color:rgba(243,236,223,.85);font-size:1.12rem}

  /* ============ PLAQUES GRAVÉES ============ */
  .mots{background:var(--nuit);border-top:1px solid var(--ligne-n);padding:8rem 0}
  .mots .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:4.5rem;align-items:center}
  .mots h2{font-size:clamp(2rem,4vw,3.2rem);color:var(--ivoire);margin:1.6rem 0 1.4rem}
  .mots h2 em{color:var(--cuivre-clair)}
  .mots p{color:rgba(243,236,223,.9);max-width:50ch;margin-bottom:1.1rem}
  .mots-chips{display:flex;flex-wrap:wrap;gap:1.4rem 1.1rem;margin:2.6rem 0 2.6rem}
  .mots-chips .plaque{padding:6px;margin-top:2.6em;border-radius:9px}
  .mots-chips .plaque::after{background-size:8px 8px;border-radius:9px;
    background-position:2px 2px, calc(100% - 2px) 2px, 2px calc(100% - 2px), calc(100% - 2px) calc(100% - 2px)}
  .mots-chips .rue{font-size:.78rem;letter-spacing:.13em;padding:.7em 1.1em .75em}
  .mots-chips .arr{font-size:.5rem;border-width:6px;bottom:calc(100% - 8px);
    min-width:55%;padding:.85em 1.3em .4em}
  .mots-media{border-radius:8px;overflow:hidden;border:1px solid var(--ligne-n);aspect-ratio:3/4;max-height:660px}
  .mots-media img{width:100%;height:100%;object-fit:cover}
  @media(max-width:960px){.mots{padding:5rem 0}.mots .grid{grid-template-columns:1fr;gap:2.5rem}}

  /* ============ CRÉATIONS ============ */
  .creations{background:var(--ivoire) var(--pave-clair);color:var(--encre);padding:8rem 0;border-top:1px solid var(--ligne-i)}
  .creations-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:4rem}
  .creations-head .plaque{margin-bottom:1.4rem}
  .creations-head h2{font-size:clamp(2rem,4.2vw,3.3rem);max-width:16ch;color:var(--encre)}
  .creations-head p{max-width:36ch;color:var(--brun-doux)}
  .crea{
    display:grid;grid-template-columns:.8fr 1.1fr 1.3fr auto;gap:2.4rem;align-items:center;
    padding:2.8rem 0;border-top:1px solid var(--ligne-i);transition:background .3s;
  }
  .crea:last-of-type{border-bottom:1px solid var(--ligne-i)}
  .crea:hover{background:rgba(36,26,17,.04)}
  .crea .idx{font-family:"Fraunces",serif;font-style:italic;color:var(--plaque);font-size:.98rem}
  .crea h3{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:400;color:var(--encre)}
  .crea p{color:var(--brun-doux);font-size:1rem;max-width:46ch}
  .crea .go{width:52px;height:52px;border:1px solid var(--encre);display:flex;align-items:center;justify-content:center;color:var(--encre);transition:.25s;flex:none}
  .crea:hover .go{background:var(--encre);color:var(--ivoire)}

  /* ============ RÉFÉRENCES ============ */
  .refs{background:var(--nuit);padding:7.5rem 0;text-align:center;border-top:1px solid var(--ligne-n)}
  .refs .plaque{margin-bottom:3rem}
  .refs-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:4.5rem}
  .refs-row span{border:1px dashed var(--ligne-n);color:rgba(243,236,223,.6);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;padding:1.2rem 2.2rem;min-width:170px}
  .refs blockquote{max-width:780px;margin:0 auto}
  .refs .q{font-family:"Fraunces",serif;font-style:italic;font-weight:300;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.35;color:var(--ivoire)}
  .refs cite{display:block;margin-top:1.6rem;font-style:normal;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,236,223,.72)}

  /* ============ GRANDE CTA ============ */
  .grand-cta{
    background:var(--plaque-fonce);position:relative;text-align:center;padding:9rem 0;overflow:hidden;
    border-top:1px solid var(--ligne-n);
  }
  .grand-cta::before{content:"";position:absolute;inset:0;background:var(--pave-sombre);opacity:.5}
  .grand-cta .inner{position:relative;z-index:1}
  .grand-cta h2{font-size:clamp(2.4rem,6vw,4.6rem);color:var(--blanc-casse);margin-bottom:1.4rem}
  .grand-cta h2 em{color:var(--cuivre-clair)}
  .grand-cta p{color:#e7d7c3;max-width:46ch;margin:0 auto 3rem;font-size:1.1rem}
  .grand-cta .row{display:flex;flex-wrap:wrap;gap:1.4rem;justify-content:center;align-items:center}
  .grand-cta .btn{border-color:var(--blanc-casse);color:var(--blanc-casse)}
  .grand-cta .btn:hover{background:var(--blanc-casse);color:var(--plaque-fonce)}
  .grand-cta .btn-plein{background:var(--cuivre);border-color:var(--cuivre);color:var(--nuit)}
  .grand-cta .tel{font-family:"Fraunces",serif;font-size:1.3rem;color:var(--blanc-casse)}

  /* ============ Footer ============ */
  footer{background:var(--nuit);border-top:1px solid var(--ligne-n);padding:5rem 0 2.5rem}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;margin-bottom:4rem;align-items:start}
  footer h4{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cuivre);margin-bottom:1.2rem;font-weight:600}
  footer p,footer li{color:rgba(243,236,223,.78);font-size:.95rem;line-height:2;list-style:none}
  footer a:hover{color:var(--ivoire)}
  .foot-bottom{border-top:1px solid var(--ligne-n);padding-top:1.8rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.78rem;letter-spacing:.08em;color:rgba(243,236,223,.55)}

  .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}
  .reveal.in{opacity:1;transform:none}

  /* ============ Responsive ============ */
  @media(max-width:960px){
    .nav{flex-direction:row;justify-content:space-between;padding:0;height:72px}
    .menu{display:none}
    .menu.open{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:flex-start;background:var(--nuit);border-bottom:1px solid var(--ligne-n);padding:1.6rem 32px;gap:1.4rem}
    .burger{display:flex}
    .brand img{height:70px}
    .hero{grid-template-columns:1fr;grid-template-rows:1fr 1fr;min-height:96vh}
    .hero-side-label{display:none}
    .recit{grid-template-columns:1fr}
    .recit-col .col-inner{max-width:640px;margin:0 auto;padding:0 32px}
    .recit-col{padding:5rem 0}
    .crea{grid-template-columns:1fr auto;grid-template-areas:"i g" "t g" "d g";gap:.8rem 1.6rem}
    .crea .idx{grid-area:i}.crea h3{grid-area:t}.crea p{grid-area:d}.crea .go{grid-area:g;align-self:center}
    .foot-grid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:600px){
    .hero-sub{font-size:1rem;padding:.9rem 1.1rem}
    .foot-grid{grid-template-columns:1fr}
    .paradoxe .inner{padding:5.5rem 24px}
    .creations,.refs{padding:5rem 0}
  }
  @media(prefers-reduced-motion:reduce){
    *{transition:none!important;scroll-behavior:auto!important}
    .reveal{opacity:1;transform:none}
  }

/* ==========================================================
   SOUS-PAGES : héro de page, rangées d'offres, formulaire
   ========================================================== */
.page-hero{position:relative;color:var(--ivoire);overflow:hidden;background:var(--nuit) var(--pave-sombre)}
.page-hero .bg{position:absolute;inset:0}
.page-hero .bg img{width:100%;height:100%;object-fit:cover;opacity:.45;filter:saturate(.85)}
.page-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,16,10,.5),rgba(21,16,10,.93))}
.page-hero .inner{position:relative;z-index:1;padding:6.5rem 0 5rem;text-align:center}
.page-hero h1{font-size:var(--fs-h1);font-weight:300;color:var(--ivoire);margin:2rem auto 1.2rem;max-width:18ch}
.page-hero h1 em{color:var(--cuivre-clair)}
.page-hero p{font-size:var(--fs-lead);color:rgba(243,236,223,.9);max-width:58ch;margin:0 auto}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:4.5rem 0;border-top:1px solid var(--ligne-n)}
.duo:first-of-type{border-top:0}
.duo.inverse .duo-media{order:-1}
.duo-media{border-radius:8px;overflow:hidden;aspect-ratio:5/4;border:1px solid var(--ligne-n)}
.duo-media img{width:100%;height:100%;object-fit:cover}
.duo-texte .idx{font-family:"Fraunces",serif;font-style:italic;color:var(--cuivre);display:block;margin-bottom:.8rem}
.duo-texte h2{font-size:var(--fs-h3);font-weight:400;color:var(--ivoire);margin-bottom:1rem;font-size:clamp(1.6rem,2.8vw,2.2rem)}
.duo-texte p{color:rgba(243,236,223,.9);margin-bottom:1.2rem;max-width:50ch}
.duo-texte ul{list-style:none;display:grid;gap:.7rem;margin:0 0 1.8rem;padding:0}
.duo-texte li{display:flex;gap:.8rem;align-items:flex-start;color:var(--ivoire)}
.duo-texte li::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--cuivre);margin-top:.55em;flex:none}

.sur-ivoire{background:var(--ivoire) var(--pave-clair);color:var(--encre)}
.sur-ivoire .duo{border-top-color:var(--ligne-i)}
.sur-ivoire .duo-media{border-color:var(--ligne-i)}
.sur-ivoire .duo-texte h2{color:var(--encre)}
.sur-ivoire .duo-texte p{color:var(--brun-doux)}
.sur-ivoire .duo-texte li{color:var(--encre)}

.section{padding:6rem 0}
.section-centre{text-align:center;max-width:680px;margin:0 auto 3.5rem}
.section-centre h2{font-size:var(--fs-h2);font-weight:300;color:var(--ivoire);margin:1.8rem 0 1rem}
.section-centre h2 em{color:var(--cuivre-clair)}
.section-centre p{color:rgba(243,236,223,.9);font-size:var(--fs-lead)}
.sur-ivoire .section-centre h2{color:var(--encre)}
.sur-ivoire .section-centre p{color:var(--brun-doux)}

.prose{max-width:760px;margin:0 auto}
.prose p{font-size:var(--fs-lead);color:rgba(243,236,223,.92);margin-bottom:1.3rem}
.prose p.lead{font-size:1.28rem;color:var(--ivoire)}
.prose strong{color:var(--ivoire)}

.etapes{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}
.etape{border:1px solid var(--ligne-n);border-radius:8px;padding:1.8rem;background:rgba(243,236,223,.03)}
.etape .n{font-family:"Fraunces",serif;font-style:italic;font-size:1.6rem;color:var(--cuivre);display:block;margin-bottom:.6rem}
.etape h3{font-size:1.1rem;font-weight:600;color:var(--ivoire);margin-bottom:.4rem;font-family:"Hanken Grotesk",sans-serif}
.etape p{font-size:.95rem;color:rgba(243,236,223,.85)}

/* ---- Formulaire (page contact) ---- */
.contact-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:3.5rem;align-items:start;padding:5rem 0}
.carte-form{background:rgba(243,236,223,.04);border:1px solid var(--ligne-n);border-radius:10px;padding:2.6rem}
.carte-form h2{font-size:1.7rem;font-weight:400;color:var(--ivoire);margin-bottom:.4rem}
.carte-form .sub{color:rgba(243,236,223,.75);margin-bottom:1.8rem;font-size:.95rem}
.field{margin-bottom:1.2rem}
.field label{display:block;font-weight:600;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.45rem;color:var(--cuivre-clair)}
.field input,.field select,.field textarea{width:100%;padding:.85rem .95rem;border:1px solid var(--ligne-n);border-radius:8px;font-family:inherit;font-size:1rem;color:var(--ivoire);background:rgba(21,16,10,.5);transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cuivre)}
.field textarea{resize:vertical;min-height:130px}
.field select option{color:var(--encre)}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.form-note{font-size:.8rem;color:rgba(243,236,223,.6);margin-top:1rem}
.ok-msg{display:none;background:rgba(80,140,90,.18);border:1px solid rgba(140,200,150,.5);color:#bfe3c8;border-radius:8px;padding:1rem 1.2rem;margin-bottom:1.2rem;font-weight:500}
.carte-info{background:var(--plaque);border:1px solid var(--ligne-n);border-radius:10px;padding:2.4rem;color:var(--ivoire)}
.carte-info h3{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cuivre-clair);margin:1.8rem 0 .6rem;font-family:"Hanken Grotesk",sans-serif;font-weight:600}
.carte-info h3:first-child{margin-top:0}
.carte-info p,.carte-info a{font-size:1.05rem;line-height:1.7}
.carte-info a:hover{color:var(--cuivre-clair)}

@media(max-width:960px){
  .duo{grid-template-columns:1fr;gap:2rem;padding:3.2rem 0}
  .duo.inverse .duo-media{order:0}
  .etapes{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr;gap:2.2rem}
}
@media(max-width:600px){
  .etapes{grid-template-columns:1fr}
  .deux{grid-template-columns:1fr}
  .section{padding:4rem 0}
}

/* ---- FAQ ---- */
.faq{border:1px solid var(--ligne-n);border-radius:8px;margin-bottom:.9rem;background:rgba(243,236,223,.03)}
.faq summary{cursor:pointer;padding:1.1rem 1.4rem;font-weight:600;color:var(--ivoire);list-style:none;position:relative;padding-right:3rem}
.faq summary::after{content:"+";position:absolute;right:1.3rem;top:50%;transform:translateY(-50%);color:var(--cuivre);font-size:1.4rem;font-weight:400}
.faq[open] summary::after{content:"–"}
.faq p{padding:0 1.4rem 1.2rem;color:rgba(243,236,223,.88);max-width:65ch}

/* ---- Avis & témoignages ---- */
.temoignage{border:1px solid var(--ligne-n);border-radius:10px;padding:2.2rem;margin-bottom:1.4rem;background:rgba(243,236,223,.03)}
.temoignage .stars{color:var(--cuivre-clair);letter-spacing:.2em;margin-bottom:1rem}
.temoignage .q{font-family:"Fraunces",serif;font-style:italic;font-weight:300;font-size:1.3rem;line-height:1.45;color:var(--ivoire);margin-bottom:1.2rem}
.temoignage footer{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:baseline}
.temoignage cite{font-style:normal;font-weight:600;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(243,236,223,.8)}
.temoignage .date{font-size:.8rem;color:rgba(243,236,223,.5)}
.avis-vide{text-align:center;color:rgba(243,236,223,.6);font-style:italic;padding:1rem 0}

/* ---- Pages légales ---- */
.legal h1{font-size:var(--fs-h2);font-weight:300;color:var(--ivoire);margin-bottom:2rem}
.legal h2{font-size:1.25rem;font-weight:600;color:var(--cuivre-clair);margin:2.4rem 0 .8rem;font-family:"Hanken Grotesk",sans-serif}
.legal p{font-size:1.02rem;color:rgba(243,236,223,.88);margin-bottom:1rem}
.legal a{color:var(--cuivre-clair);text-decoration:underline}
.legal .avert{border:1px solid var(--cuivre);border-radius:8px;padding:1rem 1.2rem;color:var(--cuivre-clair);font-size:.95rem}
.legal .maj{margin-top:3rem;font-size:.85rem;color:rgba(243,236,223,.55)}
