/* Scoped to Courses and Services. Shared navigation and footer are unchanged. */
.refined-page > section {
  padding-block: clamp(3rem, 6vw, 5rem) !important;
}
.refined-page > section.bg-gray-200 { background: #f5f8fb !important; }
.refined-page > header { width: 100%; margin: 0; }
.refined-page .page-header { border-radius: 0; }
.refined-page > header h2 {
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  line-height: 1.15;
  letter-spacing: -0.035em;
}
.refined-page > section p,
.refined-page > header p { line-height: 1.7; }
.refined-page > section .card {
  border: 1px solid #e4ebf1;
  border-radius: 12px;
  box-shadow: none;
  overflow: hidden;
}
.refined-page > section .card-header { padding: 1.5rem !important; }
.refined-page > section .card-header h3 { font-size: 1.5rem; line-height: 1.35; }
.refined-page > section .card-body { padding: clamp(1.25rem, 3vw, 2rem) !important; }
.refined-page > section .btn { border-radius: 8px; box-shadow: none; }
.refined-page > section [id] { scroll-margin-top: 2rem; }
.refined-courses .learning-outcomes .p-3 {
  padding: 1.75rem !important;
  text-align: left !important;
  height: 100%;
  border: 1px solid #e4ebf1;
  border-radius: 12px;
}
.refined-courses > header .mt-5 { margin-top: 0 !important; }
.refined-courses > section .nav.flex-column {
  border: 1px solid #e4ebf1;
  border-radius: 12px;
}
.refined-courses > section .nav-link { line-height: 1.5; padding-block: 0.75rem; }
.refined-services .page-header { position: relative; padding-block: 3rem; }
.refined-services .page-header .ps-8 { padding-left: 3rem !important; }
.refined-services .service-panels { padding-block: 2rem; }
.refined-services .service-panels > .row { row-gap: 1.5rem; }
.refined-services .info-horizontal {
  height: 100%;
  border: 1px solid #e4ebf1;
  padding: 1.75rem !important;
  border-radius: 12px;
}
.refined-services .info-horizontal .icon { float: none; display: block; margin-bottom: 1rem; }
.refined-services .info-horizontal .description { padding-left: 0 !important; }
/* Each control is positioned against its own hero, regardless of text/card height. */
.refined-services .page-header .carousel-control-prev,
.refined-services .page-header .carousel-control-next {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.25);
  opacity: 0.85;
  display: flex;
  align-items: center;
  justify-content: center;
}
.refined-services .page-header .carousel-control-prev { left: 1rem; }
.refined-services .page-header .carousel-control-next { right: 1rem; }
.refined-services .page-header .carousel-control-prev:hover,
.refined-services .page-header .carousel-control-next:hover { opacity: 1; }
.refined-services .page-header [data-bs-slide]:focus-visible {
  outline: 3px solid white;
  outline-offset: 4px;
}
.refined-services > section .row.my-5 { margin-block: 0 2rem !important; }
.refined-services .accordion-item { border: 1px solid #e4ebf1; border-radius: 12px; overflow: hidden; margin-bottom: 1rem; }
.refined-services .accordion-button { padding: 1.25rem; line-height: 1.5; }
@media (max-width: 767.98px) {
  .refined-services .page-header > .container { padding-inline: 4.5rem; }
  .refined-services .page-header .ps-8 { padding-left: 0.75rem !important; }
  .refined-services .page-header .lead { font-size: 1rem; }
  .refined-services .page-header .carousel-control-prev { left: 0.5rem; }
  .refined-services .page-header .carousel-control-next { right: 0.5rem; }
  .refined-courses > section .nav.position-sticky { position: static !important; }
}
