.personal-ending{min-height:40svh;display:flex;flex-direction:column;align-items:center;gap:32px;padding:30px 24px 100px}.personal-ending .button{max-width:270px}.gifts{max-width:1060px;margin:0 auto;padding:120px 40px 0;animation:arrive 1s ease both}.gifts-intro{max-width:680px;margin:0 auto 80px;text-align:center}.gifts-intro>p{font:25px/1.55 var(--serif);color:#d2c4c7;margin:25px 0}.gifts-intro p.gift-aside{font:13px/1.85 var(--sans);color:var(--muted);max-width:560px;margin:25px auto}.category-heading{display:flex;gap:18px;align-items:baseline;margin:0 0 25px}.category-number{font-size:10px;letter-spacing:.14em;color:var(--rose)}.category-heading h3{font:400 32px/1.2 var(--serif);margin:0 0 9px}.category-heading p{color:var(--muted);font-size:12px;margin:0}.gift-category{margin-bottom:55px}.gift-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:start}.gift-card{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:linear-gradient(145deg,#30202b99,#171319e8);transition:border-color .3s,background .3s}.gift-card:hover,.gift-card.expanded{border-color:#b0848c88;background:linear-gradient(145deg,#3b2835b3,#19131bf2)}.gift-toggle{width:100%;aspect-ratio:1;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:23px;padding:25px 16px 22px;border:0;background:none;color:var(--text);text-align:center}.gift-symbol{font-size:49px;line-height:1.2;filter:saturate(.6);transition:transform .4s;display:block}.gift-toggle:hover .gift-symbol{transform:translateY(-5px) rotate(-5deg)}.gift-label{font-size:13px;line-height:1.4;max-width:175px}.gift-plus{position:absolute;top:11px;right:15px;color:var(--rose);font-size:19px;transition:transform .3s}.expanded .gift-plus{transform:rotate(45deg)}.gift-form{padding:0 16px 20px;animation:arrive .4s ease}.gift-form label{display:block;font-size:12px;color:#cab8c1;margin:0 0 10px}.gift-form textarea{display:block;resize:vertical;min-height:100px;width:100%;padding:12px;border:1px solid #72596766;background:#100c1280;color:var(--text);border-radius:3px;font-size:16px;line-height:1.5}.gift-form textarea::placeholder{color:#998a94;font-size:13px}.gift-form .button{width:100%;margin-top:13px;padding:13px 10px;gap:15px;min-height:48px}.form-status{font-size:12px;line-height:1.65;color:#c5b5c0;margin:14px 0 0}.form-status:empty{display:none}button:disabled{opacity:.5;cursor:wait}footer{margin-top:100px;padding:35px 0 max(35px,env(safe-area-inset-bottom));text-align:center;border-top:1px solid var(--line);font:italic 20px var(--serif);color:var(--muted)}footer span{color:var(--rose);margin-left:6px}
@media(max-width:700px){.gifts{padding:90px 22px 0}.gifts-intro{margin-bottom:55px}.gifts h2{font-size:46px}.gifts-intro>p{font-size:24px}.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-heading{gap:12px}.category-heading h3{font-size:29px}.category-heading p{font-size:12px;line-height:1.6}.gift-toggle{padding:18px 10px;gap:16px}.gift-label{font-size:13px;min-height:36px;display:flex;align-items:center}.gift-symbol{font-size:43px}.gift-form{padding:0 12px 16px}.gift-form textarea{padding:9px}.gift-form .button{font-size:13px}.gift-card.expanded{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;align-items:center}.gift-card.expanded .gift-toggle{aspect-ratio:auto;min-height:200px}.gift-card.expanded .gift-form{padding:22px 16px 22px 0}.gift-category{margin-bottom:43px}}
@media(max-height:550px) and (orientation:landscape){.story-slide{font-size:23px}.story-slide.long{font-size:19px;max-width:850px}.story-stage{padding:30px 45px 50px}.slide-count{bottom:16px}.hero{padding:85px 24px 90px}.hero h1{font-size:60px}.hero-note{font-size:22px}.little-star{margin-top:10px}.hero .eyebrow{margin-bottom:10px}.scroll-cue{bottom:4px}.scroll-line{height:18px}}
@media(prefers-reduced-motion:reduce){.story-stage{height:auto;position:static;display:block;padding:0 24px}.story{height:auto!important}.story-slide{opacity:1!important;transform:none!important;min-height:85svh;padding:70px 0;display:grid;place-content:center;margin:0 auto;pointer-events:auto}.slide-count{display:none}.spark{display:none}}
.floating-photo{transition:opacity 1.5s ease}
