/* ===== HERO EDITORIAL CENTRE ===== */
.hero-centre{
  max-width:1000px;margin:0 auto;text-align:center;
  padding:clamp(36px,7vw,90px) 20px clamp(20px,4vw,40px);
  position:relative;
}
.hero-centre__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--ff-ui);text-transform:uppercase;letter-spacing:.18em;
  font-size:.75rem;color:var(--accent);margin-bottom:18px;font-weight:500;
}
.hero-centre__eyebrow::before,
.hero-centre__eyebrow::after{
  content:"";width:24px;height:1px;background:var(--accent);
}
.hero-centre__title{
  font-family:var(--ff-display);font-weight:500;
  font-size:clamp(2.2rem,6vw,4.4rem);
  line-height:1.04;
  color:var(--primary);
  letter-spacing:-.012em;
}
.hero-centre__title em{font-style:italic;color:var(--accent);font-weight:500;}
.hero-centre__sub{
  font-size:clamp(1rem,1.6vw,1.18rem);
  color:var(--text-2);
  margin:22px auto 28px;max-width:54ch;
  line-height:1.7;
}
.hero-centre__cta{
  display:flex;flex-direction:column;align-items:stretch;gap:12px;
  max-width:380px;margin:0 auto;
}
.hero-centre__art{
  width:100%;max-width:780px;
  margin:clamp(28px,5vw,52px) auto 0;
  aspect-ratio:21/9;
  border-radius:var(--r-xl);
  background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 18%,var(--bg)) 0%,var(--bg-alt) 60%,color-mix(in srgb,var(--accent) 10%,var(--bg)) 100%);
  border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);
  position:relative;
  overflow:hidden;
  box-shadow:0 30px 60px -32px rgba(41,64,47,.3);
  display:grid;place-items:center;
}
.hero-centre__art svg{width:100%;height:100%;display:block;color:var(--accent);}
.hero-trust{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;
  margin-top:22px;
}
@media (min-width:640px){
  .hero-centre__cta{flex-direction:row;justify-content:center;max-width:none;}
  .hero-centre__cta .btn{width:auto;}
}
@media (max-width:768px){
  .hero-centre__art{aspect-ratio:4/3;}
}

/* ===== REALISATIONS - TYPE CARDS (photos a venir) ===== */
.real-grid{display:grid;grid-template-columns:1fr;gap:18px;}
.real-card{
  background:var(--surface);
  border:1px solid color-mix(in srgb,var(--text) 8%,transparent);
  border-radius:var(--r-lg);
  padding:26px 24px;
  display:flex;flex-direction:column;gap:14px;
  position:relative;
  transition:border-color .25s var(--ease),transform .25s var(--ease);
}
.real-card:hover{border-color:color-mix(in srgb,var(--accent) 36%,transparent);transform:translateY(-3px);}
.real-card__art{
  width:100%;aspect-ratio:5/3;
  border-radius:var(--r-md);
  background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 14%,var(--bg)) 0%,var(--bg-alt) 100%);
  border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);
  display:grid;place-items:center;
  color:var(--accent);
}
.real-card__art svg{width:64%;height:64%;display:block;}
.real-card__num{
  font-family:var(--ff-display);font-style:italic;
  font-size:.92rem;color:var(--accent);letter-spacing:.04em;
}
.real-card h3{font-size:1.2rem;color:var(--primary);}
.real-card p{color:var(--text-2);font-size:.97rem;line-height:1.6;}
.real-card__season{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:auto;
  font-family:var(--ff-ui);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-mute);
  padding-top:14px;border-top:1px dashed var(--border);
}
@media (min-width:640px){.real-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1024px){.real-grid{grid-template-columns:repeat(3,1fr);}}

.real-note{
  margin-top:28px;
  padding:22px 24px;
  background:color-mix(in srgb,var(--accent) 8%,var(--bg));
  border-radius:var(--r-lg);
  border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);
  display:flex;flex-direction:column;gap:14px;
}
.real-note p{color:var(--text-2);font-size:.97rem;line-height:1.65;}
.real-note strong{color:var(--primary);font-weight:500;font-family:var(--ff-display);font-style:italic;font-size:1.08rem;}
@media (min-width:640px){
  .real-note{flex-direction:row;align-items:center;gap:24px;padding:24px 28px;}
  .real-note p{flex:1;}
}

/* ===== SERVICES - ALT ROWS ===== */
.svc-alt{display:flex;flex-direction:column;gap:clamp(40px,6vw,84px);margin-top:8px;}
.svc-alt__row{
  display:grid;grid-template-columns:1fr;
  gap:24px;align-items:center;
}
.svc-alt__media{
  width:100%;aspect-ratio:4/3;
  border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 16%,var(--bg)) 0%,var(--bg-alt) 60%,color-mix(in srgb,var(--accent) 8%,var(--bg)) 100%);
  border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);
  box-shadow:0 18px 36px -22px rgba(41,64,47,.28);
  display:grid;place-items:center;
  color:var(--accent);
  position:relative;
}
.svc-alt__media svg{width:55%;height:55%;display:block;}
.svc-alt__media::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(60% 60% at 50% 50%,transparent 60%,color-mix(in srgb,var(--accent) 12%,transparent) 100%);
  pointer-events:none;
}
.svc-alt__num{
  font-family:var(--ff-display);font-style:italic;
  color:var(--accent);
  font-size:1rem;letter-spacing:.02em;
  margin-bottom:10px;display:block;
}
.svc-alt__title{
  font-family:var(--ff-display);font-weight:500;
  font-size:clamp(1.5rem,3vw,2rem);
  color:var(--primary);
  margin-bottom:14px;line-height:1.2;
}
.svc-alt__text p{color:var(--text-2);line-height:1.75;font-size:1.02rem;}
.svc-alt__list{margin-top:18px;display:flex;flex-direction:column;gap:8px;}
.svc-alt__list li{
  display:flex;align-items:flex-start;gap:10px;
  color:var(--text-2);font-size:.97rem;line-height:1.55;
}
.svc-alt__list li::before{
  content:"";flex-shrink:0;
  width:6px;height:6px;border-radius:50%;
  background:var(--accent);
  margin-top:9px;
}
@media (min-width:768px){
  .svc-alt__row{grid-template-columns:1fr 1fr;gap:48px;}
  .svc-alt__row:nth-child(even) .svc-alt__media{order:-1;}
}

/* ===== PROCESS (Comment ca se passe - remplace avis vides) ===== */
.process{background:var(--bg-alt);}
.process-grid{display:grid;grid-template-columns:1fr;gap:18px;}
.process-step{
  background:var(--surface);
  border-radius:var(--r-lg);
  padding:28px 24px;
  position:relative;
  border:1px solid color-mix(in srgb,var(--text) 6%,transparent);
}
.process-step__num{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;
  border-radius:50%;
  background:color-mix(in srgb,var(--accent) 16%,var(--bg));
  color:var(--accent);
  font-family:var(--ff-display);font-style:italic;
  font-size:1.4rem;
  margin-bottom:18px;
}
.process-step h3{font-size:1.3rem;margin-bottom:10px;color:var(--primary);}
.process-step p{color:var(--text-2);line-height:1.65;font-size:.97rem;}
@media (min-width:768px){
  .process-grid{grid-template-columns:repeat(3,1fr);gap:24px;}
}

/* ===== STATS ===== */
.stats-strip{padding-top:32px;padding-bottom:32px;}
.stats-grid{
  display:grid;grid-template-columns:1fr;gap:18px;
  padding:32px 24px;
  background:color-mix(in srgb,var(--primary) 96%,transparent);
  color:#E2E8DD;
  border-radius:var(--r-xl);
}
.stat-item{text-align:center;padding:6px 0;}
.stat-item + .stat-item{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;}
.stat-number{
  display:block;
  font-family:var(--ff-display);
  font-size:clamp(2rem,5vw,2.8rem);
  font-weight:500;
  color:#fff;
  line-height:1;
  margin-bottom:6px;
}
.stat-number em{color:var(--accent-2);font-style:italic;}
.stat-label{
  font-family:var(--ff-ui);
  font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(226,232,221,.78);
}
.dot-live{
  display:inline-block;width:8px;height:8px;
  background:#7CD992;border-radius:50%;
  margin-right:8px;vertical-align:middle;
  box-shadow:0 0 0 0 rgba(124,217,146,.6);
  animation:pulseDot 2.4s ease-in-out infinite;
}
@keyframes pulseDot{
  0%,100%{box-shadow:0 0 0 0 rgba(124,217,146,.6);}
  50%{box-shadow:0 0 0 6px rgba(124,217,146,0);}
}
@media (prefers-reduced-motion:reduce){.dot-live{animation:none;}}
@media (min-width:768px){
  .stats-grid{grid-template-columns:repeat(3,1fr);padding:42px 28px;gap:0;}
  .stat-item + .stat-item{border-top:none;border-left:1px solid rgba(255,255,255,.12);padding-top:6px;}
}

/* ===== FAQ ===== */
.faq-list{display:flex;flex-direction:column;gap:10px;max-width:820px;margin:0 auto;}
.faq-item{
  background:var(--surface);
  border:1px solid color-mix(in srgb,var(--text) 8%,transparent);
  border-radius:var(--r-md);
  overflow:hidden;
  transition:border-color .2s var(--ease);
}
.faq-item:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent);}
.faq-trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 22px;
  text-align:left;
  font-family:var(--ff-display);font-size:1.1rem;
  color:var(--primary);
  cursor:pointer;
  min-height:56px;
}
.faq-chevron{
  flex-shrink:0;width:18px;height:18px;
  border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);
  transform:rotate(45deg);transition:transform .25s var(--ease);
  margin-top:-3px;
}
.faq-trigger[aria-expanded="true"] .faq-chevron{transform:rotate(-135deg);margin-top:4px;}
.faq-answer{padding:0 22px 22px;color:var(--text-2);font-size:.98rem;line-height:1.7;}

/* ===== CONTACT ===== */
.contact{background:var(--bg-alt);}
.contact-wrap{display:grid;grid-template-columns:1fr;gap:32px;}
.contact-info{display:flex;flex-direction:column;gap:18px;}
.contact-item{
  display:flex;align-items:center;gap:14px;
  padding:14px 18px;
  background:var(--surface);
  border-radius:var(--r-md);
  border:1px solid var(--border);
}
.contact-item__icon{
  flex-shrink:0;
  width:42px;height:42px;
  display:grid;place-items:center;
  background:color-mix(in srgb,var(--accent) 14%,var(--bg));
  color:var(--accent);
  border-radius:10px;
}
.contact-item__icon svg{width:20px;height:20px;}
.contact-item__label{
  display:block;font-family:var(--ff-ui);
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-mute);margin-bottom:2px;
}
.contact-item__value{
  font-family:var(--ff-display);font-size:1.1rem;color:var(--primary);
  font-weight:500;
  display:block;
}
.contact-item__value.is-link{color:var(--primary);}
.contact-item__value.is-link:hover{color:var(--accent);}

.contact-form{
  background:var(--surface);
  padding:28px 24px;
  border-radius:var(--r-lg);
  border:1px solid var(--border);
  display:flex;flex-direction:column;gap:14px;
}
.contact-form h3{font-size:1.4rem;margin-bottom:6px;}
.contact-form p.lead{margin-bottom:8px;}
.form-feedback{
  margin-top:8px;padding:12px 14px;border-radius:8px;
  background:color-mix(in srgb,var(--accent) 12%,var(--bg));
  color:var(--primary);font-size:.92rem;
}

.zone-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}

.map-wrap{
  width:100%;
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid var(--border);
  position:relative;
  padding-top:56.25%;
  background:var(--bg-alt);
}
.map-wrap iframe{
  position:absolute;inset:0;
  width:100%;height:100%;
  border:0;
}
@media (min-width:768px){
  .contact-wrap{grid-template-columns:1fr 1fr;gap:48px;}
}

/* ===== A PROPOS ===== */
.about{padding-top:32px;}
.about-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;}
.about-media{
  width:100%;
  aspect-ratio:4/5;
  border-radius:var(--r-xl);
  overflow:hidden;
  position:relative;
  box-shadow:0 28px 50px -28px rgba(41,64,47,.32);
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 22%,var(--bg)) 0%,var(--bg-alt) 65%,color-mix(in srgb,var(--accent) 14%,var(--bg)) 100%);
  border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);
  display:grid;place-items:center;
  color:var(--accent);
}
.about-media svg{width:62%;height:62%;display:block;}
.about-media__tag{
  position:absolute;left:18px;bottom:18px;
  background:rgba(255,255,255,.94);
  color:var(--primary);
  font-family:var(--ff-display);font-style:italic;
  font-size:1rem;
  padding:8px 14px;border-radius:8px;
}
.about-text h2{font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.12;margin-bottom:18px;}
.about-text h2 em{font-style:italic;color:var(--accent);font-weight:500;}
.about-text p{color:var(--text-2);line-height:1.75;font-size:1.05rem;margin-bottom:14px;}
.about-text p::first-letter{
  font-family:var(--ff-display);font-size:3.2rem;
  float:left;line-height:.9;
  color:var(--accent);
  padding:6px 10px 0 0;font-style:italic;
}
.about-signature{
  display:flex;align-items:center;gap:14px;
  margin-top:24px;padding-top:22px;
  border-top:1px solid var(--border);
}
.about-signature__name{
  font-family:var(--ff-display);font-style:italic;
  font-size:1.5rem;color:var(--primary);line-height:1;
}
.about-signature__role{
  font-family:var(--ff-ui);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--text-mute);margin-top:6px;
}
@media (min-width:768px){
  .about-grid{grid-template-columns:.85fr 1.15fr;gap:56px;}
}
