/*** Animation ***/
@keyframes fadeInUp {
    0% { opacity: 0;transform: translateY(30px); }
    100% { opacity: 1;transform: translateY(0);}
}
.fade-in-up {
    opacity: 0;
    visibility: hidden;
    transform: translateY(30px);
    transition: all 0.8s ease-in-out;}
.fade-in-up.animate {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);}

@keyframes float3x {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(-6px); } 
    100% { transform: translateY(0); }
}
.float-3x {
    animation: float3x 2s ease-in-out infinite;
}


/*** Smooth Scroll ***/
html { scroll-behavior: smooth;}
@media screen and (prefers-reduced-motion: reduce) {
  html {scroll-behavior: auto;}
}


/*** General Styles ***/
.container {
    padding: 0 4%;
    width: 92%;
    max-width: 1360px;
    display: block;
    margin: 0 auto;}
.section {
    padding: 96px 0;}
html {
    scroll-behavior: smooth;}
body {
    background-color: #f8f7f4;
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;}
h1, h2, h3 {
    font-family: 'Source Serif 4', serif;
    font-weight: 400;
    color: #0d0c22;
    line-height: 1.1;
    margin: 0 0 32px;}
h1 {
    font-size: 72px;}
h2 {
    font-size: 52px;}
h3 {
    font-size: 36px;}
p, span {
    font-size:16px;
    line-height: 1.6;
    color: #0d0c22;
    margin-top: 0;}
b, strong {
    font-weight: 600;}
h1, h2, h3, img, li {
    -webkit-transition: width 1s ease-in-out, left 1.5s ease-in-out;
    -moz-transition: width 1s ease-in-out, left 1.5s ease-in-out;
    -o-transition: width 1s ease-in-out, left 1.5s ease-in-out;
    transition: width 1s ease-in-out, left 1.5s ease-in-out;}


/*** Header ***/
header {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    height: 94px;
    width: 100%;
    z-index: 1;
    background-color: transparent;
    transition: background 0.35s ease, box-shadow 0.35s ease;}
header.scrolled {
    background: #f8f7f4;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);}
.logo {
    height: 54px;
    display: flex;
    align-items: center;}
.logo img {width: 139px;}


/*** Hero ***/
main {
    padding-top: 94px;}
.section.hero {
    padding: 56px 0 0;}
.hero .container {
    display: flex;
    justify-content: center;
    align-items: center;}
.hero .center {
    width: 70%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;}
.flags-list {
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
    list-style: none;
    flex-wrap: wrap;
    font-size: 14px;}
.flags-list li {
    display: flex;
    align-items: center;
    background-color: #fff;
    padding: 5px 10px;
    border-radius: 30px;
    gap: 8px;}
.flags-list img {
    border-radius: 50%;}
.flags-list p, .flags-list span {
    font-size: 14px;}
.cta {
    display: flex;
    justify-content: center;
    padding-top: 36px;
    text-align: center;}
.cta .btn {
    border: 2px solid #000;
    color: #000;
    border-radius: 80px;
    padding: 20px 26px;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    line-height: 1;
    font-weight: 600;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    text-decoration: none;
    max-width: 280px;}
.cta .btn:hover {
    border: 2px solid #2F2D82;
    color: #2F2D82;}


/*** Images ***/
.section.imgs {
    padding-top: 16px;}
.imgs-container {
    display: flex;
    justify-content: flex-end;
    padding: 32px 0 0;}
.imgs-wrapper {
    display: flex;
    justify-content: flex-end;
    position: relative;
    z-index: -1;
    max-width: 1180px;}
.img-card {
    flex: 1 0 18%;}
.img-card img {
    height: 280px;
    width: auto;
    border-radius: 24px;
    padding: 10px;}
.top180 {
    margin-top: 180px;}
.top90 {
    margin-top: 90px;}
.top30 {
    margin-top: 30px;}


/*** Why ***/
.section.why {
    background: #ffda79;
    margin-top: -320px;
    position: relative;
    z-index: 0;}
.why h2 {
    text-align: center;
    margin-bottom: 56px;}
.why .wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;}
.why .wrapper .left, 
.why .wrapper .right {
    flex: 1;
    margin: 12px 0;}
.why-cards {
    position: relative;
    display: flex;
    justify-content: center;}
.why-card {
    width: 260px;
    border-radius: 16px;}
.top.why-card {
    width: 190px;
    position: absolute;
    top: 40px;
    left: 60px;}


/*** Tasks ***/
.tasks .intro {
    text-align: center;
    margin-bottom: 56px;}
.board {
    width: 90%;
    margin: 56px auto 26px;
    display: flex;
    gap: 26px;}
.board-column {
    flex: 1;
    text-align: center;
    background-color: #fff;
    border-bottom: 4px solid #ddd;
    padding: 26px;
    border-radius: 16px;}
.card {
    display: flex;
    align-items: center;
    justify-content: center;}
.card.card-top {
    display: flex;
    flex-direction: column;}
.icon {
    background: #eee;
    border-radius: 50%;
    padding: 15px;
    margin-bottom: 16px;}
.board h3 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 20px;
    margin-bottom: 10px;}
.board p {
    margin-bottom: 0;}
.board .arrow {
    margin: 16px 0;}
a.btn.secondary {
    border: 2px solid #ffda79;
    color: #000;
    background-color: #ffda79;}
a.btn.secondary:hover {
    border: 2px solid #FFC74A;
    color: #000;
    background-color: #FFC74A;}


/*** Rewards ***/
.section.rewards {
    background: #ffda79;}
.rewards h2 {
    text-align: center;
    margin-bottom: 56px;}
.rewards .cta {
    flex-direction: column;
    align-items: center;}
.rewards p {
    margin-bottom: 0;}
.grid {
    width: 90%;
    margin: 56px auto 26px;
    display: flex;
    gap: 26px;}
.grid-column {
    flex: 1;
    text-align: center;
    background-color: #fff;
    border-bottom: 4px solid #ddd;
    padding: 26px;
    border-radius: 16px;}
.grid h3 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 20px;
    margin-bottom: 26px;}
.arrow-list {
    list-style: none;
    padding:0;
    text-align: left;}
.arrow-list li {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 16px;}
.arrow-list li img {
    padding-top: 5px;}
.arrow-list.round li {
    align-items: center;}
.arrow-list.round img {
    background-color: #fff;
    border-radius: 50%;
    padding:12px;
    max-width: 16px;}
.logos-list{
    display: flex;
    flex-wrap: wrap;
    padding-left: 16px;}
.logos-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    margin: 0 16px 8px 8px;}


/*** Profile ***/
.profile h2 {
    text-align: center;
    margin-bottom: 56px;}
.profile .wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 56px;}
.profile .wrapper .left, 
.profile .wrapper .right {
    flex: 1;
    margin: 12px 0;}
.profile .wrapper .left {
    text-align: center;}
.profile img {
    width: 460px;
    border-radius: 16px;}


/*** Call-to-action ***/
.section.call-to-action {
    background: #a4b6fd;}
.call-to-action .container {
    display: flex;
    justify-content: center;
    align-items: center;}
.call-to-action .center {
    width: 70%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;}


/*** Footer ***/
footer {
    padding: 44px 0;
    display: flex;
    flex-direction: column;
    align-items: center;}
.footer-menu ul {
    list-style: none;
    display: flex;
    padding: 0;}
.footer-menu ul li {
    padding: 0 12px;}
.footer-menu a {
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    color: #0d0c22;}
.footer-menu a:hover {
    opacity: .7;}
.footer-social ul {
    list-style: none;
    display: flex;
    padding: 0;}
.footer-social ul li {
    padding: 0 12px;}
.footer-social a:hover {
    opacity: .7;}
.footer-legal {
    display: flex;
    align-items: center;}
.footer-legal p,
.footer-legal a {
    color: #888;
    padding: 0 12px;
    font-size: 14px;
    line-height: 1.1;
    margin-bottom: 0;}
.footer-legal a:hover {
    color: #0d0c22;}



/*** Media Queries ***/
@media only screen and (max-width: 992px) {
    h1 {
        font-size: 52px;
        margin-bottom: 26px;}
    h2 {
        font-size: 34px;}
    h3 {
        font-size: 22px;}
    p, span {
        font-size:15px;
        line-height: 1.4;}
    .hero .container {
        display: flex;
        justify-content: space-between;
        flex-direction: column;}
    .hero .center {
        width: 85%;}
    .tagline {
        margin: 0 0 24px;}
    .cta {
        padding-top: 26px;}
    .call-to-action .center {
        width: 85%;}
    .why .wrapper {
        flex-direction: column-reverse;
        text-align: center;}
    .why .wrapper .right {
        margin-bottom: 52px;}
    .why-cards {
        margin-left: 90px;}
    .top.why-card {
        left: -120px;}
    .board {
        width: 100%;
        gap: 16px;}
    .board h3 {
        font-size: 16px;}
    .grid {
        width: 100%;
        gap: 16px;}
    .grid h3 {
        font-size: 16px;}
    .profile .wrapper {
        flex-direction: column;
        gap: 16px;}
    .profile img {
        width: 100%;}
}

/*** Media Queries ***/
@media only screen and (max-width: 640px) {
    .section.hero {
        padding: 36px 0 0;}
    h1 {
        font-size: 46px;}
    .hero .center,
    .call-to-action .center {
        width: 100%;}
    .imgs-container {
        justify-content: center;
        padding: 26px 0 0;}
    .img-card img {
        height: 200px;}
    .board, .grid {
        flex-direction: column;
        gap: 16px;}
    .why h2,
    .tasks .intro,
    .profile h2{
        margin-bottom: 26px;}
}