:root{
  --bg:#f4f6fa;
  --surface:#ffffff;
  --surface-soft:#f9fbff;
  --text:#122033;
  --muted:#5c6778;
  --navy:#11254a;
  --navy-soft:#1a3766;
  --gold:#c8a867;
  --gold-dark:#9f7a35;
  --line:#dce3ed;
  --success:#0f766e;
  --shadow:0 16px 38px rgba(17,37,74,.08);
  --shadow-strong:0 24px 54px rgba(17,37,74,.14);
  --radius:26px;
  --container:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 12% 6%, rgba(200,168,103,.10), transparent 28%),
    linear-gradient(180deg,#fbfcff 0%, #f4f6fa 100%);
  line-height:1.6;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.container{width:min(var(--container),calc(100% - 36px));margin:0 auto}
.skip-link{
  position:absolute;
  left:16px;
  top:-60px;
  background:#fff;
  color:var(--navy);
  padding:12px 16px;
  border-radius:14px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  z-index:100
}
.skip-link:focus{top:14px}

/* Focus visible — accessibilité clavier */
a:focus-visible,button:focus-visible{
  outline:2px solid var(--gold-dark);
  outline-offset:3px;
  border-radius:4px;
}

/* === Header === */
.site-header{
  position:sticky;top:0;z-index:40;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(220,227,237,.9);
  box-shadow:0 10px 28px rgba(17,37,74,.05);
}
.header-inner{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:900}
.brand-logo-wrap{
  width:42px;height:42px;border-radius:14px;overflow:hidden;flex:0 0 auto;
  background:linear-gradient(135deg,#0d1b34,#153560);
  box-shadow:0 10px 20px rgba(17,37,74,.18);
}
.brand-logo{width:100%;height:100%;object-fit:cover}
.brand-main{font-size:1.16rem;letter-spacing:.08em;color:var(--navy)}
.desktop-nav{display:flex;align-items:center;gap:22px;font-weight:700}
.desktop-nav a:not(.btn){color:var(--navy)}
.desktop-nav a.is-active{color:var(--gold-dark)}
.mobile-nav{display:none;border-top:1px solid var(--line);background:#fff}
.mobile-nav.open{display:block}
.mobile-nav-inner{display:flex;flex-direction:column;padding:10px 0 18px}
.mobile-nav-inner a{padding:12px 0;font-weight:700}
.menu-btn{
  display:none;
  width:46px;height:46px;border-radius:999px;border:1px solid var(--line);
  background:#fff;color:var(--navy);font-size:1.1rem;cursor:pointer
}

/* === Boutons === */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 22px;border-radius:999px;
  font-weight:800;border:1px solid transparent;transition:.22s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn.small{min-height:44px;padding:0 18px}
.btn-primary{background:linear-gradient(135deg,var(--navy),var(--navy-soft));color:#fff;box-shadow:0 12px 24px rgba(17,37,74,.14)}
.btn-secondary{background:#fff;color:var(--navy);border-color:var(--line)}
.btn-gold{background:linear-gradient(135deg,var(--gold),#dec286);color:var(--navy);box-shadow:0 12px 24px rgba(200,168,103,.18)}
.btn-link{padding:0;min-height:auto;border:none;background:none;color:var(--navy)}
button[disabled],.btn[disabled]{opacity:.72;cursor:not-allowed}

/* === Layout === */
main{display:block}
.section{padding:74px 0;position:relative}
.section.soft{
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(249,251,255,.72));
  border-top:1px solid rgba(220,227,237,.82);
  border-bottom:1px solid rgba(220,227,237,.82);
}
.section-heading{max-width:760px;margin-bottom:36px}
.section-heading h2{margin-top:10px}
.section-heading p{margin-top:12px;max-width:680px}
.eyebrow{
  display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;
  background:rgba(200,168,103,.16);color:var(--gold-dark);
  font-weight:800;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase
}
.eyebrow.dark{background:rgba(255,255,255,.12);color:#f1d9ab}
h1,h2,h3,h4{margin:0;color:var(--navy);letter-spacing:-.03em;line-height:1.05}
h1{font-size:clamp(2.6rem,5vw,4.8rem)}
h2{font-size:clamp(2rem,3.4vw,3.3rem);margin-top:14px}
h3{font-size:1.45rem}
p{margin:0;color:var(--muted)}

/* === Hero === */
.hero{padding:30px 0 58px}
.hero-grid{
  display:grid;
  grid-template-columns:.94fr 1.06fr;
  gap:24px;align-items:center;
}
.hero-copy{
  background:
    radial-gradient(circle at top left, rgba(200,168,103,.22), transparent 32%),
    linear-gradient(135deg,#0f2244 0%, #18345f 58%, #0d1d39 100%);
  color:#fff;border-radius:30px;padding:42px;box-shadow:var(--shadow-strong);
}
.hero-copy h1{margin:18px 0 16px;color:#fff;max-width:12ch;font-size:clamp(2.35rem,4.4vw,4.25rem);letter-spacing:-.045em}
.hero-copy p{color:rgba(255,255,255,.86);font-size:1rem;line-height:1.72;max-width:56ch}
.hero-actions,.cta-inline,.cta-buttons,.inline-chips,.hero-trust{display:flex;gap:14px;flex-wrap:wrap}
.hero-actions{margin-top:28px}
.hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.hero-tags span{
  padding:10px 14px;border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#eef3ff;font-size:.92rem
}
.hero-trust{margin-top:18px}
.hero-trust span{display:inline-flex;align-items:center;gap:8px;color:#e9effb;font-size:.92rem}
.hero-trust span::before{content:"•";color:#dec286;font-size:1rem}
.hero-side{
  display:grid;
  gap:18px;
  grid-template-rows:minmax(0,1fr) auto;
}
.hero-visual{
  position:relative;overflow:hidden;border-radius:30px;box-shadow:var(--shadow-strong);min-height:430px
}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.hero-side-card{
  background:var(--surface);
  border:1px solid rgba(213,221,234,.95);
  border-radius:24px;padding:22px;box-shadow:var(--shadow)
}
.hero-side-card h3{font-size:1.28rem}
.hero-side-card .btn{display:flex}
.hero-side-card .offer-badge{
  display:inline-flex;align-items:center;min-height:38px;padding:0 14px;
  border-radius:999px;background:rgba(200,168,103,.14);color:var(--gold-dark);
  font-size:.85rem;font-weight:900;margin-bottom:14px
}
.offer-price{font-size:2rem;font-weight:900;color:var(--navy);margin:8px 0 10px}
.muted-list{display:grid;gap:10px;margin-top:14px}
.muted-list span{position:relative;padding-left:22px;color:var(--text);font-weight:600}
.muted-list span::before{
  content:"";
  position:absolute;left:0;top:.48rem;width:12px;height:12px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold),#e3cb92)
}

/* === Page hero === */
.page-hero{padding:64px 0 42px;position:relative;overflow:hidden}
.page-hero.page-hero-img{
  min-height:340px;
  display:flex;align-items:flex-end;
  background-image:var(--hero-img);
  background-size:cover;
  background-position:center;
}
.page-hero.page-hero-img::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(17,37,74,.82),rgba(24,54,99,.72));
}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{margin:18px 0 14px}
.page-hero.page-hero-img h1,
.page-hero.page-hero-img p{color:#fff}
.page-hero.page-hero-img p{max-width:780px;color:rgba(255,255,255,.87)}
.page-hero .cta-inline{margin-top:26px}

/* === Séparateurs décoratifs === */
.section::before{
  content:"";
  position:absolute;left:50%;top:0;transform:translate(-50%,-50%);
  width:min(180px,24vw);height:22px;
  background:
    linear-gradient(90deg, transparent 0%, rgba(17,37,74,.12) 18%, rgba(17,37,74,.12) 82%, transparent 100%) center/100% 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(200,168,103,0) 18%, rgba(200,168,103,.65) 32%, rgba(200,168,103,.95) 50%, rgba(200,168,103,.65) 68%, rgba(200,168,103,0) 82%, transparent 100%) center/72px 3px no-repeat;
  opacity:.92;pointer-events:none
}
.hero + .section::before{opacity:.86}
.section + .section.soft::before,.section.soft + .section::before{opacity:.6}

/* === Grilles === */
.grid-3,.grid-4,.grid-2,.pricing-grid,.stats-grid,.steps-grid,.services-grid{display:grid;gap:22px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3,.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4,.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps-grid{grid-template-columns:repeat(4,minmax(0,1fr));counter-reset:steps}
.stats-grid,.steps-grid,.grid-3,.grid-2{align-items:stretch}

/* === Cartes === */
.price-badge{
  position:absolute;top:-12px;right:20px;
  min-height:38px;padding:0 12px;
  background:linear-gradient(135deg,var(--gold),#dec286);
  color:var(--navy);font-size:.8rem
}
.card,.stat-card,.step-card,.service-card,.offer-card,.price-card,.content-card,.custom-card,.contact-info,.contact-form,.faq-item,.info-banner,.mini-card{
  background:linear-gradient(180deg,#fff 0%, #f8faff 100%);
  border:1px solid rgba(213,221,234,.95);
  border-radius:24px;padding:26px;box-shadow:var(--shadow)
}
.stat-card,.step-card,.mini-card{display:flex;flex-direction:column}
.stat-card strong,.step-card strong,.service-card strong,.mini-card strong{display:block;font-size:1.05rem;margin-bottom:10px;color:var(--navy);line-height:1.3}
.stat-card p,.step-card p,.service-card p,.mini-card p{color:var(--muted);flex:1}
.mini-card{display:flex;flex-direction:column}
.content-card{display:flex;flex-direction:column}

/* Step cards — numérotation dorée automatique */
.step-card{position:relative;padding-top:54px}
.step-card::before{
  counter-increment:steps;
  content:counter(steps);
  position:absolute;top:22px;left:26px;
  width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold),#dfc88e);
  color:var(--navy);font-size:.82rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 16px rgba(200,168,103,.26);
}
.step-card strong{font-size:1rem}

/* === Offer zone === */
.offer-zone{
  position:relative;overflow:hidden;padding:42px;border-radius:36px;
  background:
    radial-gradient(circle at top right, rgba(200,168,103,.14), transparent 28%),
    linear-gradient(135deg,#0f2244 0%, #16335e 52%, #11284c 100%);
  border:1px solid rgba(200,168,103,.24);
  box-shadow:0 30px 72px rgba(17,37,74,.22)
}
.offer-zone .section-heading h2,
.offer-zone .section-heading p{color:#fff}
.offer-zone .section-heading p{color:rgba(255,255,255,.82)}
.offer-zone .pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;align-items:stretch;
}
.offer-zone .offer-card{display:flex;flex-direction:column}
.offer-card{background:linear-gradient(180deg,#fff 0%, #f8faff 100%);position:relative;overflow:hidden}
.offer-card.is-featured{
  background:linear-gradient(180deg,#fffdf7 0%, #ffffff 56%, #f9fbff 100%);
  border-color:rgba(200,168,103,.52)
}
.offer-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.offer-kicker,.offer-chip,.price-badge{
  display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:900
}
.offer-kicker{min-height:38px;padding:0 12px;background:rgba(17,37,74,.06);color:var(--navy);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}
.offer-chip{min-height:40px;padding:0 14px;background:linear-gradient(135deg,var(--navy),var(--navy-soft));color:#fff;font-size:.92rem}
.offer-card.is-featured .offer-chip{background:linear-gradient(135deg,var(--gold),#dec286);color:var(--navy)}
.offer-card h3{font-size:1.28rem;margin:0 0 10px}
.offer-card > p{color:var(--muted);margin-bottom:18px}
.offer-card p{margin:0 0 16px}
.offer-points,.check-list,.plain-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.offer-points li,.check-list li,.plain-list li{position:relative;padding-left:28px;color:var(--text);font-weight:600}
.offer-points li::before,.check-list li::before,.plain-list li::before{
  content:"";
  position:absolute;left:0;top:.42rem;width:14px;height:14px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold),#dfc88e);
  box-shadow:0 0 0 4px rgba(200,168,103,.14)
}
.offer-card .offer-points{flex:1}
.offer-card .btn{margin-top:22px}

/* === Price cards === */
.pricing-grid .price-card{display:flex;flex-direction:column}
.price-card{position:relative}
.price-card.featured{border:2px solid rgba(200,168,103,.8);transform:translateY(-6px)}
.price-name{font-size:1.38rem;font-weight:900;color:var(--navy)}
.price-value{font-size:2.35rem;font-weight:900;color:var(--navy);margin:12px 0 10px}
.price-note{font-size:.96rem;color:var(--gold-dark);font-weight:800}
.price-card ul{margin-top:18px}
.price-card .btn{margin-top:auto}

/* === Horizontal scroll === */
.horizontal-scroll{
  position:relative;
  display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;
  margin-top:28px;padding:8px 4px 18px;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c8a867 #e9eef6;
  touch-action:pan-x pinch-zoom;cursor:grab
}
.horizontal-scroll.scroll-ready{scroll-behavior:auto}
.horizontal-scroll.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.horizontal-scroll.has-scroll-cue::after{
  content:"→";
  position:absolute;right:14px;top:50%;transform:translateY(-50%);
  display:grid;place-items:center;width:42px;height:42px;border-radius:999px;
  background:rgba(17,37,74,.86);color:#fff;font-weight:900;
  box-shadow:0 14px 28px rgba(17,37,74,.18);pointer-events:none;
  animation:scrollCuePulse 1.4s ease-in-out infinite
}
.horizontal-scroll::-webkit-scrollbar{height:8px}
.horizontal-scroll::-webkit-scrollbar-track{background:#e9eef6;border-radius:999px}
.horizontal-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#c8a867,#d8bc86);border-radius:999px}

/* === Box cards === */
.box-card{
  min-width:300px;flex:0 0 300px;scroll-snap-align:start;overflow:hidden;
  border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);
  transition:transform .22s ease, box-shadow .22s ease
}
.box-card:hover{transform:translateY(-6px);box-shadow:0 28px 56px rgba(17,37,74,.16)}
.box-card a{display:block}
.box-thumb{height:240px;overflow:hidden}
.box-thumb img{width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform .45s ease}
.box-card:hover .box-thumb img{transform:scale(1.05)}
.box-card-body{padding:18px 18px 20px}
.box-card-body strong{display:block;font-size:1.1rem;color:var(--navy);margin-bottom:6px}
.box-card-body span{color:var(--muted);font-size:.95rem}
.scroll-hint{
  display:inline-flex;align-items:center;gap:10px;width:max-content;max-width:100%;
  margin-top:12px;padding:10px 16px;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,249,255,.98));
  border:1px solid rgba(214,223,236,.95);box-shadow:0 12px 28px rgba(17,37,74,.10);
  color:var(--navy);font-size:.88rem;font-weight:800;transition:opacity .28s ease, transform .28s ease
}
.scroll-hint::before{content:"↔";color:var(--gold-dark)}
.scroll-hint.is-hidden{opacity:0;transform:translateY(-6px);pointer-events:none}

/* === Two-col & feature list === */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.visual-panel{overflow:hidden;border-radius:30px;box-shadow:var(--shadow)}
.visual-panel img{width:100%;height:auto;max-height:520px;object-fit:cover}
.feature-list{display:grid;gap:16px;margin-top:24px}
.feature-item{
  position:relative;overflow:hidden;padding:22px 22px 20px 24px;
  background:linear-gradient(180deg,#fff,#f8faff);
  border:1px solid rgba(191,204,223,.92);border-radius:22px;box-shadow:0 16px 34px rgba(17,37,74,.08)
}
.feature-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--gold),#e2c98d)}
.feature-item strong{display:block;margin-bottom:8px;font-size:1.03rem;color:var(--navy)}
.feature-item span,.feature-item a{color:var(--muted)}
.feature-item a{font-weight:700;color:var(--navy)}

/* === Comparison table === */
.comparison-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
.comparison-table{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}
.comparison-table table{width:100%;border-collapse:collapse;min-width:620px}
.comparison-table th,.comparison-table td{padding:18px 20px;border-bottom:1px solid rgba(220,227,237,.82);text-align:left}
.comparison-table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#fbfcff}
.comparison-table td strong{color:var(--navy)}
.comparison-table tr:last-child td{border-bottom:none}

/* === Contact === */
.contact-layout{display:grid;grid-template-columns:.94fr 1.06fr;gap:24px;align-items:start}
.contact-info h2,.contact-form h2{margin:14px 0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:var(--navy)}
.form-grid .full{grid-column:1/-1}
input,select,textarea{width:100%;padding:14px 16px;border-radius:16px;border:1px solid #ccd6e4;background:#fff;color:var(--text)}
textarea{resize:vertical;min-height:140px}
input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(17,37,74,.42);box-shadow:0 0 0 4px rgba(17,37,74,.08)}
.form-status{margin:14px 0 0;min-height:24px;font-weight:700;color:var(--muted)}
.form-status.is-loading{color:var(--navy)}
.form-status.is-error{color:#b42318}
.form-note{margin-top:16px;font-size:.95rem}

/* === FAQ === */
.faq-section{background:transparent}
.faq-section-dark{
  background:
    radial-gradient(circle at top right, rgba(200,168,103,.12), transparent 28%),
    linear-gradient(135deg,#102347 0%, #16305b 52%, #11284d 100%);
  border-top:1px solid rgba(200,168,103,.18);
  border-bottom:1px solid rgba(200,168,103,.18)
}
.faq-section-dark .section-heading h2,
.faq-section-dark .section-heading p{color:#fff}
.faq-section-dark .section-heading p{color:rgba(255,255,255,.82)}
.faq-grid{display:grid;gap:16px}
.faq-item summary{cursor:pointer;list-style:none;font-weight:800;color:var(--navy);position:relative;padding-right:28px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:0;top:0;color:var(--gold-dark);font-size:1.2rem}
.faq-item[open] summary::after{content:"–"}
.faq-item p{margin-top:14px}

/* === Options entrepreneur === */
.options-entrepreneur{
  background:linear-gradient(180deg,#fff 0%, #f8faff 100%);
  border-top:1px solid rgba(220,227,237,.82);
  border-bottom:1px solid rgba(220,227,237,.82);
}

/* === Final CTA === */
.final-cta{
  background:linear-gradient(135deg,#11254a 0%, #183663 55%, #132c53 100%);
  color:#fff;border-radius:34px;padding:40px;box-shadow:var(--shadow-strong);
  display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center
}
.final-cta h2,.final-cta p{color:#fff}
.final-cta p{color:rgba(255,255,255,.84)}
.final-cta .eyebrow.dark{margin-bottom:8px}
.cta-buttons .btn{min-width:220px}

/* === Info banner === */
.info-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.info-banner p strong{color:var(--navy)}

/* === Footer === */
.site-footer{margin-top:40px;padding:56px 0 92px;background:linear-gradient(135deg,#0e1c35,#13284a);color:rgba(255,255,255,.82)}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:24px}
.footer-brand{margin-bottom:14px}
.site-footer .brand-main{color:#fff}
.site-footer h4{margin:0 0 12px;color:#fff}
.site-footer p{color:rgba(255,255,255,.78)}
.site-footer a{display:block;margin-bottom:8px;color:rgba(255,255,255,.86)}
.footer-note{display:block;margin-top:10px;color:rgba(255,255,255,.64)}
.footer-legal{margin-top:16px;display:flex;gap:16px;flex-wrap:wrap}
.footer-legal a{display:inline;margin-bottom:0;font-size:.88rem;color:rgba(255,255,255,.56)}
.footer-legal a:hover{color:rgba(255,255,255,.86)}

/* === Sticky mobile CTA === */
.sticky-mobile-cta{
  display:none;
  position:fixed;left:14px;right:14px;bottom:14px;z-index:60;
  padding:8px;background:rgba(255,255,255,.96);border:1px solid rgba(220,227,237,.98);
  border-radius:20px;box-shadow:0 16px 36px rgba(17,37,74,.14);
  grid-template-columns:1fr 1fr;gap:8px
}
.sticky-mobile-cta a{min-height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;background:#eef3fb;color:var(--navy)}
.sticky-mobile-cta a.is-primary{background:linear-gradient(135deg,var(--navy),var(--navy-soft));color:#fff}

/* === Reveal animations === */
.reveal-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .72s ease, transform .72s cubic-bezier(.22,1,.36,1)}
.reveal-on-scroll.is-visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}
.reveal-delay-2{transition-delay:.16s}
.reveal-delay-3{transition-delay:.24s}

/* === Utilitaires === */
.top-gap{margin-top:22px}
.center{text-align:center}

@keyframes scrollCuePulse{
  0%,100%{transform:translateY(-50%) translateX(0)}
  50%{transform:translateY(-50%) translateX(5px)}
}

/* === SEO landing pages === */
.seo-page-hero{min-height:440px;background-position:center}
.seo-page-hero h1{max-width:900px}
.seo-page-hero p{max-width:760px;font-size:1.08rem;line-height:1.75}
.seo-intro-grid .content-card h2{margin-bottom:14px}
.seo-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.seo-check-list li{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:18px;padding:16px 18px 16px 44px;position:relative;font-weight:800}
.seo-check-list li::before{content:"✓";position:absolute;left:18px;color:#dec286}
.cta-panel{
  background:
    radial-gradient(circle at top right, rgba(200,168,103,.16), transparent 26%),
    linear-gradient(135deg,#ffffff 0%, #f8faff 100%);
  border:1px solid rgba(213,221,234,.95);border-radius:34px;padding:42px;box-shadow:var(--shadow);
}
.cta-panel h2{max-width:850px}
.cta-panel p{max-width:720px;margin:16px 0 24px}

/* === Section vidéo === */
.home-video-section{padding-top:0;background:linear-gradient(180deg,#f8faff 0%, #ffffff 100%)}
.video-showcase{display:grid;grid-template-columns:.86fr 1.14fr;gap:28px;align-items:center}
.video-showcase-copy{background:#fff;border:1px solid rgba(213,221,234,.95);border-radius:30px;padding:34px;box-shadow:var(--shadow)}
.video-showcase-copy h2{margin:16px 0 14px;font-size:clamp(2rem,3vw,3rem)}
.video-showcase-copy p{font-size:1.04rem;line-height:1.75}
.video-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.video-points span{padding:10px 14px;border-radius:999px;background:rgba(17,37,74,.06);color:var(--navy);font-weight:800;font-size:.9rem}
.video-card{position:relative;overflow:hidden;border-radius:34px;padding:12px;background:linear-gradient(135deg,rgba(17,37,74,.95),rgba(24,54,99,.95));box-shadow:var(--shadow-strong)}
.video-card video{display:block;width:100%;aspect-ratio:16/9;border-radius:24px;background:#061023;object-fit:cover}

/* === Témoignages === */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.testimonial-card{
  background:linear-gradient(180deg,#fff 0%,#f8faff 100%);
  border:1px solid rgba(213,221,234,.95);
  border-radius:24px;padding:28px;box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:16px;
}
.testimonial-stars{display:flex;gap:3px;color:var(--gold);font-size:1.1rem;letter-spacing:.04em}
.testimonial-body{flex:1;color:var(--text);font-size:1rem;line-height:1.7;font-style:italic}
.testimonial-author{display:flex;align-items:center;gap:12px}
.testimonial-avatar{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--navy),var(--navy-soft));
  color:#fff;font-weight:900;font-size:.95rem;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.testimonial-meta strong{display:block;color:var(--navy);font-size:.96rem}
.testimonial-meta span{color:var(--muted);font-size:.88rem}

/* === Responsive === */
@media (max-width:1080px){
  .desktop-nav{display:none}
  .menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .hero-grid,.grid-2,.grid-3,.grid-4,.pricing-grid,.stats-grid,.steps-grid,.services-grid,.two-col,.comparison-grid,.contact-layout,.footer-grid,.final-cta{grid-template-columns:1fr}
  .comparison-table table{min-width:0}
}

@media (min-width:861px){
  .hero-grid{align-items:stretch}
  .hero-copy{height:100%;display:flex;flex-direction:column;justify-content:center}
  .hero-side{height:100%}
  .offer-zone{padding:42px;border-radius:36px}
  .offer-zone .section-heading{margin-bottom:28px}
  .offer-zone .offer-card{padding:28px}
}

@media (max-width:860px){
  .hero{padding:18px 0 34px}
  .hero-grid{display:flex;flex-direction:column;gap:16px}
  .hero-side{order:1;display:block;width:100%}
  .hero-copy{order:2;padding:28px 22px;border-radius:26px}
  .hero-copy h1{font-size:clamp(2.05rem,10.5vw,3.2rem);max-width:10.5ch;margin:14px 0 12px}
  .hero-copy p{font-size:.98rem;line-height:1.65}
  .hero-actions .btn{width:100%}
  .hero-visual{min-height:360px;height:62vh;max-height:520px;border-radius:28px}
  .hero-visual img{object-position:center top}
  .hero-side-card{margin-top:14px;border-radius:22px}
  .hero .hero-copy > .hero-tags{display:none}
  .section{padding:54px 0}
  .grid-3,.grid-4,.pricing-grid,.stats-grid,.steps-grid,.services-grid{grid-template-columns:1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .offer-zone .pricing-grid{grid-template-columns:1fr}
  .offer-zone .offer-card.is-featured{transform:none}
  .video-showcase{grid-template-columns:1fr;gap:16px}
  .video-showcase-copy{padding:24px 20px;border-radius:24px}
  .video-card{border-radius:26px;padding:8px}
  .video-card video{border-radius:20px}
  .seo-page-hero{min-height:520px;align-items:flex-end}
  .seo-page-hero .container{padding-bottom:22px}
  .seo-check-list{grid-template-columns:1fr}
  .cta-panel{padding:28px 20px;border-radius:26px}
  .final-cta{align-items:flex-start}
  .box-card{min-width:280px;flex:0 0 280px}
  .section-heading{margin-bottom:24px}
}

@media (max-width:760px){
  .container{width:min(var(--container),calc(100% - 24px))}
  .section{padding:64px 0}
  .hero{padding:22px 0 56px}
  .hero-copy{padding:28px;border-radius:28px}
  .hero-visual{min-height:280px;border-radius:28px}
  .hero-side-card{padding:22px;border-radius:24px}
  .page-hero{padding:48px 0 34px}
  .page-hero.page-hero-img{min-height:280px}
  .box-thumb{height:240px}
  .form-grid{grid-template-columns:1fr}
  .price-card.featured{transform:none}
  .final-cta{padding:30px 22px;border-radius:28px}
  .cta-buttons .btn,.cta-inline .btn{width:100%;min-width:0}
  .sticky-mobile-cta{display:grid}
  .site-footer{padding-bottom:122px}
  .section::before{
    width:118px;height:18px;
    background:
      linear-gradient(90deg, transparent 0%, rgba(17,37,74,.12) 18%, rgba(17,37,74,.12) 82%, transparent 100%) center/100% 1px no-repeat,
      linear-gradient(90deg, transparent 0%, rgba(200,168,103,0) 18%, rgba(200,168,103,.65) 32%, rgba(200,168,103,.95) 50%, rgba(200,168,103,.65) 68%, rgba(200,168,103,0) 82%, transparent 100%) center/52px 3px no-repeat;
  }
  .horizontal-scroll{padding:6px 2px 16px}
  .horizontal-scroll.has-scroll-cue::after{width:36px;height:36px;right:10px}
  .scroll-hint{font-size:.8rem;padding:8px 13px;margin-top:10px}
}

@media (max-width:520px){
  .hero-visual{height:58vh;min-height:330px}
  .hero-copy{padding:24px 18px}
  .hero-tags span{font-size:.84rem;padding:8px 11px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal-on-scroll,.reveal-on-scroll.is-visible,.box-card,.btn{opacity:1 !important;transform:none !important;transition:none !important}
}


/* =========================================================
   PROJETBOX — CSS consolidé depuis les anciens styles empilés
   Nettoyage 2026-05-11 : suppression des <style> inline.
   ========================================================= */

/* Source nettoyée : index.html — #offer-monthly-style */
.offer-price-alt {
 margin: 12px 0 14px;
 padding: 12px 14px;
 border-radius: 16px;
 background: rgba(196, 90, 42, 0.10);
 border: 1px solid rgba(196, 90, 42, 0.22);
}
.offer-price-alt strong {
 display: block;
 color: #c45a2a;
 font-size: 1.05rem;
 line-height: 1.2;
}
.offer-price-alt span {
 display: block;
 margin-top: 3px;
 color: #6f5b4f;
 font-size:.88rem;
 font-weight: 600;
}
.offer-monthly-note {
 grid-column: 1 / -1;
 padding: 16px 18px;
 border-radius: 18px;
 background: #fff8f3;
 border: 1px solid rgba(196, 90, 42, 0.20);
 color: #5e473a;
 font-size:.95rem;
 line-height: 1.5;
}
.offer-monthly-note strong {
 color: #c45a2a;
}

/* Source nettoyée : index.html — #hero-html-complet-style */
.projetbox-hero-full {
  position: relative;
  min-height: 92vh;
  background:
    linear-gradient(90deg, rgba(3, 13, 25, .97) 0%, rgba(7, 22, 42, .92) 38%, rgba(7, 22, 42, .35) 62%, rgba(7, 22, 42, .08) 100%),
    url("../images/hero-home.jpg?v=hero-html-complet") center right / cover no-repeat;
  color: #fff;
  overflow: hidden;
}

.projetbox-hero-full::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 58% 55%, rgba(212,175,55,.10), transparent 26%);
  pointer-events: none;
}

.hero-full-nav {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 26px 0;
}

.hero-full-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 1.45rem;
  font-weight: 900;
  text-decoration: none;
  letter-spacing: .02em;
}

.hero-full-logo img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.hero-full-menu {
  display: flex;
  align-items: center;
  gap: 34px;
}

.hero-full-menu a {
  color: rgba(255,255,255,.88);
  text-decoration: none;
  font-weight: 800;
  font-size: .98rem;
}

.hero-full-menu a:hover,
.hero-full-menu a.is-active {
  color: #d4af37;
}

.hero-full-cta {
  background: linear-gradient(135deg, #e0bd4a, #c99a22);
  color: #11254a !important;
  padding: 14px 28px;
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(212,175,55,.28);
}

.hero-full-content {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  gap: 30px;
  align-items: center;
  min-height: calc(92vh - 96px);
  padding: 44px 0 90px;
}

.hero-full-copy {
  max-width: 760px;
}

.hero-full-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  padding: 12px 18px;
  margin-bottom: 32px;
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .86rem;
  background: rgba(255,255,255,.04);
}

.hero-full-kicker::before {
  content: "";
  width: 10px;
  height: 10px;
  background: #d4af37;
  border-radius: 50%;
  display: inline-block;
}

.projetbox-hero-full h1 {
  color: #fff !important;
  font-size: clamp(3rem, 5.8vw, 6rem);
  line-height: .98;
  letter-spacing: -.055em;
  margin: 0 0 28px;
  font-weight: 950;
}

.projetbox-hero-full h1 span {
  color: #d4af37;
}

.hero-full-text {
  border-left: 3px solid #d4af37;
  padding-left: 20px;
  max-width: 650px;
  color: rgba(255,255,255,.88);
  font-size: 1.18rem;
  line-height: 1.65;
  margin: 0 0 36px;
}

.hero-full-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 32px 0 38px;
  max-width: 760px;
}

.hero-full-benefit {
  display: flex;
  align-items: center;
  gap: 12px;
}

.hero-full-benefit-icon {
  width: 38px;
  height: 38px;
  border: 2px solid #d4af37;
  border-radius: 8px;
  display: grid;
  place-items: center;
  color: #d4af37;
  font-weight: 950;
}

.hero-full-benefit strong {
  display: block;
  color: #fff;
  font-size: .98rem;
}

.hero-full-benefit span {
  display: block;
  color: rgba(255,255,255,.72);
  font-size: .78rem;
  margin-top: 3px;
}

.hero-full-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.hero-full-primary,
.hero-full-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 18px 34px;
  border-radius: 8px;
  font-weight: 950;
  text-decoration: none;
  font-size: 1.05rem;
}

.hero-full-primary {
  background: linear-gradient(135deg, #e0bd4a, #c99a22);
  color: #11254a;
}

.hero-full-secondary {
  border: 1px solid rgba(255,255,255,.55);
  color: #fff;
  background: rgba(255,255,255,.04);
}

.hero-full-trust {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 38px;
  color: #fff;
}

.hero-full-stars {
  color: #d4af37;
  letter-spacing: 2px;
  font-size: 1.15rem;
  font-weight: 900;
}

.hero-full-visual {
  position: relative;
  min-height: 520px;
}

.hero-full-device {
  position: absolute;
  right: 0;
  bottom: 20px;
  width: min(620px, 100%);
  background: rgba(13, 20, 31, .72);
  border: 2px solid rgba(255,255,255,.24);
  border-radius: 24px;
  padding: 16px;
  backdrop-filter: blur(6px);
  box-shadow: 0 24px 80px rgba(0,0,0,.42);
}

.hero-full-screen {
  border-radius: 16px;
  overflow: hidden;
  background:
    linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.18)),
    url("../images/hero-home.jpg?v=screen") center / cover no-repeat;
  min-height: 250px;
  display: flex;
  align-items: center;
  padding: 34px;
}

.hero-full-screen-card {
  max-width: 330px;
  color: #fff;
}

.hero-full-screen-card small {
  color: #d4af37;
  font-weight: 900;
}

.hero-full-screen-card h3 {
  color: #fff;
  font-size: 1.7rem;
  line-height: 1.1;
  margin: 10px 0 12px;
}

.hero-full-phone {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 115px;
  height: 210px;
  border-radius: 22px;
  background:
    linear-gradient(rgba(0,0,0,.25), rgba(0,0,0,.25)),
    url("../images/hero-home.jpg?v=phone") center / cover no-repeat;
  border: 6px solid #111;
  box-shadow: 0 18px 40px rgba(0,0,0,.45);
}

/* === Ticker barre de confiance === */
.trust-ticker {
  background: #fff;
  border-top: 1px solid rgba(17,37,74,.08);
  border-bottom: 1px solid rgba(17,37,74,.08);
  box-shadow: 0 4px 24px rgba(17,37,74,.06);
  overflow: hidden;
  padding: 0;
}

.trust-ticker-track {
  display: flex;
  align-items: center;
  gap: 0;
  width: max-content;
  animation: tickerScroll 28s linear infinite;
}

.trust-ticker:hover .trust-ticker-track {
  animation-play-state: paused;
}

.trust-ticker-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 32px;
  white-space: nowrap;
  flex-shrink: 0;
}

.trust-ticker-item strong {
  color: #11254a;
  font-size: .96rem;
  font-weight: 800;
}

.trust-ticker-item span {
  color: #5c6778;
  font-size: .88rem;
}

.trust-ticker-sep {
  color: #c8a867;
  font-size: .6rem;
  flex-shrink: 0;
  padding: 0 4px;
}

@keyframes tickerScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .trust-ticker-track { animation: none; }
}

.hero-full-bottom-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  padding: 26px 0;
}

.hero-full-bottom-item {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: center;
  border-right: 1px solid rgba(17,37,74,.10);
}

.hero-full-bottom-item:last-child {
  border-right: none;
}

.hero-full-bottom-item strong {
  display: block;
  color: #11254a;
  font-size: .96rem;
}

.hero-full-bottom-item span {
  display: block;
  color: #68738c;
  font-size: .84rem;
}

@media (max-width: 980px) {
  .hero-full-menu {
    display: none;
  }

  .hero-full-content {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 36px 0 130px;
  }

  .hero-full-visual {
    min-height: 320px;
  }

  .hero-full-device {
    position: relative;
    bottom: auto;
  }

  .hero-full-bottom-grid {
    grid-template-columns: 1fr 1fr;
  }

  .hero-full-bottom-item {
    justify-content: flex-start;
    border-right: none;
  }
}

@media (max-width: 640px) {
  .projetbox-hero-full {
    min-height: auto;
  }

  .hero-full-content {
    padding-bottom: 180px;
  }

  .projetbox-hero-full h1 {
    font-size: 3rem;
  }

  .hero-full-benefits {
    grid-template-columns: 1fr;
  }

  .hero-full-actions {
    flex-direction: column;
  }

  .hero-full-primary,
  .hero-full-secondary {
    width: 100%;
  }

  .hero-full-bottom-grid {
    grid-template-columns: 1fr;
    padding: 22px 0;
  }

  .hero-full-phone {
    display: none;
  }
}

/* Source nettoyée : index.html — #hero-clean-after-mockup-removal */
.projetbox-hero-full .hero-full-content {
  grid-template-columns: 1fr !important;
  max-width: 100%;
}

.projetbox-hero-full .hero-full-copy {
  max-width: 900px;
}

/* Hero : container pleine largeur aligné à gauche pour éviter le vide */
.projetbox-hero-full .container {
  margin-left: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  padding-left: max(5vw, 48px) !important;
  padding-right: max(5vw, 48px) !important;
}

/* Paiement flexible : texte blanc visible */
.payment-flexible-section h2 {
  color: #fff !important;
}
.payment-flexible-section p {
  color: rgba(255,255,255,0.86) !important;
}

.projetbox-hero-full {
  min-height: auto !important;
}

.projetbox-hero-full .hero-full-content {
  min-height: auto !important;
  padding-bottom: 130px !important;
}

/* Source nettoyée : index.html — #hero-clean-trust-phone */
.hero-full-trust,
.hero-full-phone {
  display: none !important;
}

/* Source nettoyée : index.html — #hero-buttons-clean-final */
.hero-full-trust,
.hero-full-stars,
.hero-full-phone {
  display: none !important;
}

.projetbox-hero-full {
  overflow: hidden !important;
  min-height: 100vh !important;
}

.projetbox-hero-full .hero-full-content {
  padding-bottom: 60px !important;
}

.projetbox-hero-full .hero-full-actions {
  margin: 28px 0 34px !important;
}

.projetbox-hero-full .hero-full-benefits {
  margin-top: 0 !important;
}

@media (max-width: 640px) {
  .projetbox-hero-full .hero-full-content {
    padding-bottom: 150px !important;
  }
}

/* Source nettoyée : index.html — #desktop-full-width-fix */
/* Remplit mieux l'écran sur desktop */
@media (min-width: 1100px) {
  .container {
    max-width: 1560px !important;
    width: min(94vw, 1560px) !important;
  }

  .projetbox-hero-full .hero-full-content {
    max-width: none !important;
    width: 100% !important;
  }

  .projetbox-hero-full .hero-full-copy {
    max-width: 820px !important;
  }

  .projetbox-hero-full h1 {
    max-width: 900px !important;
  }

  .projetbox-hero-full .hero-full-text {
    max-width: 760px !important;
  }
}

/* Très grands écrans */
@media (min-width: 1600px) {
  .container {
    max-width: 1720px !important;
    width: min(95vw, 1720px) !important;
  }

  .projetbox-hero-full .hero-full-copy {
    margin-left: 0 !important;
  }
}

/* Source nettoyée : index.html — #mobile-hero-capture-style */
.mobile-hero-capture {
  display: none;
}

@media (max-width: 768px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  /* Masque uniquement le header/hero desktop sur mobile */
  .site-header,
  .projetbox-hero-full,
  .sticky-mobile-cta {
    display: none !important;
  }

  .mobile-hero-capture {
    display: block;
    position: relative;
    overflow: hidden;
    min-height: 100svh;
    padding: 28px 18px 30px;
    color: #fff;
    background:
      linear-gradient(180deg, rgba(3,10,20,.18) 0%, rgba(3,10,20,.42) 25%, rgba(3,10,20,.88) 70%, #030a14 100%),
      linear-gradient(90deg, rgba(3,10,20,.98) 0%, rgba(3,10,20,.82) 45%, rgba(3,10,20,.20) 100%),
      url("../images/hero-home.jpg?v=mobile-capture-final") 67% top / cover no-repeat;
  }

  .mobile-hero-capture::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 76% 18%, rgba(212,175,55,.12), transparent 24%),
      linear-gradient(180deg, transparent 0%, transparent 56%, rgba(3,10,20,.72) 82%, #030a14 100%);
    pointer-events: none;
  }

  .mobile-hero-capture-inner {
    position: relative;
    z-index: 2;
    max-width: 430px;
    margin: 0 auto;
  }

  .mobile-hero-capture-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 128px;
  }

  .mobile-hero-capture-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
    font-weight: 950;
    font-size: 1.22rem;
    letter-spacing: .01em;
  }

  .mobile-hero-capture-logo img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 10px;
  }

  .mobile-hero-capture-devis {
    min-height: 58px;
    padding: 0 22px;
    border-radius: 17px;
    background: linear-gradient(135deg, #e6c24e 0%, #c99b25 100%);
    color: #10203d;
    text-decoration: none;
    font-weight: 950;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    box-shadow: 0 14px 34px rgba(212,175,55,.26);
  }

  .mobile-hero-capture-badge {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    max-width: 100%;
    padding: 13px 18px;
    margin-bottom: 28px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.42);
    background: rgba(255,255,255,.045);
    color: rgba(255,255,255,.95);
    font-size: .98rem;
    line-height: 1.2;
    backdrop-filter: blur(8px);
  }

  .mobile-hero-capture-badge::before {
    content: "";
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 50%;
    background: #d4af37;
    box-shadow: 0 0 0 5px rgba(212,175,55,.13);
  }

  .mobile-hero-capture-title {
    margin: 0 0 24px;
    color: #fff !important;
    font-size: clamp(3.05rem, 13vw, 4.5rem);
    line-height: .98;
    letter-spacing: -.06em;
    font-weight: 950;
    text-shadow: 0 8px 24px rgba(0,0,0,.25);
  }

  .mobile-hero-capture-title .gold {
    color: #d4af37;
  }

  .mobile-hero-capture-subtitle {
    max-width: 370px;
    margin: 0 0 48px;
    color: rgba(255,255,255,.92);
    font-size: 1.02rem;
    line-height: 1.62;
  }

  .mobile-hero-capture-offer {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    margin-top: 28px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(12px);
  }

  .mobile-hero-capture-offer-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    color: #d4af37;
    display: grid;
    place-items: center;
    font-size: 1.1rem;
  }

  .mobile-hero-capture-offer-main {
    color: #fff;
    font-size: .92rem;
    line-height: 1.25;
    font-weight: 700;
  }

  .mobile-hero-capture-offer-main strong {
    color: #d4af37;
    font-size: 1.2rem;
    font-weight: 900;
  }

  .mobile-hero-capture-offer-detail {
    display: block;
    margin-top: 3px;
    color: rgba(255,255,255,.72);
    font-size: .84rem;
    line-height: 1.3;
  }

  .mobile-hero-capture-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 0;
  }

  .mobile-hero-capture-btn {
    padding: 10px 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 700;
    font-size: .92rem;
    white-space: nowrap;
  }

  .mobile-hero-capture-btn.primary {
    background: linear-gradient(135deg, #e6c24e 0%, #c99b25 100%);
    color: #10203d;
    box-shadow: 0 8px 20px rgba(212,175,55,.3);
  }

  .mobile-hero-capture-btn.secondary {
    border: 1.5px solid rgba(255,255,255,.5);
    color: #fff;
    background: rgba(255,255,255,.06);
  }

  .mobile-hero-capture-whatsapp {
    width: fit-content;
    min-width: 170px;
    min-height: 50px;
    margin: 8px auto 30px;
    padding: 0 22px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.28);
    background: rgba(255,255,255,.045);
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: .98rem;
    font-weight: 850;
  }

  .mobile-hero-capture-whatsapp span {
    color: #d4af37;
    font-size: 1.25rem;
  }

  .mobile-hero-capture-reassurance {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }

  .mobile-hero-capture-card {
    min-height: 102px;
    padding: 14px 8px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.05);
    backdrop-filter: blur(8px);
    text-align: center;
    display: grid;
    align-content: center;
    gap: 8px;
  }

  .mobile-hero-capture-card .icon {
    color: #d4af37;
    font-size: 1.32rem;
    line-height: 1;
  }

  .mobile-hero-capture-card strong {
    color: #fff;
    font-size: .8rem;
    line-height: 1.2;
    font-weight: 800;
  }

  @media (max-width: 390px) {
    .mobile-hero-capture {
      padding-left: 16px;
      padding-right: 16px;
      background-position: 66% top;
    }

    .mobile-hero-capture-top {
      margin-bottom: 104px;
    }

    .mobile-hero-capture-title {
      font-size: 2.75rem;
    }

    .mobile-hero-capture-devis {
      padding: 0 18px;
      font-size: .95rem;
    }

    .mobile-hero-capture-card strong {
      font-size: .74rem;
    }
  }
}

/* Source nettoyée : index.html — #hide-mobile-hero-badge-final */
@media (max-width: 768px) {
  .mobile-hero-capture-badge,
  .mobile-premium-badge-final,
  .mobile-premium-badge-safe,
  .mobile-premium-badge-exact {
    display: none !important;
  }

  .mobile-hero-capture-title {
    margin-top: 0 !important;
  }
}

/* Source nettoyée : index.html — #mobile-chef-real-shift-right */
@media (max-width: 768px) {
  .mobile-hero-capture {
    background:
      linear-gradient(180deg, rgba(2,9,20,.12) 0%, rgba(2,9,20,.36) 28%, rgba(2,9,20,.72) 62%, rgba(2,9,20,.98) 100%),
      linear-gradient(90deg, rgba(2,9,20,.96) 0%, rgba(2,9,20,.76) 42%, rgba(2,9,20,.16) 100%),
      url("../images/projetbox-mobile-hero.png?v=1") 34% top / cover no-repeat !important;
  }
}

@media (max-width: 430px) {
  .mobile-hero-capture {
    background:
      linear-gradient(180deg, rgba(2,9,20,.12) 0%, rgba(2,9,20,.36) 28%, rgba(2,9,20,.72) 62%, rgba(2,9,20,.98) 100%),
      linear-gradient(90deg, rgba(2,9,20,.96) 0%, rgba(2,9,20,.76) 42%, rgba(2,9,20,.16) 100%),
      url("../images/projetbox-mobile-hero.png?v=1") 32% top / cover no-repeat !important;
  }
}

@media (max-width: 390px) {
  .mobile-hero-capture {
    background:
      linear-gradient(180deg, rgba(2,9,20,.12) 0%, rgba(2,9,20,.36) 28%, rgba(2,9,20,.72) 62%, rgba(2,9,20,.98) 100%),
      linear-gradient(90deg, rgba(2,9,20,.96) 0%, rgba(2,9,20,.76) 42%, rgba(2,9,20,.16) 100%),
      url("../images/projetbox-mobile-hero.png?v=1") 30% top / cover no-repeat !important;
  }
}

/* Source nettoyée : index.html — #mobile-hero-large-final */
@media (max-width: 768px) {
  .site-header,
  .projetbox-hero-full,
  .sticky-mobile-cta {
    display: none !important;
  }

  .mobile-hero-capture {
    display: block !important;
    min-height: 100svh !important;
    padding: 24px 20px 28px !important;
    color: #fff !important;
    background:
      linear-gradient(180deg, rgba(2,9,20,.08) 0%, rgba(2,9,20,.32) 30%, rgba(2,9,20,.72) 66%, #020914 100%),
      linear-gradient(90deg, rgba(2,9,20,.98) 0%, rgba(2,9,20,.82) 44%, rgba(2,9,20,.16) 100%),
      url("../images/projetbox-mobile-hero.png?v=1") center top / cover no-repeat !important;
  }

  .mobile-hero-capture::after {
    background:
      radial-gradient(circle at 80% 16%, rgba(212,175,55,.12), transparent 24%),
      linear-gradient(180deg, transparent 0%, transparent 52%, rgba(2,9,20,.62) 82%, #020914 100%) !important;
  }

  .mobile-hero-capture-inner {
    max-width: 430px !important;
    margin: 0 auto !important;
  }

  .mobile-hero-capture-top {
    margin-bottom: 78px !important;
    gap: 12px !important;
  }

  .mobile-hero-capture-logo {
    font-size: 1.16rem !important;
    gap: 10px !important;
  }

  .mobile-hero-capture-logo img {
    width: 42px !important;
    height: 42px !important;
  }

  .mobile-hero-capture-devis {
    min-height: 52px !important;
    padding: 0 20px !important;
    border-radius: 14px !important;
    font-size: .95rem !important;
  }

  .mobile-hero-capture-badge {
    margin-bottom: 22px !important;
    padding: 10px 14px !important;
    font-size: .78rem !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    font-weight: 850 !important;
  }

  .mobile-hero-capture-title {
    max-width: 330px !important;
    margin-bottom: 18px !important;
    font-size: clamp(2.35rem, 10.2vw, 3.35rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.052em !important;
  }

  .mobile-hero-capture-subtitle {
    max-width: 315px !important;
    margin-bottom: 44px !important;
    font-size: .86rem !important;
    line-height: 1.55 !important;
  }

  .mobile-hero-capture-offer {
    max-width: 315px !important;
    padding: 12px 14px !important;
    gap: 12px !important;
    margin-top: 24px !important;
    margin-bottom: 0 !important;
    border-radius: 14px !important;
    background: rgba(4,14,30,.52) !important;
  }

  .mobile-hero-capture-offer-icon {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    font-size: .95rem !important;
  }

  .mobile-hero-capture-offer-main {
    font-size: .80rem !important;
  }

  .mobile-hero-capture-offer-main strong {
    font-size: 1.1rem !important;
  }

  .mobile-hero-capture-offer-detail {
    font-size: .76rem !important;
    line-height: 1.3 !important;
  }

  .mobile-hero-capture-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin-bottom: 0 !important;
  }

  .mobile-hero-capture-btn {
    display: inline-flex !important;
    width: auto !important;
    min-height: unset !important;
    padding: 10px 20px !important;
    border-radius: 999px !important;
    font-size: .88rem !important;
    font-weight: 700 !important;
  }

  .mobile-hero-capture-whatsapp {
    width: 100% !important;
    min-height: 43px !important;
    margin: 0 0 18px !important;
    border-radius: 8px !important;
    font-size: .88rem !important;
  }

  .mobile-hero-capture-reassurance {
    gap: 8px !important;
  }

  .mobile-hero-capture-card {
    min-height: 78px !important;
    padding: 10px 6px !important;
    border-radius: 10px !important;
  }

  .mobile-hero-capture-card strong {
    font-size: .68rem !important;
    line-height: 1.16 !important;
  }
}

@media (max-width: 390px) {
  .mobile-hero-capture {
    padding: 22px 18px 26px !important;
    background-position: center top !important;
  }

  .mobile-hero-capture-top {
    margin-bottom: 68px !important;
  }

  .mobile-hero-capture-title {
    font-size: 2.18rem !important;
    max-width: 300px !important;
  }

  .mobile-hero-capture-subtitle,
  .mobile-hero-capture-offer {
    max-width: 300px !important;
  }

  .mobile-hero-capture-devis {
    min-height: 48px !important;
    padding: 0 16px !important;
    font-size: .88rem !important;
  }
}

/* Source nettoyée : index.html — #mobile-hero-hamburger-menu-style */
@media (max-width: 768px) {
  .mobile-hero-capture-menu {
    width: 54px !important;
    height: 54px !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #e3bd48 0%, #cfa02c 100%) !important;
    color: #10203d !important;
    font-size: 1.65rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 14px 30px rgba(212,175,55,.22) !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    position: relative !important;
    z-index: 1001 !important;
  }

  .mobile-hero-menu-panel {
    display: none;
    position: fixed;
    z-index: 1000;
    top: 118px;
    left: 18px;
    right: 18px;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.20);
    background: rgba(3,10,20,.96);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 24px 70px rgba(0,0,0,.38);
  }

  .mobile-hero-menu-panel.is-open {
    display: grid !important;
    gap: 10px;
  }

  .mobile-hero-menu-panel a {
    min-height: 50px;
    padding: 0 16px;
    border-radius: 13px;
    color: #fff;
    text-decoration: none;
    font-weight: 850;
    display: flex;
    align-items: center;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.11);
  }

  .mobile-hero-menu-panel a.is-gold {
    background: linear-gradient(135deg, #e3bd48 0%, #cfa02c 100%);
    color: #10203d;
    justify-content: center;
    font-weight: 950;
  }

  .mobile-hero-menu-backdrop {
    display: none;
    position: fixed;
    z-index: 999;
    inset: 0;
    background: rgba(0,0,0,.20);
  }

  .mobile-hero-menu-backdrop.is-open {
    display: block !important;
  }
}

/* Source nettoyée : index.html — #box-carousel-force-style */
@media (max-width: 768px) {
  .pbx-box-carousel {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 18px !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 6px 18px 20px !important;
    margin-left: -18px !important;
    margin-right: -18px !important;
  }

  .pbx-box-carousel::-webkit-scrollbar {
    display: none !important;
  }

  .pbx-box-carousel > * {
    flex: 0 0 84% !important;
    width: 84% !important;
    max-width: 84% !important;
    min-width: 84% !important;
    scroll-snap-align: center !important;
  }

  .pbx-box-carousel-dots {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 12px 0 26px !important;
  }

  .pbx-box-carousel-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    border: 0 !important;
    padding: 0 !important;
    background: rgba(17,37,74,.24) !important;
  }

  .pbx-box-carousel-dot.is-active {
    width: 24px !important;
    background: #d4af37 !important;
  }
}

@media (min-width: 769px) {
  .pbx-box-carousel-dots {
    display: none !important;
  }
}

/* ── Sites réalisés : carousel mobile ── */
@media (max-width: 768px) {
  .realisations-premium .rp-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 18px !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 6px 18px 20px !important;
    margin-left: -18px !important;
    margin-right: -18px !important;
    grid-template-columns: unset !important;
  }

  .realisations-premium .rp-grid::-webkit-scrollbar {
    display: none !important;
  }

  .realisations-premium .rp-grid > * {
    flex: 0 0 84% !important;
    width: 84% !important;
    max-width: 84% !important;
    min-width: 84% !important;
    scroll-snap-align: center !important;
  }
}

/* ── Nos box clé en main : grille 3 colonnes desktop, carousel mobile ── */
@media (min-width: 769px) {
  #offres .pricing-grid {
    display: grid !important;
    overflow: visible !important;
    flex-wrap: unset !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    scroll-snap-type: none !important;
    gap: 22px !important;
  }
  #offres .pricing-grid > * {
    flex: unset !important;
    width: unset !important;
    scroll-snap-align: unset !important;
  }
  #offres .pricing-grid .offer-card .offer-points,
  #offres .pricing-grid .offer-card .offer-price-alt {
    display: grid !important;
  }
}

@media (max-width: 768px) {
  #offres .pricing-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 18px !important;
    padding: 8px 0 24px !important;
  }
  #offres .pricing-grid::-webkit-scrollbar {
    display: none !important;
  }
  #offres .pricing-grid > * {
    flex: 0 0 84% !important;
    width: 84% !important;
    min-width: 0 !important;
    scroll-snap-align: center !important;
  }
}

#offres .pricing-grid .offer-card.is-featured {
  border: 2px solid #d4af37 !important;
  box-shadow: 0 20px 60px rgba(212,175,55,.28) !important;
}

/* Dots section carousel : visibles desktop + mobile */
.pbx-section-carousel-dots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 10px 0 24px !important;
}

/* ── Mobile uniquement ── */
@media (max-width: 768px) {
  #offres .pricing-grid {
    gap: 18px !important;
    padding: 6px 18px 20px !important;
    margin-left: -18px !important;
    margin-right: -18px !important;
  }

  #offres .pricing-grid .offer-card.is-featured {
    transform: scale(1.03) !important;
    transform-origin: center !important;
  }
}

/* Source nettoyée : index.html — #section-realisations-premium-style */
.realisations-premium {
  padding: 90px 0;
  background: #f7f8fb;
  color: #11254a;
}

.realisations-premium .rp-head {
  max-width: 820px;
  margin: 0 auto 46px;
  text-align: center;
}

.realisations-premium .rp-eyebrow {
  display: inline-flex;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(212,175,55,.14);
  color: #9d7421;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.realisations-premium .rp-head h2 {
  margin: 0 0 16px;
  font-size: clamp(2.1rem, 4vw, 4rem);
  line-height: 1.02;
  letter-spacing: -.04em;
  color: #11254a;
}

.realisations-premium .rp-head p {
  margin: 0 auto;
  max-width: 720px;
  color: #53627c;
  font-size: 1.05rem;
  line-height: 1.7;
}

.realisations-premium .rp-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.realisations-premium .rp-card {
  background: #fff;
  border: 1px solid #e3e8f2;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 18px 55px rgba(17,37,74,.08);
  display: flex;
  flex-direction: column;
}

.realisations-premium .rp-visual {
  position: relative;
  aspect-ratio: 9 / 12;
  background: #081326;
  overflow: hidden;
}

.realisations-premium .rp-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.realisations-premium .rp-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 42%, rgba(3,10,25,.78) 100%);
}

.realisations-premium .rp-tag {
  position: absolute;
  z-index: 2;
  left: 18px;
  bottom: 18px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #11254a;
  font-size: .78rem;
  font-weight: 900;
}

.realisations-premium .rp-body {
  padding: 24px 24px 26px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.realisations-premium .rp-body h3 {
  margin: 0 0 10px;
  color: #11254a;
  font-size: 1.28rem;
  line-height: 1.18;
}

.realisations-premium .rp-body p {
  margin: 0 0 22px;
  color: #53627c;
  font-size: .96rem;
  line-height: 1.6;
}

.realisations-premium .rp-actions {
  margin-top: auto;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.realisations-premium .rp-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  background: #11254a;
  color: #fff;
  text-decoration: none;
  font-weight: 900;
  font-size: .9rem;
}

.realisations-premium .rp-link.secondary {
  background: rgba(212,175,55,.14);
  color: #9d7421;
}

@media (max-width: 900px) {
  .realisations-premium {
    padding: 68px 0;
  }

  .realisations-premium .rp-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .realisations-premium .rp-card {
    border-radius: 24px;
  }

  .realisations-premium .rp-visual {
    aspect-ratio: 9 / 11;
  }
}

/* Source nettoyée : index.html — #presentation-video-unifiee */
/* Bloc Présentation PROJETBOX + vidéo : un seul bloc, même hauteur */
section:has(video):has(h2) {
  padding-top: 52px !important;
  padding-bottom: 52px !important;
}

section:has(video):has(h2) > .container,
section:has(video):has(h2) .container:has(video) {
  display: grid !important;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.08fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
  max-width: 1620px !important;
}

/* Carte gauche */
section:has(video):has(h2) > .container > *:first-child,
section:has(video):has(h2) .container:has(video) > *:first-child {
  height: 100% !important;
  min-height: 475px !important;
  border-radius: 28px 0 0 28px !important;
  border: 1px solid rgba(18, 48, 93, 0.18) !important;
  border-right: 0 !important;
  box-shadow: 0 22px 60px rgba(18, 48, 93, 0.08) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: #ffffff !important;
}

/* Bloc vidéo droite */
section:has(video):has(h2) > .container > *:last-child,
section:has(video):has(h2) .container:has(video) > *:last-child {
  height: 100% !important;
  min-height: 475px !important;
  border-radius: 0 28px 28px 0 !important;
  border: 10px solid #12305d !important;
  border-left-width: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 60px rgba(18, 48, 93, 0.16) !important;
  background: #12305d !important;
}

/* Vidéo plein cadre */
section:has(video):has(h2) video {
  width: 100% !important;
  height: 100% !important;
  min-height: 455px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Supprime les doubles bordures/radius internes si déjà présents */
section:has(video):has(h2) video,
section:has(video):has(h2) .video,
section:has(video):has(h2) .video-wrapper,
section:has(video):has(h2) .video-card {
  border-radius: 0 !important;
}

/* Mobile : on empile proprement */
@media (max-width: 900px) {
  section:has(video):has(h2) > .container,
  section:has(video):has(h2) .container:has(video) {
    grid-template-columns: 1fr !important;
  }

  section:has(video):has(h2) > .container > *:first-child,
  section:has(video):has(h2) .container:has(video) > *:first-child {
    border-radius: 24px 24px 0 0 !important;
    border-right: 1px solid rgba(18, 48, 93, 0.18) !important;
    min-height: auto !important;
  }

  section:has(video):has(h2) > .container > *:last-child,
  section:has(video):has(h2) .container:has(video) > *:last-child {
    border-radius: 0 0 24px 24px !important;
    min-height: 280px !important;
  }

  section:has(video):has(h2) video {
    min-height: 280px !important;
  }
}

/* Source nettoyée : index.html — #reduce-space-before-pricing-projetbox */
/* Réduction du grand vide avant la section bleue des offres */
section:has(h2):has(.pricing-card),
section:has(h2):has([class*="pricing"]),
section:has(h2):has(a[href*="contact"]) {
  margin-top: 40px !important;
  padding-top: 52px !important;
}

/* Si une section précédente crée trop d'espace en bas */
section:has(h3):has(p) {
  margin-bottom: 32px !important;
}

/* Neutralise les très grands espacements vides */
section:empty,
section .container:empty,
div:empty {
  display: none !important;
}

/* Source nettoyée : index.html — #icones-realisations-projetbox */
/* Cartes réalisations : icône en haut à droite */
.mini-card {
  position: relative !important;
  padding-right: 120px !important;
}

.realisation-icon-wrap {
  position: absolute !important;
  top: 32px !important;
  right: 32px !important;
  width: 68px !important;
  height: 68px !important;
  border-radius: 18px !important;
  background: rgba(227, 190, 65, 0.12) !important;
  border: 1px solid rgba(227, 190, 65, 0.35) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  margin: 0 !important;
}

.realisation-icon {
  width: 54px !important;
  height: 54px !important;
  object-fit: contain !important;
  display: block !important;
}

@media (max-width: 768px) {
  .mini-card {
    padding-right: 32px !important;
    padding-top: 108px !important;
  }

  .realisation-icon-wrap {
    top: 28px !important;
    left: 32px !important;
    right: auto !important;
  }
}

/* Source nettoyée : index.html — #hide-empty-payment-boxes-projetbox */
.pricing-card div:empty,
[class*="pricing"] div:empty {
  display: none !important;
}

.pricing-card div[style*="255, 245, 239"]:empty,
.pricing-card div[style*="#fff5ef"]:empty,
.pricing-card div[style*="196, 90, 42"]:empty {
  display: none !important;
}

/* Source nettoyée : index.html — #ajustement-espace-offres-projetbox */
/* Réduit l'espace vide après les cartes offres */
section:has(.pricing-card),
section:has([class*="pricing"]) {
  padding-bottom: 48px !important;
  margin-bottom: 0 !important;
}

section:has(.pricing-card) + section,
section:has([class*="pricing"]) + section {
  margin-top: 0 !important;
  padding-top: 48px !important;
}

/* Source nettoyée : index.html — #reduction-titre-hero-projetbox */
#hero-title-projetbox-force,
#hero-title-projetbox-force *,
body #hero-title-projetbox-force,
body #hero-title-projetbox-force * {
  font-size: 48px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
}

#hero-title-projetbox-force {
  max-width: 760px !important;
}

@media (max-width: 768px) {
  #hero-title-projetbox-force,
  #hero-title-projetbox-force * {
    font-size: 34px !important;
    line-height: 1.1 !important;
  }
}

/* Source nettoyée : index.html — #mobile-hero-title-up */
@media (max-width: 768px) {
  .mobile-hero-capture-top {
    margin-bottom: 40px !important;
  }
}
@media (max-width: 390px) {
  .mobile-hero-capture-top {
    margin-bottom: 30px !important;
  }
}

/* Source nettoyée : index.html — #offres-mobile-identiques-projetbox */
/* Mobile : garder les cartes offres comme sur desktop */
@media (max-width: 768px) {
  .pricing-card,
  .box-card,
  article.pricing-card,
  [class*="pricing-card"] {
    width: 100% !important;
    max-width: 420px !important;
    min-height: auto !important;
    margin: 0 auto 22px auto !important;
    padding: 28px 24px !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    border: 1px solid rgba(18, 48, 93, 0.14) !important;
    box-shadow: 0 18px 48px rgba(18, 48, 93, 0.10) !important;
    color: #061b3a !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
  }

  /* La carte recommandée garde son contour doré */
  .pricing-card.recommended,
  .pricing-card.featured,
  .box-card.recommended,
  .box-card.featured,
  [class*="recommended"],
  [class*="featured"] {
    border: 2px solid #d4af37 !important;
  }

  /* Badge en haut à gauche */
  .pricing-card .badge,
  .pricing-card .eyebrow,
  .pricing-card .pill,
  .box-card .badge,
  .box-card .eyebrow,
  .box-card .pill,
  [class*="pricing"] .badge,
  [class*="pricing"] .eyebrow,
  [class*="pricing"] .pill {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: max-content !important;
    padding: 12px 16px !important;
    border-radius: 999px !important;
    background: #f1f2f4 !important;
    color: #061b3a !important;
    font-weight: 900 !important;
    font-size: 13px !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 22px !important;
  }

  /* Prix en haut à droite */
  .pricing-card .price,
  .pricing-card [class*="price"],
  .pricing-card .amount,
  .box-card .price,
  .box-card [class*="price"],
  .box-card .amount {
    position: absolute !important;
    top: 28px !important;
    right: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    background: #12305d !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    font-size: 15px !important;
    white-space: nowrap !important;
  }

  /* Prix doré pour la carte Business si elle est recommandée */
  .pricing-card.recommended .price,
  .pricing-card.featured .price,
  .pricing-card.recommended [class*="price"],
  .pricing-card.featured [class*="price"],
  .box-card.recommended .price,
  .box-card.featured .price,
  .box-card.recommended [class*="price"],
  .box-card.featured [class*="price"] {
    background: #d8b86a !important;
    color: #061b3a !important;
  }

  /* Titres et textes visibles */
  .pricing-card h3,
  .pricing-card h4,
  .pricing-card strong,
  .box-card h3,
  .box-card h4,
  .box-card strong {
    color: #061b3a !important;
  }

  .pricing-card p,
  .box-card p {
    color: #4f5f7a !important;
  }

  .pricing-card li,
  .box-card li {
    color: #061b3a !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    margin-bottom: 14px !important;
  }

  /* Boutons en bas, même style */
  .pricing-card a,
  .pricing-card button,
  .box-card a,
  .box-card button {
    margin-top: 20px !important;
    width: 100% !important;
    min-height: 56px !important;
    border-radius: 999px !important;
    font-weight: 900 !important;
    text-align: center !important;
  }

  /* Grille en colonne propre sur mobile */
  .pricing-grid,
  .boxes-grid,
  [class*="pricing-grid"],
  [class*="boxes-grid"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    justify-items: center !important;
  }

  /* Évite que les cartes soient coupées dans un carousel mobile */
  .pricing-card,
  .box-card {
    flex: 0 0 auto !important;
    transform: none !important;
  }
}

/* Source nettoyée : index.html — #correction-texte-sombre-sections-projetbox */
/* Correction simple : texte foncé dans les sections/cartes claires */

/* Cartes offres, réalisations, stats, services */
.pricing-card,
.box-card,
.mini-card,
.stat-card,
.step-card,
.faq-item,
.rp-card,
article {
  color: #061b3a !important;
}

/* Titres dans les cartes claires */
.pricing-card h1,
.pricing-card h2,
.pricing-card h3,
.pricing-card h4,
.pricing-card strong,
.box-card h1,
.box-card h2,
.box-card h3,
.box-card h4,
.box-card strong,
.mini-card h1,
.mini-card h2,
.mini-card h3,
.mini-card h4,
.mini-card strong,
.stat-card h1,
.stat-card h2,
.stat-card h3,
.stat-card h4,
.stat-card strong,
.step-card h1,
.step-card h2,
.step-card h3,
.step-card h4,
.step-card strong,
.faq-item h1,
.faq-item h2,
.faq-item h3,
.faq-item h4,
.faq-item strong,
.rp-card h1,
.rp-card h2,
.rp-card h3,
.rp-card h4,
.rp-card strong,
article h1,
article h2,
article h3,
article h4,
article strong {
  color: #061b3a !important;
}

/* Paragraphes et listes dans les cartes claires */
.pricing-card p,
.pricing-card li,
.box-card p,
.box-card li,
.mini-card p,
.mini-card li,
.stat-card p,
.stat-card li,
.step-card p,
.step-card li,
.faq-item p,
.faq-item li,
.rp-card p,
.rp-card li,
article p,
article li {
  color: #4f5f7a !important;
}

/* Prix sur pastille bleue restent blancs */
.pricing-card .price,
.pricing-card [class*="price"],
.box-card .price,
.box-card [class*="price"] {
  color: #ffffff !important;
}

/* Prix sur pastille dorée restent foncés */
.pricing-card.recommended .price,
.pricing-card.featured .price,
.box-card.recommended .price,
.box-card.featured .price {
  color: #061b3a !important;
}

/* Boutons clairs dans les cartes : texte foncé */
.pricing-card a,
.pricing-card button,
.box-card a,
.box-card button {
  color: #061b3a !important;
}

/* Liens "Voir le site" restent orange */
.mini-card a {
  color: #c45a2a !important;
}

/* Source nettoyée : nos-box.html — #box-carousel-force-style */
@media (max-width: 768px) {
  .pbx-box-carousel {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 18px !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 6px 18px 20px !important;
    margin-left: -18px !important;
    margin-right: -18px !important;
  }

  .pbx-box-carousel::-webkit-scrollbar {
    display: none !important;
  }

  .pbx-box-carousel > * {
    flex: 0 0 84% !important;
    width: 84% !important;
    max-width: 84% !important;
    min-width: 84% !important;
    scroll-snap-align: center !important;
  }

  .pbx-box-carousel-dots {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 12px 0 26px !important;
  }

  .pbx-box-carousel-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    border: 0 !important;
    padding: 0 !important;
    background: rgba(17,37,74,.24) !important;
  }

  .pbx-box-carousel-dot.is-active {
    width: 24px !important;
    background: #d4af37 !important;
  }
}

@media (min-width: 769px) {
  .pbx-box-carousel-dots {
    display: none !important;
  }
}

/* Source nettoyée : tarifs.html — #tarifs-abonnement-style */
.price-subnote {
 margin-top: 8px;
 color: #5c6a82;
 font-size:.95rem;
 font-weight: 700;
 line-height: 1.4;
}
.pricing-monthly-note {
 grid-column: 1 / -1;
 padding: 18px 22px;
 border-radius: 20px;
 background: #fff8f3;
 border: 1px solid rgba(196, 90, 42, 0.22);
 color: #5e473a;
 font-size:.98rem;
 line-height: 1.55;
}
.pricing-monthly-note strong {
 color: #c45a2a;
}

/* =========================================================
   PROJETBOX — Visibility upgrade fusionné dans style.css
   Ancien fichier supprimé : css/projetbox-visibility-upgrade.css
   ========================================================= */
/* =========================================================
   PROJETBOX — Visibility & Conversion Upgrade
   Ajout final non destructif : lisibilité, contraste, CTA, mobile.
   ========================================================= */
:root{
  --pbx-ink:#071a35;
  --pbx-navy:#0b1f42;
  --pbx-navy-2:#133a70;
  --pbx-gold:#d8b24d;
  --pbx-gold-2:#f0d88a;
  --pbx-orange:#c45a2a;
  --pbx-muted:#536178;
  --pbx-soft:#f5f7fb;
  --pbx-line:rgba(11,31,66,.12);
  --pbx-shadow:0 22px 70px rgba(7,26,53,.14);
  --pbx-shadow-soft:0 14px 36px rgba(7,26,53,.10);
}

html{ text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
body{
  color:var(--pbx-ink) !important;
  background:linear-gradient(180deg,#ffffff 0%,#f5f7fb 52%,#ffffff 100%) !important;
}
body::selection{background:rgba(216,178,77,.35); color:var(--pbx-ink)}

/* Rythme général plus lisible */
.container{ width:min(1180px, calc(100% - 36px)) !important; }
.section{ padding-top:86px !important; padding-bottom:86px !important; }
.section-heading{ max-width:850px !important; }
.section-heading h1,
.section-heading h2,
.page-hero h1,
h1,h2{
  color:var(--pbx-ink) !important;
  letter-spacing:-.045em !important;
}
p, li{ color:var(--pbx-muted) !important; }
strong{ color:inherit; }

/* Header plus visible */
.site-header{
  background:rgba(255,255,255,.94) !important;
  border-bottom:1px solid rgba(11,31,66,.10) !important;
  box-shadow:0 10px 34px rgba(7,26,53,.08) !important;
}
.header-inner{ min-height:78px !important; }
.brand-main{ color:var(--pbx-ink) !important; font-weight:950 !important; }
.desktop-nav a:not(.btn){ color:var(--pbx-ink) !important; }
.desktop-nav a:not(.btn):hover,
.desktop-nav a.is-active{ color:var(--pbx-orange) !important; }
.menu-btn{ box-shadow:0 10px 24px rgba(7,26,53,.08) !important; }

/* Boutons : plus visibles et plus cliquables */
.btn,
.hero-full-primary,
.hero-full-secondary,
.mobile-hero-capture-btn,
.hero-full-cta{
  min-height:54px !important;
  border-radius:999px !important;
  font-weight:950 !important;
  letter-spacing:-.01em !important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
.btn:hover,
.hero-full-primary:hover,
.hero-full-secondary:hover,
.mobile-hero-capture-btn:hover{
  transform:translateY(-2px) !important;
  filter:saturate(1.05) !important;
}
.btn-gold,
.btn-primary,
.hero-full-primary,
.mobile-hero-capture-btn.primary,
.hero-full-cta{
  background:linear-gradient(135deg,#f0d88a 0%,#d8b24d 48%,#bd8328 100%) !important;
  color:#071a35 !important;
  box-shadow:0 16px 36px rgba(189,131,40,.28) !important;
  border:1px solid rgba(255,255,255,.28) !important;
}
.btn-secondary,
.hero-full-secondary,
.mobile-hero-capture-btn.secondary{
  background:#fff !important;
  color:#071a35 !important;
  border:1px solid rgba(11,31,66,.16) !important;
  box-shadow:0 12px 28px rgba(7,26,53,.08) !important;
}

/* Hero desktop : message plus net et plus commercial */
.projetbox-hero-full{
  min-height:92vh !important;
  background:
    linear-gradient(90deg, rgba(3,13,28,.98) 0%, rgba(7,24,48,.95) 42%, rgba(7,24,48,.60) 68%, rgba(7,24,48,.22) 100%),
    url("../images/hero-home.jpg") center right / cover no-repeat !important;
}
.projetbox-hero-full h1{
  max-width:900px !important;
  font-size:clamp(3.2rem,6.4vw,6.7rem) !important;
  line-height:.94 !important;
  color:#fff !important;
  text-wrap:balance;
  text-shadow:0 12px 38px rgba(0,0,0,.28) !important;
}
.projetbox-hero-full h1 span,
.hero-full-kicker,
.hero-full-menu a.is-active{ color:var(--pbx-gold-2) !important; }
.hero-full-text{
  max-width:700px !important;
  color:rgba(255,255,255,.92) !important;
  font-size:clamp(1.06rem,1.55vw,1.25rem) !important;
  line-height:1.72 !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-left:4px solid var(--pbx-gold) !important;
  border-radius:0 22px 22px 0 !important;
  padding:18px 22px !important;
  backdrop-filter:blur(8px);
}
.hero-full-benefit{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:18px !important;
  padding:14px !important;
  backdrop-filter:blur(8px);
}
.hero-full-benefit strong{ color:#fff !important; }
.hero-full-benefit span{ color:rgba(255,255,255,.75) !important; }
.hero-full-bottom-bar{
  box-shadow:0 -16px 46px rgba(0,0,0,.16) !important;
  border-top:1px solid rgba(216,178,77,.22) !important;
}
.hero-full-bottom-item strong{ color:var(--pbx-ink) !important; }
.hero-full-bottom-item span{ color:var(--pbx-muted) !important; }

/* Heroes des autres pages */
.page-hero,
.seo-page-hero{
  position:relative !important;
  overflow:hidden !important;
  background-color:#071a35 !important;
}
.page-hero.page-hero-img::before,
.seo-page-hero::before{
  background:linear-gradient(135deg, rgba(4,15,32,.90) 0%, rgba(11,31,66,.78) 52%, rgba(196,90,42,.42) 100%) !important;
}
.page-hero h1,
.page-hero.page-hero-img h1,
.seo-page-hero h1{ color:#fff !important; text-shadow:0 10px 30px rgba(0,0,0,.28) !important; }
.page-hero p,
.page-hero.page-hero-img p,
.seo-page-hero p{ color:rgba(255,255,255,.88) !important; font-size:1.08rem !important; }

/* Cartes : plus premium et lisibles */
.pricing-card,
.offer-card,
.box-card,
.step-card,
.stat-card,
.mini-card,
.faq-item,
.service-card,
.testimonial-card,
.cta-panel,
.hero-side-card,
.contact-card,
.price-card,
.rp-card,
article[class*="card"]{
  background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%) !important;
  border:1px solid rgba(11,31,66,.10) !important;
  box-shadow:var(--pbx-shadow-soft) !important;
  color:var(--pbx-ink) !important;
}
.pricing-card:hover,
.offer-card:hover,
.box-card:hover,
.step-card:hover,
.service-card:hover,
.mini-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:var(--pbx-shadow) !important;
  border-color:rgba(196,90,42,.24) !important;
}
.pricing-card h3,
.offer-card h3,
.box-card h3,
.step-card strong,
.stat-card strong,
.faq-item summary,
.service-card h3,
.mini-card h3,
.contact-card h3,
.price-card h3,
.rp-card h3{
  color:var(--pbx-ink) !important;
  font-weight:950 !important;
}
.pricing-card p,
.pricing-card li,
.offer-card p,
.offer-card li,
.box-card p,
.box-card li,
.step-card p,
.stat-card p,
.faq-item p,
.service-card p,
.mini-card p,
.contact-card p,
.price-card p,
.rp-card p{
  color:var(--pbx-muted) !important;
}

/* Offres : la carte recommandée ressort mieux */
.offer-card.is-featured,
.pricing-card.featured,
.price-card.featured{
  border:2px solid rgba(216,178,77,.72) !important;
  box-shadow:0 28px 80px rgba(216,178,77,.22), 0 16px 42px rgba(7,26,53,.12) !important;
  position:relative !important;
}
.offer-card.is-featured::before,
.pricing-card.featured::before,
.price-card.featured::before{
  content:"Le meilleur choix";
  position:absolute;
  top:-15px;
  left:24px;
  z-index:2;
  background:linear-gradient(135deg,#f0d88a,#d8b24d);
  color:#071a35;
  padding:7px 14px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:950;
  box-shadow:0 12px 28px rgba(216,178,77,.28);
}
.offer-chip,
.offer-kicker,
.eyebrow{
  font-weight:950 !important;
}
.offer-chip,
.price,
.offer-price,
[class*="price"] strong{
  color:var(--pbx-ink) !important;
}
.offer-price-alt{
  background:linear-gradient(135deg,rgba(216,178,77,.18),rgba(196,90,42,.10)) !important;
  border:1px solid rgba(196,90,42,.20) !important;
}
.offer-price-alt strong{ color:var(--pbx-orange) !important; }
.offer-monthly-note,
.payment-flexible-section > div > div{
  border:1px solid rgba(196,90,42,.18) !important;
  box-shadow:0 14px 34px rgba(196,90,42,.08) !important;
}

/* Images et cartes métiers : rendu plus propre */
.box-thumb,
.hero-visual,
.video-card{
  overflow:hidden !important;
  background:#071a35 !important;
}
.box-thumb img,
.hero-visual img,
.mini-card img,
.rp-card img{
  filter:saturate(1.04) contrast(1.04) !important;
  transform:scale(1.001);
}
.horizontal-scroll{
  scroll-snap-type:x mandatory !important;
  scrollbar-width:thin !important;
  padding-bottom:20px !important;
}
.horizontal-scroll > *{ scroll-snap-align:start !important; }
.horizontal-scroll::-webkit-scrollbar{ height:9px; }
.horizontal-scroll::-webkit-scrollbar-thumb{ background:rgba(11,31,66,.22); border-radius:999px; }

/* FAQ sombre : texte bien visible */
.faq-section-dark,
.faq-section-dark.section{
  background:linear-gradient(135deg,#071a35,#112c59) !important;
}
.faq-section-dark .section-heading h2,
.faq-section-dark .section-heading p,
.faq-section-dark .eyebrow{ color:#fff !important; }
.faq-section-dark .faq-item{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:none !important;
}
.faq-section-dark .faq-item summary{ color:#fff !important; }
.faq-section-dark .faq-item p{ color:rgba(255,255,255,.82) !important; }

/* CTA final impossible à rater */
.final-cta,
.cta-panel{
  background:
    radial-gradient(circle at 12% 18%, rgba(216,178,77,.22), transparent 34%),
    linear-gradient(135deg,#071a35 0%,#0d2a58 100%) !important;
  color:#fff !important;
  border:1px solid rgba(216,178,77,.28) !important;
  box-shadow:0 28px 90px rgba(7,26,53,.24) !important;
}
.final-cta h2,
.final-cta h3,
.cta-panel h2,
.cta-panel h3{ color:#fff !important; }
.final-cta p,
.cta-panel p{ color:rgba(255,255,255,.82) !important; }
.final-cta .btn-secondary,
.cta-panel .btn-secondary{ background:rgba(255,255,255,.10) !important; color:#fff !important; border-color:rgba(255,255,255,.22) !important; }

/* Formulaires plus lisibles */
input,textarea,select{
  background:#fff !important;
  color:var(--pbx-ink) !important;
  border:1px solid rgba(11,31,66,.16) !important;
  border-radius:16px !important;
  box-shadow:0 10px 24px rgba(7,26,53,.05) !important;
}
input:focus,textarea:focus,select:focus{
  outline:3px solid rgba(216,178,77,.26) !important;
  border-color:rgba(196,90,42,.42) !important;
}
label{ color:var(--pbx-ink) !important; font-weight:800 !important; }

/* Footer */
.site-footer{
  background:#06152c !important;
  color:#fff !important;
  border-top:1px solid rgba(216,178,77,.24) !important;
}
.site-footer p,
.site-footer a,
.footer-note{ color:rgba(255,255,255,.78) !important; }
.site-footer a:hover{ color:var(--pbx-gold-2) !important; }
.site-footer .brand-main{ color:#fff !important; }

/* Mobile : lisibilité et conversion */
@media (max-width:1080px){
  .desktop-nav{ display:none !important; }
  .menu-btn{ display:inline-flex !important; align-items:center !important; justify-content:center !important; }
  .mobile-nav.open{ box-shadow:0 18px 38px rgba(7,26,53,.08) !important; }
}

@media (max-width:760px){
  .container{ width:min(100% - 24px, 1180px) !important; }
  .section{ padding-top:60px !important; padding-bottom:60px !important; }
  h1{ font-size:clamp(2.35rem,10.8vw,3.55rem) !important; line-height:.98 !important; }
  h2{ font-size:clamp(2rem,8.6vw,2.75rem) !important; line-height:1.02 !important; }
  p,li{ font-size:1rem !important; line-height:1.68 !important; }

  .mobile-hero-capture{
    min-height:100svh !important;
    background:
      linear-gradient(180deg, rgba(4,13,28,.58) 0%, rgba(4,13,28,.42) 30%, rgba(4,13,28,.86) 72%, rgba(4,13,28,.98) 100%),
      url("../images/hero-home.jpg") 62% top / cover no-repeat !important;
  }
  .mobile-hero-capture-title{
    font-size:clamp(2.55rem,12vw,4.1rem) !important;
    line-height:.92 !important;
    color:#fff !important;
    text-shadow:0 14px 34px rgba(0,0,0,.38) !important;
  }
  .mobile-hero-capture-subtitle{
    color:rgba(255,255,255,.92) !important;
    font-size:1.04rem !important;
    line-height:1.62 !important;
  }
  .mobile-hero-capture-offer,
  .mobile-hero-capture-card{
    background:rgba(255,255,255,.92) !important;
    border:1px solid rgba(255,255,255,.32) !important;
    box-shadow:0 18px 48px rgba(0,0,0,.18) !important;
    color:var(--pbx-ink) !important;
  }
  .mobile-hero-capture-offer-main,
  .mobile-hero-capture-offer-main strong,
  .mobile-hero-capture-card strong{ color:var(--pbx-ink) !important; }
  .mobile-hero-capture-offer-detail,
  .mobile-hero-capture-card span{ color:var(--pbx-muted) !important; }
  .mobile-hero-capture-actions{ gap:12px !important; }
  .mobile-hero-capture-btn{ width:100% !important; font-size:1rem !important; }

  .pricing-card,
  .offer-card,
  .box-card,
  .step-card,
  .stat-card,
  .mini-card,
  .faq-item,
  .service-card,
  .contact-card,
  .price-card{
    border-radius:24px !important;
  }

  .box-card{ min-width:286px !important; }
  .box-thumb{ height:220px !important; }

  .sticky-mobile-cta{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
    z-index:9999 !important;
    padding:10px !important;
    border-radius:24px !important;
    background:rgba(255,255,255,.94) !important;
    border:1px solid rgba(11,31,66,.12) !important;
    box-shadow:0 18px 50px rgba(7,26,53,.22) !important;
    backdrop-filter:blur(14px) !important;
  }
  .sticky-mobile-cta a{
    min-height:52px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    font-weight:950 !important;
    color:#071a35 !important;
  }
  .sticky-mobile-cta a.is-primary,
  .sticky-mobile-cta a:first-child{
    background:linear-gradient(135deg,#f0d88a,#d8b24d) !important;
  }
  .sticky-mobile-cta a:not(.is-primary):not(:first-child){
    background:#071a35 !important;
    color:#fff !important;
  }
  .site-footer{ padding-bottom:122px !important; }
}

@media (max-width:420px){
  .container{ width:calc(100% - 20px) !important; }
  .mobile-hero-capture-top{ gap:8px !important; }
  .mobile-hero-capture-devis{ padding:10px 12px !important; font-size:.82rem !important; }
  .mobile-hero-capture-badge{ font-size:.76rem !important; }
  .section{ padding-top:54px !important; padding-bottom:54px !important; }
}

@media (prefers-reduced-motion:reduce){
  *{ transition:none !important; scroll-behavior:auto !important; }
}
