@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--red:#c91828;--red-dark:#990f1c;--ink:#201719;--muted:#70676a;--cream:#fffafa;--line:#eee1e3}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;color:var(--ink);background:white;font-family:'DM Sans',Arial,sans-serif;line-height:1.6}a{color:inherit}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px clamp(20px,6vw,88px);background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.logo{font-size:1.55rem;font-weight:700;letter-spacing:-.07em;text-decoration:none;white-space:nowrap}.logo span{color:var(--red)}nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,32px)}nav a{text-decoration:none;font-size:.92rem;font-weight:600}nav a:hover{color:var(--red)}nav .nav-cta{padding:10px 16px;color:white;background:var(--red);border-radius:4px}.menu-toggle{display:none;border:0;background:none;font-size:1.7rem;cursor:pointer}
.hero{min-height:560px;position:relative;display:flex;align-items:center;padding:90px clamp(24px,9vw,140px);color:white;background:#302426 url('https://images.unsplash.com/photo-1560066984-138dadb4c035?auto=format&fit=crop&w=2000&q=85') center 42%/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,10,13,.86),rgba(35,12,15,.58) 53%,rgba(35,12,15,.12))}.hero-content{position:relative;max-width:650px}.eyebrow{margin:0 0 12px;color:var(--red);font-size:.76rem;font-weight:700;letter-spacing:.17em}.hero .eyebrow{color:#ffb8bf}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;line-height:1.12}h1{max-width:700px;margin-bottom:22px;font-size:clamp(2.7rem,6vw,5rem)}h1 span{color:#ffb4bc}.hero-content>p:not(.eyebrow){max-width:520px;color:#f4e9eb;font-size:1.08rem}
.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 19px;border:1px solid transparent;border-radius:4px;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-red{color:white;background:var(--red)}.button-red:hover{background:var(--red-dark)}.button-light{color:var(--red-dark);background:white}.button-outline{color:var(--red);background:white;border-color:var(--red)}
.section-wrap{width:min(1120px,calc(100% - 44px));margin:0 auto}.intro{max-width:790px;padding-top:84px;padding-bottom:76px;text-align:center}h2{margin-bottom:18px;font-size:clamp(2rem,4vw,3.2rem)}.intro>p:last-child,.section-heading>p:last-child{color:var(--muted)}
.services{padding-top:36px;padding-bottom:86px}.section-heading{margin-bottom:32px;text-align:center}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{min-height:210px;padding:25px 22px;border:1px solid var(--line);background:white}.service-number{display:inline-block;margin-bottom:26px;color:var(--red);font-weight:700;font-size:.85rem}.service-card h3{margin-bottom:10px;font-size:1.08rem}.service-card p{margin-bottom:0;color:var(--muted);font-size:.92rem}.appointment-note{margin:25px 0 0;text-align:center;color:var(--red-dark);font-weight:600}
.gallery-section{padding:82px 0 90px;background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gallery-card{padding:14px;background:white;border:1px solid var(--line);box-shadow:0 8px 28px rgba(50,15,20,.05)}.photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-pair figure{position:relative;margin:0;overflow:hidden;background:#f1e8e9}.photo-pair img{display:block;width:100%;height:340px;object-fit:cover;object-position:center}.photo-pair figcaption{position:absolute;bottom:10px;left:10px;padding:5px 10px;color:white;background:var(--red);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.gallery-label{margin:12px 2px 0;font-weight:700}
.booking-band{padding:44px 0;color:white;background:var(--red)}.booking-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.booking-inner .eyebrow{color:#ffd7db}.booking-inner h2{max-width:650px;margin-bottom:0;font-size:clamp(1.7rem,3vw,2.5rem)}.booking-inner .button{flex-shrink:0}
.hours{padding-top:84px;padding-bottom:88px}.hours-card{max-width:700px;margin:auto;padding:10px 28px;border:1px solid var(--line)}.hours-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.hours-row:last-child{border-bottom:0}.hours-row strong{white-space:nowrap}.hours-row.closed strong{color:var(--red)}
.contact-section{padding:82px 0;background:#faf5f5}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px}.contact-grid>div:first-child>p:not(.eyebrow){max-width:520px;color:var(--muted)}.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}.contact-details p{overflow-wrap:anywhere}.contact-details strong{display:inline-block;margin-bottom:5px}.contact-details a{color:var(--red-dark);font-weight:700}.map-card{padding:44px 30px;text-align:center;background:white;border:1px solid var(--line);box-shadow:0 12px 32px rgba(50,15,20,.06)}.map-pin{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;color:white;background:var(--red);font-size:1.5rem}.map-card h3{margin-bottom:8px;font-size:1.45rem}.map-card p{color:var(--muted)}.map-card a{color:var(--red);font-weight:700}
.site-footer{padding:34px 20px;text-align:center;border-top:1px solid var(--line)}.footer-logo{display:inline-block;margin-bottom:8px}.site-footer p{margin-bottom:5px;color:var(--muted);font-size:.85rem}
@media(max-width:850px){.site-header{padding:14px 22px}.menu-toggle{display:block}nav{position:absolute;top:100%;left:0;right:0;display:none;align-items:stretch;flex-direction:column;gap:0;padding:8px 22px 18px;background:white;border-bottom:1px solid var(--line)}nav.is-open{display:flex}nav a{padding:12px 4px}nav .nav-cta{padding:12px;text-align:center}.hero{min-height:500px;padding:70px 26px}.service-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr;gap:34px}}
@media(max-width:560px){.hero{min-height:490px}.hero-actions,.contact-actions{align-items:stretch;flex-direction:column}.hero-actions .button,.contact-actions .button{width:100%}.intro{padding-top:62px;padding-bottom:48px}.services{padding-top:22px;padding-bottom:62px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-number{margin-bottom:12px}.gallery-section{padding:62px 0}.gallery-grid{grid-template-columns:1fr;gap:18px}.photo-pair img{height:255px}.booking-inner{align-items:flex-start;flex-direction:column}.hours{padding-top:62px;padding-bottom:62px}.hours-card{padding:6px 16px}.hours-row{font-size:.9rem}.contact-section{padding:62px 0}.contact-details{grid-template-columns:1fr;gap:8px}}

/* Tarifs — mêmes couleurs, typographies et encadrés que les prestations. */
.tariffs-link{text-align:center;margin-top:22px}nav a[aria-current="page"]{color:var(--red)}
.tariffs-intro{padding-top:72px;padding-bottom:52px;text-align:center}.tariffs-intro h1{max-width:none;margin-bottom:20px;font-size:clamp(2.7rem,6vw,4.5rem)}.tariffs-intro>p:not(.eyebrow){color:var(--muted)}.tariff-jumps{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}
.tariff-section{padding-top:24px;padding-bottom:76px}.tariff-hours p{margin-bottom:12px}.tariff-hours .eyebrow{margin-top:18px}.tariff-card{padding:24px 28px;background:white;border:1px solid var(--line)}.tariff-card h3{margin-bottom:16px;color:var(--red-dark);font-size:1.12rem;line-height:1.4}.mens-prices{max-width:800px;margin:auto}.price-list{margin:0}.price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px 24px;padding:13px 0;border-bottom:1px solid var(--line)}.price-row:last-child{border-bottom:0}.price-row dd{margin:0;font-weight:700;text-align:right}.price-row dt{color:var(--muted)}.tariff-women{padding:72px 0 80px;background:var(--cream)}.tariff-length-note{margin:22px 0 0;font-weight:700;text-transform:uppercase;font-size:.85rem;letter-spacing:.06em}.tariff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.other-prices{max-width:800px;margin:48px auto 0}.other-prices>h3{font-family:'Playfair Display',Georgia,serif;font-size:1.8rem;text-align:center;margin-bottom:24px}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:650px){.tariffs-intro{padding-top:48px;padding-bottom:32px}.tariff-grid{grid-template-columns:1fr;gap:16px}.tariff-section{padding-bottom:52px}.tariff-women{padding:52px 0}.tariff-card{padding:20px}.price-row{gap:10px 14px;font-size:.92rem}.price-row dd{max-width:145px}.tariff-jumps .button{flex:1 1 180px}}
