:where(.inv){--f-display:"Viaoda Libre", "Times New Roman", serif;--f-script:"Ms Madi", cursive;--f-serif:"Cormorant Garamond", "Times New Roman", serif;--f-caps:"Libre Baskerville", Baskerville, "Times New Roman", serif;--f-body:"Lora", Georgia, serif;--radius:12px;color:var(--ink);font-family:var(--f-serif);container-type:inline-size}.inv-page{background:var(--paper-dark);min-height:100vh}:where(.inv) .btn{font-family:var(--f-caps);letter-spacing:.06em;border:0;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.6rem;font-size:.82rem;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex}:where(.inv) .btn:hover{transform:scale(1.04)}:where(.inv) .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}:where(.inv) .btn--dark{background:var(--primary);color:var(--light);box-shadow:0 8px 20px var(--shadow)}:where(.inv) .btn--light{background:var(--light);color:var(--primary);text-transform:uppercase;font-size:.72rem}:where(.inv) .btn--block{width:100%}:where(.inv) .btn--ghost{color:var(--primary);background:0 0;border:1px solid}:where(.inv) .btn--link{color:var(--primary);opacity:.75;text-underline-offset:3px;background:0 0;text-decoration:underline}:where(.inv) .btn svg{vertical-align:-.15em;width:1.05em;height:1.05em;margin-right:.45em}:where(.inv) .modal__cal{gap:.6rem;margin:0 0 1rem;display:grid}:where(.inv) .modal__cal a.btn{text-align:center;text-decoration:none;display:block}:where(.inv) .modal__thanks .modal__cal-when{margin:0 0 .3rem;font-size:.9rem}:where(.inv) .link-btn{font-family:var(--f-caps);text-underline-offset:4px;background:0 0;border:0;padding:0;font-size:.78rem;text-decoration:underline}:where(.inv) .eyebrow,:where(.inv) .section-title{font-family:var(--f-caps);text-transform:uppercase;letter-spacing:.22em;color:var(--primary)}:where(.inv) .section-title{letter-spacing:.1em;text-align:center;margin:0 0 1.2rem;font-size:.95rem;font-weight:700}:where(.inv) .reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(28px)}:where(.inv) .reveal.is-visible{opacity:1;transform:none}@keyframes inv-fade{0%{opacity:0}}@keyframes inv-rise{0%{opacity:0;transform:translateY(30px)scale(.96)}}:where(.inv) .invite{background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .25 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"), linear-gradient(180deg, var(--paper-light), var(--paper));max-width:720px;box-shadow:0 0 60px var(--line);margin:0 auto;animation:.8s both inv-fade;position:relative;overflow-x:clip}:where(.inv) .invite__inner{padding:0 16px 40px;position:relative}:where(.inv) .card{text-align:center;width:min(440px,100%);color:var(--light);background:radial-gradient(ellipse at top, var(--primary-soft), var(--primary) 60%, var(--primary-deep));border-radius:var(--radius);box-shadow:0 18px 40px var(--shadow);margin:0 auto 48px;padding:36px 28px 32px;position:relative}:where(.inv) .card--compact{padding-bottom:28px}:where(.inv) .card__title{font-family:var(--f-caps);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1rem;font-size:1rem;font-weight:700}:where(.inv) .card__story{opacity:.9;max-width:34ch;margin:0 auto 1.6rem;font-size:.98rem;line-height:1.55}:where(.inv) .card__lead{font-family:var(--f-caps);text-transform:uppercase;margin:0 0 1rem;font-size:clamp(1rem,4vw,1.25rem)}:where(.inv) .card__person{font-family:var(--f-display);margin:0;font-size:clamp(1.7rem,7vw,2.15rem);line-height:1.2}:where(.inv) .card__role{font-family:var(--f-caps);letter-spacing:.25em;text-transform:uppercase;opacity:.7;margin:.5rem 0 0;font-size:.62rem}:where(.inv) .card__amp{font-family:var(--f-script);color:var(--accent-light);margin:.6rem 0;font-size:2.4rem;line-height:1}:where(.inv) .card__venue{gap:.25rem;margin:1.6rem 0;font-size:1.05rem;font-style:normal;display:grid}:where(.inv) .card__venue strong{font-weight:500}:where(.inv) .dateblock{margin:.6rem 0 .4rem}:where(.inv) .dateblock__top{font-family:var(--f-caps);letter-spacing:.12em;text-transform:uppercase;opacity:.85;justify-content:center;gap:2.4rem;font-size:.66rem;display:flex}:where(.inv) .dateblock__main{justify-content:center;align-items:center;gap:.9rem;margin-top:.6rem;display:flex}:where(.inv) .dateblock__day{font-family:var(--f-display);font-size:2.6rem;line-height:1}:where(.inv) .dateblock__rule{opacity:.5;background:currentColor;width:1px;height:46px}:where(.inv) .dateblock__my{text-align:left;font-family:var(--f-caps);letter-spacing:.12em;text-transform:uppercase;gap:.3rem;font-size:.74rem;display:grid}:where(.inv) .card__times{justify-content:center;gap:2.6rem;margin:1.4rem 0;display:flex}:where(.inv) .card__times>div{gap:.3rem;display:grid}:where(.inv) .card__times-label{font-family:var(--f-caps);letter-spacing:.15em;text-transform:uppercase;opacity:.75;font-size:.6rem}:where(.inv) .card__times-value{font-size:1.1rem}:where(.inv) .countdown{margin:1.4rem 0 1.6rem}:where(.inv) .countdown__title{font-family:var(--f-caps);opacity:.85;margin:0 0 .7rem;font-size:.8rem}:where(.inv) .countdown__units{justify-content:center;gap:.6rem;display:flex}:where(.inv) .countdown__unit{border:1px solid color-mix(in srgb, currentColor 25%, transparent);background:#0000001f;border-radius:8px;min-width:60px;padding:.55rem .3rem;display:grid}:where(.inv) .countdown__value{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:1.6rem;line-height:1.1}:where(.inv) .countdown__label{font-family:var(--f-caps);letter-spacing:.15em;text-transform:uppercase;opacity:.75;font-size:.56rem}:where(.inv) .countdown__done{font-family:var(--f-display);margin:0;font-size:1.6rem}:where(.inv) .calendar{width:min(270px,100%);color:var(--ink);background:var(--paper);border-radius:10px;margin:0 auto 1.2rem;padding:16px 14px 14px;box-shadow:0 6px 16px #0003}:where(.inv) .calendar__title{border-bottom:1.5px solid var(--primary);font-family:var(--f-script);margin:0 0 .6rem;padding-bottom:.6rem;font-size:1.7rem;line-height:1}:where(.inv) .calendar__grid{font-family:var(--f-caps);grid-template-columns:repeat(7,1fr);row-gap:6px;font-size:.68rem;display:grid}:where(.inv) .calendar__head{opacity:.6;margin-bottom:6px;font-size:.6rem}:where(.inv) .calendar__day{place-items:center;height:26px;display:grid;position:relative}:where(.inv) .calendar__day>span{position:relative}:where(.inv) .calendar__day.is-event{color:var(--light);font-weight:700}:where(.inv) .calendar__heart{width:30px;height:30px;color:var(--primary);animation:1.6s ease-in-out infinite inv-pulse;position:absolute}@keyframes inv-pulse{50%{transform:scale(1.15)}}:where(.inv) .addcal{margin-bottom:1.4rem;display:inline-block;position:relative}:where(.inv) .addcal .link-btn{color:inherit}:where(.inv) .addcal__menu{z-index:5;background:#fff;border-radius:10px;min-width:200px;display:grid;position:absolute;top:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 12px 30px #0000004d}:where(.inv) .addcal__menu a,:where(.inv) .addcal__menu button{color:#2a1a1a;font-family:var(--f-body);text-align:left;background:0 0;border:0;padding:.75rem 1rem;font-size:.9rem;text-decoration:none}:where(.inv) .addcal__menu>*+*{border-top:1px solid #eee}:where(.inv) .addcal__menu a:hover,:where(.inv) .addcal__menu button:hover{background:#f6f2ee}:where(.inv) .card>.btn--light{margin:0 auto;display:flex}:where(.inv) .gallery{margin:0 auto 48px}:where(.inv) .gallery__stage{perspective:1100px;height:clamp(300px,80vw,400px);transform-style:preserve-3d;touch-action:pan-y;position:relative}:where(.inv) .gallery__slide{--w:clamp(200px, 56vw, 260px);width:var(--w);height:100%;margin-left:calc(var(--w) / -2);background:#ddd;border:0;border-radius:10px;padding:0;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .5s,filter .5s;position:absolute;top:0;left:50%;overflow:hidden;box-shadow:0 16px 34px #00000047}:where(.inv) .gallery__slide img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%}:where(.inv) .gallery__nav{z-index:20;background:color-mix(in srgb, var(--primary-deep) 70%, transparent);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}:where(.inv) .gallery__nav svg{width:18px}:where(.inv) .gallery__nav--prev{left:4px}:where(.inv) .gallery__nav--next{right:4px}:where(.inv) .gallery__dots{justify-content:center;gap:6px;margin-top:16px;display:flex}:where(.inv) .gallery__dots button{background:var(--line);border:0;border-radius:999px;width:7px;height:7px;padding:0;transition:width .3s,background .3s}:where(.inv) .gallery__dots button.is-active{background:var(--primary-soft);width:22px}:where(.inv) .venue{text-align:center;width:min(440px,100%);margin:0 auto 48px}:where(.inv) .venue__name,:where(.inv) .venue__address{margin:.2rem 0;font-size:1.05rem}:where(.inv) .venue__address{color:var(--muted)}:where(.inv) .venue__map{background:var(--paper-dark);border-radius:10px;height:300px;margin:1.4rem 0 1rem;overflow:hidden;box-shadow:0 10px 24px #0000001f}:where(.inv) .venue__map iframe{border:0;width:100%;height:100%}:where(.inv) .venue__directions{font-family:var(--f-caps);color:var(--primary);align-items:center;gap:.5rem;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}:where(.inv) .venue__directions svg{width:16px}:where(.inv) .venue__directions:hover{text-decoration:underline}:where(.inv) .dress{text-align:center;margin:0 auto 48px}:where(.inv) .dress__names{color:var(--muted);margin:0 0 1rem;font-size:1.05rem}:where(.inv) .dress__swatches{justify-content:center;gap:14px;display:flex}:where(.inv) .dress__swatch{border:3px solid #fff;border-radius:50%;width:40px;height:40px;box-shadow:0 4px 12px #0000002e}:where(.inv) .schedule{gap:22px;width:fit-content;margin:1.4rem auto .4rem;padding:0;list-style:none;display:grid}:where(.inv) .schedule__row{text-align:left;grid-template-columns:32px 90px 20px auto;align-items:center;gap:10px;display:grid;position:relative}:where(.inv) .schedule__row:not(:last-child) .schedule__dot:after{content:"";opacity:.45;background:currentColor;width:1px;height:38px;position:absolute;top:100%;left:50%}:where(.inv) .schedule__icon{width:30px;height:30px;color:var(--accent-light)}:where(.inv) .schedule__time{text-align:right;font-size:1.1rem}:where(.inv) .schedule__dot{background:currentColor;border-radius:50%;justify-self:center;width:9px;height:9px;position:relative}:where(.inv) .schedule__label{opacity:.9;font-size:1rem}:where(.inv) .closing{text-align:center;max-width:470px;margin:0 auto}:where(.inv) .closing__note{font-size:1.02rem;line-height:1.55}:where(.inv) .closing__rsvp{font-family:var(--f-caps);letter-spacing:.08em;text-transform:uppercase;margin:2rem 0 .4rem;font-size:.78rem}:where(.inv) .closing__mark{font-family:var(--f-script);color:var(--primary-soft);margin:2rem 0 0;font-size:1.8rem}:where(.inv) .music{z-index:40;background:var(--primary);width:48px;height:48px;box-shadow:0 8px 20px var(--shadow), 0 0 0 4px #ffffff40;border:0;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:18px;right:18px}:where(.inv) .music__bars{align-items:flex-end;gap:3px;height:16px;display:flex}:where(.inv) .music__bars i{background:var(--light);border-radius:2px;width:3px;height:30%}:where(.inv) .music.is-playing .music__bars i{animation:.9s ease-in-out infinite inv-eq}:where(.inv) .music.is-playing .music__bars i:nth-child(2){animation-delay:-.3s}:where(.inv) .music.is-playing .music__bars i:nth-child(3){animation-delay:-.6s}@keyframes inv-eq{0%,to{height:25%}50%{height:100%}}:where(.inv) .modal{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#140a0a8c;place-items:center;padding:16px;animation:.25s both inv-fade;display:grid;position:fixed;inset:0}:where(.inv) .modal__box{width:min(380px,100%);max-height:calc(100vh - 32px);font-family:var(--f-body);color:#2a1a1a;background:#fff;border-radius:18px;padding:26px 22px 22px;animation:.35s cubic-bezier(.2,.8,.2,1) both inv-rise;position:relative;overflow-y:auto;box-shadow:0 30px 60px #00000059}:where(.inv) .modal__box h2{font-family:var(--f-display);color:var(--primary);margin:0 0 .3rem;font-size:1.6rem;font-weight:400}:where(.inv) .modal__sub{color:#6a5a58;margin:0 0 1rem;font-size:.85rem}:where(.inv) .modal__prev{background:var(--primary-tint);border-radius:8px;margin:0 0 1rem;padding:.5rem .75rem;font-size:.8rem}:where(.inv) .modal__error{color:#b3261e;margin:0 0 .8rem;font-size:.85rem}:where(.inv) .modal__close{background:#f2eeee;border:0;border-radius:50%;width:30px;height:30px;font-size:1.2rem;line-height:1;position:absolute;top:12px;right:12px}:where(.inv) .modal__thanks{text-align:center;padding:1rem 0 .4rem}:where(.inv) .modal__thanks p{color:#6a5a58;margin:.6rem 0 1.4rem}:where(.inv) .field{border:0;gap:.4rem;margin:0 0 1rem;padding:0;font-size:.85rem;font-weight:500;display:grid}:where(.inv) .field legend{margin-bottom:.4rem;padding:0}:where(.inv) .field input,:where(.inv) .field select,:where(.inv) .field textarea{width:100%;font:inherit;color:inherit;resize:vertical;background:#faf8f6;border:1px solid #e7e1dd;border-radius:10px;padding:.7rem .8rem;font-weight:400}:where(.inv) .field input:focus,:where(.inv) .field select:focus,:where(.inv) .field textarea:focus{outline:2px solid color-mix(in srgb, var(--primary) 40%, transparent);outline-offset:1px}:where(.inv) .choice{text-align:left;background:#faf8f6;border:1px solid #ece6e2;border-radius:10px;align-items:center;gap:.7rem;width:100%;margin-bottom:.5rem;padding:.6rem .8rem;font-size:.88rem;transition:border-color .2s,background .2s;display:flex}:where(.inv) .choice__icon{background:#ebe6e4;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}:where(.inv) .choice.is-on{border-color:var(--primary);background:var(--primary-tint)}:where(.inv) .choice.is-on .choice__icon{background:var(--primary);color:var(--light)}@media (width<=520px){:where(.inv) .card{padding:30px 20px 26px}:where(.inv) .countdown__unit{min-width:54px}:where(.inv) .gallery__slide{--w:50vw}}@media (prefers-reduced-motion:reduce){.inv *,.inv :before,.inv :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:where(.inv) .reveal{opacity:1;transform:none}}:where(.inv) .families{grid-template-columns:1fr 1fr;margin:0 0 1.4rem;display:grid}:where(.inv) .families__side{align-content:start;gap:.15rem;padding:0 .6rem;font-size:.9rem;display:grid}:where(.inv) .families__side+.families__side{border-left:1px solid color-mix(in srgb, currentColor 35%, transparent)}:where(.inv) .families__label{font-family:var(--f-caps);letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-bottom:.2rem;font-size:.66rem}:where(.inv) .families__name{font-weight:600}:where(.inv) .closing__contact{color:var(--muted);margin:1.2rem 0 0;font-size:.9rem}:where(.inv) .closing__contact a{color:inherit;text-underline-offset:3px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#faf7f2;margin:0}img{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer}.page-loading{place-items:center;min-height:100svh;display:grid}.page-loading:after{content:"";border:2px solid #5a1a2026;border-top-color:#5a1a20;border-radius:50%;width:34px;height:34px;animation:.9s linear infinite page-spin}.page-loading--below-bar{min-height:calc(100vh - var(--bar-h,60px))}@keyframes page-spin{to{transform:rotate(360deg)}}
