*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --noir:#0A0A0A;--blanc:#FFFFFF;--blanc-chaud:#FAF8F5;--blanc-casse:#F2EDE7;
  --dore:#C9A96E;--dore-clair:#D4BA85;
  --gris:#6B6B6B;--gris-clair:#9A9A9A;--gris-fonce:#1A1A1A;--gris-moyen:#2A2A2A;
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'DM Sans',sans-serif;background:var(--blanc-chaud);color:var(--noir);overflow-x:hidden;-webkit-font-smoothing:antialiased}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--blanc-chaud)}
::-webkit-scrollbar-thumb{background:var(--dore);border-radius:3px}

.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-50px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(50px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.reveal-right.visible{opacity:1;transform:translateX(0)}
.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}
.stagger-4{transition-delay:.4s}.stagger-5{transition-delay:.5s}.stagger-6{transition-delay:.6s}

/* Topbar */
.topbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:0 60px;height:50px;background:rgba(255,255,255,.85);backdrop-filter:blur(20px);border-bottom:1px solid rgba(201,169,110,.15);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gris)}
.topbar span{display:flex;align-items:center;gap:6px}
.topbar .dot{width:6px;height:6px;background:var(--dore);border-radius:50%}

/* Navbar */
.navbar{position:fixed;top:50px;left:0;right:0;z-index:99;display:flex;justify-content:space-between;align-items:center;padding:0 60px;height:70px;background:rgba(255,255,255,.9);backdrop-filter:blur(20px);transition:all .4s ease}
.navbar.scrolled{background:rgba(255,255,255,.97);box-shadow:0 2px 40px rgba(0,0,0,.06)}
.logo{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;letter-spacing:4px;color:var(--noir);text-decoration:none}
.logo em{font-style:normal;color:var(--dore)}
.nav-links{display:flex;gap:35px;list-style:none}
.nav-links a{color:var(--gris);text-decoration:none;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:500;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--dore);transition:width .3s}
.nav-links a:hover{color:var(--dore)}
.nav-links a:hover::after{width:100%}
.nav-cta{padding:10px 28px;background:transparent;border:1px solid var(--dore);color:var(--dore)!important;font-size:11px!important;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .4s;text-decoration:none}
.nav-cta:hover{background:var(--dore)!important;color:var(--noir)!important}
.nav-cta::after{display:none!important}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer}
.burger span{width:25px;height:2px;background:var(--noir);transition:all .3s;display:block;border-radius:2px}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Mobile Menu Overlay */
.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}
.mobile-menu.open{display:flex;opacity:1}
.mobile-menu-inner{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:300px;padding:0 20px}
.mobile-menu-inner a{color:var(--noir);text-decoration:none;font-family:'DM Sans',sans-serif;font-size:18px;font-weight:500;letter-spacing:1px;padding:12px 0;width:100%;text-align:center;border-bottom:1px solid rgba(201,169,110,.1);transition:color .3s}
.mobile-menu-inner a:last-child{border-bottom:none}
.mobile-menu-inner a:hover,.mobile-menu-inner a:active{color:var(--dore)}
.mobile-menu-inner .mobile-cta{margin-top:16px;padding:14px 36px;background:var(--dore);color:var(--noir);font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;border:none;border-bottom:none}

/* Floating CTA */
.floating-cta{position:fixed;bottom:30px;left:30px;z-index:98;padding:16px 32px;background:var(--dore);color:var(--noir);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;box-shadow:0 8px 30px rgba(201,169,110,.3);transition:all .4s;opacity:0;transform:translateY(20px)}
.floating-cta.show{opacity:1;transform:translateY(0)}
.floating-cta:hover{background:var(--blanc);box-shadow:0 8px 40px rgba(0,0,0,.08)}
/* Exp\00E9rience Voyageur */
.experience{padding:120px 60px;background:var(--blanc)}
.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1200px;margin:60px auto 0;align-items:start}
.exp-col h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:500;margin-bottom:8px;color:var(--noir)}
.exp-col .exp-subtitle{font-size:13px;color:var(--dore);letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-bottom:24px}
.exp-items{display:flex;flex-direction:column;gap:16px}
.exp-item{display:flex;align-items:flex-start;gap:16px;padding:18px 22px;background:var(--blanc-chaud);border-radius:10px;transition:all .4s}
.exp-item:hover{transform:translateX(6px);box-shadow:0 4px 20px rgba(0,0,0,.04)}
.exp-item .exp-icon{width:42px;height:42px;min-width:42px;border-radius:50%;background:var(--noir);display:flex;align-items:center;justify-content:center;font-size:18px}
.exp-item h4{font-size:15px;font-weight:600;margin-bottom:3px;color:var(--noir)}
.exp-item p{font-size:13px;color:var(--gris);line-height:1.6;margin:0}
.exp-extras{margin-top:40px}
.exp-extras h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:500;margin-bottom:8px;color:var(--noir)}
.exp-extras .exp-subtitle{font-size:13px;color:var(--dore);letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-bottom:24px}
.exp-extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.exp-extra{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--blanc-chaud);border-radius:10px;border:1px solid transparent;transition:all .4s}
.exp-extra:hover{border-color:var(--dore);transform:translateY(-2px)}
.exp-extra .ee-icon{font-size:20px}
.exp-extra .ee-text{font-size:13px;color:var(--noir);font-weight:500}
.exp-extra .ee-text span{display:block;font-size:11px;color:var(--gris);font-weight:400;margin-top:2px}
.exp-premium-box{margin-top:40px;padding:30px;background:linear-gradient(135deg,var(--noir) 0%,var(--gris-fonce) 100%);border-radius:14px;color:var(--blanc);position:relative;overflow:hidden}
.exp-premium-box::before{content:'';position:absolute;top:-30px;right:-30px;width:120px;height:120px;background:var(--dore);opacity:.08;border-radius:50%}
.exp-premium-box h4{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;margin-bottom:4px;color:var(--dore)}
.exp-premium-box .ep-tag{display:inline-block;font-size:10px;letter-spacing:2px;text-transform:uppercase;background:var(--dore);color:var(--noir);padding:4px 12px;border-radius:20px;font-weight:600;margin-bottom:14px}
.exp-premium-box p{font-size:13px;line-height:1.7;color:rgba(255,255,255,.75);margin-bottom:12px}
.exp-premium-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.exp-premium-list span{font-size:12px;padding:6px 14px;background:rgba(255,255,255,.08);border:1px solid rgba(201,169,110,.25);border-radius:20px;color:var(--dore)}
@media(max-width:900px){.exp-grid{grid-template-columns:1fr;gap:40px}.exp-extra-grid{grid-template-columns:1fr}}
@media(max-width:768px){.experience{padding:60px 20px}.exp-col h3{font-size:22px}.exp-item{padding:14px 16px}.exp-item .exp-icon{width:38px;height:38px;min-width:38px;font-size:16px}.exp-item h4{font-size:14px}.exp-item p{font-size:12px}.exp-extra{padding:14px 16px}.exp-extra .ee-text{font-size:12px}.exp-premium-box{padding:22px 18px}.exp-premium-list span{font-size:11px;padding:5px 10px}}
@media(max-width:480px){.experience{padding:50px 16px}.exp-grid{gap:30px}.exp-col h3{font-size:20px}.exp-col .exp-subtitle{font-size:11px;letter-spacing:1.5px;margin-bottom:16px}.exp-item{padding:12px 14px;gap:10px}.exp-item .exp-icon{width:34px;height:34px;min-width:34px;font-size:14px}.exp-item h4{font-size:13px}.exp-item p{font-size:11px}.exp-extra{padding:10px 12px;gap:8px}.exp-extra .ee-icon{font-size:16px}.exp-extra .ee-text{font-size:11px}.exp-extra .ee-text span{font-size:10px}.exp-premium-box{padding:16px 14px}.exp-premium-box h4{font-size:17px}.exp-premium-box p{font-size:11px}.exp-premium-list span{font-size:10px;padding:3px 7px}}

/* Cookie Banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--noir);color:var(--blanc);padding:20px 40px;display:none;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 -4px 30px rgba(0,0,0,.2);font-size:13px;line-height:1.6}
.cookie-banner.show{display:flex}
.cookie-banner p{flex:1;margin:0;color:rgba(255,255,255,.8)}
.cookie-banner p a{color:var(--dore);text-decoration:underline}
.cookie-btns{display:flex;gap:10px;flex-shrink:0}
.cookie-btns button{padding:10px 22px;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;transition:all .3s;border-radius:2px}
.cookie-accept{background:var(--dore);color:var(--noir)}
.cookie-accept:hover{background:var(--blanc);color:var(--noir)}
.cookie-refuse{background:transparent;border:1px solid rgba(255,255,255,.3)!important;color:var(--blanc)}
.cookie-refuse:hover{border-color:var(--dore)!important;color:var(--dore)}
@media(max-width:768px){.cookie-banner{flex-direction:column;padding:16px 20px;gap:14px}.cookie-btns{width:100%;justify-content:stretch}.cookie-btns button{flex:1;min-height:44px}}
@media(max-width:480px){.cookie-banner{padding:14px 16px;gap:10px;font-size:12px}.cookie-btns button{font-size:11px;padding:10px 16px}}

/* Nono Chat Widget */
.nono-toggle{position:fixed;bottom:30px;right:30px;z-index:999;width:60px;height:60px;border-radius:50%;background:var(--dore);border:none;cursor:pointer;box-shadow:0 4px 20px rgba(201,169,110,.4);display:flex;align-items:center;justify-content:center;transition:all .3s}
.nono-toggle:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(201,169,110,.5)}
.nono-toggle svg{width:28px;height:28px;fill:var(--noir)}
.nono-badge{position:absolute;top:-2px;right:-2px;width:14px;height:14px;background:#2ecc71;border-radius:50%;border:2px solid #fff;animation:nonoPulse 2s infinite}
@keyframes nonoPulse{0%,100%{opacity:1}50%{opacity:.5}}
.nono-window{position:fixed;bottom:100px;right:30px;z-index:998;width:370px;max-height:500px;background:#fff;border-radius:16px;box-shadow:0 12px 50px rgba(0,0,0,.15);display:none;flex-direction:column;overflow:hidden;font-family:'DM Sans',sans-serif}
.nono-window.open{display:flex}
.nono-header{background:var(--noir);color:#fff;padding:18px 20px;display:flex;align-items:center;gap:12px}
.nono-avatar{width:36px;height:36px;border-radius:50%;background:var(--dore);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.nono-avatar svg{width:20px;height:20px;fill:var(--noir)}
.nono-info h4{margin:0;font-size:14px;font-weight:600;font-family:'Cormorant Garamond',serif}
.nono-info span{font-size:11px;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:4px}
.nono-info span::before{content:'';width:6px;height:6px;background:#2ecc71;border-radius:50%;display:inline-block}
.nono-close{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;font-size:20px;padding:0;line-height:1;transition:color .3s}
.nono-close:hover{color:#fff}
.nono-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;max-height:310px;min-height:200px}
.nono-msg{max-width:85%;padding:12px 16px;border-radius:14px;font-size:13px;line-height:1.6;animation:nonoFadeIn .3s ease}
@keyframes nonoFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.nono-msg.bot{background:var(--blanc-chaud);color:var(--noir);align-self:flex-start;border-bottom-left-radius:4px}
.nono-msg.user{background:var(--dore);color:var(--noir);align-self:flex-end;border-bottom-right-radius:4px;font-weight:500}
.nono-msg.bot .nono-msg-name{font-size:10px;color:var(--dore);font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.nono-typing{display:flex;gap:4px;padding:12px 16px;align-self:flex-start}
.nono-typing span{width:6px;height:6px;background:var(--dore);border-radius:50%;animation:nonoTyping 1.2s infinite}
.nono-typing span:nth-child(2){animation-delay:.2s}
.nono-typing span:nth-child(3){animation-delay:.4s}
@keyframes nonoTyping{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
.nono-quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 12px}
.nono-quick button{background:transparent;border:1px solid var(--dore);color:var(--dore);padding:6px 14px;border-radius:20px;font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .3s;white-space:nowrap}
.nono-quick button:hover{background:var(--dore);color:var(--noir)}
.nono-input-wrap{display:flex;border-top:1px solid #eee;padding:12px}
.nono-input-wrap input{flex:1;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:13px;padding:0 12px;color:var(--noir)}
.nono-input-wrap input::placeholder{color:#aaa}
.nono-input-wrap button{background:var(--dore);border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s}
.nono-input-wrap button:hover{background:var(--noir)}
.nono-input-wrap button:hover svg{fill:#fff}
.nono-input-wrap button svg{width:16px;height:16px;fill:var(--noir);transition:fill .3s}
@media(max-width:768px){.nono-window{width:calc(100% - 20px);right:10px;bottom:80px;max-height:70vh;max-height:70svh;border-radius:12px}.nono-toggle{bottom:20px;right:20px;width:54px;height:54px}.nono-messages{max-height:260px;min-height:160px}.nono-quick button{font-size:10px;padding:5px 10px;min-height:36px}.nono-input-wrap input{font-size:16px}.floating-cta{left:20px;bottom:20px;padding:12px 20px;font-size:10px}}
@media(max-width:480px){.nono-window{width:calc(100% - 14px);right:7px;bottom:76px;max-height:65vh;max-height:65svh;border-radius:10px}.nono-toggle{bottom:14px;right:14px;width:50px;height:50px}.nono-toggle svg{width:24px;height:24px}.nono-header{padding:14px 16px}.nono-info h4{font-size:13px}.nono-messages{padding:12px;max-height:220px;min-height:140px}.nono-msg{font-size:12px;padding:10px 13px;max-width:88%}.nono-quick{padding:0 12px 10px;gap:5px}.nono-quick button{font-size:9px;padding:4px 8px}.nono-input-wrap{padding:10px}.nono-input-wrap button{width:32px;height:32px}.nono-close{font-size:18px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}}

/* Hero */
.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-video-wrap{position:absolute;inset:-80px;z-index:0;will-change:transform}
.hero-video{width:100%;height:100%;object-fit:cover;filter:brightness(0.4)}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(10,10,10,.3) 0%,rgba(10,10,10,.5) 50%,rgba(10,10,10,.7) 100%)}
.hero-overlay::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(201,169,110,.08) 0%,transparent 70%)}
.hero-frame{position:absolute;inset:0;z-index:2;pointer-events:none}
.hero-frame::before{content:'';position:absolute;top:40px;left:40px;right:40px;bottom:40px;border:1px solid rgba(201,169,110,.2)}
.hero-content{position:relative;z-index:3;text-align:center;max-width:900px;padding:0 30px}
.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 24px;border:1px solid rgba(201,169,110,.3);margin-bottom:40px;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--dore);opacity:0;animation:fadeDown 1s .3s forwards}
.hero-badge .line{width:20px;height:1px;background:var(--dore)}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,62px);font-weight:400;line-height:1.2;letter-spacing:2px;margin-bottom:28px;color:var(--blanc);opacity:0;animation:fadeUp 1s .5s forwards}
.hero h1 span{color:var(--dore);display:block;font-weight:600}
.hero-sub{font-size:clamp(14px,1.5vw,18px);font-weight:300;color:rgba(255,255,255,.65);line-height:1.8;max-width:620px;margin:0 auto 50px;opacity:0;animation:fadeUp 1s .7s forwards}
.hero-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp 1s .9s forwards}
.btn-primary{padding:18px 48px;background:var(--dore);color:var(--noir);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;border:none;cursor:pointer;transition:all .4s;text-decoration:none;display:inline-block}
.btn-primary:hover{background:var(--blanc);box-shadow:0 0 40px rgba(255,255,255,.1);transform:translateY(-2px)}
.btn-secondary{padding:18px 48px;background:transparent;color:var(--blanc);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;letter-spacing:3px;text-transform:uppercase;border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:all .4s;text-decoration:none;display:inline-block}
.btn-secondary:hover{border-color:var(--dore);color:var(--dore)}
.hero-scroll{position:absolute;bottom:40px;left:0;right:0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.5);font-size:10px;letter-spacing:3px;text-transform:uppercase;opacity:0;animation:fadeUp 1s 1.2s forwards}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--dore),transparent);animation:scrollPulse 2s infinite}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes scrollPulse{0%,100%{opacity:.3}50%{opacity:1}}

/* Sub-page hero (non-home pages) */
.page-hero{padding:180px 60px 80px;text-align:center;background:var(--noir);color:var(--blanc);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(201,169,110,.06) 0%,transparent 70%)}
.page-hero .section-label{color:var(--dore)}
.page-hero .section-title{color:var(--blanc)}
.page-hero .section-sub{color:rgba(255,255,255,.6)}
.page-hero .gold-line-center{background:var(--dore)}

/* Sections */
section{padding:120px 60px}
.section-label{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--dore);margin-bottom:20px}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3.5vw,48px);font-weight:500;line-height:1.3;margin-bottom:20px;color:var(--noir)}
.section-sub{font-size:16px;font-weight:400;color:var(--gris);line-height:1.8;max-width:600px}
.gold-line{width:60px;height:1px;background:var(--dore);margin:30px 0}
.gold-line-center{width:60px;height:1px;background:var(--dore);margin:30px auto}

/* Avantages */
.avantages{background:var(--blanc)}
.avantages-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:70px}
.avantage-card{padding:50px 35px;background:var(--blanc-chaud);border:1px solid rgba(201,169,110,.12);transition:all .5s;position:relative;overflow:hidden}
.avantage-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--dore),transparent);opacity:0;transition:opacity .5s}
.avantage-card:hover::before{opacity:1}
.avantage-card:hover{border-color:rgba(201,169,110,.3);transform:translateY(-5px);box-shadow:0 10px 40px rgba(0,0,0,.04)}
.avantage-icon{font-size:32px;margin-bottom:25px;display:block;color:var(--dore)}
.avantage-card h3{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;margin-bottom:15px;letter-spacing:1px;color:var(--noir)}
.avantage-card p{font-size:14px;font-weight:400;color:var(--gris);line-height:1.7}

/* Process */
.process{background:var(--blanc-chaud);position:relative}
.process::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,169,110,.25),transparent)}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:70px;position:relative}
.process-step{text-align:center;padding:40px 30px;position:relative}
.process-step::after{content:'';position:absolute;top:55px;right:0;width:50%;height:1px;background:rgba(201,169,110,.3)}
.process-step:last-child::after{display:none}
.process-step::before{content:'';position:absolute;top:55px;left:0;width:50%;height:1px;background:rgba(201,169,110,.3)}
.process-step:first-child::before{display:none}
.step-number{width:60px;height:60px;border:1px solid var(--dore);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 25px;font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--dore);position:relative;z-index:1;background:var(--blanc-chaud);transition:all .4s}
.process-step:hover .step-number{background:var(--dore);color:var(--noir)}
.process-step h3{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;margin-bottom:12px;color:var(--noir)}
.process-step p{font-size:14px;color:var(--gris);font-weight:400;line-height:1.6}

/* Impact */
.impact{background:var(--noir);text-align:center;position:relative;overflow:hidden;color:var(--blanc)}
.impact .section-label{color:var(--dore)}.impact .section-title{color:var(--blanc)}
.impact::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(201,169,110,.06) 0%,transparent 70%)}
.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:70px;position:relative}
.impact-item{padding:40px}
.impact-number{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,5vw,72px);font-weight:700;color:var(--dore);line-height:1;margin-bottom:10px}
.impact-label{font-size:14px;color:rgba(255,255,255,.6);letter-spacing:2px;text-transform:uppercase;font-weight:400}

/* Services */
.services{background:var(--blanc)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:70px}
.service-card{padding:45px 35px;background:var(--blanc-chaud);border:1px solid rgba(201,169,110,.1);transition:all .5s;position:relative;overflow:hidden}
.service-card::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--dore);transition:width .5s}
.service-card:hover::after{width:100%}
.service-card:hover{border-color:rgba(201,169,110,.25);transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.04)}
.service-icon{font-size:28px;margin-bottom:20px;display:block}
.service-card h3{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:600;margin-bottom:12px;letter-spacing:.5px;color:var(--noir)}
.service-card p{font-size:14px;color:var(--gris);font-weight:400;line-height:1.7}

/* Portfolio */
.portfolio{background:var(--blanc);padding:120px 60px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:70px}
.portfolio-card{position:relative;overflow:hidden;aspect-ratio:4/3;cursor:pointer;border:1px solid rgba(201,169,110,.1)}
.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.portfolio-card:hover img{transform:scale(1.06)}
.portfolio-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(10,10,10,.85) 0%,rgba(10,10,10,.4) 60%,transparent 100%);padding:30px 25px 25px;transition:all .4s}
.portfolio-badge{display:inline-block;padding:4px 12px;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px}
.portfolio-badge.loue{background:#2d7d46;color:#fff}
.portfolio-overlay h3{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:500;color:#fff;margin-bottom:6px}
.portfolio-overlay .price{font-size:22px;font-weight:600;color:var(--dore);font-family:'DM Sans',sans-serif}
.portfolio-overlay .price small{font-size:13px;font-weight:400;color:rgba(255,255,255,.6)}
.portfolio-overlay .meta{display:flex;gap:15px;margin-top:8px;font-size:12px;color:rgba(255,255,255,.6)}
.portfolio-card.large{grid-column:span 2;aspect-ratio:8/3}

/* Plateformes */
.plateformes{background:var(--blanc-chaud);text-align:center;padding:100px 60px}
.plateformes-logos{display:flex;justify-content:center;align-items:center;gap:60px;margin-top:50px;flex-wrap:wrap}
.plateforme-item{text-align:center;padding:30px 40px;background:var(--blanc);border:1px solid rgba(201,169,110,.1);transition:all .4s;min-width:200px}
.plateforme-item:hover{border-color:rgba(201,169,110,.3);transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.04)}
.plateforme-item .pf-name{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;color:var(--noir);margin-bottom:6px}
.plateforme-item .pf-desc{font-size:13px;color:var(--gris)}

/* Differenciateurs */
.differenciateurs{background:var(--blanc-chaud);position:relative}
.diff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-top:70px}
.diff-card{padding:50px 45px;background:var(--blanc);border:1px solid rgba(201,169,110,.12);transition:all .5s}
.diff-card:hover{border-color:rgba(201,169,110,.3);transform:translateY(-3px);box-shadow:0 10px 40px rgba(0,0,0,.04)}
.diff-card .diff-tag{display:inline-block;padding:4px 14px;font-size:10px;letter-spacing:2px;text-transform:uppercase;border:1px solid var(--dore);color:var(--dore);margin-bottom:20px}
.diff-card h3{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;margin-bottom:15px;color:var(--noir)}
.diff-card p{font-size:14px;color:var(--gris);font-weight:400;line-height:1.8}
.diff-features{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px}
.diff-features span{padding:6px 16px;background:rgba(201,169,110,.1);font-size:12px;color:var(--dore);font-weight:500}

/* Temoignages */
.temoignages{background:var(--blanc);text-align:center}
.temoignages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:70px}
.temoignage-card{padding:50px 35px;background:var(--blanc-chaud);border:1px solid rgba(201,169,110,.1);text-align:left;transition:all .5s}
.temoignage-card:hover{border-color:rgba(201,169,110,.25);box-shadow:0 8px 30px rgba(0,0,0,.04)}
.temoignage-stars{color:var(--dore);font-size:14px;letter-spacing:4px;margin-bottom:20px}
.temoignage-card blockquote{font-size:15px;font-weight:400;line-height:1.8;font-style:italic;color:var(--gris);margin-bottom:25px}
.temoignage-author{display:flex;align-items:center;gap:15px}
.temoignage-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--dore),var(--dore-clair));display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--noir);font-weight:600}
.temoignage-author-info h4{font-size:14px;font-weight:500;color:var(--noir)}
.temoignage-author-info p{font-size:12px;color:var(--gris);font-weight:300}

/* CTA */
.cta-section{background:var(--noir);text-align:center;position:relative;padding:140px 60px;overflow:hidden;color:var(--blanc)}
.cta-section .section-title{color:var(--blanc)}.cta-section .section-label{color:var(--dore)}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(201,169,110,.1) 0%,transparent 50%),radial-gradient(ellipse at 70% 50%,rgba(201,169,110,.06) 0%,transparent 50%)}
.cta-guarantee{position:relative;display:flex;gap:40px;justify-content:center;margin-top:40px;flex-wrap:wrap}
.cta-guarantee span{font-size:13px;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:8px}
.cta-guarantee .check{color:var(--dore);font-size:16px}

/* Contact */
.contact{background:var(--blanc-chaud);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.contact-info{padding-top:20px}
.contact-info h2{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:500;margin-bottom:20px;color:var(--noir)}
.contact-info p{color:var(--gris);font-weight:400;line-height:1.8;margin-bottom:40px}
.contact-details{display:flex;flex-direction:column;gap:25px}
.contact-detail{display:flex;align-items:center;gap:15px}
.contact-detail-icon{width:44px;height:44px;border:1px solid rgba(201,169,110,.3);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.contact-detail span{font-size:14px;font-weight:400;color:var(--noir)}
.contact-form{padding:50px;background:var(--blanc);border:1px solid rgba(201,169,110,.12);box-shadow:0 10px 50px rgba(0,0,0,.04)}
.form-group{margin-bottom:25px}
.form-group label{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gris);margin-bottom:10px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 0;background:transparent;border:none;border-bottom:1px solid rgba(10,10,10,.12);color:var(--noir);font-family:'DM Sans',sans-serif;font-size:15px;font-weight:400;outline:none;transition:border-color .3s}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gris-clair)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--dore)}
.form-group select{-webkit-appearance:none;cursor:pointer}
.form-group select option{background:var(--blanc);color:var(--noir)}
.form-group textarea{resize:vertical;min-height:100px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.form-submit{width:100%;padding:18px;margin-top:10px}

/* Footer */
.footer{background:var(--noir);color:var(--blanc);border-top:1px solid rgba(201,169,110,.1);padding:80px 60px 40px}
.footer .logo{color:var(--blanc)}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px}
.footer-brand .logo{margin-bottom:20px;display:block}
.footer-brand p{color:rgba(255,255,255,.5);font-size:14px;font-weight:300;line-height:1.7;max-width:300px}
.footer h4{font-family:'Cormorant Garamond',serif;font-size:14px;font-weight:500;letter-spacing:2px;margin-bottom:25px;color:var(--dore)}
.footer ul{list-style:none}.footer ul li{margin-bottom:12px}
.footer ul a{color:rgba(255,255,255,.5);text-decoration:none;font-size:13px;font-weight:300;transition:color .3s}
.footer ul a:hover{color:var(--dore)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.05);padding-top:30px;display:flex;justify-content:space-between;align-items:center}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,.4);font-weight:300}

/* Responsive */

/* -- 1024px: Tablets & small laptops -- */
@media(max-width:1024px){
  section{padding:80px 30px}
  .topbar{padding:0 30px;font-size:10px}
  .navbar{padding:0 30px}
  .avantages-grid{grid-template-columns:repeat(2,1fr)}
  .process-steps{grid-template-columns:repeat(2,1fr)}
  .process-step::after,.process-step::before{display:none}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .diff-grid{grid-template-columns:1fr}
  .temoignages-grid{grid-template-columns:1fr;max-width:600px;margin-left:auto;margin-right:auto}
  .contact{grid-template-columns:1fr;gap:50px}
  .footer-top{grid-template-columns:1fr 1fr;gap:40px}
  .impact-grid{gap:30px}
  .portfolio-grid{grid-template-columns:repeat(2,1fr)}
  .portfolio-card.large{grid-column:span 2;aspect-ratio:16/7}
  .plateformes{padding:80px 30px}
  .plateformes-logos{gap:20px}
  .diff-card{padding:40px 30px}
  .avantage-card{padding:40px 25px}
  .service-card{padding:35px 25px}
  .temoignage-card{padding:40px 28px}
  .hero-frame::before{top:25px;left:25px;right:25px;bottom:25px}
}

/* -- 768px: Phones landscape & small tablets -- */
@media(max-width:768px){
  .topbar{display:none}
  .navbar{top:0;padding:0 20px;height:60px;z-index:9999}
  .logo{font-size:22px;letter-spacing:3px}
  .nav-desktop{display:none!important}
  .burger{display:flex;padding:10px;min-width:44px;min-height:44px;align-items:center;justify-content:center}

  /* Hero adjustments */
  .hero{min-height:100vh;min-height:100svh}
  .hero-frame::before{top:15px;left:15px;right:15px;bottom:15px}
  .hero-content{padding:0 20px}
  .hero-badge{padding:6px 16px;font-size:10px;letter-spacing:2px;margin-bottom:25px;flex-wrap:wrap;justify-content:center}
  .hero h1{font-size:clamp(26px,7vw,42px);margin-bottom:20px}
  .hero-sub{font-size:clamp(13px,2.5vw,16px);margin:0 auto 35px;line-height:1.7}
  .hero-buttons{flex-direction:column;align-items:center;gap:14px}
  .btn-primary,.btn-secondary{width:100%;max-width:320px;text-align:center;padding:16px 30px;font-size:11px;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
  .hero-scroll{bottom:20px}

  /* Sub-page hero responsive */
  .page-hero{padding:120px 20px 50px}

  /* Sections */
  section{padding:60px 20px}
  .section-title{font-size:clamp(24px,5.5vw,36px)}
  .section-sub{font-size:14px}
  .section-label{font-size:10px;letter-spacing:3px}

  /* Grids to single column */
  .avantages-grid{grid-template-columns:1fr;gap:16px;margin-top:40px}
  .avantage-card{padding:30px 22px}
  .avantage-icon{font-size:26px;margin-bottom:18px}
  .avantage-card h3{font-size:18px}
  .avantage-card p{font-size:13px}

  .process-steps{grid-template-columns:1fr;gap:0;margin-top:40px}
  .process-step{padding:30px 20px}
  .step-number{width:50px;height:50px;font-size:18px}

  .services-grid{grid-template-columns:1fr;gap:16px;margin-top:40px}
  .service-card{padding:30px 22px}
  .service-card h3{font-size:16px}

  .impact-grid{grid-template-columns:1fr;gap:10px;margin-top:40px}
  .impact-item{padding:25px 20px}
  .impact-number{font-size:clamp(40px,10vw,56px)}
  .impact-label{font-size:12px;letter-spacing:1.5px}

  /* Diff cards */
  .diff-grid{grid-template-columns:1fr;gap:16px}
  .diff-card{padding:30px 22px}
  .diff-card h3{font-size:20px}

  /* Testimonials */
  .temoignages-grid{grid-template-columns:1fr;max-width:none;gap:16px}
  .temoignage-card{padding:30px 22px}
  .temoignage-card blockquote{font-size:14px}

  /* Portfolio */
  .portfolio{padding:60px 20px}
  .portfolio-grid{grid-template-columns:1fr;gap:16px;margin-top:40px}
  .portfolio-card.large{grid-column:span 1;aspect-ratio:4/3}
  .portfolio-overlay{padding:20px 18px 18px}
  .portfolio-overlay h3{font-size:17px}
  .portfolio-overlay .price{font-size:20px}

  /* Plateformes */
  .plateformes{padding:60px 20px}
  .plateformes-logos{gap:12px;flex-direction:column;align-items:stretch}
  .plateforme-item{min-width:unset;padding:22px 20px;width:100%}
  .plateforme-item .pf-name{font-size:20px}

  /* CTA section */
  .cta-section{padding:80px 20px}
  .cta-guarantee{flex-direction:column;align-items:center;gap:12px}
  .cta-guarantee span{font-size:12px}

  /* Contact */
  .contact{padding:60px 20px;grid-template-columns:1fr;gap:40px}
  .contact-info h2{font-size:28px}
  .contact-form{padding:28px 20px}
  .form-row{grid-template-columns:1fr}
  .form-group input,.form-group select,.form-group textarea{font-size:16px;padding:12px 0}
  .form-group label{font-size:10px}
  .form-submit{padding:16px;font-size:11px;min-height:48px}

  /* Footer */
  .footer{padding:60px 20px 30px}
  .footer-top{grid-template-columns:1fr;gap:30px}
  .footer-bottom{flex-direction:column;gap:15px;text-align:center}
  .footer h4{font-size:13px;margin-bottom:18px}
  .footer ul a{font-size:12px;padding:4px 0;display:inline-block;min-height:32px;line-height:32px}

  /* Experience */
  .experience{padding:60px 20px}
  .exp-premium-box{padding:22px 18px}
  .exp-premium-box h4{font-size:20px}
  .exp-premium-list{gap:6px}
  .exp-premium-list span{font-size:11px;padding:5px 10px}

  /* Gold lines */
  .gold-line,.gold-line-center{margin:20px 0}
  .gold-line-center{margin:20px auto}
  .bienveillance{padding:60px 20px!important}
}

/* -- 480px: Small phones -- */
@media(max-width:480px){
  .navbar{padding:0 16px;height:56px}
  .logo{font-size:20px;letter-spacing:2px}
  .mobile-menu-inner a{font-size:16px;padding:10px 0}
  .mobile-menu-inner .mobile-cta{font-size:12px;padding:12px 28px}

  /* Hero fine-tuning */
  .hero-frame::before{top:10px;left:10px;right:10px;bottom:10px;border-color:rgba(201,169,110,.12)}
  .hero-content{padding:0 14px}
  .hero-badge{font-size:9px;letter-spacing:1.5px;padding:5px 12px;margin-bottom:20px;gap:6px}
  .hero-badge .line{width:12px}
  .hero h1{font-size:clamp(22px,6.5vw,32px);letter-spacing:1px;margin-bottom:16px}
  .hero-sub{font-size:13px;line-height:1.6;margin:0 auto 28px}
  .hero-buttons{gap:10px}
  .btn-primary,.btn-secondary{padding:14px 24px;font-size:10px;letter-spacing:2px;max-width:280px}
  .hero-scroll{bottom:14px;font-size:9px}
  .scroll-line{height:28px}

  /* Sub-page hero responsive */
  .page-hero{padding:100px 16px 40px}

  /* Sections */
  section{padding:50px 16px}
  .section-title{font-size:clamp(20px,5vw,28px)}
  .section-sub{font-size:13px;line-height:1.7}
  .section-label{font-size:9px;letter-spacing:2.5px;margin-bottom:14px}

  /* Cards smaller padding */
  .avantage-card{padding:24px 18px}
  .avantage-card h3{font-size:17px}
  .avantage-icon{font-size:24px;margin-bottom:14px}
  .service-card{padding:24px 18px}
  .service-card h3{font-size:15px}
  .service-icon{font-size:24px;margin-bottom:14px}
  .diff-card{padding:24px 18px}
  .diff-card h3{font-size:18px}
  .diff-card .diff-tag{font-size:9px;padding:3px 10px;margin-bottom:14px}
  .diff-features span{padding:4px 10px;font-size:11px}
  .temoignage-card{padding:24px 18px}
  .temoignage-card blockquote{font-size:13px;line-height:1.7;margin-bottom:18px}
  .temoignage-stars{font-size:13px;letter-spacing:3px;margin-bottom:14px}
  .temoignage-avatar{width:38px;height:38px;font-size:14px}

  /* Impact */
  .impact-item{padding:20px 16px}
  .impact-number{font-size:clamp(36px,9vw,48px)}
  .impact-label{font-size:11px;letter-spacing:1px}

  /* Process */
  .process-step{padding:24px 16px}
  .step-number{width:44px;height:44px;font-size:16px;margin-bottom:18px}
  .process-step h3{font-size:16px}
  .process-step p{font-size:13px}

  /* Portfolio */
  .portfolio{padding:50px 16px}
  .portfolio-overlay{padding:16px 14px 14px}
  .portfolio-overlay h3{font-size:16px}
  .portfolio-overlay .price{font-size:18px}
  .portfolio-overlay .price small{font-size:12px}
  .portfolio-overlay .meta{font-size:11px;gap:10px}

  /* Plateformes */
  .plateformes{padding:50px 16px}
  .plateforme-item{padding:18px 16px}
  .plateforme-item .pf-name{font-size:18px}
  .plateforme-item .pf-desc{font-size:12px}

  /* CTA */
  .cta-section{padding:60px 16px}
  .cta-guarantee span{font-size:11px}

  /* Contact */
  .contact{padding:50px 16px;gap:30px}
  .contact-info h2{font-size:24px}
  .contact-info p{font-size:13px}
  .contact-form{padding:22px 16px}
  .form-group{margin-bottom:20px}
  .form-group input,.form-group select,.form-group textarea{font-size:16px}
  .contact-detail span{font-size:13px}
  .contact-detail-icon{width:40px;height:40px;font-size:16px}

  /* Footer */
  .footer{padding:50px 16px 24px}
  .footer-top{gap:24px}
  .footer-brand p{font-size:13px}
  .footer-bottom p{font-size:11px}

  /* Experience */
  .exp-grid{gap:30px}
  .exp-col h3{font-size:22px}
  .exp-item{padding:14px 16px;gap:12px}
  .exp-item .exp-icon{width:36px;height:36px;min-width:36px;font-size:16px}
  .exp-item h4{font-size:14px}
  .exp-item p{font-size:12px}
  .exp-extra{padding:12px 14px;gap:10px}
  .exp-extra .ee-text{font-size:12px}
  .exp-extra .ee-text span{font-size:10px}
  .exp-premium-box{padding:18px 14px}
  .exp-premium-box h4{font-size:18px}
  .exp-premium-box p{font-size:12px}
  .exp-premium-list span{font-size:10px;padding:4px 8px}

  /* Gold lines */
  .gold-line,.gold-line-center{width:40px;margin:16px 0}
  .gold-line-center{margin:16px auto}

  /* Floating CTA smaller */
  .floating-cta{padding:10px 16px;font-size:9px;letter-spacing:1.5px;left:14px;bottom:14px}
  .bienveillance{padding:50px 16px!important}
}
/* Tarification */
.tarifs{background:var(--blanc);text-align:center}
.tarifs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:70px;max-width:1000px;margin-left:auto;margin-right:auto}
.tarif-card{padding:45px 35px;background:var(--blanc-chaud);border:1px solid rgba(201,169,110,.1);transition:all .5s;position:relative}
.tarif-card.featured{border-color:var(--dore);background:var(--blanc);box-shadow:0 10px 50px rgba(201,169,110,.1)}
.tarif-card.featured::before{content:'POPULAIRE';position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:4px 16px;background:var(--dore);color:var(--noir);font-size:10px;font-weight:600;letter-spacing:2px}
.tarif-card:hover{transform:translateY(-4px);box-shadow:0 10px 40px rgba(0,0,0,.05)}
.tarif-card .tc-name{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;margin-bottom:8px;color:var(--noir)}
.tarif-card .tc-price{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:700;color:var(--dore);margin-bottom:5px}
.tarif-card .tc-price small{font-size:16px;color:var(--gris);font-weight:400}
.tarif-card .tc-desc{font-size:13px;color:var(--gris);margin-bottom:25px}
.tarif-card ul{list-style:none;text-align:left}
.tarif-card ul li{padding:10px 0;border-bottom:1px solid rgba(201,169,110,.06);font-size:14px;color:var(--noir);display:flex;align-items:center;gap:10px}
.tarif-card ul li .ck{color:var(--dore);font-weight:700;flex-shrink:0}
.tarif-card .tc-cta{display:block;margin-top:25px;padding:14px;background:var(--dore);color:var(--noir);text-align:center;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:all .3s}
.tarif-card .tc-cta:hover{background:var(--noir);color:var(--dore)}
.tarif-note{margin-top:30px;font-size:13px;color:var(--gris);max-width:600px;margin-left:auto;margin-right:auto}

/* Quartiers */
.quartiers{background:var(--blanc-chaud)}
.quartiers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:70px}
.quartier-card{padding:30px 25px;background:var(--blanc);border:1px solid rgba(201,169,110,.08);transition:all .4s}
.quartier-card:hover{border-color:rgba(201,169,110,.25);transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.04)}
.quartier-card h3{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;color:var(--noir);margin-bottom:8px}
.quartier-card .q-stats{font-size:13px;color:var(--dore);font-weight:500;margin-bottom:10px}
.quartier-card p{font-size:13px;color:var(--gris);line-height:1.6}

/* FAQ */
.faq{background:var(--blanc)}
.faq-list{max-width:800px;margin:70px auto 0}
.faq-item{border-bottom:1px solid rgba(201,169,110,.1)}
.faq-question{width:100%;padding:25px 0;background:none;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:500;color:var(--noir);text-align:left;transition:color .3s}
.faq-question:hover{color:var(--dore)}
.faq-question .faq-icon{font-size:20px;color:var(--dore);transition:transform .3s;flex-shrink:0;margin-left:20px}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease}
.faq-item.active .faq-answer{padding-bottom:25px}
.faq-item.active .faq-icon{transform:rotate(45deg)}
.faq-answer p{font-size:14px;color:var(--gris);line-height:1.8}

@media(max-width:1024px){
  .tarifs-grid{grid-template-columns:1fr;max-width:500px}
  .quartiers-grid{grid-template-columns:repeat(2,1fr)}
  .tarif-card{padding:35px 28px}
}
@media(max-width:768px){
  .quartiers-grid{grid-template-columns:1fr;gap:14px;margin-top:40px}
  .quartier-card{padding:24px 20px}
  .quartier-card h3{font-size:16px}
  .quartier-card .q-stats{font-size:12px}
  .quartier-card p{font-size:12px}
  .tarifs-grid{gap:20px;margin-top:40px}
  .tarif-card{padding:30px 22px}
  .tarif-card .tc-name{font-size:20px}
  .tarif-card .tc-price{font-size:36px}
  .tarif-card .tc-price small{font-size:14px}
  .tarif-card .tc-desc{font-size:12px}
  .tarif-card ul li{font-size:13px;padding:8px 0}
  .tarif-card .tc-cta{padding:12px;font-size:11px;min-height:44px;display:flex;align-items:center;justify-content:center}
  .tarif-note{font-size:12px;padding:0 10px}
  .faq-question{font-size:14px;padding:20px 0;min-height:48px}
  .faq-question .faq-icon{font-size:18px;margin-left:12px}
  .faq-answer p{font-size:13px}
}
@media(max-width:480px){
  .tarif-card{padding:24px 18px}
  .tarif-card .tc-name{font-size:18px}
  .tarif-card .tc-price{font-size:32px}
  .tarif-card .tc-price small{font-size:13px}
  .tarif-card .tc-desc{font-size:11px}
  .tarif-card ul li{font-size:12px;padding:7px 0}
  .tarif-card .tc-cta{font-size:10px}
  .tarif-card.featured::before{font-size:9px;padding:3px 12px}
  .tarif-note{font-size:11px}
  .quartier-card{padding:20px 16px}
  .quartier-card h3{font-size:15px}
  .quartier-card .q-stats{font-size:11px}
  .quartier-card p{font-size:11px}
  .faq-question{font-size:13px;padding:18px 0}
  .faq-answer p{font-size:12px}
}
