/* ELOXYMETAL V3 — patch.css v9 — +bloc #14 Pros & Architectes */

/* 1. HERO CONTENT */
.hero-content{padding-left:max(1.5rem,calc((100vw - 1160px)/2 + 1.5rem));padding-right:clamp(2rem,4vw,4rem)}
@media(max-width:1024px){.hero-content{padding-left:1.5rem;padding-right:1.5rem}}
/* 2. SECTION HEAD */
.section-head{text-align:center;max-width:700px;margin:0 auto 4rem}
.section-head .eyebrow{justify-content:center;margin-bottom:.85rem}
.section-head h2{margin-bottom:.5rem;line-height:1.15}
.section-head .gold-sep{margin:.75rem auto 1.25rem}
.section-head p{color:var(--muted);font-size:.975rem;margin-top:0}
.section-dark .section-head p{color:rgba(255,255,255,.6)}
/* 3. TITRES DEUX TONS */
h2 em,h1 em{font-style:italic;color:var(--gold)}
/* 4. SECTION DARK eyebrow */
.section-dark .eyebrow{justify-content:center}
.section-dark .section-head .eyebrow{justify-content:center}
/* 5. BADGES PHOTO mobile */
@media(max-width:768px){.img-badge{display:none !important}}
/* 6. SPLIT-IMG mobile */
@media(max-width:900px){.split-img--badges{padding-bottom:0 !important}.split-img{box-shadow:none !important}}
/* 7. HEADER transparent */
.site-header:not(.scrolled){background:transparent !important;border-bottom:1px solid transparent !important;box-shadow:none !important}
/* 8. HEADER flou */
.site-header.revealed{background:rgba(255,255,255,.35) !important;border-bottom:1px solid rgba(255,255,255,.2) !important;box-shadow:none !important;backdrop-filter:blur(4px)}
/* 9. RETOUR EN HAUT */
.back-to-top{background:rgba(200,168,75,.08) !important;border:1.5px solid var(--gold) !important;box-shadow:none !important;color:var(--gold) !important}
.back-to-top svg{stroke:var(--gold) !important}
.back-to-top:hover{background:rgba(200,168,75,.18) !important;transform:translateY(-2px)}
/* 10. HOME SPECS */
.home-sect .split-specs{gap:12px;margin:2rem 0}
.home-sect .spec{background:#f3f1ec;border:1px solid #e8e5de;padding:16px 18px;border-radius:0}
.home-sect .spec-label{font-family:var(--ff-title);font-size:10px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--gold) !important;display:block;margin-bottom:.5rem}
.home-sect .spec-val{font-family:var(--ff-serif);font-size:19px;font-weight:400;color:#2c2a26;display:block}
/* PROCESSUS */
.process-step{cursor:default;transition:transform .25s ease}
.step-num{background:transparent !important;color:#c8a84b !important;border:2px solid #c8a84b !important;transition:background .25s ease,color .25s ease,border-color .25s ease}
.step-title{transition:color .25s ease}
.process-step:hover{transform:translateY(-6px)}
.process-step:hover .step-num{background:#9a7a2e !important;color:#fff !important;border-color:#9a7a2e !important}
.process-step:hover .step-title{color:#9a7a2e !important}
/* BLOC #9 ENGAGEMENTS */
.exy-engage-section{background:#fff !important}
.exy-engage-bar-top{height:3px;background:linear-gradient(to right,#13173a,transparent)}
.exy-engage-bar-bot{height:3px;background:linear-gradient(to right,transparent,#f3f1ec)}
.exy-engage-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
@media(max-width:768px){.exy-engage-grid{grid-template-columns:1fr}}
.exy-engage-sublabel{font-family:'Montserrat',system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#aaa;margin-bottom:.75rem}
.exy-chiffres{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.exy-chiffre{padding:.9rem .8rem;border:1.5px solid #e8e5de;border-radius:6px;cursor:pointer;transition:border-color .2s,background .2s}
.exy-chiffre:hover{border-color:#c8a84b;background:#faf9f6}
.exy-chiffre.active{border-left:3px solid #c8a84b;border-color:#c8a84b;background:#faf9f6}
.exy-c-num{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.65rem;font-weight:400;color:#c8a84b;line-height:1}
.exy-c-label{font-family:'Montserrat',system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#888;margin:.2rem 0 .4rem}
.exy-c-text{font-family:'Montserrat',system-ui,sans-serif;font-size:11.5px;color:#5c5956;line-height:1.6;max-height:0;overflow:hidden;transition:max-height .35s ease}
.exy-chiffre.active .exy-c-text{max-height:200px}
.exy-faq{border:0.5px solid #e8e5de;border-radius:6px;overflow:hidden}
.exy-faq-item{border-bottom:0.5px solid #e8e5de;cursor:pointer}
.exy-faq-item:last-child{border-bottom:none}
.exy-faq-q{display:flex;align-items:flex-start;gap:.7rem;padding:.85rem 1rem;transition:background .2s}
.exy-faq-q:hover{background:#faf9f6}
.exy-faq-item.open .exy-faq-q{background:#faf9f6}
.exy-faq-dot{width:22px;height:22px;border-radius:50%;border:1.5px solid #c8a84b;color:#c8a84b;font-family:'Montserrat',system-ui,sans-serif;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:background .2s,color .2s}
.exy-faq-item.open .exy-faq-dot{background:#c8a84b;color:#13173a}
.exy-faq-text{flex:1}
.exy-faq-question{font-family:'Montserrat',system-ui,sans-serif;font-size:12px;font-weight:600;color:#13173a;line-height:1.4}
.exy-faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}
.exy-faq-item.open .exy-faq-answer{max-height:200px}
.exy-faq-answer p{font-family:'Montserrat',system-ui,sans-serif;font-size:11.5px;color:#5c5956;line-height:1.65;padding:.4rem 0 .65rem}
.exy-faq-answer strong{color:#c8a84b;font-weight:600}
.exy-engage-section .section-head h2{line-height:1.3}
/* PAGES LÉGALES */
.legal-content h2{font-family:'Cormorant Garamond',Georgia,serif}
.legal-content ul{margin:.75rem 0 .75rem 1.5rem}
.legal-content li{margin-bottom:.4rem}
.legal-content table{width:100%;border-collapse:collapse;font-size:13px}
.legal-content th,.legal-content td{padding:.6rem .75rem;border:1px solid #e8e5de;text-align:left}
.legal-content thead tr{background:#f3f1ec}

/* ══ ZONE D'INTERVENTION #11 v8 ══════════════════ */
.exy-zone-section{background:#f3f1ec !important}
.exy-zone-section .eyebrow{justify-content:center !important}
.exy-zone-section h2{text-align:center}
.exy-zone-section .gold-sep{margin:.4rem auto .9rem}
.exy-zone-wrap{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:stretch}
.exy-zone-left{display:flex;flex-direction:column;gap:1rem;padding:0}
.exy-zone-right-wrap{display:flex;flex-direction:column;gap:0}
.exy-zone-right{flex:1;min-height:420px;border-radius:15px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.14),0 2px 8px rgba(0,0,0,.07)}
#exy-gmap{width:100%;height:100%;min-height:420px;display:block}
.exy-zone-btns-row{display:flex;flex-direction:row;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}
.exy-zone-gps--desk{display:inline-flex}
.exy-zone-gps--mob{display:none}
.exy-zone-itineraire{display:none}
.exy-zone-gps{background:transparent;color:#c8a84b;border:1.5px solid #c8a84b;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.1rem;border-radius:4px;font-size:12px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;white-space:nowrap}
.exy-zone-gps:hover{background:#c8a84b;color:#13173a}
.exy-zone-gps svg{stroke:currentColor;flex-shrink:0}
.exy-zone-cards{display:flex;flex-direction:column;gap:.6rem}
.exy-zone-card{padding:.75rem 1rem;border-radius:6px;background:#fff;border:0.5px solid #e8e5de;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:box-shadow .2s}
.exy-zone-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.10)}
.exy-zone-free{border-left:3px solid #1D9E75}
.exy-zone-paid{border-left:3px solid #c8a84b}
.exy-zone-card-title{font-family:'Montserrat',system-ui,sans-serif;font-size:11px;font-weight:700;color:#2c2a26;display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}
.exy-zone-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.exy-zone-dot--green{background:#1D9E75}
.exy-zone-dot--gold{background:#c8a84b}
.exy-zone-card-cities{font-family:'Montserrat',system-ui,sans-serif;font-size:11px;color:#5c5956;line-height:1.6}
@media(max-width:900px){
  .exy-zone-wrap{grid-template-columns:1fr;gap:1.25rem}
  .exy-zone-left{order:1}
  .exy-zone-right-wrap{order:2}
  .exy-zone-section h2{text-align:center}
  .exy-zone-left p{text-align:left}
  .exy-zone-right{min-height:310px;border-radius:12px;flex:none}
  #exy-gmap{height:310px;min-height:310px}
  .exy-zone-gps--desk{display:none !important}
  .exy-zone-gps--mob{display:inline-flex}
  .exy-zone-itineraire{display:flex;justify-content:flex-start;margin-top:1.4rem}
  .exy-zone-gps--mob{min-width:auto;justify-content:flex-start}
  .exy-zone-btns-row{justify-content:flex-start}
  .exy-zone-btns-row .btn-gold{min-width:auto;text-align:left}
}
@media(max-width:480px){
  .exy-zone-right{min-height:240px}
  #exy-gmap{height:240px;min-height:240px}
  .exy-zone-btns-row .btn-gold,.exy-zone-gps--mob{min-width:160px;max-width:88vw}
}

/* ══ AVIS CLIENTS #12 ══════════════════════════════ */
.exy-avis-section{background:#fff}
.exy-avis-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem;align-items:stretch;margin-top:0}
.exy-slideshow{position:relative;border-radius:15px;overflow:hidden;min-height:340px;background:#111;box-shadow:0 6px 28px rgba(0,0,0,.14)}
.exy-slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;display:flex;align-items:flex-end}
.exy-slide.on{opacity:1}
.exy-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.exy-slide-ov{position:relative;z-index:2;width:100%;padding:.7rem 1rem;background:linear-gradient(to top,rgba(0,0,0,.68),transparent)}
.exy-slide-cat{display:block;font-family:'Montserrat',system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#c8a84b}
.exy-slide-t{display:block;font-family:'Montserrat',system-ui,sans-serif;font-size:12px;color:#fff;line-height:1.4;margin-top:.15rem}
.exy-slide-dots{position:absolute;bottom:.65rem;left:50%;transform:translateX(-50%);display:flex;gap:.4rem;z-index:3}
.exy-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;padding:0;transition:background .2s}
.exy-dot--on{background:#c8a84b}
.exy-avis-cta{background:#13173a;border-radius:15px;padding:2rem 1.75rem;display:flex;flex-direction:column;justify-content:center;gap:1.1rem;box-shadow:0 6px 28px rgba(0,0,0,.14)}
.exy-avis-stars{font-size:22px;letter-spacing:4px;color:#c8a84b}
.exy-avis-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.2rem;font-weight:400;color:#fff;line-height:1.45}
.exy-avis-title em{font-style:italic;color:#c8a84b}
.exy-avis-text{font-family:'Montserrat',system-ui,sans-serif;font-size:12px;color:rgba(255,255,255,.5);line-height:1.7}
.exy-avis-btn{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:#c8a84b;border:1.5px solid #c8a84b;padding:.55rem 1.1rem;border-radius:4px;font-family:'Montserrat',system-ui,sans-serif;font-size:12px;font-weight:600;text-decoration:none;width:fit-content;transition:background .25s,color .25s,border-color .25s}
.exy-avis-btn svg{opacity:1;transition:opacity .25s;flex-shrink:0}
.exy-avis-cta:hover .exy-avis-btn{background:#c8a84b;color:#13173a;border-color:#c8a84b}
.exy-avis-cta:hover .exy-avis-btn svg{opacity:1}
.exy-avis-tip{margin-top:1.5rem;background:#faf9f6;border:0.5px solid #e8e5de;border-left:3px solid #c8a84b;border-radius:6px;padding:.85rem 1.1rem;display:flex;align-items:flex-start;gap:.7rem}
.exy-avis-tip-icon{font-size:17px;flex-shrink:0;margin-top:1px}
.exy-avis-tip p{font-family:'Montserrat',system-ui,sans-serif;font-size:12px;color:#5c5956;line-height:1.7}
.exy-avis-tip em{font-style:italic;color:#888}
@media(max-width:768px){
  .exy-avis-grid{grid-template-columns:1fr;gap:1.25rem}
  .exy-slideshow{min-height:260px}
  .exy-avis-cta{padding:1.5rem}
  .exy-avis-btn{color:#c8a84b !important;border-color:#c8a84b !important}
  .exy-avis-btn svg{opacity:1 !important}
}

/* ══ PORTFOLIO SECTION — FLIPBOOK ══════════════════ */
.exy-portfolio-section{background:#f3f1ec}

/* ══ BLOC #14 — PROS & ARCHITECTES v3 ════════════════════ */
.exy-pro{
  --pro-1:#2E7D8C;
  --pro-2:#5B4B8A;
  --pro-3:#1D6B3A;
  --pro-4:#c8a84b;
  background:#faf9f5;
  padding:3.5rem 1.25rem;
  box-shadow:inset 0 6px 18px rgba(0,0,0,.05);
}
.exy-pro__inner{max-width:var(--max-w,1160px);margin:0 auto}
.exy-pro__head{text-align:center;margin-bottom:2rem}
.exy-pro__eyebrow{font-family:'Montserrat',system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--pro-4);display:block;margin-bottom:.4rem}
.exy-pro__title{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:400;color:#13173a;line-height:1.2;margin-bottom:.4rem}
.exy-pro__title em{font-style:italic;color:var(--pro-4)}
.exy-pro__sub{font-family:'Montserrat',system-ui,sans-serif;font-size:13px;color:#888}

/* Onglets : mi-largeur, alignés gauche */
.exy-pro__tabs{display:flex;gap:4px;justify-content:flex-start}
.exy-pro__tab{flex:0 0 145px;max-width:145px;padding:.6rem .4rem;border:none;border-radius:6px 6px 0 0;cursor:pointer;font-family:'Montserrat',system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.3px;color:#fff;opacity:.42;transition:opacity .2s,transform .15s;text-align:center;line-height:1.35}
.exy-pro__tab:hover{opacity:.75}
.exy-pro__tab.is-on{opacity:1;transform:translateY(-2px)}
.exy-pro__tab--1{background:var(--pro-1)}
.exy-pro__tab--2{background:var(--pro-2)}
.exy-pro__tab--3{background:var(--pro-3)}
.exy-pro__tab--4{background:var(--pro-4);color:#13173a}

/* Panneaux — fond blanc par défaut, pastel quand actif */
.exy-pro__panels{border-radius:0 0 12px 12px;box-shadow:0 8px 32px rgba(0,0,0,.10),0 2px 8px rgba(0,0,0,.06);overflow:hidden}
.exy-pro__tab.is-on{box-shadow:0 -3px 10px rgba(0,0,0,.12)}
.exy-pro__panel{display:none;gap:1.5rem;padding:1.75rem;flex-wrap:wrap;background:#fff}
.exy-pro__panel.is-on{display:flex}
.exy-pro__panel--1.is-on{background:#e4f3f5}
.exy-pro__panel--2.is-on{background:#ece8f6}
.exy-pro__panel--3.is-on{background:#e3f0e8}
.exy-pro__panel--4.is-on{background:#f8f3e3}

/* Tag couleur */
.exy-pro__tag{display:inline-block;font-family:'Montserrat',system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff;padding:3px 10px;border-radius:20px;margin-bottom:.65rem}
.exy-pro__panel--1 .exy-pro__tag{background:var(--pro-1)}
.exy-pro__panel--2 .exy-pro__tag{background:var(--pro-2)}
.exy-pro__panel--3 .exy-pro__tag{background:var(--pro-3)}
.exy-pro__panel--4 .exy-pro__tag{background:var(--pro-4);color:#13173a}

/* Contenu principal */
.exy-pro__main{flex:1;min-width:200px}
.exy-pro__main h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.15rem;font-weight:500;color:#13173a;margin-bottom:.5rem}
.exy-pro__main p{font-family:'Montserrat',system-ui,sans-serif;font-size:13px;color:#444;line-height:1.75;margin-bottom:.85rem}
.exy-pro__main ul{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:5px}
.exy-pro__main ul li{font-family:'Montserrat',system-ui,sans-serif;font-size:12.5px;color:#555;padding-left:16px;position:relative}
.exy-pro__main ul li::before{content:'—';position:absolute;left:0;color:#aaa}
.exy-pro__widget-label{font-family:'Montserrat',system-ui,sans-serif;font-size:11px;color:#888;margin-bottom:.5rem !important;font-weight:600;letter-spacing:.4px}

/* Rangée CTA + téléphone */
.exy-pro__cta-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.9rem}
.exy-pro__btn{display:inline-block;padding:.5rem 1.1rem;border-radius:5px;font-family:'Montserrat',system-ui,sans-serif;font-size:12.5px;font-weight:700;color:#fff;text-decoration:none;transition:opacity .2s;white-space:nowrap}
.exy-pro__btn:hover{opacity:.85}
.exy-pro__panel--1 .exy-pro__btn{background:var(--pro-1)}
.exy-pro__panel--2 .exy-pro__btn{background:var(--pro-2)}
.exy-pro__panel--3 .exy-pro__btn{background:var(--pro-3)}
.exy-pro__panel--4 .exy-pro__btn{background:var(--pro-4);color:#13173a}

/* Bouton téléphone inline */
.exy-pro__tel-btn{display:inline-flex;align-items:center;gap:.4rem;font-family:'Montserrat',system-ui,sans-serif;font-size:12.5px;font-weight:700;color:#13173a;text-decoration:none;padding:.5rem .9rem;border-radius:5px;background:rgba(255,255,255,.7);border:1.5px solid rgba(0,0,0,.12);transition:background .2s,border-color .2s;white-space:nowrap}
.exy-pro__tel-btn:hover{background:#fff;border-color:rgba(0,0,0,.25)}

/* Colonne docs — fond fixe, ne change jamais */
.exy-pro__side{width:175px;background:#f0ede7 !important;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.exy-pro__side-label{font-family:'Montserrat',system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#aaa;margin-bottom:2px}
.exy-pro__doc{display:flex;align-items:center;gap:7px;font-family:'Montserrat',system-ui,sans-serif;font-size:12px;color:#555}
.exy-pro__doc span:first-child{font-size:14px;flex-shrink:0}
.exy-pro__badge{margin-left:auto;font-size:9px;font-weight:700;padding:2px 5px;border-radius:3px;background:#e0dcd2;color:#666}

/* Téléphone dans la vignette (panel 2) */
.exy-pro__side-tel{display:flex;align-items:center;gap:6px;font-family:'Montserrat',system-ui,sans-serif;font-size:12px;font-weight:700;color:#5B4B8A;text-decoration:none;padding:.35rem .5rem;background:rgba(91,75,138,.1);border-radius:5px;width:100%;justify-content:center;transition:background .2s}
.exy-pro__side-tel:hover{background:rgba(91,75,138,.18)}
.exy-pro__doc--tel{padding:0}

/* ── Widget A : Simulateur de lot ── */
.exy-sim{margin:.25rem 0 .75rem}
.exy-sim__grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;margin-bottom:.75rem}
.exy-sim__check{display:flex;align-items:center;gap:6px;font-family:'Montserrat',system-ui,sans-serif;font-size:11.5px;color:#444;cursor:pointer;padding:4px 6px;border-radius:4px;transition:background .15s}
.exy-sim__check:hover{background:rgba(91,75,138,.08)}
.exy-sim__check input{accent-color:#5B4B8A;width:13px;height:13px;flex-shrink:0}
.exy-sim__result{display:flex;align-items:center;gap:10px;padding:.6rem .75rem;background:rgba(91,75,138,.07);border-radius:6px;border-left:3px solid #5B4B8A;flex-wrap:wrap}
.exy-sim__meter{flex:1;min-width:80px;height:6px;background:rgba(91,75,138,.15);border-radius:3px;overflow:hidden}
.exy-sim__bar{height:100%;width:0%;background:#5B4B8A;border-radius:3px;transition:width .4s ease}
.exy-sim__txt{font-family:'Montserrat',system-ui,sans-serif;font-size:12.5px;font-weight:700;color:#5B4B8A;white-space:nowrap}
.exy-sim__txt small{font-weight:400;color:#888;font-size:10px}
.exy-sim__cta{font-family:'Montserrat',system-ui,sans-serif;font-size:11px;font-weight:700;color:#fff;background:#5B4B8A;padding:4px 10px;border-radius:4px;text-decoration:none;transition:opacity .2s}
.exy-sim__cta:hover{opacity:.85}
@media(max-width:500px){.exy-sim__grid{grid-template-columns:1fr}}

/* ── Widget B : Timeline de phases ── */
.exy-tl{margin:.25rem 0 .75rem}
.exy-tl__steps{display:flex;gap:0;align-items:flex-start;padding-bottom:4px}
.exy-tl__step{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;position:relative;flex:1;min-width:50px}
.exy-tl__step:not(:last-child)::after{content:'';position:absolute;top:15px;left:50%;width:100%;height:2px;background:#cce4d2;z-index:0}
.exy-tl__step--on:not(:last-child)::after{background:#1D6B3A}
.exy-tl__dot{width:30px;height:30px;border-radius:50%;border:2px solid #ccc;background:#f5f5f5;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',system-ui,sans-serif;font-size:7.5px;font-weight:700;color:#aaa;position:relative;z-index:1;transition:background .2s,border-color .2s,color .2s;text-align:center;line-height:1.1}
.exy-tl__step--on .exy-tl__dot{border-color:#1D6B3A;color:#1D6B3A;background:#e3f0e8}
.exy-tl__step--sel .exy-tl__dot{background:#1D6B3A !important;color:#fff !important;border-color:#1D6B3A !important;box-shadow:0 0 0 3px rgba(29,107,58,.2)}
.exy-tl__name{font-family:'Montserrat',system-ui,sans-serif;font-size:9px;color:#999;text-align:center;line-height:1.2}
.exy-tl__step--on .exy-tl__name{color:#1D6B3A;font-weight:600}
.exy-tl__info{margin-top:.65rem;padding:.6rem .75rem;background:rgba(29,107,58,.07);border-left:3px solid #1D6B3A;border-radius:0 5px 5px 0;font-family:'Montserrat',system-ui,sans-serif;font-size:11.5px;color:#2c5c3a;line-height:1.65;min-height:46px}

/* Responsive */
@media(max-width:600px){
  .exy-pro__tab{flex:0 0 calc(25% - 3px);max-width:none;font-size:9.5px;padding:.5rem .15rem}
  .exy-pro__side{width:100%}
  .exy-pro__panel{padding:1.25rem}
  .exy-pro__cta-row{flex-direction:column;align-items:flex-start}
}

/* ── Mini-form brief simulateur ── */
.exy-sim__mini{
  margin-top:.85rem;
  background:#fff;
  border:2px solid #5B4B8A;
  border-radius:10px;
  padding:1.25rem;
  animation:simFadeIn .25s ease;
  box-sizing:border-box;
  width:100%;
  overflow:hidden;
  box-shadow:0 4px 20px rgba(91,75,138,.15);
}
@keyframes simFadeIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.exy-sim__mini-title{
  font-family:'Montserrat',system-ui,sans-serif;
  font-size:12px;font-weight:700;color:#5B4B8A;
  margin-bottom:1rem;padding-bottom:.6rem;
  border-bottom:1px solid rgba(91,75,138,.15);
}
.exy-sim__mini form{width:100%;box-sizing:border-box}
.exy-sim__fields{
  display:grid;grid-template-columns:1fr 1fr;
  gap:8px;margin-bottom:8px;
  width:100%;box-sizing:border-box;
}
.exy-sim__input{
  font-family:'Montserrat',system-ui,sans-serif;
  font-size:12.5px;
  padding:.55rem .8rem;
  border:2px solid #d9d5e8;
  border-radius:6px;
  width:100%;
  box-sizing:border-box;
  outline:none;
  transition:border-color .2s,box-shadow .2s;
  color:#333;
  background:#faf9ff;
}
.exy-sim__input:focus{
  border-color:#5B4B8A;
  box-shadow:0 0 0 3px rgba(91,75,138,.12);
  background:#fff;
}
.exy-sim__input::placeholder{color:#bbb}
.exy-sim__textarea{
  font-family:'Montserrat',system-ui,sans-serif;
  font-size:12.5px;
  padding:.6rem .8rem;
  border:2px solid #d9d5e8;
  border-radius:6px;
  width:100%;
  box-sizing:border-box;
  resize:vertical;
  min-height:110px;
  outline:none;
  transition:border-color .2s,box-shadow .2s;
  color:#333;
  background:#faf9ff;
  display:block;
  line-height:1.6;
}
.exy-sim__textarea:focus{
  border-color:#5B4B8A;
  box-shadow:0 0 0 3px rgba(91,75,138,.12);
  background:#fff;
}
.exy-sim__textarea::placeholder{color:#bbb}
.exy-sim__mini-foot{display:flex;align-items:center;gap:.6rem;margin-top:.85rem;flex-wrap:wrap}
.exy-sim__submit{
  font-family:'Montserrat',system-ui,sans-serif;
  font-size:12.5px;font-weight:700;
  background:#5B4B8A;color:#fff;
  border:none;padding:.55rem 1.2rem;
  border-radius:6px;cursor:pointer;
  transition:background .2s,transform .1s;
}
.exy-sim__submit:hover{background:#4a3d72;transform:translateY(-1px)}
.exy-sim__submit:active{transform:translateY(0)}
.exy-sim__submit:disabled{opacity:.5;cursor:not-allowed;transform:none}
.exy-sim__cancel{
  font-family:'Montserrat',system-ui,sans-serif;
  font-size:11px;color:#aaa;
  background:none;border:none;cursor:pointer;
  text-decoration:underline;
}
.exy-sim__cancel:hover{color:#777}
.exy-sim__ok{
  font-family:'Montserrat',system-ui,sans-serif;
  font-size:13px;color:#1D6B3A;font-weight:600;
  padding:.85rem 1rem;background:#e3f0e8;
  border-radius:6px;text-align:center;line-height:1.6;
}
.exy-sim__rgpd{font-family:'Montserrat',system-ui,sans-serif;font-size:10px;color:#bbb;margin-top:.5rem;line-height:1.5}
@media(max-width:500px){
  .exy-sim__fields{grid-template-columns:1fr}
  .exy-sim__mini{padding:.9rem}
}

.gold-em{font-style:italic;color:#c8a84b}

/* Extrait articles blog */
.blog-card-excerpt{font-family:'Montserrat',system-ui,sans-serif;font-size:12px;color:#777;line-height:1.6;margin:.4rem 0 .75rem}

/* ══ PORTFOLIO — LIVRE StPageFlip ══════════════════════════════ */
.exy-portfolio-section{background:#f3f1ec}
.exy-portfolio-seo{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.bk-stage{display:flex;flex-direction:column;align-items:center;gap:1.1rem;padding:1rem 1rem 0}

/* Conteneur du livre — StPageFlip gère le rendu canvas/HTML */
.bk-flip{margin:0 auto;touch-action:pan-y}
.bk-flip .bk-page{background:#fff;overflow:hidden}

/* Pages chargées : visibles seulement via StPageFlip (il clone le HTML) */
.bk-page{box-sizing:border-box}

/* Ombre douce sous le livre via la lib (drawShadow) — on ajoute un halo de sol */
.bk-stage{position:relative}

/* Page de garde */
.bk-guard{width:100%;height:100%;background:#13173a;display:flex;flex-direction:column;padding:1.75rem 1.5rem;box-sizing:border-box}
.bk-guard__head{text-align:center;flex-shrink:0}
.bk-guard__logo{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.5rem;font-weight:600;letter-spacing:4px;color:#fff;line-height:1}
.bk-guard__sub{display:block;font-family:'Montserrat',system-ui,sans-serif;font-size:8.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#c8a84b;margin-top:.5rem}
.bk-guard__body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1rem}
.bk-guard__txt{font-family:'Montserrat',system-ui,sans-serif;font-size:12px;color:rgba(255,255,255,.92);line-height:1.85;text-align:center;margin:0}
.bk-guard__txt:first-child{color:#fff;font-weight:500}

/* Couverture SVG */
.bk-cover{width:100%;height:100%}
.bk-cover svg{display:block;width:100%;height:100%}

/* Panneaux texte */
.bk-panel{padding:1.4rem 1.5rem;display:flex;flex-direction:column;justify-content:center;gap:.45rem;height:100%;box-sizing:border-box}
.bk-tag{font-family:'Montserrat',system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.bk-sep{width:24px;height:1.5px;display:block}
.bk-h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.3rem;font-weight:400;color:#13173a;line-height:1.2;margin-bottom:.3rem}
.bk-h3 em{font-style:italic}
.bk-txt{font-family:'Montserrat',system-ui,sans-serif;font-size:11.5px;color:#555;line-height:1.7;margin-bottom:.15rem}
.bk-badge{display:inline-block;font-family:'Montserrat',system-ui,sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#fff;padding:5px 12px;border-radius:3px;margin-top:.6rem;align-self:flex-start}

/* Grilles photos */
.bk-grid{display:grid;gap:10px;width:100%;height:100%;padding:14px;box-sizing:border-box}
.bk-grid-2x2{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.bk-ph{position:relative;margin:0;overflow:hidden;border-radius:3px;background:#e8e5de}
.bk-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.bk-ph-cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(19,23,58,.8),transparent);padding:4px 7px;font-family:'Montserrat',system-ui,sans-serif;font-size:8px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#c8a84b}

/* Page contact */
.bk-contact{height:100%;background:#13173a;padding:1.5rem 1.6rem;display:flex;flex-direction:column;justify-content:center;gap:.65rem;box-sizing:border-box}
.bk-eyebrow-w{font-family:'Montserrat',system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#c8a84b}
.bk-h3-w{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.3rem;font-weight:400;color:#fff;line-height:1.25;margin:.2rem 0 .4rem}
.bk-h3-w em{font-style:italic;color:#c8a84b}
.bk-txt-w{font-family:'Montserrat',system-ui,sans-serif;font-size:11.5px;color:rgba(255,255,255,.72);line-height:1.7;margin-bottom:.15rem}
.bk-cbtns{display:flex;gap:8px;flex-wrap:wrap;margin-top:.5rem}
.bk-cbtn{display:inline-block;padding:.5rem 1.1rem;border-radius:5px;font-family:'Montserrat',system-ui,sans-serif;font-size:12.5px;font-weight:700;text-decoration:none;transition:opacity .2s;white-space:nowrap}
.bk-cbtn:hover{opacity:.85}
.bk-cbtn-gold{background:#c8a84b;color:#13173a}
.bk-cbtn-out{background:transparent;border:1.5px solid rgba(200,168,75,.6);color:#c8a84b}

/* Contrôles */
.bk__ctrl{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-top:.6rem}
.bk__btn{display:inline-flex;align-items:center;gap:6px;background:#13173a;color:#fff;border:1.5px solid transparent;border-radius:4px;padding:.55rem 1.1rem;font-family:'Montserrat',system-ui,sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.bk__btn:hover,.bk__btn:focus{background:#c8a84b;color:#13173a;border-color:#c8a84b;outline:none}
.bk__btn svg{stroke:currentColor;flex-shrink:0}
.bk__pager{text-align:center;min-width:120px}
.bk__pager-title{display:block;font-family:'Montserrat',system-ui,sans-serif;font-size:10px;color:#888;letter-spacing:1px;text-transform:uppercase}

/* Bouton son */
.bk-snd{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border:1.5px solid #d5d1c9;border-radius:50%;color:#999;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;flex-shrink:0}
.bk-snd:hover{border-color:#c8a84b;color:#c8a84b}
.bk-snd .bk-snd__wave{opacity:.3;transition:opacity .2s}
.bk-snd--on{border-color:#c8a84b;color:#c8a84b;background:rgba(200,168,75,.1)}
.bk-snd--on .bk-snd__wave{opacity:1}

/* Responsive */
@media(max-width:820px){
  .bk-h3,.bk-h3-w{font-size:1.2rem}
  .bk-txt,.bk-txt-w{font-size:10.5px;line-height:1.65}
  .bk-panel,.bk-contact{padding:1.2rem 1.3rem}
  .bk-ph-cap{font-size:7.5px;padding:3px 5px}
  .bk-grid{gap:8px;padding:10px}
  .bk-guard{padding:1.3rem 1.1rem}
  .bk-guard__logo{font-size:1.3rem;letter-spacing:3px}
  .bk-guard__txt{font-size:11px;line-height:1.75}
}
@media(max-width:560px){
  .bk-h3,.bk-h3-w{font-size:1.1rem;line-height:1.2}
  .bk-txt,.bk-txt-w{font-size:9.5px;line-height:1.6}
  .bk-badge{font-size:8px;padding:4px 8px}
  .bk__btn{font-size:10px;padding:.45rem .8rem;gap:4px}
  .bk__ctrl{gap:.7rem}
  .bk-snd{width:31px;height:31px}
  .bk-grid{gap:5px;padding:7px}
  .bk-ph-cap{font-size:6.5px;padding:2px 4px}
  .bk-panel,.bk-contact{padding:.85rem .9rem;gap:.4rem}
  .bk-guard{padding:1rem .9rem}
  .bk-guard__logo{font-size:1.1rem;letter-spacing:2px}
  .bk-guard__sub{font-size:7.5px}
  .bk-guard__txt{font-size:9.5px;line-height:1.65}
  .bk__pager-title{font-size:9px}
}

/* ══ PAGES VILLE (SEO local) ═══════════════════════════════════ */
.ville-hero{background:#13173a;padding:3.5rem 1rem 3rem;text-align:center}
.ville-hero .eyebrow-center{justify-content:center;color:#c8a84b}
.ville-hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2rem,4.5vw,3rem);font-weight:400;color:#fff;line-height:1.15;margin:.4rem 0 0}
.ville-hero h1 em{font-style:italic;color:#c8a84b}
.ville-hero .gold-sep{margin:.85rem auto 1.25rem}
.ville-lede{max-width:760px;margin:0 auto 1.75rem;font-family:'Montserrat',system-ui,sans-serif;font-size:14px;line-height:1.8;color:rgba(255,255,255,.78)}
.ville-lede strong{color:#fff;font-weight:600}
.ville-hero-btns{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}

/* 3 services */
.ville-services{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.ville-svc{background:#fff;border:.5px solid #e8e5de;border-radius:10px;padding:1.5rem;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.ville-svc h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.25rem;font-weight:500;color:#13173a;display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}
.ville-svc-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.ville-svc p{font-family:'Montserrat',system-ui,sans-serif;font-size:12.5px;color:#555;line-height:1.7;margin-bottom:.85rem}
.ville-svc ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}
.ville-svc li{font-family:'Montserrat',system-ui,sans-serif;font-size:12px;color:#666;padding-left:14px;position:relative}
.ville-svc li::before{content:'—';position:absolute;left:0;color:#c8a84b}

/* Proximité */
.ville-prox{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.ville-prox-txt .eyebrow{color:#c8a84b}
.ville-prox-txt h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.9rem;font-weight:400;color:#13173a;line-height:1.2;margin:.3rem 0 1rem}
.ville-prox-txt h2 em{font-style:italic;color:#c8a84b}
.ville-prox-txt p{font-family:'Montserrat',system-ui,sans-serif;font-size:13px;color:#555;line-height:1.8;margin-bottom:.85rem}
.ville-prox-pts{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-top:1.25rem}
.ville-pt{background:#f3f1ec;border-left:3px solid #c8a84b;border-radius:0 5px 5px 0;padding:.7rem .9rem}
.ville-pt b{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.1rem;color:#13173a;line-height:1}
.ville-pt span{display:block;font-family:'Montserrat',system-ui,sans-serif;font-size:10.5px;color:#777;margin-top:3px}
.ville-prox-real{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ville-prox-real figure{margin:0;position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:#e8e5de}
.ville-prox-real img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.ville-prox-real figure:hover img{transform:scale(1.05)}
.ville-prox-real figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(19,23,58,.78),transparent);padding:5px 9px;font-family:'Montserrat',system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#c8a84b}

/* FAQ ville */
.ville-faq{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.ville-faq details{background:#fff;border:.5px solid #e8e5de;border-radius:8px;overflow:hidden}
.ville-faq summary{cursor:pointer;padding:1rem 1.25rem;font-family:'Montserrat',system-ui,sans-serif;font-size:13.5px;font-weight:600;color:#13173a;list-style:none;position:relative;transition:background .2s}
.ville-faq summary::-webkit-details-marker{display:none}
.ville-faq summary::after{content:'+';position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);font-size:20px;color:#c8a84b;font-weight:300}
.ville-faq details[open] summary::after{content:'−'}
.ville-faq summary:hover{background:#faf9f6}
.ville-faq details[open] summary{background:#faf9f6;border-bottom:.5px solid #e8e5de}
.ville-faq p{font-family:'Montserrat',system-ui,sans-serif;font-size:12.5px;color:#555;line-height:1.75;padding:1rem 1.25rem;margin:0}

/* Liens zones bas de page */
.ville-zones-links{margin-top:1.75rem;font-family:'Montserrat',system-ui,sans-serif;font-size:12px;color:rgba(255,255,255,.5)}
.ville-zones-links a{color:#c8a84b;text-decoration:none;font-weight:600}
.ville-zones-links a:hover{text-decoration:underline}

@media(max-width:820px){
  .ville-services{grid-template-columns:1fr}
  .ville-prox{grid-template-columns:1fr;gap:1.5rem}
}
@media(max-width:560px){
  .ville-lede{font-size:12.5px}
  .ville-prox-pts{grid-template-columns:1fr}
  .ville-prox-real{gap:7px}
}
.exy-zone-villes-links{margin-top:.6rem;padding-top:.5rem;border-top:.5px dashed #d5d1c9;font-family:'Montserrat',system-ui,sans-serif;font-size:10.5px;color:#999}
.exy-zone-villes-links a{color:#c8a84b;text-decoration:none;font-weight:600}
.exy-zone-villes-links a:hover{text-decoration:underline}
