/* Immodrim — refonte du design : fond blanc, noir, touches de violet.
   Chargée après style.css : elle redéfinit les couleurs et restyle la page d'accueil. */

@font-face { font-family: "Figtree"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/figtree-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/figtree-latin-500-normal.woff2") format("woff2"); }

:root {
  --brand: #4b3be0;
  --brand-dark: #0d0d14;
  --brand-mid: #0d0d14;
  --brand-soft: #f1efff;
  --brand-line: #e6e6ec;
  --ice-50: #f5f5f7;
  --ice-100: #f1efff;
  --ice-200: #e6e6ec;
  --frost: #c9c3ff;
  --ink: #0d0d14;
  --muted: #55556a;
  --gray: #f5f5f7;
  --black: #0d0d14;
  --shadow: 0 12px 32px rgba(13, 13, 20, .10);
  --shadow-soft: 0 6px 22px rgba(13, 13, 20, .05);
}
body { font-family: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-weight: 500; background: #fff; color: var(--ink); }
.alt { background: var(--gray); }
.estim-card .estim-step { display: none; }
.estim-card .estim-step.is-active { display: block; }
h1, h2, h3 { letter-spacing: -.025em; }

/* Boutons : pilules noires */
.btn { border-radius: 999px; }
.btn-primary { background: var(--black); color: #fff; border-color: var(--black); box-shadow: none; }
.btn-primary:hover { background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: none; }
.btn-ghost { background: #fff; color: var(--black); border: 1.5px solid var(--black); backdrop-filter: none; }
.btn-ghost:hover { background: var(--black); color: #fff; }
.btn-light { background: #fff; color: var(--black); }
.btn-light:hover { background: var(--brand-soft); color: var(--black); }

/* En-tête blanc, logo noir */
.site-header { background: rgba(255, 255, 255, .92); border-bottom: 1px solid var(--brand-line); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); }
.site-header .nav-toggle { background: transparent; border-color: var(--black); color: var(--black); }
.main-nav { background: #fff; border-bottom: 1px solid var(--brand-line); }
.main-nav a { color: var(--black); }
.main-nav a:hover { background: var(--gray); }
@media (min-width: 900px) {
  .main-nav { background: none; border: 0; }
  .main-nav a { border-bottom: 2px solid transparent; border-radius: 0; padding-inline: .6rem; }
  .main-nav a:hover { background: none; border-bottom-color: var(--brand); }
}

/* Haut de page : titre noir, vidéo dans un grand cadre arrondi */
.hero.hero-home {
  background: #fff; color: var(--ink); display: flex; flex-direction: column; min-height: 0;
  padding: clamp(2.2rem, 6vw, 4.5rem) 0 clamp(2rem, 5vw, 3.5rem);
}
.hero-home .hero-grid { order: 1; grid-template-columns: 1fr; width: min(1180px, 100% - 2rem); margin-inline: auto; }
.hero-home h1 { color: var(--black); font-size: clamp(2.2rem, 6vw, 4.6rem); line-height: 1.04; letter-spacing: -.04em; margin-bottom: 1.2rem; }
.hero.hero-home p.lead { color: var(--muted); font-size: clamp(1.05rem, 2.2vw, 1.3rem); max-width: 34rem; margin-bottom: 0; }
.hero-home .hero-points { color: var(--muted); font-size: .95rem; }
.hero-home .hero-points li::before { color: var(--brand); }
.hero-home .hero-bg {
  order: 2; position: relative; inset: auto; z-index: 0; width: min(1180px, 100% - 2rem); margin: clamp(1.6rem, 4vw, 3rem) auto 0;
  height: clamp(240px, 46vw, 560px); border-radius: clamp(22px, 3vw, 36px); overflow: hidden; background: var(--gray);
}
.hero-home .hero-bg::after { display: none; }

/* Le titre se compose ligne par ligne */
.hero-home .ln { display: block; clip-path: inset(0 0 -.2em 0); }
.hero-home .ln > span { display: block; transform: translateY(110%); animation: ln-rise .9s cubic-bezier(.2, .8, .2, 1) forwards; }
.hero-home .ln:nth-of-type(2) > span { animation-delay: .12s; }
.hero-home .ln:nth-of-type(3) > span { animation-delay: .24s; }
@keyframes ln-rise { to { transform: none; } }
.hero-home .lead, .hero-home .hero-actions, .hero-home .hero-points { opacity: 0; animation: hero-fade .8s forwards; }
.hero-home .lead { animation-delay: .7s; }
.hero-home .hero-actions { animation-delay: .85s; }
.hero-home .hero-points { animation-delay: 1s; }
@keyframes hero-fade { to { opacity: 1; } }

/* Mot qui tourne : violet */
.rot-words > span {
  color: var(--brand); background: none; -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: currentColor;
  justify-self: start; position: relative; white-space: nowrap;
}

/* Projets */
.chip { justify-self: start; display: inline-block; background: #fff; color: var(--black); font-weight: 700; font-size: .85rem; line-height: 1.5; padding: .1rem .75rem; border-radius: 999px; }
.chip-alt { background: var(--brand-soft); color: var(--brand); }
.tile { border-radius: 28px; box-shadow: none; }
.tile::after { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, .5) 65%, rgba(0, 0, 0, .8)); }

/* Chiffres : bande grise très claire */
.band { background: var(--gray); color: var(--ink); border: 0; }
.band .orb { display: none; }
.band-stat strong { color: var(--black); }
.band-stat > span { color: var(--muted); }

/* Bandeau de logos partenaires */
.logos { background: #fff; border-block: 1px solid var(--brand-line); }

/* Pourquoi le neuf : cartes unies, noir / gris / blanc */
.why-card::after { display: none; }
.tone-white { background: var(--gray); color: var(--ink); }
.tone-violet { background: var(--black); color: #fff; }
.tone-ice { background: var(--brand-soft); color: var(--ink); }
.tone-ink { background: #fff; color: var(--ink); border: 1px solid var(--brand-line); }
.tone-frost { background: var(--gray); color: var(--ink); }
.tone-violet h3, .tone-violet p { color: #fff; }

/* Parcours */
.tl-list::after { background: var(--brand); }
.tl-list li::before { border-color: var(--brand-line); }
.tl-list li.on::before { background: var(--brand); color: #fff; border-color: var(--brand); transform: scale(1.12); }
.card .icon, .steps li::before { background: var(--brand); box-shadow: none; }
.review-avatar { background: var(--black); box-shadow: none; }

/* Fondateur : citation mot à mot (inchangée) */
.js-words .w { color: #c8c8d2; }
.js-words .w.on { color: var(--black); }
.founder-photo { border: 0; box-shadow: none; border-radius: 36px; width: min(100%, 440px); }

/* Vendre, avis, contact, pied de page */
.panel { background: var(--black); box-shadow: none; border-radius: 28px; }
.badge { background: var(--brand); color: #fff; }
.reviews { background: #fff; }
.contact { background: var(--black); }
.contact .eyebrow { background: rgba(255, 255, 255, .12); }
.site-footer { background: #000; }
.legal-note { border-top-color: #2a2a33; }

/* Barre d'appel fixe sur mobile */
.sticky-cta {
  display: flex; gap: .6rem; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
  padding: .7rem 1rem calc(.7rem + env(safe-area-inset-bottom, 0px)); background: rgba(255, 255, 255, .96); border-top: 1px solid var(--brand-line);
}
.sticky-cta .btn { min-height: 48px; padding-inline: 1rem; white-space: nowrap; font-size: .95rem; }
.sticky-cta .btn-primary { flex: 2; }
.sticky-cta .btn-ghost { flex: 1; }
body.home { padding-bottom: 4.6rem; }
@media (min-width: 900px) { .sticky-cta { display: none; } body.home { padding-bottom: 0; } }

@media (prefers-reduced-motion: reduce) {
  .hero-home .ln > span { animation: none; transform: none; }
  .hero-home .lead, .hero-home .hero-actions, .hero-home .hero-points { animation: none; opacity: 1; }
}

/* Lisibilité du formulaire de contact */
.contact .form-card p, .contact .form-card .form-note { color: var(--muted); }

/* ===== Animations : on retire les effets génériques, on garde ce qui informe ===== */
.btn:hover, .card:hover { transform: none; }
.chip-float { animation: none; }
.js .reveal, .js .reveal.in, .js .card.reveal:not(.in), .js .steps li.reveal:not(.in) { opacity: 1; transform: none; transition: none; }
.js .steps li.reveal:not(.in)::before, .steps li.in::before { transform: none; box-shadow: none; }
.js .checks li { opacity: 1; transform: none; transition: none; }
.js .section-head h2, .js .why-head h2 { clip-path: none; transform: none; transition: none; }

/* Tuiles de projet : la tuile survolée s'élargit (ordinateur) */
@media (min-width: 900px) and (hover: hover) {
  .tiles { display: flex; align-items: stretch; }
  .tile { flex: 1; min-height: 560px; transition: flex .55s cubic-bezier(.2, .8, .2, 1); }
  .tile:hover, .tile:focus-within { flex: 1.55; }
}
@media (prefers-reduced-motion: reduce) { .tile { transition: none; } }

/* Neuf ou ancien : deux grands blocs avec photo */
.duo-grid { display: grid; gap: 1.25rem; }
.duo-card { background: var(--gray); border-radius: 32px; overflow: hidden; display: flex; flex-direction: column; }
.duo-img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 28%; display: block; }
.duo-body { padding: clamp(1.4rem, 3.5vw, 2.2rem); display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; flex: 1; }
.duo-card h3 { font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 800; margin: 0; color: var(--black); }
.duo-card p { margin: 0 0 .8rem; max-width: 30rem; font-size: 1.05rem; color: var(--muted); }
.duo-card .chip { background: #fff; }
.duo-card .chip-alt { background: var(--brand-soft); color: var(--brand); }
.duo-card .btn { margin-top: auto; }
.duo .section-head { margin-bottom: 2rem; }
@media (min-width: 800px) { .duo-grid { grid-template-columns: 1fr 1fr; } }

/* Pages intérieures : en-tête clair uni */
.hero:not(.hero-home) { background: var(--gray); }

/* Bandeau cookies compact sur mobile */
@media (max-width: 640px) {
  .cookie-banner { padding: .8rem 0 calc(.8rem + env(safe-area-inset-bottom, 0px)); }
  .cookie-banner h2 { font-size: 1rem; margin: 0 0 .3rem; }
  .cookie-banner p { font-size: .82rem; line-height: 1.4; margin-bottom: .6rem; }
  .cookie-actions { flex-wrap: nowrap; gap: .4rem; }
  .cookie-actions .btn { flex: 1 1 0; min-height: 44px; padding: .5rem .3rem; font-size: .82rem; border-width: 1.5px; }
}

/* Vidéo du haut de page : remplit son cadre, sans décalage de parallaxe */
.home .hero-home .hero-bg .hero-video { transform: none; width: 100%; height: 100%; object-fit: cover; will-change: auto; }
.why-card { box-shadow: none; }

/* ===== Accueil : tuiles entièrement cliquables ===== */
.tile-cta { align-self: flex-start; margin-top: .4rem; }
.tile-cta::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.tile:focus-within { outline: 3px solid var(--brand); outline-offset: 3px; }

/* ===== Chiffres : deux repères et une photo ===== */
.proof-band { background: #fff; padding: clamp(2.5rem, 6vw, 4.5rem) 0; }
.proof { display: grid; gap: 1.6rem; align-items: center; }
.proof-stats { display: grid; gap: 1.8rem; }
.proof-stats .band-stat { display: grid; gap: .3rem; }
.proof-stats .band-stat strong { font-size: clamp(3.2rem, 9vw, 5.4rem); line-height: 1; letter-spacing: -.045em; color: var(--black); }
.proof-stats .band-stat > span:last-child { color: var(--muted); font-size: 1.05rem; max-width: 22rem; }
.proof-img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 32px; display: block; }
@media (min-width: 800px) { .proof { grid-template-columns: .9fr 1.1fr; gap: 3.5rem; } }

/* ===== Pourquoi le neuf : grille éclatée ===== */
.why { background: #fff; padding: clamp(3rem, 8vw, 6rem) 0; }
.why .why-head { position: static; max-width: 46rem; margin-bottom: 2rem; }
.bento { display: grid; gap: 1rem; grid-template-columns: 1fr; }
.bx { position: relative; overflow: hidden; border-radius: 28px; padding: clamp(1.3rem, 3vw, 1.8rem); background: var(--gray); display: flex; flex-direction: column; gap: .6rem; min-height: 220px; }
.bx h3 { font-size: clamp(1.25rem, 2.4vw, 1.6rem); font-weight: 800; margin: 0; }
.bx p { margin: 0; }
.bx-tag { font-weight: 700; font-size: .95rem; color: var(--brand); }
.bx-notaire { background: var(--brand-soft); }
.bx-big { font-size: clamp(4.5rem, 12vw, 7.5rem); font-weight: 800; line-height: .95; letter-spacing: -.05em; color: var(--brand); }
.bx-sub { color: var(--ink); font-size: 1.05rem; max-width: 18rem; }
.bars { margin-top: auto; display: grid; gap: .6rem; padding-top: 1rem; }
.bar { display: grid; grid-template-columns: 4.2rem 1fr; align-items: center; gap: .6rem; font-size: .9rem; font-weight: 700; }
.bar i { display: block; height: 14px; border-radius: 99px; background: var(--brand); width: var(--w); }
.bar-old i { background: #c4bff0; }
.js .bx .bar i { width: 0; transition: width 1.3s cubic-bezier(.2, .8, .2, 1) .15s; }
.js .bx.inview .bar i { width: var(--w); }
.bx-garanties { background: var(--black); color: #fff; }
.bx-garanties h3 { color: #fff; }
.bx-ico { color: #b9b1ff; }
.pills { list-style: none; margin: .4rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.pills li { border: 1px solid rgba(255, 255, 255, .28); border-radius: 99px; padding: .35rem .85rem; font-size: .92rem; }
.bx-photo { color: #fff; justify-content: flex-end; min-height: 300px; }
.bx-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; transition: transform 1.2s cubic-bezier(.2, .8, .2, 1); }
.bx-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, .72)); z-index: 1; }
.bx-photo .bx-cap { position: relative; z-index: 2; display: grid; gap: .4rem; }
.bx-photo h3 { color: #fff; }
.bx-photo p { color: #f1f1f5; max-width: 26rem; }
.bx-photo:hover img { transform: scale(1.04); }
.bx-paiement p { color: var(--muted); }
.stepper { list-style: none; margin: auto 0 0; padding: 1rem 0 0; display: grid; grid-template-columns: repeat(4, 1fr); position: relative; }
.stepper::before, .stepper::after { content: ""; position: absolute; left: 12.5%; top: calc(1rem + 9px); height: 3px; border-radius: 3px; }
.stepper::before { right: 12.5%; background: #d9d9e2; }
.stepper::after { width: 0; background: var(--brand); transition: width 1.8s cubic-bezier(.4, 0, .2, 1) .25s; }
.inview .stepper::after { width: 75%; }
.no-js .stepper::after { width: 75%; }
.stepper li { position: relative; text-align: center; font-size: .82rem; font-weight: 700; padding-top: 30px; color: var(--muted); }
.stepper li::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 3px solid #d9d9e2; z-index: 1; transition: border-color .4s, background .4s; }
.inview .stepper li::before { border-color: var(--brand); background: var(--brand); }
.inview .stepper li:nth-child(2)::before { transition-delay: .6s; }
.inview .stepper li:nth-child(3)::before { transition-delay: 1.1s; }
.inview .stepper li:nth-child(4)::before { transition-delay: 1.6s; }
.bx-contact { background: var(--brand); color: #fff; }
.bx-contact h3 { color: #fff; }
.bx-contact p { color: #ecebff; }
.bx-contact .btn { align-self: flex-start; margin-top: auto; }
.bx-avatar { width: 68px; height: 68px; border-radius: 50%; object-fit: cover; border: 3px solid rgba(255, 255, 255, .6); }
@media (min-width: 900px) {
  .bento { grid-template-columns: repeat(6, 1fr); grid-auto-rows: minmax(230px, auto); }
  .bx-notaire { grid-column: 1 / 3; grid-row: 1 / 3; }
  .bx-garanties { grid-column: 3 / 7; }
  .bx-energie { grid-column: 3 / 5; }
  .bx-paiement { grid-column: 5 / 7; }
  .bx-image { grid-column: 1 / 4; }
  .bx-contact { grid-column: 4 / 7; }
}

/* ===== Vendre : photo dans le panneau ===== */
.panel { padding: 0; overflow: hidden; }
.panel-img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.panel-body { padding: clamp(1.4rem, 3vw, 2rem); }

/* ===== Avis ===== */
.reviews { background: var(--gray); }
.review { background: #fff; border: 0; border-radius: 28px; box-shadow: none; }
.review h3 { font-size: 1.35rem; letter-spacing: -.02em; }
.review-stars { color: #f5b301; }

/* ===== Accueil v3.6 : hiérarchie Acheter / Investir / Vendre ===== */
.kicker{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:.9rem;color:var(--muted);margin:0 0 1rem}
.kicker span{display:inline-grid;place-items:center;min-width:2rem;height:2rem;padding:0 .5rem;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-weight:700;font-size:.8rem}
.proof .kicker-wide{grid-column:1/-1}
.invest{background:var(--black);color:#fff;padding:clamp(3.5rem,8vw,6.5rem) 0}
.invest .kicker{color:rgba(255,255,255,.7)}
.invest .kicker span{background:var(--brand);color:#fff}
.invest h2{color:#fff;max-width:20ch}
.invest-head{display:grid;gap:1rem;margin-bottom:2.5rem}
.invest-head p{color:rgba(255,255,255,.75);max-width:52ch;margin:0}
.invest-steps{list-style:none;margin:0 0 2.5rem;padding:0;display:grid;gap:1rem;counter-reset:s}
.invest-steps li{position:relative;padding:1.6rem;border-radius:28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);overflow:hidden}
.invest-steps h3{color:#fff;margin:1rem 0 .4rem;font-size:1.2rem}
.invest-steps p{color:rgba(255,255,255,.72);margin:0}
.is-n{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--brand);color:#fff;font-weight:700}
@media(min-width:900px){.invest-steps{grid-template-columns:repeat(3,1fr)}}
.js .invest-steps li{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.js .invest-steps li.inview{opacity:1;transform:none}
.js .invest-steps li:nth-child(2){transition-delay:.12s}.js .invest-steps li:nth-child(3){transition-delay:.24s}
.sell-steps{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0 0 1.5rem}
.sell-steps li{padding:.5rem 1rem;border-radius:999px;border:1px solid var(--brand-line);font-weight:600;font-size:.9rem;background:#fff}
.sell-steps li+li::before{content:"→ ";color:var(--brand)}
.js .sell-steps li{opacity:0;transform:translateX(-12px);transition:.5s ease}
.js .sell-steps.inview li{opacity:1;transform:none}
.js .sell-steps.inview li:nth-child(2){transition-delay:.15s}.js .sell-steps.inview li:nth-child(3){transition-delay:.3s}

/* v3.7 : bento simplifié */
.bento-4{margin-top:2rem}
@media(min-width:900px){
.bento-4 .bx-notaire{grid-column:1/4;grid-row:1}
.bento-4 .bx-garanties{grid-column:4/7;grid-row:1}
.bento-4 .bx-image{grid-column:1/4;grid-row:2}
.bento-4 .bx-contact{grid-column:4/7;grid-row:2}}
.bento-4 .bx-garanties .bx-big{color:#fff}
.bento-4 .bx-garanties .bx-sub{color:rgba(255,255,255,.75)}
.bento-4 .bx-garanties .bx-tag{color:rgba(255,255,255,.7)}
.logos-in{padding:1.5rem 0 0}
.invest-steps li{padding:1.8rem}
.invest-steps h3{margin-top:0;font-size:1.3rem}

/* ===== v3.8 : haut de page = vidéo plein cadre + projets intégrés ===== */
.hero.hero-home{position:relative;background:var(--black);color:#fff;padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2rem,5vw,3.5rem);overflow:hidden}
.hero-home .hero-bg{position:absolute;inset:0;order:0;width:auto;height:auto;margin:0;border-radius:0;background:var(--black)}
.hero-home .hero-bg::after{display:block;background:linear-gradient(180deg,rgba(8,8,14,.72) 0%,rgba(8,8,14,.55) 40%,rgba(8,8,14,.88) 100%)}
.hero-home .hero-grid,.hero-home .hero-projects{position:relative;z-index:1}
.hero-home h1{color:#fff}
.hero.hero-home p.lead,.hero-home .hero-points{color:rgba(255,255,255,.82)}
.hero-home .hero-points li::before{color:#fff}
.hero-home .rot-words>span{color:#b9b0ff}
.hero-home .btn-primary{background:#fff;color:var(--black)}
.hero-home .btn-primary:hover{background:var(--brand-soft)}
.hero-home .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.hero-home .btn-ghost:hover{background:rgba(255,255,255,.12)}
.hero-projects{width:min(1180px,100% - 2rem);margin:clamp(2rem,5vw,3.5rem) auto 0}
.hero-q{color:#fff;font-size:clamp(1.3rem,2.6vw,1.8rem);margin:0 0 1.2rem;letter-spacing:-.02em}
.hero-home .tile{border:1px solid rgba(255,255,255,.18)}
.invest h2 em{font-style:normal;color:#b9b0ff}
.invest-head{display:block}
.invest-head p{margin-top:1rem}
.panel{display:block;color:inherit;text-decoration:none;transition:transform .3s ease}
.panel:hover{transform:translateY(-4px)}
.panel .btn{pointer-events:none;margin-top:.5rem}
.vendre-copy .mini-stats{margin-bottom:0}
.hero-home .hero-projects{order:2}

/* ===== v3.9 ===== */
:root{--funk:#7c4dff;--orange:#ff8a3d;--pink:#ff5d9e}
/* en-tête transparent sur la vidéo */
.home .site-header{position:fixed;top:0;left:0;right:0;background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .3s ease,border-color .3s ease}
.home .site-header .logo img{filter:brightness(0) invert(1);transition:filter .3s}
.home .site-header .nav-toggle{border-color:rgba(255,255,255,.8);color:#fff}
.home .site-header.scrolled{background:rgba(255,255,255,.94);border-bottom-color:var(--brand-line);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.home .site-header.scrolled .logo img{filter:none}
.home .site-header.scrolled .nav-toggle{border-color:var(--black);color:var(--black)}
@media(min-width:900px){
.home .site-header:not(.scrolled) .main-nav a{color:#fff}
.home .site-header:not(.scrolled) .main-nav a:hover{background:none;border-bottom-color:#fff}
.home .site-header:not(.scrolled) .header-cta{background:#fff;color:var(--black)}}
.hero.hero-home{padding-top:clamp(6rem,12vw,8.5rem)}
.hero-home .hero-bg::after{background:linear-gradient(180deg,rgba(8,8,14,.55) 0%,rgba(8,8,14,.25) 45%,rgba(8,8,14,.7) 100%)}
/* tuiles en transparence */
.hero-home .tile{background:rgba(255,255,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.28)}
.hero-home .tile-img{opacity:.55;transition:opacity .5s ease}
.hero-home .tile:hover .tile-img,.hero-home .tile:focus-within .tile-img{opacity:.9}
.hero-home .tile::after{background:linear-gradient(180deg,rgba(8,8,14,0) 25%,rgba(8,8,14,.6) 100%)}
.chip-violet{background:var(--funk)!important;color:#fff!important}
.chip-orange{background:var(--orange)!important;color:#2b1400!important}
.chip-pink{background:var(--pink)!important;color:#fff!important}
/* logos sans filets */
.logos,.logos-in{border:0}
.logos-in .marquee,.logos-in .container{border:0}
/* survol des cartes */
.bento-4 .bx{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.bento-4 .bx:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(30,20,90,.18)}
.bento-4 .bx-big{transition:transform .4s cubic-bezier(.2,.8,.2,1);transform-origin:left bottom}
.bento-4 .bx:hover .bx-big{transform:scale(1.06)}
.bento-4 .bx-photo img{transition:transform .8s ease}
.bento-4 .bx-photo:hover img{transform:scale(1.06)}
.stat{transition:transform .3s ease,box-shadow .3s ease}
.stat:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(30,20,90,.12)}
/* carte expert */
.bento-4 .bx-contact{background:linear-gradient(135deg,#4b3be0,#7c4dff 60%,#ff5d9e);color:#fff;justify-content:flex-end}
.bento-4 .bx-contact h3{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.1;margin:.4rem 0 .6rem;color:#fff}
.bento-4 .bx-contact .bx-tag{color:rgba(255,255,255,.8)}
.bento-4 .bx-contact p{color:rgba(255,255,255,.9)}
/* investir */
.invest h2 em{color:#ff9b5e}
.invest-grid{display:grid;gap:2.5rem;align-items:center}
@media(min-width:900px){.invest-grid{grid-template-columns:1.15fr .85fr;gap:4rem}}
.invest-lead{color:rgba(255,255,255,.78);margin:1rem 0 2rem;max-width:46ch}
.invest-steps{display:flex;flex-direction:column;gap:0;margin:0 0 2rem}
.invest-steps li{background:none;border:0;border-left:3px solid rgba(255,255,255,.18);border-radius:0;padding:.4rem 0 .4rem 1.4rem;margin-bottom:1.4rem;transition:border-color .3s ease,transform .3s ease}
.invest-steps li:hover{border-left-color:var(--funk);transform:translateX(6px)}
.invest-steps li:nth-child(2):hover{border-left-color:var(--orange)}
.invest-steps li:nth-child(3):hover{border-left-color:var(--pink)}
.invest-steps h3{font-size:1.25rem}
.invest-photo{margin:0;border-radius:32px;overflow:hidden;position:relative;aspect-ratio:4/5;box-shadow:0 30px 80px rgba(124,77,255,.35)}
.invest-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s ease}
.invest-photo:hover img{transform:scale(1.05)}
.js .invest-photo{clip-path:inset(0 0 100% 0);transition:clip-path 1s cubic-bezier(.2,.8,.2,1)}
.js .invest-photo.inview{clip-path:inset(0)}
.hero-home .rot-words>span{color:#a98bff}
.hero-home .hero-projects{width:100%;max-width:1180px;padding-inline:1rem;box-sizing:border-box}
.js .invest-grid.inview .invest-photo{clip-path:inset(0)}
.hero-home h1{font-size:clamp(2.2rem,5vw,3.8rem)}
.hero.hero-home{padding-top:clamp(5.5rem,10vw,7rem)}

/* ===== Pages intérieures v4.0 ===== */
.hero-dark{background:var(--black)!important;color:#fff;overflow:hidden}
.hero-dark h1{color:#fff}
.hero-dark h1 em{font-style:normal;color:#a98bff}
.hero-dark .lead,.hero-dark .hero-points,.hero-dark .breadcrumb,.hero-dark .breadcrumb a{color:rgba(255,255,255,.8)}
.hero-dark .hero-points li::before{color:#fff}
.hero-dark .btn-primary{background:#fff;color:var(--black)}
.hero-dark .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.hero-photo{border-radius:32px;overflow:hidden;box-shadow:0 30px 80px rgba(124,77,255,.4);aspect-ratio:4/5;max-height:560px;animation:float 7s ease-in-out infinite}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes float{50%{transform:translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.hero-photo{animation:none}}
.bento-6{margin-top:2rem}
@media(min-width:900px){.bento-6{grid-template-columns:repeat(3,1fr)}.bento-6 .bx{grid-column:auto;grid-row:auto}}
.bx-violet{background:var(--brand-soft)}
.bx-violet .bx-big{color:var(--brand)}
.bx-orange{background:#fff1e6}
.bx-orange .bx-tag{color:#c2410c}
.bento-6 .bx{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.bento-6 .bx:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(30,20,90,.16)}
.bento-6 .bx-garanties .bx-big{color:#fff}.bento-6 .bx-garanties .bx-sub{color:rgba(255,255,255,.78)}.bento-6 .bx-garanties .bx-tag{color:rgba(255,255,255,.7)}
/* frise des étapes */
.timeline-section{background:var(--gray);padding:clamp(3rem,8vw,6rem) 0}
.tl-list{list-style:none;margin:2.5rem 0 0;padding:0;position:relative;display:grid;gap:2rem;max-width:46rem}
.tl-list::before{content:"";position:absolute;left:1.3rem;top:0;bottom:0;width:3px;background:#dcdce6;border-radius:3px}
.tl-list::after{content:"";position:absolute;left:1.3rem;top:0;width:3px;border-radius:3px;background:linear-gradient(var(--funk),var(--pink));height:calc(var(--p,0) * 100%)}
.tl-list li{position:relative;display:grid;grid-template-columns:2.6rem 1fr;gap:1.2rem;align-items:start}
.tl-list h3{margin:.3rem 0 .3rem;font-size:1.3rem}.tl-list p{margin:0;color:var(--muted)}
.tl-n{position:relative;z-index:1;width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid #dcdce6;font-weight:800;transition:background .4s,border-color .4s,color .4s,transform .4s}
.tl-list li.on .tl-n{background:var(--funk);border-color:var(--funk);color:#fff;transform:scale(1.08)}
/* moments */
.expert-band{background:linear-gradient(135deg,#2e2394,#4b3be0 55%,#7c4dff);color:#fff;padding:clamp(3rem,8vw,6rem) 0}
.expert-band h2{color:#fff;max-width:18ch}.expert-band h2 em{font-style:normal;color:#ffb27a}
.moments{list-style:none;margin:2.5rem 0;padding:0;display:grid;gap:1rem}
@media(min-width:900px){.moments{grid-template-columns:repeat(4,1fr)}}
.moments li{padding:1.4rem;border-radius:24px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);transition:transform .3s,background .3s}
.moments li:hover{transform:translateY(-6px);background:rgba(255,255,255,.18)}
.moments span{display:inline-block;font-size:.8rem;font-weight:700;padding:.2rem .7rem;border-radius:99px;background:#fff;color:var(--brand)}
.moments h3{color:#fff;margin:.9rem 0 .4rem;font-size:1.2rem}.moments p{margin:0;color:rgba(255,255,255,.85)}
.js .moments li{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s,background .3s}
.js .moments.inview li{opacity:1;transform:none}
.js .moments.inview li:nth-child(2){transition-delay:.12s}.js .moments.inview li:nth-child(3){transition-delay:.24s}.js .moments.inview li:nth-child(4){transition-delay:.36s}
/* villes */
.cities-section{padding:clamp(3rem,8vw,6rem) 0}
.city-grid{list-style:none;margin:2rem 0 1.5rem;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:800px){.city-grid{grid-template-columns:repeat(4,1fr)}}
.city-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:170px;padding:1.2rem;border-radius:26px;color:#fff;text-decoration:none;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.city-card b{position:absolute;top:-.6rem;right:.8rem;font-size:5.5rem;line-height:1;letter-spacing:-.05em;opacity:.28;transition:transform .5s,opacity .4s}
.city-card span{position:relative;font-weight:800;font-size:1.15rem}
.city-card::after{content:"→";position:absolute;right:1.1rem;bottom:1rem;transition:transform .3s}
.city-card:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:0 24px 40px rgba(30,20,90,.22)}
.city-card:hover b{transform:scale(1.15);opacity:.45}.city-card:hover::after{transform:translateX(5px)}
.c1{background:linear-gradient(135deg,#4b3be0,#7c4dff)}.c2{background:linear-gradient(135deg,#0d0d14,#3b3b52)}.c3{background:linear-gradient(135deg,#ff8a3d,#ff5d9e)}.c4{background:linear-gradient(135deg,#2e2394,#4b3be0)}
.c5{background:linear-gradient(135deg,#7c4dff,#ff5d9e)}.c6{background:linear-gradient(135deg,#ff5d9e,#ff8a3d)}.c7{background:linear-gradient(135deg,#3b3b52,#4b3be0)}.c8{background:linear-gradient(135deg,#0d0d14,#7c4dff)}
.city-more{color:var(--muted)}.city-more a{font-weight:700;color:var(--brand)}

.hero-dark p.lead{color:rgba(255,255,255,.82)}
.hero-dark .hero-photo{margin-inline:auto}

/* ---- Investir : puces flottantes, onglets, check-list ---- */
.float-wrap{position:relative}
.float-chip{position:absolute;z-index:2;padding:.55rem 1rem;border-radius:99px;background:#fff;color:var(--black);font-weight:700;font-size:.9rem;box-shadow:0 14px 30px rgba(0,0,0,.3);animation:float 6s ease-in-out infinite}
.fc1{top:12%;left:-6%}.fc2{top:46%;right:-4%;animation-delay:-2s;background:var(--orange)}.fc3{bottom:10%;left:2%;animation-delay:-4s;background:var(--funk);color:#fff}
@media(max-width:700px){.fc1{left:2%}.fc2{right:2%}}
@media(prefers-reduced-motion:reduce){.float-chip{animation:none}}
.bento-2{margin-top:2rem}
@media(min-width:900px){.bento-2{grid-template-columns:repeat(2,1fr)}.bento-2 .bx{grid-column:auto;grid-row:auto}}
.bento-2 .bx{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.bento-2 .bx:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(30,20,90,.16)}
.bento-2 .bx-garanties .bx-big{color:#fff}.bento-2 .bx-garanties .bx-sub{color:rgba(255,255,255,.78)}.bento-2 .bx-garanties .bx-tag{color:rgba(255,255,255,.7)}
.tabs-section{background:var(--gray);padding:clamp(3rem,8vw,6rem) 0}
.tabs{display:grid;gap:1.2rem;margin-top:2rem}
@media(min-width:900px){.tabs{grid-template-columns:.8fr 1.2fr;gap:2rem}}
.tab-list{display:flex;flex-direction:column;gap:.5rem}
.tab{position:relative;text-align:left;font:inherit;font-weight:700;font-size:1.05rem;padding:1rem 1.2rem;border-radius:18px;border:0;background:#fff;color:var(--ink);cursor:pointer;overflow:hidden;transition:transform .25s,box-shadow .25s}
.tab:hover{transform:translateX(4px)}
.tab span{position:relative;z-index:1}
.tab i{position:absolute;left:0;bottom:0;height:4px;width:0;background:linear-gradient(90deg,var(--funk),var(--pink))}
.tab[aria-selected="true"]{background:var(--black);color:#fff;box-shadow:0 14px 30px rgba(13,13,20,.25)}
.tab[aria-selected="true"] i{animation:tabfill 5s linear forwards}
.tabs.paused .tab[aria-selected="true"] i{animation:none;width:100%}
@keyframes tabfill{to{width:100%}}
.tab-panels{background:linear-gradient(135deg,#4b3be0,#7c4dff);color:#fff;border-radius:32px;padding:clamp(1.6rem,4vw,3rem);display:flex;align-items:center;min-height:240px}
.tab-panel h3{color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 .8rem}
.tab-panel p{color:rgba(255,255,255,.9);font-size:1.15rem;margin:0;max-width:34rem}
.tab-panel:not([hidden]){animation:panelin .5s ease}
@keyframes panelin{from{opacity:0;transform:translateY(12px)}}
.vigil{padding:clamp(3rem,8vw,6rem) 0}
.vigil-grid{display:grid;gap:2rem;align-items:center}
@media(min-width:900px){.vigil-grid{grid-template-columns:1fr 1fr;gap:4rem}}
.tick-list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.tick-list li{position:relative;padding:1rem 1rem 1rem 3.6rem;border-radius:18px;background:var(--gray);font-weight:600}
.tick-list li::before{content:"";position:absolute;left:1rem;top:50%;width:1.7rem;height:1.7rem;margin-top:-.85rem;border-radius:50%;background:#fff;border:2px solid #d5d5df;transition:background .4s,border-color .4s}
.tick-list li::after{content:"";position:absolute;left:1.62rem;top:50%;width:.4rem;height:.75rem;margin-top:-.5rem;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.tick-list.inview li::before{background:var(--funk);border-color:var(--funk)}
.tick-list.inview li::after{transform:rotate(45deg) scale(1)}
.tick-list li:nth-child(2)::before,.tick-list li:nth-child(2)::after{transition-delay:.3s}
.tick-list li:nth-child(3)::before,.tick-list li:nth-child(3)::after{transition-delay:.6s}
.tick-list li:nth-child(4)::before,.tick-list li:nth-child(4)::after{transition-delay:.9s}
.tick-list li:nth-child(5)::before,.tick-list li:nth-child(5)::after{transition-delay:1.2s}
.no-js .tick-list li::before{background:var(--funk)}.no-js .tick-list li::after{transform:rotate(45deg) scale(1)}

/* ---- Vendre : parcours, chiffres, documents ---- */
.journey-section{padding:clamp(3rem,8vw,6rem) 0}
.journey{list-style:none;margin:2.5rem 0;padding:0;display:grid;gap:1.6rem;position:relative}
.journey li{position:relative;padding-left:3.6rem}
.journey li::before{content:"";position:absolute;left:1.25rem;top:2.6rem;bottom:-1.6rem;width:3px;background:#e1e1ea}
.journey li:last-child::before{display:none}
.j-dot{position:absolute;left:0;top:0;width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#fff;border:3px solid #e1e1ea;transition:all .5s}
.journey.inview .j-dot{background:var(--black);border-color:var(--black);color:#fff}
.journey li:nth-child(2) .j-dot{transition-delay:.25s}.journey li:nth-child(3) .j-dot{transition-delay:.5s}.journey li:nth-child(4) .j-dot{transition-delay:.75s}.journey li:nth-child(5) .j-dot{transition-delay:1s}
.journey h3{margin:.2rem 0 .3rem}.journey p{margin:0;color:var(--muted)}
@media(min-width:900px){
.journey{grid-template-columns:repeat(5,1fr);gap:1.5rem}
.journey li{padding:3.8rem 0 0}
.journey li::before{left:2.6rem;right:-1.5rem;top:1.2rem;bottom:auto;width:auto;height:3px;transform-origin:left;transform:scaleX(0);transition:transform .8s ease}
.journey.inview li::before{transform:scaleX(1)}
.journey li:nth-child(2)::before{transition-delay:.25s}.journey li:nth-child(3)::before{transition-delay:.5s}.journey li:nth-child(4)::before{transition-delay:.75s}
.no-js .journey li::before{transform:none}}
.big-stats{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:1rem}
.big-stat{padding:1.6rem;border-radius:28px;background:var(--brand-soft);transition:transform .3s}
.big-stat:hover{transform:translateY(-5px)}
.big-stat:nth-child(2){background:#fff1e6}
.big-stat strong{display:block;font-size:clamp(2.4rem,7vw,4.6rem);line-height:1;letter-spacing:-.04em;color:var(--brand)}
.big-stat:nth-child(2) strong{color:#c2410c}
.big-stat span{color:var(--muted)}
.est-band{background:var(--black);color:#fff;padding:clamp(3rem,8vw,6rem) 0}
.est-band h2{color:#fff}.est-band p{color:rgba(255,255,255,.8)}
.est-band .panel{background:#fff;color:var(--ink);border-radius:32px}
.docs-section{padding:clamp(3rem,8vw,6rem) 0}
.docs-grid{display:grid;gap:2rem;align-items:start}
@media(min-width:900px){.docs-grid{grid-template-columns:.8fr 1.2fr;gap:4rem}}
.dp-bar{height:12px;border-radius:99px;background:#e6e6ee;overflow:hidden;margin:1.4rem 0 .6rem}
.dp-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--funk),var(--pink));border-radius:99px;transition:width .5s cubic-bezier(.3,1.2,.5,1)}
.doc-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.doc-list label{display:flex;gap:.9rem;align-items:center;padding:.9rem 1rem;border-radius:16px;background:var(--gray);cursor:pointer;transition:background .25s,transform .25s}
.doc-list label:hover{transform:translateX(4px)}
.doc-list input{appearance:none;-webkit-appearance:none;flex:none;width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid #cfcfda;background:#fff;display:grid;place-items:center;cursor:pointer;transition:all .3s}
.doc-list input::after{content:"";width:.4rem;height:.75rem;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);margin-top:-.15rem;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.doc-list input:checked{background:var(--funk);border-color:var(--funk)}
.doc-list input:checked::after{transform:rotate(45deg) scale(1)}
.doc-list input:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.doc-list li:has(input:checked) label{background:var(--brand-soft)}
.doc-list li:has(input:checked) span{text-decoration:line-through;text-decoration-color:rgba(75,59,224,.4)}
.est-band .panel{background:linear-gradient(135deg,#4b3be0,#7c4dff);color:#fff}
.est-band .panel h3,.est-band .panel p{color:#fff}
.why .why-head{max-width:60rem}
.why .why-head h2{text-wrap:balance}
.big-stat strong{white-space:nowrap;font-size:clamp(1.9rem,8vw,4.6rem)}

/* ===== Accueil : bandeau capacité d'emprunt ===== */
.capband { padding: clamp(2.5rem, 6vw, 4.5rem) 0; background: #fff; }
.capband-grid { display: grid; gap: 2rem; align-items: center; background: var(--gray); border-radius: 32px; padding: clamp(1.6rem, 4vw, 3rem); }
.capband-copy h2 { margin: 0 0 1rem; font-size: clamp(1.7rem, 4.2vw, 2.7rem); line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.capband-copy p { margin: 0 0 1.4rem; color: var(--muted); max-width: 32rem; }
.capband-visual { background: #fff; border-radius: 24px; padding: 1.3rem; box-shadow: var(--shadow-soft); display: grid; gap: 1rem; }
.cb-top { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: .45rem; font-weight: 700; font-size: .95rem; }
.cb-top strong { font-size: 1.3rem; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.cb-neuf .cb-top strong { color: var(--brand); }
.cb-bar { display: flex; height: 20px; border-radius: 99px; overflow: hidden; background: #ececf2; }
.cb-bar i { display: block; height: 100%; width: 0; transition: width 1s cubic-bezier(.3, .7, .2, 1); }
.cb-neuf .cb-a { background: var(--black); } .cb-neuf .cb-b { background: var(--brand); } .cb-neuf .cb-c { background: #ff8a3d; } .cb-neuf .cb-d { background: #ff5d9e; }
.cb-ancien .cb-a { background: var(--black); } .cb-ancien .cb-b { background: #6f6f86; }
.inview .cb-neuf .cb-a, .no-js .cb-neuf .cb-a { width: 9%; } .inview .cb-neuf .cb-b { width: 57%; } .inview .cb-neuf .cb-c { width: 24%; } .inview .cb-neuf .cb-d { width: 10%; }
.inview .cb-ancien .cb-a { width: 9%; } .inview .cb-ancien .cb-b { width: 74%; }
.cb-note { margin: 0; font-size: .78rem; color: var(--muted); }
@media (min-width: 860px) { .capband-grid { grid-template-columns: 1.1fr .9fr; } }
@media (prefers-reduced-motion: reduce) { .cb-bar i { transition: none; } }
