/* Public marketing site */
body.site { background: #fff; }
.s-nav { display: flex; align-items: center; gap: 22px; padding: 14px 28px; position: sticky; top: 0; background: rgba(255,255,255,.92); backdrop-filter: blur(8px); z-index: 50; border-bottom: 1px solid var(--line); }
.s-nav .logo { color: var(--navy); }
.s-nav nav { display: flex; gap: 18px; }
.s-nav nav a, .s-link { color: #3A4256; font-weight: 500; }
.hero { max-width: 1180px; margin: 0 auto; padding: 64px 28px 40px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center; }
.eyebrow { color: var(--brand); font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 12px; }
.hero h1 { font-size: 52px; letter-spacing: -1.2px; line-height: 1.05; margin-bottom: 18px; color: var(--navy); }
.lead { font-size: 19px; color: #3A4256; max-width: 560px; margin: 0 0 26px; }
.hero-art { display: grid; place-items: center; }
.phone { width: 270px; height: 520px; border-radius: 38px; background: var(--navy); padding: 14px; box-shadow: 0 30px 60px rgba(14,26,43,.25); display: flex; flex-direction: column; gap: 10px; }
.ph-top { color: #fff; padding: 10px 10px 4px; display: flex; flex-direction: column; font-size: 13px; }
.ph-top span { color: #9FB0CC; font-size: 12px; }
.ph-doc { flex: 1; background: #fff; border-radius: 16px; padding: 22px 18px; display: flex; flex-direction: column; gap: 10px; }
.ln { height: 7px; border-radius: 4px; background: #E6EAF1; }
.w50 { width: 50%; } .w60 { width: 60%; } .w70 { width: 70%; } .w80 { width: 80%; } .w90 { width: 90%; }
.ph-field { margin-top: 18px; font-size: 10px; color: var(--muted); font-weight: 600; }
.ph-sig { font-family: HSSignature, cursive; font-size: 30px; color: #0D1B4C; border-bottom: 1.5px solid #B9C2D3; padding: 2px 4px 4px; background: rgba(110,193,255,.18); border-radius: 4px 4px 0 0; }
.ph-btn { background: var(--brand); color: #fff; text-align: center; padding: 12px; border-radius: 12px; font-weight: 700; }
.logos { max-width: 1180px; margin: 0 auto 10px; padding: 18px 28px; display: flex; gap: 28px; flex-wrap: wrap; align-items: center; color: var(--muted); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.logos b { color: #4A5367; font-weight: 600; }
.s-section { max-width: 1180px; margin: 0 auto; padding: 64px 28px 20px; }
.s-section > h2 { font-size: 34px; text-align: center; letter-spacing: -.5px; color: var(--navy); margin-bottom: 14px; }
.center { text-align: center; }
.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px; }
.feat { padding: 22px; border: 1px solid var(--line); border-radius: 14px; }
.feat .fi { font-size: 26px; margin-bottom: 8px; }
.feat p, .step p { color: #4A5367; margin: 0; }
.how .step { text-align: center; padding: 10px; }
.how .step span { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: color-mix(in srgb, var(--brand) 12%, white); color: var(--brand); font-weight: 700; margin-bottom: 10px; }
#pricing .plans { margin-top: 30px; }
.faq { max-width: 780px; }
.faq details { border-bottom: 1px solid var(--line); padding: 16px 4px; }
.faq summary { font-weight: 600; cursor: pointer; font-size: 17px; }
.faq p { color: #4A5367; }
.cta { margin: 70px 0 0; background: var(--navy); color: #fff; text-align: center; padding: 64px 20px; }
.cta h2 { font-size: 34px; }
.s-foot { max-width: 1180px; margin: 0 auto; padding: 28px; display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.s-foot .logo { color: var(--navy); }
.s-foot a { color: #4A5367; }
.s-foot .copy { width: 100%; }
.legal { max-width: 780px; margin: 0 auto; padding: 40px 24px 80px; }
.legal h1 { font-size: 34px; color: var(--navy); }
.legal h2 { font-size: 20px; margin-top: 30px; }
.legal p, .legal li { color: #333B4D; line-height: 1.65; }
@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; padding-top: 36px; }
  .hero h1 { font-size: 36px; }
  .hero-art { display: none; }
  .grid3 { grid-template-columns: 1fr; }
  .s-nav { padding: 12px 16px; gap: 12px; }
  .s-nav nav, .s-link { display: none; }
  .s-section > h2 { font-size: 27px; }
}
