/* Contenus du site officiel, intégrés au langage visuel existant. */
.founder__certification { color: var(--text-muted); font-size: 1rem; margin: 26px 0; max-width: 48ch; }
.service-notes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; margin-top: clamp(60px,8vw,110px); padding-top: 44px; border-top: 1px solid var(--line-dark); }
.service-note h3,.press-report h3 { font-family: var(--ff-display); font-size: clamp(2rem,3vw,3.3rem); line-height: 1.1; margin: 24px 0 20px; font-weight: 400; }
.service-note h3 em,.press-report h3 em { color: var(--nude); }
.service-note p:not(.eyebrow),.press-report p:not(.eyebrow) { color: var(--on-dark-muted); font-size: 1rem; }
.service-note .link-line { margin-top: 26px; font-size: 1rem; }
.press-reports { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px,5vw,72px); margin-top: 70px; scroll-margin-top: 100px; }
.press-report { border-top: 1px solid var(--line-dark); padding: 34px 0 12px; }
.press-report .btn { margin-top: 28px; }
.contact-section { background: var(--cream); color: var(--text); padding: var(--section-y) 0; }
.contact-intro { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px,5vw,72px); margin: 0 0 56px; color: var(--text-muted); }
.location-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.location-card { background: var(--sand); border-radius: var(--r-lg); overflow: hidden; min-width: 0; scroll-margin-top: 100px; }
.location-card>img { width:100%; height:clamp(220px,25vw,340px); object-fit:cover; }
.location-content { padding:clamp(24px,3vw,44px); }
.location-content h3 { font-family:var(--ff-display); font-size:clamp(2.6rem,4vw,4.2rem); line-height:1.08; font-weight:400; margin:18px 0 24px; }
.location-content h3 em { color:var(--copper); }
.location-content address { font-style:normal; margin-bottom:22px; }
.location-phone { display:block; width:fit-content; font-size:1.45rem; font-weight:500; }
.location-email { display:block; width:fit-content; overflow-wrap:anywhere; margin-top:8px; text-decoration:underline; text-underline-offset:5px; }
.location-hours { font-size:1rem; margin-top:22px; color:var(--text-strong-muted); }
.location-actions { display:flex; gap:24px; align-items:center; flex-wrap:wrap; margin-top:28px; }
.location-card iframe { display:block; border:0; width:100%; height:235px; }
.contact-channels { margin-top:44px; padding-top:36px; border-top:1px solid var(--line-light); display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap; }
.contact-whatsapp { display:inline-block; font-family:var(--ff-display); font-size:clamp(1.8rem,2.8vw,2.8rem); margin-top:12px; }
.social-links { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.additional-contacts { border-top:1px solid var(--line-light); margin-top:32px; padding-top:22px; color:var(--text-muted); font-size:1rem; }
.additional-contacts summary { cursor:pointer; padding-block:10px; }
.additional-contacts p { padding:16px 0; line-height:2; }
.additional-contacts a { text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
.footer__detail,.footer__hours { font-size:0.9375rem; color:var(--on-dark-muted); }
.footer__hours { margin-bottom:16px; }
.footer__col> a { overflow-wrap:anywhere; word-break:break-word; font-size:0.875rem; }
.footer__col li+li { margin-top:14px; }
#contact,#medias,#services,#marie,#institut { scroll-margin-top:70px; }
/* Page onglerie : mêmes polices, couleurs, masques et révélations. */
.page-hero { position:relative; padding:clamp(150px,16vw,220px) 0 90px; background:var(--ink); color:var(--on-dark); overflow:hidden; }
.page-hero__grid { display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(35px,6vw,100px); align-items:center; }
.page-hero h1 { font-family:var(--ff-display); font-size:clamp(3.4rem,7.5vw,8rem); line-height:.96; font-weight:400; letter-spacing:-.03em; margin:28px 0; }
.page-hero h1 em { color:var(--nude); }
.page-hero__lead { color:var(--on-dark-muted); max-width:48ch; font-size:1.1rem; }
.page-hero__actions { display:flex; gap:24px; align-items:center; flex-wrap:wrap; margin-top:36px; }
.nail-film { border-radius:var(--r-lg); overflow:hidden; background:var(--ink-2); }
.nail-film video { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; }
.nail-film figcaption { font-family:var(--ff-mono); text-transform:uppercase; letter-spacing:.1em; font-size:.75rem; padding:18px 24px; color:var(--nude); }
.nail-story { background:var(--cream); color:var(--text); padding:var(--section-y) 0; }
.nail-story__grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(35px,7vw,105px); align-items:center; }
.nail-story__grid>figure { border-radius:var(--r-lg); overflow:hidden; }
.nail-story__grid>figure img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.nail-story .title-xl { margin-bottom:30px; font-size:clamp(2.8rem,5vw,5.5rem); }
.nail-story p { color:var(--text-muted); }
.nail-values { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.nail-values li { padding:9px 15px; border:1px solid var(--line-light); border-radius:999px; font-size:.875rem; }
.nail-guarantee { margin-top:35px; padding-top:30px; border-top:1px solid var(--line-light); display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:center; }
.nail-guarantee strong { font-family:var(--ff-display); font-size:5rem; line-height:1; color:var(--copper); font-weight:400; white-space:nowrap; }
.nail-guarantee strong small { font-size:1.7rem; }
.nail-guarantee p { font-size:1rem; }
.nail-offer { padding:var(--section-y) 0; background:var(--ink); color:var(--on-dark); }
.nail-offer__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,7vw,100px); }
.nail-offer .title-xl { margin:25px 0; font-size:clamp(3rem,5.2vw,5.5rem); }
.nail-offer__intro>p:not(.eyebrow) { color:var(--on-dark-muted); max-width:42ch; }
.offer-table { width:100%; border-collapse:collapse; }
.offer-table caption { text-align:left; font-family:var(--ff-mono); font-size:.875rem; margin-bottom:20px; text-transform:uppercase; letter-spacing:.08em; color:var(--nude); }
.offer-table tr { border-top:1px solid var(--line-dark); }
.offer-table tr:last-child { border-bottom:1px solid var(--line-dark); }
.offer-table th { text-align:left; font-weight:400; padding:25px 22px 25px 0; font-size:1.125rem; }
.offer-table td { text-align:right; padding:25px 0; white-space:nowrap; }
.offer-table del { font-size:.875rem; color:var(--on-dark-muted); display:block; }
.offer-table strong { font-size:1.45rem; font-weight:500; color:var(--nude); }
.offer-coupon { margin:32px 0; display:flex; align-items:center; gap:22px; padding:24px; border:1px dashed rgba(244,198,175,.5); border-radius:16px; }
.offer-coupon strong { font-family:var(--ff-mono); font-size:1.7rem; letter-spacing:.1em; color:var(--nude); user-select:all; }
.offer-coupon p { font-size:1rem; color:var(--on-dark-muted); }
.nail-gallery { background:var(--cream); color:var(--text); padding:var(--section-y) 0; }
.nail-gallery__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.nail-gallery__item { display:block; position:relative; border-radius:var(--r-md); overflow:hidden; background:var(--sand); }
.nail-gallery__item img { width:100%; aspect-ratio:4/5; object-fit:cover; transition:transform 1s var(--ease-out); }
.nail-gallery__item:hover img { transform:scale(1.045); }
.nail-gallery__item span { position:absolute; right:16px; bottom:16px; display:grid; place-items:center; width:38px; height:38px; background:var(--ink); color:var(--cream); border-radius:50%; font-size:1.3rem; }
.gallery-dialog { position:fixed; inset:0; margin:auto; max-width:min(94vw,1120px); max-height:94dvh; width:fit-content; border:1px solid var(--line-dark); border-radius:20px; background:var(--ink); color:var(--cream); padding:18px; z-index:110; }
.gallery-dialog::backdrop { background:rgba(18,11,14,.92); backdrop-filter:blur(10px); }
.gallery-dialog img { width:auto; max-width:85vw; height:auto; max-height:72dvh; object-fit:contain; margin:auto; border-radius:10px; }
.gallery-dialog__bar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 0 14px; }
.gallery-dialog button { color:var(--cream); border:1px solid var(--line-dark); border-radius:999px; padding:10px 20px; font-size:1rem; min-height:44px; cursor:pointer; }
.gallery-dialog__nav { display:flex; justify-content:space-between; gap:18px; margin-top:14px; }
.gallery-dialog button:hover { color:var(--ink); background:var(--nude); }
html.gallery-open { overflow:hidden; }
html.gallery-open .cursor { display:none; }
.breadcrumb { color:var(--on-dark-muted); font-size:.875rem; }
.breadcrumb a { text-decoration:underline; text-underline-offset:5px; }
@media(max-width:1023px) {
 .service-notes { grid-template-columns:1fr; gap:38px; }
 .service-note { max-width:70ch; }
 .page-hero__grid,.nail-story__grid,.nail-offer__grid { grid-template-columns:1fr; }
 .nail-film { max-width:560px; width:100%; justify-self:center; }
 .nail-story__grid>figure { max-width:560px; }
}
@media(max-width:767px) {
 .contact-intro,.location-grid,.press-reports { grid-template-columns:1fr; }
 .press-reports { margin-top:44px; }
 .contact-channels { align-items:flex-start; }
 .nail-gallery__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .nail-gallery__item { border-radius:12px; }
 .offer-coupon { align-items:flex-start; flex-direction:column; }
 .offer-table th { font-size:1rem; }
 .page-hero { padding-top:135px; }
 .nail-guarantee { grid-template-columns:1fr; }
 .location-phone { font-size:1.35rem; }
}
@media(prefers-reduced-motion:reduce) { .nail-gallery__item img { transition:none; } }
.standalone main>.media:first-of-type { padding-top:180px; }
.standalone main>.contact-section:first-of-type { padding-top:180px; }
.standalone main>.founder:first-of-type { padding-top:180px; }
@media(max-width:767px) {
 .standalone main>.media:first-of-type,.standalone main>.contact-section:first-of-type,.standalone main>.founder:first-of-type { padding-top:130px; }
}
html.gallery-open, html.gallery-open * { cursor:auto !important; }
html.gallery-open button { cursor:pointer !important; }
