/* Section layouts */
.wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 var(--space-3); }
section { padding: var(--space-9) 0 0; }
main > section:last-child { padding-bottom: var(--space-9); }
.section-head { max-width: 640px; margin-bottom: var(--space-4); }
.section-head h2 { font-size: var(--text-xl); line-height: 1.3; letter-spacing: -0.01em; margin-bottom: var(--space-1); }
.section-head p { color: var(--color-text-muted); }

/* nav */
.nav { position: sticky; top: 0; z-index: 10; background: var(--color-bg); border-bottom: 1px solid var(--color-border); }
.nav .wrap { display: flex; align-items: center; gap: var(--space-4); min-height: 56px; }
.logo { display: inline-flex; align-items: center; gap: 8px; font: 500 var(--text-md)/1 var(--font-mono); text-decoration: none; }
.logo::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--color-accent); }
.nav-links { display: flex; gap: var(--space-3); margin-right: auto; }
.nav-links a { text-decoration: none; color: var(--color-text-muted); font-size: var(--text-sm); }
.nav-links a:hover { color: var(--color-text); }
.nav-actions { display: flex; gap: var(--space-1); align-items: center; }
.menu-btn { display: none; }
.nav-cta { transition: background-color .15s, opacity .2s, transform .2s, visibility .2s; }
.nav-cta.is-hidden { opacity: 0; transform: translateY(-4px); visibility: hidden; pointer-events: none; }

/* hero */
.hero { padding-top: var(--space-9); }
.hero-copy { max-width: 640px; margin-bottom: var(--space-6); }
.hero h1 { font-size: var(--text-hero); line-height: 1.15; letter-spacing: -0.02em; margin-bottom: var(--space-2); }
.hero .sub { font-size: var(--text-lg); color: var(--color-text-muted); margin-bottom: var(--space-3); }
.cta-row { display: flex; flex-wrap: wrap; gap: var(--space-1); }

/* integrations */
.integrations { padding-top: var(--space-4); font: 400 var(--text-sm)/1.6 var(--font-mono); color: var(--color-text-muted); }
.integrations strong { color: var(--color-text); font-weight: 400; }

/* personas */
.persona-stack { display: grid; margin-top: var(--space-3); }
.persona-stack > .persona-panel { grid-area: 1 / 1; }
.persona-panel { display: grid; grid-template-columns: 1fr 1.5fr; gap: var(--space-4); align-content: start; }
.persona-panel[hidden] { display: grid; visibility: hidden; }
.persona-panel h3 { font-size: var(--text-lg); margin-bottom: var(--space-half); }
.persona-panel .who { color: var(--color-text-muted); }
.convo { display: flex; flex-direction: column; gap: var(--space-2); }

/* features */
.row .seg { margin-top: var(--space-1); }

/* legal pages */
.legal { max-width: 760px; }
.legal h1 { font-size: var(--text-hero); line-height: 1.15; letter-spacing: -0.02em; margin-bottom: var(--space-1); }
.legal-meta { font: 400 var(--text-sm)/1.6 var(--font-mono); color: var(--color-text-muted); margin-bottom: var(--space-6); }
.legal h2 { font-size: var(--text-lg); margin: var(--space-6) 0 var(--space-2); padding-top: var(--space-3); border-top: 1px solid var(--color-border); }
.legal p, .legal li { color: var(--color-text-muted); }
.legal p + p, .legal ul + p, .legal p + ul, .legal dl + p { margin-top: var(--space-2); }
.legal ul { margin: var(--space-2) 0 0; padding-left: 20px; display: grid; gap: var(--space-1); }
.legal strong { color: var(--color-text); font-weight: 600; }
.legal a { color: var(--color-accent); }
.legal-contact { display: grid; grid-template-columns: 140px 1fr; gap: var(--space-1) var(--space-3); margin: var(--space-2) 0 0; }
.legal-contact dt { font: 400 var(--text-sm)/1.6 var(--font-mono); color: var(--color-text-muted); }
.legal-contact dd { margin: 0; }

/* footer */
footer { margin-top: var(--space-9); padding: var(--space-6) 0 var(--space-4); border-top: 1px solid var(--color-border); font-size: var(--text-sm); }
.foot { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: var(--space-4); margin-bottom: var(--space-6); }
.foot h4 { margin: 0 0 var(--space-2); font: 400 var(--text-xs)/1 var(--font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--color-text-muted); }
.foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-1); }
.foot a { color: var(--color-text-muted); text-decoration: none; }
.foot a:hover { color: var(--color-text); }
.copy { color: var(--color-text-muted); font: 400 var(--text-xs)/1 var(--font-mono); }

/* tablet */
@media (max-width: 960px) {
  .persona-panel { grid-template-columns: 1fr; gap: var(--space-2); }
  .foot { grid-template-columns: 1fr 1fr; }
  .nav-links { display: none; }
  .nav-links.open { display: flex; position: absolute; top: 56px; left: 0; right: 0; flex-direction: column; background: var(--color-bg); padding: var(--space-3); border-bottom: 1px solid var(--color-border); }
  .nav .wrap { gap: var(--space-2); }
  .logo { margin-right: auto; }
  .menu-btn { display: inline-flex; }
}
/* mobile (390px) */
@media (max-width: 600px) {
  section, .hero { padding-top: var(--space-6); }
  main > section:last-child { padding-bottom: var(--space-6); }
  .wrap { padding: 0 var(--space-2); }
  .foot { grid-template-columns: 1fr; }
  .cta-row .btn { flex: 1; }
}
