/* Mise en page V2 de l'accueil : cartes hors du hero, réalisations plus premium. */
html{scroll-padding-top:96px!important}
#realisations,#faq,#entreprise,.home-solutions{scroll-margin-top:0!important}
.home-solutions{position:relative;overflow:hidden;padding:clamp(58px,7vw,92px) 0 clamp(72px,8vw,108px);background:#f7f7f4;color:#202226}
.home-solutions::before{content:'';position:absolute;width:360px;height:360px;border-radius:50%;right:-155px;top:-185px;background:rgba(245,206,25,.17);pointer-events:none}
.home-solutions .container{position:relative}
.home-solutions-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:70px;align-items:end;margin-bottom:38px}
.home-solutions-head .eyebrow{margin-bottom:14px;color:#7b6200}
.home-solutions-head h2{font-size:clamp(2.6rem,4vw,4.35rem);line-height:.98;max-width:720px}
.home-solutions-head>p{max-width:370px;color:#666c72;line-height:1.7;margin:0}
.home-solutions .hero-service-cards{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;align-items:stretch!important;grid-auto-rows:1fr}
.home-solutions .hero-service-card.hero-service-visual{min-width:0;width:100%;height:auto!important;min-height:430px;aspect-ratio:auto!important;overflow:hidden}
.home-solutions .hero-service-card.hero-service-visual .hero-service-content{height:auto!important;min-height:430px}
.hero-verlaine .hero-panel>.container{padding-bottom:48px}
.hero-verlaine .hero-copy{margin-bottom:0}

/* Le grand hero a des coins arrondis sur les quatre côtés, comme le visuel de référence. */
.hero-verlaine .hero-panel{border-radius:30px!important}

/* Footer : survol plus élégant, sans soulignement. */
.site-footer a{transition:color .2s ease!important,text-decoration-color .2s ease!important}
.site-footer a:hover,.site-footer a:focus-visible{color:#f5ce19!important;text-decoration:none!important}

/* Réalisations : section plus construite, avec de vraies cartes de chantier. */
.work-section{position:relative;overflow:hidden;margin-top:0!important;padding-block:clamp(70px,8vw,112px)!important;background:radial-gradient(circle at 94% 5%,#3c4046 0,#26292e 30%,#1e2024 72%)!important}
.work-section::before{content:'';position:absolute;width:430px;height:430px;border-radius:50%;left:-250px;bottom:-250px;border:1px solid rgba(245,206,25,.2);box-shadow:0 0 0 55px rgba(245,206,25,.025),0 0 0 110px rgba(245,206,25,.018);pointer-events:none}
.work-section .container{position:relative;z-index:1}
.work-section .section-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:60px;align-items:end;margin-bottom:34px}
.work-section .section-heading .eyebrow{margin-bottom:14px;color:#f5ce19}
.work-section .section-heading h2{font-size:clamp(2.8rem,4.6vw,5rem);line-height:.95;color:#fff}
.work-section .section-heading>p{max-width:360px;margin:0;color:#c7cbd0;font-size:1rem;line-height:1.7}
.gallery-filters{display:flex;gap:9px;margin:0 0 30px;padding:7px;width:max-content;max-width:100%;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.055);backdrop-filter:blur(10px)}
.gallery-filters [data-filter="video"]{display:none!important}
.gallery-filters button{min-height:42px;padding:9px 16px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#d9dde2!important;font-weight:700;transition:background .22s ease,color .22s ease,transform .22s ease}
.gallery-filters button:hover{transform:translateY(-1px);color:#fff!important}
.gallery-filters button[aria-pressed=true]{background:#f5ce19!important;color:#202226!important;box-shadow:0 5px 14px rgba(245,206,25,.18)}
.project-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:24px!important}
.project-card{grid-column:span 4;min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:24px;overflow:hidden;background:linear-gradient(180deg,#2d3035,#272a2f);box-shadow:0 18px 38px rgba(0,0,0,.18);transition:transform .32s cubic-bezier(.2,.75,.25,1),border-color .32s ease,box-shadow .32s ease}
.project-card:only-child{grid-column:3 / span 8}
.project-card:hover{transform:translateY(-7px);border-color:rgba(245,206,25,.42);box-shadow:0 26px 54px rgba(0,0,0,.27)}
.project-open{display:flex!important;flex-direction:column;height:100%;text-decoration:none}
.project-visual{position:relative;aspect-ratio:16/10!important;border-radius:0!important;background:#15171a;overflow:hidden}
.project-visual::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,12,14,.45));pointer-events:none}
.project-visual>img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.75,.25,1),filter .4s ease!important}
.project-card:hover .project-visual>img{transform:scale(1.065)!important;filter:saturate(1.08)}
.project-type{top:15px!important;left:15px!important;padding:7px 11px!important;border:1px solid rgba(255,255,255,.35);border-radius:999px!important;background:rgba(20,23,27,.55)!important;color:#fff!important;backdrop-filter:blur(8px);font-size:.68rem!important;letter-spacing:.04em;text-transform:uppercase;z-index:1}
.project-caption{display:flex;flex-direction:column;flex:1;padding:21px 22px 23px!important}
.project-caption p{margin-bottom:8px!important;color:#aeb5bd!important;font-size:.75rem!important;text-transform:uppercase;letter-spacing:.08em}
.project-caption h3{font-size:clamp(1.35rem,1.7vw,1.7rem)!important;line-height:1.15;color:#fff}
.project-caption>span{align-self:flex-start;margin-top:auto!important;padding-top:19px;text-decoration:none!important;color:#f5ce19;font-size:.82rem!important;font-weight:800}
.project-caption>span::after{content:'  →';display:inline-block;transition:transform .2s ease}
.project-card:hover .project-caption>span::after{transform:translateX(4px)}
.filter-empty{color:#c6cbd1;text-align:center;padding:45px 0}

/* Vues filtrées : même langage visuel que les cartes principales. */
.realisations-live{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important}
.realisation-live-card{overflow:hidden!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:24px!important;background:#292c31!important;box-shadow:0 18px 38px rgba(0,0,0,.18)}
.realisation-live-media{aspect-ratio:16/10!important;border-radius:0!important}
.realisation-live-head{margin:0!important;padding:19px 21px 22px}
.realisation-live-head p{color:#aeb5bd!important;text-transform:uppercase;letter-spacing:.07em}
.realisation-live-head h3{font-size:1.4rem!important}
.realisation-live-head span{background:#f5ce19!important;color:#202226!important}

/* Le JS anime désormais réellement la hauteur des réponses. */
.faq-list details>div{will-change:height,opacity}
.faq-list details.is-faq-animating{pointer-events:none}

@media(max-width:1120px){
  .home-solutions .hero-service-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-solutions .hero-service-card.hero-service-visual,.home-solutions .hero-service-card.hero-service-visual .hero-service-content{min-height:410px}
  .project-card{grid-column:span 6}
  .project-card:only-child{grid-column:2 / span 10}
  .realisations-live{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  html{scroll-padding-top:82px!important}
  .hero-verlaine .hero-panel{border-radius:22px!important}
  .home-solutions{padding:50px 0 65px}
  .home-solutions-head,.work-section .section-heading{grid-template-columns:1fr;gap:18px}
  .home-solutions-head{margin-bottom:26px}
  .home-solutions-head h2{font-size:clamp(2.35rem,10vw,3.5rem)}
  .home-solutions-head>p,.work-section .section-heading>p{max-width:none}
  .home-solutions .hero-service-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
  .home-solutions .hero-service-card.hero-service-visual,.home-solutions .hero-service-card.hero-service-visual .hero-service-content{min-height:390px}
  .work-section{padding-block:62px!important}
  .gallery-filters{width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;scrollbar-width:none}
  .gallery-filters::-webkit-scrollbar{display:none}
  .gallery-filters button{white-space:nowrap}
  .project-grid{grid-template-columns:1fr!important}
  .project-card,.project-card:only-child{grid-column:auto!important}
  .realisations-live{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .home-solutions .hero-service-cards{grid-template-columns:1fr!important}
  .home-solutions .hero-service-card.hero-service-visual,.home-solutions .hero-service-card.hero-service-visual .hero-service-content{min-height:360px}
}
@media(max-width:430px){
  .home-solutions .hero-service-card.hero-service-visual,.home-solutions .hero-service-card.hero-service-visual .hero-service-content{min-height:350px}
}
