/* insolvenciapersonanatural.com — paleta "Amanecer": petróleo, verde vivo, sol */
body.ipn {
  --deep:#0B3A40; --deep2:#0F4C54; --green:#12C08A; --green-d:#0B9A6E; --sun:#FFC93C; --sun-d:#F2B400;
  --cream:#FFF8EC; --mint:#E3F8EF; --ink:#0B3A40; --muted:#3D6066; --orange:#FF7A45; --wa:#25D366;
  background:var(--cream); color:var(--ink); font-family:'Public Sans',-apple-system,'Segoe UI',sans-serif;
}
body.ipn h1, body.ipn h2, body.ipn h3 { font-family:inherit; color:inherit; letter-spacing:-0.02em; }
body.ipn .wrap { max-width:1160px; }
body.ipn .wrap.narrow { max-width:780px; }
body.ipn .center { text-align:center; justify-content:center; }
body.ipn a { color:inherit; }

/* Encabezado */
body.ipn header.site { background:var(--deep); }
body.ipn .header-row { max-width:1160px; padding-top:12px; padding-bottom:12px; gap:20px; }
body.ipn .wordmark img { height:66px; width:auto; margin:-6px 0 -6px -8px; }
.ipn-nav { display:flex !important; gap:28px; margin-left:auto; }
body.ipn .ipn-nav a { color:#CFE9E2; text-decoration:none; font-weight:600; font-size:0.95rem; }
body.ipn .ipn-nav a:hover { color:var(--sun); }
.nav-wa { display:inline-flex; align-items:center; gap:8px; background:var(--wa); color:#06302A !important; font-weight:800; text-decoration:none; padding:10px 18px; border-radius:999px; font-size:0.95rem; }
.nav-wa .wa-icon { width:18px; height:18px; }

/* Botones */
.btn-wa, .btn-ghost, .btn-light { display:inline-flex; align-items:center; justify-content:center; gap:10px; text-decoration:none; font-weight:800; border-radius:999px; padding:14px 24px; font-size:1rem; transition:transform .15s ease, box-shadow .15s ease, background .15s; cursor:pointer; border:0; font-family:inherit; }
.btn-wa { background:var(--sun); color:var(--deep) !important; box-shadow:0 8px 0 var(--sun-d), 0 14px 30px rgba(255,201,60,.35); }
.btn-wa:hover { transform:translateY(-2px); }
.btn-wa:active { transform:translateY(4px); box-shadow:0 3px 0 var(--sun-d); }
.btn-wa .wa-icon { width:22px; height:22px; }
.btn-ghost { color:#fff !important; border:2px solid rgba(255,255,255,.55); }
.btn-ghost:hover { border-color:var(--sun); color:var(--sun) !important; }
.btn-light { background:var(--deep); color:#fff !important; }
.btn-light:hover { background:var(--deep2); }
.xl { padding:18px 30px; font-size:1.08rem; }
.pulse { animation:pulse 2.4s ease-in-out infinite; }
@keyframes pulse { 0%,100% { box-shadow:0 8px 0 var(--sun-d), 0 0 0 0 rgba(255,201,60,.55);} 60% { box-shadow:0 8px 0 var(--sun-d), 0 0 0 18px rgba(255,201,60,0);} }
.cta-row { display:flex; flex-wrap:wrap; gap:16px; margin:0; }

/* Hero */
.hero { position:relative; overflow:hidden; background:var(--deep); color:#fff; padding:56px 0 84px; }
.hero::before { content:""; position:absolute; width:720px; height:720px; right:-180px; top:-260px; background:radial-gradient(circle, rgba(18,192,138,.45), transparent 62%); }
.hero::after { content:""; position:absolute; width:560px; height:560px; left:-200px; bottom:-320px; background:radial-gradient(circle, rgba(255,201,60,.28), transparent 65%); }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; }
.tag { display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); color:#E8FFF6; font-weight:700; font-size:.88rem; padding:8px 14px; border-radius:999px; margin:0 0 22px; }
.tag .dot { width:9px; height:9px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(18,192,138,.3); }
.hero h1 { font-size:clamp(2.6rem,6.4vw,4.9rem); line-height:1.0; font-weight:900; margin:0 0 22px; color:#fff; }
.hero h1 mark { background:var(--sun); color:var(--deep); padding:0 .16em; border-radius:.14em; display:inline-block; transform:rotate(-1.5deg); margin-top:.08em; }
.hero .lede { font-size:1.2rem; line-height:1.55; color:#CFE9E2; max-width:50ch; margin:0 0 32px; }
.hero .lede strong { color:#fff; }
.trust { list-style:none; padding:0; margin:30px 0 0; display:flex; flex-wrap:wrap; gap:10px 22px; }
.trust li { position:relative; padding-left:26px; color:#CFE9E2; font-weight:600; font-size:.93rem; }
.trust li::before { content:"✓"; position:absolute; left:0; top:-1px; width:19px; height:19px; border-radius:50%; background:var(--green); color:var(--deep); font-size:.72rem; font-weight:900; display:grid; place-items:center; }

.hero-visual { position:relative; display:flex; flex-direction:column; align-items:center; gap:14px; }
.chips { position:relative; width:100%; max-width:420px; height:190px; }
.chip { position:absolute; background:#fff; color:var(--deep); font-weight:800; padding:12px 16px; border-radius:14px; box-shadow:0 12px 30px rgba(0,0,0,.25); font-size:.98rem; animation:float 5s ease-in-out infinite; white-space:nowrap; }
.chip b { background:var(--orange); color:#fff; font-size:.7rem; padding:3px 7px; border-radius:6px; margin-left:6px; vertical-align:2px; }
.chip::before { content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--orange); margin-right:8px; vertical-align:1px; }
.c1 { left:0; top:6px; transform:rotate(-5deg); }
.c2 { right:0; top:0; transform:rotate(4deg); animation-delay:-1.2s; }
.c3 { left:22%; top:72px; transform:rotate(2deg); animation-delay:-2.1s; }
.c4 { right:4%; top:96px; transform:rotate(-3deg); animation-delay:-3s; }
.c5 { left:2%; top:136px; transform:rotate(3deg); animation-delay:-.6s; }
@keyframes float { 0%,100% { translate:0 0; } 50% { translate:0 -8px; } }
.arrow { width:54px; height:54px; border-radius:50%; background:var(--sun); color:var(--deep); display:grid; place-items:center; box-shadow:0 0 0 8px rgba(255,201,60,.18); }
.arrow svg { width:28px; height:28px; }
.deal { width:100%; max-width:420px; background:#fff; color:var(--deep); border-radius:22px; padding:22px; box-shadow:0 22px 50px rgba(0,0,0,.35); border:3px solid var(--green); }
.deal-top { display:flex; gap:14px; align-items:center; }
.deal-top .ok { flex:none; width:46px; height:46px; border-radius:50%; background:var(--green); color:#fff; font-weight:900; font-size:1.4rem; display:grid; place-items:center; }
.deal-top strong { display:block; font-size:1.2rem; font-weight:900; }
.deal-top small { color:var(--muted); font-weight:600; }
.bar { height:12px; border-radius:99px; background:var(--mint); margin:18px 0 12px; overflow:hidden; }
.bar span { display:block; height:100%; width:0; background:linear-gradient(90deg,var(--green),#5BE3B4); border-radius:99px; animation:fill 2.4s .4s ease-out forwards; }
@keyframes fill { to { width:72%; } }
.deal-meta { display:flex; justify-content:space-between; gap:10px; font-size:.83rem; font-weight:700; color:var(--muted); }

/* Cinta */
.ticker { background:var(--sun); color:var(--deep); overflow:hidden; border-block:3px solid var(--deep); }
.track { display:flex; width:max-content; gap:26px; padding:14px 0; animation:marquee 34s linear infinite; font-weight:900; font-size:1.02rem; text-transform:uppercase; letter-spacing:.02em; }
.track i { font-style:normal; color:var(--green-d); }
@keyframes marquee { to { transform:translateX(-50%); } }

/* Secciones */
.sec { padding:84px 0; }
.sec h2, .band h2, .final h2 { font-size:clamp(2rem,4.2vw,3.1rem); font-weight:900; line-height:1.05; margin:0 0 34px; }
.kicker { font-weight:800; text-transform:uppercase; letter-spacing:.09em; font-size:.82rem; color:var(--green-d); margin:0 0 12px; }
.kicker.light { color:var(--green); }

.signs-sec { text-align:center; }
.signs { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; text-align:left; }
.signs li { background:#fff; border-radius:20px; padding:22px; display:flex; gap:16px; align-items:center; font-weight:700; font-size:1.04rem; line-height:1.35; box-shadow:0 2px 0 rgba(11,58,64,.08), 0 12px 28px rgba(11,58,64,.07); transition:transform .2s; }
.signs li:hover { transform:translateY(-4px) rotate(-.4deg); }
.signs .ic { flex:none; width:52px; height:52px; border-radius:16px; background:var(--mint); color:var(--green-d); display:grid; place-items:center; }
.signs .ic svg { width:26px; height:26px; }

/* Test */
.quiz-sec { background:var(--deep); color:#fff; position:relative; overflow:hidden; }
.quiz-sec::before { content:""; position:absolute; inset:auto -200px -300px auto; width:640px; height:640px; background:radial-gradient(circle, rgba(18,192,138,.35), transparent 62%); }
.quiz-grid { position:relative; display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:center; }
.quiz-intro p { color:#CFE9E2; font-size:1.1rem; line-height:1.6; }
.quiz-card { background:#fff; color:var(--deep); border-radius:26px; padding:30px; box-shadow:0 30px 60px rgba(0,0,0,.35); min-height:340px; }
.progress { height:10px; background:var(--mint); border-radius:99px; overflow:hidden; margin:0 0 24px; }
.progress span { display:block; height:100%; width:25%; background:var(--green); border-radius:99px; transition:width .35s ease; }
.q { border:0; padding:0; margin:0; }
.q legend { font-size:1.45rem; font-weight:900; line-height:1.2; margin:0 0 18px; padding:0; }
.qn { display:block; font-size:.8rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--green-d); margin:0 0 8px; }
.opts { display:grid; gap:12px; }
.opt { text-align:left; font:700 1.04rem/1.3 inherit; font-family:inherit; color:var(--deep); background:#fff; border:2px solid #D6E4E1; border-radius:16px; padding:16px 18px; cursor:pointer; transition:border-color .15s, background .15s, transform .15s; }
.opt:hover, .opt:focus-visible { border-color:var(--green); background:var(--mint); transform:translateX(4px); outline:none; }
.result h3 { font-size:1.6rem; font-weight:900; margin:6px 0 10px; line-height:1.15; }
.result p { color:var(--muted); line-height:1.6; margin:0 0 20px; }
.r-tag { display:inline-block; font-weight:900; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; padding:6px 12px; border-radius:999px; background:var(--mint); color:var(--green-d) !important; margin:0 !important; }
.r-tag.warn { background:#FFF0D6; color:#9A5B00 !important; }
.restart { margin-top:16px; background:none; border:0; color:var(--muted); font:600 .92rem inherit; font-family:inherit; text-decoration:underline; cursor:pointer; padding:0; }

/* Cifras */
.stats-sec { text-align:center; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; text-align:left; }
.stat { background:#fff; border-radius:22px; padding:26px 22px; border-top:6px solid var(--green); box-shadow:0 12px 28px rgba(11,58,64,.07); }
.stat:nth-child(2) { border-color:var(--sun); } .stat:nth-child(3) { border-color:var(--orange); } .stat:nth-child(4) { border-color:var(--deep); }
.num { white-space:nowrap; font-size:clamp(2.1rem,3.8vw,3.2rem); font-weight:900; line-height:1; color:var(--deep); letter-spacing:-.03em; margin:0 0 12px; }
.num small { font-size:.42em; font-weight:800; letter-spacing:0; color:var(--green-d); margin-left:4px; }
.stat p { margin:0; color:var(--muted); line-height:1.5; font-weight:500; }

/* Antes / durante */
.vs-sec { background:var(--mint); text-align:center; }
.vs { display:grid; grid-template-columns:1fr 1fr; gap:22px; text-align:left; }
.vs .col { border-radius:26px; padding:30px; }
.vs h3 { font-size:1.35rem; font-weight:900; margin:0 0 18px; }
.vs ul { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.vs li { position:relative; padding-left:38px; font-weight:600; line-height:1.4; }
.vs li::before { position:absolute; left:0; top:-2px; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-weight:900; font-size:.85rem; }
.before { background:#fff; color:var(--muted); }
.before h3 { color:var(--deep); }
.before li::before { content:"✕"; background:#FFE4D8; color:var(--orange); }
.after { background:var(--deep); color:#fff; box-shadow:0 22px 44px rgba(11,58,64,.25); transform:rotate(.6deg); }
.after h3 { color:var(--sun); }
.after li::before { content:"✓"; background:var(--green); color:var(--deep); }
.note { color:var(--muted); font-size:.9rem; margin:22px 0 0; }

/* Pasos */
.how-sec { text-align:center; }
.steps { list-style:none; margin:0 0 30px; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; text-align:left; counter-reset:s; }
.steps li { background:#fff; border-radius:22px; padding:26px 22px; position:relative; box-shadow:0 12px 28px rgba(11,58,64,.07); }
.steps .n { width:48px; height:48px; border-radius:50%; background:var(--sun); color:var(--deep); font-weight:900; font-size:1.3rem; display:grid; place-items:center; margin:0 0 14px; box-shadow:0 5px 0 var(--sun-d); }
.steps h3 { font-size:1.15rem; font-weight:900; margin:0 0 8px; }
.steps p { margin:0; color:var(--muted); line-height:1.5; }
.paths { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; text-align:left; }
.paths > div { border:2px dashed rgba(11,58,64,.2); border-radius:20px; padding:22px; }
.paths h3 { font-size:1.08rem; font-weight:900; margin:0 0 8px; color:var(--green-d); }
.paths p { margin:0; color:var(--muted); line-height:1.5; }

/* Banda */
.band { background:var(--green); color:var(--deep); padding:54px 0; }
.band-row { display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.band h2 { margin:0; max-width:20ch; }
.band .btn-wa { background:var(--deep); color:#fff !important; box-shadow:0 8px 0 #062327; }

/* FAQ */
.faq-sec h2 { text-align:center; }
.faq { background:#fff; border-radius:18px; margin:0 0 12px; box-shadow:0 6px 18px rgba(11,58,64,.06); border:2px solid transparent; transition:border-color .2s; }
.faq[open] { border-color:var(--green); }
.faq summary { cursor:pointer; list-style:none; padding:20px 58px 20px 22px; font-weight:800; font-size:1.06rem; position:relative; line-height:1.35; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; position:absolute; right:18px; top:50%; transform:translateY(-50%); width:30px; height:30px; border-radius:50%; background:var(--sun); color:var(--deep); display:grid; place-items:center; font-weight:900; }
.faq[open] summary::after { content:"–"; background:var(--green); color:#fff; }
.faq p { margin:0; padding:0 22px 22px; color:var(--muted); line-height:1.65; }

/* Quién */
.who-sec { background:#fff; }
.who { display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:center; }
.who h2 { margin-bottom:18px; }
.who p { color:var(--muted); line-height:1.65; font-size:1.06rem; }
.who a:not(.btn-light) { color:var(--green-d); font-weight:700; }
.who-card { background:var(--cream); border:3px solid var(--sun); border-radius:24px; padding:28px; }
.who-card p { margin:0 0 18px; }

/* Cierre */
.final { position:relative; overflow:hidden; background:var(--deep); color:#fff; padding:92px 0; text-align:center; }
.final::before { content:""; position:absolute; left:50%; top:-280px; transform:translateX(-50%); width:900px; height:560px; background:radial-gradient(ellipse, rgba(255,201,60,.32), transparent 65%); }
.final .wrap { position:relative; }
.final h2 { margin-bottom:12px; }
.final p { color:#CFE9E2; font-size:1.15rem; margin:0 0 30px; }
.final .small { font-size:.92rem; margin:26px 0 0; }
.legal { background:var(--cream); padding:28px 0 36px; }
.legal p { margin:0; font-size:.8rem; color:var(--muted); line-height:1.6; }

/* WhatsApp flotante */
.float-wa { position:fixed; right:22px; bottom:22px; z-index:40; width:64px; height:64px; border-radius:50%; background:var(--wa); color:#fff; display:grid; place-items:center; box-shadow:0 10px 26px rgba(0,0,0,.3); animation:ring 3s ease-in-out infinite; }
.float-wa .wa-icon { width:34px; height:34px; }
@keyframes ring { 0%,100% { box-shadow:0 10px 26px rgba(0,0,0,.3), 0 0 0 0 rgba(37,211,102,.6);} 50% { box-shadow:0 10px 26px rgba(0,0,0,.3), 0 0 0 16px rgba(37,211,102,0);} }

body.ipn footer.site { background:#062327; }
body.ipn .modal-brand { background:var(--deep); }
body.ipn .modal .btn.primary { background:var(--green-d); border-color:var(--green-d); color:#fff; }

/* Animación de entrada */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in { opacity:1; transform:none; }

@media (max-width: 960px) {
  .hero-grid, .quiz-grid, .who { grid-template-columns:1fr; }
  .signs { grid-template-columns:1fr 1fr; }
  .stats, .steps { grid-template-columns:1fr 1fr; }
  .paths { grid-template-columns:1fr; }
  .ipn-nav { display:none !important; }
}
@media (max-width: 640px) {
  body.ipn .wrap, body.ipn .header-row { padding-left:18px; padding-right:18px; }
  body.ipn .wordmark img { height:52px; margin-left:-6px; }
  .nav-wa { padding:9px 14px; font-size:.88rem; }
  .hero { padding:36px 0 56px; }
  .hero h1 { font-size:2.75rem; }
  .cta-row .xl { width:100%; }
  .chips { height:200px; }
  .chip { font-size:.86rem; padding:10px 12px; }
  .signs, .stats, .steps, .vs { grid-template-columns:1fr; }
  .sec { padding:60px 0; }
  .quiz-card { padding:22px; }
  .after { transform:none; }
  .band-row .btn-wa { width:100%; }
  .float-wa { width:58px; height:58px; right:16px; bottom:16px; }
}
@media (prefers-reduced-motion: reduce) {
  .chip, .pulse, .track, .float-wa, .bar span { animation:none !important; }
  .bar span { width:72%; }
  .reveal { opacity:1; transform:none; transition:none; }
}
html:has(body.ipn) { scroll-padding-top: 92px; }

/* Política de datos en el sitio de insolvencia */
body.ipn .policy { --ink:#0B3A40; --slate:#3D6066; --accent:#0B9A6E; --line:rgba(11,58,64,.15); color:var(--ink); background:var(--cream); }
body.ipn .policy h1 { font-family:inherit; font-weight:900; letter-spacing:-.02em; }
body.ipn .policy-body h2 { font-family:inherit; font-weight:800; }
body.ipn .policy-body p, body.ipn .policy-body li { color:#24484D; line-height:1.7; }
