/* SOTECTA - animations complémentaires (31/10/2026).
   Toutes les animations sont coupées si le visiteur a demandé « Réduire les animations ». */

/* 1. Zoom lent sur la photo d'accueil */
.hero-visual img{animation:sotecta-zoom 24s ease-in-out infinite alternate;transform-origin:62% 60%;will-change:transform}
@keyframes sotecta-zoom{from{transform:scale(1)}to{transform:scale(1.08)}}

/* 2. Chiffres qui défilent : largeur stable pendant le comptage */
.experience strong[data-count]{font-variant-numeric:tabular-nums}

/* 3. Cartes et listes qui se soulèvent au survol.
   :where() = priorité nulle, pour ne pas écraser les apparitions en fondu de site-motion.js. */
@media (hover:hover){
  :where(.project-grid article,.services-extra-grid article,.contact-places article,
         .insulation-grid article,.support-gallery article,.finish-card){
    transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s ease}
  .reveal-ready.reveal-visible:is(.insulation-grid article,.support-gallery article){
    transition:opacity .7s ease,transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s ease;transition-delay:0s}
  .project-grid article:hover,.services-extra-grid article:hover,.contact-places article:hover,
  .insulation-grid article.reveal-visible:hover,.support-gallery article.reveal-visible:hover,.finish-card:hover{
    transform:translateY(-6px);box-shadow:0 14px 30px rgba(16,30,45,.14)}
  :where(.service-directory a){transition:transform .25s ease;display:inline-block}
  .service-directory a:hover{transform:translateX(6px)}
}

@media (prefers-reduced-motion:reduce){
  .hero-visual img{animation:none}
  .project-grid article:hover,.services-extra-grid article:hover,.contact-places article:hover,
  .insulation-grid article:hover,.support-gallery article:hover,.finish-card:hover,.service-directory a:hover{transform:none!important}
}

/* Charte : le bleu foncé des aplats passe en gris Nardo (nuance A, choisie le 31/10/2026). */
:root{--nardo-1:#5f6265;--nardo-2:#74777a}
.home-band-vision,#view-accueil .home-contact-band{background:linear-gradient(120deg,var(--nardo-1),var(--nardo-2))!important;border-bottom-color:#55585b!important}
.hotspot-label{background:var(--nardo-1)!important}
.project-grid article:last-child{background:var(--nardo-1)!important}
.hero-visual{background:var(--nardo-1)}

/* Réalisations : galerie de chantiers (31/10/2026) */
.real-gallery{margin-top:30px;padding-top:44px;border-top:1px solid #dce7ee}
.real-gallery h2{font-size:clamp(24px,3vw,34px);line-height:1.2;margin:8px 0 12px;color:var(--ink,#101e2d)}
.real-intro{max-width:720px;color:#596572;line-height:1.7;margin:0 0 34px}
.real-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.real-card{background:#fff;border:1px solid #e3edf3;border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.real-card-duo{grid-column:1 / -1}
.real-photos{display:grid;grid-template-columns:1fr;gap:4px;background:#e3edf3}
.real-card-duo .real-photos{grid-template-columns:1.4fr 1fr}
.real-photo{display:block;overflow:hidden;aspect-ratio:4/3;background:#e3edf3}
.real-card-duo .real-photo{aspect-ratio:auto;height:360px}
.real-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.real-text{padding:22px 24px 26px}
.real-text .eyebrow{margin:0 0 6px}
.real-text h3{font-size:19px;line-height:1.3;margin:0 0 10px;color:var(--ink,#101e2d)}
.real-text p{color:#435263;line-height:1.65;margin:0 0 14px;font-size:15px}
.real-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.real-tags li{font-size:12px;font-weight:700;color:#07558b;background:#edf8ff;border-radius:20px;padding:5px 11px}
.real-card{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,.61,.36,1),box-shadow .35s ease}
.real-card.is-in{opacity:1;transform:none}
@media (hover:hover){.real-card.is-in:hover{box-shadow:0 14px 30px rgba(16,30,45,.12);transform:translateY(-5px)}.real-photo:hover img{transform:scale(1.05)}}
@media (max-width:760px){.real-grid{grid-template-columns:1fr;gap:22px}.real-card-duo .real-photos{grid-template-columns:1fr}.real-card-duo .real-photo{height:260px}}
@media (prefers-reduced-motion:reduce){.real-card{opacity:1!important;transform:none!important;transition:none}.real-photo img{transition:none}}
