:root{color-scheme:light;--clay:#ac4f37;--cream:#fff1dc;--soft:#edc39c}*{box-sizing:border-box}body{margin:0;background:var(--clay);color:var(--cream);font-family:Georgia,'Times New Roman',serif}main{min-height:100svh;display:grid;place-items:center;padding:36px 24px}.frame{width:min(100%,920px);text-align:center;padding:44px 20px 34px;border:1px solid #fff1dc48}.eyebrow{font:10px/1.6 Arial,sans-serif;letter-spacing:3px;margin:0 0 43px}h1{margin:0;font-weight:400;font-size:clamp(60px,8.2vw,108px);line-height:1.13;letter-spacing:-2px}h1>span{display:block;font:15px/1.5 Arial,sans-serif;letter-spacing:7px;margin-bottom:13px}.draw-heart{display:block;width:63px;height:67px;margin:24px auto 26px;color:var(--soft);overflow:visible}.draw-heart path{stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:heart-draw 2.8s .3s ease-in-out forwards}.rule{width:72px;height:1px;background:#edc39c80;margin:0 auto 28px}.invitation{font-size:clamp(23px,2.6vw,32px);line-height:1.45;margin:0}.soon{font:11px/1.6 Arial,sans-serif;text-transform:uppercase;letter-spacing:4px;margin:24px 0 33px}.signature{font-size:22px;line-height:1.5;margin:0}.signature span{font-size:20px;font-style:italic;color:var(--soft)}@keyframes heart-draw{to{stroke-dashoffset:0}}@media(max-width:520px){main{padding:18px 16px}.frame{padding:36px 12px 32px}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:37px}h1{font-size:57px;letter-spacing:-1.7px}h1>span{font-size:12px;letter-spacing:5px;margin-bottom:14px}.draw-heart{width:54px;height:57px;margin-top:21px;margin-bottom:24px}.signature{font-size:21px}.soon{margin:24px 0 28px}}@media(prefers-reduced-motion:reduce){.draw-heart path{animation:none;stroke-dashoffset:0}}
.signature>p{font-size:20px;font-style:italic;color:var(--soft);margin:0}.signature-art{display:block;width:min(390px,90%);height:auto;margin:3px auto 0;overflow:visible}.signature-stroke{fill:transparent;stroke:var(--cream);stroke-width:9;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.draw-heart path{animation:none;stroke-dashoffset:0}.animating .draw-heart path{stroke-dashoffset:1;animation:heart-draw 3s .6s ease-in-out forwards}.signature-stroke{fill:var(--cream);stroke-dashoffset:0}.animating .signature-stroke{fill:transparent;stroke-dashoffset:1;animation:sign-draw .75s var(--delay) ease-out forwards,sign-fill .25s calc(var(--delay) + .52s) ease-out forwards}.replay{appearance:none;background:none;color:var(--soft);border:0;border-bottom:1px solid #edc39c60;font:9px Arial,sans-serif;letter-spacing:.6px;padding:6px 0;margin-top:10px;cursor:pointer}.replay:focus-visible{outline:2px solid var(--cream);outline-offset:5px}@keyframes sign-draw{to{stroke-dashoffset:0}}@keyframes sign-fill{to{fill:var(--cream)}}@media(prefers-reduced-motion:reduce){.animating .draw-heart path,.animating .signature-stroke{animation:none;stroke-dashoffset:0}.animating .signature-stroke{fill:var(--cream)}.replay{display:none}}@media(max-width:520px){.signature-art{width:min(330px,96%)}.frame{padding-bottom:23px}.eyebrow{margin-bottom:30px}.soon{margin-bottom:25px}}
main{padding:28px}.landing{display:grid;grid-template-columns:1.35fr 1fr;width:min(1280px,100%);min-height:690px;border:1px solid #fff1dc48}.frame{width:100%;border:0;padding:37px 24px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center}.eyebrow{margin-bottom:30px}h1{font-size:clamp(64px,6.6vw,95px)}.signature-art{width:min(400px,100%);margin-top:-1px}.signature{width:100%}.signature-stroke{stroke-width:5}.photo{position:relative;margin:0;overflow:hidden;min-height:690px}.photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:51% center}.photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#282c1fd9)}.photo figcaption{position:absolute;bottom:34px;left:30px;right:24px;z-index:1;color:var(--cream);font:35px/1.2 Georgia,serif}.photo figcaption span{display:block;font:9px/1.8 Arial,sans-serif;letter-spacing:1.8px;margin-top:18px}.invitation{font-size:27px}.soon{margin:21px 0 25px}.draw-heart{margin:20px auto 22px}.rule{margin-bottom:23px}@media(max-width:760px){main{padding:18px 16px}.landing{grid-template-columns:1fr;min-height:0}.frame{padding:36px 18px 24px}h1{font-size:66px}.eyebrow{font-size:8px}.photo{min-height:430px}.photo img{object-position:50% 43%}.photo figcaption{font-size:31px;bottom:26px;left:25px}.signature-art{width:min(345px,96%)}.invitation{font-size:24px}}@media(max-width:350px){h1{font-size:54px}.frame{padding-left:12px;padding-right:12px}}
.food-pair{position:absolute;inset:0;display:grid;grid-template-rows:1fr 1fr;gap:5px;background:var(--clay)}.food-pair img{position:relative;display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 48%}.photo:after{inset:60% 0 0;background:linear-gradient(transparent,#282c1fe8)}@media(max-width:760px){.photo{min-height:620px}.food-pair img{object-position:center 50%}}
.photo.film{display:flex;flex-direction:column;background:#33382c;min-height:0;overflow:hidden}.film:after{display:none}.film video{display:block;width:100%;height:auto;aspect-ratio:720/1000;object-fit:cover;max-height:620px;background:#33382c}.photo.film figcaption{position:static;padding:19px 25px 22px;margin:0;font:25px/1.3 Georgia,serif}.photo.film figcaption .film-title{font:25px/1.3 Georgia,serif;letter-spacing:0;margin:0}.photo.film figcaption #film-description{font:11px/1.6 Arial,sans-serif;letter-spacing:.2px;margin:10px 0 0;opacity:.8}@media(max-width:760px){.film video{max-height:none}.photo.film figcaption .film-title{font-size:24px}}
