/* Shoreline site rules the portal markup uses (CrispLine's own code) */
.btn-brass{ background: var(--brass); color: var(--white); }
.btn-brass:hover{ background: var(--brass-light); }
.btn-navy{ background: var(--navy); color: var(--white); }
.btn-navy:hover{ background: var(--brass); }
.page-header{
  background: var(--navy);
  color: var(--white);
  padding: 200px 0 90px;
  text-align: center;
}
.page-header h1{ color: var(--white); font-size: clamp(38px, 5vw, 60px); }
.page-header p{ color: rgba(255,255,255,0.7); max-width: 560px; margin: 18px auto 0; font-size: 16px; }
.form-card{ background: var(--sand); padding: 48px; border-radius: 2px; }
.form-group{ margin-bottom: 22px; }
.form-group label{
  display: block; font-size: 12.5px; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--navy); font-weight: 600; margin-bottom: 8px;
}
.form-group input, .form-group select, .form-group textarea{
  width: 100%; padding: 14px 16px; font-family: var(--sans); font-size: 15px;
  color: var(--ink); background: var(--white); border: 1px solid var(--line);
  border-radius: 2px; outline: none; transition: border-color 0.2s ease;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{ border-color: var(--brass); }
.form-group textarea{ resize: vertical; min-height: 130px; }
.form-note{ font-size: 12.5px; color: var(--ink-soft); margin-top: 16px; }
@media (max-width: 720px){.form-card{ padding: 30px 24px; }}
.section-head p.eyebrow, .page-header p.eyebrow{ font-size: 12px; color: var(--brass); margin-top: 0; letter-spacing: .22em; }
.page-header h1, .fin-hero h1, .section-head h2{ text-wrap: balance; }
@media (max-width: 980px){.contact-grid .form-card{ order: -1; }}
.demo-logins{max-width:1100px;margin:24px auto 0;padding:16px 20px;background:#f7f2e9;border:1px solid rgba(30,59,51,.18);border-left:4px solid var(--oak);border-radius:6px;font-size:15px;color:var(--ink)}
.demo-logins ul{margin:8px 0 0 18px}.demo-logins li{margin:4px 0}.demo-logins code{background:#fff;border:1px solid rgba(30,59,51,.18);padding:1px 6px;border-radius:4px;font-size:14px;word-break:break-all}
@media(max-width:700px){.demo-logins{margin:16px 16px 0}}
