
:root{--paper:#fff9fc;--ink:#403254;--purple:#68508e;--pink:#f5b8cc;--lilac:#e6dbfa;--yellow:#ffe8a3;--line:#d7c8e6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",sans-serif;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--purple);outline-offset:5px}header{max-width:1180px;margin:auto;padding:25px 32px;display:flex;justify-content:space-between;align-items:center}.logo{text-decoration:none;font-size:22px;font-weight:800}.logo span{color:#a75677}nav a{text-decoration:none;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:4px}main{overflow:hidden}.hero{max-width:1180px;margin:35px auto 70px;padding:20px 32px 0;display:grid;grid-template-columns:1.08fr 1fr;gap:50px;align-items:center}.note{display:inline-block;background:var(--yellow);padding:5px 15px;transform:rotate(-3deg);font-size:14px;border-radius:3px}.hero h1{font-size:clamp(44px,5.5vw,76px);line-height:1.13;letter-spacing:-3px;margin:30px 0 23px;font-weight:850}.hero p{font-size:18px;max-width:480px}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--purple);color:white;padding:14px 25px;border:2px solid var(--ink);border-radius:16px;text-decoration:none;font-weight:700;box-shadow:4px 5px 0 var(--pink);cursor:pointer}.hero .small{font-size:13px;margin-top:15px;color:#76677f}.scene{position:relative;min-height:490px;display:grid;place-items:center}.scene:before{content:"";position:absolute;width:420px;height:420px;max-width:100%;border-radius:50%;background:var(--lilac)}.sketch{position:relative;width:350px;max-width:86%;background:white;border:2px solid var(--ink);transform:rotate(5deg);padding:24px 20px 12px;box-shadow:11px 13px 0 #d4c1ea}.tape{position:absolute;top:-17px;left:35%;width:110px;height:32px;background:#ffe8a3cc;transform:rotate(-7deg)}.sketch svg{display:block;width:100%;height:auto}.caption{text-align:center;font-size:14px;margin:5px 0 0}.bubble{position:absolute;z-index:2;border:2px solid var(--ink);padding:8px 16px;border-radius:30px;background:var(--yellow);top:15px;right:5px;transform:rotate(8deg);font-weight:700}.star{position:absolute;font-size:45px;color:var(--purple);bottom:5px;left:5px}.tiny-heart{position:absolute;left:2px;top:85px;color:#aa527a;font-size:40px;transform:rotate(-15deg)}.strip{background:var(--lilac);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 24px;text-align:center;font-size:17px;word-spacing:3px}.letter{max-width:850px;margin:80px auto;padding:0 30px;display:grid;grid-template-columns:140px 1fr;gap:36px}.letter .stamp{width:125px;height:125px;border:2px dashed #a8779a;border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:700;transform:rotate(-12deg);background:#fbe8f0}.letter h2{font-size:32px;line-height:1.3;margin:0 0 18px;letter-spacing:-1px}.letter p{font-size:17px;margin:0 0 15px}.signature{font-size:25px!important;color:#98637e;transform:rotate(-4deg);display:inline-block}.support{max-width:1090px;margin:0 auto 80px;padding:0 30px}.support-inner{border:2px solid var(--ink);border-radius:26px;background:#f1eafa;padding:45px;position:relative;box-shadow:7px 8px 0 #e9d5e3}.support h2{font-size:38px;line-height:1.2;margin:0 0 12px;letter-spacing:-1px}.support .intro{max-width:600px}.choices{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0}.choice{border:1.5px solid #ad9abe;background:#fffafd;color:var(--ink);border-radius:100px;padding:10px 17px;cursor:pointer}.choice[aria-pressed="true"]{background:var(--purple);color:white;border-color:var(--purple)}.response{background:white;padding:20px 24px;border-radius:16px;border:1px dashed #a490b5;min-height:95px}.response p{margin:0}.response small{display:block;margin-top:6px;color:#75677f}.encourage{margin-top:23px}.encourage button{background:none;border:0;padding:0;border-bottom:1px solid var(--purple);color:var(--purple);cursor:pointer;font-weight:650}.encourage p{min-height:28px;margin:10px 0 0;font-size:15px}footer{max-width:1090px;padding:0 30px 35px;margin:auto;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#75677f}.preview{font-size:12px;border:1px solid var(--line);border-radius:20px;padding:3px 10px;display:inline-block;margin-bottom:18px}@media(max-width:720px){header{padding:20px 23px}.hero{grid-template-columns:1fr;margin:10px auto 35px;padding:20px 24px;gap:18px}.hero h1{letter-spacing:-2px;font-size:51px}.hero p{font-size:17px}.scene{min-height:405px}.scene:before{width:330px;height:330px}.sketch{width:290px}.bubble{top:8px;right:0;font-size:13px}.tiny-heart{top:90px}.star{bottom:0;left:10px}.letter{grid-template-columns:1fr;margin:50px auto;gap:24px;padding:0 25px}.letter .stamp{width:95px;height:95px;font-size:13px}.letter h2{font-size:29px}.support{padding:0 20px;margin-bottom:45px}.support-inner{padding:28px 22px}.support h2{font-size:31px}.choice{font-size:14px;padding:9px 13px}.response{padding:17px}footer{flex-direction:column;gap:5px;padding:0 25px 25px}.strip{font-size:14px}.hero .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.letter-page .letter{margin-top:32px}

.qr-section{max-width:620px;margin:0 auto 60px;padding:0 24px}.payment-qr{display:block;width:100%;height:auto;border-radius:18px}.letter-page .letter{margin-bottom:24px}
.qr-section{max-width:520px;padding:0 24px;margin:18px auto 65px}.qr-card{position:relative;text-align:center;background:#f1eafa;border:2px solid var(--ink);border-radius:26px;padding:36px 28px 22px;box-shadow:7px 8px 0 #f2cee0}.qr-tape{position:absolute;top:-15px;left:calc(50% - 49px);width:98px;height:29px;background:#ffe8a3e8;transform:rotate(-5deg)}.qr-spark{position:absolute;right:19px;top:12px;font-size:31px;color:var(--purple)}.qr-card h2{font-size:25px;line-height:1.35;margin:8px 0 10px;letter-spacing:-.5px}.qr-subtitle{font-size:14px;margin:0 0 21px;color:#685878}.qr-code{background:white;border-radius:18px;max-width:310px;margin:auto;padding:5px;box-shadow:0 0 0 1px #dfd2ec}.qr-code svg{display:block;width:100%;height:auto;border-radius:12px}.qr-account{display:flex;flex-direction:column;gap:3px;margin:19px 0 0}.qr-account>span:first-child{font-weight:750;color:var(--purple);font-size:17px}.qr-account strong{font-size:18px}.account-number{font-size:21px;font-variant-numeric:tabular-nums;letter-spacing:1px}.qr-thanks{font-size:13px;color:#776080;margin:18px 0 0}@media(max-width:480px){.qr-card{padding:32px 17px 22px}.qr-card h2{font-size:22px}.qr-subtitle{font-size:13px}.qr-section{padding:0 22px}}
