.hero {
  min-height: calc(100vh - var(--sp-header-height));
  display: flex;
  align-items: center;
  padding: var(--sp-space-8) 0 var(--sp-space-12);
  position: relative;
  overflow: hidden;
  background: var(--sp-color-hero-bg);
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 15% 20%, light-dark(oklch(0.72 0.17 52 / 0.10), oklch(0.72 0.17 52 / 0.04)), transparent 60%),
    radial-gradient(ellipse 50% 60% at 85% 25%, light-dark(oklch(0.82 0.14 70 / 0.12), oklch(0.47 0.12 45 / 0.06)), transparent 55%),
    radial-gradient(ellipse 70% 40% at 50% 90%, light-dark(oklch(0.82 0.14 70 / 0.08), oklch(0.47 0.12 45 / 0.04)), transparent 50%),
    radial-gradient(ellipse 40% 40% at 10% 70%, light-dark(oklch(0.47 0.12 45 / 0.06), transparent), transparent 50%);
  pointer-events: none;
  z-index: var(--sp-z-zero);
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, light-dark(oklch(0.47 0.13 47 / 0.04), oklch(1 0 0 / 0.02)) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
  z-index: var(--sp-z-zero);
}

.hero-diagram,
.hero-diagram-mobile {
  display: none;
}

.hero .container {
  max-width: var(--sp-container-max);
  width: 100%;
  position: relative;
  z-index: var(--sp-z-base);
}

.hero-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-space-16);
  align-items: center;
}

.hero-content {
  text-align: left;
}

.hero-content .hero-title,
.hero-content .hero-subtitle {
  text-align: left;
}

.hero-gallery {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
}

.hero-gallery__isotype {
  position: absolute;
  inset: -20%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 0;
}

.hero-gallery__isotype-img {
  width: 120%;
  height: auto;
  opacity: 0.08;
}

[data-theme="dark"] .hero-gallery__isotype-img {
  opacity: 0.06;
}

.hero-gallery__stack {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 3 / 2;
  min-height: 400px;
  z-index: 1;
}

.hero-gallery__card {
  position: absolute;
  border-radius: 16px;
  overflow: hidden;
  opacity: 1;
  box-shadow:
    0 20px 60px oklch(0.47 0.12 45 / 0.15),
    0 8px 24px oklch(0.47 0.12 45 / 0.10);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-theme="dark"] .hero-gallery__card {
  box-shadow:
    0 20px 60px oklch(0.72 0.17 52 / 0.15),
    0 8px 24px oklch(0 0 0 / 0.30);
}

[data-theme="dark"] .hero-gallery__card--front {
  box-shadow:
    0 24px 70px oklch(0.72 0.17 52 / 0.25),
    0 10px 30px oklch(0 0 0 / 0.35);
}

.hero-gallery__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    oklch(0.72 0.17 52 / 0.08),
    oklch(0.82 0.14 70 / 0.05),
    transparent 60%
  );
  pointer-events: none;
}

.hero-gallery__card--back {
  inset: 6% 0 0 4%;
  width: 88%;
  transform: rotate(-2.5deg);
  z-index: 1;
}

.hero-gallery__card--front {
  inset: 0 4% 6% 0;
  width: 92%;
  transform: rotate(1.5deg);
  z-index: 2;
  box-shadow:
    0 24px 70px oklch(0.72 0.17 52 / 0.20),
    0 10px 30px oklch(0.47 0.12 45 / 0.12);
}

.hero-gallery__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-gallery__img--cycle {
  position: absolute;
  inset: 0;
}

.hero-gallery__img--cycle-a1 {
  animation: heroCycleA 12s ease-in-out infinite;
}

.hero-gallery__img--cycle-a2 {
  animation: heroCycleB 12s ease-in-out infinite;
}

.hero-gallery__img--cycle-b1 {
  animation: heroCycleA 12s ease-in-out infinite;
  animation-delay: -3s;
}

.hero-gallery__img--cycle-b2 {
  animation: heroCycleB 12s ease-in-out infinite;
  animation-delay: -3s;
}

.hero-gallery__pager {
  display: none;
  justify-content: center;
  gap: var(--sp-space-2);
  margin-top: var(--sp-space-4);
}

.hero-gallery__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--sp-color-text-muted);
  opacity: 0.4;
  transition: opacity 0.3s ease;
}

.hero-gallery:hover .hero-gallery__card--back {
  transform: rotate(-4deg) translate(-4px, 4px);
}

.hero-gallery:hover .hero-gallery__card--front {
  transform: rotate(1deg) translate(4px, -4px);
  box-shadow:
    0 30px 80px oklch(0.72 0.17 52 / 0.25),
    0 12px 35px oklch(0.47 0.12 45 / 0.15);
}

.hero-title {
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-4xl);
  font-weight: 700;
  line-height: var(--sp-leading-tight);
  letter-spacing: var(--sp-tracking-tight);
  margin-bottom: var(--sp-space-6);
  color: var(--sp-color-text);
}

.hero-title__highlight {
  display: block;
}

.hero-title .highlight {
  background: linear-gradient(135deg, var(--sp-color-primary), var(--sp-color-secondary), var(--sp-color-accent));
  background-clip: text;
  color: transparent;
}

.hero-subtitle {
  font-size: var(--sp-text-lg);
  color: var(--sp-color-text-secondary);
  max-width: 520px;
  margin: 0 0 var(--sp-space-8);
  line-height: var(--sp-leading-relaxed);
}

.hero-footnote {
  font-size: var(--sp-text-xs);
  color: var(--sp-color-text-muted);
  opacity: 0.7;
  margin-bottom: var(--sp-space-4);
}

.hero-ctas {
  display: flex;
  gap: var(--sp-space-4);
  flex-wrap: wrap;
  margin-bottom: var(--sp-space-1);
}

@media (max-width: 768px) {
  .hero-gallery__pager {
    display: flex;
  }
}

@media (min-width: 1200px) {
  .hero .container {
    max-width: 80vw;
    padding: 0 var(--sp-space-16);
  }

  .hero-split {
    grid-template-columns: 5fr 7fr;
    gap: var(--sp-space-4xl);
  }

  .hero-title {
    font-size: clamp(3.5rem, 5.5vw, 5rem);
    line-height: 1.05;
    letter-spacing: -0.03em;
  }

  .hero-subtitle {
    font-size: var(--sp-text-xl);
    max-width: 480px;
    line-height: var(--sp-leading-relaxed);
  }
}

@media (max-width: 960px) {
  .hero-split {
    grid-template-columns: 1fr;
    gap: var(--sp-space-12);
  }

  .hero-content {
    text-align: center;
  }

  .hero-subtitle {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-ctas {
    justify-content: center;
  }

  .hero-gallery {
    min-height: 300px;
    max-width: 480px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .hero {
    padding: var(--sp-space-12) 0;
    min-height: auto;
  }

  .hero .container {
    padding: 0 var(--sp-space-5);
  }

  .hero-content {
    padding: 0;
  }

  .hero-title {
    font-size: var(--sp-text-3xl);
  }

  .hero-ctas {
    flex-direction: column;
    align-items: center;
    margin-bottom: var(--sp-space-6);
  }

  .hero-gallery__stack {
    max-width: 380px;
    aspect-ratio: 3 / 2;
  }

  .hero-gallery__card {
    border: 1px solid oklch(1 0 0 / 0.08);
  }
}

@media (max-width: 480px) {
  .hero {
    padding: var(--sp-space-10) 0;
  }

  .hero-split {
    gap: var(--sp-space-6);
  }

  .hero-ctas a,
  .hero-ctas button {
    max-width: 360px;
    width: 100%;
  }

  .hero-gallery {
    max-width: 340px;
  }

  .hero-gallery__stack {
    max-width: 340px;
    aspect-ratio: 3 / 2;
  }

  .hero-gallery__card--back {
    display: none;
  }

  .hero-gallery__card--front {
    inset: 0;
    width: 100%;
    height: 100%;
    transform: rotate(0.5deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .view-all-link.view-all-link,
  .nav-link.nav-link {
    transition: none;
  }
}




.mockup-dashboard {
  padding: 0;
  max-height: 460px;
  overflow: hidden;
}

.dash-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.125rem;
  border-bottom: 1px solid var(--sp-color-border);
}

.dash-org-name {
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-sm);
  font-weight: 700;
  color: var(--sp-color-text);
}

.dash-status {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: var(--sp-text-xs);
  font-weight: 500;
  color: light-dark(var(--sp-primitive-green-500), var(--sp-primitive-green-400));
}

.dash-status-dot {
  width: 7px;
  height: 7px;
  border-radius: var(--sp-radius-full);
  background: light-dark(var(--sp-primitive-green-500), var(--sp-primitive-green-400));
  animation: statusPulse 2s var(--sp-ease-in-out) infinite;
}

@keyframes statusPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.dash-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--sp-color-border);
  border-bottom: 1px solid var(--sp-color-border);
}

.dash-stat {
  background: var(--sp-color-bg);
  padding: 0.875rem 1rem;
  text-align: center;
}

.dash-stat-value {
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-2xl);
  font-weight: 700;
  color: var(--sp-color-text);
  line-height: 1;
  margin-bottom: 0.25rem;
}

.dash-stat-label {
  font-size: var(--sp-text-xs);
  color: var(--sp-color-text-muted);
  text-transform: uppercase;
  letter-spacing: var(--sp-tracking-wide);
  font-weight: 500;
}

.dash-section {
  padding: 0.875rem 1.125rem;
  border-bottom: 1px solid var(--sp-color-border);
}

.dash-section:last-child {
  border-bottom: none;
}

.dash-section-title {
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-xs);
  font-weight: 600;
  color: var(--sp-color-text-muted);
  text-transform: uppercase;
  letter-spacing: var(--sp-tracking-wide);
  margin-bottom: 0.625rem;
}

.dash-policy-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.375rem 0;
}

.dash-policy-row + .dash-policy-row {
  border-top: 1px solid var(--sp-color-border);
}

.dash-policy-name {
  font-size: var(--sp-text-xs);
  color: var(--sp-color-text);
  font-weight: 500;
}

.dash-policy-badge {
  font-size: var(--sp-text-xs);
  font-weight: 600;
  font-family: var(--sp-font-brand);
  padding: 0.125rem 0.5rem;
  border-radius: var(--sp-corners-sm);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dash-policy-active {
  color: light-dark(var(--sp-primitive-green-500), var(--sp-primitive-green-400));
  background: light-dark(oklch(0.72 0.19 155 / 0.1), oklch(0.72 0.19 155 / 0.15));
}

.dash-activity-row {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.3125rem 0;
}

.dash-activity-team {
  font-size: var(--sp-text-xs);
  font-weight: 500;
  color: var(--sp-color-text);
  min-width: 80px;
}

.dash-activity-bar {
  flex: 1;
  height: 6px;
  background: light-dark(var(--sp-color-surface-dark), oklch(1.00 0 0 / 0.08));
  border-radius: var(--sp-radius-full);
  overflow: hidden;
}

.dash-activity-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--sp-primitive-orange-500), var(--sp-primitive-orange-600));
  border-radius: var(--sp-radius-full);
  transition: width 1s var(--sp-ease-out);
}

.dash-activity-count {
  font-size: var(--sp-text-xs);
  font-weight: 600;
  color: var(--sp-color-text-muted);
  min-width: 30px;
  text-align: right;
  font-family: var(--sp-font-brand);
}


.hero .mockup-dashboard .dash-stat-value {
  opacity: 0;
  animation: dashFadeIn var(--sp-duration-slow) var(--sp-ease-out) forwards;
}

.hero .mockup-dashboard .dash-stat:nth-child(1) .dash-stat-value { animation-delay: 1.0s; }
.hero .mockup-dashboard .dash-stat:nth-child(2) .dash-stat-value { animation-delay: 1.2s; }
.hero .mockup-dashboard .dash-stat:nth-child(3) .dash-stat-value { animation-delay: 1.4s; }

@keyframes dashFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .hero .mockup-dashboard .dash-stat-value.dash-stat-value {
    opacity: 1;
    animation: none;
  }

  .dash-status-dot.dash-status-dot {
    animation: none;
  }

  .dash-activity-fill.dash-activity-fill {
    transition: none;
  }
}





.hero-mockup {
  position: relative;
}

.mockup-window {
  background: var(--sp-color-bg);
  border-radius: var(--sp-radius-xl);
  overflow: hidden;
  box-shadow:
    0 24px 80px oklch(0.20 0.01 50 / 0.10),
    0 8px 24px oklch(0.20 0.01 50 / 0.06),
    0 0 0 1px oklch(0.20 0.01 50 / 0.05),
    0 0 60px oklch(0.72 0.17 52 / 0.06);
  transition: transform var(--sp-transition-slow), box-shadow var(--sp-transition-slow);
}

.mockup-window:hover {
  transform: translateY(-4px);
  box-shadow:
    0 32px 100px oklch(0.20 0.01 50 / 0.12),
    0 12px 32px oklch(0.20 0.01 50 / 0.08),
    0 0 0 1px oklch(0.20 0.01 50 / 0.05),
    0 0 80px oklch(0.72 0.17 52 / 0.08);
}

.mockup-chrome {
  display: flex;
  align-items: center;
  padding: var(--sp-space-3) var(--sp-space-4);
  background: var(--sp-color-mockup-chrome);
  border-bottom: 1px solid var(--sp-color-mockup-chrome-border);
}

.mockup-dots {
  display: flex;
  gap: var(--sp-space-2);
}

.dot {
  width: var(--sp-space-3);
  height: var(--sp-space-3);
  border-radius: var(--sp-radius-full);
}

.dot-close { background: var(--sp-color-error); }
.dot-minimize { background: var(--sp-color-warning); }
.dot-maximize { background: var(--sp-color-success); }

.mockup-title {
  flex: 1;
  text-align: center;
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-xs);
  font-weight: 500;
  color: var(--sp-color-text-muted);
  letter-spacing: 0.02em;
  padding-right: var(--sp-space-8);
}

.mockup-body {
  padding: var(--sp-space-4) var(--sp-space-5);
  display: flex;
  flex-direction: column;
  gap: var(--sp-space-3);
  max-height: 460px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: oklch(0.78 0.10 52 / 0.4) transparent;
}

@media (min-width: 1200px) {
  .mockup-window {
    box-shadow:
      0 32px 100px oklch(0.20 0.01 50 / 0.12),
      0 12px 40px oklch(0.20 0.01 50 / 0.08),
      0 0 0 1px oklch(0.20 0.01 50 / 0.04),
      0 0 80px oklch(0.72 0.17 52 / 0.07);
  }

  .mockup-body {
    max-height: 520px;
    overflow-y: auto;
    padding: var(--sp-space-5) var(--sp-space-6);
    gap: var(--sp-space-4);
  }
}

@media (max-width: 960px) {
  .hero-mockup {
    max-width: 520px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .mockup-body {
    padding: var(--sp-space-3) var(--sp-space-4);
    gap: var(--sp-space-3);
    max-height: 380px;
  }
}

@media (max-width: 480px) {
  .hero-mockup {
    max-width: 100%;
  }

  .mockup-window {
    border-radius: var(--sp-radius-lg);
  }

  .mockup-body {
    padding: var(--sp-space-2) var(--sp-space-2);
    max-height: 300px;
    gap: var(--sp-space-2);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mockup-window.mockup-window {
    transition: none;
  }

  .mockup-window.mockup-window:hover {
    transform: none;
  }
}



.chat-message {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}

.chat-avatar {
  width: 26px;
  height: 26px;
  border-radius: var(--sp-radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.55rem;
  font-weight: 600;
  font-family: var(--sp-font-brand);
  flex-shrink: 0;
  margin-top: 0.125rem;
}

.chat-avatar-user {
  background: var(--sp-color-surface-dark);
  color: var(--sp-color-text-secondary);
}

.chat-avatar-ai {
  background: transparent;
}

.chat-claude-icon {
  width: 26px;
  height: 26px;
}

.chat-bubble {
  padding: 0.5rem 0.75rem;
  border-radius: var(--sp-radius-md);
  font-size: 0.8rem;
  line-height: 1.5;
}

.chat-bubble-user {
  background: var(--sp-color-chat-bubble-user);
  color: var(--sp-color-text);
  font-weight: 500;
}

.chat-bubble-ai {
  background: var(--sp-color-chat-bubble-ai);
  border: 1px solid var(--sp-color-chat-bubble-ai-border);
  color: var(--sp-color-text-secondary);
}

.chat-skill-badge {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 600;
  font-family: var(--sp-font-brand);
  color: var(--sp-color-primary-dark);
  background: oklch(0.72 0.17 52 / 0.1);
  padding: 0.125rem 0.4375rem;
  border-radius: var(--sp-radius-sm);
  margin-bottom: 0.25rem;
  letter-spacing: 0.02em;
}

.chat-skill-item {
  display: block;
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--sp-color-primary-dark);
  padding: 1px 0;
}

@media (min-width: 1200px) {
  .chat-bubble {
    font-size: 0.85rem;
    padding: 0.625rem 0.875rem;
  }

  .chat-avatar {
    width: 30px;
    height: 30px;
  }

  .chat-claude-icon {
    width: 30px;
    height: 30px;
  }
}

@media (max-width: 768px) {
  .chat-bubble {
    font-size: 0.76rem;
    padding: 0.4375rem 0.625rem;
  }

  .chat-avatar {
    width: 22px;
    height: 22px;
    font-size: 0.5rem;
  }

  .chat-claude-icon {
    width: 22px;
    height: 22px;
  }
}

@media (max-width: 480px) {
  .chat-bubble {
    font-size: 0.72rem;
    padding: 0.375rem 0.5rem;
  }

  .chat-skill-item {
    font-size: 0.7rem;
  }

  .chat-avatar {
    width: 20px;
    height: 20px;
  }

  .chat-claude-icon {
    width: 20px;
    height: 20px;
  }
}



.primary-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2.25rem;
  background: linear-gradient(in oklch 135deg, var(--sp-color-primary), var(--sp-color-primary-dark));
  color: var(--sp-color-text-on-primary);
  font-family: var(--sp-font-brand);
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  border-radius: var(--sp-radius-lg);
  transition: background-color var(--sp-duration-fast) var(--sp-ease-out), color var(--sp-duration-fast) var(--sp-ease-out), border-color var(--sp-duration-fast) var(--sp-ease-out), box-shadow var(--sp-duration-fast) var(--sp-ease-out), transform var(--sp-duration-fast) var(--sp-ease-out);
  box-shadow: var(--sp-shadow-accent-md);
}

.primary-cta:hover {
  transform: translateY(-2px);
  box-shadow:
    0 8px 28px oklch(0.72 0.17 52 / 0.35),
    0 4px 12px oklch(0.82 0.14 70 / 0.20),
    0 0 0 4px oklch(0.82 0.14 70 / 0.10);
}

.secondary-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2.25rem;
  background: transparent;
  color: var(--sp-color-text);
  font-family: var(--sp-font-brand);
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  border: 2px solid var(--sp-color-border);
  border-radius: var(--sp-radius-lg);
  transition: background-color var(--sp-duration-fast) var(--sp-ease-out), color var(--sp-duration-fast) var(--sp-ease-out), border-color var(--sp-duration-fast) var(--sp-ease-out), box-shadow var(--sp-duration-fast) var(--sp-ease-out);
}

.secondary-cta:hover {
  border-color: var(--sp-color-secondary);
  color: var(--sp-color-secondary);
  background: oklch(0.82 0.14 70 / 0.06);
}

.hero-login {
  margin-top: var(--sp-space-3);
}

.hero-login:has(.hero-login-link[href=""]) {
  display: none;
}

.hero-login-link {
  font-size: var(--sp-text-sm);
  color: var(--sp-color-text-secondary);
  text-decoration: none;
  font-weight: 500;
  transition: color var(--sp-duration-fast) var(--sp-ease-default);
}

.hero-login-link:hover {
  color: var(--sp-color-primary);
}

@media (max-width: 960px) {
  .hero-login {
    text-align: center;
  }
}

@media (min-width: 1200px) {
  .primary-cta,
  .secondary-cta {
    padding: 1.125rem 2.625rem;
    font-size: 1.05rem;
    border-radius: var(--sp-radius-lg);
  }
}

@media (max-width: 768px) {
  .primary-cta,
  .secondary-cta {
    width: 100%;
    max-width: 360px;
  }

  .secondary-cta {
    border-color: var(--sp-color-text-secondary);
  }
}


body::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image:
    radial-gradient(ellipse 80vw 40vh at 50% 0%, oklch(0.82 0.14 70 / 0.08), transparent 70%);
  pointer-events: none;
  z-index: var(--sp-z-behind);
}

@media (max-width: 768px) {
  body::before {
    opacity: 0.7;
  }
}

[data-theme="dark"] body::before {
  display: none;
}


.hero-screenshots-stack {
  position: relative;
  width: 100%;
}

.hero-screenshot {
  width: 100%;
  height: auto;
  border-radius: var(--sp-radius-card);
  border: 1px solid light-dark(oklch(0.20 0.01 50 / 0.15), oklch(1.00 0 0 / 0.12));
  box-shadow:
    0 24px 80px oklch(0.20 0.01 50 / 0.10),
    0 8px 24px oklch(0.20 0.01 50 / 0.06),
    0 0 60px oklch(0.72 0.17 52 / 0.06);
  transition: transform var(--sp-transition-slow), box-shadow var(--sp-transition-slow);
}

.hero-screenshot:hover {
  transform: translateY(-4px);
  box-shadow:
    0 32px 100px oklch(0.20 0.01 50 / 0.12),
    0 12px 32px oklch(0.20 0.01 50 / 0.08),
    0 0 0 1px oklch(0.20 0.01 50 / 0.05),
    0 0 80px oklch(0.72 0.17 52 / 0.08);
}

@media (min-width: 1200px) {
  .hero-mockup--desktop {
    margin-right: -2.5rem;
  }

  .hero-screenshot {
    box-shadow:
      0 32px 100px oklch(0.20 0.01 50 / 0.12),
      0 12px 40px oklch(0.20 0.01 50 / 0.08),
      0 0 0 1px oklch(0.20 0.01 50 / 0.04),
      0 0 80px oklch(0.72 0.17 52 / 0.07);
  }
}


.hero-slideshow {
  position: relative;
  width: 100%;
}

.hero-slides {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 3840 / 2160;
}

.hero-slides--light { display: none; }
.hero-slides--dark  { display: block; }

:root:not([data-theme="dark"]) .hero-slides--dark  { display: none; }
:root:not([data-theme="dark"]) .hero-slides--light { display: block; }

.hero-slide {
  width: 100%;
  opacity: 0;
  z-index: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}

.hero-slide:not(:first-child) {
  position: absolute;
  top: 0;
  left: 0;
}

.hero-slide.active {
  opacity: 1;
  z-index: 1;
  pointer-events: auto;
}

.hero-slide img {
  display: block;
  width: 100%;
  height: auto;
}

.hero-mockup--mobile {
  display: none;
}

.hero-mockup--desktop {
  display: block;
}

@media (max-width: 960px) {
  .hero-mockup--desktop {
    display: none;
  }

  .hero-mockup--mobile {
    display: block;
    width: 100%;
    padding: 0 var(--sp-space-6);
  }

  .hero-mockup--mobile .hero-screenshot {
    border-radius: var(--sp-radius-card);
    box-shadow:
      0 16px 48px color-mix(in oklch, var(--sp-color-text) 12%, transparent),
      0 4px 16px color-mix(in oklch, var(--sp-color-text) 6%, transparent);
  }

  .hero-mockup--mobile .hero-slides {
    aspect-ratio: 750 / 1334;
  }
}

@media (max-width: 480px) {
  .hero-mockup--mobile {
    padding: 0 var(--sp-space-2);
  }
}

.hero-slideshow-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--sp-space-2);
  margin-top: var(--sp-space-4);
}

.hero-dot {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  padding: 18px;
  margin: 0;
  flex-shrink: 0;
  cursor: pointer;
  background: light-dark(
    color-mix(in oklch, var(--sp-color-text-secondary) 25%, transparent),
    color-mix(in oklch, var(--sp-color-text) 20%, transparent)
  );
  background-clip: content-box;
  box-sizing: content-box;
  transition: background 0.3s ease, transform 0.3s ease;
  -webkit-appearance: none;
  appearance: none;
  line-height: 0;
  font-size: 0;
}

.hero-dot:hover {
  background: light-dark(
    color-mix(in oklch, var(--sp-color-text-secondary) 50%, transparent),
    color-mix(in oklch, var(--sp-color-text) 40%, transparent)
  );
  background-clip: content-box;
  transform: scale(1.3);
}

.hero-dot.active {
  background: var(--sp-color-primary);
  background-clip: content-box;
  transform: scale(1.2);
}

@media (max-width: 960px) {
  .hero-slideshow-dots {
    margin-top: var(--sp-space-3);
  }

  .hero-dot {
    width: 6px;
    height: 6px;
    padding: 19px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide {
    transition: none;
  }
}





.integrations-inline {
  margin-top: var(--sp-space-6);
}

.integrations-inline .integrations-label {
  font-size: var(--sp-text-xs);
  color: var(--sp-color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: var(--sp-space-2);
  font-weight: 500;
}

.brand-pills {
  display: flex;
  align-items: center;
  gap: var(--sp-space-2);
  flex-wrap: wrap;
}

.brand-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.3125rem 0.75rem;
  border: 1px solid var(--sp-color-border);
  border-radius: var(--sp-radius-full);
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-xs);
  font-weight: 500;
  color: var(--sp-color-text-secondary);
  text-decoration: none;
  transition: border-color var(--sp-duration-fast) var(--sp-ease-default), color var(--sp-duration-fast) var(--sp-ease-default), background var(--sp-duration-fast) var(--sp-ease-default);
  background: var(--sp-color-brand-pill-bg);
}

.brand-pill:hover {
  border-color: var(--sp-color-primary);
  color: var(--sp-color-primary);
  background: oklch(0.72 0.17 52 / 0.04);
}

.brand-pill-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}


.brand-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--sp-space-16);
  flex-wrap: wrap;
}

.brand-logo {
  height: 40px;
  width: auto;
  opacity: 0.9;
  transition: opacity var(--sp-duration-normal) var(--sp-ease-default), transform var(--sp-duration-normal) var(--sp-ease-default);
}

.brand-logo:hover {
  opacity: 1;
  transform: scale(1.05);
}

.integrations {
  padding: var(--sp-space-16) 0;
  border-top: 1px solid var(--sp-color-border);
  border-bottom: 1px solid var(--sp-color-border);
}

.integrations .integrations-label {
  text-align: center;
  font-size: var(--sp-text-sm);
  color: var(--sp-color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: var(--sp-space-8);
}

@media (max-width: 480px) {
  .brand-pills {
    justify-content: center;
  }

  .brand-pill {
    padding: 0.375rem 0.875rem;
    background: oklch(1 0 0 / 0.04);
  }

  .integrations-inline {
    margin-top: var(--sp-space-4);
  }
}

.mini-terminal {
  width: 100%;
  max-width: 480px;
  background: var(--sp-color-surface);
  border: 1px solid var(--sp-color-border);
  border-radius: var(--sp-corners-md);
  overflow: hidden;
  box-shadow: var(--sp-shadow-lg);
}

.mini-terminal-header {
  display: flex;
  align-items: center;
  gap: var(--sp-space-4);
  padding: var(--sp-space-2) var(--sp-space-4);
  background: var(--sp-color-surface-elevated);
  border-bottom: 1px solid var(--sp-color-border);
}

.mini-terminal-header .terminal-dots span { opacity: 1; }
.mini-terminal-header .terminal-dots span:nth-child(1) { background: var(--sp-terminal-dot-close); }
.mini-terminal-header .terminal-dots span:nth-child(2) { background: var(--sp-terminal-dot-minimize); }
.mini-terminal-header .terminal-dots span:nth-child(3) { background: var(--sp-terminal-dot-maximize); }

.mini-terminal-title {
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: var(--sp-text-xs);
  color: var(--sp-color-text-muted);
  flex: 1;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: var(--sp-tracking-wide);
}

.mini-terminal-body {
  padding: var(--sp-space-4) var(--sp-space-6);
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: var(--sp-text-sm);
  line-height: var(--sp-leading-relaxed);
  min-height: 160px;
  background: var(--sp-color-surface);
}

.mini-terminal-line {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-space-2);
  margin-bottom: 0.125rem;
}

.mini-terminal-output {
  opacity: 0;
  transform: translateY(4px);
  transition: opacity var(--sp-duration-normal) var(--sp-ease-default), transform var(--sp-duration-normal) var(--sp-ease-default);
}

.mini-terminal-output.visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .mini-terminal-output {
    transition: opacity var(--sp-duration-normal) var(--sp-ease-default);
    transform: none;
  }

  .mini-terminal-output.visible {
    transform: none;
  }

  .brand-logo.brand-logo {
    transition: opacity var(--sp-duration-normal) var(--sp-ease-default);
  }

  .brand-logo:hover {
    transform: none;
  }
}

@media (max-width: 960px) {
  .integrations-inline .integrations-label {
    text-align: center;
  }

  .brand-pills {
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .brand-pills {
    gap: var(--sp-space-1);
  }

  .brand-pill {
    font-size: var(--sp-text-xs);
    padding: 0.25rem 0.625rem;
  }

  .mini-terminal {
    max-width: 100%;
  }

  .mini-terminal-body {
    font-size: var(--sp-text-xs);
    padding: var(--sp-space-2) var(--sp-space-4);
    min-height: 140px;
  }
}

@media (max-width: 480px) {
  .brand-pills {
    flex-direction: column;
    align-items: center;
  }

  .integrations-inline {
    margin-top: var(--sp-space-4);
  }
}

@keyframes chatMessageIn {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes mockupFloat {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes badgePulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}

@keyframes heroCardBackIn {
  from { opacity: 0; transform: translateY(40px) rotate(0deg) scale(0.95); }
  to   { opacity: 1; transform: rotate(-2.5deg); }
}

@keyframes heroCardFrontIn {
  from { opacity: 0; transform: translateY(40px) rotate(0deg) scale(0.95); }
  to   { opacity: 1; transform: rotate(1.5deg); }
}

@keyframes kenBurns {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.06); }
  100% { transform: scale(1); }
}

@keyframes heroCycleA {
  0%, 45%  { opacity: 1; }
  50%, 95% { opacity: 0; }
  100%     { opacity: 1; }
}

@keyframes heroCycleB {
  0%, 45%  { opacity: 0; }
  50%, 95% { opacity: 1; }
  100%     { opacity: 0; }
}

@keyframes isotypePulse {
  0%, 100% { opacity: 0.04; }
  50%      { opacity: 0.06; }
}

.hero .hero-screenshot {
  opacity: 0;
  animation: mockupFloat 1s var(--sp-ease-out) 0.2s forwards;
}

.hero .mockup-window {
  opacity: 0;
  animation: mockupFloat 1s var(--sp-ease-out) 0.2s forwards;
}

.hero .chat-message {
  opacity: 0;
  animation: chatMessageIn var(--sp-duration-slower) var(--sp-ease-out) forwards;
}

.hero .chat-message:nth-child(1) { animation-delay: 0.8s; }
.hero .chat-message:nth-child(2) { animation-delay: 1.4s; }
.hero .chat-message:nth-child(3) { animation-delay: 2.0s; }
.hero .chat-message:nth-child(4) { animation-delay: 2.6s; }
.hero .chat-message:nth-child(5) { animation-delay: 3.2s; }
.hero .chat-message:nth-child(6) { animation-delay: 3.6s; }
.hero .chat-message:nth-child(7) { animation-delay: 4.2s; }
.hero .chat-message:nth-child(8) { animation-delay: 4.8s; }

.hero .chat-skill-badge {
  animation: badgePulse 2s var(--sp-ease-in-out) infinite;
}

.hero .hero-gallery__card--back {
  animation: heroCardBackIn 0.8s ease-out 0.3s both;
}

.hero .hero-gallery__card--front {
  animation: heroCardFrontIn 0.8s ease-out 0.5s both;
}

.hero .hero-gallery__img:not(.hero-gallery__img--cycle) {
  animation: kenBurns 20s ease-in-out infinite;
}

.hero .hero-gallery__card--back .hero-gallery__img:not(.hero-gallery__img--cycle) {
  animation-delay: -10s;
}

.hero .hero-gallery__isotype-img {
  animation: isotypePulse 8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .hero .hero-screenshot,
  .hero .mockup-window,
  .hero .chat-message {
    opacity: 1;
    animation: none;
  }
  .hero .chat-skill-badge {
    animation: none;
  }
  .hero .hero-gallery__card--back,
  .hero .hero-gallery__card--front {
    opacity: 1;
    animation: none;
  }
  .hero .hero-gallery__img {
    animation: none;
  }
  .hero .hero-gallery__img--cycle {
    animation: none;
  }
  .hero .hero-gallery__img--cycle-a2,
  .hero .hero-gallery__img--cycle-b2 {
    opacity: 0;
  }
  .hero .hero-gallery__isotype-img {
    animation: none;
  }
}

@media (max-width: 768px) {
  .hero .hero-gallery__card--back,
  .hero .hero-gallery__card--front {
    opacity: 1;
    animation: none;
  }

  .hero .hero-gallery__img--cycle-b1 {
    animation: heroCycleA 12s ease-in-out infinite;
  }
  .hero .hero-gallery__img--cycle-b2 {
    animation: heroCycleB 12s ease-in-out infinite;
  }

  .hero .hero-gallery__dot--1 {
    animation: heroCycleA 12s ease-in-out infinite;
  }
  .hero .hero-gallery__dot--2 {
    animation: heroCycleB 12s ease-in-out infinite;
  }
}





.section-title {
  text-align: center;
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-3xl);
  font-weight: 700;
  letter-spacing: var(--sp-tracking-tight);
  margin-bottom: var(--sp-space-6);
  color: var(--sp-color-text);
}

.section-subtitle {
  text-align: center;
  color: var(--sp-color-text-secondary);
  font-size: var(--sp-text-lg);
  margin-top: 0;
  margin-bottom: var(--sp-space-16);
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  line-height: var(--sp-leading-normal);
}

@media (max-width: 768px) {
  .section-subtitle {
    margin-bottom: var(--sp-space-8);
  }
}

@media (max-width: 768px) {
  .container {
    padding-left: var(--sp-space-5);
    padding-right: var(--sp-space-5);
  }
}

@media (max-width: 480px) {
  .section-title {
    margin-bottom: var(--sp-space-4);
  }

  .section-subtitle {
    margin-bottom: var(--sp-space-6);
    font-size: var(--sp-text-base);
  }
}


.problem {
  padding: var(--sp-space-24) 0;
  background: var(--sp-color-surface-alt);
}

.problem-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-space-12);
  max-width: 900px;
  margin: 0 auto;
}

.problem-col {
  padding: var(--sp-space-8);
  border-radius: var(--sp-card-radius);
}

.problem-before {
  background: var(--sp-color-bg);
  border: 1px solid oklch(0.47 0.12 45 / 0.20);
  box-shadow: var(--sp-shadow-sm);
}

.problem-after {
  background: var(--sp-color-bg);
  border: 1px solid oklch(0.82 0.14 70 / 0.30);
  box-shadow: var(--sp-shadow-sm);
}

.problem-col-title {
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-sm);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: var(--sp-space-6);
  color: var(--sp-color-text-secondary);
}

.problem-after .problem-col-title {
  color: var(--sp-color-primary);
}

.problem-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.problem-item {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-space-2);
  padding: var(--sp-space-2) 0;
  font-size: var(--sp-text-base);
  line-height: var(--sp-leading-normal);
}

.problem-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 0.125rem;
}

.problem-item--negative .problem-icon {
  color: oklch(0.47 0.12 45 / 0.6);
}

.problem-item--positive .problem-icon {
  color: var(--sp-color-primary);
}

.problem-item--negative span:last-child {
  color: var(--sp-color-text-secondary);
}

.problem-item--positive span:last-child {
  color: var(--sp-color-text);
}

@media (max-width: 768px) {
  .problem {
    padding: var(--sp-space-12) 0;
  }

  .problem-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-space-6);
  }
}

@media (max-width: 480px) {
  .problem {
    padding: var(--sp-space-8) 0;
  }
}


.how-it-works {
  padding: var(--sp-space-24) 0;
  background: var(--sp-color-bg);
  position: relative;
  overflow: hidden;
}

.how-it-works::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, light-dark(oklch(0.47 0.13 47 / 0.03), oklch(1.00 0 0 / 0.02)) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
}

.how-it-works .container {
  position: relative;
  z-index: var(--sp-z-base);
  max-width: 800px;
}

.hiw-timeline {
  position: relative;
  padding: var(--sp-space-8) 0;
}

.hiw-step {
  display: flex;
  gap: var(--sp-space-8);
  margin-bottom: var(--sp-space-12);
  opacity: 0;
  transform: translateY(40px);
  transition: opacity var(--sp-duration-slower) var(--sp-ease-default), transform var(--sp-duration-slower) var(--sp-ease-default);
}

.hiw-step.hiw-visible {
  opacity: 1;
  transform: translateY(0);
}

.hiw-step:last-child {
  margin-bottom: 0;
}

.hiw-step:last-child .hiw-timeline-line {
  display: none;
}

.hiw-timeline-marker {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 48px;
}

.hiw-timeline-dot {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--sp-color-primary);
  color: var(--sp-color-text-on-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-xl);
  font-weight: 700;
  flex-shrink: 0;
}

.hiw-timeline-line {
  width: 2px;
  flex: 1;
  background: linear-gradient(to bottom, var(--sp-color-primary), var(--sp-color-border));
  margin-top: var(--sp-space-2);
  min-height: 24px;
}

.hiw-step-content {
  padding: var(--sp-space-2) 0 var(--sp-space-4);
}

.hiw-badge {
  display: inline-block;
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--sp-color-primary);
  background: var(--sp-color-hiw-badge-bg);
  padding: 0.25rem 0.75rem;
  border-radius: var(--sp-radius-full);
  margin-bottom: var(--sp-space-2);
}

.hiw-step-title {
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-2xl);
  font-weight: 700;
  letter-spacing: var(--sp-tracking-tight);
  margin-bottom: var(--sp-space-2);
  color: var(--sp-color-text);
}

.hiw-step-description {
  font-size: var(--sp-text-lg);
  color: var(--sp-color-text-secondary);
  line-height: var(--sp-leading-relaxed);
  max-width: 560px;
}

@media (prefers-reduced-motion: reduce) {
  .hiw-step {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 768px) {
  .how-it-works {
    padding: var(--sp-space-12) 0;
  }

  .how-it-works .container {
    padding: 0 var(--sp-space-5);
  }

  .hiw-step {
    gap: var(--sp-space-4);
  }

  .hiw-timeline-marker {
    width: 40px;
  }

  .hiw-timeline-dot {
    width: 40px;
    height: 40px;
    font-size: var(--sp-text-base);
  }

  .hiw-step-title {
    font-size: var(--sp-text-xl);
  }

  .hiw-step-description {
    font-size: var(--sp-text-md);
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .how-it-works {
    padding: var(--sp-space-10) 0;
  }

  .hiw-step {
    margin-bottom: var(--sp-space-8);
  }
}




.hiw-mockup-window {
  background: var(--sp-color-mockup-bg);
  border-radius: var(--sp-radius-card);
  overflow: hidden;
  box-shadow:
    0 20px 60px light-dark(oklch(0.20 0.01 50 / 0.08), oklch(0 0 0 / 0.4)),
    0 8px 20px light-dark(oklch(0.20 0.01 50 / 0.04), oklch(0 0 0 / 0.3)),
    0 0 0 1px light-dark(oklch(0.20 0.01 50 / 0.05), oklch(1 0 0 / 0.06));
  transition: transform var(--sp-transition-slow), box-shadow var(--sp-transition-slow);
}

.hiw-mockup-window:hover {
  transform: translateY(-4px);
  box-shadow:
    0 28px 80px light-dark(oklch(0.20 0.01 50 / 0.10), oklch(0 0 0 / 0.5)),
    0 12px 28px light-dark(oklch(0.20 0.01 50 / 0.06), oklch(0 0 0 / 0.35)),
    0 0 0 1px light-dark(oklch(0.20 0.01 50 / 0.05), oklch(1 0 0 / 0.08)),
    0 0 40px light-dark(oklch(0.72 0.17 52 / 0.05), oklch(0.72 0.17 52 / 0.08));
}

.hiw-mockup-window .mockup-chrome {
  background: var(--sp-color-mockup-sidebar);
  border-bottom-color: var(--sp-color-mockup-border);
}


.hiw-settings-layout {
  display: flex;
  min-height: 220px;
}

.hiw-settings-sidebar {
  width: 140px;
  background: var(--sp-color-mockup-sidebar);
  border-right: 1px solid var(--sp-color-mockup-border);
  padding: 0.75rem 0;
  flex-shrink: 0;
}

.hiw-settings-nav-item {
  display: block;
  padding: 0.375rem 1rem;
  font-family: var(--sp-font-brand);
  font-size: 0.75rem;
  color: var(--sp-color-text-secondary);
  text-decoration: none;
  cursor: default;
}

.hiw-settings-nav-item--active {
  background: var(--sp-color-hiw-nav-active-bg);
  color: var(--sp-color-hiw-nav-active-text);
  font-weight: 600;
  border-radius: var(--sp-radius-sm);
  margin: 0 0.5rem;
  padding: 0.375rem 0.5rem;
}

.hiw-settings-nav-label {
  display: block;
  padding: 0.375rem 1rem;
  font-family: var(--sp-font-brand);
  font-size: 0.65rem;
  font-weight: 500;
  color: var(--sp-color-text-muted);
  text-transform: none;
  margin-top: 0.5rem;
}

.hiw-settings-content {
  flex: 1;
  padding: 1rem 1.25rem;
}

.hiw-settings-section-title {
  font-family: var(--sp-font-brand);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--sp-color-text);
  margin-bottom: 0.25rem;
}

.hiw-settings-section-desc {
  font-size: 0.75rem;
  color: var(--sp-color-text-muted);
  margin-bottom: 0.75rem;
  line-height: 1.4;
}

.hiw-settings-section-desc--flush {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .hiw-settings-sidebar {
    width: 100px;
  }

  .hiw-settings-nav-item {
    padding: 0.25rem 0.625rem;
    font-size: 0.65rem;
  }

  .hiw-settings-nav-label {
    padding: 0.25rem 0.625rem;
    font-size: 0.6rem;
  }
}

@media (max-width: 480px) {
  .hiw-mockup-window {
    border-radius: var(--sp-radius-md);
  }

  .hiw-settings-sidebar {
    display: none;
  }

  .hiw-settings-layout {
    min-height: 160px;
  }

  .hiw-settings-content {
    padding: 0.75rem 0.875rem;
  }
}




.hiw-connector-row {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--sp-color-mockup-border);
}

.hiw-connector-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--sp-radius-button);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--sp-color-text-on-primary);
}

.hiw-connector-icon--sp {
  background: linear-gradient(135deg, var(--sp-color-primary), var(--sp-color-primary-dark));
}

.hiw-connector-info {
  flex: 1;
  min-width: 0;
}

.hiw-connector-name {
  font-family: var(--sp-font-brand);
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--sp-color-text);
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.hiw-custom-badge {
  font-size: 0.6rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--sp-color-text-muted);
  background: var(--sp-color-mockup-badge);
  padding: 1px var(--sp-space-1);
  border-radius: var(--sp-radius-xs);
}

.hiw-connector-url {
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 0.7rem;
  color: var(--sp-color-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hiw-configure-btn {
  padding: 0.3125rem 0.75rem;
  background: var(--sp-color-mockup-input);
  border: 1px solid var(--sp-color-mockup-border);
  border-radius: var(--sp-radius-sm);
  font-family: var(--sp-font-brand);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--sp-color-text);
  cursor: default;
  flex-shrink: 0;
}

.hiw-configure-btn--padded {
  padding: 0.5rem 1rem;
}

.hiw-connected-status {
  font-family: var(--sp-font-brand);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--sp-color-hiw-connected);
  flex-shrink: 0;
}


.hiw-cowork-tabs {
  display: flex;
  gap: 0;
  padding: 0 1rem;
  background: var(--sp-color-mockup-sidebar);
  border-bottom: 1px solid var(--sp-color-mockup-border);
}

.hiw-cowork-tab {
  padding: 0.5rem 0.875rem;
  font-family: var(--sp-font-brand);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--sp-color-text-muted);
  cursor: default;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.hiw-cowork-tab--active {
  color: var(--sp-color-text);
  font-weight: 600;
  border-bottom-color: var(--sp-color-text);
}

.hiw-cowork-layout {
  display: flex;
  min-height: 200px;
}

.hiw-cowork-main {
  flex: 1;
  min-width: 0;
}

.hiw-context-sidebar {
  width: 180px;
  border-left: 1px solid var(--sp-color-mockup-border);
  padding: 0.75rem;
  flex-shrink: 0;
  background: var(--sp-color-mockup-input);
}

.hiw-context-label {
  font-family: var(--sp-font-brand);
  font-size: 0.65rem;
  font-weight: 600;
  color: var(--sp-color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.375rem;
}

.hiw-context-sublabel {
  font-family: var(--sp-font-brand);
  font-size: 0.65rem;
  font-weight: 500;
  color: var(--sp-color-text-muted);
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
}

.hiw-context-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.1875rem 0;
  font-family: var(--sp-font-brand);
  font-size: 0.72rem;
  color: var(--sp-color-text-secondary);
}

.hiw-context-item-icon {
  width: 18px;
  height: 18px;
  border-radius: var(--sp-radius-xs);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.55rem;
  font-weight: 700;
}

.hiw-context-item-icon--sp {
  background: linear-gradient(135deg, var(--sp-color-primary), var(--sp-color-primary-dark));
  color: var(--sp-color-text-on-primary);
}

.hiw-context-item-icon--skill {
  background: var(--sp-color-mockup-badge);
  color: var(--sp-color-text-muted);
}


.hiw-textarea {
  width: 100%;
  padding: 0.625rem 0.75rem;
  background: var(--sp-color-mockup-input);
  border: 1px solid var(--sp-color-mockup-border);
  border-radius: var(--sp-radius-button);
  font-family: var(--sp-font-brand);
  font-size: 0.75rem;
  color: var(--sp-color-text);
  line-height: 1.5;
  min-height: 60px;
  resize: none;
}

@media (max-width: 768px) {
  .hiw-context-sidebar {
    display: none;
  }
}

@media (max-width: 480px) {
  .hiw-cowork-layout {
    min-height: 160px;
  }
}




.hiw-install-body--padded {
  padding: 1.5rem 1.75rem;
}

.hiw-dialog-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.hiw-dialog-row .hiw-dialog-title {
  font-size: 1.1rem;
  font-weight: 700;
}

.hiw-warning-box {
  border: 1px solid var(--sp-color-hiw-warning-border);
  border-radius: var(--sp-radius-button);
  padding: 0.75rem 0.875rem;
  margin-bottom: 1rem;
  background: var(--sp-color-hiw-warning-bg);
}

.hiw-warning-text {
  font-size: 0.72rem;
  color: var(--sp-color-hiw-warning-text);
  line-height: 1.5;
}

.hiw-inline-code {
  background: var(--sp-color-hiw-inline-code-bg);
  padding: 1px var(--sp-space-1);
  border-radius: var(--sp-radius-xs);
  font-size: 0.65rem;
}

.hiw-url-input {
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--sp-color-mockup-border);
  border-radius: var(--sp-radius-button);
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 0.72rem;
  color: var(--sp-color-text);
  background: var(--sp-color-mockup-input);
  margin-bottom: 1rem;
}

.hiw-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

.hiw-sync-btn {
  padding: 0.5rem 1.25rem;
  background: var(--sp-color-hiw-sync-btn-bg);
  color: var(--sp-color-text-on-primary);
  border-radius: var(--sp-radius-button);
  font-family: var(--sp-font-brand);
  font-size: 0.8rem;
  font-weight: 600;
}


.hiw-install-body {
  padding: var(--sp-space-8);
}

.hiw-url-bar {
  display: flex;
  align-items: center;
  gap: var(--sp-space-2);
  padding: 0.625rem var(--sp-space-4);
  background: var(--sp-color-mockup-input);
  border: 1px solid var(--sp-color-mockup-border);
  border-radius: var(--sp-radius-button);
  margin-bottom: var(--sp-space-6);
}

.hiw-url-bar-icon {
  color: var(--sp-color-text-muted);
  flex-shrink: 0;
  display: flex;
}

.hiw-url-bar-text {
  flex: 1;
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 0.8rem;
  color: var(--sp-color-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hiw-url-bar-copy {
  color: var(--sp-color-text-muted);
  flex-shrink: 0;
  display: flex;
}

@media (max-width: 480px) {
  .hiw-url-bar-text {
    font-size: 0.7rem;
  }

  .hiw-install-body--padded {
    padding: 1rem 0.875rem;
  }

  .hiw-dialog-row .hiw-dialog-title {
    font-size: 0.95rem;
  }

  .hiw-warning-text {
    font-size: 0.65rem;
  }

  .hiw-url-input {
    font-size: 0.65rem;
  }

  .hiw-sync-btn {
    padding: 0.375rem 0.875rem;
    font-size: 0.7rem;
  }
}



.hiw-native-dialog {
  border: 1px solid var(--sp-color-mockup-border);
  border-radius: var(--sp-radius-lg);
  padding: var(--sp-space-6);
  margin-bottom: var(--sp-space-4);
  background: var(--sp-color-mockup-input);
}

.hiw-dialog-header {
  display: flex;
  align-items: center;
  gap: var(--sp-space-4);
  margin-bottom: var(--sp-space-4);
}

.hiw-dialog-app-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--sp-radius-md);
  background: linear-gradient(135deg, var(--sp-color-primary), var(--sp-color-primary-dark));
  color: var(--sp-color-text-on-primary);
  font-family: var(--sp-font-brand);
  font-size: 0.85rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.hiw-dialog-title {
  font-family: var(--sp-font-brand);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--sp-color-text);
}

.hiw-dialog-text {
  font-size: 0.8rem;
  color: var(--sp-color-text-muted);
}

.hiw-dialog-permissions {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-bottom: var(--sp-space-6);
}

.hiw-dialog-perm {
  display: flex;
  align-items: center;
  gap: var(--sp-space-2);
  font-size: 0.8rem;
  color: var(--sp-color-text-secondary);
}

.hiw-dialog-perm .hiw-check-icon {
  color: var(--sp-color-success);
  font-size: 0.85rem;
}

.hiw-install-status {
  display: flex;
  align-items: center;
  gap: var(--sp-space-2);
  font-size: 0.85rem;
  color: var(--sp-color-success);
  padding: var(--sp-space-2) var(--sp-space-4);
  background: oklch(0.52 0.17 155 / 0.06);
  border-radius: var(--sp-radius-button);
}

.hiw-check-icon {
  font-weight: 700;
  font-size: 1rem;
}


.hiw-tool-call {
  background: var(--sp-color-hiw-tool-bg);
  border-radius: var(--sp-radius-button);
  overflow: hidden;
  margin-bottom: 0.5rem;
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: 0.75rem;
}

.hiw-tool-call-header {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.75rem;
  background: var(--sp-color-hiw-tool-header);
  color: var(--sp-color-primary);
  font-weight: 600;
  font-size: 0.7rem;
  letter-spacing: 0.02em;
}

.hiw-tool-call-header svg {
  color: var(--sp-color-primary);
  flex-shrink: 0;
}

.hiw-tool-call-body {
  padding: 0.625rem 0.75rem;
}

.hiw-tool-param {
  color: var(--sp-color-hiw-tool-text);
  line-height: 1.7;
}

.hiw-tool-param-key {
  color: var(--sp-color-primary);
}

@media (max-width: 480px) {
  .hiw-tool-call {
    font-size: 0.65rem;
  }
}




.hiw-settings-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.hiw-settings-label {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--sp-color-text);
}

.hiw-settings-sublabel {
  font-size: 0.7rem;
  color: var(--sp-color-text-muted);
}

.hiw-settings-info {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.625rem 0.75rem;
  background: var(--sp-color-mockup-sidebar);
  border: 1px solid var(--sp-color-mockup-border);
  border-radius: var(--sp-radius-button);
  font-size: 0.75rem;
  color: var(--sp-color-text-secondary);
}

.hiw-settings-info-icon {
  color: var(--sp-color-text-muted);
  flex-shrink: 0;
}

.hiw-settings-info--stacked {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.875rem;
}

.hiw-info-note {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.72rem;
  color: var(--sp-color-text-muted);
  padding: 0.5rem 0.625rem;
  background: var(--sp-color-mockup-input);
  border: 1px solid var(--sp-color-mockup-border);
  border-radius: var(--sp-radius-sm);
  width: 100%;
}


.hiw-dropdown {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  background: var(--sp-color-mockup-input);
  border: 1px solid var(--sp-color-mockup-border);
  border-radius: var(--sp-radius-sm);
  font-family: var(--sp-font-brand);
  font-size: 0.8rem;
  color: var(--sp-color-text);
  margin-bottom: 0.5rem;
}

.hiw-dropdown-arrow {
  color: var(--sp-color-text-muted);
  font-size: 0.7rem;
}

.hiw-dropdown-arrow--spaced {
  margin-left: 0.375rem;
}

.hiw-settings-label--spaced {
  margin-bottom: 0.375rem;
}

.hiw-settings-label--tight {
  margin-bottom: 0.125rem;
}

.hiw-settings-sublabel--spaced {
  margin-bottom: 0.5rem;
}

.hiw-install-url-section {
  margin-bottom: 0.25rem;
}

.hiw-dropdown--inline {
  width: auto;
  margin-bottom: 0;
  padding: 0.375rem 0.625rem;
}

.hiw-domain-list {
  border: 1px solid var(--sp-color-mockup-border);
  border-radius: var(--sp-radius-button);
  overflow: hidden;
}

.hiw-domain-item {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.625rem;
  font-size: 0.75rem;
  color: var(--sp-color-text);
}

.hiw-domain-item--border {
  border-bottom: 1px solid var(--sp-color-mockup-border);
}

.hiw-domain-name {
  flex: 1;
}


.hiw-toggle {
  width: 36px;
  height: 20px;
  background: var(--sp-color-info);
  border-radius: var(--sp-radius-md);
  position: relative;
  flex-shrink: 0;
}

.hiw-toggle::after {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  background: var(--sp-primitive-white);
  border-radius: var(--sp-radius-full);
  top: 2px;
  right: 2px;
  box-shadow: 0 1px 2px oklch(0 0 0 / 0.1);
}


.hiw-textarea {
  width: 100%;
  padding: 0.625rem 0.75rem;
  background: var(--sp-color-mockup-input);
  border: 1px solid var(--sp-color-mockup-border);
  border-radius: var(--sp-radius-button);
  font-family: var(--sp-font-brand);
  font-size: 0.75rem;
  color: var(--sp-color-text);
  line-height: 1.5;
  min-height: 60px;
  resize: none;
}


.sharing {
  padding: var(--sp-space-24) 0;
  background: var(--sp-color-surface-alt);
}
.sharing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-space-8);
  margin-top: var(--sp-space-12);
}
.sharing-card {
  background: var(--sp-color-bg);
  border-radius: var(--sp-corners-md);
  padding: var(--sp-space-8);
  text-align: center;
  border: 1px solid var(--sp-color-border);
  transition: transform var(--sp-duration-normal) var(--sp-ease-default), box-shadow var(--sp-duration-normal) var(--sp-ease-default);
}
.sharing-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--sp-shadow-lg);
}
.sharing-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto var(--sp-space-4);
  color: var(--sp-color-primary);
}
.sharing-icon svg {
  width: 100%;
  height: 100%;
}
.sharing-title {
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-lg);
  font-weight: 600;
  margin-bottom: var(--sp-space-2);
  color: var(--sp-color-text);
}
.sharing-description {
  font-size: var(--sp-text-base);
  color: var(--sp-color-text-secondary);
  line-height: var(--sp-leading-normal);
  margin: 0;
}
.sharing-cta {
  text-align: center;
  margin-top: var(--sp-space-10);
}

@media (max-width: 768px) {
  .sharing {
    padding: var(--sp-space-12) 0;
  }

  .sharing-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-space-5);
  }

  .sharing-card {
    padding: var(--sp-space-6);
  }
}

@media (max-width: 480px) {
  .sharing {
    padding: var(--sp-space-10) 0;
  }
}


.features {
  padding: var(--sp-space-24) 0;
  background: var(--sp-color-surface-alt);
}


.features-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--sp-space-6);
}

.feature-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: var(--sp-color-bg);
  border: 1px solid var(--sp-color-border);
  border-radius: var(--sp-card-radius);
  padding: var(--sp-space-6);
  transition: border-color var(--sp-duration-normal) var(--sp-ease-default), transform var(--sp-duration-normal) var(--sp-ease-default), box-shadow var(--sp-duration-normal) var(--sp-ease-default);
  position: relative;
  box-shadow: var(--sp-shadow-sm);
}

.feature-card:hover {
  text-decoration: none;
  border-color: oklch(0.82 0.14 70 / 0.35);
  transform: translateY(-2px);
  box-shadow: var(--sp-shadow-lg);
}


.feature-icon,
.feature-card .feature-icon {
  width: 40px;
  height: 40px;
  margin-bottom: var(--sp-space-4);
  color: var(--sp-color-primary);
}

.feature-icon svg {
  width: 100%;
  height: 100%;
}

.feature-title,
.feature-card h3,
.feature-card h4,
.feature-card .feature-title {
  font-size: var(--sp-text-base);
  font-weight: 600;
  margin-bottom: var(--sp-space-1);
  color: var(--sp-color-text);
}

.feature-description,
.feature-card p,
.feature-card .feature-description {
  font-size: var(--sp-text-sm);
  color: var(--sp-color-text-secondary);
  line-height: var(--sp-leading-normal);
}

.feature-link-arrow {
  position: absolute;
  bottom: var(--sp-space-6);
  right: var(--sp-space-6);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity var(--sp-duration-normal) var(--sp-ease-default), transform var(--sp-duration-normal) var(--sp-ease-default);
  color: var(--sp-color-primary);
  font-size: var(--sp-text-xl);
}

.feature-card:hover .feature-link-arrow {
  opacity: 1;
  transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {
  .feature-card.feature-card {
    transition: border-color var(--sp-duration-normal) var(--sp-ease-default), box-shadow var(--sp-duration-normal) var(--sp-ease-default);
  }

  .feature-card:hover {
    transform: none;
  }

  .feature-link-arrow {
    transition: opacity var(--sp-duration-normal) var(--sp-ease-default);
    transform: none;
  }

  .feature-card:hover .feature-link-arrow {
    transform: none;
  }
}

@media (max-width: 1024px) {
  .features-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .features {
    padding: var(--sp-space-12) 0;
  }

  .features-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sp-space-4);
  }
}

@media (max-width: 480px) {
  .features {
    padding: var(--sp-space-10) 0;
  }

  .features-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-space-4);
  }

  .feature-card {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--sp-space-4);
    padding: var(--sp-space-4) var(--sp-space-5);
  }

  .feature-icon,
  .feature-card .feature-icon {
    margin-bottom: 0;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
  }
}


.use-cases {
  padding: var(--sp-space-24) 0;
  background: var(--sp-color-bg);
}

.use-cases-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-space-6);
}

.use-case-card {
  background: var(--sp-color-bg);
  border: 1px solid var(--sp-color-border);
  border-radius: var(--sp-card-radius);
  padding: var(--sp-space-8);
  transition: border-color var(--sp-duration-normal) var(--sp-ease-default), transform var(--sp-duration-normal) var(--sp-ease-default), box-shadow var(--sp-duration-normal) var(--sp-ease-default);
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  box-shadow: var(--sp-shadow-sm);
}

.use-case-card:hover {
  border-color: oklch(0.72 0.17 52 / 0.3);
  transform: translateY(-2px);
  box-shadow: var(--sp-shadow-lg);
  text-decoration: none;
}

.use-case-card--linked {
  text-decoration: none;
  color: inherit;
}

.use-case-card--linked:hover {
  text-decoration: none;
}

.use-case-header {
  display: flex;
  align-items: center;
  gap: var(--sp-space-4);
  margin-bottom: var(--sp-space-4);
}

.use-case-icon {
  width: 44px;
  height: 44px;
  color: var(--sp-color-primary);
  flex-shrink: 0;
  margin-bottom: var(--sp-space-4);
  padding: 0.625rem;
  background: oklch(0.72 0.17 52 / 0.08);
  border-radius: var(--sp-corners-sm);
}

.use-case-icon svg {
  width: 100%;
  height: 100%;
}

.use-case-header h3,
.use-case-title {
  font-size: var(--sp-text-lg);
  font-weight: 600;
  margin-bottom: var(--sp-space-2);
  color: var(--sp-color-text);
}

.use-case-description,
.use-case-card > p {
  color: var(--sp-color-text-secondary);
  font-size: var(--sp-text-sm);
  margin-bottom: var(--sp-space-4);
  line-height: var(--sp-leading-normal);
  flex-grow: 1;
}

.use-case-example {
  font-style: italic;
  font-size: var(--sp-text-sm);
  color: var(--sp-color-text-muted);
  margin-top: auto;
  padding: var(--sp-space-2) var(--sp-space-4);
  background: var(--sp-color-surface-alt);
  border-radius: var(--sp-corners-sm);
  border-left: 3px solid var(--sp-color-primary);
  line-height: var(--sp-leading-normal);
}

.use-case-link-hint {
  display: block;
  margin-top: var(--sp-space-4);
  color: var(--sp-color-primary);
  font-size: var(--sp-text-sm);
  font-weight: 500;
}

.use-case-code {
  background: var(--sp-color-surface);
  border: 1px solid var(--sp-color-border);
  border-radius: var(--sp-corners-sm);
  padding: var(--sp-space-4);
  overflow-x: auto;
  margin: 0;
  margin-top: auto;
  max-width: 100%;
}

.use-case-code code {
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: var(--sp-text-sm);
  color: var(--sp-color-text-secondary);
  white-space: pre;
  line-height: var(--sp-leading-normal);
}

@media (prefers-reduced-motion: reduce) {
  .use-case-card.use-case-card {
    transition: border-color var(--sp-duration-normal) var(--sp-ease-default), box-shadow var(--sp-duration-normal) var(--sp-ease-default);
  }

  .use-case-card:hover {
    transform: none;
  }
}

@media (max-width: 768px) {
  .use-cases {
    padding: var(--sp-space-12) 0;
  }

  .use-cases-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .use-cases {
    padding: var(--sp-space-10) 0;
  }

  .use-cases-grid {
    grid-template-columns: 1fr;
  }

  .use-case-card {
    padding: var(--sp-space-5);
  }
}


.compliance {
  padding: var(--sp-space-24) 0;
  background: var(--sp-color-bg);
}

.compliance .section-subtitle {
  max-width: 640px;
  margin: 0 auto var(--sp-space-12);
  text-align: center;
  color: var(--sp-color-text-secondary);
  font-size: var(--sp-text-base);
  line-height: var(--sp-leading-normal);
}

.compliance-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-space-6);
}

.compliance-card {
  background: var(--sp-color-bg);
  border: 1px solid var(--sp-color-border);
  border-radius: var(--sp-card-radius);
  padding: var(--sp-space-8);
  transition: border-color var(--sp-duration-normal) var(--sp-ease-default), transform var(--sp-duration-normal) var(--sp-ease-default), box-shadow var(--sp-duration-normal) var(--sp-ease-default);
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: var(--sp-shadow-sm);
}

.compliance-card:hover {
  border-color: oklch(0.72 0.17 52 / 0.3);
  transform: translateY(-2px);
  box-shadow: var(--sp-shadow-lg);
}

.compliance-icon {
  width: 44px;
  height: 44px;
  color: var(--sp-color-primary);
  flex-shrink: 0;
  margin-bottom: var(--sp-space-4);
  padding: 0.625rem;
  background: oklch(0.72 0.17 52 / 0.08);
  border-radius: var(--sp-corners-sm);
}

.compliance-icon svg {
  width: 100%;
  height: 100%;
}

.compliance-title {
  font-size: var(--sp-text-lg);
  font-weight: 600;
  margin-bottom: var(--sp-space-2);
  color: var(--sp-color-text);
}

.compliance-description {
  color: var(--sp-color-text-secondary);
  font-size: var(--sp-text-sm);
  margin-bottom: var(--sp-space-4);
  line-height: var(--sp-leading-normal);
  flex-grow: 1;
}

.compliance-evidence {
  display: inline-block;
  font-size: var(--sp-text-xs);
  color: var(--sp-color-primary);
  background: oklch(0.72 0.17 52 / 0.08);
  padding: var(--sp-space-1) var(--sp-space-3);
  border-radius: var(--sp-corners-sm);
  font-weight: 500;
  margin-top: auto;
}

.compliance-badge-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-space-6);
  margin-top: var(--sp-space-12);
  padding: var(--sp-space-6) var(--sp-space-8);
  background: var(--sp-color-surface-alt);
  border-radius: var(--sp-card-radius);
  border: 1px solid var(--sp-color-border);
}

.compliance-compatibility {
  font-size: var(--sp-text-base);
  font-weight: 500;
  color: var(--sp-color-text);
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {
  .compliance-card.compliance-card {
    transition: border-color var(--sp-duration-normal) var(--sp-ease-default), box-shadow var(--sp-duration-normal) var(--sp-ease-default);
  }

  .compliance-card:hover {
    transform: none;
  }
}

@media (max-width: 768px) {
  .compliance {
    padding: var(--sp-space-12) 0;
  }

  .compliance-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .compliance-badge-row {
    flex-direction: column;
    text-align: center;
    gap: var(--sp-space-4);
  }
}

@media (max-width: 480px) {
  .compliance {
    padding: var(--sp-space-8) 0;
  }

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


.diagonal-hero {
  width: 100%;
  max-width: 100vw;
  margin-left: 0;
  padding: var(--sp-space-8) 5%;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  overflow: hidden;
}

.diagonal-pane {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: var(--sp-space-12) var(--sp-space-6);
  padding-top: var(--sp-space-16);
}

.diagonal-pane--platform::after,
.diagonal-pane--cli::after,
.diagonal-pane--skills::after,
.diagonal-pane--dashboard::after,
.diagonal-pane--remember::after,
.diagonal-pane--control::after,
.diagonal-pane--govern::after,
.diagonal-pane--observe::after {
  content: "";
  position: absolute;
  right: 0;
  top: -20px;
  bottom: -20px;
  width: 2px;
  background: linear-gradient(
    180deg,
    transparent 0%,
    var(--sp-color-border) 20%,
    var(--sp-color-primary) 50%,
    var(--sp-color-border) 80%,
    transparent 100%
  );
  transform: skewX(-12deg);
}

.diagonal-content {
  width: 100%;
  max-width: 260px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.diagonal-icon {
  width: 52px;
  height: 52px;
  margin-bottom: var(--sp-space-6);
  color: var(--sp-color-primary);
  flex-shrink: 0;
}

.diagonal-icon svg {
  width: 100%;
  height: 100%;
}

.diagonal-title {
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-xl);
  font-weight: 600;
  letter-spacing: var(--sp-tracking-normal);
  margin-bottom: var(--sp-space-4);
  line-height: var(--sp-leading-snug);
  min-height: 2.6em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
  color: var(--sp-color-text);
}

.diagonal-title .highlight {
  color: var(--sp-color-primary-text);
  margin-left: 0.3em;
}

.diagonal-subtitle {
  font-size: var(--sp-text-base);
  color: var(--sp-color-text-secondary);
  margin-bottom: var(--sp-space-8);
  line-height: var(--sp-leading-normal);
  min-height: 3em;
  display: flex;
  align-items: center;
  text-align: center;
}

.diagonal-features {
  list-style: none;
  padding: 0;
  text-align: left;
  width: 100%;
}

.diagonal-features li {
  padding: 0.3125rem 0;
  padding-left: var(--sp-space-4);
  position: relative;
  color: var(--sp-color-text-secondary);
  font-size: var(--sp-text-sm);
  line-height: var(--sp-leading-normal);
}

.diagonal-features li::before {
  content: "\25B8";
  position: absolute;
  left: 0;
  color: var(--sp-color-primary);
  font-size: var(--sp-text-xs);
}

.diagonal-cta {
  display: inline-block;
  margin-top: var(--sp-space-6);
  color: var(--sp-color-primary-text);
  font-size: var(--sp-text-sm);
  font-weight: 500;
  text-decoration: none;
  transition: color var(--sp-duration-normal) var(--sp-ease-default);
}

.diagonal-cta:hover {
  color: var(--sp-color-primary-hover);
  text-decoration: underline;
}

@media (max-width: 768px) {
  .diagonal-features li {
    color: var(--sp-color-text-secondary);
  }

  .diagonal-subtitle {
    opacity: 1;
  }

  .diagonal-hero {
    grid-template-columns: 1fr;
    padding: var(--sp-space-6) var(--sp-space-5);
  }

  .diagonal-pane {
    padding: var(--sp-space-6) var(--sp-space-4);
  }

  .diagonal-content {
    max-width: 480px;
    margin: 0 auto;
  }

  .diagonal-pane:last-child::after {
    display: none;
  }

  .diagonal-pane--platform::after,
  .diagonal-pane--cli::after,
  .diagonal-pane--skills::after,
  .diagonal-pane--dashboard::after,
  .diagonal-pane--remember::after,
  .diagonal-pane--control::after,
  .diagonal-pane--govern::after,
  .diagonal-pane--observe::after {
    right: 10%;
    left: 10%;
    top: auto;
    bottom: 0;
    width: 80%;
    height: 2px;
    transform: skewX(-12deg);
    background: linear-gradient(
      90deg,
      transparent 0%,
      var(--sp-color-primary) 30%,
      var(--sp-color-primary) 70%,
      transparent 100%
    );
  }

  .diagonal-title {
    font-size: var(--sp-text-lg);
  }

  .diagonal-subtitle {
    font-size: var(--sp-text-sm);
  }

  .diagonal-icon {
    width: 48px;
    height: 48px;
  }
}


.value-props-section {
  background: var(--sp-color-surface-alt);
  padding: var(--sp-space-24) 0;
  border-top: 1px solid var(--sp-color-border);
  border-bottom: 1px solid var(--sp-color-border);
}

.value-props-section .diagonal-hero {
  padding: var(--sp-space-12) 5%;
}

.value-props-section .diagonal-pane {
  align-items: stretch;
}

.value-props-section .diagonal-content {
  max-width: 300px;
  height: 100%;
  justify-content: flex-start;
}

.value-props-section .diagonal-pane--skills::after,
.value-props-section .diagonal-pane--dashboard::after,
.value-props-section .diagonal-pane--remember::after,
.value-props-section .diagonal-pane--control::after,
.value-props-section .diagonal-pane--govern::after,
.value-props-section .diagonal-pane--observe::after {
  width: 3px;
  background: linear-gradient(
    180deg,
    transparent 0%,
    oklch(0.82 0.14 70 / 0.25) 15%,
    var(--sp-color-primary) 40%,
    var(--sp-color-secondary) 60%,
    oklch(0.82 0.14 70 / 0.25) 85%,
    transparent 100%
  );
  box-shadow: 0 0 8px oklch(0.82 0.14 70 / 0.20),
              0 0 20px oklch(0.72 0.17 52 / 0.10);
}

.value-props-section .diagonal-title {
  color: var(--sp-color-text);
  font-size: var(--sp-text-2xl);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.value-props-section .diagonal-title .highlight {
  color: var(--sp-color-primary-text);
}

.value-props-section .diagonal-subtitle {
  color: var(--sp-color-text-secondary);
}

.value-props-section .diagonal-icon {
  width: 64px;
  height: 64px;
  padding: 0.875rem;
  background: oklch(0.82 0.14 70 / 0.10);
  border: 1px solid oklch(0.82 0.14 70 / 0.18);
  border-radius: var(--sp-corners-sm);
  margin-bottom: var(--sp-space-8);
  color: var(--sp-color-primary);
}

.value-props-section .diagonal-features {
  flex-grow: 1;
}

.value-props-section .diagonal-features li {
  color: var(--sp-color-text-secondary);
}

.value-props-section .diagonal-features li::before {
  color: var(--sp-color-primary);
}

.value-props-section .diagonal-cta {
  color: var(--sp-color-primary-text);
}

.value-props-section .diagonal-cta:hover {
  color: var(--sp-color-secondary);
}

@media (max-width: 768px) {
  .value-props-section {
    padding: var(--sp-space-12) 0;
  }

  .value-props-section .diagonal-content {
    max-width: 480px;
  }

  .value-props-section .diagonal-pane--skills::after,
  .value-props-section .diagonal-pane--dashboard::after,
  .value-props-section .diagonal-pane--remember::after,
  .value-props-section .diagonal-pane--control::after,
  .value-props-section .diagonal-pane--govern::after,
  .value-props-section .diagonal-pane--observe::after {
    width: 80%;
  }
}

@media (max-width: 480px) {
  .value-props-section {
    padding: var(--sp-space-10) 0;
  }

  .value-props-section .diagonal-icon {
    width: 52px;
    height: 52px;
    padding: 0.625rem;
    margin-bottom: var(--sp-space-6);
  }

  .value-props-section .diagonal-title {
    font-size: var(--sp-text-xl);
  }
}


.comparison {
  padding: var(--sp-space-24) 0;
  background: var(--sp-color-surface-alt);
}

.comparison-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--sp-space-8);
  max-width: 900px;
  margin: 0 auto;
}

.comparison-col {
  padding: var(--sp-space-8);
  border-radius: var(--sp-card-radius);
  background: var(--sp-color-bg);
  border: 1px solid var(--sp-color-border);
  box-shadow: var(--sp-shadow-sm);
  transition: transform var(--sp-duration-normal) var(--sp-ease-default), box-shadow var(--sp-duration-normal) var(--sp-ease-default);
}

.comparison-col:hover {
  transform: translateY(-2px);
  box-shadow: var(--sp-shadow-lg);
}

.comparison-col.highlight {
  border-color: var(--sp-color-primary);
  box-shadow: var(--sp-card-shadow);
}

.comparison-col h3 {
  font-size: var(--sp-text-lg);
  font-weight: 600;
  margin-bottom: var(--sp-space-6);
  color: var(--sp-color-text-secondary);
}

.comparison-col.highlight h3 {
  color: var(--sp-color-primary);
}

.comparison-col ul {
  list-style: none;
  padding: 0;
}

.comparison-col li {
  padding: var(--sp-space-2) 0;
  color: var(--sp-color-text-secondary);
  font-size: var(--sp-text-base);
  border-bottom: 1px solid var(--sp-color-border);
}

.comparison-col li:last-child {
  border-bottom: none;
}

.comparison-col.highlight li {
  color: var(--sp-color-text);
}

.comparison-row {
  display: flex;
  align-items: center;
  gap: var(--sp-space-2);
}

.comparison-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--sp-color-text-muted);
}

.comparison-col.highlight .comparison-icon {
  color: var(--sp-color-primary);
}

.comparison-text {
  flex: 1;
}

.comparison-link {
  display: flex;
  align-items: center;
  gap: var(--sp-space-2);
  text-decoration: none;
  color: inherit;
  width: 100%;
  transition: color var(--sp-duration-fast) var(--sp-ease-default);
}

.comparison-link:hover {
  color: var(--sp-color-primary);
}

.comparison-link:hover .comparison-icon {
  color: var(--sp-color-primary);
}

.comparison-arrow {
  margin-left: auto;
  opacity: 0;
  transition: opacity var(--sp-duration-fast) var(--sp-ease-default), transform var(--sp-duration-fast) var(--sp-ease-default);
  font-size: var(--sp-text-base);
}

.comparison-link:hover .comparison-arrow {
  opacity: 1;
  transform: translateX(2px);
}

@media (prefers-reduced-motion: reduce) {
  .comparison-col.comparison-col {
    transition: box-shadow var(--sp-duration-normal) var(--sp-ease-default);
  }

  .comparison-col:hover {
    transform: none;
  }

  .comparison-arrow {
    transition: opacity var(--sp-duration-fast) var(--sp-ease-default);
  }

  .comparison-link:hover .comparison-arrow {
    transform: none;
  }
}

@media (max-width: 768px) {
  .comparison {
    padding: var(--sp-space-12) 0;
  }

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

@media (max-width: 480px) {
  .comparison {
    padding: var(--sp-space-8) 0;
  }
}


.comparison-table-wrapper {
  margin-top: var(--sp-space-16);
  overflow-x: auto;
}

.comparison-table-title {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: var(--sp-space-8);
  color: var(--sp-color-text);
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.comparison-table th {
  padding: var(--sp-space-4) var(--sp-space-6);
  text-align: center;
  font-weight: 600;
  color: var(--sp-color-text);
  border-bottom: 2px solid var(--sp-color-border);
  font-size: 1rem;
}

.comparison-table th:first-child {
  text-align: left;
}

.comparison-table th.highlight-col {
  color: var(--sp-color-primary);
}

.comparison-table td {
  padding: var(--sp-space-2) var(--sp-space-6);
  text-align: center;
  color: var(--sp-color-text-secondary);
  border-bottom: 1px solid var(--sp-color-border);
}

.comparison-table td:first-child {
  text-align: left;
  color: var(--sp-color-text);
  font-weight: 400;
}

.comparison-table td.highlight-col {
  color: var(--sp-color-primary);
  font-weight: 500;
}

.comparison-table .category-row td {
  font-family: var(--sp-font-brand);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--sp-color-primary);
  padding-top: var(--sp-space-8);
  border-bottom: 1px solid oklch(0.67 0.18 50 / 0.2);
  font-weight: 600;
}

@media (max-width: 768px) {
  .comparison-table-wrapper {
    position: relative;
    -webkit-overflow-scrolling: touch;
  }

  .comparison-table-wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: var(--sp-space-8);
    background: linear-gradient(to right, transparent, var(--sp-color-bg));
    pointer-events: none;
    z-index: var(--sp-z-base);
  }

  .comparison-table {
    font-size: 0.8rem;
  }

  .comparison-table th,
  .comparison-table td {
    padding: var(--sp-space-1) var(--sp-space-2);
  }
}


.technical-section {
  padding: var(--sp-space-24) 0;
  background: var(--sp-color-bg);
}

.technical-header {
  text-align: center;
  margin-bottom: var(--sp-space-16);
}

.technical-tagline {
  font-size: var(--sp-text-2xl);
  font-weight: 600;
  color: var(--sp-color-primary);
  margin-bottom: var(--sp-space-4);
}

.technical-section .section-subtitle {
  margin-top: 0;
  margin-bottom: var(--sp-space-16);
}


.standards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-space-6);
  margin-bottom: var(--sp-space-24);
}

.standard-card {
  background: var(--sp-color-bg);
  border: 1px solid var(--sp-color-border);
  border-radius: var(--sp-card-radius);
  padding: var(--sp-space-8);
  text-decoration: none;
  color: inherit;
  transition: border-color var(--sp-duration-normal) var(--sp-ease-default), box-shadow var(--sp-duration-normal) var(--sp-ease-default), transform var(--sp-duration-normal) var(--sp-ease-default);
  display: flex;
  flex-direction: column;
  box-shadow: var(--sp-shadow-sm);
}

.standard-card:hover {
  border-color: oklch(0.72 0.17 52 / 0.3);
  box-shadow: var(--sp-shadow-lg);
  transform: translateY(-2px);
}

.standard-logo {
  height: 48px;
  min-height: 48px;
  margin-bottom: var(--sp-space-6);
  display: flex;
  align-items: center;
}

.standard-logo img {
  max-height: 48px;
  max-width: 120px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.standard-name {
  font-size: var(--sp-text-xl);
  font-weight: 700;
  margin-bottom: var(--sp-space-1);
  color: var(--sp-color-text);
}

.standard-tagline {
  font-size: var(--sp-text-sm);
  color: var(--sp-color-primary);
  font-weight: 500;
  margin-bottom: var(--sp-space-2);
}

.standard-description {
  font-size: var(--sp-text-sm);
  color: var(--sp-color-text-secondary);
  line-height: var(--sp-leading-normal);
  margin-bottom: var(--sp-space-4);
}

.standard-benefits {
  list-style: none;
  padding: 0;
  margin: 0;
}

.standard-benefits li {
  font-size: var(--sp-text-sm);
  color: var(--sp-color-text-muted);
  padding-left: 1rem;
  position: relative;
  margin-bottom: var(--sp-space-1);
}

.standard-benefits li::before {
  content: ">";
  position: absolute;
  left: 0;
  color: var(--sp-color-primary);
  font-family: monospace;
}


.technical-ctas {
  display: flex;
  justify-content: center;
  gap: var(--sp-space-6);
}

@media (prefers-reduced-motion: reduce) {
  .standard-card.standard-card {
    transition: border-color var(--sp-duration-normal) var(--sp-ease-default), box-shadow var(--sp-duration-normal) var(--sp-ease-default);
  }

  .standard-card:hover {
    transform: none;
  }
}

@media (max-width: 1024px) {
  .standards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .standards {
    padding: var(--sp-space-12) 0;
  }

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

  .technical-ctas {
    flex-direction: column;
    align-items: center;
  }
}

@media (max-width: 480px) {
  .standards {
    padding: var(--sp-space-8) 0;
  }
}


.extensions-showcase {
  margin-bottom: var(--sp-space-24);
}

.extensions-header {
  text-align: center;
  margin-bottom: var(--sp-space-12);
}

.extensions-title {
  font-size: var(--sp-text-2xl);
  font-weight: 700;
  margin-bottom: var(--sp-space-2);
}

.extensions-subtitle {
  font-size: var(--sp-text-base);
  color: var(--sp-color-text-secondary);
}


.ownership-callout {
  display: flex;
  align-items: center;
  gap: var(--sp-space-6);
  background: oklch(0.72 0.17 52 / 0.04);
  border: 1px solid oklch(0.72 0.17 52 / 0.15);
  border-radius: var(--sp-corners-md);
  padding: var(--sp-space-8);
  margin-bottom: var(--sp-space-12);
}

.ownership-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  color: var(--sp-color-primary);
}

.ownership-message {
  font-size: var(--sp-text-base);
  color: var(--sp-color-text);
  line-height: var(--sp-leading-normal);
}


.extension-traits {
  background: var(--sp-color-surface);
  border: 1px solid var(--sp-color-border);
  border-radius: var(--sp-corners-md);
  overflow: hidden;
}

.trait-tabs {
  display: flex;
  border-bottom: 1px solid var(--sp-color-border);
  overflow-x: auto;
}

.trait-tab {
  flex: 1;
  padding: var(--sp-space-4) var(--sp-space-6);
  background: transparent;
  border: none;
  color: var(--sp-color-text-secondary);
  font-size: var(--sp-text-sm);
  font-weight: 500;
  cursor: pointer;
  transition: color var(--sp-duration-fast) var(--sp-ease-default), background var(--sp-duration-fast) var(--sp-ease-default);
  white-space: nowrap;
}

.trait-tab:hover {
  color: var(--sp-color-text);
  background: oklch(0 0 0 / 0.02);
}

.trait-tab.active {
  color: var(--sp-color-primary);
  background: oklch(0.72 0.17 52 / 0.06);
  border-bottom: 2px solid var(--sp-color-primary);
}

.trait-panels {
  padding: var(--sp-space-8);
}

.trait-panel {
  display: none;
}

.trait-panel.active {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--sp-space-8);
  align-items: start;
}

.trait-info h4 {
  font-size: var(--sp-text-lg);
  font-weight: 600;
  margin-bottom: var(--sp-space-2);
}

.trait-info p {
  color: var(--sp-color-text-secondary);
  font-size: var(--sp-text-sm);
}

.trait-learn-more {
  display: inline-block;
  margin-top: var(--sp-space-4);
  padding: 0.625rem 1.25rem;
  background: transparent;
  color: var(--sp-color-primary);
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-sm);
  font-weight: 500;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: var(--sp-tracking-wide);
  border: 1px solid var(--sp-color-primary);
  border-radius: var(--sp-corners-sm);
  transition: background var(--sp-duration-fast) var(--sp-ease-default), color var(--sp-duration-fast) var(--sp-ease-default);
}

.trait-learn-more:hover {
  background: var(--sp-color-primary);
  color: var(--sp-color-text-on-primary);
}

.trait-code pre {
  background: var(--sp-color-bg);
  border: 1px solid var(--sp-color-border);
  border-radius: var(--sp-corners-sm);
  padding: var(--sp-space-6);
  overflow-x: auto;
  margin: 0;
}

.trait-code code {
  font-family: "SF Mono", "Fira Code", monospace;
  font-size: var(--sp-text-sm);
  color: var(--sp-color-text-secondary);
  white-space: pre;
}


.architecture-note {
  text-align: center;
  padding: var(--sp-space-8);
  background: oklch(0.72 0.17 52 / 0.04);
  border-radius: var(--sp-corners-sm);
  margin-top: var(--sp-space-8);
}

.architecture-note h4 {
  font-size: var(--sp-text-base);
  font-weight: 600;
  margin-bottom: var(--sp-space-2);
  color: var(--sp-color-primary);
}

.architecture-note p {
  color: var(--sp-color-text-secondary);
  font-size: var(--sp-text-sm);
}

@media (max-width: 768px) {
  .trait-panel.active {
    grid-template-columns: 1fr;
  }

  .ownership-callout {
    flex-direction: column;
    text-align: center;
  }
}


.differentiator-section {
  margin-bottom: var(--sp-space-16);
}

.differentiator-title {
  text-align: center;
  font-size: var(--sp-text-2xl);
  font-weight: 700;
  margin-bottom: var(--sp-space-12);
}

.differentiator-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--sp-space-6);
}

.differentiator-card {
  text-align: center;
  padding: var(--sp-space-6);
}

.differentiator-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto var(--sp-space-4);
  color: var(--sp-color-primary);
}

.differentiator-card h4 {
  font-size: var(--sp-text-base);
  font-weight: 600;
  margin-bottom: var(--sp-space-1);
}

.differentiator-card p {
  font-size: var(--sp-text-sm);
  color: var(--sp-color-text-secondary);
}

@media (max-width: 1024px) {
  .differentiator-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .differentiators {
    padding: var(--sp-space-12) 0;
  }

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

@media (max-width: 480px) {
  .differentiators {
    padding: var(--sp-space-8) 0;
  }
}


.team {
  padding: var(--sp-space-24) 0;
  background: var(--sp-color-bg);
}
.team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-space-8);
  margin-top: var(--sp-space-12);
}
.team-card {
  background: var(--sp-color-surface-alt);
  border-radius: var(--sp-corners-md);
  border: 1px solid var(--sp-color-border);
  overflow: hidden;
  transition: transform var(--sp-duration-normal) var(--sp-ease-default), box-shadow var(--sp-duration-normal) var(--sp-ease-default);
}
.team-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--sp-shadow-lg);
}
.team-photo {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--sp-color-surface);
}
.team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.team-info {
  padding: var(--sp-space-6) var(--sp-space-6) var(--sp-space-8);
}
.team-role {
  display: inline-block;
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-sm);
  font-weight: 600;
  color: var(--sp-color-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--sp-space-2);
}
.team-name {
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-xl);
  font-weight: 700;
  color: var(--sp-color-text);
  margin: 0 0 var(--sp-space-3);
}
.team-bio {
  font-size: var(--sp-text-base);
  color: var(--sp-color-text-secondary);
  line-height: var(--sp-leading-normal);
  margin: 0 0 var(--sp-space-4);
}
.team-credentials {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-space-2);
  margin-bottom: var(--sp-space-4);
}
.team-credential {
  display: inline-block;
  font-size: var(--sp-text-xs);
  font-weight: 500;
  padding: var(--sp-space-1) var(--sp-space-3);
  border-radius: 999px;
  background: var(--sp-color-surface);
  border: 1px solid var(--sp-color-border);
  color: var(--sp-color-text-secondary);
}
.team-linkedin {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-space-2);
  font-size: var(--sp-text-sm);
  font-weight: 500;
  color: var(--sp-color-text-secondary);
  text-decoration: none;
  transition: color var(--sp-duration-fast) var(--sp-ease-default);
}
.team-linkedin:hover {
  color: var(--sp-color-primary);
}

@media (max-width: 768px) {
  .team {
    padding: var(--sp-space-12) 0;
  }

  .team-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-space-6);
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
  }

  .team-info {
    padding: var(--sp-space-5) var(--sp-space-5) var(--sp-space-6);
  }
}

@media (max-width: 480px) {
  .team {
    padding: var(--sp-space-10) 0;
  }
}


.faq {
  padding: var(--sp-space-24) 0;
  background: var(--sp-color-surface-alt);
}

.faq-list {
  max-width: 800px;
  margin: 0 auto;
  background: var(--sp-color-bg);
  border-radius: var(--sp-corners-lg);
  padding: var(--sp-space-4) var(--sp-space-8);
  box-shadow: var(--sp-shadow-md);
  border: 1px solid var(--sp-color-border);
}

.faq-item {
  border-bottom: 1px solid var(--sp-color-border);
}

.faq-item:last-child {
  border-bottom: none;
}

.faq-item summary {
  padding: var(--sp-space-6) 0;
  cursor: pointer;
  font-size: var(--sp-text-lg);
  font-weight: 600;
  color: var(--sp-color-text);
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: color var(--sp-duration-fast) var(--sp-ease-default);
}

.faq-item summary::marker {
  display: none;
}

.faq-item summary::after {
  content: "+";
  font-size: var(--sp-text-2xl);
  color: var(--sp-color-primary);
  transition: transform var(--sp-duration-fast) var(--sp-ease-default);
  flex-shrink: 0;
  margin-left: var(--sp-space-4);
}

.faq-item[open] summary::after {
  transform: rotate(45deg);
}

.faq-item summary:hover {
  color: var(--sp-color-primary);
}

.faq-item p {
  padding: 0 0 var(--sp-space-6) 0;
  color: var(--sp-color-text-secondary);
  line-height: var(--sp-leading-relaxed);
}

@media (prefers-reduced-motion: reduce) {
  .faq-item summary::after {
    transition: none;
  }
}

@media (max-width: 768px) {
  .faq {
    padding: var(--sp-space-12) 0;
  }

  .faq-item summary {
    font-size: var(--sp-text-base);
  }
}

@media (max-width: 480px) {
  .faq {
    padding: var(--sp-space-10) 0;
  }

  .faq-item summary {
    font-size: var(--sp-text-base);
    min-height: 44px;
  }

  .faq-list {
    padding: var(--sp-space-3) var(--sp-space-5);
  }
}


.final-cta {
  padding: var(--sp-space-24) 0;
  text-align: center;
  background: var(--sp-color-final-cta-gradient);
}

.final-cta h2 {
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-3xl);
  font-weight: 700;
  margin-bottom: var(--sp-space-4);
}

.final-cta p {
  font-size: var(--sp-text-lg);
  color: var(--sp-color-text-secondary);
  margin-bottom: var(--sp-space-8);
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  line-height: var(--sp-leading-normal);
}

@media (max-width: 768px) {
  .final-cta {
    padding: var(--sp-space-12) 0;
  }

  .final-cta .container {
    padding: 0 var(--sp-space-5);
  }
}

@media (max-width: 480px) {
  .final-cta {
    padding: var(--sp-space-10) 0;
  }

  .final-cta h2 {
    font-size: var(--sp-text-2xl);
  }
}

.sp-contact-form {
    max-width: 600px;
    margin: var(--sp-space-8) auto 0;
    text-align: left;
}

.sp-contact-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-space-4);
}

.sp-contact-form__group {
    margin-bottom: var(--sp-space-4);
}

.sp-contact-form__group--last {
    margin-bottom: var(--sp-space-6);
}

.sp-contact-form__label {
    display: block;
    margin-bottom: var(--sp-space-1);
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--sp-color-text-secondary);
}

.sp-contact-form__input {
    width: 100%;
    padding: var(--sp-space-3);
    border: 1px solid var(--sp-color-border);
    border-radius: var(--sp-radius-md);
    font-size: 0.875rem;
    font-family: inherit;
    background: var(--sp-color-bg-surface);
    color: var(--sp-color-text);
    transition: border-color var(--sp-transition-fast), box-shadow var(--sp-transition-fast);
}

.sp-contact-form__input::placeholder {
    color: var(--sp-color-text-tertiary);
}

.sp-contact-form__input:focus {
    outline: none;
    border-color: var(--sp-color-warning);
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15);
}

.sp-contact-form__input[rows] {
    resize: vertical;
}

.sp-contact-form__submit {
    width: 100%;
    text-align: center;
    display: block;
    cursor: pointer;
    border: none;
    font-size: 0.875rem;
    font-weight: 600;
    transition: opacity var(--sp-transition-fast);
}

.sp-contact-form__submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.sp-contact-form__message {
    margin-top: var(--sp-space-4);
    padding: var(--sp-space-3) var(--sp-space-4);
    border-radius: var(--sp-radius-md);
    font-size: 0.875rem;
    text-align: center;
}

.sp-contact-form__message--success {
    background: rgba(34, 197, 94, 0.1);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.2);
}

.sp-contact-form__message--error {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.2);
}

@media (max-width: 640px) {
    .sp-contact-form__row {
        grid-template-columns: 1fr;
    }
}

/* ── Demo Request Form ── */

.demo-form {
  padding: var(--sp-space-24) 0;
  text-align: center;
  background:
    radial-gradient(ellipse 60% 50% at 50% 100%, oklch(0.72 0.17 52 / 0.06), transparent 70%),
    var(--sp-color-final-cta-gradient);
}

/* ── Hero Section ── */

.demo-form__hero {
  max-width: 640px;
  margin: 0 auto var(--sp-space-10);
}

.demo-form__eyebrow {
  display: inline-block;
  font-size: var(--sp-text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--sp-color-primary);
  background: color-mix(in oklch, var(--sp-color-primary) 10%, transparent);
  padding: var(--sp-space-1) var(--sp-space-3);
  border-radius: var(--sp-radius-full, 9999px);
  margin-bottom: var(--sp-space-4);
}

.demo-form__heading {
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-4xl, clamp(1.75rem, 4vw, 2.5rem));
  font-weight: 700;
  margin-bottom: var(--sp-space-4);
  line-height: 1.15;
}

.demo-form__subheading {
  font-size: var(--sp-text-lg);
  color: var(--sp-color-text-secondary);
  margin-bottom: var(--sp-space-8);
  line-height: var(--sp-leading-relaxed, 1.7);
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

/* ── Preview Items (what you'll see) ── */

.demo-form__preview {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--sp-space-8);
  display: flex;
  flex-direction: column;
  gap: var(--sp-space-4);
  text-align: left;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

.demo-form__preview-item {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-space-3);
}

.demo-form__preview-icon {
  flex-shrink: 0;
  color: var(--sp-color-primary);
  margin-top: 2px;
}

.demo-form__preview-label {
  display: block;
  font-size: var(--sp-text-sm);
  font-weight: 600;
  color: var(--sp-color-text);
  margin-bottom: 2px;
}

.demo-form__preview-desc {
  display: block;
  font-size: var(--sp-text-sm);
  color: var(--sp-color-text-secondary);
  line-height: var(--sp-leading-normal);
}

/* ── Time Commitment ── */

.demo-form__time-commitment {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-space-2);
  font-size: var(--sp-text-sm);
  color: var(--sp-color-text-secondary);
  font-weight: 500;
}

.demo-form__time-commitment svg {
  flex-shrink: 0;
  opacity: 0.6;
}

/* ── Card Container ── */

.demo-form__card {
  max-width: 520px;
  margin: 0 auto;
  padding: var(--sp-space-8) var(--sp-space-8) var(--sp-space-6);
  background: var(--sp-card-bg-glass);
  background-image: var(--sp-card-bg-gradient);
  border: var(--sp-card-border-width) solid color-mix(in oklch, var(--sp-color-primary) 20%, var(--sp-color-border));
  border-radius: var(--sp-corners-md);
  box-shadow: var(--sp-card-shadow);
}

/* ── Progress Indicator ── */

.demo-form__progress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0 auto var(--sp-space-6);
  max-width: 320px;
}

.demo-form__progress[hidden] {
  display: none;
}

.demo-form__progress-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-space-1);
  flex-shrink: 0;
}

.demo-form__progress-dot {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--sp-text-sm);
  font-weight: 600;
  border: 2px solid var(--sp-color-border);
  color: var(--sp-color-text-secondary);
  background: var(--sp-color-surface);
  transition: all 300ms ease-out;
}

.demo-form__progress-step--active .demo-form__progress-dot {
  border-color: var(--sp-color-primary);
  color: var(--sp-color-text-on-primary);
  background: var(--sp-color-primary);
  box-shadow: 0 0 0 4px color-mix(in oklch, var(--sp-color-primary) 20%, transparent);
}

.demo-form__progress-step--complete .demo-form__progress-dot {
  border-color: var(--sp-color-primary);
  color: var(--sp-color-text-on-primary);
  background: var(--sp-color-primary);
}

.demo-form__progress-label {
  font-size: var(--sp-text-xs);
  color: var(--sp-color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 500;
  transition: color 300ms ease-out;
}

.demo-form__progress-step--active .demo-form__progress-label {
  color: var(--sp-color-primary);
}

.demo-form__progress-step--complete .demo-form__progress-label {
  color: var(--sp-color-primary);
}

.demo-form__progress-line {
  flex: 1;
  height: 2px;
  background: var(--sp-color-border);
  margin: 0 var(--sp-space-2);
  border-radius: 1px;
  position: relative;
  align-self: flex-start;
  margin-top: 18px;
  min-width: 40px;
}

.demo-form__progress-fill {
  position: absolute;
  inset: 0;
  background: var(--sp-color-primary);
  border-radius: 1px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 300ms ease-out;
}

.demo-form__progress-line--filled .demo-form__progress-fill {
  transform: scaleX(1);
}

/* ── Form Container ── */

.demo-form__form {
  text-align: left;
}

.demo-form__form[hidden] {
  display: none;
}

.demo-form__steps {
  position: relative;
  min-height: 200px;
}

.demo-form__step {
  border: 0;
  padding: 0;
  margin: 0;
  transition: opacity 300ms ease-out, transform 300ms ease-out;
}

.demo-form__step[hidden] {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateX(40px);
}

.demo-form__step--active {
  opacity: 1;
  transform: translateX(0);
}

.demo-form__step--exit-left {
  opacity: 0;
  transform: translateX(-40px);
}

.demo-form__step--enter-right {
  transform: translateX(40px);
}

.demo-form__step--enter-left {
  transform: translateX(-40px);
}

/* ── Fields ── */

.demo-form__field {
  margin-bottom: var(--sp-space-5);
}

.demo-form__label {
  display: block;
  font-size: var(--sp-text-sm);
  font-weight: 600;
  color: var(--sp-color-text);
  margin-bottom: var(--sp-space-2);
}

.demo-form__optional {
  font-weight: 400;
  color: var(--sp-color-text-secondary);
}

.demo-form__input-wrap {
  position: relative;
}

.demo-form__input,
.demo-form__select,
.demo-form__textarea {
  width: 100%;
  padding: 12px 16px;
  font-size: 16px;
  font-family: inherit;
  line-height: 1.5;
  color: var(--sp-color-text);
  background: var(--sp-color-surface);
  border: 2px solid var(--sp-color-border);
  border-radius: var(--sp-radius-md);
  transition: border-color 200ms ease-out, box-shadow 200ms ease-out;
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
}

.demo-form__input:focus,
.demo-form__select:focus,
.demo-form__textarea:focus {
  outline: none;
  border-color: var(--sp-color-primary);
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--sp-color-primary) 15%, transparent);
}

.demo-form__input--valid {
  border-color: var(--sp-color-success);
}

.demo-form__input--valid:focus {
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--sp-color-success) 15%, transparent);
}

.demo-form__input--invalid {
  border-color: var(--sp-color-error);
}

.demo-form__input--invalid:focus {
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--sp-color-error) 15%, transparent);
}

.demo-form__select {
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
}

[data-theme="dark"] .demo-form__select {
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.demo-form__textarea {
  resize: vertical;
  min-height: 100px;
}

/* ── Validation Check ── */

.demo-form__check {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--sp-color-success);
  opacity: 0;
  transition: opacity 200ms ease-out;
  display: flex;
  align-items: center;
}

.demo-form__input--valid ~ .demo-form__check {
  opacity: 1;
}

.demo-form__error {
  display: block;
  font-size: var(--sp-text-xs);
  color: var(--sp-color-error);
  margin-top: var(--sp-space-1);
  min-height: 1.25em;
}

/* ── Character Counter ── */

.demo-form__char-count {
  display: block;
  text-align: right;
  font-size: var(--sp-text-xs);
  color: var(--sp-color-text-secondary);
  margin-top: var(--sp-space-1);
  transition: color 200ms ease-out;
}

.demo-form__char-count--warn {
  color: var(--sp-color-warning);
}

.demo-form__char-count--limit {
  color: var(--sp-color-error);
}

/* ── Navigation ── */

.demo-form__nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-space-4);
  margin-top: var(--sp-space-6);
}

.demo-form__back {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-space-1);
  padding: 12px 20px;
  font-size: var(--sp-text-sm);
  font-weight: 600;
  color: var(--sp-color-text-secondary);
  background: transparent;
  border: 2px solid var(--sp-color-border);
  border-radius: var(--sp-radius-md);
  cursor: pointer;
  transition: border-color 200ms ease-out, color 200ms ease-out;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.demo-form__back:hover {
  border-color: var(--sp-color-text-secondary);
  color: var(--sp-color-text);
}

/* ── CTA button base (needed when primary-cta isn't in the page bundle) ── */
.demo-form .primary-cta {
  display: inline-block;
  padding: var(--sp-space-4) var(--sp-space-8);
  background: linear-gradient(135deg, var(--sp-orange-600), var(--sp-orange-500));
  color: var(--sp-color-text-on-primary);
  font-family: var(--sp-font-brand);
  font-size: 0.9rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  border-radius: var(--sp-radius-md);
  transition: background-color var(--sp-duration-fast) var(--sp-ease-out), box-shadow var(--sp-duration-fast) var(--sp-ease-out), transform var(--sp-duration-fast) var(--sp-ease-out);
  box-shadow: 0 4px 20px oklch(0.72 0.17 52 / 0.3);
}

.demo-form .primary-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px oklch(0.72 0.17 52 / 0.4);
  text-decoration: none;
}

/* Fix: override .primary-cta display: inline-flex which beats [hidden] */
.demo-form__back[hidden],
.demo-form__next[hidden],
.demo-form__submit[hidden] {
  display: none !important;
}

.demo-form__next,
.demo-form__submit {
  margin-left: auto;
  min-width: 160px;
  text-align: center;
  justify-content: center;
  border: none;
  cursor: pointer;
}

.demo-form__submit-spinner {
  animation: demo-spin 800ms linear infinite;
}

.demo-form__submit-spinner[hidden] {
  display: none;
}

.demo-form__submit--loading .demo-form__submit-text {
  display: none;
}

.demo-form__submit--loading .demo-form__submit-spinner {
  display: inline-flex;
}

@keyframes demo-spin {
  to { transform: rotate(360deg); }
}

/* ── Submit Error ── */

.demo-form__submit-error {
  margin-top: var(--sp-space-4);
  padding: var(--sp-space-4);
  background: color-mix(in oklch, var(--sp-color-error) 8%, var(--sp-color-surface));
  border: 1px solid color-mix(in oklch, var(--sp-color-error) 30%, transparent);
  border-radius: var(--sp-radius-md);
  text-align: center;
}

.demo-form__submit-error[hidden] {
  display: none;
}

.demo-form__submit-error p {
  font-size: var(--sp-text-sm);
  color: var(--sp-color-text);
  margin-bottom: var(--sp-space-2);
}

.demo-form__submit-error a {
  color: var(--sp-color-primary);
  text-decoration: underline;
}

.demo-form__retry {
  padding: 8px 16px;
  font-size: var(--sp-text-sm);
  font-weight: 600;
  color: var(--sp-color-error);
  background: transparent;
  border: 1px solid var(--sp-color-error);
  border-radius: var(--sp-radius-sm);
  cursor: pointer;
  transition: background 200ms ease-out;
}

.demo-form__retry:hover {
  background: color-mix(in oklch, var(--sp-color-error) 10%, transparent);
}

/* ── Success State ── */

.demo-form__success {
  padding: var(--sp-space-8) 0 var(--sp-space-4);
}

.demo-form__success[hidden] {
  display: none;
}

.demo-form__success-icon {
  color: var(--sp-color-success);
  margin-bottom: var(--sp-space-4);
}

.demo-form__success-circle {
  stroke-dasharray: 190;
  stroke-dashoffset: 190;
  animation: demo-circle 600ms ease-out forwards;
}

.demo-form__success-check {
  stroke-dasharray: 40;
  stroke-dashoffset: 40;
  animation: demo-check 400ms ease-out 400ms forwards;
}

@keyframes demo-circle {
  to { stroke-dashoffset: 0; }
}

@keyframes demo-check {
  to { stroke-dashoffset: 0; }
}

.demo-form__success-heading {
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-2xl);
  font-weight: 700;
  margin-bottom: var(--sp-space-2);
}

.demo-form__success-text {
  font-size: var(--sp-text-md);
  color: var(--sp-color-text-secondary);
  margin-bottom: var(--sp-space-6);
  line-height: var(--sp-leading-normal);
}

.demo-form__success-link {
  display: inline-block;
  font-size: var(--sp-text-sm);
  font-weight: 600;
  color: var(--sp-color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.demo-form__success-link:hover {
  color: var(--sp-color-primary-dark);
}

/* ── Trust Signals ── */

.demo-form__trust {
  display: flex;
  justify-content: center;
  gap: var(--sp-space-6);
  margin-top: var(--sp-space-6);
  padding-top: var(--sp-space-4);
  border-top: 1px solid var(--sp-color-border);
  flex-wrap: wrap;
}

.demo-form__trust[hidden] {
  display: none;
}

.demo-form__trust-item {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-space-1);
  font-size: var(--sp-text-xs);
  color: var(--sp-color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.demo-form__trust-item svg {
  flex-shrink: 0;
  opacity: 0.6;
}

/* ── Noscript ── */

.demo-form__noscript {
  font-size: var(--sp-text-md);
  color: var(--sp-color-text-secondary);
  padding: var(--sp-space-8) 0;
}

.demo-form__noscript a {
  color: var(--sp-color-primary);
  text-decoration: underline;
}

/* ── Guide Context ── */

.guide-post .demo-form {
  background: none;
  padding: var(--sp-space-12) 0 var(--sp-space-8);
  margin-top: var(--sp-space-8);
  border-top: 1px solid var(--sp-color-border);
}

/* ── Honeypot ── */

.demo-form__hp {
  position: absolute;
  left: -9999px;
  opacity: 0;
  height: 0;
  width: 0;
  overflow: hidden;
}

/* ── Screen Reader Only ── */

.demo-form .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
  .demo-form__step,
  .demo-form__progress-dot,
  .demo-form__progress-fill,
  .demo-form__input,
  .demo-form__select,
  .demo-form__textarea,
  .demo-form__check,
  .demo-form__back {
    transition-duration: 0ms;
  }

  .demo-form__success-circle,
  .demo-form__success-check {
    animation: none;
    stroke-dashoffset: 0;
  }

  .demo-form__submit-spinner {
    animation-duration: 1.5s;
  }
}

/* ── Mobile Responsive ── */

@media (max-width: 768px) {
  .demo-form {
    padding: var(--sp-space-12) 0;
  }

  .demo-form__card {
    margin-left: var(--sp-space-4);
    margin-right: var(--sp-space-4);
    padding: var(--sp-space-6) var(--sp-space-5) var(--sp-space-4);
  }
}

@media (max-width: 480px) {
  .demo-form {
    padding: var(--sp-space-8) 0;
  }

  .demo-form__hero {
    margin-bottom: var(--sp-space-6);
  }

  .demo-form__heading {
    font-size: var(--sp-text-2xl);
  }

  .demo-form__heading br {
    display: none;
  }

  .demo-form__preview {
    gap: var(--sp-space-3);
  }

  .demo-form__card {
    margin-left: var(--sp-space-3);
    margin-right: var(--sp-space-3);
    padding: var(--sp-space-5) var(--sp-space-4) var(--sp-space-4);
  }

  .demo-form__progress-label {
    display: none;
  }

  .demo-form__progress {
    max-width: 200px;
  }

  .demo-form__progress-line {
    margin-top: 18px;
  }

  .demo-form__nav {
    flex-direction: column-reverse;
    gap: var(--sp-space-3);
  }

  .demo-form__next,
  .demo-form__submit {
    width: 100%;
    margin-left: 0;
  }

  .demo-form__back {
    width: 100%;
    justify-content: center;
  }

  .demo-form__trust {
    flex-direction: column;
    align-items: center;
    gap: var(--sp-space-3);
  }
}

.pricing {
  padding: var(--sp-space-24) 0;
  background: var(--sp-color-bg);
}

.pricing .section-subtitle {
  max-width: 800px;
  margin: 0 auto var(--sp-space-8);
  text-align: center;
  color: var(--sp-color-text-muted);
  line-height: var(--sp-leading-normal);
}

.pricing-tiers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-space-6);
  align-items: start;
}

.pricing-tier {
  background: var(--sp-color-bg);
  border: 1px solid var(--sp-color-border);
  border-radius: var(--sp-card-radius);
  padding: var(--sp-space-8);
  display: flex;
  flex-direction: column;
  transition: transform var(--sp-duration-normal) var(--sp-ease-default), box-shadow var(--sp-duration-normal) var(--sp-ease-default);
  box-shadow: var(--sp-shadow-sm);
}

.pricing-tier:hover {
  transform: translateY(-2px);
  box-shadow: var(--sp-shadow-lg);
}

.pricing-tier--highlighted {
  border-color: var(--sp-color-primary);
  box-shadow: 0 8px 24px oklch(0.72 0.17 52 / 0.12), 0 2px 8px oklch(0.72 0.17 52 / 0.08);
  transform: scale(1.03);
  position: relative;
}

.pricing-tier--highlighted:hover {
  transform: scale(1.03) translateY(-2px);
  box-shadow: 0 12px 32px oklch(0.72 0.17 52 / 0.15), 0 4px 12px oklch(0.72 0.17 52 / 0.1);
}

.tier-name {
  font-family: var(--sp-font-brand);
  font-size: var(--sp-text-base);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--sp-tracking-wide);
  margin-bottom: var(--sp-space-2);
  color: var(--sp-color-text);
}

.tier-price {
  font-size: var(--sp-text-3xl);
  font-weight: 700;
  margin-bottom: var(--sp-space-1);
  color: var(--sp-color-text);
}

.pricing-tier--highlighted .tier-price {
  color: var(--sp-color-primary);
}

.tier-description {
  color: var(--sp-color-text-secondary);
  font-size: var(--sp-text-sm);
  margin-bottom: var(--sp-space-6);
  line-height: var(--sp-leading-normal);
}

.tier-features {
  list-style: none;
  padding: 0;
  margin-bottom: var(--sp-space-8);
  flex-grow: 1;
}

.tier-features li {
  padding: var(--sp-space-1) 0;
  color: var(--sp-color-text-secondary);
  font-size: var(--sp-text-sm);
  position: relative;
  padding-left: var(--sp-space-6);
  line-height: var(--sp-leading-normal);
}

.tier-features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: var(--sp-color-primary);
  border-radius: var(--sp-radius-full);
}

.tier-cta {
  text-align: center;
  margin-top: auto;
}

.pricing-docs {
  display: flex;
  justify-content: center;
  margin-top: var(--sp-space-12);
}

.pricing-cta-bottom {
  display: flex;
  justify-content: center;
  margin-top: var(--sp-space-16);
  padding-top: var(--sp-space-8);
}

@media (prefers-reduced-motion: reduce) {
  .pricing-tier.pricing-tier {
    transition: box-shadow var(--sp-duration-normal) var(--sp-ease-default);
  }

  .pricing-tier:hover {
    transform: none;
  }

  .pricing-tier--highlighted:hover {
    transform: scale(1.03);
  }
}

@media (max-width: 1024px) {
  .pricing-tiers {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .pricing-tiers {
    grid-template-columns: 1fr;
  }

  .pricing-tier--highlighted {
    transform: none;
  }

  .pricing-tier--highlighted:hover {
    transform: translateY(-2px);
  }
}
