:root{--wine:#72213d;--wine-dark:#54162d;--rose:#d95886;--pink:#f2a1bd;--gold:#e6b755;--cream:#fff9f4;--text:#552b3b;--spotify-lines:#fff;--serif:Georgia,'Times New Roman',serif;--sans:'Avenir Next',Avenir,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff6f6;color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b86d0e;outline-offset:5px}button:disabled{cursor:default}svg{display:block}svg:not(.svg-defs){fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--wine)}h2{font-size:clamp(34px,3.8vw,53px);line-height:1.15;letter-spacing:-1.6px}p+p{margin-top:15px}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:10px;left:15px;transform:translateY(-200%);z-index:100;background:white;padding:10px}.skip-link:focus{transform:none}
.site-header{height:104px;max-width:1340px;margin:auto;display:flex;align-items:center;gap:38px;padding:0 56px;position:relative;z-index:10}.brand{width:245px;flex-shrink:0}.brand img{width:100%;height:auto}.site-header nav{display:flex;gap:30px;margin-left:auto;font-size:14px}.site-header nav a{text-decoration:none;border-bottom:1px solid transparent;padding:5px 0}.site-header nav a:hover{border-color:var(--rose)}.motion-toggle{display:flex;align-items:center;gap:9px;color:var(--wine);border:1px solid #e9cad3;background:#fff9f8a8;border-radius:30px;font-size:12px;padding:9px 14px;min-height:40px}.motion-icon{font-family:Arial,sans-serif;font-size:16px;line-height:1}.motion-toggle:hover{background:#fce5ec}
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 77% 45%,#f7d8e3 0,transparent 45%),linear-gradient(120deg,#fff7f4 20%,#ffecef 70%,#fce3eb);min-height:650px}.hero-inner{max-width:1228px;margin:auto;position:relative;min-height:705px;display:grid;grid-template-columns:1fr 1fr;align-items:center}.hero-copy{padding:38px 0 75px 32px;position:relative;z-index:3}.eyebrow{display:flex;align-items:center;gap:16px;color:var(--rose);text-transform:uppercase;letter-spacing:5px;font-size:12px;font-weight:500;margin-bottom:24px}.ribbon{width:27px;height:39px}.eyebrow-line{height:1px;background:var(--gold);width:88px}.hero h1{font-size:clamp(64px,6.2vw,94px);line-height:.99;letter-spacing:-4.5px;margin-left:-3px}.hero h1 em{font-weight:400;color:var(--rose)}.hero-description{max-width:390px;font-size:18px;line-height:1.6;margin-top:25px}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:50px;border-radius:50px;text-decoration:none;font-size:14px;font-weight:500;padding:13px 24px;transition:transform .25s,box-shadow .25s,background .25s}.button svg{width:21px;height:21px;stroke-width:1.7}.button:hover{transform:translateY(-3px);box-shadow:0 10px 26px #71203c20}.button-wine{background:var(--wine);color:#fff9f8;margin-top:27px}.button-wine:hover{background:var(--wine-dark)}.hero-note{font-size:12px;color:#8d6571;margin-top:22px;display:flex;align-items:center;gap:8px;letter-spacing:.4px}.tiny-spark{color:#bc8d39;font-size:20px}.hero-grain{position:absolute;inset:0;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.18' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none;z-index:4}.hero-bottom{position:absolute;bottom:-80px;left:-8%;width:116%;height:132px;background:#fff6f6;border-radius:50% 50% 0 0/70% 70% 0 0;z-index:5;transform:rotate(-1.8deg)}
.avatar-stage{position:relative;width:100%;height:680px;align-self:end;isolation:isolate}.avatar-stage canvas,.avatar-stage>.avatar-fallback{position:absolute;bottom:4px;left:-5%;width:110%;height:100%;object-fit:contain;object-position:center bottom;z-index:3}.avatar-stage canvas{opacity:0}.avatar-stage.canvas-ready canvas{opacity:1}.avatar-stage.canvas-ready>.avatar-fallback{display:none}.petal-halo{position:absolute;inset:2% -4% 4% -5%;z-index:0}.petal-halo i{position:absolute;display:block;width:48%;height:74%;bottom:3%;left:20%;border:1px solid #d87e817a;border-radius:90% 0 85% 0;background:linear-gradient(135deg,#ef9eab82,#d8568b50);transform:rotate(-24deg);transform-origin:70% 90%;animation:petal-sway 12s ease-in-out infinite}.petal-halo i:nth-child(2){left:50%;height:72%;width:40%;transform:rotate(4deg);background:linear-gradient(120deg,#ed79966e,#a7466952);animation-delay:-4s}.petal-halo i:nth-child(3){left:8%;height:60%;width:42%;transform:rotate(-53deg);background:#f3bcc870;animation-delay:-8s}.petal-halo i:nth-child(4){left:29%;height:88%;width:42%;transform:rotate(-7deg);background:linear-gradient(160deg,#f9ddb94d,#f4bbc5a0);border-color:#d9a65280;z-index:-1}.hero-flower{position:absolute;z-index:2;color:#ce6b8e;width:200px;height:300px}.flower-left{bottom:15px;left:-85px;transform:rotate(-55deg)}.flower-right{right:-70px;top:40px;transform:rotate(12deg);color:#ce7788}.avatar-aura{position:absolute;left:12%;right:0;bottom:0;height:30%;background:#d4789820;border-radius:50%;filter:blur(35px)}.moment-note{position:absolute;bottom:90px;left:0;z-index:4;background:#fff8f2db;border:1px solid #fff;border-radius:30px;padding:10px 19px;backdrop-filter:blur(10px);font-size:12px;box-shadow:0 10px 30px #8b324610;animation:note-float 7s ease-in-out infinite}.live-dot{display:inline-block;width:6px;height:6px;background:var(--rose);border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px #f7cbd940}.floating-petal{position:absolute;width:23px;height:40px;border-radius:90% 0 90% 0;background:linear-gradient(50deg,#df749b55,#f7c3d3c9);z-index:4;animation:petal-float 10s ease-in-out infinite;pointer-events:none}.petal-a{left:2%;top:30%;rotate:-40deg}.petal-b{right:6%;top:68%;width:14px;height:27px;animation-delay:-6s;rotate:45deg}.petal-c{right:3%;top:13%;width:12px;height:24px;animation-delay:-3s;rotate:15deg}.hero-orbit{position:absolute;border:1px solid #e3b96745;border-radius:50%;pointer-events:none}.orbit-one{width:900px;height:900px;right:-200px;top:-100px;transform:rotate(-25deg) scaleX(.65)}.orbit-two{width:780px;height:780px;right:-190px;top:10px;transform:rotate(40deg) scaleX(.75)}
.section{max-width:1160px;margin:auto;padding-left:42px;padding-right:42px}.message-section{position:relative;z-index:6;padding-top:45px;padding-bottom:64px}.letter{position:relative;overflow:hidden;min-height:350px;background:linear-gradient(130deg,#fffaf3,#fff8f4 70%,#ffe9ec);border-radius:52% 43% 42% 20%/9% 9% 13% 15%;padding:48px 80px 43px 260px;border:1px solid #f3d2c99e;box-shadow:0 10px 35px #ae6e8410}.letter::before{content:'';position:absolute;inset:14px;border:1px solid #d9ac5a70;border-radius:44% 40% 47% 25%/16% 11% 11% 17%;pointer-events:none}.letter-flower{position:absolute;width:245px;height:310px;left:4px;bottom:9px;transform:rotate(-28deg);color:#df7395}.letter-content{position:relative;z-index:2}.section-kicker{display:block;text-transform:uppercase;letter-spacing:3px;font-size:10px;font-weight:600;color:#ab5370;margin-bottom:15px}.letter h2{margin-bottom:23px}.letter p{font-size:17px;line-height:1.7}details{margin-top:23px}summary{display:inline-flex;align-items:center;gap:14px;cursor:pointer;list-style:none;font-size:14px;color:#b93167;padding-bottom:3px;border-bottom:1px solid #d991ac}summary::-webkit-details-marker{display:none}summary svg{width:20px;height:20px;stroke-width:1.8;transition:transform .25s}details[open] summary svg{transform:rotate(180deg)}.letter-expanded{padding-top:28px;animation:fade-up .4s ease-out}.letter-expanded .letter-highlight{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.4;color:var(--wine);padding:12px 0}.source-link{display:inline-block;font-size:12px;margin-top:20px;color:#8e4b65;text-underline-offset:4px}
.music-section{padding-bottom:67px}.section-heading{text-align:center;margin-bottom:34px}.section-heading h2{letter-spacing:-1.8px}.section-heading>p{margin-top:18px;font-size:16px;color:#87616e}.mobile-break{display:none}.music-card{position:relative;isolation:isolate;border-radius:44px 44px 44px 14px;background:linear-gradient(125deg,#852b4c,#671a36 60%,#5b1730);padding:40px 48px;display:grid;grid-template-columns:222px 1fr 90px;gap:38px;align-items:center;overflow:hidden;box-shadow:0 20px 48px #6c1e3e1a;color:#fff5f6}.playlist-cover{aspect-ratio:1;position:relative;isolation:isolate;overflow:hidden;border-radius:14px;box-shadow:0 8px 30px #310b2545;background:linear-gradient(150deg,#efc0c5 0%,#db7899 34%,#ac3867 35%,#6f2545 100%);border:1px solid #ffffff50;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:20px}.playlist-cover img{width:58px;margin-bottom:14px;z-index:2}.cover-name{font-family:var(--serif);font-size:28px;line-height:1.06;text-align:center;position:relative;z-index:2;text-shadow:0 2px 12px #70213d50}.cover-name em{font-size:21px}.cover-small{font-size:5px;letter-spacing:2px;position:absolute;bottom:16px}.cover-petal{position:absolute;width:120px;height:205px;border-radius:90% 0 90% 0;border:1px solid #e6b654aa;z-index:-1;background:linear-gradient(100deg,#b23f6d44,#f6c4c578)}.cp-one{left:-55px;bottom:-30px;rotate:-35deg}.cp-two{right:-60px;top:25px;rotate:12deg}.cp-three{bottom:-120px;left:85px;rotate:70deg}.music-copy{position:relative;z-index:2}.spotify-word{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:600;margin-bottom:15px}.spotify-word svg{width:24px;height:24px;--spotify-lines:#6e203b}.music-copy h3{color:#fff2f2;font-size:clamp(30px,3vw,44px);line-height:1.1;letter-spacing:-.8px}.music-copy p{font-size:12px;color:#eac0cf;margin:14px 0 20px}.button-rose{background:#f7b2ca;color:var(--wine-dark);--spotify-lines:#f7b2ca;min-height:46px;padding:11px 23px}.button-rose:hover{background:#ffd0df}.play-circle{width:82px;height:82px;border:none;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#f4b1ca,#da6d98);color:white;position:relative;z-index:2;box-shadow:0 0 0 12px #ffbfd509;transition:transform .3s,box-shadow .3s}.play-circle svg{width:40px;height:40px;margin-left:-4px}.play-circle:hover{transform:scale(1.07);box-shadow:0 0 0 17px #ffbfd515}.music-line{position:absolute;width:720px;height:400px;right:-180px;top:40px;z-index:0;border:1px solid #e7ad5c70;border-radius:45%;transform:rotate(-30deg);pointer-events:none}.music-line-two{right:-150px;top:80px;border-color:#df719784;transform:rotate(-20deg)}.music-caption{font-family:var(--serif);font-style:italic;text-align:center;font-size:19px;color:#a36c80;margin-top:28px}.player-panel{margin:24px 0 0;border:1px solid #edd1dc;border-radius:24px;background:#fffbfa;padding:18px}.player-panel[hidden]{display:none}.player-toolbar{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:12px;color:var(--wine)}.player-toolbar button{border:0;background:none;color:var(--wine);font-size:12px;padding:5px 10px}.player-panel iframe{width:100%;height:352px;border:0;border-radius:12px;display:block}.player-panel>p{font-size:12px;color:#875a6e;margin-top:12px}
.care-section{padding-bottom:40px}.care-inner{position:relative;display:flex;align-items:center;gap:36px;padding:42px 70px;border-top:1px solid #efd2db;border-bottom:1px solid #efd2db;background:radial-gradient(ellipse at 80% 40%,#f9dce766,transparent 65%);overflow:hidden}.care-ribbon{width:78px;height:115px;flex-shrink:0;color:#de719d;filter:drop-shadow(0 8px 10px #ce6c9020)}.care-inner h2{font-size:43px;line-height:1.12}.care-inner h2 br{display:none}.care-inner p{font-size:14px;margin-top:15px;color:#8b5f72}.care-inner .section-kicker{font-size:9px;letter-spacing:2px;margin-bottom:10px}.care-flower{position:absolute;right:5px;bottom:-30px;rotate:20deg;height:250px;width:180px;color:#df88a376;z-index:-1}footer{text-align:center;padding:20px 20px 0;position:relative;overflow:hidden}footer p{font-size:13px;margin-bottom:20px}footer>a{display:block;width:235px;margin:auto}footer img{width:100%;height:auto}footer>span{display:block;font-size:10px;color:#9b7584;letter-spacing:1.5px;margin:23px auto 40px}.footer-line{height:7px;background:linear-gradient(90deg,var(--gold),var(--pink),var(--wine));width:calc(100% + 40px);margin-left:-20px}.reveal{opacity:1;transform:none}.reveal{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
@keyframes petal-sway{0%,100%{translate:0 0;rotate:-1deg}50%{translate:1px -7px;rotate:1.2deg}}@keyframes petal-float{0%,100%{translate:0 0;transform:rotate(-6deg)}50%{translate:7px -20px;transform:rotate(12deg)}}@keyframes note-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes avatar-breathe{0%,100%{transform:scale(1) rotate(-.25deg)}50%{transform:scale(1.005,1.008) rotate(.25deg)}}@keyframes fade-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused!important}body.motion-paused .reveal{transition:none}.motion-paused{scroll-behavior:auto}
@media(min-width:1500px){.hero-inner{max-width:1300px}.hero-copy{padding-left:48px}.hero{min-height:760px}.hero-inner{min-height:760px}.avatar-stage{height:735px}}
@media(max-width:1100px){.site-header{padding:0 32px;gap:24px;height:90px}.brand{width:220px}.site-header nav{gap:20px}.motion-label{display:none}.motion-toggle{width:40px;justify-content:center;padding:8px}.hero-inner{min-height:650px;padding:0 32px}.hero-copy{padding-left:0}.hero h1{font-size:78px}.avatar-stage{height:620px}.hero-description{font-size:16px;max-width:335px}.letter{padding:42px 48px 40px 210px}.letter-flower{width:205px}.music-card{grid-template-columns:185px 1fr 70px;gap:26px;padding:32px}.play-circle{width:66px;height:66px}.care-inner{padding:34px 32px}.care-inner h2{font-size:36px}.section{padding-left:32px;padding-right:32px}}
@media(max-width:760px){html{scroll-padding-top:25px}.site-header{height:80px;padding:0 22px}.brand{width:205px}.site-header nav{display:none}.motion-toggle{margin-left:auto}.hero-inner{padding:0 24px;min-height:590px;grid-template-columns:1fr 1fr;align-items:start}.hero-copy{padding:24px 0 90px;width:60vw;z-index:5;pointer-events:none}.hero-copy a{pointer-events:auto}.hero h1{font-size:clamp(49px,8.9vw,68px);letter-spacing:-2.7px;max-width:58vw}.eyebrow{font-size:9px;letter-spacing:3px;gap:11px;margin-bottom:21px}.ribbon{width:20px;height:28px}.eyebrow-line{width:40px}.hero-description{max-width:45vw;font-size:14px;line-height:1.6;margin-top:18px}.hero .button{font-size:12px;min-height:43px;padding:10px 17px;margin-top:21px;gap:8px}.hero-note{font-size:10px;margin-top:18px;gap:5px;max-width:70vw}.hero-note .tiny-spark{font-size:16px}.avatar-stage{position:absolute;width:69%;height:500px;right:-8%;bottom:22px;z-index:2}.avatar-stage canvas,.avatar-stage>.avatar-fallback{height:100%;width:110%;left:-5%}.hero-bottom{bottom:-91px;height:137px}.petal-halo{inset:0 -9% 0 -10%}.flower-left{left:-40px;width:150px;height:230px;bottom:10px}.flower-right{right:7%;top:20px;width:120px;height:200px}.floating-petal{width:12px;height:23px}.petal-a{left:6%;top:22%}.petal-b{right:10%;top:60%}.moment-note{font-size:10px;bottom:35px;left:14%;padding:8px 12px}.hero-orbit{opacity:.6}.orbit-one{width:600px;height:600px;top:-40px;right:-280px}.orbit-two{display:none}.message-section{padding-top:23px;padding-bottom:42px}.section{padding-left:20px;padding-right:20px}.letter{padding:35px 26px 32px 92px;border-radius:35px 40px 28px 15px;min-height:300px}.letter::before{inset:10px;border-radius:35px 40px 28px 15px}.letter-flower{width:140px;height:210px;left:-45px;bottom:20px;transform:rotate(-22deg);opacity:.8}.section-kicker{font-size:8px;letter-spacing:2px;margin-bottom:12px}.letter h2{font-size:30px;letter-spacing:-1.1px;margin-bottom:16px}.letter p{font-size:14px;line-height:1.7}.letter p+p{margin-top:13px}summary{font-size:12px;gap:8px}details{margin-top:19px}.letter:has(details[open]){padding-left:27px}.letter:has(details[open]) .letter-flower{opacity:.13}.letter-expanded .letter-highlight{font-size:23px}.letter-expanded{padding-top:21px}.section-heading{margin-bottom:24px}.section-heading h2{font-size:34px;line-height:1.12;letter-spacing:-1.2px}.mobile-break{display:block}.section-heading>p{font-size:13px;margin:13px 20px 0}.music-card{border-radius:28px 28px 28px 9px;padding:25px 20px;grid-template-columns:115px 1fr;gap:19px}.playlist-cover{border-radius:10px;padding:14px}.playlist-cover img{width:34px;margin-bottom:7px}.cover-name{font-size:18px}.cover-name em{font-size:12px}.cover-small{font-size:3px;letter-spacing:.8px;bottom:8px}.cover-petal{width:80px;height:140px}.cp-one{left:-40px;bottom:-25px}.cp-two{right:-45px;top:12px}.cp-three{bottom:-95px;left:60px}.music-copy h3{font-size:25px;letter-spacing:-.7px}.spotify-word{font-size:12px;margin-bottom:10px;gap:5px}.spotify-word svg{width:20px;height:20px}.music-copy p{display:none}.music-copy .button{font-size:11px;padding:8px 13px;min-height:37px;gap:6px;margin-top:16px;white-space:nowrap}.music-copy .button svg{width:17px;height:17px}.music-copy .button>span{display:none}.play-circle{position:absolute;width:35px;height:35px;top:20px;right:19px;box-shadow:none}.play-circle svg{width:21px;height:21px;margin-left:-2px}.music-caption{font-size:15px;margin-top:22px}.music-section{padding-bottom:40px}.care-section{padding-bottom:25px}.care-inner{gap:20px;padding:27px 9px 30px}.care-ribbon{width:50px;height:80px}.care-inner h2{font-size:29px;letter-spacing:-1px}.care-inner h2 br{display:block}.care-inner p{font-size:12px;line-height:1.6;margin-top:13px;max-width:230px}.care-inner .section-kicker{font-size:8px;letter-spacing:1.5px}.care-flower{height:200px;width:140px;right:-30px}.player-panel{padding:13px}.player-panel iframe{height:352px}footer{padding-top:12px}footer>a{width:205px}footer p{font-size:12px;margin-bottom:18px}footer>span{font-size:9px;margin-bottom:30px}}
@media(max-width:390px){.hero-inner{min-height:565px;padding-left:20px}.hero h1{font-size:49px}.hero-description{font-size:12px;max-width:45vw}.hero-copy{width:66vw}.avatar-stage{width:72%;height:450px;right:-11%;bottom:15px}.hero .button{font-size:11px;padding:9px 12px}.hero-note{font-size:9px}.hero-note .tiny-spark{display:none}.letter{padding-left:70px;padding-right:20px}.letter h2{font-size:28px}.music-card{padding:23px 15px;grid-template-columns:97px 1fr;gap:15px}.music-copy h3{font-size:23px}.play-circle{right:13px;width:30px;height:30px}.music-copy .button{font-size:10px;padding:8px 10px}.section-heading h2{font-size:30px}.care-inner{gap:15px}.care-inner h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}.js-ready .reveal:not(.is-visible){opacity:1;transform:none}}
/* Compact composition for the mobile QR-code journey. */
@media(max-width:760px){
 .hero{min-height:0}.hero-inner{min-height:510px}.hero-copy{padding-top:24px;padding-bottom:65px}
 .hero h1{font-size:clamp(42px,8.9vw,63px);letter-spacing:-2.4px}
 .avatar-stage{width:60%;height:450px;right:-9%;top:30px;bottom:auto}
 .avatar-stage canvas,.avatar-stage>.avatar-fallback{mask-image:linear-gradient(to bottom,#000 82%,transparent 99%)}
 .hero-description{font-size:13px;max-width:44vw}.hero .button{font-size:11px;padding:10px 14px}
 .moment-note{left:-8%;bottom:34px;font-size:9px}.petal-halo{inset:0 -9% 0 -8%}
 .hero-note{font-size:9px}.hero-bottom{bottom:-94px}.message-section{padding-top:17px}
}
@media(max-width:390px){.hero-inner{min-height:490px}.hero h1{font-size:42px}.avatar-stage{width:61%;height:435px;right:-11%;top:17px}.hero-description{font-size:12px}.hero-copy{padding-bottom:50px}}
/* Full letter: every paragraph is available without expanding a control. */
.letter{padding:54px 90px;border-radius:40px 40px 36px 14px}
.letter::before{border-radius:32px 32px 29px 13px}
.letter-content{max-width:740px;margin:auto}.letter-flower{opacity:.17;width:285px;height:370px;left:-95px;bottom:50px}
.full-message{margin-top:16px}.full-message .letter-highlight{font-family:var(--serif);font-size:30px;font-style:italic;line-height:1.35;color:var(--wine);margin:29px 0;padding:15px 0 15px 24px;border-left:2px solid #dfb460}
.full-message p{margin-bottom:19px}.full-message p:last-of-type{margin-top:23px}
.avatar-fallback{display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.avatar-sprite{height:100%;width:100%;overflow:hidden}
.avatar-fallback.rest-pose .avatar-sprite image{transform:translate(-362px,-543px)}
@media(prefers-reduced-motion:reduce){.avatar-sprite image{transform:translate(-362px,-543px)}}
.kiss-button{display:flex;align-items:center;gap:8px;color:var(--wine);font-family:var(--sans);line-height:1.3;cursor:pointer;min-height:40px;transition:background .2s,box-shadow .2s;z-index:7}
.kiss-button>span{font-size:21px;color:#c94778;line-height:1}
.kiss-button:hover{background:#fff1f5;box-shadow:0 7px 24px #8b324620}.kiss-button[hidden]{display:none}.kiss-button:disabled{cursor:default}
.kiss-hearts{position:absolute;inset:0;z-index:6;pointer-events:none}
.kiss-hearts>span{position:absolute;left:36%;top:31%;font-size:26px;line-height:1;color:#d25180;opacity:0;text-shadow:0 3px 13px #ffffff80}
.sending-kiss .kiss-hearts>span{animation:kiss-flight 1.35s ease-out both}
.kiss-hearts>span:nth-child(2){font-size:17px;--heart-x:-112px;--heart-y:-84px;--heart-rotate:-18deg;animation-delay:.15s}
.kiss-hearts>span:nth-child(3){font-size:12px;--heart-x:-58px;--heart-y:-125px;--heart-rotate:12deg;animation-delay:.29s}
@keyframes kiss-flight{0%{opacity:0;transform:translate(0,0) scale(.35)}15%{opacity:.95}75%{opacity:.7}100%{opacity:0;transform:translate(var(--heart-x,-155px),var(--heart-y,-30px)) rotate(var(--heart-rotate,-8deg)) scale(1.2)}}
@media(max-width:760px){.letter{padding:35px 27px;border-radius:29px 29px 26px 12px}.letter::before{border-radius:22px 22px 20px 10px}.letter h2{font-size:31px}.letter p{font-size:14px;line-height:1.8}.full-message .letter-highlight{font-size:25px;padding-left:17px;margin:24px 0}.letter-flower{left:-85px;bottom:80px;opacity:.1}.kiss-button{font-size:10px;min-height:39px;padding:9px 13px}.kiss-hearts>span{font-size:20px;left:38%;top:33%}.kiss-hearts>span:nth-child(2){font-size:13px;--heart-x:-75px;--heart-y:-58px}.kiss-hearts>span:nth-child(3){font-size:9px;--heart-x:-40px;--heart-y:-85px}}
/* Content is visible from the first paint, regardless of scrolling or JavaScript. */
.reveal,.js-ready .reveal:not(.is-visible){opacity:1;transform:none;transition:none}
body{padding-bottom:98px}
.radio-card{grid-template-columns:222px minmax(0,1fr)}
.radio-word{display:flex;align-items:center;gap:8px;font-size:13px;letter-spacing:1px;margin-bottom:14px;color:#ffd7e6}
.radio-word svg{width:24px;height:24px}
.radio-controls{display:flex;align-items:center;gap:12px;margin-top:23px}
.radio-controls .button{border:0;margin:0;min-width:148px}
.radio-step{display:grid;place-items:center;width:40px;height:40px;padding:9px;border-radius:50%;border:1px solid #ffffff50;background:transparent;color:inherit;flex-shrink:0}
.radio-step svg{width:21px;height:21px}.radio-prev svg{transform:rotate(180deg)}
.radio-step:hover{background:#ffffff16}.radio-step:disabled,.radio-toggle:disabled{opacity:.5;cursor:wait}
.radio-external{display:inline-block;font-size:12px;color:#f5cfdd;margin-top:18px;text-underline-offset:4px}
.radio-player-panel{margin-top:20px;padding:24px;border:1px solid #eacbd5;border-radius:24px;background:#fffbf9}
.radio-now{margin-bottom:18px}.radio-now .section-kicker{display:block;margin-bottom:5px;font-size:10px;letter-spacing:1.5px}
.radio-now .radio-track-title{font-family:var(--serif);font-size:24px;line-height:1.35;color:var(--wine);overflow-wrap:anywhere}
#radio-track-artist{display:block;font-size:13px;color:#946878;margin-top:5px}
.radio-video{width:100%;max-width:800px;aspect-ratio:16/9;min-height:200px;margin:0 auto;border-radius:15px;overflow:hidden;background:#f6e7ec;display:grid;place-items:center}
.radio-video[hidden],#radio-audio[hidden]{display:none}
.radio-video>div,.radio-video iframe{width:100%;height:100%;border:0;min-height:200px}
#youtube-player>p{font-size:13px;text-align:center;padding:70px 20px;color:#8d6571}
#radio-audio{width:100%;margin:15px auto}.radio-help{font-size:12px;line-height:1.6;text-align:center;color:#946878;margin-top:16px}
.radio-dock{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:14px;padding:12px max(22px,calc((100vw - 1050px)/2)) calc(12px + env(safe-area-inset-bottom));background:#fff9f7f5;border-top:1px solid #eacbd5;box-shadow:0 -8px 30px #72213d0b;backdrop-filter:blur(14px);color:var(--wine)}
.dock-cover{width:45px;height:45px;display:grid;place-items:center;background:#f8e4eb;border-radius:12px;flex-shrink:0}.dock-cover img{width:32px;height:auto}
.dock-info{display:flex;flex-direction:column;min-width:0;flex:1;text-decoration:none;line-height:1.45}
.dock-label{font-size:10px;letter-spacing:.4px;color:#946878}.dock-info .radio-track-title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.dock-status{font-size:10px;color:#ac5977}
.dock-toggle{width:46px;height:46px;border:0;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--wine);color:#fff}.dock-toggle svg{width:24px;height:24px}
.radio-dock .radio-step{border-color:#eacbd5}.radio-dock .radio-step:hover{background:#fbe6ed}.radio-playing .dock-cover{box-shadow:0 0 0 4px #f5c6d64d}
@media(max-width:1100px){.radio-card{grid-template-columns:185px minmax(0,1fr)}}
@media(max-width:760px){
 .hero-inner{min-height:480px}.message-section{padding-top:10px}
 .radio-card{grid-template-columns:104px minmax(0,1fr);padding:24px 20px;gap:17px}
 .radio-card .music-copy h3{font-size:25px}.radio-word{font-size:11px;margin-bottom:9px;gap:5px}.radio-word svg{width:19px;height:19px}
 .radio-controls{gap:7px;flex-wrap:wrap;margin-top:18px}.radio-controls .button{order:-1;flex-basis:100%;min-width:0;min-height:42px;font-size:12px;padding:9px 12px}.radio-controls .radio-step{width:33px;height:33px;padding:6px}
 .radio-external{font-size:10px;margin-top:13px}.radio-player-panel{padding:17px;border-radius:20px}.radio-now .radio-track-title{font-size:20px}.radio-video{border-radius:10px}.radio-help{font-size:11px}
 .radio-dock{gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.dock-cover{width:35px;height:38px;border-radius:9px}.dock-cover img{width:27px}.dock-label{font-size:9px}.dock-info .radio-track-title{font-size:11px}.dock-status{font-size:9px}.dock-toggle{width:41px;height:41px}.radio-dock .radio-step{width:33px;height:33px;padding:6px}
}
@media(max-width:390px){.hero-inner{min-height:465px}.radio-card{grid-template-columns:92px minmax(0,1fr);padding:22px 16px;gap:14px}.radio-card .music-copy h3{font-size:23px}.dock-cover{display:none}}
