@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,500;1,700&family=Great+Vibes&display=swap";@font-face{font-family:WeddingSerif;src:local(Baskerville),local(Baskerville-Regular),local(Libre Baskerville);font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:WeddingSerif;src:local(Snell Roundhand),local(SnellRoundhand),local(Snell Roundhand Script);font-style:italic;font-weight:400 700;font-display:swap}:root{--color-ink:#5c3f1f;--color-ink-soft:#8b6a3f;--color-gold:#b08951;--color-gold-deep:#8b6a3f;--color-gold-soft:#d4b87f;--color-rose:#d99b8f;--color-sky:#c5d4d1;--color-cream:#faf3e0;--color-paper:#fcf6e7;--color-paper-warm:#f8edd1;--color-line:#b0895147;--color-line-soft:#b0895124;--color-focus:#b08951;--font-script:"Snell Roundhand", "SnellRoundhand", "Great Vibes", cursive;--font-serif:"WeddingSerif", "Baskerville", "Libre Baskerville", "Cormorant Garamond", serif;--radius-card:22px;--radius-pill:999px;--shadow-card:0 18px 48px #6e4b2329;--shadow-soft:0 12px 28px #6e4b231f;--shadow-paper:0 8px 20px #6e4b231a;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--content-max:760px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:radial-gradient(circle at top,#fff7e3 0%,#faecc6 38%,#f5e4b8 100%);scroll-padding-top:18px}body{font-family:var(--font-serif);color:var(--color-ink);background:0 0;min-height:100vh;padding:0}#root{width:min(100%, var(--content-max));background:radial-gradient(120% 90% at 50% 0%, #fffae8e6, #fcf6e7f2 60%), var(--color-paper);box-shadow:none;border:0;border-radius:0;margin:0 auto;overflow:clip}h1,h2,h3{color:var(--color-gold-deep);letter-spacing:.04em;font-style:italic;font-weight:600}@keyframes slideInUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-slide-up{animation:.9s ease-out both slideInUp}.animate-fade-in{animation:1.1s ease-out both fadeIn}.text-center{text-align:center}.app-container{flex-direction:column;display:flex}.music-player-frame{opacity:0;pointer-events:none;z-index:-1;width:1px;height:1px;position:fixed}.music-toggle-btn{z-index:40;border:1px solid color-mix(in srgb, var(--color-gold) 65%, white);background:color-mix(in srgb, var(--color-paper) 88%, var(--color-gold-soft));color:var(--color-gold-deep);cursor:pointer;opacity:.92;border-radius:999px;place-items:center;width:42px;height:42px;padding:0;transition:transform .18s,border-color .18s,background-color .18s,opacity .18s;display:grid;position:fixed;bottom:clamp(.65rem,2vw,1.1rem);right:clamp(.65rem,2vw,1.1rem);box-shadow:0 6px 14px #6e4b232e}.music-toggle-btn:before{content:"♪";font-size:1.2rem;line-height:1}.music-toggle-btn:after{content:"";background:var(--color-gold-deep);transform-origin:50%;width:20px;height:2px;transition:transform .18s;position:absolute;transform:rotate(-38deg)scaleX(0)}.music-toggle-btn.is-playing{border-color:var(--color-gold);background:color-mix(in srgb, var(--color-paper) 80%, var(--color-gold-soft));opacity:1}.music-toggle-btn.is-muted:after{transform:rotate(-38deg)scaleX(1)}.music-toggle-btn:hover,.music-toggle-btn:focus-visible{border-color:var(--color-gold-deep);opacity:1;transform:translateY(-1px)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.main-content{flex-direction:column;gap:0;display:flex}.intro-screen{z-index:100;overscroll-behavior:contain;touch-action:none;will-change:transform, opacity;background:#f9f2d8;flex-direction:column;justify-content:center;align-items:center;gap:0;height:100svh;padding:0;transition:transform .85s cubic-bezier(.7,0,.2,1),opacity .7s ease-in;display:flex;position:fixed;inset:0;overflow:hidden}.intro-screen.is-leaving{opacity:0;transform:translateY(-100%)}.intro-screen .intro-cta,.intro-screen .intro-video-frame{touch-action:auto}.intro-screen .intro-video-frame,.intro-screen .intro-cta{transition:transform .6s cubic-bezier(.7,0,.2,1),opacity .35s ease-in}.intro-screen.is-leaving .intro-cta{opacity:0;transition:transform .22s ease-out,opacity .22s ease-out;transform:translate(-50%)scale(.94)}.intro-screen.is-leaving .intro-video-frame{opacity:.6;transform:translateY(-2%)}.intro-portrait{object-fit:contain;filter:drop-shadow(0 6px 24px #6e4b2314);transform-origin:50%;width:auto;max-width:100%;height:100%;max-height:100%;margin:0 auto;animation:1.6s cubic-bezier(.22,.61,.36,1) both portraitEntrance,6.5s ease-in-out 1.6s infinite alternate portraitBreathe;display:block}.intro-screen .intro-video-frame{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}.intro-video{object-fit:cover;width:100%;height:100%;box-shadow:none;background:0 0;border-radius:0;display:block}@keyframes portraitEntrance{0%{opacity:0;filter:blur(8px)drop-shadow(0 0 #6e4b2300);transform:scale(.94)}60%{filter:blur()drop-shadow(0 6px 24px #6e4b2314)}to{opacity:1;filter:blur()drop-shadow(0 6px 24px #6e4b2314);transform:scale(1)}}@keyframes portraitBreathe{0%{filter:drop-shadow(0 6px 24px #6e4b2314);transform:translateY(0)scale(1)}to{filter:drop-shadow(0 12px 30px #6e4b231f);transform:translateY(-6px)scale(1.012)}}@media (prefers-reduced-motion:reduce){.intro-portrait{animation:none}}@media (width>=720px){.intro-video-placeholder{aspect-ratio:16/9;width:100%;min-height:0;max-height:100%;margin:0 auto}.intro-portrait{max-width:100%;max-height:100svh}.intro-video{object-fit:contain;background:#f9f2d8}.intro-cta{padding:.6rem 1.4rem;font-size:clamp(.95rem,1.1vw,1.05rem)}}.intro-video-placeholder{aspect-ratio:9/16;background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--color-gold-soft) 18%, var(--color-paper)) 0 14px, color-mix(in srgb, var(--color-gold-soft) 32%, var(--color-paper)) 14px 28px);border:1px dashed color-mix(in srgb, var(--color-gold) 45%, transparent);width:100%;height:100%;min-height:50svh;max-height:100%;color:var(--color-gold-deep);border-radius:14px;place-items:center;display:grid}.intro-video-placeholder-text{letter-spacing:.18em;text-transform:uppercase;opacity:.7;background:color-mix(in srgb, var(--color-paper) 88%, white);border-radius:6px;padding:.4rem .8rem;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(.95rem,3.4vw,1.1rem)}.intro-cta{left:50%;bottom:max(env(safe-area-inset-bottom,0px), 1.2rem);z-index:2;border:1px solid color-mix(in srgb, var(--color-gold) 55%, transparent);background:color-mix(in srgb, var(--color-paper) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-height:0;color:var(--color-gold-deep);letter-spacing:.08em;text-transform:none;cursor:pointer;border-radius:999px;align-self:center;padding:.55rem 1.3rem;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(.78rem,2.6vw,.92rem);font-style:normal;font-weight:500;transition:transform .18s,background-color .18s,color .18s,border-color .18s,box-shadow .18s;position:absolute;transform:translate(-50%);box-shadow:0 2px 6px #6e4b231a}.intro-cta:hover,.intro-cta:focus-visible{color:var(--color-paper);background:var(--color-gold);border-color:var(--color-gold-deep);transform:translateY(-1px);box-shadow:0 4px 10px #6e4b232e}.hero-menu{background:#f9f2d8;border-bottom:0;align-content:center;justify-items:center;gap:clamp(1.7rem,4.5vw,3.2rem);min-height:100svh;padding:clamp(2rem,7vw,4.5rem) 1.1rem clamp(2.1rem,6vw,3.6rem);display:grid;position:relative}.hero-menu:before{content:none}.hero-menu-mark{color:var(--color-gold-deep);justify-items:center;display:grid;position:relative}.hero-menu-logo{transform-origin:50%;width:clamp(280px,82vw,460px);height:auto;animation:7s ease-in-out infinite alternate logoBreathe;display:block}@keyframes logoBreathe{0%{transform:translateY(0)scale(1)}to{transform:translateY(-4px)scale(1.01)}}@media (prefers-reduced-motion:reduce){.hero-menu-logo{animation:none}}.hero-dates{text-align:center;grid-template-columns:1fr 1fr;justify-self:center;place-items:start center;gap:0;width:100%;max-width:min(34rem,92vw);margin:0 auto;padding:0;display:grid}.hero-date{flex-direction:column;justify-content:start;align-items:center;gap:min(.45rem,1.2vw);min-width:0;display:flex}.hero-date-label{letter-spacing:.2em;text-transform:uppercase;color:var(--color-ink-soft);opacity:.9;white-space:nowrap;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:min(1.1rem,3.6vw);font-style:normal;font-weight:500;line-height:1.1}.hero-date-value{color:var(--color-gold-deep);letter-spacing:.015em;white-space:nowrap;font-size:min(1.55rem,5vw);font-style:italic;font-weight:600;line-height:1}.hero-countdown{width:100%;max-width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;flex-wrap:nowrap;justify-content:center;justify-self:stretch;align-items:stretch;gap:min(1.6rem,3vw);margin-top:min(1rem,1.4vw);padding:0 min(.6rem,2vw);display:flex}.hero-countdown-item{border-right:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:min(.6rem,1.6vw);min-width:0;padding:0 min(.5rem,1vw);display:flex}.hero-countdown-item:last-child{border-right:0}.hero-countdown-value{color:var(--color-gold-deep);letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:min(3.6rem,9.5vw);font-style:italic;font-weight:600;line-height:1}.hero-countdown-unit{color:var(--color-ink-soft);letter-spacing:.18em;text-transform:uppercase;opacity:.92;white-space:nowrap;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:min(1.05rem,3.2vw);font-style:normal;font-weight:500;line-height:1}.invitation-section{background:0 0;border:0;width:100%;margin:0;padding:0;display:block;position:relative}.reveal-on-scroll{opacity:0;will-change:opacity, transform;transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1);transform:translateY(24px)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1;transition:none;transform:none}}.invitation-frame{width:100%;margin:0;padding:0;font-size:0;line-height:0;display:block;position:relative}.invitation-image{width:100%;max-width:100%;height:auto;box-shadow:none;vertical-align:top;border:0;border-radius:0;margin:0;padding:0;display:block}.invitation-actions{z-index:3;flex-direction:column;align-items:center;gap:.45rem;display:flex;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}#mairie .invitation-actions{bottom:23%}#houpa .invitation-actions{bottom:10%}#soiree .invitation-actions{bottom:4%}.invitation-calendar{color:var(--color-gold-deep);letter-spacing:.04em;opacity:.8;background:color-mix(in srgb, var(--color-paper) 35%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:4px;padding:.05rem .4rem;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(.46rem,1.2vw,.56rem);text-decoration:none;transition:opacity .18s,color .18s}.invitation-calendar:hover,.invitation-calendar:focus-visible{opacity:1;color:var(--color-gold)}.invitation-link{z-index:3;border:1px solid color-mix(in srgb, var(--color-gold) 38%, transparent);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-paper) 55%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);min-height:0;color:var(--color-gold-deep);letter-spacing:.04em;text-transform:none;justify-content:center;align-items:center;gap:.18rem;padding:.08rem .45rem;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(.5rem,1.5vw,.6rem);font-style:normal;font-weight:500;line-height:1.1;text-decoration:none;transition:transform .22s,background-color .22s,color .22s,border-color .22s,box-shadow .22s;display:inline-flex;box-shadow:0 1px 4px #6e4b2314}.invitation-link:after{content:"";opacity:.85;background-color:currentColor;flex-shrink:0;width:.7em;height:.7em;display:inline-block;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><line x1='7' y1='17' x2='17' y2='7'/><polyline points='8 7 17 7 17 16'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><line x1='7' y1='17' x2='17' y2='7'/><polyline points='8 7 17 7 17 16'/></svg>") 50%/contain no-repeat}.invitation-link:hover,.invitation-link:focus-visible{color:var(--color-paper);background:var(--color-gold);border-color:var(--color-gold-deep);transform:translateY(-1px);box-shadow:0 4px 10px #6e4b232e}.rsvp-section{background:linear-gradient(#d4b87f29,#d4b87f0a);padding:clamp(2rem,5.5vw,3.4rem) clamp(.9rem,3.5vw,2.4rem);position:relative;overflow:hidden}.rsvp-lang-toggle{letter-spacing:.18em;justify-content:center;align-items:center;gap:.35rem;margin:0 auto clamp(.8rem,2.5vw,1.2rem);font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(.62rem,1.6vw,.7rem);display:flex}.rsvp-lang-btn{color:var(--color-ink-soft);font-family:inherit;font-size:inherit;letter-spacing:inherit;cursor:pointer;opacity:.62;background:0 0;border:none;border-radius:3px;padding:.15rem .35rem;transition:color .18s,opacity .18s}.rsvp-lang-btn:hover,.rsvp-lang-btn:focus-visible{color:var(--color-gold-deep);opacity:1}.rsvp-lang-btn.is-active{color:var(--color-gold-deep);opacity:1;font-weight:600}.rsvp-lang-sep{color:var(--color-line);-webkit-user-select:none;user-select:none}[dir=rtl] .rsvp-form,[dir=rtl] .attendance-card,[dir=rtl] .rsvp-heading{text-align:right}[dir=rtl] .attendance-radio-group{justify-content:flex-start}[dir=rtl] .attendance-count-trigger{text-align:right;justify-self:end}[dir=rtl] .submit-btn{letter-spacing:.02em}.petals-rain{pointer-events:none;z-index:4;position:absolute;inset:0;overflow:hidden}.petal{filter:drop-shadow(0 1px 2px #6e4b2314);will-change:transform, opacity;animation-name:petalFall;animation-timing-function:cubic-bezier(.45,.05,.55,.95);animation-iteration-count:infinite;animation-fill-mode:forwards;display:inline-block;position:absolute;top:-6%}@keyframes petalFall{0%{transform:translate3d(0, 0, 0) rotate(var(--spin-start,0deg));opacity:0}10%{opacity:1}50%{transform:translate3d(calc(var(--drift,0px) * .5), 240px, 0) rotate(calc((var(--spin-start,0deg) + var(--spin-end,0deg)) / 2))}85%{opacity:1}to{transform:translate3d(var(--drift,0px), 540px, 0) rotate(var(--spin-end,360deg));opacity:0}}@media (prefers-reduced-motion:reduce){.petals-rain{display:none}}.rsvp-heading{text-align:center;gap:.25rem;margin:0 auto clamp(1rem,3vw,1.4rem);display:grid}.rsvp-heading-title{font-family:var(--font-script);letter-spacing:.015em;color:var(--color-gold-deep);font-size:clamp(2.6rem,9.5vw,4.2rem);font-style:normal;font-weight:400;line-height:.92}.rsvp-heading-subtitle{color:var(--color-ink-soft);font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(1rem,3.5vw,1.22rem);font-style:normal}.rsvp-form{background:color-mix(in srgb, var(--color-paper) 88%, white);border:1px solid var(--color-line);width:min(100%,620px);box-shadow:var(--shadow-soft);border-radius:14px;flex-direction:column;gap:clamp(1rem,3.2vw,1.4rem);margin:0 auto;padding:clamp(1rem,4vw,1.7rem);display:flex}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.rsvp-name-group label{font-size:clamp(1.05rem,3.6vw,1.2rem)}fieldset{min-inline-size:0}label,legend{color:var(--color-ink);font-size:clamp(1rem,3.5vw,1.13rem);font-style:italic;font-weight:600}input[type=text],input[type=email],input[type=number],textarea{border:1px solid var(--color-line);width:100%;color:var(--color-ink);background:color-mix(in srgb, var(--color-paper) 90%, white);border-radius:10px;padding:.78rem .9rem;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(1rem,3.6vw,1.08rem);transition:border-color .18s,box-shadow .18s,background-color .18s}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--color-ink-soft) 70%, white);opacity:1;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-style:normal}textarea{resize:vertical;min-height:6rem}input[type=number]{text-align:center;width:72px}.form-choice{border:1px solid var(--color-line-soft);padding:var(--space-4);gap:var(--space-3);border-radius:12px;display:grid}.form-radio-group{gap:var(--space-2);display:grid}.radio-label{cursor:pointer;align-items:center;gap:.6rem;min-height:36px;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(1rem,3.6vw,1.08rem);font-style:normal;display:inline-flex}.radio-label input{accent-color:var(--color-gold-deep);width:20px;height:20px}.attendance-card{border:1px solid var(--color-line);background:color-mix(in srgb, var(--color-paper) 80%, var(--color-paper-warm));border-radius:12px;gap:.85rem;padding:clamp(.9rem,3.5vw,1.35rem);display:grid}.attendance-card legend{color:var(--color-gold-deep);white-space:nowrap;padding-inline:.25rem;font-size:clamp(.95rem,3.4vw,1.35rem);font-style:italic}.attendance-radio-group{align-items:center;gap:clamp(1.2rem,5vw,1.8rem);display:flex}.attendance-date-note{color:var(--color-ink-soft);margin-top:-.15rem;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(.94rem,3.2vw,1.1rem);font-style:normal}.attendance-count-trigger{border:1px solid var(--color-gold);background:color-mix(in srgb, var(--color-paper) 80%, var(--color-paper-warm));color:var(--color-gold-deep);cursor:pointer;text-align:left;border-radius:10px;justify-self:start;min-height:44px;padding:.65rem .9rem;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(.96rem,3.4vw,1.1rem);font-style:normal;transition:border-color .18s,transform .18s,background-color .18s}.attendance-count-trigger--guests{flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.attendance-count-trigger-line{display:inline-block}.attendance-count-trigger-names{color:color-mix(in srgb, var(--color-gold-deep) 78%, var(--color-paper));word-break:break-word;font-size:clamp(.78rem,2.7vw,.88rem);font-style:italic;line-height:1.35;display:block}[dir=rtl] .attendance-count-trigger{text-align:right}[dir=rtl] .attendance-count-trigger--guests{align-items:flex-end}.attendance-count-trigger:hover,.attendance-count-trigger:focus-visible{border-color:var(--color-gold-deep);background:color-mix(in srgb, var(--color-paper-warm) 80%, var(--color-gold-soft));transform:translateY(-1px)}.rsvp-error{color:#874336;background:#fefcfb;border:1px solid #d29c94;border-radius:10px;padding:.6rem .75rem;font-size:1rem}.submit-btn{margin-top:var(--space-2);border:1px solid var(--color-gold-deep);background:linear-gradient(180deg, var(--color-gold) 0%, var(--color-gold-deep) 100%);min-height:48px;color:var(--color-paper);letter-spacing:.05em;cursor:pointer;border-radius:12px;padding:.85rem 1rem;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(1.05rem,3.8vw,1.18rem);font-style:normal;font-weight:600;transition:transform .18s,box-shadow .18s,filter .18s;box-shadow:0 6px 14px #6e4b232e}.submit-btn:hover,.submit-btn:focus-visible{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 10px 22px #6e4b2347}.count-modal-overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f1b1557;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.count-modal{background:var(--color-paper);border:1px solid var(--color-gold-soft);border-radius:16px;gap:1rem;width:min(100%,420px);padding:1.15rem 1rem;display:grid;box-shadow:0 20px 50px #6e4b2347}.count-modal--guests{width:min(100%,460px)}.guest-list{gap:.55rem;max-height:50svh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.guest-row{align-items:center;gap:.55rem;display:flex}.guest-row-num{text-align:center;width:1.6rem;color:var(--color-gold-deep);flex-shrink:0;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(.95rem,3.4vw,1.05rem);font-weight:600}.guest-row-input{flex:1;min-width:0;border-radius:8px!important;padding:.55rem .7rem!important;font-size:clamp(.95rem,3.4vw,1.02rem)!important}.guest-row-remove{border:1px solid color-mix(in srgb, var(--color-gold) 35%, transparent);background:color-mix(in srgb, var(--color-paper) 90%, transparent);width:32px;height:32px;color:var(--color-gold-deep);cursor:pointer;border-radius:999px;flex-shrink:0;place-items:center;font-size:1.15rem;line-height:1;transition:background-color .18s,border-color .18s,color .18s;display:grid}.guest-row-remove:hover,.guest-row-remove:focus-visible{background:color-mix(in srgb, #b65f52 18%, var(--color-paper));color:#874336;border-color:#b65f5280}.guest-add-btn{border:1px dashed color-mix(in srgb, var(--color-gold) 50%, transparent);color:var(--color-gold-deep);cursor:pointer;background:0 0;border-radius:999px;justify-self:center;padding:.4rem .95rem;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(.85rem,2.9vw,.95rem);transition:background-color .18s,border-color .18s}.guest-add-btn:hover,.guest-add-btn:focus-visible{background:color-mix(in srgb, var(--color-paper-warm) 60%, var(--color-gold-soft));border-style:solid}.count-modal-title{text-align:center;color:var(--color-gold-deep);font-size:clamp(1.15rem,4vw,1.42rem);font-style:italic}.count-stepper{justify-content:center;align-items:center;gap:1rem;display:flex}.count-stepper-btn{border:1px solid var(--color-gold);background:color-mix(in srgb, var(--color-paper) 80%, var(--color-paper-warm));width:44px;height:44px;color:var(--color-gold-deep);cursor:pointer;border-radius:999px;font-size:1.5rem;line-height:1;transition:background-color .18s,transform .18s}.count-stepper-btn:hover,.count-stepper-btn:focus-visible{background:color-mix(in srgb, var(--color-paper-warm) 70%, var(--color-gold-soft));transform:translateY(-1px)}.count-stepper-value{text-align:center;min-width:3ch;color:var(--color-gold-deep);font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:clamp(1.9rem,7vw,2.5rem);font-style:normal;font-weight:600;line-height:1}.count-modal-actions{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.count-modal-btn{border:1px solid var(--color-gold-deep);background:linear-gradient(180deg, var(--color-gold) 0%, var(--color-gold-deep) 100%);min-height:44px;color:var(--color-paper);cursor:pointer;border-radius:10px;padding:.7rem;font-family:Baskerville,Libre Baskerville,Cormorant Garamond,serif;font-size:1.04rem;font-style:normal;font-weight:600}.count-modal-btn--ghost{background:color-mix(in srgb, var(--color-paper) 80%, var(--color-paper-warm));color:var(--color-gold-deep);border-color:var(--color-gold)}.rsvp-success{text-align:center;gap:var(--space-3);width:min(100%,480px);margin:0 auto;display:grid}.subtitle{color:var(--color-ink-soft);font-size:clamp(1.1rem,3.8vw,1.3rem);font-style:italic;line-height:1.55}.footer{text-align:center;border-top:1px solid var(--color-line-soft);color:var(--color-ink);background:radial-gradient(120% 100% at 50% 100%,#d4b87f38,#0000 65%),linear-gradient(#fffae899,#d4b87f1f);padding:clamp(1.6rem,5vw,2.4rem) clamp(1rem,4vw,2rem);position:relative}.footer:before{content:"✦";color:var(--color-gold);opacity:.65;margin-bottom:.4rem;font-size:1rem;display:block}.footer p{color:var(--color-gold-deep);font-size:clamp(1.05rem,3.6vw,1.25rem);font-style:italic}.footer .copyright{margin-top:var(--space-3);letter-spacing:.02em;color:var(--color-ink-soft);opacity:.8;font-size:clamp(.78rem,2.6vw,.9rem);font-style:normal}.footer .footer-link{color:inherit;text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:.5px;transition:color .18s}.footer .footer-link:hover,.footer .footer-link:focus-visible{color:var(--color-gold-deep)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}input:focus,textarea:focus{border-color:var(--color-focus);background:color-mix(in srgb, var(--color-paper) 92%, white);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-gold) 22%, transparent)}@media (width<=620px){body{padding:0}#root{border-radius:0}.music-toggle-btn{width:40px;height:40px;bottom:.6rem;right:.6rem}.hero-menu{gap:1.4rem;min-height:100svh;padding-top:2rem;padding-bottom:1.9rem}.hero-menu-mark:after{margin-top:.45rem}.hero-countdown{width:100%;padding-inline:.2rem}.attendance-radio-group{flex-wrap:wrap;gap:1.1rem}.attendance-count-trigger{text-align:left;width:100%}.count-modal{padding:1rem .85rem}.count-modal-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation:none!important}}
