@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Playfair+Display:ital,wght@0,500;1,500&display=swap";*{box-sizing:border-box}body{color:#171714;background:#f2efe8;margin:0;padding:20px 100px;font-family:DM Sans,sans-serif}button,input,textarea{font:inherit}button{color:inherit}main{min-height:100vh;padding:24px;position:relative;overflow:hidden}header,footer{letter-spacing:.18em;justify-content:space-between;align-items:center;margin:auto;font-size:11px;display:flex}.brand{letter-spacing:.18em;cursor:pointer;background:0 0;border:0;padding:0}.card{margin:5vh auto}.eyebrow{letter-spacing:.22em;margin-bottom:24px;font-size:10px}.card h1{margin:0 0 28px;font-family:Playfair Display,serif;font-size:clamp(46px,8vw,82px);font-weight:500;line-height:.98}.card h1 i{font-weight:500}.intro{color:#59574f;font-size:15px;line-height:1.7}.choices{border-top:1px solid #aaa69c;margin-top:40px}.choice{text-align:left;cursor:pointer;background:#f2efe8b8;border:0;border-bottom:1px solid #aaa69c;grid-template-columns:52px 1fr 30px;align-items:center;width:100%;padding:14px 5px 18px;transition:all .2s;display:grid}.choice:hover{background:#ebe6dc;padding-left:14px}.choice>span{font-family:Playfair Display;font-size:28px}.choice h2{margin:0 0 4px;font-family:Playfair Display;font-size:22px;font-weight:500}.choice p{color:#666258;margin:0;font-size:12px}.choice b{font-weight:400}.back{cursor:pointer;background:0 0;border:0;margin-bottom:38px;padding:0}.form h1{font-size:62px}.form label{letter-spacing:.04em;margin:50px 0 8px;font-size:12px;display:block}.form small{color:#888;font-weight:300}input,textarea{background:0 0;border:0;border-bottom:1px solid #8f8b82;border-radius:0;outline:none;width:100%;margin-top:5px;padding:12px 2px;display:block}textarea{resize:vertical;height:42px}.submit{color:#f2efe8;cursor:pointer;background:#171714;border:1px solid #171714;margin-top:30px;padding:15px 22px}.submit:disabled{opacity:.35;cursor:not-allowed}.upload{text-align:center;cursor:pointer;border:1px dashed #8f8b82;margin-top:50px!important;padding:30px!important}.upload input{display:none}.recorder{border:1px solid #aaa69c;flex-direction:column;align-items:center;gap:16px;margin:50px 0 35px;padding:38px;display:flex}.record{cursor:pointer;background:0 0;border:1px solid #171714;border-radius:50%;width:74px;height:74px;font-size:25px}.record.active{animation:1s infinite pulse}.recorder audio{width:100%;margin-top:10px}.thanks{text-align:center;padding:40px 0}.thanks>div{font-family:Playfair Display;font-size:60px}.thanks h1{margin-top:8px}.thanks p{color:#666258}.error{color:#8a2929;margin-top:20px}footer{color:#777268;justify-content:center;padding-bottom:10px}@keyframes pulse{50%{transform:scale(1.08)}}@media (width<=800px){body{padding:10px 15px}.card{margin:3vh auto 2vh}.card h1{font-size:48px}.intro{font-size:14px}.choices{margin-top:35px}.choice{grid-template-columns:40px 1fr 20px;padding:18px 2px}.choice h2{font-size:20px}.choice p{line-height:1.4}.form h1{font-size:50px}header span{font-size:9px}}.guestbook{margin:0 auto 14vh;padding-top:38px}.book-heading{justify-content:space-between;align-items:flex-end;margin-bottom:30px;display:flex}.book-heading h2,.empty-book h2{margin:0;font-family:Playfair Display,serif;font-size:clamp(38px,6vw,64px);font-weight:500;line-height:1}.book-heading h2 i,.empty-book h2 i{font-weight:500}.book-heading>span{letter-spacing:.18em;text-transform:uppercase;color:#777268;font-size:10px}.memory-grid{columns:3 260px;column-gap:18px}.memory{break-inside:avoid;background:#f2efe8db;border:1px solid #aaa69c;margin:0 0 18px;padding:22px}.memory.photo{padding:10px}.memory.photo img{filter:saturate(.9);width:100%;height:auto;margin-bottom:16px;display:block}.memory.photo .memory-text,.memory.photo .memory-meta{margin-left:10px;margin-right:10px}.memory-text{white-space:pre-wrap;margin:3px 0 28px;font-family:Playfair Display,serif;font-size:22px;line-height:1.35}.memory-meta{letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #c8c3b9;justify-content:space-between;align-items:center;gap:15px;padding-top:12px;font-size:10px;display:flex}.memory-meta strong{font-weight:500}.memory-meta time{color:#777268}.audio-mark{font-family:Playfair Display;font-size:42px}.audio-label{margin:4px 0 18px;font-family:Playfair Display,serif;font-size:22px}.memory audio{width:100%;height:38px;margin-bottom:24px}.empty-book{text-align:center}.empty-book>p:last-child{color:#666258;line-height:1.7}.thanks+.error{margin-top:0}@media (width<=800px){.guestbook{padding-top:28px}.book-heading{align-items:flex-start}.book-heading>span{margin-top:8px}.memory-grid{columns:1}.memory{padding:18px}.memory.photo{padding:8px}.memory-text{font-size:20px}}.privacy-panel{justify-content:space-between;align-items:center;gap:24px;width:100%;margin:28px 0 4px;padding:18px 0;display:flex}.privacy-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.privacy-copy strong{font-family:Playfair Display,serif;font-size:18px;font-weight:500}.privacy-copy small{color:#777268;font-size:11px;line-height:1.45}.privacy-switch{cursor:pointer;background:0 0;border:1px solid #8f8b82;border-radius:999px;flex:0 0 46px;width:46px;height:26px;padding:0;transition:background .2s,border-color .2s;display:block;position:relative}.privacy-switch span{background:#8f8b82;border-radius:50%;width:18px;height:18px;transition:transform .2s,background .2s;display:block;position:absolute;top:3px;left:3px}.privacy-switch.on{background:#171714;border-color:#171714}.privacy-switch.on span{background:#f2efe8;transform:translate(20px)}.privacy-switch:focus-visible{outline-offset:3px;outline:2px solid #171714}@media (width<=800px){.privacy-panel{gap:16px}.privacy-copy strong{font-size:17px}}
