/* IP Vitrina — landing de venta (marca IP Marketing) */
:root{--ink:#14121F;--ink2:#0E0C17;--violet:#6D4AE0;--violet-h:#5B3DD0;--lav:#B9A4EC;--tint:#EEE9FB;--tint-t:#4B32B0;--text:#1B1830;--gray:#55506A;--bg:#F7F6FB;--line:#E6E3EF;--wa:#1FAF54}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Figtree',system-ui,sans-serif;color:var(--text);background:#fff;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Outfit',system-ui,sans-serif;line-height:1.12;margin:0 0 .5em;letter-spacing:-.015em}
h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
a{color:inherit}
img{max-width:100%;display:block}
.ic{flex:none;vertical-align:middle}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.narrow{max-width:780px}
.center{text-align:center}
.muted{color:var(--gray)}
.mono{font-family:ui-monospace,Menlo,monospace;font-size:.85em}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:600;color:var(--violet);margin-bottom:12px}
.fine{font-size:.88rem;color:var(--gray);margin-top:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.8em 1.3em;border-radius:12px;font-weight:600;text-decoration:none;border:1.5px solid transparent;line-height:1.1;transition:background .15s,transform .1s;white-space:nowrap}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--violet);color:#fff}
.btn-primary:hover{background:var(--violet-h)}
.btn-ghost{border-color:rgba(255,255,255,.28);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-ghost-dark{border-color:var(--line);color:var(--text)}
.btn-dark{background:var(--ink);color:#fff}
.btn-sm{padding:.55em .95em;font-size:.9rem}
.btn-lg{padding:1em 1.6em;font-size:1.04rem}
.btn-block{width:100%}

/* Navegación */
.nav{position:sticky;top:0;z-index:20;background:rgba(20,18,31,.92);backdrop-filter:blur(10px);color:#fff;border-bottom:1px solid rgba(255,255,255,.06)}
.nav-in{display:flex;align-items:center;gap:24px;height:66px}
.logo{display:flex;align-items:baseline;gap:8px;text-decoration:none}
.lg-ip{font-family:'Outfit',sans-serif;font-weight:700;font-size:1.55rem;color:var(--lav)}
.lg-v{font-size:.72rem;letter-spacing:.32em;color:#fff;font-weight:600}
.nav-links{display:flex;gap:22px;margin-left:12px}
.nav-links a{text-decoration:none;color:#CFC9E2;font-size:.95rem;font-weight:500}
.nav-links a:hover{color:#fff}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:16px}
.nav-login{color:#CFC9E2;text-decoration:none;font-weight:500;font-size:.95rem}

/* Hero */
.hero{background:var(--ink) radial-gradient(1100px 500px at 85% -10%,#2B2148 0%,transparent 60%);color:#fff;padding:70px 0 90px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.hero .eyebrow{color:var(--lav)}
.hero h1{font-size:clamp(2.3rem,5vw,3.7rem);margin-bottom:.4em}
.hl{color:var(--lav)}
.lead{font-size:1.15rem;color:#CFC9E2;max-width:34em}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero .fine{color:#A9A2C2}
.hero-visual{position:relative;height:560px}
.phone{position:absolute;right:40px;top:0;width:290px;height:580px;border-radius:42px;background:#0B0A12;padding:12px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.08) inset}
.phone-notch{position:absolute;top:16px;left:50%;transform:translateX(-50%);width:90px;height:22px;border-radius:12px;background:#0B0A12;z-index:2}
.phone iframe{width:375px;height:740px;border:0;border-radius:32px;transform:scale(.7146);transform-origin:0 0;background:#fff;pointer-events:none}
.chat{position:absolute;left:0;bottom:30px;width:300px;background:#E9E4DC;border-radius:18px;padding:12px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);color:#1b1b1b;font-size:.84rem;line-height:1.45}
.chat-head{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.chat-head small{display:block;color:#5d5d5d;font-size:.72rem}
.chat-av{width:30px;height:30px;border-radius:50%;background:var(--wa)}
.bubble{background:#D9FDD3;border-radius:12px 12px 4px 12px;padding:10px 12px}

/* Dolores */
.pains{padding:90px 0 40px}
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.pain{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:28px}
.pain-n{font-family:'Outfit',sans-serif;font-weight:700;color:var(--lav);font-size:1.6rem}
.pain h3{margin-top:10px}
.pain p{color:var(--gray);margin:0}

/* Funciones */
.features{padding:70px 0}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.feat{border:1px solid var(--line);border-radius:18px;padding:24px}
.feat-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--tint);color:var(--tint-t);margin-bottom:14px}
.feat h3{font-size:1.05rem}
.feat p{color:var(--gray);font-size:.95rem;margin:0}

/* Pasos */
.steps{padding:60px 0;background:var(--bg)}
.step-list{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.step-list li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
.step-list span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;font-family:'Outfit',sans-serif;font-weight:700;margin-bottom:14px}
.step-list p{color:var(--gray);margin:0}

/* Demos */
.demos{padding:90px 0}
.demo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:36px}
.demo-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}
.demo-img{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg)}
.demo-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.demo-card:hover .demo-img img{transform:scale(1.03)}
.demo-tag{position:absolute;left:14px;top:14px;background:rgba(20,18,31,.85);color:#fff;font-size:.8rem;font-weight:600;padding:5px 11px;border-radius:999px}
.demo-body{padding:22px 24px 24px}
.demo-body p{color:var(--gray)}
.demo-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Anuncios */
.ads{background:var(--ink);color:#fff;padding:80px 0}
.ads .eyebrow{color:var(--lav)}
.ads p{color:#CFC9E2}
.ads .muted{color:#A9A2C2}
.ads-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}
.ads-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.ads-list li{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);padding:14px 16px;border-radius:12px}
.ads-list .ic{color:var(--lav);margin-top:3px}
.link-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--lav);font-weight:600;text-decoration:none}

/* Precio */
.pricing{padding:90px 0;background:var(--bg)}
.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,380px));justify-content:center;gap:24px;margin-top:40px}
.price-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px 28px;display:flex;flex-direction:column}
.price-card.featured{border:2px solid var(--violet);box-shadow:0 30px 60px -35px rgba(109,74,224,.55)}
.ribbon{position:absolute;top:-13px;left:28px;background:var(--violet);color:#fff;font-size:.76rem;font-weight:600;padding:4px 12px;border-radius:999px}
.price{font-family:'Outfit',sans-serif;font-weight:700;font-size:3rem;line-height:1;margin:6px 0 8px}
.price span{font-size:1rem;color:var(--gray);font-weight:500}
.price-note{color:var(--gray);font-size:.95rem;min-height:2.6em}
.price-card ul{list-style:none;padding:0;margin:8px 0 26px;display:grid;gap:10px;flex:1}
.price-card li{padding-left:26px;position:relative}
.price-card li::before{content:'';position:absolute;left:0;top:.5em;width:14px;height:8px;border-left:2px solid var(--violet);border-bottom:2px solid var(--violet);transform:rotate(-45deg)}
.done-for-you{max-width:784px;margin:26px auto 0;background:#fff;border:1px dashed #CFC4F2;border-radius:18px;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.done-for-you h3{margin-bottom:4px}
.done-for-you p{margin:0}

/* Preguntas */
.faq{padding:90px 0}
.faq h2{margin-bottom:30px}
.qa{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-weight:600;font-size:1.06rem}
.qa summary::-webkit-details-marker{display:none}
.qa summary .ic{color:var(--violet);transition:transform .2s}
.qa[open] summary .ic{transform:rotate(45deg)}
.qa p{color:var(--gray);margin:0 0 20px}

/* Cierre */
.final{padding:0 0 90px}
.final-in{background:var(--ink) radial-gradient(700px 300px at 80% 0%,#2B2148,transparent 70%);color:#fff;border-radius:28px;padding:64px 30px;text-align:center}
.final-in p{color:#CFC9E2}
.center-ctas{justify-content:center}
.foot{border-top:1px solid var(--line);padding:34px 0;font-size:.92rem;color:var(--gray)}
.foot-in{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start}
.foot .lg-v{color:var(--ink)}
.foot .lg-ip{color:var(--violet)}
.foot p{margin:8px 0 0}
.foot-links{display:grid;gap:6px;text-align:right}
.foot a{text-decoration:none}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{height:520px;max-width:460px;margin:0 auto;width:100%}
  .phone{right:0}
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .ads-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .nav-links{display:none}
  .nav-login{display:none}
  .hero{padding:44px 0 60px}
  .pain-grid,.step-list,.demo-grid{grid-template-columns:1fr}
  .price-grid{grid-template-columns:1fr}
  .foot-links{text-align:left}
}
@media (max-width:480px){
  body{font-size:16px}
  .feat-grid{grid-template-columns:1fr}
  .hero-visual{height:470px}
  .phone{width:250px;height:500px;right:0;border-radius:36px}
  .phone iframe{transform:scale(.6133);border-radius:28px}
  .chat{width:240px;font-size:.78rem;bottom:0}
  .hero-ctas .btn{width:100%}
}
