*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#171a36;color:#fff;font-family:"DM Sans",sans-serif}#webgl{position:fixed;inset:0}#webgl canvas{display:block;width:100%;height:100%}.grain{position:fixed;inset:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");z-index:4}.brand{position:fixed;top:25px;left:30px;z-index:8;font-weight:700;letter-spacing:3px;font-size:11px}.brand span{color:#ffd5c4;margin-left:8px}.top-caption{position:fixed;top:28px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:3px;color:#ffffffa8;z-index:8}.overlay{position:fixed;z-index:6;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;transition:opacity .8s,transform .8s;pointer-events:none}.overlay>*{pointer-events:auto}.hidden{opacity:0;visibility:hidden;transform:translateY(12px)}.eyebrow{font-size:9px;letter-spacing:3px;color:#ffe0d2;font-weight:600}.intro{flex-direction:column;background:linear-gradient(180deg,#12152a66,#1d1c3a44)}h1,h2{font-family:"Playfair Display",serif;font-weight:400}h1{font-size:clamp(64px,12vw,126px);letter-spacing:-4px;margin:10px 0 2px;text-shadow:0 5px 35px #382b4b88}h1 i,h2 i{color:#ffd0c2;font-weight:400}.intro p{font:17px/1.7 "Playfair Display",serif;color:#fffde2;margin:8px 0 28px}.pill{border:1px solid #ffffffa6;border-radius:40px;padding:14px 22px;background:#fff2;color:#fff;font:600 11px "DM Sans";letter-spacing:.5px;cursor:pointer;backdrop-filter:blur(12px);transition:.25s}.pill:hover{background:#fff;color:#342b43;transform:translateY(-2px)}.pill b{margin-left:18px}.intro small{font-size:8px;letter-spacing:2px;color:#ffffff99;margin-top:26px}.letter{background:#15142b55}.paper{width:min(440px,94vw);padding:34px 38px 30px;background:#f4e4c9;color:#59453d;box-shadow:0 25px 90px #080b1b99;transform:rotate(-1deg);text-align:left}.paper-top{text-align:center;font-size:9px;letter-spacing:2px;color:#a77c6b;border-bottom:1px solid #c9b39a;padding-bottom:15px}.paper h2{font-size:30px;margin:22px 0 12px}.paper p{font:14px/1.8 "Playfair Display",serif}.signature{font:italic 15px/1.7 "Playfair Display";margin:22px 0}.signature span{font-size:22px}.dark{background:#5c4550;color:#fff;border:0}.dark:hover{background:#372c3c;color:#fff}.story{align-items:flex-end;padding-bottom:36px}.speech{position:absolute;top:15%;left:50%;transform:translateX(-50%);background:#fffdf0;color:#56434a;padding:12px 19px;border-radius:5px;font:15px "Playfair Display";box-shadow:0 8px 30px #15102c55}.speech:after{content:"";position:absolute;bottom:-8px;left:50%;border:8px solid transparent;border-top-color:#fffdf0;border-bottom:0}.story-bottom{width:min(850px,100%);display:flex;justify-content:space-between;align-items:center}.story-bottom span{font-size:11px;color:#fff;text-shadow:0 2px 8px #000}.photo-note{position:absolute;right:8%;top:24%;width:170px;background:#fff;padding:10px 10px 15px;color:#59464a;box-shadow:0 15px 35px #1118;transform:rotate(5deg)}.photo-note img{width:100%;height:125px;object-fit:cover;background:#e8d5c7}.photo-note span{display:block;font-size:7px;letter-spacing:1.3px;margin:3px 0 8px}.photo-note p{font:12px "Playfair Display";margin:8px 0 0}.proposal{background:linear-gradient(180deg,#17173822,#19152b55)}.proposal-card{max-width:620px}.proposal h2{font-size:clamp(38px,7vw,72px);line-height:1.08;margin:18px 0 30px;text-shadow:0 3px 30px #241a39}.proposal-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.subtle{background:#17142d55}.ending{flex-direction:column;background:linear-gradient(180deg,#25204522,#17152f44)}.ending h2{font-size:clamp(48px,9vw,90px);line-height:1.02;margin:20px 0}.ending p{font:17px "Playfair Display";color:#fffde2;margin:0 0 28px}.sound,.customise{position:fixed;z-index:9;bottom:25px;border:1px solid #ffffff55;background:#17142d66;color:#fff;border-radius:30px;padding:10px 14px;font:10px "DM Sans";backdrop-filter:blur(10px);cursor:pointer}.sound{left:25px}.sound span{margin-left:6px}.customise{right:25px}#loading{position:fixed;inset:0;z-index:20;background:#171a36;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;transition:opacity .8s}.loader-heart{font-size:35px;color:#ffd0c2;animation:beat 1s infinite}@keyframes beat{50%{transform:scale(1.25)}}#loading p{font:13px "Playfair Display";color:#fff9}dialog{border:1px solid #ffffff33;border-radius:16px;background:#f5e9dc;color:#4b3b42;width:min(450px,94vw);padding:0;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#080a1bbb;backdrop-filter:blur(6px)}.editor{padding:28px;position:relative}.editor h2{font-size:30px;margin:10px 0 22px}.editor label{display:block;font-size:11px;margin:13px 0;color:#6b5558}.editor input,.editor textarea{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #d6c4b8;border-radius:7px;background:#fffaf3;color:#473840;font:13px "DM Sans"}.editor input[type=file]{font-size:10px}.close{position:absolute;right:17px;top:14px;border:0;background:none;font-size:25px;color:#705c60;cursor:pointer}.editor .pill{width:100%;margin-top:10px}
@media(max-width:650px){.brand{left:17px;top:19px}.top-caption{top:22px;font-size:7px;letter-spacing:1.5px}.paper{padding:25px 24px}.paper p{font-size:13px}.story-bottom{gap:12px;align-items:flex-end}.story-bottom span{max-width:130px;text-align:left}.photo-note{right:5%;top:25%;width:125px}.photo-note img{height:90px}.sound{left:14px;bottom:14px}.customise{right:14px;bottom:14px}}
