/* Public landing page. Brand tokens from brand/README.md. */ .page { --teal: #0d6b5d; --teal-deep: #045a51; --amber: #d98a0b; --sage: #e8f2ed; --ink: #1f2937; --paper: #fafbf9; min-height: 100vh; display: grid; grid-template-rows: auto 1fr auto; background: var(--paper); color: var(--ink); font: 17px/1.55 Inter, "Segoe UI", system-ui, -apple-system, sans-serif; } .header { padding: 28px clamp(16px, 5vw, 64px); } .logo { display: block; height: 39px; width: auto; } .main { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(32px, 6vw, 96px); align-items: center; padding: 24px clamp(16px, 5vw, 64px) 64px; max-width: 1200px; } .copy { max-width: 36em; } .h1 { margin: 0 0 20px; font-size: clamp(34px, 5vw, 54px); line-height: 1.08; letter-spacing: -0.025em; font-weight: 750; color: var(--teal-deep); } .lead { margin: 0 0 28px; font-size: 1.1em; color: #374151; } .points { list-style: none; margin: 0 0 32px; padding: 0; display: grid; gap: 14px; } .points li { position: relative; padding-left: 26px; } .points li::before { content: ""; position: absolute; left: 4px; top: 0.5em; width: 8px; height: 8px; border-radius: 50%; background: var(--teal); } .points strong { color: var(--ink); } .install { display: inline-block; margin: 0; padding: 12px 18px; border-radius: 10px; background: var(--sage); color: var(--teal-deep); font-weight: 600; } .preview { margin: 0; min-width: 0; width: 100%; display: flex; justify-content: center; } .preview img { display: block; width: 100%; max-width: 420px; height: auto; box-sizing: border-box; border-radius: 18px; background: #fff; padding: 14px; border: 1px solid rgba(13, 107, 93, 0.14); box-shadow: 0 24px 60px -24px rgba(4, 90, 81, 0.35); } .footer { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 24px clamp(16px, 5vw, 64px); border-top: 1px solid rgba(31, 41, 55, 0.1); font-size: 14px; color: #6b7280; } .footer a { color: var(--teal); } @media (max-width: 820px) { .main { grid-template-columns: 1fr; } .preview img { max-width: 360px; } }