:root{--paper:#faf7f0;--ink:#142b3b;--gold:#866337;--line:#dcd4c6;--muted:#54606a;--white:#fffdf9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75}a{color:inherit;text-underline-offset:5px}button{font:inherit}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}p+p{margin-top:18px}a:focus-visible,button:focus-visible{outline:3px solid #a47735;outline-offset:6px}::selection{background:#e7d7b9}.skip{position:absolute;top:-100px;left:20px;background:var(--ink);color:white;padding:12px;z-index:10}.skip:focus{top:12px}.preview{text-align:center;background:var(--ink);color:#fff;font-size:10px;letter-spacing:1.6px;padding:6px 16px}.preview span{color:#d5b782;margin:0 12px}.header{max-width:1440px;margin:auto;min-height:146px;padding:10px 5%;display:flex;justify-content:space-between;align-items:center;gap:40px}.brand{flex:0 0 126px}.brand img{width:126px;height:126px;object-fit:contain}.header nav{display:flex;align-items:center;gap:34px;font-size:13px}.header nav a{text-decoration:none}.header nav a:hover{color:var(--gold)}.nav-contact{border-bottom:1px solid var(--gold);padding:12px 0}.nav-contact span{padding-left:18px}.menu-toggle{background:none;border:1px solid var(--line);padding:8px 14px;color:var(--ink)}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:640px}.hero-copy{padding:52px 9% 56px 10%}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;color:var(--gold);margin-bottom:24px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-1.6px}h1{font-size:clamp(48px,4.75vw,72px)}em{font-weight:400;color:var(--gold)}.hero-copy .intro{font-size:18px;line-height:1.65;margin-top:28px;max-width:390px}.hero-copy>p:not(.eyebrow):not(.intro):not(.hero-note){font-size:14px;color:var(--muted);max-width:410px;margin-top:15px}.button{display:inline-flex;align-items:center;gap:24px;padding:17px 22px;background:var(--ink);color:white;text-decoration:none;font-size:13px;margin-top:29px;transition:background .2s}.button:hover{background:#29485d}.hero-note{font-size:10px;color:var(--muted);margin-top:18px!important}.hero-note span{margin:0 6px}.hero-image{position:relative;min-height:640px;overflow:hidden}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:47% center}.hero-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(5,20,22,.65));pointer-events:none}.hero-image figcaption{position:absolute;z-index:1;bottom:37px;left:36px;color:white;font-family:Georgia,serif;font-style:italic;font-size:24px}.image-mark{position:absolute;right:24px;bottom:20px;z-index:1;color:#ebd7aa;font:64px Georgia,serif;opacity:.8}.credentials{max-width:1296px;margin:auto;padding:34px 4%;display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid var(--line)}.credentials p{margin:0}.credentials strong{font-family:Georgia,serif;font-size:21px;font-weight:400;display:block}.credentials p span{font-size:11px;color:var(--muted)}.star{color:var(--gold);font-size:28px}.section{max-width:1296px;margin:auto;padding:100px 5%}h2{font-size:clamp(34px,3.3vw,48px)}.ceremony{display:grid;grid-template-columns:1fr 1fr;gap:9%}.section-copy{padding-top:8px;color:var(--muted);font-size:15px}.text-link{display:inline-block;font-size:13px;margin-top:28px;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:7px;color:var(--ink)}.text-link span{margin-left:24px}.portrait{display:grid;grid-template-columns:.9fr 1fr;gap:12%;background:#eee9df;padding:64px 7%}.portrait figure img{width:100%;height:500px;object-fit:cover;object-position:center 30%}.portrait figcaption{font-size:10px;color:var(--muted);margin-top:7px}.portrait-copy{align-self:center}.portrait-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:24px}.signature span{display:block;font-family:Georgia,serif;font-size:28px;font-style:italic;color:var(--gold);margin-top:4px}.events-heading{display:flex;justify-content:space-between;gap:70px;align-items:end}.events-heading>p{max-width:330px;color:var(--muted);font-size:14px}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:46px}.event-grid article{border-top:1px solid var(--line);padding-top:23px}.number{font-size:11px;color:var(--gold);letter-spacing:2px}h3{font-size:25px;letter-spacing:-.5px;margin:24px 0 15px}.event-grid p{font-size:14px;color:var(--muted)}.contact{max-width:none;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:80px max(7%,calc((100vw - 1166px)/2))}.contact .eyebrow,.contact em{color:#dfc498}.contact h2{font-size:46px}.contact p{font-size:14px;max-width:430px;margin-top:24px;color:#e0e2df}.contact .contact-detail{font-size:12px;color:#bdc6cb}.contact-links{align-self:center}.contact-links a{display:flex;justify-content:space-between;gap:16px;padding:20px 0;text-decoration:none;border-bottom:1px solid #61717d}.phone{font:36px Georgia,serif;white-space:nowrap}.email{font-size:19px}.contact-links .small{font-size:11px;color:#bdc6cb}footer{max-width:1296px;margin:auto;padding:42px 5% 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}footer p,footer a{font-size:12px;margin:0!important}.footer-brand{font:26px Georgia,serif;letter-spacing:5px}.footer-brand span{font:9px Arial,sans-serif;display:block;letter-spacing:5px;text-align:center;margin-top:3px;color:var(--gold)}.footer-note{flex-basis:100%;border-top:1px solid var(--line);padding-top:19px;color:var(--muted);font-size:10px}
@media(min-width:761px){.menu-toggle{display:none}}
@media(min-width:1600px){.hero{border:1px solid var(--line)}}
@media(max-width:1000px){.header nav{gap:18px;font-size:12px}.hero-copy{padding:40px 8%}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.4px}.hero,.hero-image{min-height:600px}h1{font-size:49px}.button{font-size:12px;padding:16px}.hero-note{line-height:1.6}.portrait{gap:7%}.portrait figure img{height:460px}.section{padding:70px 5%}.contact{gap:7%}.phone{font-size:29px}}
@media(max-width:760px){.preview{font-size:8px;letter-spacing:1px}.header{min-height:116px;padding:5px 6%;gap:12px;flex-wrap:wrap}.brand{flex-basis:104px}.brand img{width:104px;height:104px}.menu-toggle:not([hidden]){display:block}.header nav{width:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:20px}.header nav a{padding:12px 0}.js .header nav:not(.is-open){display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:32px 7% 40px}h1{font-size:clamp(42px,9.8vw,64px)}.hero-copy .eyebrow{font-size:9px}.hero-copy .intro{font-size:17px}.hero-image{min-height:360px}.hero-image figcaption{font-size:22px;left:7%;bottom:26px}.credentials{padding:28px 7%;display:grid;gap:20px}.credentials strong{font-size:20px}.credentials .star{display:none}.section{padding:58px 7%}.ceremony,.portrait,.contact{grid-template-columns:1fr;gap:30px}.section-copy{padding:0}.portrait figure{max-width:430px;width:100%;margin:auto}.portrait figure img{height:auto;max-height:560px;object-fit:cover}.portrait-copy{padding-top:6px}h2{font-size:36px}.eyebrow{margin-bottom:20px}.events-heading{display:block}.events-heading>p{margin-top:22px}.event-grid{grid-template-columns:1fr;gap:28px;margin-top:32px}.event-grid h3{margin-top:13px}.contact h2{font-size:38px}.contact-links{min-width:0}.phone{font-size:30px}.email{font-size:17px}footer{padding:32px 7%;align-items:start}footer>p:nth-child(2){max-width:130px}.footer-note{line-height:1.6}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* v0.3 — ouverture photographique inspirée de la référence fournie. */
body{background:#fffdf9}
.header{position:absolute;z-index:3;top:0;left:0;right:0;max-width:none;min-height:120px;padding:12px 5%;align-items:center}
.brand{flex-basis:104px}.brand img{width:104px;height:104px}
.header nav{gap:30px;color:white;font-size:11px;letter-spacing:1.4px;text-transform:uppercase}
.header nav a:hover{color:#ead6b2}.nav-contact{border-color:#dfc498}
.hero{position:relative;display:grid;place-items:center;max-width:none;min-height:760px;height:100svh;max-height:1100px;border:0;isolation:isolate}
.hero-image{position:absolute;inset:0;min-height:0;z-index:-2}
.hero-image>img{object-position:center 53%}
.hero-image:after{inset:0;background:linear-gradient(180deg,rgba(8,22,27,.65),rgba(8,22,27,.3) 40%,rgba(8,22,27,.65))}
.hero-image figcaption,.image-mark{display:none}
.hero-copy{max-width:900px;text-align:center;padding:175px 30px 70px;color:white;text-shadow:0 2px 15px #0006}
.hero-copy .eyebrow{color:#f3dfb9;font-size:11px;letter-spacing:3px}
.hero h1{font-size:clamp(54px,6.8vw,96px);line-height:1.08;letter-spacing:-2px}
.hero h1 em{color:#f6e6c8}.hero h1 br:nth-of-type(1){display:none}
.hero-copy .intro{max-width:550px;margin:27px auto 0;font-size:20px}
.hero-copy>p:not(.eyebrow):not(.intro):not(.hero-note){max-width:550px;margin:15px auto 0;color:#fff;font-size:14px}
.hero .button{background:var(--paper);color:var(--ink);text-shadow:none;margin-top:27px;padding:17px 27px}
.hero .button:hover{background:#ead6b2}.hero .hero-note{color:#fff;margin-top:22px!important}
.credentials{max-width:none;background:var(--paper);padding:35px max(7%,calc((100vw - 1120px)/2));border:0}
.ceremony{padding-top:110px;padding-bottom:110px}.portrait{background:#f2efe8;max-width:none;padding-left:max(7%,calc((100vw - 1120px)/2));padding-right:max(7%,calc((100vw - 1120px)/2))}
.portrait figure img{height:560px}.events{padding-top:100px;padding-bottom:100px}
@media(max-width:1000px){.header nav{gap:17px;font-size:10px;letter-spacing:.8px}.hero-copy{padding-top:170px}.hero{min-height:740px}}
@media(max-width:760px){.header{top:0;min-height:98px;padding:10px 6%;align-items:start}.brand{flex-basis:82px}.brand img{width:82px;height:82px}.menu-toggle{margin-top:16px;color:white;border-color:#ddd;background:#142b3be6}.header nav{background:var(--paper);color:var(--ink);padding:15px 22px;margin-top:0;box-shadow:0 10px 30px #0003}.header nav a:hover{color:var(--gold)}.hero{min-height:770px;height:auto;max-height:none;display:grid}.hero-copy{padding:165px 7% 65px}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.8px}.hero h1{font-size:clamp(43px,10vw,62px);letter-spacing:-1px}.hero h1 br:nth-of-type(1){display:block}.hero-copy .intro{font-size:18px}.hero-copy>p:not(.eyebrow):not(.intro):not(.hero-note){font-size:13px}.hero-image{min-height:0}.hero-image>img{object-position:49% center}.hero .hero-note{font-size:9px}.credentials{padding:30px 7%}.ceremony,.events{padding:60px 7%}.portrait{padding:55px 7%}.portrait figure img{height:auto;max-height:560px}}
.hero h1 br:nth-of-type(1){display:block}
.hero{grid-template-columns:1fr}.hero-copy{width:100%}
.legal-info{flex-basis:100%;border-top:1px solid var(--line);padding-top:26px;margin-top:10px}.legal-info h2{font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:600;letter-spacing:0;line-height:1.5;margin-bottom:12px}.legal-info p{font-size:12px;line-height:1.9;color:var(--muted)}.legal-info strong{color:var(--ink)}
.portrait-photo{position:relative}.portrait .portrait-photo .portrait-logo{position:absolute;right:16px;bottom:16px;width:100px;height:100px;max-height:none;object-fit:contain;box-shadow:0 2px 12px #0002}@media(max-width:760px){.portrait .portrait-photo .portrait-logo{width:80px;height:80px;right:12px;bottom:12px}}
.portrait .portrait-photo .portrait-logo{mix-blend-mode:multiply;box-shadow:none;opacity:.92}
.portrait .portrait-photo .portrait-logo{right:4px;bottom:4px}
.header .brand{flex:0 0 144px;background:#fffdf9;box-shadow:0 3px 18px #0003}.header .brand img{width:144px;height:144px}.header{gap:24px}@media(max-width:1000px) and (min-width:761px){.header .brand{flex-basis:126px}.header .brand img{width:126px;height:126px}.header nav{gap:12px;font-size:9px}}@media(max-width:760px){.header .brand{flex-basis:110px}.header .brand img{width:110px;height:110px}}
.header .brand{flex:0 0 270px;background:transparent;box-shadow:none}.header .brand img{width:270px;height:auto;object-fit:contain}.header{align-items:center}@media(max-width:1000px) and (min-width:761px){.header .brand{flex-basis:210px}.header .brand img{width:210px;height:auto}}@media(max-width:760px){.header .brand{flex-basis:210px}.header .brand img{width:210px;height:auto}.header .menu-toggle{margin-top:0}}@media(max-width:360px){.header .brand{flex-basis:180px}.header .brand img{width:180px}}
.header .brand{overflow:hidden}.header .brand img{margin-top:-19px;margin-bottom:-25px}@media(max-width:1000px){.header .brand img{margin-top:-15px;margin-bottom:-19px}}@media(max-width:360px){.header .brand img{margin-top:-13px;margin-bottom:-16px}}
.header .brand{clip-path:inset(0 0 0 9px)}@media(max-width:1000px){.header .brand{clip-path:inset(0 0 0 7px)}}
.footer-logo{display:block;flex:0 0 160px}.footer-logo img{width:160px;height:160px;object-fit:contain}@media(max-width:760px){.footer-logo{flex-basis:130px}.footer-logo img{width:130px;height:130px}}
footer{flex-direction:column;align-items:center;text-align:center}.footer-logo{flex:0 0 auto}footer>p:nth-child(2){max-width:none;margin-top:-8px!important}.legal-info{width:100%;flex-basis:auto;text-align:left}footer>a[href="#accueil"]:not(.footer-logo){align-self:center}
.form-section{max-width:950px;margin:0 auto;padding:65px 7%;}.form-section h3{font-size:32px}.form-intro{font-size:14px;color:var(--muted);margin-bottom:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:14px}.form-grid label span{font-size:11px;color:var(--muted)}.form-grid input,.form-grid textarea{font:inherit;color:var(--ink);background:white;border:1px solid #8c979e;padding:12px;width:100%;border-radius:3px}.form-grid textarea{resize:vertical}.form-grid input:focus-visible,.form-grid textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.form-wide{grid-column:1/-1}.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-privacy,#form-status{font-size:12px;color:var(--muted);margin-top:20px}.form-section button{border:0;cursor:pointer}.form-section button:disabled{opacity:.6;cursor:wait}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.form-section{padding:45px 7%}}
