@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
:root { --rosa: #E8A598; --rosa-claro: #F5D5CE; --rosa-palido: #FDF0ED; --verde: #5B9E96; --verde-escuro: #3D7A72; --verde-claro: #A8CEC9; --creme: #FAF6F1; --dourado: #C9A96E; --texto: #2C2C2C; --texto-suave: #6B6B6B; }
* {	margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; color: var(--texto); background: var(--creme); overflow-x: hidden; }
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: center; background: rgba(111,173,168,0.80); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(232,165,152,0.2); transition: all 0.3s; }
section { padding: 150px 80px 20px; } 
footer { background: #1E1E1E; color: white; padding: 64px 80px 32px; }
.nav-logo { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.nav-links { display: flex; gap: 36px; list-style: none; } 
.nav-links a { font-size: 15px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--texto-suave); text-decoration: none; transition: color 0.2s; font-weight: 500; }
.nav-links a:hover { color: var(--verde); }
.nav-cta { background: var(--rosa); color: white !important; padding: 10px 24px; border-radius: 50px; font-size: 12px !important; letter-spacing: 1px !important; transition: background 0.2s !important; } 
.nav-cta:hover { background: var(--verde) !important; color: white !important; }
.google-badge { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 56px; padding: 24px 40px; background: var(--creme); border-radius: 16px; width: fit-content; margin-left: auto; margin-right: auto; }
.google-badge .stars-row { display: flex; gap: 4px; }
.google-badge strong { font-family: 'Cormorant Garamond', serif; font-size: 32px; font-weight: 600; color: var(--verde); }
.google-badge p { font-size: 12px; color: var(--texto-suave); }
.section-label { display: inline-block; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--rosa); font-weight: 500; margin-bottom: 20px; }
.section-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(32px, 3.5vw, 48px); font-weight: 300; line-height: 1.2; margin-bottom: 24px; color: var(--texto); }
.section-title em { font-style: italic; color: var(--rosa); }
.section-centered { text-align:center; }
.section-centered .section-title { max-width:600px; margin-left:auto; margin-right:auto; }
.section-centered > p { font-size:15px; color:var(--texto-suave); max-width:520px; margin:0 auto; line-height:1.8; font-weight:300; }
.cta-section { padding: 160px 80px; background: linear-gradient(135deg, var(--rosa-palido) 0%, white 50%, rgba(168,206,201,0.2) 100%); text-align: center; position: relative; overflow: hidden; }
.cta-section::before { content: '♥'; position: absolute; top: 40px; left: 10%; font-size: 120px; color: rgba(232,165,152,0.08); pointer-events: none; } 
.cta-section::after { content: '✦'; position: absolute; bottom: 40px; right: 10%; font-size: 100px; color: rgba(91,158,150,0.06); pointer-events: none; }
.cta-section .section-title { font-size: clamp(36px, 4vw, 56px); margin-bottom: 20px; }
.cta-section p { font-size: 16px; color: var(--texto-suave); max-width: 480px; margin: 0 auto 48px; font-weight: 300; line-height: 1.7; }
.cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.btn-whats { background: #25D366; color: white; padding: 18px 40px; border-radius: 50px; font-size: 15px; font-weight: 500; text-decoration: none; display: flex; align-items: center; gap: 10px; transition: all 0.3s; box-shadow: 0 8px 28px rgba(37,211,102,0.3); }
.btn-whats:hover { transform: translateY(-3px); box-shadow: 0 14px 40px rgba(37,211,102,0.4); }
.footer-top { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: 32px; }
.footer-col-2 { grid-column: span 1 }
.footer-col-4 { grid-column: span 2 }
.footer-col-6 { grid-column: span 6 }
.footer-col h5 { font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; color: rgba(255,255,255,0.4); margin-bottom: 20px; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.footer-col ul li a { font-size: 13px; color: rgba(255,255,255,0.65); text-decoration: none; transition: color 0.2s; }
.footer-col ul li a:hover { color: var(--verde-claro); }
.footer-contact-item { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.footer-contact-item span:first-child { font-size: 16px; flex-shrink: 0; margin-top: 1px; }
.footer-contact-item span:last-child { font-size: 13px; color: rgba(255,255,255,0.6); line-height: 1.5; }
.footer-bottom { display: grid; grid-template-columns: repeat(12, 1fr); gap: 40px; font-size: 12px; color: rgba(255,255,255,0.3); }
.footer-bottom a { color: rgba(255,255,255,0.3); text-decoration: none; }
.footer-selo { width: 220px; padding: 10px; }
.whats-float { position: fixed; bottom: 32px; right: 32px; z-index: 999; width: 56px; height: 56px; background: #25D366; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(37,211,102,0.4); text-decoration: none; transition: transform 0.2s; font-size: 26px; }
.whats-float:hover { transform: scale(1.1); }
@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes scaleIn { from {	opacity: 0; transform: scale(1.04); } to { opacity: 1; transform: scale(1); } }
@media (max-width: 1024px) {
	section { padding: 75px 10px 20px; } 
	footer { padding: 30px 20px 16px; }
	.cta-section { padding: 160px 40px; }
	.footer-top { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: 32px; }
	.footer-col-2 { grid-column: span 1; }
	.footer-col-4 { grid-column: span 2; }
	.footer-col-6 { grid-column: span 2; }
	.footer-selo { width: 180px; padding: 5px; }
	.footer-bottom { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; font-size: 12px; color: rgba(255,255,255,0.3); }
	.nav-links { display: none; }
}