:root{--cream:#fbf7f2;--cream-2:#f5eee6;--ink:#2f2a27;--muted:#756d67;--gold:#b99765;--gold-dark:#927044;--white:#fff;--line:rgba(185,151,101,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Montserrat,Arial,sans-serif;font-weight:300}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:auto}.narrow{width:min(860px,100%);margin:auto}.center{text-align:center}.section{position:relative;padding:110px 0;overflow:hidden}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;font-weight:500}.eyebrow--dark{color:var(--gold-dark)}
.hero{min-height:100svh;position:relative;color:white;background:center 30%/cover no-repeat;display:flex;flex-direction:column}.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,27,22,.55),rgba(34,27,22,.35) 45%,rgba(34,27,22,.55))}.nav{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.25)}.nav__brand{font-family:'Cormorant Garamond',serif;font-size:1.5rem}.nav__links{display:flex;gap:28px;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.hero__content{position:relative;z-index:1;margin:auto;padding:80px 0;text-align:center;display:flex;flex-direction:column;align-items:center}.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(4.8rem,10vw,9rem);line-height:.68;font-weight:400;margin:0 0 35px;display:flex;flex-direction:column;align-items:center;width:max-content;max-width:100%}.hero h1 b{font-family:'Great Vibes',cursive;color:#d2ad77;font-size:.62em;font-weight:400;margin:-.12em auto -.05em}.hero__date{font-family:'Cormorant Garamond',serif;font-size:1.35rem;letter-spacing:.18em;text-transform:uppercase}.hero__intro{max-width:520px;line-height:1.8;margin-left:auto;margin-right:auto}.button{border:0;border-radius:999px;background:var(--gold);color:white;padding:15px 27px;font:500 .72rem Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;display:inline-flex;justify-content:center;transition:.25s}.button:hover{transform:translateY(-2px);background:var(--gold-dark)}.button--ghost{margin-top:18px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.08);backdrop-filter:blur(5px)}.scroll{position:absolute;z-index:2;bottom:22px;left:50%;transform:translateX(-50%);font-size:2rem;animation:bob 1.5s infinite}@keyframes bob{50%{transform:translateX(-50%) translateY(7px)}}
.section-title{text-align:center;margin-bottom:55px}.section-title--left{text-align:left}.section-title h2{font:500 clamp(2.4rem,5vw,4.2rem)/1.1 'Cormorant Garamond',serif;margin:0}.section-title p:last-child{color:var(--muted);line-height:1.8}.divider{width:180px;height:40px;margin:10px auto 0;background:url('/digital-invitations/template6/images/divider-heart.png') center/contain no-repeat;display:grid;place-items:center;color:transparent}.divider--left{margin-left:0}.countdown{background:#fff}.countdown .container{position:relative;z-index:1}.countdown__grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:25px;max-width:720px;margin-left:auto;margin-right:auto}.countdown__grid>div{padding:18px;border-right:1px solid var(--line);text-align:center}.countdown__grid>div:last-child{border:0}.countdown strong{display:block;font:400 clamp(3rem,7vw,5.5rem)/1 'Cormorant Garamond',serif;color:var(--gold);margin-bottom:14px}.countdown span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;line-height:1.3}.decor{position:absolute;width:min(300px,32vw);height:auto;opacity:.45;mix-blend-mode:multiply;pointer-events:none;z-index:0}.decor--left{left:0;bottom:0}.decor--right{right:0;top:0}
.family{background:var(--cream)}.family__grid{display:grid;grid-template-columns:repeat(var(--family-count, 3), minmax(0, 1fr));gap:0;max-width:min(960px, 100%);margin:0 auto;align-items:stretch;position:relative;z-index:1}.person-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:35px 24px;border-right:1px solid var(--line);min-width:0}.person-card:last-child{border-right:0}.person-card__icon{display:flex;align-items:center;justify-content:center;font:2.4rem/1 'Cormorant Garamond',serif;color:var(--gold);height:55px;width:100%;margin:0 0 10px}.person-card small{display:block;width:100%;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-size:.68rem;margin:0 0 12px}.person-card h3{font:500 1.45rem/1.35 'Cormorant Garamond',serif;margin:0;width:100%}.family__flower{position:absolute;width:min(280px,30vw);opacity:.35;mix-blend-mode:multiply;pointer-events:none;z-index:0}.family__flower--left{left:0;bottom:0}.family__flower--right{right:0;top:0}
.story{background:#fff}.story__layout{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.story__copy{display:flex;flex-direction:column;justify-content:center;align-self:center}.story__copy .section-title{margin-bottom:28px}.story__text{color:var(--muted);line-height:1.8;font-size:1rem}.story__text p{margin:0 0 1em}.story__text p:last-child{margin-bottom:0}.story__signature{font:400 1.6rem 'Great Vibes',cursive;color:var(--gold-dark);margin-top:24px}.story__photo-wrap{position:relative;padding:24px 32px 48px;display:flex;align-items:center;justify-content:center;align-self:center}.story__photo{width:100%;max-width:400px;aspect-ratio:3/4;object-fit:cover;border-radius:50% 50% 8px 8px;box-shadow:0 22px 55px rgba(80,55,35,.13);margin:0 auto;position:relative;z-index:1}.story__garland{position:absolute;left:50%;bottom:-8%;transform:translateX(-50%);width:115%;max-width:520px;mix-blend-mode:multiply;pointer-events:none;z-index:0}
.schedule{background:#fff}.schedule__grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:28px;align-items:stretch}.schedule-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 25px 32px;border:1px solid var(--line);background:var(--cream);height:100%;overflow:hidden}.schedule-card .invitation-event-photo{width:calc(100% + 50px);max-width:none;margin:0 -25px 24px;border-radius:0}.schedule-card .invitation-event-photo[src^="/digital-invitations/defaults/"]{mix-blend-mode:multiply}.schedule-card .invitation-navigation{margin-top:auto;padding-top:18px}.schedule-card__icon{font-size:2rem;margin-bottom:12px;line-height:1}.schedule-card h3{font:500 1.6rem 'Cormorant Garamond',serif;margin:0 0 10px}.schedule-card p{color:var(--muted);line-height:1.7;margin:0 0 6px}.schedule-card__link{display:inline-block;margin-top:auto;padding-top:14px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark);border-bottom:1px solid var(--line)}
.gallery{background:var(--cream-2)}.gallery__grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px;width:100%}.gallery__grid--cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.gallery__grid--cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.gallery__item{padding:0;border:0;overflow:hidden;background:#ddd;cursor:pointer;display:block;width:100%;aspect-ratio:1 / 1}.gallery__item img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery__item:hover img{transform:scale(1.05)}
.rsvp{background:#fff}.rsvp__form{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:35px;background:rgba(251,247,242,.85);border:1px solid var(--line);box-shadow:0 20px 60px rgba(71,53,37,.08)}.rsvp__form label span,.rsvp__form .field-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 9px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #ddd3c8;background:white;padding:14px 15px;font:400 .9rem Montserrat,sans-serif;color:var(--ink);outline:0}input:focus,select:focus,textarea:focus{border-color:var(--gold)}.rsvp__message{grid-column:1/-1}.rsvp__form .button,.rsvp__form input[type="submit"]{grid-column:1/-1;justify-self:center;border:0;border-radius:999px;background:var(--gold);color:white;padding:15px 27px;font:500 .72rem Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;display:inline-flex;justify-content:center;transition:.25s}.rsvp__form input[type="submit"]:hover{transform:translateY(-2px);background:var(--gold-dark)}.rsvp__choices{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px}.rsvp-choice-label{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border:1px solid #ddd3c8;background:#fff;cursor:pointer;font-size:.85rem}.rsvp-choice-label input[type="radio"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.rsvp-choice-label:focus-within{outline:2px solid var(--gold);outline-offset:3px}.rsvp-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px}.rsvp-guests-field,.rsvp-contact-field{grid-column:1/-1}.alert{grid-column:1/-1;padding:14px 18px;border:1px solid var(--line);font-size:.85rem}.alert-success{background:#f2f7f0}.alert-danger{background:#fbf0ee}.rsvp__flower{position:absolute;width:min(300px,32vw);opacity:.58;mix-blend-mode:multiply;pointer-events:none}.rsvp__flower--left{left:0;bottom:0}.rsvp__flower--right{right:0;top:0}footer{text-align:center;padding:70px 20px;background:#2f2925;color:white}footer p{font:400 2.2rem 'Great Vibes',cursive;margin:0 0 8px;color:#d7b47d}footer span{font-size:.7rem;letter-spacing:.25em}.lightbox{border:0;padding:0;background:transparent;max-width:min(900px,90vw)}.lightbox::backdrop{background:rgba(0,0,0,.85)}.lightbox img{max-height:85vh}.lightbox button{position:fixed;right:30px;top:20px;border:0;background:none;color:white;font-size:3rem;cursor:pointer}
@media(max-width:900px){.schedule__grid{grid-template-columns:1fr}}
@media(max-width:800px){.family .section-title{margin-bottom:20px}.family .person-card{padding-top:16px}}
@media(max-width:800px){.nav__links{display:none}.hero{min-height:820px;background-position:58% center}.hero__shade{background:linear-gradient(180deg,rgba(34,27,22,.6),rgba(34,27,22,.4))}.hero h1{font-size:5rem}.section{padding:80px 0}.countdown__grid{grid-template-columns:repeat(2,1fr)}.countdown__grid>div:nth-child(2){border-right:0}.countdown__grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.decor{width:min(200px,30vw);opacity:.28}.family__grid{grid-template-columns:repeat(min(var(--family-count, 3), 2), minmax(0, 1fr));max-width:560px}.person-card:nth-child(2n){border-right:0}.person-card:nth-child(n+3){border-top:1px solid var(--line)}.story__layout{grid-template-columns:1fr;gap:30px}.story__photo-wrap{max-width:420px;margin:auto}.gallery__grid,.gallery__grid--cols-3,.gallery__grid--cols-4{grid-template-columns:repeat(2, minmax(0, 1fr))}.rsvp__form{grid-template-columns:1fr}.rsvp__form>*{grid-column:1!important}.rsvp-row{grid-template-columns:1fr}.rsvp__choices{grid-template-columns:1fr}}
@media(max-width:480px){.container{width:min(100% - 28px,1180px)}.hero__content{padding-top:120px}.hero h1{font-size:4.2rem}.hero__date{font-size:1rem}.family__grid{grid-template-columns:1fr;max-width:360px}.person-card{border-right:0;border-bottom:1px solid var(--line);padding:28px 16px}.person-card:last-child{border-bottom:0}.person-card:nth-child(n+3){border-top:0}.gallery__grid,.gallery__grid--cols-3,.gallery__grid--cols-4{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;grid-auto-rows:auto}.gallery__item{min-width:82vw;height:430px;scroll-snap-align:center;flex:0 0 auto}.story__photo-wrap{padding:25px}.rsvp__form{padding:22px}.decor{opacity:.2;width:30vw}.family__flower,.rsvp__flower{opacity:.25}}

.story-gallery{margin-top:clamp(88px,8vw,128px);scroll-margin-top:88px}

/* Fade the source artwork edges and the detached leaves below each bouquet. */
.decor,.family__flower,.rsvp__flower{
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 58%,transparent 83%);
  mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 58%,transparent 83%);
}
