#contact.ending-letter{position:relative;isolation:isolate;width:100%;min-height:100svh;margin:0;padding:65px 7.5%;display:flex;align-items:center;background:#e7f4f8 url('../public/media/ending/spring-water-v2.png') center/cover no-repeat;color:#345a67;touch-action:pan-y;scroll-margin-top:0}
#contact.ending-letter>canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-1;pointer-events:none}#contact.ending-letter>[data-water-details]{z-index:0}#contact.ending-letter.fallback>[data-water-surface]{opacity:0}
#contact .ending-copy{position:relative;z-index:1;width:55%;max-width:690px;min-width:0}#contact .ending-thanks{font-size:0;margin:0 0 32px;padding:0;line-height:1}#contact .ending-hand{display:block;width:100%;height:auto;object-fit:contain}#contact .thanks-hand{max-width:535px;aspect-ratio:1581/259}
#contact .ending-prose{font-family:'Songti SC','SimSun',var(--sans);font-weight:400;font-size:18px;line-height:1.9;letter-spacing:.04em}#contact .ending-prose p{margin:0 0 12px}#contact .ending-prose p:last-child{margin:0}
#contact .ending-wish{width:90%;max-width:510px;margin:34px 0 37px 22px;line-height:1;font-size:0}#contact .wish-hand{aspect-ratio:1892/243}
#contact .ending-contact{border-top:1px solid #52757f28;padding-top:20px;font:normal 14px/1.9 var(--sans);max-width:560px}#contact .ending-contact h3{font-size:14px;font-weight:500;letter-spacing:.1em;margin:0 0 9px}#contact .ending-contact-row{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;margin:4px 0}#contact .ending-contact-row a{font-size:15px;letter-spacing:.025em}#contact .ending-contact-row small{font-size:12px;color:#597784;margin-left:7px;white-space:nowrap}#contact .ending-copy-button{background:none;border:0;color:#64838d;font-size:11px;padding:3px 8px;margin-left:8px;min-height:30px;cursor:pointer}#contact .ending-copy-button:hover{color:#294f5c}
#contact .ending-actions{display:flex;gap:30px;margin-top:19px;align-items:center}#contact .ending-actions a{display:inline-flex;align-items:center;min-height:38px;font-size:14px;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:#6f909a7a;text-underline-offset:6px}#contact .ending-actions a:hover{color:#173f50}#contact a:focus-visible,#contact button:focus-visible{outline:2px solid #547e8e;outline-offset:5px}#contact .ending-status{position:absolute;left:0;bottom:-24px;font-size:11px;color:#4c6f7e;min-height:18px}#contact .ending-masks{position:absolute;pointer-events:none;width:0;height:0}
@media(min-width:1001px) and (max-height:800px){#contact.ending-letter{padding-top:40px;padding-bottom:40px}#contact .thanks-hand{max-width:490px}#contact .ending-thanks{margin-bottom:25px}#contact .ending-prose{font-size:17px}#contact .ending-wish{margin-top:27px;margin-bottom:28px;max-width:470px}#contact .ending-contact{padding-top:16px}}
@media(max-width:1000px){#contact.ending-letter{padding:65px 7%;min-height:100svh}#contact .ending-copy{width:70%}#contact .ending-prose{font-size:17px}}
@media(max-width:600px){#contact.ending-letter{padding:64px 7% 68px;min-height:100svh;align-items:center}#contact.ending-letter::after{content:'';position:absolute;inset:0;background:#f2fafb52;z-index:0;pointer-events:none}#contact .ending-copy{width:100%;max-width:none}#contact .ending-thanks{margin-bottom:28px}#contact .ending-prose{font-size:16px;line-height:1.9;letter-spacing:0}#contact .ending-wish{width:96%;margin:33px 0 33px 8px}#contact .ending-contact{font-size:13px;padding-top:21px}#contact .ending-contact-row a{font-size:14px}#contact .ending-contact-row small{font-size:11px;margin-left:4px}#contact .ending-copy-button{margin-left:3px;padding:5px 6px}#contact .ending-actions{margin-top:18px;gap:26px}#contact .ending-contact-row{row-gap:0}}
@media(prefers-reduced-motion:reduce){#contact.ending-letter *{scroll-behavior:auto}}
