/* ==========================================================================
   Coexa Layouts, Direction 5: "Split Screen"
   Sticky two column layout: a pinned visual holds one side while short
   copy blocks scroll past on the other, for each of the four product
   pillars. Pure CSS position:sticky, no scroll libraries.
   ========================================================================== */

/* ---- Brand tokens (locked, do not change values) ---- */
:root{
  --canvas:#131218;
  --ink:rgba(255,255,255,0.94);
  --ink-dim:rgba(255,255,255,0.6);
  --ink-faint:rgba(255,255,255,0.38);
  --accent-1:#8B5CF6;
  --accent-2:#FF6FA8;
  --gradient:linear-gradient(135deg,var(--accent-1),var(--accent-2));
  --glass-bg:linear-gradient(180deg,rgba(36,33,44,0.6),rgba(20,18,26,0.4));
  --glass-border:rgba(255,255,255,0.16);
  --glass-blur:blur(32px) saturate(180%);
  --green:#6EE7B7;
  --font-body:'Onest',ui-sans-serif,system-ui,-apple-system,sans-serif;

  --sticky-top:88px;
  --radius-lg:28px;
  --radius-md:18px;
  --wrap-max:1180px;
  --wrap-pad:32px;
}

/* ---- Reset / base ---- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--canvas);
  color:var(--ink);
  font-family:var(--font-body);
  font-weight:400;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}
html,body{max-width:100%;}
h1,h2,h3,h4,p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
a{color:inherit;}
img,svg{max-width:100%;display:block;}
button{font-family:inherit;}

/* ambient page glow, decorative only */
body::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(560px 420px at 12% 0%, rgba(139,92,246,0.16), transparent 60%),
    radial-gradient(620px 460px at 88% 30%, rgba(255,111,168,0.12), transparent 60%);
  pointer-events:none;
  z-index:0;
}

.wrap{
  max-width:var(--wrap-max);
  margin:0 auto;
  padding:0 var(--wrap-pad);
  position:relative;
  z-index:1;
}

.grad-text{
  background:var(--gradient);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* ---- Glass card recipe (Coexa locked look) ---- */
.glass{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header{
  position:relative;
  z-index:2;
  padding:26px 0;
}
.site-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.brand-mark{width:26px;height:26px;flex:0 0 auto;}
.brand-name{
  font-size:16px;
  font-weight:700;
  letter-spacing:-0.01em;
}
.brand-tag{
  font-size:12px;
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--ink-faint);
}
@media (max-width:520px){
  .brand-tag{display:none;}
}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{
  padding:64px 0 100px;
  position:relative;
  z-index:1;
}
.hero__inner{
  max-width:760px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:22px;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  padding:8px 16px;
  border-radius:999px;
  border:1px solid var(--glass-border);
  background:rgba(255,255,255,0.04);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
}
.eyebrow.grad-text{background-image:var(--gradient);-webkit-background-clip:text;background-clip:text;}
.hero-title{
  font-size:clamp(32px,5.2vw,58px);
  font-weight:800;
  line-height:1.12;
  letter-spacing:-0.02em;
  max-width:16ch;
}
.hero-sub{
  font-size:clamp(15px,1.6vw,18px);
  color:var(--ink-dim);
  max-width:52ch;
  line-height:1.6;
}
.scroll-cue{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:8px;
  color:var(--ink-faint);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.03em;
  text-transform:uppercase;
}
.scroll-cue span.icon{
  display:inline-flex;
  color:var(--ink-dim);
  animation:bob 1.6s ease-in-out infinite;
}
@keyframes bob{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(4px);}
}

/* ==========================================================================
   Split section framework
   ========================================================================== */
.split-section{
  position:relative;
  z-index:1;
  padding:64px 0 104px;
}
.split-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:56px;
  align-items:start;
}
.split-row--reverse .split-visual{order:2;}
.split-row--reverse .split-copy{order:1;}

.split-visual{
  position:sticky;
  top:var(--sticky-top);
  align-self:start;
  display:flex;
  justify-content:center;
}
.visual-stage{
  position:relative;
  width:100%;
  display:flex;
  justify-content:center;
}
.visual-glow{
  position:absolute;
  inset:-48px;
  background:
    radial-gradient(circle at 28% 20%, rgba(139,92,246,0.38), transparent 60%),
    radial-gradient(circle at 78% 82%, rgba(255,111,168,0.30), transparent 60%);
  filter:blur(54px);
  z-index:0;
  pointer-events:none;
}

.split-copy{
  display:flex;
  flex-direction:column;
  gap:88px;
  padding:6px 0;
  min-width:0;
}
.copy-block{max-width:46ch;}
.block-kicker{
  display:block;
  font-size:13px;
  font-weight:800;
  letter-spacing:0.08em;
  margin-bottom:14px;
}
.block-title{
  font-size:clamp(28px,3.6vw,40px);
  font-weight:800;
  letter-spacing:-0.02em;
  margin-bottom:14px;
}
.block-lede{
  font-size:clamp(16px,1.8vw,19px);
  color:var(--ink);
  line-height:1.55;
}
.block-heading{
  font-size:clamp(17px,2vw,21px);
  font-weight:700;
  margin-bottom:10px;
  letter-spacing:-0.01em;
}
.block-body{
  font-size:14.5px;
  color:var(--ink-dim);
  line-height:1.65;
}

/* ==========================================================================
   Visual: phone mock (Sets)
   ========================================================================== */
.phone-frame{
  position:relative;
  z-index:1;
  width:100%;
  max-width:296px;
  margin:0 auto;
  padding:14px;
  border-radius:40px;
  background:linear-gradient(160deg,#211f28,#0f0e13);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 40px 70px -30px rgba(0,0,0,0.65);
}
.phone-screen{
  background:#0c0b10;
  border-radius:28px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height:min(560px,66vh);
  min-height:420px;
}
.phone-status{
  flex:0 0 auto;
  display:flex;
  justify-content:center;
  padding:10px 0 2px;
  font-size:11px;
  font-weight:600;
  color:var(--ink-dim);
}
.phone-topbar{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 16px 12px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.phone-avatar{
  width:26px;
  height:26px;
  border-radius:50%;
  background:#1a1820;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.phone-avatar svg{width:15px;height:15px;}
.phone-who{display:flex;flex-direction:column;line-height:1.25;}
.phone-name{font-size:12.5px;font-weight:700;}
.phone-active{font-size:10.5px;color:var(--ink-faint);}
.phone-chatlog{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:8px;
  scrollbar-width:thin;
}
.phone-chatlog::-webkit-scrollbar{width:4px;}
.phone-chatlog::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.15);border-radius:2px;}
.bubble{
  max-width:84%;
  padding:8px 12px;
  font-size:12.5px;
  line-height:1.42;
  overflow-wrap:break-word;
}
.bubble--prospect{
  align-self:flex-start;
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.1);
  color:var(--ink-dim);
  border-radius:14px 14px 14px 4px;
}
.bubble--coexa{
  align-self:flex-end;
  background:linear-gradient(135deg,rgba(139,92,246,0.34),rgba(255,111,168,0.30));
  border:1px solid rgba(255,255,255,0.16);
  color:var(--ink);
  border-radius:14px 14px 4px 14px;
}
.phone-inputbar{
  flex:0 0 auto;
  padding:10px 14px 14px;
}
.phone-inputbar span{
  display:block;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.1);
  color:var(--ink-faint);
  font-size:11.5px;
}

/* ==========================================================================
   Visual: lead memory card (Calls)
   ========================================================================== */
.memory-card{
  position:relative;
  z-index:1;
  width:100%;
  max-width:400px;
  margin:0 auto;
  padding:26px 24px;
  border-radius:var(--radius-lg);
}
.memory-card__head{
  margin-bottom:18px;
}
.memory-card__tag{
  display:inline-block;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,0.06);
  border:1px solid var(--glass-border);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--ink-dim);
  margin-bottom:12px;
}
.memory-card__head h4{
  font-size:19px;
  font-weight:800;
  letter-spacing:-0.01em;
}
.memory-row{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,0.08);
}
.memory-row:first-of-type{border-top:none;}
.memory-key{
  font-size:10.5px;
  font-weight:700;
  letter-spacing:0.06em;
  color:var(--ink-faint);
}
.memory-val{
  font-size:14px;
  color:var(--ink);
  line-height:1.4;
  overflow-wrap:break-word;
}
.memory-val.pill-green,
.memory-val.pill-pink{
  display:inline-flex;
  align-self:flex-start;
  padding:3px 11px;
  border-radius:999px;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:0.04em;
}
.memory-val.pill-green{background:rgba(110,231,183,0.14);color:var(--green);}
.memory-val.pill-pink{background:rgba(255,111,168,0.16);color:var(--accent-2);}

/* ==========================================================================
   Visual: conversation funnel (Converts)
   ========================================================================== */
.funnel-card{
  position:relative;
  z-index:1;
  width:100%;
  max-width:400px;
  margin:0 auto;
  padding:26px 24px;
  border-radius:var(--radius-lg);
}
.funnel-card__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:18px;
}
.funnel-card__head h4{font-size:17px;font-weight:800;letter-spacing:-0.01em;}
.funnel-card__head span{font-size:11px;color:var(--ink-faint);white-space:nowrap;}
.funnel-list{display:flex;flex-direction:column;gap:13px;}
.funnel-item{display:flex;flex-direction:column;gap:6px;}
.funnel-item-top{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
}
.funnel-name{color:var(--ink-dim);}
.funnel-value{font-weight:700;color:var(--ink);}
.funnel-track{
  height:9px;
  border-radius:6px;
  background:rgba(255,255,255,0.08);
  overflow:hidden;
}
.funnel-fill{
  height:100%;
  border-radius:6px;
  background:var(--gradient);
}
.funnel-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,0.1);
}
.funnel-stat{display:flex;flex-direction:column;gap:2px;}
.funnel-stat__num{font-size:15px;font-weight:800;}
.funnel-stat__label{font-size:10px;color:var(--ink-faint);line-height:1.3;}

/* ==========================================================================
   Visual: performance dashboard (Tracks)
   ========================================================================== */
.dash-card{
  position:relative;
  z-index:1;
  width:100%;
  max-width:420px;
  margin:0 auto;
  padding:0 0 22px;
  border-radius:var(--radius-lg);
  overflow:hidden;
}
.dash-topbar{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 18px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.03);
}
.dash-dots{display:flex;gap:5px;}
.dash-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.18);}
.dash-url{
  font-size:11px;
  color:var(--ink-faint);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dash-period{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--ink-faint);
  padding:16px 20px 4px;
}
.stat-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:12px 18px 4px;
}
.stat-tile{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;
  padding:12px 10px;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.stat-tile--accent{
  background:linear-gradient(160deg,rgba(139,92,246,0.16),rgba(255,111,168,0.12));
  border-color:rgba(255,255,255,0.16);
}
.stat-num{font-size:clamp(16px,3.4vw,21px);font-weight:800;overflow-wrap:break-word;}
.stat-label{font-size:10.5px;color:var(--ink-dim);line-height:1.3;}
.stat-sub{font-size:9.5px;color:var(--ink-faint);}

/* ==========================================================================
   Closing
   ========================================================================== */
.closing-section{
  position:relative;
  z-index:1;
  padding:60px 0 168px;
}
.closing-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:34px;
  max-width:680px;
  margin:0 auto;
}
.closing-line{
  font-size:clamp(24px,3.4vw,36px);
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:1.3;
}
.btn-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:17px 36px;
  border-radius:999px;
  background:var(--gradient);
  color:#fff;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
  letter-spacing:0.01em;
  box-shadow:0 18px 40px -14px rgba(255,111,168,0.45);
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 46px -12px rgba(255,111,168,0.55);
}

/* ==========================================================================
   Responsive: collapse to single column before sticky could overlap
   ========================================================================== */
@media (max-width:900px){
  .split-row{
    grid-template-columns:1fr;
    gap:40px;
  }
  .split-row--reverse .split-visual,
  .split-row--reverse .split-copy{
    order:0;
  }
  .split-visual{
    position:static;
    top:auto;
    align-self:auto;
  }
  .split-copy{gap:56px;}
  .split-section{padding:48px 0 72px;}
}

@media (max-width:600px){
  :root{--wrap-pad:20px;}
  .hero{padding:44px 0 72px;}
  .hero-title{max-width:none;}
  .copy-block{max-width:none;}
  .closing-section{padding:48px 0 152px;}
}

@media (max-width:520px){
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .funnel-stats{grid-template-columns:repeat(3,1fr);}
  .phone-screen{height:min(500px,58vh);min-height:380px;}
}
