/* ============================================================
   Call Sandwich — Main Stylesheet
   Shared across all pages
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#07090f;
  --bg2:#0d1117;
  --bg3:#111827;
  --border:rgba(255,255,255,0.06);
  --text:#e2e8f0;
  --muted:#94a3b8;
  --accent:#00d4ff;
  --accent2:#7c3aed;
  --accent3:#10b981;
  --accent4:#f59e0b;
}

html{scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  line-height:1.6;
}

/* ---- NAV ---- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2rem;height:84px;
  background:rgba(7,9,15,0.85);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}
.nav-logo{
  display:flex;align-items:center;gap:12px;text-decoration:none;
}
.nav-logo img{height:62px;width:auto;display:block;}
.nav-logo-text{font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:-0.02em;}
.nav-badge{
  font-size:0.62rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  color:#fff;padding:3px 8px;border-radius:4px;margin-left:8px;
}
.nav-links{display:flex;align-items:center;gap:2rem;}
.nav-links a{color:var(--muted);text-decoration:none;font-size:0.9rem;font-weight:500;transition:color 0.2s;}
.nav-links a:hover{color:#fff;}
.nav-cta{
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  color:#fff;text-decoration:none;padding:9px 20px;border-radius:8px;
  font-size:0.85rem;font-weight:600;transition:opacity 0.2s;
}
.nav-cta:hover{opacity:0.85;}

/* ---- HERO ---- */
.hero{
  min-height:100vh;display:flex;align-items:flex-start;justify-content:center;
  padding:100px 2rem 80px;
  position:relative;overflow:hidden;
  background: radial-gradient(ellipse 80% 60% at 50% -10%, rgba(124,58,237,0.18) 0%, transparent 60%),
              radial-gradient(ellipse 60% 40% at 80% 60%, rgba(0,212,255,0.08) 0%, transparent 50%),
              var(--bg);
}
.hero::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.015) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,0.015) 1px,transparent 1px);
  background-size:60px 60px;
}
.hero-inner{
  max-width:900px;width:100%;text-align:center;position:relative;z-index:1;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(0,212,255,0.08);border:1px solid rgba(0,212,255,0.2);
  color:var(--accent);padding:6px 16px;border-radius:100px;
  font-size:0.8rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;
  margin-bottom:1.5rem;
}
.hero-eyebrow span{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(0.8)}}

h1{
  font-size:clamp(2.4rem,5vw,4rem);font-weight:900;line-height:1.1;
  letter-spacing:-0.03em;margin-bottom:1.5rem;
}
h1 .grad{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-sub{
  font-size:1.15rem;color:var(--muted);max-width:640px;margin:0 auto 2.5rem;line-height:1.7;
}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:3.5rem;}

/* ---- BUTTONS ---- */
.btn-primary{
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  color:#fff;text-decoration:none;padding:14px 32px;border-radius:10px;
  font-weight:700;font-size:1rem;transition:transform 0.2s,box-shadow 0.2s;
  box-shadow:0 0 30px rgba(0,212,255,0.2);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 50px rgba(0,212,255,0.3);}
.btn-secondary{
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);
  color:#fff;text-decoration:none;padding:14px 32px;border-radius:10px;
  font-weight:600;font-size:1rem;transition:background 0.2s,border-color 0.2s;
}
.btn-secondary:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.2);}

/* ---- HERO STATS ---- */
.hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--border);border-radius:16px;overflow:hidden;
  border:1px solid var(--border);
}
.stat-item{
  background:var(--bg2);padding:1.5rem 1rem;text-align:center;
  transition:background 0.2s;
}
.stat-item:hover{background:rgba(255,255,255,0.03);}
.stat-num{
  font-size:2rem;font-weight:900;letter-spacing:-0.03em;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1;margin-bottom:0.4rem;
}
.stat-label{font-size:0.78rem;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:0.04em;}

/* ---- SECTION BASE ---- */
section{padding:80px 2rem;}
.section-inner{max-width:1140px;margin:0 auto;}
.section-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:0.75rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--accent);margin-bottom:1rem;
}
.section-tag::before{content:'';width:16px;height:2px;background:var(--accent);}
h2{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;letter-spacing:-0.03em;margin-bottom:1rem;}
.section-sub{font-size:1.05rem;color:var(--muted);max-width:580px;line-height:1.7;}

/* ---- PARTNER STRIP ---- */
.partner-strip{
  padding:32px 2rem;
  background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);
}
.partner-strip-inner{
  max-width:1140px;margin:0 auto;
  display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap;
}
.partner-badge{
  display:flex;align-items:center;gap:10px;
  padding:10px 20px;border-radius:10px;
  border:1px solid var(--border);background:rgba(255,255,255,0.02);
  font-size:0.85rem;font-weight:600;color:var(--text);
}
.partner-badge .dot{width:8px;height:8px;border-radius:50%;}
.partner-badge.retell .dot{background:#00d4ff;}
.partner-badge.jambonz .dot{background:#10b981;}
.partner-badge.elite{
  border-color:rgba(245,158,11,0.3);
  background:rgba(245,158,11,0.05);
  color:#f59e0b;
}
.partner-badge.elite .dot{background:#f59e0b;}
.partner-since{font-size:0.85rem;color:var(--muted);font-weight:500;}

/* ---- CLIENT LOGOS ---- */
.clients-section{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.clients-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  margin-top:3rem;
}
.client-logo-cell{
  background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  padding:32px 24px;
  transition:background 0.2s;
  min-height:110px;
}
.client-logo-cell:hover{background:rgba(255,255,255,0.03);}
.client-logo-cell img{
  max-height:40px;max-width:130px;width:auto;
  filter:brightness(0) invert(1);
  opacity:0.7;
  transition:opacity 0.2s;
  object-fit:contain;
}
.client-logo-cell:hover img{opacity:1;}
.client-logo-cell .client-name{
  font-size:0.85rem;font-weight:600;color:var(--muted);
  text-align:center;letter-spacing:0.02em;
}

/* ---- INTEGRATION MARQUEE ---- */
.marquee-section{padding:60px 0;overflow:hidden;position:relative;}
.marquee-section::before,.marquee-section::after{
  content:'';position:absolute;top:0;bottom:0;width:150px;z-index:2;pointer-events:none;
}
.marquee-section::before{left:0;background:linear-gradient(90deg,var(--bg),transparent);}
.marquee-section::after{right:0;background:linear-gradient(270deg,var(--bg),transparent);}
.marquee-label{
  text-align:center;font-size:0.75rem;font-weight:700;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--muted);margin-bottom:2rem;
}
.marquee-track{display:flex;width:max-content;animation:marquee 45s linear infinite;}
.marquee-track:hover{animation-play-state:paused;}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-item{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:0 2.5rem;
}
.marquee-item img{
  height:36px;width:auto;max-width:110px;
  filter:brightness(0) invert(1);opacity:0.55;
  transition:opacity 0.2s;object-fit:contain;
}
.marquee-item:hover img{opacity:0.9;}
.marquee-item span{font-size:0.7rem;font-weight:600;color:var(--muted);letter-spacing:0.04em;white-space:nowrap;}

/* ---- SERVICES ---- */
.services-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;
}
.service-card{
  background:var(--bg2);border:1px solid var(--border);border-radius:16px;
  padding:2rem;transition:border-color 0.2s,transform 0.2s;
  position:relative;overflow:hidden;
}
.service-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--accent2),var(--accent));
  transform:scaleX(0);transform-origin:left;transition:transform 0.3s;
}
.service-card:hover::before{transform:scaleX(1);}
.service-card:hover{border-color:rgba(0,212,255,0.2);transform:translateY(-4px);}
.service-icon{
  width:48px;height:48px;border-radius:12px;
  background:linear-gradient(135deg,rgba(0,212,255,0.15),rgba(124,58,237,0.15));
  border:1px solid rgba(0,212,255,0.2);
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;margin-bottom:1.2rem;
}
.service-card h3{font-size:1.05rem;font-weight:700;margin-bottom:0.6rem;letter-spacing:-0.01em;}
.service-card p{font-size:0.875rem;color:var(--muted);line-height:1.65;}

/* ---- PLATFORM EXPERTISE ---- */
.platform-section{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.expertise-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2.5rem;}
.expertise-card{
  background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:1.8rem;
}
.expertise-card h3{font-size:1rem;font-weight:700;margin-bottom:1rem;color:var(--accent);}
.chip-list{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);
  color:var(--text);font-size:0.78rem;font-weight:500;
  padding:5px 12px;border-radius:100px;
}

/* ---- RETELL FEATURE ---- */
.retell-section{
  background:linear-gradient(135deg,rgba(0,212,255,0.04) 0%,rgba(124,58,237,0.04) 100%);
  border-top:1px solid rgba(0,212,255,0.1);border-bottom:1px solid rgba(0,212,255,0.1);
}
.retell-inner{
  max-width:1140px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;
}
.retell-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(0,212,255,0.1);border:1px solid rgba(0,212,255,0.25);
  color:var(--accent);padding:6px 14px;border-radius:100px;
  font-size:0.75rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  margin-bottom:1rem;
}
.retell-inner h2{font-size:1.9rem;font-weight:800;margin-bottom:1rem;letter-spacing:-0.02em;}
.retell-inner p{color:var(--muted);margin-bottom:1.5rem;line-height:1.7;}
.retell-features{list-style:none;display:flex;flex-direction:column;gap:0.7rem;margin-bottom:2rem;}
.retell-features li{
  display:flex;align-items:center;gap:10px;font-size:0.9rem;color:var(--muted);
}
.retell-features li::before{content:'✓';color:var(--accent);font-weight:700;font-size:0.85rem;}
.retell-visual{
  background:var(--bg2);border:1px solid rgba(0,212,255,0.15);border-radius:20px;
  padding:2rem;
}
.retell-tier{text-align:center;padding:2rem;}
.tier-badge{
  display:inline-block;
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  color:#fff;font-size:0.75rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;
  padding:6px 18px;border-radius:100px;margin-bottom:1rem;
}
.tier-name{font-size:2rem;font-weight:900;margin-bottom:0.3rem;}
.tier-sub{font-size:0.85rem;color:var(--muted);}
.tier-divider{border:none;border-top:1px solid var(--border);margin:1.5rem 0;}
.tier-perks{list-style:none;display:flex;flex-direction:column;gap:0.75rem;}
.tier-perks li{display:flex;align-items:center;gap:10px;font-size:0.85rem;color:var(--muted);}
.tier-perks li .perk-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;}

/* ---- JAMBONZ FEATURE ---- */
.jambonz-section{border-top:1px solid rgba(16,185,129,0.1);border-bottom:1px solid rgba(16,185,129,0.1);}
.jambonz-inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.jambonz-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.25);
  color:var(--accent3);padding:6px 14px;border-radius:100px;
  font-size:0.75rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  margin-bottom:1rem;
}
.jambonz-card{
  background:linear-gradient(135deg,rgba(16,185,129,0.05),rgba(0,212,255,0.05));
  border:1px solid rgba(16,185,129,0.15);border-radius:20px;padding:2rem;
}
.jambonz-card h3{font-size:1.5rem;font-weight:800;color:var(--accent3);margin-bottom:0.5rem;}
.jambonz-card p{color:var(--muted);font-size:0.9rem;line-height:1.65;margin-bottom:1.5rem;}
.jambonz-features{list-style:none;display:flex;flex-direction:column;gap:0.6rem;}
.jambonz-features li{display:flex;align-items:center;gap:10px;font-size:0.85rem;color:var(--muted);}
.jambonz-features li::before{content:'✓';color:var(--accent3);font-weight:700;}

/* ---- WHY US ---- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
.why-card{
  background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:2rem;
  text-align:center;
}
.why-num{
  font-size:2.2rem;font-weight:900;
  background:linear-gradient(135deg,var(--accent3),var(--accent));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:0.5rem;
}
.why-card h3{font-size:1rem;font-weight:700;margin-bottom:0.5rem;}
.why-card p{font-size:0.85rem;color:var(--muted);line-height:1.6;}

/* ---- TESTIMONIALS ---- */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
.testimonial{
  background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:2rem;
}
.testimonial-text{font-size:0.9rem;color:var(--muted);line-height:1.7;margin-bottom:1.5rem;font-style:italic;}
.testimonial-author{display:flex;align-items:center;gap:12px;}
.avatar{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  display:flex;align-items:center;justify-content:center;
  font-size:0.85rem;font-weight:700;flex-shrink:0;
}
.author-name{font-size:0.9rem;font-weight:600;}
.author-title{font-size:0.78rem;color:var(--muted);}

/* ---- CTA SECTION ---- */
.cta-section{
  background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(124,58,237,0.15) 0%,transparent 70%),var(--bg2);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  text-align:center;
}
.cta-section h2{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:900;margin-bottom:1rem;}
.cta-section p{font-size:1.05rem;color:var(--muted);max-width:520px;margin:0 auto 2.5rem;}

/* ---- FOOTER ---- */
footer{
  padding:3rem 2rem;background:var(--bg);
  border-top:1px solid var(--border);
}
.footer-inner{
  max-width:1140px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;
}
.footer-logo img{height:28px;width:auto;filter:brightness(0) invert(1);opacity:0.6;}
.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap;}
.footer-links a{color:var(--muted);text-decoration:none;font-size:0.85rem;transition:color 0.2s;}
.footer-links a:hover{color:#fff;}
.footer-copy{font-size:0.8rem;color:var(--muted);}

/* ---- CONTACT MODAL ---- */
#cs-modal-overlay{
  display:none;position:fixed;inset:0;z-index:99999;
  background:rgba(0,0,0,0.75);backdrop-filter:blur(4px);
  align-items:center;justify-content:center;padding:20px;
}
#cs-modal{
  background:#0f0f1a;border:1px solid rgba(255,255,255,0.1);
  border-radius:16px;width:100%;max-width:520px;
  max-height:90vh;overflow-y:auto;position:relative;
}
#cs-modal-overlay input::placeholder,
#cs-modal-overlay textarea::placeholder{color:rgba(255,255,255,0.25)}
#cs-modal-overlay input:focus,
#cs-modal-overlay textarea:focus,
#cs-modal-overlay select:focus{
  border-color:rgba(122,100,255,0.6)!important;
  background:rgba(255,255,255,0.09)!important;
}
#cs-submit-btn:hover{opacity:0.88}
#cs-submit-btn:disabled{opacity:0.5;cursor:not-allowed}
@media(max-width:480px){#cs-modal .two-col{grid-template-columns:1fr!important}}

/* ---- RESPONSIVE ---- */
@media(max-width:900px){
  .hero-stats{grid-template-columns:repeat(2,1fr);}
  .services-grid{grid-template-columns:1fr 1fr;}
  .retell-inner,.jambonz-inner{grid-template-columns:1fr;}
  .clients-grid{grid-template-columns:repeat(3,1fr);}
  .why-grid,.testimonials-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  nav{padding:0 1rem;}
  .nav-links{display:none;}
  .services-grid,.expertise-grid,.why-grid,.testimonials-grid{grid-template-columns:1fr;}
  .clients-grid{grid-template-columns:repeat(2,1fr);}
  .hero-stats{grid-template-columns:repeat(2,1fr);}
}
