/* ==========================================================================
   Refinement layer — loaded after style.css.
   Keeps the existing design (layout, colours, content) and raises the finish:
   full-width sections, full-height heroes, consistent spacing and type,
   rounded cards with soft shadows, and decorations that never cover text.
   ========================================================================== */

:root {
  --primary: #3a10e5;
  --primary-soft: rgba(58, 16, 229, .08);
  --ink: #101213;
  --body: #5b6170;
  --peach: #fff0e5;
  --lavender: #f0f3ff;
  --yellow: #facb3b;
  --line: #ebedf3;
  --gutter: clamp(16px, 4vw, 64px);
  --radius: 18px;
  --radius-lg: 28px;
  --shadow-sm: 0 1px 2px rgba(16, 18, 19, .04), 0 4px 14px rgba(16, 18, 19, .05);
  --shadow: 0 2px 6px rgba(16, 18, 19, .04), 0 18px 44px rgba(16, 18, 19, .09);
  --shadow-lg: 0 30px 80px rgba(16, 18, 19, .16);
}

html { scroll-behavior: smooth; }

body {
  color: var(--body);
  font-size: 16.5px;
  line-height: 1.75;
}

::selection { background: var(--primary); color: #fff; }

h1, h2, h3, h4 { letter-spacing: -.015em; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
}

/* Full-height page: footer always sits at the bottom of the viewport */
.page_wrapper {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.page_wrapper > main { flex: 1 0 auto; }

/* Full-width layout: wider container with fluid side gutters */
.container {
  max-width: 1560px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.section_space_lg { padding-top: clamp(80px, 9vw, 140px); padding-bottom: clamp(80px, 9vw, 140px); }
.section_space_md { padding-top: clamp(64px, 7vw, 110px); padding-bottom: clamp(64px, 7vw, 110px); }

/* Decorations sit behind content everywhere */
.decoration_wrap .deco_item { z-index: 0; pointer-events: none; }
.decoration_wrap > .container,
.decoration_wrap .row,
.decoration_wrap .title_text,
.decoration_wrap .area_title { position: relative; z-index: 1; }

/* --------------------------------------------------------------------------
   Headings & buttons
   -------------------------------------------------------------------------- */
.section_heading { margin-bottom: clamp(40px, 5vw, 64px); }
.section_heading .heading_text { font-size: clamp(30px, 3.2vw, 46px); line-height: 1.2; }
.section_heading .heading_focus_text { background-position: center bottom 4px; }

.btn {
  border-radius: 12px;
  padding: 0 26px;
  box-shadow: 0 8px 20px rgba(58, 16, 229, .22);
}
.btn span small { padding: 17px 0; font-size: 15px; letter-spacing: .01em; }
.btn:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(58, 16, 229, .3); }
.btn.btn_warning { box-shadow: 0 8px 20px rgba(250, 203, 59, .35); }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.header_style_1 .header_top { padding: 10px var(--gutter); font-size: 14.5px; font-weight: 500; letter-spacing: .01em; }
.header_style_1 .header_bottom { padding: 14px 0; }
.site_header .site_logo img { max-height: 76px; width: auto; transition: max-height .3s ease; }

.main_menu_list li > a {
  padding: 11px 16px;
  border-radius: 10px;
  font-weight: 500;
  transition: color .25s ease, background-color .25s ease;
}
.main_menu_list li:hover > a,
.main_menu_list li.active > a { background-color: var(--primary-soft); }

.main_menu_list .dropdown-menu-custom {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 8px;
  box-shadow: var(--shadow);
}
.main_menu_list .dropdown-menu-custom .dropdown-item {
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 500;
  color: #2f3034;
}
.main_menu_list .dropdown-menu-custom .dropdown-item:hover,
.main_menu_list .dropdown-menu-custom .dropdown-item:focus { background: var(--primary-soft); color: var(--primary); }

.header_btns_group .instagram_btn {
  width: 44px;
  height: 44px;
  display: inline-grid !important;
  place-items: center;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  transition: color .25s, border-color .25s, transform .25s;
}
.header_btns_group .instagram_btn:hover { color: #e1306c; border-color: rgba(225, 48, 108, .35); transform: translateY(-2px); }

/* Sticky state: floating white bar, matching the rounded cards below */
.site_header.sticky {
  top: 10px;
  left: var(--gutter);
  right: var(--gutter);
  border-radius: 18px;
  border: 1px solid rgba(235, 237, 243, .9);
  box-shadow: 0 10px 34px rgba(16, 18, 19, .1);
}
.site_header.sticky .header_bottom { padding: 8px 0; }
.site_header.sticky .site_logo img { max-height: 56px; }
.site_header.sticky .container { padding-left: clamp(14px, 2vw, 28px); padding-right: clamp(14px, 2vw, 28px); }

/* Rounded top edge of the hero follows the wider layout */
.header_style_1 + main > .banner_section,
.header_style_1 + main > .page_banner,
.header_style_1 + main > .course_details_section .details_content { border-radius: 28px 28px 0 0; }

/* --------------------------------------------------------------------------
   Home hero — fills the first screen
   -------------------------------------------------------------------------- */
.banner_style_5 .container { max-width: none; padding-left: clamp(0px, 1vw, 16px); padding-right: clamp(0px, 1vw, 16px); }
.banner_style_5 .content_box {
  min-height: 100vh;
  min-height: 100svh;
  padding: clamp(150px, 15vh, 200px) var(--gutter) 0;
  border-radius: 28px;
}
.banner_style_5 .content_box > .row { margin-top: 0; }
.banner_style_5 .content_box > .row > .col { width: 100%; max-width: 1100px; flex: 0 0 auto; }
.banner_style_5 .banner_title {
  font-size: clamp(42px, 6vw, 92px);
  line-height: 1.04;
  letter-spacing: -.03em;
  margin-bottom: 0;
}

/* Keep the hero stickers clear of the title and the photo */
.banner_style_5 .deco_item_3 { top: 34%; left: 7%; }
.banner_style_5 .deco_item_4 { top: 30%; right: 8%; }

.intro_video_section { margin-top: -54vh; margin-top: -54svh; position: relative; z-index: 2; }
.intro_video_wrap .image_wrap {
  border-radius: 28px;
  border: 8px solid #fff;
  box-shadow: var(--shadow-lg);
}
.intro_video_wrap .image_wrap img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 30%; }
.intro_video_wrap > br { display: none; }
.intro_video_wrap > p {
  margin: 34px 0 0;
  font-size: clamp(18px, 1.5vw, 22px) !important;
  font-weight: 500;
  color: var(--ink);
}
.intro_video_wrap > p::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--primary);
  margin-right: 10px;
  vertical-align: middle;
  box-shadow: 0 0 0 5px var(--primary-soft);
}

/* --------------------------------------------------------------------------
   Membership band — full width
   -------------------------------------------------------------------------- */
.custom-membership-section { padding-top: clamp(80px, 9vw, 140px) !important; }
.custom-membership-section > .container { max-width: none; padding: 0; }
.membership_content_box {
  padding: clamp(80px, 9vw, 130px) var(--gutter);
  background:
    radial-gradient(700px 300px at 15% 0%, rgba(58, 16, 229, .07), transparent 70%),
    radial-gradient(600px 300px at 90% 100%, rgba(102, 196, 255, .14), transparent 70%),
    var(--lavender);
}
.membership_content_box .title_text {
  margin-top: 0 !important;
  font-size: clamp(30px, 3.6vw, 52px);
  line-height: 1.25;
  margin-bottom: 34px;
}
.membership_content_box .row.justify-content-center { margin-top: 0; }

/* --------------------------------------------------------------------------
   Level cards
   -------------------------------------------------------------------------- */
.category_section .row { row-gap: 8px; }
.category_item_3 { padding: 0 14px 14px 0; height: 100%; }
.category_item_3:before { border-radius: 26px; top: 14px; left: 14px; }
.category_item_3 > a {
  height: 100%;
  border-radius: 26px;
  padding: clamp(40px, 4vw, 60px) 24px clamp(36px, 3.5vw, 52px);
  transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .45s ease;
}
.category_item_3 > a:hover { transform: translateY(-6px); }
.category_item_3 .item_image {
  width: clamp(130px, 11vw, 176px);
  height: clamp(130px, 11vw, 176px);
  margin-bottom: 22px;
  border: 6px solid rgba(255, 255, 255, .55);
  box-shadow: 0 16px 32px rgba(16, 18, 19, .22);
  transition: transform .45s cubic-bezier(.2, .7, .2, 1);
}
.category_item_3 > a:hover .item_image { transform: scale(1.04); }
.category_item_3 .item_image img { width: 100%; height: 100%; object-fit: cover; }
.category_item_3 .item_content { font-size: clamp(20px, 1.6vw, 26px); }
.category_item_3 .item_content::after {
  content: "\f178";
  font-family: "Font Awesome 5 Pro";
  font-weight: 400;
  font-size: .7em;
  margin-left: 10px;
  display: inline-block;
  opacity: .8;
  transition: transform .3s ease;
}
.category_item_3 > a:hover .item_content::after { transform: translateX(5px); }
/* Softer, tinted hover glows instead of solid colour blocks */
.category_item_3 .bg_primary:hover { box-shadow: 0 24px 44px rgba(58, 16, 229, .35); }
.category_item_3 .bg_success:hover { box-shadow: 0 24px 44px rgba(102, 196, 255, .45); }
.category_item_3 .bg_danger:hover { box-shadow: 0 24px 44px rgba(249, 102, 255, .4); }
.category_item_3 .bg_warning:hover { box-shadow: 0 24px 44px rgba(250, 203, 59, .45); }

/* --------------------------------------------------------------------------
   Counter band
   -------------------------------------------------------------------------- */
.counter_section {
  padding: clamp(70px, 7vw, 110px) 0;
  background:
    radial-gradient(900px 400px at 85% 0%, rgba(102, 196, 255, .22), transparent 65%),
    radial-gradient(700px 400px at 0% 100%, rgba(249, 102, 255, .18), transparent 65%),
    var(--primary);
}
.counter_section .area_title { font-size: clamp(30px, 3.2vw, 48px); line-height: 1.2; }
.counter_section .row { row-gap: 24px; }
.counter_section .col-lg-2 { flex: 0 0 auto; width: 25%; }
.counter_item {
  padding: 28px 22px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .16);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.counter_item .counter_value { font-size: clamp(44px, 4.4vw, 68px); line-height: 1; margin-bottom: 14px; letter-spacing: -.03em; }
.counter_item .counter_title { font-size: 15.5px; line-height: 1.5; font-weight: 500; opacity: .88; }
.counter_section .deco_item { opacity: .5; }
.counter_section .shape_1 { top: 12%; left: 2%; }
.counter_section .shape_4 { top: auto; bottom: 8%; right: 2%; }

/* --------------------------------------------------------------------------
   Pro membership band
   -------------------------------------------------------------------------- */
.promembership_section { padding: clamp(64px, 7vw, 100px) 0; }
.promembership_section .item_image .image_wrap {
  width: clamp(190px, 16vw, 250px);
  height: clamp(190px, 16vw, 250px);
  border: 8px solid #fff;
  box-shadow: var(--shadow);
}
.promembership_section .item_image .image_wrap img { width: 100%; height: 100%; object-fit: cover; }
.promembership_section .title_text { font-size: clamp(28px, 3vw, 44px); line-height: 1.3; }
.promembership_section .col-lg-3:last-child { text-align: right; }

/* --------------------------------------------------------------------------
   Home testimonial — full-width band with a card
   -------------------------------------------------------------------------- */
.testimonial_section { background: var(--lavender); padding: clamp(80px, 8vw, 120px) 0; }
.testimonial_section .testimonial_carousel_box { background: transparent !important; padding: 0; overflow: visible; }
.testimonial_section .testimonial_carousel .slick-list { padding: 10px 0 40px; margin: -10px 0 -40px; }
.testimonial_section .testimonial_carousel_box .shape_1 { left: 0; bottom: -40px; }
.testimonial_section .testimonial_carousel_box .shape_2 { top: -50px; right: 0; }
.testimonial_section .testimonial_item {
  max-width: 1100px;
  margin: 0 auto;
  background: #fff;
  border-radius: var(--radius-lg);
  padding: clamp(32px, 4vw, 60px);
  box-shadow: var(--shadow);
}
/* The photo slot is empty in the markup, so the card shows the story only */
.testimonial_section .testimonial_item { max-width: 960px; display: block; text-align: center; }
.testimonial_section .testimonial_item .item_image { display: none; }
.testimonial_section .testimonial_item .section_heading { margin-bottom: 26px; }
.testimonial_section .testimonial_item .item_icon { margin-bottom: 22px; }
.testimonial_section .testimonial_item .item_icon img { display: inline-block; }
.testimonial_section .testimonial_item p { font-size: clamp(17px, 1.3vw, 20px); line-height: 1.75; font-weight: 400; }
.testimonial_section .slick-dots { margin-top: 28px; text-align: center; }
.testimonial_section .slick-dots li button { border-radius: 999px; }

/* --------------------------------------------------------------------------
   Call to action band
   -------------------------------------------------------------------------- */
.getstart_section {
  padding: clamp(80px, 9vw, 140px) var(--gutter);
  background:
    radial-gradient(700px 300px at 10% 100%, rgba(255, 255, 255, .35), transparent 70%),
    var(--yellow);
}
.getstart_section .title_text { font-size: clamp(30px, 3.8vw, 56px); line-height: 1.2; margin: 0 auto 30px; max-width: 920px; }
.getstart_section .title_text:last-child { margin-bottom: 0; }
.getstart_section .deco_img_1 { left: 3%; top: auto; bottom: 12%; }
.getstart_section .deco_img_2 { right: 3%; bottom: auto; top: 12%; }

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.site_footer { background: #090e23; }
.site_footer .footer_bottom { padding: 30px 0; border-top: 0; }
.site_footer .footer_bottom p { font-size: 14.5px; color: rgba(255, 255, 255, .7); margin: 0; font-family: "DM Sans", sans-serif; }
.site_footer .footer_bottom a { color: #fff; font-weight: 500; margin-left: 4px; border-bottom: 1px solid rgba(255, 255, 255, .3); }
.site_footer .footer_bottom a:hover { border-color: #fff; }

/* Floating buttons */
.whatsapp-button img { border-radius: 50%; box-shadow: 0 12px 26px rgba(37, 211, 102, .35); transition: transform .25s ease; }
.whatsapp-button:hover img { transform: scale(1.06); }
.backtotop .scroll { border-radius: 14px; box-shadow: var(--shadow); }

/* --------------------------------------------------------------------------
   Inner page banners
   -------------------------------------------------------------------------- */
.page_banner {
  min-height: clamp(380px, 56vh, 620px);
  padding: 170px 0 90px;
  align-items: center;
}
.page_heading { font-size: clamp(40px, 5vw, 76px); line-height: 1.08; letter-spacing: -.03em; margin-bottom: 14px; }
.breadcrumb_nav {
  display: inline-flex;
  padding: 8px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .75);
  border: 1px solid rgba(16, 18, 19, .06);
}

/* --------------------------------------------------------------------------
   About page
   -------------------------------------------------------------------------- */
.about_section .about_image .image_wrap {
  border: 0;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}
.about_section .about_image .image_wrap img { width: 100%; aspect-ratio: 4 / 4.3; object-fit: cover; object-position: center 20%; }
.about_section .about_content { padding-right: 0; max-width: 640px; }
.about_section .about_title { font-size: clamp(32px, 3.4vw, 52px); line-height: 1.18; margin-bottom: 22px; }
.about_section p { font-size: 17.5px; }

.goal_section .section_heading .heading_text { position: sticky; top: 120px; }
.about_item {
  height: 100%;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform .4s cubic-bezier(.2, .7, .2, 1), box-shadow .4s ease;
}
.about_item:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.about_item .item_image { margin: 0; }
.about_item .item_image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.about_item .item_content { padding: 26px 26px 30px; }
.about_item .item_title { font-size: 22px; line-height: 1.3; margin-bottom: 12px; }
.about_item p { font-family: "DM Sans", sans-serif; font-size: 15.5px; line-height: 1.75; color: var(--body); }

/* --------------------------------------------------------------------------
   Course detail pages
   -------------------------------------------------------------------------- */
.course_details_section .details_content {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: 170px 0 110px;
}
.course_details_section .details_content > .container { width: 100%; }
.course_details_section .details_item_title { font-size: clamp(44px, 5.4vw, 84px); line-height: 1.05; letter-spacing: -.03em; margin-bottom: 22px; }
.course_details_section .details_content p { font-size: clamp(16.5px, 1.2vw, 19px); line-height: 1.75; padding-right: 0; max-width: 680px; }
.course_details_section .details_content .col-lg-4 { width: 40%; }
.course_details_video { border-radius: var(--radius-lg); overflow: hidden; border: 8px solid #fff; box-shadow: var(--shadow-lg); }
.course_details_video img { width: 100%; aspect-ratio: 4 / 4.2; object-fit: cover; object-position: center 20%; }

.details_info_tab { padding-top: clamp(56px, 6vw, 96px) !important; }
.details_info_tab .col-lg-7 { width: 100%; max-width: 1100px; margin: 0 auto; }
.details_info_tab .nav:empty,
.details_info_tab .nav:not(:has(button)) { display: none; }
.details_info_tab .nav { margin-bottom: 20px; }
.details_info_tab .tab-pane > br { display: none; }
.details_info_tab .tab-pane {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: clamp(28px, 4vw, 56px);
  box-shadow: var(--shadow);
}
.details_section .details_info_title { font-size: clamp(22px, 2vw, 30px); margin: 0 0 16px; }
.details_section .details_info_title:not(:first-child) { margin-top: 36px; }
.details_info_tab .tab-content p { font-size: 17px; line-height: 1.8; color: var(--body); }
.details_info_tab .icon_list { margin: 0; }
.details_info_tab .icon_list > li {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 12px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  font-size: 16px;
  font-weight: 500;
  color: var(--ink);
  box-shadow: var(--shadow-sm);
}
.details_info_tab .icon_list i {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 13px;
  color: #fff;
  background: var(--primary);
}
.details_info_tab .payment-methods-section {
  margin-top: 36px;
  padding: 24px 26px;
  border-radius: 20px;
  background: var(--peach);
}
.details_info_tab .payment-methods-section .details_info_title { margin-top: 0; }
.details_info_tab .payment-methods-section p { margin: 0; }

/* --------------------------------------------------------------------------
   Testimonials page — full-width grid of cards
   -------------------------------------------------------------------------- */
.blog_section > .container > .row > .col-lg-8 { width: 100%; flex: 0 0 100%; max-width: 100%; }
.blog_section > .container > .row > .col-lg-3 { display: none; }
.blog_section > .container > .row > .col-lg-8 > .row { display: block; columns: 3 380px; column-gap: 26px; margin: 0; }
.blog_section > .container > .row > .col-lg-8 > .row > .col { break-inside: avoid; padding: 0 0 26px; display: block; }
.blog_section .blog_item.testimonial_item {
  width: auto;
  display: block;
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: clamp(26px, 2.6vw, 38px);
  box-shadow: var(--shadow-sm);
  transition: box-shadow .35s ease, transform .35s ease;
}
.blog_section .blog_item.testimonial_item:hover { box-shadow: var(--shadow); transform: translateY(-3px); }
.blog_section .testimonial_item .quote_icon {
  position: static;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin: 0 0 18px;
  border-radius: 14px;
  background: var(--peach);
  transform: none;
}
.blog_section .testimonial_item .quote_icon svg { width: 22px; height: auto; fill: var(--primary); }
.blog_section .testimonial_item .item_title { margin: 0 0 20px; font-size: 16.5px; line-height: 1.8; font-weight: 400; }
.blog_section .testimonial_item .item_title a { color: #2f3034; font-weight: 400; }
.blog_section .testimonial_item .item_content > p {
  margin: 0;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}

/* --------------------------------------------------------------------------
   Contact page
   -------------------------------------------------------------------------- */
.contact_info_box { padding: 18px 18px 26px 0; height: 100%; }
.contact_info_box .inner_wrap {
  height: 100%;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 40px 24px;
  box-shadow: var(--shadow-sm);
}
.contact_info_box .inner_wrap:hover { box-shadow: var(--shadow); }
.contact_info_box .item_icon { height: 76px; margin-bottom: 22px; }
.contact_info_box .item_icon img { max-height: 64px; width: auto; }
.contact_info_box .item_title { font-size: 22px; margin-bottom: 10px; }
.contact_info_box .icon_list > li { font-size: 16px; }

.contact_section .col-lg-9 { width: 100%; max-width: 1100px; }
.contact_form_wrapper {
  padding: clamp(32px, 6vw, 80px);
  border-radius: 32px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  background-image: radial-gradient(700px 260px at 50% 0%, var(--lavender), transparent 75%);
}
.contact_form_wrapper .contact_title { font-size: clamp(30px, 3vw, 44px); margin-bottom: 40px; }
.contact_form_wrapper .row { row-gap: 4px; }
.form_item textarea,
.form_item input,
.form_item select {
  border-radius: 12px;
  border-color: #e3e6ee;
  font-size: 15px;
  color: var(--ink);
}
.form_item textarea:hover,
.form_item textarea:focus,
.form_item input:hover,
.form_item input:focus {
  transform: none;
  border-color: rgba(58, 16, 229, .45);
  box-shadow: 0 0 0 4px rgba(58, 16, 229, .08);
}
.form_item textarea { padding: 16px 20px; min-height: 160px; }
.contact_form_wrapper .form_item { margin-bottom: 18px; }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1199px) {
  .intro_video_section { margin-top: -46vh; margin-top: -46svh; }
  .course_details_section .details_content .col-lg-4 { width: 42%; }
}

@media (max-width: 991px) {
  .site_header.sticky { left: 10px; right: 10px; }
  .main_menu_list li > a { padding: 12px 14px; }
  .banner_style_5 .content_box { min-height: 0; padding: 150px var(--gutter) clamp(200px, 40vw, 320px); }
  .intro_video_section { margin-top: clamp(-300px, -36vw, -160px); }
  .counter_section .col-lg-2 { width: 50%; }
  .counter_section .col-12 { text-align: center; }
  .promembership_section .row { text-align: center; row-gap: 24px; }
  .promembership_section .item_image { display: inline-block; }
  .promembership_section .col-lg-3:last-child { text-align: center; }
  .course_details_section .details_content { min-height: 0; padding: 150px 0 80px; }
  .course_details_section .details_content .col-lg-4 { width: 100%; max-width: 480px; margin: 20px auto 0; }
  .goal_section .section_heading .heading_text { position: static; }
  .about_section .about_content { max-width: none; }
  .contact_info_box { padding-right: 0; }
}

@media (max-width: 767px) {
  .page_banner { min-height: 0; padding: 140px 0 64px; }
  .banner_style_5 .content_box { border-radius: 22px; }
  .intro_video_wrap .image_wrap { border-width: 5px; border-radius: 20px; }
  .counter_section .col-lg-2 { width: 100%; }
  .category_item_3 { padding-right: 10px; padding-bottom: 10px; }
  .blog_section > .container > .row > .col-lg-8 > .row { columns: 1; }
  .getstart_section .deco_item { display: none; }
  .details_info_tab .tab-pane { border-radius: 20px; }
}
