:root{--beurre:#f5efd6;--lin:#e8e2d4;--sable:#c4a882;--sauge:#7a8c7e;--terra:#a85840;--orage:#2c3e52;--font-script:"EB Garamond", Georgia, serif;--font-heading:"Instrument Serif", Georgia, serif;--font-body:"Playfair Display", Georgia, serif;--nav-h:64px;--logo-color:var(--sauge)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--beurre);color:var(--orage);font-family:var(--font-body);text-align:center;-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.7}section{scroll-margin-top:var(--nav-h)}button,input,textarea{font:inherit;color:inherit}.logo{aspect-ratio:1;background-color:var(--logo-color);flex-shrink:0;animation:1.6s ease-out both logo-in;display:inline-block;-webkit-mask:url(/monogramme.svg) 50%/contain no-repeat;mask:url(/monogramme.svg) 50%/contain no-repeat}.hero,.band-orage,.footer,.nav:not(.nav-solid){--logo-color:var(--lin)}.hero-logo{width:90px}@media (width>=760px){.hero-logo{width:140px}}@keyframes logo-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.logo{animation:none}html{scroll-behavior:auto}}.loading{background:var(--orage);min-height:100vh}.script{font-family:var(--font-script);font-weight:400;line-height:1.25}.caps{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.15em;font-weight:400}.small{font-size:17px}.caps.small{font-size:15px}.muted{opacity:.85}.center{text-align:center}.italic{font-style:italic}.lead{text-align:center;max-width:560px;margin:0 auto 32px}.rule{background:var(--sable);width:44px;height:1px;margin:16px auto 24px;display:block}.rule-wide{width:100%;max-width:320px}.section-script{font-family:var(--font-script);text-align:center;font-size:clamp(2.8rem,8vw,4rem);font-weight:400}a,.link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--terra);text-decoration-color:var(--terra);text-underline-offset:4px;text-decoration-thickness:1px}a:hover,.link:hover{text-decoration-thickness:2px}.form-error{border-left:2px solid var(--terra);text-align:left;margin:8px 0;padding-left:12px}.btn{font-family:var(--font-heading);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:12px 28px;font-size:15px;font-weight:400;text-decoration:none;transition:opacity .2s;display:inline-block}.btn:hover:not(:disabled){border-color:var(--terra)}.btn:disabled{opacity:.55;cursor:default}.btn-outline{border-color:var(--lin);color:var(--beurre);background:0 0}.btn-light{background:var(--lin);color:var(--orage)}.btn-dark{background:var(--orage);color:var(--beurre)}.btn-ghost{border-color:var(--sable);color:var(--orage);background:0 0}.btn-wide{width:100%;margin-top:8px}.nav{z-index:50;height:var(--nav-h);color:var(--beurre);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:16px;padding:0 16px;transition:background .3s,color .3s,border-color .3s;display:flex;position:fixed;inset:0 0 auto}.nav-solid{background:var(--beurre);color:var(--orage);border-bottom-color:var(--sable)}.nav-mono{text-decoration:none;display:flex}.nav-toggle{cursor:pointer;background:0 0;border:none;font-size:15px}.nav-links{display:none}.nav-open{top:var(--nav-h);background:var(--beurre);border-bottom:1px solid var(--sable);flex-direction:column;padding:8px 16px 20px;display:flex;position:absolute;left:0;right:0}.nav-links a,.nav-notme{cursor:pointer;background:0 0;border:none;padding:10px 0;font-size:15px;text-decoration:none}.nav-links a:hover,.nav-notme{text-decoration:underline;-webkit-text-decoration-color:var(--terra);text-decoration-color:var(--terra);text-underline-offset:4px}.lang{gap:6px;font-size:15px;display:flex}.lang button{cursor:pointer;opacity:.6;letter-spacing:inherit;font-weight:inherit;background:0 0;border:none}.lang button.on{opacity:1;text-underline-offset:4px;text-decoration:underline}@media (width>=1100px){.nav-toggle{display:none}.nav-links,.nav-open{background:0 0;border:none;flex-direction:row;gap:18px;padding:0;display:flex;position:static}.nav-links a,.nav-notme{padding:0;font-size:14px}}.band{padding:72px 16px}.band-beurre{background:var(--beurre)}.band-lin{background:var(--lin)}.band-orage,.hero,.footer{color:var(--beurre);background:var(--orage)}.band-stripes{background:repeating-linear-gradient(90deg, var(--sauge) 0 22px, var(--beurre) 22px 44px)}.hero{text-align:center;min-height:100svh;padding:calc(var(--nav-h) + 24px) 16px 48px;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.hero-names{font-family:var(--font-heading);color:var(--beurre);font-size:clamp(4.2rem,17vw,9rem);font-style:italic;font-weight:400;line-height:.9}.hero-names span{display:block}.hero.hero-maquette{background:var(--beurre);color:var(--orage);--logo-color:#aa573e;gap:14px}.hero-title{width:min(86vw,620px,78.7111svh + 8vw);margin:0}.hero-title img{width:100%;height:auto;display:block}.hero-frame{aspect-ratio:92.5/121;background:#c8d1d9;width:min(58vw,240px,22.1694svh);overflow:hidden}.hero-frame img{object-fit:cover;width:100%;height:100%;display:block}.hero-maquette .hero-sub{font-family:var(--font-script);color:#aa573e;margin-top:-4px;font-size:2.4rem;font-style:italic;line-height:1.1}.hero-mono{width:46px}.hero-maquette .hero-hello{line-height:1.1}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hero-sub{font-size:1.5rem;font-style:italic}.hero-hello{font-family:var(--font-script);font-size:2.4rem}.countdown{gap:28px;display:flex}.countdown>div{flex-direction:column;display:flex}.countdown-n{font-family:var(--font-heading);font-size:2.2rem;line-height:1}.countdown-l{font-family:var(--font-heading);letter-spacing:.15em;text-transform:uppercase;font-size:14px}.login{border:1px solid var(--sable);text-align:left;flex-direction:column;gap:14px;width:100%;max-width:420px;margin-top:8px;padding:28px 22px;display:flex}.login-intro{text-align:center}.login-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.login input{width:100%}.login label,.rsvp label,.modal label{flex-direction:column;gap:4px;display:flex}.login label span{font-family:var(--font-heading);letter-spacing:.15em;text-transform:uppercase;font-size:14px}.login input{border:1px solid var(--sable);background:var(--lin);color:var(--orage);border-radius:2px;min-width:0;padding:10px 12px}.demo{text-align:center;font-size:15px}.demo-link{font-size:inherit;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--terra);text-decoration-color:var(--terra);text-underline-offset:4px;background:0 0;border:none}.mot{align-items:center;gap:40px;max-width:1040px;margin:0 auto;display:grid}.mot-photo{width:100%;max-width:560px;height:auto;margin:0 auto;display:block;box-shadow:0 12px 32px #2c3e5229}.story-title{text-align:inherit;margin:12px 0 6px}.mot-text{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.mot-text p{white-space:pre-line}.picto.picto-rings{width:120px;max-width:100%}.signature-intro{margin-top:12px;font-style:italic}.signature{font-size:3rem}@media (width>=760px){.mot{grid-template-columns:1fr 1fr;gap:64px}.mot-text{text-align:left;align-items:flex-start}}.choices{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:820px;margin:0 auto;display:grid}.choice-card{background:var(--orage);color:var(--beurre);border:1px solid var(--orage);flex-direction:column;align-items:center;gap:10px;padding:36px 20px 28px;text-decoration:none;transition:border-color .2s;display:flex}.choice-card:hover{border-color:var(--terra)}.choice-card .picto,.choice-card svg{width:76px;height:76px}.picto.picto-chateau,.picto.picto-townhall{width:180px;max-width:100%}.choice-title{font-size:2.6rem}.choice-cta{border:1px solid var(--lin);border-radius:999px;margin-top:10px;padding:10px 24px;font-size:15px}.chapter-head{padding:calc(var(--nav-h) + 40px) 16px 28px}.back{margin-bottom:24px;font-size:15px;display:inline-block}.chapter-title{margin-top:8px;font-size:clamp(3.2rem,11vw,5rem)}.chapter-tabs{top:var(--nav-h);z-index:40;scrollbar-width:none;background:var(--beurre);border-bottom:1px solid var(--sable);gap:2px;padding:0 8px;display:flex;position:sticky;overflow-x:auto}.tab:first-child{margin-left:auto}.tab:last-child{margin-right:auto}.tab{letter-spacing:.1em;white-space:nowrap;border-bottom:2px solid #0000;flex-shrink:0;padding:14px 9px 12px;font-size:14px;text-decoration:none}.tab:hover{border-bottom-color:var(--sable)}.tab-on{border-bottom-color:var(--terra)}.chapter-foot{flex-direction:column;align-items:center;gap:18px;display:flex}.info-tools{flex-direction:column;gap:14px;max-width:820px;margin:0 auto 24px;display:flex}.info-search{border:1px solid var(--sable);background:var(--lin);text-align:center;border-radius:999px;width:100%;padding:12px 16px}.info-cats{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.info-cat{border:1px solid var(--sable);background:var(--lin);cursor:pointer;border-radius:999px;padding:6px 16px;font-size:15px}.info-cat:hover{border-color:var(--terra)}.info-cat-on{background:var(--orage);border-color:var(--orage);color:var(--beurre)}.info-cards{grid-template-columns:1fr;align-items:start;gap:12px;max-width:820px;margin:0 auto;display:grid}@media (width>=760px){.info-cards{grid-template-columns:1fr 1fr}}.info-card{border:1px solid var(--sable);background:var(--beurre);text-align:left}.info-card-open{background:var(--lin)}.info-card-q{text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:1fr auto;gap:2px 12px;width:100%;padding:14px 16px;display:grid}.info-card-q:hover .info-card-title{text-decoration:underline;-webkit-text-decoration-color:var(--terra);text-decoration-color:var(--terra);text-underline-offset:4px}.info-card-cat{opacity:.85;grid-column:1;font-size:13px}.info-card-title{grid-column:1;font-weight:500}.info-card-sign{grid-area:1/2/span 2;align-self:center;font-size:1.4rem}.info-card-a{flex-direction:column;gap:6px;padding:0 16px 16px;display:flex}.info-ask{margin-top:28px}.menus{flex-wrap:wrap;justify-content:center;gap:32px 64px;display:flex}.menus .menu{flex:0 320px;margin:0}.common-faq{margin-bottom:40px}.events{flex-direction:column;gap:56px;max-width:1000px;margin:0 auto;display:flex}.event{text-align:center}.event-title{font-size:clamp(2.6rem,8vw,3.2rem)}.event-date{opacity:.85;margin:6px 0 28px}.step-time{font-size:15px}.step-rows{text-align:left;max-width:640px;margin:0 auto;list-style:none}.step-row{border-top:1px solid #f5efd640;grid-template-columns:140px minmax(0,1fr);align-items:center;column-gap:28px;padding:24px 0;display:grid}.step-row:last-child{border-bottom:1px solid #f5efd640}.step-row-side{flex-direction:column;align-items:center;gap:8px;display:flex}.step-row-side .picto,.step-row-side svg{max-width:100%}.step-row-main{flex-direction:column;gap:4px;display:flex}@media (width<=539px){.step-row{grid-template-columns:96px minmax(0,1fr);column-gap:16px}.step-row-side .picto,.step-row-side svg{width:64px;height:64px}.step-row-side .picto-rings{width:96px}}.picto{background-color:currentColor;width:76px;height:76px;display:block}.step-title{font-size:2rem;line-height:1.15}.step-note{opacity:.85;font-style:italic}.venues{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:900px;margin:0 auto 24px;display:grid}.venue{border:1px solid var(--sable);text-align:center;cursor:pointer;padding:24px 18px;transition:background .2s}.venue-active{background:var(--lin)}.venue h3{font-family:var(--font-heading);margin:6px 0 2px;font-size:1.6rem;font-weight:400}.venue .link{margin-top:10px;display:inline-block}.map{border:1px solid var(--sable);filter:sepia(.25)saturate(.8);width:100%;max-width:900px;height:320px;margin:0 auto;display:block}.menu{text-align:center;max-width:420px;margin:0 auto}.menu-title{margin-bottom:18px;font-size:3.4rem}.menu-item{margin-bottom:16px}.infos{text-align:center;max-width:560px;margin:0 auto}.info h3{margin-bottom:10px;font-size:1.2rem}.info .rule{margin:26px auto}.hotel{margin-top:18px}.hotel-name{font-family:var(--font-heading);font-size:1.4rem}.taxi{margin-top:12px}.faq-item{border-bottom:1px solid var(--sable)}.faq-q{cursor:pointer;background:0 0;border:none;justify-content:center;gap:12px;width:100%;padding:12px 0;font-weight:500;display:flex}.faq-q:hover{text-decoration:underline;-webkit-text-decoration-color:var(--terra);text-decoration-color:var(--terra);text-underline-offset:4px}.faq-a{padding:0 0 14px}.gifts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;max-width:900px;margin:0 auto;display:grid}.gift{border:1px solid var(--sable);text-align:center;flex-direction:column;gap:8px;padding:22px 18px;display:flex}.gift h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:400}.gift .btn{align-self:center}.gift-done{opacity:.6}.gift-price{font-family:var(--font-heading);letter-spacing:.05em;font-size:1.3rem}.gift-foot{flex-direction:column;align-items:center;gap:8px;margin-top:auto;padding-top:8px;display:flex}.gift-amount label{flex-direction:column;align-items:center;gap:4px;display:flex}.gift-amount input{border:1px solid var(--sable);background:var(--lin);text-align:center;width:120px;padding:8px 10px}.gifts-subtitle{text-align:center;margin:48px 0 8px;font-size:1.2rem}.stepper{border:1px solid var(--orage);border-radius:999px;align-items:center;display:inline-flex;overflow:hidden}.stepper button{background:var(--orage);width:44px;height:40px;color:var(--beurre);cursor:pointer;border:none;font-size:1.2rem}.stepper button:disabled{opacity:.4;cursor:default}.stepper span{text-align:center;min-width:44px;font-weight:500}.gift-notice{border-left-color:var(--sauge);background:var(--lin);text-align:left;max-width:560px;margin:0 auto 28px}.mine{border:1px solid var(--sauge);text-align:left;max-width:560px;margin:0 auto 36px;padding:20px}.mine ul{flex-direction:column;gap:10px;margin-top:10px;list-style:none;display:flex}.mine li{flex-direction:column;gap:2px;display:flex}.mine li+li{border-top:1px solid var(--sable);padding-top:10px}.mine-ok{color:#3d5a45}.mine-wait{font-style:italic}.mine-actions{gap:16px;display:flex}button.link{cursor:pointer;background:0 0;border:none;padding:0}.howto{text-align:left;flex-direction:column;gap:12px;margin-top:8px;display:flex}.howto-key{flex-wrap:wrap;gap:8px 32px;display:flex}.howto-key dd{font-size:1.3rem}.ref,.iban{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.iban{overflow-wrap:anywhere}.howto-ways{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.howto-ways section{border:1px solid var(--sable);background:var(--beurre);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.howto-bank{grid-template-columns:auto 1fr;align-items:baseline;gap:4px 12px;display:grid}.copy{border:1px solid var(--sable);cursor:pointer;vertical-align:middle;background:0 0;border-radius:999px;margin-left:4px;padding:2px 8px;font-size:12px}.copy:hover{border-color:var(--terra)}.cart{border:1px solid var(--sable);background:var(--lin);flex-direction:column;gap:14px;max-width:560px;margin:48px auto 0;padding:24px 20px;display:flex}.cart h3{font-size:1.2rem}.cart-lines{text-align:left;flex-direction:column;gap:6px;list-style:none;display:flex}.cart-lines li{grid-template-columns:1fr auto auto;align-items:center;gap:12px;display:grid}.cart-remove{cursor:pointer;color:var(--orage);background:0 0;border:none;font-size:1.3rem}.cart-remove:hover{color:var(--terra)}.cart-total{border-top:1px solid var(--sable);justify-content:space-between;padding-top:10px;display:flex}.cart-message{text-align:left;flex-direction:column;gap:4px;display:flex}.cart-message textarea{border:1px solid var(--sable);background:var(--beurre);width:100%;padding:10px 12px}.bar{background:var(--lin);border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.bar span{background:var(--sauge);height:100%;display:block}.thread{flex-direction:column;gap:18px;max-width:600px;margin:0 auto;display:flex}.qa{flex-direction:column;gap:8px;display:flex}.bubble{text-align:left;max-width:85%;padding:12px 16px}.bubble-q{background:var(--beurre);border:1px solid var(--sable);align-self:flex-end}.bubble-a{background:var(--orage);color:var(--beurre);align-self:flex-start}.bubble-hint{opacity:.8;margin-top:8px}.pending{align-self:flex-start}.ask{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.ask textarea,.rsvp input,.rsvp textarea,.modal input,.modal textarea{border:1px solid var(--sable);background:var(--lin);border-radius:2px;width:100%;padding:10px 12px}.rsvp,.login,.modal{text-align:left}.rsvp{background:var(--beurre);max-width:560px;margin:0 auto;padding:32px 22px;box-shadow:0 12px 32px #2c3e522e}.rsvp fieldset{border:none;flex-direction:column;gap:22px;margin-top:18px;display:flex}.notice{border-left:2px solid var(--sable);margin-top:10px;padding:10px 14px}.notice-ok{border-left-color:var(--sauge);background:var(--lin)}.label{font-family:var(--font-heading);letter-spacing:.15em;text-transform:uppercase;font-size:15px}.field small{font-size:15px}.choice{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.choice-wrap{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.opt{background:var(--lin);cursor:pointer;border:1px solid #0000;padding:10px 12px}.opt:hover{border-color:var(--terra)}.opt-on,.opt-no{background:var(--orage);color:var(--beurre)}.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:10px;display:grid}.person{border-top:1px solid var(--sable);flex-direction:column;gap:16px;padding-top:16px;display:flex}.person-name{font-family:var(--font-heading);font-size:1.6rem;line-height:1.3}.answer{border-bottom:1px solid var(--lin);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:10px 0;display:grid}.answer-what p{margin:0;line-height:1.3}.recap{white-space:nowrap;margin:0;font-style:italic}.recap-yes{color:var(--sauge)}.recap-no{color:var(--terra)}.answer-title{font-weight:500}.answer .answer-choice{grid-template-columns:auto auto;gap:6px;margin-top:0}.answer .opt{white-space:nowrap;padding:6px 12px;font-size:15px}.answer .reason{grid-column:1/-1;margin-top:0}@media (width<=539px){.answer .answer-choice{grid-template-columns:104px}}.person{gap:4px!important}.person>.diet{margin-top:12px}.diet{flex-direction:column;gap:10px;display:flex}.tags{flex-wrap:wrap;gap:6px;display:flex}.rsvp .tag{border:1px solid var(--sable);background:var(--lin);cursor:pointer;border-radius:999px;flex-direction:row;align-items:center;padding:6px 12px;font-size:15px}.tag input{display:none}.rsvp .tag-on{background:var(--orage);border-color:var(--orage);color:var(--beurre)}.rsvp .check{flex-direction:row;align-items:flex-start;gap:10px}.rsvp .check input{width:auto;margin-top:5px}.modal-backdrop{z-index:100;background:#2c3e5299;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--beurre);flex-direction:column;gap:14px;width:100%;max-width:420px;padding:26px 22px;display:flex}.modal h3{font-family:var(--font-heading);font-size:1.6rem;font-weight:400}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.footer{flex-direction:column;align-items:center;gap:10px;padding:36px 16px;display:flex}.gifts-teaser{text-align:center}.gifts-teaser .lead{margin-bottom:20px}.address-form{text-align:left;flex-direction:column;gap:14px;max-width:520px;margin:0 auto;display:flex}.address-form .section-script,.address-form .lead{text-align:center}.address-form label{flex-direction:column;gap:4px;display:flex}.address-form input{border:1px solid var(--sable);background:var(--lin);border-radius:2px;width:100%;padding:10px 12px}.address-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px;display:grid}.address-form .btn{align-self:center}.address-done{text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 16px;padding-top:24px;padding-bottom:24px;display:flex}.address-cancel{align-self:center}.band-orage .address-form input{background:var(--beurre);color:var(--orage);border-color:var(--beurre)}
