@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";.site-header{z-index:10;color:#fff;justify-content:space-between;align-items:center;min-height:72px;padding:12px clamp(20px,4vw,62px);transition:background-color .18s,color .18s,box-shadow .18s;display:flex;position:fixed;inset:0 0 auto}.site-header--scrolled{color:var(--ink);box-shadow:0 1px 0 var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbf9f4f7}.brand{flex-shrink:0;align-items:center;text-decoration:none;display:flex}.brand__monogram{font-family:var(--serif);font-size:1.7rem;line-height:1}.brand__monogram span{padding:0 2px;font-size:.8em}.main-navigation{align-items:center;gap:clamp(10px,1.4vw,22px);display:flex}.main-navigation a{text-transform:uppercase;white-space:nowrap;font-size:clamp(.62rem,.74vw,.78rem);font-weight:600;text-decoration:none}.main-navigation a:hover{text-underline-offset:5px;text-decoration:underline}.menu-toggle{display:none}@media (width<=1080px){.site-header{min-height:68px}.menu-toggle{width:42px;height:42px;color:inherit;background:0 0;border:1px solid;place-content:center;gap:5px;display:grid}.menu-toggle span{background:currentColor;width:18px;height:1px;display:block}.main-navigation{color:var(--ink);background:var(--cream);align-items:stretch;gap:0;padding:8px 24px 18px;display:none;position:absolute;inset:100% 0 auto;box-shadow:0 10px 20px #00000014}.main-navigation--open{display:grid}.main-navigation a{border-bottom:1px solid var(--line);padding:13px 0;font-size:.78rem}}@media (width<=360px){.site-header{padding-inline:16px}}.section.section--blue.contact{background:#10538f}.section__inner.contact__layout{grid-template-columns:.9fr 1.1fr;align-items:stretch;gap:clamp(36px,5vw,80px);width:min(1120px,100%)}.contact__intro{max-width:560px;padding-top:18px}.contact .contact__intro .eyebrow{color:#ffffffc7;margin-bottom:12px}.section__inner .contact__intro h2{color:#fff;font-family:var(--serif);margin:0 0 clamp(52px,6vw,88px);font-size:clamp(3rem,4vw,4.5rem);font-weight:400;line-height:1.08}.contact .contact__intro h2 span{color:var(--gold)}.contact .contact__intro>p:not(.eyebrow){color:#ffffffe0;max-width:560px;font-family:var(--sans);margin:0 0 24px;font-size:clamp(1rem,1.1vw,1.2rem);line-height:1.4}.contact .contact__form{color:#fff;box-shadow:none;background:#ffffff14;border:0;border-radius:24px;gap:clamp(22px,2.4vw,34px);padding:clamp(28px,3vw,48px)}.contact .contact__form>label{color:#fff;font-family:var(--sans);gap:12px;font-size:clamp(1.05rem,1.2vw,1.35rem)}.contact .contact__form input:not([type=radio]),.contact .contact__form textarea{color:#fff;min-height:68px;font-family:var(--sans);background:0 0;border:1px solid #ffffffb8;border-radius:0;padding:14px 16px;font-size:1rem}.contact .contact__form textarea{min-height:168px}.contact .contact__form input::placeholder,.contact .contact__form textarea::placeholder{color:#ffffff94}.contact .contact__form button{min-height:82px;font-family:var(--sans);font-size:1.15rem}.contact .contact__form .form-message{color:#f1d78e}@media (width<=1000px){.section__inner.contact__layout{grid-template-columns:1fr;gap:52px;width:100%}.contact__intro{max-width:760px;padding-top:0}.section__inner .contact__intro h2{margin-bottom:48px;font-size:clamp(3rem,6vw,4rem)}.contact .contact__form{gap:30px;padding:clamp(32px,6vw,64px)}.contact .contact__form>label{gap:10px}.contact .contact__form input:not([type=radio]){min-height:64px}.contact .contact__form textarea{min-height:150px}.contact .contact__form button{min-height:64px;font-size:1rem}}@media (width<=600px){.section__inner.contact__layout{gap:34px}.section__inner .contact__intro h2{margin-bottom:38px;font-size:clamp(2.8rem,11vw,4.2rem)}.contact .contact__intro>p:not(.eyebrow){margin-bottom:20px;font-size:1rem;line-height:1.55}.contact .contact__form{border-radius:20px;gap:28px;padding:28px 22px}.contact .contact__form>label{font-size:1rem}.contact .contact__form input:not([type=radio]){min-height:60px;padding:14px;font-size:1rem}.contact .contact__form textarea{min-height:160px}.contact .contact__form button{min-height:60px;font-size:.9rem}}.section.section--blue.gifts{background:#10538f;place-items:center;min-height:100svh;padding:clamp(100px,14vh,170px) 24px;display:grid}.gifts__inner{text-align:center;width:min(1540px,100%);max-width:none}.gifts__inner .eyebrow{display:none}.section__inner.gifts__inner h2{color:#fff;font-family:var(--serif);margin:0 0 clamp(40px,4vw,64px);font-size:clamp(2.5rem,4.2vw,4rem);font-weight:400;line-height:1.05}.gifts__inner>p:not(.eyebrow){color:#fffffff0;max-width:1260px;font-family:var(--sans);margin:0 auto 28px;font-size:clamp(1rem,1.25vw,1.3rem);line-height:1.5}.gifts__inner>.gifts__optional{margin-top:clamp(22px,3vw,40px);margin-bottom:clamp(76px,10vw,160px);font-size:clamp(.95rem,1.15vw,1.2rem)}.gifts__choose{color:#101010;width:min(100%,300px);min-width:0;min-height:56px;font-family:var(--sans);border-radius:10px;padding:12px 20px;font-size:.9rem}.gift-modal-backdrop{z-index:100;background:#041420b3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.gift-modal{width:min(100%,440px);color:var(--ink);text-align:center;background:#fbf9f5;padding:clamp(24px,5vw,40px);box-shadow:0 18px 70px #00000040}.gift-modal h3{font-family:var(--serif);margin:0 0 14px;font-size:clamp(1.6rem,6vw,2.2rem);font-weight:400}.gift-modal p{color:var(--muted);margin:0 0 22px;font-size:.92rem;line-height:1.8}@media (width<=700px){.section__inner.gifts__inner h2{margin-bottom:30px;font-size:clamp(2.25rem,8vw,3rem)}.gifts__inner>p:not(.eyebrow){font-size:1rem;line-height:1.5}.gifts__inner>.gifts__optional{margin:24px auto 60px;font-size:.98rem}.gifts__choose{border-radius:12px;width:min(100%,400px);min-width:0;min-height:68px;font-size:1rem}}.hero{color:#fff;background:#59635a;align-items:end;min-height:max(600px,100svh);display:flex;position:relative;overflow:hidden}.hero__backdrop{background-image:linear-gradient(90deg,#08191d8c,#08191d2e 75%),linear-gradient(#08161b1f 34%,#08161b9e),url(/images/wedding-hero.png);background-position:50%;background-size:cover;position:absolute;inset:0}.hero__backdrop:before{content:"";background:#08161b14;position:absolute;inset:0}.hero__content{width:min(1120px,100%);margin:0 auto;padding:0 24px clamp(76px,12vh,140px);position:relative}.hero .eyebrow{color:#ffffffe6}.hero h1{font-family:var(--serif);margin:15px 0 12px;font-size:clamp(3.6rem,9vw,7rem);font-weight:400;line-height:.94}.hero h1 span{font-size:.8em;font-style:italic}.hero__note{color:#ffffffe0;font-family:var(--serif);margin:0;font-size:clamp(1.1rem,1.35vw,1.3rem);font-style:italic}.hero__scroll{border:1px solid #fff9;border-radius:50%;place-items:center;width:38px;height:38px;text-decoration:none;display:grid;position:absolute;bottom:34px;right:clamp(24px,5vw,80px)}@media (width<=480px){.hero{min-height:100svh}.hero__content{padding-inline:22px;padding-bottom:110px}}.attendance-section{background:#fff}.attendance__layout{grid-template-columns:1fr 1.22fr;gap:clamp(56px,7vw,140px);width:min(1840px,100vw - 128px)}.attendance__intro{padding-top:22px}.section__inner .attendance__intro h2{color:var(--ink);font-family:var(--serif);margin:8px 0 54px;font-size:clamp(3rem,4.5vw,4.5rem);font-weight:400;line-height:1.08}.section__inner .attendance__intro h2 span{color:var(--blue)}.attendance__intro>p:not(.eyebrow){color:#344452;max-width:600px;font-family:var(--sans);font-size:clamp(1.12rem,1.35vw,1.5rem);line-height:1.45}.attendance__date{font-family:var(--sans);margin-top:26px;font-style:italic;font-weight:500;color:#344452!important}.attendance__form{box-shadow:none;background:#fcfaf7;border:1px solid #d8d0c2;gap:clamp(28px,3.4vw,52px);padding:clamp(34px,4vw,72px)}.attendance__form>label,.attendance__form fieldset{font-family:var(--sans);gap:16px;font-size:clamp(1.05rem,1.2vw,1.35rem)}.attendance__form input:not([type=radio]),.attendance__form textarea{background:0 0;border-color:#d8d0c2;min-height:88px;padding:20px;font-size:1.1rem}.attendance__form textarea{min-height:180px}.attendance__form .choice{gap:12px}.attendance__form button{min-height:76px;font-size:1.1rem}.optional{color:var(--muted);font-weight:400}@media (width<=800px){.attendance__layout{grid-template-columns:1fr;gap:52px;width:100%}.attendance__intro{padding:0 clamp(4px,3vw,24px)}.attendance__intro .eyebrow{margin-bottom:18px}.section__inner .attendance__intro h2{margin:0 0 44px;font-size:clamp(2.7rem,8vw,3.8rem);line-height:1.15}.attendance__intro>p:not(.eyebrow){font-size:1.08rem;line-height:1.6}.attendance__intro>p:not(.eyebrow):not(.attendance__date){margin:0}.attendance__date{margin:40px 0 0}.attendance__form{gap:24px;padding:clamp(24px,6vw,40px)}.attendance__form>label,.attendance__form fieldset{gap:12px;font-size:1rem}.attendance__form input:not([type=radio]),.attendance__form textarea{min-height:62px;padding:15px;font-size:1rem}.attendance__form textarea{min-height:140px}.attendance__form button{min-height:62px;font-size:.95rem}}.story__heading{text-align:center;justify-items:center;width:100%;margin:0 auto 48px;display:grid}.story__heading h2{text-align:center;width:min(100%,900px);margin:8px 0 22px}.story__title{text-align:center;justify-items:center;gap:.08em;width:100%;margin-inline:auto;display:grid}.story__title-line{text-align:center;will-change:transform;justify-self:center;margin-inline:auto;transition:transform 1.9s cubic-bezier(.22,1,.36,1);display:block}.story__title-line--first{color:var(--ink);transform:translate(-12vw,-8vh)}.story__title-line--second{color:var(--blue);transform:translate(12vw,8vh)}.story__title--joined{justify-items:center}.story__title--joined .story__title-line{justify-self:center;transform:translate(0)}.story__timeline{width:min(720px,100%);margin:0 auto;position:relative}.story__timeline:before{content:"";background:#45647c;width:1px;position:absolute;top:10px;bottom:10px;left:50%}.story__milestone{grid-template-columns:1fr 1fr;align-items:center;gap:34px;min-height:220px;padding:20px 0;display:grid;position:relative}.story__milestone:after{border:1px solid var(--blue);content:"";background:var(--paper);border-radius:50%;width:9px;height:9px;position:absolute;top:50%;left:calc(50% - 4px)}.story__milestone--reverse .story-photo{grid-area:1/2}.story__milestone--reverse .story__milestone-copy{text-align:right;grid-area:1/1}.story-photo{aspect-ratio:1/1.12;object-fit:cover;justify-self:center;width:min(220px,100%);display:block}.story__milestone-copy{max-width:280px;color:var(--muted);font-size:.94rem;line-height:1.7}.story__year{color:var(--ink);margin:0 0 6px;font-size:.84rem;font-weight:700}.story__milestone-copy h3{color:var(--ink);font-family:var(--serif);margin:0 0 8px;font-size:1.32rem;font-weight:400}.story__milestone-copy p:last-child{margin:0}@media (width<=600px){.story__title-line--first{transform:translate(-12vw,-4vh)}.story__title-line--second{transform:translate(12vw,4vh)}.story__timeline{padding-left:18px}.story__timeline:before{left:0}.story__milestone{grid-template-columns:minmax(105px,.8fr) 1fr;gap:20px;min-height:160px}.story__milestone:after{left:-4px}.story__milestone--reverse .story-photo,.story__milestone--reverse .story__milestone-copy{grid-area:auto}.story__milestone--reverse .story-photo{grid-column:1}.story__milestone--reverse .story__milestone-copy{text-align:left;grid-column:2}.story-photo{width:100%}}@media (width<=360px){.story__timeline{padding-left:14px}.story__milestone{grid-template-columns:minmax(88px,.8fr) 1fr;gap:14px}}@media (prefers-reduced-motion:reduce){.story__title-line{transition:none;transform:none}}.people-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.people-heading h2{margin:6px 0 0}.people-pagination{justify-content:flex-end;align-items:center;gap:10px;min-height:22px;margin:0 0 26px;display:flex}.people-pagination__dot{cursor:pointer;background:#d9dadd;border:0;border-radius:50%;width:18px;height:18px;padding:0;transition:width .16s,background-color .16s}.people-pagination__dot--active{background:var(--navy);border-radius:999px;width:38px}.people-grid{scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:calc(25% - 15px);grid-auto-flow:column;gap:20px;display:grid;overflow-x:auto}.people-grid::-webkit-scrollbar{display:none}.person-card{text-align:center;scroll-snap-align:start;background:#fff;border:1px solid #18334a8c;min-width:0;padding:18px 18px 20px}.person-card__portrait{aspect-ratio:.87;background:linear-gradient(145deg,#b8b6a9,#e0d6c7 48%,#748279)}.person-card__portrait--2{background:linear-gradient(145deg,#bfc2b4,#e8d8c9 48%,#7a8279)}.person-card__portrait--3{background:linear-gradient(145deg,#d0c3b1,#899287 48%,#53695d)}.person-card__portrait--4{background:linear-gradient(145deg,#bcbbaa,#e4d3bd 48%,#68786e)}.person-card__portrait--5{background:linear-gradient(145deg,#c7c0b0,#d9cdbd 48%,#788478)}.person-card__portrait--6{background:linear-gradient(145deg,#b8b9ad,#ded0bf 48%,#64776f)}.person-card__portrait--7{background:linear-gradient(145deg,#c6bba9,#e1d9c9 48%,#687b75)}.person-card h3{font-family:var(--sans);margin:16px 0 8px;font-size:1.32rem;font-weight:400}.people-controls{justify-content:flex-end;gap:10px;margin-top:clamp(76px,10vw,150px);display:flex}.people-controls button{width:56px;height:56px;color:var(--navy);cursor:pointer;background:#4387ba;border:0;border-radius:12px;place-items:center;font-size:1.8rem;line-height:1;display:grid}.people-controls button+button{background:var(--gold)}.people-controls button:hover{filter:brightness(1.08)}.people-controls button:focus-visible{outline-offset:2px}@media (width<=800px){.people-grid{grid-auto-columns:calc(50% - 10px)}.person-card{padding:14px 14px 16px}}@media (width<=600px){.people-heading{align-items:center;margin-bottom:18px}.people-pagination{margin-bottom:18px}.people-grid{grid-auto-columns:calc(50% - 7px);gap:14px}.person-card{padding:10px 10px 12px}.person-card h3{font-size:1rem}.people-controls{margin-top:44px}.people-controls button{border-radius:10px;width:48px;height:48px;font-size:1.5rem}}.welcome__layout{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,9vw,110px);display:grid}.welcome__copy{max-width:440px}.welcome__copy h2>.welcome__title-line{display:block}.welcome__copy h2>.welcome__title-line--first{color:var(--ink)}.welcome__copy h2>.welcome__title-line--second{color:var(--blue)}.welcome__copy>p:not(.eyebrow){color:var(--muted);font-size:1.1rem;line-height:1.75}.welcome__link{color:var(--blue);margin-top:30px;font-size:.96rem;font-weight:600;text-decoration:none;display:inline-block}.welcome__link span{margin-left:8px}.welcome__photo{aspect-ratio:1.1;object-fit:cover;opacity:.72;width:100%;display:block;box-shadow:inset 0 0 0 1px #ffffff38}@media (width<=700px){.welcome__layout{grid-template-columns:1fr;gap:30px}}.ceremony__layout{grid-template-columns:.92fr 1.08fr;align-items:center;gap:clamp(32px,5vw,80px);width:min(1760px,100vw - 64px);display:grid}.ceremony__heading{border-bottom:1px solid #dfc17c61;grid-column:1/-1;padding-bottom:28px}.section--navy .ceremony__heading h2{color:#fff;font-family:var(--serif);margin:0;font-size:clamp(3rem,4.4vw,4.5rem);font-weight:400;line-height:.98}.section--navy .ceremony__heading h2 span{color:var(--gold)}.ceremony__details{align-self:stretch}.ceremony__item{border-bottom:1px solid #dfc17c57;margin:0;padding:0 0 20px}.ceremony__item+.ceremony__item{padding-top:20px}.ceremony__item h3{color:var(--gold);font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:1rem;font-weight:700}.ceremony__item p{color:#ffffffd6;font-family:var(--sans);margin:0;font-size:1.25rem;line-height:1.5}.ceremony__item strong{color:#fff;font-weight:700}.ceremony__directions{min-width:230px;font-family:var(--sans);margin-top:clamp(30px,5vw,72px);font-size:1rem}.ceremony__map{aspect-ratio:1.42;background:#e9e7dc;width:100%;position:relative;overflow:hidden}.ceremony__map iframe{border:0;width:100%;height:100%;position:absolute;inset:0}@media (width<=700px){.ceremony__layout{grid-template-columns:1fr;gap:28px;width:100%}.ceremony__heading{padding-bottom:22px}.section--navy .ceremony__heading h2{font-size:clamp(2.7rem,10vw,3.5rem)}.ceremony__item p{font-size:1.08rem}.ceremony__directions{margin-top:24px}.ceremony__map{aspect-ratio:1.12}}.lodging__intro{max-width:1500px;margin-bottom:clamp(48px,6vw,92px)}.section-intro.lodging__intro h2{white-space:nowrap;margin:8px 0 26px;font-size:clamp(2.8rem,4.8vw,4.5rem);line-height:1.05}.section-intro.lodging__intro p:last-child{max-width:1300px;margin-inline:auto;font-size:clamp(1.05rem,1.35vw,1.35rem);line-height:1.45}.lodging__layout{grid-template-columns:.92fr 1.08fr;align-items:center;gap:clamp(48px,7vw,132px);width:min(1760px,100vw - 128px);display:grid}.lodging__photo{aspect-ratio:1;object-fit:cover;background:linear-gradient(#05223605,#0522362e),linear-gradient(145deg,#222d32,#b49c6f 47%,#50625b 48%,#273b3a);width:100%;display:block}.lodging__item{border-bottom:1px solid #18232b6b;grid-template-columns:1fr 28px;align-items:start;gap:16px;padding:24px 0;transition:opacity .16s;display:grid}.lodging__item:not(.lodging__item--active){opacity:.34}.lodging__select{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;gap:5px;padding:0;display:grid}.lodging__name{color:var(--blue);font-family:var(--sans);font-size:clamp(1.3rem,1.65vw,1.8rem);font-weight:700;line-height:1.2}.lodging__description{color:var(--ink);font-size:clamp(.96rem,1.15vw,1.2rem);font-weight:600;line-height:1.45}.lodging__item:not(.lodging__item--active) .lodging__description{color:var(--muted)}.lodging__arrow{width:28px;height:28px;color:var(--blue);place-items:center;font-size:1.2rem;text-decoration:none;display:grid}.lodging__arrow:focus-visible,.lodging__select:focus-visible{outline:2px solid var(--blue);outline-offset:4px}@media (width<=700px){.section-intro.lodging__intro h2{white-space:normal;font-size:clamp(2.5rem,8vw,3.5rem)}.lodging__layout{grid-template-columns:1fr;gap:30px;width:100%}.lodging__photo{aspect-ratio:1.25}.lodging__item{padding:19px 0}}.countdown{color:#fff;text-align:center;background:#334940;place-items:stretch stretch;min-height:100svh;display:grid;position:relative;overflow:hidden}.countdown__backdrop{background-image:linear-gradient(#08121694,#081216a3),url(/images/wedding-hero.png);background-position:50% 56%;background-size:cover;position:absolute;inset:0}.countdown__content{flex-direction:column;justify-content:space-between;align-items:center;width:min(1600px,100%);min-height:100svh;margin-inline:auto;padding:clamp(90px,13vh,170px) 32px clamp(80px,11vh,140px);display:flex;position:relative}.countdown h2{font-family:var(--serif);margin:0;font-size:clamp(3rem,6vw,6.5rem);font-weight:400;line-height:1.05}.countdown__timer{background:#080c0c7a;border:1px solid #ffffff47;grid-template-columns:repeat(4,1fr);width:min(1200px,90vw);display:grid}.countdown__unit{border-right:1px solid #ffffff47;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:clamp(150px,19vh,230px);padding:24px 12px;display:flex}.countdown__unit:last-child{border-right:0}.countdown__unit strong{font-family:var(--sans);font-size:clamp(2.6rem,4.5vw,5rem);font-weight:400;line-height:1}.countdown__unit span{letter-spacing:.08em;text-transform:uppercase;font-size:clamp(.76rem,.9vw,1rem);font-weight:600}.countdown__names{font-family:var(--serif);margin:0;font-size:clamp(2.2rem,3.5vw,3.8rem);line-height:1.1}.countdown__top{color:#ffffffdb;text-transform:uppercase;font-size:.76rem;text-decoration:none;position:absolute;bottom:18px;right:24px}@media (width<=700px){.countdown__content{min-height:100svh;padding:15svh 18px 12svh}.countdown h2{max-width:12ch;font-size:clamp(3rem,11vw,4.4rem)}.countdown__timer{grid-template-columns:repeat(2,1fr);width:100%}.countdown__unit{min-height:clamp(110px,18vh,160px)}.countdown__unit:nth-child(2){border-right:0}.countdown__unit:nth-child(-n+2){border-bottom:1px solid #ffffff47}.countdown__unit strong{font-size:clamp(2.6rem,10vw,4rem)}.countdown__unit span{font-size:.72rem}.countdown__names{font-size:clamp(2.3rem,8vw,3.4rem)}}@media (width<=360px){.countdown__unit{padding-inline:4px}.countdown__unit span{letter-spacing:.04em;font-size:.66rem}.countdown__top{right:16px}}.section{padding:clamp(68px,8vw,112px) 24px}.section--paper{background:var(--paper)}.section--cream{background:var(--cream)}.section--navy{color:#fff;background:var(--navy)}.section--blue{color:#fff;background:var(--blue-section)}.section--blue h2 span{color:#e4c980}.section__inner{width:min(1120px,100%);margin:0 auto}.section h2{font-family:var(--serif);margin:8px 0 22px;font-size:clamp(2.7rem,5vw,4.2rem);font-weight:400;line-height:1.05}.section h2 span{color:var(--blue)}.eyebrow{letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:600;line-height:1.7}.eyebrow--ink{color:var(--blue)}.section-intro{text-align:center;max-width:600px;margin:0 auto 42px}.section-intro p:last-child{color:var(--muted);font-size:1.1rem;line-height:1.75}.button{min-height:48px;font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:0;border-radius:2px;justify-content:center;align-items:center;padding:13px 24px;font-size:.76rem;font-weight:700;text-decoration:none;transition:transform .16s,background-color .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--light{color:var(--navy);background:var(--gold)}.button--light:hover{background:#e6cc8c}.button--dark{color:#fff;background:var(--blue)}.button--dark:hover{background:#0b416c}.placeholder-note{color:var(--muted);font-size:.9rem}.form-layout{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(36px,8vw,100px);display:grid}.form-card{background:#fbf9f5;border:1px solid #18334a14;gap:16px;padding:clamp(22px,3vw,34px);display:grid;box-shadow:0 8px 32px #041e310a}.form-card>label,.form-card fieldset{color:var(--ink);gap:8px;font-size:.92rem;font-weight:600;display:grid}.form-card input:not([type=radio]),.form-card textarea{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #18334a29;border-radius:0;padding:11px 13px;font-size:.9rem}.form-card textarea{resize:vertical}.form-card fieldset{border:0;margin:0;padding:0}.form-card legend{margin-bottom:8px}.choice{align-items:center;gap:8px;font-weight:400;display:flex}.form-message{color:var(--blue);margin:0;font-size:.86rem;line-height:1.6}@media (width<=800px){.form-layout{grid-template-columns:1fr;gap:28px}}@media (width<=480px){.section{padding-inline:20px}}@media (width<=360px){.section{padding-inline:16px}.section h2{font-size:2.35rem}.form-card{padding:18px}.button{padding-inline:16px;font-size:.72rem}}@media (width<=700px){.form-card>label,.form-card fieldset{font-size:.92rem}.form-card input:not([type=radio]),.form-card textarea{font-size:.95rem}.button{font-size:.76rem}.story__milestone-copy{font-size:.94rem}.welcome__copy>p:not(.eyebrow),.attendance__intro>p:not(.eyebrow),.contact__intro>p:last-child,.ceremony__item p,.lodging__item p,.gifts__inner>p:not(.eyebrow){font-size:1rem}.countdown__unit span{font-size:.76rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.admin-page{color:#18334a;background:#fbf9f4;min-height:100vh;padding:clamp(24px,5vw,64px)}.admin-shell{width:min(1180px,100%);margin:0 auto}.admin-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.admin-header h1,.admin-login h1{font-family:var(--serif);margin:6px 0 0;font-size:clamp(2rem,4vw,3rem);font-weight:400}.admin-eyebrow{color:#155487;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:700}.admin-logout,.admin-login button{color:#fff;cursor:pointer;background:#155487;border:0;border-radius:2px;min-height:44px;padding:0 20px;font-weight:600}.admin-logout:hover,.admin-login button:hover{background:#0b416c}.admin-login{background:#fff;border:1px solid #18334a1a;width:min(440px,100%);margin:12vh auto 0;padding:clamp(24px,5vw,40px);box-shadow:0 12px 42px #041e310f}.admin-login>p:not(.admin-eyebrow){color:#6c7780;font-size:.88rem;line-height:1.7}.admin-login form{gap:12px;margin-top:28px;display:grid}.admin-login label{font-size:.76rem;font-weight:600}.admin-login input{color:#18334a;background:#fff;border:1px solid #18334a38;border-radius:2px;width:100%;min-height:46px;padding:10px 12px}.admin-login button:disabled{opacity:.6;cursor:wait}.admin-error{color:#a83232;font-size:.78rem}.admin-loading{text-align:center;width:min(1180px,100%);margin:20vh auto}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:36px;display:grid}.admin-stats article{background:#fff;border:1px solid #18334a14;gap:12px;min-height:110px;padding:20px;display:grid}.admin-stats span{color:#6c7780;font-size:.72rem}.admin-stats strong{color:#062944;font-family:var(--serif);font-size:1.7rem;font-weight:400}.admin-section{background:#fff;border:1px solid #18334a14;margin-top:26px;padding:clamp(18px,3vw,28px)}.admin-section-heading{align-items:center;gap:10px;margin-bottom:18px;display:flex}.admin-section-heading h2{font-family:var(--serif);margin:0;font-size:1.6rem;font-weight:400}.admin-section-heading>span{color:#fff;background:#155487;border-radius:50%;justify-content:center;align-items:center;min-width:25px;height:25px;padding:0 6px;font-size:.68rem;display:inline-flex}.admin-table-wrap{overflow-x:auto}.admin-section table{border-collapse:collapse;text-align:left;width:100%}.admin-section th,.admin-section td{vertical-align:top;border-bottom:1px solid #18334a1a;padding:13px 10px;font-size:.73rem}.admin-section th{color:#6c7780;letter-spacing:.04em;text-transform:uppercase;font-size:.63rem;font-weight:700}.admin-badge{white-space:nowrap;border-radius:2px;padding:5px 8px;font-size:.65rem;font-weight:600;display:inline-block}.admin-badge.is-positive{color:#175c40;background:#e5f3eb}.admin-badge.is-muted{color:#596775;background:#eef1f3}.admin-empty{color:#6c7780;text-align:center;padding-block:28px!important}.admin-note{color:#6c7780;margin:14px 0 0;font-size:.68rem}@media (width<=760px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-section table,.admin-section tbody,.admin-section tr,.admin-section td{width:100%;display:block}.admin-section thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.admin-section tr{border-bottom:1px solid #18334a1f;padding:10px 0}.admin-section td{overflow-wrap:anywhere;border:0;grid-template-columns:minmax(100px,.65fr) 1fr;gap:12px;padding:7px 4px;display:grid}.admin-section td:before{content:attr(data-label);color:#6c7780;text-transform:uppercase;font-size:.64rem;font-weight:700}.admin-section td.admin-empty{display:block}.admin-section td.admin-empty:before{content:none}}@media (width<=420px){.admin-page{padding:18px 14px}.admin-header{align-items:flex-start}.admin-logout{min-height:40px;padding-inline:14px}.admin-stats article{padding:15px}.admin-stats strong{font-size:1.45rem}.admin-section{padding:16px 12px}}.gift-catalog{color:#172f44;background:#f4f5fc;min-height:100vh;padding:0 clamp(24px,4vw,80px) 100px}.gift-catalog__header{justify-content:space-between;align-items:center;min-height:116px;display:flex;position:relative}.gift-catalog__section-label{font-family:var(--sans);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:22px;font-size:1rem;font-weight:700;display:inline-flex}.gift-catalog__section-label>span{background:var(--navy);width:44px;height:2px}.gift-catalog__header-actions{align-items:center;gap:clamp(18px,2.5vw,42px);display:flex}.gift-catalog__icon{border:2px solid var(--navy);width:58px;height:58px;color:var(--navy);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:grid;position:relative}.gift-catalog__menu-button{border-color:var(--navy);background:var(--navy);align-content:center;gap:5px}.gift-catalog__menu-button span{background:#fff;width:20px;height:2px;transition:transform .16s,opacity .16s}.gift-catalog__menu-button span:first-child.is-open{transform:translateY(7px)rotate(45deg)}.gift-catalog__menu-button span:nth-child(2).is-open{opacity:0}.gift-catalog__menu-button span:last-child.is-open{transform:translateY(-7px)rotate(-45deg)}.gift-catalog__cart-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:29px;height:29px}.gift-catalog__cart-count{color:#fff;background:var(--blue);border-radius:99px;place-items:center;min-width:24px;height:24px;padding-inline:5px;font-size:.75rem;font-weight:700;display:grid;position:absolute;top:-5px;right:-5px}.gift-catalog__menu{z-index:5;background:#fff;border-radius:20px;width:min(330px,100vw - 48px);padding:12px 24px;display:grid;position:absolute;top:calc(100% - 4px);right:82px;box-shadow:0 14px 38px #0f223a29}.gift-catalog__menu a{color:var(--navy);border-bottom:1px solid #18334a1a;padding:14px 0;font-size:.88rem;font-weight:600;text-decoration:none}.gift-catalog__menu a:last-child{border-bottom:0}.gift-catalog__intro{text-align:center;width:min(1780px,100%);margin:clamp(72px,8vw,150px) auto clamp(112px,13vw,230px)}.gift-catalog__intro h1{color:#142b40;font-family:var(--serif);margin:0 0 clamp(44px,5vw,84px);font-size:clamp(3rem,5.4vw,6rem);font-weight:400;line-height:1.1}.gift-catalog__intro p{color:#334456;font-family:var(--sans);margin:0 auto 22px;font-size:clamp(1.05rem,1.25vw,1.55rem);line-height:1.55}.gift-catalog__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,36px);width:min(1880px,100%);margin:0 auto;display:grid}.gift-product{text-align:center;background:#fff;border-radius:24px;flex-direction:column;align-items:stretch;min-width:0;padding:clamp(18px,1.7vw,32px);display:flex;box-shadow:0 7px 12px #14202f29}.gift-product__image{aspect-ratio:1.2;color:#657488;background:#e8ebf2;place-items:center;width:100%;margin-bottom:clamp(20px,2vw,32px);font-size:.9rem;display:grid;overflow:hidden}.gift-product h2{color:#090909;min-height:3.2em;font-family:var(--sans);place-items:start center;margin:0 0 clamp(22px,2vw,36px);font-size:clamp(1rem,1.1vw,1.3rem);font-weight:600;line-height:1.35;display:grid}.gift-product__price{color:#15558c;font-family:var(--sans);margin:0 0 clamp(24px,2.4vw,42px);font-size:clamp(1.35rem,1.65vw,1.9rem);font-weight:700}.gift-product__custom-label{color:#334456;text-align:left;margin:0 0 8px;font-size:.88rem;font-weight:600}.gift-product__custom-amount{width:100%;min-height:52px;color:var(--navy);font:inherit;background:#fff;border:1px solid #cbd2dd;border-radius:6px;margin:0 0 16px;padding:10px 14px}.gift-product__custom-amount:focus{outline-offset:2px;outline:2px solid #1463a5}.gift-product__select{color:#fff;cursor:pointer;width:100%;min-height:clamp(54px,3.8vw,76px);font-family:var(--sans);text-transform:uppercase;background:#1463a5;border:0;border-radius:12px;place-items:center;margin-top:auto;padding:12px 14px;font-size:clamp(.9rem,1vw,1.15rem);font-weight:700;transition:background-color .16s,transform .16s;display:grid}.gift-product__select:hover:not(:disabled){background:#0d548f;transform:translateY(-2px)}.gift-product__select[aria-pressed=true]{color:var(--navy);background:var(--gold)}.gift-product__select:disabled{cursor:wait;opacity:.65}.gift-cart__backdrop{z-index:40;background:#04111f7a;justify-content:flex-end;display:flex;position:fixed;inset:0}.gift-cart{width:min(560px,100%);height:100%;color:var(--navy);background:#fff;flex-direction:column;padding:clamp(24px,4vw,52px);display:flex;overflow-y:auto;box-shadow:-12px 0 40px #00000029}.gift-cart__heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:24px;display:flex}.gift-cart__heading h2{font-family:var(--serif);margin:0;font-size:2rem;font-weight:400}.gift-cart__heading button,.gift-cart__items button{width:36px;height:36px;color:var(--navy);cursor:pointer;background:#edf0f6;border:0;border-radius:50%;font-size:1.5rem}.gift-cart__empty{color:var(--muted);margin:28px 0;line-height:1.6}.gift-cart__items{gap:0;margin:0;padding:0;list-style:none;display:grid}.gift-cart__items li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 36px;align-items:center;gap:16px;padding:20px 0;font-size:.94rem;line-height:1.4;display:grid}.gift-cart__items strong{white-space:nowrap}.gift-cart__total{justify-content:space-between;margin:26px 0;font-size:1.2rem;display:flex}.gift-cart__form{gap:20px;margin-top:auto;display:grid}.gift-cart__form label{gap:10px;font-size:.95rem;font-weight:600;display:grid}.gift-cart__form input{min-height:56px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbd2dd;padding:12px 14px}.gift-cart__form small{color:var(--muted);text-align:center;font-size:.8rem;line-height:1.5}.gift-cart__form .form-message{color:#a12b2b;margin:0}@media (width<=1200px){.gift-catalog__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gift-catalog__intro{margin-top:72px;margin-bottom:90px}.gift-product{padding:22px}}@media (width<=760px){.gift-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media (width<=600px){.gift-catalog{padding:0 18px 56px}.gift-catalog__header{min-height:82px}.gift-catalog__section-label{gap:12px;font-size:.76rem}.gift-catalog__section-label>span{width:28px}.gift-catalog__header-actions{gap:14px}.gift-catalog__icon{width:42px;height:42px}.gift-catalog__menu-button{gap:4px}.gift-catalog__menu-button span{width:16px;height:1.5px}.gift-catalog__cart-button svg{width:23px;height:23px}.gift-catalog__menu{right:0}.gift-catalog__intro{margin:64px auto}.gift-catalog__intro h1{margin-bottom:28px;font-size:clamp(2.4rem,9vw,3.5rem)}.gift-catalog__intro p{font-size:1rem}.gift-catalog__grid{grid-template-columns:1fr;gap:24px}.gift-product{border-radius:22px;padding:24px}.gift-product__image{max-height:300px;margin-bottom:26px}.gift-product h2{min-height:0;margin-bottom:24px;font-size:1.1rem}.gift-product__price{margin-bottom:28px;font-size:1.55rem}.gift-product__select{border-radius:12px;min-height:62px;font-size:1rem}.gift-cart__items li{grid-template-columns:1fr auto 32px;gap:9px;font-size:.85rem}}:root{color:#172f44;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;--ink:#172f44;--muted:#4d5962;--paper:#fcfaf7;--cream:#f7f4ee;--navy:#082740;--blue:#155b94;--blue-section:#254f82;--gold:#dfc17c;--line:#172f442b;--serif:"Playfair Display", Georgia, serif;--sans:"Montserrat", sans-serif;background:#fcfaf7;font-family:Montserrat,sans-serif;font-weight:400}*{box-sizing:border-box}html{scroll-padding-top:84px}body{min-width:320px;margin:0}button,input,textarea{font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:400}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}::selection{color:#fff;background:var(--blue)}
