@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100;300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jura:wght@500;600;900&display=swap");
.speedyui {
  --su-primary-color: var(--bs-primary);
  --su-secondary-color: #b65cf9;
  --su-nav-link-color:var(--bs-dark);
  font-family: "Inter", sans-serif;
}
.speedyui .speedyui-btn {
  transform: translateY(0px);
  transition: all 0.3s;
  background-color: var(--su-primary-color);
  color: var(--bs-white);
}
.speedyui .speedyui-btn:hover {
  transform: translateY(5px);
}

.speedyui-header {
  z-index: 9;
}
.speedyui-header ul, .speedyui-header ol, .speedyui-header p, .speedyui-header h1, .speedyui-header h2, .speedyui-header h3, .speedyui-header h4, .speedyui-header h5, .speedyui-header h6, .speedyui-header figure {
  margin: 0;
  padding: 0;
}
.speedyui-header ul.navbar-nav li.nav-item {
  margin: 0 1.25rem;
}
@media (min-width: 1200px) {
  .speedyui-header ul.navbar-nav li.nav-item {
    margin: 0 1.85rem;
  }
}
.speedyui-header ul.navbar-nav li.nav-item a.nav-link {
  color: var(--su-nav-link-color);
  padding: 1rem 0;
  font-size: 0.9rem;
  font-weight: 500;
  position: relative;
}
.speedyui-header ul.navbar-nav li.nav-item a.nav-link:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 8px;
  width: 100%;
  border-bottom: 2px solid var(--su-primary-color);
  transform: scaleX(0);
  transition: all 0.5s ease;
}
.speedyui-header ul.navbar-nav li.nav-item a.nav-link.active:before {
  transform: scaleX(1);
}
.speedyui-header ul.navbar-nav li.nav-item a.nav-link.active::after {
  border-color: var(--bs-dark);
}
.speedyui-header ul.navbar-nav li.nav-item a.nav-link:hover:before {
  transform: scaleX(1);
}
/* Reference (sevaeducationaltrust.in): white menu links on blue navbar */
.speedyui-header .main-nav .nav-bg ul.navbar-nav li.nav-item a.nav-link {
  color: #ffffff;
}
.speedyui-header .main-nav .nav-bg ul.navbar-nav li.nav-item a.nav-link:before {
  border-bottom-color: #ffffff;
}
/* Blink effect for "Register Now" button (same as reference <blink> tag) */
@keyframes condemned_blink_effect {
  0%   { visibility: hidden; }
  50%  { visibility: hidden; }
  100% { visibility: visible; }
}
.speedyui-header .btn-blink {
  animation: condemned_blink_effect 1s linear infinite;
}
.speedyui-header ul.navbar-nav li.nav-item a.nav-link:hover:after {
  border-color: var(--su-nav-link-color);
}
.speedyui-header ul.navbar-nav li.nav-item:last-of-type a.nav-link {
  margin-right: 0;
  padding-right: 0;
}
.speedyui-header ul.navbar-nav li.nav-item:first-of-type a.nav-link {
  margin-left: 0;
  padding-left: 0;
}
.speedyui-header ul.navbar-nav .dropdown-menu {
  border-radius: 0;
  box-shadow: 0 0px 10px rgba(37, 37, 37, 0.12);
  margin: 0;
  background: #fff;
  border: none;
  transition: all 0.3s;
  top: 115% !important;
  z-index: 9;
}
.speedyui-header ul.navbar-nav .dropdown-menu a.dropdown-item {
  padding: 0.35rem 1rem;
  transition: all 0.3s;
  font-size: 0.9rem;
  color: var(--su-nav-link-color);
  font-weight: 500;
}
.speedyui-header ul.navbar-nav .dropdown-menu a.dropdown-item:after {
  border-color: var(--su-nav-link-color);
}
.speedyui-header ul.navbar-nav .dropdown-menu a.dropdown-item:hover {
  padding-left: 1.5rem;
  color: var(--su-primary-color);
}
.speedyui-header ul.navbar-nav .dropdown-menu a.dropdown-item:hover:after {
  border-color: var(--su-primary-color);
}
.speedyui-header ul.navbar-nav .dropdown-menu a.dropdown-item.active {
  color: var(--su-primary-color);
}
.speedyui-header ul.navbar-nav .dropdown-toggle:after {
  border-color: var(--su-nav-link-colork);
  box-sizing: border-box;
  height: 0.4em;
  width: 0.4em;
  border-style: solid;
  border-width: 0px 1px 1px 0px;
  transform: rotate(45deg);
  transition: all 0.3s;
  margin-left: 0.355em;
}
.speedyui-header ul.nav-controls li {
  color: var(--su-nav-link-color);
  transition: all 0.3s;
}
.speedyui-header ul.nav-controls li:hover {
  color: var(--su-primary-color);
}
.speedyui-header .offcanvas-toggle .icon-wrapper {
  z-index: 0;
  color: var(--bs-dark);
  transition: all 0.3s;
}
.speedyui-header .offcanvas-toggle:hover .icon-wrapper {
  color: var(--su-primary-color);
}
.speedyui-header .offcanvas-toggle:hover .icon-wrapper:before {
  opacity: 1;
}
@media screen and (min-width: 992px) {
  .speedyui-header .dropdown .dropdown-menu {
    opacity: 0;
    visibility: hidden;
    display: block;
    min-width: 12em;
  }
  .speedyui-header .dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    top: 100% !important;
  }
}

.speedyui-offcanvas {
  --su-width: 100%;
  --bs-border-color: #3b3838;
}
.speedyui-offcanvas .btn-close {
  transition: all ease 0.4s;
}
.speedyui-offcanvas .btn-close:hover {
  transform: rotate(90deg);
}
.speedyui-offcanvas .offcanvas {
  transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  overflow-y: auto;
}
.speedyui-offcanvas .offcanvas.offcanvas-desktop {
  width: var(--su-width);
}
@media (min-width: 768px) {
  .speedyui-offcanvas .offcanvas.offcanvas-desktop {
    --su-width: 445px;
  }
}
.speedyui-offcanvas .offcanvas.offcanvas-desktop .offcanvas-body p {
  font-size: 1.125rem;
}
.speedyui-offcanvas .offcanvas.offcanvas-desktop .contact-wrapper .contact-icon {
  cursor: pointer;
  color: var(--su-primary-color);
}
.speedyui-offcanvas .offcanvas.offcanvas-desktop .contact-wrapper a {
  color: var(--bs-dark);
}
.speedyui-offcanvas .offcanvas.offcanvas-desktop .contact-wrapper a:hover {
  color: var(--su-primary-color);
}
.speedyui-offcanvas .offcanvas.offcanvas-mobile {
  --su-secondary-color: var(--bs-dark);
  color: var(--bs-white);
  border: none;
}
.speedyui-offcanvas .offcanvas.offcanvas-mobile ul.offcanvas-listing li a {
  border-bottom: 1px solid #ededed;
  color: var(--bs-dark);
  transition: color 0.3s ease;
}
.speedyui-offcanvas .offcanvas.offcanvas-mobile ul.offcanvas-listing li a:hover {
  color: var(--su-primary-color);
}
.speedyui-offcanvas .offcanvas.offcanvas-mobile ul.offcanvas-listing li a span {
  transform: rotate(180deg);
  transition: transform 0.3s ease;
}
.speedyui-offcanvas .offcanvas.offcanvas-mobile ul.offcanvas-listing li a.collapsed span {
  transform: rotate(0deg);
}
.speedyui-offcanvas .offcanvas.offcanvas-mobile ul.offcanvas-listing li:last-of-type a {
  border-bottom: 0;
}
.speedyui-offcanvas .offcanvas.offcanvas-mobile ul.offcanvas-listing .collapse li a {
  border-bottom: 1px solid #ededed;
}
.speedyui-offcanvas .social-listing li a {
  width: 50px;
  height: 50px;
  border-radius: 50rem;
  color: var(--bs-dark);
  background-color: var(--bs-light);
  transition: 300ms ease-in;
}
.speedyui-offcanvas .social-listing li a:hover {
  background-color: var(--su-primary-color);
  color: var(--bs-white);
}
.speedyui-offcanvas .social-listing li a.social-facebook:hover {
  background-color: #1877f2;
  color: var(--bs-white);
}
.speedyui-offcanvas .social-listing li a.social-youtube:hover {
  background-color: #ff0000;
  color: var(--bs-white);
}
.speedyui-offcanvas .social-listing li a.social-whatsapp:hover {
  background-color: #25d366;
  color: var(--bs-white);
}
.speedyui-offcanvas .social-listing li a.social-instagram:hover {
  background: linear-gradient(45deg, #f9ce34, #ee2a7b, #6228d7);
  color: var(--bs-white);
}
.speedyui-offcanvas .floating-blob {
  width: 360px;
  z-index: -1;
  transform: rotate(-180deg);
  color: var(--su-primary-color);
}

.speedyui-hero {
  padding-top: 6rem;
  padding-bottom: 3rem;
  z-index: 0;
  background-image: linear-gradient(to bottom right, rgba(255, 255, 255, 0.5), #f7f7f7, rgba(255, 255, 255, 0.5));
}
.speedyui-hero .primary-text {
  color: var(--su-primary-color);
}
@media (min-width: 992px) {
  .speedyui-hero {
    padding-top: 10rem;
    padding-bottom: 5rem;
  }
}
.speedyui-hero .hero-content .hero-badge {
  font-size: 13px;
  font-weight: 600;
}
.speedyui-hero .hero-content .l-more {
  color: #6c757d;
  transition: all 0.3s;
}
.speedyui-hero .hero-content .l-more .icon {
  transition: all 0.3s;
  margin-left: 2px;
}
.speedyui-hero .hero-content .l-more:hover {
  color: black;
}
.speedyui-hero .hero-content .l-more:hover .icon {
  margin-left: 8px;
}
.speedyui-hero .hero-content .logo-list img {
  filter: grayscale(100%);
  opacity: 0.6;
  transition: all 0.3s;
}
.speedyui-hero .hero-content .logo-list img:hover {
  filter: grayscale(0);
  opacity: 1;
}

/* Card section CSS */
.card-effects .card-effect {
  border: none;
  background: #dee2e6;
}
.card-effects .card-effect .card-body {
  box-shadow: 0px 5px 24.25px 0.75px rgba(0,0,0,0.1);
  background: #fff;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px
}
.card-effects .card-effect .card-img {
  position: relative;
  overflow: hidden;
}
.card-effects .card-effect:hover .card-img {
  border-top-left-radius: 5px !important;
  border-top-right-radius: 5px !important
}
.card-effects .card-effect .card-img img {
  width: 100%;
  transition: .6s
}
.card-effects .card-effect:hover .card-img img {
  transform: scale(1.2);
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.card-effects .img-hover {
    position: relative;
    overflow: hidden
}
.card-effects .img-hover img {
  transition: all 2s ease;
  transform: scale(1)
}
.card-effects .img-hover:after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: 1;
  z-index: 3
}
.card-effects .img-hover:before {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: 1;
  z-index: 3;
  top: -10%;
  right: 51%;
  bottom: -10%;
  left: 50%;
  background: rgba(255,255,255,0.3)
}
.card-effects .img-hover:after {
  top: 50%;
  right: -10%;
  bottom: 50%;
  left: -10%;
  background: rgba(255,255,255,0.6)
}
.card-effects .card-effect:hover .img-hover:before {
  left: 0;
  right: 0;
  opacity: 0;
  transition: all 900ms linear
}
.card-effects .card-effect:hover .img-hover:after {
  top: 0;
  bottom: 0;
  opacity: 0;
  transition: all 900ms linear
}
.card-effects .card-effect:hover .img-hover img {
    transform: scale(1.2)
}
.card-effects .card-btn {
    display: inline-block;
    padding: 14px 25px 14px 55px;
    position: relative;
    background-color: #2fbfa7;
    color: #ffffff;
    text-transform: capitalize;
    border-radius: 5px;
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 800;
    cursor: pointer;
    border: none;
    transition: 0.5s;
    background-image: linear-gradient(to right top, #8f42b9, #9746c3, #a04bce, #a84fd8, #b154e3);
}
.card-effects .card-btn:hover {
    background-image: linear-gradient(to right top, #b154e3, #a84fd8, #a04bce, #9746c3, #8f42b9);
  transition: 0.5s;
}
.card-effects .card-btn .icon-arrow {
  color: #ffffff;
  top: 16px;
  transition: transform 0.5s cubic-bezier(0.86, 0, 0.07, 1),opacity 0.4s cubic-bezier(0.86, 0, 0.07,1);
  font-size: 18px;
  backface-visibility: hidden;
  transform: translateZ(0);
  perspective: 1000
}
.card-effects .card-btn .icon-arrow.before {
  left: 20%;
  position: absolute;
  transform-origin: left center
}
.card-effects .card-btn .icon-arrow.after {
  opacity: 0;
  position: absolute;
  right: 48px;
  transform: translateX(75%) scaleX(0.1);
  transform-origin: right center
}
.card-effects .card-btn.secondary {
  background-color: #ff7029
}
.card-effects .card-btn.secondary:hover, .card-effects .card-btn.secondary:active, .card-effects .card-btn.secondary:focus {
  background-color: #2fbfa7
}
.card-effects .card-btn.white .icon-arrow {
  color: #2fbfa7
}
.card-effects .card-btn.white:hover .icon-arrow, .card-effects .card-btn.white:active .icon-arrow, .card-effects .card-btn.white:focus .icon-arrow {
  color: #fff
}
.card-effects .card-btn.md .icon-arrow {
  top: 22px;
}
.card-effects .card-btn.sm {
  padding: 10px 25px 10px 50px !important;
  font-size: 14px !important
}
.card-effects .card-btn .label {
  display: inline-block;
  transition: transform 0.5s cubic-bezier(0.86, 0, 0.07, 1);
  backface-visibility: hidden;
  transform: translateZ(0);
  perspective: 1000
}
.card-effects .card-btn.white {
  background-color: #ffffff;
  color: #2fbfa7
}
.card-effects .card-btn .icon-arrow.white {
  color: #2fbfa7;
  top: 16px
}
.card-effects .card-btn:hover, .card-effects .card-btn:active, .card-effects .card-btn:focus {
  background-color: #ff7029;
  color: #ffffff
}
.card-effects .card-btn:hover .icon-arrow.before, .card-effects .card-btn:active .icon-arrow.before, .card-effects .card-btn:focus .icon-arrow.before {
  opacity: 0;
  transform: translateX(-75%) scaleX(0.1)
}
.card-effects .card-btn:hover .icon-arrow.after, .card-effects .card-btn:active .icon-arrow.after, .card-effects .card-btn:focus .icon-arrow.after {
  opacity: 1;
  transform: translateX(0) scaleX(1)
}
.card-effects .card-btn:hover .label, .card-effects .card-btn:active .label, .card-effects .card-btn:focus .label {
  transform: translateX(-32px)
}
.card-effects .text-tb-lines {
    display: grid;
    align-items: center;
    text-align: center;
    gap: 10px;
    color: #561778;
}
.card-effects .text-tb-lines::before, .text-tb-lines::after {
  content: '';
  border-top: 6px double;
  color: #ffe5f4;
}
/* chatgpt */

/* ============================================================
   GSF HOME SECTIONS — institutional redesign (2026-10-26)
   Scoped styles: all selectors use "gsf-" prefix, applied only to
   the redesigned homepage sections in index.php.
   Palette: navy #0E1F3D / blue #2563EB / green #15803D / orange #D97706
============================================================ */
:root{
  --gsf-navy:#0E1F3D;
  --gsf-blue:#2563EB;
  --gsf-blue-dark:#1D4ED8;
  --gsf-green:#15803D;
  --gsf-green-text:#166534;
  --gsf-orange:#D97706;
  --gsf-text:#43536B;
  --gsf-muted:#64748B;
  --gsf-line:#E6EBF3;
  --gsf-line-hover:#D7E3F4;
  --gsf-soft:#F7F9FC;
  --gsf-tint-blue:#EDF3FE;
  --gsf-tint-green:#E9F5EF;
  --gsf-tint-orange:#FDF3E6;
  --gsf-gold:#F5BE4A;
}

.gsf-section{
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  padding:4.5rem 0;
  background:#fff;
  color:var(--gsf-text);
}
.gsf-section--soft{background:var(--gsf-soft);}

.gsf-section-head{max-width:760px;margin-bottom:2.75rem}
.gsf-h2{font-size:2.4rem;font-weight:800;color:var(--gsf-navy);margin-bottom:.55rem;letter-spacing:-.02em}
.gsf-grad-text{
  background:linear-gradient(90deg,#a4508b 0%,#5f0a87 55%,#258bd5 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.gsf-sub{font-size:.95rem;line-height:1.7;color:var(--gsf-muted);max-width:660px;margin:0 auto 0}
.gsf-rule{display:block;width:56px;height:4px;border-radius:999px;background:#D7E3F4;margin:1.15rem auto 0}

.gsf-card{
  background:#fff;
  border:1px solid var(--gsf-line);
  border-radius:10px;
  padding:1.75rem;
  box-shadow:0 1px 2px rgba(14,31,61,.04);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.gsf-card:hover{
  transform:translateY(-3px);
  border-color:var(--gsf-line-hover);
  box-shadow:0 14px 30px rgba(14,31,61,.08);
}

.gsf-icon{
  width:48px;height:48px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:1.15rem;margin-bottom:1.15rem;
}
.gsf-icon-blue{background:var(--gsf-tint-blue);color:var(--gsf-blue)}

.gsf-card-title{font-size:1.02rem;font-weight:600;color:var(--gsf-navy);margin-bottom:.45rem}
.gsf-card-text{font-size:.875rem;line-height:1.65;color:var(--gsf-muted);margin-bottom:1.35rem}

/* Buttons */
.gsf-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:inherit;font-size:.895rem;font-weight:600;line-height:1.4;
  border:0;border-radius:10px;padding:.62rem 1.3rem;
  text-decoration:none;transition:background-color .25s ease;
}
.gsf-btn-blue{background:var(--gsf-blue);color:#fff}
.gsf-btn-blue:hover,.gsf-btn-blue:focus{background:var(--gsf-blue-dark);color:#fff}
.gsf-btn-green{background:var(--gsf-green);color:#fff}
.gsf-btn-green:hover,.gsf-btn-green:focus{background:#12653A;color:#fff}
.gsf-btn-orange{background:#C2410C;color:#fff}
.gsf-btn-orange:hover,.gsf-btn-orange:focus{background:#9A3412;color:#fff}
.gsf-btn .fas{font-size:.8rem}

/* Keyboard focus states (scoped) */
.gsf-section a:focus-visible,
.gsf-section button:focus-visible{
  outline:3px solid rgba(37,99,235,.4);
  outline-offset:2px;
}

/* Motion respect + mobile rhythm */
@media (prefers-reduced-motion:reduce){
  .gsf-card,.gsf-card:hover{transition:none;transform:none}
}
@media (max-width:575.98px){
  .gsf-section{padding:3rem 0}
  .gsf-card{padding:1.4rem}
  .gsf-h2{font-size:1.62rem}
  .gsf-pset-title{font-size:1.7rem}
}

/* ============================================================
   GSF QUICK ACTION CARDS — "UL product plan cards" demo style
   (user-provided demo replica, same to same values; old
   action-card content - no prices). Scoped: .gsf-planssection,
   .gsf-plans, .gsf-plan*
============================================================ */
.gsf-planssection{
  background:#f5f5f5;
  font-family:"Jura",sans-serif;
  color:rgba(30,30,30);
  padding:4rem 0 4.5rem;
}
ul.gsf-plans{
  width:min(60rem,100%);
  margin-inline:auto;
  margin-block:0;
  padding:0;
  display:flex;
  row-gap:3rem;
  flex-wrap:wrap;
  justify-content:center;
  list-style:none;
}
ul.gsf-plans li.gsf-plan{
  --overlap-size:1.25rem;
  --border-radius:4rem;
  width:min(16rem,100%);
  margin-inline:var(--overlap-size);
  padding:2.1rem 1.2rem;
  display:grid;
  grid-template-rows:max-content max-content 1fr max-content max-content;
  gap:.8rem;
  border-radius:var(--border-radius) 0 var(--border-radius) 0;
  background:#fff;
  box-shadow:.25rem .25rem .5rem rgba(0,0,0,.5);
  transition:transform .25s ease,box-shadow .25s ease;
}
ul.gsf-plans li.gsf-plan:hover{
  transform:translateY(-.4rem);
  box-shadow:.35rem .5rem .85rem rgba(0,0,0,.4);
}
ul.gsf-plans li.gsf-plan:nth-child(1){--accent-color:#fa0038}
ul.gsf-plans li.gsf-plan:nth-child(2){--accent-color:#164fa9}
ul.gsf-plans li.gsf-plan:nth-child(3){--accent-color:#1a9b8b}

.gsf-plan-step{
  place-self:center;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.35em;
  text-indent:.35em;
  color:#fff;
  background:var(--accent-color);
  padding:.45em 1.1em;
  border-radius:2em;
}
.gsf-plan-title{
  font-size:1.6rem;
  color:var(--accent-color);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  line-height:1.25;
}
.gsf-plan-title .fas{font-size:.9em}
.gsf-plan-desc{
  align-self:start;
  padding:.9rem .6rem 1.6rem;
  font-size:.95rem;
  line-height:1.7;
}

.gsf-plan-btn{
  justify-self:start;
  margin-left:calc(var(--overlap-size) * -2);
  padding:.6rem 2.6rem;
  border:none;
  font-family:inherit;
  color:#fff;
  font-size:1rem;
  line-height:1.6;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  background-color:var(--accent-color);
  background-image:linear-gradient(transparent 50%,rgba(0,0,0,.25) 0);
  background-size:100% 200%;
  transition:background-position 100ms ease;
  position:relative;
  cursor:pointer;
}
.gsf-plan-btn .fas{font-size:.85rem}
.gsf-plan-btn:hover,
.gsf-plan-btn:focus-visible{
  background-position:0 100%;
}
.gsf-plan-btn:focus-visible{
  outline-offset:5px;
  outline:2px solid var(--accent-color);
}
.gsf-plan-btn::after{
  content:"";
  position:absolute;
  height:var(--overlap-size);
  width:var(--overlap-size);
  left:0;
  bottom:100%;
  background-color:inherit;
  background-image:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5));
  clip-path:polygon(100% 0,100% 100%,0 100%);
}
.gsf-plan-btn:active{
  transform:scale(.95);
}
.gsf-plan-btn:active::after{
  transform-origin:left bottom;
  transform:scale(.9);
}

.gsf-plan-form{display:contents}
.gsf-plan-input{
  width:calc(100% - 1.2rem);
  margin-inline:.6rem;
  padding:.55rem .9rem;
  border:1px solid rgb(200,200,200);
  border-radius:.25rem;
  font-family:inherit;
  font-size:.95rem;
  color:inherit;
  background:#fff;
}
.gsf-plan-input::placeholder{color:rgba(30,30,30,.45)}
.gsf-plan-input:focus-visible{
  outline:2px solid var(--accent-color);
  outline-offset:2px;
}
/* ============================================================
   GSF STATISTICS COUNTER — light theme, pro design.
   Scoped: .gsf-countsection, .gsf-count-*
============================================================ */
.gsf-countsection{
  background:#f8f9fb;
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  padding:4rem 0 4.5rem;
}
.gsf-count-card{
  background:#fff;
  border:1px solid #eef1f6;
  border-radius:1.25rem;
  padding:2.1rem 1rem 1.9rem;
  box-shadow:0 10px 30px rgba(15,23,42,.07);
  height:100%;
  transition:transform .25s ease,box-shadow .25s ease;
}
.gsf-count-card:hover{
  transform:translateY(-.45rem);
  box-shadow:0 18px 40px rgba(15,23,42,.12);
}
.gsf-count-icon{
  display:inline-grid;
  place-content:center;
  width:64px;height:64px;
  border-radius:1.1rem;
  font-size:1.55rem;
  transition:transform .25s ease;
}
.gsf-count-card:hover .gsf-count-icon{transform:scale(1.08)}
.gsf-count-card.c-1 .gsf-count-icon{color:#2563eb;background:#eaf2ff}
.gsf-count-card.c-2 .gsf-count-icon{color:#7c3aed;background:#f3ecff}
.gsf-count-card.c-3 .gsf-count-icon{color:#059669;background:#e6f6ef}
.gsf-count-card.c-4 .gsf-count-icon{color:#d97706;background:#fdf1dc}
.gsf-count-num{
  margin-top:1.1rem;
  font-size:2.4rem;font-weight:800;line-height:1;
  color:#1e293b;letter-spacing:-.02em;
}
.gsf-count-suffix{margin-left:.08em}
.gsf-count-card.c-1 .gsf-count-suffix{color:#2563eb}
.gsf-count-card.c-2 .gsf-count-suffix{color:#7c3aed}
.gsf-count-card.c-3 .gsf-count-suffix{color:#059669}
.gsf-count-card.c-4 .gsf-count-suffix{color:#d97706}
.gsf-count-label{
  margin-top:.55rem;
  font-size:.92rem;line-height:1.5;
  color:#64748b;
}
@media (max-width:575.98px){
  .gsf-countsection{padding:3rem 0}
  .gsf-count-card{padding:1.5rem .6rem 1.3rem}
  .gsf-count-num{font-size:1.85rem}
  .gsf-count-icon{width:54px;height:54px;font-size:1.3rem;border-radius:1rem}
}
/* ============================================================
   GSF CERTIFICATION DOCUMENTS — freefrontend "creative section
   design" replica (same to same on Bootstrap 5 grid).
   Scoped: .gsf-listar, .gsf-pset*, .gsf-feature-*
============================================================ */
.gsf-listar{
  background:#f4f4f4;
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  overflow-x:clip;
}

/* demo's custom AOS animation (fade-zoom-in) — explicit so it always runs */
[data-aos="fade-zoom-in"]{opacity:0;transform:scale(.85);transition-property:opacity,transform;transition-duration:.7s;transition-timing-function:cubic-bezier(.23,1,.32,1)}
[data-aos="fade-zoom-in"].aos-animate{opacity:1;transform:none}

/* ---- content zone (demo .pset spacing + our section head) ---- */
.gsf-pset{padding-top:48px;padding-bottom:80px}
.gsf-pset-head{text-align:center;margin-bottom:4.6rem}
.gsf-pset-title{font-size:2.6rem;font-weight:800;color:#252525;margin:0 0 .55rem;letter-spacing:-.02em}
.gsf-pset-sub{color:#5f6b78;font-size:1.05rem;line-height:1.75;max-width:720px;margin:0 auto}

/* ---- feature cards (demo proportions) ---- */
.gsf-feature-items{--bs-gutter-x:0;text-align:center}
.gsf-feature-wrapper{margin-bottom:120px;padding-left:27px;padding-right:27px}
.gsf-feature-item{position:relative;height:calc(100% - 20px)}
.gsf-feature-inner{
  position:relative;z-index:5;height:100%;
  padding:60px 30px;border-radius:1000px;
}
.gsf-feature-item .gsf-feature-inner::before{
  content:"";position:absolute;top:0;left:0;width:100%;height:100%;
  border:0;border-radius:1000px;
  box-shadow:120px 0 150px rgba(80,80,80,.15),10px 0 10px rgba(80,80,80,.02);
  background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 40%,rgba(255,255,255,1) 100%);
}
/* right-border ring (demo: only the right arc visible) */
.gsf-feature-right-border{
  position:absolute;width:calc(100% + 24px);height:calc(100% + 24px);
  top:-12px;left:50%;overflow:hidden;
}
.gsf-feature-right-border::before{
  content:"";position:absolute;width:100%;height:100%;top:0;left:-50%;
  border:11px solid #258bd5;border-radius:800px;
}
.gsf-feature-block-content-wrapper{
  position:relative;display:block;
  margin:-30px;padding:30px;height:calc(100% + 100px);
}
.gsf-feature-icon-wrapper{
  position:relative;width:148px;height:148px;line-height:148px;border-radius:500px;
  background-color:transparent;box-shadow:none;
  display:grid;place-items:center;
  margin-left:auto;margin-right:auto;top:-66px;margin-top:-74px;
}
.gsf-feature-icon-inner{
  width:120px;height:120px;line-height:120px;border-radius:500px;
  position:relative;display:inline-block;vertical-align:middle;
  box-shadow:10px 10px 20px rgba(0,0,0,.14);background:#fff;
}
.gsf-feature-icon-inner > div{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:120px;height:120px;
}
.gsf-feature-icon-inner i{
  display:inline-block;border-bottom:0;
  font-size:55px;line-height:1;
  padding:0;margin:0;color:#258bd5;
}
.gsf-feature-content-wrapper{position:relative;margin-top:-15.5px}
.gsf-feature-title{
  padding-top:0;margin:0 0 30px;text-align:center;line-height:1.5;
}
/* counter bubble ab title ke UPAR center (sab cards) */
.gsf-feature-title > span{
  border-radius:50px;
  box-shadow:15px 20px 30px rgba(80,80,80,.12),5px 0 40px rgba(80,80,80,.1);
  padding:14px 30px 12px;
  display:inline-flex;flex-direction:column;align-items:center;gap:10px;
  position:relative;background-color:#fff;
}
.gsf-feature-title > span > span{
  box-shadow:15px 15px 30px rgba(80,80,80,.2),5px 0 80px rgba(80,80,80,.15);
  padding:0;display:flex;align-items:center;justify-content:center;
  width:50px;height:50px;
  white-space:nowrap;position:static;border-radius:50px;
  background-color:#fff;font-size:14px;
}
.gsf-feature-title span{
  font-size:18px;line-height:normal;font-weight:400;
  text-shadow:none;border-radius:50px;color:#252525;
}
.gsf-feature-excerpt{
  color:#252525;position:relative;top:0;width:100%;margin:0 auto;text-align:center;
  padding:0 20px;font-size:14px;line-height:1.8;letter-spacing:.025em;
}
/* bottom arrow circle + ripple (demo's inner:after + a:after merged) */
.gsf-feature-arrow{
  position:absolute;bottom:-30px;left:50%;margin-left:-25px;
  width:50px;height:50px;border-radius:50px;background-color:#fff;z-index:6;
  display:flex;align-items:center;justify-content:center;
  box-shadow:10px 10px 40px rgba(80,80,80,.15),15px 15px 30px rgba(80,80,80,.05),0 0 120px rgba(80,80,80,.6);
}
.gsf-feature-arrow i{color:#555;font-size:1rem}
.gsf-feature-arrow::after{
  content:"";position:absolute;inset:0;border-radius:1000px;
  animation:gsfRipple .7s linear infinite;
  box-shadow:5px 5px 10px rgba(163,177,198,.6),-5px -5px 10px rgba(255,255,255,.5);
}
@keyframes gsfRipple{
  0%{box-shadow:0 0 0 0 rgba(163,177,198,.3),0 0 0 1em rgba(163,177,198,.3),0 0 0 3em rgba(163,177,198,.03),0 0 0 5em rgba(163,177,198,.01)}
  100%{box-shadow:0 0 0 1em rgba(163,177,198,.3),0 0 0 3em rgba(163,177,198,.03),0 0 0 5em rgba(163,177,198,.03),0 0 0 8em rgba(163,177,198,.01)}
}
/* demo's 30px spacer under the card */
.gsf-feature-fix-bottom-padding{position:relative;display:block;width:100%;height:30px}

/* motion respect */
@media (prefers-reduced-motion:reduce){
  .gsf-feature-arrow::after{animation:none}
}

/* mobile rhythm */
@media (max-width:575.98px){
  .gsf-pset{padding-top:48px;padding-bottom:60px}
  .gsf-pset-head{margin-bottom:3.4rem}
  .gsf-pset-title{font-size:1.45rem}
  .gsf-pset-sub{font-size:.9rem;padding:0 1rem}
  .gsf-feature-wrapper{margin-bottom:100px;padding-left:16px;padding-right:16px}
  .gsf-feature-inner{padding:56px 20px}
  .gsf-feature-icon-wrapper{top:-60px}
}

/* ============================================================
   GSF PLATFORM — animated svg-border glow boxes
   (user-provided demo replica, scoped to .gsf-anim/.gsf-boxes;
   demo's global all:unset reset skipped on purpose)
============================================================ */
.gsf-anim{
  background-color:#f8f8f8;
}
/* platform head centered inside its own column */
.gsf-anim .gsf-section-head{margin-left:auto;margin-right:auto}

.gsf-boxes{
  width:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:25px 0;
}
.gsf-boxes ul{
  width:100%;margin:0;padding:0;list-style:none;
  display:flex;flex-direction:row;align-items:stretch;justify-content:space-between;
  flex-wrap:wrap;row-gap:25px;
}
.gsf-boxes ul li{
  width:calc(100% / 3 - 10px);
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:25px;border-radius:8px;z-index:1;overflow:visible;
}
/* accent colors (demo's 3 cycled across all 6 cards) */
.gsf-boxes ul li:nth-child(1),
.gsf-boxes ul li:nth-child(4){--cardAccent:#3f9f47}
.gsf-boxes ul li:nth-child(2),
.gsf-boxes ul li:nth-child(5){--cardAccent:#ff3636}
.gsf-boxes ul li:nth-child(3),
.gsf-boxes ul li:nth-child(6){--cardAccent:#00a9ff}

/* black plate + marching glow */
.gsf-boxes ul li::after{
  position:absolute;width:calc(100% - 50px);height:calc(100% - 50px);
  z-index:-2;border-radius:8px;background-color:#000;
  filter:drop-shadow(0px 0px 35px var(--cardAccent)) hue-rotate(0deg);content:"";
}
.gsf-boxes ul li:nth-child(1)::after,
.gsf-boxes ul li:nth-child(4)::after{animation:gsfHueSpin 7s linear infinite reverse}
.gsf-boxes ul li:nth-child(2)::after,
.gsf-boxes ul li:nth-child(5)::after{animation:gsfHueSpin 9s linear infinite}
.gsf-boxes ul li:nth-child(3)::after,
.gsf-boxes ul li:nth-child(6)::after{animation:gsfHueSpin 5s linear infinite alternate-reverse}
@keyframes gsfHueSpin{
  to{filter:drop-shadow(0px 0px 35px var(--cardAccent)) hue-rotate(360deg)}
}

/* animated border svg (demo-exact dash arrays + timings) */
.gsf-boxes ul li svg{
  position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;
}
.gsf-boxes ul li:nth-child(1) svg,
.gsf-boxes ul li:nth-child(4) svg{stroke-dasharray:331 66;animation:gsfDash1 7s linear infinite reverse}
.gsf-boxes ul li:nth-child(2) svg,
.gsf-boxes ul li:nth-child(5) svg{stroke-dasharray:307 131;animation:gsfDash2 9s linear infinite}
.gsf-boxes ul li:nth-child(3) svg,
.gsf-boxes ul li:nth-child(6) svg{stroke-dasharray:309 154;animation:gsfDash3 5s linear infinite alternate-reverse}
@keyframes gsfDash1{to{stroke-dashoffset:-397px;filter:hue-rotate(360deg)}}
@keyframes gsfDash2{to{stroke-dashoffset:-438px;filter:hue-rotate(360deg)}}
@keyframes gsfDash3{to{stroke-dashoffset:-463px;filter:hue-rotate(360deg)}}

/* inner light figure */
.gsf-boxes ul li figure{
  position:relative;background-color:#fff;border-radius:8px;width:100%;margin:0;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  padding:35px;z-index:1;
}
.gsf-boxes ul li figure::after{
  position:absolute;top:-15px;right:-15px;width:70px;height:70px;
  border:20px solid var(--cardAccent);border-radius:100%;pointer-events:none;z-index:1;content:"";
}
.gsf-boxes ul li figure h3{
  color:#000;font-weight:700;line-height:110%;text-transform:capitalize;
  font-size:130%;margin:0 0 20px;
}
.gsf-boxes ul li figure figcaption{
  padding-left:30px;border-left:1px solid #000;margin:0;
  text-align:justify;text-justify:inter-word;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
}
/* card icon (accent-matched, per-card color) */
.gsf-box-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:72px;height:72px;border-radius:18px;margin-bottom:18px;
  background-color:var(--cardAccent);color:#fff;font-size:2rem;
}
.gsf-boxes ul li:nth-child(1) figure::after,
.gsf-boxes ul li:nth-child(4) figure::after{animation:gsfHue 7s linear infinite reverse}
.gsf-boxes ul li:nth-child(2) figure::after,
.gsf-boxes ul li:nth-child(5) figure::after{animation:gsfHue 9s linear infinite}
.gsf-boxes ul li:nth-child(3) figure::after,
.gsf-boxes ul li:nth-child(6) figure::after{animation:gsfHue 5s linear infinite alternate-reverse}
@keyframes gsfHue{to{filter:hue-rotate(360deg)}}

@media (max-width:1050px){
  .gsf-boxes ul li{width:100%}
}
@media (max-width:900px){
  .gsf-boxes ul li figure h3{font-size:120%}
}
@media (max-width:450px){
  .gsf-boxes ul li figure::after{width:50px;height:50px;border:15px solid var(--cardAccent)}
  .gsf-boxes ul li figure{padding:28px}
}

/* ============================================================
   GSF FOOTER CONTACT — icon rows align + hover
============================================================ */
footer.footer .address-wrapper address,
footer.footer .address-wrapper p{font-size:.98rem;line-height:1.65}
footer.footer .address-wrapper address .fas,
footer.footer .address-wrapper p .fas{opacity:.92}
footer.footer .address-wrapper a:hover{color:#fff;text-decoration:underline}

/* ============================================================
   GSF NEWSLETTER — widget titles + subscribe button
============================================================ */
footer.footer .widget-title{display:inline-block;font-size:1.02rem;font-weight:700;color:#232323;letter-spacing:.02em}
footer.footer .widget-title::after{content:"";display:block;width:44px;height:3px;border-radius:2px;margin-top:.5rem;background:linear-gradient(90deg,#a4508b,#5f0a87 55%,#258bd5)}
footer.footer .gsf-newsletter-form .input-group-text{background:#fff;border-color:rgba(0,0,0,.12);color:#dc3545}
footer.footer .gsf-newsletter-form .form-control{border-color:rgba(0,0,0,.12);padding:.65rem .9rem}
footer.footer .gsf-newsletter-form .form-control:focus{border-color:#dc3545;box-shadow:0 0 0 .18rem rgba(220,53,69,.14)}
footer.footer .gsf-newsletter-btn{position:relative;overflow:hidden;background:#dc3545;border:0;color:#fff;font-weight:600;padding:.68rem 1.35rem;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;transition:transform .25s ease,background-color .25s ease;animation:gsfNewsPulse 2.6s ease-in-out infinite}
footer.footer .gsf-newsletter-btn::before{content:"";position:absolute;top:0;left:-80%;width:55%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);animation:gsfNewsShine 3.4s ease-in-out infinite}
footer.footer .gsf-newsletter-btn i{transition:transform .25s ease}
footer.footer .gsf-newsletter-btn:hover{background:#b02a37;transform:translateY(-2px)}
footer.footer .gsf-newsletter-btn:hover i{transform:translateX(3px)}
footer.footer .gsf-newsletter-btn:focus-visible{outline:3px solid rgba(220,53,69,.35);outline-offset:2px}
@keyframes gsfNewsShine{0%{left:-80%}55%,100%{left:135%}}
@keyframes gsfNewsPulse{0%,100%{box-shadow:0 0 0 0 rgba(220,53,69,.4)}50%{box-shadow:0 0 0 10px rgba(220,53,69,0)}}

/* ============================================================
   GSF FOOTER SOCIALS — brand colours hamesha + hover tint/lift
============================================================ */
footer.footer .social-media-wrapper .nav .nav-item a{transition:color .25s ease,transform .25s ease,background-color .25s ease}
footer.footer .social-media-wrapper .nav .nav-item:nth-child(1) a{color:#1877f2}
footer.footer .social-media-wrapper .nav .nav-item:nth-child(2) a{color:#ff0000}
footer.footer .social-media-wrapper .nav .nav-item:nth-child(3) a{color:#25d366}
footer.footer .social-media-wrapper .nav .nav-item:nth-child(4) a{color:#e1306c}
footer.footer .social-media-wrapper .nav .nav-item:nth-child(1) a:hover{color:#0d5eda;background-color:rgba(24,119,242,.12);transform:translateY(-2px)}
footer.footer .social-media-wrapper .nav .nav-item:nth-child(2) a:hover{color:#c40000;background-color:rgba(255,0,0,.10);transform:translateY(-2px)}
footer.footer .social-media-wrapper .nav .nav-item:nth-child(3) a:hover{color:#17994b;background-color:rgba(37,211,102,.14);transform:translateY(-2px)}
footer.footer .social-media-wrapper .nav .nav-item:nth-child(4) a:hover{color:#b8327c;background-color:rgba(225,48,108,.12);transform:translateY(-2px)}

/* ============================================================
   GSF FOOTER LINKS — arrow slide-in on hover (Quick Links/Explore)
============================================================ */
footer.footer .widget .list-unstyled a{transition:color .22s ease}
footer.footer .widget .list-unstyled a::before{content:"\2192";display:inline-block;width:0;opacity:0;overflow:hidden;white-space:nowrap;color:#dc3545;transition:width .22s ease,opacity .22s ease,margin-right .22s ease}
footer.footer .widget .list-unstyled a:hover{color:#212529}
footer.footer .widget .list-unstyled a:hover::before{width:1em;opacity:1;margin-right:.5rem}