@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Dancing+Script:wght@700&display=swap");

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}

p {
  font-size: 14px;
}

/* * * * * * * * * * * * * *  header * * * * * * * * * * * * * * */

header.navbar {
  width: 88%;
  margin: 0px auto;
  background: #ffffff;
}

header a.nav-link {
  font-size: 14px;
  font-weight: 500;
  transition: all 0.5s ease;
  position: relative;
}

.navbar-nav .nav-link.active {
  color: #1677ff;
}

.navbar-nav .nav-link:after {
  position: absolute;
  inset-inline: 8px;
  bottom: 0;
  border-bottom: 2px solid transparent;
  transition: border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  content: "";
  border-color: #1677ff;
  transition: all 0.5s ease;
  opacity: 0;
}

header .nav-link:hover:after,
header .nav-link:active:after {
  opacity: 1;
}

.btn.btn-primary {
  color: #fff;
  background: #1489e6;
  box-shadow: 0 2px 0 rgb(230, 248, 255);
  transition: all 0.5s ease;
}

.btn.btn-primary:hover {
  color: #fff;
  background: #3da7f2;
}

.navbar-expand-lg .navbar-nav {
  gap: 20px;
}

/* * * * * * * * * * * * * *  Home slider * * * * * * * * * * * * * * */

.css-1q8n2tm {
  height: 450px;
  position: relative;
}

h2.banner_title {
  color: #fff;
  text-align: center;
  display: inline-block;
  margin: auto;
  background: rgba(0, 0, 0, 0.4);
  line-height: 1.5em;
  padding: 10px;
  font-weight: 300;
  font-size: 30px;
}

.main-slide {
  height: 450px !important;
}

.slide-content {
  height: 100%;
  display: flex;
  padding-inline: 30px;
  background-size: cover;
  background-position: center;
}

.slick-arrow {
  display: none !important;
}

.main_banner {
  position: relative;
}

ul.slick-dots {
  bottom: 12px;
  z-index: 999999999;
}

ul.slick-dots li {
  width: 16px;
  height: 3px;
}

ul.slick-dots li.slick-active {
  width: 24px;
}

.slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
  background: #ff9629;
  border-radius: 20px;
  opacity: 0.3;
}

.slick-dots li.slick-active button {
  opacity: 1;
}

/* * * * * * * * * * * * * *  divider * * * * * * * * * * * * * * */

.ant-divider {
  margin: 50px 0;
}

/* * * * * * * * * * * * * *  About Us * * * * * * * * * * * * * * */

.about_img {
  max-width: 350px;
}

.about_content {
  max-width: 90%;
}

.about_content h1.ant-typography {
  margin-bottom: 0.5em;
  margin-top: 24px;
  color: rgba(0, 0, 0, 0.88);
  font-weight: 600;
  font-size: 38px;
  line-height: 1.2105263157894737;
}

span.ant-typography {
  color: rgba(0, 0, 0, 0.88);
  word-break: break-word;
  text-align: justify;
  line-height: 1.5714285714285714;
  font-size: 14px;
  font-weight: 400;
}

.ant-space {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* * * * * * * * * * * * * *  Courses  * * * * * * * * * * * * * * */

.courses_head h2 {
  font-size: 30px;
}

#courses .card {
  border-radius: 8px 8px 0 0;
  transition: all 0.5s ease;
}

#courses .card:hover {
  border-color: transparent;
  box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16),
	0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);
}

.Complete_Python {
  border-radius: 8px 8px 0 0;
}

#courses .card-body {
  padding: 24px;
  border-radius: 0 0 8px 8px;
  font-size: 14px;
}

#courses h5.card-title {
  margin-top: 10px;
  margin-bottom: 0.5em;
  color: rgba(0, 0, 0, 0.88);
  font-weight: 600;
  font-size: 16px;
  line-height: 1.5;
}

#courses span.star {
  color: #fadb14;
}

#courses p.card-subtitle {
  margin: 10px 0;
}

.btn.btn-secondary {
  background: #ff9629;
  border-color: #d9d9d9;
  color: rgba(0, 0, 0, 0.88);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.02);
  height: 32px;
  padding: 4px 15px;
  border-radius: 6px;
  font-size: 14px;
}

.btn-theme {
  background: #ff9629;
  border-color: #d9d9d9;
  color: #ffffff;
}

.btn-theme:hover {
  background: #fd9c35;
  color: #ffffff;
}

/* * * * * * * * * * * * * *  Specialities  * * * * * * * * * * * * * * */

.special-card {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: rgba(0, 0, 0, 0.88);
  font-size: 14px;
  line-height: 1.5714285714285714;
  list-style: none;
  font-family: Poppins, sans-serif;
  position: relative;
  background: #ff9629;
  border-radius: 8px;
  height: 100%;
}

.special-card-body {
  padding: 24px;
  border-radius: 0 0 8px 8px;
}

.s-flex svg {
  font-size: 40px;
}

.special-card-body h5.ant-typography {
  margin-left: 2em;
  text-align: justify;
  margin-top: 24px;
  font-size: 16px;
  font-weight: 600;
}

.special-card-body span.ant-typography {
  text-align: justify;
  margin-left: 2em;
  display: block;
}

/* * * * * * * * * * * * * *  Stories  * * * * * * * * * * * * * * */

#stories .story-card {
  background: rgba(20, 137, 230, 0.6);
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  border-radius: 8px;
}

#stories .story-card-body {
  padding: 24px;
  border-radius: 0 0 8px 8px;
}

.ant-avatar img {
  width: 64px;
  height: 64px;
  font-size: 18px;
  border-radius: 50%;
}

.story-card-body h5.ant-typography {
  font-size: 16px;
}

.slide {
  display: flex;
  overflow: hidden;
}

.slide {
  display: flex;
  flex-wrap: wrap;
}

.story-card {
  flex: 1 1 300px;
  margin: 5px;
}

@media (max-width: 768px) {
  .story-card {
	flex: 1 1 100%;
  }
}

ul.slick-dots {
  bottom: -25px;
  z-index: 999999999;
}

/* * * * * * * * * * * * * *  about us page  * * * * * * * * * * * * * * */

img.ant-image-img.avatar {
  width: 100%;
}

.profile-basic-info {
  background: rgb(255, 255, 255);
  border: 1px solid rgb(240, 240, 240);
  padding: 20px;
  border-radius: 4px;
}

li.list-group-item h4 {
  font-size: 14px;
}

.list-group-flush>.list-group-item {
  border: 0 !important;
  background: none;
}

.profile-basic-info .card-body {
  padding: 24px;
  border-radius: 0 0 8px 8px;
  background: rgba(255, 150, 41, 0.06);
}

li.list-inline-item i {
  color: #fadb14;
}

.profile-basic-info span.btn.btn-primary {
  background: rgb(20, 137, 230);
  padding: 8px;
  border-radius: 4px;
  color: rgb(255, 255, 255);
  font-size: 14px;
}

.gutter-row {
  border: 1px solid rgb(240, 240, 240);
  border-radius: 4px;
  padding: 0px 40px 40px;
  background: rgba(255, 150, 41, 0.06);
}

.gutter-row h4 {
  margin-bottom: 0.5em;
  color: rgba(0, 0, 0, 0.88);
  font-weight: 600;
  font-size: 20px;
  line-height: 1.4;
  margin-top: 26px;
}

.gutter-row span {
  line-height: 30px;
  text-align: justify;
}

.ant-card-grid {
  width: 33.33%;
  padding: 24px;
  border: 0;
  border-radius: 0;
  box-shadow: 1px 0 0 0 #f0f0f0, 0 1px 0 0 #f0f0f0, 1px 1px 0 0 #f0f0f0,
	1px 0 0 0 #f0f0f0 inset, 0 1px 0 0 #f0f0f0 inset;
  transition: all 0.2s;
  background: rgba(255, 150, 41, 0.06);
}

.ant-card-grid h3.ant-typography {
  font-size: 24px;
}

.ant-card-grid:hover {
  position: relative;
  z-index: 1;
  box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16),
	0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);
}

.gutter-row.timeline {
  padding: 20px;
}

.ant-card-head {
  background: rgb(20, 137, 230);
  color: rgb(255, 255, 255);
  display: flex;
  justify-content: center;
  flex-direction: column;
  min-height: 56px;
  margin-bottom: -1px;
  padding: 0 24px;
  font-weight: 600;
  font-size: 16px;
  border-bottom: 1px solid #f0f0f0;
  border-radius: 8px 8px 0 0;
}

.ant-timeline-item-head-blue {
  position: absolute;
  background-color: #ff9629;
  border: 3px solid transparent;
  border-radius: 50%;
  color: #1489e6;
  border-color: #1489e6;
  width: 48px;
  height: 48px;
  margin-left: -1.5em;
  inset-inline-start: 50%;
}

.ant-timeline-item-head-custom {
  position: absolute;
  background-color: #ffffff;
  border: 3px solid transparent;
  border-radius: 50%;
  color: #1489e6;
  border-color: #ff9629;
  width: 48px;
  height: 48px;
  margin-left: -1.5em;
  inset-inline-start: 50%;
}

.ant-timeline-item-tail {
  border-inline-start: 2px dashed rgb(102, 102, 102);
  inset-inline-start: 50%;
  position: absolute;
  inset-block-start: 10px;
  height: calc(100% - 10px);
}

.ant-timeline-item-label {
  position: absolute;
  inset-block-start: -6px;
  text-align: end;
  left: 5%;
  margin-top: 20px;
}

.ant-timeline-item-content {
  position: absolute;
  margin-top: 20px;
  inset-block-start: -6px;
  left: 63%;
  text-align: end;
}

li.ant-timeline-item {
  padding-bottom: 100px;
}

.gutter-row.achievements {
  padding: 20px;
}

.list-group-flush>.list-group-item {
  padding-inline: 0;
}

/* * * * * * * * * * * * * *  Courses Offering  * * * * * * * * * * * * * * */

#offer {
  margin-top: 3.5em;
}

#offer .card-head {
  background: linear-gradient(45deg, rgb(20, 137, 230), rgb(40, 167, 69));
  min-height: 54px;
  color: rgb(255, 255, 255);
  align-items: center;
  padding-inline: 10px;
  border-radius: 4px;
}

.price-sec .ant-space-item h1 {
  color: #52c41a;
  font-size: 42px;
  font-weight: 600;
}

.card-head h5 {
  font-size: 16px;
  margin: 0;
}

.course-card-body {
  padding: 24px;
  border: 1px solid rgb(221, 221, 221);
  border-top: 0;
}

.course-card-body .course-image {
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: contain;
}

.ant-ribbon {
  padding: 0px 4em;
  line-height: 30px;
  background: #faad14;
}

.ant-ribbon {
  padding: 0px 4em;
  line-height: 30px;
  background: #faad14;
  position: relative;
  margin-right: -18px;
  z-index: 0;
  border-radius: 4px;
}

.ant-ribbon-corner {
  position: absolute;
  top: 100%;
  width: 8px;
  height: 8px;
  color: currentcolor;
  border: 4px solid;
  transform: scaleY(0.75);
  transform-origin: top;
  filter: brightness(75%);
  inset-inline-end: 0;
  border-inline-end-color: transparent;
  border-block-end-color: transparent;
}

.card-info {
  margin-top: 28px;
  background: rgb(239, 239, 239);
  padding: 28px;
}

.card-info .ant-avatar {
  width: 130px !important;
  height: 130px !important;
  flex-shrink: 0;
}
.card-info .ant-avatar img {
  width: 130px !important;
  height: 130px !important;
  border-radius: 50%;
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
  border: 4px solid #ffffff;
}

.card_left {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
}

.card-rating {
  display: flex;
  justify-content: end;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

.card-rating .star {
  color: #fadb14;
}

.course-timings span {
  font-size: 14px;
}

.course-timings svg {
  width: 21px;
  height: 21px;
  margin-right: 10px;
}

.course-timings span.ant-badge {
  border-radius: 50%;
}

sup.badge {
  color: #fff !important;
  border-radius: 50% !important;
}

.price-sec button {
  width: 180px;
  margin-top: 1em;
  background: rgb(82, 196, 26) !important;
  border: 0;
}

p.course-description {
  font-size: 14px;
  line-height: 2;
}

.course-timings .item.m-0 svg {
  color: red;
  height: 30px;
  width: 30px;
}

/* * * * * * * * * * * * * *  calendar  * * * * * * * * * * * * * * */

#complete_python span.anticon svg {
  color: red;
}

#complete_python thead tr th {
  background-color: #f08d27 !important;
  padding: 16px !important;
  border-right: 1px solid #ffffff;
  font-size: 14px;
  font-weight: 600;
}

td {
  font-size: 14px;
}

table.table.table-striped {
  border: 1px solid beige;
}

span.badge.bg-purple {
  background: #722ed1;
}

tbody tr td {
  padding: 16px !important;
  border-right: 1px solid beige;
}

td strong {
  font-size: 14px;
}

tr {
  vertical-align: middle;
}

b,
strong {
  font-weight: 600 !important;
}

table a.text-decoration-none {
  color: #000;
}

td {
  font-size: 14px;
}

/* * * * * * * * * * * * * *  Stories page  * * * * * * * * * * * * * * */

.avatar img {
  max-width: 220px;
}

.avatar:before {
  content: " ";
  display: block;
  width: 220px;
  height: 220px;
  position: absolute;
  border-radius: 50%;
  border: 10px solid rgb(20, 137, 230);
  z-index: -1;
  left: -10px;
}

#story_page .card-body {
  padding: 24px;
  border-radius: 8px;
  border: 1px solid #f0f0f0;
  position: relative;
}

#story_page img.quote-image {
  position: absolute;
  top: -27px;
  left: -13px;
}

#story_page .card-body h2 {
  font-size: 30px;
  font-weight: 600;
}

#story_page .card-body svg {
  color: #000 !important;
  height: 20px;
  width: 20px;
}

#story_page .card-body .last svg {
  color: #f0f0f0 !important;
}

#story_page img.banner_img {
  width: 100%;
  height: 400px;
  margin-bottom: 20px;
}

.video_content,
iframe {
  width: 100%;
  height: 400px;
  border-radius: 8px;
}

/* * * * * * * * * * * * * *  Contact  US  * * * * * * * * * * * * * * */

.contact_banner {
  height: 250px;
  display: flex;
  background: linear-gradient(45deg, rgb(0, 123, 255), rgb(40, 167, 69));
}

.queries,
.partnership,
.registrations {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33.33%;
}

.queries h1,
.partnership h1,
.registrations h1 {
  color: rgb(255, 255, 255);
  text-align: center;
  padding: 10px;
  font-weight: 600;
  font-size: 38px;
}

.separator {
  background: rgb(255, 255, 255);
  width: 1%;
  transform: rotate(24deg);
  height: 443px;
  margin-top: -22px;
  overflow: hidden;
}

.contact_card svg {
  border: 1px solid rgb(255, 150, 41);
  border-radius: 50%;
  padding: 16px;
  width: 68px;
  height: 68px;
  background: rgb(255, 150, 41);
  color: rgb(255, 255, 255);
}

.contact_card .card {
  background: rgb(255, 255, 255);
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 6px;
  min-height: 200px;
}

.contact_card .card-body {
  padding: 24px;
  border-radius: 0 0 8px 8px;
}

.contact_card .card-body span {
  font-size: 14px;
  color: #000 !important;
}

.contact_card .card-body h4.text-secondary {
  font-weight: 600;
  font-size: 20px;
  line-height: 1.4;
  margin-top: 1.2em;
}

.contact_icon {
  width: 80px;

  height: auto;
}

.row.margin {
  margin-top: -20px;
  margin-left: 0;
}

/* * * * * * * * * * * * * *  Footer  * * * * * * * * * * * * * * */

#footer {
  background-color: #f5f5f5;
  margin-top: 70px;
}

.footer-content {
  margin-top: 70px;
}

#footer li.nav-item {
  position: relative;
}

#footer a.nav-link:hover,
#footer a.nav-link:focus {
  color: #1677ff;
}

.social-icons {
  justify-content: center;
  display: flex;
  flex-direction: row;
}

.social-icons {
  justify-content: center;
  display: flex;
  flex-direction: row;
  margin-top: 2em !important;
  margin-bottom: 2em;
  font-size: 1.5em;
  color: rgb(84, 84, 84);
}

.social-icons svg {
  color: rgb(84, 84, 84);
}

.copyright {
  margin-top: 1em;
  background: rgb(84, 84, 84);
  padding: 16px;
}

.custom-form label {
  margin-bottom: 7px;
  margin-top: 10px;
}

/* Global Form Styling */
.custom-form input[type="text"],
.custom-form input[type="email"],
.custom-form input[type="password"],
.custom-form input[type="tel"],
.custom-form select,
.custom-form textarea {
  width: 100%;
  padding: 12px 15px;
  margin-bottom: 5px;
  border: 1px solid #ddd;
  border-radius: 5px;
  font-size: 16px;
  background-color: #f8f9fa;
  transition: border-color 0.3s ease;
}

.custom-form input[type="text"]:focus,
.custom-form input[type="email"]:focus,
.custom-form input[type="password"]:focus,
.custom-form input[type="tel"]:focus,
.custom-form select:focus,
.custom-form textarea:focus {
  border-color: #f08d27;
  outline: none;
  /* box-shadow: 0 0 5px rgba(240, 141, 39, 0.5); */
}

/* Custom Button Styling */
.custom-btn {
  background-color: #f08d27;
  color: white;
  padding: 10px 15px;
  border: none;
  border-radius: 5px;
  font-size: 18px;
  transition: background-color 0.3s ease;
}

.custom-btn:hover {
  background-color: #e77c1a;
}

/* Custom Link Styling */
.custom-link {
  color: #f08d27;
  font-weight: bold;
}

.custom-link:hover {
  text-decoration: underline;
  color: #e77c1a;
}

/* Card Body Styling */
.card-body {
  background-color: #fff;
  border-radius: 8px;
}

/* Legend Styling */
legend {
  font-size: 24px;
  font-weight: bold;
}

/* Error Message Styling (optional) */
.custom-form .errorlist {
  color: red;
  margin-top: -10px;
  margin-bottom: 10px;
  font-size: 14px;
}

/* Optional Extra Styles for Padding and Margin Adjustments */
.custom-form .form-group {
  margin-bottom: 10px;
}

form.custom-form .helptext {
  font-size: 11px;
}

form.custom-form ul li {
  font-size: 12px;
}

/* ===== JCWT Customized Home ===== */

#intro-section {
  padding-top: 50px;
}

#intro-section .td-none {
  text-decoration: none;
}

#intro-section .power-quote {
	font-size: x-large;
	font-weight: 300;
	text-transform: capitalize;
	padding: 0px 0px 30px 0px;
}

#intro-section .main-quote {
	font-size: 60px;
	line-height: 80px;
}

#intro-section h1 strong {
  color: #FF6E06;
  font-weight: 500;
}
.intro-hr {
  border: none;
  height: 1px;
  background: #ff9629;
  width: 100%;
  max-width: 600px;
  opacity: 0.5;
}

.cta-button {
	height: 60px;
	width: 200px;
	margin-top: 10px;
	text-transform: uppercase;
}

.sl-wrapper .sl-close {
  color: #fff !important;
}

.sl-overlay {
  background: #000 !important;
}

.sl-navigation .sl-prev,
.sl-navigation .sl-next {
  color: white !important;
  font-size: 2rem;
  opacity: 0.8;
  transition: opacity 0.3s ease;
}

.sl-navigation .sl-prev:hover,
.sl-navigation .sl-next:hover {
  opacity: 1;
}

.navbar-wrapper {
	width: 100%;
	background: #ffffff;
	position: sticky;
	top: 0;
	z-index: 816;
	border-bottom: 1px solid #e2e8f0;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.nav-item .login-btn {
	background-color: rgb(240, 141, 39);
	color: white;
	border: none;
	border-radius: 5px;
	transition: background-color 0.3s;
}

.password-container {
  position: relative;
  display: block;
  width: 100%;
}

.password-container input {
  width: 100% !important;
  padding-right: 45px !important;
}

/* Hide native browser password show/hide icons to avoid duplicates */
.password-container input::-ms-reveal,
.password-container input::-ms-clear {
  display: none !important;
}

.password-container i {
  color: #f08d27;
}

#toggle-password,
.toggle-password {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.9rem;
  border: none;
  background: none;
  cursor: pointer;
  color: #007bff;
}

#toggle-password:hover,
.toggle-password:hover {
  text-decoration: underline;
}

table > tbody > tr > td {
  border: 1px solid #e0d6cc;
}

table > tbody:hover > tr:hover > td {
  background-color: #ffe680;
}

table > tbody>tr:nth-child(even) > td {
  background-color: #fff4cc;
}

/* * * * * * * * * * * * * *  Media Query  * * * * * * * * * * * * * * */

@media screen and (max-width: 1390px) {

  #intro-section {
    padding-top: 0;
  }

  #intro-section .main-quote {
    font-size: 50px;
    line-height: 60px;
  }

  .contact_banner {
    height: 150px;
  }

  .contact_card .card {
    min-height: 150px;
  }

  .queries h1,
  .partnership h1,
  .registrations h1 {
	font-size: 28px;
  }
}

@media screen and (max-width: 1200px) {
  .card-rating {
	display: block;
	margin-top: 10px;
  }

  .queries h1,
  .partnership h1,
  .registrations h1 {
	font-size: 28px;
  }

  #intro-section {
    padding-top: 10px;
  }

  #intro-section .main-quote {
    font-size: 55px;
    line-height: 60px;
  }
}

@media screen and (max-width: 1024px) {
  .btn.btn-secondary {
	height: auto;
  }

  .price-sec .ant-space-item h1 {
	font-size: 30px;
  }

  tbody tr td {
	padding: 7px !important;
  }

  .mobile-respon {
	overflow-x: scroll;
  }

  #complete_python h4 {
	font-size: 20px;
  }

  .avatar:before {
	content: " ";
	display: none;
  }

  .video_content,
  iframe {
	height: 250px;
  }

  #story_page img.banner_img {
	height: auto;
  }

  #story_page .card-body h2 {
	font-size: 22px;
	margin-top: 20px;
  }

  #story_page .card-body svg {
	height: 18px;
	width: 18px;
  }

  .contact_banner {
	height: 200px;
  }

  .separator {
	height: 280px;
  }

  .queries h1,
  .partnership h1,
  .registrations h1 {
	font-size: 18px;
  }

  #intro-section {
    padding-top: 30px;
  }

  #intro-section .main-quote {
    font-size: 55px;
    line-height: 60px;
  }
}

@media screen and (max-width: 768px) {
  header.navbar {
	width: 100%;
  }

  .mobile-respon {
	overflow-x: scroll;
  }

  tbody tr td {
	padding: 5px !important;
	border-right: 1px solid beige;
	font-size: 12px;
  }

  .social-icons {
	margin-top: 1em !important;
	margin-bottom: 1em;
  }

  .about_content h1.ant-typography {
	font-size: 24px;
  }

  #footer ul.navbar-nav {
	flex-direction: column !important;
	gap: 10px !important;
  }

  .navbar-collapse {
	width: 50%;
	right: -390px;
	position: fixed;
	top: 0;
	background-color: #ffffff;
	height: 100vh;
	box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1);
	z-index: 14;
	transition: all 0.2s ease;
  }

  .collapse.show {
	right: 0;
  }

  .btn-close {
	margin: 10px;
	position: relative;
	padding-left: 50px;
	padding-bottom: 25px;
  }

  .navbar-expand-lg .navbar-nav {
	gap: 20px;
	background: #ffa132;
	padding: 0px 27px 18px;
  }

  ul.slick-dots {
	bottom: -25px;
	z-index: 10;
  }

  #closeNavbarMenu:focus {
	box-shadow: none;
	opacity: 1;
  }

  #intro-section {
    padding-top: 30px;
  }
}

@media screen and (max-width: 480px) {
  h2.banner_title {
	font-size: 18px;
  }

  #story_page img.quote-image {
	position: relative;
	top: 0;
	left: 0;
  }

  .queries h1,
  .partnership h1,
  .registrations h1 {
	font-size: 12px;
  }

  .separator {
	height: 275px;
  }

  .contact_card .card-body h4.text-secondary {
	font-size: 16px;
  }

  .slick-dots {
	position: relative;
  }

  .about_content {
	max-width: 100%;
  }

  #about_page .d-flex.flex-wrap.gap-3 {
	gap: 0 !important;
  }

  #offer .col-12.justify-content-between.d-flex,
  #offer .card-info.d-flex.justify-content-between {
	flex-direction: column;
  }

  #complete_python table .d-flex.align-items-center {
	flex-direction: column;
  }

  #complete_python h4 {
	font-size: 16px;
  }

  #intro-section {
    padding-top: 20px;
  }
}

/* * * * * * * * * * * * * *  Course Calendar Hero  * * * * * * * * * * * * * * */
.course-calendar-hero {
  background: linear-gradient(135deg, #f0f7ff 0%, #ffffff 100%);
  border-radius: 0;
  position: relative;
  overflow: hidden;
  box-shadow: none;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  border: none;
  border-bottom: 1px solid rgba(226, 232, 240, 0.8);
}

.course-calendar-hero .hero-title {
  font-size: 2.75rem;
  font-weight: 800;
  color: #1e293b;
  line-height: 1.25;
  animation: heroTitleIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both;
}

.course-calendar-hero .accent-font {
  font-family: 'Dancing Script', cursive;
  font-size: 3.5rem;
  font-weight: 700;
  color: #0d6efd;
  display: inline-block;
  position: relative;
  background: linear-gradient(90deg, #0d6efd 0%, #1677ff 35%, #6ea8ff 50%, #1677ff 65%, #0d6efd 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: heroAccentShimmer 4.5s ease-in-out 1.2s infinite;
}

/* Custom underline accent styled for Live Training */
.course-calendar-hero .accent-font::after {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 5%;
  width: 90%;
  height: 4px;
  background: #f08d27;
  border-radius: 4px;
  opacity: 0.85;
  transform-origin: left center;
  transform: scaleX(0);
  animation: heroAccentDraw 0.9s cubic-bezier(0.65, 0, 0.35, 1) 0.6s forwards;
}

.course-calendar-hero .hero-subtitle {
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 500px;
  color: #64748b;
  animation: heroFadeUp 0.8s ease-out 0.55s both;
}

/* ===== Hero left-side entrance + idle animations ===== */
@keyframes heroTitleIn {
  from { opacity: 0; transform: translateY(22px); filter: blur(4px); }
  to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
}
@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes heroAccentDraw {
  to { transform: scaleX(1); }
}
@keyframes heroAccentShimmer {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}

/* Badge Cards */
.hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hero-badge {
  border-radius: 12px;
  padding: 6px 12px;
  font-weight: 600;
  font-size: 0.85rem;
  color: #334155;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
  white-space: nowrap;
  opacity: 0;
  animation: heroBadgeIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards,
             heroBadgeFloat 4.5s ease-in-out infinite;
}
.hero-badges .hero-badge:nth-child(1) { animation-delay: 0.85s, 1.45s; }
.hero-badges .hero-badge:nth-child(2) { animation-delay: 1.00s, 1.60s; }
.hero-badges .hero-badge:nth-child(3) { animation-delay: 1.15s, 1.75s; }

.hero-badge:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.hero-badge .icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #ffffff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  animation: heroIconPulse 2.6s ease-in-out infinite;
}
.hero-badges .hero-badge:nth-child(1) .icon-wrapper { animation-delay: 0s; }
.hero-badges .hero-badge:nth-child(2) .icon-wrapper { animation-delay: 0.4s; }
.hero-badges .hero-badge:nth-child(3) .icon-wrapper { animation-delay: 0.8s; }

@keyframes heroBadgeIn {
  from { opacity: 0; transform: translateY(18px) scale(0.92); }
  to   { opacity: 1; transform: translateY(0)    scale(1); }
}
@keyframes heroBadgeFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-3px); }
}
@keyframes heroIconPulse {
  0%, 100% { transform: scale(1);    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); }
  50%      { transform: scale(1.08); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.10); }
}

.badge-live {
  background-color: #ebf5ff; /* Light blue */
  border: 1px solid #cce3ff;
}
.badge-live .icon-wrapper i {
  color: #0d6efd;
}

.badge-expert {
  background-color: #fff7ed; /* Light orange */
  border: 1px solid #ffedd5;
}
.badge-expert .icon-wrapper i {
  color: #f97316;
}

.badge-cost {
  background-color: #faf5ff; /* Light purple */
  border: 1px solid #f3e8ff;
}
.badge-cost .icon-wrapper i {
  color: #7c3aed;
}

/* Hero Right Column Image */
.hero-image {
  max-height: 280px;
  object-fit: contain;
  width: 100%;
  max-width: 480px;
  border-radius: 20px;
  overflow: hidden;
  animation: heroZoom 5s ease-in-out infinite;
}

@keyframes heroZoom {
  0%, 100% { transform: scale(0.95); }
  50%      { transform: scale(1.07); }
}

/* Footer banner: "brighter!" hand-drawn underline */
.brighter-accent {
  font-family: 'Caveat', 'Segoe Script', cursive;
  color: #1677ff;
  font-size: 2.4rem;
  font-weight: 700;
  position: relative;
  display: inline-block;
  padding: 0 4px 14px;
  line-height: 1;
}

.brighter-underline {
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 18px;
  overflow: visible;
  pointer-events: none;
}

.brighter-underline path {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
}
.brighter-accent.cc-in-view .brighter-underline path {
  animation: brighterDraw 1.6s ease-out 0.2s forwards,
             brighterFloat 4s ease-in-out 1.8s infinite;
}
@keyframes brighterDraw {
  to { stroke-dashoffset: 0; }
}
@keyframes brighterFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(2px); }
}

/* Footer banner — scroll-triggered + idle animations */
.footer-banner-wrapper {
  opacity: 0;
  transform: translateY(30px) scale(0.97);
}
.footer-banner-wrapper.cc-in-view {
  animation: footerBannerIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes footerBannerIn {
  0%   { opacity: 0; transform: translateY(30px) scale(0.97); }
  100% { opacity: 1; transform: translateY(0)    scale(1); }
}

.coursefoot-img {
  opacity: 0;
  transform: translateX(-30px);
}
.coursefoot-img.cc-in-view {
  animation: footerImgIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.15s forwards,
             footerImgFloat 5s ease-in-out 1.1s infinite;
}
@keyframes footerImgIn {
  to { opacity: 1; transform: translateX(0); }
}
@keyframes footerImgFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}

.footer-banner-quote {
  opacity: 0;
  transform: scale(0.4) rotate(-25deg);
  transform-origin: center;
}
.footer-banner-quote.cc-in-view {
  animation: footerQuoteIn 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s forwards,
             footerQuoteBounce 3s ease-in-out 1.5s infinite;
}
@keyframes footerQuoteIn {
  to { opacity: 1; transform: scale(1) rotate(0deg); }
}
@keyframes footerQuoteBounce {
  0%, 100% { transform: scale(1)    rotate(0deg); }
  50%      { transform: scale(1.08) rotate(-4deg); }
}

/* Decorative sparkles */
.footer-banner-wrapper { position: relative; }
.footer-spark {
  position: absolute;
  width: 10px;
  height: 10px;
  background: radial-gradient(circle, #1677ff 0%, rgba(22, 119, 255, 0) 70%);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  z-index: 0;
}
.footer-spark-1 { top: 12%; right: 18%;  animation: sparkTwinkle 3s ease-in-out 1.0s infinite; }
.footer-spark-2 { top: 60%; right: 8%;   animation: sparkTwinkle 3s ease-in-out 1.6s infinite; width: 7px; height: 7px; }
.footer-spark-3 { top: 30%; right: 36%;  animation: sparkTwinkle 3s ease-in-out 2.2s infinite; width: 5px; height: 5px; }
@keyframes sparkTwinkle {
  0%, 100% { opacity: 0;    transform: scale(0.6); }
  50%      { opacity: 0.85; transform: scale(1.4); }
}

/* Media Queries for Responsiveness */
@media (max-width: 991.98px) {
  .course-calendar-hero .hero-title {
    font-size: 2.2rem;
  }
  .course-calendar-hero .accent-font {
    font-size: 2.8rem;
  }
  .hero-image {
    max-height: 340px;
    width: 110%;
    margin-left: -5%;
    margin-top: 1.5rem;
  }
}

@media (max-width: 767.98px) {
  .course-calendar-hero {
    text-align: center;
    padding: 2.5rem 1.5rem !important;
  }
  .course-calendar-hero .hero-subtitle {
    margin-right: auto;
    margin-left: auto;
  }
  .hero-badges {
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
  }
  .hero-badge {
    font-size: 0.8rem;
    padding: 5px 10px;
  }
  .hero-badge .icon-wrapper {
    width: 28px;
    height: 28px;
  }
  .hero-image {
    max-height: 200px;
  }
  .footer-banner-wrapper {
    flex-direction: column !important;
    text-align: center;
    padding: 20px !important;
  }
  .footer-banner-wrapper .row {
    flex-direction: column;
  }
  .footer-banner-text {
    justify-content: center;
    text-align: center;
  }
  .footer-banner-heading {
    font-size: 1.2rem !important;
  }
}

/* * * * * * * * * * * * * *  Batch Capsule Layout  * * * * * * * * * * * * * * */
.batch-capsule-wrapper {
  --theme-color: #cbd5e1;
  --border-color: rgba(226, 232, 240, 0.8);
  --connector-bg: rgba(226, 232, 240, 0.2);
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  background-color: transparent;
  border-radius: 0;
  box-shadow: none;
  padding: 4px 0;
  position: relative;
  margin-bottom: 22px;
  border: none;
  width: 100%;
  z-index: 1;
}

.batch-capsule-wrapper::before {
  content: none;
}

/* Connectors */
.capsule-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 10px;
  flex-shrink: 0;
}

.capsule-divider::before {
  content: none;
}

.capsule-divider::after {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: var(--theme-color);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 2px #ffffff;
}

/* Individual Capsule Cards (Custom Elongated Hexagons) */
.capsule-card {
  display: flex;
  align-items: center;
  background-color: var(--border-color); /* Acts as the border edge */
  flex: 1;
  min-width: 100px;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.03));
  transition: all 0.3s ease;
  position: relative;
  z-index: 1;
}

.capsule-card::after {
  content: "";
  position: absolute;
  top: 1px;
  left: 1px;
  right: 1px;
  bottom: 1px;
  background-color: #ffffff;
  z-index: -1;
  clip-path: inherit;
}

.capsule-card:hover {
  transform: translateY(-2px);
  filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.06));
}

/* Left Icon Circle */
.detail-icon-circle,
.course-icon-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  flex-shrink: 0;
  margin-right: 8px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.03);
}

.detail-icon-circle i {
  font-size: 0.95rem;
}

/* Custom Icon Colors inside Cards */
.capsule-card .detail-icon-circle i.fa-calendar-check,
.capsule-card .detail-icon-circle i.fa-calendar-days {
  color: #7c3aed !important; /* Violet calendar */
}
.capsule-card .detail-icon-circle i.fa-clock {
  color: #2563eb !important; /* Blue clock */
}
.card-timing .detail-icon-circle i {
  color: #d97706 !important; /* Brown/gold clock */
}
.capsule-card .detail-icon-circle i.fa-user {
  color: #ea580c !important; /* Orange trainer silhouette */
}
.capsule-card .detail-icon-circle i.fa-indian-rupee-sign {
  color: #2563eb !important; /* Blue rupee sign */
}

/* Capsule Details Text */
.detail-info-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.detail-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #64748b;
  font-weight: 700;
  margin-bottom: 1px;
}

.detail-val {
  font-size: 0.82rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.25;
  white-space: nowrap;
}

.detail-subtext {
  font-size: 0.68rem;
  line-height: 1.2;
}

/* Card Brand (First Capsule) */
.card-brand {
  min-width: 195px;
  flex: 1.4;
  padding: 10px 16px 10px 18px;
  clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 14px 100%, 0 50%);
}

.capsule-course-img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.course-brand-info {
  display: flex;
  flex-direction: column;
}

.course-name-text {
  font-size: 0.95rem;
  font-weight: 800;
  color: #1e293b;
  line-height: 1.2;
}

.capsule-batch-pill {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 20px;
  display: inline-block;
}

/* Card Detail, Timing, Trainer (Middle Capsules 2, 3, 4, 5, 6) */
.card-detail,
.card-timing,
.card-trainer {
  padding: 10px 16px;
  clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 14px 100%, 0 50%);
}

.card-timing {
  min-width: 175px;
  flex: 1.5;
}

/* Day Badges in Row */
.day-letter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  font-size: 0.6rem;
  font-weight: 700;
  color: #ffffff;
}
.day-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 18px;
  padding: 0 6px;
  border-radius: 9px;
  font-size: 0.6rem;
  font-weight: 700;
  color: #ffffff !important;
}

/* Weekday Colors */
.day-m { background-color: #ef4444; }
.day-t { background-color: #22c55e; }
.day-w { background-color: #eab308; color: #1e293b; }
.day-th { background-color: #3b82f6; }
.day-f { background-color: #8b5cf6; }
.day-s { background-color: #f97316; color: #ffffff !important; }
.day-su { background-color: #22c55e; color: #ffffff !important; }

.card-trainer {
  min-width: 180px;
  flex: 1.5;
  justify-content: space-between;
}

.trainer-left-content {
  display: flex;
  align-items: center;
}

.trainer-avatar-box {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #ffffff;
  flex-shrink: 0;
  margin-left: 4px;
}

.trainer-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Card Action (Last Capsule 7) */
.card-action {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 10px 18px;
  min-width: 160px;
  flex: 1.2;
  border: none;
  background-color: var(--theme-color) !important;
  clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 14px 100%, 0 50%);
}

.card-action::after {
  background-color: var(--theme-color) !important;
}

.action-enrollment-count {
  font-size: 0.7rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 6px;
}

.btn-capsule-enroll {
  background-color: #ffffff;
  font-weight: 700;
  font-size: 0.8rem;
  border-radius: 30px;
  padding: 4px 10px;
  width: 100%;
  border: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.btn-capsule-enroll:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
}

/* Theme 1: Orange (Python) */
.theme-orange {
  --theme-color: #f08d27;
  --border-color: rgba(240, 141, 39, 0.25);
  --connector-bg: rgba(240, 141, 39, 0.08);
  border-color: var(--border-color);
}
.theme-orange .capsule-divider::before {
  border-top-color: rgba(240, 141, 39, 0.2);
}
.theme-orange .capsule-divider::after {
  background-color: var(--theme-color);
}
.theme-orange .capsule-batch-pill {
  background-color: #fff1e2;
  color: var(--theme-color);
}
.theme-orange .detail-icon-circle i {
  color: var(--theme-color);
}
.theme-orange .btn-capsule-enroll {
  color: var(--theme-color);
}
.theme-orange .btn-capsule-enroll:hover {
  background-color: #fff8f2;
}

/* Theme 2: Blue (Data Science & others) */
.theme-blue {
  --theme-color: #1677ff;
  --border-color: rgba(22, 119, 255, 0.25);
  --connector-bg: rgba(22, 119, 255, 0.08);
  border-color: var(--border-color);
}
.theme-blue .capsule-divider::before {
  border-top-color: rgba(22, 119, 255, 0.2);
}
.theme-blue .capsule-divider::after {
  background-color: var(--theme-color);
}
.theme-blue .capsule-batch-pill {
  background-color: #e6f7ff;
  color: var(--theme-color);
}
.theme-blue .detail-icon-circle i {
  color: var(--theme-color);
}
.theme-blue .btn-capsule-enroll {
  color: var(--theme-color);
}
.theme-blue .btn-capsule-enroll:hover {
  background-color: #e6f7ff;
}

/* Responsive Stacking Rules */
@media (max-width: 1399.98px) {
  .batch-capsule-scroll-wrapper {
    overflow-x: auto;
    padding-bottom: 20px;
    -webkit-overflow-scrolling: touch;
  }
  .batch-capsule-wrapper {
    min-width: 1240px;
  }
}

/* * * * * * * * * * * * * *  3-Panel Course Card (cc3)  * * * * * * * * * * * * * * */
.cc3-card {
  --cc3-accent: #1677ff;
  --cc3-accent-soft: rgba(22, 119, 255, 0.08);
  --cc3-accent-border: rgba(22, 119, 255, 0.18);
  display: grid;
  grid-template-columns: 32% 43% 25%;
  gap: 0;
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
  background-color: #ffffff;
  background-image:
    radial-gradient(circle at 0% 0%, var(--cc3-accent-soft) 0%, transparent 28%),
    radial-gradient(circle at 100% 100%, var(--cc3-accent-soft) 0%, transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(255, 255, 255, 0) 0%, var(--cc3-accent-soft) 100%);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  border: 1px solid var(--cc3-accent-border);
  border-radius: 24px;
  overflow: visible;
  margin-bottom: 28px;
  box-shadow: 0 6px 24px rgba(15, 23, 42, 0.04);
  position: relative;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  opacity: 0;
  transform: translateY(28px);
}
.cc3-card.cc-in-view {
  animation: cc3CardIn 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.cc3-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.09);
}
@keyframes cc3CardIn {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Top-left accent borders (glowing, with gap at corner) */
.cc3-card::before,
.cc3-card::after {
  content: "";
  position: absolute;
  background: var(--cc3-accent);
  pointer-events: none;
  z-index: 2;
  box-shadow: 0 0 10px var(--cc3-accent), 0 0 4px var(--cc3-accent);
  animation: cc3BorderGlow 2.5s ease-in-out infinite;
}
.cc3-card::before {
  top: -1px;
  left: 24px;
  width: 28%;
  height: 2px;
  border-radius: 0 4px 4px 0;
}
.cc3-card::after {
  top: 24px;
  left: -1px;
  width: 2px;
  height: calc(100% - 48px);
  border-radius: 0 4px 4px 0;
}
@keyframes cc3BorderGlow {
  0%, 100% { box-shadow: 0 0 20px var(--cc3-accent), 0 0 3px var(--cc3-accent); opacity: 0.45; }
  50%      { box-shadow: 0 0 14px var(--cc3-accent), 0 0 6px var(--cc3-accent); opacity: 1; }
}
.cc3-card > * {
  position: relative;
  z-index: 1;
}
.cc3-card.theme-orange {
  --cc3-accent: #f08d27;
  --cc3-accent-soft: rgba(240, 141, 39, 0.08);
  --cc3-accent-border: rgba(240, 141, 39, 0.22);
}
.cc3-card.theme-blue {
  --cc3-accent: #1677ff;
  --cc3-accent-soft: rgba(22, 119, 255, 0.08);
  --cc3-accent-border: rgba(22, 119, 255, 0.22);
}

/* ---------- LEFT PANEL ---------- */
.cc3-left {
  position: relative;
  padding: 76px 26px 26px 30px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: transparent;
  overflow: hidden;
}
.cc3-watermark {
  position: absolute;
  top: 4px;
  left: 0;
  right: 0;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.cc3-watermark-track {
  display: inline-block;
  font-size: 4.6rem;
  font-weight: 900;
  letter-spacing: 4px;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--cc3-accent);
  opacity: 0.22;
  text-transform: uppercase;
  animation: cc3ScrollText 24s linear infinite;
  will-change: transform;
}
@keyframes cc3ScrollText {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.cc3-brand {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  z-index: 1;
}
.cc3-logo {
  flex-shrink: 0;
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid var(--cc3-accent-border);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}
.cc3-logo svg,
.cc3-logo i { width: 38px !important; height: 38px !important; font-size: 2rem !important; }
.cc3-title-block {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.cc3-title {
  font-size: 1.5rem;
  font-weight: 800;
  color: #1e293b;
  margin: 0;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: capitalize;
  max-width: 100%;
  word-break: break-word;
}
.cc3-batch-pill {
  display: inline-block;
  margin-top: 10px;
  align-self: flex-start;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.3px;
  padding: 5px 14px;
  border-radius: 20px;
  background-color: var(--cc3-accent);
  color: #ffffff;
  text-transform: none;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
}
.cc3-desc {
  position: relative;
  z-index: 1;
  font-size: 0.85rem;
  color: #475569;
  line-height: 1.55;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc3-trainer {
  position: relative;
  z-index: 1;
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
}
.cc3-trainer .cc3-trainer-info {
  flex: 1;
  min-width: 0;
}
.cc3-wave {
  flex-shrink: 0;
  width: 82px;
  height: 24px;
  color: var(--cc3-accent);
  margin-left: auto;
  overflow: visible;
  opacity: 0.85;
}
.cc3-wave-peak {
  display: none;
}
.cc3-trainer-avatar-box {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid #ffffff;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.cc3-trainer-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cc3-trainer-info {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
.cc3-trainer-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1e293b;
  text-decoration: none;
  border-bottom: none;
  align-self: flex-start;
}
.cc3-trainer-name:hover {
  color: var(--cc3-accent);
}
.cc3-trainer-meta {
  font-size: 0.74rem;
  color: #64748b;
  margin-top: 2px;
}
.cc3-trainer-title {
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--cc3-accent);
  margin-top: 2px;
  align-self: flex-start;
}

/* ---------- MIDDLE PANEL ---------- */
.cc3-mid {
  position: relative;
  padding: 12px 22px 10px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  border-left: none;
  border-right: none;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 50%, #ffffff 100%);
}
.cc3-mid::before {
  content: "";
  position: absolute;
  left: 34px;
  top: 24px;
  bottom: 24px;
  width: 2px;
  background: var(--cc3-accent-border);
  border-radius: 2px;
  z-index: 0;
}
.cc3-row {
  position: relative;
  display: grid;
  grid-template-columns: 14px 130px 1fr;
  align-items: center;
  gap: 16px;
  z-index: 1;
  padding: 10px 0;
}
.cc3-row::after {
  content: "";
  position: absolute;
  left: 30px;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--cc3-accent-border);
  pointer-events: none;
}
.cc3-row:last-child::after {
  display: none;
}
.cc3-row-multi {
  align-items: start;
}
.cc3-dot {
  position: relative;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background-color: var(--cc3-accent);
  box-shadow: 0 0 0 3px #ffffff, 0 0 0 4px var(--cc3-accent-border);
  justify-self: center;
}
.cc3-row-multi .cc3-dot {
  margin-top: 8px;
}
.cc3-lbl {
  font-size: 0.85rem;
  font-weight: 600;
  color: #64748b;
}
.cc3-val {
  font-size: 0.92rem;
  font-weight: 700;
  color: #1e293b;
}
.cc3-val i {
  margin-right: 6px;
}
div.cc3-val > * {
  display: block;
  margin-bottom: 2px;
}
div.cc3-val > *:last-child { margin-bottom: 0; }
.cc3-val i {
  color: var(--cc3-accent);
}
.cc3-val-batch {
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0.5px;
  color: #1e293b;
}
.cc3-batch-link {
  position: relative;
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 2px 3px;
  border-bottom: 2px dotted transparent;
  transform-origin: left center;
  transition: color 0.2s ease;
  animation: cc3BatchHint 2.4s ease-in-out infinite;
}
.cc3-batch-link:hover {
  color: var(--cc3-accent);
  animation: none;
  transform: none;
  border-bottom-color: var(--cc3-accent);
}
.cc3-batch-link-icon {
  font-size: 0.72rem;
  color: var(--cc3-accent);
  transition: color 0.2s ease;
}
.cc3-batch-link:hover .cc3-batch-link-icon {
  color: var(--cc3-accent);
}

/* Pulse — scale-up + theme-color dotted bottom underline appears during zoom */
@keyframes cc3BatchHint {
  0%, 65%, 100% {
    transform: scale(1);
    border-bottom-color: transparent;
  }
  78% {
    transform: scale(1.10);
    border-bottom-color: var(--cc3-accent);
  }
  88% {
    transform: scale(1);
    border-bottom-color: transparent;
  }
}

/* Tooltip — appears ABOVE the batch name, centered with arrow */
.cc3-mid { overflow: visible; }
.cc3-batch-link::after {
  content: "View Batch Details";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  transform: translateX(-50%) translateY(4px);
  background: #ffffff;
  color: var(--cc3-accent);
  font-size: 0.74rem;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1.5px solid var(--cc3-accent);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  z-index: 100;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.10);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.cc3-batch-link::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 2px);
  transform: translateX(-50%) translateY(4px);
  border: 6px solid transparent;
  border-top-color: var(--cc3-accent);
  opacity: 0;
  pointer-events: none;
  z-index: 101;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.cc3-batch-link:hover::after,
.cc3-batch-link:hover::before {
  opacity: 1;
}
.cc3-batch-link:hover::after  { transform: translateX(-50%) translateY(0); }
.cc3-batch-link:hover::before { transform: translateX(-50%) translateY(0); }
.cc3-time {
  font-size: 0.92rem;
  font-weight: 700;
  color: #1e293b;
}
.cc3-price {
  font-size: 1.25rem;
  font-weight: 800;
  color: #1e293b;
}
.cc3-subtext {
  font-size: 0.72rem;
  color: #94a3b8;
  font-weight: 500;
}

/* ---------- RIGHT PANEL ---------- */
.cc3-right {
  position: relative;
  padding: 24px 22px 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  gap: 6px;
  background: linear-gradient(180deg, #ffffff 0%, var(--cc3-accent-soft) 60%, var(--cc3-accent-soft) 100%);
  overflow: hidden;
}
/* Staggered entrance for right panel children */
.cc3-right > * {
  opacity: 0;
  transform: translateY(20px);
}
.cc3-card.cc-in-view .cc3-right > *:nth-child(1) {
  animation: cc3RightIn 0.5s ease forwards 0.3s;
}
.cc3-card.cc-in-view .cc3-right > *:nth-child(2) {
  animation: cc3RightIn 0.5s ease forwards 0.5s;
}
.cc3-card.cc-in-view .cc3-right > *:nth-child(3) {
  animation: cc3RightIn 0.5s ease forwards 0.7s;
}
@keyframes cc3RightIn {
  0%   { opacity: 0; transform: translateY(20px) scale(0.9); }
  60%  { opacity: 1; transform: translateY(-4px) scale(1.02); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
/* Staggered entrance + shine + glow for link buttons — same as Enroll */
.cc3-links > * {
  opacity: 0;
  position: relative;
  overflow: hidden;
}
.cc3-links > *::after {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.55) 50%, transparent 100%);
  transform: skewX(-22deg);
  pointer-events: none;
}
.cc3-card.cc-in-view .cc3-links > *:nth-child(1) {
  animation: cc3LinkIn 0.5s ease forwards 0.9s, cc3BtnGlow 2.5s ease-in-out 1.4s infinite;
}
.cc3-card.cc-in-view .cc3-links > *:nth-child(1)::after {
  animation: cc3BtnShine 1s ease-out 1.2s, cc3BtnShine 3s ease-in-out 2.5s infinite;
}
.cc3-card.cc-in-view .cc3-links > *:nth-child(2) {
  animation: cc3LinkIn 0.5s ease forwards 1.1s, cc3BtnGlow 2.5s ease-in-out 1.8s infinite;
}
.cc3-card.cc-in-view .cc3-links > *:nth-child(2)::after {
  animation: cc3BtnShine 1s ease-out 1.4s, cc3BtnShine 3s ease-in-out 3s infinite;
}
.cc3-card.cc-in-view .cc3-links > *:nth-child(3) {
  animation: cc3LinkIn 0.5s ease forwards 1.3s, cc3BtnGlow 2.5s ease-in-out 2.2s infinite;
}
.cc3-card.cc-in-view .cc3-links > *:nth-child(3)::after {
  animation: cc3BtnShine 1s ease-out 1.6s, cc3BtnShine 3s ease-in-out 3.5s infinite;
}
.cc3-card.cc-in-view .cc3-links > *:nth-child(4) {
  animation: cc3LinkIn 0.5s ease forwards 1.5s, cc3BtnGlow 2.5s ease-in-out 2.6s infinite;
}
.cc3-card.cc-in-view .cc3-links > *:nth-child(4)::after {
  animation: cc3BtnShine 1s ease-out 1.8s, cc3BtnShine 3s ease-in-out 4s infinite;
}
@keyframes cc3LinkIn {
  0%   { opacity: 0; transform: translateY(15px) scale(0.9); }
  60%  { opacity: 1; transform: translateY(-3px) scale(1.05); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

.cc3-enrolled-count {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1.05;
  margin-top: 4px;
}
.cc3-count-num {
  font-size: 2.1rem;
  font-weight: 900;
  color: var(--cc3-accent);
  letter-spacing: 0.5px;
  line-height: 1;
}
.cc3-count-label {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--cc3-accent);
  margin-top: 2px;
}
.cc3-students-img {
  max-width: 170px;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.08));
}
.cc3-btn-enroll {
  background-color: var(--cc3-accent);
  color: #ffffff;
  font-weight: 700;
  font-size: 0.92rem;
  border: 2px solid var(--cc3-accent);
  border-radius: 30px;
  padding: 10px 24px;
  width: 100%;
  max-width: 200px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(10px) scale(0.9);
}
.cc3-btn-enroll::before {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.55) 50%, transparent 100%);
  transform: skewX(-22deg);
  pointer-events: none;
}
.cc3-btn-enroll > * { position: relative; z-index: 1; }
.cc3-btn-enroll.cc-in-view {
  animation: cc3BtnReveal 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
             cc3BtnGlow 2s ease-in-out 1.2s infinite;
}
.cc3-btn-enroll.cc-in-view::before {
  animation: cc3BtnShine 1.1s ease-out 0.6s,
             cc3BtnShine 3s ease-in-out 2s infinite;
}
.cc3-btn-enroll:hover {
  background-color: #ffffff;
  color: var(--cc3-accent);
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12);
}
@keyframes cc3BtnReveal {
  0%   { opacity: 0; transform: translateY(10px) scale(0.9); }
  60%  { opacity: 1; transform: translateY(-3px) scale(1.05); }
  100% { opacity: 1; transform: translateY(0)    scale(1); }
}
@keyframes cc3BtnShine {
  0%   { left: -150%; }
  100% { left: 150%; }
}
@keyframes cc3BtnGlow {
  0%, 100% { box-shadow: 0 6px 16px rgba(0,0,0,0.08); filter: brightness(1); }
  50%      { box-shadow: 0 0 20px 6px color-mix(in srgb, var(--cc3-accent) 50%, transparent), 0 0 40px 10px color-mix(in srgb, var(--cc3-accent) 25%, transparent); filter: brightness(1.15); }
}
.cc3-actions-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.cc3-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 4px;
  width: 100%;
  flex-wrap: wrap;
}
.cc3-link-youtube,
.cc3-link-pdf {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 20px;
  background: #ffffff;
  border: 1.5px solid var(--cc3-accent-border);
  color: var(--cc3-accent);
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05);
  transition: all 0.25s ease;
}
.cc3-link-youtube:hover {
  background: #ff0000;
  border-color: #ff0000;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 0, 0, 0.2);
}
.cc3-link-pdf:hover {
  background: var(--cc3-accent);
  border-color: var(--cc3-accent);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px var(--cc3-accent-soft);
}
.cc3-link-youtube i {
  color: #ff0000;
  font-size: 0.95rem;
  transition: color 0.25s ease;
}
.cc3-link-youtube:hover i {
  color: #ffffff;
}
.cc3-link-pdf i {
  color: #ef4444;
  font-size: 0.95rem;
  transition: color 0.25s ease;
}
.cc3-link-pdf:hover i {
  color: #ffffff;
}

.cc3-link-youtube.disabled,
.cc3-link-pdf.disabled {
  background: #f8fafc;
  color: #c0c9d4;
  border-color: #e8ecf0;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
}
.cc3-link-youtube.disabled i,
.cc3-link-pdf.disabled i {
  color: #c0c9d4;
}

.cc3-link-event {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 20px;
  background: #fff8f1;
  border: 1.5px solid #fed7aa;
  color: #ea580c;
  font-size: .72rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}
.cc3-link-event i {
  color: #ea580c;
  font-size: 0.85rem;
  transition: color 0.25s ease;
}
.cc3-link-event:hover {
  background: #ea580c;
  border-color: #ea580c;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.25);
}
.cc3-link-event:hover i {
  color: #ffffff;
}

/* ---------- Responsive ---------- */
@media (max-width: 1199.98px) {
  .cc3-card {
    grid-template-columns: 38% 42% 20%;
  }
  .cc3-row {
    grid-template-columns: 14px 100px 1fr;
    gap: 12px;
  }
  .cc3-row::after { left: 26px; }
  .cc3-title {
    font-size: 1.35rem;
  }
  .cc3-watermark {
    font-size: 3.8rem;
  }
}

@media (max-width: 991.98px) {
  .cc3-card {
    grid-template-columns: 1fr 1fr;
  }
  .cc3-left {
    padding: 40px 22px 22px;
  }
  .cc3-right {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    padding: 22px;
    gap: 14px;
    background: linear-gradient(90deg, #ffffff 0%, var(--cc3-accent-soft) 100%);
  }
  .cc3-students-img { max-width: 90px; }
  .cc3-enrolled-count { flex-direction: row; gap: 8px; align-items: baseline; }
  .cc3-count-num { font-size: 1.8rem; }
  .cc3-count-label { font-size: 0.9rem; margin-top: 0; }
  .cc3-actions-block { width: auto; }
}

@media (max-width: 767.98px) {
  .cc3-card {
    grid-template-columns: 1fr;
    border-radius: 18px;
  }
  .cc3-card::before {
    left: -1px;
    width: 30%;
    border-radius: 18px 0 0 0;
  }
  .cc3-card::after {
    top: -1px;
    height: 100%;
    border-radius: 18px 0 0 18px;
  }
  .cc3-left {
    padding: 32px 20px 22px;
  }
  .cc3-mid {
    padding: 12px 20px 10px 24px;
  }
  .cc3-mid::before { left: 30px; }
  .cc3-row { grid-template-columns: 14px 110px 1fr; gap: 12px; }
  .cc3-row::after { left: 26px; }
  .cc3-right {
    flex-direction: column;
    padding: 24px 20px;
    background: linear-gradient(180deg, #ffffff 0%, var(--cc3-accent-soft) 100%);
  }
  .cc3-enrolled-count { flex-direction: column; align-items: center; }
  .cc3-watermark { font-size: 3.2rem; top: 8px; }
  .cc3-title { font-size: 1.4rem; max-width: none; }
}

@media (max-width: 479.98px) {
  .cc3-row {
    grid-template-columns: 12px 92px 1fr;
    gap: 8px;
  }
  .cc3-row::after { left: 20px; }
  .cc3-mid::before { left: 24px; }
  .cc3-lbl { font-size: 0.78rem; }
  .cc3-val { font-size: 0.85rem; }
  .cc3-students-img { max-width: 100px; }
}

/* * * * * * * * * * * * * * * Video Student Stories * * * * * * * * * * * * * * */
.vs-section {
  padding: 64px 0 56px;
  background-color: #ffffff;
  position: relative;
}

/* ---- Title block ---- */
.vs-title-block {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* Tilted rocket decoration floating on the right of the title */
.vs-rocket {
  position: absolute;
  right: 2%;
  top: -10px;
  width: 130px;
  height: auto;
  transform: rotate(18deg);
  transition: transform 0.6s ease;
  filter: drop-shadow(0 10px 20px rgba(15, 23, 42, 0.10));
  pointer-events: none;
  user-select: none;
  animation: vsRocketFloat 5s ease-in-out infinite;
}
@keyframes vsRocketFloat {
  0%, 100% { transform: rotate(18deg) translateY(0); }
  50%      { transform: rotate(22deg) translateY(-10px); }
}
@media (max-width: 991.98px) {
  .vs-rocket { width: 96px; right: 1%; top: -6px; }
}
@media (max-width: 575.98px) {
  .vs-rocket { display: none; }
}
.vs-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 30px;
  font-size: 0.72rem;
  font-weight: 700;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  box-shadow: 0 3px 10px rgba(15, 23, 42, 0.04);
  margin-bottom: 18px;
}
.vs-eyebrow-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ef4444;
  display: inline-block;
  animation: vsPulse 2s ease-in-out infinite;
}
@keyframes vsPulse {
  0%, 100% { transform: scale(1);   opacity: 1; }
  50%      { transform: scale(1.4); opacity: 0.55; }
}
.vs-heading {
  font-size: 2.2rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.15;
  margin: 0;
  display: inline-flex;
  align-items: flex-start;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}
.vs-cursive {
  font-family: 'Dancing Script', 'Caveat', cursive;
  font-size: 3.8rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 0.85;
  letter-spacing: -2px;
  margin-right: 4px;
  background: linear-gradient(90deg, #f97316 0%, #ef4444 50%, #ec4899 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.vs-bold {
  font-weight: 800;
  color: #0f172a;
  text-align: left;
  line-height: 1.15;
}
.vs-accent { color: #1677ff; }
.vs-subtitle {
  margin: 14px auto 0;
  max-width: 560px;
  font-size: 1rem;
  color: #64748b;
  line-height: 1.55;
}

/* ---- Showcase: ONE big card containing both stories ---- */
.vs-showcase {
  position: relative;
  background:
    radial-gradient(circle at 100% 0%, rgba(249, 115, 22, 0.06) 0%, transparent 35%),
    radial-gradient(circle at 0% 100%, rgba(99, 102, 241, 0.06) 0%, transparent 35%),
    #ffffff;
  border-radius: 28px;
  padding: 38px 36px 32px;
  margin-top: 28px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
  border: 1px solid rgba(226, 232, 240, 0.7);
  overflow: hidden;
}

/* L-shaped glowing accent on top-left + bottom-right corners of the showcase */
.vs-showcase-corner {
  position: absolute;
  pointer-events: none;
  z-index: 1;
}
.vs-showcase-corner-tl {
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  background:
    linear-gradient(to right, #f97316, transparent) top    / 100% 3px no-repeat,
    linear-gradient(to bottom, #f97316, transparent) left  / 3px 100% no-repeat;
  border-top-left-radius: 28px;
  filter: drop-shadow(0 0 8px rgba(249, 115, 22, 0.4));
}
.vs-showcase-corner-br {
  bottom: 0;
  right: 0;
  width: 60px;
  height: 60px;
  background:
    linear-gradient(to left,  #6366f1, transparent) bottom / 100% 3px no-repeat,
    linear-gradient(to top,   #6366f1, transparent) right  / 3px 100% no-repeat;
  border-bottom-right-radius: 28px;
  filter: drop-shadow(0 0 8px rgba(99, 102, 241, 0.4));
}

/* Grid inside showcase — 2 videos side by side with a thin divider in between */
.vs-showcase-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 28px;
  align-items: stretch;
  position: relative;
  z-index: 2;
}

/* Each story (no separate card border — they're sub-blocks of the showcase) */
.vs-item {
  --vs-color: #f97316;
  --vs-color-soft: rgba(249, 115, 22, 0.10);
  display: flex;
  flex-direction: column;
}
.vs-item-1 {
  --vs-color: #f97316;
  --vs-color-soft: rgba(249, 115, 22, 0.10);
}
.vs-item-2 {
  --vs-color: #6366f1;
  --vs-color-soft: rgba(99, 102, 241, 0.10);
}

/* Story tag pill */
.vs-item-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  background: var(--vs-color-soft);
  color: var(--vs-color);
  border-radius: 30px;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 14px;
  align-self: flex-start;
}
.vs-item-tag-dot {
  font-size: 0.5rem !important;
  animation: vsPulse 2s ease-in-out infinite;
}

/* Vertical divider with play badge */
.vs-divider {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 40px; /* align with the videos, below the tag pill */
}
.vs-divider-line {
  flex: 1;
  width: 1px;
  background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, 0.12) 50%, transparent 100%);
  min-height: 60px;
}
.vs-divider-mark {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f97316 0%, #6366f1 100%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  margin: 10px 0;
  box-shadow: 0 6px 16px rgba(99, 102, 241, 0.30);
}

/* ---- Video frame ---- */
.vs-video-frame {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: #0f172a;
  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.18),
    inset 0 0 0 1px rgba(255, 255, 255, 0.06);
  margin-bottom: 18px;
}
.vs-video-aspect {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
}
.vs-video-aspect iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* Decorative corner brackets on the video */
.vs-corner {
  position: absolute;
  width: 22px;
  height: 22px;
  border-color: var(--vs-color);
  border-style: solid;
  border-width: 0;
  z-index: 3;
  pointer-events: none;
}
.vs-corner-tl { top: 8px;    left: 8px;    border-top-width: 3px; border-left-width: 3px;   border-top-left-radius: 8px;   }
.vs-corner-tr { top: 8px;    right: 8px;   border-top-width: 3px; border-right-width: 3px;  border-top-right-radius: 8px;  }
.vs-corner-bl { bottom: 8px; left: 8px;    border-bottom-width: 3px; border-left-width: 3px;   border-bottom-left-radius: 8px;  }
.vs-corner-br { bottom: 8px; right: 8px;   border-bottom-width: 3px; border-right-width: 3px;  border-bottom-right-radius: 8px; }

/* ---- Meta below video ---- */
.vs-name-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.vs-name {
  font-size: 1.18rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  letter-spacing: 0.2px;
}
.vs-rating-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 12px;
  background: var(--vs-color);
  color: #ffffff;
  border-radius: 30px;
  font-size: 0.82rem;
  font-weight: 800;
  box-shadow: 0 4px 12px var(--vs-color-soft);
}
.vs-rating-pill i { font-size: 0.78rem; }

.vs-info-chips {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.vs-info-chips li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  background: #f1f5f9;
  color: #475569;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 600;
}
.vs-info-chips li i {
  color: var(--vs-color);
  font-size: 0.72rem;
}

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
  .vs-section { padding: 48px 0 40px; }
  .vs-heading { font-size: 1.85rem; gap: 10px; }
  .vs-cursive { font-size: 3.2rem; }
  .vs-showcase { padding: 30px 24px 26px; }
  .vs-showcase-grid { gap: 20px; }
}
@media (max-width: 767.98px) {
  .vs-showcase {
    padding: 26px 20px 22px;
    border-radius: 22px;
  }
  .vs-showcase-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .vs-divider {
    flex-direction: row;
    padding-top: 0;
    width: 100%;
  }
  .vs-divider-line {
    flex: 1;
    width: auto;
    height: 1px;
    min-height: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(15, 23, 42, 0.12) 50%, transparent 100%);
  }
  .vs-divider-mark { margin: 0 12px; }
  .vs-heading { flex-direction: column; gap: 4px; }
  .vs-bold { text-align: center; font-size: 1.6rem; }
  .vs-cursive { font-size: 2.8rem; }
  .vs-corner { width: 16px; height: 16px; }
  .vs-info-chips li { font-size: 0.72rem; }
  .vs-showcase-corner-tl,
  .vs-showcase-corner-br { width: 40px; height: 40px; }
}

/* * * * * * * * * * * * * * * Google Reviews — Toolkit Style * * * * * * * * * * * * * * */
.gr-toolkit {
  background-color: #ffffff;
  position: relative;
}

/* ---- Title ---- */
.gr-toolkit-title { position: relative; }
.gr-toolkit-heading {
  font-size: 2rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.15;
  margin: 0;
  display: inline-flex;
  align-items: flex-start;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}
.gr-title-cursive {
  font-family: 'Dancing Script', 'Caveat', cursive;
  font-size: 3.4rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 0.85;
  letter-spacing: -2px;
  display: inline-block;
  margin-right: 4px;
}
.gr-title-bold {
  font-weight: 800;
  color: #0f172a;
  text-align: left;
  line-height: 1.15;
}
.gr-title-accent { color: #1677ff; }
.gr-toolkit-meta {
  color: #64748b;
  font-size: 0.95rem;
}
.gr-toolkit-google { font-weight: 600; color: #334155; }
.gr-toolkit-divider { color: #cbd5e1; }
.gr-toolkit-rating  { color: #f59e0b; font-weight: 800; font-size: 1.05rem; }
.gr-toolkit-count   { color: #64748b; }

/* ---- Rotator — 2 pages × 6 cards each, swaps every ~6s, loops back to page 1 ---- */
.gr-rotator {
  position: relative;
  overflow: hidden;
  margin-top: 22px;
  padding: 18px 0 28px;
}
.gr-rotator-track {
  display: flex;
  width: 200%;
  animation: gr-rotator-shift 12s ease-in-out infinite;
}
@keyframes gr-rotator-shift {
  0%,  42% { transform: translateX(0);    }
  50%, 92% { transform: translateX(-50%); }
  100%     { transform: translateX(0);    }
}
.gr-rotator-page {
  flex: 0 0 50%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 18px;
  justify-items: center;
  padding: 0 30px;
}

/* ---- Card — WHITE background, color accents only on pin, quote, and avatar ---- */
.gr-tk-card {
  position: relative;
  z-index: 1;
  padding-top: 18px;
  max-width: 220px;
  width: 100%;
}
.gr-tk-card-inner {
  background: #ffffff;
  border-radius: 14px;
  padding: 16px 14px 18px;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(226, 232, 240, 0.8);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  min-height: 200px;
  display: flex;
  flex-direction: column;
}
.gr-tk-card:hover .gr-tk-card-inner {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.10);
}

/* Per-card accent color (only affects pin + quote + initial — card itself is white) */
.gr-tk-1  { --gr-tk-color: #f59e0b; --gr-tk-bg: #ffffff; } /* yellow / amber */
.gr-tk-2  { --gr-tk-color: #ec4899; --gr-tk-bg: #ffffff; } /* pink */
.gr-tk-3  { --gr-tk-color: #10b981; --gr-tk-bg: #ffffff; } /* green */
.gr-tk-4  { --gr-tk-color: #06b6d4; --gr-tk-bg: #ffffff; } /* cyan */
.gr-tk-5  { --gr-tk-color: #22c55e; --gr-tk-bg: #ffffff; } /* light green */
.gr-tk-6  { --gr-tk-color: #3b82f6; --gr-tk-bg: #ffffff; } /* blue */
.gr-tk-7  { --gr-tk-color: #eab308; --gr-tk-bg: #ffffff; } /* light yellow */
.gr-tk-8  { --gr-tk-color: #0ea5e9; --gr-tk-bg: #ffffff; } /* sky */
.gr-tk-9  { --gr-tk-color: #f97316; --gr-tk-bg: #ffffff; } /* orange */
.gr-tk-10 { --gr-tk-color: #a855f7; --gr-tk-bg: #ffffff; } /* purple */

/* ---- Pin (thumbtack) at top — 3D bead + silver shaft ---- */
.gr-tk-pin {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 38px;
  pointer-events: none;
  z-index: 3;
}
/* Silver shaft (drawn first via ::before so the bead overlaps the top of it) */
.gr-tk-pin::before {
  content: "";
  position: absolute;
  top: 22px;
  left: 50%;
  transform: translateX(-50%);
  width: 5px;
  height: 14px;
  background: linear-gradient(90deg,
    #475569 0%,
    #94a3b8 22%,
    #f1f5f9 50%,
    #94a3b8 78%,
    #475569 100%);
  border-radius: 1px 1px 2px 2px;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
  z-index: 1;
}
/* Glossy bead on top (::after draws above ::before) */
.gr-tk-pin::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 25%, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0) 22%),
    radial-gradient(circle at 35% 35%,
      color-mix(in srgb, var(--gr-tk-color) 30%, #ffffff) 0%,
      var(--gr-tk-color) 55%,
      color-mix(in srgb, var(--gr-tk-color) 55%, #000000) 100%);
  box-shadow:
    0 8px 14px rgba(0, 0, 0, 0.28),
    inset -3px -4px 8px rgba(0, 0, 0, 0.20),
    inset 2px 3px 6px rgba(255, 255, 255, 0.35);
  z-index: 2;
}

/* ---- Card content ---- */
.gr-tk-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 4px;
}
.gr-tk-quote-icon {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 4rem;
  font-weight: 700;
  color: var(--gr-tk-color);
  line-height: 0.5;
  margin-top: 18px;
  display: inline-block;
  user-select: none;
  pointer-events: none;
}
.gr-tk-avatar-box {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
  flex-shrink: 0;
}
.gr-tk-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gr-tk-avatar-initial {
  background: var(--gr-tk-color);
  color: #ffffff;
  font-weight: 700;
  font-size: 1.2rem;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
}
.gr-tk-name {
  font-size: 1rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  padding: 10px 12px 4px;
  letter-spacing: 0.2px;
  background-color: var(--gr-tk-text-bg, #f8fafc);
  border-left: 3px solid var(--gr-tk-color);
  border-radius: 10px 10px 0 0;
  margin-top: auto;
}
.gr-tk-rating {
  display: flex;
  align-items: center;
  gap: 1px;
  color: #f59e0b;
  margin: 0;
  padding: 2px 12px 4px;
  background-color: var(--gr-tk-text-bg, #f8fafc);
  border-left: 3px solid var(--gr-tk-color);
}
.gr-tk-time {
  margin-left: 8px;
  font-size: 0.74rem;
  color: #94a3b8;
  font-weight: 500;
}
.gr-tk-text {
  font-size: 0.82rem;
  color: #334155;
  line-height: 1.5;
  margin: 0;
  padding: 4px 12px 10px;
  background-color: var(--gr-tk-text-bg, #f8fafc);
  border-left: 3px solid var(--gr-tk-color);
  border-radius: 0 0 10px 10px;
}

/* Per-card review-text rectangle tint (matches the quote mark / pin color, light tone) */
.gr-tk-1  .gr-tk-text { --gr-tk-text-bg: #fef3c7; } /* yellow */
.gr-tk-2  .gr-tk-text { --gr-tk-text-bg: #fce7f3; } /* pink */
.gr-tk-3  .gr-tk-text { --gr-tk-text-bg: #d1fae5; } /* green */
.gr-tk-4  .gr-tk-text { --gr-tk-text-bg: #cffafe; } /* cyan */
.gr-tk-5  .gr-tk-text { --gr-tk-text-bg: #dcfce7; } /* light green */
.gr-tk-6  .gr-tk-text { --gr-tk-text-bg: #dbeafe; } /* blue */
.gr-tk-7  .gr-tk-text { --gr-tk-text-bg: #fef9c3; } /* light yellow */
.gr-tk-8  .gr-tk-text { --gr-tk-text-bg: #e0f2fe; } /* sky */
.gr-tk-9  .gr-tk-text { --gr-tk-text-bg: #ffedd5; } /* orange */
.gr-tk-10 .gr-tk-text { --gr-tk-text-bg: #f3e8ff; } /* purple */

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
  .gr-rotator-page {
    gap: 16px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    padding: 0 20px;
  }
  .gr-tk-card { max-width: 240px; }
}
@media (max-width: 575.98px) {
  /* Mobile: horizontal single-card carousel */
  .gr-rotator { padding: 14px 0 60px; overflow: hidden; }
  .gr-rotator-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: max-content !important;
    animation: none !important;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
  }
  .gr-rotator-page {
    display: contents !important;
  }
  .gr-tk-card {
    flex: 0 0 80vw !important;
    max-width: 80vw !important;
    width: 80vw !important;
    margin: 0 8px;
    transform: rotate(0deg) !important;
  }
  .gr-tk-card-inner { padding: 14px 12px 16px; min-height: 0; }

  /* Arrows at bottom center */
  .gr-nav-arrow {
    top: auto !important; bottom: 0 !important;
    transform: none !important;
    width: 38px; height: 38px;
    font-size: 1rem;
  }
  .gr-prev { left: calc(50% - 50px) !important; }
  .gr-next { right: calc(50% - 50px) !important; }

  .gr-toolkit-heading { flex-direction: column; gap: 6px; }
  .gr-title-cursive { font-size: 3.4rem; }
  .gr-title-bold { text-align: center; font-size: 1.8rem; }
}

/* * * * * * * * * * * * * * Share Your Feedback Section * * * * * * * * * * * * * * */
.sfb-section {
  padding: 36px 0 44px;
  background: linear-gradient(180deg, #ffffff 0%, #fef7ed 100%);
}
.sfb-card {
  background: linear-gradient(135deg, #fff7ed 0%, #fff3e0 60%, #ffe8cc 100%);
  border-radius: 22px;
  padding: 26px 36px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(249, 115, 22, 0.08);
  border: 1px solid #fed7aa;
}
.sfb-card::before {
  content: "";
  position: absolute;
  top: -60px;
  right: -60px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(249, 115, 22, 0.18) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.sfb-card::after {
  content: "";
  position: absolute;
  bottom: -80px;
  left: -40px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(22, 119, 255, 0.10) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.sfb-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: center;
}

/* ---- LEFT column: tag + title + image ---- */
.sfb-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.sfb-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  border: 1px solid #fed7aa;
  padding: 7px 16px;
  border-radius: 30px;
  font-size: 0.74rem;
  font-weight: 700;
  color: #475569;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}
.sfb-tag-icon {
  color: #ef4444;
  font-size: 0.85rem;
  display: inline-flex;
  animation: sfbHeartBeat 1.6s ease-in-out infinite;
}
@keyframes sfbHeartBeat {
  0%, 100% { transform: scale(1); }
  20%      { transform: scale(1.25); }
  40%      { transform: scale(1); }
  60%      { transform: scale(1.15); }
  80%      { transform: scale(1); }
}
.sfb-title {
  font-size: 1.85rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.15;
  margin: 0;
  letter-spacing: -0.5px;
}
.sfb-cursive {
  font-family: 'Dancing Script', 'Caveat', cursive;
  font-size: 2.3rem;
  font-weight: 700;
  color: #f97316;
  position: relative;
  display: inline-block;
  margin-left: 6px;
  line-height: 1;
}
.sfb-cursive::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 3px;
  background: #f97316;
  border-radius: 2px;
  transform-origin: left center;
  animation: sfbUnderlineDraw 1s ease-out 0.4s both;
}
@keyframes sfbUnderlineDraw {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}
.sfb-image {
  max-width: 280px;
  width: 100%;
  height: auto;
  margin-top: 6px;
  margin-left: 18%;
  align-self: flex-start;
  animation: sfbImageFloat 4.5s ease-in-out infinite;
  filter: drop-shadow(0 10px 22px rgba(189, 138, 28, 0.1));
}
@keyframes sfbImageFloat {
  0%, 100% { transform: translateY(0) scale(0.8)}
  50%      { transform: translateY(4px) scale(0.95); }
}

/* ---- RIGHT column: description + button ---- */
.sfb-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}
.sfb-desc {
  font-size: 1rem;
  color: #475569;
  line-height: 1.55;
  margin: 0;
  max-width: 460px;
}
.sfb-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, #1677ff 0%, #0d6efd 100%);
  color: #ffffff !important;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 10px 22px;
  border-radius: 30px;
  text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(22, 119, 255, 0.30);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  position: relative;
  overflow: hidden;
}
.sfb-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(22, 119, 255, 0.50);
  color: #ffffff !important;
}
.sfb-btn-arrow {
  font-size: 0.85rem;
  transition: transform 0.3s ease;
}
.sfb-btn:hover .sfb-btn-arrow {
  transform: translateX(4px);
}
.sfb-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  color: #64748b;
  font-weight: 500;
}

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
  .sfb-card { padding: 38px 36px; }
  .sfb-grid { gap: 28px; }
  .sfb-title { font-size: 2rem; }
  .sfb-cursive { font-size: 2.5rem; }
  .sfb-image { max-width: 240px; }
  .sfb-desc { font-size: 1rem; }
}
@media (max-width: 767.98px) {
  .sfb-section { padding: 40px 0 50px; }
  .sfb-card { padding: 32px 24px; border-radius: 22px; }
  .sfb-grid { grid-template-columns: 1fr; gap: 24px; text-align: center; }
  .sfb-left, .sfb-right { align-items: center; }
  .sfb-desc { max-width: 100%; text-align: center; }
  .sfb-title { font-size: 1.8rem; }
  .sfb-cursive { font-size: 2.2rem; }
  .sfb-image { max-width: 200px; }
}
