/* ============================================= */
/* AAM-SOLUTIONS - Feuille de style principale    */
/* Version : 2026-04-24-v3-moments-fix            */
/* Si vous lisez cette ligne, vous etes sur la    */
/* version avec les styles .moment-card           */
/* ============================================= */

/* ===== BLOC 1 ===== */
/* Skip link pour accessibilité (invisible sauf au focus clavier) */
.skip-link{
  position:absolute;
  top:-40px;
  left:8px;
  background:var(--noir);
  color:var(--or);
  padding:.6rem 1.2rem;
  border-radius:6px;
  font-weight:600;
  font-size:.9rem;
  text-decoration:none;
  z-index:10000;
  transition:top .2s;
}
.skip-link:focus{
  top:8px;
  outline:2px solid var(--or);
  outline-offset:2px;
}

:root{
  --noir:#08090D;--noir2:#12141A;--noir3:#1E2028;
  --or:#C4A44A;--or2:#A8892F;--or-light:#E8D5A0;
  --blanc:#FAFAF7;--blanc2:#F2F0EA;--blanc3:#E8E6DF;
  --slate:#6B7280;--slate2:#9CA3AF;
  --vert:#0A5C3E;--vert2:#074A31;
  --brd:rgba(196,164,74,0.2);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:hidden;max-width:100%}
html{scroll-behavior:smooth}
body{font-family:'Manrope',sans-serif;background:var(--blanc);color:var(--noir);line-height:1.6;overflow-x:hidden}

/* SCROLLBAR */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--blanc2)}
::-webkit-scrollbar-thumb{background:var(--or);border-radius:2px}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 4rem;height:72px;display:flex;align-items:center;justify-content:space-between;background:rgba(8,9,13,0.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--brd);transition:all 0.3s}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:700;color:var(--blanc);letter-spacing:-0.5px;text-decoration:none}
.nav-logo span{color:var(--or)}
.nav-links{display:flex;gap:0.25rem}
.nav-links a{padding:0.4rem 1rem;font-size:0.8rem;font-weight:500;color:rgba(250,250,247,0.65);text-decoration:none;border-radius:6px;transition:all 0.2s;letter-spacing:0.3px}
.nav-links a:hover{color:var(--blanc);background:rgba(255,255,255,0.06)}
.nav-cta{background:var(--or);color:var(--noir);padding:0.5rem 1.3rem;border-radius:100px;font-size:0.8rem;font-weight:600;text-decoration:none;transition:all 0.2s;letter-spacing:0.5px;white-space:nowrap}
.nav-cta:hover{background:var(--or2);transform:translateY(-1px)}
.lang-switcher{display:flex;gap:0.3rem;margin-left:0.75rem}
.lang-switcher a{font-size:0.72rem;font-weight:600;color:rgba(250,250,247,0.65);text-decoration:none;padding:0.2rem 0.5rem;border-radius:4px;border:1px solid rgba(255,255,255,0.1);transition:all 0.2s}
.lang-switcher a:hover,.lang-switcher a.active{color:var(--or);border-color:rgba(196,164,74,0.3)}

/* HERO */
.hero{min-height:100vh;background:var(--noir);display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;padding-top:72px}
.hero-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-bg::before{content:'';position:absolute;top:-20%;right:-10%;width:600px;height:600px;border:1px solid rgba(196,164,74,0.08);border-radius:50%;transform:rotate(15deg)}
.hero-bg::after{content:'';position:absolute;bottom:-10%;right:5%;width:400px;height:400px;border:1px solid rgba(196,164,74,0.05);border-radius:50%}
.hero-grain{position:absolute;inset:0;opacity:0.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}
.hero-left{padding:5rem 3rem 4rem 4rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.hero-eyebrow{display:flex;align-items:center;gap:0.75rem;margin-bottom:2rem;opacity:0;animation:fadeUp 0.8s 0.2s forwards}
.eyebrow-line{width:40px;height:1px;background:var(--or)}
.eyebrow-text{font-size:0.7rem;font-weight:600;color:var(--or);text-transform:uppercase;letter-spacing:4px}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:4rem;line-height:1.05;font-weight:700;color:var(--blanc);letter-spacing:-2px;margin-bottom:0.75rem;opacity:0;animation:fadeUp 0.8s 0.35s forwards}
.hero-h1 em{font-style:italic;font-weight:400;color:var(--or)}
.hero-h1 span{display:block}
.hero-sub{font-size:1rem;color:rgba(250,250,247,0.65);line-height:1.8;max-width:460px;margin:1.5rem 0 2.5rem;font-weight:300;opacity:0;animation:fadeUp 0.8s 0.5s forwards}
.hero-actions{display:flex;gap:0.75rem;margin-bottom:3rem;opacity:0;animation:fadeUp 0.8s 0.65s forwards;flex-wrap:wrap}
.btn-primary{background:var(--or);color:var(--noir);padding:0.9rem 2rem;border-radius:100px;font-size:0.88rem;font-weight:600;text-decoration:none;letter-spacing:0.5px;transition:all 0.2s;display:inline-flex;align-items:center;gap:0.5rem}
.btn-primary:hover{background:var(--or2);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:rgba(250,250,247,0.75);padding:0.9rem 2rem;border-radius:100px;font-size:0.88rem;font-weight:400;text-decoration:none;border:1px solid rgba(250,250,247,0.15);transition:all 0.2s;display:inline-flex;align-items:center;gap:0.5rem}
.btn-ghost:hover{border-color:var(--or);color:var(--or)}
.hero-badges{display:flex;gap:0.6rem;flex-wrap:wrap;opacity:0;animation:fadeUp 0.8s 0.8s forwards}
.badge{font-size:0.7rem;font-weight:500;color:rgba(250,250,247,0.65);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);padding:0.3rem 0.85rem;border-radius:100px;letter-spacing:0.5px}

/* HERO RIGHT — services list */
.hero-right{display:flex;flex-direction:column;justify-content:center;padding:4rem 4rem 4rem 2rem;position:relative;z-index:2;gap:0.75rem;opacity:0;animation:fadeIn 1s 0.6s forwards}
.svc-row{display:flex;align-items:center;gap:1.25rem;padding:1.1rem 1.4rem;border:1px solid rgba(196,164,74,0.15);border-radius:14px;cursor:pointer;transition:all 0.25s;text-decoration:none}
.svc-row:hover{background:rgba(196,164,74,0.07);border-color:var(--or);transform:translateX(6px)}
.svc-num{font-family:'Cormorant Garamond',serif;font-size:1rem;color:rgba(196,164,74,0.4);min-width:28px;letter-spacing:1px}
.svc-icon{width:42px;height:42px;border-radius:10px;background:rgba(196,164,74,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.svc-icon svg{width:18px;height:18px;stroke:var(--or);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.svc-info{flex:1}
.svc-title{font-size:0.88rem;font-weight:600;color:var(--blanc);margin-bottom:0.15rem}
.svc-desc{font-size:0.72rem;color:rgba(250,250,247,0.65);font-weight:300}
.svc-arrow{font-size:0.8rem;color:rgba(196,164,74,0.4);transition:color 0.2s}
.svc-row:hover .svc-arrow{color:var(--or)}

/* STATS BAR */
.stats-bar{background:var(--noir2);border-top:1px solid var(--brd);border-bottom:1px solid var(--brd);display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{padding:1.75rem 2rem;text-align:center;border-right:1px solid var(--brd);position:relative;overflow:hidden}
.stat-item:last-child{border-right:none}
.stat-item::before{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%) scaleX(0);width:40px;height:2px;background:var(--or);transition:transform 0.3s}
.stat-item:hover::before{transform:translateX(-50%) scaleX(1)}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:700;color:var(--or);letter-spacing:-1px;line-height:1}
.stat-label{font-size:0.75rem;color:rgba(250,250,247,0.65);margin-top:0.3rem;font-weight:400;letter-spacing:0.5px}

/* SECTIONS COMMUNES */
.section{padding:6rem 4rem}
.section-tag{font-size:0.68rem;font-weight:600;color:var(--or);text-transform:uppercase;letter-spacing:4px;margin-bottom:0.75rem;display:flex;align-items:center;gap:0.5rem}
.section-tag::before{content:'';width:28px;height:1px;background:var(--or)}
.section-h2{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:700;letter-spacing:-1.5px;line-height:1.15;margin-bottom:1rem}
.section-h2 em{font-style:italic;font-weight:400;color:var(--or)}

/* SERVICES SECTION */
.services{background:var(--blanc)}
.services-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:4rem}
.services-intro-text .section-h2{color:var(--noir)}
.services-intro-sub{font-size:0.95rem;color:var(--slate);line-height:1.8;font-weight:300;max-width:420px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--blanc3)}
.service-card{background:var(--blanc);padding:2.5rem 2rem;cursor:pointer;transition:all 0.25s;position:relative;overflow:hidden}
.service-card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--or);transform:scaleX(0);transition:transform 0.3s;transform-origin:left}
.service-card:hover{background:var(--noir);transform:translateY(-2px)}
.service-card:hover::after{transform:scaleX(1)}
.service-card:hover .sc-num,.service-card:hover .sc-title,.service-card:hover .sc-text{color:inherit}
.service-card:hover .sc-num{color:rgba(196,164,74,0.5)}
.service-card:hover .sc-title{color:var(--blanc)}
.service-card:hover .sc-text{color:rgba(250,250,247,0.65)}
.service-card:hover .sc-icon{background:rgba(196,164,74,0.15)}
.sc-num{font-family:'Cormorant Garamond',serif;font-size:0.75rem;color:rgba(196,164,74,0.6);letter-spacing:2px;margin-bottom:1.25rem}
.sc-icon{width:48px;height:48px;border-radius:12px;background:var(--blanc2);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:background 0.25s}
.sc-icon svg{width:22px;height:22px;stroke:var(--or);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sc-title{font-size:1rem;font-weight:600;color:var(--noir);margin-bottom:0.6rem;line-height:1.3;transition:color 0.25s}
.sc-text{font-size:0.8rem;color:var(--slate);line-height:1.65;font-weight:300;transition:color 0.25s}
.sc-link{display:inline-flex;align-items:center;gap:0.35rem;margin-top:1.25rem;font-size:0.78rem;font-weight:600;color:var(--or);text-decoration:none;letter-spacing:0.5px}

/* POURQUOI NOUS */
.why{background:var(--noir);padding:6rem 4rem}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;margin-top:3rem}

.why-left .section-h2{color:var(--blanc);font-size:3rem}
.why-pitch{font-size:0.95rem;color:rgba(250,250,247,0.65);line-height:1.8;margin-top:1rem;font-weight:300;max-width:440px}
.why-points{display:flex;flex-direction:column;gap:1rem;margin-top:2.5rem}
.why-point{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 1.25rem;border:1px solid rgba(196,164,74,0.12);border-radius:12px;transition:border-color 0.2s}
.why-point:hover{border-color:rgba(196,164,74,0.35)}
.wp-check{width:24px;height:24px;border-radius:50%;background:var(--or);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.wp-check svg{width:11px;height:11px;stroke:var(--noir);fill:none;stroke-width:2.5}
.wp-title{font-size:0.9rem;font-weight:600;color:var(--blanc);margin-bottom:0.2rem}
.wp-text{font-size:0.78rem;color:rgba(250,250,247,0.65);font-weight:300;line-height:1.5}

/* PROCESS */
.process{background:var(--blanc2);padding:6rem 4rem}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:3.5rem;position:relative}
.process-steps::before{content:'';position:absolute;top:28px;left:12.5%;right:12.5%;height:1px;background:var(--blanc3)}
.process-step{text-align:center;padding:0 1rem}
.ps-circle{width:56px;height:56px;border-radius:50%;border:2px solid var(--or);background:var(--blanc2);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;color:var(--or);position:relative;z-index:1;transition:all 0.3s}
.process-step:hover .ps-circle{background:var(--or);color:var(--noir)}
.ps-title{font-weight:600;font-size:0.9rem;color:var(--noir);margin-bottom:0.5rem}
.ps-text{font-size:0.78rem;color:var(--slate);line-height:1.6;font-weight:300}

/* AVIS */
.avis{background:var(--blanc);padding:6rem 4rem}
.avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.avis-card{background:var(--blanc2);border:1px solid var(--blanc3);border-radius:18px;padding:1.75rem;position:relative;transition:all 0.2s}
.avis-card:hover{border-color:var(--or-light);transform:translateY(-3px)}
.avis-stars{color:var(--or);font-size:0.9rem;letter-spacing:2px;margin-bottom:0.75rem}
.avis-text{font-size:0.84rem;color:var(--slate);line-height:1.7;font-style:italic;margin-bottom:1.25rem;font-weight:300}
.avis-author{display:flex;align-items:center;gap:0.75rem}
.avis-avatar{width:36px;height:36px;border-radius:50%;background:var(--noir2);display:flex;align-items:center;justify-content:center;font-size:0.72rem;font-weight:600;color:var(--or);flex-shrink:0}
.avis-name{font-size:0.84rem;font-weight:600;color:var(--noir)}
.avis-role{font-size:0.72rem;color:var(--slate2)}
.avis-quote{position:absolute;top:1.25rem;right:1.5rem;font-family:'Cormorant Garamond',serif;font-size:3rem;color:var(--or-light);opacity:0.4;line-height:1}

/* CONTACT */
.contact{background:var(--noir2);padding:6rem 4rem}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.contact-left .section-h2{color:var(--blanc);font-size:2.8rem}
.contact-sub{font-size:0.95rem;color:rgba(250,250,247,0.65);line-height:1.8;margin-top:1rem;font-weight:300}
.contact-infos{margin-top:2rem;display:flex;flex-direction:column;gap:1rem}
.contact-info{display:flex;align-items:center;gap:0.75rem;font-size:0.85rem;color:rgba(250,250,247,0.6)}
.ci-icon{width:32px;height:32px;border-radius:8px;background:rgba(196,164,74,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ci-icon svg{width:14px;height:14px;stroke:var(--or);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.contact-form{background:rgba(255,255,255,0.03);border:1px solid var(--brd);border-radius:20px;padding:2rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-group{display:flex;flex-direction:column;gap:0.4rem;margin-bottom:1rem}
.form-group label{font-size:0.75rem;font-weight:500;color:rgba(250,250,247,0.65);text-transform:uppercase;letter-spacing:1px}
.form-group input,.form-group select,.form-group textarea{background:rgba(255,255,255,0.05);border:1px solid rgba(196,164,74,0.15);border-radius:10px;padding:0.75rem 1rem;font-size:0.85rem;color:var(--blanc);font-family:'Manrope',sans-serif;outline:none;transition:border-color 0.2s;width:100%}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--or)}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(250,250,247,0.55)}
.form-group select{appearance:none;cursor:pointer}
.form-group select option{background:var(--noir2);color:var(--blanc)}
.form-group textarea{resize:vertical;min-height:100px}
.form-submit{width:100%;background:var(--or);color:var(--noir);padding:0.95rem;border-radius:100px;font-size:0.9rem;font-weight:600;cursor:pointer;border:none;letter-spacing:0.5px;transition:all 0.2s;font-family:'Manrope',sans-serif;margin-top:0.5rem}
.form-submit:hover{background:var(--or2);transform:translateY(-1px)}
.form-success{display:none;text-align:center;padding:3rem 2rem;border:1px solid rgba(196,164,74,.15);border-radius:18px;animation:fadeIn .4s ease-out;background:rgba(255,255,255,.02);min-height:300px;align-items:center;justify-content:center;flex-direction:column}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* CTA FINAL */
.cta-final{background:var(--or);padding:5rem 4rem;text-align:center}
.cta-h2{font-family:'Cormorant Garamond',serif;font-size:3.2rem;font-weight:700;color:var(--noir);letter-spacing:-1.5px;margin-bottom:0.75rem}
.cta-h2 em{font-style:italic;font-weight:400}
.cta-sub{font-size:1rem;color:rgba(8,9,13,0.6);margin-bottom:2rem;font-weight:300}
.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-dark{background:var(--noir);color:var(--blanc);padding:0.9rem 2rem;border-radius:100px;font-size:0.88rem;font-weight:600;text-decoration:none;transition:all 0.2s;letter-spacing:0.5px}
.btn-dark:hover{background:var(--noir2);transform:translateY(-2px)}
.btn-outline-dark{background:transparent;color:var(--noir);padding:0.9rem 2rem;border-radius:100px;font-size:0.88rem;font-weight:500;text-decoration:none;border:2px solid var(--noir);transition:all 0.2s}
.btn-outline-dark:hover{background:var(--noir);color:var(--or)}

/* FOOTER */
footer{background:var(--noir);border-top:1px solid var(--brd);padding:3rem 4rem}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:2.5rem}
.footer-brand .logo{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:700;color:var(--blanc);letter-spacing:-0.5px}
.footer-brand .logo span{color:var(--or)}
.footer-brand p{font-size:0.8rem;color:rgba(250,250,247,0.65);line-height:1.7;margin-top:0.75rem;font-weight:300;max-width:240px}
.footer-col h4{font-size:0.72rem;font-weight:600;color:var(--or);text-transform:uppercase;letter-spacing:2px;margin-bottom:1rem}
.footer-col a{display:block;font-size:0.8rem;color:rgba(250,250,247,0.65);text-decoration:none;margin-bottom:0.5rem;transition:color 0.2s}
.footer-col a:hover{color:var(--or)}
.footer-bottom{border-top:1px solid var(--brd);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center}
.footer-legal{font-size:0.72rem;color:rgba(250,250,247,0.65)}
.footer-agrement{display:flex;align-items:center;gap:0.5rem;font-size:0.72rem;color:rgba(250,250,247,0.65)}
.agrement-dot{width:6px;height:6px;border-radius:50%;background:var(--or)}

/* CHATBOT */
.chat-bubble{position:fixed;bottom:92px;right:20px;z-index:999}
.chat-toggle{width:56px;height:56px;border-radius:50%;background:var(--or);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s;box-shadow:0 4px 20px rgba(196,164,74,0.4)}
.chat-toggle:hover{background:var(--or2);transform:scale(1.05)}
.chat-toggle svg{width:22px;height:22px;stroke:var(--noir);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chat-window{position:absolute;bottom:70px;right:0;width:360px;background:var(--blanc);border-radius:20px;border:1px solid var(--blanc3);overflow:hidden;display:none;flex-direction:column;height:460px;box-shadow:0 20px 60px rgba(0,0,0,0.15)}
.chat-window.open{display:flex}
.chat-head{background:var(--noir);padding:1rem 1.25rem;display:flex;align-items:center;gap:0.75rem}
.chat-av{width:36px;height:36px;border-radius:50%;background:var(--or);display:flex;align-items:center;justify-content:center}
.chat-av svg{width:16px;height:16px;stroke:var(--noir);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chat-nm{font-size:0.88rem;font-weight:600;color:var(--blanc)}
.chat-st{font-size:0.68rem;color:rgba(250,250,247,0.65);display:flex;align-items:center;gap:4px}
.chat-st::before{content:'';width:5px;height:5px;border-radius:50%;background:#22C55E;display:inline-block}
.chat-msgs{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:0.7rem;background:#F7F6F2;scroll-behavior:smooth}
.cm{max-width:84%;padding:0.65rem 0.9rem;border-radius:14px;font-size:0.8rem;line-height:1.55}
.cm-b{background:var(--blanc);color:var(--noir);align-self:flex-start;border:1px solid var(--blanc3);border-bottom-left-radius:4px}
.cm-u{background:var(--noir);color:var(--blanc);align-self:flex-end;border-bottom-right-radius:4px}
.chat-quick{padding:0.5rem 0.75rem;display:flex;gap:0.35rem;flex-wrap:wrap;border-top:1px solid var(--blanc3);background:var(--blanc)}
.cq{font-size:0.7rem;padding:0.25rem 0.65rem;border-radius:100px;border:1px solid var(--blanc3);cursor:pointer;background:var(--blanc);color:var(--noir);transition:all 0.15s;font-family:'Manrope',sans-serif}
.cq:hover{background:var(--noir);color:var(--blanc);border-color:var(--noir)}
.chat-inp-row{padding:0.7rem 0.9rem;border-top:1px solid var(--blanc3);background:var(--blanc);display:flex;gap:0.5rem;align-items:center}
.chat-inp{flex:1;border:1px solid var(--blanc3);border-radius:100px;padding:0.5rem 0.9rem;font-size:16px;font-family:'Manrope',sans-serif;outline:none;background:var(--blanc2);color:var(--noir)}
.chat-inp:focus{border-color:var(--or)}
.chat-send{width:32px;height:32px;border-radius:50%;background:var(--noir);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 0.15s}
.chat-send:hover{background:var(--or2)}
.chat-send svg{width:12px;height:12px;stroke:white;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dot-t{width:6px;height:6px;border-radius:50%;background:var(--slate2);animation:blink 1.2s infinite;display:inline-block;margin:0 1px}
.dot-t:nth-child(2){animation-delay:.2s}
.dot-t:nth-child(3){animation-delay:.4s}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}

/* MOBILE */


.nex-services{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;background:transparent!important}
.nex-services .nex-check{display:flex!important;align-items:center;gap:.45rem;padding:.5rem .7rem;background:rgba(255,255,255,.03)!important;border:1px solid rgba(196,164,74,.15)!important;border-radius:8px;cursor:pointer;transition:all .2s;font-size:.78rem!important;color:rgba(250,250,247,.75)!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;margin:0!important}
.nex-services .nex-check:hover{background:rgba(196,164,74,.06)!important;border-color:rgba(196,164,74,.35)!important;color:#FAFAF7!important}
.nex-services .nex-check input{width:16px;height:16px;accent-color:#C4A44A;cursor:pointer;margin:0;flex-shrink:0}
.nex-services .nex-check:has(input:checked){background:rgba(196,164,74,.12)!important;border-color:rgba(196,164,74,.55)!important;color:#FAFAF7!important}
.nex-services .nex-check span{flex:1;line-height:1.3}
@media(max-width:560px){.nex-services{grid-template-columns:1fr}}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--or);outline-offset:2px;border-radius:4px}
.chat-toggle:focus-visible,.sticky-phone:focus-visible{outline:3px solid rgba(196,164,74,.6);outline-offset:3px}

/* Fix débordement mobile */

/* === MOBILE RESPONSIVE FIX === */

/* === FIN MOBILE FIX === */

/* ===== BLOC 2 ===== */
/* Cartes de service cliquables */
  a.service-card {
    display: block;
    transition: all 0.3s ease;
    cursor: pointer;
  }
  a.service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(196, 164, 74, 0.18);
    border-color: rgba(196, 164, 74, 0.4) !important;
  }
  a.service-card:hover .sc-link {
    color: var(--or) !important;
  }
  a.service-card:hover .sc-title {
    color: var(--or);
  }

/* ===== BLOC 3 ===== */



/* ===== BURGER MENU (pattern PM Cleaning) ===== */
/* Desktop : burger et menu mobile cachés */
.nx-ham{display:none}
.nx-mob{display:none}

/* Style du bouton burger (3 traits) */
.nx-ham{
  background:transparent;
  border:none;
  cursor:pointer;
  padding:8px;
  width:44px;
  height:44px;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  margin-left:8px;
}
.nx-ham span{
  display:block;
  width:24px;
  height:2px;
  background:var(--or);
  border-radius:2px;
  transition:all .25s;
}

/* Style du menu déroulant mobile */
.nx-mob{
  position:fixed;
  top:72px;
  left:0;
  right:0;
  background:rgba(8,9,13,0.98);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--brd);
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
  z-index:999;
}
.nx-mob.nx-open{
  max-height:calc(100vh - 72px);
  overflow-y:auto;
}
.nx-mob a{
  display:block;
  padding:16px 1.5rem;
  color:var(--blanc);
  text-decoration:none;
  font-size:1rem;
  border-bottom:1px solid rgba(255,255,255,0.06);
  transition:background .15s;
}
.nx-mob a:hover,.nx-mob a:focus{
  background:rgba(196,164,74,0.08);
  color:var(--or);
}
.nx-mob .nx-mob-cta{
  margin:16px 1.5rem;
  padding:14px 20px;
  background:var(--or);
  color:var(--noir);
  text-align:center;
  border-radius:100px;
  font-weight:600;
  border-bottom:none;
}
.nx-mob .nx-mob-cta:hover{
  background:var(--or2);
  color:var(--noir);
}
.nx-mob .nx-mob-phone{
  text-align:center;
  padding:12px 1.5rem;
  color:var(--or);
  font-weight:600;
  border-bottom:none;
}
.nx-mob-langs{
  display:flex;
  justify-content:center;
  gap:4px;
  padding:16px;
  border-top:1px solid rgba(255,255,255,0.06);
}
.nx-mob-langs a{
  display:inline-block;
  padding:6px 12px;
  font-size:.8rem;
  border:1px solid var(--brd);
  border-radius:6px;
  color:var(--slate);
  border-bottom:1px solid var(--brd);
}
.nx-mob-langs a.active{
  color:var(--or);
  border-color:var(--or);
}
/* ===== FIN BURGER ===== */

/* ===== TABLETTE (769px - 1024px) ===== */
/* Ajustements pour viewports intermédiaires : réduit les paddings, passe certaines grilles 3-cols à 2-cols, réduit légèrement les tailles de typo */
@media(min-width:769px) and (max-width:1024px){
  nav{padding:0 2rem}
  .nav-links a{padding:0.4rem 0.7rem;font-size:0.75rem}
  .hero-left{padding:4rem 2rem 3rem}
  .hero-h1{font-size:3rem}
  .hero-right{padding:3rem 2rem 3rem 1rem}
  .section{padding:5rem 2rem}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .why{padding:5rem 2rem}
  .why-grid{gap:3rem}
  .process{padding:5rem 2rem}
  .process-steps{grid-template-columns:repeat(2,1fr);gap:3rem 2rem}
  .process-steps::before{display:none}
  .avis{padding:5rem 2rem}
  .avis-grid{grid-template-columns:repeat(2,1fr)}
  .contact{padding:5rem 2rem}
  .contact-inner{gap:3rem}
  .cta-final{padding:5rem 2rem}
  .cta-h2{font-size:2.6rem}
  footer{padding:3rem 2rem}
  .footer-inner{grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
  /* Sections custom inline : le responsive inline déjà en place s'adapte aussi */
  .problem > div, .tarifs > div{padding-left:2rem;padding-right:2rem}
}

/* Mobile responsive - bloc consolide */
@media(max-width:768px){

  /* Burger : afficher bouton et menu sur mobile */
  .nx-ham{display:flex}
  .nx-mob{display:block}

  /* Tarifs : 1 colonne sur mobile (évite le pack orphelin sur ligne 2) */
  .tarifs-grid{grid-template-columns:1fr !important}
  #tarifs{padding-left:1.25rem !important;padding-right:1.25rem !important}

nav{padding:0 1.5rem}
.nav-links{display:none}
.hero{grid-template-columns:1fr;min-height:auto}
.hero-left{padding:3rem 1.5rem 2rem}
.hero-h1{font-size:2.8rem}
.hero-right{padding:0 1.5rem 3rem;display:none}
.stats-bar{grid-template-columns:repeat(2,1fr)}
.section{padding:4rem 1.5rem}
.services-intro{grid-template-columns:1fr}
.services-grid{grid-template-columns:1fr}
.why-grid{grid-template-columns:1fr}
.process-steps{grid-template-columns:repeat(2,1fr)}
.avis-grid{grid-template-columns:1fr}
.contact-inner{grid-template-columns:1fr}
.form-row{grid-template-columns:1fr}
.footer-inner{grid-template-columns:1fr 1fr}
.chat-window{width:calc(100vw - 40px);max-width:320px;height:min(460px, calc(100vh - 200px))}

/* Padding sections */
  section{padding-left:1.25rem!important;padding-right:1.25rem!important}
  
  /* Tailles titres */
  .hero-h1{font-size:2.2rem!important;line-height:1.1!important}
  h1,h2{overflow-wrap:break-word;word-wrap:break-word;hyphens:auto}
  
  /* Grids 2 colonnes → 1 colonne */
  [style*="grid-template-columns:1fr 1.2fr"],
  [style*="grid-template-columns:1.2fr 1fr"],
  [style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr!important;
    gap:2rem!important
  }
  
  /* Grids 4 colonnes → 2 colonnes (stats, etc.) */
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(3,1fr)"]{
    grid-template-columns:repeat(2,1fr)!important
  }
  
  /* Grid asymétrique → 1 colonne */
  [style*="grid-template-columns:2fr 1fr 1fr 1fr"]{
    grid-template-columns:1fr!important
  }

.sticky-phone { display: flex !important; }
  .sticky-phone.sp-hide { display: none !important; }
  .sp-whatsapp.sp-hide { display: none !important; }

.nav-links,.lsw,.lang-switcher,.nav-cta{display:none!important}
}

/* ============================================= */
/* PAGES LÉGALES (mentions, confidentialité, etc.) */
/* ============================================= */
.legal-page{
  background:var(--blanc);
  padding:6rem 2rem 4rem;
  min-height:100vh;
}
.legal-container{
  max-width:820px;
  margin:0 auto;
  padding:2rem 0;
}
.legal-eyebrow{
  font-size:.68rem;
  font-weight:700;
  color:var(--or);
  text-transform:uppercase;
  letter-spacing:4px;
  margin-bottom:.75rem;
  display:flex;
  align-items:center;
  gap:.5rem;
}
.legal-eyebrow::before{
  content:'';
  width:28px;
  height:1px;
  background:var(--or);
}
.legal-h1{
  font-family:'Cormorant Garamond',serif;
  font-size:3rem;
  font-weight:700;
  color:var(--noir);
  letter-spacing:-1.5px;
  line-height:1.15;
  margin-bottom:1.5rem;
}
.legal-h1 em{
  font-style:italic;
  font-weight:400;
  color:var(--or);
}
.legal-intro{
  font-size:1rem;
  color:var(--slate);
  line-height:1.8;
  font-weight:300;
  margin-bottom:3rem;
  padding-bottom:2rem;
  border-bottom:1px solid var(--blanc3);
}
.legal-section{
  margin-bottom:2.5rem;
}
.legal-section h2{
  font-family:'Cormorant Garamond',serif;
  font-size:1.7rem;
  font-weight:700;
  color:var(--noir);
  letter-spacing:-.5px;
  margin:2.5rem 0 1rem;
  line-height:1.3;
}
.legal-section h3{
  font-family:'Manrope',sans-serif;
  font-size:1rem;
  font-weight:600;
  color:var(--noir);
  margin:1.5rem 0 .75rem;
}
.legal-section p{
  font-size:.95rem;
  color:var(--slate);
  line-height:1.75;
  font-weight:300;
  margin-bottom:1rem;
}
.legal-section strong{
  color:var(--noir);
  font-weight:600;
}
.legal-section a{
  color:var(--or);
  text-decoration:none;
  border-bottom:1px dotted var(--or);
  transition:border-color .15s;
}
.legal-section a:hover{
  border-bottom-style:solid;
}
.legal-section ul{
  list-style:none;
  padding:0;
  margin:0 0 1rem;
}
.legal-section ul li{
  position:relative;
  padding:.35rem 0 .35rem 1.5rem;
  font-size:.95rem;
  color:var(--slate);
  line-height:1.7;
  font-weight:300;
}
.legal-section ul li::before{
  content:'→';
  position:absolute;
  left:0;
  color:var(--or);
  font-weight:600;
}
.legal-card{
  background:var(--blanc2);
  border:1px solid var(--blanc3);
  border-radius:12px;
  padding:1.5rem;
  margin:1rem 0;
}
.legal-card p{
  margin:0;
  font-size:.92rem;
  line-height:1.7;
}
.legal-table{
  width:100%;
  border-collapse:collapse;
  margin:1rem 0 1.5rem;
  font-size:.88rem;
  background:var(--blanc);
  border:1px solid var(--blanc3);
  border-radius:8px;
  overflow:hidden;
}
.legal-table thead{
  background:var(--blanc2);
}
.legal-table th{
  text-align:left;
  padding:.85rem 1rem;
  font-weight:600;
  color:var(--noir);
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:1px;
  border-bottom:1px solid var(--blanc3);
}
.legal-table td{
  padding:.85rem 1rem;
  color:var(--slate);
  line-height:1.6;
  border-bottom:1px solid var(--blanc3);
  vertical-align:top;
}
.legal-table tbody tr:last-child td{
  border-bottom:none;
}
.legal-note{
  background:rgba(196,164,74,.06);
  border-left:3px solid var(--or);
  padding:.85rem 1rem;
  font-size:.85rem;
  color:var(--slate);
  font-style:italic;
  border-radius:4px;
  margin:1rem 0;
}
.legal-footer-note{
  margin-top:4rem;
  padding-top:2rem;
  border-top:1px solid var(--blanc3);
  font-size:.8rem;
  color:var(--slate2);
  font-style:italic;
  line-height:1.7;
}

@media(max-width:768px){
  .legal-page{padding:5rem 1.25rem 3rem}
  .legal-h1{font-size:2.2rem}
  .legal-section h2{font-size:1.4rem}
  .legal-table{font-size:.82rem}
  .legal-table th, .legal-table td{padding:.65rem}
}

/* ============================================= */
/* SECTION "TROIS MOMENTS" — refonte lisibilité   */
/* ============================================= */
.moments{
  background:var(--blanc);
  padding:6rem 4rem;
  border-bottom:1px solid var(--blanc3);
}
.moments-inner{
  max-width:1200px;
  margin:0 auto;
}
.moments-intro{
  margin-bottom:4rem;
  max-width:780px;
}
.moments-intro .section-h2{
  margin-bottom:1.2rem;
}
.moments-lead{
  color:var(--slate);
  font-size:1.05rem;
  line-height:1.8;
  font-weight:300;
}
.moments-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  margin-bottom:3rem;
}
.moment-card{
  background:var(--blanc);
  border:1px solid var(--blanc3);
  border-left:3px solid #C94040;
  border-radius:12px;
  padding:2.25rem 2rem;
  display:flex;
  flex-direction:column;
  position:relative;
  transition:border-color .25s, transform .25s, box-shadow .25s;
}
.moment-card:hover{
  border-color:var(--blanc3);
  border-left-color:#C94040;
  transform:translateY(-3px);
  box-shadow:0 12px 32px rgba(8,9,13,.06);
}
.moment-number{
  font-family:'Cormorant Garamond',serif;
  font-size:3rem;
  font-weight:700;
  color:rgba(201,64,64,.15);
  line-height:1;
  margin-bottom:.5rem;
  letter-spacing:-2px;
}
.moment-label{
  font-size:.68rem;
  font-weight:700;
  color:#C94040;
  text-transform:uppercase;
  letter-spacing:3px;
  margin-bottom:1rem;
}
.moment-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.65rem;
  font-weight:700;
  color:var(--noir);
  letter-spacing:-.5px;
  line-height:1.2;
  margin-bottom:1.2rem;
}
.moment-text{
  color:var(--slate);
  font-size:.95rem;
  line-height:1.75;
  font-weight:300;
  margin-bottom:1.5rem;
  flex:1;
}
.moment-text strong{
  color:var(--noir);
  font-weight:600;
}
.moment-cost{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:.95rem;
  color:var(--or2);
  line-height:1.55;
  padding-top:1.2rem;
  border-top:1px solid var(--blanc3);
  font-weight:400;
}
.moment-cost span{
  font-weight:700;
  font-style:normal;
  font-family:'Manrope',sans-serif;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:2px;
  color:var(--or);
  display:inline-block;
  margin-right:.35rem;
}

/* Bloc solution */
.moments-solution{
  background:linear-gradient(135deg,var(--noir) 0%,var(--noir2) 100%);
  border-radius:20px;
  padding:3rem;
  color:var(--blanc);
  border:1px solid rgba(196,164,74,.3);
  position:relative;
  overflow:hidden;
}
.moments-solution::before{
  content:'';
  position:absolute;
  top:-100px;
  right:-100px;
  width:300px;
  height:300px;
  border:1px solid rgba(196,164,74,.08);
  border-radius:50%;
  pointer-events:none;
}
.ms-label{
  font-size:.68rem;
  font-weight:700;
  color:var(--or);
  text-transform:uppercase;
  letter-spacing:3px;
  margin-bottom:1rem;
}
.ms-title{
  font-family:'Cormorant Garamond',serif;
  font-size:2.1rem;
  font-weight:700;
  color:var(--blanc);
  letter-spacing:-.8px;
  line-height:1.2;
  margin-bottom:1rem;
  max-width:700px;
}
.ms-title em{
  font-style:italic;
  font-weight:400;
  color:var(--or);
}
.ms-text{
  color:rgba(250,250,247,.75);
  font-size:1rem;
  line-height:1.8;
  font-weight:300;
  max-width:780px;
}

/* Tablette : 2 colonnes */
@media(min-width:769px) and (max-width:1024px){
  .moments{padding:5rem 2rem}
  .moments-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}
  .moment-card:last-child{grid-column:1/-1;max-width:calc(50% - .625rem)}
  .moments-solution{padding:2.5rem}
  .ms-title{font-size:1.9rem}
}

/* Mobile : 1 seule colonne pleine largeur */
@media(max-width:768px){
  .moments{padding:4rem 1.25rem!important}
  .moments-intro{margin-bottom:3rem}
  .moments-grid{grid-template-columns:1fr!important;gap:1rem}
  .moment-card{padding:1.75rem 1.5rem}
  .moment-number{font-size:2.4rem}
  .moment-title{font-size:1.4rem}
  .moment-text{font-size:.95rem}
  .moments-solution{padding:2rem 1.5rem;border-radius:16px}
  .ms-title{font-size:1.6rem}
  .ms-text{font-size:.95rem}
}

/* ============================================= */
/* PAGES SERVICE — styles communs                  */
/* Version : 2026-04-24-service-pages              */
/* ============================================= */

/* Hero de page service */
.sp-hero{
  background:var(--noir);
  color:var(--blanc);
  padding:9rem 4rem 6rem;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(196,164,74,.2);
}
.sp-hero::before{
  content:'';
  position:absolute;
  top:-15%;
  right:-8%;
  width:500px;
  height:500px;
  border:1px solid rgba(196,164,74,.08);
  border-radius:50%;
  pointer-events:none;
}
.sp-hero::after{
  content:'';
  position:absolute;
  bottom:-20%;
  left:-10%;
  width:400px;
  height:400px;
  border:1px solid rgba(196,164,74,.05);
  border-radius:50%;
  pointer-events:none;
}
.sp-hero-inner{
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:4rem;
  align-items:center;
}
.sp-breadcrumb{
  display:flex;
  gap:.5rem;
  font-size:.78rem;
  color:rgba(250,250,247,.55);
  margin-bottom:1.5rem;
  flex-wrap:wrap;
}
.sp-breadcrumb a{
  color:rgba(250,250,247,.75);
  text-decoration:none;
  transition:color .2s;
}
.sp-breadcrumb a:hover{color:var(--or)}
.sp-breadcrumb span.sep{color:rgba(250,250,247,.3)}
.sp-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  font-size:.7rem;
  font-weight:600;
  color:var(--or);
  text-transform:uppercase;
  letter-spacing:4px;
  margin-bottom:1.5rem;
}
.sp-eyebrow::before{
  content:'';
  width:40px;
  height:1px;
  background:var(--or);
}
.sp-h1{
  font-family:'Cormorant Garamond',serif;
  font-size:3.6rem;
  font-weight:700;
  line-height:1.05;
  letter-spacing:-2px;
  color:var(--blanc);
  margin-bottom:1.5rem;
}
.sp-h1 em{font-style:italic;font-weight:400;color:var(--or)}
.sp-lead{
  font-size:1.1rem;
  line-height:1.75;
  color:rgba(250,250,247,.7);
  font-weight:300;
  margin-bottom:2rem;
  max-width:540px;
}
.sp-lead strong{color:var(--blanc);font-weight:600}
.sp-hero-checks{
  display:flex;
  flex-direction:column;
  gap:.75rem;
  margin-bottom:2.5rem;
}
.sp-check{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  font-size:.92rem;
  color:rgba(250,250,247,.85);
  line-height:1.5;
}
.sp-check::before{
  content:'';
  flex-shrink:0;
  margin-top:2px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--or);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2308090D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:11px;
  background-position:center;
  background-repeat:no-repeat;
}
.sp-hero-actions{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  margin-bottom:2rem;
}
.sp-trust-inline{
  display:flex;
  gap:1.25rem;
  flex-wrap:wrap;
  padding-top:1.5rem;
  border-top:1px solid rgba(255,255,255,.08);
}
.sp-trust-item{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.78rem;
  color:rgba(250,250,247,.65);
}
.sp-trust-item strong{
  color:var(--or);
  font-weight:700;
  font-size:.82rem;
}
.sp-hero-visual{
  background:rgba(196,164,74,.06);
  border:1px solid rgba(196,164,74,.2);
  border-radius:20px;
  padding:2rem;
  position:relative;
}
.sp-hero-visual h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem;
  font-weight:700;
  color:var(--or);
  margin-bottom:1.25rem;
  letter-spacing:-.5px;
}
.sp-address-box{
  background:rgba(0,0,0,.2);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:1.25rem;
  margin-bottom:1rem;
  transition:border-color .2s, transform .2s;
}
.sp-address-box:hover{
  border-color:rgba(196,164,74,.35);
  transform:translateX(4px);
}
.sp-address-box:last-child{margin-bottom:0}
.sp-address-label{
  font-size:.68rem;
  font-weight:700;
  color:var(--or);
  text-transform:uppercase;
  letter-spacing:2px;
  margin-bottom:.35rem;
}
.sp-address-street{
  color:var(--blanc);
  font-size:.95rem;
  font-weight:600;
  margin-bottom:.2rem;
}
.sp-address-city{
  color:rgba(250,250,247,.65);
  font-size:.85rem;
  font-weight:300;
}

/* Sections communes pages service */
.sp-section{
  padding:5rem 4rem;
  background:var(--blanc);
}
.sp-section.alt{background:var(--blanc2)}
.sp-section.dark{background:var(--noir2);color:var(--blanc)}
.sp-section-inner{
  max-width:1200px;
  margin:0 auto;
}
.sp-section-intro{
  max-width:780px;
  margin-bottom:3rem;
}
.sp-section-tag{
  font-size:.68rem;
  font-weight:600;
  color:var(--or);
  text-transform:uppercase;
  letter-spacing:4px;
  margin-bottom:.75rem;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}
.sp-section-tag::before{
  content:'';
  width:28px;
  height:1px;
  background:var(--or);
}
.sp-h2{
  font-family:'Cormorant Garamond',serif;
  font-size:2.6rem;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-1.5px;
  color:var(--noir);
  margin-bottom:1rem;
}
.sp-h2 em{font-style:italic;font-weight:400;color:var(--or)}
.sp-section.dark .sp-h2{color:var(--blanc)}
.sp-section-lead{
  color:var(--slate);
  font-size:1.02rem;
  line-height:1.8;
  font-weight:300;
}
.sp-section.dark .sp-section-lead{color:rgba(250,250,247,.7)}

/* Prose (zones de texte longues) */
.sp-prose{
  max-width:780px;
  color:var(--slate);
  font-size:.97rem;
  line-height:1.85;
  font-weight:300;
}
.sp-prose p{margin-bottom:1.2rem}
.sp-prose strong{color:var(--noir);font-weight:600}
.sp-prose h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem;
  font-weight:700;
  color:var(--noir);
  margin:2.5rem 0 1rem;
  letter-spacing:-.5px;
}
.sp-prose ul{
  padding-left:1.5rem;
  margin-bottom:1.5rem;
}
.sp-prose ul li{
  margin-bottom:.5rem;
  padding-left:.5rem;
}
.sp-prose ul li::marker{color:var(--or)}
.sp-prose a{
  color:var(--or2);
  text-decoration:none;
  border-bottom:1px solid rgba(168,137,47,.35);
  transition:border-color .2s;
}
.sp-prose a:hover{border-color:var(--or2)}

/* Cartes "Pour qui" */
.sp-profiles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
  margin-top:2.5rem;
}
.sp-profile{
  background:var(--blanc);
  border:1px solid var(--blanc3);
  border-radius:12px;
  padding:1.75rem;
  transition:border-color .2s, transform .2s, box-shadow .2s;
}
.sp-profile:hover{
  border-color:var(--or-light);
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(8,9,13,.06);
}
.sp-profile-num{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  font-weight:700;
  color:rgba(196,164,74,.25);
  line-height:1;
  margin-bottom:.5rem;
}
.sp-profile h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.35rem;
  font-weight:700;
  color:var(--noir);
  margin-bottom:.6rem;
  letter-spacing:-.3px;
}
.sp-profile p{
  font-size:.88rem;
  color:var(--slate);
  line-height:1.65;
  font-weight:300;
}

/* Section "Deux adresses" (cards bureaux) */
.sp-bureaus{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:2rem;
  margin-top:2.5rem;
}
.sp-bureau{
  background:var(--blanc);
  border:1px solid var(--blanc3);
  border-radius:16px;
  padding:2rem;
  display:flex;
  flex-direction:column;
}
.sp-bureau-flag{
  font-size:.68rem;
  font-weight:700;
  color:var(--or);
  text-transform:uppercase;
  letter-spacing:3px;
  margin-bottom:.75rem;
}
.sp-bureau h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.8rem;
  font-weight:700;
  color:var(--noir);
  line-height:1.2;
  letter-spacing:-.5px;
  margin-bottom:.25rem;
}
.sp-bureau-street{
  color:var(--slate);
  font-size:.92rem;
  font-weight:400;
  margin-bottom:1.25rem;
}
.sp-bureau-body{
  color:var(--slate);
  font-size:.93rem;
  line-height:1.75;
  font-weight:300;
  margin-bottom:1.25rem;
  flex:1;
}
.sp-bureau-features{
  list-style:none;
  padding:0;
  margin:0 0 1.25rem;
  display:flex;
  flex-direction:column;
  gap:.55rem;
}
.sp-bureau-features li{
  font-size:.86rem;
  color:var(--noir);
  line-height:1.5;
  padding-left:1.5rem;
  position:relative;
}
.sp-bureau-features li::before{
  content:'';
  position:absolute;
  left:0;
  top:6px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--or);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAFAF7' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:9px;
  background-position:center;
  background-repeat:no-repeat;
}
.sp-bureau-cta{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:.85rem;
  font-weight:600;
  color:var(--or2);
  text-decoration:none;
  padding:.6rem 0;
  border-bottom:1px solid var(--or-light);
  align-self:flex-start;
  transition:all .2s;
}
.sp-bureau-cta:hover{color:var(--or)}

/* Section Tarifs / Packs */
.sp-packs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  margin-top:3rem;
}
.sp-pack{
  background:var(--blanc);
  border:1px solid var(--blanc3);
  border-radius:16px;
  padding:2rem 1.75rem;
  position:relative;
  display:flex;
  flex-direction:column;
  transition:border-color .2s, transform .2s, box-shadow .2s;
}
.sp-pack:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(8,9,13,.08);
}
.sp-pack.featured{
  border-color:var(--or);
  border-width:2px;
  box-shadow:0 0 0 4px rgba(196,164,74,.08);
}
.sp-pack.featured::before{
  content:'Plus populaire';
  position:absolute;
  top:-13px;
  left:50%;
  transform:translateX(-50%);
  background:var(--or);
  color:var(--noir);
  padding:.3rem 1rem;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  border-radius:100px;
  white-space:nowrap;
}
.sp-pack-name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;
  font-weight:700;
  color:var(--noir);
  letter-spacing:-.3px;
  margin-bottom:.25rem;
}
.sp-pack-tagline{
  font-size:.82rem;
  color:var(--slate);
  line-height:1.5;
  margin-bottom:1.5rem;
  font-weight:300;
  min-height:40px;
}
.sp-pack-price{
  display:flex;
  align-items:baseline;
  gap:.35rem;
  margin-bottom:.25rem;
}
.sp-pack-amount{
  font-family:'Cormorant Garamond',serif;
  font-size:3rem;
  font-weight:700;
  color:var(--or);
  letter-spacing:-2px;
  line-height:1;
}
.sp-pack-period{
  font-size:.95rem;
  color:var(--slate);
  font-weight:500;
}
.sp-pack-htva{
  font-size:.68rem;
  color:var(--slate2);
  text-transform:uppercase;
  letter-spacing:2px;
  font-weight:600;
  margin-bottom:1.75rem;
}
.sp-pack-features{
  list-style:none;
  padding:0;
  margin:0 0 1.75rem;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  flex:1;
}
.sp-pack-features li{
  font-size:.85rem;
  color:var(--noir);
  line-height:1.55;
  padding-left:1.75rem;
  position:relative;
  font-weight:400;
}
.sp-pack-features li::before{
  content:'';
  position:absolute;
  left:0;
  top:5px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:rgba(196,164,74,.15);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A8892F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:9px;
  background-position:center;
  background-repeat:no-repeat;
}
.sp-pack-includes-prev{
  font-size:.72rem;
  font-weight:700;
  color:var(--or);
  text-transform:uppercase;
  letter-spacing:1.5px;
  margin-bottom:.9rem;
  padding-bottom:.8rem;
  border-bottom:1px dashed var(--blanc3);
}
.sp-pack-btn{
  display:inline-block;
  text-align:center;
  background:var(--noir);
  color:var(--blanc);
  padding:.85rem 1.4rem;
  border-radius:100px;
  font-size:.85rem;
  font-weight:600;
  text-decoration:none;
  letter-spacing:.5px;
  transition:all .2s;
}
.sp-pack-btn:hover{
  background:var(--or);
  color:var(--noir);
  transform:translateY(-1px);
}
.sp-pack.featured .sp-pack-btn{
  background:var(--or);
  color:var(--noir);
}
.sp-pack.featured .sp-pack-btn:hover{
  background:var(--or2);
  color:var(--blanc);
}
.sp-pack-note{
  text-align:center;
  margin-top:2rem;
  color:var(--slate);
  font-size:.85rem;
  line-height:1.6;
  font-weight:300;
}
.sp-pack-note strong{color:var(--noir);font-weight:600}

/* Option complémentaire (UE link, etc.) */
.sp-addon{
  background:var(--blanc);
  border:2px solid var(--or);
  border-radius:16px;
  padding:2rem;
  margin-top:3rem;
  display:grid;
  grid-template-columns:1.5fr auto;
  gap:2rem;
  align-items:center;
}
.sp-addon-label{
  font-size:.68rem;
  font-weight:700;
  color:var(--or);
  text-transform:uppercase;
  letter-spacing:3px;
  margin-bottom:.5rem;
}
.sp-addon h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem;
  font-weight:700;
  color:var(--noir);
  letter-spacing:-.5px;
  line-height:1.2;
  margin-bottom:.5rem;
}
.sp-addon-txt{
  color:var(--slate);
  font-size:.93rem;
  line-height:1.7;
  font-weight:300;
  margin-bottom:0;
}
.sp-addon-price{
  text-align:right;
}
.sp-addon-amount{
  font-family:'Cormorant Garamond',serif;
  font-size:2.4rem;
  font-weight:700;
  color:var(--or);
  line-height:1;
  letter-spacing:-1px;
}
.sp-addon-period{
  font-size:.85rem;
  color:var(--slate);
  margin-bottom:1rem;
}
.sp-addon-link{
  display:inline-block;
  background:var(--noir);
  color:var(--blanc);
  padding:.7rem 1.2rem;
  border-radius:100px;
  font-size:.8rem;
  font-weight:600;
  text-decoration:none;
  transition:all .2s;
  white-space:nowrap;
}
.sp-addon-link:hover{background:var(--or);color:var(--noir)}

/* Process / étapes */
.sp-process{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.25rem;
  margin-top:3rem;
  counter-reset:sp-step;
  position:relative;
}
.sp-process::before{
  content:'';
  position:absolute;
  top:28px;
  left:6.25%;
  right:6.25%;
  height:1px;
  background:var(--blanc3);
  z-index:0;
}
.sp-step{
  text-align:center;
  padding:0 .5rem;
  position:relative;
  z-index:1;
}
.sp-step-num{
  display:flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  border-radius:50%;
  background:var(--blanc);
  border:2px solid var(--or);
  color:var(--or);
  font-family:'Cormorant Garamond',serif;
  font-size:1.3rem;
  font-weight:700;
  margin:0 auto 1.25rem;
  transition:all .3s;
}
.sp-step:hover .sp-step-num{
  background:var(--or);
  color:var(--noir);
}
.sp-step h3{
  font-size:.95rem;
  font-weight:600;
  color:var(--noir);
  margin-bottom:.5rem;
}
.sp-step p{
  font-size:.82rem;
  color:var(--slate);
  line-height:1.6;
  font-weight:300;
}

/* FAQ */
.sp-faq{
  max-width:820px;
  margin:0 auto;
  margin-top:2.5rem;
}
.sp-faq-item{
  border-bottom:1px solid var(--blanc3);
  padding:.5rem 0;
}
.sp-faq-item summary{
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;
  font-weight:700;
  color:var(--noir);
  cursor:pointer;
  padding:1.2rem 2.5rem 1.2rem 0;
  list-style:none;
  position:relative;
  transition:color .2s;
  line-height:1.4;
  letter-spacing:-.3px;
}
.sp-faq-item summary::-webkit-details-marker{display:none}
.sp-faq-item summary::after{
  content:'+';
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  font-size:1.5rem;
  color:var(--or);
  font-weight:300;
  transition:transform .3s;
}
.sp-faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.sp-faq-item summary:hover{color:var(--or)}
.sp-faq-answer{
  padding:0 0 1.5rem;
  color:var(--slate);
  font-size:.95rem;
  line-height:1.75;
  font-weight:300;
}
.sp-faq-answer strong{color:var(--noir);font-weight:600}

/* Section CTA finale pages service */
.sp-cta-final{
  background:linear-gradient(135deg,var(--noir) 0%,var(--noir2) 100%);
  color:var(--blanc);
  padding:6rem 4rem;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.sp-cta-final::before{
  content:'';
  position:absolute;
  top:-100px;
  right:-100px;
  width:400px;
  height:400px;
  border:1px solid rgba(196,164,74,.08);
  border-radius:50%;
  pointer-events:none;
}
.sp-cta-final-inner{
  max-width:720px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.sp-cta-final h2{
  font-family:'Cormorant Garamond',serif;
  font-size:2.8rem;
  font-weight:700;
  color:var(--blanc);
  letter-spacing:-1.5px;
  line-height:1.15;
  margin-bottom:1.25rem;
}
.sp-cta-final h2 em{font-style:italic;font-weight:400;color:var(--or)}
.sp-cta-final p{
  font-size:1rem;
  color:rgba(250,250,247,.7);
  line-height:1.75;
  font-weight:300;
  margin-bottom:2rem;
}
.sp-cta-actions{
  display:flex;
  gap:.9rem;
  justify-content:center;
  flex-wrap:wrap;
}

/* Maillage interne (related pages) */
.sp-related{
  background:var(--blanc);
  padding:4rem 4rem;
  border-top:1px solid var(--blanc3);
}
.sp-related-inner{
  max-width:1200px;
  margin:0 auto;
}
.sp-related-title{
  font-size:.72rem;
  font-weight:700;
  color:var(--slate);
  text-transform:uppercase;
  letter-spacing:3px;
  margin-bottom:1.5rem;
}
.sp-related-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
}
.sp-related-card{
  background:var(--blanc2);
  border:1px solid var(--blanc3);
  border-radius:12px;
  padding:1.5rem;
  text-decoration:none;
  transition:all .2s;
  display:block;
}
.sp-related-card:hover{
  border-color:var(--or);
  transform:translateY(-2px);
}
.sp-related-label{
  font-size:.62rem;
  font-weight:700;
  color:var(--or);
  text-transform:uppercase;
  letter-spacing:2px;
  margin-bottom:.5rem;
}
.sp-related-card h4{
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;
  font-weight:700;
  color:var(--noir);
  line-height:1.25;
  letter-spacing:-.3px;
  margin-bottom:.5rem;
}
.sp-related-card p{
  font-size:.82rem;
  color:var(--slate);
  line-height:1.55;
  font-weight:300;
}
.sp-related-arrow{
  display:inline-block;
  color:var(--or);
  font-size:.85rem;
  margin-top:.75rem;
  font-weight:600;
}

/* Tableau comparatif (siège vs UE) */
.sp-compare-table{
  width:100%;
  border-collapse:collapse;
  margin-top:2rem;
  background:var(--blanc);
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--blanc3);
}
.sp-compare-table thead{
  background:var(--noir);
}
.sp-compare-table thead th{
  padding:1rem 1.25rem;
  text-align:left;
  font-size:.72rem;
  font-weight:700;
  color:var(--or);
  text-transform:uppercase;
  letter-spacing:2px;
}
.sp-compare-table thead th:first-child{
  color:rgba(250,250,247,.5);
}
.sp-compare-table tbody td{
  padding:1rem 1.25rem;
  font-size:.88rem;
  color:var(--noir);
  line-height:1.55;
  border-bottom:1px solid var(--blanc3);
  font-weight:300;
}
.sp-compare-table tbody tr:last-child td{border-bottom:none}
.sp-compare-table tbody td:first-child{
  font-weight:600;
  color:var(--noir);
  background:var(--blanc2);
  white-space:nowrap;
}
.sp-compare-table tbody tr:nth-child(even) td:not(:first-child){
  background:rgba(196,164,74,.03);
}

/* Responsive */
@media(max-width:1024px){
  .sp-hero{padding:7rem 2rem 4rem}
  .sp-hero-inner{grid-template-columns:1fr;gap:3rem}
  .sp-h1{font-size:2.8rem}
  .sp-section{padding:4rem 2rem}
  .sp-related{padding:3rem 2rem}
  .sp-cta-final{padding:5rem 2rem}
  .sp-packs{grid-template-columns:1fr 1fr}
  .sp-pack.featured{grid-column:1/-1;max-width:calc(50% - .75rem)}
  .sp-profiles{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .sp-hero{padding:6rem 1.25rem 3rem}
  .sp-h1{font-size:2.2rem;letter-spacing:-1px}
  .sp-lead{font-size:1rem}
  .sp-section{padding:3.5rem 1.25rem}
  .sp-h2{font-size:2rem}
  .sp-bureaus{grid-template-columns:1fr;gap:1.25rem}
  .sp-packs{grid-template-columns:1fr!important;gap:1rem}
  .sp-pack.featured{grid-column:auto;max-width:none}
  .sp-pack.featured::before{top:-11px;padding:.25rem .85rem;font-size:.6rem}
  .sp-profiles{grid-template-columns:1fr!important;gap:1rem}
  .sp-process{grid-template-columns:1fr 1fr;gap:1rem;row-gap:2rem}
  .sp-process::before{display:none}
  .sp-related{padding:2.5rem 1.25rem}
  .sp-related-grid{grid-template-columns:1fr!important;gap:1rem}
  .sp-cta-final{padding:4rem 1.25rem}
  .sp-cta-final h2{font-size:1.9rem}
  .sp-addon{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem}
  .sp-addon-price{text-align:left;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
  .sp-faq-item summary{font-size:1.05rem;padding:1rem 2.5rem 1rem 0}
  .sp-pack-amount{font-size:2.5rem}
  .sp-hero-visual{padding:1.5rem}
  .sp-compare-table{font-size:.82rem}
  .sp-compare-table thead th,.sp-compare-table tbody td{padding:.75rem}
}

/* ============================================= */
/* EXTENSIONS — améliorations domiciliation       */
/* Version : 2026-04-24-dom-v2                    */
/* ============================================= */

/* Bandeau preuves sociales chiffrées (sous le hero) */
.sp-proof-band{
  background:var(--noir2);
  color:var(--blanc);
  padding:2.5rem 4rem;
  border-top:1px solid rgba(196,164,74,.15);
  border-bottom:1px solid rgba(196,164,74,.15);
}
.sp-proof-inner{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:2rem;
}
.sp-proof{
  text-align:center;
  padding:0 .5rem;
}
.sp-proof-num{
  font-family:'Cormorant Garamond',serif;
  font-size:2.2rem;
  font-weight:700;
  color:var(--or);
  line-height:1;
  margin-bottom:.4rem;
  letter-spacing:-1px;
}
.sp-proof-label{
  font-size:.72rem;
  color:rgba(250,250,247,.7);
  text-transform:uppercase;
  letter-spacing:2px;
  line-height:1.35;
  font-weight:500;
}

/* Tableau comparatif 3 solutions légales */
.sp-legal-compare{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin-top:3rem;
  background:var(--blanc);
  border-radius:16px;
  border:1px solid var(--blanc3);
  box-shadow:0 4px 16px rgba(8,9,13,.04);
}
.sp-legal-compare thead th{
  background:var(--noir);
  color:var(--blanc);
  padding:1.25rem 1rem;
  text-align:left;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
}
.sp-legal-compare thead th:first-child{
  color:rgba(250,250,247,.4);
  text-transform:none;
  font-weight:500;
  letter-spacing:0;
  font-size:.72rem;
  border-top-left-radius:16px;
}
.sp-legal-compare thead th:last-child{
  border-top-right-radius:16px;
}
.sp-legal-compare tbody tr:last-child td:first-child{
  border-bottom-left-radius:16px;
}
.sp-legal-compare tbody tr:last-child td:last-child{
  border-bottom-right-radius:16px;
}
.sp-legal-compare thead th.highlight{
  background:var(--or);
  color:var(--noir);
  position:relative;
}
.sp-legal-compare thead th.highlight::before{
  content:'★ RECOMMANDÉ';
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%);
  background:var(--noir);
  color:var(--or);
  padding:.3rem .75rem;
  font-size:.6rem;
  font-weight:700;
  border-radius:100px;
  letter-spacing:1.5px;
  white-space:nowrap;
  box-shadow:0 2px 8px rgba(8,9,13,.15);
  border:1px solid rgba(196,164,74,.3);
  z-index:2;
}
.sp-legal-compare tbody td{
  padding:1rem;
  font-size:.88rem;
  color:var(--noir);
  line-height:1.5;
  border-bottom:1px solid var(--blanc3);
  vertical-align:top;
  font-weight:300;
}
.sp-legal-compare tbody tr:last-child td{border-bottom:none}
.sp-legal-compare tbody td:first-child{
  font-weight:600;
  background:var(--blanc2);
  color:var(--noir);
  font-size:.82rem;
}
.sp-legal-compare tbody td.highlight{
  background:rgba(196,164,74,.06);
}
.sp-cmp-yes{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color:#0A5C3E;
  font-weight:600;
}
.sp-cmp-yes::before{
  content:'✓';
  display:inline-block;
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(10,92,62,.15);
  color:#0A5C3E;
  text-align:center;
  line-height:18px;
  font-weight:700;
  font-size:.8rem;
  flex-shrink:0;
}
.sp-cmp-no{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color:#991B1B;
  font-weight:500;
}
.sp-cmp-no::before{
  content:'✗';
  display:inline-block;
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(153,27,27,.1);
  color:#991B1B;
  text-align:center;
  line-height:18px;
  font-weight:700;
  font-size:.8rem;
  flex-shrink:0;
}
.sp-cmp-partial{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color:#A16207;
  font-weight:500;
}
.sp-cmp-partial::before{
  content:'~';
  display:inline-block;
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(161,98,7,.12);
  color:#A16207;
  text-align:center;
  line-height:18px;
  font-weight:700;
  font-size:.8rem;
  flex-shrink:0;
}

/* WhatsApp button flottant */
.sp-whatsapp{
  position:fixed;
  bottom:20px;
  right:20px;
  width:56px;
  height:56px;
  background:#25D366;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 24px rgba(37,211,102,.35);
  z-index:999;
  transition:transform .2s, box-shadow .2s;
  text-decoration:none;
}
.sp-whatsapp:hover{
  transform:translateY(-2px) scale(1.05);
  box-shadow:0 12px 32px rgba(37,211,102,.45);
}
.sp-whatsapp svg{
  width:28px;
  height:28px;
  fill:#fff;
}
.sp-whatsapp::after{
  content:'';
  position:absolute;
  inset:-4px;
  border-radius:50%;
  border:2px solid #25D366;
  opacity:0;
  animation:sp-wa-pulse 2s infinite;
}
@keyframes sp-wa-pulse{
  0%{opacity:.6;transform:scale(1)}
  100%{opacity:0;transform:scale(1.3)}
}

/* Articles blog - styles spécifiques */
.bl-hero{
  background:var(--noir);
  color:var(--blanc);
  padding:8rem 4rem 4rem;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(196,164,74,.2);
}
.bl-hero::before{
  content:'';
  position:absolute;
  top:-15%;
  right:-8%;
  width:500px;
  height:500px;
  border:1px solid rgba(196,164,74,.08);
  border-radius:50%;
  pointer-events:none;
}
.bl-hero-inner{
  max-width:820px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.bl-category{
  display:inline-block;
  background:rgba(196,164,74,.15);
  border:1px solid rgba(196,164,74,.4);
  color:var(--or);
  padding:.35rem 1rem;
  border-radius:100px;
  font-size:.68rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:2px;
  margin-bottom:1.5rem;
}
.bl-title{
  font-family:'Cormorant Garamond',serif;
  font-size:3rem;
  font-weight:700;
  line-height:1.1;
  letter-spacing:-1.5px;
  color:var(--blanc);
  margin-bottom:1.5rem;
}
.bl-title em{font-style:italic;font-weight:400;color:var(--or)}
.bl-meta{
  display:flex;
  gap:1.5rem;
  flex-wrap:wrap;
  align-items:center;
  font-size:.85rem;
  color:rgba(250,250,247,.55);
  padding-top:1.5rem;
  border-top:1px solid rgba(255,255,255,.1);
}
.bl-meta strong{color:rgba(250,250,247,.85);font-weight:600}
.bl-meta-item{display:inline-flex;align-items:center;gap:.4rem}
.bl-article{
  background:var(--blanc);
  padding:5rem 4rem;
}
.bl-article-inner{
  max-width:780px;
  margin:0 auto;
}
.bl-lead{
  font-size:1.2rem;
  line-height:1.7;
  color:var(--noir);
  font-weight:400;
  margin-bottom:2.5rem;
  padding:1.5rem;
  background:var(--blanc2);
  border-left:4px solid var(--or);
  border-radius:0 8px 8px 0;
  font-style:italic;
}
.bl-body{
  font-size:1.02rem;
  line-height:1.85;
  color:var(--noir);
  font-weight:400;
}
.bl-body p{margin-bottom:1.4rem}
.bl-body h2{
  font-family:'Cormorant Garamond',serif;
  font-size:2.1rem;
  font-weight:700;
  color:var(--noir);
  line-height:1.2;
  letter-spacing:-1px;
  margin:3rem 0 1.25rem;
  padding-top:1rem;
  border-top:1px solid var(--blanc3);
}
.bl-body h2:first-child{border-top:none;padding-top:0;margin-top:0}
.bl-body h2 em{font-style:italic;font-weight:400;color:var(--or)}
.bl-body h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;
  font-weight:700;
  color:var(--noir);
  line-height:1.3;
  letter-spacing:-.3px;
  margin:2rem 0 1rem;
}
.bl-body strong{color:var(--noir);font-weight:700}
.bl-body em{color:var(--noir);font-style:italic}
.bl-body ul,.bl-body ol{
  margin:1rem 0 1.5rem 0;
  padding-left:1.5rem;
}
.bl-body li{margin-bottom:.5rem;padding-left:.25rem}
.bl-body li::marker{color:var(--or)}
.bl-body a{
  color:var(--or2);
  text-decoration:none;
  border-bottom:1px solid rgba(168,137,47,.35);
  transition:border-color .2s;
}
.bl-body a:hover{border-color:var(--or2)}
.bl-quote{
  background:var(--noir);
  color:var(--blanc);
  padding:2rem;
  border-radius:12px;
  margin:2.5rem 0;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.3rem;
  line-height:1.5;
  position:relative;
}
.bl-quote::before{
  content:'"';
  position:absolute;
  top:-10px;
  left:15px;
  font-size:5rem;
  color:var(--or);
  font-style:normal;
  line-height:1;
  font-weight:700;
}
.bl-quote-author{
  display:block;
  margin-top:1rem;
  font-style:normal;
  font-size:.85rem;
  color:var(--or);
  font-family:'Manrope',sans-serif;
  font-weight:600;
  letter-spacing:.5px;
}
.bl-callout{
  background:rgba(196,164,74,.08);
  border:1px solid rgba(196,164,74,.25);
  border-radius:12px;
  padding:1.5rem 1.75rem;
  margin:2rem 0;
}
.bl-callout-label{
  font-size:.68rem;
  font-weight:700;
  color:var(--or);
  text-transform:uppercase;
  letter-spacing:2.5px;
  margin-bottom:.6rem;
}
.bl-callout p{
  font-size:.96rem;
  line-height:1.7;
  color:var(--noir);
  margin-bottom:0;
}
.bl-warning{
  background:rgba(153,27,27,.05);
  border:1px solid rgba(153,27,27,.2);
  border-radius:12px;
  padding:1.5rem 1.75rem;
  margin:2rem 0;
}
.bl-warning-label{
  font-size:.68rem;
  font-weight:700;
  color:#991B1B;
  text-transform:uppercase;
  letter-spacing:2.5px;
  margin-bottom:.6rem;
}
.bl-table-simple{
  width:100%;
  border-collapse:collapse;
  margin:2rem 0;
  font-size:.9rem;
}
.bl-table-simple thead th{
  background:var(--blanc2);
  color:var(--noir);
  padding:.85rem 1rem;
  text-align:left;
  font-weight:700;
  border-bottom:2px solid var(--or);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:1px;
}
.bl-table-simple tbody td{
  padding:.85rem 1rem;
  border-bottom:1px solid var(--blanc3);
  vertical-align:top;
  color:var(--noir);
}
.bl-table-simple tbody tr:hover td{background:var(--blanc2)}
.bl-toc{
  background:var(--blanc2);
  border-left:3px solid var(--or);
  padding:1.5rem 1.75rem;
  margin:0 0 2.5rem;
  border-radius:0 8px 8px 0;
}
.bl-toc-title{
  font-size:.68rem;
  font-weight:700;
  color:var(--or);
  text-transform:uppercase;
  letter-spacing:2.5px;
  margin-bottom:.75rem;
}
.bl-toc ol{
  margin:0;
  padding-left:1.25rem;
  font-size:.92rem;
  line-height:1.75;
}
.bl-toc a{
  color:var(--noir);
  text-decoration:none;
  border-bottom:1px dotted var(--blanc3);
  transition:color .2s, border-color .2s;
}
.bl-toc a:hover{color:var(--or);border-color:var(--or)}
.bl-cta-inline{
  background:var(--noir);
  color:var(--blanc);
  padding:2.5rem 2rem;
  border-radius:16px;
  margin:3rem 0;
  text-align:center;
}
.bl-cta-inline h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.8rem;
  font-weight:700;
  color:var(--blanc);
  margin-bottom:.75rem;
  letter-spacing:-.5px;
}
.bl-cta-inline h3 em{font-style:italic;font-weight:400;color:var(--or)}
.bl-cta-inline p{
  color:rgba(250,250,247,.7);
  margin-bottom:1.5rem;
  font-size:.95rem;
}
.bl-author-box{
  background:var(--blanc2);
  border-radius:12px;
  padding:1.5rem;
  margin-top:3rem;
  display:flex;
  gap:1.25rem;
  align-items:flex-start;
}
.bl-author-img{
  width:64px;
  height:64px;
  border-radius:50%;
  background:var(--or);
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--noir);
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;
  font-weight:700;
}
.bl-author-name{
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;
  font-weight:700;
  color:var(--noir);
  margin-bottom:.2rem;
}
.bl-author-role{
  font-size:.78rem;
  color:var(--or);
  text-transform:uppercase;
  letter-spacing:2px;
  font-weight:600;
  margin-bottom:.5rem;
}
.bl-author-bio{
  font-size:.85rem;
  color:var(--slate);
  line-height:1.6;
  margin:0;
}

/* Responsive */
@media(max-width:1024px){
  .sp-proof-band{padding:2rem 2rem}
  .sp-proof-inner{grid-template-columns:repeat(3,1fr);gap:1.5rem}
  .bl-hero{padding:6rem 2rem 3rem}
  .bl-title{font-size:2.3rem}
  .bl-article{padding:4rem 2rem}
  .sp-legal-compare{font-size:.8rem}
  .sp-legal-compare thead th{padding:1rem .75rem;font-size:.7rem}
  .sp-legal-compare tbody td{padding:.85rem .75rem;font-size:.82rem}
}
@media(max-width:768px){
  .sp-proof-band{padding:1.5rem 1rem}
  .sp-proof-inner{grid-template-columns:repeat(2,1fr);gap:1rem}
  .sp-proof-num{font-size:1.7rem}
  .sp-proof-label{font-size:.65rem;letter-spacing:1.5px}
  .bl-hero{padding:5rem 1.25rem 3rem}
  .bl-title{font-size:1.9rem;letter-spacing:-.8px}
  .bl-article{padding:3rem 1.25rem}
  .bl-body{font-size:.96rem}
  .bl-body h2{font-size:1.6rem}
  .bl-body h3{font-size:1.25rem}
  .bl-lead{font-size:1.05rem}
  .sp-whatsapp{width:56px;height:56px;bottom:20px;right:20px}
  .sp-whatsapp svg{width:28px;height:28px}
  .sp-legal-compare{
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .sp-legal-compare thead th:not(:first-child)::before{display:none}
  .bl-quote{font-size:1.1rem;padding:1.5rem}
  .bl-quote::before{font-size:3.5rem;top:-5px}
  .bl-cta-inline{padding:2rem 1.25rem}
  .bl-cta-inline h3{font-size:1.4rem}
  .bl-author-box{flex-direction:column;text-align:center}
  .bl-author-img{margin:0 auto}
}
