.selfs {
    height: 60vh;
    width: 100%;
    background: url("../images/selfs.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.slides {
    background: rgba(0, 0, 0, 0) url("../images/bannerr.png");
    height: 100vh;
    width: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.jobplace-action {
    background-color: #f2f2f2;
    /*background-image: linear-gradient(#f2f2f2, transparent 350%), url(../img/getstart.jpg);*/
    background: url("../images/race.png");
}

/* NEW STYLES */
body {
	font-family: 'Open Sans', sans-serif;
}

h2 {
	color: #4f4f4f;
	font-weight: 700;
}
@keyframes bounce {
  from { transform: translate3d(0, 0, 0);     }
  to   { transform: translate3d(0, 10px, 0); }
}


.l-d li {
    list-style-image: url(../images/radio1.png);
    padding: 0px 0px 0px 15px;
}


video {
	width: -moz-available;
}
#trial {
	margin: 17px 40px 17px 10px;
	color: #fff;
}
.btn-join {
    text-transform: uppercase;
    background-color: #fff;
    color: #1472C8;
    box-shadow: 0 4px 10px -2px #4f4f4f;
    margin-top: 20px;
   	font-weight: 700;
   	padding: 10px 30px;
}

.btn-nav {
	background-color: transparent;
	border-radius: 50px;
	color: #fff;
	border: 1px solid #fff;
}

.btn-join2 {
    text-transform: uppercase;
    background-color: #1472C8;
    color: #fff;
    box-shadow: 0 4px 10px -2px #4f4f4f;
    margin-top: 100px;
   	font-weight: 700;
   	padding: 10px 30px;
}



.btn-load {
    text-transform: uppercase;
    background-color: #1472C8;
    color: #fff;
    box-shadow: 0 4px 10px -2px #4f4f4f;
    margin-top: 50px;
   	font-weight: 700;
   	padding: 10px 30px;
}

.ball {
  /* ... */
  animation: bounce 0.5s;
  animation-direction: alternate;
  animation-iteration-count: infinite;
  color: #fff;
}

#code {
    font-size: 90%;
    color: #bd4147;
    background-color: #f7f7f9;
}

.h h2 {
	color: #fff !important;
}

/* .hiw {
	padding: 50px 30px 10px 30px;
} */

.social-links {
	display: flex;
	list-style: none;
	justify-content: center;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(255,255,255,0.2);
}

.social-links li {
	margin: 0px 30px 0px 30px;
}

/* .hiw p {
	padding: 30px 0px;
	color: #000; !important
} */

.red {
	color: #FF0000;
	font-weight: 600;
}

#signupv {
	/*margin-right: 40px;
	margin-top: 9px;
	color: #fff;*/
	border: 1px solid #ffffff;
	border-radius: 25px;
	color: #ffffff;
	font-family: inherit;
	margin: 10px 10px;
	padding: 5px 20px 5px 20px;
	text-decoration: none;
}

#signupv2 {
	border: 1px solid #ffffff;
	border-radius: 25px;
	background-color: #fff;
	color: #313328;
	font-family: inherit;
	margin: 10px 10px;
	padding: 5px 20px 5px 20px;
	text-decoration: none;
}

.navbar-light {
	background-color: transparent;
}
#navbr img {
	width: 100px;
}
.wk-content {
	margin: 150px 50px 100px 50px;
}

.aboutimg {
	padding: 0px 30px;
}

.aboutimg img {
	width: 100%;
    -webkit-filter: grayscale(50%); /* Safari 6.0 - 9.0 */
    filter: grayscale(50%);
    height: 300px;
}

.abouttext {
	margin: 30px 0px;
}

.abouttext h2 {
	margin-bottom: 20px;
}
.banner-sidebar {
	margin: 60px 0px 0px 75px;
	position: fixed;
    z-index: 1;
}

.mb100 {
	margin-bottom: 150px;
}

.note-title {
	margin-bottom: 30px;
}
.coll {
    padding: 10px 20px;
    margin: 50px 10px;
    height: 103px;
	border: 1px solid #E0E0E0;
	box-sizing: border-box;
	box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
	border-radius: 5px;
}

#comment-exp {
    width: 100vh;
    border: 1px solid #E0E0E0;
}

#above{
	 margin-bottom: -355px;
    margin-left: -180px;
}
.commentList {
	display: none;
}
#response-button {
	width: 100vh;
    border: 1px solid #1472C8;
    padding: 5px 10px;
    text-align: center;
}

#btn-search {
	background-color: #1472C8;
	color: #fff;
	margin: 0px 0px 0px -10px;
}
.res {
	margin: 50px 200px;
}

.blue {
	color: #1472C8;
}

.views-float  {
	text-align: right;
    margin: -40px 0px;
}
.title-topics {
	font-weight: bold;
}

.dropbtn {
    background-color: transparent;
    color: white;
    padding: 16px;
    font-size: 16px;
    border: none;
    cursor: pointer;
}

.dropdown:hover .dropdown-content {
    display: block;
}

.dropdown-content {
    display: none;
    position: fixed;
    background-color: #1472C8;
    /*width: 100%;*/
    left: 0;
    right: 0;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    text-align: left;
    overflow: hidden;

}

.link-icon {
    clear: both;
    /* display: block; */
    line-height: 9px;
    width: auto;
    height: 34px;
}

.text-1 {
    text-align: center;
}

.mg100 {
	margin: 100px;
	color: #fff;
	padding: 35px;
}

.ml {
	margin: 20px auto;
}

.fr {
	float: right;
	color: #fff;
}
.labels {
	float: left;
	color: #fff;
}

.btn-loginform  {
	width: -webkit-fill-available;
	background-color: #1472C8;
	font-weight: 700;
}

.text-red {
	color: #FF0000;
	font-weight: 700;
}

.rp {
	margin-top: 50px;
}

.welcome-v {
	margin-top: 70px;
}

.welcome-v  p {

}


.w2 {
	padding-top: 15px;
}
#searchbar-v {
	margin: -90px 300px 0px 300px;
}

#email-col {
	background-color: #fff;
}
.navbar-brand img {

}

/* .show {
	margin: 5px 10px;
} */



#introduction-visitor {
	background:  url(../images/bannerr.png) 100% 25%/ cover;
	width: auto;
	/*height: 500px;
	margin-top: -30px;*/
}

.benefits {
	background:  linear-gradient(60deg, #1472C8, rgba(86, 204, 242, 0.4)), url(../images/womann.jpg) 100% 25%/ cover;
	margin-bottom: 100px;
}
.-content {
	background:  linear-gradient(180deg, #3183CF, rgba(86, 204, 242, 1));
	color: #fff;
}
/* .benefits-text {
	margin: 100px 50px;
	color: #fff;
}

.benefits-text h4 {
	margin-bottom: 50px;
}

.benefits-text h2 {
	color: #fff; !important
} */

.benefits ul {
	list-style: none;
}

.benefits li {
	padding-bottom: 10px;
}

.g {
	padding: 6px;
	margin: 19px;
	background: white;
	box-shadow: 0px 0px 10px lightgrey;
}

.info {
	padding: 20px;
}
#feature {
	margin-top: 70px;
    margin-bottom: 50px;
}

.fill-viewport {
	min-height: 100vh;
}
/*.text-white {
	color: white;
}*/
.dev-form {
	padding-top: 15px;
}
.back {
	padding: 150px 50px 50px 50px;
    background-color: rgba(8, 19, 33, 0.6);
}

.back2 {
	padding: 50px 50px 50px 50px;
    background-color: rgba(8, 19, 33, 0.6);
}
.book {
	margin: 30px auto;
}

.pro-add2 {
	margin-top: 60px;
}
.pro-add2 .fa {
	color: #bdbdbd;
	margin-right: 10px;
}
.pro-font {
	font-size: small;
}

.num {
	padding-top: 50px;
}
.intro {
	padding-top: 60px;
}
.center {
	padding-top: 100px;
}

.heading1 {
	color: #56CCF2;
}

.heading2 {
	color: #F2C94C;
}

.heading3 {
	color: #27AE60;
}

.heading4 {
	color: #BB6BD9;
}

.text-white-70 {
	color: rgba(255, 255, 255, 0.7);
}
.welcome {
	padding-top: 20px;

}
.btn-custom {
	background-color: #31D676;
	margin-top: 50px;
}
.btn-custom2 {
	background-color: #31D676;
}



#welcome-note {
	background-color: #4983CA;
}
#login {
	padding-top: 20px;
}
/*.white-border {
    background-color: transparent;
    border-bottom: 1px solid white;
    border-top: transparent;
    border-left: transparent;
    border-right: transparent;
    border-radius: inherit;
}*/
dashboard-section input[type="text"], dashboard-section select.white-border {
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid #ccc;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 5px;
    margin-bottom: 30px;
    padding: 10px;
}

dashboard-section input[type="text"]:focus,
select.white-border:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}

#home-contact {
    /* background-color: #243040; */
    background-image: linear-gradient( 45deg, #457FCA 100%, #5691C8 10%);
    /* padding: 50px; */
    margin-top: 100px;
    /* padding-top: 100px; */
    padding: 50px 30px 50px 30px;;
    /* padding-bottom: 200px; */
}
#home-join {
	background-color: #fff;
	background-image: url(../images/amani_0.png);
	padding: 60px;
	margin-top: 100px;
}


/* .footer {
	padding: 50px;
	background: #313328;
	color: #fff;
}

.footer h2 {
	color: #c4c4c4;
	font-size: 30px;
}

.footer li {
	list-style: none;
	color: #fff;
}

.footer a {
	color: #fff;
} */

/* .footer-center {
	margin-top: 50px;
} */


/* .fo {
	color: #777777;
} */

.margin-100 {
	padding-top: 100px;
}
.margin-100 a {
	color: #777777;
}
.margin20 {
	margin-top: 20px;
}
.margin-login {
    margin-top: -100px;
}

.margin-signup {
    margin-bottom: 40px;
}
.inc {
	padding: 0px 0px 5px 0px;
	font-weight: 700;
}
.img-small {
	width: 30px;
}
#login-label {
	display: -webkit-box;
	color: #dcdbdb;
	font-size: 1.3rem;
}
.text-white2 {
	color : #dcdbdb;
}



@media (min-width: 781px) and (max-width: 1024px) {
	.pro-img {
    width: 100%;
    height: 160px;
    margin: auto;
	}
	.main {
    margin: 80px 5px;
	}
	.profile-table {
    	margin: 0px;
	}

	.g {
	padding: 6px;
	margin: 0px;
	background: white;
	box-shadow: 0px 0px 10px lightgrey;
	}
}
@media (min-width: 451px) and (max-width: 780px) {
	#profile-search {
		margin-left: 0px;
	}
	.pro-img {
    width: 100%;
    height: 110px;
    margin: auto
	}
	.main {
    margin: 80px 0px;
	}
	.profile-table {
    	margin: 0px;
	}
	.g {
	padding: 6px;
	margin: 0px;
	background: white;
	box-shadow: 0px 0px 10px lightgrey;
	}
	
}
@media (min-width:320px) and (max-width: 480px) {
	.video-list-thumbs .fa-play-circle{
    font-size: 35px;
    right: 36%;
    top: 27%;
	}
	.video-list-thumbs h2{
		bottom: 0;
		font-size: 12px;
		height: 22px;
		margin: 8px 0 0;
	}

	video {
	width: 220px;
	}
}

@media (min-width: 20px) and (max-width: 450px) {
	#margin-mobile {
		margin-bottom: 70px;
		margin-top: 20px;
	}

	#margin-mobile2 {
		margin-top: 70px;
	}
	.btn-custom {
	background-color: #31D676;
	margin-top: 50px;
	margin-bottom: 30px;
	}
	#donate-options input {
	margin: 5px;
	}
	.small-box {
	display: block;
	}
	.mac {
		margin-bottom: 20px;
	}
	.vd {
		margin: 10px -20px;
    	padding: 20px;
	}
	#searchbar {
		margin-left: 0px;
	}
	#profile-search {
		margin-left: 0px;
		margin-top: inherit;
    	margin-bottom: inherit;
    	margin-right: 8px;
	}
	.video-title {
		margin-left: -80px;
	}
	.video-title2 {
		margin-left: -80px;
	}
	.pro-add{
		margin: 0px;
	}
	.pro-img {
		display: none;
	}
	.sidebar2 {
		margin: auto;
	}
	.main {

	}
	.course-row {
	margin-left: -26px;
	margin-right: 26px;
	}
	.profile-row {
		margin-left: -26px;
		margin-right: 26px;
	}
	.profile-table {
		margin: 0px;
	}
	.res {
		margin: 0px;
	}
	.aboutimg img {
	width: 100%;
    -webkit-filter: grayscale(50%); /* Safari 6.0 - 9.0 */
    filter: grayscale(50%);
    height: 100px;
	}

    .btn-loginform:hover  {
        width: -webkit-fill-available;
        background-color: #0a3e6e;
        font-weight: 700;
    }	
}


.my_group{
	padding: 16px;
	border: 1px solid #00000063;
    border-radius: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	font-weight: bold;
}

.grp_icon{
	display: flex !important;
}
.icons_div a{margin-right: 12px ;}

.manage_attendee{
	display:inline-block;
	position:absolute;
	right:30px;
	top:0;
	transform: translateY(-50%);
	border-radius:6px;
	font-style: italic;
	font-size: small;
	font-weight: 100;
}
/* .modal .show{
	margin: 0 !important;
} */
/* .grp_icon div{
	margin-left: 16px;
} */
section.dashboard-section .right-sidebar .actions{
	display: flex;
	align-items: center;
}
section.dashboard-section .right-sidebar .actions button{
width: 44px;
height: 44px;
border-radius: 6px;
display: block;
margin-left: 12px;
border: none;
background-color:rgba(2, 172, 70,0.1);
}
section.dashboard-section .right-sidebar .actions button img{
	height: 24px;
}
section.dashboard-section .right-sidebar .main-content .short-info img{
height: 72px;
}
section.dashboard-section .right-sidebar .main-content .short-info h3{
	font-size: 20px;
	font-weight: bold;
	margin-top: 6px;
}
section.dashboard-section .right-sidebar .main-content .short-info p{
	margin-bottom: 6px;
}
section.dashboard-section .right-sidebar .main-content .list{
	padding: 12px 0;
	padding-left: 16px;
	padding-right: 16px;
}
section.dashboard-section .right-sidebar .main-content .list li{
	list-style: none;
	display: flex;
	justify-content: space-between;
	margin-bottom: 16px;
}
section.dashboard-section .right-sidebar .main-content .card{
	font-weight: 600;
	display: flex;
	flex-direction: row;
	align-items: center;
}
section.dashboard-section .right-sidebar .main-content .card img{
	width: fit-content;
	height: 30px;
	margin-right: 12px;
}
section.dashboard-section .right-sidebar .main-content .list li .right h5{
font-size: 14px;
font-weight: bold;
display: inline;
position: relative;
margin: 0;
}
section.dashboard-section .right-sidebar .main-content .list li .right{
	min-width: 122px;
}
section.dashboard-section .right-sidebar .main-content .list li .right h5::after{
	content: "";
    display: inline-block; /* Ensures the pseudo-element stays inline */
    margin-left: 10px; /* Adds spacing between the text and the circle */
    width: 10px;
    height: 10px;
    background-color: #02AC46;
    border-radius: 50%;
	vertical-align: middle;
}
section.dashboard-section .right-sidebar .main-content .list li .left p{
margin-bottom: 4px;
}
@media (max-width:575px) {
	section.dashboard-section .right-sidebar .main-content .list li .left p{
		font-size: 14px;
	}
}


/* ================================================================
   MERCHANT LANDING PAGE  —  /for-merchants/
   ================================================================ */

/* ── Nav ── */
.ml-nav {
  position: sticky; top: 0; z-index: 200;
  background: #fff;
  border-bottom: 1px solid #e2f5e2;
  padding: 12px 24px;
  display: flex; align-items: center; justify-content: space-between;
}
.ml-nav-brand {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none;
}
.ml-nav-brand img { width: 36px; height: 36px; object-fit: contain; }
.ml-nav-brand span { font-size: 20px; font-weight: 800; color: #05A105; }
.ml-nav-cta {
  background: #05A105; color: #fff;
  border-radius: 10px; padding: 9px 22px;
  font-weight: 700; font-size: 14px; text-decoration: none;
  transition: background .2s, transform .2s;
}
.ml-nav-cta:hover { background: #037a03; color: #fff; transform: translateY(-1px); }

/* ── Hero ── */
.ml-hero {
  background: linear-gradient(140deg, #EBFFF4 0%, #d4f5e4 55%, #c2f0d8 100%);
  min-height: 88vh; padding: 64px 24px;
  display: flex; align-items: center;
  overflow: hidden; position: relative;
}
.ml-hero-tag {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(5,161,5,.12); color: #05A105;
  border-radius: 50px; padding: 6px 18px;
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  margin-bottom: 22px;
}
.ml-hero-h1 {
  font-size: clamp(36px, 5.5vw, 64px); font-weight: 800;
  color: #0f1f0f; line-height: 1.08; margin-bottom: 22px;
}
.ml-hero-h1 .ml-accent { color: #05A105; }
.ml-hero-sub {
  font-size: clamp(14px, 1.8vw, 17px); color: #595858;
  line-height: 1.65; max-width: 460px; margin-bottom: 36px;
}
.ml-cta-primary {
  display: inline-flex; align-items: center; gap: 10px;
  background: #05A105; color: #fff;
  border-radius: 14px; padding: 15px 36px;
  font-size: 16px; font-weight: 700; text-decoration: none;
  box-shadow: 0 8px 28px rgba(5,161,5,.38);
  transition: transform .2s, box-shadow .2s;
}
.ml-cta-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(5,161,5,.48);
  color: #fff;
}
.ml-scroll-hint {
  display: inline-flex; align-items: center; gap: 8px;
  color: #05A105; font-weight: 600; font-size: 14px;
  text-decoration: none; margin-top: 18px;
  transition: gap .2s;
}
.ml-scroll-hint:hover { gap: 12px; color: #037a03; }

/* ── Phone mockup ── */
.store-canvas {
  position: relative;
  width: 100%; max-width: 420px; height: 440px;
  margin: 0 auto;
}
.store-phone {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 190px; height: 370px;
  background: #fff; border-radius: 34px;
  border: 5px solid #1a2e1a;
  box-shadow: 0 28px 64px rgba(0,0,0,.22);
  overflow: hidden; z-index: 5;
}
.store-phone-notch {
  width: 60px; height: 14px;
  background: #1a2e1a;
  border-radius: 0 0 10px 10px;
  margin: 0 auto 6px;
}
.store-phone-screen {
  padding: 0 10px 10px;
  display: flex; flex-direction: column; gap: 7px;
}
.sp-header {
  display: flex; align-items: center;
  justify-content: space-between; margin-bottom: 2px;
}
.sp-header-title { font-size: 9px; font-weight: 800; color: #05A105; }
.sp-cart-icon    { font-size: 12px; color: #05A105; }

.sp-card {
  background: #f8fdf8; border-radius: 10px;
  padding: 7px 8px; display: flex; align-items: center; gap: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,.06);
  animation: mlCardGlow 3.5s ease-in-out infinite;
}
.sp-card:nth-child(3) { animation-delay: 1.2s; }
.sp-card:nth-child(4) { animation-delay: 2.4s; }
.sp-card:nth-child(5) { animation-delay: 3.6s; }
@keyframes mlCardGlow {
  0%,100% { box-shadow: 0 1px 6px rgba(0,0,0,.06); }
  50%      { box-shadow: 0 3px 14px rgba(5,161,5,.18); }
}
.sp-emoji {
  width: 30px; height: 30px; border-radius: 8px;
  background: #EBFFF4;
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; flex-shrink: 0;
}
.sp-info  { flex: 1; min-width: 0; }
.sp-name  { font-size: 8px; font-weight: 700; color: #0f1f0f; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sp-price { font-size: 8px; color: #05A105; font-weight: 700; }
.sp-badge {
  background: #05A105; color: #fff;
  border-radius: 20px; padding: 2px 7px;
  font-size: 7px; font-weight: 700;
  white-space: nowrap;
  display: flex; align-items: center; gap: 3px;
}
.sp-dot {
  position: absolute; top: 22px; right: 22px;
  width: 12px; height: 12px;
  background: #e23535; border-radius: 50%;
  border: 2px solid #fff; z-index: 10;
  animation: mlDotPulse 1.6s ease-in-out infinite;
}
@keyframes mlDotPulse {
  0%,100% { transform: scale(1); }
  50%      { transform: scale(1.4); }
}

/* ── Floating cards ── */
.ml-float-card {
  position: absolute; background: #fff;
  border-radius: 14px; padding: 9px 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,.13);
  display: flex; align-items: center; gap: 10px;
  font-size: 12px; font-weight: 700; color: #0f1f0f;
  white-space: nowrap; z-index: 10;
}
.ml-fc-icon {
  width: 34px; height: 34px; border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  font-size: 17px; flex-shrink: 0;
}
.ml-fc-sub { font-size: 10px; font-weight: 500; color: #595858; margin-top: 2px; }

.ml-fc-1 { top: 6%;  left: -6%;  animation: mlFl1 4s   ease-in-out infinite; }
.ml-fc-2 { top: 20%; right:-10%; animation: mlFl2 5s   ease-in-out infinite .5s; }
.ml-fc-3 { bottom:26%; left:-12%; animation: mlFl3 4.4s ease-in-out infinite 1s; }
.ml-fc-4 { bottom:6%; right: 4%; animation: mlFl4 3.8s ease-in-out infinite 1.5s; }

@keyframes mlFl1 { 0%,100%{transform:translateY(0) rotate(-2deg)} 50%{transform:translateY(-12px) rotate(2deg)} }
@keyframes mlFl2 { 0%,100%{transform:translateY(0) rotate(3deg)}  50%{transform:translateY(-10px) rotate(-2deg)} }
@keyframes mlFl3 { 0%,100%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-14px) rotate(3deg)} }
@keyframes mlFl4 { 0%,100%{transform:translateY(0) rotate(2deg)}  50%{transform:translateY(-8px) rotate(-2deg)} }

/* ── Stats bar ── */
.ml-stats { background: #05A105; padding: 52px 24px; }
.ml-stat-wrap { text-align: center; color: #fff; padding: 12px; }
.ml-stat-num  { font-size: clamp(38px, 5vw, 58px); font-weight: 800; line-height: 1; margin-bottom: 6px; }
.ml-stat-lbl  { font-size: 13px; opacity: .82; font-weight: 600; }

/* ── Shared section helpers ── */
.ml-chip {
  display: inline-block; background: #EBFFF4; color: #05A105;
  border-radius: 50px; padding: 6px 18px;
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  margin-bottom: 14px;
}
.ml-section-h2 {
  font-size: clamp(26px, 4vw, 42px); font-weight: 800;
  color: #0f1f0f; margin-bottom: 12px;
}
.ml-section-p { font-size: 15px; color: #595858; max-width: 560px; line-height: 1.65; }

/* ── How it works ── */
.ml-how { background: #fff; padding: 88px 24px; }
.ml-step-card {
  background: #fff; border-radius: 20px; padding: 36px 24px;
  height: 100%; text-align: center;
  border: 1px solid #e8f7e8;
  transition: transform .3s, box-shadow .3s;
}
.ml-step-card:hover { transform: translateY(-6px); box-shadow: 0 14px 40px rgba(5,161,5,.14); }
.ml-step-num {
  width: 52px; height: 52px; border-radius: 50%;
  background: #EBFFF4; color: #05A105;
  font-size: 20px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 18px;
  transition: background .3s, color .3s, transform .3s;
}
.ml-step-card:hover .ml-step-num { background: #05A105; color: #fff; transform: scale(1.12); }
.ml-step-ico   { font-size: 30px; color: #05A105; margin-bottom: 12px; }
.ml-step-title { font-size: 17px; font-weight: 700; color: #0f1f0f; margin-bottom: 10px; }
.ml-step-desc  { font-size: 14px; color: #595858; line-height: 1.65; margin: 0; }

/* ── Features ── */
.ml-features { background: #EBFFF4; padding: 88px 24px; }
.ml-feat-card {
  background: #fff; border-radius: 20px; padding: 32px 24px; height: 100%;
  box-shadow: 0 4px 20px rgba(0,0,0,.05);
  border: 1px solid rgba(5,161,5,.07);
  transition: transform .3s, box-shadow .3s;
}
.ml-feat-card:hover { transform: translateY(-6px); box-shadow: 0 14px 40px rgba(5,161,5,.15); }
.ml-feat-ico-wrap {
  width: 58px; height: 58px; border-radius: 16px;
  background: #EBFFF4; color: #05A105;
  font-size: 26px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
  transition: background .3s, color .3s;
}
.ml-feat-card:hover .ml-feat-ico-wrap { background: #05A105; color: #fff; }
.ml-feat-title { font-size: 17px; font-weight: 700; color: #0f1f0f; margin-bottom: 10px; }
.ml-feat-desc  { font-size: 14px; color: #595858; line-height: 1.65; margin: 0; }

/* ── Birthday ticker ── */
.ml-ticker-sec { background: #fff; padding: 88px 24px; }
.ml-ticker-wrap {
  background: #EBFFF4; border-radius: 18px;
  padding: 20px 0; overflow: hidden; position: relative;
}
.ml-ticker-wrap::before,
.ml-ticker-wrap::after {
  content: ''; position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; pointer-events: none;
}
.ml-ticker-wrap::before { left: 0;  background: linear-gradient(90deg,  #EBFFF4, transparent); }
.ml-ticker-wrap::after  { right: 0; background: linear-gradient(-90deg, #EBFFF4, transparent); }
.ml-ticker-track {
  display: flex; gap: 16px; width: max-content;
  animation: mlTicker 28s linear infinite;
}
.ml-ticker-item {
  display: flex; align-items: center; gap: 10px;
  background: #fff; border-radius: 50px; padding: 8px 18px;
  font-size: 13px; font-weight: 600; color: #0f1f0f;
  box-shadow: 0 2px 8px rgba(0,0,0,.06); white-space: nowrap;
}
.ml-t-avatar {
  width: 28px; height: 28px; border-radius: 50%;
  background: #EBFFF4;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; flex-shrink: 0;
}
@keyframes mlTicker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── CTA banner ── */
.ml-cta-banner {
  background: linear-gradient(135deg, #027002 0%, #05A105 55%, #07cc07 100%);
  padding: 96px 24px; text-align: center;
  position: relative; overflow: hidden;
}
.ml-cta-banner::before {
  content: ''; position: absolute; top: -70px; left: -70px;
  width: 260px; height: 260px; border-radius: 50%;
  background: rgba(255,255,255,.07);
}
.ml-cta-banner::after {
  content: ''; position: absolute; bottom: -90px; right: -90px;
  width: 340px; height: 340px; border-radius: 50%;
  background: rgba(255,255,255,.05);
}
.ml-cta-banner h2 {
  font-size: clamp(28px, 4.5vw, 48px); font-weight: 800;
  color: #fff; margin-bottom: 16px; position: relative; z-index: 2;
}
.ml-cta-banner p {
  font-size: 17px; color: rgba(255,255,255,.87);
  max-width: 480px; margin: 0 auto 40px; line-height: 1.6;
  position: relative; z-index: 2;
}
.ml-cta-btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: #fff; color: #05A105;
  border-radius: 14px; padding: 16px 44px;
  font-size: 17px; font-weight: 800; text-decoration: none;
  box-shadow: 0 8px 30px rgba(0,0,0,.22);
  position: relative; z-index: 2;
  transition: transform .2s, box-shadow .2s;
}
.ml-cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 42px rgba(0,0,0,.3);
  color: #05A105;
}

/* ── Footer ── */
.ml-footer {
  background: #0f1f0f; padding: 28px 24px;
  text-align: center; color: rgba(255,255,255,.45); font-size: 13px;
}
.ml-footer a { color: rgba(255,255,255,.65); text-decoration: none; }
.ml-footer a:hover { color: #fff; }

/* ── Scroll reveal ── */
.ml-reveal {
  opacity: 0; transform: translateY(30px);
  transition: opacity .65s ease, transform .65s ease;
}
.ml-reveal.visible { opacity: 1; transform: translateY(0); }