*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}button,a{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}h1,h2,h3,h4,h5,h6,p{margin:0;padding:0;font:inherit}ul,ol,li{margin:0;padding:0;list-style:none}nav{display:block}article,section,header,footer,main,aside{display:block}img{max-width:100%;height:auto;display:block;object-fit:cover}:root{--green: #3d4a3a;--cream: #f5f2eb;--gold: #c9b87a;--padding-x-base: clamp(1.5rem, 4vw, 3rem);--padding-section: clamp(1.875rem, 5vw, 3.75rem);--padding-x: max(var(--padding-x-base), calc((100vw - 1200px)/2) );--gap: clamp(1.25rem, 3vw, 2rem);--font-size-hero: clamp(2.5rem, 7vw, 5rem);--font-size-h1: clamp(2rem, 5vw, 3.5rem);--font-size-h2: clamp(1.5rem, 3.5vw, 2.25rem);--font-size-body: 1rem;--font-size-small: 1rem}body{font-family:Jost,sans-serif;font-weight:300;overflow-x:hidden;font-size:var(--font-size-body);background:var(--cream)}h1 em,h2 em,h3 em,.title em{font-family:Great Vibes,Snell Roundhand,cursive;font-style:normal}a.button{display:inline-block;text-decoration:none}a.button span{display:inline-block;padding:1rem 2rem;border:1px solid currentColor;border-radius:50%;font-size:var(--font-size-small);text-transform:uppercase;letter-spacing:.05em;text-align:center;transition:opacity .2s ease;white-space:nowrap}a.button:hover span{opacity:.7}.hero{position:relative;height:80vh;background:var(--green);background-image:linear-gradient(#0000004d,#0000004d),url(/media/images/42435CB3-6415-44BB-A0C7-998BDBBCAA7D.JPG);background-size:cover;background-position:center bottom;color:var(--cream);padding:var(--padding-section) var(--padding-x)}.hero .nav-menu{text-align:center;font-size:var(--font-size-small)}.hero .nav-menu a{text-decoration:none}.hero .hero-title{position:absolute;bottom:var(--gap);right:var(--padding-x);display:inline-flex;flex-direction:column;align-items:flex-end}.hero .hero-title h1{position:relative;display:flex;flex-direction:column;align-items:center;font-size:var(--font-size-hero);font-weight:300;margin-bottom:.25rem;overflow:visible}.hero .hero-title h1 .name{position:relative;z-index:1;white-space:nowrap}.hero .hero-title h1 .name.devin{align-self:flex-start;transform:translate(-25px)}.hero .hero-title h1 .name.robert{align-self:flex-end}.hero .hero-title h1 .ampersand{position:absolute;top:50%;left:50%;transform:translate(-55%,-40%);font-family:Great Vibes,cursive;font-size:4em;opacity:.3;z-index:0;width:120%}.hero .hero-title p{font-size:var(--font-size-body);transform:translateY(-25px)}.welcome{display:grid;grid-template-areas:"photo       title          title" "photo       content        photo-small";grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto 1fr;gap:var(--gap);min-height:40vh;background:var(--cream);color:var(--green);padding:var(--padding-section) var(--padding-x);padding-bottom:calc(2 * var(--padding-section))}.welcome .title{grid-area:title;font-size:var(--font-size-h2);font-weight:500;padding:var(--padding-section) 0;justify-self:center}.welcome .content{grid-area:content;font-size:var(--font-size-body);align-self:end;display:flex;flex-direction:column;gap:var(--gap)}.welcome .photo{grid-area:photo;height:100%;width:100%;object-fit:cover}.welcome .photo-small{grid-area:photo-small;aspect-ratio:3 / 2;object-fit:cover;align-self:end;transform:translate(var(--padding-section),calc(3 * var(--padding-section)))}.welcome{margin-bottom:calc(2 * var(--padding-section))}.schedule{display:grid;grid-template-columns:auto 1fr;gap:calc(2 * var(--gap));background:var(--green);color:var(--cream);padding:0 var(--padding-x) calc(2 * var(--padding-section));align-items:start}.schedule-tabs{display:flex;flex-direction:column;gap:var(--gap);min-width:10rem}.schedule-tab{background:none;border:none;color:var(--cream);cursor:pointer;opacity:.5;transform:scale(.85);transform-origin:left center;transition:all .3s ease;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.schedule-tab.active{opacity:1;transform:scale(1.15)}.schedule-tab .tab-day{font-size:var(--font-size-body);font-weight:500;text-transform:uppercase;letter-spacing:.1em}.schedule-tab .tab-date{font-size:var(--font-size-small);opacity:0;max-height:0;overflow:hidden;transition:all .3s ease}.schedule-tab.active .tab-date{opacity:.8;max-height:2rem}.schedule-tab:hover{opacity:.8}.schedule-carousel{display:grid;justify-content:center}.schedule-day{grid-area:1 / 1;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.5rem var(--gap);visibility:hidden;opacity:0;transition:opacity .2s ease}.schedule-day.active{visibility:visible;opacity:1}.timeline-item{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:baseline;gap:.5rem var(--gap)}.timeline-time,.timeline-event{font-size:var(--font-size-body);font-weight:500;word-wrap:break-word;overflow-wrap:break-word}.timeline-time{text-align:right}.timeline-desc{grid-column:2;font-size:var(--font-size-small);opacity:.8;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.timeline-item.empty{min-height:3.5rem}.venue{display:grid;grid-template-areas:"title       photo" "content     photo";grid-template-columns:1fr 1.5fr;grid-template-rows:auto 1fr;gap:var(--gap);min-height:40vh;background:var(--cream);color:var(--green);padding:var(--padding-section) var(--padding-x)}.venue .title{grid-area:title;font-size:var(--font-size-h1)}.venue .content{grid-area:content;font-size:var(--font-size-body);display:flex;flex-direction:column;gap:var(--gap)}.venue .photo{grid-area:photo;height:100%;width:100%;object-fit:cover}.useful-info{display:grid;grid-template-areas:"photo       title" "photo       links";grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:var(--gap);min-height:60vh;background:var(--cream);color:var(--green);padding:var(--padding-section) var(--padding-x)}.useful-info .photo{grid-area:photo}.useful-info .title{grid-area:title;font-size:var(--font-size-h1)}.useful-info .links{grid-area:links;font-size:var(--font-size-body)}.countdown{display:grid;grid-template-areas:"title       title       title       title" "days        hours       minutes     seconds";grid-template-columns:auto auto auto auto;grid-template-rows:auto auto;gap:var(--gap);justify-content:center;background:var(--green);color:var(--cream);padding:var(--padding-section) var(--padding-x) var(--padding-section);text-align:center}.countdown .title{grid-area:title;font-size:var(--font-size-h1);padding-bottom:var(--gap)}.countdown-item{display:flex;flex-direction:column;align-items:flex-end;padding:var(--gap) 0}.countdown-item .number{font-family:Jost,sans-serif;font-size:clamp(3rem,8vw,5rem);line-height:1;font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}.countdown-item .label{font-size:var(--font-size-small);text-transform:uppercase;letter-spacing:.1em}.travel-header{background-image:url(travel-bg.jpg);background-size:cover;background-position:center;min-height:50vh;display:flex;align-items:center;justify-content:center;color:var(--cream)}.travel-header .title{text-align:center;font-size:var(--font-size-hero)}.getting-here{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);min-height:40vh;background:var(--cream);color:var(--green);padding:var(--padding-section) var(--padding-x)}.getting-here .photo{width:100%;aspect-ratio:1 / 1;object-fit:cover}.getting-here .content{display:flex;flex-direction:column;gap:var(--gap);justify-content:center}.getting-here .title{font-size:var(--font-size-h1)}.where-to-stay{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);min-height:40vh;background:var(--cream);color:var(--green);padding:var(--padding-section) var(--padding-x)}.where-to-stay .photo{width:100%;aspect-ratio:1 / 1;object-fit:cover;object-position:bottom}.where-to-stay .content{display:flex;flex-direction:column;gap:var(--gap);justify-content:center}.where-to-stay .title{font-size:var(--font-size-h1)}.getting-here .content-item,.where-to-stay .content-item{display:block;padding-left:2.5rem}.getting-here .content-item li,.where-to-stay .content-item li{display:grid;grid-template-columns:1rem 1fr;gap:.5rem}.getting-here .content-item li h4,.where-to-stay .content-item li h4{font-size:var(--font-size-body);font-weight:500;grid-column:1 / -1;display:flex;align-items:center;gap:.5rem}.getting-here .content-item li h4:before,.where-to-stay .content-item li h4:before{content:"•";font-size:1.25em;width:1rem;flex-shrink:0}.getting-here .content-item li p,.where-to-stay .content-item li p{font-size:var(--font-size-body);margin:0;margin-top:.25rem;grid-column:2}.getting-here .content-item li a.button,.where-to-stay .content-item li a.button{grid-column:2;margin-top:var(--gap)}.our-story{display:grid;grid-template-columns:var(--padding-x) max-content 1fr 1fr var(--padding-x);grid-template-rows:80vh 0 repeat(6,auto) var(--padding-section);gap:var(--gap);background:var(--cream);color:var(--green)}.our-story-hero{grid-column:1 / -1;grid-row:1;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}.our-story-hero .photo1,.our-story-hero .photo2{width:100%;height:100%;object-fit:cover}.our-story-hero:before{content:"";position:absolute;inset:0;background:#0000004d;z-index:1;pointer-events:none}.our-story-hero .title{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:2;color:var(--cream);font-size:var(--font-size-hero)}.our-story .story-year{grid-column:2;display:flex;flex-direction:column;justify-content:flex-start}.our-story .story-year h2{font-size:var(--font-size-h2);font-weight:500;margin:0}.our-story .story-year p{font-size:var(--font-size-body);margin:.5rem 0 0}.our-story .story-quote{font-size:var(--font-size-body);line-height:1.6;margin:0}.our-story .story-quote:nth-of-type(odd){grid-column:3}.our-story .story-quote:nth-of-type(2n){grid-column:4}.our-story>:nth-child(2){grid-row:3}.our-story>:nth-child(5){grid-row:4}.our-story>:nth-child(8){grid-row:5}.our-story>:nth-child(11){grid-row:6}.our-story>:nth-child(14){grid-row:7}.our-story>:nth-child(17){grid-row:8}.our-story>:nth-child(3){grid-row:3}.our-story>:nth-child(6){grid-row:4}.our-story>:nth-child(9){grid-row:5}.our-story>:nth-child(12){grid-row:6}.our-story>:nth-child(15){grid-row:7}.our-story>:nth-child(18){grid-row:8}.our-story>:nth-child(4){grid-row:3}.our-story>:nth-child(7){grid-row:4}.our-story>:nth-child(10){grid-row:5}.our-story>:nth-child(13){grid-row:6}.our-story>:nth-child(16){grid-row:7}.our-story>:nth-child(19){grid-row:8}.rsvp{display:grid;grid-template-areas:"title" "form";grid-template-columns:1fr;grid-template-rows:auto auto;gap:var(--gap);min-height:60vh;background:var(--green);color:var(--cream);padding:var(--padding-section) var(--padding-x);text-align:center}.rsvp .title{grid-area:title;font-size:var(--font-size-h1)}.rsvp .form{grid-area:form;max-width:500px;margin:0 auto;font-size:var(--font-size-body)}.faq{display:grid;grid-template-areas:"title" "questions";grid-template-columns:1fr;grid-template-rows:auto auto;gap:var(--gap);background:var(--green);background-image:url(illustration.svg);background-position:bottom center;background-repeat:no-repeat;background-size:contain;color:var(--cream);padding:var(--padding-section) var(--padding-x) calc(2 * var(--padding-section))}.faq .title{grid-area:title;text-align:center;font-size:var(--font-size-h1);padding-bottom:var(--gap)}.faq .questions{grid-area:questions;max-width:700px;margin:0 auto;width:100%;display:flex;flex-direction:column}.faq .question-item{border-bottom:1px solid var(--cream);padding:1rem 0;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:start;font-size:var(--font-size-body)}.faq .question-item h4{grid-column:1;grid-row:1}.faq .question-item .expand{grid-column:2;grid-row:1;transition:transform .2s ease-out}.faq .question-item.open .expand{transform:rotate(90deg)}.faq .question-item .answer{grid-column:1 / -1;grid-row:2;max-height:0;overflow:hidden;transition:max-height .3s ease-in-out,padding .3s ease-in-out}.faq .question-item.open .answer{max-height:1000px;padding:1rem 0}.faq .question-item .answer p{font-size:var(--font-size-small);line-height:1.6;opacity:.9;margin-bottom:.5rem}.faq .question-item .answer p:last-child{margin-bottom:0}.footer-images{display:flex}.footer-images img{width:calc(100vw / 3);height:auto;object-fit:cover}@media(max-width:768px){.hero .hero-title h1 .name.devin{transform:translate(-15px)}.hero .hero-title p{transform:translateY(-15px)}.welcome{display:grid;grid-template-areas:"welcome-title" "photo" "content" "photo-small"!important;grid-template-columns:1fr!important;grid-template-rows:auto auto auto auto}.welcome .title{grid-area:welcome-title!important}.welcome .photo{grid-area:photo!important}.welcome .photo-small{grid-area:photo-small!important;transform:translate(var(--padding-section),calc(2 * var(--padding-section)))}.welcome .content{grid-area:content!important}a.button{align-self:center}.countdown-item .number{font-size:clamp(2rem,10vw,3rem);min-width:2.5ch}.countdown{gap:calc(.5 * var(--gap))}.schedule{grid-template-columns:1fr}.schedule-tabs{flex-direction:row;justify-content:space-around;width:100%;height:4rem;align-items:center;gap:0;min-width:auto}.schedule-tab{align-items:center;transform-origin:center center}.schedule-tab .tab-day{font-size:var(--font-size-body)}.schedule-day{max-width:100%}.venue{grid-template-areas:"title" "content" "photo";grid-template-columns:1fr;grid-template-rows:auto auto auto}.schedule{grid-template-areas:"time1" "time2" "time3";grid-template-columns:1fr;grid-template-rows:auto auto auto}.useful-info{grid-template-areas:"title" "photo" "links";grid-template-columns:1fr;grid-template-rows:auto auto auto}.getting-here{grid-template-columns:1fr;grid-template-rows:auto auto}.getting-here .photo{order:2}.getting-here .content{order:1}.where-to-stay{grid-template-columns:1fr;grid-template-rows:auto auto}.where-to-stay .content{order:1}.where-to-stay .photo{order:2}.our-story{grid-template-columns:1fr;grid-template-rows:40vh;grid-auto-rows:auto;padding-bottom:calc(var(--padding-section) * 2)}.our-story-hero{grid-column:1;grid-row:1;margin-bottom:var(--padding-section)}.our-story-hero .title{font-size:var(--font-size-h1)}.our-story>.story-year,.our-story>.story-quote{grid-column:1!important;grid-row:auto!important;padding-left:var(--padding-x);padding-right:var(--padding-x)}.our-story .story-year h2{font-size:var(--font-size-h1)}}.scroll-to-top{position:fixed;bottom:var(--gap);right:var(--gap);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;width:3.5rem;height:3.5rem;background:var(--cream);color:var(--green);border-radius:50%;font-size:var(--font-size-small);z-index:100;box-shadow:0 2px 8px #00000026;transition:box-shadow .2s ease}.scroll-to-top:hover{box-shadow:0 4px 12px #0003}.scroll-to-top span{text-transform:uppercase;font-size:.625rem;letter-spacing:.05em}.site-footer{text-align:center;padding:.5rem 0;color:var(--cream);background:var(--green)}
