/*
Theme Name: E-interiorconcept
Theme URI: https://www.e-interiorconcept.com
Author: Mélanie Paravanos
Description: Thème sur-mesure pour E-interiorconcept, agence d'architecture d'intérieur en ligne. Charte graphique vert bouteille / laiton, typographies Fraunces et Inter.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: e-interiorconcept
*/

/* ==========================================================================
   Le CSS ci-dessous reprend intégralement la charte graphique validée
   pendant la conception de la maquette (couleurs, typographies, mise en page).
   ========================================================================== */


  :root{
    --ink:#21231F;
    --paper:#F1ECE1;
    --paper-2:#E8DECB;
    --green:#2E3B31;
    --green-deep:#1C2721;
    --brass:#AC7C34;
    --brass-light:#D3A85C;
    --rust:#A85C43;
    --line: rgba(33,35,31,0.20);
    --line-soft: rgba(33,35,31,0.10);
    --white:#FBF9F4;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--paper); color:var(--ink); font-family:'Inter', sans-serif; font-size:16px; line-height:1.5; -webkit-font-smoothing:antialiased;}
  a{color:inherit; text-decoration:none;}
  img{display:block; width:100%; height:100%; object-fit:cover;}
  button{font-family:inherit; cursor:pointer;}
  :focus-visible{outline:2px solid var(--brass); outline-offset:3px;}
  .mono{font-family:'IBM Plex Mono', monospace; letter-spacing:0.03em;}
  .eyebrow{font-family:'IBM Plex Mono', monospace; font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--brass); display:flex; align-items:center; gap:8px;}
  .eyebrow::before{content:'+'; font-size:13px;}
  h1,h2,h3{font-family:'Fraunces', serif; font-weight:500; line-height:1.08; letter-spacing:-0.01em;}
  .wrap{max-width:1440px; margin:0 auto; padding:0 32px;}
  section{position:relative;}

  .plan-card{position:relative; border:1px solid var(--line);}
  .plan-card::before,.plan-card::after,.plan-card .cA::before,.plan-card .cA::after{
    content:''; position:absolute; width:9px; height:9px; border-color:var(--brass); pointer-events:none;
  }
  .plan-card::before{top:-1px;left:-1px; border-top:1.5px solid; border-left:1.5px solid;}
  .plan-card::after{top:-1px;right:-1px; border-top:1.5px solid; border-right:1.5px solid;}
  .plan-card .cA::before{position:absolute; bottom:-1px;left:-1px; border-bottom:1.5px solid; border-left:1.5px solid;}
  .plan-card .cA::after{position:absolute; bottom:-1px;right:-1px; border-bottom:1.5px solid; border-right:1.5px solid;}
  .dim{font-family:'IBM Plex Mono', monospace; font-size:10.5px; color:rgba(33,35,31,0.55); letter-spacing:0.04em;}

  header{position:sticky; top:0; z-index:50; background:rgba(241,236,225,0.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
  header .wrap{display:flex; align-items:center; justify-content:space-between; height:92px;}
  .logo{font-family:'Fraunces', serif; font-size:20px; font-weight:500; display:flex; align-items:center;}
  .logo-svg{height:74px; max-width:260px; width:auto; display:block;}
  .logo span{color:var(--brass);}
  nav ul{display:flex; gap:34px; list-style:none;}
  nav a{font-size:14.5px; position:relative; padding:6px 0;}
  nav a::after{content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--brass); transition:width .25s ease;}
  nav a:hover::after{width:100%;}
  @media (max-width:980px){nav{display:none;} header .wrap{height:auto; padding:14px 32px; flex-wrap:wrap; gap:10px;} header .btn{padding:10px 16px; font-size:12px;} .logo-svg{height:56px;}}
  .btn{display:inline-flex; align-items:center; gap:8px; padding:12px 22px; font-size:13.5px; font-weight:500; letter-spacing:0.02em; border:1px solid var(--ink); background:var(--ink); color:var(--white); transition:background .2s ease, color .2s ease, border-color .2s ease;}
  .btn:hover{background:var(--green); border-color:var(--green);}
  .btn-outline{background:transparent; color:var(--ink); border:1px solid var(--ink);}
  .btn-outline:hover{background:var(--ink); color:var(--white);}
  .btn-brass{background:var(--brass); border-color:var(--brass); color:var(--white);}
  .btn-brass:hover{background:#94692B; border-color:#94692B;}

  .hero{
    position:relative; padding:120px 0 90px; overflow:hidden; color:var(--white);
    background-size:cover; background-position:center;
  }
  .hero-overlay{
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(100deg, rgba(20,28,23,0.95) 22%, rgba(20,28,23,0.7) 58%, rgba(172,124,52,0.3) 100%);
  }
  .hero .wrap{position:relative; z-index:2; display:grid; grid-template-columns:1.15fr 0.85fr; gap:60px; align-items:center;}

  .guarantee-strip{background:var(--white); border-bottom:1px solid var(--line); padding:22px 0;}
  .guarantee-row{display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px;}
  .guarantee-item{display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink); flex:1; min-width:200px;}
  .guarantee-item .ic{width:32px; height:32px; border-radius:50%; background:var(--paper-2); display:flex; align-items:center; justify-content:center; color:var(--brass); font-size:14px; flex-shrink:0;}
  .hero .eyebrow{margin-bottom:22px; color:var(--brass-light);}
  .hero h1{font-size:50px; max-width:560px; margin-bottom:22px; color:var(--white);}
  .hero h1 em{font-style:italic; color:var(--brass-light);}
  .hero p.lead{font-size:17px; max-width:440px; color:rgba(251,249,244,0.78); margin-bottom:34px;}
  .hero-actions{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
  .hero-actions .from{font-family:'IBM Plex Mono', monospace; font-size:12.5px; color:rgba(251,249,244,0.6);}
  .hero-actions .from b{color:var(--brass-light); font-size:15px;}
  .hero .btn:not(.btn-brass){background:transparent; border-color:rgba(251,249,244,0.5); color:var(--white);}
  .hero .btn:not(.btn-brass):hover{background:var(--white); color:var(--ink); border-color:var(--white);}
  .selector-card .dim{color:rgba(251,249,244,0.65); background:var(--green-deep); padding:4px 8px;}

  .selector-card{background:var(--white); padding:32px; position:relative; box-shadow:0 30px 60px rgba(20,28,23,0.28);}
  .selector-card .dim{position:absolute; top:-20px; left:0;}
  .selector-card h3{font-size:19px; margin-bottom:4px;}
  .selector-card .sub{font-size:13px; color:rgba(33,35,31,0.6); margin-bottom:22px;}
  .room-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:22px;}
  @media (max-width:420px){.room-grid{grid-template-columns:1fr;}}
  .room-opt{border:1px solid var(--line); padding:14px; text-align:left; background:transparent; font-size:13.5px; display:flex; flex-direction:column; gap:6px; transition:border-color .2s ease, background .2s ease;}
  .room-opt .price{font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--brass);}
  .room-opt:hover{border-color:var(--brass);}
  .room-opt.active{background:var(--green); border-color:var(--green); color:var(--white);}
  .room-opt.active .price{color:var(--brass-light);}
  .selector-total{display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); padding-top:18px; margin-bottom:18px;}
  .selector-total .lbl{font-size:12.5px; color:rgba(33,35,31,0.6);}
  .selector-total .val{font-family:'Fraunces', serif; font-size:26px;}
  .selector-card .btn{width:100%; justify-content:center;}

  .steps{padding:100px 0; background:var(--white);}

  .compare-sec{padding:100px 0; background:var(--paper);}
  .compare-split{display:grid; grid-template-columns:1.6fr 1fr; gap:0; background:var(--white); border:1px solid var(--line);}
  .compare-wrap{position:relative; aspect-ratio:16/11; overflow:hidden; user-select:none; cursor:ew-resize;}
  .compare-img{position:absolute; inset:0;}
  .compare-after{clip-path:inset(0 50% 0 0);}
  .compare-avatar{position:absolute; top:18px; left:18px; z-index:3; width:52px; height:52px; border-radius:50%; background:var(--green); color:var(--white); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:16px; border:3px solid var(--white); box-shadow:0 4px 14px rgba(0,0,0,0.18);}
  .compare-label{position:absolute; right:18px; z-index:3; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.08em; background:var(--paper); color:var(--ink); padding:6px 12px;}
  .compare-label.before{top:18px;}
  .compare-label.after{top:56px;}
  .compare-slider{position:absolute; top:0; bottom:0; left:50%; width:2px; background:var(--white); cursor:ew-resize; z-index:2;}
  .compare-slider .handle{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:40px; height:40px; border-radius:50%; background:var(--white); display:flex; align-items:center; justify-content:center; color:var(--ink); font-size:13px; box-shadow:0 4px 14px rgba(0,0,0,0.25); gap:2px;}
  .compare-dots{position:absolute; bottom:16px; left:18px; z-index:3; display:flex; gap:6px;}
  .compare-dots span{width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,0.55);}
  .compare-dots span.on{background:var(--white);}
  .compare-content{padding:44px 40px; display:flex; flex-direction:column; justify-content:center;}
  .compare-content h3{font-size:30px; margin-bottom:22px; max-width:360px;}
  .compare-pills{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px;}
  .compare-pill{display:flex; align-items:center; gap:7px; background:var(--paper-2); padding:9px 13px; font-size:12.5px; border-radius:4px;}
  .compare-pill .ic{color:var(--brass); font-size:13px;}
  .compare-content p.desc{font-size:14.5px; color:rgba(33,35,31,0.7); margin-bottom:30px; max-width:380px;}
  @media (max-width:900px){.compare-split{grid-template-columns:1fr;} .compare-wrap{aspect-ratio:4/3;}}
  .section-head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:56px; gap:24px; flex-wrap:wrap;}
  .section-head h2{font-size:34px; max-width:520px;}
  .section-head p{max-width:340px; font-size:14.5px; color:rgba(33,35,31,0.65); padding-bottom:4px;}
  .steps-row{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line);}
  .step{background:var(--white); padding:34px 26px; position:relative; transition:transform .3s ease, box-shadow .3s ease;}
  .step:hover{transform:translateY(-5px); box-shadow:0 16px 30px rgba(33,35,31,0.09); z-index:2;}
  .step .dim{margin-bottom:26px;}
  .step h4{font-family:'Fraunces', serif; font-size:19px; font-weight:500; margin-bottom:10px;}
  .step p{font-size:13.5px; color:rgba(33,35,31,0.65);}
  @media (max-width:860px){.steps-row{grid-template-columns:1fr 1fr;}}

  .gallery{padding:100px 0; background:var(--paper-2);}
  .filters{display:flex; gap:8px; margin-bottom:34px; flex-wrap:wrap;}
  .filter-btn{padding:9px 16px; font-size:13px; border:1px solid var(--line); background:transparent; transition:all .2s ease; white-space:nowrap;}
  .filter-btn.active, .filter-btn:hover{background:var(--green); color:var(--white); border-color:var(--green);}
  .gallery-track-wrap{position:relative;}
  .grid-gallery{display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; scrollbar-width:none; -ms-overflow-style:none;}
  .grid-gallery::-webkit-scrollbar{display:none;}
  .g-item{flex:0 0 260px; aspect-ratio:3/4; position:relative; overflow:hidden; cursor:pointer; display:block; scroll-snap-align:start;}
  .g-item img{transition:transform .4s ease;}
  .g-item:hover img{transform:scale(1.05);}
  .g-item .tags{position:absolute; top:12px; left:12px; right:12px; display:flex; flex-wrap:nowrap; gap:5px; z-index:2; overflow:hidden;}
  .g-item .tags span{background:rgba(251,249,244,0.94); color:var(--ink); font-size:10px; padding:5px 7px; display:flex; align-items:center; gap:3px; border-radius:3px; white-space:nowrap; flex-shrink:0;}
  .g-item .tags span .ic{color:var(--brass); font-size:9.5px;}
  .g-item .info{position:absolute; left:0; right:0; bottom:0; padding:14px; background:linear-gradient(0deg, rgba(28,39,33,0.9), transparent 75%); color:var(--white);}
  .g-item .info b{font-family:'Fraunces', serif; font-size:15.5px; font-weight:600; line-height:1.25; display:block;}
  .g-item.empty{cursor:default; border:1.5px dashed var(--brass); background:var(--white); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:20px;}
  .g-item.empty .plus{font-size:30px; color:var(--brass); margin-bottom:12px; line-height:1;}
  .g-item.empty .lbl{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--brass); line-height:1.5;}
  .gallery-nav{position:absolute; top:50%; left:0; right:0; transform:translateY(-50%); display:flex; justify-content:space-between; pointer-events:none; z-index:5; padding:0 6px;}
  .gallery-nav button{width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:rgba(251,249,244,0.94); cursor:pointer; font-size:16px; color:var(--ink); display:flex; align-items:center; justify-content:center; pointer-events:auto; box-shadow:0 4px 14px rgba(33,35,31,0.12);}
  .gallery-nav button:hover{background:var(--ink); color:var(--white); border-color:var(--ink);}
  @media (max-width:600px){.g-item{flex-basis:230px;}}
  @media (min-width:1500px){
    .grid-gallery{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); overflow-x:visible;}
    .g-item{flex-basis:auto;}
    .gallery-nav{display:none;}
  }
  @media (min-width:1500px){
    .gallery .wrap{max-width:1760px;}
  }

  .project-modal{position:fixed; inset:0; z-index:200; display:none; align-items:center; justify-content:center; padding:24px;}
  .project-modal.open{display:flex;}
  .project-modal-backdrop{position:absolute; inset:0; background:rgba(20,28,23,0.78);}
  .project-modal-box{position:relative; z-index:2; background:var(--white); max-width:940px; width:100%; max-height:88vh; overflow:auto; display:grid; grid-template-columns:1.1fr 1fr;}
  .pm-img-wrap{position:relative; min-height:320px; overflow:hidden; background:var(--paper-2);}
  .pm-img-wrap .pm-img{position:absolute; inset:0; background-size:cover; background-position:center;}
  .pm-img-wrap .pm-img.placeholder{display:flex; align-items:center; justify-content:center; border:1.5px dashed var(--brass); background:var(--paper-2);}
  .pm-img-wrap .pm-img.placeholder span{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--brass); text-align:center; line-height:1.4; letter-spacing:0.03em;}
  .pm-arrow{position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border-radius:50%; background:rgba(251,249,244,0.92); border:none; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:17px; z-index:4; color:var(--ink);}
  .pm-arrow:hover{background:var(--white);}
  .pm-arrow.prev{left:14px;}
  .pm-arrow.next{right:14px;}
  .pm-dots{position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:6px; z-index:4;}
  .pm-dots span{width:7px; height:7px; border-radius:50%; background:rgba(251,249,244,0.55); cursor:pointer; border:1px solid rgba(33,35,31,0.15);}
  .pm-dots span.on{background:var(--brass);}
  .pm-count{position:absolute; top:14px; left:14px; z-index:4; background:rgba(20,28,23,0.65); color:var(--white); font-family:'IBM Plex Mono',monospace; font-size:10.5px; padding:5px 9px;}
  .project-modal-close{position:absolute; top:14px; right:14px; z-index:5; width:36px; height:36px; border-radius:50%; background:var(--white); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:16px; line-height:1;}
  .project-modal-content{padding:44px 38px; display:flex; flex-direction:column; justify-content:center;}
  .project-modal-content h3{font-size:27px; margin-bottom:20px;}
  .project-modal-content .compare-pills{margin-bottom:24px;}
  .project-modal-content p.desc{font-size:14px; color:rgba(33,35,31,0.7); margin-bottom:28px;}
  @media (max-width:760px){.project-modal-box{grid-template-columns:1fr;} .pm-img-wrap{min-height:260px;}}

  .offers{padding:100px 0; background:var(--white); overflow:hidden;}
  .offer-row{display:grid; grid-template-columns:repeat(3,1fr); align-items:stretch;}
  .offer-card{
    padding:36px 40px 0; display:flex; flex-direction:column; position:relative;
    transition:transform .28s ease, box-shadow .28s ease; border-radius:2px;
  }
  .offer-card:hover{transform:translateY(-6px); box-shadow:0 18px 34px rgba(33,35,31,0.10); background:var(--white); z-index:2;}
  .offer-card + .offer-card{border-left:1px solid var(--brass); border-image:linear-gradient(180deg, transparent, var(--brass) 15%, var(--brass) 85%, transparent) 1;}
  .offer-card.featured{background:var(--paper-2);}
  .offer-card.featured::before{
    content:'LE PLUS CHOISI'; position:absolute; top:-1px; left:50%; transform:translateX(-50%);
    background:var(--brass); color:var(--white); font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.08em;
    padding:6px 16px; white-space:nowrap;
  }
  .offer-icon{
    width:52px; height:52px; border-radius:50%; background:var(--paper-2); color:var(--brass);
    display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:22px;
    transition:background .28s ease, color .28s ease, transform .28s ease;
  }
  .offer-card:hover .offer-icon{background:var(--brass); color:var(--white); transform:scale(1.08) rotate(-4deg);}
  .offer-card h3{font-family:'Fraunces',serif; font-weight:600; font-size:22px; margin-bottom:6px;}
  .offer-card .tagline{font-size:13.5px; color:rgba(33,35,31,0.6); margin-bottom:26px;}
  .offer-card .price{font-family:'Inter',sans-serif; font-weight:800; font-size:40px; letter-spacing:-0.01em; margin-bottom:28px; text-transform:uppercase; transition:color .25s ease;}
  .offer-card:hover .price{color:var(--brass);}
  .offer-card .price .lbl-dès{font-family:'Inter',sans-serif; font-weight:400; font-size:16px; text-transform:none; margin-right:6px;}
  .offer-card .price sup{font-size:14px; font-weight:500; text-transform:none; margin-left:4px; color:rgba(33,35,31,0.55);}
  .offer-card ul{list-style:none; margin-bottom:30px; flex:1;}
  .offer-card li{font-size:14px; padding:9px 0; display:flex; align-items:flex-start; gap:10px; opacity:0; transform:translateX(-6px); animation:offerLiIn .4s ease forwards;}
  .offer-card li::before{content:'✓'; color:var(--ink); font-weight:700; flex-shrink:0; margin-top:1px; transition:color .25s ease;}
  .offer-card:hover li::before{color:var(--brass);}
  @keyframes offerLiIn{to{opacity:1; transform:translateX(0);}}
  .offer-card .btn{width:100%; justify-content:center; padding:16px 20px; margin-bottom:36px;}
  .offer-card .select-btn{width:100%; background:var(--ink); color:var(--white); padding:14px 18px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; border:none; margin-bottom:36px; transition:background .25s ease;}
  .offer-card:hover .select-btn{background:var(--green);}
  .offer-card .select-btn .txt{text-align:left;}
  .offer-card .select-btn .txt .top{display:block; font-size:11.5px; color:rgba(251,249,244,0.6); margin-bottom:3px;}
  .offer-card .select-btn .txt .bottom{display:block; font-family:'Fraunces',serif; font-size:15px;}
  .offer-card .select-btn .chevron{font-size:14px; color:var(--brass-light);}
  @media (max-width:860px){.offer-row{grid-template-columns:1fr; gap:50px;} .offer-card{padding-top:0;} .offer-card + .offer-card{border-left:none; border-top:1px solid var(--brass); padding-top:40px;} .offer-card:hover{transform:none;}}
  @media (prefers-reduced-motion: reduce){.offer-card, .offer-icon, .offer-card li{animation:none; transition:none;}}

  .architect{padding:100px 0; background:var(--white);}
  .architect .wrap{display:grid; grid-template-columns:0.8fr 1.2fr; gap:70px; align-items:center;}
  .arch-photo{aspect-ratio:4/5; position:relative; overflow:hidden;}
  .arch-photo .mono{position:absolute; left:22px; bottom:22px; color:var(--white); font-size:11.5px; background:rgba(28,39,33,0.55); padding:6px 10px;}
  .arch-copy .eyebrow{margin-bottom:20px;}
  .arch-copy h2{font-size:32px; margin-bottom:18px; max-width:480px;}
  .arch-copy p{font-size:15px; color:rgba(33,35,31,0.7); max-width:480px; margin-bottom:30px;}
  .arch-stats{display:grid; grid-template-columns:repeat(3,auto); gap:44px;}
  .arch-stats div{text-align:center;}
  .arch-stats div b{display:block; font-family:'Fraunces', serif; font-size:28px; margin-bottom:4px;}
  .arch-stats div span{font-size:12px; color:rgba(33,35,31,0.55);}
  @media (max-width:860px){.architect .wrap{grid-template-columns:1fr;}}

  .quiz-band{padding:70px 0; background:var(--ink); color:var(--white);}
  .quiz-inner{display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;}
  .quiz-inner h2{font-size:28px; max-width:520px; color:var(--white);}
  .quiz-inner p{font-size:14px; color:rgba(251,249,244,0.6); margin-top:8px; max-width:480px;}

  .testi{padding:100px 0; background:var(--paper);}
  .testi-row{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .testi-card{background:var(--white); border:1px solid var(--line); overflow:hidden; transition:transform .3s ease, box-shadow .3s ease;}
  .testi-card:hover{transform:translateY(-5px); box-shadow:0 16px 30px rgba(33,35,31,0.09);}
  .testi-photo{aspect-ratio:4/3; position:relative; background:var(--paper-2); border-bottom:1.5px dashed var(--brass);}
  .testi-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .testi-photo .ph-placeholder{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.04em; color:var(--brass); text-align:center; line-height:1.5;}
  .testi-body{padding:24px;}
  .stars{color:var(--brass); font-size:13px; margin-bottom:12px; letter-spacing:2px;}
  .testi-body p{font-size:13.5px; color:rgba(33,35,31,0.75); margin-bottom:18px;}
  .testi-name{display:flex; flex-direction:column; border-top:1px solid var(--line-soft); padding-top:14px;}
  .testi-name b{font-family:'Fraunces', serif; font-size:15px;}
  .testi-name span{font-size:11.5px; color:rgba(33,35,31,0.5);}
  @media (max-width:860px){.testi-row{grid-template-columns:1fr;}}

  .trust-bar{
    display:flex; align-items:center; justify-content:center; gap:36px; flex-wrap:wrap;
    background:var(--white); border:1px solid var(--line); padding:26px 36px; margin-bottom:56px;
  }
  .trust-item{display:flex; align-items:center; gap:10px;}
  .trust-sep{width:1px; height:32px; background:var(--line);}
  @media (max-width:700px){.trust-sep{display:none;} .trust-bar{gap:24px; padding:24px 20px;}}

  .trust-google{text-decoration:none; color:var(--ink); flex-wrap:wrap;}
  .trust-google .g-logo{font-family:'Inter',sans-serif; font-weight:700; font-size:18px; letter-spacing:-0.01em;}
  .trust-google .g-logo span:nth-child(1){color:#4285F4;}
  .trust-google .g-logo span:nth-child(2){color:#EA4335;}
  .trust-google .g-logo span:nth-child(3){color:#FBBC05;}
  .trust-google .g-logo span:nth-child(4){color:#4285F4;}
  .trust-google .g-logo span:nth-child(5){color:#34A853;}
  .trust-google .g-logo span:nth-child(6){color:#EA4335;}
  .trust-google .rating{display:flex; align-items:center; gap:7px;}
  .trust-google .stars{color:var(--brass); font-size:13px; letter-spacing:1px;}
  .trust-google .score{font-family:'Fraunces',serif; font-weight:600; font-size:15px;}
  .trust-google .count{font-size:11.5px; color:rgba(33,35,31,0.5);}
  .trust-google:hover .score{color:var(--brass);}

  .trust-logo{font-family:'Fraunces',serif; font-weight:600; font-size:20px; color:rgba(33,35,31,0.35); filter:grayscale(100%); transition:color .2s ease; letter-spacing:0.01em; cursor:default;}
  .trust-logo:hover{color:var(--ink);}
  .trust-logo.sans{font-family:'Inter',sans-serif; font-weight:700; text-transform:uppercase; font-size:13.5px; letter-spacing:0.02em;}
  .trust-slot{border:1.5px dashed var(--brass); color:var(--brass); font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:0.04em; padding:10px 16px; text-align:center; line-height:1.3;}

  .faq{padding:100px 0; background:var(--paper-2);}
  .faq-list{max-width:760px;}
  .faq-item{border-bottom:1px solid var(--line); padding:22px 0;}
  .faq-item summary{cursor:pointer; font-family:'Fraunces',serif; font-size:17px; font-weight:500; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary .plus{font-family:'IBM Plex Mono',monospace; color:var(--brass); font-size:20px; flex-shrink:0;}
  .faq-item[open] summary .plus{transform:rotate(45deg); display:inline-block;}
  .faq-item p{margin-top:14px; font-size:14px; color:rgba(33,35,31,0.7); max-width:640px;}
  .faq-contact{margin-top:50px; padding-top:40px; border-top:1px solid var(--line); text-align:center;}
  .faq-contact p{font-size:15px; margin-bottom:20px;}
  .faq-contact-btns{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

  .sticky-cta{position:fixed; left:0; right:0; bottom:0; z-index:60; background:var(--ink); color:var(--white); padding:14px 0; border-top:1px solid rgba(251,249,244,0.15);}
  .sticky-cta .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
  .sticky-cta .txt{font-size:13px; color:rgba(251,249,244,0.75);}
  .sticky-cta .txt b{color:var(--brass-light); font-family:'Fraunces',serif; font-size:17px; display:block;}
  body{padding-bottom:76px;}
  @media (max-width:600px){.sticky-cta .txt{display:none;}}

  .news{padding:90px 0; background:var(--green); color:var(--white);}
  .news-inner{display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
  .news-inner h2{font-size:30px; color:var(--white); max-width:420px;}
  .news-inner p{font-size:13.5px; color:rgba(251,249,244,0.6); margin-top:10px;}
  .news-form{display:flex; min-width:360px;}
  .news-form input{flex:1; background:transparent; border:1px solid rgba(251,249,244,0.35); border-right:none; padding:15px 18px; color:var(--white); font-size:14px;}
  .news-form input::placeholder{color:rgba(251,249,244,0.45);}
  .news-form button{padding:15px 24px; background:var(--brass); border:1px solid var(--brass); color:var(--white); font-size:13.5px; font-weight:500;}
  @media (max-width:700px){.news-inner{flex-direction:column; align-items:flex-start;} .news-form{min-width:0; width:100%;}}

  .booking-float{
    position:fixed; right:0; top:58%; transform:translateY(-50%); z-index:55;
    background:var(--white); border:1px solid var(--line); border-right:none;
    width:220px; padding:22px 20px; box-shadow:-6px 0 20px rgba(33,35,31,0.08);
  }
  .booking-float .ic{width:34px; height:34px; border-radius:50%; background:var(--green); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:15px; margin-bottom:14px;}
  .booking-float .tag2{font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.08em; color:var(--brass); text-transform:uppercase; margin-bottom:6px;}
  .booking-float h4{font-family:'Fraunces',serif; font-size:17px; font-weight:500; margin-bottom:8px; line-height:1.2;}
  .booking-float p{font-size:12px; color:rgba(33,35,31,0.6); margin-bottom:16px; line-height:1.4;}
  .booking-float .btn{width:100%; justify-content:center; padding:11px 14px; font-size:12.5px;}
  @media (max-width:1150px){.booking-float{display:none;}}

  footer{padding:70px 0 30px; background:var(--ink); color:rgba(251,249,244,0.7);}
  .foot-top{display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:30px; padding-bottom:50px; border-bottom:1px solid rgba(251,249,244,0.12);}
  .foot-top .logo{color:var(--white); margin-bottom:14px;}
  .logo-svg-footer{height:56px; width:auto; max-width:220px; display:block; margin-bottom:16px;}
  @media (max-width:700px){.logo-svg-footer{height:48px;}}
  .foot-top p{font-size:13px; color:rgba(251,249,244,0.5); max-width:220px;}
  .foot-col .mono{color:rgba(251,249,244,0.4); font-size:11px; margin-bottom:16px;}
  .foot-col ul{list-style:none;}
  .foot-col li{margin-bottom:10px; font-size:13.5px;}
  .foot-col a:hover{color:var(--brass-light);}
  .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:26px; font-size:12px; color:rgba(251,249,244,0.4); flex-wrap:wrap; gap:12px;}
  .foot-social{display:flex; gap:10px;}
  .foot-social a{width:34px; height:34px; border-radius:50%; border:1px solid rgba(251,249,244,0.25); display:flex; align-items:center; justify-content:center; color:rgba(251,249,244,0.75); font-size:14px; font-weight:600; transition:.2s;}
  .foot-social a:hover{background:var(--brass-light); color:var(--green-deep); border-color:var(--brass-light);}
  @media (max-width:700px){.foot-top{grid-template-columns:1fr 1fr;}}
  @media (max-width:620px){.hero h1{font-size:36px;} .hero .wrap{grid-template-columns:1fr;}}
  @media (prefers-reduced-motion: reduce){*{transition:none !important;}}

  .scroll-progress{position:fixed; top:0; left:0; height:3px; width:0%; background:var(--brass); z-index:100; transition:width .1s linear;}

  @keyframes heroZoom{from{transform:scale(1.08);} to{transform:scale(1);}}
  .hero{animation:heroZoom 1.6s ease-out both;}
  @media (prefers-reduced-motion: reduce){.hero{animation:none;}}

  .btn{position:relative; overflow:hidden;}
  .btn:active{transform:scale(0.96);}

  .arch-stats div b{transition:color .2s ease;}

  .cookie-banner{position:fixed; left:0; right:0; bottom:0; z-index:200; background:var(--ink); color:var(--white); padding:22px 0; box-shadow:0 -8px 24px rgba(0,0,0,0.2); transform:translateY(110%); transition:transform .4s ease;}
  .cookie-banner.visible{transform:translateY(0);}
  .cookie-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  .cookie-text{max-width:560px; font-size:13px; color:rgba(251,249,244,0.75); line-height:1.5;}
  .cookie-text a{color:var(--brass-light);}
  .cookie-actions{display:flex; gap:10px; flex-wrap:wrap;}
  .cookie-actions button{font-family:inherit; cursor:pointer; padding:11px 18px; font-size:12.5px; font-weight:500; border:1px solid rgba(251,249,244,0.4); background:transparent; color:var(--white);}
  .cookie-actions .accept-all{background:var(--brass); border-color:var(--brass);}

  .cookie-modal-bg{position:fixed; inset:0; z-index:210; background:rgba(20,28,23,0.75); display:none; align-items:center; justify-content:center; padding:20px;}
  .cookie-modal-bg.open{display:flex;}
  .cookie-modal{background:var(--white); color:var(--ink); max-width:520px; width:100%; padding:32px; max-height:85vh; overflow:auto;}
  .cookie-modal h3{font-family:'Fraunces',serif; font-size:20px; margin-bottom:16px;}
  .cookie-row{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--line);}
  .cookie-row .lbl b{display:block; font-size:14px; margin-bottom:3px;}
  .cookie-row .lbl span{font-size:12.5px; color:rgba(33,35,31,0.6);}
  .toggle{width:42px; height:24px; background:var(--paper-2); border-radius:20px; position:relative; cursor:pointer; flex-shrink:0; border:none;}
  .toggle.on{background:var(--brass);}
  .toggle.disabled{opacity:0.5; cursor:not-allowed;}
  .toggle .dot{position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:var(--white); transition:left .2s ease;}
  .toggle.on .dot{left:20px;}
  .cookie-modal-actions{display:flex; gap:10px; margin-top:22px; flex-wrap:wrap;}

/* ===== Styles spécifiques : liste du blog ===== */

  :root{
    --ink:#21231F; --paper:#F1ECE1; --paper-2:#E8DECB;
    --green:#2E3B31; --green-deep:#1C2721;
    --brass:#AC7C34; --brass-light:#D3A85C; --rust:#A85C43;
    --line: rgba(33,35,31,0.20); --line-soft: rgba(33,35,31,0.10);
    --white:#FBF9F4;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--paper); color:var(--ink); font-family:'Inter', sans-serif; font-size:16px; line-height:1.5;}
  a{color:inherit; text-decoration:none;}
  img{display:block; width:100%; height:100%; object-fit:cover;}
  h1,h2,h3{font-family:'Fraunces', serif; font-weight:500; line-height:1.12; letter-spacing:-0.01em;}
  .wrap{max-width:1440px; margin:0 auto; padding:0 32px;}
  .eyebrow{font-family:'IBM Plex Mono', monospace; font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--brass); display:flex; align-items:center; gap:8px; margin-bottom:16px;}
  .eyebrow::before{content:'+'; font-size:13px;}
  .btn{display:inline-flex; align-items:center; gap:8px; padding:12px 22px; font-size:13.5px; font-weight:500; border:1px solid var(--ink); background:var(--ink); color:var(--white); transition:.2s;}
  .btn:hover{background:var(--green); border-color:var(--green);}
  .btn-brass{background:var(--brass); border-color:var(--brass);}
  .btn-brass:hover{background:#94692B; border-color:#94692B;}

  header{position:sticky; top:0; z-index:50; background:rgba(241,236,225,0.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
  header .wrap{display:flex; align-items:center; justify-content:space-between; height:78px;}
  .logo{font-family:'Fraunces', serif; font-size:20px; font-weight:500; display:flex; align-items:center;}
  .logo-svg{height:64px; max-width:230px; width:auto; display:block;}
  .logo span{color:var(--brass);}
  .logo span{color:var(--brass);}
  nav ul{display:flex; gap:30px; list-style:none;}
  nav a{font-size:14px;}
  nav a.on{color:var(--brass);}
  @media (max-width:980px){nav{display:none;} header .wrap{height:auto; padding:14px 32px; flex-wrap:wrap; gap:10px;} header .btn{padding:10px 16px; font-size:12px;}}

  .intro{padding:80px 0 56px;}
  .intro h1{font-size:42px; max-width:600px; margin-bottom:16px;}
  .intro p{font-size:15.5px; color:rgba(33,35,31,0.7); max-width:520px;}

  .blog-grid{display:grid; grid-template-columns:2fr 1fr; gap:40px; padding-bottom:100px;}
  @media (max-width:900px){.blog-grid{grid-template-columns:1fr;}}

  .filters{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:30px;}
  .filter-btn{padding:9px 16px; font-size:13px; border:1px solid var(--line); background:transparent; transition:all .2s ease; cursor:pointer; font-family:'Inter',sans-serif;}
  .filter-btn.active, .filter-btn:hover{background:var(--green); color:var(--white); border-color:var(--green);}

  .articles{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
  @media (max-width:640px){.articles{grid-template-columns:1fr;}}

  .article-card{background:var(--white); border:1px solid var(--line); display:flex; flex-direction:column;}
  .article-card .thumb{aspect-ratio:16/11; overflow:hidden;}
  .article-card .thumb img{transition:transform .4s ease;}
  .article-card:hover .thumb img{transform:scale(1.05);}
  .article-card .body{padding:22px; display:flex; flex-direction:column; flex:1;}
  .article-card .cat{font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--brass); margin-bottom:10px;}
  .article-card h3{font-size:18px; margin-bottom:10px; line-height:1.25;}
  .article-card p{font-size:13.5px; color:rgba(33,35,31,0.65); margin-bottom:16px; flex:1;}
  .article-card .read{font-size:13px; font-weight:500; display:flex; align-items:center; gap:6px;}
  .article-card:hover .read{color:var(--brass);}

  .article-card.featured{grid-column:1 / -1; display:grid; grid-template-columns:1.1fr 0.9fr; background:var(--white); border:1px solid var(--line); margin-bottom:26px;}
  .article-card.featured .thumb{aspect-ratio:auto; min-height:280px;}
  .article-card.featured .body{padding:34px; justify-content:center;}
  .article-card.featured h3{font-size:26px; margin-bottom:14px;}
  .article-card.featured p{font-size:14.5px;}
  @media (max-width:700px){.article-card.featured{grid-template-columns:1fr;}}

  .side-card{background:var(--white); border:1px solid var(--line); padding:30px; margin-bottom:24px;}
  .author-photo{aspect-ratio:1/1; width:84px; border-radius:50%; overflow:hidden; margin-bottom:18px; border:1.5px dashed var(--brass); background:var(--paper-2); display:flex; align-items:center; justify-content:center;}
  .author-photo span{font-family:'IBM Plex Mono',monospace; font-size:9px; color:var(--brass); text-align:center; line-height:1.3;}
  .side-card h3{font-size:17px; margin-bottom:10px;}
  .side-card p{font-size:13.5px; color:rgba(33,35,31,0.65); margin-bottom:18px; line-height:1.55;}
  .side-card .btn{width:100%; justify-content:center;}

  .news-card{background:var(--green); color:var(--white); padding:30px;}
  .news-card h3{color:var(--white); font-size:17px; margin-bottom:10px;}
  .news-card p{font-size:13px; color:rgba(251,249,244,0.7); margin-bottom:18px;}
  .news-card form{display:flex; flex-direction:column; gap:10px;}
  .news-card input{padding:12px 14px; border:1px solid rgba(251,249,244,0.35); background:transparent; color:var(--white); font-size:13.5px;}
  .news-card input::placeholder{color:rgba(251,249,244,0.5);}
  .news-card button{padding:12px 14px; background:var(--brass); color:var(--white); border:none; font-size:13px; font-weight:500; cursor:pointer;}

  footer{padding:50px 0; background:var(--ink); color:rgba(251,249,244,0.6); text-align:center; font-size:12.5px;}
  footer a{color:rgba(251,249,244,0.9);}

  .site-footer{padding:60px 0 26px; background:var(--ink); color:rgba(251,249,244,0.65); font-size:13px;}
  .foot-top{display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:28px; padding-bottom:40px; border-bottom:1px solid rgba(251,249,244,0.14); margin-bottom:22px;}
  .foot-brand p{font-size:12.5px; color:rgba(251,249,244,0.5); max-width:220px; line-height:1.5; margin-top:14px;}
  .foot-col .mono{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:rgba(251,249,244,0.4); margin-bottom:14px; letter-spacing:0.06em;}
  .foot-col ul{list-style:none;}
  .foot-col li{margin-bottom:9px; font-size:13px;}
  .foot-col a{color:rgba(251,249,244,0.75);}
  .foot-col a:hover{color:var(--brass-light);}
  .foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:12px; color:rgba(251,249,244,0.4);}
  .foot-bottom a{color:rgba(251,249,244,0.7);}
  @media (max-width:760px){.foot-top{grid-template-columns:1fr 1fr;}}
  @media (max-width:480px){.foot-top{grid-template-columns:1fr;}}

  .cookie-banner{position:fixed; left:0; right:0; bottom:0; z-index:200; background:var(--ink); color:var(--white); padding:22px 0; box-shadow:0 -8px 24px rgba(0,0,0,0.2); transform:translateY(110%); transition:transform .4s ease;}
  .cookie-banner.visible{transform:translateY(0);}
  .cookie-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  .cookie-text{max-width:560px; font-size:13px; color:rgba(251,249,244,0.75); line-height:1.5;}
  .cookie-text a{color:var(--brass-light);}
  .cookie-actions{display:flex; gap:10px; flex-wrap:wrap;}
  .cookie-actions button{font-family:inherit; cursor:pointer; padding:11px 18px; font-size:12.5px; font-weight:500; border:1px solid rgba(251,249,244,0.4); background:transparent; color:var(--white);}
  .cookie-actions .accept-all{background:var(--brass); border-color:var(--brass);}
  .cookie-modal-bg{position:fixed; inset:0; z-index:210; background:rgba(20,28,23,0.75); display:none; align-items:center; justify-content:center; padding:20px;}
  .cookie-modal-bg.open{display:flex;}
  .cookie-modal{background:var(--white); color:var(--ink); max-width:520px; width:100%; padding:32px; max-height:85vh; overflow:auto;}
  .cookie-modal h3{font-family:'Fraunces',serif; font-size:20px; margin-bottom:16px;}
  .cookie-row{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--line);}
  .cookie-row .lbl b{display:block; font-size:14px; margin-bottom:3px;}
  .cookie-row .lbl span{font-size:12.5px; color:rgba(33,35,31,0.6);}
  .toggle{width:42px; height:24px; background:var(--paper-2); border-radius:20px; position:relative; cursor:pointer; flex-shrink:0; border:none;}
  .toggle.on{background:var(--brass);}
  .toggle.disabled{opacity:0.5; cursor:not-allowed;}
  .toggle .dot{position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:var(--white); transition:left .2s ease;}
  .toggle.on .dot{left:20px;}
  .cookie-modal-actions{display:flex; gap:10px; margin-top:22px; flex-wrap:wrap;}
  .foot-social{display:flex; gap:10px;}
  .foot-social a{width:34px; height:34px; border-radius:50%; border:1px solid rgba(251,249,244,0.25); display:flex; align-items:center; justify-content:center; color:rgba(251,249,244,0.75); font-size:14px; font-weight:600; transition:.2s; text-decoration:none;}
  .foot-social a:hover{background:var(--brass-light); color:var(--green-deep); border-color:var(--brass-light);}

/* ===== Styles spécifiques : article de blog ===== */

  :root{
    --ink:#21231F; --paper:#F1ECE1; --paper-2:#E8DECB;
    --green:#2E3B31; --green-deep:#1C2721;
    --brass:#AC7C34; --brass-light:#D3A85C; --rust:#A85C43;
    --line: rgba(33,35,31,0.20); --line-soft: rgba(33,35,31,0.10);
    --white:#FBF9F4;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--paper); color:var(--ink); font-family:'Inter', sans-serif; font-size:16px; line-height:1.65;}
  a{color:inherit; text-decoration:none;}
  img{display:block; width:100%; height:100%; object-fit:cover;}
  h1,h2,h3{font-family:'Fraunces', serif; font-weight:500; line-height:1.15; letter-spacing:-0.01em;}
  .wrap{max-width:820px; margin:0 auto; padding:0 32px;}
  .wrap-wide{max-width:1440px; margin:0 auto; padding:0 32px;}
  .eyebrow{font-family:'IBM Plex Mono', monospace; font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--brass); display:flex; align-items:center; gap:8px; margin-bottom:16px;}
  .eyebrow::before{content:'+'; font-size:13px;}
  .btn{display:inline-flex; align-items:center; gap:8px; padding:13px 24px; font-size:13.5px; font-weight:500; border:1px solid var(--ink); background:var(--ink); color:var(--white); transition:.2s;}
  .btn:hover{background:var(--green); border-color:var(--green);}
  .btn-brass{background:var(--brass); border-color:var(--brass);}
  .btn-brass:hover{background:#94692B; border-color:#94692B;}

  header{position:sticky; top:0; z-index:50; background:rgba(241,236,225,0.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
  header .wrap-wide{display:flex; align-items:center; justify-content:space-between; height:78px;}
  .logo{font-family:'Fraunces', serif; font-size:20px; font-weight:500; display:flex; align-items:center;}
  .logo-svg{height:64px; max-width:230px; width:auto; display:block;}
  .logo span{color:var(--brass);}
  .logo span{color:var(--brass);}
  nav ul{display:flex; gap:30px; list-style:none;}
  nav a{font-size:14px;}
  @media (max-width:980px){nav{display:none;} header .wrap-wide{height:auto; padding:14px 32px; flex-wrap:wrap; gap:10px;} header .btn{padding:10px 16px; font-size:12px;}}

  .breadcrumb{padding:26px 0 0; font-size:12.5px; color:rgba(33,35,31,0.5);}
  .breadcrumb a:hover{color:var(--brass);}

  .art-head{padding:22px 0 34px;}
  .art-head .eyebrow{margin-bottom:18px;}
  .art-head h1{font-size:38px; max-width:680px;}
  .art-meta{display:flex; gap:18px; margin-top:20px; font-size:12.5px; color:rgba(33,35,31,0.55); font-family:'IBM Plex Mono',monospace;}

  .hero-img{aspect-ratio:16/8; overflow:hidden; margin-bottom:46px;}

  article p{font-size:16px; color:rgba(33,35,31,0.82); margin-bottom:22px;}
  article h2{font-size:23px; margin:44px 0 14px;}

  .pull-quote{
    font-family:'Fraunces',serif; font-style:italic; font-size:22px; line-height:1.4; color:var(--green);
    border-left:3px solid var(--brass); padding:4px 0 4px 26px; margin:40px 0; max-width:640px;
  }
  .pull-quote cite{display:block; font-family:'IBM Plex Mono',monospace; font-style:normal; font-size:12px; color:var(--brass); margin-top:14px; letter-spacing:0.04em;}

  .img-pair{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:36px 0;}
  .img-pair .ph{aspect-ratio:4/3; overflow:hidden;}
  @media (max-width:600px){.img-pair{grid-template-columns:1fr;}}

  .art-cta{background:var(--green); color:var(--white); padding:40px; text-align:center; margin:56px 0 46px;}
  .art-cta h3{color:var(--white); font-size:22px; margin-bottom:12px; font-style:italic; font-weight:400;}
  .art-cta p{color:rgba(251,249,244,0.75); font-size:14px; margin-bottom:22px;}

  .share{display:flex; align-items:center; gap:14px; padding-bottom:60px; border-bottom:1px solid var(--line); margin-bottom:56px;}
  .share span{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.06em; color:rgba(33,35,31,0.5);}
  .share a{width:34px; height:34px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:13px;}
  .share a:hover{background:var(--ink); color:var(--white); border-color:var(--ink);}

  .related{padding-bottom:90px;}
  .related h3{font-size:22px; margin-bottom:24px;}
  .related-track-wrap{position:relative;}
  .related-row{display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; scrollbar-width:none;}
  .related-row::-webkit-scrollbar{display:none;}
  .rel-card{flex:0 0 300px; scroll-snap-align:start;}
  .related-nav{position:absolute; top:38%; left:0; right:0; transform:translateY(-50%); display:flex; justify-content:space-between; pointer-events:none; z-index:5; padding:0 6px;}
  .related-nav button{width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:rgba(251,249,244,0.94); cursor:pointer; font-size:16px; color:var(--ink); display:flex; align-items:center; justify-content:center; pointer-events:auto; box-shadow:0 4px 14px rgba(33,35,31,0.12);}
  .related-nav button:hover{background:var(--ink); color:var(--white); border-color:var(--ink);}
  @media (max-width:600px){.rel-card{flex-basis:230px;}}
  .rel-card{background:var(--white); border:1px solid var(--line);}
  .rel-card .thumb{aspect-ratio:16/11; overflow:hidden;}
  .rel-card .body{padding:18px;}
  .rel-card h4{font-family:'Fraunces',serif; font-size:15.5px; font-weight:500; line-height:1.3;}
  .rel-card:hover h4{color:var(--brass);}

  footer{padding:50px 0; background:var(--ink); color:rgba(251,249,244,0.6); text-align:center; font-size:12.5px;}
  footer a{color:rgba(251,249,244,0.9);}

  .site-footer{padding:60px 0 26px; background:var(--ink); color:rgba(251,249,244,0.65); font-size:13px;}
  .foot-top{display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:28px; padding-bottom:40px; border-bottom:1px solid rgba(251,249,244,0.14); margin-bottom:22px;}
  .foot-brand p{font-size:12.5px; color:rgba(251,249,244,0.5); max-width:220px; line-height:1.5; margin-top:14px;}
  .foot-col .mono{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:rgba(251,249,244,0.4); margin-bottom:14px; letter-spacing:0.06em;}
  .foot-col ul{list-style:none;}
  .foot-col li{margin-bottom:9px; font-size:13px;}
  .foot-col a{color:rgba(251,249,244,0.75);}
  .foot-col a:hover{color:var(--brass-light);}
  .foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:12px; color:rgba(251,249,244,0.4);}
  .foot-bottom a{color:rgba(251,249,244,0.7);}
  @media (max-width:760px){.foot-top{grid-template-columns:1fr 1fr;}}
  @media (max-width:480px){.foot-top{grid-template-columns:1fr;}}

  .cookie-banner{position:fixed; left:0; right:0; bottom:0; z-index:200; background:var(--ink); color:var(--white); padding:22px 0; box-shadow:0 -8px 24px rgba(0,0,0,0.2); transform:translateY(110%); transition:transform .4s ease;}
  .cookie-banner.visible{transform:translateY(0);}
  .cookie-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  .cookie-text{max-width:560px; font-size:13px; color:rgba(251,249,244,0.75); line-height:1.5;}
  .cookie-text a{color:var(--brass-light);}
  .cookie-actions{display:flex; gap:10px; flex-wrap:wrap;}
  .cookie-actions button{font-family:inherit; cursor:pointer; padding:11px 18px; font-size:12.5px; font-weight:500; border:1px solid rgba(251,249,244,0.4); background:transparent; color:var(--white);}
  .cookie-actions .accept-all{background:var(--brass); border-color:var(--brass);}
  .cookie-modal-bg{position:fixed; inset:0; z-index:210; background:rgba(20,28,23,0.75); display:none; align-items:center; justify-content:center; padding:20px;}
  .cookie-modal-bg.open{display:flex;}
  .cookie-modal{background:var(--white); color:var(--ink); max-width:520px; width:100%; padding:32px; max-height:85vh; overflow:auto;}
  .cookie-modal h3{font-family:'Fraunces',serif; font-size:20px; margin-bottom:16px;}
  .cookie-row{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--line);}
  .cookie-row .lbl b{display:block; font-size:14px; margin-bottom:3px;}
  .cookie-row .lbl span{font-size:12.5px; color:rgba(33,35,31,0.6);}
  .toggle{width:42px; height:24px; background:var(--paper-2); border-radius:20px; position:relative; cursor:pointer; flex-shrink:0; border:none;}
  .toggle.on{background:var(--brass);}
  .toggle.disabled{opacity:0.5; cursor:not-allowed;}
  .toggle .dot{position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:var(--white); transition:left .2s ease;}
  .toggle.on .dot{left:20px;}
  .cookie-modal-actions{display:flex; gap:10px; margin-top:22px; flex-wrap:wrap;}
  .foot-social{display:flex; gap:10px;}
  .foot-social a{width:34px; height:34px; border-radius:50%; border:1px solid rgba(251,249,244,0.25); display:flex; align-items:center; justify-content:center; color:rgba(251,249,244,0.75); font-size:14px; font-weight:600; transition:.2s; text-decoration:none;}
  .foot-social a:hover{background:var(--brass-light); color:var(--green-deep); border-color:var(--brass-light);}

/* ===== Styles spécifiques : formulaire de projet ===== */

  :root{
    --ink:#21231F;
    --paper:#F1ECE1;
    --paper-2:#E8DECB;
    --green:#2E3B31;
    --green-deep:#1C2721;
    --brass:#AC7C34;
    --brass-light:#D3A85C;
    --rust:#A85C43;
    --line: rgba(33,35,31,0.20);
    --line-soft: rgba(33,35,31,0.10);
    --white:#FBF9F4;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--paper); color:var(--ink); font-family:'Inter', sans-serif; font-size:16px; line-height:1.5; -webkit-font-smoothing:antialiased;}
  a{color:inherit; text-decoration:none;}
  img{display:block; width:100%; height:100%; object-fit:cover;}
  button{font-family:inherit; cursor:pointer;}
  :focus-visible{outline:2px solid var(--brass); outline-offset:3px;}
  h1,h2,h3{font-family:'Fraunces', serif; font-weight:500; line-height:1.1; letter-spacing:-0.01em;}
  .wrap{max-width:1320px; margin:0 auto; padding:0 32px;}
  .eyebrow{font-family:'IBM Plex Mono', monospace; font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--brass); display:flex; align-items:center; gap:8px; margin-bottom:16px;}
  .eyebrow::before{content:'+'; font-size:13px;}
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 26px; font-size:13.5px; font-weight:500; letter-spacing:0.02em; border:1px solid var(--ink); background:var(--ink); color:var(--white); transition:background .2s ease, color .2s ease, border-color .2s ease;}
  .btn:hover{background:var(--green); border-color:var(--green);}
  .btn-outline{background:transparent; color:var(--ink); border:1px solid var(--ink);}
  .btn-outline:hover{background:var(--ink); color:var(--white);}
  .btn-brass{background:var(--brass); border-color:var(--brass); color:var(--white);}
  .btn-brass:hover{background:#94692B; border-color:#94692B;}

  header{position:sticky; top:0; z-index:50; background:rgba(241,236,225,0.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
  header .wrap{display:flex; align-items:center; justify-content:space-between; height:78px; max-width:1180px;}
  @media (max-width:480px){header .wrap{height:auto; padding:14px 20px; flex-wrap:wrap; gap:8px; justify-content:center; text-align:center;} .logo{font-size:17px;} .back-link{font-size:12.5px;}}
  .logo{font-family:'Fraunces', serif; font-size:20px; font-weight:500; display:flex; align-items:center;}
  .logo-svg{height:64px; max-width:230px; width:auto; display:block;}
  .logo span{color:var(--brass);}
  .logo span{color:var(--brass);}
  .back-link{font-size:13.5px; display:flex; align-items:center; gap:6px; color:rgba(33,35,31,0.65);}
  .back-link:hover{color:var(--ink);}

  .intro{padding:70px 0 50px;}
  .intro h1{font-size:38px; max-width:560px; margin-bottom:14px;}
  .intro p{font-size:15.5px; color:rgba(33,35,31,0.7); max-width:520px;}

  main{padding-bottom:90px;}
  .cols{display:grid; grid-template-columns:1.3fr 1fr; gap:26px; align-items:start;}
  @media (max-width:900px){.cols{grid-template-columns:1fr;}}

  .card{background:var(--white); border:1px solid var(--line); padding:36px;}
  .card h2{font-size:21px; margin-bottom:6px;}
  .card .sub{font-size:13.5px; color:rgba(33,35,31,0.6); margin-bottom:28px;}

  .field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
  @media (max-width:520px){.field-row{grid-template-columns:1fr;}}
  .field{margin-bottom:16px;}
  .field label{display:block; font-size:12.5px; font-weight:500; margin-bottom:7px; color:rgba(33,35,31,0.8);}
  .field label .req{color:var(--rust);}
  .field input[type="text"], .field input[type="tel"], .field input[type="email"], .field select, .field textarea{
    width:100%; border:1px solid var(--line); background:var(--paper); padding:12px 14px; font-family:'Inter',sans-serif; font-size:14px; color:var(--ink);
  }
  .field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--brass); outline-offset:1px; background:var(--white);}
  .field textarea{min-height:130px; resize:vertical; line-height:1.5;}
  .field .hint{font-size:11.5px; color:rgba(33,35,31,0.5); margin-top:6px;}

  .price-preview{display:none; align-items:center; justify-content:space-between; background:var(--paper-2); border-left:3px solid var(--brass); padding:12px 16px; margin-top:10px; font-size:13.5px;}
  .price-preview .amount{font-family:'Fraunces',serif; font-weight:600; font-size:17px; color:var(--ink);}

  .payment-box{background:var(--paper); border:1px solid var(--line); padding:26px; margin-top:26px; text-align:left;}
  .payment-box .row-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:6px;}
  .payment-box .row-top b{font-family:'Fraunces',serif; font-size:19px;}
  .payment-box .row-top .amount{font-family:'Fraunces',serif; font-size:24px; color:var(--brass);}
  .payment-box .desc{font-size:13px; color:rgba(33,35,31,0.6); margin-bottom:18px;}
  .payment-box .secure{display:flex; align-items:center; gap:8px; font-size:11.5px; color:rgba(33,35,31,0.55); margin-top:14px; justify-content:center;}
  .payment-box .secure .lock{color:var(--brass);}
  .payment-box .btn{width:100%; justify-content:center; padding:15px; font-size:14px;}
  .payment-skip{display:block; text-align:center; font-size:12.5px; color:rgba(33,35,31,0.55); margin-top:14px;}
  .payment-skip:hover{color:var(--ink);}

  .upload-box{
    border:1.5px dashed var(--brass); background:var(--paper); padding:26px; text-align:center; cursor:pointer; position:relative;
  }
  .upload-box:hover{background:var(--paper-2);}
  .upload-box .ic{font-size:22px; color:var(--brass); margin-bottom:10px;}
  .upload-box .txt{font-size:13.5px; color:rgba(33,35,31,0.75); margin-bottom:4px;}
  .upload-box .txt2{font-size:11.5px; color:rgba(33,35,31,0.5);}
  .upload-box input[type="file"]{position:absolute; inset:0; opacity:0; cursor:pointer;}
  #fileList{margin-top:12px; font-size:12.5px; color:var(--ink); text-align:left;}
  #fileList div{padding:6px 10px; background:var(--paper-2); margin-bottom:6px; display:flex; justify-content:space-between; align-items:center;}

  .rgpd{font-size:11.5px; color:rgba(33,35,31,0.55); margin:18px 0 22px; line-height:1.5;}
  .submit-btn{width:100%; justify-content:center; padding:15px 20px; font-size:14px;}

  .thankyou{display:none; text-align:center; padding:40px 10px;}
  .thankyou .ic{width:56px; height:56px; border-radius:50%; background:var(--green); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:22px; margin:0 auto 20px;}
  .thankyou h2{font-size:23px; margin-bottom:12px;}
  .thankyou p{font-size:14px; color:rgba(33,35,31,0.65); max-width:380px; margin:0 auto 24px;}

  .side-card{margin-bottom:22px;}
  .side-card .ic-round{width:38px; height:38px; border-radius:50%; background:var(--green); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:16px; margin-bottom:16px;}
  .side-card h3{font-size:18px; margin-bottom:10px;}
  .side-card p{font-size:13.5px; color:rgba(33,35,31,0.65); margin-bottom:20px; line-height:1.5;}

  .calendly-mock{border:1px solid var(--line); background:var(--paper); padding:18px; margin-bottom:20px;}
  .calendly-mock .cal-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; font-family:'IBM Plex Mono',monospace; font-size:11px; color:rgba(33,35,31,0.55); letter-spacing:0.04em;}
  .cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:5px; margin-bottom:14px;}
  .cal-grid span{aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:11px; background:var(--white); border:1px solid var(--line-soft); color:rgba(33,35,31,0.4);}
  .cal-grid span.avail{color:var(--ink); border-color:var(--brass); cursor:pointer;}
  .cal-grid span.avail:hover{background:var(--brass); color:var(--white);}
  .cal-grid span.sel{background:var(--green); color:var(--white); border-color:var(--green);}

  .contact-alt{border-top:1px solid var(--line); padding-top:20px;}
  .contact-alt a{display:flex; align-items:center; gap:10px; font-size:13.5px; padding:10px 0; color:var(--ink);}
  .contact-alt a:hover{color:var(--brass);}
  .contact-alt .ic{color:var(--brass); width:18px;}

  footer{padding:40px 0; background:var(--ink); color:rgba(251,249,244,0.6); text-align:center; font-size:12.5px; margin-top:40px;}
  footer a{color:rgba(251,249,244,0.85);}

  .site-footer{padding:60px 0 26px; background:var(--ink); color:rgba(251,249,244,0.65); font-size:13px;}
  .foot-top{display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:28px; padding-bottom:40px; border-bottom:1px solid rgba(251,249,244,0.14); margin-bottom:22px;}
  .foot-brand p{font-size:12.5px; color:rgba(251,249,244,0.5); max-width:220px; line-height:1.5; margin-top:14px;}
  .foot-col .mono{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:rgba(251,249,244,0.4); margin-bottom:14px; letter-spacing:0.06em;}
  .foot-col ul{list-style:none;}
  .foot-col li{margin-bottom:9px; font-size:13px;}
  .foot-col a{color:rgba(251,249,244,0.75);}
  .foot-col a:hover{color:var(--brass-light);}
  .foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:12px; color:rgba(251,249,244,0.4);}
  .foot-bottom a{color:rgba(251,249,244,0.7);}
  @media (max-width:760px){.foot-top{grid-template-columns:1fr 1fr;}}
  @media (max-width:480px){.foot-top{grid-template-columns:1fr;}}

  .cookie-banner{position:fixed; left:0; right:0; bottom:0; z-index:200; background:var(--ink); color:var(--white); padding:22px 0; box-shadow:0 -8px 24px rgba(0,0,0,0.2); transform:translateY(110%); transition:transform .4s ease;}
  .cookie-banner.visible{transform:translateY(0);}
  .cookie-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  .cookie-text{max-width:560px; font-size:13px; color:rgba(251,249,244,0.75); line-height:1.5;}
  .cookie-text a{color:var(--brass-light);}
  .cookie-actions{display:flex; gap:10px; flex-wrap:wrap;}
  .cookie-actions button{font-family:inherit; cursor:pointer; padding:11px 18px; font-size:12.5px; font-weight:500; border:1px solid rgba(251,249,244,0.4); background:transparent; color:var(--white);}
  .cookie-actions .accept-all{background:var(--brass); border-color:var(--brass);}
  .cookie-modal-bg{position:fixed; inset:0; z-index:210; background:rgba(20,28,23,0.75); display:none; align-items:center; justify-content:center; padding:20px;}
  .cookie-modal-bg.open{display:flex;}
  .cookie-modal{background:var(--white); color:var(--ink); max-width:520px; width:100%; padding:32px; max-height:85vh; overflow:auto;}
  .cookie-modal h3{font-family:'Fraunces',serif; font-size:20px; margin-bottom:16px;}
  .cookie-row{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--line);}
  .cookie-row .lbl b{display:block; font-size:14px; margin-bottom:3px;}
  .cookie-row .lbl span{font-size:12.5px; color:rgba(33,35,31,0.6);}
  .toggle{width:42px; height:24px; background:var(--paper-2); border-radius:20px; position:relative; cursor:pointer; flex-shrink:0; border:none;}
  .toggle.on{background:var(--brass);}
  .toggle.disabled{opacity:0.5; cursor:not-allowed;}
  .toggle .dot{position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:var(--white); transition:left .2s ease;}
  .toggle.on .dot{left:20px;}
  .cookie-modal-actions{display:flex; gap:10px; margin-top:22px; flex-wrap:wrap;}
  .foot-social{display:flex; gap:10px;}
  .foot-social a{width:34px; height:34px; border-radius:50%; border:1px solid rgba(251,249,244,0.25); display:flex; align-items:center; justify-content:center; color:rgba(251,249,244,0.75); font-size:14px; font-weight:600; transition:.2s; text-decoration:none;}
  .foot-social a:hover{background:var(--brass-light); color:var(--green-deep); border-color:var(--brass-light);}

/* ===== Styles spécifiques : quiz ===== */

  :root{
    --ink:#21231F; --paper:#F1ECE1; --paper-2:#E8DECB;
    --green:#2E3B31; --green-deep:#1C2721;
    --brass:#AC7C34; --brass-light:#D3A85C; --rust:#A85C43;
    --line: rgba(33,35,31,0.20); --line-soft: rgba(33,35,31,0.10);
    --white:#FBF9F4;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{background:var(--paper); color:var(--ink); font-family:'Inter', sans-serif; font-size:16px; line-height:1.5;}
  a{color:inherit; text-decoration:none;}
  button{font-family:inherit; cursor:pointer;}
  h1,h2,h3{font-family:'Fraunces', serif; font-weight:500; line-height:1.15; letter-spacing:-0.01em;}
  .wrap{max-width:1100px; margin:0 auto; padding:0 28px;}
  .eyebrow{font-family:'IBM Plex Mono', monospace; font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--brass); display:flex; align-items:center; gap:8px; margin-bottom:14px; justify-content:center;}
  .eyebrow::before{content:'+'; font-size:13px;}
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 26px; font-size:13.5px; font-weight:500; border:1px solid var(--ink); background:var(--ink); color:var(--white); transition:.2s;}
  .btn:hover{background:var(--green); border-color:var(--green);}
  .btn-outline{background:transparent; color:var(--ink); border:1px solid var(--ink);}
  .btn-outline:hover{background:var(--ink); color:var(--white);}
  .btn-brass{background:var(--brass); border-color:var(--brass);}
  .btn-brass:hover{background:#94692B; border-color:#94692B;}

  header{padding:22px 0; border-bottom:1px solid var(--line);}
  header .wrap{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px;}
  .logo{font-family:'Fraunces', serif; font-size:19px; font-weight:500; display:flex; align-items:center;}
  .logo-svg{height:54px; max-width:200px; width:auto; display:block;}
  .logo span{color:var(--brass);}
  .logo span{color:var(--brass);}
  .exit-link{font-size:13px; color:rgba(33,35,31,0.6);}
  .exit-link:hover{color:var(--ink);}

  main{padding:56px 0 90px;}

  /* Progress bar */
  .progress-wrap{max-width:560px; margin:0 auto 44px;}
  .progress-track{height:3px; background:var(--line-soft); position:relative; overflow:hidden;}
  .progress-fill{height:100%; background:var(--brass); width:0%; transition:width .4s ease;}
  .progress-label{text-align:center; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.06em; color:rgba(33,35,31,0.5); margin-top:10px;}

  /* Intro */
  .screen{display:none;}
  .screen.active{display:block;}
  .intro-screen{text-align:center; max-width:560px; margin:0 auto;}
  .intro-screen h1{font-size:36px; margin-bottom:18px;}
  .intro-screen p{font-size:15.5px; color:rgba(33,35,31,0.7); margin-bottom:34px;}
  .intro-visual{display:flex; justify-content:center; flex-wrap:wrap; gap:10px 0; margin-bottom:38px;}
  .intro-visual .sw{width:80px; height:80px; border-radius:50%; border:2px solid var(--white); box-shadow:0 4px 12px rgba(33,35,31,0.12); margin-left:-18px; position:relative; overflow:hidden;}
  .intro-visual .sw:first-child{margin-left:0;}
  .intro-visual .sw img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:50%;}
  @media (max-width:340px){.intro-visual .sw{width:64px; height:64px; margin-left:-14px;}}

  /* Question screen */
  .q-screen h2{font-size:26px; text-align:center; margin-bottom:8px; max-width:560px; margin-left:auto; margin-right:auto;}
  .q-sub{text-align:center; font-size:13.5px; color:rgba(33,35,31,0.55); margin-bottom:34px;}
  .options-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
  @media (max-width:760px){.options-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:460px){.options-grid{grid-template-columns:1fr;}}

  .option-card{
    background:var(--white); border:1.5px solid var(--line); cursor:pointer; text-align:left; padding:0;
    overflow:hidden; transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  .option-card:hover{border-color:var(--brass); transform:translateY(-3px); box-shadow:0 10px 22px rgba(33,35,31,0.10);}
  .option-card.selected{border-color:var(--brass); border-width:2px; box-shadow:0 10px 22px rgba(172,124,52,0.18);}
  .option-swatch{aspect-ratio:4/3; position:relative; overflow:hidden;}
  .option-swatch img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .option-swatch .swatch-tag{
    position:absolute; left:8px; bottom:8px; z-index:2;
    background:rgba(251,249,244,0.92); color:var(--brass); font-family:'IBM Plex Mono',monospace;
    font-size:9.5px; letter-spacing:0.03em; padding:4px 8px;
  }
  .option-swatch .check{
    position:absolute; top:10px; right:10px; width:26px; height:26px; border-radius:50%;
    background:var(--white); border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center;
    font-size:13px; color:transparent; transition:.2s; z-index:2;
  }
  .option-card.selected .option-swatch .check{background:var(--brass); border-color:var(--brass); color:var(--white);}
  .option-label{padding:14px 16px; font-size:14px; font-weight:500;}

  /* Swatch visual styles (placeholders : à remplacer par de vraies photos par style) */
  .sw-scandinave{background:linear-gradient(160deg,#F3EDE0 0%,#D9CBA8 100%);}
  .sw-industriel{background:
      repeating-linear-gradient(45deg, rgba(255,255,255,0.04) 0 2px, transparent 2px 14px),
      linear-gradient(160deg,#3A3A38,#17181A);}
  .sw-boheme{background:
      radial-gradient(circle at 20% 30%, rgba(255,255,255,0.18) 0 3px, transparent 4px) 0 0/26px 26px,
      linear-gradient(160deg,#C97B5B,#7A4632);}
  .sw-minimaliste{background:linear-gradient(160deg,#F7F5EF,#E4E0D6);}
  .sw-classique{background:
      repeating-linear-gradient(115deg, rgba(211,168,92,0.25) 0 2px, transparent 2px 22px),
      linear-gradient(160deg,#2C2A3D,#171626);}
  .sw-contemporain{background:linear-gradient(135deg,#D9A24B 0%,#A85C43 45%,#3E6E68 100%);}
  .sw-japandi{background:linear-gradient(160deg,#E4D9C4 0%,#B99B72 55%,#3A342B 100%);}
  .sw-retro{background:
      repeating-linear-gradient(60deg, rgba(255,255,255,0.07) 0 3px, transparent 3px 18px),
      linear-gradient(160deg,#C97B3D,#7A4B2A);}
  .sw-mediterraneen{background:linear-gradient(160deg,#EDE6D6 0%,#3E7C8C 60%,#C97B5B 100%);}

  .nav-row{display:flex; justify-content:space-between; align-items:center; margin-top:38px; max-width:700px; margin-left:auto; margin-right:auto;}
  .back-q{font-size:13px; color:rgba(33,35,31,0.55);}
  .back-q:hover{color:var(--ink);}
  .back-q.hidden{visibility:hidden;}

  /* Result screen */
  .result-screen{text-align:center; max-width:640px; margin:0 auto;}
  .result-eyebrow{margin-bottom:6px;}
  .result-hero{aspect-ratio:21/9; margin-bottom:34px; position:relative; overflow:hidden;}
  .result-hero .cap{position:absolute; left:18px; bottom:18px; background:rgba(251,249,244,0.92); padding:8px 14px; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.05em;}
  .result-screen h1{font-size:38px; margin-bottom:18px;}
  .result-screen .desc{font-size:15.5px; color:rgba(33,35,31,0.72); margin-bottom:30px; text-align:left;}
  .traits{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:38px;}
  .trait{background:var(--paper-2); padding:9px 16px; font-size:12.5px; font-family:'IBM Plex Mono',monospace; letter-spacing:0.03em;}
  .result-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:20px;}
  .retake{font-size:13px; color:rgba(33,35,31,0.55);}
  .retake:hover{color:var(--ink);}

  footer{padding:40px 0; text-align:center; font-size:12px; color:rgba(33,35,31,0.45); border-top:1px solid var(--line); margin-top:40px;}

  .site-footer{padding:60px 0 26px; background:var(--ink); color:rgba(251,249,244,0.65); font-size:13px;}
  .foot-top{display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:28px; padding-bottom:40px; border-bottom:1px solid rgba(251,249,244,0.14); margin-bottom:22px;}
  .foot-brand p{font-size:12.5px; color:rgba(251,249,244,0.5); max-width:220px; line-height:1.5; margin-top:14px;}
  .foot-col .mono{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:rgba(251,249,244,0.4); margin-bottom:14px; letter-spacing:0.06em;}
  .foot-col ul{list-style:none;}
  .foot-col li{margin-bottom:9px; font-size:13px;}
  .foot-col a{color:rgba(251,249,244,0.75);}
  .foot-col a:hover{color:var(--brass-light);}
  .foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:12px; color:rgba(251,249,244,0.4);}
  .foot-bottom a{color:rgba(251,249,244,0.7);}
  @media (max-width:760px){.foot-top{grid-template-columns:1fr 1fr;}}
  @media (max-width:480px){.foot-top{grid-template-columns:1fr;}}

  .cookie-banner{position:fixed; left:0; right:0; bottom:0; z-index:200; background:var(--ink); color:var(--white); padding:22px 0; box-shadow:0 -8px 24px rgba(0,0,0,0.2); transform:translateY(110%); transition:transform .4s ease;}
  .cookie-banner.visible{transform:translateY(0);}
  .cookie-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  .cookie-text{max-width:560px; font-size:13px; color:rgba(251,249,244,0.75); line-height:1.5;}
  .cookie-text a{color:var(--brass-light);}
  .cookie-actions{display:flex; gap:10px; flex-wrap:wrap;}
  .cookie-actions button{font-family:inherit; cursor:pointer; padding:11px 18px; font-size:12.5px; font-weight:500; border:1px solid rgba(251,249,244,0.4); background:transparent; color:var(--white);}
  .cookie-actions .accept-all{background:var(--brass); border-color:var(--brass);}
  .cookie-modal-bg{position:fixed; inset:0; z-index:210; background:rgba(20,28,23,0.75); display:none; align-items:center; justify-content:center; padding:20px;}
  .cookie-modal-bg.open{display:flex;}
  .cookie-modal{background:var(--white); color:var(--ink); max-width:520px; width:100%; padding:32px; max-height:85vh; overflow:auto;}
  .cookie-modal h3{font-family:'Fraunces',serif; font-size:20px; margin-bottom:16px;}
  .cookie-row{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--line);}
  .cookie-row .lbl b{display:block; font-size:14px; margin-bottom:3px;}
  .cookie-row .lbl span{font-size:12.5px; color:rgba(33,35,31,0.6);}
  .toggle{width:42px; height:24px; background:var(--paper-2); border-radius:20px; position:relative; cursor:pointer; flex-shrink:0; border:none;}
  .toggle.on{background:var(--brass);}
  .toggle.disabled{opacity:0.5; cursor:not-allowed;}
  .toggle .dot{position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:var(--white); transition:left .2s ease;}
  .toggle.on .dot{left:20px;}
  .cookie-modal-actions{display:flex; gap:10px; margin-top:22px; flex-wrap:wrap;}
  .foot-social{display:flex; gap:10px;}
  .foot-social a{width:34px; height:34px; border-radius:50%; border:1px solid rgba(251,249,244,0.25); display:flex; align-items:center; justify-content:center; color:rgba(251,249,244,0.75); font-size:14px; font-weight:600; transition:.2s; text-decoration:none;}
  .foot-social a:hover{background:var(--brass-light); color:var(--green-deep); border-color:var(--brass-light);}

/* ===== Styles spécifiques : pages légales / génériques ===== */

  :root{
    --ink:#21231F; --paper:#F1ECE1; --paper-2:#E8DECB;
    --green:#2E3B31; --green-deep:#1C2721;
    --brass:#AC7C34; --brass-light:#D3A85C;
    --line: rgba(33,35,31,0.20); --line-soft: rgba(33,35,31,0.10);
    --white:#FBF9F4;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--paper); color:var(--ink); font-family:'Inter', sans-serif; font-size:16px; line-height:1.65;}
  a{color:var(--brass); text-decoration:underline;}
  h1,h2,h3{font-family:'Fraunces', serif; font-weight:500; line-height:1.2;}
  .wrap{max-width:820px; margin:0 auto; padding:0 28px;}
  .wrap-wide{max-width:1440px; margin:0 auto; padding:0 28px;}
  .eyebrow{font-family:'IBM Plex Mono', monospace; font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--brass); margin-bottom:14px;}
  .btn{display:inline-flex; align-items:center; gap:8px; padding:12px 22px; font-size:13.5px; font-weight:500; border:1px solid var(--ink); background:var(--ink); color:var(--white); text-decoration:none;}
  .btn-brass{background:var(--brass); border-color:var(--brass);}

  header{position:sticky; top:0; z-index:50; background:rgba(241,236,225,0.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
  header .wrap-wide{display:flex; align-items:center; justify-content:space-between; height:78px;}
  .logo-svg{height:56px; width:auto; max-width:210px; display:block;}
  .back-link{font-size:13px; color:rgba(33,35,31,0.6); text-decoration:none;}
  .back-link:hover{color:var(--ink);}
  @media (max-width:700px){header .wrap-wide{height:auto; padding:12px 28px; flex-wrap:wrap; gap:10px;} .logo-svg{height:44px;}}

  .intro{padding:60px 0 30px;}
  .intro h1{font-size:32px; margin-bottom:10px;}
  .intro p{color:rgba(33,35,31,0.65); font-size:14.5px;}

  .toc{background:var(--white); border:1px solid var(--line); padding:26px 28px; margin:30px 0 50px;}
  .toc .eyebrow{margin-bottom:12px;}
  .toc ul{list-style:none; columns:2; gap:8px 30px;}
  .toc li{margin-bottom:9px; font-size:13.5px; break-inside:avoid;}
  .toc a{color:var(--ink); text-decoration:none;}
  .toc a:hover{color:var(--brass);}
  @media (max-width:560px){.toc ul{columns:1;}}

  main{padding-bottom:80px;}
  section.legal{margin-bottom:56px;}
  section.legal h2{font-size:22px; margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid var(--line);}
  section.legal h3{font-size:16.5px; margin:26px 0 10px; color:var(--ink);}
  section.legal p{margin-bottom:14px; font-size:14.5px; color:rgba(33,35,31,0.8);}
  section.legal ul, section.legal ol{margin:0 0 14px 20px; font-size:14.5px; color:rgba(33,35,31,0.8);}
  section.legal li{margin-bottom:6px;}
  .info-box{background:var(--white); border:1px solid var(--line); padding:20px 24px; margin-bottom:16px; font-size:14.5px;}
  .info-box b{display:block; margin-bottom:4px; font-family:'Fraunces',serif; font-size:15px;}
  .cgv-divider{text-align:center; padding:50px 0; margin-bottom:50px; border-top:2px solid var(--brass); border-bottom:2px solid var(--brass);}
  .cgv-divider .eyebrow{justify-content:center; display:flex; margin-bottom:10px;}
  .cgv-divider h2{font-size:26px; border:none; padding:0; margin:0;}
  .cgv-divider p{font-size:13.5px; color:rgba(33,35,31,0.6); margin-top:10px;}
  .update-note{background:var(--paper-2); border-left:3px solid var(--brass); padding:14px 18px; font-size:13px; color:rgba(33,35,31,0.7); margin-bottom:16px;}

  footer{padding:40px 0; background:var(--ink); color:rgba(251,249,244,0.6); text-align:center; font-size:12.5px;}
  footer a{color:rgba(251,249,244,0.9);}

  .site-footer{padding:60px 0 26px; background:var(--ink); color:rgba(251,249,244,0.65); font-size:13px;}
  .foot-top{display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:28px; padding-bottom:40px; border-bottom:1px solid rgba(251,249,244,0.14); margin-bottom:22px;}
  .foot-brand p{font-size:12.5px; color:rgba(251,249,244,0.5); max-width:220px; line-height:1.5; margin-top:14px;}
  .foot-col .mono{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:rgba(251,249,244,0.4); margin-bottom:14px; letter-spacing:0.06em;}
  .foot-col ul{list-style:none;}
  .foot-col li{margin-bottom:9px; font-size:13px;}
  .foot-col a{color:rgba(251,249,244,0.75);}
  .foot-col a:hover{color:var(--brass-light);}
  .foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:12px; color:rgba(251,249,244,0.4);}
  .foot-bottom a{color:rgba(251,249,244,0.7);}
  @media (max-width:760px){.foot-top{grid-template-columns:1fr 1fr;}}
  @media (max-width:480px){.foot-top{grid-template-columns:1fr;}}

  .cookie-banner{position:fixed; left:0; right:0; bottom:0; z-index:200; background:var(--ink); color:var(--white); padding:22px 0; box-shadow:0 -8px 24px rgba(0,0,0,0.2); transform:translateY(110%); transition:transform .4s ease;}
  .cookie-banner.visible{transform:translateY(0);}
  .cookie-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  .cookie-text{max-width:560px; font-size:13px; color:rgba(251,249,244,0.75); line-height:1.5;}
  .cookie-text a{color:var(--brass-light);}
  .cookie-actions{display:flex; gap:10px; flex-wrap:wrap;}
  .cookie-actions button{font-family:inherit; cursor:pointer; padding:11px 18px; font-size:12.5px; font-weight:500; border:1px solid rgba(251,249,244,0.4); background:transparent; color:var(--white);}
  .cookie-actions .accept-all{background:var(--brass); border-color:var(--brass);}
  .cookie-modal-bg{position:fixed; inset:0; z-index:210; background:rgba(20,28,23,0.75); display:none; align-items:center; justify-content:center; padding:20px;}
  .cookie-modal-bg.open{display:flex;}
  .cookie-modal{background:var(--white); color:var(--ink); max-width:520px; width:100%; padding:32px; max-height:85vh; overflow:auto;}
  .cookie-modal h3{font-family:'Fraunces',serif; font-size:20px; margin-bottom:16px;}
  .cookie-row{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--line);}
  .cookie-row .lbl b{display:block; font-size:14px; margin-bottom:3px;}
  .cookie-row .lbl span{font-size:12.5px; color:rgba(33,35,31,0.6);}
  .toggle{width:42px; height:24px; background:var(--paper-2); border-radius:20px; position:relative; cursor:pointer; flex-shrink:0; border:none;}
  .toggle.on{background:var(--brass);}
  .toggle.disabled{opacity:0.5; cursor:not-allowed;}
  .toggle .dot{position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:var(--white); transition:left .2s ease;}
  .toggle.on .dot{left:20px;}
  .cookie-modal-actions{display:flex; gap:10px; margin-top:22px; flex-wrap:wrap;}
  .foot-social{display:flex; gap:10px;}
  .foot-social a{width:34px; height:34px; border-radius:50%; border:1px solid rgba(251,249,244,0.25); display:flex; align-items:center; justify-content:center; color:rgba(251,249,244,0.75); font-size:14px; font-weight:600; transition:.2s; text-decoration:none;}
  .foot-social a:hover{background:var(--brass-light); color:var(--green-deep); border-color:var(--brass-light);}

/* ===== Styles génériques pour le contenu WordPress standard (page.php) ===== */
.wp-page-content{max-width:820px; margin:0 auto; padding:70px 32px 90px;}
.wp-page-content h1{font-family:'Fraunces',serif; font-size:32px; margin-bottom:24px;}
.wp-page-content h2{font-family:'Fraunces',serif; font-size:23px; margin:36px 0 14px;}
.wp-page-content h3{font-family:'Fraunces',serif; font-size:18px; margin:24px 0 10px;}
.wp-page-content p{font-size:15.5px; line-height:1.7; color:rgba(33,35,31,0.82); margin-bottom:16px;}
.wp-page-content ul, .wp-page-content ol{margin:0 0 16px 22px; font-size:15.5px; color:rgba(33,35,31,0.82);}
.wp-page-content a{color:var(--brass); text-decoration:underline;}
.wp-page-content table{width:100%; border-collapse:collapse; margin-bottom:20px; font-size:14px;}
.wp-page-content th, .wp-page-content td{border:1px solid var(--line); padding:10px 14px; text-align:left;}
.wp-page-content th{background:var(--paper-2); font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase;}
/* Menu mobile WordPress */
.mobile-menu-toggle{display:none; background:none; border:none; font-size:24px; cursor:pointer; color:var(--ink);}
@media (max-width:980px){
  .mobile-menu-toggle{display:block;}
  nav#primary-menu{display:none; width:100%; order:3;}
  nav#primary-menu.open{display:block;}
  nav#primary-menu ul{flex-direction:column; gap:0;}
  nav#primary-menu li{border-top:1px solid var(--line); padding:12px 0;}
}
