/* =========================================================
   ST WILLS ACADEMY
   STUDENT SUCCESS PAGE
   Page-specific stylesheet
========================================================= */

/* =========================================================
   VARIABLES
========================================================= */

:root {
  --ss-blue: #0b6efd;
  --ss-blue-dark: #001f4d;
  --ss-navy: #081120;
  --ss-orange: #ff6600;
  --ss-light-blue: #eef6ff;
  --ss-white: #ffffff;
  --ss-text: #172033;
  --ss-muted: #667085;
  --ss-light: #f6f8fb;
  --ss-border: #e8edf4;
  --ss-shadow: 0 20px 60px rgba(0, 31, 77, 0.1);
}

/* =========================================================
   HERO
========================================================= */

.ss-hero {
  position: relative;
  overflow: hidden;
  padding: 120px 20px 110px;

  background:
    radial-gradient(
      circle at 15% 20%,
      rgba(11, 110, 253, 0.25),
      transparent 30%
    ),
    radial-gradient(
      circle at 85% 80%,
      rgba(255, 102, 0, 0.16),
      transparent 30%
    ),
    linear-gradient(135deg, #001f4d 0%, #081120 60%, #061a36 100%);

  color: var(--ss-white);
}

.ss-hero::after {
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    90deg,
    rgba(0, 31, 77, 0.95),
    rgba(8, 17, 32, 0.82)
  );

  pointer-events: none;
}

.ss-hero .container {
  position: relative;
  z-index: 2;
}

.ss-hero-content {
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
}

.ss-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 8px 16px;

  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.08);

  color: #ffffff;

  font-size: 0.82rem;
  font-weight: 700;

  letter-spacing: 1.4px;
  text-transform: uppercase;

  backdrop-filter: blur(10px);
}

.ss-hero-tag i {
  color: var(--ss-orange);
}

.ss-hero h1 {
  margin: 25px 0 20px;

  font-size: clamp(2.7rem, 6vw, 5rem);

  line-height: 1.05;

  font-weight: 800;
  letter-spacing: -2px;
}

.ss-hero h1 span {
  display: block;
  color: #4da3ff;
}

.ss-hero p {
  max-width: 720px;
  margin: 0 auto;

  color: rgba(255, 255, 255, 0.78);

  font-size: 1.08rem;
  line-height: 1.8;
}

.ss-hero-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;

  margin-top: 35px;

  flex-wrap: wrap;
}

/* =========================================================
   BUTTONS
========================================================= */

.ss-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  padding: 14px 23px;

  border-radius: 10px;

  text-decoration: none;

  font-size: 0.95rem;
  font-weight: 700;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.ss-btn:hover {
  transform: translateY(-3px);
}

.ss-btn-primary {
  background: var(--ss-blue);
  color: #ffffff;

  box-shadow: 0 12px 30px rgba(11, 110, 253, 0.25);
}

.ss-btn-primary:hover {
  background: #075ac8;
  color: #ffffff;
}

.ss-btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.3);

  color: #ffffff;

  background: rgba(255, 255, 255, 0.06);
}

.ss-btn-outline:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.ss-btn-whatsapp {
  background: #1fa855;
  color: #ffffff;
}

.ss-btn-whatsapp:hover {
  background: #188c47;
  color: #ffffff;
}

/* =========================================================
   INTRO STRIP
========================================================= */

.ss-intro {
  position: relative;
  z-index: 5;

  margin-top: -35px;

  padding: 0 20px;
}

.ss-intro-grid {
  display: grid;

  grid-template-columns: 1fr;

  background: #ffffff;

  border: 1px solid var(--ss-border);

  border-radius: 18px;

  box-shadow: var(--ss-shadow);

  overflow: hidden;
}

.ss-intro-item {
  display: flex;
  align-items: center;
  gap: 15px;

  padding: 25px;
}

.ss-intro-item + .ss-intro-item {
  border-top: 1px solid var(--ss-border);
}

.ss-intro-icon {
  width: 48px;
  height: 48px;

  display: flex;
  align-items: center;
  justify-content: center;

  flex-shrink: 0;

  border-radius: 12px;

  background: var(--ss-light-blue);
  color: var(--ss-blue);

  font-size: 1.1rem;
}

.ss-intro-item strong {
  display: block;

  color: var(--ss-navy);

  font-size: 0.98rem;

  margin-bottom: 4px;
}

.ss-intro-item span {
  display: block;

  color: var(--ss-muted);

  font-size: 0.85rem;
}

/* =========================================================
   GENERAL SECTION HEADING
========================================================= */

.ss-section-heading {
  max-width: 720px;

  margin: 0 auto 55px;

  text-align: center;
}

.ss-section-label {
  display: inline-block;

  margin-bottom: 12px;

  color: var(--ss-blue);

  font-size: 0.8rem;
  font-weight: 800;

  letter-spacing: 1.5px;

  text-transform: uppercase;
}

.ss-section-heading h2 {
  margin: 0 0 16px;

  color: var(--ss-navy);

  font-size: clamp(2rem, 4vw, 3rem);

  line-height: 1.15;

  letter-spacing: -1px;
}

.ss-section-heading p {
  margin: 0;

  color: var(--ss-muted);

  font-size: 1rem;
  line-height: 1.8;
}

/* =========================================================
   FEATURED SECTION
========================================================= */

.ss-featured {
  padding: 110px 20px 100px;

  background: #ffffff;
}

.ss-featured-card {
  display: grid;

  grid-template-columns: 1fr;

  gap: 45px;

  max-width: 1120px;

  margin: 0 auto;

  padding: 30px;

  border: 1px solid var(--ss-border);

  border-radius: 24px;

  background: #ffffff;

  box-shadow: var(--ss-shadow);
}

.ss-featured-video {
  width: 100%;

  overflow: hidden;

  border-radius: 18px;

  background: #050505;

  aspect-ratio: 16 / 9;
}

.ss-featured-video video {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
}

.ss-featured-content {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 10px;
}

.ss-story-badge {
  display: inline-block;

  width: fit-content;

  margin-bottom: 18px;

  padding: 7px 13px;

  border-radius: 999px;

  background: var(--ss-light-blue);

  color: var(--ss-blue);

  font-size: 0.78rem;
  font-weight: 800;

  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.ss-featured-content h3 {
  margin: 0 0 15px;

  color: var(--ss-navy);

  font-size: clamp(1.7rem, 3vw, 2.3rem);

  line-height: 1.2;
}

.ss-featured-content p {
  margin: 0;

  color: var(--ss-muted);

  font-size: 1rem;
  line-height: 1.8;
}

.ss-story-points {
  display: grid;

  gap: 12px;

  margin-top: 25px;
}

.ss-story-points div {
  display: flex;
  align-items: center;
  gap: 10px;

  color: var(--ss-text);

  font-size: 0.94rem;
}

.ss-story-points i {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 22px;
  height: 22px;

  border-radius: 50%;

  background: rgba(11, 110, 253, 0.1);

  color: var(--ss-blue);

  font-size: 0.65rem;
}

/* =========================================================
   STORY GRID
========================================================= */

.ss-stories {
  padding: 105px 20px;

  background: var(--ss-light);
}

.ss-story-grid {
  display: grid;

  grid-template-columns: 1fr;

  gap: 28px;
}

.ss-story-card {
  overflow: hidden;

  border: 1px solid var(--ss-border);

  border-radius: 20px;

  background: #ffffff;

  box-shadow: 0 12px 40px rgba(0, 31, 77, 0.07);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.ss-story-card:hover {
  transform: translateY(-7px);

  box-shadow: 0 20px 50px rgba(0, 31, 77, 0.12);
}

.ss-video-box {
  position: relative;

  overflow: hidden;

  background: #050505;

  aspect-ratio: 16 / 9;
}

.ss-video-box video {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
}

.ss-story-card-content {
  padding: 24px;
}

.ss-story-card-content span {
  display: inline-block;

  margin-bottom: 10px;

  color: var(--ss-orange);

  font-size: 0.76rem;
  font-weight: 800;

  letter-spacing: 1px;

  text-transform: uppercase;
}

.ss-story-card-content h3 {
  margin: 0 0 10px;

  color: var(--ss-navy);

  font-size: 1.25rem;
}

.ss-story-card-content p {
  margin: 0;

  color: var(--ss-muted);

  font-size: 0.92rem;

  line-height: 1.7;
}

/* =========================================================
   HIGHLIGHTS
========================================================= */

.ss-highlights {
  position: relative;

  overflow: hidden;

  padding: 110px 20px;

  background:
    radial-gradient(
      circle at 10% 20%,
      rgba(11, 110, 253, 0.18),
      transparent 28%
    ),
    radial-gradient(
      circle at 90% 80%,
      rgba(255, 102, 0, 0.12),
      transparent 28%
    ),
    linear-gradient(135deg, #001f4d, #081120);
}

.ss-heading-light h2 {
  color: #ffffff;
}

.ss-heading-light p {
  color: rgba(255, 255, 255, 0.68);
}

.ss-highlight-grid {
  display: grid;

  grid-template-columns: 1fr;

  gap: 22px;
}

.ss-highlight-card {
  padding: 30px;

  border: 1px solid rgba(255, 255, 255, 0.1);

  border-radius: 18px;

  background: rgba(255, 255, 255, 0.05);

  backdrop-filter: blur(12px);

  transition:
    transform 0.3s ease,
    background 0.3s ease;
}

.ss-highlight-card:hover {
  transform: translateY(-5px);

  background: rgba(255, 255, 255, 0.08);
}

.ss-highlight-icon {
  width: 50px;
  height: 50px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 20px;

  border-radius: 13px;

  background: rgba(11, 110, 253, 0.18);

  color: #55a7ff;

  font-size: 1.1rem;
}

.ss-highlight-card h3 {
  margin: 0 0 12px;

  color: #ffffff;

  font-size: 1.2rem;
}

.ss-highlight-card p {
  margin: 0;

  color: rgba(255, 255, 255, 0.65);

  line-height: 1.7;

  font-size: 0.92rem;
}

/* =========================================================
   CTA
========================================================= */

.ss-cta {
  padding: 100px 20px;

  background: #ffffff;
}

.ss-cta-box {
  max-width: 900px;

  margin: auto;

  padding: 65px 30px;

  text-align: center;

  border-radius: 24px;

  background:
    radial-gradient(
      circle at 10% 20%,
      rgba(11, 110, 253, 0.12),
      transparent 30%
    ),
    linear-gradient(135deg, #f5f9ff, #ffffff);

  border: 1px solid #dce9f8;

  box-shadow: var(--ss-shadow);
}

.ss-cta-box h2 {
  max-width: 700px;

  margin: 0 auto 15px;

  color: var(--ss-navy);

  font-size: clamp(2rem, 4vw, 3rem);

  line-height: 1.15;
}

.ss-cta-box p {
  max-width: 650px;

  margin: 0 auto;

  color: var(--ss-muted);

  line-height: 1.8;
}

.ss-cta-actions {
  display: flex;

  justify-content: center;

  gap: 14px;

  flex-wrap: wrap;

  margin-top: 30px;
}

/* =========================================================
   TABLET
========================================================= */

@media (min-width: 700px) {
  .ss-intro-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .ss-intro-item + .ss-intro-item {
    border-top: none;

    border-left: 1px solid var(--ss-border);
  }

  .ss-story-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ss-highlight-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 950px) {
  .ss-featured-card {
    grid-template-columns: 1.25fr 0.85fr;

    align-items: center;

    padding: 35px;
  }

  .ss-story-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1200px) {
  .ss-story-grid {
    grid-template-columns: repeat(2, 1fr);

    max-width: 1050px;

    margin-left: auto;
    margin-right: auto;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {
  .ss-hero {
    padding: 90px 20px 85px;
  }

  .ss-hero h1 {
    font-size: 2.45rem;

    letter-spacing: -1.2px;
  }

  .ss-hero p {
    font-size: 0.95rem;
  }

  .ss-btn {
    width: 100%;
  }

  .ss-hero-actions,
  .ss-cta-actions {
    flex-direction: column;
  }

  .ss-featured {
    padding-top: 80px;
  }

  .ss-featured-card {
    padding: 15px;

    gap: 25px;

    border-radius: 18px;
  }

  .ss-featured-content {
    padding: 10px 8px 20px;
  }

  .ss-section-heading {
    margin-bottom: 40px;
  }

  .ss-section-heading h2 {
    font-size: 2rem;
  }

  .ss-stories,
  .ss-highlights,
  .ss-cta {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .ss-cta-box {
    padding: 50px 22px;
  }
}
