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

:root { --pink: #ff2383; --deep-pink: #db0866; --ink: #281524; --soft: #fff4f9; --whatsapp: #18a954; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); font-family: "DM Sans", Arial, sans-serif; background: #fff; }
.hero { min-height: 680px; position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr); align-items: center; gap: 30px; padding: 70px max(6vw, 28px); background: radial-gradient(circle at 0% 0%, #ffd5e9 0, transparent 31%), linear-gradient(120deg, #fff9fc 0%, #fff 55%, #ffe9f3 100%); }
.content { max-width: 640px; position: relative; z-index: 1; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 20px; color: var(--deep-pink); font-size: .9rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.eyebrow span { font-size: 1.3rem; }
h1 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(2.8rem, 5.4vw, 5.1rem); line-height: .98; letter-spacing: -.05em; margin: 0; max-width: 680px; }
.subtitle { font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.65; max-width: 550px; margin: 28px 0; }
.cta { display: inline-flex; gap: 10px; align-items: center; justify-content: center; border-radius: 12px; border: 0; background: var(--whatsapp); color: #fff; text-decoration: none; box-shadow: 0 13px 25px rgba(24, 169, 84, .25); padding: 18px 25px; font-size: 1rem; font-weight: 800; transition: transform .2s, box-shadow .2s, background .2s; }
.cta svg { width: 23px; height: 23px; }.cta:hover { transform: translateY(-3px); background: #109346; box-shadow: 0 17px 29px rgba(24, 169, 84, .3); }.note { color: #806d7a; font-size: .86rem; margin: 15px 0 0; }
.visual { position: relative; z-index: 1; text-align: center; }.visual img { position: relative; width: min(100%, 570px); display: block; margin: auto; mix-blend-mode: multiply; filter: drop-shadow(0 22px 17px rgba(130, 25, 74, .18)); }.image-halo { position: absolute; inset: 9% 6%; background: #ffc7e0; border-radius: 48% 52% 45% 55%; transform: rotate(-6deg); }
.decoration { position: absolute; border-radius: 50%; background: var(--pink); opacity: .1; }.decoration-one { width: 300px; height: 300px; top: -180px; right: 25%; }.decoration-two { width: 190px; height: 190px; bottom: -95px; left: 44%; }
.benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; max-width: 1100px; margin: 0 auto; padding: 80px 30px; }.benefits article { padding: 10px 22px; text-align: center; }.icon { display: grid; place-items: center; width: 60px; height: 60px; margin: 0 auto 18px; border-radius: 18px; font-size: 1.65rem; background: var(--soft); }.benefits h2 { margin: 0 0 9px; font-size: 1.17rem; }.benefits p { color: #705f6b; line-height: 1.55; margin: 0; }
.final-cta { text-align: center; padding: 88px 25px; color: #fff; background: linear-gradient(135deg, #f8177d, #a90056); }.final-cta p { font-weight: 700; margin: 0 0 12px; }.final-cta h2 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(2rem, 4vw, 3.3rem); margin: 0 0 30px; }.cta.light { color: var(--deep-pink); background: #fff; box-shadow: 0 13px 25px rgba(70, 0, 35, .2); }.cta.light:hover { color: #b60054; background: #fff6fa; }
footer { padding: 22px; text-align: center; color: #846d7b; font-size: .82rem; }
@media (max-width: 760px) { .hero { min-height: auto; grid-template-columns: 1fr; padding: 54px 24px 25px; gap: 18px; text-align: center; }.content { margin: auto; }.subtitle { margin: 21px auto 25px; }.visual { order: -1; }.visual img { max-width: 390px; }.image-halo { inset: 10% 12%; }.benefits { grid-template-columns: 1fr; gap: 14px; padding: 50px 20px; }.benefits article { display: grid; grid-template-columns: 65px 1fr; column-gap: 14px; text-align: left; align-items: center; padding: 8px; }.icon { margin: 0; grid-row: span 2; }.benefits h2 { margin: 0; }.benefits p { grid-column: 2; }.final-cta { padding: 65px 20px; } }
