:root{--gold:#efabc7;--wine:#943959}body{background:radial-gradient(ellipse at 85% 20%,#6f244955,transparent 60%),#231222}.heart-intro{padding:80px 0;max-width:720px}.heart-intro h1 em{color:#efabc7}.heart-result{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:40px;padding:60px 0}.heart-result canvas{max-width:100%;height:auto}.heart-result h1{font-size:clamp(40px,6vw,70px)}.scene-heading h1{font-size:clamp(29px,4vw,46px);letter-spacing:-.8px;max-width:850px}.response-card{min-height:150px}.response-card[aria-pressed=true]{border-color:#b84978;background:linear-gradient(135deg,#ffe4ef,#efb7ce);box-shadow:0 0 0 2px #efabc7,0 9px 22px #0005;transform:rotate(0)}.response-card[aria-pressed=true] .card-action{color:#4a253b}.response-card[aria-pressed=true] .card-corner{color:#71344f;border-color:#a65d7c}.step-controls{justify-content:space-between}.heart-intro .button{margin-left:10px}@media(max-width:700px){.heart-result{grid-template-columns:1fr;padding-top:35px;gap:10px}.heart-result canvas{max-height:330px;max-width:270px;justify-self:center;grid-row:1}.heart-intro{padding:45px 0}.response-card{min-height:120px}}
.heart-landing{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;min-height:75vh}.heart-landing .heart-intro{padding:40px 0}.heart-landing .val-stage{position:relative;height:660px;min-width:0;isolation:isolate;overflow:hidden}.valentino{position:absolute;width:100%;height:100%;object-fit:contain;left:0;bottom:0;filter:drop-shadow(0 12px 22px #140411aa);z-index:2}
.heart-pattern{position:absolute;inset:10px -10px 30px;display:flex;flex-wrap:wrap;justify-content:space-around;align-content:space-between;font:95px Georgia;color:#e0477d24;transform:rotate(-12deg);z-index:0}.heart-pattern span{font-size:65px;transform:rotate(28deg)}.smoke{position:absolute;z-index:3;pointer-events:none;width:250px;height:380px;right:-10px;bottom:100px;border-radius:50%;background:radial-gradient(ellipse,#ff85c333 10%,#f1439f55 35%,transparent 68%);filter:blur(18px);transform:rotate(-20deg);animation:smoke 9s ease-in-out infinite}.smoke-two{right:45px;bottom:200px;animation-delay:-3s;animation-duration:12s;width:180px}.smoke-three{right:-40px;bottom:320px;animation-delay:-6s;width:210px;height:240px;opacity:.6}@keyframes smoke{0%,100%{transform:translate(0,30px) rotate(-25deg) scale(.8);opacity:.15}50%{transform:translate(-40px,-65px) rotate(20deg) scale(1.2);opacity:.7}}
.smoke-ribbons{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible;filter:drop-shadow(0 0 12px #fc499b)}.smoke-ribbons path{fill:none;stroke:#ff6bb3;stroke-width:7;stroke-linecap:round;opacity:.45;stroke-dasharray:160 90 230 700;animation:ribbon-flow 12s linear infinite}.smoke-ribbons path+path{stroke-width:3;stroke:#ffb3d8;animation-delay:-6s;animation-duration:16s}@keyframes ribbon-flow{from{stroke-dashoffset:0}to{stroke-dashoffset:-1180}}@media(prefers-reduced-motion:reduce){.smoke-ribbons path{animation:none;opacity:.2}}


@media(max-width:760px){.heart-landing{grid-template-columns:1fr;gap:0}.heart-landing .heart-intro{padding:40px 0 10px}.heart-landing .val-stage{height:430px}}@media(prefers-reduced-motion:reduce){.smoke{animation:none;opacity:.25}.smoke-ribbons path{animation:none;opacity:.2}}

