@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Playfair+Display:wght@500;600&display=swap');
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{min-height:100vh;overflow:hidden;font-family:'DM Sans',sans-serif;color:#294b3b;background:#71885c;position:relative}
.bg-layer{position:fixed;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed;transition:opacity .7s ease;z-index:0}.bg-layer:after{content:"";position:absolute;inset:0;background:rgba(20,45,30,.08);backdrop-filter:none}.bg-a{opacity:1}.bg-b{opacity:0}.bg-layer.changing{filter:none}
body:after{display:none}
.bg-a,.bg-b{will-change:opacity}
.glow{display:none}
.leaves{position:absolute;inset:0;display:flex;justify-content:space-around;align-items:flex-start;padding-top:9vh;font-size:24px;opacity:.6;animation:float 6s ease-in-out infinite;pointer-events:none;z-index:1;text-shadow:0 3px 18px rgba(41,75,59,.3)}
main{position:relative;z-index:2;min-height:100vh;display:grid;place-items:center;padding:55px 20px}.hero{text-align:center;max-width:760px}.back{display:inline-block;color:#fffced;text-decoration:none;font-weight:700;margin-bottom:22px;padding:9px 16px;border-radius:999px;background:rgba(35,72,47,.48);backdrop-filter:none;border:1px solid rgba(255,255,255,.35);text-shadow:0 1px 8px rgba(0,0,0,.15)}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;color:#fff9e8;text-shadow:0 2px 12px rgba(0,0,0,.35)}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(54px,9vw,96px);line-height:.95;margin:8px 0 18px;color:#fffbed;text-shadow:0 4px 25px rgba(22,55,35,.38)}.hero h1 span{font-style:italic;color:#e6f1cf}.intro{max-width:540px;margin:0 auto 26px;line-height:1.7;font-size:16px;color:#fffbed;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.note-card{position:relative;overflow:hidden;margin:auto;padding:48px 42px 40px;max-width:620px;min-height:220px;border:1px solid rgba(255,255,255,.82);background:rgba(255,251,239,.88);backdrop-filter:blur(16px);border-radius:34px 42px 30px 48px;box-shadow:0 25px 70px rgba(18,55,34,.34);transform:rotate(-.7deg)}.stamp{position:absolute;right:25px;top:20px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#dcebd4;font-size:20px}.quote{font-family:'Playfair Display',serif;font-size:clamp(25px,4vw,38px);line-height:1.3;margin:12px 0 22px}
button{margin-top:30px;border:0;border-radius:999px;padding:15px 24px;background:#315b46;color:#fff9e9;font:700 14px 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 12px 30px rgba(49,91,70,.35);transition:.25s}button:hover{transform:translateY(-3px);box-shadow:0 17px 35px rgba(49,91,70,.42)}.hint{font-size:12px;color:#fffbed;text-shadow:0 2px 10px rgba(0,0,0,.35);margin-top:12px}
@keyframes float{50%{transform:translateY(13px) rotate(2deg)}}
@media(max-width:600px){body{background-position:58% center}main{padding:35px 16px}.note-card{padding:40px 25px 32px}.intro{font-size:14px}.leaves{font-size:18px}.hero h1{font-size:clamp(48px,15vw,72px)}}

.note-enter{animation:noteIn .42s ease both}@keyframes noteIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
