:root{--ink:#3f2b2b;--muted:#786664;--cream:#fffaf5;--coral:#e45f48;--line:#ebdfd8;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}header{height:76px;max-width:1160px;margin:auto;padding:0 26px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:"Libre Caslon Text",serif;font-size:18px;font-weight:700}.brand span{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:8px;border-radius:11px;background:var(--coral);color:white}header>div{display:flex;align-items:center;gap:12px}header small{color:#9b8884;letter-spacing:.1em}header button{border:1px solid var(--line);border-radius:999px;background:white;padding:9px 14px;color:var(--ink);font-weight:700;font-size:11px}.event-hero{max-width:1160px;margin:0 auto;padding:40px 26px 100px;display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.cover-art{height:600px;border-radius:180px 180px 30px 30px;background:linear-gradient(145deg,#d0afa0,#f4d9c9 55%,#bd7d68);position:relative;overflow:hidden;box-shadow:0 35px 80px #63382d25}.cover-art:before{content:"";position:absolute;inset:58% -10% -20%;border-radius:50%;background:#f8ece3;transform:rotate(-7deg)}.cover-heart{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);font-size:90px;color:#fff9}.eyebrow{color:#c94b38;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.event-intro h1,.story h2,.thank-you h2,dialog h2{font-family:"Libre Caslon Text",serif;letter-spacing:-.04em}.event-intro h1{font-size:clamp(55px,6vw,82px);line-height:.98;margin:17px 0 25px}.event-intro p{font-family:"Libre Caslon Text",serif;font-size:19px;line-height:1.7;color:var(--muted)}.signature{margin-top:28px;color:#8f7772;font-size:12px;font-weight:600}.story{max-width:1160px;margin:auto;padding:70px 26px 120px}.story-heading{text-align:center;max-width:620px;margin:0 auto 55px}.story h2{font-size:47px;margin:14px 0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}.photo-grid figure{margin:0;background:white;border:1px solid var(--line);padding:10px 10px 18px;border-radius:19px;box-shadow:0 15px 40px #54362d0c}.photo-grid figure:nth-child(1){transform:rotate(-2deg)}.photo-grid figure:nth-child(3){transform:rotate(2deg)}.sample-photo,.uploaded-photo{height:320px;border-radius:12px;background-size:cover;background-position:center}.photo-grid .tall .sample-photo{height:400px}.flowers{background:linear-gradient(135deg,#d7c5ad,#f3d7c8);position:relative}.flowers:after{content:"✿ ✿";position:absolute;inset:110px 0 auto;text-align:center;font-size:68px;color:#c98775}.table{background:linear-gradient(145deg,#b8cfbf,#f1decc);position:relative}.table:after{content:"♡";position:absolute;inset:130px 0 auto;text-align:center;font-size:75px;color:white}.friends{background:linear-gradient(145deg,#e6c8bd,#c99e87)}figcaption{padding:14px 7px 0;font-family:"Libre Caslon Text",serif;font-size:14px}.thank-you{margin:0 20px 80px;padding:75px 25px;text-align:center;border-radius:32px;background:linear-gradient(145deg,#f5ded2,#fff0e7)}.thank-you>span{font-size:32px;color:var(--coral)}.thank-you h2{font-size:40px;margin:12px 0}.thank-you p{color:var(--muted)}footer{max-width:1108px;margin:auto;padding:30px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:#927f7b}dialog{width:min(540px,calc(100% - 24px));border:0;border-radius:24px;padding:34px;color:var(--ink);box-shadow:0 30px 90px #35201c55}dialog::backdrop{background:#3e2928a6;backdrop-filter:blur(5px)}dialog h2{font-size:35px;margin:10px 0 18px}.close{position:absolute;right:14px;top:14px;border:0;border-radius:50%;width:38px;height:38px;font-size:23px}.editor-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}form label{display:flex;flex-direction:column;gap:7px;margin-top:14px;font-size:11px;font-weight:700}form input,form textarea{border:1px solid var(--line);border-radius:11px;padding:11px;background:#fffcfa;color:var(--ink)}.upload{border:1px dashed #d8c6bd;border-radius:13px;padding:14px}.upload small{color:#95817d;font-weight:400}.editor-actions button{border:1px solid var(--line);border-radius:999px;padding:11px 17px;background:white}.editor-actions .save{background:var(--coral);border-color:var(--coral);color:white}#editorMessage{color:#bd4a38;font-size:11px}
@media(max-width:780px){.event-hero{grid-template-columns:1fr;gap:45px;padding-bottom:70px}.cover-art{height:480px}.event-intro{text-align:center}.photo-grid{grid-template-columns:1fr;max-width:480px;margin:auto}.photo-grid figure{transform:none!important}.photo-grid .tall .sample-photo{height:320px}.story h2{font-size:38px}}@media(max-width:520px){header{height:66px;padding:0 15px}.event-hero{padding:25px 15px 60px}.cover-art{height:390px;border-radius:120px 120px 24px 24px}.event-intro h1{font-size:48px}.event-intro p{font-size:16px}.story{padding:55px 15px 80px}.thank-you{margin-inline:10px;padding:55px 18px}.thank-you h2{font-size:32px}footer{margin-inline:16px}}
footer{align-items:center;gap:20px}footer small{font-size:9px;color:#a3918d}
.cover-art{display:block;width:100%;object-fit:cover;object-position:center}.cover-art:before{content:none}.sample-photo{display:block;width:100%;object-fit:cover}.photo-grid figure:nth-child(1) .sample-photo{object-position:center 32%}.photo-grid figure:nth-child(2) .sample-photo{object-position:center}.photo-grid figure:nth-child(3) .sample-photo{object-position:center 46%}footer small a{text-decoration:underline;text-underline-offset:2px}
body{overflow-x:hidden}
