
#jh-save-date{--jh-ivory:#faf7ee;--jh-paper:#f0eadc;--jh-ink:#62676b;--jh-blue:#e2ecf5;--jh-line:#ddd5c4;padding:18px 8px;}
#jh-save-date .jh-product{color:var(--jh-ink);background:var(--jh-ivory);font-family:Georgia,'Times New Roman',serif;text-align:center;max-width:640px;margin:auto;padding:28px 22px 18px;box-sizing:border-box;box-shadow:0 14px 40px #39302012;}
#jh-save-date header{font-size:13px;letter-spacing:3px;line-height:1.8;overflow-wrap:anywhere;padding:0 0 20px;border-bottom:1px solid var(--jh-line);}
#jh-save-date header span{display:block;margin-top:10px;font-size:11px;letter-spacing:2px;}
#jh-save-date .jh-scene{position:relative;height:660px;overflow:hidden;perspective:1100px;}
#jh-save-date .jh-paper-window{position:absolute;top:0;left:0;width:100%;height:550px;overflow:hidden;z-index:2;}
#jh-save-date.jh-settled .jh-paper-window{height:100%;transition:height 1.5s ease;}
#jh-save-date .jh-paper{position:absolute;top:300px;left:0;width:100%;transform:translateY(70px) scale(.74);transform-origin:top center;z-index:2;visibility:hidden;background:var(--jh-ivory);box-shadow:0 5px 18px #61574412;}
#jh-save-date .jh-card{display:grid;grid-template-columns:1fr 32%;gap:20px;padding:14px 12px 39px;border-bottom:1px solid var(--jh-line);}
#jh-save-date .jh-text{display:flex;flex-direction:column;justify-content:space-between;align-items:center;min-width:0;}
#jh-save-date .jh-initial{color:var(--jh-blue);font-size:132px;line-height:.95;font-weight:400;}
#jh-save-date .jh-last{font-size:130px;margin-top:20px;}
#jh-save-date .jh-text p{font-size:11px;letter-spacing:2px;line-height:1.6;margin:12px 0;}
#jh-save-date .jh-text h2{font-size:23px;font-weight:400;letter-spacing:4px;line-height:1.4;margin:20px 0;}
#jh-save-date .jh-text h2 em{display:block;font-size:18px;letter-spacing:0;font-weight:400;line-height:2;}
#jh-save-date .jh-photos{display:grid;grid-template-rows:repeat(3,1fr);gap:13px;}
#jh-save-date .jh-photos img{width:100%;height:100%;min-height:0;aspect-ratio:396/508;object-fit:cover;display:block;filter:grayscale(1);}
#jh-save-date .jh-middle{object-position:center 47%;}
#jh-save-date .jh-envelope-back,#jh-save-date .jh-envelope-front,#jh-save-date .jh-flap,#jh-save-date .jh-open{position:absolute;left:7%;width:86%;top:280px;height:270px;box-sizing:border-box;}
#jh-save-date .jh-envelope-back{background:var(--jh-paper);border:1px solid var(--jh-line);z-index:1;box-shadow:0 12px 22px #645c4820;}
#jh-save-date .jh-envelope-front{z-index:3;background:var(--jh-paper);clip-path:polygon(0 0,50% 59%,100% 0,100% 100%,0 100%);border:1px solid var(--jh-line);}
#jh-save-date .jh-envelope-front:after{content:'';position:absolute;inset:0;background:linear-gradient(32deg,transparent 49.6%,var(--jh-line) 49.9%,transparent 50.3%) left bottom/50% 100% no-repeat,linear-gradient(-32deg,transparent 49.6%,var(--jh-line) 49.9%,transparent 50.3%) right bottom/50% 100% no-repeat;}
#jh-save-date .jh-flap{height:162px;z-index:4;background:var(--jh-paper);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;transition:transform 1.5s cubic-bezier(.35,0,.25,1);}
#jh-save-date .jh-open{z-index:5;background:transparent;border:0;color:var(--jh-ink);font-family:Georgia,serif;}
#jh-save-date .jh-monogram{position:absolute;top:80px;left:50%;width:23.52%;max-width:106.4px;height:auto;transform:translateX(-50%);}
#jh-save-date .jh-please{position:absolute;bottom:24px;left:0;right:0;font-size:11px;font-style:normal;letter-spacing:2px;text-transform:uppercase;}
#jh-save-date .jh-addressing{position:absolute;top:150px;left:0;right:0;font-size:20px;font-style:italic;transition:opacity .5s;}
#jh-save-date.jh-opening .jh-open{opacity:0;pointer-events:none;transition:opacity .5s;}
#jh-save-date.jh-opening .jh-flap{transform:rotateX(180deg);}
#jh-save-date.jh-pulling .jh-flap{z-index:1;}
#jh-save-date.jh-pulling .jh-paper{visibility:visible;transform:translateY(-275px) scale(.74);transition:transform 3s cubic-bezier(.22,.05,.25,1);}
#jh-save-date.jh-pulling .jh-addressing{opacity:0;}
#jh-save-date.jh-settled .jh-paper{transform:translateY(-275px) scale(1);transition:transform 1.5s cubic-bezier(.22,.05,.25,1);box-shadow:none;}
#jh-save-date.jh-settled .jh-envelope-front,#jh-save-date.jh-settled .jh-envelope-back,#jh-save-date.jh-settled .jh-flap{transform:translateY(450px);opacity:0;transition:transform 1.5s ease,opacity 1.5s ease;}
#jh-save-date .jh-details[hidden]{display:none;}
#jh-save-date .jh-details p{font-size:13px;line-height:1.8;margin:10px 0;}
#jh-save-date .jh-replay{background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;color:var(--jh-ink);font-family:Georgia,serif;font-size:12px;min-height:44px;padding:12px;}
#jh-save-date .jh-status{font-size:12px;line-height:1.5;min-height:18px;margin:4px 0;}
@media(max-width:480px){#jh-save-date{padding:12px 4px;}#jh-save-date .jh-product{padding:24px 12px 12px;}#jh-save-date .jh-scene{height:590px;}#jh-save-date .jh-card{gap:12px;padding:12px 6px;}#jh-save-date .jh-initial{font-size:104px;}#jh-save-date .jh-last{font-size:104px;margin-top:14px;}#jh-save-date .jh-text h2{font-size:17px;letter-spacing:2.5px;margin:12px 0;}#jh-save-date .jh-text p{font-size:11px;letter-spacing:1px;margin:8px 0;}#jh-save-date .jh-photos{gap:10px;}#jh-save-date .jh-envelope-back,#jh-save-date .jh-envelope-front,#jh-save-date .jh-open{height:215px;}#jh-save-date .jh-flap{height:129px;}#jh-save-date .jh-monogram{top:78px;} }
@media(prefers-reduced-motion:reduce){#jh-save-date *,#jh-save-date *:after{transition:none!important;}}
@media(max-width:480px){#jh-save-date:not(.jh-settled) .jh-paper-window{height:495px;}}
@media(max-width:480px){#jh-save-date .jh-monogram{top:56px;width:26.88%;max-width:89.6px;}}
@media(max-width:480px){#jh-save-date .jh-card{padding-bottom:37px;}}

html{background:#faf7ee;} body{margin:0;} [hidden]{display:none!important;}
button{cursor:pointer;} button:disabled{cursor:wait;} button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #58738a;outline-offset:4px;}
#guest-welcome{font-size:16px;line-height:1.6;margin:16px 0;}
#show-form,#submit-response{background:#e2ecf5;color:#404e5b;border:1px solid #b8cbdc;padding:14px 20px;font:14px Georgia,serif;min-height:44px;}
#response-section{text-align:left;padding:20px 0;font-size:14px;line-height:1.7;}
#response-section h2{font-size:23px;font-weight:400;text-align:center;}
#response-section fieldset{border:0;margin:20px 0;padding:0;}
#response-section legend{font-size:16px;margin:0 0 10px;}
#response-section label{display:block;margin:12px 0;}
#response-section input,#response-section select{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #c7c0b1;background:#fffdf7;color:#40464b;font:16px Georgia,serif;padding:10px;margin-top:6px;}
#response-section .person-label{margin:16px 0;} #form-error{color:#8b3030;}
#load-message,#saved-message{font-size:14px;line-height:1.8;margin:22px 0;}
