/* Locagex — design system « Range Prestige ».
   ═══════════════════════════════════════════════════════════════════════
   SOURCE DE VÉRITÉ UNIQUE — toutes les couleurs et fontes du projet
   dérivent des tokens ci-dessous. Pour changer la charte, éditer UNIQUEMENT
   ce bloc :root — les 35+ pages héritent automatiquement.
   ═══════════════════════════════════════════════════════════════════════ */
:root{
  /* ───── Palette officielle (charte Range Prestige) ───── */
  --c-white:#FFFFFF;              /* fond page, surfaces claires */
  --c-mist:#E5E5E5;               /* gris très clair (filets, bandes alt.) */
  --c-gold:#E6B84C;               /* or métallique — accent principal, CTA, focus */
  --c-navy:#023047;               /* bleu pétrole — brand, sidebar, titres sur clair */
  --c-black:#000000;              /* noir absolu — texte critique, footer */

  /* ───── Nuances complémentaires (choisies pour cohérence) ───── */
  --c-cream:#F7F7F5;              /* fond très doux, alternatif à #FFF */
  --c-ash:#8A8F9C;                /* gris médian — texte discret */
  --c-slate:#3D465D;              /* variante lisible du navy — texte courant */
  --c-navy-deep:#021A28;          /* pétrole assombri — sidebar profonde, footer */
  --c-navy-soft:#0A4D68;          /* pétrole allégé — hover, bordures accent */
  --c-gold-soft:#F6DD8E;          /* or lumineux — highlight, stop gradient */
  --c-gold-deep:#c69230;          /* or profond — hover, accent sur clair (AA) */
  --c-gold-wash:rgba(230,184,76,.08); /* wash très pâle — fonds subtils */

  /* ───── Sémantique métier ───── */
  --c-succes:#0F9D58;
  --c-succes-dark:#046d3a;
  --c-alerte:#F59E0B;
  --c-critique:#C0392B;

  /* ───── Filets et ombres ───── */
  --c-line:#E5E5E5;
  --c-line-soft:rgba(2,48,71,.10);
  --ombre:0 1px 2px rgba(2,48,71,.05),0 8px 24px rgba(2,48,71,.08);
  --ombre-lg:0 20px 60px rgba(2,48,71,.14);
  --radius:8px;

  /* ═══════════════════════════════════════════════════════════════════
     TYPOGRAPHIE — Bricolage Grotesque (titres) + Geist (texte).
     Deux familles max. Fallbacks : Libre Baskerville / Inter (déjà
     chargées sur la plupart des pages).
     ═══════════════════════════════════════════════════════════════════ */
  --f-titre:'Bricolage Grotesque','Libre Baskerville',Georgia,serif;
  --f-corps:'Geist','Inter',system-ui,sans-serif;

  /* ═══════════════════════════════════════════════════════════════════
     SYSTÈME OR MÉTALLIQUE — dégradés à reflet central lumineux.
     ═══════════════════════════════════════════════════════════════════ */
  --gold-ink:#3A2A08;
  --grad-gold:linear-gradient(135deg,#cb8f1e 0%,#E6B84C 28%,#FBEBA6 50%,#E6B84C 72%,#C6952F 100%);
  /* --grad-gold-text:linear-gradient(92deg,#f6ad10 0%,#F0CE6E 28%,#FBEBA6 50%,#EBC257 72%,#C6952F 100%); */
  --grad-gold-text: linear-gradient(135deg, #BF953F 0%, #FCF6BA 25%, #B38728 50%, #FBF5B7 75%, #AA771C 100%);
  /* ───── Layout & animation ───── */
  --max:1280px;
  --nav-h:68px;

  /* ───── Échelle typographique fluide ───── */
  --fs-corps   :14px;
  --fs-corps-lg:15px;
  --fs-h3      :clamp(15px, 1.6vw + 11px, 18px);
  --fs-h2      :clamp(18px, 2.2vw + 12px, 22px);
  --fs-h1      :clamp(22px, 3.6vw + 12px, 30px);

  /* ───── Padding « conteneur » fluide ───── */
  --pad-page-x :clamp(12px, 3vw, 28px);
  --pad-top-y  :clamp(10px, 1.4vw, 14px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px}
body{font-family:var(--f-corps);background:var(--c-cream);color:var(--c-navy);
  -webkit-font-smoothing:antialiased;line-height:1.45;font-size:var(--fs-corps);
  overflow-x:hidden}
.display,.serif{font-family:var(--f-titre)}
a{color:var(--c-navy-soft);text-decoration:none}

/* Connexion */
.login-wrap{min-height:100vh;display:grid;place-items:center;
  background:radial-gradient(1200px 600px at 80% -10%, #0A4D68 0%, var(--c-navy) 55%);padding:20px}
.login-card{width:100%;max-width:380px;background:#fff;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.35);padding:32px 28px}
.login-card .marque{font-family:var(--f-titre);font-size:30px;text-align:center;
  background:linear-gradient(90deg,var(--c-gold-deep),var(--c-gold));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:4px}
.login-card .accroche{text-align:center;color:var(--c-slate);margin-bottom:24px;font-size:14px}

/* ═══════════════════════════════════════════════════════════════════════
   PAGE D'ACCUEIL PUBLIQUE (.home) — anciennement css/home.css, fusionné ici
   pour centraliser le CSS du projet en un seul fichier (évite la désynchro).
   Thème CLAIR par défaut (cohérent avec l'app), thème sombre
   activable via [data-theme="dark"] sur <html> — n'affecte QUE la landing.
   Registre éditorial immobilier premium : photographie, filets dorés,
   Bricolage Grotesque (titres) + Geist (texte). Réutilise les tokens --c-*
   de la palette officielle ; ses propres jetons de thème (--pg, --ink…) ne
   sont utilisés que par les sélecteurs .home / landing / connexion.
   ═══════════════════════════════════════════════════════════════════════ */

:root{
  --ease-signature:cubic-bezier(0,.3,.3,1);

  /* ───── Thème CLAIR landing ─────
     Tous les jetons ci-dessous dérivent de la palette --c-*. */
  --pg:var(--c-cream);
  --pg-alt:var(--c-white);
  --ink:var(--c-navy);
  --ink-soft:var(--c-slate);
  --ink-mute:var(--c-ash);
  --hairline:var(--c-line-soft);
  --gold-line:rgba(230,184,76,.32);
  --gold-ink:var(--c-gold-deep);
  --gold-text-grad:linear-gradient(120deg,var(--c-gold-deep) 0%,var(--c-gold) 55%,var(--c-gold-soft) 100%);
  --shadow:0 18px 44px rgba(2,48,71,.08);
  --shadow-lg:0 40px 90px rgba(2,48,71,.14);
  --nav-bg:rgba(255,255,255,.82);
  --hero-bg:radial-gradient(1100px 680px at 84% -20%, rgba(230,184,76,.10), transparent 60%),
            linear-gradient(180deg,var(--c-white),var(--c-cream));
  --card-bg:var(--c-white);
  --card-bd:var(--c-line-soft);
  --role-bg:linear-gradient(170deg,var(--c-white),var(--c-cream));
  --strip-bg:rgba(2,48,71,.03);
  --showcase-bg:linear-gradient(180deg,var(--c-cream),var(--c-white));
  --glass-bg:rgba(255,255,255,.78);
  --glass-bd:rgba(2,48,71,.10);
  --glass-ink:var(--c-navy);
  --glass-mute:var(--c-slate);
  --bar-track:rgba(2,48,71,.08);
  --foot-bg:var(--c-navy);
  --foot-ink:var(--c-mist);
  --foot-mute:var(--c-ash);
}

/* ───── Override SOMBRE ───── */
[data-theme="dark"]{
  --pg:var(--c-navy);
  --pg-alt:var(--c-navy-deep);
  --ink:var(--c-white);
  --ink-soft:rgba(255,255,255,.78);
  --ink-mute:rgba(255,255,255,.50);
  --hairline:rgba(229,229,229,.10);
  --gold-line:rgba(230,184,76,.30);
  --gold-ink:var(--c-gold);
  --gold-text-grad:linear-gradient(120deg,var(--c-gold-deep),var(--c-gold),var(--c-gold-soft));
  --shadow:0 18px 44px rgba(0,0,0,.45);
  --shadow-lg:0 40px 90px rgba(0,0,0,.60);
  --nav-bg:rgba(2,48,71,.75);
  --hero-bg:radial-gradient(1100px 680px at 82% -18%, var(--c-navy-soft) 0%, var(--c-navy) 60%);
  --card-bg:linear-gradient(165deg,rgba(10,77,104,.55),rgba(2,48,71,.38));
  --card-bd:rgba(229,229,229,.10);
  --role-bg:linear-gradient(170deg,var(--c-navy-deep),var(--c-navy-soft));
  --strip-bg:rgba(0,0,0,.20);
  --showcase-bg:linear-gradient(180deg,var(--c-navy-deep),var(--c-navy));
  --glass-bg:rgba(2,48,71,.65);
  --glass-bd:rgba(229,229,229,.14);
  --glass-ink:var(--c-white);
  --glass-mute:rgba(255,255,255,.55);
  --bar-track:rgba(255,255,255,.08);
  --foot-bg:transparent;
  --foot-ink:var(--c-mist);
  --foot-mute:var(--c-ash);
}

.home{background:var(--pg);color:var(--ink-soft);overflow-x:hidden;
  transition:background .3s ease,color .3s ease}
.home a{color:var(--gold-ink)}
.home .wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.home section{position:relative}
.home .eyebrow{font-family:var(--f-titre);font-size:11.5px;letter-spacing:3.5px;
  text-transform:uppercase;color:var(--gold-ink);display:inline-flex;align-items:center;gap:10px}
.home .eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.6}
.home h2{font-family:var(--f-titre);font-weight:500;font-size:clamp(27px,3.6vw,44px);
  line-height:1.1;letter-spacing:-.3px;color:var(--ink);margin:14px 0 14px}
.home p.lead{color:var(--ink-soft);font-size:clamp(15px,1.5vw,18px);max-width:640px;line-height:1.62}

/* ---------- barre de navigation — PILL FLOTTANTE AVEC ENCOCHE CENTRALE ---------- */
/* Nav fixée en haut, pill semi-transparente. La marque est CENTRÉE dans une
   capsule qui déborde en bas via une découpe (SVG mask sur .h-nav). */
.home{padding-top:22px}
.h-nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);
  width:calc(100% - 32px);max-width:1180px;z-index:40;
  background:var(--nav-bg);backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid var(--hairline);border-radius:999px;
  box-shadow:0 8px 32px rgba(2,48,71,.08),0 2px 8px rgba(2,48,71,.04);
  transition:box-shadow .3s var(--ease-signature),background .3s var(--ease-signature)}
.h-nav .in{display:flex;align-items:center;gap:14px;height:60px;padding:0 10px 0 22px;max-width:none}
.h-nav .links{margin-left:auto;display:flex;align-items:center;gap:6px}
.h-nav .links a{color:var(--ink-soft);font-size:14px;font-weight:500;text-decoration:none;
  padding:9px 16px;border-radius:999px;position:relative;
  transition:color .25s var(--ease-signature),background .25s var(--ease-signature)}
.h-nav .links a:not(.cta-pro):hover{color:var(--ink);background:rgba(2,48,71,.06)}
[data-theme="dark"] .h-nav .links a:not(.cta-pro):hover{background:rgba(255,255,255,.06)}
/* Bouton "contact" à gauche (à la manière de Volta VÕTA ÜHENDUST) */
.h-nav-left{display:inline-flex;align-items:center;gap:8px;
  color:var(--ink-soft);font-size:13.5px;font-weight:500;text-decoration:none;
  padding:9px 16px;border-radius:999px;border:1px solid var(--hairline);flex:none;
  transition:color .25s var(--ease-signature),background .25s var(--ease-signature),border-color .25s var(--ease-signature)}
.h-nav-left:hover{color:var(--ink);background:rgba(2,48,71,.06);border-color:var(--gold-line)}
.h-nav-left svg{opacity:.8}
@media(max-width:960px){.h-nav-left span{display:none}}
@media(max-width:820px){.h-nav-left{display:none}}

.h-nav .cta-pro{padding:10px 20px;border-radius:999px;background:var(--c-navy);
  color:#fff!important;font-weight:500;font-size:14px;letter-spacing:.2px;margin-left:6px;
  transition:background .25s var(--ease-signature),transform .25s var(--ease-signature)}
.h-nav .cta-pro:hover{background:var(--c-gold-deep);transform:translateY(-1px)}
[data-theme="dark"] .h-nav .cta-pro{background:var(--c-gold-deep)}
[data-theme="dark"] .h-nav .cta-pro:hover{background:var(--c-gold);color:var(--c-navy)!important}
.h-theme{margin-left:4px;width:38px;height:38px;flex:none;border-radius:999px;cursor:pointer;
  display:grid;place-items:center;color:var(--ink-soft);
  background:transparent;border:1px solid var(--hairline);
  transition:color .25s var(--ease-signature),border-color .25s var(--ease-signature),background .25s var(--ease-signature)}
.h-theme:hover{color:var(--gold-ink);border-color:var(--gold-line);background:rgba(180,132,43,.06)}
.h-theme svg{width:17px;height:17px}
.h-theme .i-sun{display:none}
[data-theme="dark"] .h-theme .i-sun{display:block}
[data-theme="dark"] .h-theme .i-moon{display:none}
.h-burger{display:none;background:none;border:0;color:var(--ink);font-size:22px;cursor:pointer;
  width:38px;height:38px;border-radius:999px}
.h-burger:hover{background:rgba(2,48,71,.06)}

/* ---------- hero ---------- */
.hero{background:var(--hero-bg);padding:76px 0 96px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(600px 300px at 8% 112%, rgba(180,132,43,.08), transparent 70%)}
.hero .in{display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:center;position:relative}
.hero .tag{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:1.2px;
  color:var(--gold-ink);border:1px solid var(--gold-line);border-radius:100px;padding:7px 15px;
  text-transform:uppercase;font-weight:600;background:rgba(230,184,76,.08)}
.hero h1{font-family:var(--f-titre);font-weight:600;font-size:clamp(35px,5.2vw,62px);
  line-height:1.04;letter-spacing:-1px;color:var(--ink);margin:22px 0 20px}
.hero h1 .or{background:var(--gold-text-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  font-style:italic;font-weight:500}
.hero p{color:var(--ink-soft);font-size:clamp(16px,1.55vw,19px);line-height:1.62;max-width:560px}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.btn-xl{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:7px;
  font-family:var(--f-corps);font-weight:700;font-size:15.5px;text-decoration:none;cursor:pointer;
  border:1px solid transparent;transition:filter .15s,transform .15s,border-color .15s,color .15s}
.btn-xl.or{background:var(--grad-gold);color:var(--c-navy);box-shadow:0 12px 30px rgba(180,132,43,.3)}
.btn-xl.or:hover{filter:brightness(1.06);transform:translateY(-2px)}
.btn-xl.ghost{background:transparent;border-color:var(--hairline);color:var(--ink)}
.btn-xl.ghost:hover{border-color:var(--gold-ink);color:var(--gold-ink)}
.hero .trust{display:flex;gap:34px;flex-wrap:wrap;margin-top:40px;padding-top:28px;
  border-top:1px solid var(--hairline);color:var(--ink-mute);font-size:13px}
.hero .trust b{color:var(--ink);display:block;font-family:var(--f-titre);font-size:24px;font-weight:600;margin-bottom:2px}

/* visuel hero : photo encadrée + carte de synthèse en verre */
.hero-visual{position:relative}
.hero-photo{margin:0;border-radius:16px;overflow:hidden;position:relative;
  border:1px solid var(--gold-line);box-shadow:var(--shadow-lg)}
.hero-photo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(2,48,71,.3) 100%)}
.hero-photo img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.hero-glass{position:absolute;left:-22px;bottom:-26px;width:250px;
  background:var(--glass-bg);backdrop-filter:blur(16px);
  border:1px solid var(--glass-bd);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}
.hero-glass .hg-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.hero-glass .hg-t{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--glass-mute)}
.hero-glass .hg-dot{width:8px;height:8px;border-radius:50%;background:var(--c-succes);
  box-shadow:0 0 0 4px rgba(15,157,88,.18)}
.hero-glass .hg-fig{font-family:var(--f-titre);font-size:17px;color:var(--glass-ink)}
.hero-glass .hg-fig b{font-size:28px;font-weight:600;color:var(--gold-ink)}
.hero-glass .hg-fig span{font-family:var(--f-corps);font-size:12px;color:var(--glass-mute);display:block;margin-top:1px}
.hero-glass .hg-bar{height:6px;background:var(--bar-track);border-radius:3px;margin:12px 0 8px;overflow:hidden}
.hero-glass .hg-bar i{display:block;height:100%;background:var(--grad-gold);border-radius:3px}
.hero-glass .hg-legend{display:flex;justify-content:space-between;font-size:12px;color:var(--glass-mute)}
.hero-glass .hg-legend b{color:var(--glass-ink)}

/* ---------- bande de confiance ---------- */
.strip{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:var(--strip-bg)}
.strip .in{display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:center;padding:20px 0;
  color:var(--ink-mute);font-size:13.5px}
.strip .in span{display:inline-flex;align-items:center;gap:9px}
.strip .in .o{color:var(--gold-ink);font-size:14px}

/* ---------- sections ---------- */
.band{padding:92px 0}
.band.alt{background:var(--pg-alt)}
.sec-head{text-align:center;max-width:700px;margin:0 auto 56px}
.sec-head p.lead{margin:0 auto}

/* problème → promesse */
.pp{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.pp .col{border-radius:16px;padding:32px 30px;position:relative}
.pp .before{background:rgba(192,57,43,.06);border:1px solid rgba(192,57,43,.24)}
.pp .after{background:rgba(15,157,88,.06);border:1px solid rgba(15,157,88,.28)}
.pp .pp-tag{display:inline-block;font-family:var(--f-titre);font-size:11px;letter-spacing:2px;
  text-transform:uppercase;font-weight:600;padding:5px 12px;border-radius:100px;margin-bottom:20px}
.pp .before .pp-tag{background:rgba(192,57,43,.12);color:#C0392B}
.pp .after .pp-tag{background:rgba(15,157,88,.12);color:#0F9D58}
[data-theme="dark"] .pp .before .pp-tag{color:#FCA5A5}
[data-theme="dark"] .pp .after .pp-tag{color:#6EE7B7}
.pp ul{list-style:none;display:flex;flex-direction:column;gap:14px}
.pp li{display:flex;gap:13px;color:var(--ink-soft);font-size:15px;line-height:1.5}
.pp li .i{flex:none;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;
  font-size:12px;font-weight:700;margin-top:1px}
.pp .before li .i{background:rgba(192,57,43,.16);color:#C0392B}
.pp .after li .i{background:rgba(15,157,88,.16);color:#0F9D58}
[data-theme="dark"] .pp .before li .i{color:#FCA5A5}
[data-theme="dark"] .pp .after li .i{color:#6EE7B7}

/* fonctionnalités */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feats-4{grid-template-columns:repeat(4,1fr)}
.feat{background:var(--card-bg);border:1px solid var(--card-bd);border-radius:15px;padding:28px 26px;
  box-shadow:var(--shadow);transition:transform .22s,border-color .22s,box-shadow .22s}
.feat:hover{transform:translateY(-5px);border-color:var(--gold-line);box-shadow:var(--shadow-lg)}
.feat .ic{width:50px;height:50px;border-radius:13px;background:rgba(230,184,76,.14);
  border:1px solid var(--gold-line);display:grid;place-items:center;margin-bottom:18px;color:var(--gold-ink)}
.feat .ic svg{width:25px;height:25px}
.feat h3{font-family:var(--f-titre);font-weight:600;font-size:18.5px;color:var(--ink);margin-bottom:9px}
.feat p{color:var(--ink-soft);font-size:14px;line-height:1.55}

/* showcase photographique */
.showcase{padding:20px 0 96px;background:var(--showcase-bg)}
.sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.sc-media{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--gold-line);box-shadow:var(--shadow-lg)}
.sc-media img{display:block;width:100%;height:100%;aspect-ratio:5/4;object-fit:cover}
.sc-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(200deg,transparent 55%,rgba(2,48,71,.3) 100%)}
.sc-badge{position:absolute;left:18px;bottom:18px;z-index:2;
  background:var(--glass-bg);backdrop-filter:blur(14px);
  border:1px solid var(--glass-bd);border-radius:12px;padding:12px 16px}
.sc-badge .k{display:block;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-ink)}
.sc-badge .v{display:block;font-family:var(--f-titre);font-size:15px;color:var(--glass-ink);margin-top:3px}
.sc-txt h2{margin-top:12px}
.sc-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin:24px 0 30px}
.sc-list li{position:relative;padding-left:32px;color:var(--ink-soft);font-size:15px;line-height:1.5}
.sc-list li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;
  background:rgba(230,184,76,.16);border:1px solid var(--gold-line)}
.sc-list li::after{content:"";position:absolute;left:7px;top:7px;width:6px;height:10px;
  border:solid var(--gold-ink);border-width:0 2px 2px 0;transform:rotate(43deg)}

/* pour qui : une plateforme, trois espaces */
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.role-card{position:relative;border-radius:16px;padding:30px 28px;overflow:hidden;
  background:var(--role-bg);border:1px solid var(--card-bd);box-shadow:var(--shadow);
  transition:transform .22s,border-color .22s}
.role-card:hover{transform:translateY(-4px);border-color:var(--gold-line)}
.role-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--grad-gold)}
.role-card .badge{font-family:var(--f-titre);font-size:11px;letter-spacing:2px;
  text-transform:uppercase;color:var(--gold-ink);font-weight:600}
.role-card h3{font-family:var(--f-titre);font-weight:600;font-size:23px;color:var(--ink);margin:10px 0 12px}
.role-card p{color:var(--ink-soft);font-size:14.5px;line-height:1.55;margin-bottom:18px}
.role-card ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.role-card li{color:var(--ink-soft);font-size:13.5px;display:flex;gap:10px}
.role-card li::before{content:"✦";color:var(--gold-ink);font-size:11px}
.one-access{text-align:center;margin-top:40px;color:var(--ink-soft);font-size:15px}
.one-access b{color:var(--gold-ink)}

/* CTA final */
.cta-band{padding-top:20px}
.final{position:relative;background:var(--grad-gold);border-radius:22px;padding:60px 40px;text-align:center;
  box-shadow:0 30px 80px rgba(180,132,43,.28);overflow:hidden}
.final::before{content:"";position:absolute;inset:0;opacity:.5;
  background:radial-gradient(500px 240px at 90% -20%, rgba(255,255,255,.25), transparent 70%)}
.final>*{position:relative}
.final h2{font-family:var(--f-titre);color:var(--c-navy);font-size:clamp(27px,3.6vw,40px);margin-bottom:12px}
.final p{color:#000000;font-size:17px;max-width:560px;margin:0 auto 26px;line-height:1.55}
.final .btn-xl{background:var(--c-navy);color:#fff}
.final .btn-xl:hover{background:#021A28;transform:translateY(-2px)}
.final .sub{margin-top:18px;color:#021A28;font-size:13.5px}
.final .sub a{color:var(--c-navy);font-weight:700;text-decoration:underline}

/* footer */
.h-foot{background:var(--foot-bg);border-top:1px solid var(--hairline);padding:40px 0;
  color:var(--foot-mute);font-size:13.5px}
.h-foot .in{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.h-foot .links{display:flex;gap:24px;flex-wrap:wrap}
.h-foot a{color:var(--foot-ink);text-decoration:none}
.h-foot a:hover{color:var(--gold-ink)}

/* ---------- révélation au défilement ---------- */
/* Masqué uniquement si JS actif (classe .js) : sans JS, tout reste visible. */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease var(--d,0ms),transform .6s ease var(--d,0ms)}
.js .reveal.seen{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* ---------- responsive (landing) ---------- */
@media(max-width:1000px){
  .feats-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:960px){
  .hero .in{grid-template-columns:1fr;gap:52px}
  .hero-visual{max-width:520px}
  .hero-glass{width:220px}
  .feats,.roles{grid-template-columns:1fr}
  .pp{grid-template-columns:1fr}
  .sc-grid{grid-template-columns:1fr;gap:36px}
  .sc-media{order:-1}
}
@media(max-width:820px){
  /* La pill se rétrécit et laisse tomber les liens dans un menu overlay. */
  .h-nav .in{padding:0 8px 0 18px}
  .h-nav .links{display:none}
  .h-nav .links.open{display:flex;position:fixed;top:86px;left:16px;right:16px;flex-direction:column;
    align-items:stretch;gap:4px;background:var(--card-bg);padding:14px;
    border:1px solid var(--hairline);border-radius:20px;box-shadow:var(--shadow-lg);z-index:39}
  .h-nav .links.open a{padding:12px 16px;border-radius:12px;font-size:15px}
  .h-nav .links.open .cta-pro{margin-top:6px;text-align:center}
  .h-theme{margin-left:auto}
  .h-burger{display:grid;place-items:center}
}
@media(max-width:720px){
  .band{padding:64px 0}
  .showcase{padding-bottom:64px}
  .final{padding:44px 24px}
  .feats-4{grid-template-columns:1fr}
  .hero-glass{left:0}
}



/* ═══════════════════════════════════════════════════════════════════════
   LANDING RANGE PRESTIGE (index.php) — composants .lp-nav, .hero, .sec…
   Scoped : body.rp ou sélecteurs .lp-* / .hero / .sec / .lp-footer
   ═══════════════════════════════════════════════════════════════════════ */

/* ==========================================================================
   NAVIGATION — sticky dark
   ========================================================================== */
.lp-nav{
  position:fixed;
  top:0;left:0;right:0;
  z-index:1000;
  height:var(--nav-h);
  background:var(--c-navy);
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:box-shadow .3s ease;
}
.lp-nav.scrolled{
  box-shadow:0 4px 40px rgba(0,0,0,.4);
}
.nav-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 28px;
  height:100%;
  display:flex;
  align-items:center;
  gap:36px;
}

/* Logo */
.nav-logo{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
  text-decoration:none;
}
.nav-logo-mark{
  width:36px;
  height:36px;
  background:var(--grad-gold);
  border-radius:4px;
  display:grid;
  place-items:center;
  font-family:var(--f-titre);
  font-size:18px;
  font-weight:700;
  color:var(--gold-ink);
  line-height:1;
}
.nav-logo-text{
  font-family:var(--f-titre);
  font-size:22px;
  font-weight:500;
  letter-spacing:.04em;
  color:var(--c-white);
}

/* Menu */
.nav-links{
  display:flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
}
.nav-links a{
  display:block;
  padding:8px 14px;
  font-size:.875rem;
  font-weight:500;
  letter-spacing:.03em;
  color:rgba(255,255,255,.80);
  border-radius:4px;
  transition:color .2s,background .2s;
  white-space:nowrap;
}
.nav-links a:hover{color:var(--c-white);background:rgba(255,255,255,.07);}

/* Dropdown nav item */
.nav-drop{position:relative;}
.nav-drop > a::after{content:' ▾';font-size:.7rem;opacity:.6;}
.nav-drop-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:200px;
  padding:6px;
  background:var(--c-navy);
  border:1px solid rgba(255,255,255,.10);
  border-radius:9px;
  box-shadow:0 18px 44px rgba(2,26,40,.5);
  /* Apparition lisse : fade + glissé + micro-zoom */
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px) scale(.98);
  transform-origin:top left;
  transition:opacity .2s ease, transform .26s cubic-bezier(.22,.68,0,1.1), visibility .2s;
  z-index:60;
}
/* Pont invisible : couvre le gap de 10px pour ne pas perdre le survol */
.nav-drop-menu::before{
  content:'';
  position:absolute;
  top:-10px;left:0;right:0;
  height:10px;
  background:transparent;
}
.nav-drop-menu.open{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.nav-drop-menu a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  font-size:.83rem;
  color:rgba(255,255,255,.80);
  border-radius:6px;
  transition:background .15s,color .15s;
}
.nav-drop-menu a:hover{background:rgba(255,255,255,.10);color:var(--c-white);}
/* Icône Font Awesome du sous-menu : gouttière fixe pour aligner les libellés */
.nav-drop-menu a > i{
  flex:0 0 16px;
  width:16px;
  text-align:center;
  font-size:.82rem;
  color:var(--c-gold);
  opacity:.85;
  transition:opacity .15s,color .15s;
}
.nav-drop-menu a:hover > i{opacity:1;color:var(--c-gold-soft);}

/* Lang picker */
.lang-picker{position:relative;}
.lang-btn{
  display:flex;align-items:center;gap:6px;
  padding:7px 12px;
  font-size:.83rem;
  font-weight:500;
  letter-spacing:.04em;
  color:rgba(255,255,255,.75);
  border:1px solid rgba(255,255,255,.15);
  border-radius:4px;
  transition:background .2s,border-color .2s,color .2s;
  white-space:nowrap;
}
.lang-btn:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.25);color:var(--c-white);}
.lang-flag{font-size:1rem;line-height:1;}
.lang-code{font-family:var(--f-corps);}
.lang-arrow{font-size:.65rem;opacity:.6;}
.lang-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:180px;
  padding:6px;
  background:var(--c-navy);
  border:1px solid rgba(255,255,255,.10);
  border-radius:9px;
  box-shadow:0 18px 44px rgba(2,26,40,.5);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px) scale(.98);
  transform-origin:top right;
  transition:opacity .2s ease, transform .26s cubic-bezier(.22,.68,0,1.1), visibility .2s;
  z-index:60;
}
.lang-menu::before{
  content:'';
  position:absolute;
  top:-10px;left:0;right:0;
  height:10px;
  background:transparent;
}
.lang-menu.open{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.lang-menu a{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;
  font-size:.85rem;
  color:rgba(255,255,255,.80);
  border-radius:6px;
  transition:background .15s,color .15s;
}
.lang-menu a:hover{background:rgba(255,255,255,.10);color:var(--c-white);}
.lang-menu .flag{font-size:1.05rem;}

/* CTA buttons in nav */
.nav-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.btn-outline-nav{
  padding:8px 18px;
  font-size:.83rem;
  font-weight:500;
  letter-spacing:.04em;
  color:rgba(255,255,255,.85);
  border:1px solid rgba(255,255,255,.28);
  border-radius:4px;
  transition:background .2s,border-color .2s,color .2s;
  white-space:nowrap;
}
.btn-outline-nav:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4);color:var(--c-white);}
.btn-solid-nav {
  padding: 8px 20px;
  font-size: .83rem;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--c-navy-deep);            /* texte foncé lisible sur or */
  border-radius: 4px;
  white-space: nowrap;
  background: var(--grad-gold);
  background-size: 180% 180%;
  background-position: 0% 50%;
  border: none;
  box-shadow: 0 2px 10px rgba(180,132,43,.28), inset 0 1px 1px rgba(255,255,255,.55);
  transition: background-position .5s ease, transform .15s, box-shadow .2s;
}
.btn-solid-nav:hover {
  background-position: 100% 50%;      /* glisse le reflet horizontalement */
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(180,132,43,.38), inset 0 1px 1px rgba(255,255,255,.7);
}

/* Burger */
.nav-burger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:36px;height:36px;
  margin-left:auto;
  padding:6px;
}
.nav-burger span{display:block;height:2px;background:var(--c-white);border-radius:2px;transition:.3s;}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-burger.open span:nth-child(2){opacity:0;}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Mobile drawer */
.nav-mobile{
  display:none;
  position:fixed;
  top:var(--nav-h);left:0;right:0;
  background:var(--c-navy-deep);
  padding:20px 24px 32px;
  z-index:999;
  border-top:1px solid rgba(255,255,255,.06);
  box-shadow:0 20px 40px rgba(0,0,0,.5);
}
.nav-mobile.open{display:block;}
.nav-mobile a{
  display:block;
  padding:13px 0;
  font-size:1rem;
  font-weight:500;
  color:rgba(255,255,255,.8);
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:color .2s;
}
.nav-mobile a:last-child{border-bottom:none;}
.nav-mobile a:hover{color:var(--c-gold);}
.nav-mobile-langs{
  display:flex;gap:12px;
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.07);
}
.nav-mobile-langs a{
  display:flex;align-items:center;gap:6px;
  padding:8px 14px;
  font-size:.85rem;
  color:rgba(255,255,255,.7);
  border:1px solid rgba(255,255,255,.15);
  border-radius:4px;
  border-bottom:1px solid rgba(255,255,255,.15)!important;
}
.nav-mobile-ctas{display:flex;gap:10px;margin-top:16px;}
.nav-mobile-ctas .btn-outline-nav,
.nav-mobile-ctas .btn-solid-nav{flex:1;text-align:center;}

/* ==========================================================================
   HERO — full-screen slider with Ken Burns
   ========================================================================== */
.hero{
  position:relative;
  height:100vh;
  min-height:600px;
  overflow:hidden;
  background:var(--c-navy);
}

/* Slides container */
.hero-slides{
  position:absolute;
  inset:0;
}
.slide{
  position:absolute;
  inset:0;
  opacity:0;
  z-index:0;
  /* crossfade luxueux — 1.8s ease-in-out */
  transition:opacity 1.8s ease-in-out;
  overflow:hidden;
}
.slide.active{
  opacity:2;
  z-index:1;
}
/* Slide sortant reste par-dessus pendant le fondu pour éviter le flash noir */
.slide.leaving{opacity:0;z-index:2;transition:opacity 1.8s ease-in-out;}

/* Ken Burns : continu sur TOUTES les figures — pas de restart brutal */
@keyframes kb-breathe{
  0%  {transform:scale(1.08);}
  100%{transform:scale(1.00);}
}
.slide figure{
  position:absolute;
  inset:-6% -6%;
  background-size:cover;
  background-position:center;
  will-change:transform;
  animation:kb-breathe 12s ease-in-out infinite alternate;
}

/* Overlay global léger — assombrit surtout le bas-gauche, garde l'image vivante */
.hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top, rgba(2,26,40,.55) 0%, rgba(2,26,40,.18) 42%, rgba(2,26,40,.04) 70%, transparent 100%),
    linear-gradient(to right, rgba(2,26,40,.34) 0%, rgba(2,26,40,.06) 45%, transparent 62%);
  pointer-events:none;
  z-index:1;
}

/* Hero text content */
.hero-content{
  position:absolute;
  bottom:clamp(120px,18vh,200px);
  left:clamp(24px,6vw,100px);
  z-index:2;
  max-width:640px;
  color:var(--c-white);
  transition:opacity .4s ease, transform .4s ease;
}
/* Fond hero-content : dégradé vertical (transparent en haut/bas, sombre au milieu)
   + masque latéral, pour que les 4 bords se fondent dans l'image */
.hero-content::before{
  content:'';
  position:absolute;
  inset:-44px -100px;
  background:linear-gradient(to bottom,
    transparent 0%,
    rgba(2,22,34,.26) 20%,
    rgba(2,22,34,.46) 50%,
    rgba(2,22,34,.26) 80%,
    transparent 100%);
  /* Fond aussi les bords gauche/droite */
  -webkit-mask-image:linear-gradient(to right, transparent 0%, #000 14%, #000 74%, transparent 100%);
  mask-image:linear-gradient(to right, transparent 0%, #000 14%, #000 74%, transparent 100%);
  z-index:-1;
  pointer-events:none;
}
.hero-overline{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:.75rem;
  font-weight:500;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--c-gold);
  margin-bottom:18px;
}
.hero-overline::before{
  content:'';
  display:block;
  width:28px;height:1px;
  background:var(--c-gold);
  flex-shrink:0;
}
.hero-heading{
  font-family:var(--f-titre);
  font-size:clamp(2.8rem,6vw,5.2rem);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.01em;
  margin-bottom:20px;
  color: var(--c-cream) !important;
  /* Halo sombre pour détacher le blanc de la photo */
  text-shadow:0 2px 24px rgba(2,26,40,.55), 0 1px 3px rgba(2,26,40,.4);
}
.hero-heading em {
  font-style: italic;
  /* Même dégradé or métallique que les boutons — cohérence totale */
  background: var(--grad-gold-text);
  -webkit-background-clip: text; 
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  /* drop-shadow (le text-shadow ne s'applique pas au texte transparent) */
  filter: drop-shadow(0 2px 10px rgba(2,26,40,.45));
}
.hero-sub{
  font-size:1.02rem;
  font-weight:400;
  line-height:1.65;
  color:var(--c-cream) !important;
  text-shadow:0 1px 12px rgba(2,26,40,.5);
  max-width:460px;
  margin-bottom:32px;
}
.hero-ctas{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.btn-hero-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--c-navy-deep);            /* texte foncé lisible sur or */
  border-radius: 3px;
  background: var(--grad-gold);
  background-size: 180% 180%;
  background-position: 0% 50%;
  border: none;
  box-shadow: 0 4px 15px rgba(180,132,43,.32), inset 0 1px 1px rgba(255,255,255,.55);
  transition: background-position .5s ease, transform .2s, box-shadow .2s;
}
.btn-hero-primary:hover {
  background-position: 100% 50%;
  /* transform: translateY(-2px); */
  box-shadow: 0 6px 22px rgba(180,132,43,.42), inset 0 1px 1px rgba(255,255,255,.7);
}

.btn-hero-ghost{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 28px;
  font-size:.9rem;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--c-white);
  border:1px solid rgba(255, 255, 255, 0.7);
  border-radius:3px;
  transition:background .2s,border-color .2s;
}
.btn-hero-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.65);}

/* Location badge */
.hero-location{
  position:absolute;
  bottom:clamp(120px,18vh,200px);
  right:clamp(24px,4vw,60px);
  z-index:2;
  display:flex;align-items:center;gap:7px;
  font-size:.78rem;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.hero-location svg{width:14px;height:14px;fill:var(--c-gold);}

/* Slide counter / pagination */
.hero-pagination{
  position:absolute;
  bottom:clamp(72px,10vh,90px);
  left:clamp(24px,6vw,100px);
  z-index:2;
  display:flex;
  gap:8px;
}
.pg-dot{
  width:28px;height:3px;
  background:rgba(255,255,255,.28);
  border-radius:2px;
  cursor:pointer;
  transition:background .3s,width .3s;
}
.pg-dot.active{background:var(--c-gold);width:48px;}

/* Slide prev/next arrows */
.hero-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:50px;height:50px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  display:grid;place-items:center;
  color:var(--c-white);
  font-size:1.2rem;
  transition:background .2s,border-color .2s;
}
.hero-arrow:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);}
.hero-arrow--prev{left:clamp(16px,3vw,40px);}
.hero-arrow--next{right:clamp(16px,3vw,40px);}

/* ==========================================================================
   FILTER BAR — dark below hero
   ========================================================================== */
.filter-bar{
  background:var(--c-navy);
  border-top:1px solid rgba(255,255,255,.06);
}
.filter-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:0 28px;
  display:flex;
  align-items:center;
  gap:0;
}
.filter-group{
  flex:1;
  padding:10px 24px;
  border-right:1px solid rgba(255,255,255,.08);
}
.filter-group:first-child{padding-left:0;}
.filter-label{
  display:block;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--c-gold);
  margin-bottom:5px;
}
.filter-select{
  width:100%;
  background:none;
  border:none;
  outline:none;
  font:500 .92rem/1 var(--f-corps);
  color:rgba(255,255,255,.8);
  cursor:pointer;
  appearance:none;
  padding-right:20px;
}
.filter-select option{background:var(--c-navy);color:var(--c-white);}
.filter-submit{
  padding:0 32px;
  height:100%;
  min-height:70px;
  font-size:.83rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold-ink);
  background:var(--grad-gold);
  background-size:180% 180%;
  background-position:0% 50%;
  flex-shrink:0;
  transition:background-position .5s ease;
  border-left:none;
  white-space:nowrap;
}
.filter-submit:hover{background-position:100% 50%;}

/* ==========================================================================
   SECTIONS — common
   ========================================================================== */
.sec{padding:clamp(80px,10vw,130px) clamp(24px,5vw,80px);}
.sec-inner{max-width:var(--max);margin:0 auto;}

.overline{
  display:inline-flex;align-items:center;gap:12px;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--c-gold-deep);       /* or profond — lisible sur fond clair */
  margin-bottom:20px;
}
.overline::after{content:'';display:block;width:36px;height:1px;background:var(--c-gold-deep);}
/* Overline sur fonds sombres : or clair lumineux */
.showcase-text .overline,
.cta-band .overline,
.overline-sym{color:var(--c-gold);}

.sec-heading{
  font-family:var(--f-titre);
  font-size:clamp(2rem,4.5vw,3.8rem);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.01em;
  color:var(--c-navy);
  max-width:680px;
}
.sec-heading em{font-style:italic;
  color:var(--c-gold);
}
.sec-heading--centered{max-width:900px;margin:0 auto;text-align:center;}

.sec-body{
  font-size:1.02rem;
  font-weight:300;
  line-height:1.75;
  color:#3a4a62;
  max-width:580px;
  margin-top:20px;
}
.sec-body--centered{max-width:640px;margin:20px auto 0;text-align:center;}

/* Decorative underline */
.sec-rule{
  width:48px;height:1px;
  background:var(--c-gold);
  margin:20px 0;
}
.sec-rule--centered{margin:20px auto;}

/* ==========================================================================
   WELCOME SECTION
   ========================================================================== */
.welcome{background:var(--c-white);}
.welcome-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(48px,6vw,100px);
  align-items:center;
}
.welcome-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px 48px;
  margin-top:48px;
}
.stat-item{}

.stat-num{
  font-family:var(--f-titre);
  font-size:clamp(2.2rem,4vw,3.5rem);
  font-weight:400;
  line-height:1;
  color:var(--c-navy);
}
.stat-num em{color:var(--c-gold);
  font-style:normal;}
.stat-label{
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7a8a9e;
  margin-top:6px;
}
.welcome-img-col{
  position:relative;
}
.welcome-img-main{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:4px;
}
.welcome-img-badge{
  position:absolute;
  bottom:-24px;right:-24px;
  background:var(--c-navy);
  color:var(--c-white);
  padding:24px 28px;
  border-radius:4px;
  box-shadow:0 20px 50px rgba(0,0,0,.3);
}
.badge-num{
  font-family:var(--f-titre);
  font-size:2.4rem;
  font-weight:400;
  line-height:1;
  color:var(--c-gold);
}
.badge-txt{
  font-size:.75rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.65);
  margin-top:4px;
}

/* ==========================================================================
   REGIONS — 2 column split images
   ========================================================================== */
.regions{background:#f4f1ea;}
.regions-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.region-card{
  position:relative;
  overflow:hidden;
  border-radius:4px;
}
.region-card figure{
  width:100%;
  aspect-ratio:4/5;
  background-size:cover;
  background-position:center;
  transition:transform 8s ease;
}
.region-card:hover figure{transform:scale(1.04);}
.region-card-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(13,19,32,.85) 0%,rgba(13,19,32,.2) 50%,transparent 100%);
}
.region-card-content{
  position:absolute;
  bottom:0;left:0;right:0;
  padding:32px;
  color:var(--c-white);
}
.region-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--c-gold);
  margin-bottom:10px;
}
.region-name{
  font-family:var(--f-titre);
  font-size:clamp(1.6rem,3vw,2.4rem);
  font-weight:400;
  line-height:1.1;
}
.region-desc{
  font-size:.85rem;
  font-weight:300;
  color:rgba(255,255,255,.7);
  margin-top:8px;
  line-height:1.55;
}
.region-link{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--c-gold);
  margin-top:16px;
  transition:gap .2s;
}
.region-link:hover{gap:14px;}
.region-link::after{content:'→';font-size:.9rem;}

/* ==========================================================================
   FEATURES — 6 cards grid
   ========================================================================== */
.features{background:var(--c-white);}
.features-intro{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:60px;
}
.features-intro .sec-heading{max-width:540px;}
.features-more{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.83rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--c-navy);
  border-bottom:1px solid var(--c-navy);
  padding-bottom:2px;
  transition:color .2s,border-color .2s;
  white-space:nowrap;
  align-self:flex-end;
}
.features-more:hover{color:var(--c-gold);border-color:var(--c-gold);}
.features-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
  background:rgba(13,31,56,.12);
}
.feat-card{
  background:var(--c-white);
  padding:40px 36px;
  transition:background .25s;
}
.feat-card:hover{background:#f9f7f3;}
.feat-icon{
  width:48px;height:48px;
  margin-bottom:24px;
  color:var(--c-gold);
}
.feat-title{
  font-family:var(--f-titre);
  font-size:1.35rem;
  font-weight:500;
  color:var(--c-navy);
  margin-bottom:12px;
  line-height:1.2;
}
.feat-desc{
  font-size:.9rem;
  font-weight:300;
  line-height:1.7;
  color:#3a4a62;
}

/* ==========================================================================
   PROCESS — 3 steps
   ========================================================================== */
.process{background:#f4f1ea;}
.process-header{text-align:center;margin-bottom:64px;}
.process-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(32px,4vw,64px);
}
.step{
  text-align:center;
}
.step-num{
  width:56px;height:56px;
  border:1px solid var(--c-gold);
  border-radius:50%;
  display:grid;place-items:center;
  margin:0 auto 24px;
  font-family:var(--f-titre);
  font-size:1.3rem;
  font-weight:500;
  color:var(--c-gold);
}
.step-title{
  font-family:var(--f-titre);
  font-size:1.45rem;
  font-weight:500;
  color:var(--c-navy);
  margin-bottom:14px;
}
.step-desc{
  font-size:.9rem;
  font-weight:300;
  line-height:1.7;
  color:#3a4a62;
}

/* Connector line */
.process-grid{position:relative;}

/* ==========================================================================
   SHOWCASE — dark section with stats
   ========================================================================== */
.showcase{
  background:var(--c-navy);
  position:relative;
  overflow:hidden;
}
.showcase::before{
  content:'';
  position:absolute;
  top:-200px;right:-200px;
  width:600px;height:600px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(196,164,93,.06) 0%,transparent 70%);
  pointer-events:none;
}
.showcase-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}
.showcase-text .overline{color:var(--c-gold);}
.showcase-text .sec-heading{color:var(--c-white);}
.showcase-text .sec-body{color:rgba(255, 255, 255, 0.86);max-width:460px;}
.showcase-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  background:rgba(255,255,255,.06);
  border-radius:4px;
  overflow:hidden;
}
.sh-stat{
  background:var(--c-navy);
  padding:36px 32px;
}
.sh-num{
  font-family:var(--f-titre);
  font-size:clamp(2rem,3.5vw,3rem);
  font-weight:400;
  color:var(--c-gold);
  line-height:1;
}
.sh-label{
  font-size:.78rem;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  margin-top:8px;
  line-height:1.4;
}

.showcase-cta{
  display:inline-flex;align-items:center;gap:10px;
  margin-top:36px;
  padding:14px 30px;
  font-size:.85rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--az-navy-deep);
  background:var(--grad-gold);
  background-size:180% 180%;
  background-position:0% 50%;
  border-radius:3px;
  box-shadow:0 4px 15px rgba(180,132,43,.3), inset 0 1px 1px rgba(255,255,255,.55);
  transition:background-position .5s ease, transform .2s, box-shadow .2s;
}
.showcase-cta:hover{background-position:100% 50%;transform:translateY(-2px);box-shadow:0 6px 22px rgba(180,132,43,.42), inset 0 1px 1px rgba(255,255,255,.7);}

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.testimonials{background:var(--c-white);}
.testimonials-header{text-align:center;margin-bottom:56px;}
.testi-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.testi-card{
  background:#f9f7f3;
  border:1px solid rgba(13,31,56,.12);
  border-radius:4px;
  padding:36px 32px;
}
.testi-quote{
  font-size:2.5rem;
  font-family:var(--f-titre);
  font-weight:400;
  color:var(--c-gold);
  line-height:1;
  margin-bottom:16px;
}
.testi-text{
  font-size:.95rem;
  font-weight:300;
  font-style:italic;
  line-height:1.75;
  color:#3a4a62;
  margin-bottom:24px;
}
.testi-author{
  display:flex;align-items:center;gap:14px;
}
.testi-avatar{
  width:44px;height:44px;
  border-radius:50%;
  background:var(--c-navy);
  display:grid;place-items:center;
  font-family:var(--f-titre);
  font-size:1.1rem;
  color:var(--c-gold);
  flex-shrink:0;
}
.testi-name{
  font-size:.9rem;
  font-weight:600;
  color:var(--c-navy);
}
.testi-role{
  font-size:.8rem;
  font-weight:300;
  color:#7a8a9e;
  margin-top:2px;
}

/* ==========================================================================
   PROPERTIES — grid cards
   ========================================================================== */
.properties{background:#f4f1ea;}
.prop-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:48px;
}
.prop-card{
  border-radius:4px;
  overflow:hidden;
  background:var(--c-white);
  box-shadow:0 4px 24px rgba(0,0,0,.06);
  transition:transform .3s,box-shadow .3s;
}
.prop-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.12);}
.prop-img{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
}
.prop-img figure{
  width:100%;height:100%;
  background-size:cover;
  background-position:center;
  transition:transform 5s ease;
}
.prop-card:hover .prop-img figure{transform:scale(1.05);}
.prop-badge{
  position:absolute;
  top:16px;left:16px;
  padding:5px 12px;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  background:var(--c-gold);
  color:var(--c-navy);
  border-radius:2px;
}
.prop-info{padding:22px 22px 24px;}
.prop-type{
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#7a8a9e;
  margin-bottom:6px;
}
.prop-name{
  font-family:var(--f-titre);
  font-size:1.25rem;
  font-weight:500;
  color:var(--c-navy);
  line-height:1.2;
}
.prop-location{
  display:flex;align-items:center;gap:6px;
  font-size:.82rem;
  color:#7a8a9e;
  margin-top:8px;
  font-weight:300;
}
.prop-price{
  display:flex;align-items:baseline;gap:6px;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(13,31,56,.12);
}
.prop-price-num{
  font-family:var(--f-titre);
  font-size:1.4rem;
  font-weight:500;
  color:var(--c-navy);
}
.prop-price-unit{
  font-size:.78rem;
  color:#7a8a9e;
  font-weight:300;
}

/* ==========================================================================
   CTA BAND
   ========================================================================== */
.cta-band{
  background:#0B3B5A;
  text-align:center;
  padding:clamp(80px,10vw,120px) 24px;
}
.cta-band .overline{justify-content:center;}
.cta-band .overline::before{content:'';display:block;width:36px;height:1px;background:var(--c-gold);}
.cta-band .overline::after{display:none;}
.cta-band .sec-heading{color:var(--c-white);margin:0 auto;max-width:680px;}
.cta-band .sec-body{color:rgba(255,255,255,.6);margin:16px auto 0;max-width:480px;text-align:center;}
/* CTA heading italic accent */
.cta-band .sec-heading em{color:var(--c-gold-soft);font-style:italic;}
/* Badge variantes */
.prop-badge--pending{background:var(--c-navy);color:var(--c-gold);}
/* Footer platform note */
.footer-platform-label{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:8px;}
.footer-platform-value{font-family:var(--f-titre);font-size:1.1rem;color:rgba(255,255,255,.6);}
/* Annonces link dark override */
.btn-annonces-outline{
  display:inline-flex;align-items:center;
  gap:8px;color:var(--c-navy);
  border-color:rgba(13,31,56,.12);
  background-color: var(--c-navy-soft);
}

/* Overline symétrique (lignes des deux côtés) */
.overline-sym{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px;}
.overline-sym::before,.overline-sym::after{content:'';display:block;width:36px;height:1px;background:var(--c-gold);}
/* Mobile CTA link */
.btn-mobile-cta{text-align:center;flex:1;padding:12px 20px;}
.cta-band-actions{
  display:flex;justify-content:center;gap:16px;
  flex-wrap:wrap;
  margin-top:40px;
}
.btn-cta-primary{
  padding:15px 36px;
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold-ink);
  background:var(--grad-gold);
  background-size:180% 180%;
  background-position:0% 50%;
  border-radius:3px;
  box-shadow:0 4px 15px rgba(180,132,43,.3), inset 0 1px 1px rgba(255,255,255,.55);
  transition:background-position .5s ease, transform .15s, box-shadow .2s;
}
.btn-cta-primary:hover{background-position:100% 50%;transform:translateY(-2px);box-shadow:0 6px 22px rgba(180,132,43,.42), inset 0 1px 1px rgba(255,255,255,.7);}
.btn-cta-ghost{
  background:rgba(255, 255, 255, 0.76);
  color: var(--c-navy-deep);
  padding:14px 36px;
  font-size:.9rem;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.3);
  border-radius:3px;
  transition:background .2s,border-color .2s;
}
.btn-cta-ghost:hover{
  background:rgba(255, 255, 255, 0.419);
  border-color:rgb(255, 255, 255);
  color:var(--c-navy-soft);
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.lp-footer{
  padding: 1rem;
  position:relative;
  background:var(--c-navy-deep);
  overflow:hidden;
}
.footer-bg{
  position:absolute;
  inset:0;
  background-image:url('../img/landing/immeuble.jpg');
  background-size:cover;
  background-position:center top;
  opacity:.10;
}
.footer-inner{
  position:relative;
  z-index:1;
  max-width:var(--max);
  margin:0 auto;
  /* padding:clamp(60px,8vw,100px) clamp(24px,5vw,80px) 40px; */
  padding:clamp(10px,2vw,10px) clamp(10px,5vw,8px) 10px;
}
.footer-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:40px;
  margin-bottom:5px;
  padding-bottom:5px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-logo-row{display:flex;align-items:center;gap:10px;}
.footer-logo-mark{width:44px!important;height:44px!important;font-size:22px!important;}
.footer-logo-text{
  font-family:var(--f-titre);
  font-size:26px;
  font-weight:500;
  letter-spacing:.04em;
  color:var(--c-white);
  margin-top:4px;
}
.footer-tagline{
  font-size:.83rem;
  font-weight:300;
  color:rgba(255,255,255,.4);
  margin-top:12px;
  max-width:240px;
  line-height:1.6;
}
.footer-socials{
  display:flex;gap:12px;
  margin-top:20px;
}
.social-btn{
  width:36px;height:36px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  display:grid;place-items:center;
  color:rgba(255,255,255,.55);
  font-size:.85rem;
  transition:background .2s,border-color .2s,color .2s;
}
.social-btn:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.3);color:var(--c-white);}

/* Footer columns */
.footer-cols{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
  margin-bottom:5px;
}
.footer-col-title{
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--c-gold);
  margin-bottom:18px;
}
.footer-col a{
  display:block;
  font-size:.85rem;
  font-weight:300;
  color:rgba(255,255,255,.55);
  padding:5px 0;
  transition:color .2s;
}
.footer-col a:hover{color:rgba(255,255,255,.9);}
.footer-contact p{
  font-size:.85rem;
  font-weight:300;
  color:rgba(255,255,255,.55);
  line-height:1.65;
}
.footer-contact strong{
  display:block;
  color:rgba(255,255,255,.8);
  font-weight:500;
  margin-top:12px;margin-bottom:2px;
}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.06);
}
.footer-copy{
  font-size:.78rem;
  color:rgba(255,255,255,.3);
}
.footer-legal{
  display:flex;gap:20px;
}
.footer-legal a{
  font-size:.78rem;
  color:rgba(255,255,255,.3);
  transition:color .2s;
}
.footer-legal a:hover{color:rgba(255,255,255,.65);}

/* ==========================================================================
   REVEAL ANIMATIONS
   ========================================================================== */
.rv{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s ease,transform .7s ease;
}
.rv.in{opacity:1;transform:none;}
.rv-delay-1{transition-delay:.1s;}
.rv-delay-2{transition-delay:.2s;}
.rv-delay-3{transition-delay:.3s;}
.rv-delay-4{transition-delay:.4s;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media(max-width:1024px){
  .welcome-grid,.showcase-inner{grid-template-columns:1fr;}
  .welcome-img-col{display:none;}
  .features-grid{grid-template-columns:repeat(2,1fr);}
  .testi-grid{grid-template-columns:1fr 1fr;}
  .prop-grid{grid-template-columns:1fr 1fr;}
  .footer-cols{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  .nav-links,.nav-actions{display:none;}
  .nav-burger{display:flex;}
  .hero-location{display:none;}
  .hero-arrow{display:none;}
  .filter-inner{flex-direction:column;gap:0;}
  .filter-group{border-right:none;border-bottom:1px solid rgba(255,255,255,.08);padding:14px 0;}
  .filter-submit{width:100%;padding:16px;}
  .regions-grid{grid-template-columns:1fr;}
  .region-card figure{aspect-ratio:16/10;}
  .features-intro{flex-direction:column;align-items:flex-start;}
  .features-grid{grid-template-columns:1fr;}
  .process-grid{grid-template-columns:1fr;gap:40px;}
  .showcase-stats{grid-template-columns:1fr 1fr;}
  .testi-grid{grid-template-columns:1fr;}
  .prop-grid{grid-template-columns:1fr;}
  .footer-cols{grid-template-columns:1fr 1fr;}
  .footer-top{flex-direction:column;}
  .footer-bottom{flex-direction:column;text-align:center;}

  .hide-on-mobile {
    display: none !important;
  }
  th.hide-on-mobile,
  td.hide-on-mobile {
      display: none;
  }

}
@media(max-width:480px){
  .hero-heading{font-size:2.2rem;}
  .hero-ctas{flex-direction:column;}
  .welcome-stats{grid-template-columns:1fr 1fr;}
  .footer-cols{grid-template-columns:1fr;}
}
