/* Shared marketing / policy page layout */
.site-page .page-main{padding:36px 4.5% 80px;max-width:920px;margin:0 auto}
.site-page .page-kicker{font-size:12px;letter-spacing:.08em;color:var(--muted);margin-bottom:14px}
.site-page .page-main h1{font-size:clamp(36px,5vw,52px);letter-spacing:-.04em;line-height:1.1;margin:0 0 16px}
.site-page .page-lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:620px;margin:0 0 36px}
.site-page .page-prose h2{font-size:22px;margin:36px 0 12px;letter-spacing:-.02em}
.site-page .page-prose p,.site-page .page-prose li{font-size:16px;line-height:1.75;color:#2c2f36}
.site-page .page-prose ul{padding-left:1.2em;margin:0 0 16px}
.site-page .page-prose li{margin:6px 0}
.site-page .page-prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.site-page .contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0 40px}
.site-page .contact-card{border:1px solid var(--line);padding:22px 20px;background:var(--light)}
.site-page .contact-card h2{font-size:18px;margin:0 0 8px}
.site-page .contact-card p{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.6}

/* Request a quote */
.site-page .quote-panel{margin:8px 0 44px;padding:28px 26px 30px;border:1px solid var(--line);background:var(--light);border-radius:14px}
.site-page .quote-panel > h2{font-size:clamp(26px,3.2vw,34px);letter-spacing:-.03em;margin:0 0 10px;line-height:1.15}
.site-page .quote-panel > p{margin:0 0 26px;max-width:560px;color:var(--muted);font-size:15px;line-height:1.65}
.site-page .quote-form{display:grid;gap:16px}
.site-page .quote-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.site-page .quote-field{display:grid;gap:7px}
.site-page .quote-field label{font-size:14px;font-weight:650;color:var(--ink)}
.site-page .quote-field .req{color:var(--blue);font-weight:700}
.site-page .quote-field input,
.site-page .quote-field select,
.site-page .quote-field textarea{
  width:100%;
  border:1px solid #d5d8df;
  background:#fff;
  border-radius:10px;
  padding:12px 14px;
  color:var(--ink);
  font-size:15px;
  line-height:1.4;
  transition:border-color .15s,box-shadow .15s;
}
.site-page .quote-field textarea{min-height:110px;resize:vertical}
.site-page .quote-field input::placeholder,
.site-page .quote-field textarea::placeholder{color:#9aa0aa}
.site-page .quote-field input:focus,
.site-page .quote-field select:focus,
.site-page .quote-field textarea:focus{
  outline:none;
  border-color:var(--blue);
  box-shadow:0 0 0 3px #244ce922;
}
.site-page .quote-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px}
.site-page .quote-actions .button{min-width:200px;justify-content:center}
.site-page .quote-note{font-size:13px;color:var(--muted);line-height:1.5}
.site-page .quote-status{margin:0;font-size:14px;color:var(--blue);font-weight:600}
.site-page .quote-status[hidden]{display:none!important}
@media(max-width:760px){
  .site-page .quote-panel{padding:22px 18px 24px;border-radius:12px}
  .site-page .quote-row{grid-template-columns:1fr}
}
.site-page .steps-list{display:grid;gap:18px;margin:28px 0}
.site-page .steps-list article{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;padding:18px 0;border-top:1px solid var(--line)}
.site-page .steps-list span{font-size:13px;font-weight:650;color:var(--blue)}
.site-page .faq.page-faq{padding:0;display:block}
.site-page .faq.page-faq .faq-list{margin-top:20px}
.site-page .page-cta{margin-top:48px;padding:36px 28px;background:#101d46;color:#fff;text-align:center}
.site-page .page-cta h2{font-size:28px;margin:0 0 12px}
.site-page .page-cta p{margin:0 0 18px;color:#c8d2ff}
.site-page .page-cta .button{display:inline-flex}
.site-page .page-cta .button.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}
.site-page .page-cta .button.ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.site-page .page-cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
@media(max-width:760px){
  .site-page .page-main{padding:28px 5% 60px}
  .site-page .contact-cards{grid-template-columns:1fr}
  .site-page .page-lead{font-size:16px}
}

/* Audience / Who we serve pages */
.site-page .audience-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px}
.site-page .audience-chips span{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:650;letter-spacing:.02em;color:var(--ink);background:#fff}
.site-page .audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:8px 0 28px}
.site-page .audience-card{border:1px solid var(--line);background:var(--light);padding:20px 18px;border-radius:10px}
.site-page .audience-card h3{margin:0 0 8px;font-size:16px;letter-spacing:-.02em}
.site-page .audience-card p{margin:0;font-size:14px;line-height:1.65;color:var(--muted)}
.site-page .audience-points{display:grid;gap:0;margin:8px 0 28px;border-top:1px solid var(--line)}
.site-page .audience-points li{list-style:none;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.6;color:#2c2f36;display:grid;grid-template-columns:22px 1fr;gap:10px}
.site-page .audience-points li::before{content:"✓";color:var(--blue);font-weight:700}
.site-page .page-prose .audience-points{padding-left:0;margin-left:0}
.site-page .page-cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
@media(max-width:760px){
  .site-page .audience-grid{grid-template-columns:1fr}
}
