:root{
  --pink: #ecd2d8;
  --pink-deep: #e3bcc5;
  --cream: #f7efe9;
  --coral: #ff5a4e;
  --coral-dark: #e8483d;
  --mustard: #f2d94e;
  --plum: #3d2b39;
  --plum-soft: #6b5765;
  --white: #fffdfb;
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-pill: 999px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  color:var(--plum);
  background:var(--cream);
  line-height:1.6;
  overflow-x:hidden;
}
.serif{font-family:'Playfair Display', serif;}
.wordmark{font-family:'Abril Fatface', serif; font-weight:400;}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
.wrap{max-width:1160px; margin:0 auto; padding:0 32px;}
.photo-real{width:100%; height:100%; object-fit:cover; display:block;}

/* NAV */
nav{position:sticky; top:0; z-index:50; background:var(--pink); border-bottom:1px solid rgba(61,43,57,0.08);}
nav .wrap{display:flex; align-items:center; justify-content:space-between; height:84px;}
.logo{font-family:'Abril Fatface', serif; font-weight:400; font-size:30px; letter-spacing:1px; color:var(--coral);}
.nav-links{display:flex; gap:32px; font-size:17px; color:var(--plum-soft);}
.nav-links a:hover, .nav-links a.active{color:var(--coral-dark); font-weight:600;}
.btn{display:inline-block; padding:14px 28px; border-radius:var(--radius-pill); font-weight:600; font-size:14.5px; transition:transform .2s ease, box-shadow .2s ease; white-space:nowrap;}
.btn-coral{background:var(--coral); color:var(--white);}
.btn-coral:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(255,90,78,0.35);}
.btn-outline{border:1.5px solid var(--coral); color:var(--coral-dark); background:transparent;}
.btn-outline:hover{background:var(--coral); color:var(--white);}

/* GENERIC SECTION */
section{padding:110px 0;}
.eyebrow{color:var(--coral); font-size:13px; letter-spacing:3px; text-transform:uppercase; font-weight:700; margin-bottom:18px; font-family:'Playfair Display', serif;}
h1,h2,h3{font-weight:600;}
h2{font-size:clamp(34px, 4.2vw, 50px); line-height:1.1; margin-bottom:24px;}
.section-text{font-size:18px; color:var(--plum-soft); max-width:560px;}
.highlight{color:var(--coral); font-weight:600;}
.split{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
.split.reverse{direction:rtl;}
.split.reverse > *{direction:ltr;}
.photo-box{border-radius:var(--radius-lg); overflow:hidden; box-shadow:0 24px 50px -20px rgba(61,43,57,0.3);}

/* CARDS */
.card{background:var(--white); border-radius:var(--radius-md); padding:32px 28px; transition:transform .25s ease, box-shadow .25s ease;}
.card:hover{transform:translateY(-6px); box-shadow:0 20px 40px -12px rgba(61,43,57,0.18);}
.card .icon{width:52px; height:52px; border-radius:16px; background:rgba(255,90,78,0.12); display:flex; align-items:center; justify-content:center; margin-bottom:18px;}
.card .icon svg{width:24px; height:24px; stroke:var(--coral);}

/* FOOTER */
footer{background:var(--plum); color:rgba(255,253,251,0.75); padding:60px 0 36px;}
.footer-ecosystem{display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-bottom:40px; padding-bottom:36px; border-bottom:1px solid rgba(255,253,251,0.12);}
.footer-ecosystem a{background:rgba(255,253,251,0.08); border:1px solid rgba(255,253,251,0.2); color:var(--white); padding:12px 22px; border-radius:var(--radius-pill); font-weight:600; font-size:14px; transition:background .2s ease, transform .2s ease;}
.footer-ecosystem a:hover{background:rgba(255,253,251,0.18); transform:translateY(-2px);}
.footer-top{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px; margin-bottom:36px;}
.footer-top .logo{color:var(--mustard);}
.footer-links{display:flex; gap:26px; font-size:14.5px; flex-wrap:wrap;}
.footer-links a:hover{color:var(--white);}
footer .rule{height:1px; background:rgba(255,253,251,0.15); margin-bottom:24px;}
footer .bottom{font-size:13px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;}

.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

.mobile-toggle{display:none; background:none; border:none; cursor:pointer; padding:8px; flex-direction:column; gap:5px; margin-left:auto;}
.mobile-toggle span{display:block; width:24px; height:2px; background:var(--plum); border-radius:2px; transition:transform .25s ease, opacity .25s ease;}
.mobile-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.mobile-toggle.active span:nth-child(2){opacity:0;}
.mobile-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width: 860px){
  nav .wrap{flex-wrap:wrap; height:auto; padding-top:16px; padding-bottom:16px;}
  .logo{order:1;}
  .mobile-toggle{display:flex; order:2;}
  nav .btn-coral{order:3;}
  .nav-links{
    order:4; flex-basis:100%; width:100%;
    flex-direction:column; gap:0;
    max-height:0; overflow:hidden;
    transition:max-height .4s ease;
  }
  .nav-links.open{max-height:400px; margin-top:16px;}
  .nav-links a{padding:14px 4px; border-top:1px solid rgba(61,43,57,0.1); font-size:16px;}
  .split, .split.reverse{grid-template-columns:1fr; direction:ltr;}
  section{padding:72px 0;}
}

/* PRECIO Y PAGO (usado en Alive y en propuestas puntuales como UNLOCKED) */
.loc-row{display:flex; align-items:flex-start; gap:14px;}
.icon-sm{width:40px; height:40px; border-radius:12px; background:rgba(255,90,78,0.12); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.icon-sm svg{width:19px; height:19px; stroke:var(--coral);}
.loc-row .label{font-size:11.5px; letter-spacing:1.5px; text-transform:uppercase; color:var(--plum-soft); font-weight:700;}
.loc-row .value{font-family:'Playfair Display', serif; font-size:18px; color:var(--plum); margin-top:2px;}

.valor-block{
  background:var(--cream); border-radius:var(--radius-lg); padding:36px 40px;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px;
  margin-bottom:56px;
}
.valor-price{font-family:'Playfair Display', serif; font-size:36px; color:var(--plum);}
.valor-price .cuotas{font-size:20px; color:var(--plum-soft); font-weight:400;}
.valor-terms{font-size:14.5px; color:var(--plum-soft); max-width:420px;}
.valor-terms li{list-style:none; margin-bottom:4px; padding-left:16px; position:relative;}
.valor-terms li::before{content:'•'; position:absolute; left:0; color:var(--mustard);}

.pago-block{margin-bottom:16px;}
.pago-title{
  font-size:13px; letter-spacing:2px; text-transform:uppercase; font-weight:700;
  color:var(--plum-soft); margin-bottom:20px;
}
.pago-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.pago-card{
  background:var(--cream); border-radius:var(--radius-md); padding:26px 28px;
  display:flex; flex-direction:column; gap:14px;
}
.pago-label{
  display:flex; align-items:center; gap:10px; font-weight:700; font-size:15px; color:var(--plum);
}
.pago-label svg{width:20px; height:20px; stroke:var(--coral); flex-shrink:0;}
.pago-alias{
  font-family:'Playfair Display', serif; font-size:19px; color:var(--coral-dark);
  background:var(--white); border-radius:10px; padding:12px 14px; word-break:break-all;
}
.pago-copy{
  align-self:flex-start; background:transparent; border:1.5px solid var(--coral); color:var(--coral-dark);
  padding:9px 18px; border-radius:var(--radius-pill); font-size:13.5px; font-weight:600;
  cursor:pointer; transition:background .2s ease, color .2s ease;
}
.pago-copy:hover{background:var(--coral); color:var(--white);}
.pago-copy.copied{background:var(--coral); color:var(--white); border-color:var(--coral);}
.pago-cbu{font-size:13px; color:var(--plum-soft); word-break:break-all; margin-top:-4px;}
.pago-copy-secondary{
  align-self:flex-start; background:transparent; border:none; color:var(--plum-soft);
  padding:4px 0; font-size:12.5px; font-weight:600; text-decoration:underline;
}
.pago-copy-secondary:hover{background:transparent; color:var(--coral-dark);}
.pago-copy-secondary.copied{background:transparent; color:var(--coral-dark);}
.pago-note{margin-top:20px; font-size:14px; color:var(--plum-soft);}

@media (max-width: 860px){
  .pago-grid{grid-template-columns:1fr;}
  .valor-block{flex-direction:column; align-items:flex-start;}
}

/* MOSAICO DE PILARES (Move Your Soul) */
.pillar-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; max-width:920px; margin:56px auto 0;}
.pillar-item{text-align:center;}
.pillar-photo{aspect-ratio:1/1; border-radius:var(--radius-md); overflow:hidden; margin-bottom:12px; box-shadow:0 10px 24px -12px rgba(61,43,57,0.25);}
.pillar-label{font-family:'Playfair Display', serif; font-size:14.5px; color:var(--plum); line-height:1.3;}

@media (max-width: 760px){
  .pillar-grid{grid-template-columns:1fr 1fr;}
}
