*{box-sizing:border-box}
:root{--paper:#faf9f7;--ink:#a99781;--script:#a99781;--muted:#a7a39c;--line:#dfdcd7;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Montserrat",Arial,sans-serif;--scriptfont:"Italianno",cursive}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}
.hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center;background:radial-gradient(circle at center,#fffefa 0,#faf9f7 65%,#f4f1ec 100%)}
.hero-numbers{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#dedbd6;font-family:var(--serif);font-size:clamp(10rem,27vw,24rem);font-weight:300;line-height:.66;letter-spacing:-.08em;opacity:.7;pointer-events:none}
.hero-content{position:relative;z-index:2;padding:4rem 1.5rem}
.eyebrow{font-size:.65rem;letter-spacing:.28em;font-weight:500;margin:0 0 2rem}
.signature-logo{width:min(690px,88vw);margin:0 auto;display:flex;justify-content:center}.signature-logo img{display:block;width:100%;height:auto;filter:opacity(.88)}
.hero-rule{height:1px;width:70px;background:#bdb9b2;margin:3.3rem auto 1.6rem}
.date{font-family:var(--serif);font-size:3rem;letter-spacing:.08em;margin:0 0 .6rem}
.venue{font-size:.72rem;line-height:1.9;letter-spacing:.27em;margin:0}
.intro{font-family:var(--serif);font-style:italic;font-size:1.15rem;margin:2.4rem auto;max-width:480px}
.button{display:inline-block;border:1px solid #8f8b85;padding:1rem 1.4rem;background:transparent;color:var(--ink);text-decoration:none;font-size:.61rem;letter-spacing:.2em;font-weight:500;transition:.3s}
.button:hover{background:var(--ink);color:#fff}
.scroll{position:absolute;bottom:2rem;color:var(--ink);text-decoration:none;font-size:1.5rem}
.nav{position:sticky;top:0;z-index:10;background:rgba(250,249,247,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);height:68px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between}
.nav>a{font-family:var(--serif);font-size:1.5rem;text-decoration:none;color:var(--ink)}
.nav div{display:flex;gap:2rem}.nav div a{font-size:.58rem;letter-spacing:.16em;text-decoration:none;color:var(--ink)}
.section{padding:8rem 9vw;max-width:1300px;margin:auto}
.section h2{font-family:var(--serif);font-weight:300;font-size:clamp(3.7rem,7vw,6.4rem);line-height:.84;margin:0 0 5rem;letter-spacing:-.03em}.section h2 em{font-weight:300}
.day{border-top:1px solid var(--line)}
.timeline{border-top:1px solid var(--line)}
.timeline article{display:grid;grid-template-columns:130px 1fr;gap:2rem;padding:2.5rem 0;border-bottom:1px solid var(--line);align-items:center}
.timeline span{font-family:var(--serif);font-size:1.9rem;color:#8f8b84}
.timeline h3{font-family:var(--serif);font-size:2.2rem;font-weight:400;margin:0 0 .35rem}.timeline p{margin:0;line-height:1.7;font-size:.82rem}
.places{display:grid;grid-template-columns:1fr 1fr}
.place-card{min-height:70vh;display:flex;align-items:flex-end;position:relative;overflow:hidden}
.place-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(169,151,129,.72),rgba(169,151,129,.12))}
.church{background:linear-gradient(135deg,#cbc4b9,#847b70)}
.abbey{background:linear-gradient(135deg,#b9b2a8,#625d56)}
.place-content{position:relative;color:#fff;padding:7vw;z-index:2}.place-content h2{font:300 clamp(3.2rem,5.5vw,5.5rem) var(--serif);line-height:.82;margin:0 0 1rem}.place-content h2 em{font-weight:300}.place-content p:not(.eyebrow){font-family:var(--serif);font-size:1.35rem}.button.light{border-color:#fff;color:#fff;margin-top:1rem}.button.light:hover{background:#fff;color:#a99781}
.info{background:#f2f0eb;max-width:none;padding-left:9vw;padding-right:9vw}.info-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);max-width:1100px}.info-grid article{padding:2.5rem;border-bottom:1px solid var(--line)}.info-grid article:first-child{border-right:1px solid var(--line)}.info-grid span{font-family:var(--serif);font-size:1.8rem;color:#aaa59d;display:block;margin-bottom:2rem}.info-grid h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:0 0 1rem}.info-grid p{margin:0;line-height:1.8;font-size:.82rem}
.rsvp{text-align:center}.rsvp-intro{font-family:var(--serif);font-size:1.4rem;margin:-3rem auto 4rem;max-width:550px}
form{max-width:620px;margin:auto;text-align:left}label{display:block;font-size:.63rem;letter-spacing:.12em;margin-bottom:1.5rem}input,select,textarea{width:100%;margin-top:.55rem;border:1px solid var(--line);background:transparent;padding:1rem;font:300 .9rem var(--sans);outline:none}textarea{resize:vertical}form .button{cursor:pointer;margin-top:.5rem}.form-note{font-size:.63rem;color:#97928b;line-height:1.6;margin-top:1.2rem}.success{font-family:var(--serif);font-size:1.4rem;margin-top:1.5rem}
.gift{padding:8rem 2rem;background:#e9e6e0;text-align:center}.gift-inner{max-width:760px;margin:auto}.gift h2{font:300 clamp(3rem,6vw,5.5rem) var(--serif);line-height:.88}.gift p:not(.eyebrow){font-family:var(--serif);font-size:1.25rem;line-height:1.65;margin:2rem auto}.gift .thanks{font-size:1.15rem}.gift .button{margin-top:1rem}
footer{text-align:center;padding:5rem 1rem;background:#a99781;color:#faf9f7}.footer-mark{font:4rem var(--serif);margin-bottom:1.5rem}.footer-mark span{font-family:var(--scriptfont);font-size:3rem;margin:0 .25rem}footer p{font-size:.62rem;letter-spacing:.18em}.small{font-family:var(--serif);font-style:italic;letter-spacing:0;font-size:1rem}
@media(max-width:800px){.nav{padding:0 1.2rem}.nav div{display:none}.section{padding:6rem 7vw}.places{grid-template-columns:1fr}.place-card{min-height:65vh}.info-grid{grid-template-columns:1fr}.info-grid article:first-child{border-right:0}.timeline article{grid-template-columns:75px 1fr}.signature-logo{width:min(650px,92vw)}.date{font-size:2.5rem}}

.footer-mark{display:flex;align-items:center;justify-content:center;gap:.35rem;height:78px}
.footer-mark img{display:block;object-fit:contain;filter:none;opacity:1}
.footer-mark img:first-child{width:46px;height:70px}
.footer-mark img:last-child{width:62px;height:70px}
.footer-mark span{font-family:var(--serif);font-size:2.5rem;font-weight:300}

/* Footer V&A: same simple mark as the top-left navigation */
.footer-mark{display:block;height:auto;font-family:var(--serif);font-size:1.5rem;font-weight:400;line-height:1;margin:0 0 1.5rem}
.footer-mark span{font-family:inherit;font-size:inherit;margin:0}

/* Ajustements demandés */
.venue{font-size:.9rem;font-weight:600;letter-spacing:.27em}
.venue strong{font-weight:600}
.info-grid article:nth-child(2) p{font-family:var(--serif);font-size:1.25rem}
