/* ============================================================
   PAGE D'ACCUEIL — mise en page inspirée de Havalock, appliquée
   à l'identité Altiore Finance (mêmes tokens que site.css).
   Toutes les classes sont préfixées hv- pour ne jamais entrer
   en conflit avec les composants existants (types, tunnel, etc.)
   ============================================================ */

.hv-media{position:absolute;inset:0;overflow:hidden;}
.hv-media img{width:100%;height:100%;object-fit:cover;display:block;}

.hv-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--flame-2);font-family:var(--font-d);font-weight:700;
  font-size:14px;margin-bottom:12px;
}
.hv-eyebrow::before{content:"";width:18px;height:2px;background:var(--orange);display:inline-block;}
.hv-eyebrow--on-dark{color:var(--orange);}

.hv-section-head{max-width:640px;margin-bottom:40px;}
.hv-section-head.hv-center{margin-left:auto;margin-right:auto;text-align:center;}
.hv-section-head h2{font-size:clamp(1.7rem,1.4rem + 1.4vw,2.4rem);margin:6px 0 14px;}
.hv-section-head p{margin:0;font-size:15px;color:var(--ink-2);}

/* ---------- HERO ---------- */
.hv-hero{position:relative;min-height:600px;display:flex;align-items:center;background:var(--night-2);overflow:hidden;}
.hv-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(6,6,20,.88) 0%, rgba(6,6,20,.6) 45%, rgba(10,5,45,.2) 78%);}
.hv-hero-content{position:relative;z-index:2;width:100%;}
.hv-hero-grid{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;}
.hv-hero-text{max-width:560px;padding:76px 0;}
.hv-hero-text h1{color:#fff;font-size:clamp(1.9rem,1.4rem + 2vw,3rem);margin-bottom:16px;}
.hv-hero-text p{color:#dcdce6;max-width:460px;margin-bottom:28px;font-size:15px;}
.hv-hero-phone{
  display:inline-flex;align-items:center;gap:12px;border:1.5px solid rgba(255,255,255,.5);
  border-radius:50px;padding:8px 22px 8px 8px;color:#fff;text-decoration:none;
}
.hv-hero-phone .hv-icon-wrap{
  width:38px;height:38px;border-radius:50%;background:var(--orange);color:var(--night);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.hv-hero-phone small{display:block;font-size:11px;color:#c9c9d6;}
.hv-hero-phone b{font-family:var(--font-d);font-size:15px;}

.hv-trust-box{
  display:flex;align-items:center;gap:16px;color:#fff;
  padding:22px 26px 22px 0;border-left:1.5px solid rgba(255,255,255,.25);
  margin-bottom:70px;
}
.hv-trust-box .hv-label{font-size:13px;color:#cfcfd6;margin-bottom:8px;}
.hv-avatar-stack{display:flex;align-items:center;}
.hv-avatar-stack span{
  width:36px;height:36px;border-radius:50%;border:2px solid var(--night-2);
  margin-left:-10px;overflow:hidden;background:var(--sand);display:flex;align-items:center;justify-content:center;
}
.hv-avatar-stack span img{width:100%;height:100%;object-fit:cover;}
.hv-avatar-stack span:first-child{margin-left:0;}
.hv-avatar-stack .hv-more{background:var(--orange);color:var(--night);font-weight:700;border-color:var(--night-2);font-size:11px;}
.hv-trust-stat{font-family:var(--font-d);font-weight:700;font-size:18px;color:#fff;}
.hv-trust-stat small{display:block;font-weight:400;font-size:12px;color:#cfcfd6;font-family:var(--font-b);}

/* ---------- ABOUT ---------- */
.hv-about{padding:100px 0 70px;}
.hv-about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center;}
.hv-about-media{position:relative;}
.hv-about-media .hv-media{position:relative;border-radius:var(--r-lg);aspect-ratio:1/0.9;}
.hv-about-badge{
  position:absolute;top:-20px;right:-20px;
  width:112px;height:112px;border-radius:50%;
  background:var(--night);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;font-family:var(--font-d);border:6px solid #fff;box-shadow:0 10px 26px rgba(17,10,114,.25);
}
.hv-about-badge b{font-size:26px;line-height:1;}
.hv-about-badge span{font-size:10.5px;line-height:1.3;margin-top:4px;max-width:66px;}
.hv-about-dots{
  position:absolute;left:-24px;bottom:-24px;width:110px;height:90px;z-index:-1;
  background-image:radial-gradient(var(--line-2) 1.6px, transparent 1.6px);
  background-size:12px 12px;
}
.hv-about-body p{margin:0 0 14px;font-size:15px;color:var(--ink-2);}
.hv-about-actions{
  display:flex;align-items:center;gap:20px;margin-top:26px;padding-top:26px;
  border-top:1px dashed var(--line-2);flex-wrap:wrap;
}

/* ---------- FEATURE STRIP ---------- */
.hv-feature-strip{padding:60px 0;text-align:center;}
.hv-feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;text-align:left;}
.hv-feature-card{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:34px 28px;}
.hv-feature-card.hv-dark{background:var(--night);border-color:var(--night);}
.hv-feature-icon{
  width:56px;height:56px;border-radius:50%;background:var(--orange);
  display:flex;align-items:center;justify-content:center;color:var(--night);margin-bottom:20px;
}
.hv-feature-card h3{font-size:19px;margin-bottom:10px;}
.hv-feature-card p{font-size:14px;margin:0;color:var(--ink-2);}
.hv-feature-card.hv-dark h3,.hv-feature-card.hv-dark p{color:#fff;}
.hv-feature-card.hv-dark p{color:#c7cbe8;}

.hv-partners{display:flex;align-items:center;gap:40px;flex-wrap:wrap;padding:36px 0 10px;justify-content:space-between;}
.hv-partners .hv-eyebrow{margin:0;max-width:200px;}
.hv-partner-logos{display:flex;align-items:center;gap:34px;flex-wrap:wrap;opacity:.75;}
.hv-partner-logos img{height:32px;width:auto;filter:grayscale(1);opacity:.7;}
.hv-partner-logos span{font-family:var(--font-d);font-weight:700;color:var(--ink-3);font-size:14px;}

/* ---------- SAFETY / STATS BANNER ---------- */
.hv-safety{position:relative;background:var(--night-2);padding-top:120px;}
.hv-safety .hv-media::after{content:"";position:absolute;inset:0;background:rgba(6,4,26,.66);}
.hv-safety-inner{position:relative;z-index:2;text-align:center;}
.hv-safety-inner h2{color:#fff;max-width:720px;margin:0 auto 16px;}
.hv-safety-inner p{color:#dadadd;max-width:560px;margin:0 auto 26px;font-size:15px;}
.hv-safety-inner .btn{margin:0 auto;}

.hv-stats-bar{position:relative;z-index:3;background:var(--orange);margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);}
.hv-stats-bar .hv-stat{text-align:center;padding:30px 10px;border-right:1px dashed rgba(11,12,26,.25);}
.hv-stats-bar .hv-stat:last-child{border-right:none;}
.hv-stats-bar .hv-stat b{display:block;font-family:var(--font-d);font-size:clamp(1.6rem,1.4rem + .6vw,2.1rem);color:var(--night);font-weight:800;}
.hv-stats-bar .hv-stat span{font-size:13px;color:#3a2c05;font-weight:600;}

/* ---------- SERVICES (types de crédit) ---------- */
.hv-services{padding:90px 0;}
.hv-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.hv-service-card{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:260px;display:flex;align-items:flex-end;text-decoration:none;}
.hv-service-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(5,5,15,.94) 12%, rgba(5,5,15,.4) 55%, rgba(5,5,15,.1) 100%);}
.hv-service-icon{
  position:absolute;top:18px;right:18px;z-index:3;width:44px;height:44px;border-radius:50%;
  background:var(--orange);display:flex;align-items:center;justify-content:center;color:var(--night);
}
.hv-service-body{position:relative;z-index:3;padding:22px 22px 24px;color:#fff;}
.hv-service-body h3{color:var(--orange);font-size:17px;margin-bottom:8px;}
.hv-service-body p{color:#d6d6da;font-size:13.5px;margin:0 0 16px;}
.hv-service-body span.hv-link{
  display:inline-flex;align-items:center;gap:6px;padding:9px 16px;font-size:12px;
  border:1.5px solid rgba(255,255,255,.4);color:#fff;border-radius:50px;font-family:var(--font-d);font-weight:600;
}
.hv-service-card:hover .hv-link{background:var(--orange);color:var(--night);border-color:var(--orange);}

/* ---------- SECURITY / SIMULATION BANNER ---------- */
.hv-security-banner{padding:90px 0;background:var(--ink);position:relative;overflow:hidden;}
.hv-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.hv-security-text h2{color:#fff;margin-bottom:16px;max-width:440px;}
.hv-security-text p{color:#c9c9ce;max-width:440px;margin-bottom:26px;font-size:15px;}
.hv-security-media{position:relative;aspect-ratio:1/0.85;border-radius:var(--r-lg);overflow:hidden;}
.hv-security-badge{
  position:absolute;bottom:18px;left:18px;z-index:3;background:rgba(11,12,26,.72);backdrop-filter:blur(4px);
  color:#fff;padding:12px 18px;border-radius:12px;display:flex;align-items:center;gap:10px;font-size:13px;
}

/* ---------- DISCOUNT / PROMO BANNER ---------- */
.hv-discount{position:relative;padding:90px 0;text-align:center;background:var(--night-2);}
.hv-discount .hv-media::after{content:"";position:absolute;inset:0;background:rgba(6,4,26,.72);}
.hv-discount-inner{position:relative;z-index:2;}
.hv-discount-inner h2{color:#fff;max-width:620px;margin:0 auto 14px;}
.hv-discount-inner p{color:#dadadd;max-width:560px;margin:0 auto 30px;font-size:15px;}
.hv-discount-inner .hv-hero-phone{margin:0 auto;width:max-content;}

/* ---------- WHY 2 (mini cards) ---------- */
.hv-why2{padding:100px 0 60px;}
.hv-why2-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center;}
.hv-why2-media{position:relative;}
.hv-why2-media .hv-media{position:relative;border-radius:var(--r-lg);aspect-ratio:1/0.85;}
.hv-why2-badge{
  position:absolute;top:20px;right:20px;background:var(--night);color:#fff;
  padding:14px 18px;border-radius:10px;text-align:center;font-family:var(--font-d);
}
.hv-why2-badge b{font-size:22px;display:block;}
.hv-why2-badge span{font-size:10px;background:rgba(255,255,255,.15);padding:2px 8px;border-radius:4px;margin-top:4px;display:inline-block;}
.hv-why2-body p{margin:0 0 18px;font-size:15px;color:var(--ink-2);}
.hv-mini-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;}
.hv-mini-card{border:1px solid var(--line-2);border-radius:12px;padding:20px;}
.hv-mini-card.hv-dark{background:var(--night);border-color:var(--night);}
.hv-mini-icon{width:38px;height:38px;border-radius:50%;background:var(--orange);color:var(--night);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.hv-mini-card h4{font-size:14.5px;margin-bottom:6px;color:var(--flame-2);}
.hv-mini-card.hv-dark h4{color:var(--orange);}
.hv-mini-card p{font-size:12.5px;margin:0;color:var(--ink-2);}
.hv-mini-card.hv-dark p{color:#c7cbe8;}

/* ---------- TESTIMONIALS (avis) ---------- */
.hv-testimonials{padding:70px 0 90px;}

@media (max-width:1024px){
  .hv-about-grid,.hv-why2-grid,.hv-security-grid{grid-template-columns:1fr;}
  .hv-about-media,.hv-why2-media{max-width:460px;}
  .hv-feature-cards,.hv-services-grid{grid-template-columns:repeat(2,1fr);}
  .hv-stats-bar{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .hv-feature-cards,.hv-services-grid,.hv-mini-cards{grid-template-columns:1fr;}
  .hv-stats-bar{grid-template-columns:repeat(2,1fr);}
  .hv-hero-text{padding:56px 0 30px;}
  .hv-trust-box{margin-bottom:40px;}
}
