/* Page header (inner pages) */
.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; max-width:24ch;}
.page-header-banner p{color:rgba(255,255,255,.85); font-size:1rem; max-width:640px; margin:0 auto;}

.page-content{padding:56px 0;}
.page-content .wrap{max-width:var(--max);}

/* Hero (front page) */
.hero{
  background:linear-gradient(180deg,#05204b 0%,#043963 20%,#026b91 45%,#009fc2 70%,#009fc2 100%);
  padding:80px 0 70px;
  position:relative;
  overflow:hidden;
}
.hero .wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center;}
.hero .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 h1{font-size:2rem; color:#fff; font-weight:700;}
.hero p.lead{font-size:1.1rem; font-weight:400; color:rgba(255,255,255,.85); max-width:46ch; margin-bottom:28px;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap;}
.hero-figure{background:var(--white); border-radius:16px; padding:28px; box-shadow:0 20px 40px -20px rgba(4,59,69,.25);}
.hero-figure .stat{font-family:Georgia,serif; font-size:38px; color:var(--blue-900); font-weight:700;}
.hero-figure .stat-label{color:#5c6a68; font-size:14px; margin-bottom:20px;}
.hero-figure ul{margin:0; padding-left:20px; color:#3c4a48; font-size:15px;}
.hero-figure li{margin-bottom:8px;}

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

/* Sections & grids */
.section{padding:64px 0;}
.section-head{text-align:center; max-width:640px; margin:0 auto 42px;}
.section-head h2{font-size:1.6rem;}
.section-head p{color:#5c6a68; font-size:16px;}

.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px;}

.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);
}
.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;
  background:var(--blue);
}

.split{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}

/* Product cards grid (front page) */
.product-cards{padding:40px 0 80px;}
.card-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}

/* API detail band */
.api-detail{background:var(--light); padding:56px 0;}
.api-detail .wrap{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
.api-detail h2{font-size:1.5rem;}
.api-detail ul{padding-left:18px; font-size:14.5px; margin-bottom:20px;}
.api-detail li{margin-bottom:8px;}

/* Steps */
.steps{padding:20px 0 80px; border:1px solid var(--sand-200); border-radius:var(--radius);}
.step-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:44px;}
.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);
}
.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);}
.step ul{margin:0; padding-left:18px; font-size:13.5px; color:#5c6a68;}

/* Access / CTA bands */
.access{background:var(--light); padding:64px 0;}
.access .wrap{display:grid; grid-template-columns:1fr 1fr; gap:32px;}
.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);
}
.access-card p{font-size:14px; margin-bottom:16px;}

.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:56px 0; text-align:center;}
.cta-band img{height:70px; margin:0 auto 18px;}
.cta-band h3{font-size:1.4rem;}
.cta-band p{max-width:520px; margin:0 auto 22px;}

/* ---------------------------------------------------------------
 * SiteOrigin Page Builder row helpers.
 * Apply these as a Row CSS Class in the Page Builder row settings
 * to reuse the same look as the original design.
 * ------------------------------------------------------------- */
.panel-row-style.gwm-row{padding:56px 0;}
.panel-row-style.gwm-row > .panel-grid{
  max-width:var(--max);
  margin:0 auto;
  padding:0 24px;
  box-sizing:border-box;
}
.panel-row-style.gwm-row-tight{padding:24px 0;}
.panel-row-style.gwm-row-flush{padding:0;}

.panel-row-style.gwm-hero-row{
  background:linear-gradient(180deg,#05204b 0%,#043963 20%,#026b91 45%,#009fc2 70%,#009fc2 100%);
  padding:80px 0 70px;
}
.panel-row-style.gwm-hero-row > .panel-grid{max-width:var(--max); margin:0 auto; padding:0 24px; box-sizing:border-box;}

.panel-row-style.gwm-band-light{background:var(--light);}
.panel-row-style.gwm-band-dark{
  background:linear-gradient(135deg,#043963,#009fc2);
  color:#fff;
}
.panel-row-style.gwm-band-dark h2,
.panel-row-style.gwm-band-dark h3,
.panel-row-style.gwm-band-dark p{color:#fff;}

.panel-row-style.gwm-steps-row{border:1px solid var(--sand-200); border-radius:var(--radius); margin:20px auto 60px;}
.panel-row-style.gwm-steps-row > .panel-grid{max-width:var(--max); margin:0 auto; padding:24px; box-sizing:border-box;}

/* Product/step card look when applied inside a SiteOrigin cell */
.panel-grid-cell .gwm-cell-inner{height:100%;}

.entry-content--full-width{width:100%;}
.page-links{padding:24px; text-align:center;}

/* Generic content typography (page.php / the_content) */
.entry-content h2{font-size:1.5rem; margin-top:1.6em;}
.entry-content h3{font-size:1.2rem; margin-top:1.4em;}
.entry-content p{font-size:1em;}
.entry-content img{border-radius:var(--radius);}
.entry-content .wp-block-quote,
.entry-content blockquote{
  border-left:4px solid var(--teal);
  margin:20px 0;
  padding:4px 20px;
  font-style:italic;
  color:var(--gray-dark);
}