@font-face{font-family:"Libre Caslon Display";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/LibreCaslonDisplay-400.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Libre Caslon Text";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/LibreCaslonText-400-italic.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Libre Caslon Text";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/LibreCaslonText-400.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Libre Caslon Text";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/LibreCaslonText-700.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Aston Script";src:url("fonts/AstonScript.ttf") format("truetype");font-display:swap}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}body{font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-weight:400;color:#3a3632;background:#faf8f4;line-height:1.7;font-size:16px}img{max-width:100%;height:auto;display:block}a{color:#344a38;text-decoration:none;transition:color .3s ease}a:hover{color:#6b8f71}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 2rem;transition:all .4s ease}.nav.menu-open{background:#faf8f4;box-shadow:0 1px 0 rgba(0,0,0,.05)}.nav.scrolled{background:rgba(250,248,244,.95);backdrop-filter:blur(10px);padding:1rem 2rem;box-shadow:0 1px 0 rgba(0,0,0,.05)}.nav.nav-measuring,.nav.nav-measuring *{transition:none !important}.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:inline-flex;align-items:center;line-height:0;color:#fff;transition:color .4s ease,opacity .2s ease}.nav-logo:hover{opacity:.75}.scrolled .nav-logo,.menu-open .nav-logo{color:#4a6b4f}.nav-monogram{display:block;width:42px;height:46px;background-color:currentColor;-webkit-mask:url("images/monogram-160.png") center/contain no-repeat;mask:url("images/monogram-160.png") center/contain no-repeat;transition:width .4s ease,height .4s ease}.scrolled .nav-monogram{width:34px;height:37px}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.nav-toggle span{display:block;width:24px;height:1.5px;background:#fff;margin:5px 0;transition:all .3s ease}.scrolled .nav-toggle span,.menu-open .nav-toggle span{background:#344a38}@media (max-width: 820px){.nav-toggle{display:block}}.nav-links{display:flex;list-style:none;gap:2.5rem}.nav-links li a{font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:.7rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.9);transition:color .3s ease}.scrolled .nav-links li a{color:#68625c}.nav-links li a:hover{color:#fff}.scrolled .nav-links li a:hover{color:#344a38}@media (max-width: 820px){.nav-links{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#faf8f4;padding:2rem;gap:1.5rem;text-align:center}.nav-links.open{display:flex}.nav-links li a{display:block;padding:.5rem 0;color:#3a3632 !important}}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:url("images/hero.jpg") center 25%/cover no-repeat}@media (min-width: 641px){.hero{background-image:url("images/hero-video-poster.jpg");background-position:center}}.hero-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%, -50%);object-fit:cover;z-index:0}@media (max-width: 640px){.hero-video{display:none}}.hero-overlay{position:absolute;inset:0;z-index:0;background:linear-gradient(to bottom, rgba(74,107,79,.35) 0%, rgba(74,107,79,.2) 50%, rgba(74,107,79,.45) 100%)}@media (max-width: 640px){.hero-overlay{background:linear-gradient(to bottom, rgba(74,107,79,.25) 0%, rgba(74,107,79,.08) 35%, rgba(74,107,79,.35) 55%, rgba(49,71,52,.62) 100%)}}.hero-content{position:relative;z-index:1;color:#fff;padding:2rem;text-shadow:0 1px 14px rgba(0,0,0,.18)}@media (max-width: 640px){.hero-content{align-self:flex-end;padding:5rem 1.25rem max(7vh,2.5rem)}}.hero-monogram{display:block;width:120px;height:auto;margin:0 auto 1.75rem;filter:drop-shadow(0 1px 10px rgba(0,0,0,.2));animation:monogram-in 1.4s ease-out both}@media (max-width: 640px){.hero-monogram{width:84px;margin-bottom:1.25rem}}@media (prefers-reduced-motion: reduce){.hero-monogram{animation:none}}@keyframes monogram-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hero-title{font-family:"Aston Script","Snell Roundhand",cursive;font-size:clamp(3.1rem,7.6vw,5.6rem);font-weight:400;line-height:1.2;margin-bottom:2.5rem;text-shadow:0 2px 22px rgba(0,0,0,.35)}@media (max-width: 640px){.hero-title{font-size:clamp(2rem,9.2vw,2.75rem);white-space:nowrap;margin-bottom:1.75rem}}.hero-title .amp{font-size:.72em;margin:0 .12em}.hero-divider{width:60px;height:1px;background:rgba(255,255,255,.5);margin:0 auto 1.5rem}.hero-date{font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:clamp(.8rem,1.6vw,1rem);font-weight:400;letter-spacing:.18em;text-transform:uppercase;line-height:1.9;margin-bottom:.4rem}.hero-date .nowrap{white-space:nowrap}.hero-location{font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:clamp(.85rem,1.6vw,1.05rem);font-style:italic;letter-spacing:.04em;font-weight:400;opacity:.9}@media (max-width: 640px){.hero-location{font-size:.85rem}}.section{padding:7rem 2rem}@media (max-width: 640px){.section{padding:4rem 1.5rem}}.section-alt{background:#e9ead5}.container{max-width:1100px;margin:0 auto}.section-title{font-family:"Libre Caslon Display","Libre Caslon Text","Big Caslon",Georgia,serif;font-size:clamp(1.45rem,2.8vw,2.1rem);font-weight:400;text-align:center;text-transform:uppercase;letter-spacing:.22em;padding-left:.22em;line-height:1.35;color:#344a38}.section-divider{width:50px;height:1px;background:#6b8f71;margin:1.5rem auto 3rem}.story-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}@media (max-width: 960px){.story-content{grid-template-columns:1fr;gap:2.5rem}}.story-image img{border-radius:2px;box-shadow:0 20px 60px rgba(0,0,0,.1)}.story-text p{font-size:1.05rem;line-height:1.9;margin-bottom:1.5rem;color:#68625c}.events{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.events.events-two{grid-template-columns:minmax(0, 1fr) minmax(0, 2fr)}@media (max-width: 960px){.events.events-two{grid-template-columns:1fr}}@media (max-width: 640px){.events{grid-template-columns:1fr;gap:2rem}}.event-card{text-align:center;padding:.6rem;background:#faf8f4;border-radius:1px;box-shadow:0 10px 30px rgba(52,74,56,.08)}.event-card-inner{height:100%;padding:2.75rem 1.5rem 2.25rem;border:1px solid rgba(107,143,113,.35);display:flex;flex-direction:column;align-items:center}.event-title{font-family:"Aston Script","Snell Roundhand",cursive;font-size:clamp(1.8rem,2.2vw,2.1rem);font-weight:400;line-height:1.1;color:#4a6b4f;margin-bottom:1.7rem}@media (min-width: 1100px){.event-title{white-space:nowrap}}@media (min-width: 961px) and (max-width: 1099px){.event-title{min-height:2.2em;display:flex;align-items:flex-end}}.event-weekday{font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;color:#68625c;margin-bottom:.6rem}.event-date{display:flex;align-items:center;justify-content:center;font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#4a6b4f;margin-bottom:1.5rem}.event-date span{padding:0 .7rem}.event-date .event-day{font-size:1.55rem;letter-spacing:0;line-height:1;padding:.15rem 1rem;border-left:1px solid rgba(107,143,113,.5);border-right:1px solid rgba(107,143,113,.5)}.event-time{font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:.98rem;font-style:italic;letter-spacing:.02em;color:#68625c;margin-bottom:1.5rem}.event-venue{font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:.78rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;line-height:1.6;color:#344a38;margin-bottom:.5rem}.event-address{font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:.9rem;font-style:italic;letter-spacing:.02em;color:#68625c;line-height:1.6;margin-bottom:1.25rem}.event-links{margin-top:auto;padding-top:1.25rem;display:flex;justify-content:center;gap:2rem}.event-parts{flex:1;width:100%;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr))}@media (max-width: 640px){.event-parts{grid-template-columns:1fr;gap:2.25rem}}.event-part{display:flex;flex-direction:column;align-items:center;padding:0 1rem}.event-part+.event-part{border-left:1px solid rgba(107,143,113,.3)}@media (max-width: 640px){.event-part{padding:0}.event-part+.event-part{border-left:0}}.event-part-label{display:flex;align-items:center;gap:.75rem;font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:.68rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:#4a6b4f;margin-bottom:.9rem}.event-part-label span{margin-right:-.3em}.event-part-label::before,.event-part-label::after{content:"";width:1.75rem;height:1px;background:rgba(107,143,113,.5)}.event-attire{margin-top:1.75rem;padding-top:1.1rem;border-top:1px solid rgba(107,143,113,.3);font-style:italic;font-size:.95rem;color:#3a3632}.event-attire span{display:block;font-style:normal;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:#4a6b4f;margin-bottom:.25rem}.event-links-rsvp{margin-top:0;padding-top:1.75rem}.event-map-link{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;font-weight:400;color:#4a6b4f;border-bottom:1px solid #b8cebb;padding-bottom:2px}.event-map-link:hover{color:#344a38;border-color:#344a38}.schedule-note{text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(107,143,113,.3)}.schedule-note p{font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:.95rem;font-style:italic;color:#68625c}.schedule-note a{color:#344a38;border-bottom:1px solid rgba(107,143,113,.5)}.schedule-note a:hover{color:#6b8f71}.gallery-grid{display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-flow:dense;gap:1rem;grid-auto-rows:calc((min(100vw - 4rem,1100px) - 2rem)/3)}@media (max-width: 640px){.gallery-grid{grid-template-columns:repeat(2, 1fr);grid-auto-rows:calc((100vw - 4rem)/2)}}.gallery-item{overflow:hidden;border-radius:2px}.gallery-item.gallery-item-tall{grid-row:span 2}.gallery-item.gallery-item-wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}@media (hover: hover){.gallery-item:hover img{transform:scale(1.03)}}.lightbox{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox-img{max-width:90vw;max-height:90vh;max-height:85svh;user-select:none;-webkit-user-drag:none;object-fit:contain;border-radius:2px}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:rgba(255,255,255,.8);font-size:2.5rem;cursor:pointer;line-height:1;padding:.5rem}.lightbox-close:hover{color:#fff}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.6);font-size:3rem;cursor:pointer;padding:1rem;line-height:1}.lightbox-prev:hover,.lightbox-next:hover{color:#fff}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}@media (max-width: 640px){.lightbox-prev,.lightbox-next{top:auto;bottom:1.5rem;transform:none;font-size:2.5rem;padding:.75rem 1.25rem}.lightbox-close{top:.75rem;right:.75rem}}.travel-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:2.5rem}@media (max-width: 960px){.travel-grid{grid-template-columns:1fr;gap:2rem}}.travel-card h3{font-family:"Libre Caslon Display","Libre Caslon Text","Big Caslon",Georgia,serif;font-size:1.35rem;font-weight:400;color:#344a38;margin-bottom:1rem}.travel-card p{font-size:.92rem;color:#68625c;margin-bottom:1rem;line-height:1.75}.travel-card ul{list-style:none;margin-bottom:1rem}.travel-card ul li{font-size:.92rem;color:#68625c;padding:.35rem 0;padding-left:1rem;position:relative}.travel-card ul li::before{content:"";position:absolute;left:0;top:.85rem;width:4px;height:4px;border-radius:50%;background:#6b8f71}.stay-list li a{color:#344a38;border-bottom:1px solid rgba(107,143,113,.5);transition:color .3s ease,border-color .3s ease}.stay-list li a:hover{color:#6b8f71;border-bottom-color:#6b8f71}.travel-note{font-style:italic;color:#4a6b4f !important}.hotel-block{margin-bottom:1.75rem}.hotel-block p{margin-bottom:.3rem}.hotel-block .hotel-block-label{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:#4a6b4f;margin-bottom:.7rem}.hotel-block .hotel-block-name{font-family:"Libre Caslon Display","Libre Caslon Text","Big Caslon",Georgia,serif;font-size:1.35rem;line-height:1.3;margin-bottom:.2rem}.hotel-block .hotel-block-name a{color:#344a38;border-bottom:1px solid rgba(107,143,113,.45)}.hotel-block .hotel-block-name a:hover{color:#6b8f71}.hotel-block .hotel-block-address{font-style:italic;font-size:.9rem}.hotel-block .hotel-block-note{margin-top:.6rem}.btn-book{display:inline-block;margin-top:1rem;padding:.75rem 1.75rem;border:1px solid #4a6b4f;color:#4a6b4f;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;transition:background .3s ease,color .3s ease}.btn-book:hover{background:#4a6b4f;color:#faf8f4}.hotel-block-links{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:.6rem 1.75rem;margin-top:.9rem}.registry-message{font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:1.1rem;color:#68625c;text-align:center;max-width:550px;margin:0 auto 2.5rem;line-height:1.8}.registry-links{text-align:center}.btn-registry{background:#344a38;color:#fff;border:1px solid #344a38}.btn-registry:hover{background:rgba(0,0,0,0);color:#344a38}.section-rsvp{background:#344a38;text-align:center}.section-rsvp .section-title{color:#fff}.section-rsvp .section-divider{background:rgba(255,255,255,.3)}.rsvp-message{font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:1.2rem;color:rgba(255,255,255,.85);max-width:500px;margin:0 auto 2.5rem;line-height:1.8}.btn{display:inline-block;font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:.72rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;padding:1rem 3rem;border-radius:2px;transition:all .3s ease;cursor:pointer}.btn-primary{background:#fff;color:#344a38}.btn-primary:hover{background:#f0ebe0;color:#344a38}.rsvp-note{margin-top:2rem;font-size:.85rem;color:rgba(255,255,255,.5)}.rsvp-note a{color:rgba(255,255,255,.7);border-bottom:1px solid rgba(255,255,255,.3)}.rsvp-note a:hover{color:#fff}.footer{background:#293b2d;padding:4rem 2rem;text-align:center;color:rgba(255,255,255,.6)}.footer-names{font-family:"Aston Script","Snell Roundhand",cursive;font-size:1.85rem;font-weight:400;line-height:1.3;color:rgba(255,255,255,.8);margin-bottom:1.1rem}.footer-date{font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem}.footer-hashtag{font-family:"Libre Caslon Text","Big Caslon",Georgia,"Times New Roman",serif;font-style:italic;font-size:.9rem;color:#b8cebb;letter-spacing:.05em}.event-map-link,.stay-list a{position:relative}.event-map-link::after,.stay-list a::after{content:"";position:absolute;inset:-12px -10px}.stay-list a::after{inset:-8px -10px}.other-stay-label{font-size:.68rem !important;letter-spacing:.3em;text-transform:uppercase;color:#4a6b4f !important;margin-bottom:.5rem !important}