/* =========================================================
   RESET & TOKENS
========================================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

:root {
  --green:     #8662f6;
  --green-dim: #ede8fe;
  --green-dk:  #6f4de8;
  --brand-gradient: linear-gradient(135deg, #5a3fd4 0%, #6f4de8 28%, #8662f6 55%, #9b7cff 100%);
  --connect-stage-bg:
    radial-gradient(circle at 50% 56%, rgba(173, 244, 77, 0.28) 0%, rgba(173, 244, 77, 0.16) 24%, rgba(55, 97, 0, 0.45) 48%, rgba(54, 93, 4, 0.96) 50%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 1) 50%, rgba(255, 255, 255, 0) 100%);
  --ink:       #08141e;
  --ink-soft:  #555e6a;
  --surface:   #f6f7f9;
  --border:    #e8eaed;
  --border-w:  1px;
  --border-w-thin: 0.5px;
  --white:     #ffffff;
  --radius-sm: 6px;
  --radius:    6px;
  --radius-lg: 6px;
  --shadow-sm: 0 2px 12px rgba(0,0,0,.06);
  --shadow:    0 8px 32px rgba(0,0,0,.09);
  --shadow-lg: 0 24px 64px rgba(0,0,0,.12);
  --max-w:     1400px;
  --px:        48px;
  --font-body: 'TT Hoves', sans-serif;
  --font-heading: 'TT Hoves Medium', sans-serif;
}

body {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--white);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }
ul { list-style: none; }

/* =========================================================
   LAYOUT HELPERS
========================================================= */
.wrap {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--px);
}

/* =========================================================
   BUTTONS (page-specific; base .btn in site-chrome.css)
========================================================= */
.btn-green {
  background: var(--green); color: #fff;
  box-shadow: 0 4px 20px rgba(134,98,246,.32);
}
.btn-green:hover { background: var(--green-dk); box-shadow: 0 8px 28px rgba(134,98,246,.38); }
.btn-ghost {
  background: transparent; color: var(--ink);
  border: var(--border-w) solid var(--border);
}
.btn-ghost:hover { border-color: var(--green); color: var(--green); }

/* =========================================================
   PILL TAG
========================================================= */
.pill {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--green-dim); color: var(--green-dk);
  font-size: .78rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase;
  padding: 5px 14px; border-radius: 100px;
}
.pill-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--green);
}

/* =========================================================
   SECTION UTILITY
========================================================= */
.section { padding: 100px 0; }
section.features {
  padding-top: 160px;
  padding-bottom: 160px;
}
.section-sm { padding: 160px 0; }

.section-label {
  font-size: .78rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--green);
  margin-bottom: 12px;
}
h1, h2, h3, h4, h5, h6, .section-title {
  font-family: var(--font-heading);
  font-weight: 500;
}
.section-title {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.18;
  letter-spacing: -.02em; color: var(--ink);
}
.section-body {
  font-size: .95rem; line-height: 1.75;
  color: var(--ink-soft); max-width: 480px;
}

/* fade-in */
.fi { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
.fi.on { opacity: 1; transform: none; }
.hero .hero-text.fi,
.hero .hero-visual.fi {
  opacity: 1;
  transform: none;
}
.fi-d1 { transition-delay: .1s; }
.fi-d2 { transition-delay: .2s; }
.fi-d3 { transition-delay: .3s; }

/* =========================================================
   HERO
========================================================= */
.hero {
  background: var(--surface);
  height: 720px;
  min-height: 720px;
  display: flex;
  align-items: stretch;
  padding: 0;
  overflow: hidden;
}
.hero .wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  align-items: center;
  gap: 64px;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.hero-text {
  padding-bottom: 0;
  position: relative;
  z-index: 2;
  align-self: center;
  min-width: 0;
  min-height: 0;
}
.hero-kicker {
  margin: 0 0 22px;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #9aa3ad;
}

.hero-text h2 {
  font-size: 44px;
  line-height: 1.1;
  letter-spacing: -.03em;
  margin: 0 0 20px;
}
.hero-text p {
  font-size: 1rem; line-height: 1.75;
  color: var(--ink-soft); max-width: 440px;
  margin-bottom: 36px;
}

.store-row { display: flex; gap: 10px; }
.store-btn {
  display: flex; align-items: center; gap: 9px;
  background: var(--ink); color: #fff;
  padding: 10px 18px; border-radius: var(--radius);
  transition: background .18s, transform .18s;
}
.store-btn:hover { background: #1f1f1f; transform: translateY(-2px); }
.store-btn svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  display: block;
}
.store-btn .store-icon-apple,
.store-btn .store-icon-play path { fill: #fff; }
.store-meta { display: flex; flex-direction: column; }
.store-meta small { font-size: .65rem; opacity: .7; font-weight: 400; }
.store-meta strong { font-size: .88rem; font-weight: 700; }
.hero-ai-entry {
  margin-top: 14px;
  max-width: 720px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.hero-ai-entry::before {
  content: none;
}
.hero-ai-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.hero-ai-actions .btn {
  height: 54px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.hero-ai-cta {
  flex-shrink: 0;
  background: #0a141e;
  color: #fff;
  box-shadow: none;
}
.hero-ai-cta:hover {
  background: #141414;
  color: #fff;
  box-shadow: none;
  transform: none;
}
.hero-ai-callback {
  background: #fff;
  color: #0a141e;
  border: 1px solid var(--border);
  box-shadow: none;
}
.hero-ai-callback:hover {
  background: #fff;
  color: #0a141e;
  border-color: #d5d9df;
  box-shadow: none;
  transform: none;
}
.hero-ai-entry.is-expanded .hero-ai-actions {
  display: none;
}
.hero-ai-assistant {
  flex: 1;
  min-width: 54px;
  display: flex;
  align-items: center;
}
.hero-ai-entry.is-expanded .hero-ai-assistant {
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
}
.hero-ai-ask {
  width: 54px;
  height: 54px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e8e5ff;
  background: #fff;
  border-radius: 4px;
  color: #0f0029;
  cursor: pointer;
  box-shadow: none;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.hero-ai-ask .ph-duotone {
  font-size: 1.35rem;
}
.hero-ai-ask:hover {
  background: #f8fafc;
  border-color: #d5d9df;
  transform: translateY(-1px);
}
.hero-ai-entry.is-expanded .hero-ai-ask {
  display: none;
}
.hero-ai-form {
  display: none;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
  width: 100%;
  height: 54px;
  background: #fff;
  border: 1px solid #e8e5ff;
  border-radius: 4px;
  padding-left: 0;
  padding-right: 6px;
  box-shadow: none;
  position: relative;
  z-index: 1;
}
.hero-ai-entry.is-expanded .hero-ai-form {
  display: flex;
  width: 100%;
}

.hero-team-stories {
  margin-top: 18px;
}

.hero-team-stories__list {
  display: inline-flex;
  align-items: center;
  gap: 0;
  min-height: 44px;
  transition: gap .28s ease;
}

.hero-team-story-ring {
  display: inline-flex;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
  margin-left: -14px;
  z-index: 1;
  transition: margin-left .28s ease, transform .18s ease, z-index 0s;
}

.hero-team-story-ring:first-child {
  margin-left: 0;
}

.hero-team-story-ring:nth-child(2) { z-index: 2; }
.hero-team-story-ring:nth-child(3) { z-index: 3; }
.hero-team-story-ring:nth-child(4) { z-index: 4; }
.hero-team-story-ring:nth-child(5) { z-index: 5; }
.hero-team-story-ring:nth-child(6) { z-index: 6; }

.hero-team-stories__list:hover,
.hero-team-stories__list:focus-within {
  gap: 6px;
}

.hero-team-stories__list:hover .hero-team-story-ring,
.hero-team-stories__list:focus-within .hero-team-story-ring {
  margin-left: 0;
}

.hero-team-stories__list:hover .hero-team-story-ring:hover,
.hero-team-stories__list:focus-within .hero-team-story-ring:focus-visible {
  transform: translateY(-2px);
  z-index: 10;
}

.hero-team-story-ring__avatar {
  display: block;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  padding: 1px;
  background: #c8f031;
  box-shadow: 0 0 0 1px #c8f031;
}

.hero-team-story-ring__avatar img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid #fff;
  filter: grayscale(1);
  background: #e2e8f0;
}

.hero-ig-stories {
  position: fixed;
  inset: 0;
  z-index: 140;
  display: grid;
  place-items: center;
}

.hero-ig-stories[hidden] {
  display: none;
}

.hero-ig-stories__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 20, 30, .88);
}

.hero-ig-stories__stage {
  position: relative;
  width: min(420px, 100vw);
  height: min(92vh, 860px);
  z-index: 1;
  display: flex;
  flex-direction: column;
}

.hero-ig-stories__progress {
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  z-index: 3;
  display: flex;
  gap: 4px;
}

.hero-ig-stories__progress-seg {
  flex: 1;
  height: 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .28);
  overflow: hidden;
}

.hero-ig-stories__progress-fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: #fff;
  transition: width .1s linear;
}

.hero-ig-stories__close {
  position: absolute;
  top: 28px;
  right: 12px;
  z-index: 4;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: rgba(15, 23, 42, .45);
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}

.hero-ig-stories__title {
  position: absolute;
  top: 34px;
  left: 14px;
  right: 52px;
  z-index: 4;
  margin: 0;
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .45);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hero-ig-stories__media {
  flex: 1;
  min-height: 0;
  border-radius: 18px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .45);
  position: relative;
}

.hero-ig-stories__iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #000;
  pointer-events: none;
  transform: scale(1.32);
  transform-origin: center center;
}

.hero-ig-stories__tap {
  position: absolute;
  top: 72px;
  bottom: 0;
  z-index: 2;
  width: 38%;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.hero-ig-stories__tap--prev { left: 0; }
.hero-ig-stories__tap--next { right: 0; }

@media (prefers-reduced-motion: reduce) {
  .hero-team-stories__list,
  .hero-team-story-ring {
    transition: none;
  }
  .hero-team-stories__list:hover,
  .hero-team-stories__list:focus-within {
    gap: 6px;
  }
  .hero-team-stories__list:hover .hero-team-story-ring,
  .hero-team-stories__list:focus-within .hero-team-story-ring {
    margin-left: 0;
  }
  .hero-team-stories__list:hover .hero-team-story-ring:hover,
  .hero-team-stories__list:focus-within .hero-team-story-ring:focus-visible {
    transform: none;
  }
  .hero-ig-stories__progress-fill {
    transition: none;
  }
}

.hero-ai-input {
  flex: 1;
  min-width: 0;
  height: 42px;
  border: none;
  border-radius: 6px;
  padding: 0 8px;
  padding-left: 14px;
  font: inherit;
  color: #1f2a3d;
  background: transparent;
  font-size: .94rem;
}
.hero-ai-input:focus {
  outline: none;
}
.hero-ai-input::placeholder {
  color: #9aa1af;
  font-size: .9rem;
}
.hero-ai-send {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 6px;
  padding: 0;
  background: #0f0029;
  border: 1px solid #0f0029;
  color: #fff;
  font-weight: 700;
  font-size: 1.2rem;
  cursor: pointer;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease, background .18s ease;
}
.hero-ai-send:hover {
  background: #0f0029;
  transform: translateY(-1px);
  box-shadow: var(--shadow);
}
.hero-ai-send:disabled,
.hero-ai-send.is-loading {
  opacity: .68;
  cursor: wait;
  transform: none;
  box-shadow: none;
}
@keyframes meetingFloatSlow {
  0% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(40px, -60px) scale(1.15); }
  66% { transform: translate(-30px, 30px) scale(.9); }
  100% { transform: translate(0, 0) scale(1); }
}
@keyframes meetingFloatReverse {
  0% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(-50px, 40px) scale(.85); }
  66% { transform: translate(40px, -40px) scale(1.1); }
  100% { transform: translate(0, 0) scale(1); }
}
.meeting-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(10, 13, 23, .52);
  backdrop-filter: blur(8px);
  z-index: 1200;
  overflow: hidden;
}
.meeting-modal.is-open { display: flex; }
.meeting-modal-aura {
  position: absolute;
  pointer-events: none;
  border-radius: 999px;
  filter: blur(100px);
  opacity: .9;
}
.meeting-modal-aura.aura-1 {
  top: 12%;
  left: 18%;
  width: 32rem;
  height: 32rem;
  background: rgba(165, 180, 252, .28);
  animation: meetingFloatSlow 16s infinite ease-in-out;
}
.meeting-modal-aura.aura-2 {
  bottom: 14%;
  right: 12%;
  width: 36rem;
  height: 36rem;
  background: rgba(216, 180, 254, .24);
  animation: meetingFloatReverse 20s infinite ease-in-out;
}
.meeting-modal-aura.aura-3 {
  top: 45%;
  right: 32%;
  width: 28rem;
  height: 28rem;
  background: rgba(233, 213, 255, .18);
  animation: meetingFloatSlow 18s infinite ease-in-out 2s;
}
.meeting-modal-dialog {
  width: min(100%, 820px);
  min-height: 560px;
  max-height: min(90vh, 720px);
  margin: auto;
  padding: 0;
  border: 1px solid #e8ecf5;
  border-radius: 26px;
  overflow: hidden;
  position: relative;
  inset: auto;
  background: #fff;
  box-shadow: 0 24px 64px rgba(124, 58, 237, .2);
  display: flex;
  z-index: 1;
}
.meeting-panel-left {
  width: 34%;
  min-width: 320px;
  padding: 28px;
  border-right: 1px solid #e8ecf5;
  background: rgba(255, 255, 255, .45);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}
.meeting-brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 14px;
  font-size: 1.03rem;
  font-weight: 800;
  color: #5b21b6;
  letter-spacing: -.01em;
}
.meeting-brand-dot {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  display: inline-grid;
  place-items: center;
  background: var(--brand-gradient);
  color: #fff;
  font-size: .8rem;
  box-shadow: 0 8px 16px rgba(124, 58, 237, .2);
}
.meeting-title {
  margin: 0;
  font-size: 2rem;
  line-height: 1.12;
  letter-spacing: -.025em;
  color: #0f172a;
}
.meeting-subtitle {
  margin: 12px 0 0;
  color: #64748b;
  line-height: 1.65;
  font-size: .92rem;
  max-width: 280px;
}
.meeting-meta {
  display: grid;
  gap: 12px;
  margin-top: 20px;
}
.meeting-duration-box {
  border: 1px solid #e6ebf4;
  border-radius: 14px;
  padding: 12px;
  background: rgba(248, 250, 252, .75);
}
.meeting-meta-label {
  font-size: .67rem;
  color: #94a3b8;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block;
}
.meeting-duration-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.meeting-duration-btn {
  appearance: none;
  border: 1px solid #dbe4ee;
  background: #fff;
  color: #475569;
  border-radius: 10px;
  height: 34px;
  font-size: .76rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .2s ease;
}
.meeting-duration-btn:hover { border-color: #0f0029; }
.meeting-duration-btn.is-active {
  background: #0f0029;
  color: #fff;
  border-color: #0f0029;
  box-shadow: 0 8px 14px rgba(15, 0, 41, .22);
}
.meeting-meta-card {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #edf1f7;
  background: rgba(248, 250, 252, .58);
  border-radius: 12px;
  padding: 11px 10px;
}
.meeting-meta-icon {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  display: inline-grid;
  place-items: center;
  color: #4f46e5;
  background: #eef2ff;
  flex-shrink: 0;
  font-size: .82rem;
}
.meeting-meta-copy p {
  margin: 0;
  font-size: .74rem;
  color: #334155;
  line-height: 1.35;
  font-weight: 700;
}
.meeting-meta-copy .meeting-meta-label {
  margin-bottom: 2px;
  font-size: .62rem;
}
.meeting-tz-select {
  border: none;
  background: transparent;
  color: #334155;
  font: inherit;
  font-size: .75rem;
  font-weight: 700;
  padding: 0;
  outline: none;
  max-width: 100%;
}
.meeting-left-footer {
  margin-top: auto;
  border-top: 1px solid #edf1f7;
  padding-top: 12px;
  color: #94a3b8;
  font-size: .74rem;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.meeting-panel-center {
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  background: #fff;
}
.meeting-step {
  display: none;
  width: 100%;
  height: 100%;
}
.meeting-step.is-active { display: flex; }
.meeting-step-datetime {
  flex-direction: column;
}
.meeting-datetime-intro {
  padding: 28px 28px 0;
  border-bottom: 1px solid #e8ecf5;
}
.meeting-datetime-intro .meeting-title {
  font-size: 1.65rem;
}
.meeting-datetime-intro .meeting-subtitle {
  margin: 8px 0 0;
  max-width: none;
}
.meeting-datetime-body {
  display: flex;
  flex: 1;
  min-height: 0;
}
.meeting-calendar {
  flex: 1;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.meeting-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  color: #0f172a;
}
.meeting-head h4 {
  margin: 0;
  font-size: 1.35rem;
  letter-spacing: -.02em;
}
.meeting-month-nav {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.meeting-icon-btn {
  width: 32px;
  height: 32px;
  border: 1px solid #dde4ef;
  background: #fff;
  border-radius: 10px;
  color: #64748b;
  cursor: pointer;
  transition: all .2s ease;
  display: inline-grid;
  place-items: center;
  font-size: .72rem;
}
.meeting-icon-btn:hover {
  border-color: #c9d3e2;
  background: #f8fafc;
}
.meeting-icon-btn.is-disabled,
.meeting-icon-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
  pointer-events: none;
}
.meeting-weekdays,
.meeting-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}
.meeting-weekdays {
  margin-bottom: 10px;
  text-align: center;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #94a3b8;
}
.meeting-weekdays .is-weekend { color: #fb7185; }
.meeting-day,
.meeting-day-blank {
  height: 44px;
  border-radius: 12px;
}
.meeting-day {
  border: 1px solid transparent;
  background: transparent;
  color: #334155;
  font-size: .9rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .2s ease;
  display: inline-grid;
  place-items: center;
}
.meeting-day:hover {
  background: #f8fafc;
  border-color: #e6ebf4;
}
.meeting-day.is-weekend { color: #fb7185; }
.meeting-day.is-active {
  background: rgba(15, 0, 41, .06);
  border-color: #0f0029;
  color: #0f0029;
  box-shadow: 0 0 0 2px rgba(15, 0, 41, .16);
}
.meeting-day.is-disabled {
  color: #cbd5e1;
  cursor: not-allowed;
  pointer-events: none;
}
.meeting-calendar-footnote {
  margin-top: 20px;
  color: #94a3b8;
  font-size: .75rem;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.meeting-calendar-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid #0f0029;
  background: rgba(15, 0, 41, .2);
  display: inline-block;
}
.meeting-slots-panel {
  width: 290px;
  border-left: 1px solid #e8ecf5;
  background: #fff;
  padding: 28px 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
}
.meeting-selected-pill {
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(15, 0, 41, .08);
  color: #7c3aed;
  border-radius: 999px;
  display: inline-block;
  padding: 5px 10px;
  font-weight: 800;
  margin-bottom: 8px;
}
.meeting-selected-date {
  margin: 0;
  color: #0f172a;
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -.01em;
}
.meeting-slots {
  margin-top: 14px;
  display: grid;
  gap: 8px;
  max-height: 330px;
  overflow-y: auto;
  padding-right: 4px;
}
.meeting-slots::-webkit-scrollbar { width: 6px; }
.meeting-slots::-webkit-scrollbar-track {
  background: rgba(243, 244, 246, .55);
  border-radius: 999px;
}
.meeting-slots::-webkit-scrollbar-thumb {
  background: rgba(15, 0, 41, .22);
  border-radius: 999px;
}
.meeting-slot-empty {
  text-align: center;
  color: #94a3b8;
  font-size: .75rem;
  line-height: 1.5;
  padding: 24px 8px;
  border: 1px dashed #e2e8f0;
  border-radius: 12px;
}
.meeting-slot {
  appearance: none;
  width: 100%;
  height: 42px;
  border-radius: 12px;
  border: 1px solid #dbe4ee;
  background: rgba(255, 255, 255, .85);
  color: #334155;
  font-size: .9rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .2s ease;
}
.meeting-slot:hover {
  border-color: #0f0029;
  background: #f8fafc;
}
.meeting-slot.is-active {
  border-color: #0f0029;
  color: #0f0029;
  background: rgba(15, 0, 41, .06);
  box-shadow: 0 0 0 2px rgba(15, 0, 41, .14);
}
.meeting-step-btn {
  width: 100%;
  border: none;
  border-radius: 14px;
  height: 48px;
  font: inherit;
  font-size: .93rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .25s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}
.meeting-step-btn.primary {
  background: #0f0029;
  color: #fff;
  box-shadow: 0 14px 22px rgba(15, 0, 41, .26);
}
.meeting-step-btn.primary:hover { background: #0f0029; }
.meeting-step-btn.primary.is-disabled,
.meeting-step-btn.primary:disabled {
  background: #e2e8f0;
  color: #94a3b8;
  box-shadow: none;
  cursor: not-allowed;
}
.meeting-step-btn.ghost {
  border: 1px solid #dbe4ee;
  background: #fff;
  color: #475569;
}
.meeting-step-btn.ghost:hover { border-color: #0f0029; color: #0f0029; }
.meeting-step-form,
.meeting-step-success {
  flex-direction: column;
  padding: 28px;
  justify-content: space-between;
  background: rgba(255, 255, 255, .42);
}
.meeting-back-link {
  border: none;
  background: transparent;
  color: #64748b;
  font: inherit;
  font-size: .86rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 0;
}
.meeting-back-link:hover { color: #0f0029; }
.meeting-form-title {
  margin: 0;
  font-size: 1.8rem;
  color: #0f172a;
  letter-spacing: -.02em;
}
.meeting-form-subtitle {
  margin: 8px 0 0;
  color: #64748b;
  font-size: .9rem;
}
.meeting-request-form {
  margin-top: 22px;
  max-width: 640px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.meeting-field {
  display: grid;
  gap: 6px;
}
.meeting-field.is-span-2 { grid-column: span 2; }
.meeting-field label {
  font-size: .66rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #94a3b8;
  font-weight: 800;
}
.meeting-field input,
.meeting-field textarea {
  width: 100%;
  border: 1px solid #dbe4ee;
  border-radius: 12px;
  background: rgba(255, 255, 255, .76);
  color: #0f172a;
  font: inherit;
  font-size: .9rem;
  padding: 12px 14px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.meeting-field textarea {
  min-height: 90px;
  resize: vertical;
}
.meeting-field input:focus,
.meeting-field textarea:focus {
  outline: none;
  border-color: #0f0029;
  box-shadow: 0 0 0 3px rgba(15, 0, 41, .14);
}
.meeting-step-form-footer {
  margin-top: 20px;
  border-top: 1px solid #edf1f7;
  padding-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.meeting-summary {
  font-size: .8rem;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.meeting-summary strong { color: #334155; font-weight: 700; }
.meeting-form-status {
  min-height: 18px;
  margin-top: 10px;
  font-size: .78rem;
  font-weight: 700;
  color: #64748b;
}
.meeting-form-status.is-error { color: #b91c1c; }
.meeting-form-status.is-success { color: #166534; }
.meeting-step-success {
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 14px;
}
.meeting-success-icon {
  width: 78px;
  height: 78px;
  border-radius: 999px;
  border: 1px solid #bbf7d0;
  background: #ecfdf3;
  color: #10b981;
  display: grid;
  place-items: center;
  font-size: 1.8rem;
  box-shadow: 0 12px 24px rgba(16, 185, 129, .14);
}
.meeting-success-title {
  margin: 0;
  color: #0f172a;
  font-size: 1.85rem;
  letter-spacing: -.02em;
}
.meeting-success-copy {
  margin: 0;
  max-width: 560px;
  color: #64748b;
  font-size: .92rem;
  line-height: 1.65;
}
.meeting-success-card {
  width: min(100%, 400px);
  border: 1px solid #e8ecf5;
  border-radius: 16px;
  background: rgba(248, 250, 252, .72);
  padding: 16px;
  display: grid;
  gap: 8px;
  text-align: left;
  font-size: .8rem;
}
.meeting-success-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #94a3b8;
}
.meeting-success-row strong {
  color: #334155;
  font-weight: 700;
  text-align: right;
}
.meeting-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  border: 1px solid #dbe4ee;
  background: #fff;
  color: #475569;
  cursor: pointer;
  font-size: 1rem;
  display: inline-grid;
  place-items: center;
  transition: all .2s ease;
  z-index: 2;
}
.meeting-modal-close:hover {
  border-color: #cbd5e1;
  color: #0f172a;
  background: #f8fafc;
}
body.meeting-modal-open { overflow: hidden; }
@media (max-width: 980px) {
  .meeting-modal { padding: 10px; }
  .meeting-modal-dialog {
    min-height: 0;
    max-height: 95vh;
    flex-direction: column;
  }
  .meeting-datetime-body {
    flex-direction: column;
  }
  .meeting-datetime-intro {
    padding: 20px 20px 0;
  }
  .meeting-slots-panel {
    width: 100%;
    border-left: none;
    border-top: 1px solid #e8ecf5;
  }
  .meeting-request-form {
    grid-template-columns: 1fr;
  }
  .meeting-field.is-span-2 { grid-column: auto; }
}

/* hero right */
.hero-visual {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
  width: min(100%, 500px);
  height: 100%;
  min-height: 0;
  min-width: 0;
  margin-left: auto;
  overflow: hidden;
}
.hero-stories {
  width: 100%;
  max-width: 500px;
  height: 100%;
  min-height: 0;
  position: relative;
  z-index: 1;
}
.hero-stories.is-hidden {
  display: none;
}
.hero-stories-mask {
  height: 100%;
  min-height: 0;
  overflow: hidden;
  transition: opacity .32s ease, visibility .32s ease;
}
.hero-stories-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  height: 100%;
  min-height: 0;
}
.hero-stories-col {
  position: relative;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.hero-stories-col-inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  animation: heroStoriesScrollUp var(--hero-stories-scroll-duration, 88s) linear infinite;
}
.hero-stories-col--right .hero-stories-col-inner {
  animation-duration: var(--hero-stories-scroll-duration-right, 96s);
  animation-direction: reverse;
  margin-top: -56px;
}
.hero-stories:hover .hero-stories-col-inner {
  animation-play-state: paused;
}
.hero-stories.is-playing .hero-stories-col-inner {
  animation-play-state: paused;
}
.hero-stories.is-playing .hero-stories-mask {
  opacity: 0;
  visibility: hidden;
}
@keyframes heroStoriesScrollUp {
  from { transform: translateY(0); }
  to { transform: translateY(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-stories-col-inner { animation: none; }
}
.hero-story-card {
  border: 0;
  text-align: left;
  font: inherit;
  color: inherit;
  width: 100%;
  border-radius: 22px;
  overflow: hidden;
}
.hero-story-card--text {
  background: #eceef1;
  padding: 22px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-height: 210px;
}
.hero-story-quote {
  font-size: .92rem;
  line-height: 1.55;
  color: #2b3138;
  margin: 0;
}
.hero-story-meta {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.hero-story-meta strong {
  font-size: .95rem;
  font-weight: 700;
  color: var(--ink);
}
.hero-story-meta span {
  font-size: .82rem;
  color: #8b939c;
}
.hero-story-card--video {
  position: relative;
  display: block;
  padding: 0;
  cursor: pointer;
  background: transparent;
}
.hero-story-card--video img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 22px;
  transition: opacity .25s ease;
}
.hero-stories-player {
  position: fixed;
  inset: 0;
  z-index: 1250;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(8, 12, 20, .78);
  backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .34s ease;
}
.hero-stories-player.is-open {
  opacity: 1;
  pointer-events: auto;
}
.hero-stories-player[hidden] {
  display: none;
}
.hero-stories-player__dialog {
  position: relative;
  width: min(100%, 420px);
  max-height: min(92vh, 820px);
  aspect-ratio: 9 / 16;
  border-radius: 18px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .45);
}
.hero-stories-player.is-landscape .hero-stories-player__dialog {
  width: min(100%, 920px);
  max-height: min(90vh, 720px);
  aspect-ratio: 16 / 9;
}
.hero-stories-player__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: #111;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .28);
}
.hero-stories-player__iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #000;
}
.hero-stories-mobile {
  display: none;
  width: 100vw;
  max-width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  --hero-mobile-gap: 12px;
  --hero-mobile-visible: 4;
}
.hero-stories-mobile--trail {
  margin: 12px 0 0;
}
.hero-stories-mobile__row {
  overflow: hidden;
  width: 100%;
  mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.hero-stories-mobile__track {
  overflow: hidden;
  width: 100%;
}
.hero-stories-mobile__loop {
  display: flex;
  align-items: stretch;
  width: max-content;
  will-change: transform;
  animation: heroMobileMarqueeRight 56s linear infinite;
}
.hero-stories-mobile__set {
  display: flex;
  align-items: stretch;
  gap: var(--hero-mobile-gap);
  flex-shrink: 0;
  padding-right: var(--hero-mobile-gap);
}
.hero-stories-mobile__row:hover .hero-stories-mobile__loop {
  animation-play-state: paused;
}
@keyframes heroMobileMarqueeLeft {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes heroMobileMarqueeRight {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-stories-mobile__loop {
    animation: none !important;
  }
}
.hero-stories-mobile .hero-story-card {
  flex: 0 0 auto;
  border-radius: 12px;
}
.hero-stories-mobile .hero-story-card--text {
  display: none;
}
.hero-stories-mobile .hero-story-card--video {
  width: calc((100vw - (var(--hero-mobile-visible) - 1) * var(--hero-mobile-gap)) / var(--hero-mobile-visible));
  aspect-ratio: 9 / 16;
  height: auto;
}
.hero-stories-mobile .hero-story-card--video img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.hero-chat-card {
  width: min(100%, 500px);
  min-height: 332px;
  border-radius: 0;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  display: none;
  flex-direction: column;
  gap: 0;
}
.hero-chat-card.is-open {
  display: flex;
}
.hero-chat-card.is-input-active {
  transform: translateY(-1px);
}
.hero-chat-stream {
  height: 332px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 8px 10px 8px 0;
  position: relative;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.hero-chat-stream::before {
  content: '';
  position: sticky;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 28px;
  margin-bottom: -28px;
  background: linear-gradient(to bottom, rgba(244,247,251,.96), rgba(244,247,251,0));
  opacity: 0;
  pointer-events: none;
  z-index: 3;
  transition: opacity .18s ease;
}
.hero-chat-stream::after {
  content: '';
  position: sticky;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 30px;
  margin-top: -30px;
  background: linear-gradient(to top, rgba(244,247,251,.98), rgba(244,247,251,0));
  opacity: 0;
  pointer-events: none;
  z-index: 3;
  transition: opacity .18s ease;
}
.hero-chat-stream.is-scrolled::before {
  opacity: 1;
}
.hero-chat-stream.is-not-bottom::after {
  opacity: 1;
}
.hero-chat-stream::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.hero-chat-card:hover .hero-chat-stream {
  scrollbar-width: thin;
  scrollbar-color: var(--green) transparent;
}
.hero-chat-card:hover .hero-chat-stream::-webkit-scrollbar {
  width: 8px;
}
.hero-chat-card:hover .hero-chat-stream::-webkit-scrollbar-thumb {
  background: var(--green);
  border-radius: 999px;
}
.hero-chat-card:hover .hero-chat-stream::-webkit-scrollbar-track {
  background: rgba(134,98,246,.12);
  border-radius: 999px;
}
.hero-chat-bubble {
  max-width: 85%;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: .9rem;
  line-height: 1.45;
  color: #223048;
  box-shadow: 0 6px 14px rgba(16, 24, 40, .08);
  border: 1px solid #d4dde5;
  background: #dbe3e7;
  margin-left: auto;
  overflow-wrap: anywhere;
}
.hero-chat-bubble strong {
  font-weight: 700;
}
.hero-chat-bubble.user {
  background: #fff;
  border-color: #d4dde5;
  color: #111827;
  box-shadow: 0 8px 18px rgba(16, 24, 40, .1);
  transform-origin: right bottom;
  animation: heroUserBubbleIn .26s cubic-bezier(.22,.9,.25,1);
}
.hero-chat-bubble.ai {
  margin-right: 0;
  color: #fff;
  border-color: transparent;
  background: linear-gradient(130deg, #111827, #334155, #7c3aed, #1d4ed8);
  background-size: 260% 260%;
  transform-origin: left bottom;
  animation: heroAiBubbleIn .3s cubic-bezier(.22,.9,.25,1), heroAiBubbleGradient 6s ease infinite;
  box-shadow: 0 10px 22px rgba(29, 78, 216, .22);
}
.hero-chat-cta-row {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
  margin-left: auto;
}
.hero-chat-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid #d4dde5;
  background: #fff;
  color: #111827;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.hero-chat-cta-btn:hover {
  transform: translateY(-1px);
  border-color: #c8d2de;
  box-shadow: 0 8px 16px rgba(17, 24, 39, .08);
}
@keyframes heroAiBubbleGradient {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes heroUserBubbleIn {
  0% {
    opacity: 0;
    transform: translateY(16px) scale(.96);
    filter: blur(1px);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
@keyframes heroAiBubbleIn {
  0% {
    opacity: 0;
    transform: translateY(16px) scale(.96);
    filter: blur(1px);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
.hero-chart-card {
  width: min(100%, 500px);
  min-height: 332px;
  height: 332px;
  border-radius: 14px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px 22px 18px;
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(111,77,232,.18) 0%, rgba(111,77,232,0) 62%),
    linear-gradient(160deg, #ffffff 0%, #f5f3ff 100%);
  color: #161a2e;
  border: 1px solid #ececf5;
  box-shadow: 0 14px 34px rgba(43, 28, 98, .1);
  transition: background .45s ease, color .45s ease, box-shadow .45s ease;
  overflow: hidden;
  align-self: flex-end;
  bottom: 0;
  z-index: 0;
}
.hero-chart-card::before {
  content: none;
  position: absolute;
  inset: -32% -18%;
  background:
    radial-gradient(48% 42% at 22% 36%, rgba(134,98,246,.24) 0%, rgba(134,98,246,0) 72%),
    radial-gradient(50% 44% at 82% 62%, rgba(151,117,252,.2) 0%, rgba(151,117,252,0) 74%);
  opacity: .6;
  filter: blur(16px);
  transform: translate3d(0,0,0) scale(1);
  animation: heroCardPurpleFloat 8s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 0;
}
.hero-chart-card > * {
  position: relative;
  z-index: 1;
}
@keyframes heroCardPurpleFloat {
  0% {
    transform: translate3d(-2%, -1%, 0) scale(1);
  }
  100% {
    transform: translate3d(2%, 2%, 0) scale(1.04);
  }
}
.hero-chart-card.is-hidden {
  display: none;
}
.hero-chart-card.is-light {
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(111,77,232,.18) 0%, rgba(111,77,232,0) 62%),
    linear-gradient(160deg, #ffffff 0%, #f5f3ff 100%);
  color: #161a2e;
  border: 1px solid #ececf5;
  box-shadow: 0 14px 34px rgba(43, 28, 98, .1);
}
.hero-chart-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
  transition: transform .35s ease, opacity .35s ease;
}
.hero-chart-head > div:last-child {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.hero-chart-title {
  font-size: .66rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #6e7391;
  margin-bottom: 6px;
  font-weight: 700;
}
.hero-chart-amount {
  font-size: 2.05rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.02em;
}
.hero-chart-range {
  font-size: .62rem;
  color: #6e7391;
  font-weight: 600;
  white-space: nowrap;
}
.hero-chart-pill {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #f7f5ff;
  border: 1px solid #dfddf4;
  color: #3d3563;
  min-height: 24px;
  padding: 0 10px;
  font-size: .86rem;
  font-weight: 700;
  margin-left: auto;
}
.hero-chart-card.is-light .hero-chart-title { color: #6e7391; }
.hero-chart-card.is-light .hero-chart-amount { color: #161a2e; }
.hero-chart-card.is-light .hero-chart-range { color: #6e7391; }
.hero-chart-card.is-light .hero-chart-pill {
  background: #f7f5ff;
  border-color: #dfddf4;
  color: #3d3563;
}
.hero-chart-svg {
  width: 100%;
  height: 170px;
  margin: 8px 0 8px;
  overflow: visible;
  transition: transform .35s ease, opacity .35s ease;
}
.hero-chart-svg .chart-bar {
  fill: url(#hero-bar-grad);
  transform-origin: bottom;
  transform: scaleY(0);
}
.hero-chart-card.is-bars-animating .chart-bar {
  animation: chartBarGrow 900ms cubic-bezier(.22,.9,.25,1) forwards;
}
.hero-chart-svg .chart-bar:nth-of-type(1)  { animation-delay: .04s; }
.hero-chart-svg .chart-bar:nth-of-type(2)  { animation-delay: .08s; }
.hero-chart-svg .chart-bar:nth-of-type(3)  { animation-delay: .12s; }
.hero-chart-svg .chart-bar:nth-of-type(4)  { animation-delay: .16s; }
.hero-chart-svg .chart-bar:nth-of-type(5)  { animation-delay: .20s; }
.hero-chart-svg .chart-bar:nth-of-type(6)  { animation-delay: .24s; }
.hero-chart-svg .chart-bar:nth-of-type(7)  { animation-delay: .28s; }
.hero-chart-svg .chart-bar:nth-of-type(8)  { animation-delay: .32s; }
.hero-chart-svg .chart-bar:nth-of-type(9)  { animation-delay: .36s; }
.hero-chart-svg .chart-bar:nth-of-type(10) { animation-delay: .40s; }
.hero-chart-svg .chart-bar:nth-of-type(11) { animation-delay: .44s; }
.hero-chart-svg .chart-bar:nth-of-type(12) { animation-delay: .48s; }
@keyframes chartBarGrow {
  0% { transform: scaleY(0); opacity: .2; }
  100% { transform: scaleY(1); opacity: 1; }
}
.hero-chart-axis {
  display: flex;
  justify-content: space-between;
  color: #6e7391;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .01em;
  margin-bottom: 12px;
  transition: transform .35s ease, opacity .35s ease;
}
.hero-chart-axis-label {
  background: transparent;
}
.hero-chart-card.is-light .hero-chart-axis {
  color: #6e7391;
}
.hero-chart-card.is-switching .hero-chart-head,
.hero-chart-card.is-switching .hero-chart-svg,
.hero-chart-card.is-switching .hero-chart-axis {
  opacity: 0;
  transform: translateX(18px);
}
.hero-chart-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
}
.hero-chart-dot {
  position: relative;
  width: 24px;
  height: 6px;
  border-radius: 100px;
  border: none;
  padding: 0;
  overflow: hidden;
  background: rgba(232, 226, 255, .24);
  cursor: pointer;
}
.hero-chart-dot::before {
  content: '';
  position: absolute;
  inset: 0;
  transform-origin: left center;
  transform: scaleX(0);
  background: #bba5ff;
  opacity: .95;
}
.hero-chart-mock-image {
  position: absolute;
  top: 6px;
  right: 10px;
  bottom: 0;
  left: 10px;
  border-radius: 14px;
  object-fit: contain;
  object-position: bottom center;
  opacity: 0;
  transform: translateX(14px);
  transition: opacity .35s ease, transform .35s ease;
  pointer-events: none;
  z-index: 4;
}
.hero-chart-dot.active::before {
  transform: scaleX(1);
}
.hero-chart-dot.is-progressing::before {
  animation: heroDotProgress 15s linear forwards;
}
@keyframes heroDotProgress {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
.hero-chart-card.is-light .hero-chart-dot {
  background: rgba(232, 226, 255, .24);
}
.hero-chart-card.is-light .hero-chart-dot::before {
  background: #bba5ff;
}
#heroNotifyStack {
  position: absolute;
  right: 14px;
  top: 116px;
  width: min(100%, 228px);
  background: #fff;
  z-index: 3;
  opacity: 0;
  transform: translateX(18px);
  pointer-events: none;
  transition: opacity .32s ease, transform .32s ease;
}
.hero-chart-card.show-notify #heroNotifyStack {
  opacity: 0;
  pointer-events: none;
}
.hero-chart-card.show-notify .hero-chart-head,
.hero-chart-card.show-notify .hero-chart-svg,
.hero-chart-card.show-notify .hero-chart-axis,
.hero-chart-card.show-notify .hero-chart-dots {
  opacity: 0;
  transform: translateX(-18px);
  pointer-events: none;
  transition: opacity .32s ease, transform .32s ease;
}
.hero-chart-card.show-notify .hero-chart-mock-image {
  opacity: 1;
  transform: translateX(0);
}
.notify-card-title {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #7a8291;
  font-weight: 700;
  margin-bottom: 10px;
}
.notify-stack {
  position: relative;
  height: 116px;
  overflow: hidden;
}
.notify-item {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 10px 11px;
  border-radius: 10px;
  position: absolute;
  left: 0;
  top: 0;
  background: #fff;
  border: 1px solid #e8ecf4;
  color: #1f2a3d;
  box-shadow: 0 8px 16px rgba(15, 23, 42, .08);
  opacity: 0;
  transform: translateY(14px);
  pointer-events: none;
  transition: opacity .32s ease, transform .32s ease;
}
.notify-stack .notify-item {
  background: transparent;
  border: none;
  box-shadow: none;
}
.notify-item.active {
  opacity: 1;
  transform: translateY(0);
}
.notify-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: #f3f5fb;
  border: 1px solid #e2e7f0;
}
.notify-icon img {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  display: block;
}
.notify-body strong {
  display: block;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.25;
  color: #18202f;
}
.notify-body span {
  display: block;
  margin-top: 2px;
  font-size: .7rem;
  color: #717c8f;
  line-height: 1.25;
}

/* =========================================================
   REFERENCES MARQUEE
========================================================= */
.references-bar {
  padding: 80px 0;
  background: var(--white);
  border-top: var(--border-w-thin) solid var(--border);
  border-bottom: var(--border-w-thin) solid var(--border);
  overflow: hidden;
}
.references-marquee {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--px);
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.references-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: refs-scroll 45s linear infinite;
}
.references-track:hover { animation-play-state: paused; }
.references-group {
  display: flex;
  align-items: center;
  gap: 56px;
  padding-right: 56px;
}
.logo-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-width: 168px;
  height: 72px;
  padding: 18px 18px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  text-decoration: none;
  color: var(--ink);
  transition: opacity .35s ease, transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.logo-item:hover {
  transform: scale(1.03);
  border-color: #d5d9de;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}
.logo-item img {
  display: block;
  max-width: 168px;
  max-height: 50px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.55;
  transition: filter .35s ease, opacity .35s ease;
}
.logo-item:hover img {
  filter: none;
  opacity: 1;
}
@keyframes refs-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(var(--refs-shift, -50%)); }
}

/* =========================================================
   FEATURES SECTION
========================================================= */
.features .wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.features-text .section-body { margin: 16px 0 0; }

.feature-list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 0;
  overflow-y: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-right: 0;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%);
}
.feature-list::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.feature-item {
  background: #f8f8fd;
  border: 1px solid #e6e7f2;
  border-radius: var(--radius);
  padding: 24px;
  display: flex; gap: 16px; align-items: flex-start;
  transition: transform .22s, box-shadow .22s;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.feature-item:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}
.feature-item:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}
.f-icon {
  width: 46px; height: 46px; border-radius: var(--radius);
  background: var(--white);
  display: grid; place-items: center; flex-shrink: 0;
}
.f-icon svg { width: 22px; height: 22px; }
.f-body h4 { font-size: .95rem; font-weight: 500; margin-bottom: 5px; }
.f-body p { font-size: .86rem; line-height: 1.65; color: var(--ink-soft); }
.f-icon .ph-duotone { font-size: 1.45rem; color: #9bc928; }
.f-icon .ph-duotone .ph-fill { color: #c5e836; opacity: .45; }

.feature-list-shell {
  position: relative;
}
.feature-list-shell > .feature-list-more {
  display: none;
}

@media (max-width: 1024px) {
  .feature-list-shell.is-collapsed .feature-item:nth-child(n+3) {
    display: none;
  }
  .feature-list-shell.is-collapsed::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 58px;
    height: 96px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 78%);
    pointer-events: none;
    z-index: 1;
  }
  .feature-list-shell > .feature-list-more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 42px;
    margin-top: 28px;
    border-radius: 4px;
    border: 1px solid var(--brand-lime, #adf44d);
    background: var(--brand-lime, #adf44d);
    color: #0a141e;
    font-family: inherit;
    font-size: .84rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s, border-color .15s, transform .15s;
    position: relative;
    z-index: 2;
  }
  .feature-list-shell > .feature-list-more:hover {
    background: var(--brand-lime, #adf44d);
    border-color: var(--brand-lime, #adf44d);
    color: #0a141e;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .09);
    transform: translateY(-1px);
  }
  .feature-list-shell.is-expanded > .feature-list-more {
    margin-top: 36px;
  }
}

/* =========================================================
   PRICING
========================================================= */
.pricing {
  padding: 160px 0 260px;
  background: #090909;
  position: relative;
  overflow: hidden;
}
.pricing::after {
  content: none;
}
.pricing .wrap {
  position: relative;
  z-index: 2;
  background-color: transparent;
}
.pricing-intro {
  text-align: center;
  max-width: 780px;
  margin: 42px auto 0;
}
.pricing-plan-card--intro {
  justify-content: center;
  text-align: left;
}
.pricing-plan-card.pricing-plan-card--intro {
  border: 0;
  box-shadow: none;
}
.pricing-plan-card--intro:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}
.pricing-plan-card--intro .pricing-intro {
  margin: 0;
  max-width: none;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.pricing-plan-card--intro .pricing-intro p {
  margin: 0 0 20px;
  max-width: none;
}
.pricing-plan-card--intro .pricing-intro-actions {
  justify-content: flex-start;
  width: 100%;
}
.pricing-intro-kicker {
  font-size: .8rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #9fb4d7;
  font-weight: 700;
  margin-bottom: 12px;
}
.pricing-intro h2 {
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  line-height: 1.16;
  letter-spacing: -.02em;
  color: #f6f8ff;
  margin-bottom: 14px;
}
.pricing-intro p {
  font-size: .95rem;
  line-height: 1.65;
  color: #9fb0ca;
  max-width: 620px;
  margin: 0 auto 20px;
}
.pricing-intro-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.btn-pricing-primary {
  background: linear-gradient(90deg, #6f4de8, #8662f6);
  color: #fff;
  border: 1px solid transparent;
  box-shadow: 0 10px 26px rgba(111, 77, 232, .34);
}
.btn-pricing-primary:hover {
  background: #7a58f4;
  box-shadow: 0 14px 30px rgba(111, 77, 232, .4);
}
.btn-pricing-primary.analist-lite-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
  isolation: isolate;
}
.btn-pricing-primary.analist-lite-btn::before {
  content: '';
  position: absolute;
  inset: -90%;
  background: conic-gradient(
    from 0deg,
    rgba(134, 98, 246, 0),
    rgba(134, 98, 246, 0.12),
    rgba(134, 98, 246, 0.65),
    rgba(199, 191, 247, 0.9),
    rgba(134, 98, 246, 0.65),
    rgba(134, 98, 246, 0.12),
    rgba(134, 98, 246, 0)
  );
  animation: dopinggoAnalistSnake 3.2s linear infinite;
  z-index: 0;
}
.btn-pricing-primary.analist-lite-btn::after {
  content: '';
  position: absolute;
  inset: 1px;
  border-radius: 4px;
  background: #1e293b;
  z-index: 1;
}
.analist-lite-btn__inner {
  position: relative;
  z-index: 2;
  height: 43px;
  padding: 0 14px;
  border-radius: 4px;
  background: #1e293b;
  color: #f8fafc;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 600;
  font-size: .9rem;
  letter-spacing: .01em;
  white-space: nowrap;
}
.analist-lite-btn .ph-duotone {
  color: #8662F6;
  font-size: 16px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.analist-lite-btn .ph-duotone .ph-fill {
  fill: #C7BFF7;
  opacity: 0.45;
}
.btn-pricing-primary.analist-lite-btn:hover {
  transform: none;
  background: transparent;
  box-shadow: none;
}
.btn-pricing-primary.analist-lite-btn:hover .analist-lite-btn__inner {
  color: #fff;
}
@keyframes dopinggoAnalistSnake {
  to { transform: rotate(1turn); }
}
.btn-pricing-secondary {
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(160, 177, 208, .32);
  color: #dbe6fa;
}
.btn-pricing-secondary:hover {
  background: rgba(255, 255, 255, .1);
  border-color: rgba(176, 193, 224, .5);
  color: #fff;
}
.pricing-header {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 30px;
}
.pricing-header h2 {
  font-size: clamp(1.75rem, 2.8vw, 2.35rem);
  letter-spacing: -.02em;
  color: #f6f8ff;
  margin-bottom: 12px;
}
.pricing-header p {
  font-size: .95rem;
  color: #9fb0ca;
  line-height: 1.6;
}
.pricing-shell {
  width: 100%;
  max-width: none;
  margin: 0;
}
.pricing-toggle {
  margin: 30px auto 28px;
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  justify-content: center;
  padding: 6px 8px;
  border-radius: 999px;
  background: #0e1627;
  border: 1px solid #1d2840;
  color: #95a4bb;
}
.billing-label {
  min-width: 66px;
  height: 34px;
  border-radius: 999px;
  font-size: .86rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color .2s ease, background .2s ease;
}
.billing-label.active {
  color: #fff;
  background: rgba(134, 98, 246, .18);
}
.billing-switch {
  width: 52px;
  height: 28px;
  border-radius: 999px;
  background: rgba(134, 98, 246, .2);
  border: 1px solid rgba(134, 98, 246, .45);
  padding: 2px;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
}
.billing-switch span {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: block;
  background: var(--green);
  box-shadow: 0 6px 14px rgba(134, 98, 246, .38);
  transition: transform .2s ease;
}
.billing-switch.is-yearly span {
  transform: translateX(24px);
}
.billing-save {
  font-size: .76rem;
  color: #6ef7d2;
  font-weight: 700;
  letter-spacing: .01em;
  margin-left: 2px;
}
.pricing-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
  position: relative;
  z-index: 2;
  color: rgba(0, 0, 0, 0);
  background-color: rgba(255, 255, 255, 0);
  border: 0;
  border-radius: 22px;
  padding: 18px;
}
.pricing-cards > .pricing-plan-card--intro {
  order: 1;
}
.pricing-cards > .pricing-plan-card:not(.pricing-plan-card--intro):not(.is-popular) {
  order: 3;
}
.pricing-cards > .pricing-plan-card.is-popular {
  order: 2;
}
.pricing-plan-card {
  background-color: rgba(255, 255, 255, 0);
  border: 1px solid #223150;
  border-radius: 2px;
  padding: 18px 18px 16px;
  color: #d8e0f0;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.pricing-plan-card:hover {
  transform: translateY(-3px);
  border-color: #2b3f64;
}
.pricing-plan-card.is-popular {
  border-color: rgba(169, 147, 255, 0.95);
  background: linear-gradient(180deg, rgba(134, 98, 246, .14) 0%, rgba(255, 255, 255, 0) 48%);
  box-shadow: 0 0 0 1px rgba(134, 98, 246, .48), 0 26px 42px rgba(11, 17, 30, .55);
  position: relative;
  transform: translateY(-8px);
}
.pricing-plan-card.is-popular:hover {
  transform: translateY(-10px);
  border-color: #b8a1ff;
}
.pricing-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  height: 24px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid transparent;
  background:
    linear-gradient(#1e293b, #1e293b) padding-box,
    linear-gradient(90deg, #8662f6, #c7bff7, #8662f6) border-box;
  box-shadow: 0 10px 20px rgba(15, 23, 42, .35), 0 0 0 1px rgba(134, 98, 246, .35);
  color: #f8fafc;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .04em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.pricing-include-all {
  margin: 0 0 12px;
  min-height: 32px;
  padding: 7px 10px;
  border-radius: 8px;
  border: 1px solid rgba(169, 147, 255, .45);
  background: rgba(134, 98, 246, .12);
  color: #e7ddff;
  font-size: .79rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .01em;
}
.pricing-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.pricing-top h3 {
  color: #fff;
  font-size: 1.45rem;
  letter-spacing: -.02em;
}
.pricing-trial {
  font-size: .82rem;
  color: #9fb0ca;
  white-space: nowrap;
}
.pricing-copy {
  color: #9aabc3;
  font-size: .9rem;
  line-height: 1.55;
  min-height: 54px;
  margin-bottom: 14px;
}
.pricing-amount {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  margin-bottom: 2px;
}
.pricing-amount strong {
  font-size: 2.05rem;
  line-height: 1;
  color: #fff;
  letter-spacing: -.03em;
}
.pricing-amount span {
  font-size: .94rem;
  color: #8f9fba;
  margin-bottom: 2px;
}
.pricing-billed {
  font-size: .8rem;
  color: #7e8ea8;
  margin-bottom: 14px;
}
.included-title {
  margin: 4px 0 12px;
  color: #e0e8f5;
  font-size: 1.02rem;
  font-weight: 500;
}
.included-list {
  list-style: none;
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}
.included-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #c5d2e7;
  font-size: .9rem;
  position: relative;
}
.included-list li.included-group-title {
  display: block;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(151, 169, 198, .26);
  color: #eef4ff;
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.included-list li .ph-duotone {
  font-size: 18px;
  line-height: 1;
  color: #8662F6;
  flex-shrink: 0;
}
.included-list li .ph-duotone .ph-fill {
  fill: #C7BFF7;
}
.included-item-label {
  position: relative;
  cursor: help;
  border-bottom: 0;
  line-height: 1.45;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.included-item-label::before {
  content: "i";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(170, 188, 214, .55);
  color: #b7c9e3;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transform: translateY(-1px);
  order: 2;
}
.included-item-label::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 0;
  bottom: calc(100% + 10px);
  width: min(320px, 70vw);
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #2c3b56;
  background: #0a111f;
  color: #dbe6fa;
  font-size: .8rem;
  line-height: 1.5;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .45);
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index: 5;
  pointer-events: none;
}
.included-item-label:hover::after,
.included-item-label:focus-visible::after {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.cta-wide {
  width: 100%;
  height: 54px;
  padding: 0 14px;
  border-radius: 6px;
  border: 0;
  background: #fff;
  color: #08141e;
  font-family: 'TT Hoves', sans-serif;
  font-weight: 600;
  font-size: .88rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  cursor: pointer;
  transition: transform .18s ease, filter .18s ease;
}
.cta-wide::before {
  content: none;
}
.cta-wide::after {
  content: none;
}
.cta-wide__inner {
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  letter-spacing: .01em;
  white-space: nowrap;
  padding: 0;
}
.cta-wide__inner .ph-duotone {
  color: #08141e;
  font-size: 15px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cta-wide__inner .ph-duotone .ph-fill {
  fill: #08141e;
  opacity: 0.2;
}
.cta-wide:hover {
  transform: translateY(-2px);
  filter: brightness(.96);
}
.pricing {
  background-color: rgba(255, 255, 255, 1);
}
.pricing-intro-kicker {
  color: #5f6f89;
}
.pricing-intro h2,
.pricing-header h2 {
  color: #111827;
}
.pricing-intro p,
.pricing-header p {
  color: #5b6478;
}
.btn-pricing-secondary {
  background: #eef2ff;
  border: 1px solid #d8def2;
  color: #1f2937;
}
.btn-pricing-secondary:hover {
  background: #e3e9ff;
  border-color: #c7d2f0;
  color: #111827;
}
.pricing-toggle {
  background: #ffffff;
  border-color: #d8dff0;
  color: #6b7280;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}
.billing-label.active {
  color: #1f2937;
  background: #e8ecff;
}
.billing-switch {
  background: #ece9ff;
  border-color: #cdc7ff;
}
.pricing-plan-card {
  background: #ffffff;
  border-color: #e2e8f0;
  color: #334155;
  box-shadow: none;
}
.pricing-plan-card.pricing-plan-card--intro {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.pricing-plan-card--intro .pricing-intro h2 {
  font-size: 20px;
  line-height: 1.5;
  margin-bottom: 12px;
}
.pricing-plan-card:hover {
  border-color: #cfd8ea;
  box-shadow: none;
}
.pricing-plan-card.is-popular {
  border-color: #8b7cf6;
  background: linear-gradient(180deg, rgba(134, 98, 246, .12) 0%, #ffffff 50%);
  box-shadow: none;
}
.pricing-top h3,
.pricing-amount strong {
  color: #0f172a;
}
.pricing-trial,
.pricing-copy,
.pricing-amount span,
.pricing-billed {
  color: #5f6b80;
}
.included-title {
  color: #1e293b;
}
.included-list li {
  color: #334155;
}
.included-list li.included-group-title {
  border-top-color: #dde5f2;
  color: #1e293b;
}
.included-item-label::before {
  border-color: #a5b4d2;
  color: #5b6f95;
}
.included-item-label::after {
  border-color: #d8dfef;
  background: #ffffff;
  color: #334155;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .12);
}
.cta-wide {
  background: #111827;
  color: #ffffff;
}
.cta-wide__inner .ph-duotone {
  color: #ffffff;
}
.cta-wide__inner .ph-duotone .ph-fill {
  fill: #ffffff;
  opacity: .28;
}

/* =========================================================
   CARDS GRID
========================================================= */
.cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.card {
  background: var(--surface);
  border: none;
  border-radius: var(--radius);
  padding: 36px 32px;
  transition: transform .22s, box-shadow .22s;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.card-icon {
  width: 52px; height: 52px; border-radius: var(--radius);
  background: var(--white);
  display: grid; place-items: center;
  margin-bottom: 20px;
}
.card-icon svg { width: 24px; height: 24px; }
.card h3 { font-size: 1.02rem; font-weight: 500; margin-bottom: 10px; }
.card p { font-size: .87rem; line-height: 1.68; color: var(--ink-soft); margin-bottom: 20px; }
.card-link {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: .86rem; font-weight: 600; color: var(--green);
  transition: gap .2s;
}
.card-link:hover { gap: 9px; }
.card-link svg { width: 15px; stroke: var(--green); fill: none; stroke-width: 2.5; stroke-linecap: round; }

/* =========================================================
   CONNECT SECTION
========================================================= */
.connect .wrap {
  display: block;
}
.connect-showcase {
  background: transparent !important;
  position: relative;
  overflow: hidden;
  padding: 0;
}
.connect-showcase .wrap {
  max-width: var(--max-w);
  width: 100%;
  padding-left: var(--px);
  padding-right: var(--px);
  background: #090b10;
  border-radius: 4px;
  overflow: hidden;
}
.connect-stage {
  height: 400px;
  min-height: 400px;
  border-radius: 4px;
  border: 0;
  background: var(--connect-stage-bg);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  padding: 70px 34px 34px;
  box-shadow: inset 0 0 100px rgba(0,0,0,.55);
}
@media (max-width: 1024px) {
  .connect-showcase {
    overflow: visible;
  }
  .connect-showcase .wrap {
    height: auto;
  }
  .connect-stage {
    height: auto;
    min-height: 0;
    padding: 52px 20px 40px;
    overflow: visible;
    justify-content: flex-start;
  }
  .connect-title {
    font-size: clamp(1.45rem, 5.6vw, 1.9rem);
  }
  .connect-copy {
    font-size: .88rem;
    line-height: 1.65;
    max-width: none;
    margin-bottom: 18px;
  }
  .connect-controls {
    margin-bottom: 0;
  }
}
.connect-stage::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(154, 126, 255, .12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(154, 126, 255, .12) 1px, transparent 1px);
  background-size: 46px 46px;
  opacity: .34;
  mask-image: radial-gradient(circle at center, #000 18%, rgba(0,0,0,.8) 52%, transparent 100%);
  pointer-events: none;
  z-index: 0;
}
.connect-stage::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -38px;
  width: min(820px, 82%);
  height: 180px;
  background: radial-gradient(ellipse at center, rgba(124, 92, 255, .34), rgba(124, 92, 255, 0) 70%);
  filter: blur(14px);
  z-index: 0;
  pointer-events: none;
}
.connect-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 7px 14px;
  font-size: .74rem;
  letter-spacing: .02em;
  color: rgba(241, 236, 255, .92);
  background: rgba(129, 96, 255, .28);
  border: 1px solid rgba(199, 191, 247, .32);
  position: relative;
  z-index: 2;
  margin-bottom: 18px;
}
.connect-pill .ph-duotone {
  color: #8662F6;
  font-size: 14px;
  line-height: 1;
}
.connect-pill .ph-duotone .ph-fill {
  fill: #C7BFF7;
  opacity: .45;
}
.connect-title {
  position: relative;
  z-index: 2;
  color: #f4f6ff;
  font-size: clamp(1.75rem, 2.6vw, 2.3rem);
  line-height: 1.2;
  max-width: 680px;
  letter-spacing: -.02em;
  margin-bottom: 12px;
}
.connect-copy {
  position: relative;
  z-index: 2;
  color: #b8c2d8;
  font-size: .92rem;
  line-height: 1.7;
  max-width: 560px;
  margin-bottom: 14px;
}
.connect-dots {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}
.connect-dots span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(220, 228, 244, .45);
  cursor: pointer;
  transition: width .2s ease, background .2s ease;
}
.connect-dots span.is-active {
  width: 14px;
  border-radius: 999px;
  background: rgba(245, 250, 255, .92);
}
.connect-controls {
  position: relative;
  z-index: 2;
  display: inline-flex;
  gap: 8px;
  margin-bottom: 26px;
}
.connect-controls .nav-btn {
  width: 34px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid rgba(173, 153, 255, .35);
  background: rgba(255,255,255,.08);
  color: #cfd7e8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .95rem;
  line-height: 1;
  cursor: pointer;
}
.connect-controls .nav-btn.is-active {
  background: #7d5fff;
  border-color: transparent;
  color: #fff;
  box-shadow: 0 10px 20px rgba(125, 95, 255, .35);
}
/* =========================================================
   FAQ ROW
========================================================= */
.faq-row {
  background: #fff;
  border-top: 1px solid #e9edf5;
  border-bottom: 1px solid #e9edf5;
  padding-top: 160px;
  padding-bottom: 160px;
}
.faq-wrap {
  max-width: 940px;
  margin: 0 auto;
}
.faq-head {
  text-align: center;
  margin-bottom: 24px;
}
.faq-head .section-title {
  margin-bottom: 10px;
}
.faq-head p {
  color: #64748b;
  font-size: .94rem;
  line-height: 1.65;
}
.faq-list {
  display: grid;
  gap: 10px;
}
.faq-item {
  border: 1px solid #e7ecf4;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.faq-item summary {
  list-style: none;
  cursor: pointer;
  height: 64px;
  padding: 16px 18px;
  font-size: .96rem;
  font-weight: 600;
  color: #0f172a;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item summary::after {
  content: '+';
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid #d5deea;
  color: #6b7280;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: .95rem;
  line-height: 1;
}
.faq-item[open] summary::after {
  content: '−';
  color: #6f4de8;
  border-color: #cdbfff;
  background: #f4f0ff;
}
.faq-answer {
  padding: 0 18px 16px;
  color: #526176;
  font-size: .9rem;
  line-height: 1.7;
}

/* =========================================================
   TEAM SHORTS
========================================================= */
.team-shorts {
  padding: 100px 0 120px;
  background: #fff;
  overflow: hidden;
}
.team-shorts-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 48px;
}
.team-shorts-head .section-title {
  font-size: clamp(2rem, 3vw, 2.55rem);
  margin-bottom: 10px;
}
.team-shorts-head p {
  font-size: .95rem;
  color: #526176;
  line-height: 1.65;
}
.team-shorts-scroller {
  position: relative;
  mask-image: linear-gradient(90deg, transparent, #000 2%, #000 98%, transparent);
}
.team-shorts-track {
  display: flex;
  width: max-content;
  overflow: visible;
  padding: 8px 0 24px;
  will-change: transform;
  animation: team-shorts-scroll 50s linear infinite;
}
.team-shorts-track:hover {
  animation-play-state: paused;
}
.team-shorts-group {
  display: flex;
  gap: 20px;
  padding-right: 20px;
}
@keyframes team-shorts-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(var(--team-shorts-shift, -50%)); }
}
@media (prefers-reduced-motion: reduce) {
  .team-shorts-scroller {
    mask-image: none;
  }
  .team-shorts-track {
    animation: none;
    transform: none !important;
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .team-shorts-track::-webkit-scrollbar {
    display: none;
  }
}
.team-short-card {
  flex: 0 0 min(280px, 72vw);
  scroll-snap-align: start;
  position: relative;
  border: 0;
  padding: 0;
  border-radius: 22px;
  overflow: hidden;
  cursor: pointer;
  aspect-ratio: 9 / 16;
  background: #111;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .14);
  transition: transform .25s ease, box-shadow .25s ease;
}
.team-short-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 48px rgba(15, 23, 42, .18);
}
.team-short-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.team-short-play {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: linear-gradient(to top, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .08) 42%, rgba(0, 0, 0, .12) 100%);
  pointer-events: none;
}
.team-short-play svg {
  width: 58px;
  height: 58px;
  padding-left: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .24);
}
.team-short-play svg path {
  fill: #111;
}
.team-short-title {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  color: #fff;
  font-size: .92rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
  pointer-events: none;
  text-shadow: 0 1px 10px rgba(0, 0, 0, .45);
}
.team-shorts-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 24px;
}
.team-shorts-modal[hidden] {
  display: none;
}
.team-shorts-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 12, 20, .78);
  backdrop-filter: blur(6px);
}
.team-shorts-modal__dialog {
  position: relative;
  width: min(100%, 420px);
  aspect-ratio: 9 / 16;
  max-height: min(90vh, 820px);
  border-radius: 22px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .45);
}
.team-shorts-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: #111;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
.team-shorts-modal__iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #000;
}

/* =========================================================
   RESPONSIVE (desktop unchanged; mobile-only overrides)
========================================================= */
@media (max-width: 1100px) {
  :root { --px: 32px; }
  .hero {
    overflow-x: clip;
  }
  .hero .wrap {
    display: flex;
    flex-direction: column;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: stretch;
  }
  .features .wrap, .connect .wrap { grid-template-columns: 1fr; }
  .hero-visual { display: none; }
  .hero-stories-mobile {
    display: block;
  }
  .cards-grid { grid-template-columns: 1fr; }
  .pricing-cards { grid-template-columns: 1fr; }
  .pricing { padding-bottom: 190px; }
  .pricing::after { content: none; }
}
@media (max-width: 1024px) {
  :root { --px: 20px; }
  .section { padding: 64px 0; }
  section.features { padding-top: 48px; }
  .hero {
    height: auto;
    min-height: 0;
    padding: 48px 0 72px;
  }
  .hero .wrap {
    display: flex;
    flex-direction: column;
    gap: 18px;
    height: auto;
    align-items: stretch;
  }
  .hero-text {
    width: 100%;
    max-width: none;
  }
  .hero-text h2 {
    font-size: clamp(1.65rem, 6.8vw, 2.2rem);
    margin-bottom: 12px;
  }
  .hero-text p {
    font-size: .9rem;
    line-height: 1.55;
    max-width: none;
  }
  .hero-ai-entry {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    max-width: 100%;
  }
  .hero-team-stories {
    margin-top: 14px;
  }
  .hero-team-stories__list:hover,
  .hero-team-stories__list:focus-within {
    gap: 5px;
  }
  .hero-team-story-ring {
    margin-left: -12px;
  }
  .hero-team-stories__list {
    min-height: 40px;
  }
  .hero-team-story-ring__avatar {
    width: 40px;
    height: 40px;
  }
  .hero-ig-stories__stage {
    width: 100vw;
    height: 100vh;
    border-radius: 0;
  }
  .hero-ig-stories__media {
    border-radius: 0;
  }
  .hero-ai-actions {
    flex-direction: row;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    gap: 8px;
  }
  .hero-ai-entry.is-expanded .hero-ai-actions {
    display: none;
  }
  .hero-ai-actions .btn {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    justify-content: center;
    min-height: 38px;
    height: 38px;
    padding: 0 10px;
    font-size: .78rem;
    white-space: nowrap;
  }
  .hero-ai-assistant {
    flex: 0 0 auto;
    width: auto;
  }
  .hero-ai-ask {
    width: 38px;
    height: 38px;
    min-width: 38px;
  }
  .hero-ai-ask .ph-duotone {
    font-size: 1.05rem;
  }
  .hero-ai-form {
    height: 38px;
    min-height: 38px;
  }
  .hero-ai-input { font-size: 16px; }
  .hero-stories-mobile {
    --hero-mobile-visible: 3;
    --hero-mobile-gap: 10px;
    margin-top: 16px;
  }
  .hero-stories-mobile .hero-story-card--video {
    border-radius: 14px;
  }
  .hero-stories-mobile .hero-story-card--video img {
    border-radius: 14px;
  }
  .store-row { flex-wrap: wrap; }
  .references-bar { padding: 40px 0; }
  .references-group { gap: 40px; padding-right: 40px; }
  .logo-item { min-width: 140px; height: 64px; padding: 16px 14px; border-radius: 10px; }
  .logo-item img { max-width: 140px; max-height: 44px; }
  .feature-list {
    overflow: visible;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .card { padding: 28px 22px; }
  .meeting-modal {
    padding: 12px;
    align-items: flex-end;
  }
  .meeting-modal-dialog {
    width: 100%;
    max-height: 92vh;
    border-radius: 20px 20px 0 0;
    flex-direction: column;
    min-height: 0;
  }
  .meeting-datetime-intro {
    padding: 20px 16px 0;
  }
  .meeting-title { font-size: 1.55rem; }
  .meeting-slots-panel {
    width: 100%;
    border-left: none;
    border-top: 1px solid #eceff5;
    padding: 20px 16px;
  }
  .meeting-day, .meeting-day-blank { height: 40px; }
  .meeting-slot { min-height: 44px; height: 44px; }
  .meeting-duration-btn { min-height: 40px; }
}
