/* /assets/css/style.css */
/* ==========================================================
   BienVu — Design system
   Palette : chaleureuse / premium / immobilier
   Typo : Fraunces (display, caractère) + Inter (UI/body) + IBM Plex Mono (data/scores)
   ========================================================== */

:root {
  /* Couleurs */
  --bv-fond:        #FBF8F4;
  --bv-blanc:       #FFFFFF;
  --bv-orange:      #FF6A1A;
  --bv-orange-deep: #E24E00;
  --bv-orange-pale: #FFE7D6;
  --bv-encre:       #1E1C1A;
  --bv-charbon:     #4A463F;
  --bv-ligne:       #ECE4D8;
  --bv-vert-ok:     #2F7A4F;

  /* Typo */
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: 'IBM Plex Mono', Menlo, monospace;

  /* Rythme */
  --rayon: 18px;
  --rayon-sm: 10px;
  --ombre: 0 10px 30px rgba(30, 28, 26, 0.07);
  --ombre-forte: 0 20px 50px rgba(30, 28, 26, 0.14);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font-body);
  background: var(--bv-fond);
  color: var(--bv-encre);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--bv-encre);
  line-height: 1.12;
  margin: 0 0 .5em;
  letter-spacing: -0.01em;
}

p { line-height: 1.65; color: var(--bv-charbon); }

a { color: inherit; text-decoration: none; }

.container-bv {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Focus visible clavier — accessibilité */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--bv-orange);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .bv-home-scores i b { transition:none !important; }
}

/* ---------------------------------------------------------
   Boutons
   --------------------------------------------------------- */
.btn-bv {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.98rem;
  padding: 14px 26px;
  border-radius: 999px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space: nowrap;
}
.btn-bv:hover { transform: translateY(-2px); }

.btn-bv--primaire {
  background: var(--bv-orange);
  color: #fff;
  box-shadow: 0 8px 22px rgba(255, 106, 26, 0.35);
}
.btn-bv--primaire:hover { background: var(--bv-orange-deep); color: #fff; }

.btn-bv--fantome {
  background: transparent;
  border-color: var(--bv-encre);
  color: var(--bv-encre);
}
.btn-bv--fantome:hover { background: var(--bv-encre); color: #fff; }

.btn-bv--clair {
  background: #fff;
  color: var(--bv-encre);
  box-shadow: var(--ombre);
}

.btn-bv--large { padding: 17px 34px; font-size: 1.05rem; }
.btn-bv--full { width: 100%; justify-content: center; }

/* ---------------------------------------------------------
   Navbar
   --------------------------------------------------------- */
.bv-nav {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(251, 248, 244, 0.88);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--bv-ligne);
}
.bv-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
}
.bv-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--bv-encre);
}
.bv-logo__point { color: var(--bv-orange); }

/* Image logo (remplace le texte "BienVu.") : hauteur fixe, largeur automatique -> aucune déformation */
.bv-logo-img {
  height: 52px;
  width: auto;
  display: block;
}
@media (max-width: 900px) {
  .bv-logo-img { height: 40px; }
}

.bv-nav__liens {
  display: flex;
  align-items: center;
  gap: 32px;
  font-weight: 500;
  font-size: 0.95rem;
}
.bv-nav__liens a { color: var(--bv-charbon); transition: color .15s; }
.bv-nav__liens a:hover { color: var(--bv-orange); }

.bv-nav__actions { display: flex; align-items: center; gap: 12px; }

.bv-burger { display: none; background: none; border: none; font-size: 1.6rem; cursor: pointer; }

/* Liens Connexion / Essayer BienVu dupliqués dans le menu burger : masqués sur desktop */
.bv-nav__lien-mobile-uniquement { display: none; }

@media (max-width: 900px) {
  .bv-nav__liens { display: none; }
  .bv-nav__actions { display: none; } /* évite le débordement horizontal : ces boutons passent dans le burger */
  .bv-burger { display: block; }
  .bv-nav__lien-mobile-uniquement {
    display: block;
    text-align: center;
    margin-top: 6px;
  }
}

/* ---------------------------------------------------------
   Hero + slider avant/après (élément signature)
   --------------------------------------------------------- */
.bv-hero {
  padding: 64px 0 40px;
}
.bv-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 56px;
  align-items: center;
}
@media (max-width: 980px) {
  .bv-hero__grid { grid-template-columns: 1fr; gap: 40px; }
}

.bv-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--bv-orange-pale);
  color: var(--bv-orange-deep);
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 8px 16px;
  border-radius: 999px;
  margin-bottom: 22px;
}

.bv-hero h1 {
  font-size: clamp(2.3rem, 4.2vw, 3.6rem);
  font-weight: 500;
}
.bv-hero h1 em {
  font-style: italic;
  color: var(--bv-orange);
}

.bv-hero__texte {
  font-size: 1.15rem;
  max-width: 46ch;
  margin-bottom: 32px;
}

.bv-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 28px; }

.bv-hero__reassurance {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  font-size: 0.88rem;
  color: var(--bv-charbon);
}
.bv-hero__reassurance span { display: flex; align-items: center; gap: 6px; }

/* --- Slider avant / après --- */
.bv-slider {
  position: relative;
  aspect-ratio: 4 / 3.1;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--ombre-forte);
  user-select: none;
  touch-action: pan-y;
}
.bv-slider__scene { position: absolute; inset: 0; }
.bv-slider__apres { background: linear-gradient(160deg, #FFF3E8 0%, #FBF8F4 60%); }
.bv-slider__avant {
  background: linear-gradient(160deg, #E9E4DA 0%, #D9D2C4 100%);
  position: absolute; inset: 0;
  clip-path: inset(0 50% 0 0);
}
.bv-slider__tag {
  position: absolute;
  top: 18px;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: rgba(30,28,26,.78);
  color: #fff;
  padding: 6px 12px;
  border-radius: 999px;
}
.bv-slider__tag--avant { left: 18px; }
.bv-slider__tag--apres { right: 18px; background: var(--bv-orange); }

.bv-slider__poignee {
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 3px;
  background: #fff;
  transform: translateX(-50%);
  cursor: ew-resize;
}
.bv-slider__bouton {
  position: absolute;
  top: 50%; left: 50%;
  width: 46px; height: 46px;
  background: #fff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--ombre);
  color: var(--bv-orange);
  font-size: 1.1rem;
}

.bv-slider__score {
  position: absolute;
  bottom: 18px; left: 18px; right: 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
  border-radius: 14px;
  padding: 12px 16px;
  font-family: var(--font-mono);
  font-size: 0.85rem;
}
.bv-slider__score b { font-size: 1.05rem; color: var(--bv-orange-deep); }

/* Silhouette de pièce en SVG (dessinée en flat-design dans le HTML) */
.bv-piece-svg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ---------------------------------------------------------
   Bandeau logos / preuve sociale
   --------------------------------------------------------- */
.bv-preuve {
  padding: 30px 0;
  border-top: 1px solid var(--bv-ligne);
  border-bottom: 1px solid var(--bv-ligne);
  text-align: center;
}
.bv-preuve p {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--bv-charbon);
  margin-bottom: 18px;
}
.bv-preuve__mots {
  display: flex;
  justify-content: center;
  gap: 44px;
  flex-wrap: wrap;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #C9C1B3;
}

/* ---------------------------------------------------------
   Sections génériques
   --------------------------------------------------------- */
.bv-section { padding: 96px 0; }
.bv-section--alt { background: var(--bv-blanc); }
.bv-section__tete { max-width: 640px; margin: 0 auto 56px; text-align: center; }
.bv-section__tete h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 500; }

/* Grille de fonctionnalités */
.bv-grille-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
@media (max-width: 900px) { .bv-grille-3 { grid-template-columns: 1fr; } }

.bv-carte {
  background: var(--bv-blanc);
  border: 1px solid var(--bv-ligne);
  border-radius: var(--rayon);
  padding: 30px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.bv-carte:hover { transform: translateY(-4px); box-shadow: var(--ombre); }

.bv-carte__icone {
  width: 46px; height: 46px;
  border-radius: 13px;
  background: var(--bv-orange-pale);
  color: var(--bv-orange-deep);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem;
  margin-bottom: 18px;
}

.bv-carte h3 { font-size: 1.15rem; font-weight: 600; font-family: var(--font-body); }
.bv-carte p { font-size: 0.95rem; margin-bottom: 0; }

/* Étapes numérotées (vrai processus séquentiel -> numérotation justifiée) */
.bv-etapes {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 14px;
}
@media (max-width: 1100px) { .bv-etapes { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 640px) { .bv-etapes { grid-template-columns: repeat(2, 1fr); } }

.bv-etape {
  background: var(--bv-blanc);
  border: 1px solid var(--bv-ligne);
  border-radius: var(--rayon-sm);
  padding: 20px 16px;
  text-align: center;
}
.bv-etape__num {
  font-family: var(--font-mono);
  color: var(--bv-orange);
  font-size: 0.85rem;
  margin-bottom: 10px;
  display: block;
}
.bv-etape span.label { font-size: 0.86rem; font-weight: 600; }

/* Bloc "Score BienVu" illustratif */
.bv-score-demo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  background: var(--bv-encre);
  color: #fff;
  border-radius: 28px;
  padding: 56px;
}
@media (max-width: 900px) { .bv-score-demo { grid-template-columns: 1fr; padding: 36px 26px; } }
.bv-score-demo h2 { color: #fff; }
.bv-score-demo p { color: #C9C4B8; }
.bv-score-jauge {
  background: #2A2724;
  border-radius: 20px;
  padding: 30px;
}
.bv-score-ligne { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; font-family: var(--font-mono); }
.bv-score-barre { height: 10px; border-radius: 999px; background: #3A362F; overflow: hidden; margin-bottom: 26px; }
.bv-score-barre__remplissage { height: 100%; border-radius: 999px; }

/* ---------------------------------------------------------
   Double CTA pro / particulier
   --------------------------------------------------------- */
.bv-double-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
@media (max-width: 900px) { .bv-double-cta { grid-template-columns: 1fr; } }

.bv-cta-carte {
  border-radius: 22px;
  padding: 40px;
  position: relative;
  overflow: hidden;
}
.bv-cta-carte--pro { background: var(--bv-encre); color: #fff; }
.bv-cta-carte--particulier { background: var(--bv-orange-pale); color: var(--bv-encre); }
.bv-cta-carte h3 { font-family: var(--font-display); font-size: 1.6rem; font-weight: 500; }
.bv-cta-carte--pro p { color: #C9C4B8; }
.bv-cta-carte__badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 5px 12px;
  border-radius: 999px;
  margin-bottom: 16px;
}
.bv-cta-carte--pro .bv-cta-carte__badge { background: rgba(255,255,255,.12); color: #fff; }
.bv-cta-carte--particulier .bv-cta-carte__badge { background: rgba(226,78,0,.14); color: var(--bv-orange-deep); }

.bv-cta-carte ul { list-style: none; padding: 0; margin: 20px 0 28px; }
.bv-cta-carte li { display: flex; gap: 10px; margin-bottom: 10px; font-size: 0.95rem; }
.bv-cta-carte--pro li { color: #E4E0D6; }

/* ---------------------------------------------------------
   Footer
   --------------------------------------------------------- */
.bv-footer { background: var(--bv-encre); color: #C9C4B8; padding: 64px 0 28px; }
.bv-footer h4 { color: #fff; font-family: var(--font-body); font-size: 0.95rem; margin-bottom: 16px; }
.bv-footer a { color: #C9C4B8; }
.bv-footer a:hover { color: var(--bv-orange); }
.bv-footer__grille { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 36px; margin-bottom: 48px; }
@media (max-width: 900px) { .bv-footer__grille { grid-template-columns: 1fr 1fr; } }
.bv-footer__grille ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; font-size: 0.9rem; }
.bv-footer__bas {
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 0.82rem;
}
.bv-footer .bv-logo { color: #fff; }

/* ==========================================================
   ACCUEIL — « Un outil, trois façons » + grille des tarifs (#tarifs)
   ========================================================== */
.bv-offres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; align-items: stretch; }
@media (max-width: 980px) { .bv-offres { grid-template-columns: 1fr; max-width: 600px; margin: 0 auto; } }

.bv-offre {
  display: flex; flex-direction: column;
  background: var(--bv-fond);
  border: 1px solid var(--bv-ligne);
  border-radius: 22px;
  padding: 36px 32px;
}
@media (max-width: 640px) { .bv-offre { padding: 28px 22px; } }
.bv-offre h3 { font-size: 1.55rem; font-weight: 500; margin: 0 0 12px; }
.bv-offre__intro { margin: 0 0 20px; font-size: 0.98rem; }
.bv-offre__badge {
  align-self: flex-start;
  font-family: var(--font-mono);
  font-size: 0.72rem; text-transform: uppercase; letter-spacing: .06em;
  padding: 5px 12px; border-radius: 999px; margin-bottom: 16px;
  background: rgba(226, 78, 0, .14); color: var(--bv-orange-deep);
}
.bv-offre__public { padding: 16px 0; border-top: 1px solid var(--bv-ligne); }
.bv-offre__public strong { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 6px; font-size: 1rem; }
.bv-offre__public p { margin: 0; font-size: 0.93rem; }
.bv-offre__quota {
  font-size: 0.76rem; font-weight: 600; padding: 3px 10px; border-radius: 999px;
  background: var(--bv-orange-pale); color: var(--bv-orange-deep);
}
.bv-offre__liste { list-style: none; margin: 0 0 8px; padding: 0; }
.bv-offre__liste li { position: relative; padding: 7px 0 7px 26px; font-size: 0.95rem; line-height: 1.5; color: var(--bv-charbon); }
.bv-offre__liste li::before { content: "✓"; position: absolute; left: 0; top: 7px; font-weight: 700; color: var(--bv-orange); }
.bv-offre__actions { margin-top: auto; padding-top: 22px; display: flex; flex-direction: column; gap: 10px; }

/* Boutons des cartes : pleine largeur, retour à la ligne autorisé (évite tout débordement) */
.bv-offre__actions .btn-bv,
.bv-tarif__actions .btn-bv { width: 100%; justify-content: center; text-align: center; white-space: normal; line-height: 1.25; }

/* Carte Agence : mise en avant (mêmes codes que l'ancienne carte pro) */
.bv-offre--agence { background: var(--bv-encre); border-color: var(--bv-encre); }
.bv-offre--agence h3 { color: #fff; }
.bv-offre--agence .bv-offre__intro { color: #C9C4B8; }
.bv-offre--agence .bv-offre__liste li { color: #E4E0D6; }
.bv-offre--agence .bv-offre__badge { background: rgba(255, 255, 255, .12); color: #fff; }

/* Carte Agence +10 : sur devis */
.bv-offre--devis { background: var(--bv-orange-pale); border-color: var(--bv-orange-pale); }
.bv-offre--devis .bv-offre__badge { background: rgba(226, 78, 0, .16); }

/* --- Grille des tarifs --- */
#tarifs { scroll-margin-top: 96px; } /* la barre de navigation est collante */
.bv-tarifs { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; align-items: stretch; }
.bv-tarif {
  display: flex; flex-direction: column;
  background: var(--bv-blanc);
  border: 1px solid var(--bv-ligne);
  border-radius: var(--rayon);
  padding: 24px 20px;
}
.bv-tarif__type {
  font-family: var(--font-mono);
  font-size: 0.7rem; text-transform: uppercase; letter-spacing: .06em;
  color: var(--bv-orange-deep);
}
.bv-tarif__nom { margin: 10px 0 4px; font-size: 1.25rem; font-weight: 500; line-height: 1.2; min-height: 2.4em; }
.bv-tarif__pour { margin: 0 0 16px; font-size: 0.87rem; line-height: 1.35; min-height: 2.7em; }
.bv-tarif__prix { display: flex; flex-direction: column; gap: 2px; }
.bv-tarif__montant { font-family: var(--font-display); font-size: 2.1rem; font-weight: 600; line-height: 1.1; color: var(--bv-encre); white-space: nowrap; }
.bv-tarif__unite { font-size: 0.82rem; font-weight: 600; color: var(--bv-charbon); }
.bv-tarif__detail { margin: 8px 0 0; font-size: 0.85rem; line-height: 1.5; }
.bv-tarif__rapports {
  align-self: flex-start; margin: 12px 0 0; padding: 4px 10px; border-radius: 999px;
  font-size: 0.78rem; font-weight: 600;
  background: var(--bv-orange-pale); color: var(--bv-orange-deep);
}
.bv-tarif__actions { margin-top: auto; padding-top: 20px; display: flex; flex-direction: column; gap: 8px; }
.bv-tarif__actions .btn-bv { padding: 12px 14px; font-size: 0.92rem; }
.bv-tarif--solo { border: 2px solid var(--bv-orange); }
.bv-tarif--devis { background: var(--bv-encre); border-color: var(--bv-encre); }
.bv-tarif--devis .bv-tarif__type { color: var(--bv-orange); }
.bv-tarif--devis .bv-tarif__nom,
.bv-tarif--devis .bv-tarif__montant { color: #fff; }
.bv-tarif--devis .bv-tarif__pour,
.bv-tarif--devis .bv-tarif__detail { color: #C9C4B8; }
.bv-tarifs__commun { max-width: 720px; margin: 32px auto 0; text-align: center; font-size: 0.95rem; }
@media (max-width: 1100px) {
  .bv-tarifs { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}
@media (max-width: 480px) {
  .bv-tarif__nom, .bv-tarif__pour { min-height: 0; }
}

/* ==========================================================
   PAGE INSCRIPTION — design marine / orange / blanc
   ========================================================== */
.bv-inscription { padding:34px 0 58px; background:linear-gradient(180deg,#F4F7FA 0%,#FFFFFF 100%); }
.bv-inscription__wrap { max-width:1040px; margin:0 auto; background:#fff; border:1px solid #DCE3EA; border-top:5px solid var(--bv-orange); border-radius:16px; padding:28px 34px 30px; box-shadow:0 18px 45px rgba(11,29,51,.09); }
.bv-inscription__titre { margin-bottom:18px; }
.bv-inscription__surtitre { display:block; color:var(--bv-orange); font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:5px; }
.bv-inscription__titre h2 { margin:0 0 6px; font-family:var(--font-home,var(--font-display)); font-size:2.2rem; line-height:1; font-weight:800; color:var(--bv-marine,#0B1D33); }
.bv-inscription__titre p { max-width:920px; margin:0; color:#5B6775; font-size:.92rem; line-height:1.45; }
.bv-switch { display:grid; grid-template-columns:1fr 1fr; background:#EEF2F6; border:1px solid #DCE3EA; border-radius:9px; padding:4px; margin-bottom:20px; }
.bv-switch a { text-align:center; padding:10px 8px; border-radius:6px; font-weight:700; font-size:.88rem; color:#354254; transition:background .15s,color .15s,box-shadow .15s; }
.bv-switch a:hover { color:var(--bv-marine,#0B1D33); background:#fff; }
.bv-switch a.actif { background:var(--bv-marine,#0B1D33); color:#fff; box-shadow:0 5px 14px rgba(11,29,51,.15); }
.bv-switch--trois { grid-template-columns:repeat(3,1fr); }
.bv-switch--trois a { font-size:.85rem; }
.bv-switch--quatre { grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; }
.bv-switch--quatre a { display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; padding:9px 6px; font-size:.82rem; line-height:1.15; }
.bv-switch--quatre a small { font-size:.66rem; font-weight:600; opacity:.78; }
.bv-champ { margin-bottom:13px; }
.bv-champ label { display:block; margin-bottom:5px; color:var(--bv-marine,#0B1D33); font-weight:700; font-size:.82rem; }
.bv-champ .aide,.bv-inscription .aide { font-size:.74rem; color:#7A8591; line-height:1.35; margin-top:5px; }
.bv-inscription__aide-ligne { margin:-6px 0 12px; color:#7A8591; font-size:.74rem; line-height:1.35; }
.bv-champ input[type="text"],.bv-champ input[type="email"],.bv-champ input[type="tel"],.bv-champ input[type="password"],.bv-champ input[type="number"],.bv-champ input[type="file"],.bv-champ textarea,.bv-champ select { width:100%; min-height:42px; padding:10px 13px; border:1px solid #CBD5DF; border-radius:7px; font-family:var(--font-body); font-size:.9rem; color:#142033; background:#fff; transition:border-color .15s,box-shadow .15s,background .15s; }
.bv-champ input[type="file"] { padding:7px 10px; background:#F8FAFC; }
.bv-champ input:focus,.bv-champ select:focus,.bv-champ textarea:focus { border-color:var(--bv-orange); background:#fff; outline:none; box-shadow:0 0 0 3px rgba(255,90,18,.1); }
.bv-champ textarea { resize:vertical; min-height:82px; line-height:1.4; }
.bv-champ--duo { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.bv-champ--adresse { display:grid; grid-template-columns:2fr .72fr 1fr; gap:14px; }
.bv-champ--adresse>div { min-width:0; }
.bv-check { display:flex; align-items:flex-start; gap:9px; margin:10px 0 14px; color:#566271; font-size:.78rem; line-height:1.4; }
.bv-check input { margin-top:2px; accent-color:var(--bv-orange); }
.bv-check a { color:var(--bv-orange)!important; }
.bv-champ input[readonly] { background:#EEF2F6; color:#66717D; cursor:not-allowed; }
.bv-champ input[readonly]:focus { border-color:#CBD5DF; background:#EEF2F6; box-shadow:none; }
.bv-formule-choisie { background:#F4F7FA; border:1px solid #DCE3EA; border-left:4px solid var(--bv-orange); border-radius:9px; padding:12px 16px; margin-bottom:17px; }
.bv-formule-choisie__ligne { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.bv-formule-choisie__label { display:block; margin-bottom:2px; font-family:var(--font-body); font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--bv-orange); }
.bv-formule-choisie__nom { display:block; font-family:var(--font-home,var(--font-display)); font-size:1.35rem; font-weight:800; line-height:1.05; color:var(--bv-marine,#0B1D33); }
.bv-formule-choisie__info { display:block; margin-top:2px; color:#66717D; font-size:.78rem; }
.bv-formule-choisie__prix { text-align:right; }
.bv-formule-choisie__prix strong { display:block; color:var(--bv-marine,#0B1D33); font-family:var(--font-home,var(--font-display)); font-size:1.3rem; font-weight:800; white-space:nowrap; }
.bv-formule-choisie__prix span { color:#737E89; font-size:.74rem; }
.bv-formule-choisie__autres { display:flex; flex-wrap:wrap; gap:4px 12px; align-items:center; margin-top:9px; padding-top:8px; border-top:1px solid #DCE3EA; color:#66717D; font-size:.75rem; }
.bv-formule-choisie__autres a { color:var(--bv-orange); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.bv-grid-3 { gap:12px!important; margin-bottom:13px!important; }
.bv-captcha { margin:10px 0 14px; }
.bv-captcha__label { display:block; margin-bottom:6px; color:var(--bv-marine,#0B1D33); font-size:.78rem; font-weight:700; }
.bv-captcha__piste { position:relative; height:48px; overflow:hidden; background:#F4F7FA; border:1px solid #CBD5DF; border-radius:7px; }
.bv-captcha__cible { position:absolute; top:4px; bottom:4px; width:42px; border-radius:6px; background:#FFF0E8; border:2px dashed var(--bv-orange); }
.bv-captcha__piece { position:absolute; top:4px; bottom:4px; left:4px; width:42px; border-radius:6px; background:var(--bv-marine,#0B1D33); color:#fff; display:flex; align-items:center; justify-content:center; cursor:grab; font-size:1rem; transition:background .15s; }
.bv-captcha__piece:active { cursor:grabbing; }
.bv-captcha__piece.valide { background:var(--bv-vert-ok); }
.bv-captcha__texte { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#88929D; font-size:.75rem; pointer-events:none; }
.bv-inscription .btn-bv--full { min-height:46px; border-radius:7px; padding:12px 20px; box-shadow:none; font-weight:800; }
.bv-inscription__connexion { margin:14px 0 0; text-align:center; color:#66717D; font-size:.82rem; }
.bv-inscription__connexion a { color:var(--bv-orange)!important; font-weight:700; }
.bv-alerte { padding:12px 16px; border-radius:8px; font-size:.84rem; margin-bottom:14px; }
.bv-alerte--erreur { background:#FDECEA; color:#B3261E; }
.bv-alerte--succes { background:#E7F5EC; color:var(--bv-vert-ok); }
.txt-centre { text-align:center; }
.mt-0 { margin-top:0; }
@media (max-width:900px) { .bv-inscription { padding:26px 0 44px; } .bv-inscription__wrap { max-width:760px; padding:24px; } .bv-champ--adresse { grid-template-columns:1.5fr .75fr 1fr; } }
@media (max-width:640px) { .bv-inscription { padding:18px 0 34px; } .bv-inscription__wrap { padding:20px 16px 22px; border-radius:12px; } .bv-inscription__titre h2 { font-size:1.8rem; } .bv-switch--quatre { grid-template-columns:1fr 1fr; gap:4px; border-radius:9px; } .bv-switch--quatre a { border-radius:6px; } .bv-champ--duo,.bv-champ--adresse { grid-template-columns:1fr; gap:0; } .bv-champ--duo>div,.bv-champ--adresse>div { margin-bottom:13px; } .bv-champ--duo>div:last-child,.bv-champ--adresse>div:last-child { margin-bottom:0; } .bv-grid-3 { grid-template-columns:1fr!important; } .bv-grid-3>* { grid-column:span 1!important; } .bv-formule-choisie__prix { text-align:left; } }

/* ==========================================================
   Bannière d'installation PWA (mobile/tablette uniquement)
   ========================================================== */
.bv-pwa-banniere {
  position: fixed;
  left: 12px; right: 12px; bottom: 12px;
  max-width: 440px;
  margin: 0 auto;
  background: var(--bv-blanc);
  border: 1px solid var(--bv-ligne);
  border-radius: 16px;
  box-shadow: var(--ombre-forte);
  padding: 14px 14px 14px 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 200;
  transform: translateY(130%);
  transition: transform .3s ease;
}
.bv-pwa-banniere.visible { transform: translateY(0); }
.bv-pwa-banniere__icone { width: 42px; height: 42px; border-radius: 11px; flex-shrink: 0; }
.bv-pwa-banniere__texte { flex: 1; display: flex; flex-direction: column; gap: 2px; font-size: 0.82rem; color: var(--bv-charbon); }
.bv-pwa-banniere__texte strong { font-size: 0.92rem; color: var(--bv-encre); }
.bv-pwa-banniere__fermer {
  background: none; border: none; font-size: 1rem; color: var(--bv-charbon);
  cursor: pointer; flex-shrink: 0; padding: 6px;
}
@media (min-width: 901px) { .bv-pwa-banniere { display: none; } }
/* Accueil 2026 — rapprochement maquettes JPG sans toucher aux écrans applicatifs */
:root { --bv-marine:#0B1D33; --bv-marine-2:#142C46; --bv-orange:#FF5A12; --bv-orange-deep:#E84D07; --bv-orange-pale:#FFF0E8; --font-home:'Barlow Condensed','Arial Narrow',Arial,sans-serif; }
.bv-nav { background:#fff; border-bottom:1px solid #ECEFF2; backdrop-filter:none; }
.bv-nav__inner { min-height:70px; padding:8px 0; }
.bv-logo-img { height:68px; width:auto; } 
.bv-nav__liens { gap:42px; font-weight:600; font-size:.92rem; }
.bv-nav__liens a { color:#101827; }
.bv-nav__liens a:hover { color:var(--bv-orange); }
.bv-nav__actions { gap:24px; }
.bv-nav__connexion { font-weight:600; color:#101827; }
.bv-nav__actions .btn-bv { border-radius:6px; padding:12px 22px; box-shadow:none; }
.bv-home-hero { position:relative; overflow:hidden; background:var(--bv-marine); color:#fff; }
.bv-home-hero__fond { position:absolute; inset:0; z-index:0; }
.bv-home-hero__fond img { width:100%; height:100%; object-fit:cover; object-position:center; filter:none; opacity:.92; }
.bv-home-hero__fond::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,25,44,.98) 0%,rgba(8,25,44,.9) 40%,rgba(8,25,44,.54) 66%,rgba(8,25,44,.68) 100%); }
.bv-home-hero__grille { position:relative; z-index:1; display:grid; grid-template-columns:.95fr 1.05fr; gap:54px; align-items:center; min-height:620px; padding-top:48px; padding-bottom:48px; }
.bv-home-hero__contenu { padding:10px 0; }
.bv-home-kicker { display:block; color:#E8EEF5; font-size:.76rem; font-weight:700; letter-spacing:.26em; text-transform:uppercase; margin-bottom:18px; }
.bv-home-hero h1 { font-family:var(--font-home); color:#fff; font-size:clamp(3.4rem,6vw,5.5rem); font-weight:800; line-height:.92; letter-spacing:-.025em; margin:0 0 28px; }
.bv-home-hero h1 em { display:inline-block; color:var(--bv-orange); font-style:normal; }
.bv-home-hero__contenu>p { color:#fff; font-size:1.42rem; line-height:1.55; margin:0 0 30px; }
.bv-home-hero__actions { display:flex; gap:14px; flex-wrap:wrap; }
.btn-bv--hero-ghost { color:#fff; border:1px solid rgba(255,255,255,.72); background:rgba(255,255,255,.03); border-radius:7px; }
.btn-bv--hero-ghost:hover { background:#fff; color:var(--bv-marine); }
.bv-home-hero__signature { display:flex; align-items:center; gap:14px; margin-top:42px; color:#BFC9D4; font-size:.72rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; }
.bv-home-hero__signature span { width:42px; height:3px; background:var(--bv-orange); border-radius:3px; }
.bv-home-diagnostic { background:#fff; color:#0A1625; border-radius:10px; padding:28px; box-shadow:0 24px 60px rgba(0,0,0,.28); }
.bv-home-diagnostic__kicker { color:#6E7885; font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; font-weight:700; }
.bv-home-diagnostic h2 { font-family:var(--font-home); font-size:2.25rem; font-weight:800; margin:4px 0 22px; color:#0B1625; }
.bv-home-scores { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:22px; }
.bv-home-scores>div { padding:0 18px; border-left:1px solid #DDE1E5; }
.bv-home-scores>div:first-child { padding-left:0; border-left:0; }
.bv-home-scores strong { display:block; font-size:.86rem; margin-bottom:2px; }
.bv-home-scores span { display:block; font-size:2.35rem; line-height:1.1; font-weight:800; }
.bv-home-scores span>span { display:inline; font-size:inherit; line-height:inherit; font-weight:inherit; }
.bv-home-scores small { display:inline; font-size:.85rem; color:#A5ACB3; font-weight:500; }
.bv-home-scores i { display:block; height:10px; background:#ECEEEF; border-radius:3px; overflow:hidden; margin-top:8px; }
.bv-home-scores i b { display:block; width:0; height:100%; background:#F1A717; transition:width 1.15s cubic-bezier(.22,1,.36,1); }
.bv-home-score--today>span,.bv-home-score--today>span>span { color:#D63B36; }
.bv-home-score--today i b { background:#D63B36; }
.bv-home-score--essential i b { background:#F1A717; }
.bv-home-score--optimized i b { background:#2EA75B; }
.bv-slider--hero { aspect-ratio:2.25/1; border-radius:6px; box-shadow:none; }
.bv-slider--hero .bv-slider__score { display:none; }
.bv-slider__tag { border-radius:4px; font-family:var(--font-body); font-size:.7rem; letter-spacing:0; text-transform:none; font-weight:700; }
.bv-slider__tag--apres { background:var(--bv-orange); }
.bv-home-intro { background:#fff; padding:42px 0 52px; border-bottom:1px solid #EBEEF2; }
.bv-home-intro__grille { display:grid; grid-template-columns:1.18fr repeat(3,1fr); gap:0; }
.bv-home-intro__titre,.bv-home-benefice { padding:8px 34px; }
.bv-home-intro__titre { padding-left:0; }
.bv-home-intro__titre span { display:block; width:38px; height:3px; background:var(--bv-orange); margin-bottom:18px; }
.bv-home-intro h2 { font-family:var(--font-home); font-size:2.65rem; font-weight:800; line-height:.95; color:var(--bv-marine); }
.bv-home-intro p { margin:12px 0 0; line-height:1.55; color:#4B5664; }
.bv-home-benefice { border-left:1px solid #E2E6EA; }
.bv-home-benefice__icone { width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#FFF3ED; color:var(--bv-orange); font-size:2rem; margin-bottom:18px; }
.bv-home-benefice h3 { font-family:var(--font-body); font-size:1.05rem; font-weight:800; color:var(--bv-marine); margin-bottom:8px; }
.bv-home-benefice p { font-size:.9rem; }
.bv-home-method { background:#fff; }
.bv-home-method__hero { position:relative; min-height:300px; overflow:hidden; background:var(--bv-marine); }
.bv-home-method__image { position:absolute; inset:0; }
.bv-home-method__image img { width:100%; height:100%; object-fit:cover; filter:brightness(.58); }
.bv-home-method__image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,27,47,.96) 0%,rgba(9,27,47,.86) 48%,rgba(9,27,47,.08) 100%); }
.bv-home-method__hero-content { position:relative; z-index:1; padding-top:48px; padding-bottom:48px; color:#fff; }
.bv-home-method__hero-content>span,.bv-home-regard__tete>span,.bv-home-section-titre>span { display:block; color:var(--bv-orange); font-size:.8rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:8px; }
.bv-home-method__hero h2 { font-family:var(--font-home); color:#fff; font-size:4.4rem; font-weight:800; line-height:.95; margin:0 0 10px; }
.bv-home-method__hero h2 span { color:var(--bv-orange); }
.bv-home-method__hero p { color:#fff; font-size:1.55rem; margin:0; }
.bv-home-method__body { display:grid; grid-template-columns:.74fr 1.26fr; gap:46px; padding-top:52px; padding-bottom:42px; }
.bv-home-method__steps { display:flex; flex-direction:column; justify-content:space-between; gap:28px; }
.bv-home-method__steps article { display:grid; grid-template-columns:78px 1fr; align-items:start; }
.bv-home-method__steps b { font-family:var(--font-home); color:var(--bv-orange); font-size:3.5rem; line-height:.9; border-right:1px solid #CFD5DA; padding-right:20px; }
.bv-home-method__steps div { padding-left:26px; }
.bv-home-method__steps h3 { font-family:var(--font-home); font-size:1.75rem; font-weight:800; color:var(--bv-marine); margin:0 0 5px; }
.bv-home-method__steps p { margin:0; font-size:.98rem; }
.bv-home-method__mockup>span { display:block; font-size:.75rem; font-weight:700; color:#313B47; margin-bottom:9px; }
.bv-home-method__screen { min-height:390px; border-radius:14px; overflow:hidden; box-shadow:0 12px 30px rgba(22,35,49,.16); border:1px solid #D8DDE2; }
.bv-home-method__screen img { width:100%; height:100%; min-height:390px; object-fit:cover; }
.bv-home-method__baseline { background:var(--bv-marine); padding:24px 0; }
.bv-home-method__baseline .container-bv { display:flex; align-items:center; justify-content:space-between; gap:30px; color:#fff; }
.bv-home-method__baseline h3 { font-family:var(--font-home); color:#fff; font-size:2.6rem; font-weight:800; margin:0; }
.bv-home-method__baseline h3 span { color:var(--bv-orange); }
.bv-home-method__baseline>div>div>div { font-weight:800; font-size:1.2rem; }
.bv-home-method__baseline small { font-weight:400; color:#AFC0D1; }
.bv-home-regard { background:#fff; padding:74px 0 72px; }
.bv-home-regard__tete h2,.bv-home-section-titre h2 { font-family:var(--font-home); font-size:3.35rem; font-weight:800; line-height:1; color:var(--bv-marine); margin:0 0 8px; }
.bv-home-regard__tete p,.bv-home-section-titre p { font-size:1.2rem; color:#5A6470; margin:0; }
.bv-home-regard__onglets { display:flex; border-bottom:1px solid #DDE1E5; margin:26px 0 18px; overflow-x:auto; }
.bv-home-regard__onglets button { border:0; background:transparent; color:#25313F; padding:12px 34px; min-width:130px; font-weight:600; cursor:pointer; }
.bv-home-regard__onglets button.actif { background:var(--bv-marine); color:#fff; border-radius:7px 7px 0 0; }
.bv-home-regard__grille { display:grid; grid-template-columns:2.25fr 1fr; gap:24px; align-items:stretch; }
.bv-slider--regard { aspect-ratio:1.65/1; border-radius:6px; box-shadow:none; }
.bv-home-regard__criteres { display:flex; flex-direction:column; }
.bv-home-regard__criteres article { flex:1; display:grid; grid-template-columns:48px 1fr; gap:12px; padding:15px 0; border-bottom:1px solid #DCE1E5; }
.bv-home-regard__criteres article:last-child { border-bottom:0; }
.bv-home-regard__criteres i { font-style:normal; color:var(--bv-orange); font-size:2rem; text-align:center; }
.bv-home-regard__criteres h3 { font-family:var(--font-body); color:var(--bv-marine); font-weight:800; font-size:1.02rem; margin:0 0 2px; }
.bv-home-regard__criteres strong { display:block; color:#3D4651; font-size:.93rem; margin-bottom:4px; }
.bv-home-regard__criteres p { margin:0; font-size:.84rem; line-height:1.42; color:#616B75; }
.bv-home-actions { display:grid; grid-template-columns:1.25fr repeat(3,1fr); background:var(--bv-marine); color:#fff; margin-top:18px; border-radius:6px; overflow:hidden; }
.bv-home-actions>div,.bv-home-actions article { padding:20px 24px; }
.bv-home-actions article { display:grid; grid-template-columns:34px 1fr; gap:10px; border-left:1px solid rgba(255,255,255,.25); }
.bv-home-actions h3 { font-family:var(--font-home); color:#fff; font-size:2rem; font-weight:800; margin:0 0 4px; }
.bv-home-actions h4 { font-family:var(--font-body); color:#fff; font-size:.95rem; font-weight:800; margin:0 0 4px; }
.bv-home-actions p { color:#fff; opacity:.9; font-size:.82rem; line-height:1.45; margin:0; }
.bv-home-actions b { width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--bv-orange); color:#fff; }
.bv-home-users { padding:86px 0; background:#F5F7F9; }
.bv-home-section-titre { max-width:720px; margin:0 auto 44px; text-align:center; }
.bv-home-users .bv-offre { background:#fff; border-color:#E0E5EA; }
.bv-home-users .bv-offre--agence { background:var(--bv-marine); border-color:var(--bv-marine); }
.bv-home-users .bv-offre--devis { background:#FFF1E9; border-color:#FFE0D0; }
.bv-home-tarifs { padding:86px 0; background:#fff; }
.bv-home-tarifs .bv-tarif { box-shadow:0 8px 22px rgba(13,29,49,.05); border-color:#E0E5EA; }
.bv-home-tarifs .bv-tarif--solo { border:2px solid var(--bv-orange); }
.bv-home-tarifs .bv-tarif--devis { background:var(--bv-marine); border-color:var(--bv-marine); }
.bv-home-cta { background:var(--bv-marine); padding:38px 0; }
.bv-home-cta .container-bv { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.bv-home-cta span { color:var(--bv-orange); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.bv-home-cta h2 { font-family:var(--font-home); color:#fff; font-size:2.8rem; font-weight:800; margin:3px 0 0; }
.bv-footer--home { background:#fff; color:#35404B; padding:24px 0; border-top:1px solid #E1E6EA; }
.bv-footer--home .container-bv { display:flex; justify-content:space-between; align-items:center; gap:28px; }
.bv-footer-home__brand { display:flex; align-items:baseline; gap:10px; }
.bv-footer-home__brand strong { font-size:1.25rem; color:var(--bv-marine); }
.bv-footer-home__brand strong span { color:var(--bv-orange); }
.bv-footer-home__brand small { color:#7A8590; }
.bv-footer--home nav { display:flex; flex-wrap:wrap; gap:22px; font-size:.82rem; }
.bv-footer--home a { color:#58636E; }
.bv-footer--home a:hover { color:var(--bv-orange); }
@media (max-width:1100px) {
  .bv-home-hero__grille { grid-template-columns:1fr 1fr; gap:30px; }
  .bv-home-intro__grille { grid-template-columns:1fr 1fr; }
  .bv-home-benefice:nth-of-type(2) { border-left:0; }
  .bv-home-method__body { grid-template-columns:1fr; }
  .bv-home-method__steps { display:grid; grid-template-columns:repeat(3,1fr); }
  .bv-home-method__steps article { grid-template-columns:62px 1fr; }
  .bv-home-regard__grille { grid-template-columns:1.7fr 1fr; }
  .bv-home-actions { grid-template-columns:1fr 1fr; }
  .bv-home-actions article:nth-child(2) { border-left:1px solid rgba(255,255,255,.25); }
  .bv-home-actions article:nth-child(3) { border-left:0; border-top:1px solid rgba(255,255,255,.25); }
  .bv-home-actions article:nth-child(4) { border-top:1px solid rgba(255,255,255,.25); }
}
@media (max-width:900px) {
  .bv-nav { position:sticky; }
  .bv-nav__liens { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; padding:18px 24px 24px; border-bottom:1px solid #E4E8EC; box-shadow:0 12px 24px rgba(8,25,44,.08); flex-direction:column; gap:12px; align-items:stretch; }
  .bv-nav__liens.is-open { display:flex; }
  .bv-nav__liens a { padding:9px 0; }
  .bv-nav__lien-mobile-uniquement { display:block; }
  .bv-nav__actions { display:none; }
  .bv-burger { display:block; }
  .bv-home-hero__grille { grid-template-columns:1fr; min-height:0; padding-top:60px; padding-bottom:60px; }
  .bv-home-diagnostic { max-width:720px; width:100%; margin:0 auto; }
  .bv-home-intro__grille { grid-template-columns:1fr 1fr; }
  .bv-home-method__steps { grid-template-columns:1fr; }
  .bv-home-regard__grille { grid-template-columns:1fr; }
  .bv-home-regard__criteres { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
  .bv-home-regard__criteres article:nth-child(3) { border-bottom:0; }
  .bv-footer--home .container-bv { align-items:flex-start; flex-direction:column; }
}
@media (max-width:640px) {
  .container-bv { padding-left:18px; padding-right:18px; }
  .bv-logo-img { height:40px; }
  .bv-home-hero__grille { padding-top:42px; padding-bottom:42px; }
  .bv-home-hero h1 { font-size:3.35rem; }
  .bv-home-hero__contenu>p { font-size:1.15rem; }
  .bv-home-hero__actions .btn-bv { width:100%; justify-content:center; white-space:normal; text-align:center; }
  .bv-home-diagnostic { padding:18px; }
  .bv-home-diagnostic h2 { font-size:1.8rem; }
  .bv-home-scores>div { padding:0 8px; }
  .bv-home-scores span { font-size:1.7rem; }
  .bv-slider--hero { aspect-ratio:1.55/1; }
  .bv-home-intro { padding:34px 0; }
  .bv-home-intro__grille { grid-template-columns:1fr; }
  .bv-home-intro__titre,.bv-home-benefice { padding:18px 0; border-left:0; border-bottom:1px solid #E2E6EA; }
  .bv-home-benefice:last-child { border-bottom:0; }
  .bv-home-method__hero { min-height:280px; }
  .bv-home-method__hero h2 { font-size:3.2rem; }
  .bv-home-method__hero p { font-size:1.15rem; }
  .bv-home-method__body { padding-top:34px; padding-bottom:34px; }
  .bv-home-method__steps article { grid-template-columns:58px 1fr; }
  .bv-home-method__steps b { font-size:2.7rem; padding-right:14px; }
  .bv-home-method__steps div { padding-left:16px; }
  .bv-home-method__screen,.bv-home-method__screen img { min-height:240px; }
  .bv-home-method__baseline .container-bv { align-items:flex-start; flex-direction:column; }
  .bv-home-method__baseline h3 { font-size:2.1rem; }
  .bv-home-regard { padding:54px 0; }
  .bv-home-regard__tete h2,.bv-home-section-titre h2 { font-size:2.55rem; }
  .bv-home-regard__tete p,.bv-home-section-titre p { font-size:1rem; }
  .bv-home-regard__onglets button { min-width:115px; padding:11px 18px; }
  .bv-slider--regard { aspect-ratio:1.15/1; }
  .bv-home-regard__criteres { grid-template-columns:1fr; }
  .bv-home-regard__criteres article:nth-child(3) { border-bottom:1px solid #DCE1E5; }
  .bv-home-actions { grid-template-columns:1fr; }
  .bv-home-actions article { border-left:0; border-top:1px solid rgba(255,255,255,.25); }
  .bv-home-actions article:nth-child(2) { border-left:0; }
  .bv-home-users,.bv-home-tarifs { padding:58px 0; }
  .bv-home-cta .container-bv { align-items:flex-start; flex-direction:column; }
  .bv-home-cta h2 { font-size:2.3rem; }
  .bv-footer--home nav { gap:12px 18px; }
  .bv-footer-home__brand { align-items:flex-start; flex-direction:column; gap:2px; }
}
/* /pages/api.php — documentation API publique */
.bv-api-page{background:var(--bv-marine,#0B1D33);color:#fff;overflow:hidden}.bv-api-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center;min-height:560px;padding:64px 0}.bv-api-badge{display:inline-flex;align-items:center;background:rgba(255,90,18,.14);border:1px solid rgba(255,90,18,.42);color:#FF8A52;padding:7px 12px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:18px}.bv-api-kicker{display:block;color:#AFC0D1;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}.bv-api-hero h1{font-family:var(--font-home,var(--font-display));font-size:clamp(3rem,5.4vw,5.2rem);line-height:.94;font-weight:800;color:#fff;margin:0 0 24px}.bv-api-hero h1 em{font-style:normal;color:var(--bv-orange)}.bv-api-hero__contenu>p{max-width:690px;color:#D7E0E9;font-size:1.08rem;line-height:1.65}.bv-api-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn-bv--api-ghost{color:#fff;border:1px solid rgba(255,255,255,.55);background:transparent;border-radius:7px}.btn-bv--api-ghost:hover{background:#fff;color:var(--bv-marine)}.bv-api-note{font-size:.78rem!important;color:#8FA2B4!important;margin:20px 0 0!important}.bv-api-hero__schema{background:#fff;border-radius:14px;padding:26px;box-shadow:0 28px 65px rgba(0,0,0,.28);color:#182536}.bv-api-flow{display:grid;grid-template-columns:1fr 26px 1fr 26px 1fr;align-items:center;gap:7px}.bv-api-flow>div{border:1px solid #E0E6EC;background:#F7F9FB;border-radius:10px;padding:18px 14px;min-height:132px}.bv-api-flow>div.actif{border-color:#FFB18B;background:#FFF4EE}.bv-api-flow span{display:flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:var(--bv-marine);color:#fff;font-weight:800;font-size:.75rem;margin-bottom:12px}.bv-api-flow .actif span{background:var(--bv-orange)}.bv-api-flow strong{display:block;color:var(--bv-marine);font-size:.9rem;margin-bottom:5px}.bv-api-flow small{display:block;color:#6F7A86;line-height:1.4}.bv-api-flow i{font-style:normal;color:#9DA8B3;text-align:center;font-weight:700}.bv-api-endpoint{display:flex;align-items:center;gap:10px;margin-top:22px;border:1px solid #DCE3EA;border-radius:8px;background:#F8FAFC;padding:12px}.bv-api-endpoint b{background:#2F9E5B;color:#fff;border-radius:5px;padding:5px 9px;font-size:.72rem}.bv-api-endpoint code{flex:1;color:#17263A;font-size:.82rem}.bv-api-endpoint span{color:#7B8691;font-size:.72rem;font-weight:700}.bv-api-benefices{background:#fff;border-bottom:1px solid #E5E9ED}.bv-api-benefices__grille{display:grid;grid-template-columns:repeat(3,1fr);padding-top:36px;padding-bottom:36px}.bv-api-benefices article{display:grid;grid-template-columns:46px 1fr;gap:15px;padding:8px 28px;border-left:1px solid #E1E6EB}.bv-api-benefices article:first-child{border-left:0;padding-left:0}.bv-api-benefices article>span{font-family:var(--font-home,var(--font-display));font-size:2.15rem;font-weight:800;color:var(--bv-orange);line-height:1}.bv-api-benefices h2{font-family:var(--font-body);font-size:.98rem;font-weight:800;color:var(--bv-marine);margin:0 0 5px}.bv-api-benefices p{font-size:.83rem;line-height:1.48;margin:0;color:#68737F}.bv-api-doc{background:#F4F7FA;padding:76px 0 86px}.bv-api-doc__tete{max-width:760px;margin:0 auto 38px;text-align:center}.bv-api-doc__tete>span{display:block;color:var(--bv-orange);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.bv-api-doc__tete h2{font-family:var(--font-home,var(--font-display));font-size:3.2rem;font-weight:800;color:var(--bv-marine);margin:0 0 10px}.bv-api-doc__tete p{margin:0;color:#62707D}.bv-api-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}.bv-api-nav{position:sticky;top:96px;background:#fff;border:1px solid #DCE3EA;border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:4px}.bv-api-nav strong{color:var(--bv-marine);font-size:.82rem;margin-bottom:7px}.bv-api-nav a{padding:8px 9px;border-radius:5px;color:#667482;font-size:.8rem}.bv-api-nav a:hover{background:#FFF0E8;color:var(--bv-orange)}.bv-api-content{display:flex;flex-direction:column;gap:18px}.bv-api-card{background:#fff;border:1px solid #DCE3EA;border-radius:12px;padding:26px;scroll-margin-top:96px}.bv-api-card__titre{display:grid;grid-template-columns:38px 1fr;gap:12px;margin-bottom:18px}.bv-api-card__titre>span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:7px;background:var(--bv-marine);color:#fff;font-size:.72rem;font-weight:800}.bv-api-card h3{font-family:var(--font-body);font-size:1.08rem;font-weight:800;color:var(--bv-marine);margin:0 0 2px}.bv-api-card__titre p{margin:0;color:#78838E;font-size:.82rem}.bv-api-code{background:#0B1D33;color:#DCE7F2;border-radius:7px;padding:15px 17px;overflow:auto}.bv-api-code code,.bv-api-pre code{font-family:var(--font-mono);font-size:.78rem}.bv-api-muted{font-size:.78rem;color:#77838F;margin:12px 0 0;line-height:1.5}.bv-api-endpoint--doc{margin:0 0 16px}.bv-api-pre{margin:0;background:#0B1D33;color:#DCE7F2;border-radius:8px;padding:18px;overflow:auto;line-height:1.62;white-space:pre}.bv-api-table-wrap{overflow-x:auto}.bv-api-table{width:100%;border-collapse:collapse;font-size:.78rem}.bv-api-table th,.bv-api-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #E7EBEF;vertical-align:top}.bv-api-table th{background:#F5F7FA;color:#546170;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.bv-api-table td code{color:var(--bv-orange-deep);font-family:var(--font-mono)}.bv-api-exemples{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bv-api-exemples>div{min-width:0}.bv-api-exemples>div>span{display:block;color:var(--bv-marine);font-weight:800;font-size:.75rem;margin-bottom:6px}.bv-api-exemples .bv-api-pre{height:100%;min-height:188px}.bv-api-status{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.bv-api-status span{background:#F3F6F8;border-radius:6px;padding:7px 10px;color:#5D6975;font-size:.74rem}.bv-api-status b{color:var(--bv-marine);margin-right:4px}.bv-api-cta{background:var(--bv-marine);padding:42px 0}.bv-api-cta .container-bv{display:flex;align-items:center;justify-content:space-between;gap:28px}.bv-api-cta span{color:var(--bv-orange);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.bv-api-cta h2{font-family:var(--font-home,var(--font-display));font-size:2.5rem;font-weight:800;color:#fff;margin:3px 0 4px}.bv-api-cta p{color:#AFC0D1;margin:0}.bv-api-cta .btn-bv{flex:0 0 auto}
@media(max-width:980px){.bv-api-hero{grid-template-columns:1fr;min-height:0;padding:52px 0}.bv-api-hero__schema{max-width:760px;width:100%}.bv-api-layout{grid-template-columns:1fr}.bv-api-nav{position:static;display:grid;grid-template-columns:repeat(3,1fr)}.bv-api-nav strong{grid-column:1/-1}.bv-api-exemples{grid-template-columns:1fr}.bv-api-benefices__grille{grid-template-columns:1fr}.bv-api-benefices article{border-left:0;border-top:1px solid #E1E6EB;padding:20px 0}.bv-api-benefices article:first-child{border-top:0;padding-top:0}.bv-api-cta .container-bv{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.bv-api-hero{padding:38px 0}.bv-api-hero h1{font-size:3.1rem}.bv-api-hero__actions .btn-bv{width:100%;justify-content:center;white-space:normal;text-align:center}.bv-api-hero__schema{padding:16px}.bv-api-flow{grid-template-columns:1fr}.bv-api-flow i{transform:rotate(90deg)}.bv-api-doc{padding:54px 0}.bv-api-doc__tete h2{font-size:2.5rem}.bv-api-nav{grid-template-columns:1fr 1fr}.bv-api-card{padding:18px}.bv-api-endpoint{align-items:flex-start;flex-wrap:wrap}.bv-api-endpoint code{width:100%;flex-basis:100%;word-break:break-all}.bv-api-cta h2{font-size:2.1rem}}

/* ============================================================
   Page « L'équipe » (/equipe, /contact) — même style que la page API
   ============================================================ */
.bv-equipe-hero .container-bv{padding-top:70px;padding-bottom:76px}
.bv-equipe-hero__contenu{max-width:820px}
.bv-equipe-hero h1{font-family:var(--font-home,var(--font-display));font-size:clamp(2.8rem,5vw,4.8rem);line-height:.96;font-weight:800;color:#fff;margin:0 0 22px}
.bv-equipe-hero h1 em{font-style:normal;color:var(--bv-orange)}
.bv-equipe-hero__contenu>p{max-width:700px;color:#D7E0E9;font-size:1.08rem;line-height:1.65}
.bv-equipe-fondateurs{background:#F4F7FA;padding:76px 0 86px}
.bv-equipe-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1040px;margin:0 auto}
.bv-equipe-carte{position:relative;background:#fff;border:1px solid #DCE3EA;border-radius:18px;padding:34px 32px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.bv-equipe-carte:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(11,29,51,.14);border-color:#FFC9AD}
.bv-equipe-photo{position:relative;width:200px;height:200px;border-radius:50%;padding:6px;background:linear-gradient(135deg,#E3E8ED,#F7F9FB);margin-bottom:20px;transition:background .45s ease}
.bv-equipe-photo::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px dashed rgba(255,106,26,.0);transition:border-color .45s ease,transform 1.2s ease}
.bv-equipe-photo img,.bv-equipe-initiales{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 30%;filter:grayscale(1) contrast(1.05);transform:scale(1);transition:filter .5s ease,transform .5s ease;box-shadow:0 10px 26px rgba(11,29,51,.16)}
.bv-equipe-initiales{display:flex;align-items:center;justify-content:center;background:var(--bv-marine,#0B1D33);color:#fff;font-family:var(--font-home,var(--font-display));font-size:3.4rem;font-weight:800}
.bv-equipe-carte:hover .bv-equipe-photo{background:linear-gradient(135deg,var(--bv-orange),#FFB18B)}
.bv-equipe-carte:hover .bv-equipe-photo::after{border-color:rgba(255,106,26,.55);transform:rotate(90deg)}
.bv-equipe-carte:hover .bv-equipe-photo img{filter:grayscale(0) contrast(1);transform:scale(1.04)}
.bv-equipe-role{display:inline-flex;background:rgba(255,90,18,.12);color:var(--bv-orange-deep,#E24E00);padding:6px 12px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.bv-equipe-carte h3{font-family:var(--font-home,var(--font-display));font-size:2.1rem;font-weight:800;color:var(--bv-marine,#0B1D33);margin:0 0 4px;line-height:1.05}
.bv-equipe-sous-role{color:#62707D;font-size:.92rem;margin:0 0 16px}
.bv-equipe-chiffre{display:flex;align-items:baseline;gap:8px;justify-content:center;border-top:1px solid #E7EBEF;border-bottom:1px solid #E7EBEF;padding:10px 0;width:100%;margin-bottom:16px}
.bv-equipe-chiffre strong{font-family:var(--font-home,var(--font-display));font-size:1.9rem;font-weight:800;color:var(--bv-orange);line-height:1}
.bv-equipe-chiffre span{color:#546170;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.bv-equipe-texte{color:#4E5B68;font-size:.95rem;line-height:1.62;margin:0 0 12px;text-align:left}
.bv-equipe-linkedin{margin-top:auto;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:9px;border:1px solid #0A66C2;color:#0A66C2;font-weight:700;font-size:.86rem;text-decoration:none;transition:background .25s ease,color .25s ease}
.bv-equipe-linkedin:hover{background:#0A66C2;color:#fff;text-decoration:none}
.bv-equipe-contact{background:#fff;padding:80px 0 90px;scroll-margin-top:80px}
.bv-equipe-contact__grille{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
.bv-equipe-contact__intro>span{display:block;color:var(--bv-orange);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.bv-equipe-contact__intro h2{font-family:var(--font-home,var(--font-display));font-size:3rem;font-weight:800;color:var(--bv-marine,#0B1D33);margin:0 0 14px;line-height:1}
.bv-equipe-contact__intro p{color:#62707D;line-height:1.65}
.bv-equipe-contact__intro ul{list-style:none;padding:0;margin:18px 0 0}
.bv-equipe-contact__intro li{position:relative;padding:8px 0 8px 30px;color:var(--bv-marine,#0B1D33);font-weight:600}
.bv-equipe-contact__intro li::before{content:"✓";position:absolute;left:0;top:7px;width:20px;height:20px;border-radius:50%;background:var(--bv-orange);color:#fff;font-size:.7rem;display:flex;align-items:center;justify-content:center}
.bv-equipe-form{background:#F4F7FA;border:1px solid #DCE3EA;border-radius:16px;padding:28px}
.bv-equipe-ligne{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bv-equipe-champ{margin-bottom:16px}
.bv-equipe-champ label{display:block;font-weight:700;font-size:.84rem;color:var(--bv-marine,#0B1D33);margin-bottom:6px}
.bv-equipe-champ label b{color:var(--bv-orange)}
.bv-equipe-champ label small{font-weight:500;color:#7B8691}
.bv-equipe-champ input,.bv-equipe-champ textarea{width:100%;padding:12px 14px;border:1.5px solid #D5DDE5;border-radius:10px;background:#fff;font-family:var(--font-body);font-size:.95rem;color:var(--bv-encre);transition:border-color .2s ease,box-shadow .2s ease}
.bv-equipe-champ input:focus,.bv-equipe-champ textarea:focus{outline:none;border-color:var(--bv-orange);box-shadow:0 0 0 3px rgba(255,106,26,.15)}
.bv-equipe-champ--erreur input,.bv-equipe-champ--erreur textarea{border-color:#D1343A}
.bv-equipe-erreur{display:block;color:#C2272D;font-size:.8rem;margin-top:5px;font-weight:600}
.bv-equipe-alerte{background:#FDECEC;border:1px solid #F3B6B8;color:#9F1F24;border-radius:10px;padding:12px 14px;margin-bottom:16px;font-weight:600}
.bv-equipe-piege{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.bv-equipe-envoyer{width:100%;justify-content:center}
.bv-equipe-mention{font-size:.76rem;color:#7B8691;margin:10px 0 0;text-align:center}
.bv-puzzle{max-width:320px}
.bv-puzzle__image{position:relative;border-radius:10px;overflow:hidden;line-height:0;box-shadow:0 8px 22px rgba(11,29,51,.12);user-select:none}
.bv-puzzle__fond{width:100%;height:auto;display:block}
.bv-puzzle__piece{position:absolute;left:0;height:auto;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45));pointer-events:none}
.bv-puzzle__recharger{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--bv-marine,#0B1D33);font-size:1rem;line-height:1;cursor:pointer}
.bv-puzzle__piste{position:relative;height:46px;margin-top:10px;border-radius:999px;background:#E3E8ED;overflow:hidden;user-select:none;touch-action:none}
.bv-puzzle__consigne{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-left:40px;color:#6B7884;font-size:.78rem;font-weight:600}
.bv-puzzle__remplissage{position:absolute;left:0;top:0;bottom:0;width:23px;background:linear-gradient(90deg,rgba(255,106,26,.25),rgba(255,106,26,.45));border-radius:999px}
.bv-puzzle__poignee{position:absolute;left:0;top:0;width:46px;height:46px;border:0;border-radius:50%;background:var(--bv-orange);color:#fff;font-size:1.2rem;font-weight:800;cursor:grab;box-shadow:0 4px 12px rgba(255,106,26,.45);touch-action:none}
.bv-puzzle--actif .bv-puzzle__poignee{cursor:grabbing;transform-origin:center}
.bv-puzzle--ok .bv-puzzle__poignee{background:#2F9E5B;box-shadow:0 4px 12px rgba(47,158,91,.45);cursor:default}
.bv-puzzle--ok .bv-puzzle__remplissage{background:rgba(47,158,91,.3)}
.bv-puzzle--ok .bv-puzzle__consigne{opacity:0}
.bv-puzzle--rate .bv-puzzle__piste{animation:bv-puzzle-secousse .4s ease}
.bv-puzzle__etat{min-height:1.2em;margin:8px 0 0;font-size:.8rem;color:#546170;line-height:1.3}
.bv-puzzle--ok .bv-puzzle__etat{color:#2F7A4F;font-weight:700}
.bv-puzzle__deja{background:#E7F5EC;color:#2F7A4F;border-radius:10px;padding:10px 12px;font-weight:700;margin:0}
@keyframes bv-puzzle-secousse{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
@media(max-width:980px){.bv-equipe-grille{grid-template-columns:1fr;max-width:560px}.bv-equipe-contact__grille{grid-template-columns:1fr;gap:28px}}
@media(max-width:640px){.bv-equipe-hero .container-bv{padding-top:44px;padding-bottom:50px}.bv-equipe-fondateurs,.bv-equipe-contact{padding:54px 0}.bv-equipe-carte{padding:26px 20px}.bv-equipe-photo{width:170px;height:170px}.bv-equipe-ligne{grid-template-columns:1fr;gap:0}.bv-equipe-form{padding:20px}.bv-equipe-contact__intro h2{font-size:2.3rem}}
@media(hover:none){.bv-equipe-photo img{filter:grayscale(1)}}
