:root{--paper:#f9f5ef;--ink:#28170f;--rust:#9e593c;--line:#dfcabc;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Montserrat',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.7 var(--sans)}a{color:inherit}button,input,textarea{font:inherit}button,a,input,summary,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:5px}.skip{position:fixed;top:-100px;left:16px;z-index:20;background:white;padding:10px}.skip:focus{top:10px}header{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;gap:30px;justify-content:space-between;padding:16px 6%;height:90px}.monogram{font:38px/1 var(--serif);white-space:nowrap;text-decoration:none}.monogram span{color:var(--rust)}nav{display:flex;gap:25px;align-items:center}nav a{font-size:12px;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;position:relative;padding:10px 0}nav a:hover:after{content:'';position:absolute;bottom:0;height:1px;background:var(--rust);left:0;right:0}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--rust);color:white;border:1px solid var(--rust);border-radius:40px;text-decoration:none;padding:16px 30px;font:500 12px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.13em;min-height:48px;transition:background .2s}.button:hover{background:#80422b}.header-cta{font-size:10px;padding:13px 22px}.menu-toggle{display:none}.hero{position:relative;min-height:780px;height:100svh;max-height:1100px;background:#f5ede2}.hero-art{position:absolute;inset:0;background:url('assets/accueil.png') center center/cover no-repeat}.hero-copy{position:relative;z-index:1;width:46%;max-width:650px;padding:145px 30px 160px 7%;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--rust);font-size:12px;line-height:1.8;font-weight:500}.hero-copy>.eyebrow{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 0 12px}.hero-copy>.eyebrow span{width:65px;height:1px;background:var(--line)}h1{font:500 clamp(70px,7.5vw,112px)/.82 var(--serif);letter-spacing:-.055em;margin:18px 0 25px}h1 span{font-family:'Allura',cursive;font-weight:400;font-size:1.35em;color:#ad6a4b;display:inline-block;vertical-align:middle;line-height:.75;letter-spacing:-.09em}.date{letter-spacing:.4em;font-size:14px;margin:22px 0 2px}.venue{font-size:15px;margin:0}.handwriting{font:37px/.85 'Allura',cursive;color:#a46a50;transform:rotate(-7deg);margin:30px 0}.handwriting span{display:block;font-size:35px;margin-top:8px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:24px auto 22px;max-width:430px}.countdown>div{border:1px solid #dfccbd;border-radius:6px;background:#fff8;min-width:0;padding:10px 5px}.countdown strong{display:block;font:400 38px/1.2 var(--serif);color:var(--rust);font-variant-numeric:tabular-nums}.countdown span{font-size:9px;letter-spacing:.14em;text-transform:uppercase}.ceremony-bar{position:absolute;bottom:38px;left:4%;right:4%;display:grid;grid-template-columns:repeat(3,1fr);z-index:2;background:#fff7eddf;backdrop-filter:blur(16px);border:1px solid #ffffffb0;border-radius:22px;padding:27px 0}.ceremony-bar>a{display:flex;align-items:center;justify-content:center;gap:22px;text-decoration:none;padding:0 14px}.ceremony-bar>a+a{border-left:1px solid #c9977a}.ceremony-bar .eyebrow{font-size:10px}.ceremony-bar p{font-size:12px;line-height:1.6;margin:1px 0}.symbol{font:48px/1 var(--serif);color:var(--rust)}.section{max-width:1200px;margin:auto;padding:100px 6%;scroll-margin-top:20px}h2{font:500 clamp(42px,4.5vw,64px)/1.04 var(--serif);letter-spacing:-.035em;margin:16px 0 25px}h3{font:500 29px/1.1 var(--serif);margin:10px 0 15px}p{margin:0 0 16px}.story{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.story>div:first-child{max-width:420px}.signature{font:40px/1.2 'Allura',cursive;color:var(--rust);margin:25px 0}.story-photos{display:flex;align-items:center;gap:16px}.story-photos img{width:60%;height:420px;object-fit:cover;border-radius:160px 160px 5px 5px}.story-photos img+img{width:38%;height:270px;margin-top:120px;border-radius:100px 100px 5px 5px}.section-heading{text-align:center;max-width:650px;margin:0 auto 55px}.section-heading>p:last-child{color:#766254}.program{background:#f0e6dc;max-width:none}.timeline{list-style:none;padding:0;margin:0 auto;max-width:670px}.timeline li{display:grid;grid-template-columns:105px 1fr;gap:50px;position:relative;padding-bottom:32px}.timeline li:before{content:'';position:absolute;left:128px;top:12px;bottom:-12px;border-left:1px solid #c69a7e}.timeline li:last-child:before{display:none}.timeline li:after{content:'';position:absolute;left:123px;top:12px;width:11px;height:11px;border-radius:50%;border:1px solid var(--rust);background:#f0e6dc}.timeline time{font:400 31px/1.1 var(--serif);color:var(--rust);text-align:right}.timeline h3{margin:0 0 8px}.timeline p{font-size:14px;margin:0}.timeline .eyebrow{font-size:10px;display:block;margin-bottom:5px}.locations{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.location{border:1px solid var(--line);border-radius:130px 130px 8px 8px;padding:42px 26px 30px;text-align:center;display:flex;flex-direction:column;align-items:center}.number{font:italic 50px var(--serif);color:var(--rust);margin-bottom:20px}.location .eyebrow{font-size:10px}.location h3{min-height:65px}.location p{font-size:14px}.location .text-link{margin-top:auto}.featured{background:#ead9c9}.text-link{display:inline-block;border:0;border-bottom:1px solid var(--rust);padding:8px 0;background:transparent;color:var(--rust);text-decoration:none;font-size:14px;line-height:1.5;min-height:44px}.lodging{max-width:none;background:#f0e6dc}.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:35px}.filters button{border:1px solid #bc9b84;background:transparent;padding:10px 19px;min-height:44px;border-radius:30px;color:#764329;font-size:14px}.filters button.active{background:var(--rust);color:white;border-color:var(--rust)}.lodging-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:auto}.stay{background:#faf6f0;border:1px solid #e1cdbb;border-radius:10px;padding:26px;display:flex;flex-direction:column}.stay[hidden]{display:none}.stay-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.stay .eyebrow{font-size:10px}.distance{font-size:14px;color:var(--rust);white-space:nowrap}.stay h3{font-size:28px}.stay p{font-size:14px;line-height:1.7}.stay details{font-size:14px;margin-bottom:16px}.stay details p{margin-top:10px}.stay summary{cursor:pointer;color:var(--rust);padding:8px 0}.stay-actions{display:flex;gap:22px;margin-top:auto;flex-wrap:wrap}.lodging-note{font-size:13px;text-align:center;max-width:800px;margin:36px auto 12px}.lodging>.text-link{display:table;margin:auto}.rsvp{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}form{background:#f0e6dc;padding:35px;border-radius:12px}label,legend{font-size:14px;display:block;margin:0 0 8px}input,textarea{width:100%;border:1px solid #cfb8a6;background:#fcf9f4;border-radius:4px;padding:12px;color:var(--ink);font-size:16px}input:focus,textarea:focus{outline:2px solid var(--rust);outline-offset:2px}fieldset{border:0;padding:0;margin:22px 0}.radio{display:flex;align-items:center;gap:12px;min-height:44px}.radio input{width:20px;height:20px;accent-color:var(--rust)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 20px}textarea{resize:vertical}form>.button{width:100%;margin-top:20px}.form-note{font-size:12px;line-height:1.6;color:#766254;margin:15px 0 0}#response{margin-top:25px}#copy-status{font-size:14px;color:var(--rust)}.info{max-width:850px;padding-top:30px}.info details{border-bottom:1px solid var(--line);padding:20px 0}.info summary{font-size:16px;cursor:pointer;min-height:44px;display:list-item}.info details p{margin:14px 0 0;font-size:15px}.photo-strip{display:grid;grid-template-columns:1fr 1fr;background:#ead9c9;align-items:center;text-align:center}.photo-strip img{width:100%;height:330px;object-fit:cover}.photo-strip .handwriting{font-size:68px;margin:0 0 25px}.photo-strip div>p:last-child{letter-spacing:.3em;font-size:14px}footer{text-align:center;padding:50px 20px}footer p{font-size:12px;margin:14px 0 0}footer .monogram{font-size:44px}@media(min-width:1400px){.hero-copy{padding-top:165px}}@media(max-width:1100px){header{padding:16px 4%;gap:15px}nav{gap:14px}.header-cta{display:none}.hero-copy{padding-left:4%;padding-right:20px}.story{gap:35px}.locations{gap:14px}.lodging-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){html{scroll-padding-top:75px}header{position:absolute;height:74px;background:#fbf7f0ed;padding:12px 6%}.monogram{font-size:32px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--line);border-radius:30px;padding:10px 16px;color:var(--ink);font-size:14px;min-height:44px}nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fbf7f0;padding:15px 6% 24px;border-bottom:1px solid var(--line)}nav.open{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}nav a{padding:12px 0;font-size:12px;min-height:44px}.hero{height:auto;max-height:none;min-height:0;padding:74px 0 24px;display:flex;flex-direction:column;background:#f7f0e8}.hero-art{position:relative;inset:auto;order:2;height:480px;width:100%;background-size:auto 100%;background-position:83% center;margin-top:22px}.hero-copy{width:100%;max-width:none;padding:35px 6% 0;order:1;background:radial-gradient(ellipse at top left,#fff8 0,transparent 75%)}.hero-copy>.eyebrow{font-size:10px}h1{font-size:84px;line-height:.85;margin:15px 0 20px}.date{font-size:13px;margin:18px 0 3px}.venue{font-size:14px}.handwriting{font-size:32px;margin:23px 0}.handwriting br{display:none}.handwriting span{display:inline;font-size:28px;padding-left:8px}.countdown{max-width:360px;gap:8px;margin:22px auto 19px}.countdown>div{padding:9px 5px}.countdown strong{font-size:34px}.countdown span{font-size:9px}.hero-copy .button{font-size:11px;padding:15px 25px;min-width:260px}.ceremony-bar{position:relative;inset:auto;order:3;display:flex;flex-direction:column;margin:-20px 5% 0;padding:15px 22px;gap:0;z-index:3;border-radius:16px}.ceremony-bar>a{justify-content:flex-start;padding:16px 0;gap:20px}.ceremony-bar>a+a{border-left:0;border-top:1px solid var(--line)}.ceremony-bar .eyebrow{font-size:10px}.ceremony-bar p{font-size:12px}.symbol{font-size:38px;width:42px;text-align:center}.section{padding:65px 6%}h2{font-size:45px}.section-heading{margin-bottom:35px}.section-heading>p:last-child{font-size:14px}.story{grid-template-columns:1fr;gap:35px}.story>div:first-child{max-width:none}.story p{font-size:15px}.story-photos img{height:340px}.story-photos img+img{height:230px;margin-top:70px}.timeline li{grid-template-columns:76px 1fr;gap:34px;padding-bottom:32px}.timeline li:before{left:94px}.timeline li:after{left:89px}.timeline time{font-size:27px}.timeline h3{font-size:27px}.locations{grid-template-columns:1fr;gap:20px}.location{border-radius:12px;padding:26px 22px}.location h3{min-height:0}.number{font-size:35px;margin-bottom:9px}.location h3 br{display:none}.lodging-grid{grid-template-columns:1fr}.stay{padding:24px}.rsvp{grid-template-columns:1fr;gap:22px}.rsvp h2 br{display:none}form{padding:25px 20px}.filters{gap:8px}.filters button{font-size:12px;padding:10px 14px}.info{padding-top:20px}.photo-strip{grid-template-columns:1fr}.photo-strip img{height:290px}.photo-strip div{padding:45px 15px}.photo-strip .handwriting{font-size:58px}footer{padding:35px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.symbol svg{width:48px;height:48px;display:block}@media(max-width:700px){.symbol svg{width:38px;height:38px}}

.creator-signature{grid-column:1/-1;text-align:right;font:10px/1.4 var(--sans);color:#95877d;margin:0}

.hero-art{overflow:hidden}.personal-hero{position:absolute;top:6%;bottom:0;left:49%;right:9%;background:url('assets/photo-accueil-personnelle.jpg') center 0%/cover no-repeat;border-radius:48% 48% 0 0}.hero{overflow:hidden}@media(max-width:700px){.personal-hero{left:8%;right:8%;top:0;bottom:0;background-position:center 0%;border-radius:45% 45% 0 0}}

.creator-signature{grid-column:1/-1;text-align:right;font:10px/1.4 var(--sans);color:#95877d;margin:0}

/* Photo and foreground use a single coordinate space. */
.hero-art{container-type:size;overflow:hidden;background:none}
.hero-scene{position:absolute;width:max(100cqw,150cqh);height:max(66.666667cqw,100cqh);left:50%;top:50%;transform:translate(-50%,-50%);background:none}
.hero-scene .personal-hero{position:absolute;top:6%;bottom:-1%;left:47%;right:8%;border-radius:0;clip-path:none;background:none;overflow:hidden}
.hero-scene .photo-crop{position:absolute;width:115%;height:115%;left:-7.5%;top:0%;background:url('assets/photo-accueil-personnelle.jpg') center top/cover no-repeat}
.hero-scene .hero-frame{position:absolute;inset:0;pointer-events:none;background:url('assets/accueil.png') center/100% 100% no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201536%201024%22%3E%3Cpath%20fill%3D%22white%22%20fill-rule%3D%22evenodd%22%20d%3D%22M0%200H1536V1024H0Z%20M743%201024V420C743%20222%20895%2083%201068%2083C1270%2083%201394%20115%201391%20420V1024Z%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201536%201024%22%3E%3Cpath%20fill%3D%22white%22%20fill-rule%3D%22evenodd%22%20d%3D%22M0%200H1536V1024H0Z%20M743%201024V420C743%20222%20895%2083%201068%2083C1270%2083%201394%20115%201391%20420V1024Z%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat}
@media(max-width:700px){.hero-scene{left:83%;transform:translate(-83%,-50%)}.hero-scene .personal-hero{top:6%;bottom:-1%;left:47%;right:8%;border-radius:0}}


.creator-signature{grid-column:1/-1;text-align:right;font:10px/1.4 var(--sans);color:#95877d;margin:0}

/* Photo and foreground use a single coordinate space. */
.hero-art{container-type:size;overflow:hidden;background:none}
.hero-scene{position:absolute;width:max(100cqw,150cqh);height:max(66.666667cqw,100cqh);left:50%;top:50%;transform:translate(-50%,-50%);background:none}
.hero-scene .personal-hero{position:absolute;top:6%;bottom:-1%;left:47%;right:8%;border-radius:0;clip-path:none;background:none;overflow:hidden}
.hero-scene .photo-crop{position:absolute;width:115%;height:115%;left:-7.5%;top:0%;background:url('assets/photo-accueil-personnelle.jpg') center top/cover no-repeat}
.hero-scene .hero-frame{position:absolute;inset:0;pointer-events:none;background:url('assets/accueil.png') center/100% 100% no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201536%201024%22%3E%3Cpath%20fill%3D%22white%22%20fill-rule%3D%22evenodd%22%20d%3D%22M0%200H1536V1024H0Z%20M743%201024V420C743%20222%20895%2083%201068%2083C1270%2083%201394%20115%201391%20420V1024Z%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201536%201024%22%3E%3Cpath%20fill%3D%22white%22%20fill-rule%3D%22evenodd%22%20d%3D%22M0%200H1536V1024H0Z%20M743%201024V420C743%20222%20895%2083%201068%2083C1270%2083%201394%20115%201391%20420V1024Z%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat}
@media(max-width:700px){.hero-scene{left:83%;transform:translate(-83%,-50%)}.hero-scene .personal-hero{top:6%;bottom:-1%;left:47%;right:8%;border-radius:0}}

