.anniversary-cover{display:block;margin:28px 0;overflow:hidden}.anniversary-cover img{width:100%;height:auto;transition:transform .7s}.anniversary-cover:hover img{transform:scale(1.025)}
.anniversary-bears{width:210px;max-width:100%;margin:25px auto;text-align:center}.anniversary-bears svg{width:100%;height:auto;overflow:visible}.anniversary-bears .hand{font-size:1.25rem;margin:0}.bear{transform-box:fill-box;transform-origin:50% 90%;animation:bear-sway 4s ease-in-out infinite}.bear-right{animation-direction:reverse}.bear-heart{transform-box:fill-box;transform-origin:center;animation:heart-beat 3s ease-in-out infinite}.floating-heart{animation:heart-float 4s ease-in-out infinite}.anniversary-entry .anniversary-bears{margin:25px 0;width:170px}
.trip-intro h1{font-size:clamp(3.5rem,7.2vw,7.2rem)}.trip-intro .anniversary-bears{margin-bottom:0}.trip-intro>p{max-width:620px}.trip-hero{max-width:1050px;margin:auto}.trip-photo{margin:0;min-width:0}.trip-photo button{border:0;background:#faf4f2;padding:0;width:100%;display:block;overflow:hidden;cursor:zoom-in}.trip-photo img{width:100%;height:auto;display:block;transition:transform .65s}.trip-photo button:hover img{transform:scale(1.02)}.trip-photo figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:18px 0 0}.trip-photo figcaption .hand{font-size:1.65rem}.trip-letter{max-width:740px;margin:85px auto}.trip-letter h2{font-size:clamp(2.8rem,5vw,4.6rem);margin:22px 0 30px}.trip-letter p{font-size:.95rem}.trip-letter .hand{font-size:2rem}.trip-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:55px 45px;align-items:start}.trip-portrait{grid-column:2;grid-row:1 / span 2}.trip-portrait img{aspect-ratio:1179/1800;object-fit:contain}.trip-grid .trip-photo:last-child{grid-column:1 / -1;width:80%;margin:0 auto}.trip-grid figcaption{display:block}.trip-grid figcaption span{display:block}.trip-grid figcaption .hand{margin-top:8px}.food-note{max-width:850px;margin:100px auto;padding:60px;background:repeating-linear-gradient(transparent,transparent 35px,#a90d2509 36px),#fcf7f5;border:1px solid var(--line);position:relative;transform:rotate(-1deg)}.food-note::before{content:'';width:115px;height:30px;background:#efdccaa8;position:absolute;top:-15px;left:calc(50% - 58px);transform:rotate(4deg)}.food-note h2{font-size:clamp(2.8rem,5vw,4.3rem);margin:25px 0}.food-note p{font-size:.95rem}.food-note>.hand{font-size:1.8rem;text-align:center}.trip-score{display:flex;align-items:center;justify-content:space-around;text-align:center;border-block:1px solid var(--line);gap:20px;margin:30px 0;padding:25px 0}.trip-score p{font:1.7rem var(--hand);margin:10px 0 0}.score-heart{font:2.6rem var(--serif);animation:heart-beat 3s infinite}.trip-ending{text-align:center;padding:0 0 100px;max-width:700px;margin:auto}.trip-ending h2{margin:25px 0}.trip-ending>p{font-size:.95rem}.trip-ending .action{margin-top:15px}
@keyframes bear-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes heart-beat{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes heart-float{0%,100%{transform:translateY(0);opacity:.8}50%{transform:translateY(-9px);opacity:1}}
@media(max-width:600px){.trip-intro{padding-bottom:40px}.trip-intro h1{font-size:3.5rem}.trip-photo figcaption{display:block}.trip-photo figcaption .hand{display:block;margin-top:7px;font-size:1.4rem}.trip-letter{margin:55px auto}.trip-grid{grid-template-columns:1fr;gap:35px}.trip-portrait{grid-column:auto;grid-row:auto;width:85%;margin:auto}.trip-grid .trip-photo:last-child{grid-column:auto;width:100%}.food-note{margin:65px auto;padding:35px 23px;transform:none}.trip-score{gap:10px}.trip-score p{font-size:1.45rem}.trip-ending{padding-bottom:65px}.anniversary-entry .anniversary-bears{margin-inline:auto}}
@media(prefers-reduced-motion:reduce){.bear,.bear-heart,.floating-heart,.score-heart{animation:none}.trip-photo img,.anniversary-cover img{transition:none}}
