/* Léo F. — direction issue de la brochure : Didot, Baskerville, papier et encre verte. */
.immersive-home .bar,.editorial-gallery .bar{position:absolute;top:0;left:0;right:0;color:white;background:transparent;border-color:#ffffff35}
.opening{height:100svh;min-height:620px;max-height:1300px;position:relative;display:flex;align-items:end;background:#182d2e;isolation:isolate}.opening>picture{position:absolute;inset:0;z-index:-2}.opening img{width:100%;height:100%;object-fit:cover;object-position:50% 32%}.opening:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0005,transparent 34%,#10202012 45%,#102020b8)}.opening h1{font-size:clamp(48px,5.5vw,91px);line-height:1.04;max-width:1150px;padding:0 6vw 7vh;color:var(--paper);letter-spacing:-.03em}.opening h1 em{font-family:var(--sf);font-size:.64em;line-height:1.15;display:block;margin-top:18px}.intro{max-width:930px;margin:auto;padding:105px 35px;text-align:center}.intro h2{font-size:clamp(31px,3.2vw,48px);line-height:1.18}.intro p{font:21px/1.6 var(--st);color:var(--ink2);max-width:710px;margin:30px auto 0}.weddings{padding:0 0 82px;overflow:hidden}.weddings>h2,.testimonials>h2{margin:0 5vw 35px;font-size:clamp(30px,3vw,45px)}.carousel{position:relative}.sl{display:flex;gap:24px;padding:0 5vw 8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:5vw;scrollbar-width:none}.sl::-webkit-scrollbar{display:none}.sl-i{flex:0 0 calc((100vw - 13vw - 48px)/3);scroll-snap-align:start;min-width:0}.sl-im{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--rule)}.sl-im img,.sl-im picture{width:100%;height:100%;object-fit:cover}.sl-txt{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:18px 0 0}.sl-nom{font:400 clamp(23px,2vw,31px)/1.15 var(--sf);letter-spacing:-.025em}.sl-nom em{font-size:.8em}.see{font:12px var(--ss);border-bottom:1px solid currentColor;padding-bottom:3px}.sl-i:hover .see{opacity:.55}.fl{position:absolute;z-index:2;top:calc((100vw - 13vw - 48px)/9 - 25px);width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:#182d2edd;color:white;font:30px var(--st)}#fl-g{left:6.5vw}#fl-d{right:6.5vw}.fl:disabled{opacity:.32}.offer{position:relative;min-height:530px;display:grid;place-items:center;color:white;text-align:center;isolation:isolate}.offer>picture{position:absolute;inset:0;z-index:-2}.offer img{height:100%;width:100%;object-fit:cover;object-position:50% 48%}.offer:after{content:'';position:absolute;inset:0;z-index:-1;background:#14222145}.offer h2{font-size:clamp(42px,6vw,84px);margin-bottom:28px}.offer a{display:inline-block;border:1px solid #ffffffba;padding:14px 24px;font:14px var(--ss);transition:background .2s}.offer a:hover{background:#182d2e}.testimonials{padding:85px 5vw}.testimonials>h2{margin-inline:0}.abs{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}.ab{display:flex;flex-direction:column;align-items:start}.testimonial-photo{width:100px;height:100px;object-fit:cover;border-radius:50%;margin:0 0 26px}.ab blockquote{font:24px/1.4 var(--st);margin-bottom:26px}.ab blockquote:before{content:'« '}.ab blockquote:after{content:' »'}.ab figcaption{margin-top:auto;font:12px/1.65 var(--ss);color:var(--ink2)}.ab figcaption i{font-style:normal;margin:0 8px}.all-reviews{display:inline-block;margin-top:35px;font:14px var(--ss);border-bottom:1px solid currentColor;padding:8px 0}
/* Sélecteur de couples : la photo, et seulement elle, est à 50 %. */
.immersive-index .bar{position:fixed;inset:0 0 auto;background:transparent;border:0}.photo-stage{position:fixed;inset:0;pointer-events:none;background:#777}.stage-image{position:absolute;inset:0;opacity:0;transition:opacity .4s ease}.stage-image.selected{opacity:.5}.stage-image img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.stage-image[data-image=marie] img{object-position:40% center}.stage-shade{display:none}.immersive-index:not(.previewing) .photo-stage{background:var(--paper)}.immersive-index main{position:relative;min-height:100svh;padding:125px 4vw 45px;display:flex;align-items:center;justify-content:center}.names{list-style:none;margin:0;padding:0;text-align:center;display:flex;flex-direction:column;align-items:center}.names a{display:block;padding:5px 10px;font:400 clamp(40px,min(5.5vw,7.7vh),100px)/1.12 var(--sf);letter-spacing:-.025em;transition:color .25s,opacity .25s}.names em{font-size:.82em}.previewing .names a{color:white;opacity:.8}.previewing .names a.selected{opacity:1}.immersive-index.previewing .bar{color:white}.names a:focus-visible{outline:1px solid currentColor}
/* Reportages : couvertures et séquences photographiques. */
.gallery-cover{height:92svh;min-height:580px;position:relative;isolation:isolate;background:#182d2e}.gallery-cover>picture{position:absolute;inset:0;z-index:-2}.gallery-cover>picture img{height:100%;width:100%;object-fit:cover;object-position:50% 45%;cursor:zoom-in}.gallery-cover:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#0004,transparent 35%,#142222a6);pointer-events:none}.gallery-title{position:absolute;bottom:8%;left:6vw;color:var(--paper);pointer-events:none}.gallery-title>a{font:12px var(--ss);display:inline-block;margin-bottom:25px;pointer-events:auto}.gallery-title h1{font:400 clamp(52px,7.5vw,118px)/1.05 var(--sf);letter-spacing:-.03em;margin:0 0 22px}.gallery-title h1 em{font-style:italic;font-size:.87em}.gallery-meta{display:flex;gap:24px;font:12px var(--ss)}.gallery-down{position:absolute;right:6vw;bottom:8%;color:white;font-size:38px}.photo-sequence{padding:6vw 0 0;scroll-margin-top:24px}.photo-row{width:88%;max-width:1500px;margin:0 auto 5vw}.photo-row figure{margin:0;min-width:0;cursor:zoom-in}.photo-row img{width:100%;height:auto}.photo-row.wide{width:100%;max-width:none}.photo-row.single{width:76%;max-width:1260px}.photo-row.portrait{width:46%;max-width:650px}.photo-row.pair{display:flex;align-items:start;gap:2vw}.photo-row.pair figure{flex:var(--ratio) 1 0}.rp-pied{border-top:1px solid var(--rule);padding:34px 0 50px}.rp-pied .wrap{display:flex;justify-content:space-between;gap:20px;font:14px var(--st)}.rp-pied a:hover{text-decoration:underline;text-underline-offset:5px}
/* Infos : conserver l’alternance d’origine et les tarifs secondaires. */
.info-layout{padding:70px 6vw 90px;max-width:1600px;margin:auto}.info-split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;margin-bottom:95px}.info-split:last-child{margin:0}.info-photo img{width:100%;height:auto;max-height:790px;object-fit:cover}.info-copy h1,.info-copy h2{font:400 clamp(32px,3.2vw,49px)/1.14 var(--sf);margin-bottom:38px}.info-copy h3{font:400 clamp(26px,2.3vw,34px)/1.15 var(--sf);margin-bottom:22px}.info-copy .qa-q{padding:18px 0}.info-copy .qa-t{font-size:clamp(23px,2.1vw,31px)}.info-copy .qa-p,.info-copy .tx{font:20px/1.6 var(--st);color:var(--ink2)}.price-note{font:18px/1.6 var(--st);margin-bottom:22px}.info-included,.info-delivery{margin-top:36px}.info-contact{margin-top:27px}.process{align-items:start}.process .info-copy{padding-top:25px}.process .info-photo{position:sticky;top:25px}.info-photo img{aspect-ratio:4/5;object-fit:cover}
/* Présentation et témoignages. */
.about-intro{display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;align-items:start;padding-block:70px}.about-intro .ap-photo{position:sticky;top:30px}.ap-photo img{width:100%;max-height:800px;object-fit:cover}.about-intro h1{font-size:clamp(39px,4.4vw,68px);margin:0 0 40px}.about-intro h1 em{font-size:.82em}.about-intro .lb{margin-bottom:20px}.about-intro .bloc-txt h3{font-size:29px;margin-bottom:18px}.about-reviews{padding-block:65px 90px;background:#eeefe7}.about-reviews h2{margin-bottom:45px}.mur{columns:3;column-gap:4vw}.mu{break-inside:avoid;display:block;margin:0 0 45px}.mu .testimonial-photo{width:76px;height:76px;margin-bottom:20px}.mu-t{font:400 25px/1.2 var(--sf);margin-bottom:17px}.mu blockquote{font:18px/1.55 var(--st);color:var(--ink2)}.mu figcaption{font:12px/1.6 var(--ss);margin-top:20px}.mu figcaption i{font-style:normal;margin-inline:8px}
/* Contact : une invitation calme, formulaire explicite. */
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;padding-block:65px 80px;align-items:start}.contact-intro h1{font-size:clamp(44px,4.6vw,70px);margin-bottom:30px}.contact-intro>.lb{margin-bottom:20px}.contact-intro .tx{font-size:20px}.coord{margin:35px 0 0;display:grid;gap:22px}.coord dt{font:12px var(--ss);color:var(--ink2);margin-bottom:7px}.coord dd{margin:0;font:21px var(--st);overflow-wrap:anywhere}.coord a:hover{text-decoration:underline;text-underline-offset:5px}.contact-photo{margin-top:38px;max-width:350px}.contact-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.frm{display:grid;grid-template-columns:1fr 1fr;gap:28px 25px;padding-top:10px}.ch{min-width:0}.ch label{display:block;font:13px var(--ss);margin-bottom:12px}.ch input,.ch textarea{border:0;border-bottom:1px solid #9eaaa1;background:transparent;padding:10px 0 12px;font:18px/1.4 var(--st);width:100%;border-radius:0;min-width:0}.ch input:focus,.ch textarea:focus{outline:0;border-bottom:2px solid var(--ink)}.ch textarea{resize:vertical;min-height:130px}.lg{grid-column:1/-1}.form-note{font:13px/1.6 var(--ss);color:var(--ink2);margin:18px 0}.frm-msg{font:14px/1.6 var(--ss);margin-top:16px}.required-note{font:12px var(--ss);color:var(--ink2);margin-bottom:8px}
/* Questions : repères fixes et réponses faciles à parcourir. */
.faq-layout{display:grid;grid-template-columns:.38fr 1fr;gap:8vw;padding-bottom:85px}.faq-nav{position:sticky;top:35px;align-self:start;display:grid;gap:17px;font:17px var(--st)}.faq-nav a{width:fit-content;border-bottom:1px solid var(--rule);padding:5px 0}.faq-nav a:hover{border-color:currentColor}.faq-grp{scroll-margin-top:35px;margin-bottom:62px}.faq-grp:last-child{margin-bottom:0}.faq-grp h2{margin-bottom:25px;font-size:34px}.faq-contact{border-top:1px solid var(--rule);padding-top:30px}.faq-contact a{border-bottom:1px solid currentColor}
@media(max-width:1100px){.sl-i{flex-basis:39vw}.fl{top:calc(39vw / 3 - 25px)}.mur{columns:2}.about-intro,.contact-layout{gap:5vw}.info-split{gap:5vw}}
@media(max-width:940px){.immersive-home .nv,.immersive-index .nv,.editorial-gallery .nv{color:var(--ink)}.immersive-index main{padding-top:105px}.names a{font-size:clamp(39px,6vw,67px)}.about-intro .tx{font-size:19px}.info-layout{padding-top:45px}.process .info-copy{padding-top:0}.info-copy .qa-p,.info-copy .tx{font-size:19px}.contact-layout{grid-template-columns:1fr 1.1fr}.contact-photo{max-width:100%}}
@media(max-width:700px){.opening{height:100svh;min-height:620px}.opening h1{font-size:clamp(41px,10vw,64px);padding:0 7vw 8vh}.opening h1 em{font-size:.66em}.opening img{object-position:50% center}.intro{padding:60px 7vw}.intro h2{font-size:32px}.intro h2 br{display:none}.intro p{font-size:19px;margin-top:24px}.weddings{padding-bottom:50px}.weddings>h2,.testimonials>h2{margin-inline:6vw;font-size:31px;margin-bottom:25px}.sl{padding-inline:6vw;gap:15px;scroll-padding-inline:6vw}.sl-i{flex-basis:84vw}.fl{width:44px;height:44px;font-size:26px;top:calc(84vw / 3 - 22px)}#fl-g{left:8vw}#fl-d{right:8vw}.sl-nom{font-size:26px}.offer{min-height:390px}.offer h2{font-size:52px}.testimonials{padding:50px 7vw}.testimonials>h2{margin-inline:0}.abs{grid-template-columns:1fr;gap:34px}.ab{display:grid;grid-template-columns:70px 1fr;column-gap:22px;align-items:start}.ab .testimonial-photo{width:70px;height:70px;margin:0}.ab blockquote{font-size:22px;margin:0 0 18px}.ab figcaption{grid-column:2;font-size:11px}.immersive-index main{padding:35svh 5vw}.names li{min-height:27svh;width:100%;display:grid;place-items:center}.names a{font-size:clamp(31px,8.1vw,55px);padding:20px 0}.immersive-index.previewing .bar{background:linear-gradient(#182d2e65,transparent)}.gallery-cover{height:88svh;min-height:560px}.gallery-title{right:6vw;bottom:10%}.gallery-title h1{font-size:clamp(42px,10vw,70px)}.gallery-title h1 em{display:block;margin-top:8px}.gallery-meta{font-size:11px}.gallery-down{bottom:3%;font-size:28px}.photo-sequence{padding-top:25px}.photo-row{width:92%;margin-bottom:25px}.photo-row.single{width:92%}.photo-row.portrait{width:76%}.photo-row.pair{display:block}.photo-row.pair figure+figure{margin-top:25px}.rp-pied .wrap{flex-wrap:wrap;justify-content:center;font-size:13px}.info-layout{padding:35px 7vw 60px}.info-split{grid-template-columns:1fr;gap:32px;margin-bottom:60px}.process .info-photo{position:static}.info-photo img{aspect-ratio:4/3;max-height:430px}.info-copy h1,.info-copy h2{font-size:35px;margin-bottom:27px}.info-copy h3{font-size:29px}.info-copy .qa-t{font-size:25px}.info-copy .qa-p,.info-copy .tx{font-size:18px}.pricing .info-photo{grid-row:1}.info-contact{font-size:13px}.about-intro{grid-template-columns:1fr;padding-block:36px 55px;gap:35px}.about-intro .ap-photo{position:static;max-width:410px;margin:auto;width:100%}.ap-photo img{max-height:490px;object-position:50% 30%}.about-intro h1{font-size:43px;margin-bottom:30px}.about-reviews{padding-block:48px}.mur{columns:1}.mu{margin-bottom:38px;border-bottom:1px solid var(--rule);padding-bottom:30px}.contact-layout{grid-template-columns:1fr;gap:45px;padding-block:38px 55px}.contact-intro h1{font-size:44px}.contact-photo{display:none}.frm{gap:25px 18px}.ch input,.ch textarea{font-size:18px}.ch label{font-size:12px}.form-note{font-size:12px}.faq-layout{grid-template-columns:1fr;gap:32px;padding-bottom:55px}.faq-nav{position:static;display:flex;gap:10px 20px;flex-wrap:wrap;font-size:16px}.faq-grp{margin-bottom:42px}.faq-grp h2{font-size:30px}}
@media(max-width:380px){.frm{grid-template-columns:1fr}.ab{grid-template-columns:1fr}.ab .testimonial-photo{margin-bottom:18px}.ab figcaption{grid-column:1}.names a{font-size:29px}}
