/* The address-book reference: sage cover, warm paper, dark ink.
   Loaded after legacy styles so every surface shares the same tokens. */
@font-face {
  font-family: 'Schibsted Grotesk';
  src: url('../fonts/schibsted-grotesk-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}
@font-face {
  font-family: 'Courier Prime';
  src: url('../fonts/courier-prime-regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Courier Prime';
  src: url('../fonts/courier-prime-bold.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
:root {
  --book-font: 'Schibsted Grotesk', system-ui, sans-serif;
  --book-note-font: 'Courier Prime', ui-monospace, monospace;
  --paper: #e9ece3;
  --paper-deep: #d5ddcc;
  --card: #fffdf8;
  --ink: #1e2620;
  --muted: #5b6157;
  --faint: #677060;
  --navy: #1e2620;
  --navy-deep: #354a37;
  --gold: #4f6b50;
  --gold-soft: #d5ddcc;
  --line: #d6d9cc;
  --ppld-bg: var(--paper);
  --ppld-bg-deep: var(--paper-deep);
  --ppld-card: var(--card);
  --ppld-ink: var(--ink);
  --ppld-muted: var(--muted);
  --ppld-faint: var(--faint);
  --ppld-line: var(--line);
  --ppld-line-soft: #e2e4d9;
  --ppld-brand: #4f6b50;
  --ppld-brand-deep: var(--ink);
  --ppld-brand-ink: #354a37;
  --ppld-brand-soft: #d5ddcc;
  --ppld-focus: rgba(79, 107, 80, .25);
  --ppld-radius: 8px;
  --ppld-shadow: 0 1px 2px rgba(30, 38, 32, .04);
}
body.ppl-site, body.ppl-auth, body.ppl-app {
  font-family: var(--book-font) !important;
  color: var(--ink);
  background: var(--paper) !important;
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.ppl-home, .ppl-home *, .ppl-home *::before, .ppl-home *::after {
  box-sizing: border-box;
}
.ppl-home a { color: #354a37; text-underline-offset: 3px; }
.ppl-home nav a { color: var(--ink); }
.ppl-home a:hover { text-decoration: underline !important; }
.ppl-home a:focus-visible, .ppl-site :focus-visible, .ppl-auth :focus-visible {
  outline: 2px solid #4f6b50;
  outline-offset: 4px;
}
.ppl-home h1 { max-width: 11ch; }
.ppl-home header { border-bottom: 1px solid var(--line); }
.ppl-home header nav { font-size: 14px !important; gap: 10px 20px !important; }
.ppl-home header nav a:last-child { min-height: 42px !important; padding: 10px 16px !important; }
.ppl-home h2 { text-wrap: balance; }
.ppl-home p { text-wrap: pretty; }
/* Text links remain legible; filled actions retain their light labels. */
.ppl-site a { color: #354a37; }
.ppl-site .lp-btn-primary, .ppl-site .lp-footer a { color: #fffdf8; }
.ppl-site .lp-btn-primary:hover { background: #354a37; color: #fffdf8; }
.ppl-site .lp-brand { color: var(--ink); }
.ppl-site .lp-nav { background: var(--paper); }
.ppl-site .lp-nav-inner { height: auto; min-height: 72px; gap: 16px; padding-top: 14px; padding-bottom: 14px; flex-wrap: wrap; }
.ppl-site .lp-nav-links { gap: 20px; }
.ppl-site .lp-nav-cta { gap: 16px; flex-wrap: wrap; }
.ppl-site .lp-btn { border-radius: 999px; line-height: 1.4; }
.ppl-site .lp-btn-lg { font-size: 15px; padding: 12px 22px; }
.ppl-site .lp-section { padding: 56px 0; }
.ppl-site h1, .ppl-site h2, .ppl-site h3,
.ppl-site .lp-serif, .ppl-site .lp-price-amount,
.ppl-auth .ppl-auth-card h2, .ppl-auth .ppl-auth-card h3 {
  font-family: var(--book-font);
  letter-spacing: -.025em;
}
.ppl-site .lp-page-title, .ppl-site .lp-article h1 { font-size: clamp(30px, 3.5vw, 42px); line-height: 1.15; }
.ppl-site .lp-section h2 { font-size: clamp(24px, 2.8vw, 32px); }
.ppl-site .lp-section-sub { font-size: 16px; margin-bottom: 32px; }
.ppl-site .lp-post-card h2, .ppl-site .lp-article h2 { font-size: 25px; }
.ppl-site .lp-article p, .ppl-site .lp-article li { font-size: 16px; }
.ppl-site .lp-card, .ppl-site .lp-price { border-radius: 8px 16px 16px 16px; box-shadow: var(--ppld-shadow); }
.ppl-site .lp-kicker, .ppl-site .lp-post-date { font-family: var(--book-note-font); }
.ppl-site .lp-footer { background: var(--ink); padding: 36px 0; }
.ppl-site .lp-footer .lp-brand { color: var(--card); }
.ppl-site .agents-doc, .ppl-site .policy-doc, .ppl-site .terms-doc, .ppl-site .connect-doc {
  font-family: var(--book-font);
  color: var(--ink);
  background: transparent;
}
.ppl-site .agents-doc h1, .ppl-site .policy-doc h1, .ppl-site .terms-doc h1 { font-size: 32px; }
.ppl-site .agents-doc code, .ppl-site .connect-doc .scopes { background: var(--card); }
.ppl-site .agents-doc pre { background: var(--ink); color: var(--card); }
.ppl-site .agents-doc .step-num, .ppl-site .agents-doc #copy-mcp-url,
.ppl-site .connect-doc .btn:not(.btn-deny) { background: var(--ink) !important; color: var(--card); }
.ppl-site .connect-doc .btn-deny { background: var(--paper-deep); color: var(--ink); }
.ppl-auth .ppl-auth-card { background: var(--card); border-color: var(--line); border-radius: 8px 16px 16px 16px; box-shadow: var(--ppld-shadow); }
.ppl-auth .ppl-auth-card h2 { font-size: 25px; font-weight: 650; }
.ppl-auth .ppl-auth-card h3 { font-size: 15px; }
.ppl-auth .ppl-field label { text-transform: none; letter-spacing: 0; font-size: 14px; }
.ppl-auth .ppl-btn { border-radius: 999px; font-size: 15px; padding: 12px; }
.ppl-auth .ppl-btn-google { color: var(--ink); }
/* App: keep data dense and layouts functional; carry the paper/cover palette. */
.ppl-app .ppld-page { font-family: var(--book-font); }
.ppl-app .ppld-header { background: rgba(233, 236, 227, .96); border-bottom-color: var(--line); }
.ppl-app .ppld-card, .ppl-app .ppl-card, .ppl-app .ppl-profile-card,
.ppl-app .ppl-note-form, .ppl-app .ppl-profile-side .sidebar-box {
  border-radius: 8px 14px 14px 14px;
  background: var(--card);
  border-color: var(--line);
  box-shadow: var(--ppld-shadow);
}
.ppl-app .ppld-card-kicker, .ppl-app .ppld-pagehead-date {
  font-family: var(--book-note-font);
  letter-spacing: .025em;
  color: var(--muted);
}
.ppl-app .ppld-card-kicker { display: inline-block; background: var(--paper-deep); border-radius: 5px 5px 0 0; padding: 4px 9px; }
.ppl-app .ppl-profile-name, .ppl-app .ppl-page-title,
.ppl-app .ppld-page-head h1, .ppl-app .ppld-settings-head h1,
.ppl-app .ppld-pagehead h1 { font-family: var(--book-font); font-size: 26px; font-weight: 650; letter-spacing: -.025em; }
.ppl-app .ppl-profile-name { font-size: 28px; }
.ppl-app .ppld-card-title, .ppl-app .ppl-section-head h2,
.ppl-app .section-title h3 { font-family: var(--book-font); }
.ppl-app .btn-primary, .ppl-app .btn-brand, .ppl-app .ppld-btn-brand,
.ppl-app .ppld-btn-primary { border-radius: 999px !important; }
.ppl-app .form-control { background: var(--card); border-color: var(--line); }
.ppl-app .ppld-header-link.active { background: var(--paper-deep); color: var(--ink); }
.ppl-app .ppld-tabbar { background: var(--card); border-color: var(--line); }
.ppl-app .ppld-people-toolbar { background: #f3f1e9; }
@media (max-width: 760px) {
  .ppl-home header { gap: 14px !important; padding: 18px 0 !important; }
  .ppl-home header nav { width: 100%; }
  .ppl-home #top { gap: 28px !important; padding-top: 30px !important; }
  .ppl-home #top > div { flex-basis: 100% !important; }
  .ppl-home #top h1 { max-width: 16ch; }
  .ppl-home #top > div:last-child { padding: 16px 20px 32px 10px !important; }
  .ppl-home #top > div:last-child > div { transform: none !important; }
  .ppl-site .lp-nav-links { display: flex; width: 100%; order: 3; flex-wrap: wrap; }
  .ppl-site .lp-nav-cta { gap: 12px; }
  .ppl-site .lp-nav-cta .lp-link[href$='/agents'] { display: none; }
  .ppl-site .lp-section { padding: 36px 0; }
}
@media (max-width: 420px) {
  .ppl-home #top h1 { font-size: 34px !important; }
  .ppl-home #top > div:last-child [style*='line-height: 32px'] { font-size: 12px !important; }
  .ppl-home #top > div:last-child [style*='line-height: 32px'] > div { overflow-wrap: anywhere; }
  .ppl-home #top > div:last-child [style*='padding: 26px 30px 30px 64px'] { padding-right: 12px !important; padding-left: 46px !important; }
  .ppl-home #top > div:last-child [style*='left: 46px'] { left: 34px !important; }
}

/* Price hierarchy must outrank the legacy .lp-card p rule. */
.ppl-site .lp-card .lp-price-amount { font-size: 40px; line-height: 1.2; font-weight: 700; color: var(--ink); }
.ppl-site .lp-price-amount span { font-family: var(--book-font); font-size: 16px; }
.ppl-site .lp-card .lp-price-badge { font-size: 11px; letter-spacing: .06em; }
.ppl-home #top > div:last-child [style*="line-height: 32px"] { font-size: 14px !important; }
.ppl-app h1, .ppl-app h2, .ppl-app h3,
.ppl-auth .ppl-auth-card h1 { font-family: var(--book-font); }
.ppl-site .policy-doc p, .ppl-site .policy-doc li,
.ppl-site .terms-doc p, .ppl-site .terms-doc li { font-family: var(--book-font); }
.ppl-home #ai a { color: #fffdf8; }
@media (max-width: 420px) {
  .ppl-home #top > div:last-child [style*="line-height: 32px"] { font-size: 12px !important; }
}
