body,html{margin:0;padding:0;background:#FBF7F2}*{box-sizing:border-box}a{color:#B0796F;text-decoration:none;border-bottom:1px solid rgba(176,121,111,.35)}a:hover{color:#8E5A52;border-bottom-color:rgba(142,90,82,.6)}::selection{background:#F0DCD4}input::placeholder{color:#C9B7AC;font-style:italic}@keyframes drift{0%{transform:translateZ(0) rotate(0deg);opacity:0}10%{opacity:.55}90%{opacity:.35}to{transform:translate3d(40px,-115vh,0) rotate(280deg);opacity:0}}@keyframes shake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-7px)}40%,60%{transform:translateX(7px)}}@keyframes rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.9;transform:scale(1.14)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.stage{position:relative;min-height:100vh;width:100%;background:radial-gradient(120% 90% at 50% 0,#FFFDFB 0,#FBF5EF 42%,#F6EBE3 100%)}.petals,.stage{overflow:hidden}.petals{position:fixed;inset:0;pointer-events:none;z-index:1}.petals i{position:absolute;bottom:-40px;display:block;border-radius:60% 40% 55% 45%}.gate{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px}.card{position:relative;width:min(100%,420px);text-align:center}.card.shake{animation:shake .55s cubic-bezier(.36,.07,.19,.97)}.rule{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:26px}.rule span{width:38px;height:1px;background:#DFCEC2}.rule b{width:9px;height:9px;border-radius:50%;background:#C98A8A;animation:pulse 4s ease-in-out infinite}.eyebrow{font-family:Karla,system-ui,sans-serif;font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:#B09A8E;margin-bottom:20px}h1{font-family:Cormorant Garamond,Georgia,serif;font-weight:300;font-style:italic;font-size:clamp(40px,11vw,62px);line-height:1.05;letter-spacing:-.02em;color:#2E2A28;margin:0 0 20px}.lede{font-family:Karla,system-ui,sans-serif;font-size:15px;line-height:1.8;color:#7A6C64;margin:0 auto 40px;max-width:26em;text-wrap:pretty}form{display:flex;flex-direction:column;align-items:center;gap:26px}.field{position:relative;width:min(100%,320px)}#pw{width:100%;background:transparent;border:none;border-bottom:1px solid #ddcbbe;outline:none;padding:12px 4px;text-align:center;font-family:Cormorant Garamond,Georgia,serif;font-size:26px;font-weight:400;letter-spacing:.14em;color:#2E2A28;caret-color:#C98A8A;transition:border-color .35s}#pw:focus{border-bottom-color:#C98A8A}.unlock{min-height:46px;padding:13px 34px;border-radius:999px;border:1px solid #e0cdc0;background:linear-gradient(180deg,#FFFFFF,#FBF2EB);cursor:pointer;font-family:Karla,system-ui,sans-serif;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:#7A6058;transition:transform .25s cubic-bezier(.3,1.4,.5,1),box-shadow .25s,border-color .25s;box-shadow:0 8px 22px -16px rgba(90,60,50,.55)}.unlock:hover:enabled{transform:translateY(-2px);border-color:#C98A8A;box-shadow:0 14px 30px -18px rgba(140,80,70,.6)}.unlock:active:enabled{transform:translateY(0)}.unlock:disabled{cursor:default;color:#A79086}.err{min-height:22px;margin-top:22px;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:17px;color:#B0796F}.hintbtn{margin-top:6px;background:none;border:none;cursor:pointer;font-family:Karla,system-ui,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#BFAB9F;padding:8px 12px;min-height:36px;transition:color .3s}.hintbtn:hover{color:#8E5A52}.hinttext{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:16px;color:#9A887E;line-height:1.6;max-width:24em;margin:2px auto 0;min-height:24px}#content{position:relative;z-index:5}#content img{display:block;width:100%;height:auto}#content .photo{max-width:min(100%,440px);margin:34px auto;border:7px solid #fffdfb;border-radius:2px;outline:1px solid #EADDD2;box-shadow:0 30px 55px -34px rgba(70,45,38,.65)}#content>div>*{opacity:0;animation:rise .95s cubic-bezier(.2,.7,.2,1) forwards}#content>div>:first-child{animation-delay:.1s}#content>div>:nth-child(2){animation-delay:.26s}#content>div>:nth-child(3){animation-delay:.42s}#content>div>:nth-child(4){animation-delay:.58s}#content>div>:nth-child(5){animation-delay:.74s}#content>div>:nth-child(6){animation-delay:.9s}#content>div>:nth-child(n+7){animation-delay:1.06s}