
:root{
  --cream:#fffaf7;
  --cream2:#fff6f2;
  --white:#ffffff;
  --pink1:#f7e1e2;
  --pink2:#edc0c3;
  --pink3:#c9898e;
  --pink4:#b9797f;
  --gold:#b99973;
  --gold2:#d9bea0;
  --text:#3a3337;
  --soft:#766c70;
  --border:rgba(185,153,115,.28);
  --shadow:0 24px 70px rgba(94,58,63,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Montserrat",Arial,sans-serif;color:var(--text);background:var(--cream);overflow-x:hidden;line-height:1.7}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
button{cursor:pointer}

.header{position:absolute;inset:0 0 auto 0;z-index:50;padding:18px 5%}
.header-inner{width:min(1360px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand img{width:58px;height:58px;object-fit:contain}
.brand strong{display:block;font:600 26px/1 "Cormorant Garamond",serif}
.brand small{display:block;margin-top:4px;font-size:7px;letter-spacing:1.5px;text-transform:uppercase;color:#9c7478}
.nav{display:flex;align-items:center;gap:22px}
.nav a{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;position:relative}
.nav a:not(.reserve):not(.cart-link)::after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--pink3);transition:.25s}
.nav a:not(.reserve):not(.cart-link):hover::after{width:100%}
.reserve{padding:11px 18px;border:1px solid var(--gold)}
.cart-link{padding:10px 12px;background:rgba(255,255,255,.55);border:1px solid rgba(201,137,142,.22)}
.cart-link span,.inline-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--pink3);color:#fff;margin-left:4px;font-size:9px}
.menu-btn{display:none;background:none;border:0;padding:8px}
.menu-btn span{display:block;width:26px;height:1px;background:var(--text);margin:6px 0}

.hero{position:relative;min-height:820px;padding:140px 6% 80px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(120deg,#fffaf7 0%,#fff7f4 48%,#f6dfe0 100%)}
.hero-inner{position:relative;z-index:3;width:min(1220px,100%);margin:auto;display:grid;grid-template-columns:1.05fr .8fr;align-items:center;gap:80px}
.blob,.ring{position:absolute;pointer-events:none}
.blob-a{width:680px;height:680px;left:-390px;top:-120px;background:#f0c5c8;opacity:.55;border-radius:49% 51% 63% 37%/42% 46% 54% 58%;transform:rotate(24deg)}
.blob-b{width:520px;height:520px;right:-190px;bottom:-210px;background:#e9b6ba;opacity:.34;border-radius:58% 42% 45% 55%/44% 56% 44% 56%}
.ring{border:1px solid rgba(185,153,115,.26);border-radius:50%}
.ring-a{width:430px;height:430px;right:7%;top:145px}
.ring-b{width:525px;height:525px;right:2%;top:95px;opacity:.55}
.sparkle{position:absolute;color:var(--pink3);z-index:2}.s1{left:5%;bottom:24%;font-size:28px}.s2{right:4%;top:38%;font-size:35px;opacity:.5}
.kicker{font-size:10px;letter-spacing:4px;color:#aa807f;text-transform:uppercase}
.hero h1{margin-top:18px;font:400 clamp(70px,7vw,110px)/.79 "Cormorant Garamond",serif;letter-spacing:-2px}
.hero h1 span,.section h2 span,.page-hero h1 span{display:block;margin-top:24px;margin-left:74px;font:400 .62em/1 "Parisienne",cursive;color:var(--pink3);letter-spacing:0}
.ornament{width:205px;margin:42px 0 28px 76px;display:flex;align-items:center;gap:12px}
.ornament i{height:1px;flex:1;background:var(--gold2)}
.ornament b{font-weight:400;color:var(--pink3)}
.ornament.small{width:130px;margin:21px auto 14px}
.ornament.left{margin-left:0}
.lead{max-width:500px;font-size:13px;line-height:1.9;color:var(--soft);font-weight:300}
.actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-width:185px;padding:14px 22px;font-size:9px;letter-spacing:1.7px;text-transform:uppercase;transition:.25s;border-radius:0}
.btn-primary{background:var(--pink3);border:1px solid var(--pink3);color:white}
.btn-primary:hover{background:var(--text);border-color:var(--text);transform:translateY(-2px)}
.btn-outline{border:1px solid var(--gold);background:rgba(255,255,255,.4)}
.btn-outline:hover{background:var(--gold);color:white;transform:translateY(-2px)}
.btn.wide{width:100%}
.brand-stage{display:flex;justify-content:center;align-items:center;min-height:500px}
.brand-card{width:360px;min-height:460px;position:relative;padding:38px 34px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.72);border:1px solid rgba(185,153,115,.34);box-shadow:var(--shadow);backdrop-filter:blur(8px)}
.brand-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(201,137,142,.18);pointer-events:none}
.mini,.sub,.city{font-size:8px;letter-spacing:4px}.mini{color:#ad8871;margin-bottom:18px}.main-logo{width:175px;height:175px;object-fit:contain}
.brand-card h2{font:500 38px/1 "Cormorant Garamond",serif}.sub{margin-top:10px;color:var(--pink3)}.city{color:#807276}
.hero-bottom{position:absolute;z-index:4;bottom:25px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:22px;white-space:nowrap}
.hero-bottom span{font-size:8px;letter-spacing:3px;color:#998183}.hero-bottom b{font-weight:400;color:var(--pink3)}

.section{padding:110px 6%}
.section-grid,.wedding-grid,.contact-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.copy-block h2,.section-heading h2,.wedding-copy h2,.contact-section h2{margin-top:12px;font:400 clamp(46px,5vw,66px)/.95 "Cormorant Garamond",serif}
.copy-block h2 span,.section-heading h2 span,.wedding-copy h2 span,.contact-section h2 span{margin-left:0;margin-top:10px}
.copy-block p:not(.kicker),.wedding-copy p:not(.kicker){margin-top:18px;color:var(--soft);font-size:13px}
.text-link{display:inline-block;margin-top:28px;padding-bottom:4px;border-bottom:1px solid var(--gold);font-size:9px;letter-spacing:1.5px;text-transform:uppercase}

.intro-section{background:#fff}
.photo-card{position:relative;padding:12px;border:1px solid var(--border);min-height:570px}
.photo-placeholder{height:100%;min-height:545px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#a66f74}
.floral-bg{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.7),transparent 28%),linear-gradient(140deg,#f4d5d7,#fff7f4 55%,#edc4c6)}
.photo-placeholder span{font:500 31px "Cormorant Garamond",serif}.photo-placeholder small{margin-top:8px;font-size:8px;letter-spacing:2px;text-transform:uppercase}
.floating-note{position:absolute;right:-20px;bottom:35px;background:#fff;padding:22px 28px;border:1px solid var(--gold2);box-shadow:var(--shadow);font:500 28px/1 "Cormorant Garamond",serif;text-align:center}
.floating-note span{font:400 16px "Parisienne",cursive;color:var(--pink3)}

.services-section{background:var(--cream)}
.section-heading{width:min(700px,100%);margin:0 auto 60px;text-align:center}
.section-heading .ornament{margin-left:auto;margin-right:auto}
.section-heading>p:last-child{margin-top:24px;color:var(--soft);font-size:13px}
.service-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{background:#fff;border:1px solid var(--border);padding:42px 30px;text-align:center;transition:.3s;min-height:285px}
.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:rgba(201,137,142,.5)}
.service-card.featured{background:var(--pink1)}
.service-card .icon{font-size:25px;color:var(--gold);margin-bottom:16px}
.service-card h3{font:500 29px "Cormorant Garamond",serif}
.service-card p{margin:14px auto 20px;color:var(--soft);font-size:12px;max-width:280px}
.service-card a{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;border-bottom:1px solid var(--gold)}

.editorial-band{position:relative;background:linear-gradient(120deg,#f7e2e2,#fff6f1);overflow:hidden}
.editorial-inner{width:min(860px,100%);margin:auto;text-align:center;position:relative}
.watermark-logo{width:150px;margin:0 auto 20px;opacity:.7}
.editorial-inner blockquote{font:400 clamp(36px,4vw,52px)/1.05 "Cormorant Garamond",serif;margin-top:14px}
.editorial-inner>p:last-child{margin:24px auto 0;color:var(--soft);font-size:13px;max-width:650px}

.wedding-section{background:#fff}
.wedding-copy .actions{margin-top:30px}
.wedding-visual{display:flex;justify-content:center}
.arch-card{width:430px;height:560px;border-radius:220px 220px 24px 24px;padding:14px;background:linear-gradient(160deg,#f3ced0,#fff6f2);border:1px solid var(--border)}
.arch-inner{height:100%;border-radius:210px 210px 18px 18px;border:1px solid rgba(185,153,115,.32);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}
.arch-inner img{width:170px;margin:22px 0}.arch-small{font-size:8px;letter-spacing:4px;color:#ad8871}.arch-inner strong{font:500 22px "Cormorant Garamond",serif;color:#6d5e63}
.arch-inner:has(.wedding-feature-photo){position:relative;padding:0;overflow:hidden;background:#ead6d7}
.arch-inner .wedding-feature-photo{display:block;width:100%;height:100%;margin:0;object-fit:cover;object-position:center 48%}
.wedding-feature-label{position:absolute;left:18px;right:18px;bottom:18px;padding:11px 14px;border-radius:8px;background:rgba(255,250,248,.9);color:#6d5e63;text-align:center;font-size:12px;letter-spacing:3px}

.shop-teaser{background:var(--cream2)}
.product-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.product-card{background:#fff;border:1px solid var(--border);overflow:hidden;transition:.3s}
.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.product-image{height:260px;display:flex;align-items:center;justify-content:center;color:#9c7478;font:500 24px "Cormorant Garamond",serif}
.product-one{background:linear-gradient(145deg,#f4d5d7,#fff7f4)}
.product-two{background:linear-gradient(145deg,#efe0d2,#fffaf6)}
.product-three{background:linear-gradient(145deg,#ead9e8,#fff7fb)}
.product-four{background:linear-gradient(145deg,#f6d9c9,#fff8f2)}
.product-five{background:linear-gradient(145deg,#e7e1d2,#fffaf3)}
.product-six{background:linear-gradient(145deg,#f0cdd3,#fff6f7)}
.product-body{padding:26px}
.product-body small{font-size:8px;letter-spacing:2px;color:#aa807f}
.product-body h3{margin-top:6px;font:500 29px "Cormorant Garamond",serif}
.product-body p{margin-top:10px;color:var(--soft);font-size:12px;min-height:48px}
.product-body strong{display:block;margin:16px 0;font:600 18px "Cormorant Garamond",serif}
.add-cart{width:100%;border:1px solid var(--pink3);background:var(--pink3);color:#fff;padding:12px;font-size:9px;letter-spacing:1.4px;text-transform:uppercase;transition:.25s}
.add-cart:hover{background:var(--text);border-color:var(--text)}
.center-actions{display:flex;justify-content:center;gap:14px;margin-top:40px;flex-wrap:wrap}
.shop-toolbar{width:min(1180px,100%);margin:0 auto 36px;display:flex;align-items:end;justify-content:space-between;gap:20px}
.shop-title{font:500 42px "Cormorant Garamond",serif;margin-top:8px}
.shop-full{grid-template-columns:repeat(3,1fr)}
.shop-note{width:min(1180px,100%);margin:35px auto 0;padding:18px 22px;background:#fff;border-left:3px solid var(--pink3);font-size:12px;color:var(--soft)}

.testimonials{background:#fff}
.testimonial-grid{width:min(1050px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.testimonial-card{border:1px solid var(--border);padding:32px;text-align:center;background:var(--cream)}
.stars{letter-spacing:3px;color:var(--gold);font-size:12px}.testimonial-card p{margin:16px 0;font:400 24px/1.25 "Cormorant Garamond",serif}.testimonial-card span{font-size:9px;letter-spacing:1px;color:var(--soft)}

.booking-section{background:linear-gradient(120deg,#f3d3d5,#fff6f2)}
.booking-card{width:min(800px,100%);margin:auto;padding:60px;text-align:center;background:rgba(255,255,255,.62);border:1px solid rgba(185,153,115,.3);box-shadow:var(--shadow)}
.booking-card h2{font:400 clamp(45px,5vw,64px)/.95 "Cormorant Garamond",serif;margin-top:12px}
.booking-card h2 span{margin-left:0}
.booking-card>p:not(.kicker){margin:24px auto 0;max-width:560px;color:var(--soft);font-size:13px}
.booking-card .actions{justify-content:center}

.contact-section{background:var(--cream)}
.contact-cards{display:grid;gap:15px}
.contact-cards>div{padding:23px 25px;background:#fff;border:1px solid var(--border)}
.contact-cards b{color:var(--pink3);margin-right:10px}.contact-cards strong{font:500 22px "Cormorant Garamond",serif}.contact-cards p{margin-left:28px;color:var(--soft);font-size:12px}

.footer{background:#f6ebe8;padding:65px 6% 25px}
.footer-inner{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:1.1fr 2fr;gap:70px}
.footer-brand{display:flex;align-items:center;gap:16px}.footer-brand img{width:85px}.footer-brand strong{font:600 30px "Cormorant Garamond",serif}.footer-brand p{font:400 24px "Parisienne",cursive;color:var(--pink3)}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.footer-cols h4{font:500 18px "Cormorant Garamond",serif;margin-bottom:10px}.footer-cols a,.footer-cols p{display:block;font-size:10px;color:var(--soft);margin:6px 0}
.footer-bottom{width:min(1180px,100%);margin:40px auto 0;padding-top:18px;border-top:1px solid rgba(185,153,115,.25);text-align:center;font-size:8px;letter-spacing:1.4px;text-transform:uppercase;color:#8f7c80}

/* pages */
.page-main{padding-top:0}
.page-hero{position:relative;padding:170px 6% 90px;background:linear-gradient(120deg,#fffaf7,#f5dfe0);text-align:center;overflow:hidden}
.page-hero:before,.page-hero:after{content:"";position:absolute;border:1px solid rgba(185,153,115,.25);border-radius:50%}
.page-hero:before{width:420px;height:420px;left:-190px;top:40px}.page-hero:after{width:360px;height:360px;right:-150px;bottom:-130px}
.page-hero-inner{position:relative;z-index:2;width:min(780px,100%);margin:auto}
.page-hero h1{font:400 clamp(58px,6vw,84px)/.85 "Cormorant Garamond",serif;margin-top:14px}
.page-hero h1 span{margin-left:0}
.page-hero p:last-child{margin:25px auto 0;color:var(--soft);font-size:13px;max-width:560px}
.page-hero.compact{padding-bottom:70px}

/* checkout */
.checkout-section{background:#fff}
.checkout-grid{width:min(1120px,100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.cart-panel,.order-panel{border:1px solid var(--border);padding:34px;background:var(--cream)}
.panel-heading h2{font:500 36px "Cormorant Garamond",serif;margin-top:5px}
.cart-items{display:grid;gap:12px;margin-top:24px}
.cart-item{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:15px;background:#fff;border:1px solid rgba(185,153,115,.2)}
.cart-item h3{font:500 20px "Cormorant Garamond",serif}.cart-item small{display:block;color:var(--soft);font-size:10px}
.qty-controls{display:flex;align-items:center;border:1px solid var(--border)}.qty-controls button{width:30px;height:30px;border:0;background:#fff}.qty-controls span{min-width:28px;text-align:center;font-size:11px}
.remove-item{border:0;background:none;color:#a66f74;font-size:10px;text-decoration:underline}
.cart-total{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}.cart-total strong{font:600 24px "Cormorant Garamond",serif}
.empty-cart{display:none;text-align:center;padding:35px 0}.empty-cart p{margin-bottom:20px;color:var(--soft)}
.order-form{display:grid;gap:15px;margin-top:24px}.order-form label{display:grid;gap:6px;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:#6e6166}
.order-form input,.order-form textarea,.order-form select{width:100%;border:1px solid var(--border);background:#fff;padding:12px;color:var(--text);outline:none}.order-form input:focus,.order-form textarea:focus,.order-form select:focus{border-color:var(--pink3)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.order-info{padding:14px;background:#fff;border-left:3px solid var(--gold);font-size:10px;color:var(--soft)}

.toast{position:fixed;right:20px;bottom:20px;z-index:999;background:var(--text);color:#fff;padding:14px 18px;font-size:11px;box-shadow:var(--shadow);opacity:0;transform:translateY(15px);pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translateY(0)}
.reveal{opacity:1;transform:none}

@media(max-width:980px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;top:84px;left:5%;right:5%;flex-direction:column;align-items:stretch;gap:0;padding:16px;background:rgba(255,250,247,.98);border:1px solid var(--border);box-shadow:var(--shadow)}
  .nav.open{display:flex}.nav a{padding:12px;text-align:center}.reserve,.cart-link{margin-top:4px}
  .hero{padding-top:135px}.hero-inner{grid-template-columns:1fr;text-align:center;gap:50px}.hero-copy{margin:auto}.hero h1 span{margin-left:0}.ornament{margin-left:auto;margin-right:auto}.lead{margin-left:auto;margin-right:auto}.actions{justify-content:center}.hero-bottom{display:none}
  .section-grid,.wedding-grid,.contact-grid,.checkout-grid{grid-template-columns:1fr;gap:50px}
  .service-grid,.product-grid,.shop-full{grid-template-columns:repeat(2,1fr)}
  .testimonial-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}.footer-cols{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:620px){
  .header{padding:13px 18px}.brand img{width:48px;height:48px}.brand strong{font-size:21px}.brand small{font-size:6px}
  .hero{min-height:auto;padding:125px 20px 65px}.hero h1{font-size:61px;line-height:.84}.hero h1 span{margin-top:20px;font-size:.68em}.kicker{font-size:8px;letter-spacing:3px}.lead{font-size:12px;max-width:330px}.actions{flex-direction:column;align-items:center}.btn{width:100%;max-width:295px}
  .brand-stage{min-height:390px}.brand-card{width:min(315px,100%);min-height:390px;padding:28px}.main-logo{width:145px;height:145px}.brand-card h2{font-size:33px}
  .section{padding:75px 20px}.photo-card{min-height:390px}.photo-placeholder{min-height:365px}.floating-note{right:10px;bottom:20px}
  .copy-block h2,.section-heading h2,.wedding-copy h2,.contact-section h2{font-size:45px}
  .service-grid,.product-grid,.shop-full{grid-template-columns:1fr}.service-card{min-height:auto}.product-image{height:220px}
  .arch-card{width:min(340px,100%);height:470px}.arch-inner img:not(.wedding-feature-photo){width:140px}
  .booking-card{padding:40px 22px}
  .footer-cols{grid-template-columns:1fr}.footer-brand{align-items:flex-start}
  .page-hero{padding:135px 20px 65px}.page-hero h1{font-size:58px}
  .shop-toolbar{align-items:flex-start;flex-direction:column}.form-row{grid-template-columns:1fr}.cart-panel,.order-panel{padding:24px}
  .cart-item{grid-template-columns:1fr auto}.remove-item{grid-column:1/-1;justify-self:start}
}


/* =========================================================
   CARTES PRESTATIONS AVEC PHOTOS
========================================================= */
.service-grid-photo .service-card{
  padding:0;
  overflow:hidden;
  min-height:0;
}
.service-card-body{
  padding:30px 28px 34px;
}
.service-image{
  display:block;
  position:relative;
  height:260px;
  overflow:hidden;
  background:#f5e2e1;
}
.service-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.service-photo-card:hover .service-image img{
  transform:scale(1.045);
}
.service-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(58,51,55,.12),transparent 45%);
  pointer-events:none;
}
.service-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#a66f74;
  font:500 25px "Cormorant Garamond",serif;
}
.service-placeholder span{
  position:relative;
  z-index:2;
  padding:9px 14px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(185,153,115,.28);
}
.visage-placeholder{
  background:
    radial-gradient(circle at 25% 25%,rgba(255,255,255,.8),transparent 28%),
    linear-gradient(145deg,#f3d4d3,#fff7f1 58%,#ebc9c4);
}
.epilation-placeholder{
  background:
    radial-gradient(circle at 75% 30%,rgba(255,255,255,.75),transparent 26%),
    linear-gradient(145deg,#f0ddd2,#fff8f4 55%,#e7c9c4);
}
.headspa-placeholder{
  background:
    radial-gradient(circle at 30% 24%,rgba(255,255,255,.8),transparent 27%),
    linear-gradient(145deg,#eadfd5,#fff8f4 56%,#dfc7c6);
}

/* =========================================================
   PAGES PRESTATIONS
========================================================= */
.service-page-hero{
  position:relative;
  padding:165px 6% 90px;
  overflow:hidden;
  background:linear-gradient(120deg,#fffaf7,#f5dfe0);
}
.service-page-hero::before,
.service-page-hero::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(185,153,115,.24);
}
.service-page-hero::before{
  width:440px;height:440px;left:-220px;top:40px;
}
.service-page-hero::after{
  width:340px;height:340px;right:-130px;bottom:-145px;
}
.service-page-hero-inner{
  position:relative;
  z-index:2;
  width:min(1180px,100%);
  margin:auto;
  display:grid;
  grid-template-columns:1.1fr .75fr;
  gap:70px;
  align-items:center;
}
.service-page-hero h1{
  margin-top:12px;
  font:400 clamp(58px,6vw,84px)/.88 "Cormorant Garamond",serif;
}
.service-page-hero h1 span{
  display:block;
  margin-top:13px;
  font:400 .64em/1 "Parisienne",cursive;
  color:var(--pink3);
}
.service-page-hero .lead{
  margin-top:25px;
}
.service-hero-photo{
  height:470px;
  padding:10px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.42);
}
.service-hero-photo img,
.service-hero-photo .service-placeholder{
  width:100%;
  height:100%;
  object-fit:cover;
}
.service-content-grid{
  width:min(1180px,100%);
  margin:auto;
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:70px;
  align-items:start;
}
.service-story h2,
.pricing-panel h2,
.gallery-heading h2{
  font:500 clamp(38px,4vw,52px)/1 "Cormorant Garamond",serif;
}
.service-story p{
  margin-top:17px;
  color:var(--soft);
  font-size:13px;
}
.service-points{
  margin-top:28px;
  display:grid;
  gap:12px;
}
.service-points div{
  padding:15px 17px;
  background:#fff;
  border:1px solid var(--border);
  font-size:12px;
  color:var(--soft);
}
.service-points b{
  color:var(--pink3);
  margin-right:8px;
}
.pricing-panel{
  background:#fff;
  border:1px solid var(--border);
  padding:34px;
  box-shadow:var(--shadow);
}
.pricing-panel .kicker{
  margin-bottom:8px;
}
.price-list{
  margin-top:25px;
  display:grid;
}
.price-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid rgba(185,153,115,.22);
}
.price-row:first-child{
  border-top:1px solid rgba(185,153,115,.22);
}
.price-row strong{
  font:500 19px "Cormorant Garamond",serif;
}
.price-row span{
  font-size:11px;
  color:var(--pink4);
  white-space:nowrap;
}
.pricing-note{
  margin-top:18px;
  font-size:10px;
  color:var(--soft);
}
.service-gallery{
  background:var(--cream2);
}
.gallery-heading{
  width:min(700px,100%);
  margin:0 auto 45px;
  text-align:center;
}
.gallery-heading .kicker{
  margin-bottom:9px;
}
.gallery-grid{
  width:min(1180px,100%);
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gallery-item{
  height:390px;
  border:1px solid var(--border);
  overflow:hidden;
  background:#fff;
}
.gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.gallery-placeholder{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:25px;
  background:linear-gradient(145deg,#f4d7d8,#fff8f4);
  color:#a66f74;
  font:500 24px "Cormorant Garamond",serif;
}
.service-cta{
  text-align:center;
  background:#fff;
}
.service-cta-inner{
  width:min(760px,100%);
  margin:auto;
}
.service-cta h2{
  margin-top:10px;
  font:400 clamp(42px,5vw,62px)/.95 "Cormorant Garamond",serif;
}
.service-cta h2 span{
  display:block;
  margin-top:9px;
  font:400 .68em/1 "Parisienne",cursive;
  color:var(--pink3);
}
.service-cta p{
  margin:22px auto 0;
  max-width:560px;
  color:var(--soft);
  font-size:13px;
}
.service-cta .actions{
  justify-content:center;
}
@media(max-width:900px){
  .service-page-hero-inner,
  .service-content-grid{
    grid-template-columns:1fr;
  }
  .service-page-hero-inner{
    text-align:center;
  }
  .service-page-hero .lead{
    margin-left:auto;
    margin-right:auto;
  }
  .service-hero-photo{
    max-width:560px;
    width:100%;
    margin:auto;
  }
  .gallery-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:620px){
  .service-image{height:220px}
  .service-page-hero{padding:130px 20px 65px}
  .service-page-hero h1{font-size:57px}
  .service-hero-photo{height:410px}
  .service-content-grid{gap:40px}
  .pricing-panel{padding:25px 20px}
  .price-row{grid-template-columns:1fr;gap:4px}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-item{height:360px}
}


.enfant-placeholder{
  background:
    radial-gradient(circle at 25% 25%,rgba(255,255,255,.82),transparent 26%),
    linear-gradient(145deg,#f7ddd8,#fff8f4 58%,#edd0c9);
}
.regard-placeholder{
  background:
    radial-gradient(circle at 72% 26%,rgba(255,255,255,.78),transparent 25%),
    linear-gradient(145deg,#ead8e2,#fff8f6 56%,#e5c8d2);
}


/* Icônes personnalisées Regard / Enfant */
.icon-eye,
.icon-child{
  position:relative;
  width:34px;
  height:28px;
  margin:0 auto 16px;
  font-size:0 !important;
  color:var(--gold);
}
.icon-eye::before{
  content:"";
  position:absolute;
  width:28px;
  height:17px;
  left:3px;
  top:5px;
  border:1.8px solid var(--gold);
  border-radius:75% 20% 75% 20%;
  transform:rotate(45deg);
}
.icon-eye::after{
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  left:13.5px;
  top:10px;
  border-radius:50%;
  background:var(--gold);
}
.icon-child::before{
  content:"";
  position:absolute;
  width:9px;
  height:9px;
  left:12px;
  top:0;
  border:1.8px solid var(--gold);
  border-radius:50%;
}
.icon-child::after{
  content:"";
  position:absolute;
  left:7px;
  top:11px;
  width:19px;
  height:15px;
  border:1.8px solid var(--gold);
  border-top-width:1.8px;
  border-radius:50% 50% 42% 42%;
  clip-path:polygon(0 0,100% 0,78% 100%,22% 100%);
}
