:root{
  --cloud:#FBF7F5;
  --blush:#F0DCD8;
  --blush-deep:#E7C9C3;
  --rose:#C99891;
  --rose-deep:#A6726B;
  --ink:#5A4341;
  --ink-soft:#8A6F6C;
  --gold:#D4B896;
  --radius-soft: 40px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  cursor:url('/images/cursor.svg') 2 2, auto;

  background:var(--cloud);
  color:var(--ink);
  font-family:'Jost',sans-serif;
  font-weight:300;
  overflow-x:hidden;
}
h1,h2,h3,.serif{
  font-family:'Cormorant Garamond',serif;
  font-weight:400;
  letter-spacing:.01em;
}
.eyebrow{
  font-family:'Jost',sans-serif;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:11px;
  color:var(--rose-deep);
  font-weight:500;
}
a{color:inherit;text-decoration:none;cursor:url('/images/cursor-pointer.svg') 20 17, pointer;}
a:hover,button,input[type="submit"],.btn-primary,.btn-ghost,.filter-btn,.burger,.cat-header,.faq-q,.tab-btn,.pm-item,.g-item img{cursor:url('/images/cursor-pointer.svg') 20 17, pointer;}
img{display:block;width:100%;height:100%;object-fit:cover;}
.wrap{max-width:1180px;margin:0 auto;padding:0 6vw;}

/* ---------- NAV ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:300;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:15px 6vw;
  transition:background .4s ease, padding .4s ease, box-shadow .4s ease;
}
nav::after{
  content:'';position:absolute;bottom:0;left:0;
  width:0;height:1px;background:var(--rose-deep);
  transition:width .4s ease;
}
nav.scrolled::after{width:100%;}
nav.scrolled{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  padding:8px 6vw;
  box-shadow:0 1px 0 rgba(90,67,65,.08);
}
.navlinks-left{display:flex;gap:40px;justify-content:flex-end;font-size:19px;letter-spacing:.1em;text-transform:uppercase;position:relative;z-index:1;}
.navlinks-right{display:flex;gap:40px;align-items:center;font-size:19px;letter-spacing:.1em;text-transform:uppercase;position:relative;z-index:1;}
.navlinks-left a,.navlinks-right a{position:relative;padding-bottom:4px;color:inherit;text-decoration:none;}
.navlinks-left a::after,.navlinks-right a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--rose-deep);transition:width .35s ease;}
.navlinks-left a:hover::after,.navlinks-right a:hover::after,.navlinks-left a.active::after,.navlinks-right a.active::after{width:100%;}
.nav-logo-center{display:flex;justify-content:center;padding:0 24px;position:relative;z-index:1;}
.nav-logo-center .logo-img{height:165px;width:auto;mix-blend-mode:multiply;transition:height .3s ease;}
nav.scrolled .nav-logo-center .logo-img{height:90px;}
.logo{display:flex;align-items:center;text-decoration:none;}
.logo-img{
  height:120px;
  width:auto;
  display:block;
  object-fit:contain;
  transform-origin:center center;
  mix-blend-mode:multiply;
  transition:filter .3s ease;
}
@keyframes butterfly-flutter{
  0%   {transform:scaleX(1)    translateY(0);}
  15%  {transform:scaleX(.62)  translateY(-3px);}
  30%  {transform:scaleX(1)    translateY(-5px);}
  45%  {transform:scaleX(.62)  translateY(-3px);}
  60%  {transform:scaleX(1)    translateY(-5px);}
  75%  {transform:scaleX(.62)  translateY(-3px);}
  90%  {transform:scaleX(1)    translateY(-2px);}
  100% {transform:scaleX(1)    translateY(0);}
}
.logo:hover .logo-img{
  animation:butterfly-flutter .9s ease forwards;
}
.logo small::before,.logo small::after{
  content:'';display:block;flex:1;height:0.5px;background:var(--blush-deep);min-width:12px;
}
.logo-flower{flex-shrink:0;transition:transform .5s ease;}
.logo:hover .logo-flower{transform:rotate(45deg);}
footer .logo-img{height:140px;mix-blend-mode:screen;}
footer .logo:hover .logo-img{animation:none;}
.navlinks{display:flex;gap:32px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;}
.navlinks a{position:relative;padding-bottom:4px;}
.navlinks a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--rose-deep);transition:width .35s ease;}
.navlinks a:hover::after,.navlinks a.active::after{width:100%;}
.nav-cta{
  border:1px solid var(--rose-deep);
  padding:10px 24px;
  border-radius:30px;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:background .3s ease,color .3s ease;
}
.nav-cta:hover{background:var(--rose-deep);color:var(--cloud);}
.nav-ig{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  color:var(--ink-soft);
  transition:color .3s ease,background .3s ease;
}
.nav-ig:hover{color:var(--rose-deep);background:var(--blush);}
.burger{display:none;font-size:22px;cursor:pointer;}
.nav-ig-mobile{display:none;}
.nav-cta-mobile{display:none;}

/* ---------- SOCIAL ICONS (footer) ---------- */
.social-icons{list-style:none;display:flex;gap:12px;padding:0;}
.social-icons a{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  border:1px solid var(--blush-deep);
  color:var(--ink-soft);
  transition:color .3s ease,border-color .3s ease,background .3s ease;
}
.social-icons a:hover{color:var(--rose-deep);border-color:var(--rose);background:var(--blush);}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;align-items:center;
  padding-top:90px;
  overflow:hidden;
}
.cocoon-bg{display:none;}
.hero-grid{
  position:relative;z-index:1;
  width:100%;
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:5vw;align-items:center;
}
.hero-copy .eyebrow{margin-bottom:22px;display:inline-block;}
.hero h1{
  font-size:clamp(42px,5.4vw,76px);
  line-height:1.04;
  color:var(--ink);
  margin-bottom:26px;
}
.hero h1 i{font-style:italic;color:var(--rose-deep);}
.hero p.lead{
  font-size:22px;line-height:1.8;color:var(--ink-soft);
  max-width:440px;margin-bottom:38px;
}
.btn-row{display:flex;gap:18px;flex-wrap:wrap;}

/* ---------- HERO PHOTO ENCADRÉE (accueil) ---------- */
.hero-photo{
  min-height:0;padding-top:120px;padding-bottom:18px;
  background:var(--cloud);
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.hero-photo .hero-logo{
  display:flex;justify-content:center;
}
.slogan-band{
  background:var(--cloud);
  padding:20px 6vw 0;
  text-align:center;
}
.slogan-img{
  max-width:min(460px,55vw);
  height:auto;
  display:block;
  margin:0 auto;
}
.hero-text-band{
  background:var(--cloud);
  padding:52px 6vw 64px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.hero-text-band .eyebrow{margin-bottom:24px;letter-spacing:.2em;font-size:16px;}
.hero-text-band p.lead{color:var(--ink-soft);max-width:1000px;margin:0 auto 40px;line-height:1.85;font-size:23px;font-family:'Cormorant Garamond',serif;font-weight:300;font-style:italic;}
.hero-text-band .btn-row{justify-content:center;}
.hero-name{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5vw,64px);font-weight:300;letter-spacing:.08em;color:var(--ink);margin:10px 0 4px;}
.hero-subtitle{font-family:'Cormorant Garamond',serif;font-size:clamp(13px,1.4vw,17px);letter-spacing:.22em;text-transform:uppercase;color:var(--rose-deep);margin-bottom:22px;}
.hero-divider{width:48px;height:1px;background:var(--rose-deep);margin:0 auto 24px;opacity:.5;}
.hero-bg{
  position:relative;z-index:0;
  margin:54px auto 0;max-width:1180px;width:100%;
  aspect-ratio:21/8;border-radius:28px;overflow:hidden;
  box-shadow:0 40px 70px -35px rgba(90,67,65,.4);
}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center;}
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(58,42,40,0) 60%, rgba(58,42,40,.22) 100%);
}
@media (max-width:780px){
  .hero-bg{aspect-ratio:4/5;border-radius:24px;margin-top:40px;}
}
.btn-primary{
  background:var(--rose-deep);color:var(--cloud);
  padding:16px 34px;border-radius:40px;
  font-size:13px;letter-spacing:.08em;text-transform:uppercase;
  transition:transform .3s ease, background .3s ease;
  display:inline-block;
}
.btn-primary:hover{background:var(--ink);transform:translateY(-2px);}
.btn-ghost{
  border-bottom:1px solid var(--ink);
  padding:16px 4px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;
}
.btn-voir-plus{
  display:inline-flex;align-items:center;gap:14px;
  background:transparent;
  border:1px solid var(--rose-deep);
  color:var(--rose-deep);
  padding:16px 40px;
  border-radius:60px;
  font-family:'Jost',sans-serif;
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  cursor:pointer;
  position:relative;overflow:hidden;
  transition:color .4s ease, border-color .4s ease, transform .35s ease, box-shadow .35s ease;
}
.btn-voir-plus::before{
  content:'';position:absolute;inset:0;
  background:var(--rose-deep);
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s cubic-bezier(.77,0,.175,1);
  border-radius:60px;z-index:0;
}
.btn-voir-plus:hover::before{transform:scaleX(1);}
.btn-voir-plus:hover{color:var(--cloud);border-color:var(--rose-deep);transform:translateY(-2px);box-shadow:0 12px 32px -8px rgba(166,114,107,.35);}
.btn-voir-plus span,.btn-voir-plus svg{position:relative;z-index:1;}
.btn-voir-plus svg{transition:transform .35s ease;}
.btn-voir-plus:hover svg{transform:translateY(3px);}
.hero-visual{
  position:relative;
  aspect-ratio:4/5;
  border-radius:240px 240px 24px 24px;
  overflow:hidden;
  box-shadow:0 40px 80px -30px rgba(90,67,65,.35);
}
.hero-visual::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(90,67,65,0) 55%, rgba(90,67,65,.28) 100%);
}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.hero-badge{
  position:absolute;left:-30px;bottom:40px;z-index:2;
  background:var(--cloud);
  border-radius:50%;
  width:120px;height:120px;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  font-family:'Cormorant Garamond',serif;
  font-size:13px;line-height:1.3;color:var(--ink);
  box-shadow:0 18px 40px -10px rgba(90,67,65,.25);
  border:1px solid var(--blush-deep);
}

/* drape divider */
.drape{display:block;width:100%;height:90px;margin-top:-2px;}

/* ---------- PAGE HERO (sous-pages) ---------- */
.page-hero{
  position:relative;padding:170px 0 90px;text-align:center;overflow:hidden;
}
.page-hero .eyebrow{display:inline-block;margin-bottom:18px;}
.page-hero h1{font-size:clamp(36px,5vw,58px);}
.page-hero p{color:var(--ink-soft);max-width:560px;margin:18px auto 0;font-size:18px;line-height:1.8;}

/* ---------- SECTION GENERIC ---------- */
section{position:relative;}
.section-pad{padding:120px 0 100px;}
.section-head{max-width:600px;margin:0 auto 64px;text-align:center;}
.section-head h2{font-size:clamp(22px,2.8vw,34px);margin-top:14px;line-height:1.15;}
.section-head p{color:var(--ink-soft);margin-top:18px;font-size:24px;line-height:1.6;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;}
.experience .section-head h2{font-size:clamp(22px,2.8vw,34px);}
.experience .section-head p{font-size:20px;}

/* ---------- ABOUT ---------- */
.about{background:var(--blush);}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:6vw;align-items:center;}
.about-photo{aspect-ratio:3/4;border-radius:24px 24px 140px 24px;overflow:hidden;box-shadow:0 30px 60px -25px rgba(90,67,65,.3);}
.about-text h2{font-size:clamp(16px,1.8vw,24px);margin:14px 0 24px;white-space:nowrap;}
.about-text p{color:var(--ink-soft);line-height:1.85;font-size:22px;font-family:'Cormorant Garamond',serif;font-weight:300;font-style:italic;margin-bottom:12px;max-width:700px;}
.about-stats{display:flex;gap:46px;margin-top:36px;flex-wrap:wrap;}
.about-stats div b{display:block;font-family:'Cormorant Garamond',serif;font-size:34px;color:var(--rose-deep);}
.about-stats div span{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}

/* ---------- PORTFOLIO CAROUSEL ---------- */
.porto-carousel{max-width:680px;margin:0 auto;}
.porto-track{display:grid;border-radius:18px;overflow:hidden;}
.porto-slide{grid-area:1/1;opacity:0;transition:opacity .7s ease;}
.porto-slide.porto-active{opacity:1;}
.porto-slide img{width:100%;max-height:620px;height:auto;object-fit:contain;display:block;}
.porto-dots{display:flex;justify-content:center;gap:9px;margin-top:18px;}
.porto-dot{width:8px;height:8px;border-radius:50%;border:none;background:#e8d5d0;cursor:pointer;padding:0;transition:background .25s,transform .25s;}
.porto-dot.active{background:#c26b5a;transform:scale(1.25);}
@media(max-width:700px){
  .porto-slide img{max-height:460px;}
}

/* ---------- GALERIE ---------- */
.gallery-filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:50px;}
.filter-btn{
  padding:11px 26px;border-radius:30px;border:1px solid var(--blush-deep);
  font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;
  background:transparent;color:var(--ink-soft);
  transition:all .3s ease;
}
.filter-btn.active,.filter-btn:hover{background:var(--rose-deep);border-color:var(--rose-deep);color:var(--cloud);}
.gallery-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:50px;}
.tab-btn{
  display:flex;align-items:center;gap:9px;
  padding:12px 28px;border-radius:30px;border:1px solid var(--blush-deep);
  font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;
  background:transparent;color:var(--ink-soft);font-family:'Jost',sans-serif;
  transition:all .3s ease;
}
.tab-btn.active,.tab-btn:hover{background:var(--rose-deep);border-color:var(--rose-deep);color:var(--cloud);}
.ig-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--gold);
  display:inline-block;
}
.tab-btn.active .ig-dot{background:var(--cloud);}
/* Lightbox */
#lightbox{
  display:none;position:fixed;inset:0;z-index:1000;
  background:rgba(20,14,12,.92);
  align-items:center;justify-content:center;
}
#lightbox.open{display:flex;}
.lb-backdrop{position:fixed;inset:0;z-index:0;cursor:pointer;}
.lb-img{max-width:90vw;max-height:88vh;object-fit:contain;border-radius:4px;display:block;-webkit-user-drag:none;user-select:none;position:relative;z-index:1;}
.g-item img{-webkit-user-drag:none;user-select:none;pointer-events:auto;}
.lb-close,.lb-prev,.lb-next{
  position:fixed;background:rgba(255,255,255,.12);border:none;color:#fff;
  cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.28);}
.lb-close{display:none;}
.lb-img{cursor:pointer;}
.lb-prev{left:18px;width:52px;height:52px;font-size:36px;}
.lb-next{right:18px;width:52px;height:52px;font-size:36px;}
@media(max-width:600px){
  .lb-prev{left:6px;} .lb-next{right:6px;}
  .lb-close{display:none;}
  .lb-img{cursor:pointer;}
}

.grid-gallery{
  display:flex;
  gap:4px;
  align-items:flex-start;
  max-width:100vw;
  margin-left:calc(-50vw + 50%);
  margin-right:calc(-50vw + 50%);
}
.masonry-col{flex:1;display:flex;flex-direction:column;gap:4px;}
.g-item img{width:100%;height:auto;display:block;}
.ig-panel{min-height:200px;}
.ig-placeholder{
  text-align:center;padding:70px 30px;
  background:var(--blush);border-radius:28px;
  border:1px dashed var(--blush-deep);
}
.ig-placeholder-icon{
  width:56px;height:56px;border-radius:50%;
  background:var(--cloud);margin:0 auto 20px;
  display:flex;align-items:center;justify-content:center;
  font-size:24px;color:var(--rose-deep);
}
.ig-placeholder p{color:var(--ink-soft);font-size:14.5px;max-width:380px;margin:0 auto 22px;line-height:1.7;}
.g-item{border-radius:18px;overflow:hidden;cursor:url('/images/cursor-pointer.svg') 15 11, pointer;position:relative;display:block;line-height:0;}
.g-item img{transition:transform .6s cubic-bezier(.25,.46,.45,.94), filter .5s ease;transform:translateZ(0);will-change:transform;}
.g-item:hover img{transform:scale(1.04) translateZ(0);filter:brightness(1.05);}
.g-item.g-hidden{display:none !important;}
@keyframes g-fade-in{from{opacity:0;}to{opacity:1;}}
.g-item.g-reveal{animation:g-fade-in .6s cubic-bezier(.22,.61,.36,1) both;}
.g-item::after{
  content:'';position:absolute;inset:0;
  background:rgba(0,0,0,.22);
  opacity:0;transition:opacity .4s ease;
  pointer-events:none;
}
.g-item:hover::after{opacity:1;}
.g-item::before{
  content:'+';
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%) scale(.6);
  z-index:2;
  width:36px;height:36px;border-radius:50%;
  background:var(--rose-deep);
  color:#fff;font-size:26px;font-weight:300;
  font-family:'Cormorant Garamond',serif;
  text-align:center;line-height:36px;
  margin-top:0;
  opacity:0;transition:opacity .4s ease, transform .4s ease;
  pointer-events:none;
}
.g-item:hover::before{opacity:1;transform:translate(-50%,-50%) scale(1);}
.g-tall{grid-row:unset;}
.g-wide{grid-column:unset;}

/* ---------- SERVICES / TARIFS ---------- */
.services{background:var(--blush);}
.services .wrap{max-width:none;padding-left:1vw;padding-right:1vw;}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.service-grid-2{grid-template-columns:repeat(2,1fr);max-width:760px;margin:0 auto;}
.service-card{
  background:var(--cloud);border-radius:28px;padding:46px 34px;
  text-align:center;position:relative;
  border:1px solid var(--blush-deep);
  transition:transform .35s ease, box-shadow .35s ease;
  display:flex;flex-direction:column;
}
.service-card .btn-card{margin-top:auto;}
.service-card:hover{transform:translateY(-8px);box-shadow:0 30px 50px -25px rgba(90,67,65,.3);}
.service-card.featured{
  background:var(--rose-deep);color:var(--cloud);
  animation:card-glow 3s ease-in-out infinite;
  border:2px solid rgba(255,200,185,.45);
}
.service-card.featured:hover{transform:translateY(-8px);}
@keyframes card-glow{
  0%,100%{opacity:.7;}
  50%{opacity:1;}
}
.service-card.featured::after{content:'';position:absolute;inset:-2px;border-radius:inherit;box-shadow:0 0 40px 12px rgba(196,120,110,.6),0 20px 50px -10px rgba(120,50,45,.5);opacity:.7;animation:card-glow 3s ease-in-out infinite;pointer-events:none;z-index:0;}
.service-card.featured .price,.service-card.featured h3{color:var(--cloud);}
.service-card.featured p{color:#F2DEDA;}
.service-icon{
  width:64px;height:64px;border-radius:50%;
  background:var(--blush);margin:0 auto 22px;
  display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--rose-deep);
}
.service-card.featured .service-icon{background:rgba(255,255,255,.18);color:var(--cloud);}
.service-card h3{font-size:24px;margin-bottom:10px;}
.price{font-family:'Cormorant Garamond',serif;font-size:52px;color:var(--rose-deep);margin:14px 0 18px;line-height:1;}
.price .price-unit{font-size:13px;font-family:'Jost',sans-serif;color:var(--ink-soft);}
.service-card.featured .price{color:var(--cloud);}
.service-card.featured .price .price-unit{color:rgba(255,255,255,.7);}
.service-card ul{list-style:none;text-align:left;margin:0 0 30px;font-size:14px;color:var(--ink-soft);line-height:2.1;}
.service-card.featured ul{color:#F2DEDA;}
.service-card ul li::before{content:'✦ ';color:var(--rose-deep);font-size:9px;vertical-align:middle;}
.service-card.featured ul li::before{color:var(--cloud);}
.badge-pop{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:var(--ink);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  padding:6px 18px;border-radius:20px;
}
.btn-card{
  display:block;border:1px solid var(--rose-deep);border-radius:30px;
  padding:13px;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;
  transition:all .3s ease;
}
.btn-card:hover{background:var(--rose-deep);color:var(--cloud);}
.service-card.featured .btn-card{border-color:var(--cloud);}
.service-card.featured .btn-card:hover{background:var(--cloud);color:var(--rose-deep);}

/* ---------- CATEGORIES TARIFS (colonnes portrait pleine largeur) ---------- */
.cat-accordion{display:grid;grid-template-columns:repeat(9,1fr);gap:10px;align-items:start;}
.cat-row{display:contents;}
.cat-row-featured,.cat-row-3,.cat-row-4{}
.cat-item{
  position:relative;background:var(--cloud);border-radius:24px;border:1px solid var(--blush-deep);
  overflow:hidden;
}
/* Barre latérale gauche (C) */
.cat-item::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
  background:#c9908a;transform:scaleY(0);transform-origin:bottom;
  transition:transform .4s ease;z-index:10;
}
.cat-item:hover::before{transform:scaleY(1);}
.cat-header{
  width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;
  padding:20px 16px;background-color:var(--blush);border:none;cursor:pointer;text-align:center;
  position:relative;height:500px;background-size:cover;background-repeat:no-repeat;
  isolation:isolate;
}
.cat-row-featured .cat-header,.cat-row-3 .cat-header,.cat-row-4 .cat-header{height:500px;}
/* Photo 2 — crossfade automatique */
.cat-img2{position:absolute;inset:0;background-size:cover;z-index:0;opacity:0;transition:opacity 1.4s ease;}
.cat-img2.active{opacity:1;}
/* Gradient de base */
.cat-header::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(30,15,12,.05) 0%, rgba(30,15,12,.72) 100%);
  z-index:1;
}
/* Shimmer reflet au survol — sens unique (D) */
.cat-header::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.13) 50%,transparent 65%);
  transform:translateX(-200%);z-index:2;pointer-events:none;
}
.cat-header:hover::after{animation:cat-shimmer .7s ease forwards;}
@keyframes cat-shimmer{from{transform:translateX(-200%);}to{transform:translateX(200%);}}
.cat-header h3{
  font-family:'Cormorant Garamond',serif;font-size:26px;color:#fff;margin:0;
  text-shadow:0 2px 12px rgba(0,0,0,.4);position:relative;z-index:2;
  transition:transform .4s ease;
}
.cat-header:hover h3{transform:translateY(-10px);}
.cat-header h3{position:relative;z-index:3;}
.cat-price-hint{
  position:relative;z-index:3;
  color:rgba(255,255,255,.85);font-size:11px;font-family:'Jost',sans-serif;
  letter-spacing:.06em;opacity:0;transform:translateY(4px);
  transition:opacity .35s ease .08s, transform .35s ease .08s;
}
.cat-header:hover .cat-price-hint{opacity:1;transform:translateY(0);}
.cat-overlay-hint{display:none;}
.cat-header .cat-chevron{display:none;}
/* .cat-item.open n'est plus utilisé — la lightbox remplace l'accordéon */
.cat-header-package{
  animation:package-shimmer 3s ease-in-out infinite;
}
.cat-package-glow{position:absolute;inset:0;z-index:4;pointer-events:none;animation:package-shimmer 3s ease-in-out infinite;}
@keyframes package-shimmer{
  0%,100%{box-shadow:inset 0 0 18px 4px rgba(212,184,150,.2);}
  50%{box-shadow:inset 0 0 32px 10px rgba(255,215,120,.45);}
}
.cat-body{display:none;}
.cat-body-inner{padding:38px 34px 38px;}

/* ---------- LIGHTBOX CATÉGORIES ---------- */
#cat-modal{
  position:fixed;inset:0;z-index:600;
  display:flex;align-items:flex-start;justify-content:center;
  pointer-events:none;
}
#cat-modal.open{pointer-events:all;}
.cat-modal-overlay{
  position:absolute;inset:0;
  background:rgba(30,15,12,.72);backdrop-filter:blur(5px);
  opacity:0;transition:opacity .35s ease;
}
#cat-modal.open .cat-modal-overlay{opacity:1;}
.cat-modal-panel{
  position:relative;z-index:1;
  background:var(--cloud);
  width:min(1480px,98vw);
  max-height:88vh;
  overflow-y:auto;
  border-radius:28px;
  margin-top:4vh;
  opacity:0;
  scrollbar-width:thin;scrollbar-color:var(--blush-deep) transparent;
}
#cat-modal.open .cat-modal-panel{opacity:1;}
.cat-modal-hero{
  width:100%;height:280px;
  background-size:cover;background-position:center;
  border-radius:28px 28px 0 0;
  position:relative;flex-shrink:0;
}
.cat-modal-hero::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(30,15,12,.05) 30%,rgba(30,15,12,.7) 100%);
  border-radius:inherit;
}
.cat-modal-hero-text{
  position:absolute;bottom:28px;left:38px;right:68px;z-index:1;
}
.cat-modal-hero-text h2{
  font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3.5vw,44px);
  color:#fff;font-weight:400;line-height:1.1;
}
.cat-modal-close{
  position:absolute;top:16px;right:16px;z-index:10;
  width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(255,255,255,.75);
  background:rgba(30,15,12,.35);color:#fff;font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease;
}
.cat-modal-close:hover{background:rgba(30,15,12,.7);}
.cat-modal-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,15,12,.05) 30%,rgba(30,15,12,.7) 100%);border-radius:inherit;}
.cat-modal-body{padding:38px 38px 52px;zoom:1.25;}
.cat-modal-body .cat-desc{max-width:none;font-size:17px;line-height:1.9;}

/* === Layout A : photo gauche, desc+prix droite === */
.cat-modal-panel.lba{display:flex;flex-direction:row;width:min(1700px,99vw);height:90vh;max-height:90vh;overflow:hidden;margin-top:5vh;}
.lba-photo{width:38%;flex-shrink:0;height:100%;background-size:cover;background-position:center;border-radius:28px 0 0 28px;}
.lba-right{flex:1;display:flex;flex-direction:column;padding:40px 44px;gap:18px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--blush-deep) transparent;}
.lba-title{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,2.4vw,36px);color:var(--ink);font-weight:400;margin-bottom:8px;}
.lba-desc{font-size:13.5px;line-height:1.8;color:var(--ink-soft);}
.lba-prices{flex:1;min-height:0;}
.lba-cta{display:inline-block;margin-top:4px;align-self:flex-start;}
/* Cartes de prix compactes dans layout A */
.lba-prices .service-card{padding:20px 22px !important;border-radius:18px !important;}
.lba-prices .service-card h3{font-size:16px !important;margin-bottom:6px !important;}
.lba-prices .price{font-size:30px !important;margin:8px 0 10px !important;}
.lba-prices .service-card ul{font-size:12px !important;line-height:1.7 !important;margin-bottom:14px !important;}
.lba-prices .service-card:hover{transform:translateY(-4px) !important;}
.lba-prices .service-icon{width:28px !important;height:28px !important;font-size:11px !important;margin-bottom:8px !important;}

/* === Layout B : hero photo haut, 2 colonnes bas === */
.cat-modal-panel.lbb{display:flex;flex-direction:column;width:min(1300px,96vw);max-height:86vh;overflow:hidden;margin-top:7vh;}
.lbb-hero{height:250px;flex-shrink:0;background-size:cover;background-position:center;border-radius:28px 28px 0 0;position:relative;overflow:hidden;}
.lbb-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,15,12,.05) 20%,rgba(30,15,12,.72) 100%);}
.lbb-hero-text{position:absolute;bottom:28px;left:38px;z-index:1;}
.lbb-hero-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,3.2vw,44px);color:#fff;font-weight:400;}
.lbb-cols{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:36px 48px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--blush-deep) transparent;}
.lbb-desc{font-size:14px;line-height:1.85;color:var(--ink-soft);}

/* === Layout D : immersif fond photo === */
.cat-modal-panel.lbd{width:min(1800px,99vw);height:90vh;max-height:90vh;overflow:hidden;background-size:cover;background-position:center;margin-top:5vh;position:relative;}
.lbd-overlay{position:absolute;inset:0;background:rgba(10,3,1,.68);backdrop-filter:blur(3px);}
.lbd-content{position:relative;z-index:1;display:flex;height:100%;}
.lbd-left{width:46%;padding:52px 54px;display:flex;flex-direction:column;justify-content:flex-start;border-right:0.5px solid rgba(255,255,255,.15);overflow-y:auto;}
.lbd-eyebrow{font-size:11px;color:rgba(255,255,255,.45);letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;}
.lbd-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,3.8vw,58px);color:#fff;font-weight:400;line-height:1.1;margin-bottom:28px;}
.lbd-desc{font-size:22px;color:rgba(255,255,255,.82);line-height:1.8;overflow-y:auto;}
.lbd-desc p{margin-bottom:1.1em;}
.lbd-right{flex:1;padding:52px 54px;display:flex;flex-direction:column;justify-content:center;gap:20px;overflow-y:auto;}
.lbd-cta{display:inline-block;background:rgba(255,255,255,.15) !important;border:1px solid rgba(255,255,255,.35) !important;color:#fff !important;}
.lbd-cta:hover{background:rgba(255,255,255,.28) !important;}
.lbd-close{background:rgba(255,255,255,.15) !important;border-color:rgba(255,255,255,.45) !important;}
.lbd-prices .service-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);}
.lbd-prices .service-card h3,.lbd-prices .service-card li,.lbd-prices .service-card .price span{color:#fff;}
/* Icône uniforme sur toutes les cartes */
.lbd-prices .service-card .service-icon{background:rgba(255,255,255,.18) !important;color:#fff !important;}
/* Bouton uniforme sur toutes les cartes */
.lbd-prices .service-card .btn-card{border-color:rgba(255,255,255,.55) !important;color:#fff !important;}
.lbd-prices .service-card .btn-card:hover{background:rgba(255,255,255,.22) !important;color:#fff !important;}
.lbd-prices .service-card.featured{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);}
.lbd-prices .service-card ul li::before,.lbd-prices .service-card.featured ul li::before{color:#c9908a !important;}
.lbd-prices .badge-pop{background:rgba(201,144,138,.35);color:#e8c0b8;}
/* Badge package sur la bannière Coffret Maternité — en haut centré */
.package-badge-right{
  position:absolute;
  top:16px;left:50%;transform:translateX(-50%);bottom:auto;
  background:rgba(212,184,150,.92);
  color:var(--ink);
  font-family:'Jost',sans-serif;
  font-size:11px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  padding:6px 18px;border-radius:20px;
  white-space:nowrap;z-index:2;
}
.coffret-intro{
  display:grid;grid-template-columns:1fr 1fr;gap:40px;
  align-items:center;margin-bottom:48px;
}
.coffret-text p{font-size:15px;line-height:1.85;color:var(--ink-soft);margin-bottom:16px;}
.coffret-text p:last-child{margin-bottom:0;}
.cat-header-mini{flex-direction:column;align-items:center;justify-content:flex-end;gap:0;}
.cat-badge-season{
  position:absolute;top:14px;right:14px;z-index:2;
  background:rgba(255,255,255,.92);color:var(--rose-deep);
  font-family:'Jost',sans-serif;font-size:10px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  padding:4px 12px;border-radius:20px;
}
.cat-header-center{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:2;}
.cat-star-icon{font-family:'Cormorant Garamond',serif;font-size:22px;color:#fff;opacity:.85;}
.cat-header-mini h3{text-align:center;}
.cat-subtitle{
  font-family:'Jost',sans-serif;font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.8);
}
.mini-seance-info{text-align:center;max-width:520px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:16px;}
.mini-seance-icon{font-family:'Cormorant Garamond',serif;font-size:36px;color:var(--rose-deep);margin-bottom:4px;}
.mini-seance-text{font-size:15px;line-height:1.85;color:var(--ink-soft);text-align:center;}

/* ── Mini Séance Noël ── */
.cat-header-noel{background-color:#1a0a0a;}
.cat-noel-lights{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden;}
.cat-noel-lights span{position:absolute;width:5px;height:5px;border-radius:50%;}
.cat-noel-lights span:nth-child(odd){background:#ff2200;box-shadow:0 0 6px 2px #ff2200;}
.cat-noel-lights span:nth-child(even){background:#00cc44;box-shadow:0 0 6px 2px #00cc44;}
.cat-noel-lights span:nth-child(1){top:12%;left:8%;animation:noel-blink 1.1s .0s infinite alternate;}
.cat-noel-lights span:nth-child(2){top:75%;left:14%;animation:noel-blink 1.3s .2s infinite alternate;}
.cat-noel-lights span:nth-child(3){top:30%;left:23%;animation:noel-blink 0.9s .4s infinite alternate;}
.cat-noel-lights span:nth-child(4){top:85%;left:32%;animation:noel-blink 1.5s .1s infinite alternate;}
.cat-noel-lights span:nth-child(5){top:18%;left:42%;animation:noel-blink 1.0s .6s infinite alternate;}
.cat-noel-lights span:nth-child(6){top:65%;left:50%;animation:noel-blink 1.2s .3s infinite alternate;}
.cat-noel-lights span:nth-child(7){top:10%;left:60%;animation:noel-blink 0.8s .5s infinite alternate;}
.cat-noel-lights span:nth-child(8){top:90%;left:68%;animation:noel-blink 1.4s .7s infinite alternate;}
.cat-noel-lights span:nth-child(9){top:40%;left:77%;animation:noel-blink 1.1s .2s infinite alternate;}
.cat-noel-lights span:nth-child(10){top:22%;left:86%;animation:noel-blink 0.9s .8s infinite alternate;}
.cat-noel-lights span:nth-child(11){top:55%;left:93%;animation:noel-blink 1.3s .0s infinite alternate;}
.cat-noel-lights span:nth-child(12){top:48%;left:5%;animation:noel-blink 1.0s .9s infinite alternate;}
@keyframes noel-blink{0%{opacity:1;transform:scale(1);}100%{opacity:.05;transform:scale(.4);}}
.cat-noel-sub{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:.12em;color:rgba(255,220,180,.85);text-transform:uppercase;margin-top:6px;display:block;}
.cat-noel-body{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.cat-noel-left{display:flex;flex-direction:column;gap:18px;}
.cat-noel-left .cat-desc{margin:0;}
.cat-noel-left p{font-size:15.5px;line-height:1.85;color:var(--ink-soft);margin:0;}
.cat-noel-left strong{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:600;color:var(--ink);}
.cat-noel-decor{display:flex;gap:14px;align-items:flex-start;}
.cat-noel-decor-icon{font-size:22px;flex-shrink:0;margin-top:2px;}
.cat-noel-decor p{margin:4px 0 0;font-size:15px;}
.cat-noel-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--rose-deep);line-height:1.6;}
.cat-noel-right{display:flex;justify-content:center;}
.cat-noel-price-box{background:#fff4f2;border:1px solid rgba(194,107,90,.2);border-radius:12px;padding:36px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;}
.cat-noel-price{font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:400;color:var(--rose-deep);line-height:1;}
.cat-noel-ttc{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:.1em;color:var(--ink-soft);margin-top:-8px;}
.cat-noel-divider{width:40px;height:1px;background:rgba(194,107,90,.3);margin:4px auto;}
.cat-noel-includes-title{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:4px;}
.cat-noel-includes{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;text-align:left;width:100%;}
.cat-noel-includes li{font-size:15px;color:var(--ink-soft);padding-left:20px;position:relative;}
.cat-noel-includes li::before{content:'✦';position:absolute;left:0;font-size:10px;color:var(--rose-deep);top:4px;}
.cat-noel-dates-box{display:flex;flex-direction:column;gap:6px;font-family:'Jost',sans-serif;font-size:14px;color:var(--ink-soft);margin-top:4px;}
.cat-noel-btn{width:100%;text-align:center;margin-top:8px;}
.cat-noel-places{font-size:13px;color:var(--ink-soft);font-style:italic;margin:0;}
@media(max-width:860px){
  .cat-noel-body{grid-template-columns:1fr;}
  .cat-noel-right{margin-top:8px;}
}

@media(max-width:980px){
  .coffret-intro{grid-template-columns:1fr;}
  .coffret-photo{order:-1;}
}
.cat-desc{color:var(--ink-soft);font-size:15px;line-height:1.8;max-width:680px;margin:0 0 30px;white-space:pre-line;}
.cat-body .service-grid{gap:24px;}
.cat-body .service-card{padding:38px 26px;}
.sg-desktop{display:grid;}
.formule-cards{display:none;margin-top:18px;}
@media(max-width:860px){
  .sg-desktop{display:none !important;}
  .cat-modal-body{zoom:1;padding:20px 20px 32px;}
  .formule-cards{display:block;margin-left:-20px;margin-right:-20px;}
  .fcard{padding:0;}
  .fcard-inner{border-radius:0;}
  .fcard-nav{padding:0 20px;}

  /* Lightbox D mobile — colonne unique */
  .cat-modal-panel.lbd{flex-direction:column;width:100vw;height:100dvh;max-height:100dvh;margin-top:0;border-radius:0;overflow-y:auto;}
  .lbd-overlay{border-radius:0;}
  .lbd-content{flex-direction:column;overflow-y:auto;}
  .lbd-left{width:100%;border-right:none;border-bottom:0.5px solid rgba(255,255,255,.15);padding:56px 24px 28px;overflow-y:visible;justify-content:flex-start;}
  .lbd-title{font-size:clamp(28px,9vw,42px);}
  .lbd-desc{font-size:16px;line-height:1.75;}
  .lbd-right{padding:24px 0 32px;justify-content:flex-start;overflow:visible;}

  /* Carousel des formules */
  .lbd-prices{display:flex;flex-direction:row;align-items:stretch;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:0 24px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .lbd-prices::-webkit-scrollbar{display:none;}
  .lbd-prices > .service-card{flex:0 0 78vw;scroll-snap-align:center;min-width:0;display:flex !important;}
  .lbd-prices > .service-card.featured{transform:none;}
  .lbd-prices .badge-pop{top:12px;}

  /* Dots carousel lightbox D */
  .lbd-dots{display:flex;gap:7px;justify-content:center;margin-top:14px;}
  .lbd-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.3);transition:background .2s;border:none;padding:0;cursor:pointer;}
  .lbd-dot.active{background:#c9908a;}
}
.formule-track{display:grid;}
.fcard{grid-area:1/1;opacity:0;transition:opacity .45s ease;pointer-events:none;}
.fcard.fcard-active{opacity:1;pointer-events:auto;}
.fcard-inner{border:1.5px solid #e8d5d0;border-radius:16px;overflow:hidden;}
.fcard-head{position:relative;padding:28px 22px 20px;color:#fff;text-align:center;}
.fcard-label{display:none;}
@keyframes gold-shimmer{0%{background-position:0% center}100%{background-position:200% center}}
.fcard-badge{position:absolute;top:12px;right:12px;font-size:10px;letter-spacing:.04em;padding:5px 12px;border-radius:20px;font-weight:600;color:#2d1500;background:linear-gradient(90deg,#8b6000,#ffd700,#ffe566,#ffd700,#8b6000);background-size:200% auto;animation:gold-shimmer 1.8s linear infinite;box-shadow:0 1px 8px rgba(201,149,42,.5);}
.fcard-name{font-size:22px;font-family:'Cormorant Garamond',serif;font-weight:400;margin-bottom:10px;}
.fcard-price{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:300;line-height:1;}
.fcard .fcard-head{background:#c9948a;}
@keyframes rose-pulse{0%,100%{opacity:.5;}50%{opacity:1;}}
.fcard:nth-child(1):nth-last-child(2) .fcard-inner,
.fcard:nth-child(2):last-child .fcard-inner,
.fcard:only-child .fcard-inner{border:1.5px solid #c26b5a !important;animation:rose-pulse 2.4s ease-in-out infinite !important;box-shadow:none;}
@keyframes prestige-glow{0%,100%{opacity:.5;}50%{opacity:1;}}
.fcard:nth-child(1) .fcard-inner{border:1.5px solid #e8d5d0;}
.fcard:nth-child(2) .fcard-inner{border:1.5px solid rgba(195,185,215,.9);box-shadow:0 0 0 2px rgba(180,165,210,.3),0 0 16px rgba(140,110,180,.2),0 4px 20px rgba(120,100,160,.15);}
.fcard:nth-child(3) .fcard-inner{border:2px solid #c9952a;animation:prestige-glow 2.4s ease-in-out infinite;}
.fcard-body{padding:18px 20px 20px;}
.fcard-body ul{list-style:none;padding:0;margin:0 0 18px;font-size:14px;color:var(--ink-soft);line-height:1.9;}
.fcard-body ul li{display:flex;align-items:flex-start;gap:8px;padding:5px 0;border-bottom:0.5px solid var(--line);}
.fcard-body ul li::before{content:'✦';color:var(--rose-deep);font-size:9px;margin-top:5px;flex-shrink:0;}
.fcard-body .btn-card{display:block;text-align:center;}
.fcard-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px;}
.fcard-arrow{width:32px;height:32px;border-radius:50%;border:1.5px solid #e8d5d0;background:#fff;color:#c26b5a;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;}
.fcard-arrow:hover{background:#fdf0ee;}
.fcard-dots{display:flex;gap:7px;}
.fcard-dot{width:7px;height:7px;border-radius:50%;background:#e8d5d0;transition:background .2s;}
.fcard-dot.active{background:#c26b5a;}
@media (max-width:860px){
  .cat-accordion{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 12px;}
  .cat-row{display:contents;}
  .cat-item{width:100%;}
  .cat-header{height:220px !important;}
  .cat-item[data-cat="6"]{grid-column:1/-1;}
  .cat-item[data-cat="6"] .cat-header{height:200px !important;}
  .cat-row{display:flex;flex-direction:column;gap:10px;}
  .cat-header,
  .cat-row-featured .cat-header,
  .cat-row-3 .cat-header,
  .cat-row-4 .cat-header{padding:20px 22px;height:160px !important;}
  .cat-item.open .cat-header{height:240px !important;}
  .cat-header h3{font-size:23px;}
  .cat-overlay-hint{left:22px;bottom:40px;}
  .cat-body-inner{padding:24px 22px 28px;}
  .package-badge-right{font-size:9px;padding:4px 12px;bottom:auto;top:14px;}
}

/* ---------- FAQ ACCORDEON ---------- */
.faq-list{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:18px;}
.faq-item{background:var(--cloud);border:1px solid var(--blush-deep);border-radius:18px;overflow:hidden;}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:28px 36px;background:none;border:none;cursor:pointer;text-align:left;
  font-family:'Cormorant Garamond',serif;font-size:clamp(18px,1.5vw,24px);color:var(--ink);
}
.faq-q .faq-chevron{
  font-family:'Jost',sans-serif;font-size:20px;color:var(--rose-deep);
  flex-shrink:0;transition:transform .3s ease;
}
.faq-item.open .faq-q .faq-chevron{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.faq-item.open .faq-a{max-height:600px;}
.faq-a-inner{padding:0 36px 36px;color:var(--ink-soft);font-size:22px;line-height:1.85;white-space:pre-line;}

/* ---------- SLIDESHOW PLEIN FORMAT ---------- */
.hero-slideshow{
  position:relative;
  width:100%;
  height:75vh;
  min-height:420px;
  overflow:hidden;
  background:#111;
}
.hero-slideshow .slide{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  background-color:#111;
  opacity:0;
  transition:opacity 1.2s ease;
}
.hero-slideshow .slide.active{opacity:1;}
.slideshow-dots{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  display:flex;gap:10px;z-index:2;
}
.slideshow-dots .dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(255,255,255,.45);
  cursor:pointer;
  transition:background .3s ease, transform .3s ease;
}
.slideshow-dots .dot.active{background:#fff;transform:scale(1.25);}

/* ---------- PHOTO PLEINE LARGEUR ---------- */
.fullwidth-photo{
  width:100%;height:65vh;min-height:380px;
  background-size:cover;background-position:center;background-attachment:fixed;
}
@media(max-width:860px){
  .fullwidth-photo{background-attachment:scroll;height:50vw;min-height:260px;}
}

/* ---------- EXPÉRIENCE CLIENT ---------- */
.experience{background:var(--cloud);}
.experience .section-head{margin-bottom:72px;}
.steps{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:0 20px;
  position:relative;
}
.steps-fullwidth{
  max-width:100%;
  padding:0 4vw;
  box-sizing:border-box;
}
@keyframes step-fade{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.step-anim{opacity:0;}
.step-anim.visible{animation:step-fade .7s cubic-bezier(.22,.61,.36,1) forwards;}
.steps::before{
  content:'';
  position:absolute;top:28px;left:calc(10% + 16px);right:calc(10% + 16px);
  height:0.5px;background:var(--blush-deep);z-index:0;
}
.step{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:0 8px;position:relative;z-index:1;
}
.step-num{
  width:56px;height:56px;border-radius:50%;
  border:0.5px solid var(--blush-deep);
  background:var(--cloud);
  display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic;
  color:var(--rose-deep);margin-bottom:22px;
  transition:background .35s ease,border-color .35s ease;
}
.step:hover .step-num{background:var(--rose-deep);color:var(--cloud);border-color:var(--rose-deep);}
.step-icon{font-size:18px;color:var(--gold);margin-bottom:6px;}
.step h4{
  font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;
  color:var(--ink);margin-bottom:10px;line-height:1.2;
}
.step p{font-size:14px;color:var(--ink-soft);line-height:1.75;}
.step-note{
  text-align:center;margin-top:56px;
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:21px;color:var(--ink-soft);
}
.step-note strong{color:var(--rose-deep);font-style:normal;font-weight:400;}
@media(max-width:860px){
  .steps{position:relative;min-height:320px;display:block;}
  .steps-fullwidth{padding:0 20px;}
  .steps::before{display:none;}
  .step{position:absolute;top:0;left:0;right:0;opacity:0;transition:opacity .45s ease;pointer-events:none;animation:none !important;display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 32px 28px;width:100%;box-sizing:border-box;}
  .step.step-active{opacity:1 !important;pointer-events:auto;position:relative;}
  .step:last-child{grid-column:unset;}
  .steps-dots{display:flex;justify-content:center;gap:7px;margin-top:28px;}
  .steps-dot{width:7px;height:7px;border-radius:50%;background:#e8d5d0;border:none;padding:0;cursor:pointer;transition:background .2s;}
  .steps-dot.active{background:#c26b5a;}
}
@media(max-width:500px){
  .step{padding:0 16px;}
}

/* ---------- BLOG ---------- */
.blog-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px;}
.blog-pill{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:7px 18px;border-radius:24px;border:1px solid rgba(194,107,90,.35);color:var(--ink);background:transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
.blog-pill:hover{border-color:var(--rose-deep);color:var(--rose-deep);}
.blog-pill.active{background:var(--rose-deep);color:#fff;border-color:var(--rose-deep);}
.blog-hero-card{display:grid;grid-template-columns:1fr 1fr;border-radius:20px;overflow:hidden;margin-bottom:44px;text-decoration:none;background:var(--blush);}
.blog-hero-card:hover .blog-hero-title{color:var(--rose-deep);}
.blog-hero-img{aspect-ratio:4/3;object-fit:cover;width:100%;height:100%;display:block;}
.blog-hero-body{padding:44px 40px;display:flex;flex-direction:column;justify-content:center;gap:14px;}
.blog-hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2vw,30px);font-weight:400;color:var(--ink);line-height:1.3;transition:color .2s;}
.blog-hero-excerpt{font-size:15px;color:var(--ink-soft);line-height:1.75;}
.blog-hero-meta{font-size:12px;letter-spacing:.06em;color:var(--rose-deep);text-transform:uppercase;}
.blog-hero-cta{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--rose-deep);border-bottom:1px solid var(--rose-deep);padding-bottom:1px;align-self:flex-start;margin-top:6px;}
.blog-read-time{font-size:11.5px;color:var(--ink-soft);letter-spacing:.04em;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media(max-width:1100px) and (min-width:861px){.blog-grid{grid-template-columns:repeat(2,1fr);gap:20px;}}
.blog-grid:has(> .blog-card:only-child){
  grid-template-columns:1fr;
  max-width:780px;
  margin:0 auto;
}
.blog-grid:has(> .blog-card:only-child) .blog-card{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:40px;
  align-items:center;
}
.blog-grid:has(> .blog-card:only-child) .blog-card img{
  aspect-ratio:3/4;
  margin-bottom:0;
  object-fit:cover;
  border-radius:20px;
}
.blog-card{display:grid;grid-template-columns:1fr 1fr;text-decoration:none;background:var(--blush);border-radius:20px;overflow:hidden;}
.blog-card:hover .blog-card-title{color:var(--rose-deep);}
.blog-card img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3;}
.blog-card-text{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:30px 28px;}
.blog-card-meta{font-size:12px;letter-spacing:.06em;color:var(--rose-deep);text-transform:uppercase;}
.blog-card-title{font-family:'Cormorant Garamond',serif;font-size:clamp(16px,1.4vw,22px);font-weight:400;color:var(--ink);line-height:1.3;transition:color .2s;}
.blog-card-excerpt{font-size:14px;color:var(--ink-soft);line-height:1.75;}
.blog-card-cta{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--rose-deep);border-bottom:1px solid var(--rose-deep);padding-bottom:1px;align-self:flex-start;margin-top:6px;}

/* ---------- TESTIMONIAL / QUOTE BAND ---------- */
.quote-band{
  background:var(--ink);color:var(--cloud);
  padding:80px 6vw;
}
.quote-video-band{padding:60px 6vw;}
.quote-video-inner{
  display:grid;
  grid-template-columns:1fr auto;
  gap:6vw;
  align-items:center;
  max-width:1200px;
  margin:0 auto;
}
.quote-video-text{text-align:left;}
.quote-band .mark{display:none;}
.quote-with-mark{position:relative;padding-left:52px;}
.quote-with-mark::before{
  content:'\201C';
  font-family:'Cormorant Garamond',serif;
  font-size:100px;
  color:var(--gold);
  position:absolute;
  left:0;
  top:-18px;
  line-height:1;
}
.quote-band p{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(17px,1.8vw,22px);
  margin:0 0 24px;line-height:1.6;
}
.quote-band span{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--blush-deep);}
.quote-video-text .eyebrow{font-size:22px;letter-spacing:.06em;}
.quote-video-phone{flex-shrink:0;width:260px;}
.phone-frame{
  background:#111;
  border-radius:36px;
  padding:10px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.phone-frame .instagram-media{border-radius:26px!important;min-width:unset!important;}
@media(max-width:860px){
  .quote-video-inner{grid-template-columns:1fr;text-align:center;}
  .quote-video-text{text-align:center;}
  .quote-video-phone{width:220px;margin:0 auto;}
}

/* ---------- CONTACT / RESERVATION ---------- */
.contact{background:var(--blush);}
.contact-grid{display:grid;grid-template-columns:1fr 2fr;gap:6vw;}
.contact-info h2{font-size:clamp(30px,3.6vw,44px);margin:14px 0 22px;}
.contact-info p{color:var(--ink-soft);line-height:1.85;max-width:420px;margin-bottom:34px;}
.info-line{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;font-size:16.5px;}
.info-line b{display:block;font-size:14.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--rose-deep);margin-bottom:3px;}
.info-dot{width:8px;height:8px;border-radius:50%;background:var(--rose-deep);margin-top:7px;flex-shrink:0;}
.contact-form-embed{
  background:var(--cloud);border-radius:28px;padding:14px;border:1px solid var(--blush-deep);
  overflow:hidden;
}
.contact-form-embed iframe{display:block;border-radius:18px;min-height:650px;}
.contact-map{margin-top:8px;border-radius:18px;overflow:hidden;border:1px solid var(--blush-deep);}
.contact-map iframe{display:block;}

/* Contact split — infos/maps gauche, formulaire droite */
.contact-split{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;align-items:stretch;}
.contact-left{display:flex;flex-direction:column;gap:20px;}
.contact-left-info{display:flex;flex-direction:column;gap:6px;}
.contact-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.contact-badge{
  background:#fff;color:var(--ink);border:1px solid var(--blush-deep);
  font-size:14.5px;padding:7px 16px;border-radius:30px;white-space:nowrap;
  flex:1;text-align:center;
}
.contact-map-stretch{height:280px;border-radius:18px;overflow:hidden;border:1px solid var(--blush-deep);}
.contact-map-stretch iframe{display:block;width:100%;height:100%;}
.contact-right h2{font-size:clamp(30px,3.6vw,44px);margin:14px 0 22px;}
.contact-right p{color:var(--ink-soft);font-size:19px;line-height:1.8;margin-bottom:28px;}

/* ---------- PAGE STUDIO ---------- */
.studio-hero{position:relative;height:70vh;min-height:420px;display:flex;align-items:flex-end;overflow:hidden;}
.studio-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.studio-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(60,40,38,.55) 0%,rgba(60,40,38,.1) 60%,transparent 100%);}
.studio-hero-content{position:relative;z-index:2;padding-bottom:60px;}
.studio-hero-content h1{font-family:'Cormorant Garamond',serif;font-size:clamp(42px,6vw,72px);font-weight:300;color:#fff;margin:8px 0 0;}
.studio-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.studio-intro-grid--reverse .studio-intro-photo{order:1;}
.studio-intro-grid--reverse .studio-intro-text{order:0;}
.studio-intro-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.5vw,46px);font-weight:300;color:var(--ink);margin:14px 0 24px;}
.studio-intro-text p{color:var(--ink-soft);font-size:18px;line-height:1.85;margin-bottom:18px;}
.studio-intro-photo img{width:100%;border-radius:20px;display:block;}

.studio-placeholder{
  width:100%;aspect-ratio:4/3;border-radius:20px;
  background:var(--blush);border:2px dashed var(--blush-deep);
  display:flex;align-items:center;justify-content:center;
  color:var(--rose-deep);font-family:'Jost',sans-serif;font-size:14px;
  text-transform:uppercase;letter-spacing:.05em;
}
.studio-placeholder::after{content:attr(data-label);}
.studio-placeholder--portrait{aspect-ratio:3/4;}
.studio-placeholder--landscape{aspect-ratio:16/9;}

.studio-gallery{padding:0 0 60px;}
.studio-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.studio-gallery-item{border-radius:18px;overflow:hidden;aspect-ratio:16/10;}
.studio-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;}

.studio-section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4vw,52px);font-weight:300;color:var(--ink);margin:14px 0 44px;}
.studio-section-title em{font-style:italic;color:var(--rose-deep);}
.studio-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.studio-card{
  background:var(--cloud);border:1px solid var(--blush-deep);border-radius:20px;
  padding:34px 28px;text-align:left;
}
.studio-card-icon{width:42px;height:42px;display:block;margin-bottom:16px;}
.studio-card b{display:block;font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:400;color:var(--ink);margin-bottom:10px;}
.studio-card p{font-size:16px;color:var(--ink-soft);line-height:1.75;margin:0;}

.studio-dressing-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.studio-dressing-card{display:flex;gap:24px;background:var(--blush);border:1px solid var(--blush-deep);border-radius:20px;padding:24px;text-align:left;}
.studio-dressing-card-text b{display:block;font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:400;color:var(--ink);margin-bottom:10px;}
.studio-dressing-card-text p{font-size:16px;color:var(--ink-soft);line-height:1.75;margin:0;}

.studio-bp-btn{display:inline-flex;align-items:center;gap:6px;margin-top:16px;padding:10px 22px;background:var(--rose-deep);color:#fff;border:none;border-radius:30px;font-family:inherit;font-size:14.5px;cursor:pointer;position:relative;z-index:2;transition:background .3s,transform .2s;}
.studio-bp-btn:hover{background:#a8675c;transform:scale(1.04);}
.bp-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s ease;}
.bp-lightbox.active{opacity:1;pointer-events:auto;}
.bp-close{position:absolute;top:20px;right:28px;background:none;border:none;color:#fff;font-size:48px;cursor:pointer;z-index:10;line-height:1;}
.bp-carousel{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.bp-slide{position:absolute;max-height:90vh;max-width:85vw;object-fit:contain;border-radius:10px;opacity:0;transition:opacity .4s ease;pointer-events:none;}
.bp-lightbox.active .bp-slide.active{opacity:1;pointer-events:auto;}
.bp-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:none;color:#fff;font-size:52px;cursor:pointer;z-index:10;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .3s;line-height:1;padding:0 0 4px 0;}
.bp-arrow:hover{background:rgba(255,255,255,.25);}
.bp-prev{left:24px;}
.bp-next{right:24px;}
.bp-dots{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:10;}
.bp-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:background .3s;}
.bp-dot.active{background:#fff;}

@keyframes option-shimmer{from{transform:translateX(-200%);}to{transform:translateX(200%);}}
.studio-options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:left;max-width:1100px;margin:0 auto;}
.studio-option-card{background:#fff;border:1.5px solid #e8d5d0;border-radius:20px;padding:40px 36px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.studio-option-card>*{position:relative;z-index:2;}
.studio-option-card::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(194,107,90,.1) 45%,rgba(255,255,255,.18) 50%,rgba(194,107,90,.1) 55%,transparent 65%);transform:translateX(-200%);z-index:1;pointer-events:none;}
.studio-option-card:hover{transform:translateY(-6px);box-shadow:0 8px 32px rgba(194,107,90,.18);border-color:#c9948a;}
.studio-option-card:hover::after{animation:option-shimmer .7s ease forwards;}
.studio-option-card h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;color:var(--ink);margin:0 0 16px;}
.studio-option-divider{width:50px;height:2px;background:linear-gradient(90deg,var(--rose-deep),var(--blush-deep));margin-bottom:20px;border-radius:2px;}
.studio-option-desc{color:var(--ink-soft);font-size:17px;line-height:1.75;margin:0 0 20px;}
.studio-option-detail{color:var(--ink-soft);font-size:16px;line-height:1.65;font-style:italic;margin:0 0 auto;}
.studio-option-price{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:300;color:var(--rose-deep);margin-top:22px;}
.studio-option-list{list-style:none;padding:0;margin:0;}
.studio-option-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--blush);font-size:16.5px;color:var(--ink);}
.studio-option-list li:last-child{border-bottom:none;}
.studio-option-list li span:last-child{white-space:nowrap;font-weight:500;color:var(--rose-deep);}
.studio-option-bullets{list-style:none;padding:0;margin:0 0 20px;}
.studio-option-bullets li{position:relative;padding:8px 0 8px 20px;font-size:16.5px;color:var(--ink-soft);line-height:1.7;}
.studio-option-bullets li::before{content:'✦';position:absolute;left:0;color:var(--rose-deep);font-size:10px;top:12px;}
.studio-option-link{font-size:16px;color:var(--rose-deep);text-decoration:none;margin-top:auto;font-weight:500;transition:color .2s;}
.studio-option-link:hover{color:var(--ink);text-decoration:underline;}

.studio-makeup{background:#fff;}
.studio-makeup-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4.5vw,56px);font-weight:300;color:var(--ink);margin:14px 0 48px;text-align:center;}
.studio-makeup .eyebrow{display:block;text-align:center;font-size:clamp(28px,3.5vw,44px);font-family:'Cormorant Garamond',serif;letter-spacing:0.02em;text-transform:none;color:var(--rose-deep);}
.studio-makeup-intro{display:grid;grid-template-columns:2fr 3fr;gap:40px;align-items:center;margin-bottom:56px;}
.studio-makeup-photo img{width:100%;border-radius:18px;object-fit:cover;}
.studio-makeup-text p{font-family:'Jost',sans-serif;font-size:18px;line-height:1.9;color:var(--ink);margin-bottom:20px;}
.studio-makeup-group{text-align:center;margin-bottom:48px;}
.studio-makeup-group img{max-width:500px;width:100%;border-radius:18px;object-fit:cover;display:block;margin:0 auto;}
.studio-makeup-team{display:flex;justify-content:center;gap:48px;flex-wrap:wrap;}
.studio-makeup-member{text-align:center;max-width:200px;}
.studio-makeup-portrait{width:160px;height:160px;margin:0 auto 14px;border-radius:50%;overflow:hidden;}
.studio-makeup-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;}
.studio-makeup-member h4{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;color:var(--ink);margin:0 0 6px;}
.studio-makeup-ig{color:var(--rose-deep);transition:color .2s;}
.studio-makeup-ig:hover{color:var(--ink);}
@media(max-width:768px){
.studio-makeup-intro{grid-template-columns:1fr;gap:24px;}
.studio-makeup-team{gap:32px;}
.studio-makeup-portrait{width:130px;height:130px;}
}

.studio-location-info{display:flex;flex-direction:column;justify-content:center;}
.studio-location-info p{color:var(--ink-soft);font-size:16.5px;line-height:1.85;margin-bottom:20px;}
.studio-location-map{display:flex;flex-direction:column;align-self:stretch;}
.studio-location-map .contact-map-stretch{flex:1;height:auto;min-height:350px;}
.studio-location-map .contact-map-stretch iframe{display:block;width:100%;height:100%;min-height:350px;}

@media(max-width:768px){
  .studio-intro-grid{grid-template-columns:1fr;gap:28px;}
  .studio-intro-grid--reverse .studio-intro-photo{order:0;}
  .studio-intro-grid--reverse .studio-intro-text{order:1;}
  .studio-gallery-grid{grid-template-columns:1fr;gap:14px;}
  .studio-cards-grid{grid-template-columns:1fr;gap:14px;}
  .studio-dressing-grid{grid-template-columns:1fr;}
  .studio-dressing-card{flex-direction:column;}
  .bp-arrow{width:40px;height:40px;font-size:36px;}
  .bp-prev{left:8px;}
  .bp-next{right:8px;}
  .bp-slide{max-width:92vw;}
  .studio-options-grid{grid-template-columns:1fr;}
  .studio-location-map{min-height:250px;}
}

/* ---------- AVIS GOOGLE (bandeau défilant) ---------- */
.reviews-band{background:var(--cloud);padding:64px 0;border-top:1px solid var(--blush-deep);border-bottom:1px solid var(--blush-deep);overflow:hidden;}
.reviews-head{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:36px;flex-wrap:wrap;text-align:center;}
.reviews-head .g-logo{font-family:'Jost',sans-serif;font-weight:500;font-size:20px;}
.reviews-head .g-logo span:nth-child(1){color:#4285F4;}
.reviews-head .g-logo span:nth-child(2){color:#EA4335;}
.reviews-head .g-logo span:nth-child(3){color:#FBBC05;}
.reviews-head .g-logo span:nth-child(4){color:#4285F4;}
.reviews-head .g-logo span:nth-child(5){color:#34A853;}
.reviews-head .g-logo span:nth-child(6){color:#EA4335;}
.reviews-stars{color:var(--gold);font-size:16px;letter-spacing:2px;}
.reviews-score{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--ink);}
.reviews-score b{color:var(--rose-deep);}
.reviews-link{font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--rose-deep);border-bottom:1px solid var(--rose-deep);}
.reviews-track-outer{width:100%;overflow:hidden;mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);-webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);}
.reviews-track{display:flex;gap:22px;width:max-content;animation:reviews-scroll 38s linear infinite;will-change:transform;transform:translateZ(0);}
.reviews-track:hover{animation-play-state:paused;}
@keyframes reviews-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.review-card{
  flex:0 0 320px;background:var(--blush);border-radius:20px;padding:26px 28px;
  border:1px solid var(--blush-deep);
}
.review-card .stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:12px;display:block;}
.review-card p{font-size:14px;line-height:1.75;color:var(--ink-soft);margin-bottom:16px;}
.review-card .author{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink);}
.review-card .avatar{
  width:34px;height:34px;border-radius:50%;background:var(--rose-deep);color:var(--cloud);
  display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:15px;flex-shrink:0;
}
@media (max-width:600px){.review-card{flex:0 0 260px;}}

/* ---------- CTA BAND (teasers page d'accueil) ---------- */
.cta-band{background:var(--rose-deep);color:var(--cloud);text-align:center;padding:90px 0;}
.cta-band h2{color:var(--cloud);font-size:clamp(28px,3.4vw,42px);margin-bottom:18px;}
.cta-band p{max-width:520px;margin:0 auto 32px;color:#F2DEDA;line-height:1.8;}
.cta-band .btn-primary{background:var(--cloud);color:var(--rose-deep);}
.cta-band .btn-primary:hover{background:var(--ink);color:var(--cloud);}

/* ---------- FOOTER ---------- */
footer{background:var(--ink);color:var(--blush);padding:30px 0 16px;}

/* Logo gauche + texte droite */
.footer-top{display:block;text-align:center;margin-bottom:18px;}
.footer-top .logo-img{height:70px;mix-blend-mode:screen;display:block;margin:0 auto 10px;}
.footer-top .fdesc{display:block;text-align:center;font-size:11px;color:#C9B3B0;letter-spacing:.04em;margin:0;white-space:nowrap;}

/* Séparateur */
.footer-divider{height:1px;background:rgba(240,220,216,.15);margin-bottom:20px;}

/* Colonnes */
.footer-grid{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:48px;margin-bottom:20px;align-items:start;}
footer h4{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--blush-deep);margin-bottom:10px;}
footer ul{list-style:none;font-size:12px;line-height:1.9;color:#C9B3B0;}
footer ul a{color:#C9B3B0;text-decoration:none;transition:color .2s;}
footer ul a:hover{color:var(--blush);}

/* Séances en 2 colonnes */
.seances-2col{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}

/* Email sous social */
.footer-email{font-size:11px;color:#A98885;margin-top:8px;letter-spacing:.02em;}
footer p.fdesc{font-size:11px;color:#C9B3B0;line-height:1.8;white-space:nowrap;text-align:center;}
.footer-bottom{
  padding-top:24px;
  display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;
  font-size:12px;color:#A98885;line-height:1.7;
}
.footer-bottom a{color:#A98885;text-decoration:underline;text-underline-offset:3px;}
.footer-legal{display:flex;gap:20px;justify-content:center;margin-top:4px;}

/* ---------- MENU MOBILE OVERLAY ---------- */
#mobile-menu{
  display:none;
  position:fixed;inset:0;
  background:var(--cloud);
  z-index:250;
  flex-direction:column;
  align-items:center;justify-content:center;
  gap:36px;
  font-size:22px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#mobile-menu.open{display:flex;}
#mobile-menu a{color:var(--ink);text-decoration:none;}
#mobile-menu a.active{color:var(--rose-deep);}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  /* Nav mobile */
  .navlinks,.nav-cta{display:none;}
  .nav-ig{display:flex;}
  .burger{display:block;}
  /* Logo centré, liens masqués, burger à droite */
  #nav{display:flex;justify-content:center;align-items:center;position:relative;}
  #nav .navlinks-left,#nav .navlinks-right{display:none;}
  #nav .nav-logo-center{padding:0;}
  #nav .nav-logo-center .logo-img{height:60px;}
  #nav .burger{position:absolute;right:6vw;}
  #nav .nav-cta-mobile{display:inline-block;position:absolute;left:5vw;padding:6px 14px;background:transparent;color:var(--rose-deep);border:1px solid var(--rose-deep);font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:0.04em;border-radius:20px;text-decoration:none;white-space:nowrap;}
  #nav .nav-ig-mobile{display:flex;position:absolute;right:calc(6vw + 52px);align-items:center;color:var(--rose-deep);transition:color .2s;}
  #nav .nav-ig-mobile:hover{color:var(--ink);}

  /* Burger bouton */
  @keyframes burger-pulse{
    0%{ box-shadow:0 0 0 0 rgba(194,107,90,.5); }
    100%{ box-shadow:0 0 0 12px rgba(194,107,90,0); }
  }
  .burger{
    position:relative;z-index:300;
    width:34px;height:34px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(228,196,190,.35);border-radius:50%;
    font-size:18px;color:var(--ink);
    animation:burger-pulse 2.4s ease-in-out infinite;
  }
  .burger.open{ animation:none; background:rgba(228,196,190,.5); }
  .burger > svg:first-child{transition:opacity .25s ease, transform .25s ease;}
  .burger.open > svg:first-child{opacity:0;transform:scale(.7);}
  .burger .close-icon{position:absolute;opacity:0;transform:scale(.7);transition:opacity .25s ease, transform .25s ease;}
  .burger.open .close-icon{opacity:1;transform:scale(1);}

  /* Marges globales mobile */
  .wrap{padding:0 20px;}

  /* Masque les photos de transition sur mobile */
  .fullwidth-photo{display:none;}

  /* Hero */
  .hero{min-height:auto;padding-top:160px;padding-bottom:40px;}
  .hero-photo{padding-top:80px;}
  .hero-grid{grid-template-columns:1fr;text-align:center;}
  .hero-copy .eyebrow{margin-bottom:14px;}
  .hero h1{font-size:clamp(32px,8vw,52px);}
  .hero p.lead{font-size:15px;margin:0 auto 28px;}
  .btn-row{justify-content:center;}
  .hero-name{font-size:clamp(24px,7vw,38px);letter-spacing:.04em;}
  .hero-text-band p.lead{font-size:16px;}
  .hero-slideshow{height:55vw;min-height:280px;}

  /* Autres grilles */
  .hero-visual{order:-1;max-width:380px;margin:0 auto;}
  .about-grid,.contact-grid{grid-template-columns:1fr;}
  .contact-split{grid-template-columns:1fr;}
  .contact-right{order:-1;}
  .contact-left{order:1;}
  .contact-map-stretch{min-height:220px;}
  .about-photo{max-width:380px;margin:0 auto;}
  .service-grid,.blog-grid{grid-template-columns:1fr;}
  .blog-card,.blog-grid:has(> .blog-card:only-child) .blog-card{grid-template-columns:1fr;gap:0;}
  .blog-card img,.blog-grid:has(> .blog-card:only-child) .blog-card img{width:100%;height:200px;object-fit:cover;aspect-ratio:unset;border-radius:0;}
  .blog-card-text{padding:22px 22px 26px;justify-content:flex-start;}
  .blog-card-title{font-size:18px;}
  .blog-card-excerpt{display:none;}
  .grid-gallery{gap:3px;}
  .masonry-col{gap:3px;}
  .g-wide{grid-column:unset;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px;}
  .footer-top .fdesc{white-space:normal;}
  .seances-2col{grid-template-columns:1fr 1fr;}
  .footer-grid > div:last-child{grid-column:1/-1;text-align:center;}
  .footer-grid > div:last-child .social-icons{justify-content:center;}
  .form-row{grid-template-columns:1fr;}

  /* Photos pleine largeur : désactive parallax (bug iOS) */
  .fullwidth-photo{
    background-attachment:scroll !important;
    height:55vw;
    min-height:220px;
  }
}
