/* Page header / banner (eyebrow + title + description) — normal & full-width templates */
.page-header-banner{
  background:linear-gradient(180deg,#05204b 0%,#043963 30%,#026b91 70%,#009fc2 100%);
  padding:64px 0 56px;
  text-align:center;
}
.page-header-banner .eyebrow{
  display:inline-block;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:6px 14px;
  border-radius:999px;
  margin-bottom:16px;
}
.page-header-banner h1{color:#fff; font-size:2rem; margin:0 auto .6rem;}
.page-header-banner p{color:rgba(255,255,255,.85); font-size:1rem; max-width:640px; margin:0 auto;}

/* Hero banner — home template (two-column, with stat card) */
.hero-banner{
  background:linear-gradient(180deg,#05204b 0%,#043963 20%,#026b91 45%,#009fc2 70%,#009fc2 100%);
  padding:80px 0 70px;
  position:relative;
  overflow:hidden;
}
.hero-banner .hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:48px;
  align-items:center;
}
.hero-banner .eyebrow{
  display:inline-block;
  background:var(--sand-200);
  color:var(--blue-700);
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:6px 14px;
  border-radius:999px;
  margin-bottom:18px;
}
.hero-banner h1{font-size:2rem; color:#fff; font-weight:700; margin-bottom:.6rem;}
.hero-banner .hero-copy p{
  font-size:1.1rem;
  font-weight:400;
  color:rgba(255,255,255,.85);
  max-width:46ch;
  margin-bottom:28px;
}
.hero-banner .hero-actions{display:flex; gap:14px; flex-wrap:wrap;}

.hero-banner .hero-figure{
  background:var(--white);
  border-radius:16px;
  padding:28px;
  box-shadow:0 20px 40px -20px rgba(4,59,69,.25);
}
.hero-banner .hero-figure .stat{
  font-family:Georgia,serif;
  font-size:38px;
  color:var(--blue-900);
  font-weight:700;
}
.hero-banner .hero-figure .stat-label{color:#5c6a68; font-size:14px; margin-bottom:20px;}
.hero-banner .hero-figure ul{margin:0; padding-left:20px; color:#3c4a48; font-size:15px;}
.hero-banner .hero-figure li{margin-bottom:8px;}

.hero-banner .wave{display:block; width:100%; height:0; margin-top:-1px;}
.hero-banner .wave path{fill:var(--white);}

/* Page content wrapper */
.page-content{padding: 30px 20px;}
.page-content.is-full-width .wrap{max-width:none; padding:0;}
.page-content.is-full-width{padding:40px 0 0;}

/* Generic building blocks used inside Page Builder rows */
.card{
  background:#fff;
  border:1px solid #e3e6ec;
  border-radius:var(--radius);
  padding:30px;
  box-shadow:0 .15rem 1.75rem 0 rgba(31,45,65,.12);
  height:100%;
}
.card h3{color:var(--gray-dark); margin-bottom:10px;}
.card p{color:var(--gray); font-size:15px; margin-bottom:18px;}
.card a.card-link{color:var(--blue); font-weight:600; text-decoration:none; font-size:14px;}
.card a.card-link:hover{text-decoration:underline;}
.card img.mark{height:52px; margin-bottom:16px;}
.card .tag{
  display:inline-block;
  background:var(--gray-dark);
  color:#fff;
  font-size:12px;
  font-weight:600;
  padding:4px 10px;
  border-radius:6px;
  margin-bottom:14px;
  letter-spacing:.04em;
}
.card .icon-badge{
  width:52px; height:52px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:16px; color:#fff; margin-bottom:16px;
}

.gw_bg {
    background: var(--light);
    padding: 64px 0;
}

.access-card{
  border-radius:var(--radius); padding:26px; border:1px solid #e3e6ec;
  background:var(--white); box-shadow:0 .15rem 1.75rem 0 rgba(31,45,65,.15);
  height:100%;
}
.access-card p{font-size:14px; margin-bottom:16px;}

.step{
  background:#fff; border:1px solid var(--sand-200); border-radius:var(--radius);
  padding:26px; box-shadow:0 .15rem 1.75rem 0 rgba(31,45,65,.15); height:100%;
}
.step .num{
  width:34px; height:34px; border-radius:50%;
  background:var(--teal); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:700; margin-bottom:14px; font-size:14px;
}

.step h4{font-size:16px; margin:0 0 8px; color:var(--blue-900);}

.cta{
  background:linear-gradient(135deg,#043963,#009fc2);
  color:#fff; border-radius:16px; padding:48px; text-align:center;
}
.cta h2{color:#fff;}
.cta p{color:rgba(255,255,255,.9); max-width:640px; margin:12px auto 24px;}

.cta-band{background:var(--light); padding:40px; border-radius:var(--radius); text-align:center;}
.cta-band h3{font-size:1.4rem;}
.cta-band p{max-width:520px; margin:0 auto 22px;}

/* Generic content typography (used inside Page Builder text widgets) */
.entry-content h2{font-size:1.5rem; }
.entry-content h3{font-size:1.2rem; }
.entry-content blockquote{
  border-left:4px solid var(--teal);
  margin:20px 0;
  padding:4px 20px;
  font-style:italic;
  color:var(--gray-dark);
}

/* SiteOrigin row/cell spacing tweak so cards align nicely */
.panel-grid-cell{display:flex; flex-direction:column;}
.panel-grid-cell .textwidget{flex:1; display:flex; flex-direction:column;}
