/* Profils typographiques modifiables : choix visuels, bornés et responsifs. */
.page img[data-hls-crop],.hls-home img[data-hls-crop]{object-position:var(--hls-crop-desktop,50% 50%)!important;translate:var(--hls-pan-desktop,0% 0%);scale:var(--hls-zoom-desktop,100%)}
@media(max-width:800px){.page img[data-hls-crop],.hls-home img[data-hls-crop]{object-position:var(--hls-crop-mobile,var(--hls-crop-desktop,50% 50%))!important;translate:var(--hls-pan-mobile,var(--hls-pan-desktop,0% 0%));scale:var(--hls-zoom-mobile,var(--hls-zoom-desktop,100%))}}
.page[data-hls-heading-font="editorial"] :is(.hero h1,.familyHeading h2,.manifestoLead,.note h2,.gallery h2,.approach h2,.contact h2,.introLead,.featuredHeading h2,.selectedTitle h2,.storyMeta h3,.facets h3,.approachSteps h3,.projectHero h1,.projectStory>div p,.projectGallery h2,.projectVideo h2,.projectContact h2){font-family:Georgia,"Times New Roman",serif!important}
.page[data-hls-heading-font="classic"] :is(.hero h1,.familyHeading h2,.manifestoLead,.note h2,.gallery h2,.approach h2,.contact h2,.introLead,.featuredHeading h2,.selectedTitle h2,.storyMeta h3,.facets h3,.approachSteps h3,.projectHero h1,.projectStory>div p,.projectGallery h2,.projectVideo h2,.projectContact h2){font-family:"Times New Roman",Times,serif!important}
.page[data-hls-heading-font="modern"] :is(.hero h1,.familyHeading h2,.manifestoLead,.note h2,.gallery h2,.approach h2,.contact h2,.introLead,.featuredHeading h2,.selectedTitle h2,.storyMeta h3,.facets h3,.approachSteps h3,.projectHero h1,.projectStory>div p,.projectGallery h2,.projectVideo h2,.projectContact h2){font-family:Arial,Helvetica,sans-serif!important;letter-spacing:-.045em!important}
.page[data-hls-heading-font="modern"] :is(.hero h1,.familyHeading h2,.note h2,.gallery h2,.approach h2,.contact h2,.featuredHeading h2,.selectedTitle h2,.projectHero h1,.projectGallery h2,.projectVideo h2,.projectContact h2){font-weight:700!important}
.page[data-hls-heading-scale="compact"] :is(.hero h1,.note h2,.contact h2,.gallery h2,.featuredHeading h2,.selectedTitle h2){font-size:clamp(42px,5.2vw,82px)!important}
.page[data-hls-heading-scale="compact"] :is(.familyHeading h2,.manifestoLead,.introLead,.approach h2){font-size:clamp(38px,4.7vw,72px)!important}
.page[data-hls-heading-scale="large"] :is(.hero h1,.note h2,.contact h2,.gallery h2,.featuredHeading h2,.selectedTitle h2){font-size:clamp(58px,7.2vw,116px)!important}
.page[data-hls-heading-scale="large"] :is(.familyHeading h2,.manifestoLead,.introLead,.approach h2){font-size:clamp(52px,6.3vw,98px)!important}
.page[data-hls-heading-scale="compact"] :is(.projectHero h1,.projectGallery h2,.projectVideo h2,.projectContact h2){font-size:clamp(42px,5.2vw,82px)!important}
.page[data-hls-heading-scale="large"] :is(.projectHero h1,.projectGallery h2,.projectVideo h2,.projectContact h2){font-size:clamp(58px,7.2vw,116px)!important}
.page[data-hls-body-scale="compact"] :is(.heroCopy>p:not(.eyebrow),.photoHeroCopy>p:not(.eyebrow),.familyHeading>p,.card p,.manifestoAside,.galleryHeading>p,.approachIntro>p:last-child,.facets p,.contact>p:not(.eyebrow),.introAside,.featuredHeading>p,.selectedTitle>p,.storyMeta>p:last-of-type,.storyTestimonial p,.approachSteps p){font-size:12px!important;line-height:1.55!important}
.page[data-hls-body-scale="large"] :is(.heroCopy>p:not(.eyebrow),.photoHeroCopy>p:not(.eyebrow),.familyHeading>p,.card p,.manifestoAside,.galleryHeading>p,.approachIntro>p:last-child,.facets p,.contact>p:not(.eyebrow),.introAside,.featuredHeading>p,.selectedTitle>p,.storyMeta>p:last-of-type,.storyTestimonial p,.approachSteps p){font-size:15px!important;line-height:1.75!important}
.page[data-hls-body-scale="compact"] :is(.projectHeroCopy>p:not(.eyebrow),.projectVideo p,.projectContact>p:not(.eyebrow)){font-size:12px!important;line-height:1.55!important}
.page[data-hls-body-scale="large"] :is(.projectHeroCopy>p:not(.eyebrow),.projectVideo p,.projectContact>p:not(.eyebrow)){font-size:15px!important;line-height:1.75!important}
@media(max-width:800px){
  .page[data-hls-heading-scale="compact"] :is(.hero h1,.note h2,.contact h2,.gallery h2,.featuredHeading h2,.selectedTitle h2,.familyHeading h2,.manifestoLead,.introLead,.approach h2){font-size:clamp(36px,9.5vw,48px)!important}
  .page[data-hls-heading-scale="large"] :is(.hero h1,.note h2,.contact h2,.gallery h2,.featuredHeading h2,.selectedTitle h2,.familyHeading h2,.manifestoLead,.introLead,.approach h2){font-size:clamp(45px,12vw,62px)!important}
}
@media(min-width:1600px){
  .page[data-hls-body-scale="compact"] :is(.heroCopy>p:not(.eyebrow),.photoHeroCopy>p:not(.eyebrow),.familyHeading>p,.card p,.manifestoAside,.galleryHeading>p,.approachIntro>p:last-child,.facets p,.contact>p:not(.eyebrow),.introAside,.featuredHeading>p,.selectedTitle>p,.storyMeta>p:last-of-type,.storyTestimonial p,.approachSteps p){font-size:14px!important;line-height:1.62!important}
  .page[data-hls-body-scale="large"] :is(.heroCopy>p:not(.eyebrow),.photoHeroCopy>p:not(.eyebrow),.familyHeading>p,.card p,.manifestoAside,.galleryHeading>p,.approachIntro>p:last-child,.facets p,.contact>p:not(.eyebrow),.introAside,.featuredHeading>p,.selectedTitle>p,.storyMeta>p:last-of-type,.storyTestimonial p,.approachSteps p){font-size:17px!important;line-height:1.75!important}
}

/* Page générale des réalisations : mêmes choix de lisibilité que les pages éditoriales. */
.projectArchive[data-hls-heading-font="editorial"] :is(header h1,.projectArchiveGrid h2,.projectArchiveEmpty h2){font-family:Georgia,"Times New Roman",serif!important}
.projectArchive[data-hls-heading-font="classic"] :is(header h1,.projectArchiveGrid h2,.projectArchiveEmpty h2){font-family:"Times New Roman",Times,serif!important}
.projectArchive[data-hls-heading-font="modern"] :is(header h1,.projectArchiveGrid h2,.projectArchiveEmpty h2){font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important;letter-spacing:-.045em!important}
.projectArchive[data-hls-heading-scale="compact"] :is(header h1,.projectArchiveEmpty h2){font-size:clamp(42px,5.2vw,82px)!important}
.projectArchive[data-hls-heading-scale="large"] :is(header h1,.projectArchiveEmpty h2){font-size:clamp(58px,7.2vw,116px)!important}
.projectArchive[data-hls-heading-scale="compact"] .projectArchiveGrid h2{font-size:clamp(25px,2.5vw,38px)!important}
.projectArchive[data-hls-heading-scale="large"] .projectArchiveGrid h2{font-size:clamp(34px,3.6vw,54px)!important}
.projectArchive[data-hls-body-scale="compact"] :is(header>p:last-child,.projectArchiveGrid p,.projectArchiveEmpty p){font-size:12px!important;line-height:1.55!important}
.projectArchive[data-hls-body-scale="large"] :is(header>p:last-child,.projectArchiveGrid p,.projectArchiveEmpty p){font-size:15px!important;line-height:1.75!important}
@media(max-width:800px){.projectArchive[data-hls-heading-scale="compact"] :is(header h1,.projectArchiveEmpty h2){font-size:clamp(36px,9.5vw,48px)!important}.projectArchive[data-hls-heading-scale="large"] :is(header h1,.projectArchiveEmpty h2){font-size:clamp(45px,12vw,62px)!important}}
/* Full-image display is independent of the saved focal crop. */
html body :is(.page,.hls-home) img[data-hls-image-format="original"]{object-fit:contain!important;object-position:center!important;translate:none!important;scale:1!important;transform:none!important}
:is(.page,.hls-home) [data-hls-format-frame="original"][data-hls-format-frame]{aspect-ratio:var(--hls-original-ratio,auto)!important;height:auto!important;min-height:0!important;align-self:center}
:is(.page,.hls-home) [data-hls-format-frame="portrait"][data-hls-format-frame]{aspect-ratio:4/5!important;height:auto!important;min-height:0!important;align-self:center}
:is(.page,.hls-home) [data-hls-format-frame="landscape"][data-hls-format-frame]{aspect-ratio:3/2!important;height:auto!important;min-height:0!important;align-self:center}
[data-hls-format-frame]>img{width:100%!important;height:100%!important}
/* Galleries welcome both orientations without cutting photographs. */
.weddingGallery img[data-hls-image-format="original"]{object-fit:contain!important;object-position:center!important;translate:none!important;scale:1!important;transform:none!important}
/* Reserve the same stage before loading and for every wedding photograph.
   Only interactive tracks are constrained; the no-JS chapter list stays open. */
.page .weddingMomentStory.isReady .weddingMomentSpread,.page .weddingGallery{height:clamp(180px,58svh,660px);align-items:stretch}
.page .weddingMomentStory.isReady .weddingMomentSpread>figure,
.page .story .weddingGallery>figure,
.page .story .weddingGallery>figure[data-hls-format-frame][data-hls-format-frame]{height:100%!important;min-height:0!important;aspect-ratio:auto!important;align-self:stretch;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:transparent}
.page .weddingMomentStory.isReady .weddingMomentSpread>figure>img,
.page .story .weddingGallery>figure>img{display:block;flex:1 1 0;min-height:0;width:100%!important;height:0!important;object-fit:contain}
.page .weddingMomentStory.isReady .weddingMomentSpread figcaption{flex:0 0 auto;max-height:25%;overflow:auto;margin:0}

/* Explicit frames fit inside the steady wedding stage. */
.page :is(.weddingMomentStory.isReady .weddingMomentSpread,.story .weddingGallery)>figure:is([data-hls-format-frame="portrait"],[data-hls-format-frame="landscape"]){height:auto!important;max-height:100%;align-self:center!important;background:#11142c}
.page :is(.weddingMomentStory.isReady .weddingMomentSpread,.story .weddingGallery)>figure[data-hls-format-frame="portrait"]{aspect-ratio:4/5!important}
.page :is(.weddingMomentStory.isReady .weddingMomentSpread,.story .weddingGallery)>figure[data-hls-format-frame="landscape"]{aspect-ratio:3/2!important}
.page :is(.weddingMomentSpread,.weddingGallery)>figure:is([data-hls-format-frame="portrait"],[data-hls-format-frame="landscape"])>img{flex:1 1 auto;height:100%!important;min-height:0}

/* Editable frames share the same crop settings across all photo pages. */
html body :is(.page,.hls-home) img:is([data-hls-image-format="portrait"],[data-hls-image-format="landscape"]){object-fit:contain!important;object-position:var(--hls-crop-desktop,50% 50%)!important;translate:var(--hls-pan-desktop,0% 0%)!important;scale:var(--hls-zoom-desktop,100%)!important;transform:none!important}
@media(max-width:800px){html body :is(.page,.hls-home) img:is([data-hls-image-format="portrait"],[data-hls-image-format="landscape"]){object-position:var(--hls-crop-mobile,var(--hls-crop-desktop,50% 50%))!important;translate:var(--hls-pan-mobile,var(--hls-pan-desktop,0% 0%))!important;scale:var(--hls-zoom-mobile,var(--hls-zoom-desktop,100%))!important}}
[data-hls-format-frame]{overflow:hidden}

/* Keep the saved crop stable on pointer hover and keyboard focus. */
html body img[data-hls-crop]{transform:none!important}

/* Hidden carousel navigation must stay hidden despite layout display rules. */
.hls-scroll-dots[hidden],.weddingMomentControls[hidden]{display:none!important}
