:root{
  --lp-blue: #20d5e6;
  --lp-blue2:#4f7cf7;
  --lp-purple:#7b4cf7;
  --lp-pink:#c02cf3;

  --lp-text:#0f172a;
  --lp-muted:#64748b;
  --lp-border:#e5e7eb;

  --lp-radius: 16px;
  --lp-shadow: 0 12px 28px rgba(15,23,42,.10);
  --lp-shadow-soft: 0 6px 18px rgba(15,23,42,.08);
}

body{
  background:#fff;
  color: var(--lp-text);
  overflow-x:hidden;
}



/* Hero */
.lp-hero{
  border: 1px solid rgba(229,231,235,.9);
  border-radius: calc(var(--lp-radius) + 8px);
  overflow: hidden;
  box-shadow: var(--lp-shadow-soft);
  background:
	radial-gradient(1200px 600px at 15% 20%, rgba(32,213,230,.18), transparent 60%),
	radial-gradient(900px 500px at 85% 30%, rgba(192,44,243,.16), transparent 55%),
	linear-gradient(135deg, rgba(79,124,247,.10) 0%, rgba(123,76,247,.10) 45%, rgba(192,44,243,.10) 100%);
  position: relative;
}

.lp-hero-title{
  font-weight: 950;
  letter-spacing: .2px;
  margin:0;
  line-height: 1.1;
}
.lp-hero-subtitle{
  color: var(--lp-muted);
  margin: 0;
  max-width: 60ch;
}

/* Search in hero */
.lp-search-wrap{ position: relative; }
.lp-search-wrap .bi-search{
  position:absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--lp-muted);
}
.lp-input{
  border-radius: 999px;
  border: 1px solid var(--lp-border);
  padding-left: 42px;
  height: 46px;
  background: rgba(255,255,255,.92);
}
.lp-input:focus{
  box-shadow: 0 0 0 .2rem rgba(79,124,247,.15);
  border-color: rgba(79,124,247,.6);
}

.lp-btn{
  border-radius: 999px;
  font-weight: 900;
  padding: 11px 16px;
  white-space: nowrap;
}
.lp-btn-primary{
  border: 0;
  color:#fff;
  background: linear-gradient(135deg, var(--lp-blue2), var(--lp-purple), var(--lp-pink));
  box-shadow: 0 10px 18px rgba(79,124,247,.20);
}
.lp-btn-outline{
  border: 1px solid rgba(79,124,247,.45);
  color: var(--lp-blue2);
  background:#fff;
}

/* Sections */
.lp-section-title{
  font-weight: 950;
  margin: 0;
}
.lp-section-sub{
  color: var(--lp-muted);
  margin: 0;
}

/* Card */
.lp-card{
  border: 1px solid rgba(229,231,235,.9);
  border-radius: calc(var(--lp-radius) + 6px);
  background:#fff;
  box-shadow: var(--lp-shadow-soft);
  overflow: hidden;
  height: 100%;
  transition: transform .18s ease, box-shadow .18s ease;
}
.lp-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--lp-shadow);
}
.lp-accent{
  height: 10px;
  background: linear-gradient(90deg, var(--lp-blue2), var(--lp-purple), var(--lp-pink));
}
.lp-card-body{ padding: 16px; }

.lp-title{
  font-weight: 950;
  margin: 0;
  line-height: 1.2;
}
.lp-meta{
  color: var(--lp-muted);
  margin: 0;
  font-size: .92rem;
}

/* Stat pill (allowed: total hour) */
.lp-stat{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(229,231,235,.9);
  background:#fff;
  color: var(--lp-muted);
  font-size: .88rem;
  white-space: nowrap;
}

/* Program tiles */
.lp-tile{
  border: 1px solid rgba(229,231,235,.9);
  border-radius: calc(var(--lp-radius) + 6px);
  background:#fff;
  box-shadow: var(--lp-shadow-soft);
  padding: 16px;
  height: 100%;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}
.lp-tile:hover{
  transform: translateY(-2px);
  box-shadow: var(--lp-shadow);
}
.lp-tile::after{
  content:"";
  position:absolute;
  right:-40px; bottom:-40px;
  width: 140px; height: 140px;
  border-radius: 32px;
  background: linear-gradient(135deg, rgba(79,124,247,.14), rgba(192,44,243,.12));
  transform: rotate(18deg);
}
.lp-tile h3{
  font-weight: 950;
  margin: 0 0 4px 0;
  position: relative;
  z-index: 1;
}
.lp-tile p{
  color: var(--lp-muted);
  margin: 0;
  position: relative;
  z-index: 1;
  max-width: 40ch;
}

/* Carousel */
.lp-carousel{
  border: 1px solid rgba(229,231,235,.9);
  border-radius: calc(var(--lp-radius) + 8px);
  overflow: hidden;
  box-shadow: var(--lp-shadow-soft);
}
/*.lp-carousel .carousel-item img{*/
/*  height: 420px;*/
/*  width: 100%;*/
/*  object-fit: cover;*/
/*}*/
/*@media (max-width: 767px) {*/
/*  .carousel-item {*/
/*    aspect-ratio: 16 / 9;*/
/*  }*/

/*  .carousel-item img {*/
/*    object-fit: cover;*/
/*    object-position: center;*/
/*  }*/
/*}*/
.lp-carousel {
  width: 100%;
}

.lp-carousel .carousel-inner {
  width: 100%;
}

.lp-carousel .carousel-item {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 33.07%; /* 420 / 1270 × 100 */
  overflow: hidden;
}

.lp-carousel .carousel-item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.lp-carousel .carousel-control-prev,
.lp-carousel .carousel-control-next {
  width: 8%;
}