/*==================================================
  RESPONSIVE.CSS
  LARGE DESKTOPS
==================================================*/

@media (max-width:1400px){

    .container{

        width:min(94%,1200px);

    }

    .hero-grid{

        gap:60px;

    }

    .hero-showcase{

        min-height:600px;

    }

}

@media (max-width:760px){
    .footer-brand,
    .footer-column{
        text-align:center;
    }

    .footer-wordmark{
        display:table;
        margin:0 auto 26px;
    }

    .footer-wordmark::after{
        left:50%;
        transform:translateX(-50%);
    }

    .footer-trust{
        justify-content:center;
    }

    .footer-column h3{
        justify-content:center;
    }

    .footer-column ul{
        display:flex;
        flex-direction:column;
        align-items:center;
    }

    .footer-column li{
        width:100%;
        text-align:center;
    }

    .footer-column a:hover{
        transform:none;
    }
}

/*==================================================
  LAPTOPS
==================================================*/

@media (max-width:1200px){

    section{

        padding:100px 0;

    }

    h1{

        font-size:clamp(3rem,5vw,4.5rem);

    }

    h2{

        font-size:clamp(2.2rem,4vw,3.2rem);

    }

    .hero-grid{

        grid-template-columns:1fr;
        gap:70px;
        text-align:center;

    }

    .hero-content{

        margin-inline:auto;

    }

    .hero p{

        margin-inline:auto;

    }

    .hero-buttons{

        justify-content:center;

    }

    .hero-metrics{

        justify-content:center;

    }

    .hero-showcase{

        width:min(100%,760px);

        margin-inline:auto;

        min-height:560px;

    }

    .navbar{

        gap:24px;

    }

    .nav-links{

        gap:28px;

    }

    .nav-links a{

        font-size:.95rem;

    }

    .nav-actions{

        gap:12px;

    }

    .nav-actions .btn{

        padding:14px 24px;

    }

    .why-grid,
    .language-grid,
    .testimonial-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .timeline-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .pricing-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .pricing-card.featured{

        transform:none;

    }

    .footer-grid{

        grid-template-columns:1.5fr 1fr;

    }

    /* CONTACT */

    .contact-wrapper{

        grid-template-columns:1fr;

        gap:42px;

        margin-top:60px;

    }

    .contact-info{

        display:grid;

        grid-template-columns:repeat(3,1fr);

        gap:22px;

    }

    .contact-card{

        padding:28px 22px;

        align-items:flex-start;

    }

    .contact-icon{

        width:60px;

        height:60px;

        font-size:1.25rem;

    }

    .contact-card h3{

        font-size:1rem;

    }

    .contact-card p{

        font-size:.95rem;

    }

    .contact-form{

        padding:36px;

    }

    .form-grid{

        gap:20px;

    }

    .form-group input,
    .form-group select,
    .form-group textarea{

        padding:15px 16px;

    }

}

/*==================================================
  TABLETS
==================================================*/

@media (max-width:992px){

/*==================================================
  MOBILE NAVIGATION
==================================================*/

.navbar{

    position:relative;

}

.mobile-toggle{

    display:flex;

    cursor:pointer;

    z-index:1002;

}

.nav-actions{

    display:none;

}

.nav-links{

    position:absolute;

    top:calc(100% + 14px);

    left:0;

    right:0;

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:24px;

    padding:32px;

    background:rgba(255,255,255,.96);

    backdrop-filter:blur(20px);

    -webkit-backdrop-filter:blur(20px);

    border:1px solid rgba(229,231,235,.8);

    border-radius:24px;

    box-shadow:
        0 24px 60px rgba(15,23,42,.12);

    list-style:none;

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transform:translateY(-12px) scale(.98);

    transition:
        opacity .3s ease,
        transform .3s ease,
        visibility .3s ease;

    z-index:1001;

}

.nav-links.open{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

    transform:translateY(0) scale(1);

}

.nav-links li{

    width:100%;

    text-align:center;

}

.nav-links a{

    display:block;

    padding:8px 0;

    font-size:1.05rem;

}

.nav-links a::after{

    display:none;

}

    .hero{

    min-height:100vh;
    min-height:100svh;

    display:flex;
    align-items:center;

    padding-top:120px;
    padding-bottom:60px;

}

.hero-grid{

    grid-template-columns:1fr;

    justify-items:center;

    text-align:center;
}

.hero-content{

    display:flex;

    flex-direction:column;

    justify-content:center;

    gap:28px;
}

.hero-showcase{

    display:none;
    min-height:560px;

}

.hero-tag{

    align-self:center;

    width:auto;

    display:inline-flex;
}

h1{

    font-size:clamp(2.6rem,8vw,3.7rem);

    letter-spacing:-1px;

    line-height:1.1;

}

.world-map{

    width:340px;

    max-width:100%;

    opacity:.85;

    animation-duration:10s;

    filter:drop-shadow(0 15px 35px rgba(0,0,0,.12));

}

.glass-card{

    display:none;

}

.greeting{

    display:none;

}

    .greeting{

        font-size:.9rem;

        padding:10px 16px;

    }

    .why-grid,
    .language-grid,
    .timeline-grid,
    .testimonial-grid,
    .pricing-grid{

        grid-template-columns:1fr;

    }

    .footer-grid{

        grid-template-columns:1fr;

        gap:40px;

    }

    .cta-card{

        padding:70px 40px;

    }

    .mobile-cta{

    display:block;

    width:100%;

    margin-top:20px;

    padding-top:20px;

    border-top:1px solid rgba(229,231,235,.8);

}

.mobile-cta .btn{

    width:100%;

    justify-content:center;

    color:#fff;

}

/*==================================================
  WHY LANGLEAR
==================================================*/

.why-grid{

    grid-template-columns:repeat(2,1fr);

    gap:28px;

}

.feature-card{

    padding:36px;

}

/*==================================================
  LANGUAGES
==================================================*/

.language-grid{

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}

.language-card{

    padding:40px 30px;

}

.language-badge{

    width:84px;

    height:84px;

    margin-bottom:28px;

}

.language-code{

    font-size:1.8rem;

}

.language-line{

    width:18px;

}

/*==================================================
  JOURNEY
==================================================*/

.journey{

    padding:120px 0;

}

.journey .section-heading{

    margin-bottom:90px;

}

.journey-track{

    width:min(100%,680px);

}

.journey-step{

    margin-bottom:110px;

}

.journey-card{

    max-width:520px;

    padding:56px 36px 36px;

}

.journey-marker span{

    width:70px;

    height:70px;

    font-size:1.1rem;

}

/*==================================================
  TESTIMONIALS
==================================================*/

.testimonial{

    max-width:100%;

}

.testimonial p{

    font-size:1.3rem;

}

.testimonial blockquote::before{

    font-size:9rem;

    left:-15px;

}

.testimonial blockquote::after{

    font-size:9rem;

    right:0;

}

/*==================================================
  LEARNING PLANS
==================================================*/

.plans .section-heading{

    margin-bottom:60px;

}

.plans-grid{

    grid-template-columns:1fr;

    gap:28px;

    max-width:700px;

    margin:0 auto;

}

.plan-card{

    min-height:auto;

    padding:40px;

}

.plan-icon{

    width:68px;

    height:68px;

    margin-bottom:26px;

}

.plan-icon svg{

    width:32px;

    height:32px;

}

.plan-card h3{

    font-size:1.35rem;

}

.plan-card p{

    margin-bottom:28px;

}

.plan-features{

    margin-top:28px;

}

.plans-footer{

    margin-top:60px;

}

/* FOOTER */

.footer{

        padding:70px 0 30px;

    }

    .footer-grid{

        grid-template-columns:1fr;

        gap:50px;

    }

    .footer-brand{

        max-width:none;

    }

    .footer-logo img{

        width:135px;

    }

    .footer-column h3{

        margin-bottom:20px;

    }

    .footer-column li{

        margin-bottom:14px;

    }

    .footer-bottom{

        flex-direction:column;

        text-align:center;

        margin-top:60px;

        gap:18px;

    }

    .footer-bottom-links{
        justify-content:center;
        gap:18px;
    }

    /* CONTACT */

    .contact-info{

        grid-template-columns:1fr;

        gap:20px;

    }

    .contact-card{

        align-items:center;

        padding:28px;

    }

    .contact-form{

        padding:34px;

    }

    .form-grid{

        grid-template-columns:1fr;

        gap:20px;

        margin-bottom:20px;

    }

    .contact-submit{

        width:100%;

        min-width:0;

    }

}

/*==================================================
  MOBILE DEVICES
==================================================*/

@media (max-width:768px){

    section{

        padding:80px 0;

    }

    .container{

        width:min(92%,100%);

    }

    h1{

        font-size:clamp(2.5rem,8vw,3.6rem);

        letter-spacing:-1px;

        line-height:1.1;


    }

    h2{

        font-size:clamp(2rem,6vw,2.7rem);

    }

    p{

        font-size:1rem;

    }

.hero{

    position:relative;

    overflow:hidden;

    background:var(--hero-bg);

    min-height:100vh;

    min-height:100svh;

    padding-top:90px;

    padding-bottom:40px;

    display:flex;

    align-items:center;

}

    .hero-showcase{

        display:none;

    }


    .hero-content{

        text-align:center;

        display:flex;

        flex-direction:column;

        align-items:center;

        gap:32px;

        max-width:620px;

        margin:0 auto;

    }

    .hero-tag {

        margin-bottom:8px;
        
    }

    .hero-content h1{

    margin:0;

}

.hero-content p{

    max-width:34ch;

    line-height:1.8;

}

    .hero-buttons{

        flex-direction:column;

        align-items:center;

        gap:18px;

        margin-top:8px;

    }

    .hero-buttons .btn{

    width:min(100%,340px);

}

    .hero-metrics{

        flex-direction:column;

        gap:24px;

        text-align:center;

    }

    .hero{

    padding-top:120px;

    padding-bottom:40px;

}

.hero-showcase{

    display:none;

}

.world-map{

    width:230px;

    max-width:100%;

    opacity:.85;

    animation-duration:12s;

    filter:drop-shadow(0 15px 35px rgba(0,0,0,.12));

}

.glass-card{

    display:none;

}

.greeting{

    display:none;

}

    .section-heading{

        margin-bottom:56px;

    }

    .feature-card,
    .language-card,
    .timeline-card,
    .testimonial-card,
    .pricing-card{

        padding:30px;

    }

    .price{

        font-size:2.5rem;

    }

    .faq-list summary{

        padding:20px 22px;

        padding-right:56px;

        font-size:1rem;

    }

    .faq-list summary::after{

        right:22px;

    }

    .faq-list p{

        padding:0 22px 22px;

    }

    .cta-card{

        padding:60px 30px;

        border-radius:28px;

    }

    .cta-buttons{

        flex-direction:column;

        align-items:stretch;

    }

    .cta-buttons .btn{

        width:100%;

    }

    .footer{

        text-align:center;

    }

    .footer ul{

        align-items:center;

    }

    /*==================================================
  WHY LANGLEAR
==================================================*/

.why .section-heading{

    margin-bottom:60px;

}

.why-grid{

    grid-template-columns:1fr;

    gap:24px;

}

.feature-card{

    padding:32px;

    border-radius:24px;

}

.feature-icon{

    width:64px;

    height:64px;

    margin-bottom:24px;

}

.feature-icon svg{

    width:28px;

    height:28px;

}

.feature-label{

    letter-spacing:1.4px;

}

.feature-card h3{

    font-size:1.35rem;

}

.feature-card:hover{

    transform:translateY(-4px);

}

/*==================================================
  LANGUAGES
==================================================*/

.languages .section-heading{

    margin-bottom:60px;

}

.language-grid{

    grid-template-columns:1fr;

    gap:24px;

}

.language-card{

    padding:36px 28px;

    border-radius:24px;

}

.language-badge{

    width:76px;

    height:76px;

    border-radius:20px;

    margin-bottom:24px;

}

.language-code{

    font-size:1.55rem;

}

.language-line{

    width:16px;

    height:3px;

}

.language-card:hover{

    transform:translateY(-4px);

}

.language-card:hover .language-line{

    width:24px;

}

.language-card-more .language-badge img{

    width:40px;

    height:40px;

}

    /*==================================================
  JOURNEY
==================================================*/

.journey{

    padding:90px 0;

}

.journey .section-heading{

    margin-bottom:60px;

}

.journey-track{

    width:100%;

    padding-left:68px;

}

.journey-line,

.journey-progress{

    left:18px;

    transform:none;

}

.journey-step{

    display:block;

    position:relative;

    margin-bottom:72px;

}

.journey-step:last-child{

    margin-bottom:0;

}

.journey-marker{

    position:absolute;

    top:-25px;

    left:-15px;

    margin:0;

    z-index:20;

}

.journey-marker span{

    width:56px;

    height:56px;

    font-size:.95rem;

    border-width:3px;

}

.journey-card{

    max-width:100%;

    width:100%;

    text-align:left;

    padding:26px 24px 24px;

    padding-top:34px;

    border-radius:22px;

    box-shadow:
        0 10px 20px rgba(15,23,42,.04),
        0 20px 40px rgba(15,23,42,.05);

}

.journey-card::before{

    display:none;

}

.journey-subtitle{

    align-items:flex-start;

    margin-bottom:16px;

    gap:8px;

    letter-spacing: 1px;

}

.journey-subtitle::before{

    display: none;

}

.journey-card h3{

    font-size:1.35rem;

    margin-bottom:12px;

}

.journey-card p{

    margin:0;

    max-width:none;

    line-height:1.7;

}

/*==================================================
  TESTIMONIALS
==================================================*/

.testimonials{

    padding:100px 0;

}

.testimonials .section-heading{

    margin-bottom:60px;

}

.testimonial{

    max-width:100%;

}

.testimonial p{

    font-size:1.15rem;

    line-height:1.9;

}

.testimonial blockquote::before{

    font-size:6rem;

    top:-35px;

    left:-5px;

}

.testimonial blockquote::after{

    font-size:6rem;

    right:0;

    bottom:-70px;

}

.testimonial-rating{

    margin-top:48px;

}

/*==================================================
  LEARNING PLANS
==================================================*/

.plans{

    padding:100px 0;

}

.plans .section-heading{

    margin-bottom:50px;

}

.plans-grid{

    gap:22px;

}

.plan-card{

    padding:34px 28px;

    border-radius:24px;

}

.plan-icon{

    width:62px;

    height:62px;

    border-radius:18px;

    margin-bottom:24px;

}

.plan-icon svg{

    width:28px;

    height:28px;

}

.plan-card h3{

    font-size:1.25rem;

}

.plan-card p{

    font-size:.96rem;

    line-height:1.7;

}

.plan-note{

    font-size:.88rem;

    line-height:1.6;

    margin-bottom:28px;

}

.plan-feature{

    padding:14px 0;

}

.plan-feature span{

    font-size:.92rem;

}

.featured-plan .btn{

    margin-top:28px;

}

.plans-footer{

    font-size:1rem;

}

/* CONTACT */

.contact-wrapper{

        gap:34px;

        margin-top:50px;

    }

    .contact-card{

        padding:24px;

        gap:18px;

    }

    .contact-icon{

        width:56px;

        height:56px;

        font-size:1.2rem;

    }

    .contact-form{

        padding:28px 22px;

        border-radius:24px;

    }

    .form-group textarea{

        min-height:160px;

    }

    .contact-note{

        font-size:.9rem;

    }

}

/*==================================================
  SMALL MOBILE DEVICES
==================================================*/

@media (max-width:576px){

    .header{

        height:78px;

    }

    html{

        scroll-padding-top:78px;

    }

    section{

        padding:70px 0;

    }

    h1{

        font-size:2.2rem;

    }

    h2{

        font-size:1.8rem;

    }

    .hero{

        padding-top:115px;

    }

    .hero-showcase{

        min-height:470px;

    }

    .glass-card{

        width:190px;

        padding:16px;

    }

    .card-icon{

        width:42px;

        height:42px;

    }

    .greeting{

        font-size:.75rem;

        padding:7px 12px;

    }

    .metric h3{

        font-size:1.7rem;

    }

    .feature-icon{

        width:58px;

        height:58px;

    }

    .language-card .flag{

        width:68px;

        height:68px;

        font-size:2rem;

    }

    .price{

        font-size:2.2rem;

    }

    .cta-card{

        padding:50px 24px;

    }

    /*==================================================
  TESTIMONIALS
==================================================*/

.testimonial p{

    font-size:1rem;

}

.testimonial blockquote::before{

    display:none;

}

.testimonial blockquote::after{

    display:none;

}

.testimonial-rating{

    letter-spacing:4px;

    font-size:1rem;

}

/*==================================================
  LEARNING PLANS
==================================================*/

.plan-card{

    padding:30px 22px;

}

.plan-icon{

    width:56px;

    height:56px;

    border-radius:16px;

}

.plan-icon svg{

    width:24px;

    height:24px;

}

.plan-card h3{

    font-size:1.15rem;

}

.plan-card p{

    font-size:.92rem;

}

.plan-feature{

    gap:12px;

}

.plan-feature svg{

    width:16px;

    height:16px;

}

.plan-feature span{

    font-size:.9rem;

}

.plan-note{

    font-size:.84rem;

}

.featured-plan .btn{

    width:100%;

}

.plans-footer{

    margin-top:50px;

    font-size:.95rem;

}

.plans-footer strong{

    font-size:1.05rem;

}

/* CONTACT */

.contact-card{

        flex-direction:column;

        text-align:center;

        align-items:center;

    }

    .contact-icon{

        margin-bottom:6px;

    }

    .contact-form{

        padding:24px 18px;

    }

    .contact-card h3{

        font-size:1rem;

    }

    .contact-card p{

        font-size:.92rem;

    }

}

/*==================================================
  EXTRA SMALL DEVICES
==================================================*/

@media (max-width:400px){

    .container{

        width:94%;

    }

    h1{

        font-size:2rem;

        line-height:1.15;

    }

    h2{

        font-size:1.65rem;

    }

    .hero{

        padding-top:105px;

        padding-bottom:60px;

    }

    .hero-tag,
    .section-tag{

        padding:8px 14px;

        font-size:.78rem;

    }

    .hero-buttons{

        gap:14px;

    }

    .btn{

        padding:14px 22px;

        font-size:.95rem;

    }

    .hero-showcase{

        min-height:420px;

    }

    .world-map{

        max-width:340px;

    }

    .glass-card{

        width:170px;

        padding:14px;

        gap:12px;

    }

    .card-icon{

        width:38px;

        height:38px;

        border-radius:12px;

    }

    .card-icon svg{

        width:20px;

        height:20px;

    }

    .glass-card h4{

        font-size:.9rem;

    }

    .glass-card p{

        font-size:.78rem;

        line-height:1.45;

    }

    .greeting{

        display:none;

    }

    .hero-metrics{

        gap:18px;

    }

    .metric h3{

        font-size:1.5rem;

    }

    .feature-card,
    .language-card,
    .timeline-card,
    .testimonial-card,
    .pricing-card{

        padding:24px;

    }

    .faq-list summary{

        padding:18px;

        padding-right:48px;

    }

    .faq-list summary::after{

        right:18px;

    }

    .faq-list p{

        padding:0 18px 18px;

    }

    .cta-card{

        padding:42px 20px;

        border-radius:22px;

    }

    .footer{

        padding:70px 0 30px;

    }

}

/*==================================================
  LANDSCAPE PHONES
==================================================*/

@media (max-height:650px) and (orientation:landscape){

    .hero{

        padding-top:120px;

        padding-bottom:70px;

    }

    .hero-grid{

        gap:50px;

    }

    .hero-showcase{

        min-height:420px;

    }

}

/*==================================================
  TOUCH DEVICES
==================================================*/

@media (hover:none){

    .card:hover,
    .glass-card:hover,
    .feature-card:hover,
    .language-card:hover,
    .timeline-card:hover,
    .testimonial-card:hover,
    .pricing-card:hover{

        transform:none;

        box-shadow:var(--shadow-xs);

    }

}

/*==================================================
  HIGH RESOLUTION DISPLAYS
==================================================*/

@media (-webkit-min-device-pixel-ratio:2),
       (min-resolution:192dpi){

    .glass-card{

        backdrop-filter:blur(24px);

        -webkit-backdrop-filter:blur(24px);

    }

}

/*==================================================
  PRINT
==================================================*/

@media print{

    .header,
    .hero-bg,
    .mobile-toggle,
    .hero-showcase,
    .progress-bar,
    .cta{

        display:none !important;

    }

    body{

        color:#000;

        background:#fff;

    }

    section{

        padding:25px 0;

    }

    a{

        color:#000;

        text-decoration:none;

    }

}

/*==================================================
  CONTACT
==================================================*/

@media (max-width:992px){

    .contact-wrapper{

        grid-template-columns:1fr;

        gap:40px;

    }

    .contact-info{

        order:2;

    }

    .contact-form{

        order:1;

        padding:32px;

    }

    .form-grid{

        grid-template-columns:1fr;

        gap:20px;

    }

    .contact-submit{

        width:100%;

        justify-content:center;

    }

}

@media (max-width:576px){

    .contact-form{

        padding:24px;

        border-radius:24px;

    }

    .contact-card{

        padding:22px;

        gap:16px;

    }

    .contact-icon{

        width:56px;

        height:56px;

        font-size:1.2rem;

    }

    .form-group input,
    .form-group select,
    .form-group textarea{

        padding:14px 16px;

    }

}

/*==================================================
  END OF RESPONSIVE.CSS
==================================================*/
