:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--cream:#f7f3ea;--cream-deep:#eee8dc;--paper:#fffdf8;--paper-solid:#fffefb;--ink:#2f3a31;--ink-soft:#697269;--sage-soft:#dfe9da;--sage:#a9c2a3;--sage-deep:#56745b;--sage-dark:#405c46;--coral-soft:#f0d9d2;--coral:#c97d70;--blue-soft:#dce6ec;--gold-soft:#eee3c7;--red:#a94f48;--border:#dce2d6;--border-soft:#e9e8df;--wedding-ink:#233d37;--wedding-ink-soft:#5f6d68;--wedding-forest:#24483f;--wedding-forest-light:#315c51;--wedding-mist:#dae5dd;--wedding-cream:#f8f4e9;--wedding-paper:#fffdf8;--wedding-gold:#b4925b;--wedding-line:#d9d7ca;--shadow:0 20px 50px -36px #32493466;--shadow-raised:0 24px 70px -38px #293d2c75;--radius-sm:8px;--radius:12px;--radius-lg:18px;--font-display:"Fraunces", Georgia, serif;--font-sans:"Figtree", system-ui, sans-serif;--font-mono:"DM Mono", ui-monospace, monospace;font-family:var(--font-sans);font-synthesis:none;color:var(--ink);background:var(--cream);text-rendering:optimizelegibility}*{box-sizing:border-box}html{background:var(--cream);min-width:320px}body{background:var(--cream);min-width:320px;min-height:100vh;margin:0}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%}.wedding-site{min-width:320px;color:var(--wedding-ink);background:var(--wedding-cream);font-family:var(--font-sans);overflow:clip}.wedding-site ::selection{color:var(--wedding-paper);background:var(--wedding-forest)}.wedding-site__skip-link{z-index:100;color:#fff;background:var(--wedding-forest);padding:.75rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.wedding-site__skip-link:focus{transform:translateY(0)}.announcement{color:#f4ede0;background:var(--wedding-forest);letter-spacing:.18em;text-align:center;text-transform:uppercase;justify-content:center;align-items:center;gap:.5rem;min-height:31px;padding:.4rem 1rem;font-size:.68rem;font-weight:600;display:flex}.wedding-nav{z-index:30;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#f8f4e9eb;border-bottom:1px solid #24483f21;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;min-height:72px;padding:0 4vw;display:grid;position:sticky;top:0}.wedding-nav__monogram{width:max-content;color:var(--wedding-forest);font-family:var(--font-display);letter-spacing:-.07em;font-size:1.45rem}.wedding-nav__monogram span{color:var(--wedding-gold);padding:0 .11em;font-size:.8em;font-style:italic}.wedding-nav__links{align-items:center;gap:clamp(1.1rem,2vw,2rem);display:flex}.wedding-nav__links a,.wedding-nav__rsvp{letter-spacing:.1em;text-transform:uppercase;font-size:.71rem;font-weight:650;position:relative}.wedding-nav__links a:after{content:"";background:var(--wedding-gold);height:1px;transition:transform .18s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.wedding-nav__links a:hover:after,.wedding-nav__links a:focus-visible:after{transform:scaleX(1)}.wedding-nav__rsvp{border:1px solid var(--wedding-forest);border-radius:999px;justify-content:center;justify-self:end;align-items:center;gap:.35rem;width:max-content;min-height:38px;padding:0 1rem;transition:color .16s,background .16s;display:inline-flex}.wedding-nav__rsvp:hover{color:#fff;background:var(--wedding-forest)}.wedding-nav__menu-button,.wedding-nav__mobile-menu{display:none}.wedding-kicker{color:var(--wedding-gold);letter-spacing:.19em;text-transform:uppercase;margin:0 0 1rem;font-size:.95rem;font-weight:700;line-height:1.5}.wedding-hero{grid-template-columns:minmax(0,1fr) minmax(310px,.75fr);align-items:center;gap:clamp(2.5rem,7vw,8rem);min-height:calc(100svh - 103px);padding:clamp(5rem,9vw,8.5rem) clamp(1.5rem,8vw,9rem) clamp(4rem,7vw,7rem);display:grid;position:relative}.wedding-hero__floral{z-index:0;opacity:.8;pointer-events:none;width:min(62rem,68vw);max-width:none;position:absolute;top:-1.75rem;right:-5%}.wedding-hero__copy,.wedding-hero__portrait-wrap{z-index:1;position:relative}.wedding-hero h1,.wedding-section h2,.wedding-rsvp h2{font-family:var(--font-display);font-weight:400}.wedding-hero h1{letter-spacing:-.065em;max-width:9.2ch;margin:0;font-size:clamp(4.25rem,9.2vw,9rem);line-height:.78}.wedding-hero h1 span{color:var(--wedding-gold);margin:0 -.03em;font-size:.62em;font-style:italic;display:inline-block;transform:translateY(-.06em)}.wedding-hero__intro{max-width:34rem;color:var(--wedding-ink-soft);font-family:var(--font-display);margin:2.2rem 0 0;font-size:clamp(1.1rem,1.7vw,1.45rem);line-height:1.58}.wedding-hero__actions{flex-wrap:wrap;gap:.75rem;margin-top:2.2rem;display:flex}.wedding-button{letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:48px;padding:0 1.25rem;font-size:.74rem;font-weight:700;transition:transform .16s,color .16s,background .16s,border-color .16s,box-shadow .16s;display:inline-flex;box-shadow:0 12px 24px -18px #233d37cc}.wedding-button:hover{transform:translateY(-2px);box-shadow:0 16px 30px -18px #233d37e6}.wedding-button--primary{color:#fff;background:var(--wedding-forest)}.wedding-button--primary:hover{background:var(--wedding-forest-light)}.wedding-button--quiet{border-color:var(--wedding-line);background:#fffdf89e}.wedding-button--quiet:hover{border-color:var(--wedding-forest)}.wedding-hero__countdown{align-items:baseline;gap:.65rem;margin-top:2.5rem;display:flex}.wedding-hero__countdown strong{font-family:var(--font-display);font-size:2rem;font-weight:400}.wedding-hero__countdown span{color:var(--wedding-ink-soft);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:700}.wedding-hero__portrait-wrap{justify-self:end;width:min(100%,34rem)}.wedding-hero__portrait{width:100%;max-height:66svh;box-shadow:18px 22px 0 var(--wedding-mist);object-fit:cover;object-position:50% 35%;border-radius:48% 48% 0 0;display:block}.wedding-hero__portrait-number{z-index:2;color:var(--wedding-forest);font-family:var(--font-display);letter-spacing:.14em;text-orientation:mixed;text-transform:uppercase;writing-mode:vertical-rl;font-size:.72rem;position:absolute;top:12%;left:-2.1rem;transform:rotate(180deg)}.wedding-hero__portrait-caption{color:var(--wedding-ink);font-family:var(--font-display);justify-content:space-between;align-items:center;gap:1rem;margin:1.15rem -.2rem 0 0;font-size:.9rem;display:flex}.wedding-hero__portrait-caption span{color:var(--wedding-ink-soft);font-family:var(--font-mono);letter-spacing:.08em;font-size:.58rem}.wedding-section{padding:clamp(5.5rem,9vw,9rem) clamp(1.5rem,8vw,9rem);scroll-margin-top:70px}.wedding-section__heading{text-align:center;max-width:43rem;margin:0 auto clamp(3.5rem,6vw,5.5rem)}.wedding-section__heading h2,.wedding-dress__title h2,.trek-intro h2{letter-spacing:-.055em;margin:0;font-size:clamp(3rem,6.2vw,6rem);line-height:.96}.wedding-section__heading>p:last-child{max-width:34rem;color:var(--wedding-ink-soft);font-family:var(--font-display);margin:1.3rem auto 0;font-size:1.1rem;line-height:1.65}.wedding-weekend{background:linear-gradient(var(--wedding-paper), var(--wedding-paper)) padding-box, var(--wedding-paper)}.schedule-list{border-top:1px solid var(--wedding-line);max-width:76rem;margin:0 auto}.schedule-card{border-bottom:1px solid var(--wedding-line);grid-template-columns:9rem 1fr;gap:clamp(2rem,6vw,6rem);padding:clamp(2.3rem,4vw,3.8rem) 0;display:grid}.schedule-card__date{flex-direction:column;align-items:flex-start;display:flex}.schedule-card__date span{color:var(--wedding-ink-soft);letter-spacing:.12em;text-transform:uppercase;order:2;font-size:.63rem;font-weight:700}.schedule-card__date strong{font-family:var(--font-display);letter-spacing:-.07em;font-size:clamp(3.75rem,6vw,5.5rem);font-weight:400;line-height:.9}.schedule-card__body{padding:0 3.5rem 0 3.8rem;position:relative}.schedule-card__icon{border:1px solid var(--wedding-line);width:2.4rem;height:2.4rem;color:var(--wedding-gold);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}.schedule-card__label{color:#8a6d3f;letter-spacing:.11em;text-transform:uppercase;background:#fbf6e9;border:1px solid #d7c9ac;border-radius:999px;padding:.3rem .55rem;font-size:.58rem;font-weight:700;position:absolute;top:0;right:0}.schedule-card__time{color:var(--wedding-gold);letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:.4rem;margin:0 0 .75rem;font-size:.7rem;font-weight:700;display:flex}.schedule-card h3{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(1.65rem,3vw,2.6rem)}.schedule-card__highlights{flex-direction:column;gap:1.2rem;margin-top:1rem;display:flex}.schedule-card__highlight{flex-direction:column;gap:.45rem;display:flex}.schedule-card__highlight span{color:var(--wedding-gold);font-family:var(--font-display);font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.15}.schedule-card__highlight p{max-width:37rem;color:var(--wedding-ink-soft);margin:0;line-height:1.65}.schedule-card__body>p:not(.schedule-card__time,.schedule-card__attire){max-width:37rem;color:var(--wedding-ink-soft);margin:.85rem 0 0;line-height:1.65}.schedule-card__link{border:1px solid var(--wedding-line);width:min(100%,23rem);min-height:2.55rem;color:var(--wedding-forest);letter-spacing:.08em;text-align:center;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;margin-top:.9rem;padding:.65rem 1rem;font-size:.72rem;font-weight:800;line-height:1.25;display:inline-flex}.schedule-card__link:hover{color:var(--wedding-gold)}.schedule-card__attire{color:var(--wedding-forest);align-items:center;gap:.45rem;margin:1rem 0 0;font-size:.75rem;font-weight:650;display:flex}.schedule-options{background:var(--gold-soft);border:1px solid #cdbb82;margin:1.25rem 0;padding:0 clamp(1.25rem,4vw,3.5rem);box-shadow:8px 8px #755e241f}.schedule-options .schedule-card{border-bottom:0}.schedule-options__or{color:#5f542f;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:1rem;font-size:.7rem;font-weight:800;display:flex}.schedule-options__or:before,.schedule-options__or:after{content:"";background:#5f542f66;flex:1;height:1px}.wedding-travel{color:#f6f3e9;background:var(--wedding-forest)}.wedding-section__heading--light h2{color:#fff}.travel-grid{grid-template-columns:1.25fr .75fr;gap:1.2rem;max-width:76rem;margin:0 auto;display:grid}.travel-card{background:#ffffff0d;border:1px solid #ffffff29;border-radius:2px;padding:clamp(2rem,4vw,3.5rem);position:relative}.travel-card__icon{color:#dcc393;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:3.3rem;height:3.3rem;display:grid}.travel-card__eyebrow{color:#dcc393;letter-spacing:.17em;text-transform:uppercase;margin:2rem 0 .65rem;font-size:.64rem;font-weight:700}.travel-card h3{color:#fff;font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,4vw,3.5rem);font-weight:400}.travel-card>p:last-child{color:#f6f3e9bd;max-width:42rem;margin:1.6rem 0 0;line-height:1.7}.travel-card__address{color:#f6f3e9b8;align-items:flex-start;gap:.45rem;margin:.7rem 0 0;font-size:.8rem;line-height:1.5;display:flex}.travel-card__address svg{flex:none;margin-top:.18rem}.travel-card__details{border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26;grid-template-columns:repeat(3,1fr);gap:0;margin:2.2rem 0 0;padding:1.4rem 0;display:grid}.travel-card__details div{padding:0 1.4rem}.travel-card__details div:first-child{padding-left:0}.travel-card__details div+div{border-left:1px solid #ffffff26}.travel-card__details dt{color:#dcc393;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.45rem;font-size:.6rem;font-weight:700}.travel-card__details dd{font-family:var(--font-display);margin:0;font-size:.95rem;line-height:1.45}.travel-card__route{grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:.45rem;margin-top:2.6rem;display:grid}.travel-card__route span{color:#f6f3e9c4;letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:700}.travel-card__route i{background:#dcc3938c;height:1px}.wedding-dress{grid-template-columns:minmax(13rem,.65fr) minmax(0,1.35fr);gap:clamp(3rem,8vw,9rem);max-width:92rem;margin:0 auto;display:grid}.wedding-dress__title>svg{color:var(--wedding-gold);margin-bottom:2rem}.wedding-dress__cards{gap:1rem;display:grid}.wedding-dress__cards article{border:1px solid var(--wedding-line);background:#fffdf880;padding:clamp(2rem,4vw,3.4rem);position:relative}.wedding-dress__cards article>span{color:var(--wedding-gold);font-family:var(--font-mono);font-size:.66rem;position:absolute;top:1.4rem;right:1.5rem}.wedding-dress__cards h3{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(1.9rem,3.5vw,3.1rem);font-weight:400}.wedding-dress__occasion{color:var(--wedding-gold);letter-spacing:.15em;text-transform:uppercase;margin:.3rem 0 1.2rem;font-size:.65rem;font-weight:700}.wedding-dress__cards article>p:last-child{max-width:37rem;color:var(--wedding-ink-soft);margin-bottom:0;line-height:1.7}.wedding-safety{background:#e6ece7}.safety-grid{grid-template-columns:1fr 1fr;gap:1rem;max-width:76rem;margin:0 auto;display:grid}.safety-card{background:#fffdf8b3;border:1px solid #24483f24;padding:clamp(2rem,4vw,3.5rem)}.safety-card--feature{color:#fff;background:var(--wedding-forest)}.safety-card--feature>svg{color:#dcc393;margin-bottom:2.8rem}.safety-card h3{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(1.7rem,3vw,2.6rem);font-weight:400;line-height:1.1}.safety-card p,.safety-card li{line-height:1.72}.safety-card p{color:var(--wedding-ink-soft);margin:1.25rem 0 0}.safety-card--feature p{color:#ffffffb8}.safety-card>a{color:#dcc393;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #dcc39399;align-items:center;gap:.4rem;margin-top:2rem;padding-bottom:.2rem;font-size:.68rem;font-weight:700;display:inline-flex}.safety-card ol{color:var(--wedding-ink-soft);gap:.75rem;margin:1.4rem 0 0;padding-left:1.2rem;display:grid}.safety-card li{padding-left:.35rem}.safety-card li::marker{color:var(--wedding-gold);font-family:var(--font-mono);font-size:.72rem}.safety-card li a{color:var(--wedding-forest);text-underline-offset:3px;font-weight:700;-webkit-text-decoration:underline #24483f4d;text-decoration:underline #24483f4d}.wedding-trek{color:#f6f3e9;background:#1d332e;grid-template-columns:minmax(0,.9fr) minmax(23rem,1.1fr);gap:clamp(3rem,8vw,9rem);display:grid}.trek-intro>p:not(.wedding-kicker,.trek-intro__transport){color:#f6f3e9ad;max-width:36rem;line-height:1.75}.trek-intro h2{color:#fff;margin-bottom:1.8rem}.trek-intro__transport{color:#f6f3e9b8;border-left:1px solid #dcc393;margin:0;padding-left:1rem;font-size:.82rem;line-height:1.6}.trek-route{background:radial-gradient(circle at 100% 0,#dcc39326,#0000 35%),#ffffff0a;border:1px solid #ffffff2b;align-self:center}.trek-route__header{border-bottom:1px solid #ffffff26;align-items:center;gap:1rem;padding:2rem;display:flex}.trek-route__header svg{color:#dcc393}.trek-route__header div{flex-direction:column;display:flex}.trek-route__header span{color:#f6f3e98c;letter-spacing:.13em;text-transform:uppercase;font-size:.62rem;font-weight:700}.trek-route__header strong{font-family:var(--font-display);margin-top:.25rem;font-size:1.2rem;font-weight:400}.trek-route__leg{grid-template-columns:5.2rem 1fr;gap:1.2rem;padding:1.5rem 2rem;display:grid}.trek-route__leg+.trek-route__leg{border-top:1px solid #ffffff1f}.trek-route__day{flex-direction:column;gap:.25rem;display:flex}.trek-route__day span,.trek-route__stay span{color:#dcc393;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:400}.trek-route__day strong{font-family:var(--font-display);font-size:1.05rem;font-weight:400}.trek-route__details{gap:.45rem;display:grid}.trek-route__transfer{color:#dcc393;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .1rem;font-size:.7rem;font-weight:700}.trek-route__details>a,.trek-route__details>strong{color:#fff;width:max-content;max-width:100%;font-family:var(--font-display);align-items:center;gap:.5rem;font-size:1.2rem;font-weight:400;display:inline-flex}.trek-route__details>a:hover,.trek-route__details>a svg{color:#dcc393}.trek-route__stats,.trek-route__stay{color:#f6f3e98a;margin:0;font-size:.95rem}.trek-route__stay{align-items:baseline;gap:.5rem;margin-top:.35rem;display:flex}.trek-route__stay strong{color:#f6f3e9d9;font-family:var(--font-display);font-size:.95rem;font-weight:400}.wedding-rsvp{grid-template-columns:minmax(0,.8fr) minmax(30rem,1.2fr);align-items:center;gap:clamp(3rem,8vw,8rem);padding:clamp(6rem,11vw,11rem) clamp(1.5rem,8vw,9rem);display:grid;position:relative;overflow:hidden}.wedding-rsvp:before,.wedding-rsvp:after{content:"";border:1px solid #b4925b38;border-radius:50%;width:min(30rem,45vw);height:min(30rem,45vw);position:absolute}.wedding-rsvp:before{top:-35%;left:-12%}.wedding-rsvp:after{bottom:-45%;right:-12%}.wedding-rsvp__mark{color:var(--wedding-forest);font-family:var(--font-display);letter-spacing:-.07em;margin-bottom:2rem;font-size:1.6rem}.wedding-rsvp__mark span{color:var(--wedding-gold);padding:0 .1em;font-size:.8em;font-style:italic}.wedding-rsvp h2{letter-spacing:-.06em;margin:0;font-size:clamp(3.4rem,8vw,7.5rem);line-height:.9}.wedding-rsvp__intro>p:not(.wedding-kicker){max-width:37rem;color:var(--wedding-ink-soft);font-family:var(--font-display);margin:1.5rem 0 0;font-size:1.05rem;line-height:1.65}.rsvp-page{min-height:100svh;color:var(--wedding-ink);background:radial-gradient(circle at 88% 8%, #dcc3932e, transparent 24rem), var(--wedding-paper);padding:clamp(1.25rem,4vw,3rem)}.rsvp-page__back{border:2px solid var(--wedding-forest);color:var(--wedding-forest);letter-spacing:.08em;text-transform:uppercase;outline-offset:2px;cursor:pointer;background:#fffefa;border-radius:999px;outline:1px solid #2f3a312e;align-items:center;gap:.5rem;padding:.65rem .9rem;font-size:.68rem;font-weight:700;transition:transform .16s,color .16s,background .16s,box-shadow .16s;display:inline-flex;box-shadow:0 10px 22px -18px #233d37bf}.rsvp-page__back:hover,.rsvp-page__back:focus-visible{color:#fff;background:var(--wedding-forest);transform:translateY(-1px);box-shadow:0 15px 28px -18px #233d37e6}.rsvp-page__content{grid-template-columns:minmax(0,.8fr) minmax(30rem,1.2fr);align-items:center;gap:clamp(3rem,8vw,8rem);max-width:76rem;margin:clamp(3rem,9vw,7rem) auto;display:grid}.rsvp-page h1{color:var(--wedding-ink);font-family:var(--font-display);letter-spacing:-.06em;margin:0;font-size:clamp(3.4rem,8vw,7.5rem);font-weight:400;line-height:.9}.rsvp-page .wedding-rsvp__intro>p:not(.wedding-kicker){color:var(--wedding-ink-soft)}.wedding-button--light{z-index:1;color:#fff;background:var(--wedding-forest);position:relative}.rsvp-card{z-index:1;border:1px solid var(--wedding-line);color:var(--wedding-ink);background:var(--wedding-paper);padding:clamp(1.5rem,4vw,3.25rem);position:relative;box-shadow:0 30px 70px -55px #233d3799}.rsvp-form{gap:1.4rem;display:grid}.rsvp-form__header{border-bottom:1px solid var(--wedding-line);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:1.2rem;display:flex}.rsvp-form__header p{color:var(--wedding-ink);font-family:var(--font-display);margin:0;font-size:1.25rem}.rsvp-form__header span{color:var(--wedding-gold);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.6rem}.rsvp-form__row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.rsvp-form label{gap:.5rem;display:grid}.rsvp-form__guest-controls{border:2px solid var(--wedding-forest);min-height:48px;color:var(--wedding-forest);background:#edf2e8;border-radius:.65rem;grid-template-columns:2.65rem 1fr 2.65rem;align-self:end;align-items:stretch;display:grid;overflow:hidden;box-shadow:0 10px 22px -20px #233d378c}.rsvp-form__guest-controls>span{letter-spacing:.08em;text-align:center;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;padding:.68rem .7rem;font-size:.68rem;font-weight:800;display:flex}.rsvp-form__guest-controls small{letter-spacing:0;text-transform:none;margin-top:.18rem;font-size:.62rem;font-weight:600}.rsvp-form__guest-controls button{color:var(--wedding-forest);cursor:pointer;background:#fffefa;border:0;font-size:1.35rem;font-weight:800;transition:color .15s,background .15s}.rsvp-form__guest-controls button:hover,.rsvp-form__guest-controls button:focus-visible{color:#fff;background:var(--wedding-forest)}.rsvp-form__guest-controls button:disabled{cursor:not-allowed;opacity:.5}.rsvp-form fieldset.rsvp-form__guest-card{background:#fffefa99;border:1px solid #d9d7cacc;border-radius:.8rem;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;display:grid}.rsvp-form fieldset.rsvp-form__guest-card legend{color:var(--wedding-forest);font-family:var(--font-display);letter-spacing:-.02em;text-transform:none;grid-column:1/-1;margin:0;font-size:1.05rem;font-weight:500}.rsvp-form fieldset.rsvp-form__guest-card label:last-child{grid-column:1/-1}.rsvp-form label>span,.rsvp-form legend{color:var(--wedding-ink);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;font-weight:700}.rsvp-form input[type=text],.rsvp-form input[type=email],.rsvp-form input[type=tel],.rsvp-form select,.rsvp-form textarea{border:1px solid var(--wedding-line);width:100%;color:var(--wedding-ink);resize:vertical;background:#fffefa;border-radius:.45rem;outline:none;padding:.85rem .9rem;transition:border-color .15s,box-shadow .15s}.rsvp-form input[type=text],.rsvp-form input[type=email],.rsvp-form input[type=tel],.rsvp-form select{min-height:46px}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-color:var(--wedding-gold);box-shadow:0 0 0 3px #b4925b1f}.rsvp-form textarea::placeholder{color:#969d98}.rsvp-form fieldset{border:0;margin:0;padding:0;display:grid}.rsvp-form legend{margin-bottom:.7rem}.rsvp-form__attendance{grid-template-columns:1fr 1fr;gap:.7rem}.rsvp-form__attendance legend,.rsvp-form__events legend{grid-column:1/-1}.rsvp-form__event-list{gap:1rem;display:grid}.rsvp-form__event-card{background:#fffefa99;border:1px solid #d9d7cacc;border-radius:.8rem;padding:1rem}.rsvp-form__event-card>legend{float:left;width:100%;color:var(--wedding-forest);font-family:var(--font-display);letter-spacing:-.02em;text-transform:none;margin-bottom:.35rem;font-size:1.2rem;font-weight:500}.rsvp-form__event-card>p{color:var(--wedding-ink-soft);grid-column:1/-1;margin:0 0 .75rem;font-size:.78rem;line-height:1.55}.rsvp-form__event-card>.rsvp-form__trek-note{color:var(--wedding-ink-soft);text-align:center;margin:.3rem 0 0;font-size:.78rem;font-weight:400;line-height:1.55}.rsvp-form__attendance label,.rsvp-form__events label{cursor:pointer;display:block;position:relative}.rsvp-form__attendance input,.rsvp-form__events input{opacity:0;width:1px;height:1px;position:absolute}.rsvp-form__attendance label>span,.rsvp-form__events label>span{border:2px solid var(--wedding-line);outline-offset:2px;text-transform:none;background:#fffefa;border-style:solid;border-radius:.65rem;outline:1px solid #2f3a311f;flex-direction:column;justify-content:center;min-height:64px;padding:.8rem 2.7rem .8rem 1rem;font-size:.7rem;line-height:1.4;transition:transform .15s,border-color .15s,color .15s,background .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 10px 22px -20px #233d378c}.rsvp-form__attendance label>span:after,.rsvp-form__events label>span:after{border:2px solid var(--wedding-gold);content:"";background:#fffefa;border-radius:50%;width:.82rem;height:.82rem;transition:background .15s,border-color .15s,box-shadow .15s;position:absolute;top:50%;right:1rem;transform:translateY(-50%);box-shadow:0 0 0 3px #b4925b1a}.rsvp-form__attendance label:hover>span,.rsvp-form__events label:hover>span{border-color:var(--wedding-gold);outline-color:#b4925b73;transform:translateY(-2px);box-shadow:0 16px 30px -20px #233d37b3}.rsvp-form__attendance input:checked+span,.rsvp-form__events input:checked+span{border-color:var(--wedding-forest);color:var(--wedding-ink);box-shadow:inset 4px 0 0 var(--wedding-gold), 0 16px 30px -20px #233d37b3;background:#edf2e8}.rsvp-form__attendance input:checked+span:after,.rsvp-form__events input:checked+span:after{border-color:var(--wedding-forest);background:var(--wedding-gold);box-shadow:inset 0 0 0 3px #edf2e8,0 0 0 3px #233d371f}.rsvp-form__attendance input:focus-visible+span,.rsvp-form__events input:focus-visible+span{outline:2px solid var(--wedding-gold);outline-offset:3px}.rsvp-form__attendance small,.rsvp-form__events small{color:var(--wedding-ink-soft);letter-spacing:0;text-transform:none;margin-top:.18rem;font-size:.65rem;font-weight:400}.rsvp-form__attendance input:checked+span small,.rsvp-form__events input:checked+span small{color:var(--wedding-ink-soft)}.rsvp-form__party-size{grid-template-columns:1fr 5rem;align-items:center}.rsvp-form__events{grid-template-columns:1fr 1fr;gap:.7rem}.rsvp-form__event-card.rsvp-form__events{grid-template-columns:1fr}.rsvp-form__event-card.rsvp-form__events:has(label+label){grid-template-columns:1fr 1fr}.rsvp-form__event-card.rsvp-form__events.rsvp-form__events--wedding{grid-template-columns:1fr}.rsvp-form__honeypot{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.rsvp-form__error{color:#813f38;background:#fff2ef;border-left:2px solid #9d4e45;margin:0;padding:.55rem .75rem;font-size:.75rem}.rsvp-form>.wedding-button{justify-self:start;min-width:10.5rem}.rsvp-form .wedding-button:disabled{cursor:wait;opacity:.7;transform:none}.rsvp-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:29rem;display:flex}.rsvp-success>span{border:1px solid var(--wedding-line);width:3.5rem;height:3.5rem;color:var(--wedding-gold);border-radius:50%;place-items:center;margin-bottom:1.5rem;display:grid}.rsvp-success h2,.rsvp-success h3{color:var(--wedding-ink);font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400}.rsvp-success>p:not(.wedding-kicker){max-width:27rem;color:var(--wedding-ink-soft);margin:1rem auto 1.8rem;line-height:1.65}.wedding-footer{border-top:1px solid var(--wedding-line);background:var(--wedding-paper);grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;min-height:150px;padding:2rem clamp(1.5rem,6vw,6rem);display:grid}.wedding-footer div{align-items:baseline;gap:1rem;display:flex}.wedding-footer span{color:var(--wedding-forest);font-family:var(--font-display);letter-spacing:-.07em;font-size:1.3rem}.wedding-footer p,.wedding-footer a{color:var(--wedding-ink-soft);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.61rem;font-weight:650}.wedding-footer>p{text-align:center}.wedding-footer>a{justify-self:end}.wedding-footer>a:hover{color:var(--wedding-forest)}.wedding-site a:focus-visible{outline:2px solid var(--wedding-gold);outline-offset:4px;border-radius:2px}@media (width<=900px){.wedding-nav{grid-template-columns:auto 1fr auto;gap:1rem}.wedding-nav__links{display:none}.wedding-nav__rsvp{justify-self:end}.wedding-nav__menu-button{border:1px solid var(--wedding-line);width:2.5rem;height:2.5rem;color:var(--wedding-forest);background:var(--wedding-paper);cursor:pointer;border-radius:50%;order:-1;place-items:center;padding:0;display:grid}.wedding-nav__mobile-menu{z-index:-1;border-bottom:1px solid var(--wedding-line);opacity:0;pointer-events:none;background:#f8f4e9fa;gap:.1rem;padding:.75rem max(4vw,1.25rem) 1rem;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:100%;left:0;right:0;transform:translateY(-.75rem);box-shadow:0 18px 30px -28px #233d37a6}.wedding-nav__mobile-menu--open{opacity:1;pointer-events:auto;transform:translateY(0)}.wedding-nav__mobile-menu a{color:var(--wedding-forest);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #24483f1a;padding:.8rem 0;font-size:.72rem;font-weight:700}.wedding-nav__mobile-menu a:last-child{border-bottom:0}.wedding-hero{grid-template-columns:1fr;min-height:auto;padding-top:5rem}.wedding-hero__copy{max-width:44rem}.wedding-hero__portrait-wrap{justify-self:center;width:min(88%,34rem);margin-top:1rem}.wedding-hero__portrait{max-height:42rem}.travel-grid,.wedding-dress,.wedding-trek,.wedding-rsvp,.rsvp-page__content{grid-template-columns:1fr}.wedding-dress__title{max-width:30rem}.safety-grid{grid-template-columns:1fr}}@media (width<=620px){.announcement{letter-spacing:.12em;font-size:.57rem}.wedding-nav{min-height:62px;padding:0 1.25rem}.wedding-nav__rsvp{min-height:34px;font-size:.64rem}.wedding-nav__menu-button{width:2.25rem;height:2.25rem}.wedding-hero{padding:4rem 1.25rem 5rem}.wedding-hero__floral{opacity:.58;width:48rem;top:-1rem;right:-25%}.wedding-hero h1{font-size:clamp(4rem,22vw,6.2rem);line-height:.82}.wedding-hero__actions{flex-direction:column;align-items:stretch}.wedding-button{width:100%}.wedding-hero__portrait-wrap{width:calc(100% - 1.5rem);margin-top:2rem}.wedding-hero__portrait{max-height:68svh;box-shadow:10px 13px 0 var(--wedding-mist)}.wedding-hero__portrait-caption{flex-direction:column;align-items:flex-start;gap:.25rem}.wedding-hero__portrait-number{left:-1.3rem}.wedding-section{padding-left:1.25rem;padding-right:1.25rem;scroll-margin-top:61px}.schedule-card{grid-template-columns:4rem 1fr;gap:1rem}.schedule-card__date strong{font-size:3.2rem}.schedule-card__date span{font-size:.52rem}.schedule-card__body{padding:2.9rem 0 0}.schedule-card__icon{left:0}.schedule-card__label{left:3rem;right:auto}.schedule-options{margin-left:-.25rem;margin-right:-.25rem;padding-left:1rem;padding-right:1rem}.travel-card__details{grid-template-columns:1fr}.travel-card__details div{padding:1rem 0}.travel-card__details div:first-child{padding-top:0}.travel-card__details div:last-child{padding-bottom:0}.travel-card__details div+div{border-top:1px solid #ffffff26;border-left:0}.travel-card__route{grid-template-columns:1fr;gap:.3rem}.travel-card__route i{width:1px;height:1rem;margin-left:1rem}.trek-route__leg{grid-template-columns:4.25rem 1fr;gap:.75rem;padding:1.35rem 1.2rem}.wedding-footer{text-align:center;grid-template-columns:1fr;gap:1rem;min-height:auto}.wedding-footer div{justify-content:center}.wedding-footer>a{justify-self:center}.rsvp-form__row,.rsvp-form__attendance,.rsvp-form__events{grid-template-columns:1fr}.rsvp-form__event-card.rsvp-form__events:has(label+label){grid-template-columns:1fr}.rsvp-form__attendance legend,.rsvp-form__events legend{grid-column:auto}.rsvp-form__header{flex-direction:column;align-items:flex-start;gap:.35rem}}@media (prefers-reduced-motion:reduce){.wedding-site{scroll-behavior:auto}.wedding-site *,.wedding-site :before,.wedding-site :after{transition-duration:.01ms!important}}
