/* SELLIFY AI — Vertical landing pages (index.html design authority) */
:root {
  --bg: #0B0B0D; --bg-2: #111114; --bg-3: #16161A;
  --text: #F0EDE5; --text-2: #A8A39A; --text-3: #5C5853;
  --line: #1F1F23; --line-2: #2A2A30;
  --accent: #D4FF3F; --accent-dim: rgba(212, 255, 63, 0.08);
  --serif: 'Instrument Serif', serif;
  --sans: 'Geist', sans-serif;
  --mono: 'Geist Mono', monospace;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg); color: var(--text); font-family: var(--sans);
  font-weight: 300; font-size: 16px; line-height: 1.6;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
::selection { background: var(--accent); color: var(--bg); }
.grid-bg {
  position: fixed; inset: 0;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 80px 80px; opacity: 0.4; pointer-events: none; z-index: 1;
  mask-image: radial-gradient(ellipse at center, black 0%, transparent 70%);
}
.container { max-width: 1280px; margin: 0 auto; padding: 0 32px; position: relative; z-index: 1; }
section { padding: 120px 0; position: relative; z-index: 1; }
.section-marker {
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.1em;
  color: var(--text-3); text-transform: uppercase;
  margin-bottom: 24px; display: flex; align-items: center; gap: 12px;
}
.section-marker::before { content: ''; width: 24px; height: 1px; background: var(--text-3); }
.h-section {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(36px, 5vw, 64px); line-height: 1.05;
  letter-spacing: -0.02em; margin-bottom: 32px;
}
.h-section .em { font-style: italic; color: var(--accent); }
.lead {
  font-size: 19px; line-height: 1.55; color: var(--text-2);
  font-weight: 300; max-width: 640px;
}

/* ---------- CONTINUITY STRIP ---------- */
.continuity-strip {
  position: relative; z-index: 99;
  border-bottom: 1px solid var(--line);
  background: var(--bg-2); padding: 14px 0; margin-top: 0;
  opacity: 0; transform: translateY(-4px);
  animation: continuityIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;
}
.continuity-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
}
.continuity-back {
  font-family: var(--mono); font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-3); text-decoration: none;
  display: inline-flex; align-items: center; gap: 8px;
  transition: color 0.2s ease, gap 0.2s ease;
}
.continuity-back:hover { color: var(--accent); gap: 12px; }
.continuity-back-arrow { display: inline-block; transition: transform 0.2s ease; }
.continuity-back:hover .continuity-back-arrow { transform: translateX(-2px); }
.continuity-selected {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--mono); font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.continuity-label { color: var(--text-3); }
.continuity-divider { width: 1px; height: 12px; background: var(--line-2); }
.continuity-value { color: var(--accent); font-weight: 500; }
.continuity-change {
  color: var(--text-3); text-decoration: none;
  padding-left: 12px; margin-left: 4px;
  border-left: 1px solid var(--line-2);
  transition: color 0.2s ease;
}
.continuity-change:hover { color: var(--text); }
@keyframes continuityIn { to { opacity: 1; transform: translateY(0); } }
.page-enter { opacity: 0; animation: pageFadeIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
@keyframes pageFadeIn { to { opacity: 1; } }
.has-continuity nav { top: 47px; }
@media (max-width: 600px) {
  .continuity-inner { gap: 8px; }
  .continuity-selected { font-size: 10px; gap: 8px; }
  .continuity-change { padding-left: 8px; }
}

/* ---------- NAV ---------- */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: 20px 32px; background: rgba(11, 11, 13, 0.7);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--line); transition: top 0.3s ease;
}
.nav-inner {
  max-width: 1280px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
}
.brand {
  font-family: var(--sans); font-weight: 500; font-size: 16px;
  letter-spacing: -0.01em; display: flex; align-items: center; gap: 10px;
  color: var(--text); text-decoration: none;
}
.brand-mark {
  width: 8px; height: 8px; background: var(--accent);
  border-radius: 50%; box-shadow: 0 0 12px var(--accent);
  animation: pulse 2.4s ease-in-out infinite;
}
@keyframes pulse { 0%,100% { opacity:1; transform:scale(1);} 50% { opacity:.6; transform:scale(.85);} }
.nav-status {
  font-family: var(--mono); font-size: 11px; color: var(--text-3);
  letter-spacing: 0.08em; text-transform: uppercase;
}
@media (max-width: 720px) { .nav-status { display: none; } }
.btn-nav {
  font-family: var(--sans); font-size: 14px; font-weight: 500;
  color: var(--bg); background: var(--accent); border: none;
  padding: 10px 20px; border-radius: 6px; cursor: pointer;
  text-decoration: none; display: inline-flex; align-items: center;
  gap: 6px; transition: all 0.2s ease;
}
.btn-nav:hover { background: var(--text); transform: translateY(-1px); }

/* ---------- BUTTONS ---------- */
.btn {
  font-family: var(--sans); font-size: 15px; font-weight: 500;
  cursor: pointer; text-decoration: none;
  display: inline-flex; align-items: center; gap: 10px;
  transition: all 0.2s ease; border: none; letter-spacing: -0.005em;
}
.btn-primary {
  background: var(--accent); color: var(--bg);
  padding: 16px 28px; border-radius: 8px;
}
.btn-primary:hover {
  background: var(--text); transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(212, 255, 63, 0.15);
}
.btn-primary .arrow { transition: transform 0.2s ease; }
.btn-primary:hover .arrow { transform: translateX(3px); }
.btn-secondary {
  background: transparent; color: var(--text);
  padding: 16px 28px; border: 1px solid var(--line-2); border-radius: 8px;
}
.btn-secondary:hover { border-color: var(--text-2); background: var(--bg-2); }

/* ---------- HERO ---------- */
.hero {
  padding: 200px 0 120px;
  min-height: 92vh;
  display: flex; align-items: center; position: relative;
}
.hero-tag {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--mono); font-size: 11px; color: var(--text-2);
  text-transform: uppercase; letter-spacing: 0.1em;
  padding: 8px 14px; border: 1px solid var(--line);
  border-radius: 100px; background: var(--bg-2); margin-bottom: 40px;
}
.hero-tag-dot {
  width: 6px; height: 6px; background: var(--accent);
  border-radius: 50%; box-shadow: 0 0 8px var(--accent);
}
.hero-headline {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(56px, 9vw, 128px); line-height: 0.95;
  letter-spacing: -0.03em; margin-bottom: 32px; max-width: 1100px;
  text-align: center;
}
.hero-headline .em { font-style: italic; color: var(--accent); }
.hero-sub {
  font-size: 19px; line-height: 1.55; color: var(--text-2);
  font-weight: 300; max-width: 640px; margin-bottom: 48px;
}
.hero-cta-row { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; }
.hero-metrics {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 0; border-top: 1px solid var(--line);
  margin-top: 48px; padding-top: 32px;
}
.metric { padding: 16px 20px 16px 0; border-right: 1px solid var(--line); }
.metric:last-child { border-right: none; padding-right: 0; }
.metric-value {
  font-family: var(--serif); font-size: 40px; line-height: 1;
  letter-spacing: -0.02em; margin-bottom: 8px;
}
.metric-label {
  font-family: var(--mono); font-size: 11px; color: var(--text-3);
  text-transform: uppercase; letter-spacing: 0.08em;
}
@media (max-width: 720px) {
  .metric { border-right: none; border-bottom: 1px solid var(--line); padding: 16px 0; }
  .metric:last-child { border-bottom: none; }
}

/* ---------- PROBLEM ---------- */
.problem-grid {
  display: grid; grid-template-columns: 1fr 1.2fr;
  gap: 80px; align-items: start;
}
@media (max-width: 900px) { .problem-grid { grid-template-columns: 1fr; gap: 48px; } }
.problem-list { display: flex; flex-direction: column; }
.problem-item {
  border-top: 1px solid var(--line); padding: 32px 0;
  display: grid; grid-template-columns: 60px 1fr; gap: 24px;
}
.problem-item:last-child { border-bottom: 1px solid var(--line); }
.problem-num {
  font-family: var(--mono); font-size: 13px; color: var(--text-3);
  letter-spacing: 0.05em; padding-top: 4px;
}
.problem-title {
  font-family: var(--sans); font-weight: 500; font-size: 19px;
  margin-bottom: 10px; letter-spacing: -0.01em;
}
.problem-body { color: var(--text-2); font-size: 15px; line-height: 1.6; }

/* ---------- USE CASES ---------- */
.use-cases-grid {
  display: grid; grid-template-columns: 1fr;
  gap: 0; border-top: 1px solid var(--line);
}
.use-case {
  display: grid; grid-template-columns: 80px 280px 1fr;
  gap: 40px; padding: 40px 0;
  border-bottom: 1px solid var(--line); align-items: start;
  transition: padding 0.3s ease;
}
.use-case:hover { padding-left: 16px; }
@media (max-width: 900px) {
  .use-case { grid-template-columns: 60px 1fr; gap: 24px; }
  .use-case .use-case-detail { grid-column: 1 / -1; padding-left: 84px; }
}
.use-case-num {
  font-family: var(--serif); font-size: 56px; line-height: 1;
  font-style: italic; color: var(--accent);
}
.use-case-title {
  font-family: var(--serif); font-size: 28px; font-weight: 400;
  letter-spacing: -0.02em; line-height: 1.15;
}
.use-case-detail {
  color: var(--text-2); font-size: 16px; line-height: 1.6; max-width: 540px;
}

/* ---------- CHANNEL ARCHITECTURE ---------- */
.channel-arch {
  display: grid; grid-template-columns: 1fr 1.2fr;
  gap: 64px; align-items: start; margin-top: 64px;
}
@media (max-width: 900px) {
  .channel-arch { grid-template-columns: 1fr; gap: 48px; }
}
.channel-mix {
  background: var(--bg-2); border: 1px solid var(--line);
  border-radius: 12px; padding: 36px;
}
.channel-tier { margin-bottom: 32px; }
.channel-tier:last-child { margin-bottom: 0; }
.channel-tier-label {
  font-family: var(--mono); font-size: 11px; color: var(--text-3);
  letter-spacing: 0.1em; text-transform: uppercase;
  margin-bottom: 20px; padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
  display: flex; align-items: center; gap: 10px;
}
.channel-tier-label.is-primary { color: var(--accent); }
.channel-tier-label.is-primary::before {
  content: ''; width: 6px; height: 6px;
  background: var(--accent); border-radius: 50%;
  box-shadow: 0 0 6px var(--accent);
}
.channel-row {
  display: grid; grid-template-columns: 44px 1fr;
  gap: 16px; padding: 16px 0; align-items: start;
}
.channel-row + .channel-row { border-top: 1px solid var(--line); }
.channel-row-icon {
  width: 40px; height: 40px; border-radius: 8px;
  background: var(--bg-3); border: 1px solid var(--line-2);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; line-height: 1;
}
.channel-row-name {
  font-family: var(--sans); font-weight: 500; font-size: 16px;
  letter-spacing: -0.01em; margin-bottom: 4px;
}
.channel-row-role {
  font-size: 13.5px; line-height: 1.5; color: var(--text-2);
}
.channel-flow-list {
  list-style: none; position: relative; padding-left: 32px;
  counter-reset: step;
}
.channel-flow-list::before {
  content: ''; position: absolute; left: 11px; top: 16px; bottom: 16px;
  width: 1px; background: var(--line-2);
}
.channel-flow-step {
  position: relative; padding: 16px 0 16px 24px;
  border-bottom: 1px solid var(--line);
}
.channel-flow-step:last-child { border-bottom: none; }
.channel-flow-step::before {
  content: counter(step); counter-increment: step;
  position: absolute; left: -32px; top: 14px;
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--bg-3); border: 1px solid var(--line-2);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--mono); font-size: 10px; font-weight: 500;
  color: var(--text-2); z-index: 1;
  transition: all 0.2s ease;
}
.channel-flow-step:hover::before {
  background: var(--accent-dim);
  border-color: rgba(212, 255, 63, 0.5);
  color: var(--accent);
}
.channel-flow-text {
  font-size: 15px; line-height: 1.55; color: var(--text-2);
}
.channel-insight {
  margin-top: 48px; padding: 32px 36px;
  background: var(--bg-2); border: 1px solid var(--line);
  border-left: 3px solid var(--accent);
  border-radius: 0 12px 12px 0;
  display: grid; grid-template-columns: auto 1fr;
  gap: 24px; align-items: center;
}
@media (max-width: 720px) {
  .channel-insight { grid-template-columns: 1fr; gap: 12px; padding: 24px 28px; }
}
.channel-insight-label {
  font-family: var(--mono); font-size: 10px; color: var(--text-3);
  letter-spacing: 0.12em; text-transform: uppercase;
}
.channel-insight-text {
  font-family: var(--serif); font-size: 22px; font-style: italic;
  line-height: 1.35; letter-spacing: -0.01em; color: var(--text);
}

/* ---------- TRANSFORM ---------- */
.transform {
  display: grid; grid-template-columns: 1fr auto 1fr;
  gap: 40px; align-items: center;
  padding: 60px; background: var(--bg-2);
  border: 1px solid var(--line); border-radius: 16px;
}
@media (max-width: 900px) {
  .transform { grid-template-columns: 1fr; gap: 24px; padding: 40px 28px; text-align: center; }
}
.transform-side { font-family: var(--serif); font-size: 24px; line-height: 1.3; letter-spacing: -0.01em; }
.transform-from { color: var(--text-3); font-style: italic; }
.transform-arrow {
  font-family: var(--mono); color: var(--accent); font-size: 28px;
}
.transform-to { color: var(--text); font-style: italic; }
.transform-to .em { color: var(--accent); }

/* ---------- CTA SECTION ---------- */
.cta-block {
  text-align: center; padding: 120px 0;
  border-top: 1px solid var(--line);
}
.cta-block h2 {
  font-family: var(--serif); font-size: clamp(40px, 6vw, 72px);
  font-weight: 400; line-height: 1; letter-spacing: -0.03em;
  margin-bottom: 32px; max-width: 900px; margin-left: auto; margin-right: auto;
}
.cta-block h2 .em { font-style: italic; color: var(--accent); }
.cta-block p {
  font-size: 18px; color: var(--text-2);
  max-width: 560px; margin: 0 auto 40px; line-height: 1.55;
}
.cta-block .btn-primary { padding: 20px 36px; font-size: 16px; }
.cta-mono {
  margin-top: 32px; font-family: var(--mono); font-size: 12px;
  color: var(--text-3); text-transform: uppercase; letter-spacing: 0.1em;
}

/* ---------- FOOTER ---------- */
footer {
  border-top: 1px solid var(--line); padding: 48px 0;
  position: relative; z-index: 1;
}
.footer-inner {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 24px;
}
.footer-mono {
  font-family: var(--mono); font-size: 11px; color: var(--text-3);
  text-transform: uppercase; letter-spacing: 0.08em;
}

/* ---------- ANIMATIONS (reveal → assets/css/reveal.css) ---------- */

@media (max-width: 720px) {
  .container { padding: 0 20px; }
  section { padding: 80px 0; }
  .hero { padding: 140px 0 80px; }
  nav { padding: 16px 20px; }
  .has-continuity nav { top: 50px; }
  .transform { padding: 32px 20px; }
  .channel-mix { padding: 28px 24px; }
}

/* ---------- CUSTOM CURSOR ---------- */
@media (hover: hover) and (pointer: fine) {
  body { cursor: none; }
  a, button, input, select, textarea, .btn, .form-submit,
  [role="button"], [type="submit"] { cursor: none; }
  .cursor-dot, .cursor-ring {
    position: fixed; top: 0; left: 0;
    pointer-events: none; z-index: 9999;
    border-radius: 50%;
    transform: translate3d(-50%, -50%, 0);
    will-change: transform, width, height, opacity;
  }
  .cursor-dot {
    width: 6px; height: 6px; background: var(--accent);
    box-shadow: 0 0 12px rgba(212, 255, 63, 0.6);
    transition: transform 0.08s linear, opacity 0.2s ease, width 0.2s ease, height 0.2s ease;
  }
  .cursor-ring {
    width: 32px; height: 32px;
    border: 1px solid rgba(212, 255, 63, 0.5);
    background: rgba(212, 255, 63, 0);
    transition:
      width 0.25s cubic-bezier(0.16, 1, 0.3, 1),
      height 0.25s cubic-bezier(0.16, 1, 0.3, 1),
      background 0.25s ease, border-color 0.25s ease, opacity 0.2s ease;
  }
  .cursor-ring.is-hover {
    width: 56px; height: 56px;
    background: rgba(212, 255, 63, 0.06);
    border-color: rgba(212, 255, 63, 0.7);
  }
  .cursor-dot.is-hover { width: 4px; height: 4px; opacity: 0.6; }
  .cursor-ring.is-active {
    width: 24px; height: 24px;
    background: rgba(212, 255, 63, 0.12);
  }
  .cursor-ring.is-text, .cursor-dot.is-text { opacity: 0; }
  .cursor-dot.is-hidden, .cursor-ring.is-hidden { opacity: 0; }
}

/* ═════════ ENRICHMENT — 5 new sections (master template) ═════════ */
/* S/06 · ROI Calculator */
.roi-calc { padding: 120px 0; }
.roi-card { background: var(--bg-2); border: 1px solid var(--line-2); border-radius: 16px; padding: 40px; margin-top: 48px; max-width: 920px; }
.roi-inputs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.roi-field label { display: block; font-family: var(--mono); font-size: 11px; color: var(--text-3); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 10px; }
.roi-field input { width: 100%; background: var(--bg-3); border: 1px solid var(--line-2); border-radius: 8px; color: var(--text); padding: 14px 16px; font-family: var(--sans); font-size: 16px; font-variant-numeric: tabular-nums; transition: border-color .2s ease, box-shadow .2s ease; }
.roi-field input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-dim); }
.roi-out { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 36px; padding-top: 36px; border-top: 1px dashed var(--line-2); }
.roi-metric { padding: 0; border: none; }
.roi-metric .roi-value { font-family: var(--serif); font-size: 44px; line-height: 1; color: var(--accent); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.roi-metric .roi-label { font-family: var(--mono); font-size: 11px; color: var(--text-3); text-transform: uppercase; letter-spacing: .08em; margin-top: 10px; }
.roi-note { font-family: var(--mono); font-size: 11px; color: var(--text-3); margin-top: 24px; letter-spacing: .04em; }
/* S/07 · Live Conversation Demo */
.live-demo { padding: 120px 0; }
.demo-shell { background: var(--bg-2); border: 1px solid var(--line-2); border-radius: 16px; max-width: 760px; margin: 48px auto 0; overflow: hidden; }
.demo-head { padding: 16px 22px; border-bottom: 1px solid var(--line-2); display: flex; justify-content: space-between; align-items: center; background: var(--bg-3); }
.demo-head-title { font-family: var(--mono); font-size: 11px; color: var(--text-2); text-transform: uppercase; letter-spacing: .1em; }
.demo-head-status { font-family: var(--mono); font-size: 10px; color: var(--accent); display: flex; align-items: center; gap: 8px; }
.demo-body { padding: 28px 22px; display: flex; flex-direction: column; gap: 14px; }
.demo-msg { max-width: 78%; padding: 12px 16px; border-radius: 14px; font-size: 14.5px; line-height: 1.5; }
.demo-msg-user { align-self: flex-end; background: var(--bg-3); border: 1px solid var(--line); border-bottom-right-radius: 4px; color: var(--text); }
.demo-msg-ai { align-self: flex-start; background: var(--accent-dim); border: 1px solid rgba(212,255,63,.18); border-bottom-left-radius: 4px; color: var(--text); }
.demo-msg-time { display: block; font-family: var(--mono); font-size: 10px; color: var(--text-3); margin-top: 6px; letter-spacing: .04em; }
.demo-msg-event { align-self: center; font-family: var(--mono); font-size: 10px; color: var(--text-3); text-transform: uppercase; letter-spacing: .1em; padding: 4px 12px; border: 1px solid var(--line-2); border-radius: 100px; }
/* S/08 · Case Study Strip */
.case-strip { padding: 120px 0; }
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
.case-cell { background: var(--bg-2); border: 1px solid var(--line-2); border-radius: 14px; padding: 28px; }
.case-cell-label { font-family: var(--mono); font-size: 11px; color: var(--text-3); text-transform: uppercase; letter-spacing: .08em; }
.case-cell-row { display: flex; align-items: baseline; gap: 16px; margin-top: 18px; }
.case-before { font-family: var(--serif); font-size: 28px; color: var(--text-3); text-decoration: line-through; text-decoration-color: rgba(255,255,255,.18); }
.case-arrow { color: var(--text-3); font-size: 16px; }
.case-after { font-family: var(--serif); font-size: 40px; color: var(--accent); letter-spacing: -.02em; }
.case-cell-note { font-size: 13.5px; color: var(--text-2); margin-top: 14px; line-height: 1.5; }
/* S/09 · FAQ */
.faq-section { padding: 120px 0; }
.faq-list { max-width: 820px; margin: 48px 0 0; }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-q { width: 100%; background: none; border: none; color: var(--text); text-align: left; padding: 22px 0; font-family: var(--sans); font-size: 17px; font-weight: 500; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; transition: color .2s ease; }
.faq-q:hover { color: var(--accent); }
.faq-mark { color: var(--accent); font-size: 22px; line-height: 1; transition: transform .25s cubic-bezier(0.16,1,0.3,1); flex-shrink: 0; }
.faq-item.open .faq-mark { transform: rotate(45deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .35s cubic-bezier(0.16,1,0.3,1); }
.faq-a-inner { padding: 0 0 22px 0; color: var(--text-2); font-size: 15.5px; line-height: 1.6; max-width: 680px; }
/* S/10 · Inline Lead Form */
.lead-form-section { padding: 120px 0 140px; }
.form-card { background: var(--bg-2); border: 1px solid var(--line-2); border-radius: 16px; padding: 40px; max-width: 720px; margin: 48px auto 0; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-field { display: flex; flex-direction: column; }
.form-field-full { grid-column: 1 / -1; }
.form-label { font-family: var(--mono); font-size: 11px; color: var(--text-3); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 10px; }
.form-input, .form-select { background: var(--bg-3); border: 1px solid var(--line-2); border-radius: 8px; color: var(--text); padding: 14px 16px; font-family: var(--sans); font-size: 15px; transition: border-color .2s ease, box-shadow .2s ease; }
.form-input:focus, .form-select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-dim); }
.form-submit { margin-top: 24px; width: 100%; background: var(--accent); color: var(--bg); border: none; border-radius: 8px; padding: 18px; font-family: var(--sans); font-size: 15px; font-weight: 600; letter-spacing: -0.005em; cursor: pointer; transition: transform .15s ease, box-shadow .2s ease; }
.form-submit:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(212,255,63,.18); }
.form-microcopy { font-family: var(--mono); font-size: 10px; color: var(--text-3); text-transform: uppercase; letter-spacing: .08em; margin-top: 18px; text-align: center; display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; }
.form-microcopy span::before { content: '•'; margin-right: 10px; color: var(--accent); }
.form-microcopy span:first-child::before { content: none; }
@media (max-width: 760px) {
  .roi-inputs, .roi-out, .case-grid, .form-grid { grid-template-columns: 1fr; }
  .roi-card, .form-card { padding: 28px; }
}

/* ═════════ Lead Form · Canonical Success State (mirrors index.html) ═════════ */
.form-success { display: none; padding: 32px 28px; background: var(--bg-2); border: 1px solid var(--line); border-radius: 12px; text-align: center; margin-top: 24px; }
.form-success.is-visible { display: block; }
.form-success .success-stage { display: none; }
.form-success .success-stage.active { display: block; }
.form-success-title { font-family: var(--serif, "Instrument Serif", Georgia, serif); font-size: 28px; font-weight: 400; margin: 0 0 12px; color: var(--text); letter-spacing: -0.01em; line-height: 1.2; }
.form-success-body { font-size: 16px; color: var(--text-2); margin: 0; line-height: 1.5; font-weight: 300; }

/* ═════════ S/07 Live Conversation · typing + reveal (matches index pacing) ═════════ */
.demo-typing { align-self: flex-start; display: inline-flex; gap: 4px; padding: 14px 18px; background: var(--bg-3); border: 1px solid var(--line); border-radius: 14px; border-bottom-left-radius: 4px; margin: 4px 0; }
.demo-typing-dot { width: 6px; height: 6px; background: var(--text-3); border-radius: 50%; animation: demoTypingBounce 1.2s ease-in-out infinite; }
.demo-typing-dot:nth-child(2) { animation-delay: 0.15s; }
.demo-typing-dot:nth-child(3) { animation-delay: 0.3s; }
@keyframes demoTypingBounce { 0%, 80%, 100% { transform: scale(0.8); opacity: 0.5; } 40% { transform: scale(1); opacity: 1; } }
.demo-msg-reveal { animation: demoMsgReveal 0.3s ease-out both; }
@keyframes demoMsgReveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .demo-typing, .demo-typing-dot { animation: none; }
  .demo-msg-reveal { animation: none; }
}

/* ═════════ S/07 · flash-prevention · only revealed children render ═════════ */
html.js-demo-animator [data-demo-body] > * { visibility: hidden; }
html.js-demo-animator [data-demo-body] > .demo-msg-reveal,
html.js-demo-animator [data-demo-body] > .demo-typing { visibility: visible; }


/* ═════════ S/07 · Result Panel — reused from index.html .chat-success ═════════ */
.chat-success { margin: 16px 0 0; padding: 16px; background: var(--bg-2); border: 1px solid var(--accent); border-left: 3px solid var(--accent); border-radius: 8px; text-align: center; }
.chat-success-label { font-family: var(--mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; }
.chat-success-text { font-family: var(--serif); font-size: 18px; font-style: italic; color: var(--text); }

/* ─── Content stacking — grid background layer ─── */
body { position: relative; z-index: 0; }
.container, main, section, footer,
.hero, .hero-grid, .command-center, .vertical-page {
  position: relative;
  z-index: 2;
}

/* Keep injected site nav above hero/content stacking layer (mobile menu clicks) */
nav.site-nav,
nav[data-sellify-nav] {
  position: fixed;
  z-index: 200;
}




/* ═══════════════════════════════════════════════════════════════════════
 * Animation Enhancement Layer · v4 (HOTFIX — Index-aligned)
 *
 * Fixes:
 *   #1 Demo-shell/chat-container EXPLICITLY excluded from blur (defensive).
 *   #2 case-arrow animations COMPLETELY removed (explicit kill switch).
 *   #3 Reveal made stronger and more visible (40→60px, blur 6→10px, 1.2s).
 *   #4 Auto-fallback: if .in is never added by JS, reveal self-completes
 *      after 3s as a safety net — content never stays hidden.
 *
 * Uses ONLY var(--accent), GPU-accelerated properties.
 * Shared CSS, shared JS, layout, typography, colors all untouched.
 * Respects prefers-reduced-motion via safeguard at end.
 * ═══════════════════════════════════════════════════════════════════════ */

/* — Easing tokens (match index.html exactly) — */
:root {
  --fx-ease-premium: cubic-bezier(0.16, 1, 0.3, 1);
  --fx-ease-soft: cubic-bezier(0.32, 0.72, 0, 1);
}

/* ─────────────────────────────────────────────────────────────────────
 * 2. CASE-ARROW — STATIC, NO ANIMATION (explicit kill switch)
 *    Removes EVERY possible animation/pseudoelement effect that could
 *    have been added by prior v1/v2/v3 layers.
 * ───────────────────────────────────────────────────────────────────── */
.case-arrow,
.case-arrow::before,
.case-arrow::after {
  animation: none !important;
}
.case-arrow::after {
  content: none !important;
  background: none !important;
}
.case-arrow::before {
  content: none !important;
  background: none !important;
}

/* ─────────────────────────────────────────────────────────────────────
 * 3. CARD HOVER — subtle lift only (no scale, no glow)
 * ───────────────────────────────────────────────────────────────────── */
.channel-insight,
.case-cell {
  transition:
    transform 0.4s var(--fx-ease-premium),
    border-color 0.3s var(--fx-ease-soft),
    background 0.3s var(--fx-ease-soft);
}
.channel-insight:hover,
.case-cell:hover {
  transform: translateY(-3px);
}

/* ─────────────────────────────────────────────────────────────────────
 * 4. ROI CARDS — mostly static, only border-color hover
 * ───────────────────────────────────────────────────────────────────── */
[data-roi-card] {
  transition: border-color 0.3s var(--fx-ease-soft);
}

/* ─────────────────────────────────────────────────────────────────────
 * 5. BUTTON HOVER — lift + active depress
 * ───────────────────────────────────────────────────────────────────── */
.btn,
.btn-primary,
.btn-secondary,
.btn-nav {
  transition:
    transform 0.3s var(--fx-ease-premium),
    background 0.3s var(--fx-ease-soft),
    border-color 0.3s var(--fx-ease-soft),
    box-shadow 0.4s var(--fx-ease-premium),
    color 0.25s var(--fx-ease-soft);
}
.btn:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-nav:hover {
  transform: translateY(-1px);
}
.btn:active,
.btn-primary:active,
.btn-secondary:active,
.btn-nav:active {
  transform: translateY(0);
  transition-duration: 0.1s;
}

/* — Button shimmer on hover only (subtle) — */
.btn-primary {
  position: relative;
  overflow: hidden;
}
@keyframes fxBtnShimmer {
  0%   { transform: translateX(-150%) skewX(-18deg); }
  100% { transform: translateX(250%)  skewX(-18deg); }
}
.btn-primary::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 55%;
  height: 100%;
  background: linear-gradient(90deg,
    transparent,
    rgba(255, 255, 255, 0.16),
    transparent);
  transform: translateX(-150%) skewX(-18deg);
  pointer-events: none;
}
.btn-primary:hover::after {
  animation: fxBtnShimmer 0.85s ease-out;
}

/* ─────────────────────────────────────────────────────────────────────
 * 6. BRAND HOVER HALO (matches Index)
 * ───────────────────────────────────────────────────────────────────── */
.brand {
  transition: opacity 0.3s var(--fx-ease-soft);
}
.brand:hover {
  opacity: 0.92;
}
.brand:hover .brand-mark {
  box-shadow: 0 0 18px var(--accent, #D4FF3F);
  transition: box-shadow 0.4s var(--fx-ease-premium);
}

/* ─────────────────────────────────────────────────────────────────────
 * 7. INPUT FOCUS GLOW (subtle, no pulse)
 * ───────────────────────────────────────────────────────────────────── */
input,
select,
textarea {
  transition:
    border-color 0.3s var(--fx-ease-soft),
    box-shadow 0.3s var(--fx-ease-premium),
    background 0.3s var(--fx-ease-soft);
}
input:focus,
select:focus,
textarea:focus {
  box-shadow:
    0 0 0 1px var(--accent, #D4FF3F),
    0 0 16px rgba(212, 255, 63, 0.22);
}

/* ─────────────────────────────────────────────────────────────────────
 * 8. ANCHOR + TIER LABEL — smooth state transitions
 * ───────────────────────────────────────────────────────────────────── */
a:not(.btn):not(.brand):not(.btn-nav):not(.btn-primary):not(.btn-secondary) {
  transition:
    color 0.25s var(--fx-ease-soft),
    opacity 0.25s var(--fx-ease-soft);
}
.channel-tier-label {
  transition:
    color 0.3s var(--fx-ease-soft),
    opacity 0.3s var(--fx-ease-soft);
}

/* ─────────────────────────────────────────────────────────────────────
 * 9. SECTION TARGET HIGHLIGHT
 * ───────────────────────────────────────────────────────────────────── */
@keyframes fxTargetHighlight {
  0%   { transform: translateY(-2px); }
  50%  { transform: translateY(0); }
  100% { transform: translateY(0); }
}
section[id]:target {
  animation: fxTargetHighlight 1.4s var(--fx-ease-premium);
}

/* ─────────────────────────────────────────────────────────────────────
 * Reduced motion safeguard — all enhancement animations off
 * ───────────────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .reveal, .demo-shell.reveal,
  .channel-insight, .case-cell, [data-roi-card],
  .btn, .btn-primary, .btn-secondary, .btn-nav, .btn-primary::after,
  .brand, .brand:hover .brand-mark,
  input, select, textarea,
  .channel-tier-label {
    animation: none !important;
    transition-duration: 0.001s !important;
  }
  .channel-insight:hover, .case-cell:hover,
  .btn:hover, .btn-primary:hover, .btn-secondary:hover, .btn-nav:hover {
    transform: none !important;
  }
  .reveal, .demo-shell.reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
  section[id]:target { animation: none !important; }
}
/* ═══════════════════════════════════════════════════════════════════════ */
