/* NUVOX — respond.io inspired, original brand */
:root{
  --bg:#ffffff; --bg-2:#f7f8fb; --bg-3:#eef1f7;
  --ink:#0a0f1c; --ink-2:#2a3347; --ink-3:#5c6678; --ink-4:#8a93a6;
  --line:#e5e8ef; --line-2:#d6dbe5;
  --brand:#0a0f1c; --brand-2:#000; --brand-ink:#ffffff;
  --accent:#00A86B; --accent-ink:#ffffff;
  --lime:#00A86B; --lime-ink:#ffffff;
  --peach:#ffd7c2; --peach-ink:#4a1d00;
  --lavender:#d9d4ff; --lavender-ink:#1a1250;
  --mint:#b8f0d6; --mint-ink:#06382a;
  --coral:#ff6b5b; --yellow:#ffd43b;
  --muted:#5c6678; --border:#e5e8ef;
  --r:14px; --r-lg:24px; --r-xl:36px;
  --shadow:0 1px 2px rgba(16,24,40,.04), 0 8px 24px -12px rgba(16,24,40,.12);
  --shadow-lg:0 1px 2px rgba(16,24,40,.04), 0 24px 60px -20px rgba(16,24,40,.18);
  --font:'Inter',system-ui,-apple-system,sans-serif;
  --font-display:'Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none}
img{max-width:100%;display:block}

.container{max-width:1240px;margin:0 auto;padding:0 24px}
.container-narrow{max-width:960px;margin:0 auto;padding:0 24px}

h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-0.03em;line-height:1.05;margin:0;font-weight:700;text-wrap:balance}
h1{font-size:clamp(44px,6.4vw,84px);letter-spacing:-0.04em;font-weight:800}
h2{font-size:clamp(34px,4.4vw,60px);letter-spacing:-0.035em;font-weight:800}
h3{font-size:clamp(22px,2.4vw,32px)}
p{text-wrap:pretty}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--brand);padding:6px 14px;border-radius:999px;background:#eef0ff;border:1px solid #d8dcff}
.eyebrow-lime{background:var(--lime);border-color:transparent;color:var(--lime-ink)}

.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:10px;font-weight:600;font-size:15px;transition:transform .15s, background .15s, box-shadow .15s;white-space:nowrap}
.btn-primary{background:var(--ink);color:white}
.btn-primary:hover{background:var(--brand-ink);transform:translateY(-1px)}
.btn-lime{background:var(--lime);color:var(--lime-ink);border:1.5px solid var(--ink)}
.btn-lime:hover{background:#d5ff55;transform:translateY(-1px);box-shadow:4px 4px 0 var(--ink)}
.btn-ghost{background:white;color:var(--ink);border:1px solid var(--line-2)}
.btn-ghost:hover{background:var(--bg-2);border-color:var(--ink)}
.btn-link{color:var(--ink);font-weight:600}
.btn-link:hover{color:var(--brand)}

.card{background:white;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.section{padding:110px 0;position:relative}
.section-sm{padding:72px 0}
@media(max-width:720px){.section{padding:72px 0}.section-sm{padding:48px 0}}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:28px}
.nav-links{display:flex;gap:2px;align-items:center}
.nav-link{padding:8px 14px;border-radius:8px;font-size:14.5px;font-weight:500;color:var(--ink-2);display:inline-flex;align-items:center;gap:4px;transition:background .15s}
.nav-link:hover{background:var(--bg-2);color:var(--ink)}
.nav-drop{position:absolute;top:100%;left:0;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:10px;min-width:280px;display:none}
.nav-item:hover .nav-drop{display:block}
.nav-item{position:relative}

.logo{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:22px;letter-spacing:-0.04em;color:var(--ink)}
.logo-mark{width:30px;height:30px;border-radius:8px;background:var(--ink);display:flex;align-items:center;justify-content:center;color:var(--lime)}

/* HERO */
.hero{padding:70px 0 50px;background:linear-gradient(180deg,#fff 0%, var(--bg-2) 100%);position:relative;overflow:hidden}
.hero h1 span.hl{background:var(--lime);padding:0 .15em;border-radius:8px;box-decoration-break:clone}
.hero-sub{font-size:20px;color:var(--ink-3);max-width:640px;margin:24px 0 32px}
.channel-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.channel-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:white;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:500;color:var(--ink-2)}
.channel-chip svg{flex-shrink:0}

/* Marquee logos */
.logos-strip{overflow:hidden;padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2)}
.logos-track{display:flex;gap:64px;animation:marquee 30s linear infinite;width:max-content}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.logo-item{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--ink-3);letter-spacing:-0.02em;white-space:nowrap;opacity:.75}

/* Feature tabs */
.feature-tabs{display:flex;gap:6px;background:white;border:1px solid var(--line);padding:6px;border-radius:14px;overflow-x:auto}
.feature-tab{padding:10px 18px;border-radius:10px;font-weight:600;font-size:14.5px;color:var(--ink-3);white-space:nowrap;transition:all .15s}
.feature-tab.active{background:var(--ink);color:white}
.feature-tab:not(.active):hover{background:var(--bg-2)}

/* Pillar cards */
.pillar-card{padding:40px;border-radius:28px;position:relative;overflow:hidden;min-height:340px;display:flex;flex-direction:column;justify-content:space-between}
.pillar-card h3{font-size:30px;margin-bottom:10px;letter-spacing:-0.03em}
.pillar-num{font-family:var(--mono);font-size:13px;font-weight:600;opacity:.6}

/* Inbox UI mock */
.mock{border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line);background:white}
.mock-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--bg-2);border-bottom:1px solid var(--line)}
.mock-dot{width:10px;height:10px;border-radius:999px}

/* FAQ */
.faq-item{border-bottom:1px solid var(--line);padding:18px 0}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;font-size:17px;font-weight:600;color:var(--ink);padding:4px 0}

/* Testimonial big */
.quote-big{font-family:var(--font-display);font-size:clamp(24px,3vw,38px);font-weight:600;letter-spacing:-0.02em;line-height:1.25}

/* Pricing */
.price-card{background:white;border:1.5px solid var(--line);border-radius:24px;padding:32px;transition:all .2s}
.price-card.featured{border-color:var(--ink);background:var(--ink);color:white;transform:translateY(-8px)}
.price-card.featured h3, .price-card.featured .price-amount{color:white}
.price-card.featured .price-feature{color:#cbd0e0}

/* Form */
.input{width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid var(--line-2);background:white;color:var(--ink);font-size:15px;font-family:inherit;outline:none;transition:border .15s}
.input:focus{border-color:var(--ink)}

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

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important;gap:16px}}
@media(max-width:900px){.md-hide{display:none!important}}

.mono{font-family:var(--mono)}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}

/* ============ RESPONSIVE GLOBAL ============ */
@media(max-width:900px){
  .container,.container-narrow{padding:0 20px}
  .nav-links{display:none}
  .nav-inner{padding:12px 0}
  .nav-cta-row{gap:8px!important}
  .nav-cta-row .btn{padding:10px 14px!important;font-size:13px!important}
  .hero{padding:40px 0 30px}
  .hero-sub{font-size:17px;margin:18px 0 24px}
  .channel-row{gap:6px;margin-top:20px}
  .channel-chip{padding:6px 10px;font-size:12px}
  .pillar-card{padding:28px;min-height:auto}
  .pillar-card h3{font-size:24px}
  .price-card{padding:24px}
  .price-card.featured{transform:none}
  .feature-tabs{gap:4px;padding:4px}
  .feature-tab{padding:8px 12px;font-size:13px}
  .quote-big{font-size:22px}
  .logos-track{gap:40px}
  .logo-item{font-size:18px}
}

/* Two-column hero/product layouts collapse */
@media(max-width:900px){
  [class*="hero-split"],
  [style*="grid-template-columns: 1.1fr 1fr"],
  [style*="grid-template-columns:1.1fr 1fr"],
  [style*="grid-template-columns: 1fr 1.1fr"],
  [style*="grid-template-columns: 1.2fr 1fr"],
  [style*="grid-template-columns: 1fr 1.2fr"],
  [style*="grid-template-columns: 1.4fr 1fr"],
  [style*="grid-template-columns: 1.3fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns: 2fr 1fr"],
  [style*="grid-template-columns: 1fr 2fr"]{
    grid-template-columns:1fr!important;
  }
  [style*="grid-template-columns:1.4fr repeat(4,1fr)"],
  .footer-grid{
    grid-template-columns:1fr 1fr!important;gap:28px!important;
  }
}

@media(max-width:640px){
  h1{font-size:clamp(34px,9vw,48px)!important}
  h2{font-size:clamp(28px,7vw,38px)!important}
  h3{font-size:clamp(20px,5.5vw,26px)!important}
  body{font-size:15px}
  .container,.container-narrow{padding:0 16px}
  .section{padding:56px 0}
  .section-sm{padding:40px 0}
  .btn{padding:11px 18px;font-size:14px}
  .hero-sub{font-size:15.5px}
  .mock{border-radius:14px}
  .price-card{padding:20px;border-radius:18px}
  .pillar-card{padding:22px;border-radius:20px}
  .eyebrow{font-size:12px;padding:5px 12px}
  .feature-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
  [style*="grid-template-columns:1.4fr repeat(4,1fr)"],
  .footer-grid{grid-template-columns:1fr!important}
  /* Tablas / stats grids dentro de componentes */
  [style*="display:grid"][style*="repeat(4"]:not(.grid-4){grid-template-columns:repeat(2,1fr)!important}
  [style*="display:grid"][style*="repeat(3"]:not(.grid-3){grid-template-columns:1fr!important}
}

/* Chat flotante no tape contenido en mobile */
@media(max-width:640px){
  .chat-float{bottom:12px!important;right:12px!important}
  .chat-float-panel{width:calc(100vw - 24px)!important;max-width:360px!important}
}

/* Horizontal overflow guard */
html,body{overflow-x:hidden;max-width:100vw}
img,svg{max-width:100%}

/* Inbox mock: scroll-x on mobile instead of cramming */
@media(max-width:900px){
  .inbox-mock-grid{grid-template-columns:72px 260px 1fr!important;min-height:460px!important;font-size:12px!important}
  .inbox-mock-grid .sidebar-label{display:none!important}
}
@media(max-width:640px){
  .inbox-mock-grid{grid-template-columns:1fr!important;min-height:auto!important}
  .inbox-mock-grid > div:first-child{display:none!important}
  .inbox-mock-grid > div:nth-child(2){border-right:none!important;max-height:240px;overflow:hidden}
}

/* Chat bubble animation */
@keyframes popin{0%{transform:scale(.9);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes typing{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-4px)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

.pulse{animation:float 4s ease-in-out infinite}
.bubble-in{animation:popin .35s ease both}

/* Nav dropdown transition */
.nav-drop{opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease}
.nav-item:hover .nav-drop{display:block;opacity:1;visibility:visible;transform:translateY(0)}

/* Marquee pause on hover */
.logos-strip:hover .logos-track{animation-play-state:paused}

/* FAQ icon transition */
.faq-icon{transition:transform .35s ease}

/* Product tab fade */
.product-panel{animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Case slide fade */
.case-slide{animation:fadeIn .4s ease}

/* Accessibility: reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .logos-track{animation:none!important}
  .pulse{animation:none!important}
  .reveal{opacity:1!important;transform:none!important}
}
