:root{
  --bg:#f6f3ee;
  --ink:#141414;
  --muted:#555;
  --paper:#ffffff;
  --line:rgba(0,0,0,.12);
  --line-strong:rgba(0,0,0,.22);
  --red:#b11218;
  --red2:#8f0f14;

  --right-border:rgba(0,0,0,.14);

  /* NEW: pale blue */
  --pale-blue:#e9f1fb;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  background:var(--bg);
  color:var(--ink);
}

/* TOP BAR */
.topbar{
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.topbar-inner{
  max-width:1120px;
  margin:auto;
  padding:10px 16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.brand-title{
  font-size:22px;
  font-weight:900;
  letter-spacing:.08em;
}
.topbar-links a{
  margin-left:14px;
  text-decoration:none;
  color:var(--ink);
  font-size:13px;
}

/* RED STRIP */
.newswire-strip{
  background:linear-gradient(0deg,var(--red2),var(--red));
  color:#fff;
}
.newswire-inner{
  max-width:1120px;
  margin:auto;
  padding:8px 16px;
  display:flex;
  align-items:center;
}
.newswire-title{font-weight:900}
.newswire-sub{
  margin-left:auto;
  font-size:12px;
  opacity:.95;
}

/* TICKER */
.ticker{
  background:#101010;
  color:#fff;
  display:flex;
  gap:10px;
  padding:7px 10px;
  align-items:center;
}
.ticker-label{
  background:var(--red);
  padding:4px 10px;
  font-weight:900;
  letter-spacing:.06em;
}
.ticker-viewport{overflow:hidden;flex:1}
.ticker-track{
  white-space:nowrap;
  animation:tickerScroll 110s linear infinite;
}
.ticker-item{padding:0 18px}
.ticker-btn{
  background:none;
  color:#fff;
  border:1px solid #666;
  padding:4px 8px;
}
@keyframes tickerScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* PAGE */
.page{
  max-width:1120px;
  margin:auto;
  padding:18px 16px;
}

/* NEW: pale-blue shell used on application pages */
.app-shell{
  background:var(--pale-blue);
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
}

/* TWO-COLUMN / THREE-ROW GRID */
.two-column-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:start;
}
.column{
  display:grid;
  grid-template-rows:repeat(3, auto);
  gap:12px;
}

/* CARD BASE */
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
}

/* LEFT COLUMN: PRIMARY */
.card-left{
  border:1px solid var(--line-strong);
  box-shadow:0 8px 18px rgba(0,0,0,.06);
}
.card h2{
  margin:0 0 6px;
  font-size:17px;
  font-weight:800;
}
.column-left .card-left h2{
  font-weight:900;
  font-size:18px;
}
.card p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.4;
}
.card-bullets{
  margin:10px 0 0;
  padding-left:18px;
  color:#333;
  font-size:13px;
}
.card-bullets li{margin:6px 0}

/* LEFT cards keep consistent height */
.card-left.card-fixed{
  min-height:220px;
  display:flex;
  flex-direction:column;
}

/* RIGHT cards on INDEX: narrow + pale blue + centered in each left-row */
.card-right{
  border:1px solid var(--right-border);
  box-shadow:none;
}
.column-right .card-right{
  background:var(--pale-blue);
  width:100%;
  max-width:380px;       /* narrow to roughly fit text */
  justify-self:center;   /* center horizontally in right column */
  align-self:center;     /* center vertically within row height */
  padding:12px 14px;
}

.prequal-title{
  margin:0 0 6px;
  font-size:15px;
  font-weight:900;
}
.prequal-sub{
  margin:0;
  font-size:12px;
  line-height:1.35;
  color:#000;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.prequal-actions{
  margin-top:10px;
  display:flex;
  justify-content:flex-end;
}

/* FORMS (apps) */
.preapp-form{margin:0}
.field{display:block}
.label{
  display:block;
  font-size:12px;
  font-weight:900;
  margin:0 0 6px;
  color:#000;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.input, .textarea{
  width:100%;
  border:1px solid rgba(0,0,0,.25);
  border-radius:10px;
  padding:10px 10px;
  background:#fff;
  font-size:13px;
  outline:none;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.textarea{
  min-height:120px;
  resize:vertical;
}

/* NEW: 2-column layout for app fields */
.app-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.app-form-grid .field{margin:0}
.app-form-grid .span-2{grid-column:1 / -1}

.form-actions{
  margin-top:14px;
  display:flex;
  justify-content:flex-end;
}

/* BUTTONS */
.btn{
  display:inline-block;
  text-decoration:none;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.16);
  color:var(--ink);
  background:#fff;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight:900;
  font-size:13px;
  cursor:pointer;
}
.btn.primary{
  background:#000;
  color:#fff;
  border-color:#000;
}
.btn:hover{transform:translateY(-1px)}

/* FOOTER */
.footer{
  margin-top:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
}
.footer-contact{
  font-size:13px;
  line-height:1.5;
}
.footer-contact a{color:var(--ink)}
.footer-privacy{
  margin-top:10px;
  text-align:center;
  font-weight:900;
  font-size:12px;
  letter-spacing:.12em;
}

/* MOBILE */
@media (max-width:900px){
  .two-column-grid{grid-template-columns:1fr}
  .column-right .card-right{max-width:100%}
  .app-form-grid{grid-template-columns:1fr}
}
