:root{--gift-red:#8f2d2d}
*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 50% 25%,#fffdf9 0,#f8f5ef 60%,#f0e7dc 100%);color:#4a3b35}button,input{font:inherit}[hidden]{display:none!important}.gift-shell{width:min(100%,1120px);min-height:100vh;margin:0 auto;padding:0 clamp(22px,6vw,74px);display:flex;flex-direction:column}.gift-top{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #8f2d2d20;color:#9b8e86;font-size:10px;letter-spacing:.17em;text-transform:uppercase}.monogram{color:#8f2d2d;font:italic 24px/1 PPEditorialNew,Georgia,serif;letter-spacing:-.1em;text-decoration:none}.monogram span{font-size:17px}.lock-screen{position:relative;flex:1;min-height:650px;padding:72px 12px 96px;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;text-align:center}.lock-screen h1,.gift-content h1{margin:0;color:#8f2d2d;font:200 clamp(58px,10vw,108px)/.86 PPEditorialNew,Georgia,serif;letter-spacing:-.04em}.lock-screen h1 i,.gift-content h1 i{font-weight:200}.lock-screen>.intro,.gift-content>.intro{margin:28px 0 0;color:#77685f;font-size:13px;line-height:1.8}.unlock-form{width:min(100%,390px);margin-top:40px;text-align:left}.unlock-form label{display:block;margin-bottom:10px;color:#8f2d2d;font-size:9px;letter-spacing:.2em;text-transform:uppercase}.pass-row{display:flex;border-bottom:1px solid #bdaba1}.pass-row input{flex:1;min-width:0;padding:14px 5px;border:0;outline:0;background:transparent;color:#4a3b35;font-size:13px}.pass-row button{border:0;background:transparent;color:#8f2d2d;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.pass-row button span{margin-left:6px;font-size:17px}.form-hint{margin-top:13px;color:#aa9d94;font-size:10px}.form-hint b{color:#87776e;font-weight:400}.form-hint.error{color:#8f2d2d}.tiny-flower{position:absolute;right:12%;bottom:13%;color:#bd938b;font-size:30px;opacity:.54;transform:rotate(-15deg)}.gift-content{width:100%;padding:72px 0 80px;text-align:center;animation:giftArrive .7s ease both}.gift-content>.eyebrow{margin:0 0 20px}.gift-content h1{font-size:clamp(54px,9vw,88px)}.gift-content>.intro{margin-top:22px}.gift-record-room{margin:48px calc(clamp(22px,6vw,74px) * -1) 0;padding:52px clamp(24px,6vw,74px);min-height:430px;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:clamp(30px,5vw,68px)}.gift-record-room .collection-label{color:#c5b7a8;margin:0 0 23px}.gift-shelf{max-width:480px}.gift-shelf .record-shelf-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.gift-shelf .record-shelf-heading .eyebrow{margin:0}.gift-shelf .record-row{justify-content:flex-start;min-height:230px;align-items:flex-end;padding:18px 12px 0}.gift-shelf .record-sleeve{width:min(205px,72%);max-width:205px;flex:0 0 auto}.gift-shelf .record-sleeve img{box-shadow:0 8px 24px #0006}.gift-shelf .record-sleeve span{color:#d3c5b6;font-size:9px;letter-spacing:.08em}.gift-shelf .hint{margin-top:17px;color:#b5a89a;font-size:9px}.gift-record-room .record-player{width:100%;max-width:450px;justify-self:center}.gift-record-room .player-track{position:relative;z-index:1;text-align:center}.gift-record-room .player-status{min-height:14px;margin:9px 0 0;color:#968875;font-size:8px;letter-spacing:.06em;text-align:center}.gift-eject{position:relative;z-index:2;margin-top:10px;padding:5px 0;border:0;border-bottom:1px solid #b9a680;background:transparent;color:#b9a680;font-size:8px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.gift-eject span{margin-left:5px;font-size:12px}.gift-eject:disabled{opacity:.35;cursor:default}.note-tease{padding:58px 12px 44px}.note-rule{display:block;width:1px;height:35px;margin:0 auto 20px;background:#cdb6aa}.note-tease p{margin:0;color:#7a625a;font:italic 200 25px/1.35 PPEditorialNew,Georgia,serif}.note-tease button{margin-top:22px;padding:0 0 7px;border:0;border-bottom:1px solid #cdb6aa;background:none;color:#9b5a51;font-size:9px;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}.note-tease button span{margin-left:8px;font-size:13px}.letter{position:relative;max-width:640px;margin:0 auto;padding:clamp(28px,6vw,58px);border:1px solid #e5dbd0;background:#fffdf8;box-shadow:0 15px 45px #6d4c3710;text-align:left;animation:letterUnfold .7s cubic-bezier(.2,.8,.2,1) both}.letter-date{margin:0 0 27px;color:#a28d80;font-size:9px;letter-spacing:.17em;text-transform:uppercase}.letter-body{margin:0 0 19px;color:#61534b;font-size:13px;line-height:1.9}.signoff{margin:30px 0 0;color:#6d5750;font:13px/1.8 NeueMontreal,Arial,sans-serif}.signoff i{color:#8f2d2d;font:italic 200 23px/1.2 PPEditorialNew,Georgia,serif}.heart-mark{position:absolute;right:25px;bottom:15px;color:#a55c52;font-size:24px}.closing{margin:52px 0 0;color:#a4968e;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.closing span{margin-left:5px;color:#8f2d2d;font-size:13px}.gift-footer{min-height:62px;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #8f2d2d20;color:#aa9d94;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.gift-footer span:first-child{color:#8f2d2d;font:italic 15px PPEditorialNew,Georgia,serif;letter-spacing:0;text-transform:none}@keyframes giftArrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes letterUnfold{0%{opacity:0;transform:translateY(18px) scaleY(.9);transform-origin:top}100%{opacity:1;transform:none}}@media(max-width:760px){.gift-record-room{grid-template-columns:minmax(0,.8fr) minmax(290px,1.2fr);padding-block:42px}.gift-shelf .record-row{min-height:194px}.gift-shelf .record-sleeve{width:min(155px,80%)}.gift-record-room .record-player{min-height:340px}}@media(max-width:600px){.gift-top{height:64px}.lock-screen{min-height:calc(100svh - 126px);padding-bottom:70px}.gift-content{padding:54px 0}.gift-content h1{font-size:clamp(50px,13vw,72px)}.gift-content>.intro{font-size:12px}.gift-record-room{margin:38px -22px 0;padding:35px 22px 42px;grid-template-columns:1fr;gap:30px}.gift-shelf .record-row{min-height:150px;justify-content:center}.gift-shelf .record-sleeve{width:128px}.gift-record-room .record-player{min-height:340px}.gift-record-room .player-platter{width:210px;height:194px}.gift-record-room .record-player .vinyl{width:164px;height:164px;min-width:164px}.gift-record-room .record-player .tonearm{right:10%;top:12%}.note-tease{padding:46px 4px 34px}.note-tease p{font-size:23px}.gift-footer{font-size:8px}}@media(prefers-reduced-motion:reduce){.gift-content,.letter{animation-duration:.01ms!important}.record-player .vinyl.spinning{animation:none!important}}
.gift-top .brand{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.gift-top .brand img{width:44px;height:44px;object-fit:contain}.footer-mark img{width:30px;height:30px;object-fit:contain;display:block}.gift-record-room .record-player .vinyl{cursor:grab;touch-action:none}.gift-record-room .record-player .vinyl:active{cursor:grabbing}.gift-record-room .record-sleeve{touch-action:manipulation}
/* Gift-page cleanup: keep the real site player, but separate the shelf and deck. */
.gift-record-room{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,68px);background:#eee4d7;overflow:hidden}
.gift-record-room .record-collection{width:100%;min-width:0;max-width:450px;margin-inline:auto}
.gift-record-room .player-station{min-width:0;width:100%;max-width:450px;margin-inline:auto}
.gift-shelf .record-row{min-height:0;overflow:visible;justify-content:center;align-items:flex-end;padding:20px 8px 16px}
.gift-shelf .gift-sleeve-wrap{position:relative;flex:0 0 auto;width:min(205px,78%)}
.gift-shelf .record-sleeve{width:100%;max-width:none;transition:transform .28s,opacity .25s}
.gift-shelf .record-sleeve.picked{opacity:1;pointer-events:none;transform:none}
.flower-note-trigger{position:absolute;z-index:4;top:51%;left:68%;width:29px;height:29px;display:grid;place-items:center;padding:0;border:1px solid rgba(143,45,45,.3);border-radius:50%;background:rgba(248,245,239,.9);color:#8f2d2d;font-size:16px;line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(60,40,25,.13);transition:transform .25s,background .25s}
.flower-note-trigger:hover,.flower-note-trigger[aria-expanded=true]{transform:rotate(25deg) scale(1.08);background:#fffaf1}
.flower-note{position:relative;margin:8px 0 0;color:#8f2d2d;font:italic 200 15px/1.35 var(--editorial);text-align:center;animation:giftArrive .28s ease both}
.gift-record-room .record-player{min-width:0}
.gift-letter-section{width:min(100%,520px);margin:62px auto 0;text-align:center}
.gift-letter-section>.eyebrow{margin-bottom:9px}
.gift-letter-section>h2{margin:0;color:#8f2d2d;font:italic 200 clamp(30px,5vw,43px)/1.1 var(--editorial)}
.gift-letter-section .envelope-card{width:min(100%,350px);margin:22px auto 0}
.gift-letter-section .envelope-wrap{min-height:370px}
.gift-letter-section .envelope-letter{padding:21px 20px 18px}
.gift-letter-section .envelope-letter p{max-height:126px}
.gift-letter-section .envelope-body{max-width:320px}
@media(max-width:840px){.gift-record-room{grid-template-columns:minmax(0,1fr);gap:34px;padding:42px clamp(22px,5vw,48px)}.gift-record-room .record-collection,.gift-record-room .player-station{max-width:440px}.gift-record-room .record-player{max-width:440px}.gift-shelf .record-row{min-height:0}.gift-shelf .gift-sleeve-wrap{width:170px}}
@media(max-width:600px){.gift-record-room{margin:38px -22px 0;padding:32px 22px 38px;gap:27px}.gift-shelf .gift-sleeve-wrap{width:138px}.gift-shelf .record-row{padding:16px 6px 14px}.gift-record-room .record-player{min-height:340px}.gift-record-room .player-platter{width:210px;height:194px}.gift-record-room .record-player .vinyl{width:164px;height:164px;min-width:164px}.gift-record-room .record-player .tonearm{right:10%;top:12%}.gift-letter-section{margin-top:46px}.gift-letter-section .envelope-wrap{min-height:355px}.gift-footer span:last-child{text-align:right}}
.gift-sleeve-wrap.picked .flower-note-trigger{opacity:0;pointer-events:none}

/* Keep the original square cover visible beside the loaded vinyl. */
.gift-shelf .record-sleeve img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.gift-record-room .record-player .vinyl .vinyl-cover-image{position:relative!important;z-index:2!important;display:block!important;width:54px!important;height:54px!important;min-width:54px!important;object-fit:cover!important;visibility:visible!important;opacity:1!important;border-radius:50%;}
.gift-letter-section:not([hidden]){animation:giftArrive .55s ease both}
@media(prefers-reduced-motion:reduce){.gift-letter-section:not([hidden]){animation:none!important}}
