@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap');

:root {
  /* Matches ChamaColors in app/lib/theme.dart. */
  --accent: #b94f24;
  --accent-highlight: #d47445;
  --accent-shadow: #80351c;
  --accent-tint: #fbece5;
  --cream: #f7f8f2;
  --green-950: #15271d;
  --green-900: #153e2c;
  --green-800: #153e2c;
  --green-700: #153e2c;
  --green-600: #214c37;
  --green-100: #edf2e9;
  --green-50: #f7f8f2;
  --gold: #b94f24;
  --gold-soft: #fbece5;
  --ink: #15271d;
  --muted: #697268;
  --paper: #ffffff;
  --mist: #fdfdfb;
  --line: #e5e9e1;
  --focus-light: #fbece5;
  --focus-dark: #80351c;
  --hero-dot-rail: #153e2c;
}
body { background: var(--mist); color: var(--ink); }
h1, h2, h3, .brand, .button, .site-nav { font-family: "Manrope", sans-serif; }
.site-header, .legal-header { background: rgba(21,62,44,.96); border-bottom-color: rgba(255,255,255,.14); }
.site-header.scrolled { background: rgba(21,62,44,.98); }
.nav-cta, .button-primary { background: var(--accent); color: #fff; }
.button-primary { box-shadow: 0 12px 34px rgba(185,79,36,.18); }
.button-dark { background: #153e2c; color: #fff; }
.button-light { background: var(--accent); color: #fff; }
.hero { min-height: calc(100vh - 74px); background: #153e2c; }
.hero-photo { background-image: url('/assets/chama-meeting.webp'); background-position: center; filter: saturate(.78) contrast(1.04); }
.hero-shade { background: linear-gradient(90deg, rgba(21,62,44,.98) 0%, rgba(21,62,44,.94) 39%, rgba(21,62,44,.45) 73%, rgba(21,62,44,.2) 100%); }
.hero-grid { width: min(100% - 64px, 1320px); grid-template-columns: minmax(0,.9fr) minmax(0,1.5fr); gap: clamp(28px,4vw,60px); padding-top: 120px; padding-bottom: 48px; }
.hero-copy { max-width: 570px; align-self: center; }
.hero-copy h1 { max-width: 620px; font-family: "Space Mono", monospace; font-size: clamp(2rem,3.1vw,2.85rem); line-height: 1.12; letter-spacing: -.055em; }
.hero-copy h1 em { color: var(--accent-highlight); font-family: inherit; font-style: normal; }
.hero-lede { max-width: 560px; color: rgba(255,255,255,.76); font-size: clamp(.98rem,1.15vw,1.12rem); }
.hero-actions { flex-direction: column; align-items: flex-start; gap: 12px; }
.hero-actions .button { flex-shrink: 0; white-space: nowrap; }
.hero-actions .text-link { margin-top: 2px; color: rgba(255,255,255,.72); }
.hero-note { color: rgba(255,255,255,.57); }
.hero-product { width: 100%; min-height: 620px; display: block; }
.hero-screen { width: 100%; max-width: none; min-height: 620px; margin: 0; padding: 0; border: 0; background: transparent; }
.hero-preview-stage { width: 100%; display: grid; grid-template-columns: minmax(150px,.85fr) minmax(230px,1fr); grid-template-rows: auto; gap: clamp(22px,3vw,48px); align-items: center; }
.hero-phone-column { grid-column: 2; grid-row: 1; transform: none; }
.hero-screen.is-enhanced .hero-preview-features { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 0; width: 100%; padding: 8px 14px; border: 1px solid #ffffff26; border-radius: 16px; background: #153e2cc9; backdrop-filter: blur(8px); }
.hero-preview-feature, .hero-preview-feature:nth-child(n) { min-height: 52px; padding: 12px 8px; border: 0; border-bottom: 1px solid rgba(255,255,255,.14); border-radius: 0; background: transparent; color: rgba(255,255,255,.58); text-align: left; box-shadow: none; transform: none; }
.hero-preview-feature span { display: flex; align-items: center; gap: 13px; color: #edf2e9; opacity: 1; }
.hero-preview-feature.is-active span { color: var(--accent-tint); }
.hero-preview-feature span::before { content: "0" counter(item); font: 700 .66rem "Space Mono", monospace; color: rgba(255,255,255,.34); }
.hero-preview-features { counter-reset: item; }
.hero-preview-feature { counter-increment: item; }
.hero-preview-feature.is-active { padding-left: 18px; border-left: 3px solid var(--accent-highlight); background: rgba(255,255,255,.06); color: #fff; }
.hero-preview-feature::before, .hero-preview-feature::after { display: none; }
.hero-device { width: min(292px,28vw); border: 2px solid #ffffff40; background: #153e2c; border-radius: 38px; box-shadow: 0 30px 70px rgba(0,0,0,.46); }
.hero-device:hover { transform: none; }
.hero-screen figcaption { transform: none; }
.hero-device-screen { border-radius: 29px; }
.hero-carousel-captions { color: #fff; }
.hero-preview-pause { display: block; min-height: 36px; margin: 12px auto 0; padding: 7px 13px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: transparent; color: rgba(255,255,255,.78); font-size: .72rem; cursor: pointer; }
.trust-card { display: none; }
.audience-strip, .closing-section, .pricing-card-full, .pricing-comparison-paid { background: #153e2c; }
.tools-section, .meaning-section, .legal-content { background: #f7f8f2; }
.feature, .pricing-card, .pricing-comparison-card, .pricing-table-wrap { border-color: var(--line); background: var(--paper); }
.feature-gold, .faq-contact { background: var(--accent-tint); border-color: var(--line); }
.faq-contact p { color: #536153; }
.outcomes-section, .setup-section, .faq-preview { background: #fff; }
.security-section { background: #edf2e9; }
.inline-link, .setup-link a, .legal-section a { color: #153e2c; }
.closing-card { background: #153e2c; box-shadow: 0 28px 80px rgba(21,62,44,.18); }
.site-footer { background: #15271d; }
.legal-hero { background: #153e2c; }
.legal-hero::after { background: radial-gradient(circle at 85% 30%, rgba(212,116,69,.18), transparent 34%); }
.legal-aside nav a.active, .legal-aside nav a:hover { color: #153e2c; border-left-color: #b94f24; }
.pricing-chip { color: #153e2c; }
.feature-wide, .pricing-card-full, .pricing-comparison-paid { background: #153e2c; }
.contact-card, .pricing-card-free, .pricing-rules article, .pricing-table thead th, .legal-aside a:hover, .legal-aside a:focus-visible { background: #edf2e9; }
.pricing-note-block { background: #fff; }
@media (max-width: 920px) {
  .hero-grid { width: min(100% - 36px,760px); grid-template-columns: 1fr; padding-top: 112px; }
  .hero-copy { max-width: 680px; }
  .hero-product, .hero-screen { min-height: 0; }
  .hero-preview-stage { grid-template-columns: minmax(180px,.75fr) minmax(260px,1fr); }
  .hero-screen.is-enhanced .hero-preview-features { order: initial; grid-template-columns: 1fr; }
  .hero-phone-column { order: initial; }
}
@media (max-width: 620px) {
  .hero-shade { background: linear-gradient(180deg, rgba(21,62,44,.92), rgba(21,62,44,.78)); }
  .hero-grid { width: min(100% - 28px,520px); padding-top: 104px; }
  .hero-copy h1 { font-size: clamp(2.5rem,11.5vw,3.6rem); }
  .hero-actions { flex-direction: row; flex-wrap: wrap; }
  .hero-actions .button { width: auto; }
  .hero-preview-stage { grid-template-columns: 1fr; }
  .hero-preview-features { grid-column: 1; grid-row: 1; display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .hero-phone-column { grid-column: 1; grid-row: 2; }
  .hero-preview-feature, .hero-preview-feature:nth-child(n) { grid-area: auto; min-height: 48px; padding: 10px 8px; text-align: left; }
  .hero-preview-feature.is-active { padding-left: 12px; }
  .hero-device { width: min(245px,67vw); }
  .hero-screen { padding: 20px 14px; }
}
:root .pricing-feature-detail {
  margin: .4rem 0 0;
  font-size: .88rem;
  line-height: 1.5;
  font-weight: 400;
  opacity: .8;
}
