@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(fonts/Poppins-Regular.woff) format("woff")}
@font-face{font-family:Poppins;font-weight:500;font-display:swap;src:url(fonts/Poppins-Medium.woff) format("woff")}
@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(fonts/Poppins-Bold.woff) format("woff")}
@font-face{font-family:Lora;font-style:italic;font-weight:600;font-display:swap;src:url(fonts/Lora-Italic-600.woff) format("woff")}
@font-face{font-family:Chorus;font-display:swap;src:url(fonts/Chorus.woff) format("woff")}

:root{
  --rosa:#D3246C; --rosa-osc:#B01A58; --rosa-claro:#FBE3EC;
  --marino:#1C2B4B; --crema:#FFF6F0; --gris:#5F6375; --linea:#EFDCD3;
  --ancho:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--crema);color:var(--marino);font:400 17px/1.6 Poppins,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.envoltura{max-width:var(--ancho);margin:0 auto;padding-inline:20px}
.escrito{font-family:Chorus,"Brush Script MT",cursive;font-weight:400}
.cursiva{font-family:Lora,Georgia,serif;font-style:italic;font-weight:600}

/* Encabezado */
.barra{position:sticky;top:0;z-index:10;background:rgba(255,246,240,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--linea)}
.barra .envoltura{display:flex;align-items:center;justify-content:space-between;gap:16px;height:68px}
.barra .marca img{height:44px;width:auto}
.barra nav{display:flex;gap:26px;font-size:15px;font-weight:500}
.barra nav a{text-decoration:none;color:var(--marino)}
.barra nav a:hover{color:var(--rosa)}
.boton{display:inline-flex;align-items:center;gap:10px;background:var(--rosa);color:#fff;text-decoration:none;font-weight:600;border-radius:999px;padding:12px 22px;transition:background .2s}
.boton:hover{background:var(--rosa-osc)}
.boton.chico{padding:9px 16px;font-size:14px}
.boton.borde{background:transparent;color:var(--marino);border:2px solid var(--marino)}
.boton.borde:hover{background:var(--marino);color:#fff}
.boton svg{width:20px;height:20px;flex:none}

/* Portada */
.portada{background:var(--rosa);color:var(--crema);position:relative;overflow:hidden;padding:84px 0 120px}
.portada::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-60px;height:120px;background:var(--crema);border-radius:50%}
.portada .envoltura{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.portada small{font-size:13px;letter-spacing:.28em;text-transform:uppercase;font-weight:500}
.portada h1{font-size:clamp(52px,8vw,92px);line-height:1;margin:14px 0 18px;text-wrap:balance}
.portada p{font-size:19px;max-width:30ch;margin:0 0 28px}
.portada .boton{background:#fff;color:var(--rosa)}
.portada .boton:hover{background:var(--marino);color:#fff}
.portada .sello{justify-self:center;width:min(300px,70vw);aspect-ratio:1;border-radius:50%;background:var(--crema);display:grid;place-items:center;padding:34px;box-shadow:0 20px 50px rgba(28,43,75,.25)}

/* Secciones */
section{padding:72px 0}
.titulo{text-align:center;margin-bottom:40px}
.titulo small{color:var(--rosa);font-size:13px;letter-spacing:.24em;text-transform:uppercase;font-weight:600}
.titulo h2{font-size:clamp(40px,6vw,58px);line-height:1.05;margin:8px 0 10px;color:var(--marino)}
.titulo p{color:var(--gris);max-width:58ch;margin:0 auto}

.servicios{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.servicio{background:#fff;border:1px solid var(--linea);border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:10px}
.servicio h3{margin:0;font-size:20px;line-height:1.25}
.servicio p{margin:0;color:var(--gris);font-size:15.5px;flex:1}
.precio{font-weight:700;font-size:24px;color:var(--rosa)}
.precio span{display:block;font-size:12px;font-weight:500;color:var(--gris);letter-spacing:.06em}
.nota-precios{text-align:center;color:var(--gris);font-size:14px;margin-top:24px}

.paquete{background:var(--marino);color:var(--crema);border-radius:22px;padding:44px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.paquete h2{font-size:clamp(38px,5vw,54px);line-height:1;margin:0 0 14px;color:#fff}
.paquete ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}
.paquete li{display:flex;gap:10px;align-items:baseline}
.paquete li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--rosa);flex:none;transform:translateY(-2px)}
.paquete .cifra{text-align:center}
.paquete .cifra span{display:block;font-size:13px;letter-spacing:.2em;text-transform:uppercase;opacity:.8}
.paquete .cifra b{display:block;font-size:52px;color:#F6A7C6;line-height:1.1;margin-bottom:16px}

.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:paso}
.paso{border-top:4px solid var(--rosa);padding-top:16px}
.paso h3{margin:0 0 6px;font-size:20px}
.paso h3::before{counter-increment:paso;content:counter(paso) ". ";color:var(--rosa)}
.paso p{margin:0;color:var(--gris)}

.contacto{background:var(--rosa-claro)}
.contacto .caja{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.contacto h2{font-size:clamp(40px,6vw,58px);line-height:1.05;margin:0 0 12px}
.contacto p{color:var(--gris);margin:0 0 22px}
.datos{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.datos li{background:#fff;border-radius:14px;padding:16px 20px;border:1px solid var(--linea);overflow-wrap:anywhere}
.datos span{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--rosa);font-weight:600}
.datos b{font-size:19px}
.acciones{display:flex;flex-wrap:wrap;gap:12px}

footer{background:var(--marino);color:var(--crema);padding:40px 0 calc(40px + env(safe-area-inset-bottom,0px))}
footer .envoltura{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
footer img{height:54px;width:auto}
footer p{margin:0;font-size:14px;opacity:.85;max-width:44ch}

.flotante{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:20;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.flotante svg{width:30px;height:30px}

@media (max-width:860px){
  .barra nav{display:none}
  .portada{padding:56px 0 100px}
  .portada .envoltura{grid-template-columns:1fr;text-align:center}
  .portada p{margin-inline:auto}
  .portada .sello{width:200px;padding:24px;order:-1}
  .servicios{grid-template-columns:1fr 1fr}
  .paquete{grid-template-columns:1fr;padding:30px 24px}
  .paquete ul{grid-template-columns:1fr}
  .pasos{grid-template-columns:1fr}
  .contacto .caja{grid-template-columns:1fr}
}
@media (max-width:560px){
  body{font-size:16px}
  .servicios{grid-template-columns:1fr}
  section{padding:56px 0}
  .barra .marca img{height:38px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
