*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--wedding-paper,#faf8f2);color:var(--wedding-ink,#33493f);font:16px/1.65 Georgia,serif}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--wedding-accent);outline-offset:5px}[hidden]{display:none!important}.w-header{max-width:1240px;margin:auto;padding:26px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--wedding-ink) 18%,transparent);gap:20px}.w-brand{text-decoration:none;font-size:23px;font-style:italic}.w-header nav{display:flex;gap:26px;font:12px/1.5 Arial,sans-serif;letter-spacing:.08em}.w-header nav a{text-decoration:none}.w-hero{max-width:1200px;margin:auto;padding:72px 5% 80px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:70px}.w-kicker{text-transform:uppercase;font:11px/1.5 Arial,sans-serif;letter-spacing:.22em;color:var(--wedding-accent);margin:0 0 20px}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:clamp(48px,6vw,82px);font-weight:400;line-height:1.1;margin:16px 0 26px;letter-spacing:-.04em}h2{font-size:clamp(34px,4vw,50px);line-height:1.2;font-weight:400;margin:0 0 24px}h3{font-size:24px;font-weight:400;margin:14px 0}p{margin:12px 0}.w-date{font:13px/1.5 Arial,sans-serif;letter-spacing:.18em}.w-flower{display:block;color:var(--wedding-accent);font-size:38px;margin:26px 0}.w-intro{max-width:420px;white-space:pre-line}.w-button{display:inline-block;background:var(--wedding-ink);color:var(--wedding-paper);text-decoration:none;padding:14px 26px;border-radius:2px;font:12px/1.5 Arial,sans-serif;letter-spacing:.04em;margin-top:24px}.w-button[aria-disabled]{opacity:.6;cursor:default}.w-portrait{position:relative;min-height:490px;background:var(--wedding-soft);border-radius:220px 220px 4px 4px;overflow:hidden;display:flex;align-items:center;justify-content:center}.w-portrait img{width:100%;height:490px;object-fit:cover;display:block}.w-placeholder{text-align:center;padding:35px;font-size:38px;line-height:1.3}.w-placeholder small{display:block;margin-top:30px;font:11px/1.7 Arial,sans-serif;letter-spacing:.08em}.w-placeholder .w-flower{font-size:90px;margin:0 0 38px}.w-photo-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;background:var(--wedding-soft);padding:12px;font:10px/1.5 Arial,sans-serif;letter-spacing:.14em}.w-section{max-width:1080px;margin:auto;padding:75px 5%;border-top:1px solid color-mix(in srgb,var(--wedding-ink) 18%,transparent)}.w-program{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:45px}.w-number{font:11px Arial,sans-serif;color:var(--wedding-accent);border:1px solid var(--wedding-accent);border-radius:50%;width:36px;height:36px;display:grid;place-items:center}.w-multiline{white-space:pre-line}.w-place{background:var(--wedding-soft);padding:65px max(5%,calc((100vw - 970px)/2));display:grid;grid-template-columns:1fr 1fr;gap:65px}.w-text-link{display:inline-block;margin-top:20px;font:12px/1.5 Arial,sans-serif;text-underline-offset:6px}.w-rsvp{text-align:center;border:0;padding:75px 5% 100px}.w-rsvp-note{font:11px/1.5 Arial,sans-serif;opacity:.8;margin-top:18px}.w-footer{display:flex;justify-content:space-between;gap:24px;padding:25px 5%;border-top:1px solid var(--wedding-soft);font:12px/1.6 Arial,sans-serif}@media(max-width:700px){.w-header{padding:20px 6%;flex-wrap:wrap;justify-content:center}.w-header nav{gap:20px}.w-hero{grid-template-columns:1fr;gap:40px;padding:45px 7%;text-align:center}.w-intro{margin:12px auto}.w-portrait{min-height:360px;max-width:400px;width:100%;margin:auto}.w-portrait img{height:400px}.w-program,.w-place{grid-template-columns:1fr;gap:35px}.w-section{padding:50px 7%}.w-place{padding:50px 7%}.w-footer{flex-direction:column;text-align:center;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Jardin — faire-part panoramique et bordures organiques. */
.et-jardin .w-hero{grid-template-columns:1fr;text-align:center;gap:38px;max-width:1060px}
.et-jardin .w-intro{margin:12px auto;max-width:650px}.et-jardin .w-portrait{border-radius:220px 220px 20px 20px;min-height:320px;border:8px double var(--wedding-accent)}
.et-jardin .w-portrait img{height:380px}.et-jardin .w-hero h1{font-style:italic}
.et-jardin .w-program>div{background:var(--wedding-soft);padding:30px;border-radius:60px 4px 60px 4px}
.et-jardin .w-button{border-radius:40px}.et-jardin .w-section{text-align:center}.et-jardin .w-number{margin:auto}
/* Union — composition contemporaine et lignes nettes. */
.et-union{font-family:Arial,sans-serif}.et-union .w-header{border-bottom:3px solid var(--wedding-ink)}
.et-union .w-brand{font-style:normal;font-weight:700}.et-union h1{font-weight:700;letter-spacing:-.06em;font-size:clamp(42px,6vw,78px)}
.et-union .w-portrait{border-radius:0;box-shadow:14px 14px 0 var(--wedding-soft)}
.et-union .w-flower{display:none}.et-union .w-hero-copy{border-left:4px solid var(--wedding-accent);padding-left:28px}
.et-union .w-number{border-radius:0}.et-union .w-button{border-radius:0;text-transform:uppercase;letter-spacing:.1em}
.et-union .w-program{gap:0}.et-union .w-program>div{padding:28px;border:1px solid var(--wedding-accent)}
@media(max-width:700px){.et-jardin .w-portrait{min-height:280px;border-radius:150px 150px 16px 16px}.et-jardin .w-portrait img{height:320px}.et-union .w-hero-copy{padding-left:0;border-left:0}.et-union .w-portrait{box-shadow:8px 8px 0 var(--wedding-soft)}}
