/* ============================================================
   CHARTE GRAPHIQUE — émi &vous
   Palette : bleu ardoise · vert sauge · crème · lin
   Typographie : Cormorant Garamond (display) · Jost (corps)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500;600&display=swap');

:root {
  /* ── PRIMAIRE : bleu ardoise ── */
  --primary:        #424A65;      /* bleu logo, liens actifs, icônes */
  --primary-deep:   #2E3447;      /* bleu foncé, boutons CTA, hover */
  --primary-glow:   rgba(66,74,101,.10);   /* fond icônes, highlights */
  --primary-border: rgba(66,74,101,.18);   /* bordures subtiles */
  --primary-glow2:  rgba(66,74,101,.30);   /* ombre boutons */

  /* ── FONDS CLAIRS ── */
  --navy:           #FDFBF8;      /* fond body (crème) */
  --navy-card:      #F5F1EB;      /* fond cartes (lin clair) */
  --navy-mid:       #EDE7DD;      /* fond sections alternées (lin) */
  --navy-border:    rgba(66,74,101,.12);

  /* ── ACCENTS ── */
  --gold:           #5BAD7A;      /* vert sauge — prix, highlights */
  --green:          #5BAD7A;      /* certifications, checks */
  --white:          #2E3447;      /* texte principal (bleu foncé) */
  --muted:          #7A8299;      /* texte secondaire */

  /* ── BANDES (topbar, urgence) ── */
  --red:            #424A65;      /* topbar (bleu) */
  --red-deep:       #2E3447;
  --red-glow:       rgba(66,74,101,.25);
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  background: var(--navy);
  color: var(--white);
  overflow-x: hidden;
}

/* ============================================================
   TOPBAR
   ============================================================ */
.topbar {
  background: var(--primary);
  text-align: center;
  padding: 9px 16px;
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: .82rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.topbar a { color: #FDFBF8; text-decoration: none; }
.topbar .sep { opacity: .35; margin: 0 10px; }

/* ============================================================
   NAV
   ============================================================ */
nav {
  position: sticky;
  top: 0;
  z-index: 200;
  background: rgba(253,251,248,.97);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--navy-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5vw;
  height: 68px;
}
.nav-logo { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.nav-logo-icon {
  width: 36px; height: 36px;
  background: var(--primary-glow);
  border: 1px solid var(--primary-border);
  border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  color: var(--primary);
  font-size: 1rem;
}
.nav-logo .brand {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 1.25rem;
  color: var(--primary);
  letter-spacing: .04em;
}
.nav-logo .sub {
  display: block;
  font-size: .6rem;
  color: var(--muted);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.nav-logo-img { height: 42px; width: auto; object-fit: contain; }
.logo { height: 80px; }

.nav-links { display: flex; align-items: center; gap: 2px; list-style: none; }
.nav-links a {
  color: rgba(46,52,71,.65);
  text-decoration: none;
  font-size: .75rem;
  font-weight: 400;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 7px 12px;
  border-radius: 2px;
  transition: color .2s, background .2s;
  white-space: nowrap;
}
.nav-links a:hover,
.nav-links a.active { color: var(--primary); background: var(--primary-glow); }

.nav-cta {
  background: var(--primary) !important;
  color: #FDFBF8 !important;
  font-weight: 500 !important;
  font-size: .72rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: 9px 18px !important;
  border-radius: 2px !important;
  display: flex !important;
  align-items: center;
  gap: 7px;
  transition: background .25s !important;
}
.nav-cta:hover { background: var(--primary-deep) !important; }

.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px;
}
.hamburger span {
  display: block;
  width: 24px; height: 2px;
  background: var(--primary);
  border-radius: 0;
  transition: all .3s;
}

/* ============================================================
   HERO
   ============================================================ */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 65% 55% at 65% 45%, rgba(94,173,122,.07) 0%, transparent 65%),
    linear-gradient(155deg, #FDFBF8 0%, #EDE7DD 55%, #FDFBF8 100%);
}
.hero-grid-lines {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(66,74,101,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(66,74,101,.04) 1px, transparent 1px);
  background-size: 56px 56px;
}
.hero-content {
  position: relative;
  z-index: 2;
  padding: 100px 5vw 80px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 52px;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(91,173,122,.1);
  border: 1px solid rgba(91,173,122,.28);
  border-radius: 2px;
  padding: 5px 14px;
  font-size: .62rem;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #5BAD7A;
  margin-bottom: 20px;
}
.tetiaire{
    margin-top:60px;
}
.pulse {
  width: 6px; height: 6px;
  background: #5BAD7A;
  border-radius: 50%;
  animation: blink 1.8s infinite;
}
@keyframes blink {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: .3; transform: scale(1.5); }
}
.hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: clamp(2.4rem, 4.5vw, 4rem);
  line-height: 1.12;
  letter-spacing: .01em;
  margin-bottom: 16px;
  color: var(--primary-deep);
}
.hero-title .hl  { color: var(--primary); font-style: italic; }
.hero-title .hl2 { color: #5BAD7A; font-style: italic; }

.hero-sub {
  font-size: .9rem;
  font-weight: 300;
  color: rgba(46,52,71,.62);
  line-height: 2;
  max-width: 480px;
  margin-bottom: 32px;
}
.hero-actions { display: flex; gap: 13px; flex-wrap: wrap; }

.btn-call {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--primary);
  color: #FDFBF8;
  text-decoration: none;
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: .78rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  padding: 15px 30px;
  border-radius: 2px;
  box-shadow: 0 4px 24px var(--primary-glow2);
  transition: transform .2s, box-shadow .2s, background .2s;
}
.btn-call:hover {
  transform: translateY(-2px);
  background: var(--primary-deep);
  box-shadow: 0 8px 32px var(--primary-glow2);
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  color: var(--primary);
  text-decoration: none;
  font-weight: 400;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 15px 26px;
  border-radius: 2px;
  border: 1px solid rgba(66,74,101,.45);
  transition: background .2s, color .2s, border-color .2s;
}
.btn-outline:hover { background: var(--primary-glow); border-color: var(--primary); }

.hero-trust { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 28px; }
.trust-pill {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .72rem;
  color: var(--muted);
  font-weight: 400;
  letter-spacing: .06em;
}
.trust-pill i { color: #5BAD7A; font-size: .68rem; }

/* ── HERO PRICE CARD ── */
.price-card {
  background: #fff;
  border: 1px solid var(--primary-border);
  border-radius: 4px;
  padding: 28px 30px;
  box-shadow: 0 20px 56px rgba(66,74,101,.12), inset 0 1px 0 rgba(91,173,122,.06);
}
.price-card-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: .06em;
  color: var(--primary);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--primary-border);
  display: flex;
  align-items: center;
  gap: 8px;
}
.price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 0;
  border-bottom: 1px solid rgba(66,74,101,.06);
}
.price-row:last-child { border-bottom: none; }
.price-pest { display: flex; align-items: center; gap: 10px; font-size: .87rem; font-weight: 400; color: var(--primary-deep); }
.price-icon {
  width: 32px; height: 32px;
  border-radius: 2px;
  background: var(--primary-glow);
  border: 1px solid var(--primary-border);
  display: flex; align-items: center; justify-content: center;
  color: var(--primary);
  font-size: .82rem;
}
.price-amount {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 1.1rem;
  color: #5BAD7A;
}
.cert-strip {
  margin-top: 14px;
  background: rgba(91,173,122,.07);
  border: 1px solid rgba(91,173,122,.22);
  border-radius: 3px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .78rem;
}
.cert-strip i { color: #5BAD7A; font-size: .95rem; }
.cert-strip strong { color: var(--primary-deep); display: block; font-size: .8rem; font-weight: 500; }
.cert-strip span  { color: var(--muted); font-size: .7rem; }

/* ============================================================
   SECTIONS
   ============================================================ */
section { padding: 84px 5vw; }
.si { max-width: 1200px; margin: 0 auto; }
.s-label {
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  font-size: .62rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: #5BAD7A;
  margin-bottom: 9px;
  display: flex;
  align-items: center;
  gap: .8rem;
}
.s-label::before { content: ''; display: block; width: 1.5rem; height: 1px; background: #5BAD7A; }
.s-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: clamp(1.85rem, 3vw, 2.8rem);
  line-height: 1.15;
  margin-bottom: 13px;
  color: var(--primary-deep);
}
.s-title em { font-style: italic; color: #5BAD7A; }
.s-desc {
  font-size: .9rem;
  font-weight: 300;
  color: rgba(46,52,71,.60);
  line-height: 2;
  max-width: 540px;
  margin-bottom: 44px;
}

/* ============================================================
   SERVICES
   ============================================================ */
#services { background: var(--navy-card); }
.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(268px, 1fr));
  gap: 2px;
}
.svc-card {
  background: var(--navy);
  border: none;
  border-bottom: 2px solid transparent;
  padding: 32px 28px;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 11px;
  position: relative;
  overflow: hidden;
  transition: background .3s, border-color .3s;
}
.svc-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: #5BAD7A;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s;
}
.svc-card:hover {
  background: var(--primary);
}
.svc-card:hover::after { transform: scaleX(1); }
.svc-card:hover .svc-card h3,
.svc-card:hover h3 { color: #FDFBF8; }
.svc-card:hover p  { color: rgba(253,251,248,.7); }
.svc-card:hover .svc-price { color: #94D8A8; }
.svc-card:hover .svc-icon { border-color: rgba(148,216,168,.3); color: #94D8A8; background: rgba(148,216,168,.08); }
.svc-icon {
  width: 46px; height: 46px;
  border-radius: 2px;
  background: var(--primary-glow);
  border: 1px solid var(--primary-border);
  display: flex; align-items: center; justify-content: center;
  color: var(--primary);
  font-size: 1.1rem;
  transition: all .3s;
}
.svc-card h3 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 1.3rem;
  color: var(--primary-deep);
  transition: color .3s;
}
.svc-card p  { font-size: .83rem; font-weight: 300; color: var(--muted); line-height: 1.95; transition: color .3s; }
.svc-price {
  margin-top: auto;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 1.05rem;
  color: #5BAD7A;
  transition: color .3s;
}
.svc-arrow {
  position: absolute;
  bottom: 20px; right: 20px;
  color: #94D8A8;
  font-size: .85rem;
  opacity: 0;
  transition: opacity .2s, transform .2s;
}
.svc-card:hover .svc-arrow { opacity: 1; transform: translateX(4px); }

/* ============================================================
   AIRBNB / SECTION SECONDAIRE
   ============================================================ */
#airbnb { background: var(--navy); position: relative; overflow: hidden; }
#airbnb::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 420px; height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(91,173,122,.05) 0%, transparent 70%);
  pointer-events: none;
}
.airbnb-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: start; }
.airbnb-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(91,173,122,.08);
  border: 1px solid rgba(91,173,122,.25);
  border-radius: 2px;
  padding: 5px 13px;
  font-size: .62rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #5BAD7A;
  margin-bottom: 16px;
}
.af-items { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.af-item { display: flex; align-items: flex-start; gap: 11px; }
.af-item i    { color: #5BAD7A; margin-top: 2px; font-size: .85rem; flex-shrink: 0; }
.af-item span { font-size: .88rem; font-weight: 300; color: rgba(46,52,71,.72); line-height: 1.65; }

.airbnb-prices { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 24px; }
.ap-card {
  background: #fff;
  border: 1px solid var(--primary-border);
  border-radius: 3px;
  padding: 18px 20px;
}
.ap-card.feat {
  border-color: rgba(91,173,122,.35);
  background: linear-gradient(135deg, rgba(91,173,122,.06), #fff);
}
.ap-label   { font-size: .65rem; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.ap-price   { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 1.65rem; color: var(--primary); }
.ap-price span { font-size: .78rem; color: var(--muted); font-family: 'Jost', sans-serif; font-weight: 300; }

/* ── PRO PLANS ── */
.pro-plans { display: flex; flex-direction: column; gap: 14px; }
.pro-plan {
  background: #fff;
  border: 1px solid var(--primary-border);
  border-radius: 3px;
  padding: 22px 24px;
  position: relative;
  transition: border-color .2s, box-shadow .2s;
}
.pro-plan:hover { border-color: rgba(91,173,122,.4); box-shadow: 0 4px 20px rgba(91,173,122,.08); }
.pp-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.pp-name {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 1.05rem;
  color: var(--primary);
}
.pp-price {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 1.2rem;
  color: #5BAD7A;
}
.pp-badge {
  position: absolute;
  top: -9px; right: 16px;
  background: #5BAD7A;
  color: #fff;
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: .6rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 2px;
}
.pro-plan ul { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.pro-plan ul li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: .82rem;
  font-weight: 300;
  color: var(--muted);
  line-height: 1.5;
}
.pro-plan ul li i { color: #5BAD7A; margin-top: 2px; font-size: .72rem; flex-shrink: 0; }
.pp-for { margin-top: 8px; font-size: .72rem; color: rgba(122,130,153,.5); font-style: italic; }




.block-contenu{
    padding-left: 0px;
    padding-right: 0px;
}





/* ============================================================
   ATOUTS
   ============================================================ */
#atouts { background: var(--primary); }
#atouts .s-label { color: rgba(148,216,168,.8); }
#atouts .s-label::before { background: rgba(148,216,168,.8); }
#atouts .s-title { color: #FDFBF8; }
#atouts .s-title em { color: #94D8A8; }
#atouts .s-desc { color: rgba(253,251,248,.6); }
.atouts-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 2px; }
.atout-card {
  background: rgba(253,251,248,.05);
  border: 1px solid rgba(253,251,248,.08);
  border-radius: 0;
  padding: 28px 24px;
  transition: background .3s;
}
.atout-card:hover { background: rgba(148,216,168,.07); }
.atout-icon {
  width: 44px; height: 44px;
  border-radius: 2px;
  background: rgba(148,216,168,.1);
  border: 1px solid rgba(148,216,168,.2);
  display: flex; align-items: center; justify-content: center;
  color: #94D8A8;
  font-size: 1.1rem;
  margin-bottom: 14px;
}
.atout-card h4 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 1.05rem;
  color: #FDFBF8;
  margin-bottom: 7px;
}
.atout-card p { font-size: .82rem; font-weight: 300; color: rgba(253,251,248,.6); line-height: 1.95; }

/* ============================================================
   ZONES
   ============================================================ */
#zones { background: var(--navy-mid); }
.zones-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 3px; }
.zone-card {
  background: #fff;
  border: 1px solid var(--primary-border);
  border-radius: 2px;
  padding: 18px 15px;
  text-align: center;
  transition: background .2s, border-color .2s;
  text-decoration: none;
}
.zone-card:hover { border-color: rgba(66,74,101,.35); background: var(--primary-glow); }
.zone-city {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 1rem;
  color: var(--primary-deep);
  margin-bottom: 3px;
}
.zone-dep  { font-size: .65rem; letter-spacing: .15em; text-transform: uppercase; color: var(--muted); }
.zone-card.cta-z { border-style: dashed; border-color: rgba(91,173,122,.32); }
.zone-card.cta-z .zone-city { color: #5BAD7A; font-size: .82rem; }

/* ============================================================
   CONTACT
   ============================================================ */
#contact { background: var(--primary-deep); }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: start; }
.contact-info { display: flex; flex-direction: column; gap: 14px; }
.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  background: rgba(253,251,248,.05);
  border: 1px solid rgba(253,251,248,.08);
  border-radius: 2px;
  transition: border-color .2s;
}
.contact-item:hover { border-color: rgba(148,216,168,.25); }
.ci-icon {
  width: 40px; height: 40px;
  border-radius: 2px;
  background: rgba(148,216,168,.1);
  border: 1px solid rgba(148,216,168,.2);
  display: flex; align-items: center; justify-content: center;
  color: #94D8A8;
  font-size: .95rem;
  flex-shrink: 0;
}
.ci-text strong { display: block; font-weight: 500; font-size: .88rem; margin-bottom: 2px; color: #FDFBF8; }
.ci-text a, .ci-text span { color: rgba(253,251,248,.6); font-size: .82rem; font-weight: 300; text-decoration: none; }
.ci-text a:hover { color: #94D8A8; }

.certif-box {
  display: flex;
  align-items: center;
  gap: 13px;
  background: rgba(91,173,122,.08);
  border: 1px solid rgba(91,173,122,.22);
  border-radius: 2px;
  padding: 16px 18px;
}
.certif-box i      { color: #5BAD7A; font-size: 1.4rem; flex-shrink: 0; }
.certif-box strong { display: block; font-size: .88rem; margin-bottom: 2px; color: #FDFBF8; font-weight: 500; }
.certif-box span   { font-size: .75rem; color: rgba(253,251,248,.55); }

/* ── FORM ── */
.contact-form {
  background: #FDFBF8;
  border: none;
  border-radius: 3px;
  padding: 32px 30px;
}
.form-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: 1.65rem;
  color: var(--primary-deep);
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  gap: 9px;
}
.form-title i { color: #5BAD7A; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.form-group { display: flex; flex-direction: column; gap: 5px; margin-bottom: 13px; }
.form-group label {
  font-size: .62rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--primary);
}
.form-group input,
.form-group select,
.form-group textarea {
  background: #fff;
  border: 1px solid rgba(66,74,101,.25);
  border-radius: 0;
  padding: 11px 13px;
  color: var(--primary-deep);
  font-family: 'Jost', sans-serif;
  font-size: .88rem;
  font-weight: 300;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
  width: 100%;
  -webkit-appearance: none;
}
.form-group input::placeholder,
.form-group textarea::placeholder { color: rgba(122,130,153,.5); }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: #5BAD7A;
  box-shadow: 0 0 0 3px rgba(91,173,122,.12);
}
.form-group select option { background: #fff; color: var(--primary-deep); }
.form-group textarea { resize: vertical; min-height: 90px; }

.btn-submit {
  width: 100%;
  background: var(--primary);
  color: #FDFBF8;
  border: none;
  border-radius: 2px;
  padding: 15px 22px;
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: .78rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  transition: background .2s, transform .2s;
  margin-top: 2px;
}
.btn-submit:hover {
  background: var(--primary-deep);
  transform: translateY(-1px);
}
.form-success {
  display: none;
  text-align: center;
  padding: 28px;
  color: #5BAD7A;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: 1.3rem;
  letter-spacing: .04em;
}

/* ============================================================
   CTA BAND
   ============================================================ */
.cta-band {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-deep) 100%);
  padding: 60px 5vw;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
}
.cta-band > * { position: relative; }
.cta-band h2 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: clamp(1.8rem, 3.2vw, 3rem);
  letter-spacing: .02em;
  margin-bottom: 9px;
  color: #FDFBF8;
}
.cta-band p { font-size: .9rem; font-weight: 300; opacity: .75; margin-bottom: 26px; color: #FDFBF8; }
.cta-phone-big {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  background: #FDFBF8;
  color: var(--primary);
  text-decoration: none;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: clamp(1.5rem, 2.8vw, 2.2rem);
  padding: 16px 44px;
  border-radius: 2px;
  letter-spacing: .03em;
  transition: transform .2s, box-shadow .2s;
}
.cta-phone-big:hover { transform: scale(1.03); box-shadow: 0 8px 32px rgba(0,0,0,.18); }

/* ============================================================
   FOOTER
   ============================================================ */
footer {
  background: var(--primary-deep);
  padding: 52px 5vw 26px;
  border-top: 1px solid rgba(253,251,248,.06);
}
.footer-inner { max-width: 1200px; margin: 0 auto; }
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 32px;
  margin-bottom: 36px;
}
.fb-brand {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: 1.3rem;
  color: #FDFBF8;
  letter-spacing: .04em;
  margin-bottom: 9px;
}
.fb-brand span { color: #94D8A8; font-style: italic; }
.fb-desc   { font-size: .8rem; font-weight: 300; color: rgba(253,251,248,.5); line-height: 1.9; margin-bottom: 14px; }
.fb-contacts { display: flex; flex-direction: column; gap: 7px; }
.fb-contacts a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(253,251,248,.7);
  text-decoration: none;
  font-weight: 400;
  font-size: .83rem;
  transition: color .2s;
}
.fb-contacts a:hover { color: #94D8A8; }
.fb-contacts i { color: #94D8A8; width: 15px; text-align: center; }

.fc-col h4 {
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .2em;
  color: rgba(253,251,248,.5);
  margin-bottom: 13px;
}
.fc-col ul { list-style: none; display: flex; flex-direction: column; gap: 7px; }
.fc-col a  { color: rgba(253,251,248,.55); text-decoration: none; font-size: .82rem; font-weight: 300; transition: color .2s; }
.fc-col a:hover { color: #94D8A8; }

.footer-bottom {
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.05);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  font-size: .68rem;
  font-weight: 300;
  letter-spacing: .06em;
  color: rgba(253,251,248,.3);
}

/* ============================================================
   FAB
   ============================================================ */
.fab-call {
  display: none;
  position: fixed;
  bottom: 22px; right: 18px;
  z-index: 999;
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--primary);
  color: #FDFBF8;
  font-size: 1.25rem;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 4px 24px var(--primary-glow2);
  animation: fabPulse 2.5s infinite;
}
@keyframes fabPulse {
  0%, 100% { box-shadow: 0 4px 24px var(--primary-glow2); }
  50%       { box-shadow: 0 4px 38px rgba(66,74,101,.45); }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1000px) {
  .nav-links {
    position: fixed;
    top: 68px; left: 0; right: 0;
    background: rgba(253,251,248,.98);
    backdrop-filter: blur(18px);
    flex-direction: column;
    align-items: stretch;
    padding: 20px 24px 32px;
    gap: 8px;
    border-bottom: 1px solid var(--primary-border);
    transform: translateY(-120%);
    opacity: 0;
    transition: transform .4s cubic-bezier(.2,.9,.4,1.1), opacity .3s ease;
    box-shadow: 0 20px 40px rgba(66,74,101,.1);
    border-radius: 0 0 16px 16px;
    z-index: 999;
    pointer-events: none;
  }
  .nav-links.open { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .nav-links li   { width: 100%; }
  .nav-links a {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: .82rem;
    padding: 14px 18px;
    border-radius: 3px;
    background: rgba(66,74,101,.04);
    border: 1px solid transparent;
    transition: all .2s;
  }
  .nav-links a:hover,
  .nav-links a.active {
    background: var(--primary-glow);
    border-color: var(--primary-border);
    transform: translateX(4px);
  }
  .nav-cta { justify-content: center; margin-top: 12px; }
  .hamburger { display: flex; }
  nav { position: sticky; top: 0; }
}

@media (max-width: 860px) {
  .hero-content { grid-template-columns: 1fr; }
  .hero-right    { display: none; }
  .airbnb-grid   { grid-template-columns: 1fr; }
  .contact-grid  { grid-template-columns: 1fr; }
  .footer-grid   { grid-template-columns: 1fr 1fr; }
  .fab-call      { display: flex; }
}

@media (max-width: 500px) {
  .form-row      { grid-template-columns: 1fr; }
  .footer-grid   { grid-template-columns: 1fr; }
  .hero-actions  { flex-direction: column; }
  .btn-call,
  .btn-outline   { justify-content: center; text-align: center; }
  .airbnb-prices { grid-template-columns: 1fr 1fr; }
}
























:root {
  --bleu:        #424A65;
  --bleu-dark:   #2E3447;
  --vert:        #94D8A8;
  --vert-dark:   #5BAD7A;
  --beige:       #D0C894;
  --creme:       #FDFBF8;
  --lin:         #E7DFD6;
  --text-body:   #5A6070;
  --text-muted-dark: #FFF;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;font-weight:300;background:var(--creme);color:var(--bleu);overflow-x:hidden}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 4rem;background:rgba(253,251,248,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(66,74,101,.1);transition:box-shadow .3s}
.nav-logo{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.nav-logo img{height:57px;width:auto;object-fit:contain}
.nav-logo-text{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:500;color:var(--bleu)}
.nav-logo-text span{color:var(--vert-dark);font-style:italic}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-size:.75rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--bleu);text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--vert-dark)}
.nav-cta{font-size:.72rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--creme);background:var(--bleu);padding:.65rem 1.5rem;text-decoration:none;transition:background .25s}
.nav-cta:hover{background:var(--bleu-dark)}

/* ── HERO ── */
.hero{min-height:100vh;display:grid;grid-template-columns:55% 45%;overflow:hidden; padding:0!important;}
.hero-left{background:var(--bleu);display:flex;flex-direction:column;justify-content:center;padding:9rem 5rem 6rem 6rem;position:relative}
.hero-left::after{content:'';position:absolute;top:0;right:-55px;width:110px;height:100%;background:var(--bleu);clip-path:polygon(0 0,55% 0,100% 50%,55% 100%,0 100%);z-index:2}
.hero-tag{font-size:.65rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--vert);margin-bottom:1.8rem;display:flex;align-items:center;gap:.8rem}
.hero-tag::before{content:'';display:block;width:2rem;height:1px;background:var(--vert)}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.6rem,4.5vw,4rem);font-weight:400;line-height:1.15;color:var(--creme);margin-bottom:1.8rem}
.hero-title em{font-style:italic;color:var(--vert)}
.hero-subtitle{font-size:.9rem;font-weight:300;line-height:1.95;color:var(--text-muted-dark);margin-bottom:2.8rem;max-width:80%}
.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}
.btn-primary{font-size:.72rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--bleu-dark);background:var(--vert);padding:1rem 2rem;text-decoration:none;display:inline-block;transition:filter .2s}
.btn-primary:hover{filter:brightness(1.08)}
.btn-outline{font-size:.72rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--creme);border:1.5px solid rgba(253,251,248,.5);padding:1rem 2rem;text-decoration:none;display:inline-block;transition:all .25s}
.btn-outline:hover{border-color:var(--vert);color:var(--vert)}
section.hero > div {
    height: stretch;
}

/* Hero photo (droite) */
.hero-right{position:relative;overflow:hidden}
.hero-right img.hero-main-photo{
  width:100%;height:100%;object-fit:cover;object-position:center;
  display:block;
}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(66,74,101,.18),transparent)}
.location-tag{position:absolute;top:2rem;right:2rem;z-index:3;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--bleu-dark);background:rgba(253,251,248,.95);padding:.55rem 1rem;display:flex;align-items:center;gap:.5rem;border:1px solid rgba(66,74,101,.12)}
.location-tag::before{content:'◎';color:var(--vert-dark);font-size:.75rem}
.hero-badge{position:absolute;bottom:2.5rem;right:2.5rem;z-index:3;background:var(--bleu);width:130px;height:130px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem}
.hero-badge-num{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:400;color:var(--vert);line-height:1}
.hero-badge-text{font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted-dark);line-height:1.6;text-align:center}

/* ── MARQUEE ── */
.slogan-band{background:var(--vert);padding:1.3rem 0;overflow:hidden;white-space:nowrap}
.slogan-track{display:inline-flex;animation:marquee 22s linear infinite}
.slogan-track span{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:400;font-style:italic;letter-spacing:.08em;color:var(--bleu-dark);padding:0 3rem}
.slogan-track .dot{font-style:normal;opacity:.4}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── STATS ── */
.stats{background:var(--creme);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--lin);border-bottom:1px solid var(--lin)}
.stat{padding:2.8rem 2rem;text-align:center;border-right:1px solid var(--lin);transition:background .3s}
.stat:last-child{border-right:none}
.stat:hover{background:var(--lin)}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:400;color:var(--bleu);line-height:1;margin-bottom:.4rem}
.stat-num em{color:var(--vert-dark);font-style:normal}
.stat-label{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-body)}

/* ── SECTIONS COMMUNES ── */
.section-label{font-size:.62rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--vert-dark);display:flex;align-items:center;gap:.8rem;margin-bottom:1.1rem}
.section-label::before{content:'';display:block;width:1.5rem;height:1px;background:var(--vert-dark)}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:400;line-height:1.2;color:var(--bleu)}
.section-title em{font-style:italic;color:var(--vert-dark)}

/* ── SERVICES ── */
.services{padding:7rem 6rem;background:var(--creme)}
.services-header{display:grid;grid-template-columns:1fr;gap:4rem;align-items:end;margin-bottom:20px;}
.services-desc{font-size:.9rem;line-height:2.1;color:var(--text-body)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:30px;}
.service-card{background:var(--lin);overflow:hidden;cursor:default;transition:background .3s;position:relative}
.service-card-img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .45s ease}
.service-card:hover .service-card-img{transform:scale(1.04)}
.service-card-body{padding:2.2rem 2.3rem;position:relative}
.service-card-body::before{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--vert-dark);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.service-card:hover{background:var(--bleu)}
.service-card:hover .service-card-body::before{transform:scaleX(1)}
.service-card:hover .service-num{color:rgba(148,216,168,.15)}
.service-card:hover .service-name{color:var(--creme)}
.service-card:hover .service-text{color:var(--text-muted-dark)}
.service-card:hover .service-icon svg{stroke:var(--vert)}
.service-card:hover .service-icon{border-color:rgba(148,216,168,.3)}
.service-num{font-family:'Cormorant Garamond',serif;font-size:3.2rem;font-weight:400;color:rgba(66,74,101,.1);line-height:1;margin-bottom:.8rem;transition:color .3s}
.service-icon{width:46px;height:46px;border:1px solid rgba(66,74,101,.25);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:border-color .3s}
.service-icon svg{width:22px;height:22px;stroke:var(--bleu);fill:none;stroke-width:1.3;transition:stroke .3s}
.service-name{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:400;color:var(--bleu);margin-bottom:.7rem;transition:color .3s}
.service-text{font-size:.83rem;line-height:1.95;color:var(--text-body);transition:color .3s}

/* ── GALERIE ── */
.gallery{padding:6rem 6rem;background:var(--lin)}
.gallery-header{text-align:center;margin-bottom:3.5rem}
.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:auto auto;gap:3px}
/* Grande image gauche (maison luxe) */
.gallery-item{overflow:hidden;position:relative}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-item.tall{grid-row:span 2}
.gallery-item.wide{grid-column:span 2}
.gallery-item .gallery-caption{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent,rgba(46,52,71,.7));
  color:var(--creme);font-size:.6rem;letter-spacing:.2em;
  text-transform:uppercase;padding:.9rem .8rem .6rem;
  opacity:0;transition:opacity .3s
}
.gallery-item:hover .gallery-caption{opacity:1}
/* Heights */
.gallery-item{min-height:200px}
.gallery-item.tall{min-height:403px}

/* ── WHY ── */
.why{padding:7rem 6rem;background:var(--bleu);display:grid;grid-template-columns:1fr 1.2fr;gap:7rem;align-items:center}
.why .section-label{color:var(--vert)}
.why .section-label::before{background:var(--vert)}
.why-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:400;color:var(--creme);line-height:1.2;margin-bottom:1.8rem}
.why-title em{font-style:italic;color:var(--vert)}
.why-text{font-size:1rem;line-height:2.1;color:var(--text-muted-dark);margin-bottom:2.3rem}
.why-link{font-size:.72rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--vert);text-decoration:none;display:inline-flex;align-items:center;gap:.7rem;transition:gap .2s}
.why-link:hover{gap:1.2rem}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.why-item{background:rgba(253,251,248,.05);padding:2.3rem 1.8rem;border:1px solid rgba(253,251,248,.07);transition:background .3s}
.why-item:hover{background:rgba(148,216,168,.07)}
.why-item-icon{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--vert);margin-bottom:.8rem}
.why-item-title{font-size:.72rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--creme);margin-bottom:.45rem}
.why-item-text{font-size:.8rem;line-height:1.95;color:var(--text-muted-dark)}

/* ── TESTIMONIALS ── */
.testimonials{padding:7rem 6rem;background:var(--lin)}
.testimonials-header{text-align:center;margin-bottom:4.5rem}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.testimonial-card{background:var(--creme);padding:2.3rem}
.testimonial-quote{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:400;color:var(--vert-dark);line-height:.6;margin-bottom:1.3rem}
.testimonial-stars{color:var(--vert-dark);font-size:.75rem;letter-spacing:.15em;margin-bottom:.8rem}
.testimonial-text{font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;line-height:1.85;color:var(--bleu);margin-bottom:1.3rem}
.testimonial-author{font-size:.68rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--text-body)}

/* ── PROCESS ── */
.process{padding:7rem 6rem;background:var(--creme)}
.process-header{text-align:center;margin-bottom:5rem}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.process-steps::before{content:'';position:absolute;top:2.4rem;left:12.5%;right:12.5%;height:1px;background:var(--vert-dark);opacity:.35;z-index:0}
.process-step{list-style: none;text-align:center;padding:0 1.5rem;position:relative;z-index:1}
.process-circle{list-style:none;width:5rem;height:5rem;border-radius:50%;background:var(--bleu);color:var(--vert);font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;z-index:2;position:relative}
.process-step-title{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;color:var(--bleu);margin-bottom:.7rem}
.process-step-text{font-size:.8rem;line-height:1.95;color:var(--text-body)}

/* ── ZONES ── */
.zones{padding:6rem 6rem;background:var(--bleu)}
.zones-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.zones .section-label{color:var(--vert)}
.zones .section-label::before{background:var(--vert)}
.zones-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400;color:var(--creme);line-height:1.2;margin-bottom:1.5rem}
.zones-title em{color:var(--vert);font-style:italic}
.zones-text{font-size:.87rem;line-height:2.1;color:var(--text-muted-dark);margin-bottom:2rem}
.zones-list{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.zones-item{display:flex;align-items:center;gap:.7rem;font-size:.82rem;color:var(--creme)}
.zones-item::before{content:'◎';color:var(--vert);font-size:.7rem;flex-shrink:0}
.zones-map{background:rgba(253,251,248,.06);border:1px solid rgba(148,216,168,.15);padding:2.5rem;display:flex;flex-direction:column;gap:1.5rem}
.zones-map-title{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--vert);margin-bottom:.3rem}
.zones-radius{display:flex;align-items:center;gap:1.2rem;padding:.9rem 1rem;background:rgba(253,251,248,.04);border-left:2px solid var(--vert-dark)}
.zones-radius-km{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--vert);line-height:1;min-width:50px}
.zones-radius-info{font-size:.8rem;color:var(--text-muted-dark);line-height:1.6}

/* ── FAQ ── */
.faq{padding:7rem 6rem;background:var(--creme)}
.faq-header{text-align:center;margin-bottom:4rem}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1100px;margin:0 auto}
.faq-item{border:1px solid var(--lin);background:#fff;overflow:hidden}
.faq-question{font-size:.82rem;font-weight:500;letter-spacing:.04em;color:var(--bleu);padding:1.4rem 1.6rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;line-height:1.5;user-select:none;transition:background .2s}
.faq-question:hover{background:var(--lin)}
.faq-question.open{background:var(--bleu);color:var(--creme)}
.faq-question.open .faq-arrow{transform:rotate(180deg);stroke:var(--vert)}
.faq-arrow{width:16px;height:16px;flex-shrink:0;transition:transform .3s;stroke:var(--bleu-dark);fill:none;stroke-width:2}
.faq-answer{font-size:.83rem;line-height:1.95;color:var(--text-body);padding:0 1.6rem;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .3s}
.faq-answer.open{max-height:300px;padding:1rem 1.6rem 1.5rem}

/* ── CONTACT ── */
.contact-section{padding:7rem 6rem;background:var(--bleu);display:grid;grid-template-columns:1fr 1.1fr;gap:7rem;align-items:start;position:relative;overflow:hidden}
.contact-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;border-radius:50%;border:1px solid rgba(148,216,168,.07);pointer-events:none}
.contact-info{padding-top:.5rem}
.contact-info .section-label{color:var(--vert)}
.contact-info .section-label::before{background:var(--vert)}
.contact-info-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:400;color:var(--creme);line-height:1.2;margin-bottom:1.5rem}
.contact-info-title em{font-style:italic;color:var(--vert)}
.contact-info-text{font-size:.87rem;line-height:2.1;color:var(--text-muted-dark);margin-bottom:2.5rem}
.contact-details{display:flex;flex-direction:column;gap:1.3rem}
.contact-item{display:flex;align-items:center;gap:1rem}
.contact-item-icon{width:40px;height:40px;border:1px solid rgba(148,216,168,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-item-icon svg{width:18px;height:18px;stroke:var(--vert);fill:none;stroke-width:1.4}
.contact-item-label{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted-dark);margin-bottom:.15rem}
.contact-item-text{font-size:.87rem;color:var(--creme);font-weight:300}
.contact-item a{color:var(--creme);text-decoration:none;transition:color .2s}
.contact-item a:hover{color:var(--vert)}
.contact-horaires{margin-top:2rem;padding:1.3rem 1.5rem;border:1px solid rgba(148,216,168,.15);background:rgba(253,251,248,.04)}
.contact-horaires-title{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--vert);margin-bottom:.7rem}
.contact-horaires-text{font-size:.83rem;color:var(--text-muted-dark);line-height:1.9}

/* FORMULAIRE */
.contact-form-wrap{background:var(--creme);padding:3rem;position:relative;z-index:1}
.form-title{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:400;color:var(--bleu);margin-bottom:.4rem}
.form-subtitle{font-size:.8rem;color:var(--text-body);margin-bottom:2rem;line-height:1.7}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.5rem}
.form-group.full{grid-column:1/-1}
label{font-size:.62rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--bleu)}
.req{color:var(--vert-dark)}
input[type=text],input[type=email],input[type=tel],select,textarea{
  font-family:'Jost',sans-serif;font-size:.88rem;font-weight:300;
  color:var(--bleu-dark);background:#fff;
  border:1px solid rgba(66,74,101,.28);
  padding:.8rem 1rem;outline:none;
  transition:border-color .2s,box-shadow .2s;
  width:100%;border-radius:0;-webkit-appearance:none
}
input::placeholder,textarea::placeholder{color:#8A8FA0}
input:focus,select:focus,textarea:focus{border-color:var(--vert-dark);box-shadow:0 0 0 3px rgba(91,173,122,.15)}
select{cursor:pointer}
textarea{resize:vertical;min-height:110px}
.form-error-msg{font-size:.7rem;color:#B33A3A;margin-top:.2rem;display:none}
.form-check{display:flex;align-items:flex-start;gap:.8rem;margin-top:.5rem;margin-bottom:1.5rem}
.form-check input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:var(--vert-dark);cursor:pointer}
.form-check label{font-size:.75rem;letter-spacing:0;text-transform:none;font-weight:300;color:var(--text-body);cursor:pointer;line-height:1.6}
.btn-submit{font-family:'Jost',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--creme);background:var(--bleu);padding:1rem 2.5rem;border:none;cursor:pointer;width:100%;transition:background .25s;display:flex;align-items:center;justify-content:center;gap:.6rem}
.btn-submit:hover{background:var(--bleu-dark)}
.btn-submit:disabled{opacity:.65;cursor:not-allowed}
.btn-submit svg{width:16px;height:16px;stroke:var(--creme);fill:none;stroke-width:1.8;flex-shrink:0}
.form-success{display:none;text-align:center;padding:3rem 1rem}
.form-success-icon{width:64px;height:64px;background:var(--vert);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem}
.form-success-icon svg{width:30px;height:30px;stroke:var(--bleu-dark);fill:none;stroke-width:2.5}
.form-success-title{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:400;color:var(--bleu);margin-bottom:.6rem}
.form-success-text{font-size:.85rem;color:var(--text-body);line-height:1.8}

/* ── FOOTER ── */
footer{background:var(--bleu-dark);padding:2.5rem 6rem;display:flex;justify-content:space-between;align-items:center}
.footer-logo-wrap{display:flex;align-items:center;gap:.8rem}
.footer-logo-wrap img{height:32px;width:auto;filter:brightness(0) invert(1) opacity(.85)}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;color:var(--creme)}
.footer-logo span{color:var(--vert);font-style:italic}
.footer-sub{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(200,208,220,.55);margin-top:.25rem}
.footer-links{display:flex;gap:2rem;list-style:none}
.footer-links a{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(200,208,220,.6);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--vert)}
.footer-copy{font-size:.62rem;color:rgba(200,208,220,.3);letter-spacing:.06em}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.hero-left>*{animation:fadeUp .7s ease both}
.hero-tag{animation-delay:.1s}.hero-title{animation-delay:.2s}.hero-subtitle{animation-delay:.3s}.hero-buttons{animation-delay:.4s}
.hero-badge{animation:fadeUp .7s .5s ease both}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  nav{padding:1rem 1.5rem}
  .nav-links{display:none}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-left{padding:8rem 2rem 4rem}
  .hero-left::after{display:none}
  .hero-right{min-height:300px}
  .services,.why,.contact-section,.process,.testimonials,.faq,.zones,.gallery{padding:4.5rem 2rem}
  .services-header,.why,.contact-section,.zones-inner{grid-template-columns:1fr;gap:2.5rem}
  .services-grid,.testimonials-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .gallery-item.tall{grid-row:auto}
  .gallery-item.wide{grid-column:auto}
  .faq-grid{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr 1fr}
  .process-steps::before{display:none}
  .stats{grid-template-columns:1fr 1fr}
  .stat{border-bottom:1px solid var(--lin)}
  footer{flex-direction:column;gap:1.2rem;text-align:center;padding:2rem}
  .form-grid{grid-template-columns:1fr}
}


@media (max-width: 768px) {
  .it-row {
    flex-direction: column;
  }

  .it-row .it-txt,
  .it-row .it-img {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }

  /* Uniquement quand texte est AVANT l'image (texte en 1er dans le DOM) */
  .it-row .it-txt:first-child {
    order: 2;
  }

  .it-row .it-img:last-child {
    order: 1;
  }
}
