:root{
  --paper:#FFF6F8;
  --paper-dim:#FDE7EE;
  --ink:#3D1F2B;
  --ink-soft:#8A5A66;
  --rose:#EF6C8B;
  --rose-deep:#D9436B;
  --rose-pale:#FBD9E1;
  --line:#F5D9E1;
  --radius:14px;
  box-sizing:border-box;
}
*{box-sizing:inherit; margin:0; padding:0;}
html{scroll-padding-top:24px;}
body{
  background:var(--paper); color:var(--ink); font-family:'Inter',sans-serif;
  line-height:1.6; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Poppins',sans-serif; font-weight:600; color:var(--ink); line-height:1.2;}
a{color:inherit;}
.wrap{max-width:1120px; margin:0 auto; padding:0 24px;}
img{max-width:100%; display:block;}

.topbar{position:sticky; top:0; z-index:40; background:rgba(255,246,248,.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--line); padding-top:env(safe-area-inset-top,0px);}
.topbar-inner{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:1120px; margin:0 auto;}
.brand{display:flex; align-items:center; gap:10px; font-family:'Poppins',sans-serif; font-weight:600; font-size:1.12rem;}
.brand-mark{width:32px; height:32px; background:var(--rose); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.95rem; color:#fff; flex-shrink:0;}
nav{display:flex; gap:28px; font-size:.92rem;}
nav a{text-decoration:none; color:var(--ink-soft); border-bottom:1px solid transparent; padding-bottom:2px; transition:border-color .15s, color .15s;}
nav a:hover{border-color:var(--rose-deep); color:var(--ink);}
@media (max-width:720px){ nav{display:none;} }

.hero{padding:64px 0 56px; border-bottom:1px solid var(--line);}
.hero-grid{display:grid; grid-template-columns:1fr 1.05fr; gap:52px; align-items:start;}
@media (max-width:880px){ .hero-grid{grid-template-columns:1fr; gap:34px;} }
.kicker{font-size:.85rem; color:var(--rose-deep); font-weight:600; margin-bottom:14px;}
.hero h1{font-size:2.6rem; max-width:15ch;}
@media (max-width:520px){ .hero h1{font-size:2rem;} }
.hero p.lede{margin-top:18px; max-width:44ch; color:var(--ink-soft); font-size:1.05rem;}
.hero-meta{display:flex; gap:22px; margin-top:26px; flex-wrap:wrap;}
.hero-meta div{font-size:.82rem; color:var(--ink-soft);}
.hero-meta strong{display:block; font-family:'Poppins',sans-serif; font-size:1.45rem; color:var(--ink); font-weight:600;}

.calc{background:#fff; border:1px solid var(--line); color:var(--ink); border-radius:22px; padding:30px; position:relative; overflow:hidden; box-shadow:0 18px 40px -24px rgba(217,67,107,.35);}
.calc::before{content:"♥"; position:absolute; top:-30px; right:-10px; font-size:8rem; color:var(--rose-pale); opacity:.6;}
.calc h2{color:var(--ink); font-size:1.25rem; margin-bottom:4px;}
.calc .sub{color:var(--ink-soft); font-size:.88rem; margin-bottom:22px;}
.name-row{display:grid; grid-template-columns:1fr 34px 1fr; gap:10px; align-items:end; margin-bottom:18px;}
.name-row .plus{text-align:center; padding-bottom:12px; color:var(--rose-deep); font-size:1.3rem; font-weight:700;}
.field label{display:block; font-size:.8rem; color:var(--ink-soft); margin-bottom:6px;}
.field input{width:100%; padding:12px 14px; border-radius:12px; border:1.5px solid var(--rose-pale); background:#FFFAFB; color:var(--ink); font-size:1rem;}
.field input:focus{outline:2px solid var(--rose); outline-offset:1px;}
.calc-btn{width:100%; padding:14px; margin-top:4px; background:var(--rose-deep); color:#fff; border:none; border-radius:999px; font-weight:600; font-size:.95rem; cursor:pointer; transition:background .15s;}
.calc-btn:hover{background:#C33763;}
.calc-result{margin-top:22px; padding-top:20px; border-top:1px dashed var(--rose-pale); display:none;}
.calc-result.show{display:block;}
.calc-result .amount{font-family:'Poppins',sans-serif; font-size:2.6rem; color:var(--rose-deep); font-weight:700;}
.calc-result .caption{font-size:.85rem; color:var(--ink-soft); margin-top:6px;}
.share-row{display:flex; gap:10px; margin-top:16px;}
.share-btn{flex:1; text-align:center; padding:10px; border:1.5px solid var(--rose-pale); border-radius:999px; font-size:.78rem; color:var(--ink-soft); background:transparent; cursor:pointer;}
.share-btn:hover{border-color:var(--rose); color:var(--ink);}
.calc-disclaimer{font-size:.72rem; color:#B98594; margin-top:16px;}

.trust{border-bottom:1px solid var(--line); padding:26px 0; background:var(--paper-dim);}
.trust .wrap{display:flex; gap:40px; flex-wrap:wrap; justify-content:space-between;}
.trust-item{font-size:.85rem; color:var(--ink-soft); max-width:24ch;}
.trust-item strong{display:block; font-family:'Poppins',sans-serif; color:var(--ink); font-size:1.4rem; font-weight:600;}

section.block{padding:64px 0;}
.block-head{max-width:54ch; margin-bottom:40px;}
.block-head h2{font-size:1.85rem;}
.block-head p{color:var(--ink-soft); margin-top:12px;}

.tool-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media (max-width:820px){ .tool-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .tool-grid{grid-template-columns:1fr;} }
.tool-card{background:#fff; border:1.5px solid var(--line); border-radius:16px; padding:24px; display:flex; flex-direction:column; gap:10px; transition:border-color .15s, transform .15s;}
.tool-card:hover{border-color:var(--rose); transform:translateY(-2px);}
.tool-card .tag{font-size:.72rem; color:var(--rose-deep); font-weight:600;}
.tool-card h3{font-size:1.06rem;}
.tool-card p{font-size:.9rem; color:var(--ink-soft); flex-grow:1;}
.tool-card .go{font-size:.85rem; font-weight:600; text-decoration:none; color:var(--rose-deep);}
.tool-card .go.soon{color:#C79AA6; cursor:default;}
.share-btn:disabled{opacity:.65; cursor:default;}

.why{border-top:1px solid var(--line);}
.why-row{display:grid; grid-template-columns:64px 1fr; gap:20px; padding:24px 0; border-bottom:1px solid var(--line);}
.why-num{font-family:'Poppins',sans-serif; color:var(--rose-deep); font-size:1.05rem; font-weight:600; padding-top:2px;}
.why-row h3{font-size:1.02rem; margin-bottom:6px;}
.why-row p{color:var(--ink-soft); font-size:.92rem; max-width:62ch;}

.article-grid{display:grid; grid-template-columns:2fr 1fr 1fr; gap:24px;}
@media (max-width:820px){ .article-grid{grid-template-columns:1fr;} }
.article-card{background:#fff; border:1.5px solid var(--line); border-radius:16px; padding:20px;}
.article-card.feature{border-color:var(--rose);}
.article-card .meta{font-size:.75rem; color:var(--rose-deep); font-weight:600; margin-bottom:8px;}
.article-card h3{font-size:1.18rem; margin-bottom:8px;}
.article-card.feature h3{font-size:1.45rem;}
.article-card p{color:var(--ink-soft); font-size:.9rem;}
.article-card a{text-decoration:none;}
.article-card a:hover h3{color:var(--rose-deep);}

.strip{background:linear-gradient(135deg, var(--rose-deep), var(--rose)); color:#fff; padding:46px 0; border-radius:0;}
.strip .wrap{display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;}
.strip h2{color:#fff; font-size:1.45rem; max-width:28ch;}
.strip p{color:#FCE3EA; margin-top:8px; max-width:42ch; font-size:.92rem;}
.strip-btn{background:#fff; color:var(--rose-deep); padding:13px 26px; border-radius:999px; text-decoration:none; font-weight:600; font-size:.92rem; white-space:nowrap;}
.strip-btn:hover{background:#FFF0F4;}

.ad-slot{border:1.5px dashed var(--line); background:#fff; color:#C79AA6; font-size:.72rem; text-align:center; padding:14px; letter-spacing:.03em; border-radius:12px;}

footer{border-top:1px solid var(--line); padding:44px 0 30px; background:var(--paper-dim);}
.foot-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:32px;}
@media (max-width:720px){ .foot-grid{grid-template-columns:1fr 1fr;} }
.foot-grid h4{font-size:.82rem; margin-bottom:12px; color:var(--ink-soft); font-weight:600;}
.foot-grid ul{list-style:none;}
.foot-grid li{margin-bottom:8px; font-size:.88rem;}
.foot-grid a{text-decoration:none; color:var(--ink); transition:color .15s;}
.foot-grid a:hover{color:var(--rose-deep);}
.foot-legal{margin-top:36px; padding-top:20px; border-top:1px solid var(--line); font-size:.75rem; color:#B98594; max-width:80ch;}

::selection{background:var(--rose); color:#fff;}
:focus-visible{outline:2px solid var(--rose-deep); outline-offset:2px;}

/* ---------- páginas de contenido (artículos, legal, sobre nosotros) ---------- */
.content-hero{padding:48px 0 30px; border-bottom:1px solid var(--line);}
.content-hero h1{font-size:2.1rem; max-width:30ch; margin-top:14px;}
.content-meta{font-size:.8rem; color:var(--rose-deep); font-weight:600;}
.back-link{display:inline-block; margin-bottom:18px; font-size:.85rem; color:var(--ink-soft); text-decoration:none;}
.back-link:hover{text-decoration:underline; color:var(--ink);}
.content-body{max-width:68ch; margin:0 auto; padding:48px 24px 64px;}
.content-body h2{font-size:1.4rem; margin:34px 0 14px;}
.content-body h3{font-size:1.12rem; margin:26px 0 10px;}
.content-body p{margin-bottom:16px; color:var(--ink-soft); font-size:1.02rem;}
.content-body ul, .content-body ol{margin:0 0 16px 22px; color:var(--ink-soft);}
.content-body li{margin-bottom:8px;}
.content-body strong{color:var(--ink);}
.related{border-top:1px solid var(--line); padding-top:28px; margin-top:12px;}
.related h4{font-size:.85rem; color:var(--ink-soft); margin-bottom:14px; font-weight:600;}
.related-links{display:flex; flex-direction:column; gap:8px;}
.related-links a{font-size:.95rem; text-decoration:none; color:var(--rose-deep); font-weight:600;}
.related-links a:hover{text-decoration:underline;}
