:root {
	--navy: #091F41;
	--navy-light: #162d52;
	--blue: #0767E2;
	--gold: #F5A800;
	--gold-hover: #D99200;
	--cream: #f5f0e8;
	--white: #ffffff;
	--red-alert: #c0392b;
	--green-safe: #1a7a4a;
	--text-dark: #1a1a2e;
	--text-muted: #6b7280;
	--border: rgba(200,149,42,0.25);

	--dark:#111E36;
	--pro-blue:#2E6FE0;
	--pro-blue-dark:#1B4FB8;
	--pro-emerald:#00C47A;
	--dark2:#182A4B;
	--amber:#F3A50E;
	--amber-dark:#D68F00;
	--amber-light:#FFF3CC;
	--rp-terracotta:#E0672B;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; background: var(--cream); color: var(--text-dark); overflow-x: hidden; }
/* ──── NAV ──── */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0.5rem 5%; background: var(--navy); backdrop-filter: blur(10px); border-bottom: 1px solid var(--border); }
.logo img{width:170px}
nav ul { display: flex; gap: 2rem; list-style: none; }
nav ul a { color: rgba(255,255,255,0.75); text-decoration: none; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.03em; transition: color 0.2s; }
nav ul a:hover { color: var(--gold-hover); }
.nav-cta{ background: var(--gold); color: var(--navy) !important; padding: 0.55rem 1.4rem; border-radius: 4px; font-weight: 600 !important; transition: background 0.2s !important; }
.nav-cta:hover { background: var(--gold-hover) !important; }
.nav-cta-pro{background: var(--cream);}
.nav-cta-pro:hover{ background:var(--pro-blue) !important; color:#FFF !important; }
.menu-toggle{ display: none; flex-direction: column; justify-content: center; gap: 5px; width: 35px; cursor: pointer; }
.menu-toggle span{ display: block; width: 100%; height: 3px; background: #fff; border-radius: 3px; transition: .3s; }
.menu-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(6px, 6px); }
.menu-toggle.active span:nth-child(2){ opacity: 0; }
.menu-toggle.active span:nth-child(3){ transform: rotate(-45deg) translate(6px, -6px); }
/* ──── HERO ──── */
.hero { min-height: 100vh; background: var(--navy); display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 7rem 5% 4rem; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 70% at 70% 50%, rgba(200,149,42,0.08) 0%, transparent 70%), radial-gradient(ellipse 40% 60% at 10% 80%, rgba(22,45,82,0.8) 0%, transparent 60%); }
.hero-badge { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(200,149,42,0.15); border: 1px solid var(--border); color: var(--gold-hover); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; padding: 0.4rem 1rem; border-radius: 100px; margin-bottom: 1.5rem; }
.hero-badge::before { content: '🛡'; font-size: 0.85rem; }
.hero-content { position: relative; z-index: 2; }
.hero h1 { font-family: 'Playfair Display', serif; font-size: clamp(2.4rem, 4.5vw, 3.8rem); font-weight: 900; line-height: 1.1; color: var(--white); margin-bottom: 1.5rem; }
.hero h1 em { color: var(--gold); font-style: normal; }
.hero p { font-size: 1.1rem; line-height: 1.75; color: rgba(255,255,255,0.65); max-width: 480px; margin-bottom: 2.5rem; }
.hero p.with-other-p { margin-bottom: 10px; }
.hero-content p.sans-engagement{margin-bottom:0;margin-top:7px;font-size:0.8rem;width:220px;text-align:center;}
.hero-content p.small{font-size:0.8rem;}
.hero-buttons { display: flex; gap: 1rem; flex-wrap: wrap; }
.btn-primary { background: var(--gold); color: var(--navy); padding: 0.85rem 2rem; border-radius: 5px; font-weight: 700; font-size: 0.95rem; text-decoration: none; display: inline-block; transition: transform 0.2s, background 0.2s; letter-spacing: 0.02em; }
.btn-primary:hover { background: var(--gold-hover); transform: translateY(-2px); }
.btn-ghost { border: 1px solid rgba(255,255,255,0.25); color: rgba(255,255,255,0.85); padding: 0.85rem 2rem; border-radius: 5px; font-weight: 500; font-size: 0.95rem; text-decoration: none; display: inline-block; transition: border-color 0.2s, color 0.2s; }
.btn-ghost:hover { border-color: var(--gold); color: var(--gold-hover); }
.hero-proof{display:flex;gap:26px;flex-wrap:wrap;margin-top:2rem;}
.proof-item{display:flex;flex-direction:column;}
.proof-item .num{font-family: 'Playfair Display', serif;font-weight:600;font-size:26px;color:var(--white);}
.proof-item .lbl{font-size:0.8rem;color:rgba(255,255,255,0.65);}
/* ──── HERO RIGHT — ALERT MOCK ──── */
.hero-visual { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-end; gap: 1.2rem; }
.property-card { background: var(--navy-light); border: 1px solid rgba(200,149,42,0.2); border-radius: 16px; padding: 1.6rem; width: 100%; max-width: 380px; position: relative; overflow: hidden; }
.property-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--gold), var(--gold-hover)); }
.property-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--gold); font-weight: 600; margin-bottom: 0.5rem; }
.property-name { font-family: 'Playfair Display', serif; font-size: 1.1rem; color: var(--white); margin-bottom: 0.3rem; }
.property-addr { font-size: 0.82rem; color: rgba(255,255,255,0.45); margin-bottom: 1.2rem; }
.status-row { display: flex; align-items: center; justify-content: space-between; }
.status-dot { display: flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; font-weight: 600; }
.dot { width: 8px; height: 8px; border-radius: 50%; }
.dot.green { background: #22c55e; box-shadow: 0 0 6px #22c55e; animation: pulse-green 2s infinite; }
@keyframes pulse-green { 0%,100% { opacity:1; } 50% { opacity:0.5; } }
.alert-notif { background: linear-gradient(135deg, #1f0a08, #3a0f0b); border: 1px solid rgba(192,57,43,0.5); border-radius: 12px; padding: 1.2rem 1.4rem; max-width: 380px; width: 100%; display: flex; align-items: flex-start; gap: 0.9rem; animation: slide-in 0.8s ease 0.3s both; }
@keyframes slide-in { from { opacity:0; transform: translateY(15px); } to { opacity:1; transform:translateY(0); } }
.alert-icon { font-size: 1.5rem; flex-shrink: 0; }
.alert-title { font-weight: 700; color: #f87171; font-size: 0.9rem; margin-bottom: 0.2rem; }
.alert-body { font-size: 0.8rem; color: rgba(255,255,255,0.65); line-height: 1.5; }
.alert-time { font-size: 0.72rem; color: rgba(255,255,255,0.35); margin-top: 0.5rem; }
.sms-notif { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; padding: 1rem 1.3rem; max-width: 380px; width: 100%; display: flex; gap: 0.8rem; align-items: center; animation: slide-in 0.8s ease 0.6s both; }
.sms-bubble { background: var(--navy-light); border-radius: 10px; padding: 0.75rem 1rem; font-size: 0.8rem; color: rgba(255,255,255,0.75); line-height: 1.5; border: 1px solid rgba(200,149,42,0.15); }
.sms-meta { font-size: 0.7rem; color: rgba(255,255,255,0.3); margin-top: 0.3rem; text-align: right; }
/* ──── HERO : weeks bank card ──── */
.weeks-card{ background:var(--white); border-radius:20px; padding:26px; }
.weeks-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.weeks-head .title{font-size:13px;font-weight:900;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;}
.weeks-head .badge-live{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--amber-dark);}
.weeks-head .badge-live .pulse{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 0 rgba(245,168,0,.5);animation:pulse 1.8s infinite;}
@keyframes pulse{
	0%{box-shadow:0 0 0 0 rgba(245,168,0,.5);}
	70%{box-shadow:0 0 0 8px rgba(245,168,0,0);}
	100%{box-shadow:0 0 0 0 rgba(245,168,0,0);}
}
.weeks-bank{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;margin-bottom:18px;}
.weeks-bank .wk{aspect-ratio:1;border-radius:6px;background:#EFF6FF; display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:var(--blue);}
.weeks-bank .wk.used{background:var(--amber);color:var(--dark);}
.weeks-legend{display:flex;gap:18px;font-size:11.5px;color:var(--grey);margin-bottom:18px;}
.weeks-legend .dot-legend{display:inline-flex;align-items:center;gap:6px;}
.weeks-legend .sq{width:10px;height:10px;border-radius:3px;display:inline-block;}
.status-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:12px;background:var(--amber-light);border:1px solid #F5D98A;margin-bottom:14px;}
.status-row .s-left{display:flex;align-items:center;gap:10px;}
.status-row .s-icon{width:32px;height:32px;border-radius:9px;background:#F5D98A;display:flex;align-items:center;justify-content:center;font-size:15px;}
.status-row .s-title{font-size:13.5px;font-weight:700;color:var(--dark);}
.status-row .s-sub{font-size:11.5px;color:var(--grey);}
.status-row .s-right{font-weight:800;font-size:15px;color:var(--amber-dark);}
.weeks-foot{padding-top:14px;border-top:1px dashed #DDD;font-size:12px;color:var(--text-muted);line-height:1.5;}
.weeks-foot b{color:var(--dark);}
/* ──── STATS STRIP ──── */
.stats-strip { background: var(--gold); padding: 1.5rem 5%; display: grid; grid-template-columns: repeat(4, 1fr); text-align: center; }
.stat-item { padding: 0.5rem; }
.stat-num { font-family: 'Playfair Display', serif; font-size: 2rem; font-weight: 900; color: var(--navy); display: block; }
.stat-label { font-size: 0.8rem; color: var(--navy); font-weight: 500; opacity: 0.75; }
/* ──── SECTION COMMON ──── */
section { padding: 4rem 5%; }
.section-label { display: inline-block; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.18em; color: var(--gold); font-weight: 700; margin-bottom: 0.75rem; }
h2 { font-family: 'Playfair Display', serif; font-size: clamp(1.8rem, 3vw, 2.3rem); font-weight: 900; line-height: 1.2; margin-bottom: 1.25rem; }
h4 { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 700; line-height: 1.2; margin-bottom: 1rem; margin-top: 1.7rem; }
.section-intro { font-size: 1.05rem; color: var(--text-muted); line-height: 1.75; }
/* ──── HOW IT WORKS ──── */
.how { background: var(--white); }
.how-header { text-align: center; margin-bottom: 4rem; }
.how-header .section-intro { margin: 0 auto; }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; position: relative; }
.steps-grid::before { content: ''; position: absolute; top: 3.5rem; left: 16.6%; right: 16.6%; height: 1px; background: var(--border); z-index: 0; }
.step { text-align: center; padding: 2rem 2.5rem; position: relative; z-index: 1; }
.step-num { width: 50px; height: 50px; border-radius: 50%; background: var(--navy); color: var(--white); font-family: 'Playfair Display', serif; font-size: 1.1rem; font-weight: 900; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; border: 3px solid var(--cream); box-shadow: 0 0 0 1px var(--border); }
.step h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 0.75rem; color: var(--navy); }
.step p { font-size: 0.9rem; color: var(--text-muted); line-height: 1.65; }
.step-icon { font-size: 1.6rem; margin-bottom: 0.75rem; }
/* ──── FEATURES ──── */
.features { background: var(--navy); }
.features h2 { color: var(--white); }
.features .section-intro { color: rgba(255,255,255,0.5); }
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2.5rem; }
.feature-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(200,149,42,0.15); border-radius: 12px; padding: 1.1rem; transition: border-color 0.25s, background 0.25s; display: flex; flex-wrap: wrap; align-items: center; }
.feature-card:hover { border-color: rgba(200,149,42,0.5); background: rgba(255,255,255,0.07); }
.feature-card .icon { font-size: 1.8rem; margin-right: 12px; }
.feature-card h3 { font-size: 1.05rem; font-weight: 700; color: var(--white); margin: 0; }
.feature-card p { font-size: 0.88rem; color: rgba(255,255,255,0.5); line-height:1.65; width:100%; margin-top:15px; margin-bottom:10px; }
.feature-tag { display: inline-block; margin-top: 0.8rem; background: rgba(200,149,42,0.12); color: var(--gold-hover); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; padding: 0.25rem 0.7rem; border-radius: 100px; border: 1px solid rgba(200,149,42,0.2); }
/* ──── PRICING ──── */
.pricing { background: var(--white); text-align: center; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2.5rem; max-width: 1200px; margin-left: auto; margin-right: auto; }
.pricing-grid.pricing-grid-4-col{grid-template-columns: repeat(4, 1fr); max-width: 1500px;}
.plan{ border-radius: 16px; padding:2rem; border: 1px solid #e5e7eb; text-align: left; position: relative; transition: box-shadow 0.25s, border-color 0.25s; background: var(--cream); display: flex; flex-direction: column; }
.plan:hover { box-shadow: 0 8px 40px rgba(13,31,60,0.1); border-color: var(--gold); }
.plan.popular { background: var(--navy); border-color: var(--navy); box-shadow: 0 12px 50px rgba(13,31,60,0.25); }
.plan.popular * { color: rgba(255,255,255,0.85); }
.plan.popular h3, .plan.popular .price { color: var(--white) !important; }
.plan.plan-rp{border-color:var(--navy);}
.plan.plan-rp .popular-badge, .plan.plan-rp .plan-cta,.plan.plan-rp .plan-cta:hover{background-color: var(--navy); border-color: var(--navy); color: var(--white);}
.popular-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--gold); color: var(--navy); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; padding: 0.3rem 1rem 0.1rem 1rem; border-radius: 100px; text-transform: uppercase; white-space: nowrap; }
.popular-badge svg{ margin-right:5px; display:inline-block; }
.popular-badge span{ margin-top:1px; display:inline-block; vertical-align:top; }
.plan h3 { font-family: 'Playfair Display', serif; font-size: 1.3rem; font-weight: 700; color: var(--navy); margin-bottom: 0.4rem; }
.plan-tagline { font-size: 0.83rem; color: var(--text-muted); margin-bottom: 1.5rem; }
.price { font-family: 'Playfair Display', serif; font-size: 2.5rem; font-weight: 900; color: var(--navy); line-height: 1; }
.price span { font-size: 1rem; font-weight: 400; font-family: 'DM Sans', sans-serif; }
.price-period { font-size: 0.8rem; color: var(--text-muted); margin-bottom: 1.5rem; }
.price-description{font-size:0.9rem;}
.price-description em { color: var(--gold) !important; font-style: normal; }
.plan-features { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1.2rem; }
.plan-features li { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.87rem; }
.plan-features li::before { content: '✓'; color: var(--gold); font-weight: 700; flex-shrink: 0; margin-top: 0.05rem; }
.plan.popular .plan-features li::before { color: var(--gold-hover); }
.plan-cta { margin-top: auto; cursor:pointer; display: block; text-align: center; text-decoration: none; padding: 0.85rem; border-radius: 8px; font-weight: 700; font-size: 0.9rem; transition: all 0.2s; }
.plan-cta.outline { border: 2px solid var(--navy); color: var(--navy); }
.plan-cta.outline:hover { background: var(--navy); color: var(--white); }
.plan-cta.solid { border:2px solid var(--gold); background: var(--gold); color: var(--navy); }
.plan-cta.solid:hover { border-color: var(--gold-hover); background: var(--gold-hover); }
.billing-toggle { display: inline-flex; align-items: center; gap: 6px; padding: 6px; margin-top:2rem; background: var(--cream); border-radius: 999px; font-family: Inter, sans-serif; }
.billing-toggle input[type="radio"] { display: none; }
.billing-toggle label { cursor: pointer; padding: 14px 22px; border-radius: 999px; font-size: 16px; font-weight: 500; color: var(--text-dark); transition: all 0.25s ease; white-space: nowrap; }
.billing-toggle input:checked + label { background: var(--navy); color: var(--white); }
.billing-toggle-badge { position: absolute; top: -7px; right: 0%; background: var(--red-alert); color: var(--white); font-size: 0.6rem; font-weight: 600; padding: 0.3rem 1rem; border-radius: 100px; white-space: nowrap; }
/* ──── TESTIMONIALS ──── */
.testimonials { background: var(--cream); }
.testimonials h2 { text-align: center; }
.testi-intro { text-align: center; margin: 0 auto 3.5rem; }
.testi-card { background: var(--white); border-radius: 14px; padding: 2rem; border: 1px solid rgba(200,149,42,0.12); }
.testi-card:hover { box-shadow: 0 6px 30px rgba(13,31,60,0.08); }
.testi-card .stars { color: var(--gold); font-size: 0.9rem; letter-spacing: 0.05em; margin-bottom: 1rem; }
.testi-card blockquote { font-size: 0.92rem; line-height: 1.7; color: var(--text-dark); font-style: italic; border-left: 3px solid var(--gold); padding-left: 1rem; }
.testi-author { margin-top: 1.5rem; display: flex; align-items: center; gap: 0.75rem; }
.author-avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--navy); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.author-name { font-weight: 700; font-size: 0.9rem; color: var(--navy); }
.author-detail { font-size: 0.78rem; color: var(--text-muted); }
.testi-card .alert-badge { position: absolute; top: 1.2rem; right: 1.2rem; background: rgba(192,57,43,0.08); color: var(--red-alert); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.05em; padding: 0.2rem 0.55rem; border-radius: 4px; border: 1px solid rgba(192,57,43,0.2); }
.testi-card .safe-badge { position: absolute; top: 1.2rem; right: 1.2rem; background: rgba(26,122,74,0.08); color: var(--green-safe); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.05em; padding: 0.2rem 0.55rem; border-radius: 4px; border: 1px solid rgba(26,122,74,0.2); }
.testimonials-swiper { padding:20px 50px; }
.swiper-wrapper{ padding-bottom:20px; }
.swiper-slide { display:flex; height:auto; }
.swiper-slide .testimonial-card { height:100%; }
.swiper-button-next, .swiper-button-prev { color:var(--blue); }
.swiper-pagination-bullet-active{ background:var(--blue); }
/* ──── FAQ ──── */
.faq { background: var(--white); }
.faq-layout { display: grid; grid-template-columns: 1fr 2fr; gap: 4rem; align-items: start; }
.faq-list { display: flex; flex-direction: column; gap: 0; }
.faq-item { border-bottom: 1px solid #e5e7eb; }
.faq-q { width: 100%; text-align: left; background: none; border: none; padding: 1rem 0; font-family: 'DM Sans', sans-serif; font-size: 0.95rem; font-weight: 600; color: var(--navy); cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.faq-q .toggle { color: var(--gold); font-size: 1.3rem; flex-shrink: 0; transition: transform 0.2s; }
.faq-a { font-size: 0.87rem; line-height: 1.7; color: var(--text-muted); padding-bottom: 1.25rem; display: none; }
.faq-item.open .faq-a { display: block; }
.faq-item.open .toggle { transform: rotate(45deg); }
/* ──── BLOG ──── */
.testimonials.blog, .blog-article { margin-top:50px; }
.blog .testi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap:1.5rem; margin-top:3rem; }
.blog .testi-card blockquote{ margin-bottom:15px; }
.blog .testi-card{ position: relative; transition: box-shadow 0.2s; display:flex; flex-direction:column; }
.blog .testi-card h4{margin-top:20px; font-size:1.2rem}
.blog-article .previous-btn{ font-size:13px; margin-bottom:15px; }
.blog-article .previous-btn a{ color:var(--blue); text-decoration:none; }
.blog-article{padding:4rem 15%;}
.blog-article .section-label.source{margin-top:25px;margin-bottom:35px;}
.blog-article .plan-cta{display:inline;}
.blog-article img{width:100%;max-width:900px;margin-top:25px;}
/* ──── DEMANDE DE RAPPEL ──── */
.rappel { background: var(--gold); text-align: center; padding: 3rem 5%; position: relative; overflow: hidden; }
.rappel h2 { color: var(--navy); position: relative; z-index: 1; max-width: 650px; margin: 0 auto 1.25rem; }
.rappel p { color: var(--navy); max-width: 650px; margin: 0 auto 1rem; position: relative; z-index: 1; line-height: 1.7; }
.rappel input{ border-radius:20px; border: 2px solid var(--cream); padding:13px 15px; margin-right:50px; width:20%; font-size:0.95rem; background-color:var(--cream); }
.rappel button{ cursor:pointer; }
.form-confirm-message{ margin-top:20px; text-align:center; }
/* ──── CTA FINAL ──── */
.cta-final { background: var(--navy); text-align: center; padding: 7rem 5%; position: relative; overflow: hidden; }
.cta-final::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 50% 80% at 50% 50%, rgba(200,149,42,0.1), transparent 70%); }
.cta-final h2 { color: var(--white); position: relative; z-index: 1; max-width: 650px; margin: 0 auto 1.25rem; }
.cta-final p { color: rgba(255,255,255,0.5); max-width: 500px; margin: 0 auto 2.5rem; position: relative; z-index: 1; line-height: 1.7; }
.cta-final .btn-primary { position: relative; z-index: 1; font-size: 1.05rem; padding: 1rem 2.5rem; }
.cta-guarantee { margin-top: 1.5rem; font-size: 0.8rem; color: rgba(255,255,255,0.35); position: relative; z-index: 1; }
/* ──── FOOTER ──── */
footer { background: #090f1c; color: rgba(255,255,255,0.4); padding: 3rem 5% 20px 5%; font-size:0.82rem; }
footer a { color: rgba(255,255,255,0.75); text-decoration: none; }
footer a:hover { color: var(--gold); }
.footer-top{ display:flex; justify-content:space-between; align-items:center; }
.footer-bottom{font-size:0.72rem; display:flex; justify-content:right; align-items:right;}
.footer-bottom a, .footer-bottom a:hover{color: rgba(255,255,255,0.4);}
.footer-links { display:flex; gap:2rem; }
/* ──── NEWSLETTER ──── */
.newsletter-div { max-width: 360px; width: 100%; }
.newsletter-form { position: relative; }
.newsletter-form input { width: 100%; height: 45px; padding: 0 100px 0 20px; border: 0; border-radius: 999px; font-size: 15px; outline: none; box-sizing: border-box; transition: all .2s ease; background-color:var(--white); }
.newsletter-form button { position: absolute; top: 3px; right: 3px; bottom: 3px; padding: 0 17px; border: none; border-radius: 999px; background: var(--navy); color: var(--white); font-size: 15px; font-weight: 600; cursor: pointer; transition: all .2s ease; }
.newsletter-form button:hover { opacity: .95; transform: scale(1.02); }
/* ──── AGENCY PRICING ──── */
.agency-banner{ max-width:1500px;margin:34px auto;text-align:left; }
.banners-row{display:flex;gap:20px;align-items:stretch;}
.agency-card{ position:relative;overflow:hidden;border-radius:22px; background:linear-gradient(120deg, var(--dark) 0%, var(--dark) 55%, var(--pro-blue-dark) 130%); padding:36px 40px;flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap; transform:translateY(18px);transition:opacity .7s ease, transform .7s ease; }
.agency-card:before{ content:"";position:absolute;inset:0; background:radial-gradient(420px 220px at 88% 30%, rgba(46,111,224,.35), transparent 70%); pointer-events:none; }
.agency-left{display:flex;align-items:center;gap:20px;position:relative;z-index:1;}
.agency-badge{ width:52px;height:52px;border-radius:14px;flex-shrink:0; background:linear-gradient(135deg, var(--amber) 0%, var(--pro-blue) 100%); display:flex;align-items:center;justify-content:center;font-size:22px; box-shadow:0 10px 22px -8px rgba(46,111,224,.55); }
.agency-text .tag{ display:inline-block;font-size:11px;font-weight:900;letter-spacing:1px;color:var(--pro-blue); background:rgba(46,111,224,.16);padding:3px 9px;border-radius:999px;margin-bottom:8px; }
.agency-text h3{color:#fff;font-size:21px;font-weight:600;margin-bottom:6px;line-height:1.25;}
.agency-text p{color:#B9C4DC;font-size:13.5px;max-width:440px;line-height:1.55;}
.agency-cta{ position:relative;z-index:1;flex-shrink:0;width:100%;text-align:center; background:#fff;color:var(--dark);font-family:'Inter',sans-serif;font-weight:700;font-size:14px; padding:14px 24px;border-radius:12px;text-decoration:none; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; box-shadow:0 14px 30px -14px rgba(0,0,0,.5); }
.agency-cta:hover{ background:var(--pro-blue);color:#fff; box-shadow:0 16px 34px -12px rgba(46,111,224,.6); }
.agency-text .foot{display:block;color:#8894A8;font-size:11px;margin-top:8px;line-height:1.5;}
.agency-card.rp{ background:linear-gradient(120deg, var(--dark) 0%, var(--dark) 55%, #B9491C 150%); }
.agency-card.rp:before{ background:radial-gradient(320px 200px at 92% 15%, rgba(224,103,43,.38), transparent 70%); }
.agency-card.rp .agency-badge{background:linear-gradient(135deg, var(--pro-emerald) 0%, var(--rp-terracotta) 100%); box-shadow:0 10px 22px -8px rgba(224,103,43,.55);}
.agency-card.rp .tag{color:#FFB088;background:rgba(224,103,43,.2);}
.agency-card.rp .agency-cta:hover{background:var(--rp-terracotta);color:#fff;box-shadow:0 16px 34px -12px rgba(224,103,43,.6);}
@media (max-width:900px){
	.banners-row{flex-direction:column;}
	.agency-badge{display:none}
	.agency-card{overflow:visible;padding:28px 24px;flex-direction:column;align-items:flex-start;text-align:left;}
	.agency-cta{width:100%;justify-content:center;font-size:13px;}
}
/* ──── SCROLL ANIMATIONS ──── */
.fade-up { opacity: 0; transform: translateY(30px); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade-up.visible { opacity: 1; transform: translateY(0); }
/* ──── RESPONSIVE ──── */
@media (max-width: 900px) {
	.menu-toggle { display: flex; }
	nav ul { display:none; position:absolute; top:50px; left:0; right:0; flex-direction:column; background: var(--navy); padding: 1.5rem; gap: 1rem; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
	nav ul.active { display:flex; }
	.hero { grid-template-columns: 1fr; gap: 3rem; }
	.hero-visual { align-items: center; }
	.hero-badge{ font-size:0.65rem; }
	.hero h1{ font-size:2rem; }
	.hero-buttons a{ margin:auto; }
	.hero-content p.sans-engagement{ display:none; }
	.weeks-bank{gap:5px;}
	.weeks-bank .wk{font-size:11px;}
	.steps-grid, .features-grid, .pricing-grid, .pricing-grid.pricing-grid-4-col, .faq-layout, .blog .testi-grid { grid-template-columns: 1fr; }
	.how-header{ margin-bottom:2rem; }
	.step{ padding:1rem; }
	.step-num { display:none; }
	.steps-grid::before { display: none; }
	.stats-strip { grid-template-columns: repeat(2, 1fr); }
	.testi-card{ padding:1.5rem; }
	.testi-card blockquote{ font-size:0.9rem; }
	.testi-intro{ margin-bottom:1.5rem; }
	.faq-layout{ gap:1rem; }
	.faq-q{ font-size:0.9rem; }
	.faq-a{ font-size:0.85rem; }
	.pricing-grid{ margin-top:1.5rem; }
	.plan{ padding:1.5rem 2rem; }
	.plan-tagline, .price-period{ margin-bottom:1rem; }
	.plan-features{ margin-bottom:1.5rem; }
	.rappel input{ width:100%; margin-bottom:20px; }
	.cta-final h2{ font-size:1.6rem; }
	footer{ display:block; }
	.footer-links{margin-top:15px;}
	.newsletter-form{ margin-top:10px; }
	.newsletter-form input { padding-left:10px; padding-right:80px; font-size:13px; height:35px; }
	.newsletter-form button { padding: 0 12px; font-size: 13px; }
	h4{ font-size:1.25rem; }
	.blog .testi-card h4{ font-size:1.1rem; }
	.blog-article{padding:4rem 5%;}
	.blog-article .section-intro{ font-size:1rem; }
}
@media (max-height: 700px) {
	section { padding: 2rem 5%; }
	.features-grid { margin-top: 1.7rem; }
	.feature-card p { margin-top:5px; margin-bottom:0px; }
}
.hide{display:none}
.italic{font-style:italic}
.text-center{text-align:center}
.cgv p, .cgv li, .cgv hr{margin-bottom:10px}
.cgv ul{margin-left:50px}
.cgv table{width:100%;border-collapse:collapse;margin-bottom:10px;}
.cgv table tr th, .cgv table tr td{border:1px solid var(--navy);padding:7px 10px;text-align:left;}
.cgv table tr th{background-color:var(--navy);color:#fff;font-weight:600;}
/* Bandeau cookies */
/* left+right+max-width+margin:auto est une combinaison ambiguë de la spec CSS ("over-constrained"), source de bugs
   d'affichage selon les navigateurs (signalé : bandeau qui déborde à droite sur mobile). Remplacé par un centrage
   sans ambiguïté : left:50%+translateX, largeur calculée directement plutôt que déduite de left/right. */
.cookie-banner { position: fixed; left: 50%; transform: translateX(-50%); bottom: 16px; z-index: 999; width: calc(100% - 32px); max-width: 1200px; box-sizing: border-box; display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 18px 22px; background: var(--navy); border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 20px 50px rgba(9,31,65,.35); font-size: 14.5px; color: rgba(255,255,255,0.85); }
.cookie-banner p { flex: 1 1 320px; margin: 0; line-height: 1.5; }
.cookie-banner strong { color: var(--white); font-weight: 600; }
.cookie-banner a { color: var(--gold); }
.cookie-actions { display: flex; gap: 10px; flex: 0 0 auto; }
.cookie-banner button { font: inherit; cursor: pointer; }
.cookie-actions .btn-primary, .cookie-actions .btn-ghost { padding: 0.6rem 1.3rem; font-size: 0.88rem; border: none; }
.cookie-actions .btn-ghost { border: 1px solid rgba(255,255,255,0.25); background: transparent; }
@media (max-width: 560px) { .cookie-actions { width: 100%; } .cookie-actions .btn-primary, .cookie-actions .btn-ghost { flex: 1; text-align: center; padding:0.4rem 1rem; font-size:0.8rem; } }
@media (max-width: 650px) { .cookie-banner{ left:6px; transform:none; gap:10px; width:calc(100% - 200px); padding:14px; font-size:12px; } }