* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Quicksand", sans-serif;
    color: black;
    overflow-x: clip;
    background: #FFF9F2;
}

.page {
    min-height: 100vh;
    background: #FFF9F2;
    animation: pageReveal 1.2s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes pageReveal {
    from { opacity: 0; }
    to { opacity: 1; }
}

.top {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 75px;
    display: flex;
    align-items: center;
    padding: 0 35px;
    gap: 35px;
    background: rgba(255, 249, 242, 0.932);
    backdrop-filter: blur(123px);
    -webkit-backdrop-filter: blur(123px);
    border-bottom: 1px solid rgba(23, 50, 77, 0.09);
    box-shadow: 0 8px 25px rgba(23, 50, 77, 0.08);
    z-index: 100000;
    animation: navReveal .9s cubic-bezier(.22, 1, .36, 1) .1s both;
}

@keyframes navReveal {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}

.brand {
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-right: auto;
    transition: transform .3s ease;
}

.brand:link,
.brand:visited,
.brand:hover,
.brand:active {
    text-decoration: none;
}

.brand:hover {
    transform: translateY(-2px);
}

.fox {
    width: 55px;
    height: 55px;
    object-fit: cover;
    transition: transform .3s ease, box-shadow .3s ease;
    background: none;
}

.brand:hover .fox {
    transform: rotate(-4deg) scale(1.04);
}

.brand-name {
    font-size: 30px;
    font-weight: 600;
    color: #17324D;
    text-decoration: none;
}

.index-1,
.about-1,
.faq-1,
.story-1,
.involve-1,
.donate-1 {
    position: absolute;
    display: flex;
    align-items: center;
    border: none;
    background: transparent;
    color: #17324D;
    font-family: "Quicksand", sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: transform .3s ease, color .25s ease, opacity .25s ease;
}

.index-1 { margin-left: 365px; }
.about-1 { margin-left: 515px; }
.faq-1 { margin-left: 565px; }
.story-1 { margin-left: 610px; }
.involve-1 { margin-left: 665px; }
.donate-1 { margin-left: 790px; }

.index-1.open .triangle,
.involve-1.open .triangle {
    transform: rotate(180deg);
}

.triangle {
    display: inline-block;
    margin-left: 5px;
    font-size: 19px;
    transform-origin: center;
    transition: transform .35s ease;
}

.index-1:hover,
.about-1:hover,
.faq-1:hover,
.story-1:hover,
.involve-1:hover,
.donate-1:hover {
    color: #39A6A3;
    transform: translateY(-2px);
}

.donate-1 {
    border: 3px solid #17324D;
    border-radius: 35px;
    padding: 9px 21px;
}

.donate-1:hover {
    color: #39A6A3;
    border-color: #39A6A3;
}

.explore-menu {
    position: fixed;
    top: 75px;
    left: 0;
    width: 100%;
    height: calc(100vh - 75px);
    background: rgba(255, 249, 242, 0.82);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid rgba(23, 50, 77, 0.07);
    border-bottom: 1px solid rgba(23, 50, 77, 0.07);
    box-shadow: 0 15px 40px rgba(23, 50, 77, .08);
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-100%);
    pointer-events: none;
    transition: transform .5s cubic-bezier(.22, 1, .36, 1), opacity .35s ease, visibility .5s ease;
}

.explore-menu.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.explore-menu-wrap,
.explore-menu-content {
    width: 100%;
    height: 100%;
    padding: 45px 8%;
    overflow-y: auto;
    display: block;
}

.explore-menu-header {
    margin-bottom: 35px;
}

.explore-menu-header h2 {
    font-family: "Quicksand", sans-serif;
    font-size: 40px;
    font-weight: 600;
    color: #17324D;
    letter-spacing: -1.5px;
}

.explore-menu-header p {
    margin-top: 10px;
    font-size: 16px;
    font-weight: 500;
    color: #526A7A;
}

.explore-item {
    display: block;
    width: 100%;
    padding: 18px 0;
    margin: 0;
    background: transparent !important;
    border: none;
    border-radius: 0;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    color: #17324D;
    text-decoration: none;
    cursor: pointer;
    transition: transform .25s ease, color .25s ease;
}

.explore-item:hover {
    background: transparent !important;
    box-shadow: none !important;
    transform: translateX(8px);
}

.explore-item h3 {
    margin: 0 0 7px;
    color: #17324D;
    font-size: 20px;
    font-weight: 600;
}

.explore-item p {
    margin: 0;
    max-width: 650px;
    color: #526A7A;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}

.explore-item:focus-visible {
    outline: 3px solid rgba(57, 166, 163, .35);
    outline-offset: 6px;
    border-radius: 4px;
}

.signin-button {
    border: none;
    border-radius: 20px;
    padding: 12px 25px;
    background: transparent;
    color: #17324D;
    font-family: "Quicksand", sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: transform .3s ease, color .25s ease, background .25s ease;
}

.signin-button:hover {
    transform: translateY(-2px);
    color: #39A6A3;
    background: rgba(57, 166, 163, .08);
}

.signup-button {
    border: none;
    height: 45px;
    min-width: 100px;
    padding: 0 22px;
    border-radius: 35px;
    background: #17324D;
    color: #FFF9F2;
    font-family: "Quicksand", sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(23, 50, 77, .13);
    transition: transform .3s ease, background .25s ease, box-shadow .25s ease;
}

.signup-button:hover {
    transform: translateY(-3px);
    background: #39A6A3;
    box-shadow: 0 12px 25px rgba(57, 166, 163, .22);
}

.space {
    height: 580px;
    margin-top: 75px;
    padding: 120px 8%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    --bga-05-bg: #554100;
    --bga-05-blue: #008d4b;
    --bga-05-brown: #4b0000;
    --bga-05-raspberry: #ad0062;
    --bga-05-orange: #ffb700;
    background: radial-gradient(circle at 88% 18%, rgba(22, 190, 184, 0), transparent 30%),
        radial-gradient(circle at 8% 85%, rgba(16, 142, 201, .14), transparent 30%),
        linear-gradient(135deg, #506e9c);
    box-shadow: inset 0 -40px 70px rgba(23, 50, 77, .14);
    animation: heroReveal 1.1s cubic-bezier(.22, 1, .36, 1) .25s both;
}

@keyframes heroReveal {
    from { opacity: 0; transform: translateY(25px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.space::before,
.space::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: -3;
}

.space::before {
    width: 500px;
    height: 500px;
    right: -180px;
    top: -220px;
    background: radial-gradient(circle, rgba(57, 166, 162, 0), transparent 68%);
    animation: heroGlow 12s ease-in-out infinite alternate;
}

.space::after {
    width: 420px;
    height: 420px;
    left: -180px;
    bottom: -220px;
    background: radial-gradient(circle, rgba(244, 201, 93, 0), transparent 70%);
    animation: heroGlow2 14s ease-in-out infinite alternate;
}

@keyframes heroGlow {
    from { transform: translate(0, 0) scale(.9); }
    to { transform: translate(-60px, 50px) scale(1.08); }
}

@keyframes heroGlow2 {
    from { transform: translate(0, 0) scale(.95); }
    to { transform: translate(50px, -40px) scale(1.08); }
}

.space .bga-05__defs {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    pointer-events: none;
}

.space .bga-05__terrain,
.space .bga-05__ridge {
    position: absolute;
    inset: -85%;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(115% 100% at 50% 50%, black 35%, transparent 100%);
    mask-image: radial-gradient(115% 100% at 50% 50%, rgba(0, 0, 0, 0.452) 35%, transparent 100%);
    z-index: -2;
}

.space .bga-05__terrain {
    background-image: repeating-radial-gradient(circle at 20% 35%, transparent 0 105px, color-mix(in oklab, var(--bga-05-blue) 18%, transparent) 105px 111px),
        repeating-radial-gradient(circle at 78% 70%, transparent 0 135px, color-mix(in oklab, var(--bga-05-brown) 16%, transparent) 135px 141px);
    opacity: .65;
    animation: terrainMove 28s ease-in-out infinite alternate;
}

.space .bga-05__ridge {
    translate: 12px 12px;
    opacity: .35;
    background-image: repeating-radial-gradient(circle at 20% 35%, transparent 0 105px, color-mix(in oklab, var(--bga-05-raspberry) 18%, transparent) 105px 111px),
        repeating-radial-gradient(circle at 78% 70%, transparent 0 155px, color-mix(in oklab, var(--bga-05-orange) 15%, transparent) 155px 161px);
    animation: ridgeMove 34s ease-in-out infinite alternate-reverse;
}

@keyframes terrainMove {
    from { transform: scale(1) translate3d(0, 0, 0); }
    to { transform: scale(1.04) translate3d(-18px, 12px, 0); }
}

@keyframes ridgeMove {
    from { transform: scale(1) translate3d(0, 0, 0); }
    to { transform: scale(1.05) translate3d(22px, -15px, 0); }
}

.space .front,
.space .front2 {
    position: relative;
    z-index: 5;
}

.front {
    background: transparent;
    height: 650px;
    width: 400px;
    margin-top: 55px;
    margin-left: 75px;
    display: inline-block;
    animation: heroLeftReveal 1s cubic-bezier(.22, 1, .36, 1) .55s both;
}

@keyframes heroLeftReveal {
    from { opacity: 0; transform: translateX(-35px); }
    to { opacity: 1; transform: translateX(0); }
}

.front_text {
    font-family: "Quicksand", sans-serif;
    font-size: 90px;
    font-weight: 700;
    color: #FFF9F2;
    margin-top: -112px;
    margin-left: 20px;
    line-height: 1.05;
    word-spacing: 250px;
    letter-spacing: -4px;
    text-shadow: 0 8px 25px rgba(23, 50, 77, .15);
}

.front_text2 {
    display: block;
    font-family: "Quicksand", sans-serif;
    font-size: 50px;
    font-weight: 700;
    color: #f9fcdd;
    margin-top: 0px;
    margin-left: 20px;
    line-height: 1.15;
    letter-spacing: -2px;
}

.imgs {
    margin-left: 600px;
    margin-top: -600px;
    position: absolute;
    height: 90px;
    width: 190px;
    background: transparent;
}

.man {
    margin-left: 210px;
    margin-top: 133px;
    position: absolute;
    height: 60px;
    width: 60px;
    background: transparent;
}

.Woman {
    margin-left: 252px;
    margin-top: 133px;
    position: absolute;
    height: 60px;
    width: 60px;
    background: transparent;
}

.man2 {
    margin-left: 300px;
    margin-top: 133px;
    position: absolute;
    height: 60px;
    width: 60px;
    background: transparent;
}

.front2 {
    background: transparent;
    height: 350px;
    width: 500px;
    margin-top: -450px;
    margin-left: 600px;
    margin-bottom: 300px;
    display: inline-block;
    color: white;
    animation: heroRightReveal 1s cubic-bezier(.22, 1, .36, 1) .7s both;
}

@keyframes heroRightReveal {
    from { opacity: 0; transform: translateX(35px); }
    to { opacity: 1; transform: translateX(0); }
}

.front_text3 {
    font-family: "Quicksand", sans-serif;
    font-size: 23.5px;
    font-weight: 700;
    margin-top: 90px;
    margin-left: 20px;
    margin-bottom: 95px;
    display: block;
    line-height: 1.5;
}

.start-learning-button {
    border: none;
    margin-top: -70px;
    margin-bottom: 6px;
    margin-left: 10px;
    height: 45px;
    width: 450px;
    border-radius: 35px;
    background: #17324D;
    color: #FFF9F2;
    font-family: "Quicksand", sans-serif;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    position: absolute;
    box-shadow: 0 10px 22px rgba(23, 50, 77, .15);
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}

.start-learning-button:hover {
    transform: translateY(-4px) scale(1.01);
    background: #39A6A3;
    box-shadow: 0 14px 30px rgba(57, 166, 163, .25);
}

.for-parents,
.for-educator {
    position: absolute;
    height: 50px;
    width: 190px;
    border-radius: 35px;
    font-family: "Quicksand", sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: transform .3s ease, background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
}

.for-parents {
    margin-left: 25px;
    background: white;
    color: #111;
    box-shadow: 0 7px 20px rgba(23, 50, 77, .08);
    border: none;
}

.for-educator {
    margin-left: 250px;
    background: rgba(255, 249, 242, .04);
    color: white;
    border: 2px solid rgba(221, 239, 252, .65);
    backdrop-filter: blur(6px);
}

.for-parents:hover {
    transform: translateY(-4px);
    background: none;
    color: white;
    border: 2px solid rgba(221, 239, 252, .65);
    box-shadow: 0 10px 22px rgba(23, 50, 77, .14);
}

.for-educator:hover {
    transform: translateY(-4px);
    background: rgb(255, 255, 255);
    color: #000;
    box-shadow: 0 10px 22px rgba(23, 50, 77, .14);
}

.diplome {
    position: absolute;
    height: 120px;
    width: 160px;
    top: -40px;
    right: -60px;
    z-index: 10;
    filter: drop-shadow(5px -5px 5px rgba(23, 50, 50, .05));
}

.creator {
    position: relative;
    width: min(960px, calc(100% - 240px));
    height: 380px;
    margin: 90px auto 1100px;
    padding: 0 64px;
    display: grid;
    grid-template-columns: 1fr 1px 1.5fr;
    grid-template-rows: auto auto auto;
    column-gap: 56px;
    align-content: center;
    border-radius: 25px;
    background: #fff;
    border: 1px solid rgba(23, 50, 77, .06);
    box-shadow: 0 20px 55px rgba(23, 50, 77, .11);
    isolation: isolate;
    transition: transform .4s ease, box-shadow .4s ease;
}

.creator_text {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    font-size: 23px;
    line-height: 1.2;
    color: var(--navy);
}

.creator-profil {
    width: 70px;
    height: 70px;
    margin: 0;
    border-radius: 50%;
    object-fit: cover;
}

.creator_text2 {
    grid-column: 1;
    grid-row: 2 / span 2;
    align-self: start;
    margin: 8px 0 0 86px;
    font-size: 18px;
    color: var(--navy);
}

.testimonial-line {
    position: static;
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
    width: 1px;
    height: 175px;
    margin: 0 auto;
    background: rgba(23, 50, 77, .20);
}

.testimonial-text {
    position: static;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    grid-column: 3;
    grid-row: 1;
    align-self: end;
    margin: 0;
    font-family: "Quicksand", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--navy);
}

.testimonial-author {
    position: static;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    grid-column: 3;
    grid-row: 2;
    margin: 18px 0 0;
    font-family: "Quicksand", sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--navy);
}

.testimonial-publication {
    position: static;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    grid-column: 3;
    grid-row: 3;
    align-self: start;
    margin: 4px 0 0;
    font-family: "Quicksand", sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: rgba(23, 50, 77, .55);
}

.program {
    position: relative;
    isolation: isolate;
    min-height: 2400px;
    border-radius: 0px;
    margin-top: -100px;
    margin-bottom: 150px;
    padding: 50px 8%;
    background: transparent;
    
}

.program2 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.program2::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("/image_1.jpg/texture-bleu1.jpg");
    background-size: cover;
    background-position: center;
    opacity: 0.05;
    pointer-events: none;
    z-index: -1;
}

.learning-section {
    position: relative;
    border-radius: 0px;
    height: 2000px;
    width: 1330px;
    margin-right: 100px;
    margin-left: -100px;
    display: grid;
    grid-template-columns: 45% 55%;
    background: transparent;
    
    overflow: visible;
}

.program2 {
    position: absolute;
    margin-top: -800px;
    width: 1350px;
    height: 2900px;
    padding: 50px 8%;
    border-radius: 0px;
    overflow: hidden;
    background: #17324d;
    
    background-size: 1090px 1090px, 440px 440px, 100% 100%, 100% 100%, 100% 100%;
}

.left-content {
    position: sticky;
    top: 59px;
    width: 800px;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 90px;
    color: black;
}

.programs {
    margin-left: 10px;
    font-size: 50px;
    line-height: .95;
    font-weight: 700;
    margin-bottom: 0px;
    color: white;
    letter-spacing: -3px;
    display: block;
    
    margin-top: 100px;
}

.programs-2 {
    margin-top: 20px;
    margin-left: 0px;
    font-size: 20px;
    line-height: 1.55;
    font-weight: 700;
    margin-bottom: 0px;
    color: white;
    width: 450px;
}

.ever-text {
    color: white;
    margin-top: 60px;
    font-size: 40px;
    line-height: .95;
    font-weight: 700;
    margin-left: 150px;
}

.program-points {
    position: absolute;
    top: 500px;
    right: 15%;
    width: 400px;
    display: flex;
    flex-direction: column;
    gap: 38px;
}

.program-1,
.program-2,
.program-3 {
    font-size: 17px;
    line-height: 1.55;
    font-weight: 700;
    width: 450px;
    color: rgba(255, 249, 242, .85);
}

.headphone-fox1 {
    height: 150px;
    width: 150px;
    margin-left: 500px;
    margin-bottom: 50px;
}

.officialsat-text {
    color: white;
    font-size: 25px;
    margin-top: -20px;
    font-weight: 700;
    line-height: 1.1;
}

.officialsat-text1 {
    color: rgba(255, 249, 242, .85);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
    width: 340px;
    margin-top: 12px;
    margin-bottom: 40px;
}

.Dialogue-text {
    color: white;
    font-size: 25px;
    margin-bottom: -40px;
    font-weight: 700;
}

.Dialogue-text1,
.admission-text1,
.Homework-text1 {
    color: rgba(255, 249, 242, .85);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 40px;
    width: 320px;
    margin-bottom: 40px;
}

.admission-text {
    color: white;
    font-size: 25px;
    margin-bottom: -40px;
    font-weight: 700;
    width: 300px;
}

.Homework-text {
    color: white;
    font-size: 25px;
    margin-bottom: -40px;
    font-weight: 700;
    width: 400px;
}

.cards-container {
    height:310px;
    border-radius: 20px;
    padding: 0px 35px 0px;
    display: flex;
    margin-left: 100px;
    flex-direction: column;
    background: transparent;
    gap: 0px;
}

.learning-card {
    width: 450px;
    margin-top: 75px;
    min-height: 430px;
    padding: 32px 28px 28px;
    border-radius: 35px;
    background: #FFF9F2;
    border: none;
    box-shadow: 0 15px 35px rgba(23, 50, 77, .11);
    transition: transform .4s ease, box-shadow .4s ease;
    display: flex;
    flex-direction: column;
}

.learning-card:hover {
    transform: translateY(-12px) rotate(-0.5deg);
    box-shadow: 0 22px 48px rgba(23, 50, 77, .14);
}

.card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.card-tags span {
    padding: 5px 12px;
    border-radius: 20px;
    background: rgba(57, 166, 163, .12);
    color: #17324D;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
    transition: background .25s ease;
}

.card-tags span:first-child {
    background: #17324D;
    color: #FFF9F2;
}

.learning-card:hover .card-tags span:first-child {
    background: #39A6A3;
}

.learning-card h2 {
    font-family: "Quicksand", sans-serif;
    font-size: 34px;
    line-height: 1.05;
    margin: 0 0 32px;
    font-weight: 600;
    color: #000;
    letter-spacing: -1.5px;
}

.learning-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 1;
}

.learning-card li {
    font-family: "Quicksand", sans-serif;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 500;
    color: #000;
}

.learning-card li::before {
    content: "✦";
    display: inline-block;
    margin-right: 12px;
    color: #F4C95D;
}

.learning-card button {
    width: 100%;
    margin-top: 35px;
    padding: 16px;
    border: none;
    border-radius: 30px;
    background: #17324D;
    color: #FFF9F2;
    font-family: "Quicksand", sans-serif;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: transform .3s ease, background .25s ease, box-shadow .25s ease;
}

.learning-card button:hover {
    transform: translateY(-3px);
    background: #39A6A3;
    box-shadow: 0 8px 20px rgba(23, 50, 77, .15);
}

.stars {
    margin-top: 25px;
    color: #F4C95D;
    font-size: 22px;
    letter-spacing: 5px;
}

.peer {
    border-bottom: .5px solid #B8C8D2;
    height: 500px;
    margin-top: -250px;
    margin-bottom: 40px;
    position: relative;
}

.book-a {
    position: absolute;
    height: 150px;
    width: 150px;
    margin-top: -150px;
    margin-left: 6px;
    background: transparent;
}

.google-meet {
    margin-left: 40px;
    margin-top: 28px;
    height: 378px;
    width: 650px;
}

.the-video {
    background: black;
    border-radius: 20px;
    height: 430px;
    width: min(730px, calc(100% - 560px));
    margin-left: min(550px, calc(100% - 740px));
    box-shadow: 0 20px 45px rgba(23, 50, 77, .16);
}

.the-text {
    background: transparent;
    display: block;
    margin-bottom: 150px;
    margin-top: -400px;
    height: 400px;
    width: 300px;
}

.peer-text {
    font-family: "Quicksand", sans-serif;
    font-size: 40px;
    font-weight: 600;
    color: black;
    margin-left: 30px;
    width: 800px;
}

.something-text {
    font-family: "Quicksand", sans-serif;
    font-size: 20px;
    font-weight: 400;
    color: black;
    line-height: 1.6;
    width: 350px;
    margin-left: 150px;
    margin-top: 30px;
}

.join-bootcamp {
    border: none;
    margin-top: 235px;
    margin-bottom: 6px;
    margin-left: 620px;
    height: 45px;
    width: 600px;
    border-radius: 35px;
    background: #17324D;
    color: #FFF9F2;
    font-family: "Quicksand", sans-serif;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    position: absolute;
    box-shadow: 0 10px 22px rgba(23, 50, 77, .15);
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}

.join-bootcamp:hover {
    transform: translateY(-4px) scale(1.01);
    background: #39A6A3;
    box-shadow: 0 14px 30px rgba(57, 166, 163, .25);
}

.real-stories {
    width: 100%;
    background: none;
    padding: 40px 0 55px;
    box-sizing: border-box;
}

.real-storytext {
    margin: 0;
    text-align: center;
    font-size: 45px;
    font-weight: 800;
    color: #050505;
}

.storytext {
    margin: 15px 0 100px;
    text-align: center;
    font-size: 21px;
    font-weight: 700;
    color: #667080;
}

.stories-container {
    width: 900px;
    max-width: calc(100% - 80px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 55px;
}

.story-card {
    width: 100%;
    box-sizing: border-box;
}

.student-photo {
    display: block;
    width: 96px;
    height: 96px;
    margin: 0 auto 17px;
    border-radius: 50%;
    object-fit: cover;
}

.testimonial {
    margin: 0;
    font-size: 17px;
    line-height: 1.5;
    font-weight: 700;
    color: #111111;
    text-align: left;
}

.student-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
}

.student-info strong {
    font-size: 16px;
    font-weight: 700;
    color: #111111;
}

.student-info span {
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #858b94;
}

.meet {
    font-family: "Quicksand", sans-serif;
    font-size: 40px;
    text-align: center;
    margin-top: 45px;
    font-weight: 700;
    color: black;
    letter-spacing: -1px;
}

.tutor {
    font-family: "Quicksand", sans-serif;
    font-size: 25px;
    text-align: center;
    margin-top: 44px;
    font-weight: 700;
    color: black;
    line-height: 1.5;
}

.student-video,
.student-video2,
.student-video3 {
    height: 550px;
    background: linear-gradient(145deg, #17324D, #214F70);
    border-radius: 20px;
    width: 400px;
    margin-top: 34px;
    box-shadow: 0 18px 38px rgba(23, 50, 77, .14);
    transition: transform .4s ease, box-shadow .4s ease;
}

.student-video:hover,
.student-video2:hover,
.student-video3:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 50px rgba(23, 50, 77, .19);
}

.student-video { margin-left: 30px; }
.student-video2 { margin-left: 470px; margin-top: -550px; }
.student-video3 { margin-left: 900px; margin-top: -550px; }

.how-space {
    position: relative;
    width: 100%;
    margin-top: 100px;
    min-height: 500px;
    padding: 48px 7% 60px;
    box-sizing: border-box;
    background: none;
    overflow: hidden;
    font-family: "Quicksand", sans-serif;
}

.how-space::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    left: -190px;
    top: 80px;
    border-radius: 50%;
    background: #f7f9fa;
    z-index: 0;
}

.how-space::after {
    content: "";
    position: absolute;
    width: 350px;
    height: 350px;
    right: -170px;
    top: 20px;
    border-radius: 50%;
    background: #fafafa;
    z-index: 0;
}

.How-text {
    position: relative;
    z-index: 2;
    margin: 0;
    text-align: center;
    font-family: "Quicksand", sans-serif;
    font-size: 40px;
    line-height: 1.1;
    font-weight: 700;
    color: #080808;
}

.How-text2 {
    position: relative;
    z-index: 2;
    margin: 22px auto 0;
    text-align: center;
    max-width: 850px;
    font-family: "Quicksand", sans-serif;
    font-size: 20px;
    line-height: 1.45;
    font-weight: 500;
    color: #697382;
}

.how-steps {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1100px;
    margin: 48px auto 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 70px;
    align-items: start;
}

.how-step {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.25s ease;
}

.how-image {
    width: 170px;
    height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.how-image img {
    width: 160px;
    height: 125px;
    object-fit: contain;
    display: block;
}

.how-step h3 {
    width: 100%;
    max-width: 270px;
    min-height: 48px;
    margin: 0 auto 15px;
    font-family: "Quicksand", sans-serif;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
    color: #111111;
}

.how-step p {
    width: 100%;
    max-width: 285px;
    margin: 0 auto;
    font-family: "Quicksand", sans-serif;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 500;
    color: #697382;
}

.pick-up,
.build-up,
.join-up {
    text-align: center;
}

.pick-up2,
.build-text,
.join-text {
    text-align: center;
}

.how-step:hover {
    transform: translateY(-4px);
}

.certification-image {
    margin-top: 100px;
    width: 550px;
    height: 550px;
    margin-left: 100px;
    background: black;
    border-radius: 25px;
}

.certification {
    margin-top: -500px;
    width: min(500px, calc(100% - 40px));
    height: 1500px;
    margin-left: min(800px, calc(100% - 520px));
    line-height: 2.5;
}

.learnivia-blog {
    margin-top: 60px;
    width: 100%;
    max-width: 1526px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    padding: 125px 8% 110px;
    background: transparent;
    color: #17324D;
}

.certification ~ .learnivia-blog {
    margin-top: -900px;
}

.blog-header {
    max-width: 1330px;
    margin: 0 auto 45px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.section-eyebrow {
    display: block;
    margin-bottom: 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #39A6A3;
}

.blog-header h2 {
    font-family: "Quicksand", sans-serif;
    font-size: 58px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: -2px;
    color: black;
}

.see-all-news {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 20px;
    border-radius: 30px;
    background: #f4f7f4;
    color: black;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: transform .3s ease, background .3s ease, color .3s ease;
}

.see-all-news span {
    font-size: 15px;
    transition: transform .3s ease;
}

.see-all-news:hover {
    transform: translateY(-3px);
    background: #2fcaa3;
    color: #FFF9F2;
}

.see-all-news:hover span {
    transform: translate(3px, -3px);
}

.blog-grid {
    width: 100%;
    max-width: 1330px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.blog-card {
    min-width: 0;
    color: #17324D;
}

.blog-card h3 {
    margin: 12px 12px 12px;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
    color: #17324D;
}

.blog-card > p {
    margin: 0 12px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    color: #647582;
}

.blog-image {
    display: block;
    width: 100%;
    height: 170px;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(23, 50, 77, .08);
    transition: transform .4s cubic-bezier(.22, 1, .36, 1), box-shadow .4s ease;
}

.blog-image:hover {
    transform: translateY(-6px) scale(1.015);
    box-shadow: 0 18px 35px rgba(23, 50, 77, .13);
}

.blog-image-content {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    text-align: center;
}

.blog-green {
    background: linear-gradient(145deg, #0f4c42, #17324D);
    color: #FFF9F2;
}

.blog-green::before,
.blog-green::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(47, 202, 163, .2);
}

.blog-green::before {
    width: 230px;
    height: 230px;
    top: -160px;
    left: -70px;
}

.blog-green::after {
    width: 180px;
    height: 180px;
    bottom: -120px;
    right: -50px;
}

.blog-green strong {
    position: relative;
    z-index: 2;
    font-size: 23px;
    line-height: 1.05;
}

.blog-green small {
    margin-top: 10px;
    font-size: 8px;
    letter-spacing: 1.5px;
    opacity: .75;
}

.blog-teal {
    background: linear-gradient(145deg, #0f685d, #16466b);
    color: #FFF9F2;
}

.blog-teal::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 120px;
    left: -80px;
    bottom: -50px;
    border-radius: 50%;
    background: rgba(47, 202, 163, .12);
}

.blog-teal strong {
    font-size: 25px;
    line-height: 1.05;
}

.mini-spark {
    position: absolute;
    right: 20px;
    top: 15px;
    color: #F4C95D;
    font-size: 18px;
}

.blog-sky {
    background: #7edcf0;
    justify-content: flex-end;
    color: #17324D;
}

.blog-sky::before {
    content: "";
    position: absolute;
    width: 130px;
    height: 50px;
    top: 22px;
    left: -20px;
    background: rgba(255,255,255,.75);
    border-radius: 50%;
}

.blog-sky::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 70px;
    top: 8px;
    right: -35px;
    background: rgba(255,255,255,.8);
    border-radius: 50%;
}

.sun {
    position: absolute;
    right: 25px;
    top: 25px;
    font-size: 25px;
    color: #F4C95D;
}

.hill {
    position: absolute;
    width: 150%;
    height: 90px;
    bottom: -35px;
    left: -25%;
    border-radius: 50% 50% 0 0;
    background: #6ecb70;
    font-size: 40px;
    padding-top: 5px;
}

.study-title {
    position: relative;
    z-index: 5;
    margin-bottom: 50px;
    font-size: 22px;
    line-height: 1.05;
}

.blog-raspberry {
    background: linear-gradient(145deg, #72234e, #AD0062);
    color: #FFF9F2;
    align-items: flex-start;
    padding: 25px;
}

.blog-raspberry strong {
    font-size: 24px;
    line-height: 1.05;
    margin-top: 45px;
    text-align: left;
}

.blog-raspberry small {
    margin-top: 12px;
    font-size: 8px;
    letter-spacing: 1.5px;
    opacity: .75;
}

.big-x {
    position: absolute;
    top: -15px;
    left: 5px;
    font-size: 80px;
    opacity: .15;
    font-weight: 700;
}

.percentage {
    position: absolute;
    right: 15px;
    top: 10px;
    font-size: 45px;
    opacity: .2;
    font-weight: 700;
}

.blog-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 16px 12px 0;
}

.blog-meta span {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
    color: #39A6A3;
}

.blog-meta time {
    font-size: 10px;
    color: #8996A0;
}

.blog-author {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 18px 12px 0;
}

.author-avatar {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #2fcaa3;
    color: #17324D;
    font-size: 13px;
    font-weight: 800;
}

.avatar-raspberry {
    background: #AD0062;
    color: #FFF9F2;
}

.avatar-yellow {
    background: #F4C95D;
}

.avatar-blue {
    background: #7edcf0;
}

.blog-author div:last-child {
    display: flex;
    flex-direction: column;
}

.blog-author strong {
    font-size: 12px;
    color: #17324D;
}

.blog-author span {
    font-size: 10px;
    color: #8996A0;
}

.learnivia-faq {
    padding: 100px 8% 120px;
    background: transparent;
    border-top: 1px solid rgba(23, 50, 77, .12);
}

.faq-inner {
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 35% 65%;
    gap: 80px;
}

.faq-heading h2 {
    font-family: "Quicksand", sans-serif;
    font-size: 75px;
    font-weight: 700;
    letter-spacing: -2px;
    color: black;
    margin-top: 0;
    margin-bottom: 20px;
}

.faq-fox {
    height: 160px;
}

.faq-heading p {
    margin-top: 20px;
    max-width: 260px;
    font-size: 15px;
    line-height: 1.6;
    font-weight: 500;
    color: #647582;
}

.faq-list {
    width: 100%;
}

.faq-item {
    border-bottom: 1px solid rgba(23, 50, 77, .13);
}

.faq-question {
    width: 100%;
    min-height: 58px;
    padding: 15px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: none;
    background: transparent;
    color: black;
    font-family: "Quicksand", sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}

.faq-plus {
    font-size: 27px;
    font-weight: 400;
    line-height: 1;
    transition: transform .35s ease, color .25s ease;
}

.faq-question:hover {
    color: #39A6A3;
}

.faq-item.active .faq-plus {
    transform: rotate(45deg);
    color: #AD0062;
}

.faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .35s ease;
}

.faq-answer p {
    overflow: hidden;
    margin: 0;
    padding: 0;
    max-width: 700px;
    font-size: 14px;
    line-height: 1.6;
    color: #647582;
}

.faq-item.active .faq-answer {
    grid-template-rows: 1fr;
}

.faq-item.active .faq-answer p {
    padding: 0 40px 20px 0;
}

button {
    -webkit-tap-highlight-color: transparent;
}

button:focus-visible {
    outline: 3px solid rgba(57, 166, 163, .35);
    outline-offset: 3px;
}

.dropdown-panel {
    display: none;
    width: 100%;
}

.dropdown-panel.active {
    display: block;
}

.get-involved-menu {
    display: contents;
}

.explore-menu-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    width: 100%;
}

.get-involved-panel .explore-item {
    min-height: 0;
}

.learnivia-footer {
    width: 100%;
    padding: 55px 8% 35px;
    background: #17324D;
    color: #FFF9F2;
    min-height: 500px;
}

.footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1330px;
    margin: 0 auto 70px;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #FFF9F2;
    text-decoration: none;
    font-size: 26px;
    font-weight: 700;
    background: none;
}

.footer-logo img {
    width: 80px;
    height: 60px;
    border-radius: 50%;
    background: none;
}

.social-links {
    display: flex;
    align-items: center;
    gap: 22px;
}

.social-links a {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF9F2;
    text-decoration: none;
    font-size: 17px;
    font-weight: 700;
    opacity: .9;
    transition: transform .25s ease, opacity .25s ease;
}

.social-links a:hover {
    transform: translateY(-4px);
    opacity: 1;
}

.footer-columns {
    max-width: 1330px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 80px;
}

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-column-title {
    margin-bottom: 25px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: rgba(255,249,242,.72);
}

.footer-column a {
    margin-bottom: 17px;
    color: #FFF9F2;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: transform .25s ease, opacity .25s ease;
}

.footer-column a:hover {
    transform: translateX(5px);
    opacity: .75;
}

.footer-bottom {
    max-width: 1330px;
    margin: 65px auto 0;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.2);
    display: flex;
    justify-content: space-between;
    color: rgba(255,249,242,.7);
    font-size: 11px;
    font-weight: 600;
}

.pick-up,
.build-up,
.join-up {
    height: 100px;
    width: 230px;
    transition: transform .4s ease;
}

.pick-up {
    margin-left: 100px;
    margin-top: 250px;
}

.pick-up2 {
    font-size: 15px;
    height: 100px;
    width: 190px;
    margin-left: 100px;
    display: block;
    margin-top: -30px;
}

.build-up {
    margin-left: 550px;
    margin-top: -180px;
    display: block;
}

.join-up {
    margin-left: 1000px;
    margin-top: -100px;
    display: block;
}

.pick-up:hover,
.build-up:hover,
.join-up:hover {
    transform: translateY(-10px);
}

:root {
    --ink: #382727;
    --navy: #17324D;
    --teal: #1F7F7C;
    --muted: #5C6872;
}

body {
    color: var(--ink);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

::selection {
    background: rgba(57, 166, 163, .25);
}

a:focus-visible {
    outline: 3px solid #39A6A3;
    outline-offset: 3px;
}

.index-1:hover,
.about-1:hover,
.faq-1:hover,
.story-1:hover,
.involve-1:hover,
.donate-1:hover,
.signin-button:hover {
    color: var(--teal);
}

.donate-1:hover {
    border-color: var(--teal);
}

.signup-button:hover,
.start-learning-button:hover,
.join-bootcamp:hover,
.learning-card button:hover {
    background: var(--teal);
}

.peer-text,
.meet,
.real-storytext,
.How-text,
.faq-heading h2,
.blog-header h2,
.learning-card h2 {
    color: var(--navy);
}

.front_text {
    text-shadow: none;
}

.something-text,
.tutor,
.learning-card li,
.testimonial,
.student-info strong,
.how-step h3,
.see-all-news {
    color: var(--ink);
}

.something-text {
    line-height: 1.65;
}

.faq-question {
    color: var(--ink);
    font-size: 16px;
}

.faq-question:hover {
    color: var(--teal);
}

.card-tags span {
    font-size: 12px;
}

.officialsat-text1 {
    font-size: 14px;
}

.section-eyebrow {
    font-size: 12px;
    color: var(--teal);
}

.blog-green small,
.blog-raspberry small {
    font-size: 11px;
    letter-spacing: 1px;
}

.blog-meta span {
    font-size: 12px;
    color: var(--teal);
}

.blog-meta time {
    font-size: 12px;
    color: var(--muted);
}

.blog-author strong {
    font-size: 13px;
}

.blog-author span {
    font-size: 12px;
    color: var(--muted);
}

.student-info span {
    font-family: "Quicksand", sans-serif;
    color: var(--muted);
}

.footer-column-title {
    font-size: 12px;
    letter-spacing: 1.2px;
    color: rgba(255, 249, 242, .78);
}

.footer-bottom {
    font-size: 13px;
    color: rgba(255, 249, 242, .78);
}

.storytext,
.How-text2,
.how-step p {
    color: var(--muted);
}

.faq-heading p,
.faq-answer p,
.blog-card > p {
    color: #566672;
}

.for-parents {
    color: var(--navy);
}

.for-parents:hover {
    color: #fff;
}

.learning-card li::before {
    color: #D9A21B;
}

.learning-card:hover .card-tags span:first-child {
    background: var(--teal);
}

.creator-text2-1 {
    color: var(--teal);
}

.see-all-news:hover {
    background: var(--teal);
}

.blog-image {
    box-shadow: 0 6px 22px rgba(23, 50, 77, .09);
}

.cards-container {
    --fit: 1;
    position: sticky;
    top: 75px;
    align-self: start;
    height: calc(100vh - 99px);
    padding: 0;
    overflow: hidden;
    display: grid;
    place-items: center;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 10%, #000 90%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0, #000 10%, #000 90%, transparent 100%);
}

.cards-container .learning-card {
    grid-area: 1 / 1;
    position: relative;
    margin: 0;
    width: 450px;
    min-height: 430px;
    height: auto;
    padding: 32px 28px 28px;
    border-radius: 35px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(170%) scale(calc(var(--fit) * .6));
    transition: transform .65s cubic-bezier(.22, 1, .36, 1),
                opacity .5s ease,
                filter .5s ease,
                box-shadow .4s ease;
}

.cards-container .learning-card[data-pos="0"] {
    transform: translateY(0) scale(var(--fit));
    opacity: 1;
    filter: none;
    z-index: 3;
    pointer-events: auto;
}

.cards-container .learning-card[data-pos="-1"] {
    transform: translateY(-80%) scale(calc(var(--fit) * .8));
    opacity: .3;
    filter: blur(3px);
    z-index: 2;
}

.cards-container .learning-card[data-pos="1"] {
    transform: translateY(80%) scale(calc(var(--fit) * .8));
    opacity: .3;
    filter: blur(3px);
    z-index: 2;
}

.cards-container .learning-card[data-pos="-2"] {
    transform: translateY(-170%) scale(calc(var(--fit) * .6));
    opacity: 0;
    z-index: 1;
}

.cards-container .learning-card[data-pos="2"] {
    transform: translateY(170%) scale(calc(var(--fit) * .6));
    opacity: 0;
    z-index: 1;
}

.cards-container .learning-card:hover {
    box-shadow: 0 22px 48px rgba(23, 50, 77, .18);
}

.cards-container .learning-card h2 { font-size: 34px; margin: 0 0 32px; }
.cards-container .learning-card ul { gap: 20px; }
.cards-container .learning-card li { font-size: 16px; }
.cards-container .learning-card button { margin-top: 35px; padding: 16px; }

.left-content {
    top: 75px;
    height: calc(100vh - 75px);
    justify-content: center;
    gap: 0;
}

.left-content .officialsat-text,
.left-content .Dialogue-text,
.left-content .admission-text,
.left-content .Homework-text {
    width: auto;
    margin: 0;
    padding: 0;
    font-size: 25px;
    line-height: 1.1;
    font-weight: 700;
    color: #fff;
    opacity: .45;
    cursor: pointer;
    user-select: none;
    transition: opacity .35s ease, transform .35s cubic-bezier(.22, 1, .36, 1);
}

.left-content .officialsat-text:hover,
.left-content .Dialogue-text:hover,
.left-content .admission-text:hover,
.left-content .Homework-text:hover {
    opacity: .8;
}

.left-content .officialsat-text.active,
.left-content .Dialogue-text.active,
.left-content .admission-text.active,
.left-content .Homework-text.active {
    opacity: 1;
    transform: translateX(10px);
}

.left-content .officialsat-text1,
.left-content .Dialogue-text1,
.left-content .admission-text1,
.left-content .Homework-text1 {
    width: 340px;
    margin: 12px 0 40px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: rgba(255, 249, 242, .85);
    opacity: .35;
    transition: opacity .35s ease, transform .35s cubic-bezier(.22, 1, .36, 1);
}

.left-content .officialsat-text1.active,
.left-content .Dialogue-text1.active,
.left-content .admission-text1.active,
.left-content .Homework-text1.active {
    opacity: 1;
    transform: translateX(10px);
}

.left-content .officialsat-text:focus-visible,
.left-content .Dialogue-text:focus-visible,
.left-content .admission-text:focus-visible,
.left-content .Homework-text:focus-visible {
    outline: 3px solid rgba(255, 249, 242, .6);
    outline-offset: 6px;
    border-radius: 6px;
}

.learning-section {
    height: calc(100vh + 75px);
}

.program2 {
    height: calc(100vh + 75px + 900px);
}

.program {
    min-height: calc(100vh + 75px + 400px);
}

.cards-container .learning-card,
.cards-container .learning-card[data-pos="-2"],
.cards-container .learning-card[data-pos="-1"],
.cards-container .learning-card[data-pos="0"],
.cards-container .learning-card[data-pos="1"],
.cards-container .learning-card[data-pos="2"] {
    filter: none;
}

.cards-container .learning-card[data-pos="-1"],
.cards-container .learning-card[data-pos="1"] {
    opacity: .4;
}

.left-content .officialsat-text,
.left-content .Dialogue-text,
.left-content .admission-text,
.left-content .Homework-text {
    margin: 0 0 24px;
}

.left-content .officialsat-text1,
.left-content .Dialogue-text1,
.left-content .admission-text1,
.left-content .Homework-text1 {
    max-height: 0;
    margin: 0;
    overflow: hidden;
    opacity: 0;
    transform: none;
    transition: max-height .4s ease, opacity .3s ease, margin .4s ease;
}

.left-content .officialsat-text1.active,
.left-content .Dialogue-text1.active,
.left-content .admission-text1.active,
.left-content .Homework-text1.active {
    max-height: 90px;
    margin: -14px 0 24px;
    opacity: 1;
    transform: translateX(10px);
}

.cards-container .learning-card {
    width: 540px;
    min-height: 520px;
    padding: 38px 34px 34px;
}

.cards-container .learning-card h2 {
    font-size: 40px;
    margin: 0 0 36px;
}

.cards-container .learning-card ul {
    gap: 22px;
}

.cards-container .learning-card li {
    font-size: 18px;
}

.cards-container .card-tags span {
    font-size: 13px;
    padding: 6px 14px;
}

.cards-container .learning-card button {
    margin-top: 40px;
    padding: 18px;
    font-size: 18px;
}

.left-content .officialsat-text1,
.left-content .Dialogue-text1,
.left-content .admission-text1,
.left-content .Homework-text1 {
    display: none !important;
}

.left-content .officialsat-text1.active,
.left-content .Dialogue-text1.active,
.left-content .admission-text1.active,
.left-content .Homework-text1.active {
    display: block !important;
    max-height: none;
    margin: -14px 0 24px;
    opacity: 1;
    transform: translateX(10px);
    animation: descFade .4s ease both;
}

@keyframes descFade {
    from { opacity: 0; transform: translate(10px, -6px); }
    to { opacity: 1; transform: translate(10px, 0); }
}

html {
    scrollbar-gutter: stable;
}

html.scroll-locked {
    overflow: hidden;
}

.more-1 {
    display: none;
    position: static;
    align-items: center;
    flex-shrink: 0;
    border: none;
    background: transparent;
    color: #17324D;
    font-family: "Quicksand", sans-serif;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: transform .3s ease, color .25s ease;
}

.more-1:hover {
    color: var(--teal);
    transform: translateY(-2px);
}

.more-1.open .triangle {
    transform: rotate(180deg);
}

.more-involve {
    display: none;
}

@media (max-width: 1300px) {

    .top {
        padding: 0 20px;
        gap: 18px;
    }

    .brand,
    .index-1,
    .about-1,
    .faq-1,
    .story-1,
    .involve-1,
    .donate-1,
    .signin-button,
    .signup-button {
        flex-shrink: 0;
    }

    .index-1,
    .about-1,
    .faq-1,
    .story-1,
    .involve-1,
    .donate-1 {
        position: static;
        margin-left: 0;
    }

    .donate-1 {
        padding: 7px 16px;
        border-width: 2px;
    }
}

@media (max-width: 1000px) {

    .about-1,
    .faq-1,
    .story-1 {
        display: none;
    }

    .more-1 {
        display: flex;
    }
}

@media (max-width: 640px) {

    .brand-name {
        display: none;
    }
}

@media (max-width: 1100px) {

    .front-filler {
        display: none;
    }

    html,
    body {
        max-width: 100%;
    }

    img,
    video {
        max-width: 100%;
    }

    .explore-menu-content {
        padding: 35px 6%;
    }

    .explore-menu-header h2 {
        font-size: 32px;
    }

    .space {
        height: auto;
        padding: 56px 6% 48px;
        justify-content: flex-start;
        align-items: stretch;
    }

    .front {
        order: 1;
        display: block;
        width: 100%;
        height: auto;
        margin: 0;
    }

    .front_text {
        display: block;
        margin: 0;
        font-size: clamp(46px, 11vw, 84px);
        line-height: 1.02;
        word-spacing: normal;
        letter-spacing: -2px;
    }

    .front_text2 {
        display: block;
        margin: 8px 0 0;
        font-size: clamp(26px, 6vw, 44px);
        letter-spacing: -1px;
    }

    .imgs {
        order: 2;
        position: static;
        display: flex;
        gap: 10px;
        width: auto;
        height: auto;
        margin: 20px 0 0;
    }

    .man,
    .Woman,
    .man2 {
        position: static;
        margin: 0;
        width: 52px;
        height: 52px;
    }

    .front2 {
        order: 3;
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        width: 100%;
        height: auto;
        margin: 24px 0 0;
    }

    .front_text3 {
        flex: 1 1 100%;
        margin: 0 0 8px;
        font-size: clamp(17px, 2.6vw, 22px);
    }

    .start-learning-button {
        position: static;
        flex: 1 1 100%;
        width: auto;
        height: 48px;
        margin: 0;
    }

    .for-parents,
    .for-educator {
        position: static;
        flex: 1 1 calc(50% - 6px);
        width: auto;
        height: 48px;
        margin: 0;
    }

    .creator {
        width: calc(100% - 48px);
        margin: 56px auto;
        padding: 0 40px;
        column-gap: 32px;
    }

    .diplome {
        width: 110px;
        height: 82px;
        top: -34px;
        right: -8px;
    }

    .program2 {
        position: relative;
        width: 100%;
        height: auto;
        margin: 0;
        padding: 56px 6% 24px;
        overflow: visible;
    }

    .headphone-fox1 {
        display: block;
        width: 96px;
        height: 96px;
        margin: 0 0 16px;
    }

    .ever-text {
        margin: 0;
        font-size: clamp(26px, 5.5vw, 40px);
        line-height: 1.1;
    }

    .programs {
        margin: 32px 0 0;
        font-size: clamp(36px, 8vw, 50px);
        line-height: 1;
        letter-spacing: -2px;
    }

    .programs-2 {
        width: 100%;
        max-width: 560px;
        margin: 14px 0 0;
        font-size: 17px;
    }

    .program-points {
        position: static;
        width: 100%;
        max-width: 560px;
        margin-top: 28px;
        gap: 22px;
    }

    .program-1,
    .program-2,
    .program-3 {
        width: 100%;
        font-size: 16px;
    }

    .program {
        min-height: 0;
        margin: 0;
        padding: 8px 6% 56px;
        background: #17324d;
    }

    .learning-section {
        display: block;
        width: 100%;
        height: auto;
        margin: 0;
    }

    .left-content {
        display: none;
    }

    .cards-container {
        position: static;
        display: flex;
        flex-direction: column;
        gap: 20px;
        height: auto;
        margin: 0;
        padding: 0;
        overflow: visible;
        -webkit-mask-image: none;
        mask-image: none;
    }

    .cards-container .learning-card {
        grid-area: auto;
        position: relative;
        width: 100%;
        min-height: 0;
        margin: 0;
        padding: 28px 22px;
        transform: none !important;
        opacity: 1 !important;
        filter: none !important;
        pointer-events: auto !important;
    }

    .cards-container .learning-card h2 {
        font-size: 30px;
        margin: 0 0 22px;
    }

    .cards-container .learning-card,
    .cards-container .learning-card * {
        transition: none !important;
        animation: none !important;
    }

    .cards-container .learning-card:hover,
    .cards-container .learning-card button:hover {
        transform: none !important;
    }

    .cards-container .learning-card ul {
        gap: 14px;
    }

    .cards-container .learning-card li {
        font-size: 16px;
    }

    .cards-container .learning-card button {
        margin-top: 24px;
        padding: 14px;
        font-size: 16px;
    }

    .book-a,
    .book-a2 {
        position: static;
        display: block;
        width: 90px;
        height: 90px;
        margin: 32px auto 0;
    }

    .peer {
        display: flex;
        flex-direction: column;
        height: auto;
        margin: 24px 0 40px;
        padding: 0 6% 40px;
    }

    .the-text {
        order: 1;
        width: 100%;
        height: auto;
        margin: 0 0 24px;
    }

    .peer-text {
        width: auto;
        margin: 0;
        font-size: clamp(28px, 6vw, 40px);
        line-height: 1.1;
    }

    .something-text {
        width: auto;
        max-width: 520px;
        margin: 12px 0 20px;
        font-size: 18px;
    }

    .the-text a {
        display: block;
    }

    .join-bootcamp {
        position: static;
        display: block;
        width: 100%;
        margin: 0;
    }

    .the-video {
        order: 2;
        width: 100%;
        height: auto;
        margin: 0;
        aspect-ratio: 16 / 9;
        overflow: hidden;
    }

    .google-meet {
        display: block;
        width: 100%;
        height: 100%;
        margin: 0;
        object-fit: cover;
    }

    .real-stories {
        padding: 40px 0;
    }

    .real-storytext {
        padding: 0 6%;
        font-size: clamp(28px, 6vw, 45px);
    }

    .storytext {
        margin: 12px 0 40px;
        padding: 0 6%;
        font-size: 18px;
    }

    .meet {
        padding: 0 6%;
        font-size: clamp(28px, 6vw, 40px);
    }

    .tutor {
        margin-top: 16px;
        padding: 0 6%;
        font-size: 20px;
    }

    .student-video,
    .student-video2,
    .student-video3 {
        width: min(420px, 88%);
        height: 360px;
        margin: 20px auto 0 !important;
    }

    .how-space {
        margin-top: 40px;
        padding: 40px 6% 48px;
    }

    .How-text {
        font-size: clamp(28px, 6vw, 40px);
    }

    .How-text2 {
        font-size: 18px;
    }

    .certification-image {
        width: calc(100% - 12%);
        height: 280px;
        margin: 40px auto 0;
    }

    .certification {
        width: calc(100% - 12%);
        height: auto;
        margin: 24px auto 0;
        line-height: 1.7;
    }

    .learnivia-blog {
        width: 100%;
        margin: 0;
        padding: 56px 6%;
    }

    .blog-header {
        flex-wrap: wrap;
        gap: 16px;
    }

    .blog-header h2 {
        font-size: clamp(36px, 8vw, 58px);
    }

    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .learnivia-faq {
        padding: 56px 6% 64px;
    }

    .learnivia-footer {
        padding: 48px 6% 32px;
        min-height: 0;
    }

    .footer-top {
        flex-wrap: wrap;
        gap: 20px;
        margin-bottom: 40px;
    }

    .footer-logo img {
        width: 60px;
        height: 45px;
    }

    .footer-columns {
        gap: 32px 24px;
    }

    .footer-bottom {
        margin-top: 40px;
    }
}

@media (max-width: 900px) {

    .donate-1 {
        display: none;
    }

    .stories-container {
        width: 88%;
        max-width: 560px;
        grid-template-columns: 1fr;
        row-gap: 40px;
    }

    .how-steps {
        grid-template-columns: 1fr;
        row-gap: 40px;
        max-width: 420px;
        margin-top: 32px;
    }

    .pick-up,
    .build-up,
    .join-up {
        width: 100%;
        height: auto;
        margin: 0 auto 12px;
    }

    .pick-up2,
    .build-text,
    .join-text {
        display: block;
        width: 100%;
        height: auto;
        margin: 0 auto;
    }

    .how-step h3 {
        min-height: 0;
    }

    .faq-inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .faq-heading h2 {
        font-size: 48px;
    }

    .faq-heading p {
        max-width: none;
    }

    .footer-columns {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 760px) {

    .signin-button {
        display: none;
    }

    .creator {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        height: auto;
        padding: 36px 24px;
        row-gap: 0;
    }

    .creator_text,
    .creator_text2,
    .testimonial-line,
    .testimonial-text,
    .testimonial-author,
    .testimonial-publication {
        position: static !important;
        left: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        grid-column: 1;
        grid-row: auto;
    }

    .creator_text {
        font-size: 22px;
    }

    .creator_text2 {
        margin: 8px 0 0 86px;
    }

    .testimonial-line {
        width: 100%;
        height: 1px;
        margin: 24px 0;
    }

    .testimonial-text {
        font-size: 18px;
    }

    .testimonial-author {
        margin-top: 14px;
        font-size: 16px;
    }

    .testimonial-publication {
        font-size: 14px;
    }
}

@media (max-width: 600px) {

    .blog-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {

    .involve-1 {
        display: none;
    }

    .more-1 {
        font-size: 11px;
    }

    .explore-item.more-involve {
        display: block;
    }

    .top {
        padding: 0 14px;
        gap: 8px;
    }

    .brand {
        gap: 0;
    }

    .fox {
        width: 40px;
        height: 40px;
    }

    .index-1,
    .involve-1 {
        font-size: 11px;
    }

    .triangle {
        margin-left: 3px;
        font-size: 14px;
    }

    .signup-button {
        height: 36px;
        min-width: 64px;
        padding: 0 10px;
        font-size: 11px;
    }

    .space {
        padding: 40px 6% 36px;
    }

    .for-parents,
    .for-educator {
        flex: 1 1 100%;
    }

    .faq-heading h2 {
        font-size: 40px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 8px;
    }
}/* =========================================================
   LEARNIVIA — MOBILE + PROGRAM + HOW IT WORKS

   COMMENT L'UTILISER :
   Colle ce fichier tout à la FIN de ton CSS (après tes
   @media actuels). Il ne change pas le bureau au-delà de 1400px.
   ========================================================= */


/* ---------------------------------------------------------
   1. MENU DU HAUT : SIGN IN ET SIGN UP SUR MOBILE
   Avant : "Sign in" disparaissait sous 760px, et la barre
   débordait de l'écran, donc les boutons étaient hors d'atteinte.
   Maintenant les deux boutons restent visibles et faciles à
   toucher sur tous les téléphones.
   --------------------------------------------------------- */
.signin-button,
.signup-button {
    position: relative;
    z-index: 2;
    flex-shrink: 0;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

@media (max-width: 1100px) {
    .signin-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

@media (max-width: 760px) {
    .top {
        padding: 0 12px;
        gap: 6px;
    }

    .fox {
        width: 38px;
        height: 38px;
    }

    .index-1,
    .more-1,
    .involve-1 {
        font-size: 11px;
    }

    .triangle {
        margin-left: 2px;
        font-size: 13px;
    }

    /* "Sign in" : bouton contouré */
    .signin-button {
        height: 38px;
        padding: 0 12px;
        border: 1.5px solid rgba(23, 50, 77, .35);
        border-radius: 30px;
        font-size: 12px;
    }

    /* "Sign up" : bouton plein */
    .signup-button {
        height: 38px;
        min-width: 0;
        padding: 0 14px;
        font-size: 12px;
    }
}

/* Très petits téléphones : boutons un peu plus compacts */
@media (max-width: 480px) {
    .signin-button {
        padding: 0 9px;
        font-size: 11px;
    }

    .signup-button {
        padding: 0 11px;
        font-size: 11px;
    }
}

/* Écrans de 380px et moins : on retire le renard pour garder la place */
@media (max-width: 380px) {
    .fox {
        display: none;
    }
}


/* ---------------------------------------------------------
   2. PROGRAM ET PROGRAM2 : RESPONSIVE
   --------------------------------------------------------- */

/* Le bloc bleu suit toujours la largeur de l'écran
   (avant : 1350px fixe, donc une bande crème sur grand écran) */
.program2 {
    width: 100%;
}

/* ----- Écrans moyens (petits portables, tablettes en paysage) ----- */
@media (min-width: 1101px) and (max-width: 1400px) {
    .learning-section {
        width: 100%;
        margin: 0;
        grid-template-columns: 42% 58%;
    }

    .left-content {
        width: 100%;
        padding: 90px 32px 90px 40px;
    }

    .cards-container {
        margin-left: 0;
        padding: 0 20px;
    }

    .cards-container .learning-card {
        width: min(540px, 100%);
    }

    .program-points {
        right: 6%;
        width: 340px;
    }

    .program-1,
    .program-2,
    .program-3 {
        width: 100%;
    }
}

/* ----- Tablettes et téléphones ----- */
@media (max-width: 1100px) {

    /* Si ton script bloque le scroll pendant le carrousel,
       on le débloque : sur mobile les cartes sont en liste */
    html.scroll-locked {
        overflow: auto;
    }

    .program2 {
        position: relative;
        height: auto;
    }

    /* Cartes en 2 colonnes sur tablette */
    .cards-container {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
        align-items: stretch;
    }

    .cards-container .learning-card {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .cards-container .learning-card ul {
        flex: 1;
    }
}

/* ----- Téléphones : 1 colonne ----- */
@media (max-width: 700px) {
    .program2 {
        padding: 48px 6% 16px;
    }

    .cards-container {
        grid-template-columns: 1fr;
    }

    .programs {
        font-size: clamp(34px, 10vw, 46px);
    }

    .programs-2 {
        font-size: 16px;
        line-height: 1.55;
    }

    .program-1,
    .program-2,
    .program-3 {
        font-size: 15px;
    }

    .cards-container .learning-card h2 {
        font-size: 26px;
    }

    .cards-container .learning-card li {
        font-size: 15px;
    }
}


/* ---------------------------------------------------------
   3. HOW IT WORKS : COULEURS COMPLÉMENTAIRES
   Ton site est bleu marine et turquoise (tons froids).
   Leur complémentaire est le sable, la pêche et l'or (tons chauds,
   déjà présents dans ta marque avec le jaune #F4C95D).
   Le fond se fond en douceur dans ton crème en haut et en bas,
   donc aucune coupure nette avec les sections voisines.
   --------------------------------------------------------- */

/* Grand cercle en haut à gauche : turquoise très doux (le contraste chaud/froid) */
.how-space::before {
    background: rgba(31, 127, 124, .10);
}

/* Ellipse à droite : or doux */
.how-space::after {
    background: rgba(244, 201, 93, .30);
}

/* Fond derrière chaque illustration */


/* Textes lisibles sur le fond sable */
.How-text,
.how-step h3 {
    color: #17324D;
}

.How-text2,
.how-step p {
    color: #4E5B66;
}

/* =========================================================
   FIN DU FICHIER — VITESSE D'AFFICHAGE DE .PROGRAM
   (ton background texture est conservé)

   POURQUOI .PROGRAM ARRIVAIT EN RETARD :
   - L'image texture-bleu1.jpg (background du .program2) est
     probablement lourde. Le navigateur doit la télécharger puis
     la décoder au moment où tu arrives sur la section, ce qui
     fait "accrocher" l'affichage. Elle est à 5% d'opacité : une
     petite image suffit visuellement.
   - Le flou du menu (blur 123px) obligeait à recalculer un
     énorme flou à chaque image pendant le scroll.
   ========================================================= */


/* 1. Menu du haut : flou 20px (rendu identique à l'œil, bien plus léger) */
.top {
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}


/* 2. Le bloc bleu et sa texture sont préparés sur leur propre
      couche graphique : plus de saccade quand ils entrent à l'écran */
.program2 {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
}

.program2::after {
    will-change: opacity;
}


/* 3. Les cartes sont déjà prêtes avant d'arriver à l'écran */
.cards-container .learning-card {
    will-change: transform, opacity;
}


/* 4. Mobile : on ne garde pas ces couches (inutiles en liste) */
@media (max-width: 1100px) {
    .program2,
    .cards-container .learning-card {
        will-change: auto;
        transform: none;
    }
}


/* 5. Moins d'animations si la personne le demande */
@media (prefers-reduced-motion: reduce) {
    .space::before,
    .space::after,
    .space .bga-05__terrain,
    .space .bga-05__ridge {
        animation: none;
    }
}


/* =========================================================
   .PROGRAM : le carrousel suit la barre de défilement
   (zone plus longue)

   --pin-extra = la distance de défilement pendant laquelle les
   cartes restent collées à l'écran. Plus elle est grande, plus
   chaque carte dure longtemps. Le même ajout est fait sur .program
   et .program2 : le reste de la page est juste décalé vers le bas.
   Sur mobile / tablette (<= 1100px) rien ne change.
   ========================================================= */
@media (min-width: 1101px) {
    :root {
        --pin-extra: 100vh;
    }

    .learning-section {
        height: calc(100vh + 75px + var(--pin-extra));
    }

    .program {
        min-height: calc(100vh + 75px + 400px + var(--pin-extra));
    }

    .program2 {
        height: calc(100vh + 75px + 900px + var(--pin-extra));
    }

    /* Animation des cartes un peu plus lente (avant : .65s) */
    .cards-container .learning-card {
        transition: transform .95s cubic-bezier(.22, 1, .36, 1),
                    opacity .7s ease,
                    filter .7s ease,
                    box-shadow .4s ease;
    }

    .left-content .officialsat-text,
    .left-content .Dialogue-text,
    .left-content .admission-text,
    .left-content .Homework-text {
        transition: opacity .5s ease, transform .6s cubic-bezier(.22, 1, .36, 1);
    }
}


/* =========================================================
   TEXTURE DU FOND DE .PROGRAM
   Elle apparaît seulement quand elle est téléchargée ET décodée
   (le script dans le <head> ajoute "texture-ready" dès l'ouverture
   de la page). Comme elle est à 5% d'opacité, le fondu se fait
   tout en haut de la page, bien avant la section : plus de
   texture qui arrive en retard pendant le défilement.
   ========================================================= */
.program2::after {
    opacity: 0;
    transition: opacity .8s ease;
}

html.texture-ready .program2::after {
    opacity: .05;
}


/* =========================================================
   ICÔNES À GAUCHE DES 3 TEXTES À CÔTÉ DE "OUR PROGRAMS"
   (Font Awesome est déjà chargé dans ton <head>)
   ========================================================= */
.program-1,
.program-2,
.program-3 {
    display: flex;
    align-items: center;
    gap: 16px;
}

.program-1 p,
.program-2 p,
.program-3 p {
    margin: 0;
}

.program-icon {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 249, 242, .10);
    border: 1px solid rgba(255, 249, 242, .22);
    color: #B8C4CE;
    font-size: 18px;
}

/* Grand écran : un peu plus de largeur pour garder le texte sur une ligne */
@media (min-width: 1401px) {
    .program-points {
        width: 480px;
        right: calc(15% + 110px);
    }

    .program-1,
    .program-2,
    .program-3 {
        width: 100%;
    }
}

/* Écrans moyens : colonne un peu plus large pour les icônes */
@media (min-width: 1101px) and (max-width: 1400px) {
    .program-points {
        width: 390px;
        right: calc(6% + 50px);
    }
}


/* Cartes du carrousel : décalées vers la droite (bureau) */
@media (min-width: 1101px) {
    .cards-container {
        translate: 40px 0;
    }
}

@media (min-width: 1401px) {
    .cards-container {
        translate: 90px 0;
    }
}