.apply-form [hidden] { display:none !important; }
.apply-form .apply-help { color:#637084; font-size:13px; line-height:1.5; margin:8px 0 0; }
.apply-contact { border:0; padding:0; margin:0 0 20px; min-width:0; text-align:left; }
.apply-contact legend { font-size:14px; font-weight:600; padding:0; margin-bottom:10px; }
.apply-contact-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.apply-contact-option { display:flex; align-items:flex-start; gap:10px; padding:15px; border:1px solid #cfd4d9; border-radius:10px; cursor:pointer; }
.apply-contact-option:has(input:checked) { border-color:#0070f8; background:#f0f6ff; }
.apply-contact-option:focus-within { outline:2px solid #0070f8; outline-offset:2px; }
.apply-contact-option input { margin:4px 0 0; accent-color:#0070f8; flex-shrink:0; }
.apply-contact-option strong { display:block; font-size:15px; }
.apply-contact-option small { display:block; color:#637084; font-size:13px; line-height:1.5; margin-top:4px; }
@media(max-width:620px) { .apply-contact-options { grid-template-columns:1fr; } }
.call-card { margin:24px auto 0; border:1px solid #d9dfe7; border-radius:12px; background:#fff; color:#243348; text-align:left; scroll-margin-top:90px; overflow:hidden; }
.call-card * { box-sizing:border-box; }
.call-card [hidden] { display:none !important; }
#apply-success,.call-confirmed,.call-details { scroll-margin-top:100px; }
.call-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:24px 28px; }
.call-brand { display:block; font-size:13px; font-weight:700; color:#1764c0; margin-bottom:4px; }
.call-card h4 { font-size:20px; line-height:1.4; margin:0 0 8px; font-weight:600; }
.call-heading h4 { margin:0; }
.call-meta { color:#596579; font-size:14px; white-space:nowrap; }
.call-card p { margin:0 0 14px; color:#596579; }
.call-tabs { display:flex; border-bottom:1px solid #d9dfe7; padding:0 28px; gap:24px; }
.call-tabs button { font:inherit; font-size:15px; font-weight:600; background:none; border:0; border-bottom:3px solid transparent; padding:14px 2px; color:#657084; cursor:pointer; }
.call-tabs button[aria-selected="true"] { color:#155db5; border-bottom-color:#155db5; }
.call-calendar-top { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:24px 28px 18px; font-size:14px; }
.call-calendar-top strong { font-size:16px; font-weight:600; }
.call-calendar-top span { color:#637084; }
.call-calendar-layout { display:grid; grid-template-columns:205px minmax(0,1fr); gap:24px; padding:0 28px 26px; }
.call-month-nav { display:flex; justify-content:space-between; align-items:center; margin:3px 0 14px; font-size:13px; }
.call-month-nav>div { display:flex; }
.call-arrow { width:28px; height:30px; border:0; background:none; font-size:25px; line-height:1; color:#536277; cursor:pointer; border-radius:50%; }
.call-arrow:hover:not(:disabled) { background:#edf3fc; }
.call-card button:disabled { opacity:.35; cursor:default; }
.call-weekdays,.call-month-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); text-align:center; gap:3px 0; }
.call-weekdays { color:#687589; font-size:11px; margin-bottom:7px; }
.call-month-days button { justify-self:center; width:26px; height:26px; border:0; border-radius:50%; font:inherit; font-size:12px; color:#244c7c; background:#e7f1fc; cursor:pointer; }
.call-month-days button:disabled { color:#8992a1; opacity:.65; background:none; }
.call-month-days button[aria-pressed="true"] { background:#1764c0; color:white; }
.call-card .call-hours { margin-top:22px; font-size:12px; line-height:1.6; }
.call-week { min-width:0; }
.call-week-nav { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; font-size:13px; color:#536277; }
.call-days { display:grid; grid-template-columns:repeat(var(--call-columns,5),minmax(0,1fr)); gap:8px; max-height:360px; overflow-y:auto; scrollbar-width:thin; padding:0 3px 2px; }
.call-day { min-width:0; }
.call-day-heading { position:sticky; top:0; text-align:center; background:white; z-index:1; padding:0 0 13px; }
.call-day-heading span { display:block; font-size:10px; color:#637084; text-transform:uppercase; }
.call-day-heading strong { font-size:20px; font-weight:500; }
.call-time { width:100%; margin-bottom:7px; padding:9px 1px; border:1px solid #a8b6c8; border-radius:22px; background:#fff; color:#175eb3; font:inherit; font-size:12px; font-weight:600; cursor:pointer; white-space:nowrap; }
.call-time:hover,.call-time[aria-pressed="true"] { border-color:#1764c0; background:#edf4ff; }
.call-card button:focus-visible,.call-card input:focus-visible,.call-card textarea:focus-visible { outline:3px solid #8ebefd; outline-offset:2px; }
.call-card label { display:block; font-weight:600; margin:18px 0 8px; font-size:14px; }
.call-card input,.call-card textarea { width:100%; padding:12px; border:1px solid #b6c4d4; border-radius:7px; font:inherit; font-size:15px; color:inherit; background:white; }
.call-card textarea { resize:vertical; }
.call-card .call-note { font-size:12px; margin-top:7px; line-height:1.6; }
.call-details,.call-callback-form { max-width:580px; padding:8px 28px 28px; margin:0 auto; }
.call-callback-form { padding-top:26px; }
.call-details { border-top:1px solid #e0e6ef; padding-top:22px; }
.call-primary,.call-secondary { padding:11px 20px; border-radius:7px; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.call-primary { background:#1764c0; color:white; border:1px solid #1764c0; }
.call-primary:hover { background:#104c98; }
.call-secondary { border:1px solid #b6c4d4; background:#fff; color:#3d526b; }
.call-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.call-error { padding:14px; background:#fff1ee; color:#9a2c1a !important; margin:16px 24px !important; border-radius:8px; }
.call-confirmed { padding:26px 28px; border-top:1px solid #d9dfe7; }
.call-confirmed strong { display:block; margin-bottom:10px; }
.call-availability { white-space:pre-wrap; padding:14px; background:#f4f7fb; border-radius:8px; }
.call-notice,#call-loading { padding:12px 28px; }
.call-text-button { border:0; background:transparent; color:#1764c0; text-decoration:underline; font:inherit; cursor:pointer; }
#call-reset { margin:0 24px 20px; }
#call-cancel-check { margin-top:18px; }
@media(max-width:900px) { .call-calendar-layout { grid-template-columns:190px minmax(0,1fr); gap:18px; } .call-heading { align-items:flex-start; } .call-meta { white-space:normal; } }
@media(max-width:620px) {
  .call-heading { display:block; padding:20px 16px 12px; } .call-meta { display:block; margin-top:8px; }
  .call-tabs { padding:0 16px; gap:24px; } .call-tabs button { font-size:14px; }
  .call-calendar-top { padding:18px 16px 14px; font-size:12px; } .call-calendar-top strong { width:100%; }
  .call-calendar-layout { grid-template-columns:1fr; padding:0 16px 18px; gap:12px; }
  .call-month { max-width:290px; width:100%; margin:auto; }
  .call-month-days button { width:30px; height:30px; }
  .call-card .call-hours { margin-top:12px; font-size:11px; } .call-hours br { display:none; }
  .call-days { max-height:275px; gap:12px; }
  .call-time { font-size:14px; padding:10px; }
  .call-day-heading { display:none; } .call-week-nav { font-weight:600; }
  .call-details,.call-callback-form,.call-confirmed { padding:22px 16px; }
  .call-card h4 { font-size:18px; } .call-card p { font-size:14px; }
  .call-error { margin:14px 16px !important; }
}
