:root{--olive:#6b7355;--olive-clair:#7a8263;--olive-profond:#3f4634;--blanc:#fff;--papier:#faf9f6;--sur-media:#fffdf8;--font-script:"Sloop Script Pro", "Snell Roundhand", "Apple Chancery", cursive;--font-texte:"TeX Gyre Termes", "Times New Roman", Times, serif;--pas:8px;--header-h:78px;--marge-hero:14px;--trait:1px;--courbe:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--blanc);color:var(--olive);font-family:var(--font-texte);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.65}:focus-visible{outline:2px solid var(--olive);outline-offset:3px;border-radius:1px}img,video{max-width:100%;display:block}.hors-ecran{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.entete{z-index:30;height:var(--header-h);align-items:center;gap:calc(var(--pas) * 2);padding:0 calc(var(--pas) * 3);background:var(--blanc);grid-template-columns:1fr auto 1fr;display:grid;position:sticky;top:0}.entete__gauche,.entete__droite{align-items:center;gap:calc(var(--pas) * 4);min-width:0;display:flex}.entete__droite{justify-content:flex-end}.lien-nav{color:var(--olive);letter-spacing:.02em;white-space:nowrap;padding-block:calc(var(--pas) * .75);border-bottom:var(--trait) solid transparent;font-size:1.05rem;text-decoration:none;transition:border-color .25s,color .25s}.lien-nav:hover{color:var(--olive-profond);border-bottom-color:var(--olive-profond)}.marque{line-height:0;display:block}.marque img{width:auto;height:46px}.bouton-menu{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;padding:0;display:flex}.bouton-menu span{height:var(--trait);background:var(--olive);transition:width .3s;display:block}.bouton-menu span:first-child,.bouton-menu span:nth-child(2){width:100%}.bouton-menu span:nth-child(3){width:70%}.bouton-menu:hover span:nth-child(3){width:100%}.bouton-rsvp{padding:calc(var(--pas) * 1.6) calc(var(--pas) * 4);background:var(--olive);color:var(--blanc);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;border-radius:999px;font-size:.92rem;text-decoration:none;transition:background-color .25s;display:inline-block}.bouton-rsvp:hover{background:var(--olive-profond)}@media (width<=900px){.entete{grid-template-columns:1fr auto 1fr}.entete__gauche .lien-nav,.entete__droite .lien-nav{display:none}.marque img{height:40px}.entete .bouton-rsvp{padding:calc(var(--pas) * 1.4) calc(var(--pas) * 3);font-size:.82rem}}@media (width<=420px){.entete{padding-inline:calc(var(--pas) * 2);gap:calc(var(--pas) * 1.5)}.entete .bouton-rsvp{padding:calc(var(--pas) * 1.2) calc(var(--pas) * 2.2);letter-spacing:.1em;font-size:.76rem}.marque img{height:34px}}.menu{z-index:40;align-content:safe center;justify-items:center;gap:calc(var(--pas) * 5);padding:calc(var(--pas) * 11) calc(var(--pas) * 3) calc(var(--pas) * 6);background:var(--papier);color:var(--olive);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;display:grid;position:fixed;inset:0;overflow-y:auto}.menu[data-ouvert=true]{opacity:1;visibility:visible}.menu__fermer{top:calc(var(--pas) * 3);right:calc(var(--pas) * 3);border:var(--trait) solid transparent;width:2.75rem;height:2.75rem;color:var(--olive);cursor:pointer;transition:background-color .25s ease, color .25s ease, border-color .25s ease, transform .3s var(--courbe);background:0 0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute}.menu__fermer svg{width:1.35rem;height:1.35rem}.menu__fermer:hover{background:color-mix(in srgb, var(--olive) 12%, transparent);border-color:color-mix(in srgb, var(--olive) 30%, transparent);color:var(--olive-profond);transform:rotate(90deg)}.menu__marque{width:auto;height:68px}.menu__liste{justify-items:center;gap:calc(var(--pas) * 2.5);text-align:center;margin:0;padding:0;list-style:none;display:grid}.menu__lien{color:var(--olive);font-family:var(--font-texte);letter-spacing:.01em;padding-bottom:calc(var(--pas) * .75);border-bottom:var(--trait) solid transparent;font-size:clamp(1.75rem,4.4vw,2.6rem);line-height:1.25;text-decoration:none;transition:color .25s,border-color .25s;display:inline-block}.menu__lien:hover{color:var(--olive-profond);border-bottom-color:var(--olive-profond)}.menu__lien-rsvp{margin-top:calc(var(--pas) * 1.5);padding:calc(var(--pas) * 1.75) calc(var(--pas) * 5);font-size:1rem}.compte{justify-items:center;gap:calc(var(--pas) * 2);width:min(46rem,100%);display:grid}.compte--hero{left:50%;bottom:calc(var(--pas) * 4.5);z-index:2;width:min(46rem, calc(100% - var(--pas) * 6));color:var(--sur-media);position:absolute;translate:-50%}.compte--menu{width:min(34rem,100%);color:var(--olive)}.compte--pied{width:min(32rem,100%);margin-top:calc(var(--pas) * 3);color:var(--blanc)}.compte--pied .compte__valeur{font-size:clamp(1.3rem,3vw,1.8rem)}.compte__intitule{letter-spacing:.3em;text-transform:uppercase;opacity:.85;margin:0;font-size:.68rem}.compte__grille{justify-content:center;align-items:flex-start;gap:clamp(calc(var(--pas) * 3), 6vw, calc(var(--pas) * 8));width:100%;padding-top:calc(var(--pas) * 2.5);border-top:var(--trait) solid color-mix(in srgb, currentColor 38%, transparent);display:flex}.compte--menu .compte__valeur{font-size:clamp(1.35rem,3.2vw,1.9rem)}.compte__cellule{justify-items:center;gap:calc(var(--pas) * .5);min-width:3.6ch;display:grid}.compte__valeur{font-variant-numeric:tabular-nums;font-feature-settings:"lnum" 1;font-size:clamp(1.5rem,4vw,2.4rem);line-height:1}.compte__unite{letter-spacing:.24em;text-transform:uppercase;opacity:.8;font-size:.62rem}.section{padding:calc(var(--pas) * 14) calc(var(--pas) * 3)}.section--papier{background:var(--papier)}.section[id]{scroll-margin-top:calc(var(--header-h) + var(--pas) * 2)}.hero+.section{padding-top:calc(var(--pas) * 4)}.section__inner{gap:calc(var(--pas) * 5);max-width:58rem;margin:0 auto;display:grid}.section__titre{font-family:var(--font-script);text-wrap:balance;margin:0;font-size:clamp(2.2rem,5.5vw,3.4rem);font-weight:400;line-height:1.15}.section__chapeau{text-wrap:pretty;max-width:46ch;margin:0}.ornement{width:clamp(7.5rem,18vw,11rem);height:auto;color:var(--olive-clair);display:block}.pied{text-align:center;justify-items:center;gap:calc(var(--pas) * 2.5);padding:calc(var(--pas) * 12) calc(var(--pas) * 3);background:var(--olive);color:var(--blanc);display:grid}.pied img{filter:brightness(0)invert();width:auto;height:78px}.pied__noms{color:var(--blanc);font-family:var(--font-script);margin:0;font-size:clamp(2.2rem,5.5vw,3.1rem);line-height:1.15}.pied__infos{color:var(--blanc);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.94rem}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveler{animation:linear both reveler view();animation-range:entry 4% cover 24%}}}@keyframes reveler{0%{opacity:0;transform:translateY(1.6rem)}to{opacity:1;transform:none}}#chargement{z-index:9999;background:var(--blanc);transition:opacity .55s var(--courbe), visibility .55s;place-items:center;display:grid;position:fixed;inset:0}#chargement.chargement--fini{opacity:0;visibility:hidden}.chargement__in{align-items:center;gap:calc(var(--pas) * 2);flex-direction:column;display:flex}#chargement canvas{width:132px;height:132px}.chargement__noms{font-family:var(--font-script);color:var(--olive-profond);margin:0;font-size:clamp(2.2rem,6vw,2.9rem);line-height:1}.chargement__jauge{background:color-mix(in srgb, var(--olive-clair) 30%, transparent);border-radius:2px;width:160px;height:3px;position:relative}.chargement__jauge>.g,.chargement__jauge>.d{background:var(--olive);width:50%;height:100%;position:absolute;top:0}.chargement__jauge>.g{transform-origin:0;animation:jauge-cote 1.9s var(--courbe) infinite;left:0;transform:scaleX(0)}.chargement__jauge>.d{transform-origin:100%;animation:jauge-cote 1.9s var(--courbe) infinite;right:0;transform:scaleX(0)}.chargement__jauge>.p{width:6px;height:6px;animation:jauge-perle 1.9s var(--courbe) infinite;background:#c8a96a;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0);box-shadow:0 0 7px #c8a96ab3}@keyframes jauge-cote{0%{transform:scaleX(0)}55%,to{transform:scaleX(1)}}@keyframes jauge-perle{0%,50%{opacity:0;transform:translate(-50%,-50%)scale(0)}58%{opacity:1;transform:translate(-50%,-50%)scale(1.7)}75%,to{opacity:.9;transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.chargement__jauge>.g,.chargement__jauge>.d{animation:none;transform:scaleX(1)}.chargement__jauge>.p{opacity:1;animation:none;transform:translate(-50%,-50%)scale(1)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.pied__marque{animation:linear both poser view();animation-range:entry 10% entry 80%}.pied__noms{animation:linear both reveler view();animation-range:entry 25% entry 90%}.pied__infos{animation:linear both reveler view();animation-range:entry 40%}.compte--pied{animation:linear both reveler view();animation-range:entry 50%}}}.entete:after{content:"";background:var(--olive);transform-origin:0;width:100%;height:2px;position:absolute;bottom:0;left:0;transform:scaleX(0)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.entete:after{animation:linear both remplir scroll(root)}}}@keyframes remplir{to{transform:scaleX(1)}}@keyframes monter{0%{opacity:0;transform:translateY(1.4rem)}to{opacity:1;transform:none}}@keyframes monter-masque{0%{transform:translateY(105%)}to{transform:translateY(0)}}@keyframes poser{0%{opacity:0;transform:scale(.82)translateY(1.5rem)}to{opacity:1;transform:none}}@keyframes tracer{to{stroke-dashoffset:0}}.bouton{align-items:center;gap:calc(var(--pas) * 1.5);padding:calc(var(--pas) * 1.6) calc(var(--pas) * 4);border:2px solid var(--olive);color:var(--olive);letter-spacing:.16em;text-transform:uppercase;transition:background-color .3s ease, color .3s ease, border-color .3s ease, transform .25s var(--courbe);border-radius:999px;font-size:.88rem;text-decoration:none;display:inline-flex}.bouton:hover{background:var(--olive);color:var(--blanc);transform:translateY(-2px)}.bouton--plein{background:var(--olive);color:var(--blanc)}.bouton--plein:hover{background:var(--olive-profond);border-color:var(--olive-profond)}.bouton svg{width:1.15em;height:1.15em;transition:transform .35s var(--courbe);flex:none}.bouton:hover svg{transform:translate(6px)}
