@font-face{font-family:Marianna;src:url(/fonts/marianna.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:CormorantSC;src:url(/fonts/cormorant-sc.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ScriptThin;src:url(/fonts/script-thin.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--milk: #faf7f2;--milk-deep: #f3eee6;--beige: #e4dcd4;--taupe: #c8bfaa;--taupe-deep: #7e705b;--sage: #a0ab94;--ink: #2e2e2e;--ink-soft: rgba(12, 12, 11, .61);--dark: #161616;--max: 430px;--display: "Playfair Display", Georgia, serif;--script: "Marianna", Georgia, cursive;--sc: "CormorantSC", Georgia, serif;--body: "Manrope", system-ui, sans-serif;color:var(--ink);background:#111;font-family:var(--body);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:#111}button,input,fieldset{font:inherit}fieldset{border:0;margin:0;padding:0}ul{list-style:none;margin:0;padding:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.app-shell{min-height:100vh;display:flex;justify-content:center}.page{width:100%;max-width:var(--max);background:var(--milk);position:relative;overflow:hidden;min-height:100vh}.cover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;justify-content:center;background:#000}.cover__bg{position:absolute;top:0;right:0;bottom:0;left:0;max-width:var(--max);margin:0 auto;overflow:hidden;background:var(--beige) url(/images/m7-silk.jpg) center / cover no-repeat}.cover__bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(0turn,#c9b6a447,#faf7f259);pointer-events:none}.cover__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.cover__video::-webkit-media-controls,.cover__video::-webkit-media-controls-enclosure,.cover__video::-webkit-media-controls-panel,.cover__video::-webkit-media-controls-start-playback-button,.hero__video::-webkit-media-controls,.hero__video::-webkit-media-controls-enclosure,.hero__video::-webkit-media-controls-panel,.hero__video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important}.cover__content{position:relative;z-index:1;width:100%;max-width:var(--max);min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.4rem 3rem;text-align:center;color:var(--ink)}.cover__eyebrow{margin:0 0 1.4rem;font-family:var(--sc);letter-spacing:.28em;text-transform:uppercase;font-size:.78rem}.cover__mono{display:flex;align-items:center;gap:.7rem;font-family:var(--display);font-size:clamp(4rem,18vw,5.4rem);line-height:1;font-weight:500}.cover__mono svg{width:1.1rem;height:1.1rem;fill:currentColor}.cover__parents{margin:.7rem 0 0;font-family:var(--script);font-size:4rem}.cover__line{width:min(78%,280px);margin:2.2rem 0 1.5rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.55rem;color:var(--ink)}.cover__line span{height:1px;background:currentColor;opacity:.55}.cover__line svg{width:1.15rem;height:1.15rem}.cover__hint{margin:0 0 1.1rem;font-size:.82rem;letter-spacing:.04em;color:var(--ink-soft)}.cover__slider{--swipe-padding: 5px;--handle-size: 50px;position:relative;width:min(300px,calc(100vw - 40px));height:60px;border-radius:100px;background:#ffffff1f;border:1px solid rgba(255,255,255,.62);overflow:hidden;display:flex;align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 30px #0000000f,inset 0 0 0 1px #ffffff0d;touch-action:none;-webkit-user-select:none;user-select:none;transition:opacity .35s ease,transform .35s ease}.cover__slider.is-done{opacity:0;transform:scale(.97)}.cover__slider-fill{position:absolute;top:var(--swipe-padding);bottom:var(--swipe-padding);left:var(--swipe-padding);border-radius:100px;background:#ffffff29;pointer-events:none;transition:width .42s cubic-bezier(.22,.8,.35,1)}.cover__slider.is-dragging .cover__slider-fill{transition:none}.cover__slider-label{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;margin:0;display:flex;align-items:center;justify-content:center;padding:0 18px 0 calc(var(--handle-size) + 28px);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#ffffffeb;pointer-events:none}.cover__knob{position:absolute;left:var(--swipe-padding);top:var(--swipe-padding);width:var(--handle-size);height:var(--handle-size);border:1px solid rgba(255,255,255,.82);border-radius:50%;background:#fffffff0;color:#282828;cursor:grab;z-index:3;display:grid;place-items:center;box-shadow:0 6px 18px #00000024,inset 0 0 0 1px #ffffff80;touch-action:none}.cover__knob:active{cursor:grabbing}.cover__arrow{position:relative;width:18px;height:14px;display:block}.cover__arrow:before{content:"";position:absolute;top:50%;left:1px;width:15px;height:1.5px;border-radius:2px;background:#282828;transform:translateY(-50%)}.cover__arrow:after{content:"";position:absolute;top:50%;right:1px;width:7px;height:7px;border-top:1.5px solid #282828;border-right:1.5px solid #282828;transform:translateY(-50%) rotate(45deg)}.cover__slider:not(.is-dragging) .cover__arrow{animation:coverArrowHint 1.7s ease-in-out infinite}@keyframes coverArrowHint{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@media (prefers-reduced-motion: reduce){.cover__slider:not(.is-dragging) .cover__arrow{animation:none}.cover__bg{background:linear-gradient(0turn,#c9b6a447,#faf7f259),url(/images/m7-silk.jpg) center / cover no-repeat}.hero__bg{background:linear-gradient(180deg,#faf7f28c,#faf7f2e0),url(/images/m7-silk.jpg) center / cover no-repeat}}.music-btn{position:fixed;top:16px;right:max(12px,calc(50% - var(--max) / 2 + 12px));z-index:40;width:44px;height:44px;border:0;border-radius:50%;background:#faf7f2e6;color:var(--ink);cursor:pointer;box-shadow:0 8px 22px #0000001f}.hero{display:flex;flex-direction:column;position:relative;padding:3.2rem 1.4rem 2.8rem;text-align:center;color:var(--ink);overflow:hidden;height:100vh}.hero__bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:var(--beige) url(/images/m7-silk.jpg) center / cover no-repeat;opacity:.8}.hero__bg--filter{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;height:100%;width:100vw}.hero__content{position:relative}.hero__bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#faf7f28c,#faf7f2e0);pointer-events:none}.hero__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.hero__inner{position:relative;flex:1;z-index:1;display:flex;flex-direction:column;justify-content:space-evenly}.eyebrow{margin:0 0 .7rem;letter-spacing:.1em;text-transform:uppercase;font-family:var(--sc);font-weight:500;font-size:32px;color:var(--ink-soft)}.ring{margin:0 auto;border-radius:50%;width:50vw;height:70vw}.hero__invite{margin:0;font-family:var(--sc);font-weight:400;font-size:clamp(1.15rem,5vw,1.35rem);letter-spacing:.18em;text-transform:uppercase}.hero__names{margin:1rem 0 .35rem;font-family:var(--script);font-size:64px;line-height:1.1;margin-bottom:20px;font-weight:500}.hero__names span{font-family:var(--display);font-style:italic;font-size:.7em;margin:0 .15em}.hero__parents{margin:0;font-size:.85rem;letter-spacing:.08em;color:var(--ink-soft)}.monogram{display:flex;align-items:center;justify-content:center;gap:.55rem;margin:1.4rem 0 1.6rem;font-family:var(--display);font-size:2.6rem;font-weight:500}.monogram__heart{width:.9rem;height:.9rem;fill:currentColor}.hero__title{margin:0 0 .85rem;font-family:var(--display);font-weight:500;font-size:clamp(1.9rem,8vw,2.4rem);line-height:1.2}.hero__text{margin:0 auto 1.5rem;max-width:32ch;font-size:.92rem;color:var(--ink-soft);font-weight:500}.text--content{text-align:center;font-size:22px}.text--content--1{font-family:var(--script)!important;font-size:48px;white-space:nowrap;margin:0;line-height:60px}.div--content{display:flex;flex-direction:column;gap:30px;padding:2.2rem 1.15rem 1.6rem;border-radius:8px;overflow:hidden}.name-header{margin:0;font-weight:500}.div--arc{margin-bottom:40px;overflow:hidden;background:var(--milk);opacity:.8;text-align:center}.div--arc--2{margin:80px .85rem 0;padding:2.2rem 1.15rem 1.6rem;background:linear-gradient(180deg,#d9d0c3,#cfc6b300);border-radius:220px 220px 28px 28px}.img--content{width:100%;margin:0 auto;object-fit:cover;border-radius:10px;aspect-ratio:1.3/1}.countdown{margin-top:.5rem}.countdown__caption{margin:0 0 1rem;font-family:var(--sc);letter-spacing:.18em;text-transform:uppercase;font-size:14px;color:var(--ink-soft);font-weight:700}.countdown__row{display:flex;justify-content:center;gap:.85rem;font-weight:700}.countdown__circle{width:68px;height:68px;border:1px solid rgb(211,200,200);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;background:#fff3}.countdown__num{font-family:var(--display);font-size:1.25rem;line-height:1;font-weight:500;color:var(--ink-soft)}.countdown__label{font-size:.6rem;letter-spacing:.06em;text-transform:lowercase;color:var(--ink-soft)}.calendar{position:relative;padding:3.2rem 1rem 3.6rem;background:var(--milk);opacity:.8;text-align:center;color:var(--ink)}.calendar__year{margin:0;font-family:var(--sc);font-size:.8rem;letter-spacing:.3em}.calendar__title{margin:.25rem 0 0;font-family:var(--script);font-size:clamp(3rem,14vw,4.2rem);font-weight:500;line-height:1}.calendar__image-wrap{position:relative;width:min(100%,390px);margin:.8rem auto 0}.calendar__image{display:block;width:100%;height:auto}.calendar__date-ring{position:absolute;left:75.8%;top:50%;width:11%;aspect-ratio:1;border:2px solid var(--taupe-deep);border-radius:50%;transform:translate(-50%,-50%) rotate(-8deg);box-shadow:0 0 0 3px #7e705b14}.calendar__date{margin:-.7rem 0 0;font-family:var(--sc);font-size:1rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700}.arch{padding:20px 0 2rem}.arch__panel{margin:0 .85rem;padding:2.2rem 1.15rem 1.6rem;background:linear-gradient(180deg,#d9d0c3,#cfc6b300);border-radius:220px 220px 28px 28px}.place-card{text-align:center;color:var(--ink);margin-bottom:1.6rem}.place-card img{width:100%;border-radius:8px;margin:.85rem 0;aspect-ratio:4 / 3;object-fit:cover}.place-card__label{margin:0;font-family:var(--sc);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;color:var(--ink-soft);font-weight:700}.place-card__title{margin:.35rem 0 .55rem;font-family:var(--display);font-weight:500;font-size:1.7rem}.place-card__text{margin:0 auto;max-width:30ch;font-size:.88rem;color:var(--ink-soft);font-weight:500}.location-head{text-align:center;margin:1.4rem 0 1.8rem}.location-title{margin:0 0 1rem;font-style:italic;font-family:var(--script);font-size:clamp(3rem,14vw,4.2rem);font-weight:500;line-height:1}.map-box{margin-top:.5rem;height:240px;overflow:hidden;border-radius:12px;background:#fff}.map-box iframe{width:100%;height:100%;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.5rem;border:0;border-radius:999px;cursor:pointer;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;transition:transform .25s ease,opacity .25s ease}.btn:hover{transform:translateY(-1px);opacity:.92}.btn--dark{width:100px;height:100px;cursor:pointer;background:var(--dark)}.map--img{filter:invert(100%)}.btn--taupe{background:var(--taupe-deep);color:#fff;margin-top:1.1rem}.btn--submit{width:100%;border-radius:6px;background:#000;color:#fff;min-height:50px;margin-top:.4rem}.btn:disabled{opacity:.55;cursor:default;transform:none}.dress{padding:2.8rem 1.4rem 3rem;text-align:center;background:var(--milk)}.section-title{margin:0 0 .85rem;font-family:var(--sc);font-weight:500;font-size:32px;color:var(--ink-soft)}.section-title--split em{font-family:var(--script);font-style:normal;font-weight:500}.section-lead,.dress-copy{margin:0 auto 1.2rem;max-width:34ch;font-size:.9rem;color:var(--ink-soft);text-transform:uppercase;font-weight:500}.swatches{display:flex;justify-content:center;gap:.7rem;margin:1.2rem 0 1.4rem}.swatch{width:42px;height:42px;border-radius:50%;border:1px solid rgba(0,0,0,.08);box-shadow:inset 0 0 0 1px #ffffff40}.looks{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.5rem}.looks img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:6px}.program{padding:1rem 0 0;background:var(--milk);text-align:center}.program .section-title{padding:0 1.4rem 1rem}.program__frame{position:relative;min-height:640px;overflow:hidden}.program__frame>img{width:100%;height:100%;min-height:640px;object-fit:cover}.program__shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000000d 20%,#000000b8 72%,#000000e0)}.program__list{position:absolute;left:0;right:0;bottom:0;padding:1.6rem 1.5rem 2.2rem;color:#fff;text-align:left;display:grid;gap:.7rem}.program__list li{display:flex;gap:.45rem;font-size:.95rem;letter-spacing:.02em}.program__list li span:first-child{font-family:var(--display);opacity:.9;min-width:4.4rem}.rsvp{padding:2.8rem 1.4rem 2.4rem;background:var(--milk);opacity:.8;text-align:center}.rsvp-form{margin:1.4rem auto 0;max-width:340px;text-align:left;display:grid;gap:1.35rem}.rsvp-form legend,.field label{display:block;margin-bottom:.7rem;font-size:.78rem;letter-spacing:.04em;color:var(--ink);font-weight:500}.check-list{display:grid;gap:.55rem}.check-row{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;cursor:pointer}.check-row input{margin-top:.18rem;accent-color:#000}.field input[type=text]{width:100%;height:46px;border:0;border-bottom:1px solid rgba(0,0,0,.25);background:transparent;outline:none;padding:0 .1rem}.field input[type=text]:focus{border-bottom-color:#000}.form-success{margin:0;text-align:center;color:var(--taupe-deep);font-size:.9rem}.google-form-response{position:absolute;width:1px;height:1px;border:0;opacity:0;pointer-events:none}.footer{padding:1.2rem 1rem 1.8rem;text-align:center;background:#000;color:#ffffffb8;font-size:.75rem;letter-spacing:.06em}.footer a:hover{color:#fff}
