@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Nunito:wght@400;500;600;700;800&display=swap');

/* Typography with a softer, friendlier character */
body{font-family:'Nunito',var(--sans);font-weight:500;background-image:radial-gradient(#efcfda 1px,transparent 1px);background-size:24px 24px}
h1,h2,.brand span,.plan-card h2,.plan-card h3,.price,.process-steps h3,.soft-note h3,.confirmation h2{font-family:'DM Serif Display',var(--serif);letter-spacing:-1.5px}
h1 em,h2 em{font-style:italic}.eyebrow,.plan-label,.recommended{letter-spacing:1.6px}

/* Keep every call to action visible before hover */
.button.button-outline{background:#fffafd;color:var(--caramel);border:1.5px solid var(--caramel);box-shadow:0 5px 14px #96607a14}
.button.button-outline:hover{background:#f8e1e8;color:#7e4664;border-color:#7e4664}.plan-card .button{font-family:'Nunito',var(--sans);font-weight:800}.button{box-shadow:0 6px 0 #79465f33}.button:hover{box-shadow:0 9px 0 #79465f2b}

/* Small cheerful details */
.hero-art:before{content:'✦';position:absolute;left:10%;top:12%;z-index:5;color:#b56c8b;font-size:29px;transform:rotate(-14deg)}
.hero-art:after{content:'♡';position:absolute;right:11%;bottom:12%;z-index:5;color:#b56c8b;font:34px/1 'DM Serif Display',serif}
.features article{position:relative;overflow:hidden}.features article:after{content:'✦';position:absolute;right:13px;top:10px;color:#efc4d1;font-size:13px}.features article:nth-child(2n):after{content:'♡';font-size:17px}.business-grid div{position:relative;overflow:hidden}.business-grid div:after{content:'·';position:absolute;right:10px;top:4px;color:#e8bdca;font-size:23px}.plan-card:not(.featured):after{content:'✦';position:absolute;right:22px;bottom:22px;color:#edc5d1;font-size:18px}.featured .recommended{box-shadow:0 4px 0 #7e46643b}.cta{background-image:radial-gradient(#e9b4c5 1.3px,transparent 1.3px);background-size:18px 18px}.cta>div,.cta-art{position:relative;z-index:1}.cta:before{content:'♡  ✦  ♡';position:absolute;right:52px;bottom:19px;letter-spacing:10px;color:#f4c5d4;font:27px 'DM Serif Display',serif;opacity:.9}.booking-form-card,.plan-card,.features article,.business-grid div{box-shadow:0 8px 20px #8a536b0d}

@media(max-width:800px){.cta:before{right:25px;bottom:14px;font-size:19px}.hero-art:before{left:7%;top:9%}.hero-art:after{right:7%;bottom:9%}}
