/* Neutralise les styles globaux ajoutés par WordPress sans modifier la direction artistique. */
.page,.page *{box-sizing:border-box}
.page h1,.page h2,.page h3,.page h4,.page h5,.page h6{color:inherit}
.page figure,.page blockquote{margin:0}
.page img{max-width:100%}
.page .hero h1,.page .note h2,.page .contact h2,.page .gallery h2,.page .approach h2{color:var(--moon)}
.page .hero h1 em,.page .note h2 em,.page .contact h2 em{color:var(--violet)}
.page .hero>.eyebrow,.page .heroCopy>.eyebrow{color:var(--gold-light)}
.page .hero>p:not(.eyebrow),.page .heroCopy>p:not(.eyebrow){color:var(--muted)}
.page .groups h2,.page .groups h3,.page .manifesto h2,.page .manifesto p,.page .approach h2,.page .approach h3{color:inherit}
.page .galleryGrid{isolation:isolate}
.page .galleryGrid>figure{min-width:0;min-height:0;isolation:isolate}
.page .galleryGrid>figure>img{position:relative;z-index:0;display:block;width:100%;height:100%;object-fit:cover}
.page .familyGrid.three .card:last-child{margin-top:clamp(28px,4vw,56px)}
.page .contact::before{content:none!important;display:none!important}
.page .contactOrbit{z-index:0}
.page .contact>.eyebrow,.page .contact>h2,.page .contact>p,.page .contact>a{position:relative;z-index:1}

/* Accueil Photographie : le texte devient un plan éditorial distinct de l’éclipse. */
.page .photoHero{padding-inline:clamp(24px,7vw,130px);align-items:flex-start}
.page .photoHero::after{z-index:1}
.page .photoHeroCopy{position:relative;z-index:4;width:min(850px,58vw);padding:clamp(28px,3.6vw,54px);overflow:hidden;background:linear-gradient(135deg,rgba(17,20,44,.97),rgba(9,11,26,.9));border:1px solid rgba(173,131,255,.32);border-left:3px solid var(--violet);box-shadow:0 28px 90px rgba(2,3,12,.48);backdrop-filter:blur(14px)}
.page .photoHeroCopy::after{content:"";position:absolute;right:-110px;bottom:-150px;width:300px;aspect-ratio:1;border:1px solid rgba(173,131,255,.16);border-radius:50%;pointer-events:none}
.page .photoHeroCopy .eyebrow{position:relative;z-index:1;margin:0;color:var(--gold-light)!important}
.page .photoHeroCopy h1{position:relative;z-index:1;margin:clamp(20px,2.4vw,34px) 0;color:#f2ecff!important;font:400 clamp(52px,6vw,96px)/.9 Georgia,"Times New Roman",serif;letter-spacing:-.06em}
.page .photoHeroCopy h1 em{color:var(--violet)!important}
.page .photoHeroCopy>p:not(.eyebrow){position:relative;z-index:1;max-width:590px;margin:0;color:#b7b3c7!important;font-size:14px;line-height:1.7}
.page .photoHeroCopy>a{position:relative;z-index:1;width:max-content;margin-top:30px;padding:14px 19px;display:inline-flex;gap:24px;color:#f2ecff!important;border:1px solid rgba(242,236,255,.25);border-radius:99px;font-size:10px}
.page .photoHeroCopy>a span{color:var(--gold-light)}
.page .photoHero>i{z-index:0}

/* Les pages illustrées séparent strictement le texte de la photographie. */
.page .splitHero{height:calc(100svh - 72px);min-height:690px;max-height:none;padding:0;display:grid;grid-template-columns:minmax(430px,.82fr) minmax(0,1.18fr);align-items:stretch;background:#090b1a}
.page .splitHero .heroCopy{position:relative;z-index:3;inset:auto;width:auto;max-width:none;padding:clamp(64px,7vw,130px);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 92% 38%,rgba(109,53,255,.17),transparent 34%),linear-gradient(145deg,#11142c,#090b1a 70%);transform:none}
.page .splitHero .heroCopy h1{margin:clamp(20px,2.2vw,32px) 0;color:#f2ecff!important;font-size:clamp(52px,5.4vw,92px)}
.page .splitHero .heroCopy h1 em{color:var(--violet)!important}
.page .splitHero .heroCopy>p:not(.eyebrow){max-width:560px;margin:0;color:#b7b3c7!important}
.page .splitHero .heroCopy .scrollLink{width:max-content;margin-top:30px;color:#f2ecff!important}
.page .splitHero .heroImage{position:relative;z-index:1;inset:auto;min-width:0;height:100%;overflow:hidden;background:#070916;clip-path:none}
.page .splitHero .heroImage::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,11,26,.16),transparent 20%),linear-gradient(0deg,rgba(9,11,26,.15),transparent 26%);pointer-events:none}
.page .splitHero .heroImage img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;opacity:1;filter:none}
.page .splitHero .orbit,.page .splitHero .heroOrbit{z-index:2;left:41%;top:50%;width:min(22vw,340px);opacity:.62;pointer-events:none}

@media(max-width:800px){
  .page .familyGrid.three .card:last-child{margin-top:0}
  .page .card figure{overflow:hidden;aspect-ratio:4/5!important}
  .page .card img{display:block;width:100%;height:100%!important;object-fit:cover!important}
  .page .photoHero{padding:92px 22px 54px;justify-content:flex-end}
  .page .photoHeroCopy{width:100%;padding:28px 24px;background:rgba(9,11,26,.9)}
  .page .photoHeroCopy h1{font-size:clamp(43px,12vw,66px)}
  .page .photoHeroCopy>p:not(.eyebrow){font-size:12px}
  .page .photoHero>i{right:-24%;top:35%;width:min(92vw,560px)}
  .page .splitHero{height:auto;min-height:0;max-height:none;grid-template-columns:1fr;grid-template-rows:clamp(320px,48svh,500px) auto}
  .page .splitHero .heroCopy{grid-column:1;grid-row:2;padding:52px 22px 48px}
  .page .splitHero .heroCopy h1{font-size:clamp(40px,11.5vw,56px)}
  .page .splitHero .heroCopy>p:not(.eyebrow){font-size:13px;line-height:1.6}
  .page .splitHero .heroImage{grid-column:1;grid-row:1;width:100%;height:100%;min-height:0;aspect-ratio:auto}
  .page .splitHero .heroImage img{width:100%;height:100%;object-fit:cover}
  .page .weddingHero .heroImage img{object-position:50% 18%}
  .page .splitHero .orbit,.page .splitHero .heroOrbit{left:auto;right:-12%;top:clamp(285px,43svh,455px);width:min(54vw,300px);opacity:.38}
}

@media(min-width:801px) and (max-width:900px) and (orientation:portrait){
  .page .splitHero{height:auto;min-height:0;max-height:none;grid-template-columns:1fr;grid-template-rows:clamp(460px,52svh,620px) auto}
  .page .splitHero .heroImage{grid-column:1;grid-row:1;width:100%;height:100%;aspect-ratio:auto}
  .page .splitHero .heroCopy{grid-column:1;grid-row:2;padding:64px 7vw 60px}
  .page .splitHero .heroCopy h1{font-size:clamp(52px,8vw,68px)}
  .page .weddingHero .heroImage img{object-position:50% 18%}
  .page .splitHero .orbit,.page .splitHero .heroOrbit{left:auto;right:-7%;top:clamp(420px,49svh,580px);width:min(40vw,330px);opacity:.38}
}

@media(max-width:900px) and (orientation:landscape){
  .page .photoHero{padding:28px 42% 28px 28px;justify-content:center}
  .page .photoHeroCopy{width:100%;padding:22px 24px}
  .page .photoHeroCopy h1{margin-block:14px;font-size:clamp(34px,5.5vw,52px)}
  .page .photoHeroCopy>p:not(.eyebrow){font-size:11px;line-height:1.45}
  .page .photoHeroCopy>a{margin-top:16px;padding-block:10px}
  .page .splitHero{min-height:calc(100svh - 64px);grid-template-columns:minmax(340px,.9fr) 1.1fr;grid-template-rows:1fr}
  .page .splitHero .heroCopy{grid-row:1;padding:26px 30px}
  .page .splitHero .heroCopy h1{margin-block:12px;font-size:clamp(33px,5.2vw,50px)}
  .page .splitHero .heroCopy>p:not(.eyebrow){font-size:11px;line-height:1.45}
  .page .splitHero .heroImage{grid-column:2;grid-row:1;height:100%;aspect-ratio:auto}
  .page .splitHero .orbit,.page .splitHero .heroOrbit{left:44%;right:auto;top:50%;width:min(20vw,210px)}
}

/* Les ancres restent visibles sous le header fixe, y compris dans les chapitres. */
.page section[id],#accueil{scroll-margin-top:72px}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--gold-light)!important;outline-offset:4px}
.hls-footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 14px}.hls-footer-legal a{color:var(--muted);text-decoration:underline;text-decoration-color:rgba(173,131,255,.35);text-underline-offset:3px}.projectFooter .hls-footer-legal{grid-column:1/-1;justify-content:flex-end}
.hlsStandardPage,.hlsNotFound{min-height:100svh;padding-top:72px;background:#090b1a;color:var(--moon)}.hlsStandardPage>article{width:min(1040px,calc(100% - 48px));margin:0 auto;padding:clamp(90px,10vw,160px) 0}.hlsStandardPage>article>header{padding-bottom:clamp(36px,5vw,72px);border-bottom:1px solid var(--line)}.hlsStandardPage h1,.hlsNotFound h1{max-width:980px;margin:18px 0 0;font:400 clamp(48px,7vw,104px)/.94 Georgia,serif;letter-spacing:-.045em}.hlsStandardContent{padding-top:clamp(40px,6vw,80px);color:#d1cce0;font-size:clamp(17px,1.3vw,21px);line-height:1.75}.hlsStandardContent>*{max-width:780px}.hlsStandardContent h2,.hlsStandardContent h3{max-width:900px;margin:2em 0 .7em;color:var(--moon);font-family:Georgia,serif;line-height:1.1}.hlsStandardContent a{color:var(--gold-light);text-decoration:underline;text-underline-offset:3px}.hls-legal-notice{max-width:900px!important;margin:0 0 3rem;padding:18px 22px;border:1px solid rgba(242,203,123,.55);border-left:3px solid var(--gold-light);background:rgba(242,203,123,.08);color:var(--moon);font-size:.88em;line-height:1.55}.hls-legal-notice code{color:var(--gold-light);font-size:.92em}.hlsStandardFooter{min-height:86px;padding:24px clamp(24px,6vw,110px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;border-top:1px solid var(--line);background:#070815}.hlsStandardFooter>div{justify-self:end;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 20px;font-size:12px}.hlsStandardFooter small{width:100%;color:rgba(242,236,255,.52);text-align:right}.hlsNotFound{display:grid;grid-template-rows:1fr auto}.hlsNotFound>section{align-self:center;width:min(1100px,calc(100% - 48px));margin:0 auto;padding:clamp(100px,12vw,190px) 0}.hlsNotFound>section>p:not(.eyebrow){max-width:620px;margin:30px 0;color:var(--muted);font-size:clamp(17px,1.4vw,22px);line-height:1.7}.hlsNotFound .button{display:inline-flex;margin-top:14px}

/* Sur mobile, le cadre reste pleine largeur mais ses contenus respirent en proportion. */
@media(max-width:620px){
  html{scroll-padding-top:64px}
  .page section[id],#accueil{scroll-margin-top:64px}
  .hls-header{padding-inline:clamp(16px,5vw,24px)}
  .page .footer,.site-footer{
    width:min(88%,420px);
    min-height:0;
    margin-inline:auto;
    padding:clamp(20px,6vw,28px) 0;
    grid-template-columns:1fr!important;
    gap:14px;
    text-align:center;
  }
  .page .footer>.brand,.page .footer>div,.site-footer>.brand,.site-footer>div{
    justify-self:center;
    align-items:center;
    text-align:center;
  }
  .page .footer>p,.site-footer>p{display:none}
  .page .footer>div{display:flex;flex-direction:column;gap:7px}
  .page .footer small{grid-column:1;justify-self:center}
  .hls-footer-legal,.projectFooter .hls-footer-legal{justify-content:center}.hlsStandardPage,.hlsNotFound{padding-top:64px}.hlsStandardPage>article,.hlsNotFound>section{width:min(88%,620px);padding-block:72px}.hlsStandardPage h1,.hlsNotFound h1{font-size:clamp(42px,12vw,62px)}.hlsStandardFooter{width:min(88%,420px);margin-inline:auto;padding:28px 0;grid-template-columns:1fr;justify-items:center;text-align:center}.hlsStandardFooter>div{justify-self:center;justify-content:center}.hlsStandardFooter small{text-align:center}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Plancher de lisibilité sur les grands écrans et écrans 4K. */
@media(min-width:1600px){
  .hls-desktop-nav,.hls-cta{font-size:13px}
  .hls-context{font-size:11px}
  .hls-dropdown small{font-size:10px}
  .hls-dropdown>a>span{font-size:12px;line-height:1.6}
  .hls-brand small,.brand small{font-size:10px}
  .section-index,.page .eyebrow{font-size:11px}
  .button,.scrollLink,.page .photoHeroCopy>a,.page .contact>a,.page .note>a{font-size:12px}
  .section-note,.services .service-card p,.method .step p,.portfolio-copy>p,.portfolio-hybrid-fields p,.portfolio-hybrid-note,.story-copy p,
  .page :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),.note>p:not(.eyebrow),.introAside,.featuredHeading>p,.selectedTitle>p,.storyMeta>p:last-of-type,.approachSteps p){font-size:15px;line-height:1.7}
  .work-caption p span,.work-caption>span,.portfolio-copy small,.portfolio-team-feature small,.portfolio-video-heading small,.card figure span,.galleryGrid figcaption,.storyMeta>p:first-of-type,.approachSteps small{font-size:11px}
  .site-footer>p,.site-footer>div,.page .footer>p,.page .footer>div,.contactPageFooter>p,.contactPageFooter>div{font-size:12px;line-height:1.55}
  .site-footer small,.page .footer small,.contactPageFooter small{font-size:11px;color:rgba(242,236,255,.52)}
  .contactPageForm>small,.hls-contact-form label>span{font-size:12px}
}
@media(min-width:621px){.page .footer>div,.site-footer>div{min-width:max-content;display:grid;grid-template-columns:max-content max-content;justify-items:end;column-gap:20px;row-gap:8px;font-size:max(11px,.68vw)}.page .footer>div>.hls-footer-legal,.site-footer>div>.hls-footer-legal{grid-column:1/-1;justify-content:flex-end}.page .footer>div>small,.site-footer>div>small{grid-column:1/-1;justify-self:end;font-size:max(10px,.62vw)}.site-footer>div>a:first-child{grid-column:2}}
