/* =========================================================
   HOME PRIVILÈGES — Landing page ménage à domicile
   Feuille de style unique — v3
   (logo officiel · hero compact · CTA orange · form mobile 1 écran)
   ========================================================= */

:root{
  /* couleurs de marque */
  --gold:#c3ab71;
  --gold-dark:#a8905a;
  --gold-soft:#f6f1e6;
  --ink:#1b1b1b;
  --ink-2:#262626;
  --ink-3:#3a3a3a;
  --muted:#6d6d6d;
  --line:#e6e2d8;
  --bg:#ffffff;
  --bg-alt:#faf8f4;

    /* CTA = brand gold again (orange removed) */
  --cta:var(--gold);
  --cta-light:var(--gold-light);
  --cta-dark:var(--gold-dark);
  --cta-soft:rgba(200,160,68,.14);
  --cta-glow:rgba(200,160,68,.38);

  --radius:16px;
  --radius-sm:10px;
  --shadow:0 18px 45px rgba(27,27,27,.10);
  --shadow-sm:0 8px 22px rgba(27,27,27,.07);
  --max:1180px;
  --font-head:'Montserrat',sans-serif;
  --font-body:'Rubik',sans-serif;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--ink-3);
  background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--cta-dark);text-decoration:none;transition:.25s}
a:hover{color:var(--ink)}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
:focus-visible{outline:3px solid var(--cta);outline-offset:2px}

/* jamais de retour à la ligne (numéros de téléphone, prix…) */
.nowrap{white-space:nowrap}

h1,h2,h3,h4{font-family:var(--font-head);color:var(--ink);line-height:1.2;font-weight:700}
h1{font-size:clamp(1.75rem,3.9vw,3rem);letter-spacing:-.5px}
h2{font-size:clamp(1.5rem,3vw,2.4rem);letter-spacing:-.3px}
h3{font-size:1.18rem}
h4{font-size:1.05rem}
.accent{color:var(--cta-dark)}
.small{font-size:.9rem;color:var(--muted)}

.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}
.container--narrow{max-width:880px}
.section{padding:92px 0}
.section--alt{background:var(--bg-alt)}
.section--dark{background:var(--ink-2);color:#d8d5cf}
.section--dark h2,.section--dark h3{color:#fff}
.section--dark .accent{color:var(--cta-light)}
[id]{scroll-margin-top:100px}

.eyebrow{
  display:inline-block;font-family:var(--font-head);font-size:.7rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);
  background:var(--gold-soft);padding:6px 13px;border-radius:100px;margin-bottom:14px;
}
.section--dark .eyebrow{background:rgba(195,171,113,.16);color:var(--gold)}

.section__head{max-width:720px;margin:0 auto 52px;text-align:center}
.section__head p{margin-top:14px;color:var(--muted)}
.section__head--light p{color:#b7b3aa}

/* ---------------- BOUTONS (tous orange) ---------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-head);font-weight:700;font-size:.92rem;
  padding:16px 30px;border-radius:var(--radius-sm);text-align:center;
  transition:.25s ease;border:2px solid transparent;min-height:52px;
}
.btn--sm{padding:11px 20px;font-size:.83rem;min-height:44px}
.btn--full{width:100%}

.btn--cta{
  background:linear-gradient(180deg,var(--cta-light) 0%,var(--cta) 52%,var(--cta-dark) 100%);
  color:#fff;box-shadow:0 10px 24px var(--cta-glow);
}
.btn--cta:hover,.btn--cta:focus{
  background:linear-gradient(180deg,var(--cta) 0%,var(--cta-dark) 100%);
  color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px var(--cta-glow);
}
.btn--cta:active{transform:translateY(0)}
.btn--cta[disabled]{opacity:.65;cursor:wait;transform:none}

.btn--outline{border-color:var(--cta);color:var(--cta-dark);background:#fff}
.btn--outline:hover{background:var(--cta);color:#fff}
.btn--ghost{border-color:rgba(255,255,255,.5);color:#fff}
.btn--ghost:hover{background:#fff;color:var(--ink)}
.btn--light{background:#fff;color:var(--ink)}
.btn--light:hover{background:var(--cta);color:#fff}
.btn--back{border-color:var(--line);color:var(--ink);background:#fff}
.btn--back:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

.link-cta{
  font-family:var(--font-head);font-weight:700;font-size:.88rem;color:var(--cta-dark);
  margin-top:auto;align-self:flex-start;transition:.25s;padding:6px 0;
}
.link-cta:hover{color:var(--cta);transform:translateX(4px)}

/* ---------------- TOPBAR ---------------- */
.topbar{background:var(--ink-2);color:#cfcac0;font-size:.82rem}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:8px;padding-bottom:8px}
.topbar__txt{margin:0}
.topbar__txt strong{color:var(--gold)}
.topbar__link{color:#cfcac0}
.topbar__link:hover{color:var(--cta-light)}

/* ---------------- HEADER + LOGO ---------------- */
.header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line);transition:.3s}
.header.is-stuck{box-shadow:0 8px 26px rgba(0,0,0,.08)}
.header__in{display:flex;align-items:center;gap:22px;padding-top:10px;padding-bottom:10px}

.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.brand img{height:56px;width:auto;flex:none;object-fit:contain}
.brand__text{display:flex;flex-direction:column;font-family:var(--font-head);font-weight:700;font-size:1rem;line-height:1.15;white-space:nowrap}
.brand__text small{font-weight:500;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-dark)}
.brand:hover{color:var(--ink)}
.brand--light{color:#fff;margin-bottom:16px}
.brand--light img{filter:brightness(0) invert(1)}
.brand--light .brand__text small{color:var(--gold)}
.brand--light:hover{color:#fff}

.nav{display:flex;gap:22px;margin-left:auto}
.nav a{
  font-family:var(--font-head);font-weight:600;font-size:.8rem;color:var(--ink);
  text-transform:uppercase;letter-spacing:.03em;position:relative;white-space:nowrap;
}
.nav a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--cta);transition:.28s}
.nav a:hover{color:var(--cta-dark)}
.nav a:hover::after{width:100%}

.header__cta{display:flex;align-items:center;gap:16px}
.phone-link{display:flex;flex-direction:column;line-height:1.2}
.phone-link__label{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.phone-link__num{font-family:var(--font-head);font-weight:700;font-size:1.02rem;color:var(--ink)}
.phone-link:hover .phone-link__num{color:var(--cta-dark)}

.burger{display:none;width:46px;height:46px;flex-direction:column;justify-content:center;gap:5px;align-items:center;border-radius:9px;border:1px solid var(--line)}
.burger span{display:block;width:21px;height:2px;background:var(--ink);transition:.3s}
.burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------------- HERO (compact, sans vide) ---------------- */
.hero{
  position:relative;padding:46px 0 52px;color:#fff;background-color:#1b1815;
  background-image:linear-gradient(rgba(20,18,15,.80),rgba(20,18,15,.70)),
    url('https://images.pexels.com/photos/1571460/pexels-photo-1571460.jpeg?auto=compress&cs=tinysrgb&w=1920');
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.hero__grid{
  display:grid;grid-template-columns:1.02fr .98fr;gap:22px 50px;
  grid-template-areas:"copy form" "proof form";
}
.hero__copy{grid-area:copy;align-self:end}      /* colle au formulaire, plus de vide en bas */
.formcard{grid-area:form;align-self:start}
.hero__proof{grid-area:proof;align-self:start}

.hero h1{color:#fff;margin:0}
.hero .accent{color:var(--cta-light)}
.hero__lead{margin:14px 0 0;color:#e2ded6;font-size:1.02rem;max-width:33em}
.hero__list{display:grid;gap:9px;margin-bottom:22px}
.hero__list li{position:relative;padding-left:31px;color:#eae7e1;font-size:.96rem}
.hero__list li::before{
  content:"✓";position:absolute;left:0;top:2px;width:21px;height:21px;border-radius:50%;
  background:var(--cta);color:#fff;font-size:.72rem;display:flex;align-items:center;justify-content:center;
}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.hero__badges{display:flex;flex-wrap:wrap;gap:8px}
.hero__badges span{
  font-size:.74rem;padding:6px 12px;border-radius:100px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);color:#e7e3db;
}

/* ---------------- FORMULAIRE ---------------- */
.formcard{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;color:var(--ink-3);position:relative}
.formcard::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--cta),var(--cta-light))}
.formcard__head{padding:22px 24px 2px}
.formcard__head h2{font-size:1.32rem}
.formcard__head p{font-size:.86rem;color:var(--muted);margin-top:3px}

.steps-bar{display:flex;gap:8px;padding:14px 24px 0}
.steps-bar__item{
  flex:1;font-family:var(--font-head);font-size:.67rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:#b3aca0;padding-top:9px;border-top:3px solid var(--line);transition:.3s;
}
.steps-bar__item.is-active{color:var(--cta-dark);border-top-color:var(--cta)}
.steps-bar__item.is-done{color:var(--ink);border-top-color:var(--cta-dark)}
.steps-bar__item::before{content:attr(data-dot) ". "}

.lead-form{padding:16px 24px 22px}
.step{display:none;animation:fadeUp .32s ease}
.step.is-active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.step__nav{display:flex;gap:10px;margin-top:4px}
.step__nav .btn--cta{flex:1}
.step__nav .btn--back{flex:0 0 34%}

.field{margin-bottom:14px;border:0;min-width:0}
.field label,.field legend{
  display:block;font-family:var(--font-head);font-weight:600;font-size:.83rem;
  color:var(--ink);margin-bottom:6px;
}
.req{color:#c0392b}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

input[type=text],input[type=tel],input[type=email],select,textarea{
  width:100%;font-family:var(--font-body);font-size:16px;color:var(--ink);
  background:#fbfaf7;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  padding:13px 15px;transition:.2s;-webkit-appearance:none;appearance:none;
}
input::placeholder,textarea::placeholder{color:#a8a49c}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cta);background:#fff;box-shadow:0 0 0 4px rgba(255,106,0,.15)}
textarea{resize:vertical;min-height:84px}
select{
  background-image:linear-gradient(45deg,transparent 50%,var(--cta-dark) 50%),linear-gradient(135deg,var(--cta-dark) 50%,transparent 50%);
  background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px;background-repeat:no-repeat;
}
.is-invalid{border-color:#d94f4f!important;background:#fff6f6!important}
.err-msg{display:block;color:#c0392b;font-size:.78rem;margin-top:5px}

.choices{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.choice{position:relative;display:block;cursor:pointer}
.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%}
.choice span{
  display:flex;flex-direction:column;gap:2px;height:100%;
  border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:12px;background:#fbfaf7;transition:.2s;
}
.choice strong{font-family:var(--font-head);font-size:.84rem;color:var(--ink);font-weight:700;line-height:1.3}
.choice small{font-size:.73rem;color:var(--muted);line-height:1.35}
.choice:hover span{border-color:var(--cta)}
.choice input:checked + span{border-color:var(--cta);background:var(--cta-soft);box-shadow:0 0 0 3px rgba(255,106,0,.16)}

.check{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--muted);margin-bottom:12px;cursor:pointer;line-height:1.45}
.check input{width:20px;height:20px;min-width:20px;margin-top:2px;accent-color:var(--cta)}
.check strong{color:var(--ink)}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.formcard__note{font-size:.75rem;color:var(--muted);text-align:center;margin-top:10px}

/* ---------------- BANDEAU CONFIANCE ---------------- */
.trustbar{background:var(--ink);color:#fff;border-top:4px solid var(--cta)}
.trustbar__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:30px 20px}
.trust{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.trust__num{font-family:var(--font-head);font-weight:800;font-size:1.72rem;line-height:1;color:var(--cta-light)}
.trust__txt{font-size:.85rem;color:#ddd8cf;max-width:210px}

/* ---------------- SPLIT ---------------- */
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:54px;align-items:center}
.media-frame{position:relative;padding:0 34px 34px 0}
.media-frame img:first-child{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;object-fit:cover;aspect-ratio:4/3}
.media-frame__mini{
  position:absolute;right:0;bottom:0;width:46%;border-radius:var(--radius);
  border:7px solid #fff;box-shadow:var(--shadow-sm);object-fit:cover;aspect-ratio:1/1;
}
.split__copy p{margin-bottom:18px;color:var(--muted)}

.calc{display:flex;align-items:stretch;gap:14px;margin:22px 0 18px;flex-wrap:wrap}
.calc__cell{
  flex:1;min-width:160px;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);
  padding:16px 20px;display:flex;flex-direction:column;
}
.calc__cell span{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.calc__cell strong{font-family:var(--font-head);font-size:1.72rem;color:var(--ink);white-space:nowrap}
.calc__cell--hl{background:#c3ab71e3}
.calc__cell--hl span{color:#ffe8d8}
.calc__cell--hl strong{color:#fff}
.calc__arrow{display:flex;align-items:center;color:var(--cta);font-size:1.6rem}

/* ---------------- CARTES SERVICES ---------------- */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{
  position:relative;display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--cta)}
.card__img{width:100%;height:190px;object-fit:cover}
.card__body{display:flex;flex-direction:column;gap:13px;padding:26px 24px 28px;flex:1}
.card p{color:var(--muted);font-size:.94rem}
.card--featured{border-color:var(--cta);box-shadow:var(--shadow-sm)}
.ribbon{
  position:absolute;top:14px;left:14px;z-index:2;background:var(--cta);color:#fff;
  font-family:var(--font-head);font-size:.67rem;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;padding:6px 13px;border-radius:100px;box-shadow:0 6px 16px var(--cta-glow);
}
.ticks{display:grid;gap:9px}
.ticks li{position:relative;padding-left:26px;font-size:.92rem}
.ticks li::before{content:"✓";position:absolute;left:0;color:var(--cta);font-weight:700}

/* ---------------- PACKS ---------------- */
.packs{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.pack{background:#2f2f2f;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.3s}
.pack:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.35)}
.pack img{height:180px;width:100%;object-fit:cover}
.pack__body{padding:22px 20px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.pack__body p{font-size:.88rem;color:#b7b3aa}
.pack .link-cta{color:var(--cta-light)}
.pack .link-cta:hover{color:#fff}

/* ---------------- TARIFS ---------------- */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start}
.price{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:36px 26px 30px;display:flex;flex-direction:column;gap:18px;transition:.3s;
}
.price:hover{box-shadow:var(--shadow);transform:translateY(-5px)}
.price--featured{border-color:var(--cta);box-shadow:var(--shadow);transform:scale(1.03)}
.price--featured:hover{transform:scale(1.03) translateY(-5px)}
.price .ribbon{left:50%;transform:translateX(-50%);top:-13px}
.price__head{text-align:center;padding-bottom:18px;border-bottom:1px dashed var(--line)}
.price__main{font-family:var(--font-head);font-weight:800;font-size:2.2rem;color:var(--ink);margin-top:8px;line-height:1.1}
.price__main small{font-size:.86rem;font-weight:600;color:var(--muted)}
.price__net{display:inline-block;margin-top:10px;background:var(--cta-soft);color:var(--cta-dark);border-radius:100px;padding:6px 14px;font-size:.82rem}
.price__net strong{color:var(--ink);white-space:nowrap}
.price__ht{display:block;font-size:.74rem;color:#a09a90;margin-top:8px}
.pricing__note{text-align:center;margin-top:32px;font-size:.94rem;color:var(--muted)}

/* ---------------- ÉTAPES ---------------- */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stepbox{background:var(--bg-alt);border-radius:var(--radius);padding:30px 24px}
.stepbox__n{
  display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;
  background:linear-gradient(135deg,var(--cta-light),var(--cta-dark));color:#a89f9f;
  font-family:var(--font-head);font-weight:800;margin-bottom:15px;
}
.stepbox h3{margin-bottom:8px;font-size:1.04rem}
.stepbox p{font-size:.9rem;color:var(--muted)}

/* ---------------- AVIS ---------------- */
.quote{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;display:flex;flex-direction:column;gap:12px}
.stars{color:var(--cta);letter-spacing:2px}
.quote p{font-size:.95rem;color:var(--ink-3);font-style:italic}
.quote cite{font-style:normal;font-family:var(--font-head);font-weight:700;font-size:.85rem;color:var(--ink)}
.award{text-align:center;margin-top:34px;font-size:.94rem;color:var(--muted)}

/* ---------------- FAQ ---------------- */
.faq{display:grid;gap:12px}
.faq__item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:2px 20px;transition:.25s}
.faq__item[open]{border-color:var(--cta);box-shadow:var(--shadow-sm)}
.faq__item summary{
  list-style:none;cursor:pointer;font-family:var(--font-head);font-weight:600;font-size:.97rem;
  color:var(--ink);padding:17px 36px 17px 0;position:relative;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";position:absolute;right:0;top:12px;font-size:1.55rem;color:var(--cta);transition:.25s}
.faq__item[open] summary::after{content:"–"}
.faq__item p{padding-bottom:19px;color:var(--muted);font-size:.93rem}

/* ---------------- CTA FINAL ---------------- */
.cta-final{background:var(--ink-2);color:#d6d2ca;padding:76px 0}
.cta-final__in{display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center}
.cta-final h2{color:#fff}
.cta-final .accent{color:var(--cta-light)}
.cta-final p{margin:14px 0 24px;color:#b7b3aa}
.cta-final__actions{display:flex;flex-wrap:wrap;gap:14px}
.contact-list{display:grid;gap:14px}
.contact-list li{display:flex;flex-direction:column;border-left:3px solid var(--cta);padding-left:16px}
.contact-list strong{font-family:var(--font-head);font-size:.69rem;text-transform:uppercase;letter-spacing:.12em;color:var(--cta-light)}
.contact-list a,.contact-list span{color:#e6e3dd}
.contact-list a:hover{color:var(--cta-light)}

/* ---------------- CARTE ---------------- */
.map iframe{width:100%;height:400px;border:0;display:block;filter:grayscale(.25)}

/* ---------------- FOOTER ---------------- */
.footer{background:#1e1e1e;color:#9e9a92;padding:58px 0 0;font-size:.9rem}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:42px}
.footer .brand img{height:68px}
.footer h4{color:#fff;font-size:1rem;margin-bottom:16px;position:relative;padding-left:13px}
.footer h4::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--cta)}
.footer ul{display:grid;gap:8px}
.footer a{color:#9e9a92}
.footer a:hover{color:var(--cta-light)}
.footer__phone{display:inline-block;font-family:var(--font-head);font-weight:700;font-size:1.5rem;color:var(--cta-light)!important;margin-bottom:14px}
.footer__hours li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #333;padding-bottom:6px}
.footer__bottom{background:#171717;padding:16px 0}
.footer__bottom-in{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.82rem}
.totop{
  width:46px;height:46px;background:var(--cta);color:#fff!important;border-radius:11px;
  display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:.25s;flex:none;
}
.totop:hover{background:#fff;color:var(--cta-dark)!important}

/* ---------------- BARRE MOBILE ---------------- */
.mobile-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;
  box-shadow:0 -8px 24px rgba(0,0,0,.14);padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:10px;
}
.mobile-bar a{
  flex:1;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);font-weight:700;font-size:.9rem;min-height:48px;padding:10px;border-radius:11px;
}
.mobile-bar__call{border:2px solid var(--cta);color:var(--cta-dark)}
.mobile-bar__quote{background: #bc4709;color:#fff;box-shadow:0 6px 16px var(--cta-glow)}

/* ---------------- ANIMATIONS ---------------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  .btn,.card,.pack,.price{transition:none}
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (min-width:1400px){
  :root{--max:1260px}
  .hero{padding:56px 0 64px}
}

/* ---- Tablettes larges ---- */
@media (max-width:1100px){
  .nav{gap:14px}
  .nav a{font-size:.74rem}
  .brand img{height:48px}
  .brand__text{font-size:.92rem}
  .packs{grid-template-columns:repeat(2,1fr)}
  .steps-grid{grid-template-columns:repeat(2,1fr)}
  .hero__grid{gap:20px 32px}
  .split{gap:38px}
}

/* ---- Tablettes ---- */
@media (max-width:992px){
  .section{padding:64px 0}
  [id]{scroll-margin-top:84px}

  .burger{display:flex}
  .header__cta{margin-left:auto}
  .nav{
    position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;gap:0;
    padding:8px 20px 18px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:none;
  }
  .nav.is-open{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:.86rem}
  .nav a::after{display:none}

  .hero{padding:28px 0 40px}
  .hero__grid{grid-template-columns:1fr;grid-template-areas:"copy" "form" "proof";gap:18px}
  .hero__copy{align-self:auto}
  .hero__lead{font-size:.96rem;max-width:none}

  .split{grid-template-columns:1fr;gap:32px}
  .media-frame{max-width:520px;margin:0 auto}
  .cards-3,.pricing{grid-template-columns:1fr;gap:20px}
  .price--featured{transform:none}
  .price--featured:hover{transform:translateY(-5px)}
  .cta-final__in{grid-template-columns:1fr;gap:30px}
  .footer__grid{grid-template-columns:1fr 1fr;gap:30px}
  .trustbar__grid{grid-template-columns:1fr 1fr;gap:22px}
  .card__img{height:210px}
}

/* =========================================================
   MOBILE — formulaire compact : tenir sur un seul écran
   ========================================================= */
@media (max-width:768px){
  body{padding-bottom:72px}
  .mobile-bar{display:flex}

  .topbar{font-size:.74rem}
  .topbar__in{flex-direction:column;text-align:center;gap:4px;padding-top:7px;padding-bottom:7px}
  .header__in{gap:10px;padding-top:8px;padding-bottom:8px}
  .header__cta .phone-link{display:none}
  .brand img{height:42px}
  .brand__text{font-size:.88rem}

  /* hero ultra compact : titre court puis formulaire */
  .hero{padding:18px 0 30px}
  .hero__grid{gap:14px}
  .hero h1{font-size:1.42rem;line-height:1.25}
  .hero .eyebrow{margin-bottom:9px;padding:4px 10px;font-size:.62rem}
  .hero__lead{display:none}           /* argumentaire repris plus bas */
  .hero__actions{display:none}        /* doublon avec la barre fixe */
  .hero__list{gap:8px;margin-bottom:16px}
  .hero__list li{font-size:.92rem}
  .hero__badges span{font-size:.7rem}

  /* carte formulaire compacte */
  .formcard__head{padding:16px 16px 0}
  .formcard__head h2{font-size:1.14rem}
  .formcard__head p{font-size:.78rem;line-height:1.4}
  .steps-bar{padding:11px 16px 0;gap:6px}
  .steps-bar__item{font-size:.6rem;padding-top:7px;border-top-width:3px}
  .lead-form{padding:12px 16px 18px}

  .field{margin-bottom:11px}
  .field label,.field legend{font-size:.78rem;margin-bottom:5px}
  input[type=text],input[type=tel],input[type=email],select,textarea{padding:11px 13px;border-radius:9px}
  select{background-position:calc(100% - 18px) 20px,calc(100% - 12px) 20px}
  textarea{min-height:64px}

  .choices{grid-template-columns:1fr 1fr;gap:7px}
  .choice span{padding:9px 10px;border-radius:9px;justify-content:center}
  .choice strong{font-size:.78rem;line-height:1.25}
  .choice small{display:none}          /* le libellé suffit sur mobile */

  .grid-2{gap:9px}
  .check{font-size:.76rem;margin-bottom:10px;gap:9px;line-height:1.4}
  .btn{min-height:48px;padding:13px 22px;font-size:.88rem}
  .step__nav{gap:8px;margin-top:2px}
  .formcard__note{font-size:.7rem;margin-top:8px}

  .map iframe{height:300px}
  .calc__arrow{display:none}
  .section__head{margin-bottom:36px}
  .award{margin-top:24px}
}

/* ---- Mobiles ---- */
@media (max-width:600px){
  .section{padding:48px 0}
  .container{padding:0 16px}

  .grid-2{grid-template-columns:1fr 1fr}   /* on garde 2 colonnes : gain de hauteur */
  .trustbar__grid{grid-template-columns:1fr;padding:24px 16px;gap:16px}
  .trust{flex-direction:row;align-items:center;gap:12px;text-align:left;justify-content:flex-start}
  .trust__num{font-size:1.3rem;min-width:58px}
  .trust__txt{max-width:none;font-size:.83rem}

  .packs,.steps-grid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;gap:24px}
  .footer__bottom-in{flex-direction:column;gap:12px;text-align:center}
  .cta-final__actions .btn{width:100%}

  .media-frame{padding:0 22px 22px 0}
  .price{padding:32px 20px 26px}
  .price__main{font-size:1.95rem}
  .card__img,.pack img{height:172px}
  .quote{padding:24px 20px}
}

/* ---- Petits mobiles (iPhone SE, 360 px…) ---- */
@media (max-width:400px){
  .hero h1{font-size:1.3rem}
  .hero{padding:14px 0 26px}
  .formcard__head h2{font-size:1.06rem}
  .formcard__head p{font-size:.74rem}
  .steps-bar__item{font-size:0}
  .steps-bar__item::before{content:attr(data-dot);font-size:.7rem}
  .choice strong{font-size:.74rem}
  .field label,.field legend{font-size:.75rem}
  .brand__text small{display:none}
  .brand img{height:38px}
  .btn{font-size:.85rem;padding:12px 18px}
  .mobile-bar a{font-size:.84rem;min-height:46px}
}

/* ---- Écrans courts : on comprime encore ---- */
@media (max-width:768px) and (max-height:720px){
  .hero{padding:12px 0 22px}
  .hero h1{font-size:1.24rem}
  .hero .eyebrow{display:none}
  .formcard__head{padding:13px 16px 0}
  .formcard__head p{display:none}
  .lead-form{padding:10px 16px 15px}
  .field{margin-bottom:9px}
  .choice span{padding:8px 9px}
  input[type=text],input[type=tel],input[type=email],select{padding:10px 12px}
  .btn{min-height:46px}
}

/* ---- Paysage bas ---- */
@media (max-height:520px) and (orientation:landscape){
  .header{position:static}
  .hero{padding:20px 0 30px}
  .hero__grid{grid-template-columns:1fr 1fr;grid-template-areas:"copy form" "proof form"}
  .hero__lead{display:none}
}
/* Every call-to-action is filled — never white or transparent */
.btn,
.btn--cta,
.btn--gold,
.btn--ghost,
.btn--outline,
.btn--light,
.btn--white,
.step__nav .btn,
.mobilebar .btn{
  background: #c3ab71;
    color: #ffffff;
  border:1px solid var(--cta-dark);
  box-shadow:0 6px 18px var(--cta-glow);
}

/* Secondary actions stay coloured, just navy instead of gold */
.btn--secondary,
.btn--prev,
.step__nav [data-prev]{
  background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);
  color:#000;
  border:1px solid var(--brand-dark);
  box-shadow:0 6px 16px rgba(14,42,71,.28);
}

.btn:hover,
.btn--cta:hover{ filter:brightness(1.06); transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }
.btn:focus-visible{ outline:3px solid var(--cta-glow); outline-offset:2px; }
