
/* CA Works homepage redesign — scoped to homepage only */
body:has(main#top) { background:#fff; color:#18263d; }
main#top { overflow:clip; }
main#top .hero {
  color:#172943;
  background:
    radial-gradient(circle at 83% 14%, rgba(44,105,231,.09), transparent 28%),
    radial-gradient(circle at 70% 90%, rgba(16,159,120,.07), transparent 30%),
    linear-gradient(180deg,#f7faff 0%,#ffffff 100%);
  border-bottom:1px solid #e8eef7;
}
main#top .hero::before { opacity:.35; background:linear-gradient(90deg,rgba(31,79,155,.035) 1px,transparent 1px),linear-gradient(rgba(31,79,155,.035) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,#000,transparent 80%); }
main#top .hero .wrap {
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
  gap:clamp(32px,5.5vw,84px);
  padding-block:clamp(54px,7vw,92px);
  align-items:center;
}
main#top .hero-copy { max-width:700px; position:relative; z-index:1; }
main#top .hero .eyebrow {
  color:#1d55c5;background:#eaf1ff;border:1px solid #d8e5ff;
  border-radius:999px;padding:9px 13px;letter-spacing:.08em;font-size:11px;
}
main#top .hero h1 { color:#132542; font-size:clamp(39px,4.7vw,63px); line-height:1.055; letter-spacing:-.052em; max-width:12ch; margin:22px 0 20px; }
main#top .hero h1 em { color:#2457d6; background:none; }
main#top .hero .lede { color:#596a82; max-width:56ch; font-size:clamp(16px,1.25vw,18px); line-height:1.75; }
main#top .search { background:#fff; border:1px solid #dfe7f2; box-shadow:0 14px 35px rgba(25,55,105,.09); border-radius:14px; }
main#top .search input { color:#172943; }
main#top .quick { color:#687890; }
main#top .quick button { color:#354963; background:#fff; border:1px solid #dce5f1; }
main#top .quick button:hover { color:#2457d6; border-color:#9cb9f8; background:#f6f9ff; }
main#top .hero-ctas { gap:12px; }
main#top .hero .btn-brass { background:#0f9f78; color:#fff; }
main#top .hero .btn-brass:hover { background:#087d5e; }
main#top .hero .btn-line { color:#24405f; border-color:#cbd7e7; background:#fff; }
main#top .hero-stats { border-color:#e0e7f1; }
main#top .hero-stats>div { border-color:#e0e7f1; }
main#top .hero-stats dt { color:#718098; }
main#top .hero-stats dd { color:#172943; }
main#top .docket {
  position:relative; isolation:isolate; color:#1a2b45; overflow:hidden;
  background:rgba(255,255,255,.94); border:1px solid #dce6f4; border-radius:22px;
  box-shadow:0 30px 80px rgba(30,64,120,.13);
}
main#top .docket::before { content:""; position:absolute; width:210px;height:210px;border-radius:50%;right:-90px;top:-105px;background:#eaf1ff;z-index:-1; }
main#top .docket-head { border-color:#e7edf6; padding:23px 25px 18px; }
main#top .docket-head h3 { color:#192d4a; font-size:20px; letter-spacing:-.02em; }
main#top .docket li { border-color:#edf1f7; padding:16px 24px; }
main#top .docket .dd b { color:#2457d6; }
main#top .docket .what { color:#465974; }
main#top .docket .what small { color:#7c8ba1; }
main#top .docket-foot { background:#f7f9fd; border-color:#e7edf6; color:#6b7a91; }
main#top .docket-foot a { color:#2457d6; font-weight:700; }
main#top .hero-figure { background:#fff; border:1px solid #e0e8f4; border-radius:24px; padding:12px; box-shadow:0 28px 70px rgba(30,64,120,.12); }
main#top .hero-figure img { border-radius:16px; display:block; width:100%; height:auto; }
main#top .portals { background:#fff; border-bottom:1px solid #e7edf5; }
main#top .portals .wrap { min-height:76px; }
main#top .portals span { padding:8px 11px; background:#f6f8fc; border:1px solid #e8edf5; border-radius:8px; font-size:12px; }
main#top .block { padding-block:clamp(56px,7vw,88px); }
main#top .block.alt { background:#f7f9fc; }
main#top .sec-head { margin-bottom:32px; }
main#top .sec-head h2 { color:#172943; }
main#top .sec-head .eyebrow { color:#2457d6; }
main#top .svc-grid { gap:16px; }
main#top .svc-card, main#top .svc-grid article { border-radius:15px; border-color:#e2e9f3; box-shadow:0 8px 25px rgba(25,55,105,.035); transition:transform .2s,box-shadow .2s,border-color .2s; }
main#top .svc-card:hover, main#top .svc-grid article:hover { transform:translateY(-3px); border-color:#c8d8f6; box-shadow:0 16px 36px rgba(25,55,105,.08); }
main#top .ent-list, main#top .checklist, main#top .step, main#top .plan, main#top .plat-card, main#top .contact-card, main#top .upd-grid>* {
  border-radius:15px;
}
main#top .steps { gap:16px; }
main#top .step { padding:24px; border:1px solid #e3eaf4; background:#fff; }
main#top .step b { color:#2457d6; }
main#top .plan { border-color:#e0e7f1; box-shadow:0 10px 28px rgba(25,55,105,.045); }
main#top .plan.feat { border-color:#8eaff5; box-shadow:0 18px 42px rgba(36,87,214,.12); }
main#top .plat-card { border:1px solid #e0e7f1; box-shadow:0 10px 30px rgba(25,55,105,.045); }
main#top .contact-card { border:1px solid #e0e7f1; background:#fff; }
main#top details { border-bottom:1px solid #e3eaf4; }
main#top details summary { color:#203651; }
@media(max-width:900px) {
  main#top .hero .wrap { grid-template-columns:1fr; gap:34px; }
  main#top .hero h1 { max-width:14ch; }
  main#top .docket, main#top .hero-figure { max-width:680px; width:100%; }
}
@media(max-width:560px) {
  main#top .hero .wrap { padding-block:42px 48px; }
  main#top .hero h1 { font-size:clamp(36px,10vw,48px); }
  main#top .hero .lede { font-size:16px; }
  main#top .hero-stats>div { min-width:42%; padding:12px 12px 0 0; margin-top:12px; border-left:0; }
  main#top .hero-stats>div:nth-child(even) { padding-left:12px; border-left:1px solid #e0e7f1; }
  main#top .docket-head { padding:18px; }
  main#top .docket li { padding:14px 17px; }
}
