/* P8 R2 — accueil public : premier écran plus compact, photo plus naturelle,
   preuve sociale rapprochée. Couche dédiée chargée après les styles historiques. */

@media (min-width: 1024px) {
  body.home-page {
    --navbar-height: 68px;
  }

  .home-page .public-navbar {
    min-height: var(--navbar-height);
  }
  .home-page .brand-link {
    min-width: 92px !important;
    padding: .08rem .4rem .08rem 0 !important;
  }
  .home-page .brand-logo {
    width: auto !important;
    height: 54px !important;
    max-width: 94px !important;
  }
  .home-page .public-navbar.is-scrolled .brand-logo {
    height: 50px !important;
  }
  .home-page .public-navbar .navbar-start {
    gap: 0;
  }
  .home-page .public-navbar .navbar-item {
    padding-inline: .48rem;
    font-size: .79rem;
  }
  .home-page .navbar-cta {
    min-height: 40px;
    padding-inline: .85rem !important;
    border-radius: 12px !important;
    font-size: .8rem;
  }

  .home-page .home-hero,
  .home-page .home-hero .slide,
  .home-page .home-hero .slide.active,
  .home-page .home-hero .slide-layout {
    min-height: 500px !important;
  }
  .home-page .home-hero .slide-layout {
    grid-template-columns: minmax(0, 1.45fr) minmax(270px, .55fr);
    gap: clamp(1.8rem, 3.2vw, 3rem);
    padding: 1.35rem 1.25rem 1.55rem;
  }
  .home-page .home-hero .slide-content {
    max-width: 700px;
  }
  .home-page .home-hero .slide::before {
    background:
      linear-gradient(90deg,
        rgba(4,28,50,.82) 0%,
        rgba(4,35,62,.66) 34%,
        rgba(4,35,62,.30) 54%,
        rgba(4,35,62,.08) 72%,
        rgba(4,35,62,.02) 100%),
      linear-gradient(0deg, rgba(0,0,0,.08), transparent 55%);
  }
  .home-page .home-hero .slide::after {
    opacity: .38;
  }
  .home-page .hero-eyebrow {
    margin-bottom: .62rem;
    padding: .36rem .64rem;
    font-size: .66rem;
  }
  .home-page .hero-title {
    max-width: 690px;
    margin-bottom: .75rem;
    font-size: clamp(2.15rem,3.25vw,3.45rem);
    line-height: 1.02;
    letter-spacing: -.035em;
    text-shadow: 0 2px 18px rgba(0,0,0,.16);
  }
  .home-page .hero-lead {
    max-width: 650px;
    margin-bottom: .85rem;
    font-size: clamp(.91rem,1.05vw,1rem);
    line-height: 1.5;
  }
  .home-page .hero-actions {
    gap: .58rem;
    margin-bottom: .58rem !important;
  }
  .home-page .hero-actions .button {
    min-height: 44px;
    padding-inline: 1rem;
    border-radius: 12px;
    font-size: .82rem;
  }
  .home-page .hero-secondary-links {
    gap: .42rem .9rem;
  }
  .home-page .hero-secondary-links a {
    font-size: .72rem;
  }
  .home-page .hero-insight-card {
    padding: 1.15rem 1.2rem;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 20px;
    background: linear-gradient(145deg,rgba(8,31,51,.42),rgba(8,31,51,.22));
    box-shadow: 0 18px 45px rgba(0,0,0,.15);
    backdrop-filter: blur(11px);
  }
  .home-page .hero-card-label {
    font-size: .69rem;
  }
  .home-page .hero-insight-card h2 {
    margin: .38rem 0 .55rem;
    font-size: 1.2rem;
    line-height: 1.2;
  }
  .home-page .hero-insight-card li {
    padding: .43rem 0;
    font-size: .76rem;
    line-height: 1.38;
  }
  .home-page .hero-card-note {
    margin-top: .55rem;
    font-size: .67rem;
    line-height: 1.4;
  }

  .home-page .social-proof-section {
    margin-top: -18px;
    padding: 0 1.5rem 3.2rem;
    background: linear-gradient(180deg,transparent 0 18px,#fff 18px 100%);
  }
  .home-page .social-proof-shell {
    padding: 1.45rem 1.6rem 1.3rem;
    border-radius: 23px;
    box-shadow: 0 18px 48px rgba(15,47,70,.11);
  }
  .home-page .social-proof-heading {
    gap: 1rem;
    margin-bottom: 1rem;
  }
  .home-page .social-proof-heading h2 {
    max-width: 610px;
    font-size: clamp(1.3rem,1.8vw,1.75rem);
    line-height: 1.12;
  }
  .home-page .social-proof-grid {
    gap: .75rem;
  }
  .home-page .social-proof-card {
    grid-template-columns: 44px minmax(0,1fr);
    min-height: 96px;
    padding: .9rem 1rem;
    border-radius: 17px;
  }
  .home-page .social-proof-icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    font-size: 1rem;
  }
  .home-page .social-proof-number,
  .home-page .social-proof-word {
    font-size: clamp(1.55rem,2.2vw,2.05rem);
  }
  .home-page .social-proof-card > span:last-child {
    font-size: .74rem;
  }
  .home-page .social-proof-note {
    margin-top: .85rem;
    font-size: .78rem;
  }
}

@media (min-width: 1024px) and (max-width: 1180px) {
  .home-page .brand-link {
    min-width: 78px !important;
  }
  .home-page .brand-logo {
    height: 50px !important;
    max-width: 84px !important;
  }
  .home-page .public-navbar .navbar-item {
    padding-inline: .3rem;
    font-size: .71rem;
  }
  .home-page .navbar-cta {
    padding-inline: .68rem !important;
    font-size: .73rem;
  }
  .home-page .home-hero .slide-layout {
    grid-template-columns: minmax(0,1.38fr) minmax(255px,.62fr);
    gap: 1.6rem;
  }
  .home-page .hero-title {
    font-size: clamp(2.15rem,3.6vw,2.75rem);
  }
}

@media (max-width: 1023px) and (min-width: 769px) {
  body.home-page {
    --navbar-height: 72px;
  }
  .home-page .home-hero,
  .home-page .home-hero .slide,
  .home-page .home-hero .slide.active,
  .home-page .home-hero .slide-layout {
    min-height: 0 !important;
  }
  .home-page .home-hero .slide-layout {
    grid-template-columns: 1fr;
    gap: 1.15rem;
    padding: 2rem 1.25rem 2.3rem;
  }
  .home-page .hero-title {
    max-width: 720px;
    margin-bottom: .8rem;
    font-size: clamp(2.3rem,4.6vw,3rem);
    line-height: 1.02;
  }
  .home-page .hero-lead {
    margin-bottom: .9rem;
    font-size: .96rem;
    line-height: 1.52;
  }
  .home-page .hero-insight-card {
    max-width: 580px;
    padding: 1.2rem;
    border-radius: 20px;
    background: linear-gradient(145deg,rgba(8,31,51,.44),rgba(8,31,51,.24));
  }
  .home-page .social-proof-section {
    margin-top: 0;
    padding-top: 2rem;
    background: #fff;
  }
  .home-page .social-proof-shell {
    padding: 1.4rem;
  }
  .home-page .social-proof-heading {
    display: block;
    margin-bottom: 1rem;
  }
  .home-page .social-proof-heading h2 {
    margin-top: .4rem;
    font-size: 1.7rem;
    text-align: left;
  }
  .home-page .social-proof-card {
    min-height: 100px;
  }
}

@media (max-width: 768px) {
  body.home-page {
    --navbar-height: 64px;
  }
  .home-page .slide::before {
    background: linear-gradient(180deg,rgba(3,25,45,.74),rgba(3,31,54,.56) 52%,rgba(3,31,54,.40));
  }
  .home-page .pexsa-r18-layout {
    gap: .9rem !important;
    padding-top: 1.6rem !important;
    padding-bottom: 1.8rem !important;
  }
  .home-page .pexsa-r18-title {
    font-size: clamp(1.95rem,8.5vw,2.55rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.035em !important;
  }
  .home-page .hero-lead {
    margin-bottom: .8rem !important;
    font-size: .92rem !important;
    line-height: 1.5 !important;
  }
  .home-page .hero-actions {
    gap: .55rem !important;
  }
  .home-page .hero-actions .button {
    min-height: 44px !important;
    font-size: .82rem !important;
  }
  .home-page .hero-insight-card {
    margin-top: .1rem !important;
    padding: 1.05rem !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg,rgba(8,31,51,.48),rgba(8,31,51,.28)) !important;
  }
  .home-page .hero-insight-card h2 {
    margin-bottom: .55rem !important;
    font-size: 1.08rem !important;
  }
  .home-page .hero-insight-card li {
    padding: .4rem 0 !important;
    font-size: .76rem !important;
  }
  .home-page .social-proof-section {
    margin-top: 0;
    padding: 1.35rem .85rem 2.8rem;
    background: #fff;
  }
  .home-page .social-proof-shell {
    padding: 1.15rem;
    border-radius: 19px;
  }
  .home-page .social-proof-heading {
    display: block;
    margin-bottom: .9rem;
  }
  .home-page .social-proof-heading h2 {
    margin-top: .35rem;
    font-size: 1.45rem;
    text-align: left;
  }
  .home-page .social-proof-grid {
    grid-template-columns: 1fr;
    gap: .65rem;
  }
  .home-page .social-proof-card {
    min-height: 92px;
    padding: .85rem;
  }
  .home-page .social-proof-note {
    margin-top: .8rem;
    font-size: .76rem;
  }
}

@media (max-width: 390px) {
  .home-page .pexsa-r18-title {
    font-size: clamp(1.85rem,8.3vw,2.3rem) !important;
  }
}
