/* Rythme de page et interactions inspirés de la mécanique visuelle observée chez Groupe Verlaine,
   avec l'identité et les couleurs propres à SARL Senez. */

/* Les 4 cartes : photo sobre au repos, diagonale, couleur et CTA au survol. */
.hero-service-cards{gap:16px!important}
.hero-service-card.hero-service-visual{
  aspect-ratio:4/5.15;
  border-radius:25px;
  box-shadow:0 10px 28px rgba(14,18,24,.13);
  transform:translateZ(0);
  transition:transform .35s cubic-bezier(.2,.75,.25,1),box-shadow .35s ease;
}
.hero-service-card.hero-service-visual::before{
  content:'';
  position:absolute;
  z-index:0;
  left:-30%;
  top:50%;
  width:160%;
  height:2px;
  background:rgba(255,255,255,.9);
  box-shadow:0 0 10px rgba(0,0,0,.08);
  transform:rotate(-34deg);
  transform-origin:center;
  pointer-events:none;
  transition:opacity .35s ease,transform .5s cubic-bezier(.2,.75,.25,1);
}
.hero-service-card.hero-service-visual:hover,
.hero-service-card.hero-service-visual:focus-visible{
  transform:translateY(-6px);
  box-shadow:0 22px 48px rgba(14,18,24,.23);
}
.hero-service-card.hero-service-visual:hover::before,
.hero-service-card.hero-service-visual:focus-visible::before{
  opacity:.2;
  transform:rotate(-34deg) scale(1.08);
}
.hero-service-card.hero-service-visual .hero-service-bg{
  filter:grayscale(.34) saturate(.68) brightness(.78) contrast(.96);
  transform:scale(1.015);
  transition:transform .62s cubic-bezier(.2,.75,.25,1),filter .42s ease;
}
.hero-service-card.hero-service-visual .hero-service-shade{
  background:linear-gradient(180deg,rgba(18,22,27,.12) 0%,rgba(18,22,27,.32) 44%,rgba(18,22,27,.76) 100%);
  mix-blend-mode:normal;
  transition:background .42s ease;
}
.hero-service-card.hero-service-visual:hover .hero-service-bg,
.hero-service-card.hero-service-visual:focus-visible .hero-service-bg{
  filter:saturate(1.04) brightness(.9) contrast(1.02);
  transform:scale(1.075);
}
.hero-service-card.hero-service-visual:hover .hero-service-shade,
.hero-service-card.hero-service-visual:focus-visible .hero-service-shade{
  background:linear-gradient(180deg,color-mix(in srgb,var(--service-tone) 72%,transparent) 0%,color-mix(in srgb,var(--service-tone) 80%,transparent) 48%,color-mix(in srgb,var(--service-tone) 92%,#15171b) 100%);
}
.hero-service-card.hero-service-visual .hero-service-content{
  justify-content:flex-end;
  padding:28px 24px 22px;
  transform:translateY(13px);
  transition:transform .38s cubic-bezier(.2,.75,.25,1);
}
.hero-service-card.hero-service-visual:hover .hero-service-content,
.hero-service-card.hero-service-visual:focus-visible .hero-service-content{transform:translateY(0)}
.hero-service-card.hero-service-visual .hero-service-kicker{
  position:absolute;
  top:22px;
  left:22px;
  margin:0!important;
  background:rgba(19,23,28,.28)!important;
  border-color:rgba(255,255,255,.38)!important;
  backdrop-filter:blur(8px);
}
.hero-service-card.hero-service-visual .hero-service-title{
  margin:0;
  max-width:95%;
  font-size:clamp(1.38rem,1.8vw,1.85rem);
  line-height:1.08;
  text-shadow:0 2px 18px rgba(0,0,0,.35);
}
.hero-service-card.hero-service-visual .hero-service-description{
  margin-top:12px!important;
  max-width:95%;
  font-size:.9rem!important;
  line-height:1.52!important;
  color:rgba(255,255,255,.96)!important;
  text-shadow:0 1px 12px rgba(0,0,0,.32);
}
.hero-service-card.hero-service-visual .hero-service-cta{
  opacity:0;
  transform:translateY(18px);
  margin-top:18px!important;
  min-height:52px;
  border-radius:16px!important;
  transition:opacity .28s ease,transform .38s cubic-bezier(.2,.75,.25,1),box-shadow .25s ease;
}
.hero-service-card.hero-service-visual:hover .hero-service-cta,
.hero-service-card.hero-service-visual:focus-visible .hero-service-cta{
  opacity:1;
  transform:translateY(0);
}
.hero-service-visual-4 .hero-service-shade{
  background:linear-gradient(180deg,rgba(26,29,34,.24),rgba(24,27,31,.84))!important;
}
.hero-service-visual-4:hover .hero-service-shade,
.hero-service-visual-4:focus-visible .hero-service-shade{
  background:linear-gradient(180deg,rgba(40,42,45,.68),rgba(24,27,31,.94))!important;
}

/* Après suppression des doublons, on resserre le passage vers les réalisations. */
.hero-verlaine{padding-bottom:0}
.hero-panel{border-radius:0 0 30px 30px}
.work-section{margin-top:34px}
.company-section{position:relative;overflow:hidden}
.company-section::before{content:'';position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(245,206,25,.13);right:-120px;top:-130px;pointer-events:none}

/* FAQ : grandes cartes souples, plus rond et effet de déplacement. */
.faq-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#f6f6f3 0%,#fbfaf5 100%)!important;
  padding-block:clamp(4rem,7vw,7rem)!important;
}
.faq-section::before{
  content:'';
  position:absolute;
  width:420px;
  height:420px;
  left:-190px;
  bottom:-220px;
  border-radius:50%;
  background:rgba(245,206,25,.16);
  pointer-events:none;
}
.faq-grid{grid-template-columns:.72fr 1.28fr!important;gap:clamp(42px,7vw,95px)!important;align-items:start}
.faq-grid>div:first-child{position:sticky;top:130px}
.faq-grid>div:first-child h2{font-size:clamp(2.6rem,4vw,4.5rem);line-height:.98}
.faq-grid>div:first-child>p:not(.eyebrow){font-size:1rem;line-height:1.7;color:#6a6e73}
.faq-list{border:0!important;margin:0!important;display:grid;gap:11px}
.faq-list details{
  margin:0;
  overflow:hidden;
  border:1px solid #e3e4e1!important;
  border-radius:18px;
  background:#fff;
  box-shadow:0 5px 18px rgba(25,30,35,.035);
  transition:transform .28s cubic-bezier(.2,.75,.25,1),border-color .28s ease,box-shadow .28s ease,background .28s ease;
}
.faq-list details:hover{
  transform:translateX(7px);
  border-color:#e7c83d!important;
  box-shadow:0 13px 30px rgba(25,30,35,.08);
  background:#fffdf5;
}
.faq-list details[open]{border-color:#e0c12f!important;background:#fffdf5;box-shadow:0 14px 32px rgba(25,30,35,.08)}
.faq-list summary{
  min-height:78px;
  padding:19px 20px 19px 24px!important;
  border:0!important;
  gap:22px!important;
  font-size:1.03rem!important;
  line-height:1.45!important;
  transition:color .25s ease;
}
.faq-list details:hover summary,.faq-list details[open] summary{color:#5d4a00!important}
.faq-list summary>span{
  display:grid!important;
  place-items:center;
  width:38px;
  height:38px;
  min-width:38px;
  border-radius:50%;
  padding:0!important;
  background:#f5ce19;
  color:#202226!important;
  font-size:1.35rem!important;
  line-height:1;
  box-shadow:0 5px 13px rgba(153,125,0,.15);
  transition:transform .3s cubic-bezier(.2,.75,.25,1),background .25s ease!important;
}
.faq-list details[open] summary>span{transform:rotate(45deg)!important;background:#202226;color:#fff!important}
.faq-list details>div{
  padding:0 76px 24px 24px!important;
  color:#64696e!important;
  line-height:1.72;
  animation:faqSenezOpen .28s ease both;
}
.faq-list details>div p{margin:0 0 10px}
@keyframes faqSenezOpen{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}

/* Même langage visuel sur la page FAQ complète. */
.legal-page:has(.faq-list){background:linear-gradient(135deg,#f6f6f3,#fbfaf5);padding-block:clamp(3.5rem,6vw,6rem)}
.legal-page:has(.faq-list) .container.narrow{max-width:1040px}
.legal-page:has(.faq-list) .eyebrow{color:#7f6500}
.legal-page:has(.faq-list) h1{max-width:720px;margin-bottom:18px;font-size:clamp(3rem,5vw,5rem)}
.legal-page:has(.faq-list)>div>p:not(.eyebrow){max-width:680px;margin-bottom:36px;font-size:1.04rem;line-height:1.7}
.legal-page:has(.faq-list) .faq-list{margin-top:28px!important}
.legal-page:has(.faq-list)>.container>.button{margin-top:28px}

@media(max-width:900px){
  .faq-grid{grid-template-columns:1fr!important;gap:30px!important}
  .faq-grid>div:first-child{position:static}
  .faq-grid>div:first-child h2{font-size:clamp(2.4rem,8vw,3.5rem)}
}
@media(max-width:760px){
  .hero-service-cards{gap:11px!important}
  .hero-service-card.hero-service-visual{aspect-ratio:4/5.2}
  .hero-service-card.hero-service-visual .hero-service-content{padding:20px 15px 15px;transform:none}
  .hero-service-card.hero-service-visual .hero-service-kicker{top:14px;left:14px}
  .hero-service-card.hero-service-visual .hero-service-title{font-size:1.12rem}
  .hero-service-card.hero-service-visual .hero-service-description{font-size:.76rem!important;line-height:1.42!important}
  .hero-service-card.hero-service-visual .hero-service-cta{opacity:1;transform:none;min-height:44px;margin-top:13px!important;font-size:.72rem!important}
  .hero-service-card.hero-service-visual .hero-service-bg{filter:saturate(.92) brightness(.82)}
  .hero-service-card.hero-service-visual .hero-service-shade{background:linear-gradient(180deg,color-mix(in srgb,var(--service-tone) 58%,transparent),color-mix(in srgb,var(--service-tone) 88%,#15171b))}
  .faq-section{padding-block:3.8rem!important}
  .faq-list details:hover{transform:none}
  .faq-list summary{min-height:70px;padding:17px 15px 17px 18px!important;font-size:.95rem!important}
  .faq-list summary>span{width:34px;height:34px;min-width:34px}
  .faq-list details>div{padding:0 18px 20px!important;font-size:.92rem}
}
@media(max-width:430px){
  .hero-service-card.hero-service-visual{min-height:350px;aspect-ratio:auto}
  .hero-service-card.hero-service-visual .hero-service-title{font-size:1.5rem}
  .hero-service-card.hero-service-visual .hero-service-description{font-size:.88rem!important}
}
@media(hover:none){
  .hero-service-card.hero-service-visual .hero-service-cta{opacity:1;transform:none}
  .hero-service-card.hero-service-visual .hero-service-content{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .hero-service-card.hero-service-visual,.hero-service-card.hero-service-visual::before,.hero-service-card.hero-service-visual .hero-service-bg,.hero-service-card.hero-service-visual .hero-service-shade,.hero-service-card.hero-service-visual .hero-service-content,.hero-service-card.hero-service-visual .hero-service-cta,.faq-list details,.faq-list summary>span{transition:none!important}
  .faq-list details>div{animation:none}
}
