/* Happy login css */
.hero {
	position: relative;
	min-height: 520px;
	background: #575d5e;
	overflow: hidden
}

.hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, .16) 1px, transparent 1px);
	background-size: 22px 22px;
	opacity: .45;
	pointer-events: none
}

.hero:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 150px;
	background: #fff
}

.topbar {
	position: relative;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 26px
}

.brand {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-weight: 900;
	letter-spacing: .3px
}

.brand .mark {
	width: 32px;
	height: 10px;
	position: relative
}

.brand .mark:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	box-shadow: 12px 0 0 #ffc14d, 24px 0 0 #4ad2ff
}

.brand span {
	font-size: 18px
}

.signup {
	padding: 8px 16px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .55);
	background: rgba(255, 255, 255, .14);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
	backdrop-filter: blur(6px);
	transition: .2s
}

.signup:hover {
	transform: translateY(-1px);
	background: rgba(255, 255, 255, .2)
}

.hero-inner {
	position: relative;
	z-index: 4;
	max-width: 980px;
	margin: 0 auto;
	padding: 10px 0 0
}

.tagline {
	color: #fff;
	text-align: center;
	font-weight: 800;
	font-size: 22px;
	line-height: 1.35;
	margin: 14px 12px 8px
}

.title {
    font-weight: bold;
}

.title-log {
	width: 70%;
	margin: 0 auto;
}

.stage-login {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding: 12px 0 0
}

.blue-only {
	left: 0;
	right: 0;
	top: 0;
	height: calc(100% - 150px);
	z-index: 2;
	pointer-events: none;
	overflow: hidden
}

.float {
	position: absolute;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 14px 30px rgba(0, 0, 0, .28);
	border: 3px solid rgba(255, 255, 255, .35)
}

.float img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.l1 {
	width: 80px;
	height: 80px;
	left: 50px;
	top: 40px;
	background: #fff;
	transform: rotate(-9deg);
}

.l2 {
	width: 77px;
	height: 90px;
	left: 180px;
	background: #fff;
	transform: rotate(-9deg);
}

.l3 {
	width: 120px;
	height: 90px;
	left: 30px;
	top: 160px;
	background: #111;
	transform: rotate(-9deg);
}

.r1 {
	width: 80px;
	height: 80px;
	right: 50px;
	top: 40px;
	background: #999;
	transform: rotate(-9deg);
}

.r2 {
	width: 77px;
	height: 90px;
	right: 180px;
	background: #111;
	transform: rotate(-9deg);
}

.r3 {
	width: 120px;
	height: 90px;
	right: 30px;
	top: 160px;
	background: #fff;
	transform: rotate(-9deg);
}

.striped {
	background: linear-gradient(135deg, #fff 0 30%, #111 30% 38%, #fff 38% 52%, #111 52% 60%, #fff 60% 100%)
}



.mono {
	background: linear-gradient(135deg, #111, #333)
}

.mono:before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08)
}

.login-card {
	position: relative;
	width: 360px;
	background: rgba(255, 255, 255, .85);
	border-radius: 10px;
	padding: 18px 20px 16px;
	box-shadow: -20px -8px 7px rgba(0, 0, 0, .28);
	z-index: 6;
	margin-top: 44px
}

.login-title {
	font-size: 16px;
	font-weight: 900;
	color: #222;
	margin-bottom: 12px
}

.field {
	margin: 10px 0
}

.label {
	font-size: 10px;
	color: #9aa1ad;
	margin-bottom: 6px
}

.input {
	width: 100%;
	height: 34px;
	border-radius: 999px;
	border: 1px solid #e7e9ee;
	background: #fff;
	padding: 0 14px;
	outline: none;
	font-size: 12px
}

.input:focus {
	border-color: #7a4cff;
	box-shadow: 0 0 0 3px rgba(122, 76, 255, .12)
}

.row {
	display: flex;
	justify-content: flex-end;
	margin-top: 6px
}

.forgot {
	font-size: 10px;
	color: #7a4cff;
	font-weight: 800;
	cursor: pointer;
}

.btn {
	width: 100%;
	height: 34px;
	border: none;
	border-radius: 999px;
	background: #03add8;
	color: #fff;
	font-weight: 900;
	font-size: 12px;
	cursor: pointer;
	margin-top: 10px;
	box-shadow: 0 5px 15px rgba(90, 50, 255, .28);
	transition: .2s
}

.btn:hover {
	transform: translateY(-1px)
}

.social-note {
	margin: 12px 0 8px;
	text-align: center;
	font-size: 9px;
	color: #9aa1ad
}

.social {
	display: flex;
	gap: 10px;
	justify-content: center
}

.pill {
	height: 24px;
	min-width: 58px;
	border-radius: 999px;
	border: none;
	color: #fff;
	font-weight: 900;
	font-size: 10px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-shadow: 0 8px 16px rgba(0, 0, 0, .12)
}


.pill i {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .22)
}

.features {
    padding: 48px 18px;
}

.rev_grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.rev_card {
    background: #ffffff;
    border-radius: 12px;
    padding: 18px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, .28);
}

.rev_item {
    display: flex;
    gap: 12px;
    align-items: center;
}

.rev_flex {
    flex: 1;
}

.rev_rating {
    display: flex;
    gap: 4px;
}

.rev_text {
    margin-top: 14px;
    color: #0f172a;
    line-height: 1.45;
}

.rev_flex_item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.ft-title {
	text-align: center;
	font-size: 18px;
	color: #222;
	font-weight: 950;
	margin: 0 0 26px
}

.ft-grid {
	max-width: 980px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	padding: 0 18px
}

.ft {
	background: #fefefe;
	border-radius: 10px;
	padding: 14px 14px 16px;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, .28);
	min-height: 96px;
}

.ft h4 {
	font-size: 11px;
	color: #1f2937;
	font-weight: 950;
	margin-bottom: 8px
}

.ft p {
	font-size: 11px;
	color: #6b7280;
	margin-top: 10px;
}

@media(max-width:980px) {
	.blue-only {
		display: none
	}

	.login-card {
		width: min(360px, 92vw)
	}

	.hero {
		min-height: 480px
	}

	.hero:after {
		height: 130px
	}

	.ft-grid {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media(max-width:520px) {
	.ft-grid {
		grid-template-columns: 1fr
	}
}