
/* v8 · brand-faithful gift, responsive imagery, light interaction */
#difference .contrast-art {overflow:hidden;position:relative;isolation:isolate}
#difference .contrast-photo{filter:brightness(.73) saturate(.96);object-fit:cover;object-position:center;min-width:100%;min-height:100%;transition:transform .5s ease}
#difference .contrast-card:hover .contrast-photo{transform:scale(1.035)}
#difference .contrast-art>span,#difference .contrast-art>b,#difference .contrast-art>small{position:relative;z-index:2}
.care-visual img{object-fit:cover}
.gift-content .gift-letter{text-align:left;border:1px solid #f6c5a947;border-radius:28px;background:linear-gradient(145deg,#54315c99,#2c1a36);padding:clamp(24px,5vw,48px);margin:34px 0;box-shadow:0 18px 54px #160b2466}
.gift-letter-eyeline{color:#ffd889;letter-spacing:.18em;font-size:10px;font-weight:800}
.gift-letter p{max-width:760px;color:#fae7f1;font-size:clamp(14px,1.6vw,16px);line-height:1.95;margin:18px 0}
.gift-letter p strong{color:#ffd889}
.gift-letter .gift-letter-sign{font:700 clamp(24px,4vw,34px) Caveat,cursive;color:#f6c5a9;text-align:right;margin:27px 0 0}
.gift-story-heading{max-width:700px;text-align:left;margin:42px 0 15px}
.gift-story-heading h2{font-size:clamp(28px,4vw,42px);line-height:1.22;margin:0 0 10px}
.gift-story-heading h2 em{font-family:Caveat,cursive;font-size:1.25em;color:#f6c5a9;font-style:normal}
.gift-story-heading p{font-size:14px;line-height:1.7;color:#dfc9dc}
.gift-photo-grid-v8{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:21px 0 33px}
.gift-photo-grid-v8>.gift-photo-slot{aspect-ratio:.79;min-width:0;border:1px dashed #ffd88983;border-radius:22px;background:radial-gradient(circle at 25% 20%,#905d9454,#4b2d55 50%,#28182f 100%);padding:16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;text-align:left;position:relative;overflow:hidden;transition:border-color .2s,transform .2s}
.gift-photo-grid-v8>.gift-photo-slot:hover{border-color:#ffd889;transform:translateY(-2px)}
.gift-photo-icon{position:absolute;top:12%;left:50%;transform:translateX(-50%);font-size:clamp(30px,5vw,46px);color:#f6c5a96c;line-height:1}
.gift-photo-num{font-size:11px;color:#ffd889;letter-spacing:.13em}
.gift-photo-grid-v8 b{font-size:clamp(12px,1.5vw,15px);line-height:1.4;color:#fff1ea}
.gift-photo-grid-v8 small{font-size:10px;color:#d4bdce}
.gift-content .gift-song{background:linear-gradient(135deg,#6d4172 0%,#38203f 90%);border:1px solid #ffd88944;padding:clamp(20px,4vw,33px)}
.gift-song audio{display:block;width:100%;height:52px;margin:24px 0 5px;accent-color:#ffd889}
.gift-song h2{font-size:clamp(23px,3vw,31px);margin:12px 0 7px}
.gift-song p{font-size:13px;color:#ead3e4;margin:0}
.gift-voice p{font-family:Caveat,cursive;font-weight:600;font-size:clamp(23px,3vw,30px);line-height:1.35;color:#f6c5a9}
.gift-demo-caption{text-align:center;color:#beabc0;font-size:11px;line-height:1.7;max-width:670px;margin:34px auto 0}
@media(max-width:650px){.gift-photo-grid-v8{grid-template-columns:repeat(2,minmax(0,1fr))}.gift-photo-grid-v8>.gift-photo-slot{aspect-ratio:.88;grid-column:auto!important;padding:14px}.gift-photo-grid-v8>.gift-photo-slot:last-child{aspect-ratio:.88}.gift-content .gift-letter{border-radius:23px;margin:24px 0}.gift-photo-grid-v8 b{font-size:13px}.gift-content{padding-top:35px}.gift-story-heading{margin-top:31px}}
@media(max-width:350px){.gift-photo-grid-v8{gap:9px}.gift-photo-grid-v8>.gift-photo-slot{padding:11px}}
@media(prefers-reduced-motion:reduce){#difference .contrast-photo,.gift-photo-grid-v8>.gift-photo-slot{transition:none!important}}
/* Better image visibility in STORY/MOMENT cards; protect legibility with an even gradient. */
#difference .contrast-art .contrast-photo{opacity:.93;filter:brightness(.97) saturate(.96)}
#difference .contrast-art:before{background:linear-gradient(180deg,#24152f27 0%,#24152f5c 48%,#24152fd9 100%);z-index:0}
#difference .contrast-art>span,#difference .contrast-art>b,#difference .contrast-art>small{text-shadow:0 2px 10px #130a1bd9;z-index:2}