/* Shared styles for SEO / resource / blog pages. Depends on landing.css vars. */
.seo-page { min-height: 100vh; background: var(--l-light); color: var(--l-text-dark); }
.seo-header { background: var(--l-dark); padding: 96px 0 56px; }
.seo-header .eyebrow { display:inline-block; font-size:12px; font-weight:700; letter-spacing:0.05em;
  text-transform:uppercase; color:#d174d2; margin-bottom:14px; }
.seo-header h1 { font-size: clamp(28px, 4.5vw, 46px); font-weight: 800; letter-spacing: -0.03em;
  color: #f0eaf8; margin-bottom: 14px; max-width: 780px; line-height: 1.15; }
.seo-header p.lede { font-size: 16px; color: rgba(232,221,244,0.6); max-width: 680px; line-height: 1.7; }
.seo-body { max-width: 780px; margin: 0 auto; padding: 56px 22px 90px; }
.seo-body h2 { font-size: 22px; font-weight: 750; color: var(--l-text-dark); margin: 44px 0 14px; letter-spacing:-0.01em; }
.seo-body h2:first-child { margin-top: 0; }
.seo-body h3 { font-size: 17px; font-weight: 700; margin: 26px 0 8px; }
.seo-body p, .seo-body li { font-size: 15.5px; line-height: 1.8; color: var(--l-text-mid); }
.seo-body p { margin-bottom: 14px; }
.seo-body ul { padding-left: 20px; margin-bottom: 16px; }
.seo-body li { margin-bottom: 7px; }
.seo-body a { color: #b0479f; }
.seo-body strong { color: var(--l-text-dark); }

.seo-two { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
@media (max-width:680px){ .seo-two { grid-template-columns:1fr; } }
.seo-panel { background:#fff; border:1px solid rgba(65,38,83,0.08); border-radius:14px; padding:20px 22px; }
.seo-panel h3 { margin-top:0; }
.seo-check li { position:relative; list-style:none; padding-left:24px; }
.seo-check { padding-left:0; }
.seo-check li::before { content:"✓"; position:absolute; left:0; color:#1a9e75; font-weight:700; }
.seo-review li { position:relative; list-style:none; padding-left:24px; }
.seo-review { padding-left:0; }
.seo-review li::before { content:"⟳"; position:absolute; left:0; color:#b5730a; font-weight:700; }

.seo-note { background: rgba(209,116,210,0.07); border-left:3px solid rgba(209,116,210,0.4);
  border-radius:0 8px 8px 0; padding:16px 20px; margin:26px 0; }
.seo-note p { margin:0; color: var(--l-text-dark); }

.seo-faq-q { font-size:16px; font-weight:700; color:var(--l-text-dark); margin:22px 0 6px; }

.seo-cta { text-align:center; margin-top:48px; padding:34px 22px; background:#fff;
  border:1px solid rgba(65,38,83,0.08); border-radius:18px; }
.seo-cta h2 { margin:0 0 8px; }
.seo-cta p { margin-bottom:20px; }
.seo-cta-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

.seo-related { margin-top:40px; font-size:14px; color:var(--l-text-mid); }
.seo-related a { margin-right:6px; }

/* Blog / resources index cards */
.res-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; }
.res-card { display:block; background:#fff; border:1px solid rgba(65,38,83,0.08); border-radius:16px;
  padding:22px; text-decoration:none; color:inherit; transition:transform .15s ease, box-shadow .15s ease; }
.res-card:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(65,38,83,0.08); }
.res-card .res-tag { font-size:11px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:#d174d2; }
.res-card h3 { font-size:18px; font-weight:750; margin:8px 0 6px; color:var(--l-text-dark); }
.res-card p { font-size:14px; color:var(--l-text-mid); line-height:1.6; margin:0; }
