/* ── PAGE BANNER ── */
.page-banner{
  background:linear-gradient(135deg,#0d4fa0 0%,var(--blue) 40%,#0099dd 70%,var(--blue-light) 100%);
  padding:70px 40px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.page-banner::before{
  content:'';position:absolute;inset:0;
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,0.03) 0,rgba(255,255,255,0.03) 1px,transparent 0,transparent 50%);
  background-size:30px 30px;
}
.page-banner-inner{position:relative;z-index:1}
.page-banner-tag{
  display:inline-block;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);
  border-radius:50px;padding:6px 18px;margin-bottom:16px;
  font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;color:#fff;
  letter-spacing:1.5px;text-transform:uppercase;
}
.page-banner h1{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(28px,5vw,52px);font-weight:900;color:#fff;
  margin-bottom:14px;line-height:1.1;
}
.page-banner h1 span{color:var(--yellow)}
.page-banner p{
  color:rgba(255,255,255,0.85);font-size:18px;
  max-width:700px;margin:0 auto;line-height:1.6;
}

/* ── CONTENT SECTION ── */
.content-section{
  padding:60px 40px;
  max-width:1100px;margin:0 auto;
}
.section-title{
  font-family:'Montserrat',sans-serif;
  font-size:32px;font-weight:900;color:var(--text);
  margin-bottom:24px;
  position:relative;padding-bottom:16px;
}
.section-title::after{
  content:'';position:absolute;bottom:0;left:0;
  width:60px;height:4px;
  background:linear-gradient(90deg,var(--blue),var(--blue-light));
  border-radius:2px;
}
.section-subtitle{
  font-size:16px;color:#5a6a8a;
  margin-bottom:32px;line-height:1.7;
}

/* ── INFO CARDS ── */
.cards-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:28px;margin:40px 0;
}
.info-card{
  background:#fff;border-radius:var(--radius);
  padding:32px;box-shadow:var(--shadow);
  border-left:6px solid var(--blue);
  transition:all var(--tr);position:relative;overflow:hidden;
}
.info-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 40px rgba(26,111,196,0.15);
}
.info-card::after{
  content:'';position:absolute;top:-30px;right:-30px;
  width:120px;height:120px;
  background:radial-gradient(circle,rgba(26,111,196,0.05),transparent);
  border-radius:50%;
}
.info-card.accent1{border-left-color:#f57c00}
.info-card.accent2{border-left-color:var(--blue-light)}
.info-card.accent3{border-left-color:var(--magenta)}
.info-card.accent4{border-left-color:var(--green)}

.card-icon{
  width:56px;height:56px;border-radius:12px;
  background:linear-gradient(135deg,var(--blue),var(--blue-light));
  display:flex;align-items:center;justify-content:center;
  font-size:28px;margin-bottom:16px;
  box-shadow:0 6px 20px rgba(26,111,196,0.25);
  flex-shrink:0;
}
.info-card.accent1 .card-icon{background:linear-gradient(135deg,#f57c00,#ffb74d)}
.info-card.accent2 .card-icon{background:linear-gradient(135deg,#00BFFF,#87CEEB)}
.info-card.accent3 .card-icon{background:linear-gradient(135deg,var(--magenta),#e91e8c)}
.info-card.accent4 .card-icon{background:linear-gradient(135deg,var(--green),#66bb6a)}

.card-title{
  font-family:'Montserrat',sans-serif;
  font-size:18px;font-weight:800;color:var(--text);
  margin-bottom:10px;position:relative;z-index:1;
}
.card-text{
  font-size:14px;color:#5a6a8a;
  line-height:1.7;position:relative;z-index:1;
}

/* ── FEATURES LIST ── */
.features-list{list-style:none;margin:32px 0}
.features-list li{
  padding:14px 0;padding-left:32px;
  border-bottom:1px solid #e8eef8;
  position:relative;font-size:15px;
  color:#4a5a78;line-height:1.6;
}
.features-list li:before{
  content:'✓';position:absolute;left:0;
  color:var(--green);font-weight:bold;font-size:18px;
}
.features-list li:last-child{border-bottom:none}

/* ── SERVICE BOXES ── */
.service-box{
  background:linear-gradient(135deg,rgba(26,111,196,0.05),rgba(0,191,255,0.05));
  border:2px solid rgba(26,111,196,0.15);
  border-radius:12px;
  padding:24px;
  margin-bottom:20px;
}
.service-box h5{
  font-family:'Montserrat',sans-serif;
  font-size:16px;font-weight:800;color:var(--text);
  margin-bottom:12px;
}
.service-box p{
  font-size:14px;color:#5a6a8a;line-height:1.6;
}

/* ── CTA BUTTONS ── */
.cta-buttons{
  display:flex;gap:16px;
  margin-top:40px;flex-wrap:wrap;
}
.btn-primary{
  background:linear-gradient(135deg,var(--blue),var(--blue-light));
  color:#fff;padding:16px 32px;border-radius:50px;border:none;
  font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;
  cursor:pointer;transition:all var(--tr);
  box-shadow:0 6px 20px rgba(26,111,196,0.3);
  text-decoration:none;display:inline-block;
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(26,111,196,0.4);
}
.btn-secondary{
  background:#fff;color:var(--blue);
  padding:16px 32px;border:3px solid var(--blue);
  border-radius:50px;
  font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;
  cursor:pointer;transition:all var(--tr);
  text-decoration:none;display:inline-block;
}
.btn-secondary:hover{
  background:var(--blue);color:#fff;
  transform:translateY(-2px);
}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  body{padding-top:74px}
  .page-banner{padding:50px 20px}
  .cards-grid{grid-template-columns:1fr}
  .content-section{padding:40px 20px}
  .section-title{font-size:24px}
  .cta-buttons{flex-direction:column;gap:12px}
  .btn-primary,.btn-secondary{width:100%;text-align:center}
}
@media(max-width:480px){
  .section-title{font-size:20px}
}

/* ── SERVICE IMAGE CARDS (4:3) ── */
.service-image-card{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);
  gap:28px;
  align-items:stretch;
  background:#fff;
  border:1px solid rgba(26,111,196,.10);
  border-radius:18px;
  padding:28px;
  margin:42px 0;
  box-shadow:0 16px 42px rgba(26,111,196,.08);
  position:relative;
  overflow:hidden;
}
.service-image-card::before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:6px;
  background:linear-gradient(180deg,var(--blue),var(--blue-light));
}
.service-image-card .service-copy{position:relative;z-index:1}
.service-image-card h3,.service-image-card h4,.service-image-card h5{margin-top:0!important}
.service-image-card .features-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;margin:24px 0 0!important}
.service-image-card .features-list li{border-bottom:0;padding:0 0 0 30px;font-size:14px}
.service-image-card .service-img-wrap{position:relative;min-height:260px;border-radius:16px;overflow:hidden;background:#eef6ff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.service-image-card .service-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3;transition:transform .45s ease}
.service-image-card:hover .service-img-wrap img{transform:scale(1.04)}
.service-image-card .btn-primary{margin-top:26px;padding:13px 24px;border-radius:12px;font-size:14px}
.service-card-green::before{background:linear-gradient(180deg,#2e7d32,#81c784)}
.service-card-pink::before{background:linear-gradient(180deg,#c2185b,#ec80aa)}
.service-card-orange::before{background:linear-gradient(180deg,#f57c00,#ffb74d)}
.service-card-gray::before{background:linear-gradient(180deg,#455a64,#90a4ae)}
.service-card-blue::before{background:linear-gradient(180deg,var(--blue),var(--blue-light))}
.service-card-purple::before{background:linear-gradient(180deg,#7b1fa2,#ba68c8)}
.service-card-teal::before{background:linear-gradient(180deg,#00897b,#4db6ac)}
.service-box.service-image-card p{margin-bottom:0}
.info-card .card-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;margin-bottom:18px;background:#eef6ff;box-shadow:0 10px 24px rgba(26,111,196,.10)}
.course-card.service-image-card{grid-template-columns:minmax(0,1.05fr) 260px;border-left:0!important}
.course-card.service-image-card .service-img-wrap{min-height:190px}
@media(max-width:820px){
  .service-image-card,.course-card.service-image-card,  .service-image-card .features-list{grid-template-columns:1fr}
  .service-image-card .service-img-wrap{min-height:auto}
}
