:root {
  --bg: #f4f6fb;
  --surface: #ffffff;
  --surface-muted: #eef2ff;
  --ink: #0f172a;
  --muted: #55657d;
  --line: #d9e2f2;
  --brand: #6a2de2;
  --brand-strong: #4f1cb7;
  --brand-soft: #efe6ff;
  --ok: #198754;
  --radius-xl: 24px;
  --radius-lg: 16px;
  --radius-md: 12px;
  --shadow-soft: 0 18px 48px rgba(17, 24, 39, 0.1);
  --shadow-glow: 0 18px 42px rgba(106, 45, 226, 0.24);
}

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body {
  min-height: 100%;
  font-family: Manrope, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 0% 0%, rgba(106, 45, 226, 0.09), transparent 28%),
    radial-gradient(circle at 100% 0%, rgba(17, 178, 255, 0.08), transparent 24%),
    var(--bg);
  line-height: 1.5;
}

a { color: inherit; text-decoration: none; }

img { max-width: 100%; display: block; }

.container {
  width: min(1160px, calc(100% - 40px));
  margin: 0 auto;
}

.page-shell { padding-top: 86px; }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 60;
  border-bottom: 1px solid transparent;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.site-header.scrolled {
  background: rgba(255,255,255,.9);
  border-color: var(--line);
  box-shadow: 0 8px 30px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(10px);
}

.nav-wrap {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
}

.brand-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: block;
  object-fit: cover;
  flex: 0 0 auto;
}

.brand-name {
  font-family: Sora, Manrope, sans-serif;
  font-weight: 700;
  letter-spacing: -.02em;
}

.nav-links, .nav-actions {
  display: flex;
  align-items: center;
  gap: 22px;
}

.nav-links a {
  color: var(--muted);
  font-weight: 700;
  font-size: 14px;
}

.nav-links a:hover { color: var(--brand); }

.link-btn {
  font-size: 14px;
  font-weight: 700;
  color: var(--muted);
}

.link-btn:hover { color: var(--ink); }

.solid-btn, .outline-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 12px;
  border: 1px solid transparent;
  min-height: 44px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 800;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.solid-btn {
  color: #fff;
  background: linear-gradient(to right, #5919c2 0%, #a74cef 100%);
  box-shadow: var(--shadow-glow);
}

.solid-btn:hover { transform: translateY(-1px); }

.outline-btn {
  border-color: var(--line);
  background: #fff;
  color: #2c3a52;
}

.outline-btn:hover {
  border-color: #b8c6df;
  transform: translateY(-1px);
}

.large { min-height: 50px; padding: 0 22px; font-size: 15px; }

.menu-btn {
  display: none;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: #fff;
  padding: 9px;
}

.menu-btn span {
  display: block;
  width: 100%;
  height: 2px;
  background: #364760;
  margin: 4px 0;
  border-radius: 2px;
}

.mobile-nav {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #fff;
  padding: 10px 20px 16px;
}

.mobile-nav a {
  display: block;
  padding: 12px 2px;
  font-weight: 700;
  color: #2c3a52;
}

.hero {
  position: relative;
  overflow: hidden;
  padding-top: 46px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(245,247,252,.85) 100%);
}

.hero-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at top, rgba(106, 45, 226, 0.12), transparent 62%),
    linear-gradient(transparent 0 98%, rgba(106, 45, 226, 0.05));
  pointer-events: none;
}

.hero-content {
  position: relative;
  text-align: center;
  padding-bottom: 132px;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  margin: 0 0 12px;
  padding: 8px 14px;
  border: 1px solid #ddd6fe;
  border-radius: 999px;
  background: var(--brand-soft);
  color: var(--brand-strong);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1.2;
}

.hero h1,
.page-hero h1 {
  margin: 18px auto 16px;
  max-width: 880px;
  font-family: Sora, Manrope, sans-serif;
  font-size: clamp(34px, 5.8vw, 64px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.hero-copy,
.page-hero p:not(.eyebrow) {
  margin: 0 auto;
  max-width: 760px;
  color: var(--muted);
  font-size: clamp(16px, 2vw, 20px);
}

.hero-cta-row {
  margin-top: 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.hero-note {
  margin: 12px 0 0;
  color: #6b7b93;
  font-size: 13px;
  font-weight: 700;
}

.hero-peek-wrap {
  position: relative;
  width: min(1220px, calc(100% - 28px));
  margin: 0 auto;
  transform: translateY(58px);
}

.hero-peek-card {
  border: 1px solid var(--line);
  border-radius: 18px 18px 0 0;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.hero-peek-card img { width: 100%; object-fit: cover; object-position: top; }

.scroll-cue {
  position: absolute;
  right: 18px;
  bottom: 14px;
  border-radius: 999px;
  border: 1px solid #cfd8ea;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 800;
  color: #52627a;
  background: rgba(255,255,255,.86);
}

.section { padding: 110px 0; }
.section-alt { background: #f9fbff; }

.section-head { margin-bottom: 34px; max-width: 760px; }
.section-head.center { text-align: center; margin-left: auto; margin-right: auto; }
.section-head h2 {
  margin: 14px 0 0;
  font-family: Sora, Manrope, sans-serif;
  letter-spacing: -.025em;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.12;
}
.section-head p:last-child { color: var(--muted); margin-top: 12px; }

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.feature-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 20px;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04);
}

.feature-card h3 { margin: 0; font-size: 18px; letter-spacing: -.01em; }
.feature-card p { margin: 10px 0 0; color: var(--muted); font-size: 14px; }

.stack-gap { display: grid; gap: 20px; }

.split-box {
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background: #fff;
  padding: 28px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 24px;
  align-items: center;
}

.split-box.reverse { grid-template-columns: .95fr 1.05fr; }

.split-box h3 {
  margin: 10px 0;
  font-family: Sora, Manrope, sans-serif;
  font-size: clamp(24px, 2.8vw, 34px);
  line-height: 1.12;
  letter-spacing: -.02em;
}

.split-box p:not(.eyebrow) { color: var(--muted); margin: 0; }

.check-list { margin: 18px 0 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.check-list li { position: relative; padding-left: 20px; color: #33435b; font-weight: 700; font-size: 14px; }
.check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--brand);
}

.visual-card,
.stats-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(180deg, #fff 0%, #f5f8ff 100%);
}

.visual-card img { width: 100%; height: 100%; object-fit: cover; }

.stats-card { padding: 16px; display: grid; gap: 12px; }
.stats-card div {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 14px;
}
.stats-card span {
  display: block;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -.02em;
}
.stats-card p { margin: 6px 0 0; color: var(--muted); font-size: 13px; }

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.price-card {
  position: relative;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.price-card.featured {
  border-color: #b18bff;
  box-shadow: var(--shadow-glow);
}

.pill {
  position: absolute;
  top: 14px;
  right: 14px;
  margin: 0;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  color: #fff;
  background: var(--brand);
  border-radius: 999px;
  padding: 4px 9px;
}

.price-card h3 { margin: 0; font-size: 24px; letter-spacing: -.02em; }
.price { margin: 0; font-size: 38px; font-weight: 800; letter-spacing: -.03em; }
.price span { font-size: 14px; color: var(--muted); font-weight: 700; }
.small-note { margin: 0; color: var(--muted); font-size: 13px; }
.price-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.price-card li { padding-left: 18px; position: relative; font-size: 14px; color: #2d3d56; }
.price-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--ok);
}

.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.faq-item {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 20px;
}

.faq-item h3 { margin: 0; font-size: 18px; }
.faq-item p { margin: 10px 0 0; color: var(--muted); font-size: 14px; }

.bottom-cta {
  padding: 84px 0;
  background: linear-gradient(160deg, #1f0a44 0%, #3b0f79 55%, #1d2b67 100%);
  color: #fff;
}

.cta-inner {
  text-align: center;
  max-width: 860px;
}

.cta-inner h2 {
  margin: 0;
  font-family: Sora, Manrope, sans-serif;
  font-size: clamp(30px, 4.6vw, 52px);
  letter-spacing: -.03em;
  line-height: 1.05;
}

.cta-inner p:not(.eyebrow) { margin: 14px auto 0; max-width: 700px; color: #d6cff7; }
.bottom-cta .outline-btn { color: #fff; border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.08); }

.site-footer {
  background: #f0f4fb;
  border-top: 1px solid var(--line);
  padding: 58px 0 26px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr;
  gap: 24px;
}

.footer-grid p { color: var(--muted); max-width: 420px; }
.footer-grid h4 { margin: 0 0 12px; font-family: Sora, Manrope, sans-serif; }
.footer-grid a,
.footer-grid span {
  display: block;
  margin-bottom: 8px;
  color: #44546b;
  font-size: 14px;
  font-weight: 700;
}

.footer-bottom {
  border-top: 1px solid var(--line);
  margin-top: 28px;
  padding-top: 18px;
  color: #6c7c95;
  font-weight: 700;
  font-size: 13px;
}

.page-hero {
  padding: 34px 0 30px;
}

.page-hero p:not(.eyebrow) { max-width: 760px; }

.kicker-row {
  margin-top: 16px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.kicker {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: #415270;
  font-size: 12px;
  font-weight: 800;
  padding: 6px 11px;
}

.snap-row {
  display: grid;
  gap: 14px;
}

@media (max-width: 1080px) {
  .feature-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pricing-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .split-box,
  .split-box.reverse { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .nav-links,
  .nav-actions { display: none; }

  .menu-btn { display: inline-block; }

  .container { width: min(1160px, calc(100% - 26px)); }

  .hero-content { padding-bottom: 92px; }
  .hero-peek-wrap { transform: translateY(36px); }
  .scroll-cue { display: none; }

  .section { padding: 78px 0; }

  .feature-grid,
  .pricing-grid,
  .faq-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 12px;
    padding-bottom: 8px;
    margin-right: -2px;
  }

  .feature-grid::-webkit-scrollbar,
  .pricing-grid::-webkit-scrollbar,
  .faq-grid::-webkit-scrollbar { height: 7px; }

  .feature-grid > *,
  .pricing-grid > *,
  .faq-grid > * {
    min-width: 85%;
    scroll-snap-align: start;
    flex: 0 0 auto;
  }

  .footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .page-shell { padding-top: 74px; }
  .nav-wrap { min-height: 66px; }
  .brand-icon { width: 30px; height: 30px; }
  .hero h1,
  .page-hero h1 { font-size: 34px; }
  .hero-cta-row > a { width: 100%; }
  .feature-grid > *,
  .pricing-grid > *,
  .faq-grid > * { min-width: 90%; }
}
/* Reference-aligned homepage rebuild */
.home-v2 {
  --bg: #f8fafc;
  --surface: #ffffff;
  --ink: #0f172a;
  --muted: #64748b;
  --line: #e2e8f0;
  --brand: #7c3aed;
  --brand-strong: #5b21b6;
  --brand-soft: #f5f3ff;
  --shadow-soft: 0 24px 70px rgba(15, 23, 42, 0.14);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  background: #fff;
}

.home-v2 .brand-name,
.home-v2 h1,
.home-v2 h2,
.home-v2 h3,
.home-v2 .price {
  font-family: "Plus Jakarta Sans", Inter, sans-serif;
  letter-spacing: 0;
}

.home-v2 .site-header {
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(226,232,240,.72);
}

.home-v2 .nav-wrap { min-height: 72px; }
.home-v2 .brand-icon { box-shadow: 0 10px 24px rgba(109,40,217,.2); }
.home-v2 .solid-btn { background: linear-gradient(to right, #5919c2 0%, #a74cef 100%); box-shadow: 0 16px 36px rgba(109,40,217,.28); border-radius: 10px; }
.home-v2 .solid-btn:hover { background: #5b21b6; }
.home-v2 .outline-btn { border-color: #dbe3ef; border-radius: 10px; }

.ref-hero {
  position: relative;
  min-height: 980px;
  padding-top: 138px;
  overflow: hidden;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 78%, #fff 100%);
  border-bottom: 1px solid #e5e7eb;
}

.hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(15,23,42,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,.035) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.88) 38%, transparent 78%);
}

.hero-glow-ref {
  position: absolute;
  top: -240px;
  left: 50%;
  width: 980px;
  height: 680px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(124,58,237,.18), rgba(124,58,237,.08) 38%, transparent 70%);
  pointer-events: none;
}

.ref-hero-copy {
  position: relative;
  z-index: 2;
  text-align: center;
}

.announce-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid #ddd6fe;
  border-radius: 999px;
  background: #f5f3ff;
  color: #6d28d9;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  box-shadow: 0 10px 28px rgba(109,40,217,.08);
}

.pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #7c3aed;
  box-shadow: 0 0 0 6px rgba(124,58,237,.12);
}

.ref-hero h1 {
  max-width: 950px;
  margin: 24px auto 18px;
  color: #0f172a;
  font-size: clamp(46px, 7vw, 86px);
  line-height: .98;
  font-weight: 800;
}

.ref-hero h1 span {
  display: block;
  color: transparent;
  background: linear-gradient(to right, #5919c2, #a74cef);
  -webkit-background-clip: text;
  background-clip: text;
}

.ref-hero-copy > p {
  max-width: 720px;
  margin: 0 auto;
  color: #64748b;
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.7;
}

.home-v2 .hero-note {
  margin-top: 14px;
  color: #94a3b8;
  font-weight: 700;
}

.product-peek {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: -96px;
  width: min(1380px, calc(100% - 44px));
  transform: translateX(-50%);
}

.product-peek-shot {
  bottom: -86px;
}

.hero-shot-frame {
  overflow: hidden;
  border: 1px solid #dbe3ef;
  border-radius: 18px 18px 0 0;
  background: #ffffff;
  box-shadow: 0 -18px 80px rgba(15,23,42,.17);
}

.browser-bar {
  height: 38px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.browser-bar span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #cbd5e1;
}

.browser-bar span:first-child { background: #f87171; }
.browser-bar span:nth-child(2) { background: #fbbf24; }
.browser-bar span:nth-child(3) { background: #34d399; }

.browser-bar em {
  margin-left: 10px;
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.hero-shot-frame img {
  width: 100%;
  max-height: 640px;
  object-fit: cover;
  object-position: top left;
}

.mock-window {
  height: 620px;
  display: grid;
  grid-template-columns: 64px 244px 340px minmax(420px, 1fr) 260px;
  overflow: hidden;
  border: 1px solid #dbe3ef;
  border-radius: 18px 18px 0 0;
  background: #fff;
  box-shadow: 0 -18px 80px rgba(15,23,42,.17);
}

.mock-rail {
  background: #edf2f8;
  border-right: 1px solid #dfe7f2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 18px 0;
}

.rail-logo {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #6d28d9;
  font-size: 11px;
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(109,40,217,.32);
}

.mock-rail span {
  width: 18px;
  height: 18px;
  border: 2px solid #8190a5;
  border-radius: 5px;
  opacity: .75;
}

.mock-rail span.active {
  width: 42px;
  height: 42px;
  border-color: #7c3aed;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 12px 24px rgba(15,23,42,.08);
}

.rail-user {
  position: relative;
  margin-top: auto;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #fff;
  color: #334155;
  font-size: 12px;
  font-weight: 800;
}
.rail-user i { position: absolute; right: 2px; bottom: 2px; width: 10px; height: 10px; border-radius: 999px; background: #10b981; border: 2px solid #fff; }

.mock-side {
  padding: 20px 16px;
  background: #eef3f9;
  border-right: 1px solid #dfe7f2;
}
.workspace-card {
  padding: 14px;
  border: 1px solid #dbe3ef;
  border-radius: 16px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 12px 26px rgba(15,23,42,.08);
}
.workspace-card small,
.side-label {
  display: block;
  margin: 0 0 8px;
  color: #a855f7;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
.workspace-card strong { display: block; color: #172033; font-size: 15px; }
.workspace-card span { color: #74839a; font-size: 13px; }
.side-label { margin-top: 24px; }
.side-link {
  display: block;
  padding: 10px 12px;
  margin-bottom: 4px;
  color: #52627a;
  border-radius: 12px;
  font-weight: 700;
  font-size: 14px;
}
.side-link.selected { color: #1e293b; background: #fff; border: 1px solid #c4b5fd; box-shadow: 0 10px 22px rgba(109,40,217,.08); }
.hidden-count { padding: 10px 12px; border: 1px dashed #dbe3ef; border-radius: 12px; color: #7b8ba3; font-size: 13px; }

.mock-list { background: #fff; border-right: 1px solid #e2e8f0; }
.list-head { display: flex; justify-content: space-between; align-items: center; padding: 16px; }
.list-head strong { font-size: 18px; }
.list-head button,
.reply-box button,
.ai-draft-card button,
.contact-card button { border: 0; border-radius: 10px; background: #6d28d9; color: #fff; font-weight: 800; padding: 9px 12px; }
.search-pill { margin: 0 16px 12px; padding: 11px 14px; border-radius: 14px; background: #f8fafc; color: #64748b; border: 1px solid #e2e8f0; }
.filter-row { display: flex; gap: 8px; padding: 0 16px 14px; }
.filter-row span { flex: 1; padding: 8px; text-align: center; border-radius: 10px; background: #f8fafc; border: 1px solid #e2e8f0; font-weight: 700; font-size: 13px; }
.ticket { position: relative; display: grid; grid-template-columns: 42px 1fr auto; gap: 10px; align-items: center; padding: 14px 16px; border-top: 1px solid #f1f5f9; }
.ticket.selected { background: #f1eafe; border-left: 4px solid #6d28d9; }
.avatar { width: 38px; height: 38px; border-radius: 999px; display: grid; place-items: center; background: #f1f5f9; color: #475569; font-weight: 800; }
.ticket strong { display: block; font-size: 15px; }
.ticket p { margin: 2px 0; color: #64748b; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 190px; }
.ticket small { color: #94a3b8; }
.ticket em { align-self: end; color: #e11d48; background: #ffe4ec; border-radius: 999px; padding: 3px 7px; font-size: 10px; font-style: normal; font-weight: 800; }

.mock-thread { position: relative; padding: 0 28px; background: #f8fafc; overflow: hidden; }
.thread-top { height: 68px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #e2e8f0; }
.thread-top p { margin: 2px 0 0; color: #64748b; font-size: 13px; }
.thread-top > span { margin-left: auto; color: #475569; font-weight: 800; font-size: 13px; }
.message-card { width: min(520px, 100%); margin: 38px auto 18px; padding: 18px; border-radius: 16px; background: #fff; box-shadow: 0 12px 36px rgba(15,23,42,.08); }
.message-card small { color: #94a3b8; font-weight: 700; }
.message-card p { color: #243247; margin: 10px 0; line-height: 1.55; }
.message-card a { color: #0f172a; text-decoration: underline; font-weight: 800; }
.ai-draft-card { width: min(520px, 100%); margin: 0 auto 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px; border: 1px solid #ddd6fe; border-radius: 16px; background: #faf7ff; }
.ai-draft-card p { margin: 4px 0 0; color: #64748b; font-size: 13px; }
.reply-box { position: absolute; left: 28px; right: 28px; bottom: 18px; padding: 16px; border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 -12px 38px rgba(15,23,42,.08); }
.reply-box > div { height: 76px; margin: 12px 0; padding: 14px; border-radius: 12px; background: #f1f5f9; color: #94a3b8; }
.reply-box footer { display: flex; justify-content: space-between; align-items: center; }
.reply-box span { border: 1px solid #e2e8f0; border-radius: 10px; padding: 9px 12px; font-weight: 800; color: #334155; }

.mock-detail { padding: 20px; background: #fff; }
.contact-card { padding: 16px; border: 1px solid #e2e8f0; border-radius: 18px; text-align: center; box-shadow: 0 12px 28px rgba(15,23,42,.06); }
.contact-card .avatar { margin: 0 auto 8px; }
.contact-card p { margin: 4px 0 14px; color: #64748b; font-size: 13px; word-break: break-word; }
.contact-card button { background: #fff; color: #0f172a; border: 1px solid #e2e8f0; width: 100%; }
.status-row { display: flex; gap: 6px; padding: 6px; border-radius: 14px; background: #f8fafc; border: 1px solid #e2e8f0; }
.status-row span { flex: 1; text-align: center; padding: 8px 6px; border-radius: 10px; font-size: 12px; font-weight: 800; color: #64748b; }
.status-row .open { background: #6d28d9; color: #fff; }
.metric-pill { padding: 12px; border-radius: 12px; background: #f8fafc; color: #334155; font-weight: 800; border: 1px solid #e2e8f0; }
.metric-pill.danger { color: #be123c; background: #fff1f2; border-color: #fecdd3; }

.ref-section { padding-top: 170px; background: #fff; }
.ref-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ref-card-grid article { padding: 24px; border: 1px solid #e2e8f0; border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(15,23,42,.05); }
.ref-card-grid span { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 999px; background: #f5f3ff; color: #6d28d9; font-size: 12px; font-weight: 900; }
.ref-card-grid h3 { margin: 18px 0 8px; font-size: 20px; }
.ref-card-grid p { margin: 0; color: #64748b; }
.operation-section { background: #f8fafc; }
.operation-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 44px; align-items: center; }
.operation-copy h2 { margin: 14px 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.05; }
.operation-copy > p:not(.eyebrow) { color: #64748b; font-size: 18px; }
.mini-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 24px; }
.mini-stats div { padding: 16px; border: 1px solid #e2e8f0; border-radius: 16px; background: #fff; }
.mini-stats strong { display: block; font-size: 24px; }
.mini-stats span { color: #64748b; font-size: 13px; font-weight: 700; }
.route-visual { min-height: 420px; display: grid; place-items: center; gap: 24px; padding: 34px; border: 1px solid #e2e8f0; border-radius: 24px; background: #fff; box-shadow: 0 18px 50px rgba(15,23,42,.08); }
.node { padding: 16px 24px; border-radius: 16px; background: #fff; border: 1px solid #e2e8f0; font-weight: 900; box-shadow: 0 10px 24px rgba(15,23,42,.06); }
.node.hot { color: #6d28d9; border-color: #c4b5fd; background: #f5f3ff; }
.node.muted { color: #94a3b8; }
.node-row { display: flex; gap: 80px; }
.route-line { width: 2px; height: 62px; background: linear-gradient(#c4b5fd, #7c3aed); }
.pricing-preview { background: #fff; }
.home-v2 .ref-pricing .price-card { border-radius: 20px; }
.ref-bottom { background: #2e1065; }
.ref-bottom .outline-btn { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.35); }

@media (max-width: 1240px) {
  .mock-window { grid-template-columns: 56px 220px 310px minmax(360px, 1fr); }
  .mock-detail { display: none; }
}

@media (max-width: 940px) {
  .ref-hero { min-height: 900px; padding-top: 118px; }
  .mock-window { height: 530px; grid-template-columns: 58px minmax(270px, .78fr) 1fr; }
  .mock-side { display: none; }
  .mock-list { min-width: 270px; }
  .message-card { margin-top: 24px; }
  .reply-box { left: 16px; right: 16px; }
  .ref-card-grid { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }
  .ref-card-grid article { min-width: 78%; scroll-snap-align: start; }
  .operation-grid { grid-template-columns: 1fr; }
  .node-row { gap: 18px; }
}

@media (max-width: 720px) {
  .home-v2 .nav-wrap { min-height: 66px; }
  .ref-hero { min-height: 860px; padding-top: 106px; }
  .ref-hero h1 { font-size: clamp(42px, 12vw, 62px); }
  .ref-hero-copy > p { font-size: 16px; }
  .product-peek { width: calc(100% - 22px); bottom: -70px; }
  .product-peek-shot { bottom: -52px; }
  .hero-shot-frame img { height: 430px; object-fit: cover; object-position: top left; }
  .mock-window { height: 510px; grid-template-columns: 1fr; border-radius: 18px; }
  .mock-rail, .mock-side, .mock-detail { display: none; }
  .mock-list { display: none; }
  .mock-thread { padding: 0 14px; }
  .thread-top { height: 64px; }
  .thread-top > span { display: none; }
  .message-card, .ai-draft-card { width: 100%; }
  .reply-box { bottom: 12px; }
  .ref-section { padding-top: 130px; }
  .mini-stats { grid-template-columns: 1fr; }
  .route-visual { min-height: 340px; padding: 22px; }
  .node-row { flex-direction: column; }
  .home-v2 .pricing-grid.ref-pricing { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }
  .home-v2 .pricing-grid.ref-pricing > * { min-width: 86%; scroll-snap-align: start; }
}

@media (max-width: 460px) {
  .ref-hero { min-height: 810px; }
  .announce-pill { font-size: 11px; }
  .home-v2 .hero-cta-row > a { width: 100%; }
  .mock-window { height: 470px; }
  .message-card p:nth-of-type(2) { display: none; }
  .ai-draft-card { align-items: flex-start; flex-direction: column; }
}
