@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
  --gd-public-bg: #f4f7fb;
  --gd-public-surface: #ffffff;
  --gd-public-surface-alt: #f8fbff;
  --gd-public-border: rgba(5, 47, 139, 0.12);
  --gd-public-text: #132238;
  --gd-public-muted: #5d6b82;
  --gd-public-primary: #052F8B;
  --gd-public-primary-dark: #031C54;
  --gd-public-accent: #15C5CF;
  --gd-public-shadow: 0 18px 45px rgba(18, 38, 63, 0.08);
  --gd-public-shadow-soft: 0 10px 30px rgba(18, 38, 63, 0.06);
}

.public-modern-page {
  background:
    radial-gradient(circle at top right, rgba(21, 197, 207, 0.10), transparent 28%),
    radial-gradient(circle at left 12%, rgba(5, 47, 139, 0.10), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, var(--gd-public-bg) 100%);
  color: var(--gd-public-text);
  font-family: "Inter", "Segoe UI", Roboto, sans-serif;
}

.public-modern-hero {
  padding: 3.25rem 0 2.25rem;
}

.public-hero-card,
.public-feature-card,
.public-panel,
.public-card,
.public-section-card,
.service-card,
.competition-card,
.evalix-section,
.brain-tonic-section,
.abhigam-section,
.school-card,
.gallery-item,
.search-filter-section,
.gallery-filters,
.gallery-stats,
.stats-bar,
.login-card,
.form-card,
.info-card,
.registration-content,
.user-card {
  border: 1px solid var(--gd-public-border);
  box-shadow: var(--gd-public-shadow-soft);
}

.public-hero-card,
.public-panel,
.public-section-card,
.search-filter-section,
.login-card,
.form-card,
.info-card,
.user-card,
.school-card,
.service-card,
.competition-card,
.gallery-item,
.evalix-section,
.brain-tonic-section,
.abhigam-section {
  border-radius: 24px !important;
  background: var(--gd-public-surface) !important;
}

.public-hero-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.94));
  box-shadow: var(--gd-public-shadow);
}

.public-section {
  padding: 4.25rem 0 !important;
}

.public-section-title,
.section-title h2,
.home-section-title {
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--gd-public-text) !important;
}

.public-section-copy,
.section-title p,
.home-section-copy {
  color: var(--gd-public-muted) !important;
  line-height: 1.75;
}

.public-hero-title,
.services-hero h1,
.gallery-hero h1,
.schools-hero h1,
.about-evalix-hero h1,
.login-hero h1,
.register-hero h1,
.userlist-hero h1 {
  font-size: clamp(2.35rem, 4.8vw, 4.2rem);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.public-hero-lead,
.services-hero p,
.gallery-hero p,
.schools-hero p,
.about-evalix-hero p,
.login-hero p,
.register-hero p,
.userlist-hero p {
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: clamp(1.02rem, 1.8vw, 1.15rem);
  line-height: 1.75;
}

.services-hero,
.gallery-hero,
.schools-hero,
.about-evalix-hero,
.login-hero,
.register-hero,
.userlist-hero {
  padding: 3.4rem 0 2.4rem !important;
  margin-bottom: 2rem !important;
  text-align: center !important;
  background: linear-gradient(135deg, var(--gd-public-primary) 0%, #1248B3 52%, var(--gd-public-accent) 100%) !important;
  color: #fff !important;
}

.services-section,
.competitions-section,
.gallery-section,
.schools-grid,
.users-section {
  background: transparent !important;
}

.services-section,
.competitions-section,
.gallery-section {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.service-card,
.competition-card,
.gallery-item,
.school-card,
.search-filter-section,
.gallery-filters,
.gallery-stats,
.stats-bar {
  border-radius: 24px !important;
  background: var(--gd-public-surface) !important;
  box-shadow: var(--gd-public-shadow-soft) !important;
}

.service-card-body,
.competition-card-body,
.gallery-item-caption,
.search-filter-section,
.gallery-filters,
.gallery-stats,
.stats-bar,
.school-card {
  padding: 1.35rem !important;
}

.service-card-image,
.competition-card-image,
.gallery-item-image,
.school-card::before {
  background: linear-gradient(135deg, rgba(5, 47, 139, 0.06), rgba(21, 197, 207, 0.05)) !important;
}

.section-title h2::after {
  background: linear-gradient(135deg, var(--gd-public-primary), var(--gd-public-accent)) !important;
  border-radius: 999px !important;
}

.highlight-tag,
.filter-btn,
.filter-tag,
.pagination-btn,
.service-card-badge,
.gallery-category-badge,
.project-badge {
  background: rgba(5, 47, 139, 0.08) !important;
}

.stats-bar .stat-item,
.gallery-stats .stat-box,
.home-metrics .metric-card {
  background: rgba(255, 255, 255, 0.82) !important;
}

.public-pill,
.filter-btn,
.filter-tag,
.highlight-tag,
.project-badge,
.service-card-badge,
.gallery-category-badge,
.home-pill,
.metric-card,
.stat-card,
.stat-box {
  border-radius: 999px;
}

.public-btn,
.btn-gradient,
.btn-success-gradient,
.btn-outline-gradient,
.btn-register,
.btn-verify {
  min-height: 48px;
  border-radius: 14px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.public-btn-primary,
.btn-gradient,
.btn-success-gradient {
  background: linear-gradient(135deg, var(--gd-public-primary) 0%, var(--gd-public-primary-dark) 100%);
  border: 0;
  color: #fff;
  box-shadow: 0 12px 24px rgba(5, 47, 139, 0.22);
}

.public-btn-secondary,
.btn-outline-gradient,
.btn-register {
  background: rgba(5, 47, 139, 0.08);
  color: var(--gd-public-primary);
  border: 1px solid rgba(5, 47, 139, 0.16);
}

.public-btn-primary:hover,
.public-btn-primary:focus,
.btn-gradient:hover,
.btn-success-gradient:hover,
.btn-outline-gradient:hover,
.btn-register:hover {
  transform: translateY(-2px);
}

.public-grid,
.schools-grid,
.gallery-grid,
.benefits-grid,
.why-evalix-grid,
.tonic-features-grid,
.covered-sections-grid,
.focus-areas-grid,
.login-cards-grid,
.registration-content {
  gap: 1rem;
}

.public-card,
.school-card,
.user-card,
.gallery-item,
.service-card,
.competition-card,
.login-card,
.form-card,
.info-card,
.public-panel,
.public-section-card {
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.public-card:hover,
.school-card:hover,
.user-card:hover,
.gallery-item:hover,
.service-card:hover,
.competition-card:hover,
.login-card:hover,
.form-card:hover,
.info-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--gd-public-shadow);
  border-color: rgba(5, 47, 139, 0.18);
}

.public-icon-badge,
.login-card-icon,
.profile-avatar,
.home-icon-badge {
  width: 3rem;
  height: 3rem;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--gd-public-primary), var(--gd-public-accent));
  color: #fff;
  box-shadow: 0 12px 24px rgba(5, 47, 139, 0.22);
}

.service-card-image,
.competition-card-image,
.gallery-item-image,
.login-hero,
.register-hero,
.services-hero,
.gallery-hero,
.schools-hero,
.userlist-hero {
  position: relative;
  overflow: hidden;
}

.service-card-image,
.competition-card-image,
.gallery-item-image {
  background: linear-gradient(135deg, rgba(5, 47, 139, 0.06), rgba(21, 197, 207, 0.05));
}

.service-card-body,
.competition-card-body,
.evalix-body,
.brain-tonic-body,
.abhigam-body,
.form-card,
.info-card,
.login-card,
.registration-content,
.user-card,
.school-card,
.gallery-item-caption {
  color: var(--gd-public-text);
}

.service-card-body p,
.service-card-body ul,
.competition-card-body p,
.competition-card-body ul,
.evalix-section p,
.brain-tonic-section p,
.abhigam-section p,
.form-card p,
.info-card p,
.user-role,
.school-location,
.gallery-item-caption p,
.login-card-header h2,
.register-banner-content p,
.home-card-text {
  color: var(--gd-public-muted);
}

.home-card,
.home-band,
.home-cta {
  box-shadow: var(--gd-public-shadow-soft);
}

.home-card,
.home-band,
.home-cta,
.search-filter-section,
.gallery-filters,
.gallery-stats,
.stats-bar,
.login-card,
.form-card,
.info-card,
.user-card,
.school-card,
.service-card,
.competition-card,
.evalix-section,
.brain-tonic-section,
.abhigam-section,
.gallery-item {
  background: var(--gd-public-surface);
}

.public-banner,
.register-banner,
.login-hero,
.register-hero,
.userlist-hero,
.services-hero,
.gallery-hero,
.schools-hero {
  color: #fff;
  background: linear-gradient(135deg, var(--gd-public-primary) 0%, #1248B3 50%, var(--gd-public-accent) 100%);
}

.public-banner::before,
.register-banner::before,
.login-hero::before,
.register-hero::before,
.userlist-hero::before,
.services-hero::before,
.gallery-hero::before,
.schools-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 40%);
  pointer-events: none;
}

.public-banner p,
.register-banner-content p,
.login-hero p,
.register-hero p,
.userlist-hero p,
.services-hero p,
.gallery-hero p,
.schools-hero p,
.public-banner h1,
.login-hero h1,
.register-hero h1,
.userlist-hero h1,
.services-hero h1,
.gallery-hero h1,
.schools-hero h1 {
  color: #fff;
}

.section-title,
.login-card-header,
.form-card h2,
.info-card h3,
.evalix-section-title {
  letter-spacing: -0.02em;
}

.form-label {
  font-weight: 700;
  color: var(--gd-public-text);
  margin-bottom: 0.5rem;
}

.form-control,
.form-select,
.otp-box,
.otp-input {
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid rgba(5, 47, 139, 0.16);
  padding: 0.85rem 0.95rem;
  font-size: 1rem;
}

.form-control:focus,
.form-select:focus,
.otp-box:focus,
.otp-input:focus {
  border-color: var(--gd-public-primary);
  box-shadow: 0 0 0 0.2rem rgba(5, 47, 139, 0.12);
}

.alert {
  border: 0;
  border-radius: 14px;
  padding: 1rem 1.1rem;
}

.alert-info,
.alert-success,
.alert-danger,
.alert-warning {
  color: #fff;
}

.alert-info { background: linear-gradient(135deg, #15C5CF 0%, #24DDE8 100%); }
.alert-success { background: linear-gradient(135deg, #052F8B 0%, #15C5CF 100%); }
.alert-danger { background: linear-gradient(135deg, #ff6b6b 0%, #ee5a6f 100%); }
.alert-warning { background: linear-gradient(135deg, rgba(5, 47, 139, 0.08) 0%, rgba(21, 197, 207, 0.16) 100%); color: #052F8B; border: 1px solid rgba(5, 47, 139, 0.15); }

.search-box input,
.search-filter-section .search-box input {
  border-radius: 14px;
  border: 1px solid rgba(5, 47, 139, 0.16);
}

.filter-btn,
.filter-tag,
.pagination-btn,
.highlight-tag,
.home-pill,
.project-badge,
.service-card-badge,
.gallery-category-badge {
  border: 1px solid rgba(5, 47, 139, 0.14);
  background: rgba(255, 255, 255, 0.78);
  color: var(--gd-public-primary-dark);
  font-weight: 600;
}

.filter-btn.active,
.filter-btn:hover,
.filter-tag.active,
.filter-tag:hover,
.pagination-btn.active,
.pagination-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, var(--gd-public-primary) 0%, var(--gd-public-primary-dark) 100%);
  color: #fff;
  border-color: transparent;
}

.gallery-overlay {
  background: linear-gradient(135deg, rgba(5, 47, 139, 0.88), rgba(21, 197, 207, 0.88));
}

.gallery-overlay-icon {
  color: var(--gd-public-primary);
}

.stats-bar,
.gallery-stats {
  background: linear-gradient(135deg, rgba(5, 47, 139, 0.08), rgba(21, 197, 207, 0.06));
}

.stat-number,
.metric-value {
  color: var(--gd-public-primary);
  font-weight: 800;
}

@media (max-width: 767.98px) {
  .public-section,
  .home-section {
    padding: 3rem 0;
  }

  .public-hero-card,
  .public-panel,
  .login-card,
  .form-card,
  .info-card,
  .user-card,
  .school-card,
  .gallery-item,
  .service-card,
  .competition-card,
  .evalix-section,
  .brain-tonic-section,
  .abhigam-section {
    border-radius: 20px;
  }

  .login-cards-grid,
  .registration-content,
  .schools-grid,
  .gallery-grid,
  .benefits-grid,
  .why-evalix-grid,
  .tonic-features-grid,
  .focus-areas-grid {
    grid-template-columns: 1fr !important;
  }

  .register-banner,
  .stats-bar {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
}

body.public-modern-page .services-hero,
body.public-modern-page .gallery-hero,
body.public-modern-page .schools-hero,
body.public-modern-page .about-evalix-hero,
body.public-modern-page .login-hero,
body.public-modern-page .register-hero,
body.public-modern-page .userlist-hero {
  position: relative;
  overflow: hidden;
  padding: 4.2rem 0 3rem !important;
  margin-bottom: 1.5rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background:
    radial-gradient(circle at top right, rgba(36, 221, 232, 0.16), transparent 26%),
    radial-gradient(circle at left 14%, rgba(5, 47, 139, 0.14), transparent 24%),
    linear-gradient(135deg, var(--gd-public-primary) 0%, #1248B3 58%, var(--gd-public-accent) 100%) !important;
  box-shadow: 0 24px 54px rgba(18, 38, 63, 0.12);
}

body.public-modern-page .services-hero::before,
body.public-modern-page .gallery-hero::before,
body.public-modern-page .schools-hero::before,
body.public-modern-page .about-evalix-hero::before,
body.public-modern-page .login-hero::before,
body.public-modern-page .register-hero::before,
body.public-modern-page .userlist-hero::before {
  opacity: 0.24;
}

body.public-modern-page .services-hero h1,
body.public-modern-page .gallery-hero h1,
body.public-modern-page .schools-hero h1,
body.public-modern-page .about-evalix-hero h1,
body.public-modern-page .login-hero h1,
body.public-modern-page .register-hero h1,
body.public-modern-page .userlist-hero h1 {
  text-shadow: 0 12px 28px rgba(3, 28, 84, 0.18);
}

body.public-modern-page .services-hero p,
body.public-modern-page .gallery-hero p,
body.public-modern-page .schools-hero p,
body.public-modern-page .about-evalix-hero p,
body.public-modern-page .login-hero p,
body.public-modern-page .register-hero p,
body.public-modern-page .userlist-hero p {
  max-width: 72ch;
  margin-left: auto;
  margin-right: auto;
}

body.public-modern-page .services-section,
body.public-modern-page .competitions-section,
body.public-modern-page .gallery-section,
body.public-modern-page .schools-grid,
body.public-modern-page .users-section {
  padding-top: 3rem !important;
  padding-bottom: 3.5rem !important;
}

body.public-modern-page .service-card,
body.public-modern-page .competition-card,
body.public-modern-page .gallery-item,
body.public-modern-page .school-card,
body.public-modern-page .search-filter-section,
body.public-modern-page .gallery-filters,
body.public-modern-page .gallery-stats,
body.public-modern-page .stats-bar {
  border-radius: 26px !important;
  border: 1px solid rgba(5, 47, 139, 0.10) !important;
  box-shadow: 0 18px 42px rgba(18, 38, 63, 0.08) !important;
  background: rgba(255, 255, 255, 0.96) !important;
}

body.public-modern-page .service-card:hover,
body.public-modern-page .competition-card:hover,
body.public-modern-page .gallery-item:hover,
body.public-modern-page .school-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 56px rgba(5, 47, 139, 0.16) !important;
  border-color: rgba(5, 47, 139, 0.18) !important;
}

body.public-modern-page .service-card-body,
body.public-modern-page .competition-card-body,
body.public-modern-page .gallery-item-caption,
body.public-modern-page .search-filter-section,
body.public-modern-page .gallery-filters,
body.public-modern-page .gallery-stats,
body.public-modern-page .stats-bar,
body.public-modern-page .school-card {
  padding: 1.4rem !important;
}

body.public-modern-page .highlight-tag,
body.public-modern-page .filter-btn,
body.public-modern-page .filter-tag,
body.public-modern-page .pagination-btn,
body.public-modern-page .service-card-badge,
body.public-modern-page .gallery-category-badge,
body.public-modern-page .project-badge {
  border-radius: 999px !important;
  border: 1px solid rgba(5, 47, 139, 0.12) !important;
  background: rgba(5, 47, 139, 0.06) !important;
}

body.public-modern-page .gallery-filters .filter-btn:hover,
body.public-modern-page .gallery-filters .filter-btn.active,
body.public-modern-page .filter-btn.active,
body.public-modern-page .filter-tag.active {
  background: linear-gradient(135deg, var(--gd-public-primary) 0%, var(--gd-public-accent) 100%) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 14px 30px rgba(5, 47, 139, 0.20) !important;
}

body.public-modern-page .search-filter-section input,
body.public-modern-page .search-box input {
  border-radius: 16px;
  border-color: rgba(5, 47, 139, 0.14);
  background: #fff;
}

body.public-modern-page .search-box input:focus {
  border-color: rgba(5, 47, 139, 0.32);
  box-shadow: 0 0 0 0.2rem rgba(5, 47, 139, 0.10);
}

body.public-modern-page .gallery-overlay {
  background: linear-gradient(135deg, rgba(5, 47, 139, 0.88), rgba(21, 197, 207, 0.88));
}

body.public-modern-page .gallery-overlay-icon {
  color: var(--gd-public-primary);
}

body.public-modern-page .stats-bar .stat-item,
body.public-modern-page .gallery-stats .stat-box,
body.public-modern-page .home-metrics .metric-card {
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86) !important;
  border: 1px solid rgba(5, 47, 139, 0.08);
}

body.public-modern-page .public-btn,
body.public-modern-page .btn-gradient,
body.public-modern-page .btn-success-gradient,
body.public-modern-page .btn-outline-gradient,
body.public-modern-page .btn-register,
body.public-modern-page .btn-verify {
  min-height: 48px;
  border-radius: 14px;
}

body.public-modern-page .public-btn-primary,
body.public-modern-page .btn-gradient,
body.public-modern-page .btn-success-gradient,
body.public-modern-page .btn-register {
  background: linear-gradient(135deg, var(--gd-public-primary) 0%, var(--gd-public-primary-dark) 100%) !important;
  box-shadow: 0 12px 24px rgba(5, 47, 139, 0.22);
}

body.public-modern-page .public-btn-secondary,
body.public-modern-page .btn-outline-gradient,
body.public-modern-page .btn-verify {
  background: rgba(5, 47, 139, 0.06) !important;
  border: 1px solid rgba(5, 47, 139, 0.14) !important;
}

body.public-modern-page .public-btn-primary:hover,
body.public-modern-page .btn-gradient:hover,
body.public-modern-page .btn-success-gradient:hover,
body.public-modern-page .btn-outline-gradient:hover,
body.public-modern-page .btn-register:hover,
body.public-modern-page .btn-verify:hover {
  transform: translateY(-1px);
}

body.public-modern-page {
  background:
    radial-gradient(circle at top right, rgba(36, 221, 232, 0.10), transparent 24%),
    radial-gradient(circle at left 12%, rgba(5, 47, 139, 0.08), transparent 22%),
    linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%) !important;
  color: var(--gd-public-text);
}

body.public-modern-page .services-hero,
body.public-modern-page .gallery-hero,
body.public-modern-page .schools-hero,
body.public-modern-page .about-evalix-hero {
  position: relative;
  overflow: hidden;
  padding: 5rem 0 4rem !important;
  text-align: center;
  color: #fff;
  background:
    radial-gradient(circle at top right, rgba(36, 221, 232, 0.18), transparent 25%),
    radial-gradient(circle at left 12%, rgba(5, 47, 139, 0.14), transparent 28%),
    linear-gradient(135deg, var(--gd-public-primary) 0%, #1248B3 58%, var(--gd-public-accent) 100%) !important;
  box-shadow: 0 24px 54px rgba(18, 38, 63, 0.12);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

body.public-modern-page .services-hero::before,
body.public-modern-page .gallery-hero::before,
body.public-modern-page .schools-hero::before,
body.public-modern-page .about-evalix-hero::before {
  opacity: 0.22 !important;
}

body.public-modern-page .services-hero h1,
body.public-modern-page .gallery-hero h1,
body.public-modern-page .schools-hero h1,
body.public-modern-page .about-evalix-hero h1 {
  color: #fff;
  text-shadow: 0 12px 28px rgba(3, 28, 84, 0.18);
}

body.public-modern-page .services-hero p,
body.public-modern-page .gallery-hero p,
body.public-modern-page .schools-hero p,
body.public-modern-page .about-evalix-hero p {
  max-width: 72ch;
  margin-left: auto;
  margin-right: auto;
  color: rgba(255, 255, 255, 0.96);
}

body.public-modern-page .services-hero .highlight-tag,
body.public-modern-page .gallery-hero .hero-eyebrow,
body.public-modern-page .schools-hero .hero-eyebrow,
body.public-modern-page .about-evalix-hero .eyebrow {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.20);
  box-shadow: 0 14px 28px rgba(3, 28, 84, 0.18);
  backdrop-filter: blur(10px);
}

body.public-modern-page .services-section,
body.public-modern-page .competitions-section,
body.public-modern-page .gallery-section,
body.public-modern-page .section-wrap,
body.public-modern-page .schools-shell {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

body.public-modern-page .services-section,
body.public-modern-page .gallery-section,
body.public-modern-page .section-wrap,
body.public-modern-page .schools-shell {
  background: transparent !important;
}

body.public-modern-page .section-title {
  text-align: center;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.25rem;
}

body.public-modern-page .section-title h2 {
  font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
  line-height: 1.08;
  letter-spacing: -0.04em;
  font-weight: 800;
  color: var(--gd-public-text) !important;
  margin-bottom: 0.75rem;
}

body.public-modern-page .section-title h2::after {
  content: "";
  display: block;
  width: 84px;
  height: 4px;
  margin: 0.75rem auto 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gd-public-primary) 0%, var(--gd-public-accent) 100%);
}

body.public-modern-page .section-title p {
  max-width: 70ch;
  margin: 0 auto;
  color: var(--gd-public-muted) !important;
  line-height: 1.8;
}

body.public-modern-page .service-card,
body.public-modern-page .competition-card,
body.public-modern-page .gallery-item,
body.public-modern-page .school-card,
body.public-modern-page .info-card,
body.public-modern-page .stat-card,
body.public-modern-page .timeline-card,
body.public-modern-page .mission-card,
body.public-modern-page .cta-card,
body.public-modern-page .search-filter-section,
body.public-modern-page .gallery-filters,
body.public-modern-page .gallery-stats,
body.public-modern-page .stats-bar {
  border-radius: 26px !important;
  border: 1px solid rgba(5, 47, 139, 0.10) !important;
  box-shadow: 0 18px 42px rgba(18, 38, 63, 0.08) !important;
  background: rgba(255, 255, 255, 0.96) !important;
}

body.public-modern-page .service-card:hover,
body.public-modern-page .competition-card:hover,
body.public-modern-page .gallery-item:hover,
body.public-modern-page .school-card:hover,
body.public-modern-page .info-card:hover,
body.public-modern-page .stat-card:hover,
body.public-modern-page .timeline-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 56px rgba(5, 47, 139, 0.16) !important;
  border-color: rgba(5, 47, 139, 0.18) !important;
}

body.public-modern-page .service-card-body,
body.public-modern-page .competition-card-body,
body.public-modern-page .gallery-item-caption,
body.public-modern-page .school-card,
body.public-modern-page .info-card,
body.public-modern-page .timeline-card,
body.public-modern-page .stat-card,
body.public-modern-page .search-filter-section,
body.public-modern-page .gallery-filters,
body.public-modern-page .gallery-stats,
body.public-modern-page .stats-bar {
  padding: 1.35rem !important;
}

body.public-modern-page .gallery-filters .filter-btn {
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(18, 38, 63, 0.05);
}

body.public-modern-page .gallery-filters .filter-btn:hover,
body.public-modern-page .gallery-filters .filter-btn.active {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(5, 47, 139, 0.22);
}

body.public-modern-page .search-box input {
  min-height: 54px;
  border-radius: 16px;
  border-color: rgba(5, 47, 139, 0.14);
}

body.public-modern-page .search-box input:focus {
  border-color: rgba(5, 47, 139, 0.32);
  box-shadow: 0 0 0 0.2rem rgba(5, 47, 139, 0.10);
}

body.public-modern-page .hero-actions a,
body.public-modern-page .services-hero .highlight-tag,
body.public-modern-page .gallery-filters .filter-btn,
body.public-modern-page .hero-eyebrow,
body.public-modern-page .eyebrow {
  min-height: 48px;
}

body.public-modern-page .hero-actions a,
body.public-modern-page .services-hero .highlight-tag,
body.public-modern-page .gallery-filters .filter-btn,
body.public-modern-page .hero-eyebrow,
body.public-modern-page .eyebrow,
body.public-modern-page .search-filter-section,
body.public-modern-page .mission-card,
body.public-modern-page .cta-card {
  border-radius: 18px;
}

body.public-modern-page .hero-actions a {
  padding: 0.85rem 1.15rem;
  font-weight: 700;
}

body.public-modern-page .hero-primary,
body.public-modern-page .hero-secondary {
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

body.public-modern-page .hero-primary:hover,
body.public-modern-page .hero-secondary:hover {
  transform: translateY(-2px);
}

body.public-modern-page .mission-card,
body.public-modern-page .cta-card {
  position: relative;
  overflow: hidden;
}

body.public-modern-page .mission-card {
  background: linear-gradient(135deg, rgba(5, 47, 139, 0.96) 0%, rgba(18, 72, 179, 0.94) 45%, rgba(21, 197, 207, 0.95)) !important;
  color: #fff;
}

body.public-modern-page .mission-list li,
body.public-modern-page .mission-card p,
body.public-modern-page .cta-card p {
  color: rgba(255, 255, 255, 0.95);
}

body.public-modern-page .timeline-year {
  border-radius: 999px;
  background: rgba(5, 47, 139, 0.08);
  color: var(--gd-public-primary);
}

body.public-modern-page .cta-card {
  background: linear-gradient(135deg, rgba(5, 47, 139, 0.96), rgba(18, 72, 179, 0.94) 45%, rgba(21, 197, 207, 0.95)) !important;
  color: #fff;
  box-shadow: 0 20px 40px rgba(5, 47, 139, 0.18) !important;
}

body.public-modern-page .cta-card .hero-secondary {
  background: rgba(255, 255, 255, 0.95);
  color: var(--gd-public-primary);
  border-color: transparent;
}

body.public-modern-page .cta-card .hero-secondary:hover,
body.public-modern-page .cta-card .hero-secondary:focus {
  background: #fff;
  color: var(--gd-public-primary-dark);
}

