/* entrisense.com: the app's look (docs/visual_identity.html). Fonts are served from here, not Google, so a visit
   reaches no one but us. */
@font-face { font-family: Sora; font-weight: 600; font-display: swap; src: url(/fonts/Sora_600SemiBold.ttf); }
@font-face { font-family: Hanken; font-weight: 400; font-display: swap; src: url(/fonts/HankenGrotesk_400Regular.ttf); }
@font-face { font-family: Hanken; font-weight: 600; font-display: swap; src: url(/fonts/HankenGrotesk_600SemiBold.ttf); }

:root {
  --bg: #1F2430; --card: #2A3040; --text: #E9E6DF; --muted: #A9ADB8; --accent: #F2C45A; --on-accent: #1F2430;
  --line: #394052;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --bg: #E6DBC2; --card: #EFE7D4; --text: #252B37; --muted: #5B6170; --accent: #252B37; --on-accent: #EFE7D4;
    --line: #D3C6A8;
  }
}
:root[data-theme="light"] {
  --bg: #E6DBC2; --card: #EFE7D4; --text: #252B37; --muted: #5B6170; --accent: #252B37; --on-accent: #EFE7D4;
  --line: #D3C6A8;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 17px/1.55 Hanken, system-ui, sans-serif; }
a { color: var(--accent); }
.wrap { max-width: 760px; margin: 0 auto; padding: 0 16px; }

header { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; }
.brand { display: flex; align-items: center; gap: 10px; color: var(--text); text-decoration: none;
  font: 600 20px Sora, system-ui, sans-serif; }
.brand img { width: 36px; height: 36px; }
.button { display: inline-block; padding: 10px 18px; border-radius: 999px; background: var(--accent);
  color: var(--on-accent); font-weight: 600; text-decoration: none; }
.quiet { color: var(--text); font-weight: 600; text-decoration: none; }

.hero { padding: 56px 0 40px; }
.hero h1 { font: 600 clamp(32px, 6vw, 48px)/1.15 Sora, system-ui, sans-serif; margin: 0 0 16px; letter-spacing: -0.01em; }
.hero p { color: var(--muted); font-size: 19px; margin: 0; max-width: 600px; }

.points { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); padding-bottom: 40px; }
.point { background: var(--card); border-radius: 16px; padding: 20px; }
.point h2 { font: 600 17px Sora, system-ui, sans-serif; margin: 0 0 8px; }
.point p { margin: 0; color: var(--muted); font-size: 15px; }

.invite { background: var(--card); border-radius: 16px; padding: 24px; margin-bottom: 48px; }
.invite h2 { font: 600 20px Sora, system-ui, sans-serif; margin: 0 0 8px; }
.invite p { margin: 0 0 16px; color: var(--muted); }

footer { border-top: 1px solid var(--line); padding: 20px 0 40px; color: var(--muted); font-size: 14px;
  display: flex; flex-wrap: wrap; gap: 8px 20px; }
footer a { color: var(--muted); }

.legal { padding: 24px 0 48px; }
.legal h1 { font: 600 32px/1.2 Sora, system-ui, sans-serif; margin: 0 0 4px; }
.legal .updated { color: var(--muted); margin: 0 0 28px; }
.legal h2 { font: 600 18px Sora, system-ui, sans-serif; margin: 28px 0 8px; }
.legal p { margin: 0 0 12px; }
.legal .strong p { font-weight: 600; }
