/* JM.Micro — restrained refinements, 21 September 2026. */
:root { --serif: Georgia, 'Times New Roman', serif; --sans: Arial, Helvetica, sans-serif; }
body, button, input, select, textarea { font-family: var(--sans) !important; }
body.v15-v2 #main-content :is(h1,h2,h3), .client-voices blockquote { font-family: var(--serif) !important; }
body.v15-v2 #main-content :is(.tag,.eyebrow,.text-link,.button), .nav-links a, .footer { font-family:var(--sans) !important; }
[hidden] { display:none !important; }
.story-shortcuts { display:flex; flex-wrap:wrap; gap:12px 24px; margin:0 0 20px; }
.story-shortcuts a { color:#f4efe7; font:400 .85rem/1.5 var(--sans); text-decoration:underline; text-underline-offset:5px; letter-spacing:0; text-transform:none; }
.story-shortcuts a:hover { color:#f36f21; }
.scroll-story-service { margin-bottom:12px; }
.scroll-story { min-height:205vh; }
.scroll-story-copy { padding-block:24px; }
body.v15-v2 #main-content .scroll-story-opening { font-size:clamp(2.8rem,4.8vw,4.9rem) !important; margin:12px 0 22px !important; line-height:1.02 !important; }
body.v15-v2 #main-content .scroll-story-line { font-family:var(--sans); line-height:1.35; }
body.v15-v2 #main-content .scroll-story-accent { font-family:var(--serif); font-size:clamp(1.8rem,2.6vw,2.7rem); font-weight:400; }
body.v15-v2 #main-content .scroll-story-finale { font-family:var(--serif); font-weight:400; font-size:clamp(2rem,3.2vw,3.2rem); line-height:1.1; }
.scroll-story-line.scroll-story-pause { margin-top:12px; }
.scroll-story-visual { width:min(42vw,580px); max-height:85svh; }
body.home-mobile #main-content > :is(.curated-results,.semantic-bridge,.trust-section,.client-voices,.about,.home-faq,.contact) { padding-block:48px !important; border-top:1px solid rgba(116,139,136,.28); }
body.home-mobile #main-content .results-intro { margin-bottom:24px !important; }
body.home-mobile #main-content .curated-results .gallery-viewer { margin-block:0 !important; }
body.home-mobile #main-content .curated-results .gallery-track { padding-bottom:12px !important; }
body.home-mobile #main-content .curated-results .gallery-controls { margin-top:8px !important; margin-bottom:0 !important; }
.gallery-reading { margin-top:24px; padding-top:20px; border-top:1px solid #b9cbc6; }
body.v15-v2 #main-content .gallery-reading p { max-width:850px; margin:0; font-size:.96rem; line-height:1.65; color:#1f4a4d; }
.gallery-reading p strong { display:block; margin-bottom:5px; }
.gallery-reading-links { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px 24px; margin-top:16px; font:400 .82rem/1.5 var(--sans); color:#405d5e; }
.instagram-link { display:inline-flex; align-items:center; min-height:44px; color:#1f4a4d; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.instagram-link:hover { color:#934414; }
.forfait-summary { margin-top:20px; padding-top:18px; border-top:1px solid #b9cbc6; }
body.v15-v2 #main-content .forfait-summary p { margin:0 0 10px; font-size:.95rem; line-height:1.65; }
.client-voices-grid { margin-block:20px 10px; gap:28px; }
.client-voices-grid figure { padding:18px 0 10px; }
.client-voices blockquote { margin:12px 0 18px; }
.faq-related { margin-top:14px !important; }
.faq-related a { font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.faq-sources { font-size:.85rem !important; }
body #main-content .rates .zones-figure { height:auto !important; }
body #main-content .rates .zones-figure::before { bottom:auto !important; height:350px; }
.zones-figure figcaption { position:relative; padding:365px 4px 0; font:400 .9rem/1.6 var(--sans); color:#405d5e; }
.page-next { display:flex; gap:16px 30px; flex-wrap:wrap; padding-block:0 36px; }
.scar-note { margin-top:24px; padding:20px 0; border-top:1px solid #b9cbc6; }
body.v15-v2 #main-content .scar-note h3 { margin:0 0 12px; }
.scar-note p { max-width:800px; }
body.v15-v2 #main-content .form-preview-note { display:block; margin-top:12px; font-size:.8rem; }
html:not(.js) .scroll-story { min-height:auto; }
html:not(.js) .scroll-story-line { opacity:1 !important; filter:none !important; transform:none !important; color:#f4efe7; }
html:not(.js) .scroll-story-sticky { position:relative; }
@media(max-width:1050px) {
  .scroll-story { min-height:auto; }
  .scroll-story-sticky { position:relative; display:flex; min-height:auto; overflow:visible; flex-direction:column; padding:22px 0 40px; }
  .scroll-story-mobile-service { display:block; order:0; width:calc(100% - 28px); margin:0 auto 14px; color:#f36f21; font:700 .74rem/1.5 var(--sans); letter-spacing:.12em; text-transform:uppercase; }
  .scroll-story-mobile-service .story-shortcuts { margin:10px 0 0; }
  .scroll-story-visual { position:relative; top:auto; left:auto; right:auto; order:1; width:min(calc(100% - 28px),560px); height:auto; max-height:none; aspect-ratio:815/1020; margin:0 auto; transform:none; }
  .scroll-story-shade { display:none; }
  .scroll-story-layout { position:relative; order:2; width:min(calc(100% - 28px),660px); min-height:auto; margin:26px auto 0; padding:0; align-items:stretch; }
  .scroll-story-marker { height:auto; min-height:100%; }
  .scroll-story-copy { padding:0; }
  .scroll-story-copy > .scroll-story-service, .scroll-story-copy > .story-shortcuts { display:none; }
  .scroll-story-line { opacity:1; filter:none; transform:none; color:#f4efe7; }
  .scroll-story-line + .scroll-story-line { margin-bottom:7px; }
  .scroll-story-line.scroll-story-pause { margin-top:16px; }
  body.v15-v2 #main-content .scroll-story-opening { font-size:clamp(2.3rem,9vw,3.6rem) !important; margin:0 0 22px !important; }
  body.v15-v2 #main-content .scroll-story-finale { font-size:clamp(2rem,7.2vw,3rem); }
  .scroll-story-actions { gap:12px; }
  .story-before { transform:none; }
}
@media(max-width:760px) {
  body.home-mobile #main-content > :is(.curated-results,.semantic-bridge,.trust-section,.client-voices,.about,.home-faq,.contact) { padding-block:34px !important; }
  body.home-mobile #main-content .results-intro { margin-bottom:18px !important; }
  .gallery-reading { margin-top:16px; padding-top:16px; }
  .gallery-reading-links { gap:8px; }
  .gallery-reading-links > span { flex-basis:100%; }
  .forfait-summary { margin-top:18px; }
  .client-voices-grid { gap:12px; }
  .page-next { flex-direction:column; padding-bottom:28px; }
  body #main-content .rates .zones-figure::before { height:220px; }
  .zones-figure figcaption { padding-top:234px; font-size:.85rem; }
  body.v15-v2 #main-content .scroll-story-line { font-size:1rem; }
  body.v15-v2 #main-content .scroll-story-accent { font-size:2rem; }
  body.v15-v2 #main-content .scroll-story-finale { font-size:2.2rem; }
}
@media(prefers-reduced-motion:reduce) {
  .scroll-story { min-height:auto; }
  .scroll-story-line { opacity:1 !important; filter:none !important; transform:none !important; }
  .scroll-story-sticky { position:relative; }
}
