/* Public pages: overview, privacy policy, terms.
   Prose-first, no app chrome — these are read by people who are not signed in. */

.pub-body {
    margin: 0;
    background: var(--wpm-bg-app);
    color: var(--wpm-text-primary);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 15px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

/* ---------- header ---------- */
.pub-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    max-width: 880px;
    margin: 0 auto;
    padding: 22px 24px;
    border-bottom: 1px solid var(--wpm-hairline);
}

.pub-brand {
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--wpm-text-primary);
    text-decoration: none;
}
.pub-brand span { color: var(--wpm-brand-1); }

.pub-nav { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.pub-nav a {
    font-size: 13.5px;
    color: var(--wpm-text-secondary);
    text-decoration: none;
}
.pub-nav a:hover { color: var(--wpm-text-primary); }

.pub-signin {
    padding: 7px 15px;
    border-radius: var(--wpm-r-sm);
    background: var(--wpm-brand-1);
    color: #fff !important;
    font-weight: 600;
}
.pub-signin:hover { background: var(--wpm-brand-2); }

/* ---------- content ---------- */
.pub-main { max-width: 880px; margin: 0 auto; padding: 40px 24px 56px; }

.pub-lede { font-size: 17px; color: var(--wpm-text-label); max-width: 62ch; }

.pub-main h1 {
    margin: 0 0 12px;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.2;
}
.pub-main h2 {
    margin: 38px 0 12px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -.01em;
}
.pub-main h3 { margin: 24px 0 8px; font-size: 15px; font-weight: 650; }
.pub-main p { margin: 0 0 14px; max-width: 72ch; color: var(--wpm-text-label); }
.pub-main ul { margin: 0 0 16px; padding-left: 20px; max-width: 72ch; color: var(--wpm-text-label); }
.pub-main li { margin-bottom: 7px; }
.pub-main a { color: var(--wpm-brand-1); }
.pub-main strong { color: var(--wpm-text-primary); font-weight: 650; }

.pub-updated {
    display: inline-block;
    margin-bottom: 26px;
    padding: 4px 11px;
    border-radius: var(--wpm-r-pill);
    background: var(--wpm-bg-raised);
    font-size: 12px;
    color: var(--wpm-text-secondary);
}

/* callout for the Google Limited Use statement */
.pub-note {
    margin: 20px 0;
    padding: 16px 18px;
    border: 1px solid var(--wpm-border);
    border-left: 3px solid var(--wpm-brand-1);
    border-radius: var(--wpm-r-md);
    background: var(--wpm-bg-card);
}
.pub-note p:last-child { margin-bottom: 0; }

/* ---------- overview cards ---------- */
.pub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
    margin: 30px 0 8px;
}
.pub-card {
    padding: 18px 20px;
    border: 1px solid var(--wpm-hairline);
    border-radius: var(--wpm-r-lg);
    background: var(--wpm-bg-card);
}
.pub-card h3 { margin: 0 0 6px; font-size: 14.5px; }
.pub-card p { margin: 0; font-size: 13.5px; color: var(--wpm-text-secondary); }

/* ---------- footer ---------- */
.pub-foot {
    max-width: 880px;
    margin: 0 auto;
    padding: 22px 24px 40px;
    border-top: 1px solid var(--wpm-hairline);
    font-size: 12.5px;
    color: var(--wpm-text-muted);
}
.pub-foot a { color: var(--wpm-text-secondary); text-decoration: none; }
.pub-foot a:hover { color: var(--wpm-text-primary); }
.pub-dot { margin: 0 8px; opacity: .5; }

@media (max-width: 640px) {
    .pub-main { padding: 28px 20px 44px; }
    .pub-main h1 { font-size: 25px; }
}
