:root{--red:#752323;--red-deep:#5c1517;--red-bright:#b01c1c;--cream:#fdfcf7;--ink:#1d1d1d;--muted:#5b5352;--line:#e6dfd6;--gutter:clamp(14px, 4vw, 64px);--font-script:"Faugllin Balseyn", cursive;--font-serif:"Scarlet Bradley", Georgia, serif;--font-sans:"Be Vietnam Pro", system-ui, -apple-system, sans-serif;--shadow:0 12px 30px #00000024}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--red);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}.container{width:min(1200px,100%);margin-inline:auto;padding-inline:clamp(16px,4vw,48px);overflow-x:clip}.script{font-family:var(--font-script);font-weight:400;line-height:1.15}html,body{overflow-x:clip}.reveal{visibility:hidden}.reveal.is-visible{visibility:visible;animation:1.3s ease-out .3s both slideInUp}.reveal--left.is-visible{animation-name:slideInLeft}.reveal--right.is-visible{animation-name:slideInRight}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateZ(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translateZ(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translateZ(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal.is-visible{visibility:visible;animation:none}}.photo{object-fit:cover;background:var(--red-bright);width:100%}.photo--empty{background:radial-gradient(circle at 30% 20%, #ffffff1f, transparent 60%), linear-gradient(160deg, #a3262a, var(--red-deep));color:#fffc;text-align:center;place-content:center;justify-items:center;gap:6px;min-height:160px;display:grid}.photo__hy{opacity:.6;font-size:clamp(2rem,5vw,3.5rem);line-height:1}.photo__label{letter-spacing:.04em;opacity:.75;font-size:.75rem}.btn{border:1px solid var(--red);font:500 1rem var(--font-sans);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:12px 28px;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn--primary{background:var(--red);color:#fff;width:100%}.btn--primary:hover{background:var(--red-deep)}.btn--outline{color:var(--red);background:0 0}.btn--outline:hover,.btn--ghost:hover{background:var(--red);color:#fff}.btn--ghost{color:var(--red);background:0 0;margin-top:20px}.hero{min-height:100svh;padding:clamp(28px, 6vw, 72px) var(--gutter) 0;color:#fff;background:var(--red);flex-direction:column;display:flex;position:relative;overflow:hidden}.hero__text{z-index:1}.hero__save{font-size:clamp(2.4rem,6vw,4.5rem)}.hero__date{opacity:.9;margin-top:4px;font-size:clamp(1.2rem,2.4vw,1.8rem)}.hero__names{text-align:center;margin-top:clamp(16px,3vw,40px);font-size:clamp(2.6rem,7vw,5.5rem)}.hero__amp{font-size:.7em}.hero__cta{display:none}.hero__visual{flex:1;width:min(100%,640px);min-height:360px;margin:24px auto 0;position:relative}.hero__photo{z-index:1;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 24px #00000040);background:0 0;width:100%;height:100%;position:absolute;inset:0}.hero__photo.photo--empty{border-radius:999px 999px 0 0}.hero__stamp{z-index:0;pointer-events:none;width:51%;height:auto;position:absolute;top:1.5%;right:10%}.hero__scroll{z-index:2;border:2px solid #ffffffb3;border-radius:14px;width:26px;height:42px;margin-left:-13px;position:absolute;bottom:18px;left:50%}.hero__scroll span{background:#fff;border-radius:2px;width:4px;height:8px;margin-left:-2px;animation:1.8s infinite scroll-dot;position:absolute;top:8px;left:50%}@keyframes scroll-dot{0%{opacity:0;transform:translateY(0)}40%{opacity:1}to{opacity:0;transform:translateY(14px)}}@media (width>=900px){.hero{grid-template-columns:1fr 1fr;align-items:center;padding-bottom:0;display:grid}.hero__text{align-self:center;padding-bottom:60px}.hero__names{text-align:left}.hero__cta{color:#fff;letter-spacing:.05em;border:1px solid #ffffffb3;border-radius:999px;margin-top:36px;padding:14px 34px;text-decoration:none;transition:background .2s;display:inline-block}.hero__cta:hover{background:#ffffff1f}.hero__visual{flex:none;place-self:end center;width:min(100%,560px);height:min(88svh,760px);margin:0}}.card-section{margin-inline:var(--gutter);background:var(--cream);padding-block:clamp(48px,8vw,110px);position:relative}.card-section--notch{border-top:3px solid var(--red);margin-top:0}.card-section--notch:before,.card-section--notch:after{content:"";aspect-ratio:1;background:var(--red);border-radius:50%;width:clamp(44px,8vw,72px);position:absolute;top:-1px;transform:translateY(-50%)}.card-section--notch:before{left:0;translate:-50%}.card-section--notch:after{right:0;translate:50%}.section-title{text-align:center;margin-bottom:clamp(28px,5vw,56px);font-size:clamp(2.6rem,6vw,4.2rem)}.families{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:clamp(8px,3vw,48px);max-width:900px;margin-inline:auto;display:grid}.family{text-align:center}.family__title{font:700 clamp(1rem, 2vw, 1.35rem) var(--font-serif)}.family__parents{font:400 clamp(.8rem, 1.6vw, 1.05rem) var(--font-serif);color:var(--muted);margin-top:4px}.family__photo{aspect-ratio:1;width:min(100% - 20px,260px);height:auto;box-shadow:0 0 0 6px var(--cream), 0 0 0 8px var(--red), var(--shadow);border-radius:50%;margin:clamp(16px,3vw,32px) auto}.family__name{color:var(--red);font-size:clamp(1.5rem,3.4vw,2.6rem)}.families__amp{color:var(--red);align-self:center;font-size:clamp(2.4rem,5vw,4rem)}.countdown{justify-content:center;gap:clamp(10px,2.5vw,24px);margin-top:clamp(32px,5vw,56px);display:flex}.countdown__box{color:#fff;background:#0d0d0d;border-radius:12px;place-items:center;min-width:clamp(64px,12vw,110px);padding:clamp(10px,1.6vw,18px) 8px;display:grid}.countdown__value{font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,3.6vw,2.6rem);font-weight:500;line-height:1.1}.countdown__label{opacity:.85;font-size:clamp(.75rem,1.4vw,.95rem)}.countdown__done{text-align:center;font:600 1.4rem var(--font-serif);color:var(--red);margin-top:40px}.trio{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:clamp(10px,2.5vw,32px);max-width:1000px;margin-inline:auto;display:grid}.trio .photo{box-shadow:var(--shadow)}.trio__side{aspect-ratio:2/3}.trio__center{aspect-ratio:5/8}.event-grid{align-items:center;gap:clamp(36px,6vw,64px);margin-top:clamp(40px,6vw,80px);display:grid}@media (width>=900px){.event-grid{grid-template-columns:1fr 1fr;align-items:stretch}.event-grid .calendar{flex-direction:column;width:100%;display:flex}.event-grid .calendar__body{flex:1;align-content:space-evenly}}.when{text-align:center;font-family:var(--font-serif)}.when__lead{font-size:clamp(1.15rem,2.4vw,1.6rem);font-weight:700}.when__sub{margin-top:16px;font-size:clamp(1.1rem,2vw,1.4rem)}.when__row{grid-template-columns:1fr auto 1fr;align-items:center;margin-top:16px;font-size:clamp(1.4rem,3vw,2rem);display:grid}.when__date{border-inline:3px solid var(--ink);padding-inline:clamp(16px,4vw,40px);line-height:1.25;display:grid}.when__date strong{font-size:1.3em;font-style:italic}.when-list{gap:clamp(36px,6vw,56px);display:grid}.calendar{border:2px solid var(--red);width:min(100%,520px);box-shadow:var(--shadow);background:#fff;border-radius:6px;margin-inline:auto;overflow:hidden}.calendar__head{background:var(--red);color:#fff;padding:10px clamp(20px,6vw,56px);font-size:clamp(2rem,6vw,3rem);line-height:1.2}.calendar__body{text-align:center;grid-template-columns:repeat(7,1fr);row-gap:8px;padding:18px clamp(8px,2vw,20px) 20px;display:grid;position:relative}.calendar__watermark{color:#7523231a;pointer-events:none;place-items:center;font-size:clamp(5rem,22vw,9rem);font-weight:600;display:grid;position:absolute;inset:0}.calendar__weekday{padding-bottom:6px;font-size:clamp(.7rem,2.4vw,.95rem);font-weight:500}.calendar__day{aspect-ratio:1;width:100%;max-height:48px;color:var(--muted);place-items:center;margin-inline:auto;font-size:clamp(.85rem,2.6vw,1.05rem);display:grid;position:relative}.calendar__day--active{color:#fff;z-index:0;font-weight:600}.calendar__day--active:before{content:"♥";z-index:-1;color:#d62a2f;place-items:center;font-size:clamp(2.6rem,8vw,3.4rem);line-height:1;animation:1.4s ease-in-out infinite beat;display:grid;position:absolute;inset:0}@keyframes beat{0%,to{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(1)}45%{transform:scale(1.08)}}.location-list{gap:clamp(48px,8vw,96px);display:grid}.location{align-items:center;gap:clamp(24px,4vw,48px);display:grid}.location__title{color:var(--red);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;font:700 clamp(1.1rem,2.2vw,1.4rem) Scarlet Bradley,serif}.location__info{text-align:center}.location__pin{font-size:2.4rem}.location__name{font:italic 700 clamp(1.3rem, 2.8vw, 1.9rem) var(--font-serif)}.location__address{font:italic 400 clamp(1.05rem, 2.2vw, 1.4rem) var(--font-serif);color:var(--muted);margin-bottom:20px}.location__map{border:3px solid var(--red);box-shadow:var(--shadow);aspect-ratio:4/3;border-radius:20px;overflow:hidden}.location__map iframe{border:0;width:100%;height:100%;display:block}@media (width>=900px){.location{grid-template-columns:1fr 1.6fr}.location--flip{grid-template-columns:1.6fr 1fr}.location--flip .location__info{order:2}.location__map{aspect-ratio:16/9}}.stamp{width:clamp(95px,14vw,130px);height:auto;margin:0 auto clamp(28px,5vw,48px);display:block}.rsvp{border:1px solid var(--line);width:min(100%,580px);box-shadow:var(--shadow);background:#fff;border-radius:8px;margin-inline:auto;padding:clamp(22px,4vw,40px)}.rsvp__title{text-align:center;margin-bottom:20px;font-size:clamp(1.4rem,3vw,1.8rem);font-weight:600}.field{border:0;gap:8px;margin:0 0 18px;padding:0;display:grid}.field>span,.field>legend{margin-bottom:8px;padding:0;font-size:1rem}.field input:not([type=radio]),.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #dcdcdc;border-radius:8px;padding:11px 14px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px #75232326}.field textarea{resize:vertical}.radio{cursor:pointer;align-items:center;gap:12px;margin-bottom:10px;display:flex}.radio input{accent-color:#ee4d6b;width:22px;height:22px;margin:0}.rsvp__thanks{text-align:center;padding-block:20px}.rsvp__thanks h3{font:700 1.6rem var(--font-serif);color:var(--red);margin-bottom:8px}.rsvp__error{color:var(--red-bright);margin:-4px 0 14px;font-size:.95rem}.btn:disabled{opacity:.6;cursor:wait}.guestbook{width:min(100%,580px);margin-inline:auto;font-family:Arial,Helvetica,sans-serif}.guestbook__empty{text-align:center;color:var(--muted)}.guestbook__list{overscroll-behavior:contain;gap:14px;max-height:520px;margin:0;padding:4px;list-style:none;display:grid;overflow-y:auto}.guestbook__item{border:1px solid var(--line);border-left:3px solid var(--red);background:#fff;border-radius:8px;padding:16px 18px;box-shadow:0 4px 14px #0000000f}.guestbook__message{white-space:pre-line;overflow-wrap:anywhere;margin:0 0 10px;line-height:1.55}.guestbook__meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:.85rem;display:flex}.guestbook__meta strong{color:var(--red)}.guestbook__more{margin:18px auto 0;display:block}.story{padding-bottom:clamp(32px,5vw,64px)}.happiness{color:#fff;text-align:center;place-items:center;gap:24px;padding-block:clamp(56px,10vw,120px);display:grid;position:relative}.happiness__hy{color:#ffffffe6;text-shadow:0 0 40px #ffffff40;font-size:clamp(5rem,16vw,10rem);line-height:1}.happiness__quote{max-width:900px;font-size:clamp(1.6rem,4vw,3rem)}.happiness__decor{font-size:clamp(2rem,5vw,3.4rem);animation:5s ease-in-out infinite float;position:absolute}.happiness__decor--0{top:12%;left:8%}.happiness__decor--1{animation-delay:-1.2s;top:10%;right:10%}.happiness__decor--2{animation-delay:-2.4s;bottom:30%;left:12%}.happiness__decor--3{animation-delay:-3.6s;bottom:32%;right:12%}@keyframes float{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-12px)rotate(4deg)}}.panel{background:var(--cream);padding:clamp(20px,4vw,48px)}.panel+.panel{margin-top:clamp(20px,3vw,36px)}.couple{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:center;gap:clamp(12px,3vw,40px);display:grid}.couple__names{color:var(--red);justify-items:center;font-size:clamp(3rem,10vw,7rem);line-height:1.3;display:grid}.couple__amp{font-size:.6em}.couple__photo{aspect-ratio:2/3;box-shadow:var(--shadow)}@media (width>=900px){.couple__photo{aspect-ratio:4/3;object-position:center 18%}.couple__photo>.photo{object-position:center 18%}}.gallery__quote{color:var(--red);text-align:center;max-width:900px;margin:clamp(12px,3vw,32px) auto clamp(28px,5vw,56px);font-size:clamp(1.5rem,3.6vw,2.6rem)}.gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,2vw,20px);display:grid}.gallery__grid .photo{aspect-ratio:4/5}.gallery__grid .gallery__wide{aspect-ratio:16/10;grid-column:1/-1}@media (width>=900px){.gallery__grid:first-of-type{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery__grid .gallery__wide{aspect-ratio:4/5;grid-column:auto}}.chapter{gap:12px;padding-block:clamp(32px,6vw,72px);display:grid}.chapter__title{color:var(--red);justify-self:end;padding-right:5%;font-size:clamp(2.4rem,6vw,4.2rem)}.chapter__quote{text-align:center;color:var(--red);font:italic 500 clamp(1rem, 2.2vw, 1.35rem) var(--font-serif)}.thanks{background:var(--red);height:clamp(520px,100svh,1000px);position:relative;overflow:hidden}.thanks__photo{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 24px #0000004d);background:0 0;height:100%;position:absolute;inset:0}@media (width<=699px){.thanks{height:auto;padding-top:clamp(16px,6vw,40px)}.thanks__photo{aspect-ratio:780/1263;width:100%;height:auto;display:block;position:relative}}@media (width>=700px){.thanks__photo{top:auto;left:auto;right:var(--gutter);width:auto;height:calc(100% - clamp(24px,4vw,56px));max-width:calc(100% - 2 * var(--gutter))}}@media (width>=1025px){.thanks{background:radial-gradient(circle at 28% 38%, #ffffff14, transparent 55%), radial-gradient(circle at 85% 100%, #0000002e, transparent 50%), var(--red)}.thanks:before{content:"";outline-offset:6px;pointer-events:none;border:1px solid #ffdcc84d;outline:1px solid #ffdcc826;position:absolute;inset:28px}.thanks:after{content:"囍";color:#ffffff0d;pointer-events:none;font-size:clamp(16rem,26vw,30rem);line-height:1;position:absolute;top:34%;left:24%;translate:-50% -50%}.thanks__photo,.thanks__band{z-index:1}}.thanks__band{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center;background:#280808a6;padding-block:clamp(18px,4vw,40px);position:absolute;top:64%;left:0;right:0;translate:0 -50%}.thanks__text{color:#fff;letter-spacing:.08em;font-size:clamp(3rem,9vw,6.5rem)}@media (width<=600px){.happiness__decor--2,.happiness__decor--3{display:none}}@media (width<=480px){.families{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.families__amp{display:none}.couple{grid-template-columns:minmax(0,1fr) minmax(0,1.8fr)}}.music{z-index:50;aspect-ratio:1;cursor:pointer;background:#050000;border:0;border-radius:50%;width:clamp(36px,4vw,48px);padding:0;position:fixed;top:10px;right:10px;overflow:hidden;box-shadow:0 2px 8px #0000004d}.music--playing{animation:5s linear infinite mrotate}.music__icon{width:100%;height:100%}.music__off{align-items:center;display:grid;position:absolute;inset:0}.music__off:before{content:"";background:#fff;height:1.5px;rotate:45deg}@keyframes mrotate{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.music--playing{animation:none}}.gift{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;font-family:Arial,Helvetica,sans-serif;position:fixed}.gift__bubble{aspect-ratio:1;background:var(--red);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;place-items:center;width:52px;padding:0;transition:transform .2s,background .2s;display:grid;box-shadow:0 6px 18px #00000047}.gift__bubble svg{width:24px;height:24px}.gift__bubble:hover{background:var(--red-deep);transform:scale(1.06)}.gift__bubble:focus-visible{outline-offset:3px;outline:3px solid #75232366}.gift__bubble:not(.gift__bubble--open){animation:2.4s ease-out infinite gift-pulse}@keyframes gift-pulse{0%{box-shadow:0 6px 18px #00000047,0 0 #75232373}70%,to{box-shadow:0 6px 18px #00000047,0 0 0 14px #75232300}}.gift__card{border:1px solid var(--line);width:min(360px,100vw - 32px);box-shadow:var(--shadow);transform-origin:100% 100%;background:#fff;border-radius:12px;padding:18px 16px 14px;animation:.2s ease-out gift-in;position:absolute;bottom:calc(100% + 12px);right:0}.gift__card:after{content:"";border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;width:12px;height:12px;position:absolute;bottom:-7px;right:20px;rotate:45deg}@keyframes gift-in{0%{opacity:0;transform:translateY(8px)scale(.96)}}.gift__close{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:1.5rem;line-height:1;position:absolute;top:6px;right:8px}.gift__title{text-align:center;font:700 1.1rem var(--font-serif);color:var(--red);margin:0 0 12px}.gift__grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.gift__item{text-align:center;margin:0}.gift__item img{aspect-ratio:1;object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;padding:6px;display:block}.gift__item figcaption{gap:2px;margin-top:8px;font-size:.95rem;display:grid}.gift__role{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.gift__item strong{color:var(--red)}.gift__hint{text-align:center;color:var(--muted);margin:12px 0 0;font-size:.8rem}@media (prefers-reduced-motion:reduce){.gift__bubble,.gift__card{animation:none!important}}@media (width<=1024px){.photo--zoomable{cursor:zoom-in;-webkit-tap-highlight-color:transparent}}.lightbox{z-index:100;cursor:zoom-out;background:#0a0202e0;place-items:center;padding:56px 16px 24px;animation:.25s ease-out lightbox-in;display:grid;position:fixed;inset:0}.lightbox__img{object-fit:contain;cursor:default;border-radius:4px;max-width:100%;max-height:100%;animation:.3s ease-out lightbox-zoom;box-shadow:0 20px 60px #00000080}.lightbox__close{color:#fff;cursor:pointer;background:#0006;border:1px solid #fff6;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font-size:30px;line-height:1;display:grid;position:absolute;top:10px;right:10px}.lightbox__count{color:#ffffffd9;font-family:var(--font-sans);letter-spacing:.08em;pointer-events:none;font-size:14px;position:absolute;top:20px;left:50%;transform:translate(-50%)}.lightbox__nav{z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#00000059;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;transition:background .2s,transform .15s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:active{background:#752323bf;transform:translateY(-50%)scale(.92)}.lightbox__nav--prev{left:8px}.lightbox__nav--next{right:8px}.lightbox__img--next{animation:.3s ease-out lightbox-from-right}.lightbox__img--prev{animation:.3s ease-out lightbox-from-left}@keyframes lightbox-from-right{0%{opacity:0;transform:translate(40px)}}@keyframes lightbox-from-left{0%{opacity:0;transform:translate(-40px)}}@keyframes lightbox-in{0%{opacity:0}}@keyframes lightbox-zoom{0%{transform:scale(.92)}}@media (prefers-reduced-motion:reduce){.lightbox,.lightbox__img,.lightbox__img--next,.lightbox__img--prev{animation:none}}.cover{z-index:90;color:#fff;text-align:center;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.cover__door{background:radial-gradient(circle at 50% 40%, #ffffff0f, transparent 60%), var(--red);width:50.5%;transition:transform 1.2s cubic-bezier(.7,0,.3,1) .15s;position:absolute;top:0;bottom:0}.cover__door:before{content:"";border:1px solid #ffdcc859;position:absolute;inset:clamp(10px,2.5vw,20px)}.cover__door:after{content:"囍";color:#ffffff0a;font-size:clamp(10rem,40vw,22rem);line-height:1;position:absolute;top:50%;translate:0 -50%}.cover__door--left{left:0;box-shadow:inset -12px 0 24px #00000040}.cover__door--left:before{right:0}.cover__door--left:after{right:6%}.cover__door--right{right:0;box-shadow:inset 12px 0 24px #00000040}.cover__door--right:before{left:0}.cover__door--right:after{left:6%}.cover--opening .cover__door--left{transform:translate(-102%)}.cover--opening .cover__door--right{transform:translate(102%)}.cover__content{z-index:1;justify-items:center;gap:clamp(10px,2.2vh,20px);padding:24px;transition:opacity .4s,transform .4s;display:grid;position:relative}.cover--opening .cover__content{opacity:0;pointer-events:none;transform:scale(.94)}.cover__eyebrow{letter-spacing:.3em;text-transform:uppercase;opacity:.85;font:700 clamp(.85rem,2.4vw,1.05rem) Scarlet Bradley,serif}.cover__names{font-family:Faugllin Balseyn,cursive;font-size:clamp(2.6rem,9vw,5rem);line-height:1.15;display:grid}.cover__amp{opacity:.85;font-size:.6em}.cover__seal{background:var(--cream);border-radius:50%;width:clamp(104px,24vw,150px);height:auto;padding:clamp(14px,3vw,20px);box-shadow:0 0 0 4px #ffffff40,0 10px 28px #0006}.cover__date{font-family:Mentawai,cursive;font-size:clamp(1.1rem,3.2vw,1.5rem)}.cover__btn{color:#fff;font:500 1.05rem var(--font-sans);letter-spacing:.08em;cursor:pointer;background:#ffffff14;border:1px solid #fffc;border-radius:999px;margin-top:clamp(6px,1.5vh,14px);padding:14px 40px;transition:background .2s;animation:2.2s ease-in-out infinite cover-pulse}.cover__btn:hover{background:#ffffff2e}.cover__btn:focus-visible{outline-offset:4px;outline:2px solid #fff}@keyframes cover-pulse{0%,to{box-shadow:0 0 #ffffff59}50%{box-shadow:0 0 0 12px #fff0}}@media (prefers-reduced-motion:reduce){.cover__door,.cover__content{transition:none}.cover__btn{animation:none}}.photo-hint-wrap{display:block;position:relative;overflow:hidden}.photo-hint-wrap>.photo{width:100%;height:100%;box-shadow:none}.tap-hint{display:none}@media (width<=1024px){.tap-hint{color:#fff;pointer-events:none;background:#00000073;border-radius:50%;place-items:center;width:36px;height:36px;animation:2s ease-in-out infinite tap-hint-bob;display:grid;position:absolute;bottom:10px;right:10px}.tap-hint:before,.tap-hint:after{content:"";border:2px solid #fffc;border-radius:50%;animation:2s ease-out infinite tap-hint-ripple;position:absolute;inset:0}.tap-hint:after{animation-delay:1s}.zoom-hint-seen .tap-hint{display:none}}@keyframes tap-hint-ripple{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}@keyframes tap-hint-bob{0%,to{transform:scale(1)}50%{transform:scale(.9)}}@media (prefers-reduced-motion:reduce){.tap-hint,.tap-hint:before,.tap-hint:after{animation:none}}@font-face{font-family:Faugllin Balseyn;src:url(/fonts/faugllin-balseyn.woff2)format("woff2");font-display:swap}@font-face{font-family:Amstirdam;src:url(/fonts/amstirdam.woff2)format("woff2");font-display:swap}@font-face{font-family:Right Here;src:url(/fonts/right-here.woff2)format("woff2");font-display:swap}@font-face{font-family:The Hamstter;src:url(/fonts/the-hamstter.woff2)format("woff2");font-display:swap}@font-face{font-family:Katty Diona;src:url(/fonts/katty-diona.woff2)format("woff2");font-display:swap}@font-face{font-family:Carlytte;src:url(/fonts/carlytte.woff2)format("woff2");font-display:swap}@font-face{font-family:Lobster;src:url(/fonts/lobster.woff2)format("woff2");font-display:swap}@font-face{font-family:Scarlet Bradley;src:url(/fonts/scarlet-bradley.woff2)format("woff2");font-display:swap}@font-face{font-family:Mentawai;src:url(/fonts/mentawai.woff2)format("woff2");font-display:swap}@font-face{font-family:Sacramento;src:url(/fonts/sacramento.woff2)format("woff2");font-display:swap}@font-face{font-family:Signora;src:url(/fonts/signora.woff2)format("woff2");font-display:swap}.hero__save,.hero__names{font-family:Faugllin Balseyn,cursive}.hero__date{font-family:Mentawai,cursive}.section-title{font-family:Faugllin Balseyn,cursive;font-weight:700}#invitation .section-title{white-space:nowrap;font-family:Right Here,cursive;font-size:clamp(2rem,6vw,3.6rem)}#rsvp .section-title{font-family:Carlytte,cursive}.family__title,.family__parents{font-family:Scarlet Bradley,serif}.family__name,.families__amp{font-family:Faugllin Balseyn,cursive}.families__amp{color:#a90000}.when,.when__lead{font-family:Scarlet Bradley,serif}.when__date strong{font-family:Lobster,cursive;font-style:normal;font-weight:400}.location__name,.location__address{color:#000;font-family:Lobster,cursive;font-style:normal;font-weight:500}.happiness__quote{font-family:Carlytte,cursive;font-weight:700}.couple__names{font-family:Katty Diona,cursive;font-weight:700}.couple__amp{font-family:Amstirdam,cursive}.gallery__quote{font-family:Sacramento,cursive}.chapter__title{font-family:The Hamstter,cursive;font-weight:700}.chapter__quote{font-family:Signora,serif;font-style:normal;font-weight:700}.thanks__text{font-family:Right Here,cursive;font-weight:700}.rsvp,.calendar,.countdown{font-family:Arial,Helvetica,sans-serif}.calendar__day--active:before{font-family:Be Vietnam Pro,sans-serif}
