:root{--wedding-bg: #fdfcfa;--wedding-surface: #fff;--wedding-text: #2c2c2c;--wedding-text-muted: #5c5c5c;--wedding-accent: #8b7355;--wedding-accent-soft: #c4b5a0;--wedding-border: #e8e4df;--wedding-on-dark-text: #f5f5f5;--wedding-on-dark-muted: #c9c9c9;--wedding-on-dark-accent: #e8dfd4;--wedding-on-dark-border: rgba(255, 255, 255, .35);--wedding-on-dark-shadow: 0 1px 3px rgba(0, 0, 0, .45);--wedding-font-sans: "DM Sans", system-ui, -apple-system, sans-serif;--wedding-font-serif: "Montserrat", "Georgia", serif;--wedding-font-cover-names: "Italianno", cursive;--wedding-space-xs: .25rem;--wedding-space-sm: .5rem;--wedding-space-md: 1rem;--wedding-space-lg: 1rem;--wedding-space-xl: 2rem;--wedding-space-2xl: 3rem;--wedding-space-3xl: 4rem;--wedding-radius: .5rem;--wedding-shadow: 0 2px 12px rgba(0, 0, 0, .06)}*,*:before,*:after{box-sizing:border-box}html{font-size:clamp(1rem,2vw + .5rem,1.125rem);-webkit-font-smoothing:antialiased}body{margin:0;font-family:var(--wedding-font-sans);color:var(--wedding-text);background:#000;line-height:1.6}section{padding:var(--wedding-space-xl)}.cover{text-align:center;max-width:36rem;margin:0 auto}.cover__bride,.cover__groom{font-family:var(--wedding-font-cover-names);font-size:clamp(2rem,5vw,3rem);font-weight:400;letter-spacing:.02em;color:var(--wedding-on-dark-text);text-shadow:var(--wedding-on-dark-shadow)}.cover__bride{margin-bottom:var(--wedding-space-xs)}.cover__groom{margin-bottom:var(--wedding-space-2xl)}.cover__verse{font-family:var(--wedding-font-serif);font-size:clamp(1rem,2vw,1.2rem);font-style:italic;color:var(--wedding-on-dark-muted);text-shadow:var(--wedding-on-dark-shadow);margin:0 0 var(--wedding-space-sm);padding:0;border:none;line-height:1.7}.cover__verse-reference{display:block;font-family:var(--wedding-font-sans);font-size:.9em;font-style:normal;color:var(--wedding-on-dark-accent);text-shadow:var(--wedding-on-dark-shadow)}.announcement{text-align:center;max-width:32rem;margin:0 auto}.announcement__intro{font-size:1.05rem;color:var(--wedding-on-dark-muted);text-shadow:var(--wedding-on-dark-shadow);margin:0 0 var(--wedding-space-lg);line-height:1.7}.announcement__event-label{font-family:var(--wedding-font-serif);font-size:clamp(1.5rem,3vw,2rem);font-weight:500;color:var(--wedding-on-dark-text);text-shadow:var(--wedding-on-dark-shadow);margin:0 0 var(--wedding-space-xl);letter-spacing:.02em}.announcement__date,.announcement__time{font-size:1.1rem;font-weight:500;color:var(--wedding-on-dark-accent);text-shadow:var(--wedding-on-dark-shadow);margin-bottom:var(--wedding-space-sm)}.announcement__location{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--wedding-space-xs) var(--wedding-space-md);margin-top:var(--wedding-space-lg);font-size:.95rem;color:var(--wedding-on-dark-muted);text-shadow:var(--wedding-on-dark-shadow)}.reception{text-align:center;max-width:32rem;margin:0 auto}.reception__intro{font-size:1.05rem;color:var(--wedding-on-dark-muted);text-shadow:var(--wedding-on-dark-shadow);margin:0 0 var(--wedding-space-lg);line-height:1.7}.reception__date,.reception__time{font-size:1.1rem;font-weight:500;color:var(--wedding-on-dark-accent);text-shadow:var(--wedding-on-dark-shadow);margin-bottom:var(--wedding-space-sm)}.reception__location{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--wedding-space-xs) var(--wedding-space-md);margin-top:var(--wedding-space-lg);font-size:.95rem;color:var(--wedding-on-dark-muted);text-shadow:var(--wedding-on-dark-shadow)}.info{text-align:left;max-width:28rem;margin:0 auto;padding:var(--wedding-space-lg);background:transparent;border-radius:var(--wedding-radius)}.info__title{font-family:var(--wedding-font-serif);font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:500;margin:0 0 var(--wedding-space-lg);color:var(--wedding-on-dark-text);text-shadow:var(--wedding-on-dark-shadow)}.info__answer-deadline{font-size:.95rem;color:var(--wedding-on-dark-accent);text-shadow:var(--wedding-on-dark-shadow);margin-bottom:var(--wedding-space-sm)}.info__answer-actions{margin-top:var(--wedding-space-2xl);display:flex;flex-direction:column;align-items:center;gap:var(--wedding-space-md)}.info__submit-button{font-family:var(--wedding-font-sans)}.info__submit-error{margin:0;font-size:.9rem;color:#f8b4b4;text-shadow:var(--wedding-on-dark-shadow)}.info__content-infos{display:flex;flex-direction:column;gap:var(--wedding-space-md);margin-bottom:var(--wedding-space-2xl)}.info__info-item{font-size:.95rem;line-height:1.6}.info__info-label{font-weight:600;color:var(--wedding-on-dark-text);text-shadow:var(--wedding-on-dark-shadow)}.info__info-content{color:var(--wedding-on-dark-muted);text-shadow:var(--wedding-on-dark-shadow)}.info__content-questions{display:flex;flex-direction:column;gap:var(--wedding-space-2xl)}.info__question-fieldset{border:1px solid var(--wedding-on-dark-border);border-radius:var(--wedding-radius);padding:var(--wedding-space-lg);margin:0;min-inline-size:0}.info__question-label{font-weight:600;font-size:1rem;color:var(--wedding-on-dark-text);text-shadow:var(--wedding-on-dark-shadow);padding:0 var(--wedding-space-xs);margin-bottom:var(--wedding-space-md)}.info__question-options{display:flex;flex-direction:column;gap:var(--wedding-space-sm)}.info__question-option{font-size:.95rem;color:var(--wedding-on-dark-text);text-shadow:var(--wedding-on-dark-shadow)}.ending{text-align:center;max-width:36rem;margin:0 auto}.ending__verse{font-family:var(--wedding-font-serif);font-size:clamp(1rem,2vw,1.2rem);font-style:italic;color:var(--wedding-on-dark-muted);text-shadow:var(--wedding-on-dark-shadow);margin:0 0 var(--wedding-space-sm);padding:0;border:none;line-height:1.7}.ending__verse-reference{display:block;font-family:var(--wedding-font-sans);font-size:.9em;font-style:normal;color:var(--wedding-on-dark-accent);text-shadow:var(--wedding-on-dark-shadow);margin-bottom:var(--wedding-space-xl)}.ending__thanks{font-size:1.05rem;color:var(--wedding-on-dark-muted);text-shadow:var(--wedding-on-dark-shadow);margin:0;line-height:1.7}section .info .MuiButton-root{color:var(--wedding-on-dark-text);border:1px solid var(--wedding-on-dark-border);background:#ffffff1f}section .info .MuiButton-root:hover{background:#fff3}section .info .MuiRadio-root,section .info .MuiCheckbox-root{color:var(--wedding-on-dark-muted)}section .info .MuiRadio-root.Mui-checked,section .info .MuiCheckbox-root.Mui-checked{color:var(--wedding-on-dark-accent)}section a:focus-visible,section button:focus-visible,section [role=radio]:focus-visible,section [role=checkbox]:focus-visible{outline:2px solid var(--wedding-on-dark-accent);outline-offset:2px}@keyframes curtain-idle-left{0%{transform:translate(0) rotate(0);filter:brightness(1);background-position:0 0,0 0,0 0}25%{transform:translate(2px) rotate(-.2deg);filter:brightness(1.02);background-position:6px 0,2px 0,0 0}50%{transform:translate(0) rotate(.15deg);filter:brightness(.99);background-position:12px 0,4px 0,0 0}75%{transform:translate(-2px) rotate(-.1deg);filter:brightness(1.01);background-position:6px 0,2px 0,0 0}to{transform:translate(0) rotate(0);filter:brightness(1);background-position:0 0,0 0,0 0}}@keyframes curtain-idle-right{0%{transform:translate(0) rotate(0);filter:brightness(1);background-position:0 0,0 0,0 0}25%{transform:translate(-2px) rotate(.2deg);filter:brightness(1.02);background-position:-6px 0,-2px 0,0 0}50%{transform:translate(0) rotate(-.15deg);filter:brightness(.99);background-position:-12px 0,-4px 0,0 0}75%{transform:translate(2px) rotate(.1deg);filter:brightness(1.01);background-position:-6px 0,-2px 0,0 0}to{transform:translate(0) rotate(0);filter:brightness(1);background-position:0 0,0 0,0 0}}@keyframes curtain-open-left{0%{transform:translate(0) rotate(0)}55%{transform:translate(-103%) rotate(-.7deg)}75%{transform:translate(-98%) rotate(.25deg)}to{transform:translate(-100%) rotate(0)}}@keyframes curtain-open-right{0%{transform:translate(0) rotate(0)}55%{transform:translate(103%) rotate(.7deg)}75%{transform:translate(98%) rotate(-.25deg)}to{transform:translate(100%) rotate(0)}}@media(prefers-reduced-motion:reduce){.curtain-panel--left.is-open{animation:none!important;transform:translate(-100%)!important}.curtain-panel--right.is-open{animation:none!important;transform:translate(100%)!important}}.curtain-panel{position:relative}.curtain-edge{position:absolute;top:0;bottom:0;width:18px;opacity:.85;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(90deg,#ffffff1f,#fff0);filter:blur(.9px)}.curtain-edge--left{right:0;animation:edgeFlutterLeft 3.2s ease-in-out infinite}.curtain-edge--right{left:0;transform:scaleX(-1);animation:edgeFlutterRight 3.2s ease-in-out infinite}@keyframes edgeFlutterLeft{0%,to{transform:translate(0);opacity:.25}50%{transform:translate(-6px);opacity:.45}}@keyframes edgeFlutterRight{0%,to{transform:translate(0);opacity:.25}50%{transform:translate(6px);opacity:.45}}
