/* VEST LAB — página própria /vestlab/
   Complementa ../assets/css/style.css */

.vl-page{background:#f7f9fb}.vl-page em{font-style:normal}
.vl-kicker,.vl-micro{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.vl-micro{color:#327bd8}.vl-micro.light{color:#77b5fb}
.vl-hero{position:relative;overflow:hidden;min-height:800px;padding:132px 0 72px;color:#fff;background:radial-gradient(circle at 78% 18%,rgba(47,137,239,.22),transparent 28%),linear-gradient(135deg,#06111e,#081b2e 65%,#071421)}
.vl-hero:before{content:"LAB";position:absolute;right:-35px;bottom:-55px;color:rgba(255,255,255,.022);font:800 250px/1 Manrope;letter-spacing:-.1em}
.vl-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center}
.vl-kicker{display:flex;align-items:center;gap:13px;color:#9ac5ef}.vl-kicker span{width:29px;height:1px;background:#62a9f7}
.vl-copy h1{max-width:730px;margin:23px 0 26px;font:600 clamp(56px,5.25vw,80px)/.94 Manrope;letter-spacing:-.06em}.vl-copy h1 em{display:block;color:#6baffb;font-weight:400}
.vl-copy>p{max-width:610px;margin:0;color:#bdcad7;font-size:15px;line-height:1.76}
.vl-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:33px}.vl-text-link{color:#d7e5f2;font-size:12px;font-weight:700}.vl-text-link span{margin-left:7px}
.vl-proof{display:grid;grid-template-columns:repeat(3,1fr);max-width:650px;margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.11)}
.vl-proof div+div{padding-left:21px;border-left:1px solid rgba(255,255,255,.1)}.vl-proof strong{display:block;font:600 21px/1 Manrope}.vl-proof span{display:block;margin-top:7px;color:#71869a;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.vl-hero-art{position:relative;height:590px}.vl-main-photo{position:absolute;inset:0 0 0 42px;margin:0;overflow:hidden;background:#0e2a44}.vl-main-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(2,13,23,.58))}.vl-main-photo img{width:100%;height:100%;object-fit:cover}
.vl-stamp{position:absolute;left:0;top:30px;width:210px;padding:20px;background:#f4f7fa;color:#0a1b30}.vl-stamp small{display:block;color:#327bd8;font-size:8px;font-weight:800;letter-spacing:.18em}.vl-stamp strong{display:block;margin-top:35px;font:600 26px/1.05 Manrope;letter-spacing:-.04em}
.vl-caption{position:absolute;left:0;bottom:35px;width:235px;padding:23px;background:#0b2948}.vl-caption span{color:#70aff6;font-size:9px;font-weight:700}.vl-caption p{margin:25px 0 0;font:500 21px/1.15 Manrope;letter-spacing:-.03em}
.vl-manifesto{padding:110px 0;background:#fff}.vl-manifesto-grid{display:grid;grid-template-columns:1.08fr .7fr;gap:95px;align-items:end}.vl-manifesto h2{margin:13px 0 0;color:#0a1b30;font:600 clamp(43px,4.6vw,66px)/1.01 Manrope;letter-spacing:-.05em}.vl-manifesto h2 em{color:#327bd8;font-weight:400}.vl-manifesto-copy p{margin:0;color:#697789;font-size:14px;line-height:1.8}.vl-manifesto-copy p+p{margin-top:18px}
.vl-courses{padding:108px 0 115px;color:#fff;background:radial-gradient(circle at 90% 15%,rgba(46,131,230,.12),transparent 25%),#07111e}.vl-section-head{display:grid;grid-template-columns:1.05fr .65fr;gap:90px;align-items:end;margin-bottom:50px}.vl-section-head h2{margin:12px 0 0;font:600 clamp(44px,4.7vw,66px)/1.01 Manrope;letter-spacing:-.05em}.vl-section-head h2 em{color:#6faeff;font-weight:400}.vl-section-head>p{margin:0;color:#9eafbf;font-size:14px;line-height:1.75}
.vl-course-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13)}.vl-course{min-height:390px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.012);transition:.35s}.vl-course:hover{background:rgba(61,137,228,.08);transform:translateY(-3px)}
.vl-course-photo{height:190px;overflow:hidden}.vl-course-photo img{width:100%;height:100%;object-fit:cover;transition:.7s}.vl-course:hover .vl-course-photo img{transform:scale(1.035)}
.vl-course-body{flex:1;padding:27px;display:flex;flex-direction:column}.vl-course-meta{display:flex;justify-content:space-between;color:#6f879e;font-size:9px;font-weight:700}.vl-course-meta strong{color:#b8c7d5}.vl-course small{margin-top:auto;color:#68a9f0;font-size:8px;font-weight:700;letter-spacing:.15em}.vl-course h3{margin:9px 0 12px;font:700 27px/1.06 Manrope;letter-spacing:-.035em}.vl-course p{margin:0;color:#a5b4c2;font-size:12px;line-height:1.65}.vl-course a{display:flex;justify-content:space-between;margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);color:#fff;font-size:11px;font-weight:700}
.vl-course.featured{grid-row:span 2}.vl-course.featured .vl-course-photo{height:360px}.vl-course.featured .vl-course-body{min-height:390px}.vl-course.photo-card .vl-course-photo{height:190px}
.vl-editorial{padding:115px 0;background:#f5f7f9}.vl-editorial-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px;align-items:center}.vl-editorial-copy h2{margin:14px 0 22px;color:#0a1b30;font:600 clamp(45px,4.5vw,63px)/1.01 Manrope;letter-spacing:-.05em}.vl-editorial-copy h2 em{color:#327bd8;font-weight:400}.vl-editorial-copy>p{max-width:480px;color:#6d7988;font-size:14px;line-height:1.78}.vl-points{margin-top:35px;border-top:1px solid #dce4eb}.vl-points div{display:grid;grid-template-columns:45px 1fr;padding:17px 0;border-bottom:1px solid #dce4eb}.vl-points span{color:#327bd8;font-size:9px}.vl-points strong{color:#14263a;font-size:12px}
.vl-editorial-photo{position:relative;height:650px;margin:0;overflow:hidden}.vl-editorial-photo img{width:100%;height:100%;object-fit:cover}.vl-editorial-photo figcaption{position:absolute;right:0;bottom:0;width:270px;padding:25px;background:#0b2948;color:#fff}.vl-editorial-photo figcaption span{display:block;color:#72b0f8;font-size:8px;font-weight:700;letter-spacing:.16em}.vl-editorial-photo figcaption strong{display:block;margin-top:25px;font:500 22px/1.15 Manrope}
.vl-formats{padding:110px 0;background:#fff}.light-head h2{color:#0a1b30}.light-head h2 em{color:#327bd8}.light-head>p{color:#6d7a89}.vl-format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.vl-format-grid article{min-height:390px;padding:27px;display:flex;flex-direction:column;border:1px solid #dfe6ed;background:#f8fafb}.vl-format-grid article.dark{color:#fff;border-color:#0b2948;background:#0b2948}.vl-format-grid article>span{align-self:flex-end;color:#9aa7b4;font-size:9px}.vl-icon{width:55px;height:55px;margin:45px 0 55px;display:grid;place-items:center;border:1px solid #d8e2eb;border-radius:50%;color:#327bd8;font-size:20px}.dark .vl-icon{border-color:rgba(255,255,255,.15);color:#75b3fa}.vl-format-grid small{color:#327bd8;font-size:8px;font-weight:700;letter-spacing:.16em}.dark small{color:#75b3fa}.vl-format-grid h3{margin:10px 0 13px;color:#0a1b30;font:700 27px/1.08 Manrope}.dark h3{color:#fff}.vl-format-grid p{margin:0;color:#718091;font-size:13px;line-height:1.68}.dark p{color:#a9b9c8}
.vl-band{position:relative;height:650px;overflow:hidden;color:#fff}.vl-band-photo,.vl-band-overlay{position:absolute;inset:0}.vl-band-photo img{width:100%;height:100%;object-fit:cover}.vl-band-overlay{background:linear-gradient(90deg,rgba(5,16,29,.88) 0%,rgba(5,16,29,.55) 48%,rgba(5,16,29,.15))}
.vl-band-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center}.vl-band-content>span{font-size:9px;font-weight:700;letter-spacing:.22em;color:#83bbf8}.vl-band h2{max-width:780px;margin:18px 0 0;font:600 clamp(53px,5.8vw,82px)/.95 Manrope;letter-spacing:-.06em}.vl-band h2 em{display:block;color:#7ab7fa;font-weight:400}
.vl-cta{padding:120px 0;color:#fff;background:#07111e}.vl-cta-grid{display:grid;grid-template-columns:1.05fr .65fr;gap:90px;align-items:end}.vl-cta h2{margin:15px 0 0;font:700 clamp(58px,6.4vw,90px)/.9 Manrope;letter-spacing:-.065em}.vl-cta h2 em{display:block;color:#69aaf5;font-weight:400}.vl-cta-side p{margin:0 0 27px;color:#aebdca;font-size:15px;line-height:1.75}.vl-page .footer-logo img{filter:brightness(0) invert(1)}
@media(max-width:1000px){.vl-grid,.vl-manifesto-grid,.vl-section-head,.vl-editorial-grid,.vl-cta-grid{grid-template-columns:1fr;gap:45px}.vl-hero-art{max-width:760px}.vl-course-grid{grid-template-columns:repeat(2,1fr)}.vl-course.featured{grid-row:auto}.vl-course.featured .vl-course-photo{height:240px}.vl-format-grid{grid-template-columns:1fr 1fr}.vl-format-grid article:last-child{grid-column:1/-1}}
@media(max-width:650px){.vl-hero{padding:112px 0 58px}.vl-copy h1{font-size:47px}.vl-actions{align-items:flex-start;flex-direction:column}.vl-proof{grid-template-columns:1fr 1fr;gap:20px 0}.vl-proof div:nth-child(3){grid-column:1/-1;padding-top:17px}.vl-hero-art{height:480px}.vl-main-photo{inset:0}.vl-stamp{left:14px;top:14px;width:180px}.vl-caption{left:14px;bottom:14px}.vl-manifesto,.vl-courses,.vl-editorial,.vl-formats{padding:78px 0}.vl-manifesto h2,.vl-section-head h2,.vl-editorial-copy h2{font-size:40px}.vl-course-grid,.vl-format-grid{grid-template-columns:1fr}.vl-format-grid article:last-child{grid-column:auto}.vl-course.featured .vl-course-photo,.vl-course-photo{height:210px}.vl-editorial-photo{height:480px}.vl-band{height:560px}.vl-band h2{font-size:51px}.vl-cta{padding:85px 0}.vl-cta h2{font-size:56px}}

/* =========================================================
   VEST LAB V2 — legibilidade, footer app e mobile friendly
   ========================================================= */

/* Microtextos e spans antes pequenos demais */
.vl-kicker,.vl-micro{font-size:10px;line-height:1.35}
.vl-proof span{font-size:10px;line-height:1.45}
.vl-stamp small{font-size:10px}
.vl-course-meta{font-size:10px}
.vl-course small{font-size:10px}
.vl-course p{font-size:14px;line-height:1.65}
.vl-course a{font-size:13px}
.vl-points span{font-size:10px}
.vl-points strong{font-size:14px}
.vl-editorial-photo figcaption span{font-size:10px}
.vl-format-grid article>span{font-size:10px}
.vl-format-grid small{font-size:10px}
.vl-band-content>span{font-size:10px}

/* Footer com app */
.vl-page .footer-main{grid-template-columns:1.2fr .75fr 1fr 1.25fr!important}
.vl-page .footer-app-label{font-size:10px;letter-spacing:.12em;font-weight:800}
.vl-page .footer-app h3{margin:7px 0;font-size:20px}
.vl-page .footer-app p{max-width:300px}
.vl-page .footer-store-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.vl-page .app-store-btn{
  display:flex;align-items:center;gap:10px;min-width:154px;padding:10px 13px;
  background:#07111f;color:#fff!important;text-decoration:none;border:1px solid rgba(255,255,255,.14)
}
.vl-page .app-store-btn svg{width:24px;height:24px;fill:currentColor;flex:0 0 auto}
.vl-page .app-store-btn>span{display:grid}
.vl-page .app-store-btn small{font-size:8px;line-height:1.1;letter-spacing:.08em}
.vl-page .app-store-btn strong{font-size:14px;line-height:1.15}

/* Menu mobile */
.vl-mobile-nav[hidden]{display:none!important}

@media(max-width:900px){
  .vl-page .header{z-index:10020}
  .vl-page .nav-links,
  .vl-page .buy-top{display:none!important}

  .vl-page .menu-btn{
    display:flex!important;
    width:44px;height:44px;padding:0;margin-left:auto;
    align-items:center;justify-content:center;flex-direction:column;gap:7px;
    border:0!important;background:transparent!important;box-shadow:none!important;
    cursor:pointer;position:relative;z-index:10022
  }
  .vl-page .menu-btn span{
    display:block;width:24px;height:1.5px;margin:0;border-radius:2px;
    background:#fff!important;
    transition:transform .25s ease,opacity .25s ease;transform-origin:center
  }
  .vl-page .menu-btn.is-open span:first-child{transform:translateY(4.25px) rotate(45deg)}
  .vl-page .menu-btn.is-open span:last-child{transform:translateY(-4.25px) rotate(-45deg)}

  .vl-mobile-nav{
    position:fixed;z-index:10010;inset:0;padding:92px 20px 24px;
    background:rgba(6,17,30,.985);overflow-y:auto;overscroll-behavior:contain
  }
  .vl-mobile-nav-inner{width:min(100%,560px);margin:0 auto;display:flex;flex-direction:column}
  .vl-mobile-nav a{
    display:flex;align-items:center;min-height:58px;border-bottom:1px solid rgba(255,255,255,.11);
    color:#fff;text-decoration:none;font:600 18px/1.25 Manrope,sans-serif
  }
  .vl-mobile-nav .vl-mobile-cta{
    justify-content:space-between;margin-top:24px;padding:0 20px;min-height:58px;
    border:0;background:#2878dc;font-size:15px
  }
  body.vl-menu-open{overflow:hidden}

  .vl-page .footer-main{grid-template-columns:1fr 1fr!important}
}

@media(max-width:650px){
  .vl-page .shell{width:min(100% - 32px,1200px)}
  .vl-grid,.vl-manifesto-grid,.vl-section-head,.vl-editorial-grid,.vl-cta-grid{min-width:0}
  .vl-copy h1{font-size:clamp(42px,12vw,50px);overflow-wrap:break-word}
  .vl-copy>p{font-size:16px;line-height:1.65}
  .vl-proof strong{font-size:22px}
  .vl-course-body{padding:26px}
  .vl-course h3{font-size:29px}
  .vl-course p{font-size:15px}
  .vl-format-grid p{font-size:15px}
  .vl-editorial-copy>p{font-size:16px}
  .vl-page .footer-main{grid-template-columns:1fr!important}
  .vl-page .footer-store-buttons{flex-direction:column;align-items:stretch}
  .vl-page .app-store-btn{width:100%;min-width:0}
}

@media(max-width:390px){
  .vl-page .shell{width:min(100% - 24px,1200px)}
  .vl-copy h1{font-size:40px}
}

/* =========================================================
   VEST LAB — CURSOS / SHOWCASE VISUAL
   ========================================================= */

.vl-courses{
    position:relative;
    overflow:hidden;

    padding:120px 0 130px;

    background:#07111f;
    color:#fff;
}


/* detalhe editorial de fundo */

.vl-courses::before{
    content:"LAB";

    position:absolute;

    right:-30px;
    top:65px;

    font-family:'Manrope',sans-serif;
    font-size:250px;
    font-weight:800;
    line-height:1;

    letter-spacing:-.09em;

    color:rgba(255,255,255,.018);

    pointer-events:none;
}


/* =========================================================
   HEADER
   ========================================================= */

.vl-courses .vl-section-head{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:1.1fr .55fr;

    gap:90px;
    align-items:end;

    margin-bottom:62px;
}


.vl-courses .vl-section-head h2{
    margin:14px 0 0;

    font-family:'Manrope',sans-serif;

    font-size:clamp(48px,5vw,70px);
    font-weight:600;

    line-height:.98;
    letter-spacing:-.055em;

    color:#fff;
}


.vl-courses .vl-section-head h2 em{
    font-style:normal;
    font-weight:400;

    color:#72adf7;
}


.vl-courses .vl-section-head > p{
    max-width:390px;

    margin:0 0 5px;

    color:rgba(255,255,255,.62);

    font-size:15px;
    line-height:1.75;
}


/* =========================================================
   GRID
   ========================================================= */

.vl-course-showcase{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:
        minmax(0,1.35fr)
        minmax(300px,.65fr);

    grid-template-rows:
        610px
        385px
        430px;

    gap:16px;
}


/* =========================================================
   CARD
   ========================================================= */

.vl-course-card{
    position:relative;

    min-width:0;

    overflow:hidden;

    background:#0c1d2e;
}


.vl-course-main{
    grid-column:1;
    grid-row:1;
}


.vl-course-vertical{
    grid-column:2;
    grid-row:1;
}


/* linha 2 */

.vl-course-horizontal:nth-of-type(3){
    grid-column:1;
    grid-row:2;
}

.vl-course-horizontal:nth-of-type(4){
    grid-column:2;
    grid-row:2;
}


/* linha 3 */

.vl-course-bottom:nth-of-type(5){
    grid-column:1;
    grid-row:3;
}

.vl-course-bottom:nth-of-type(6){
    grid-column:2;
    grid-row:3;
}


/* =========================================================
   IMAGEM
   ========================================================= */

.vl-course-image{
    position:absolute;
    inset:0;

    overflow:hidden;

    background:#0c1d2e;
}


.vl-course-image img{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
    object-position:center;

    transform:scale(1.001);

    filter:
        saturate(.82)
        contrast(1.04);

    transition:
        transform .8s cubic-bezier(.22,.8,.2,1),
        filter .6s ease;
}


/* =========================================================
   GRADIENTE
   ========================================================= */

.vl-course-image-shade{
    position:absolute;
    inset:0;

    z-index:1;

    background:
        linear-gradient(
            180deg,
            rgba(5,15,27,.12) 0%,
            rgba(5,15,27,.05) 30%,
            rgba(5,15,27,.25) 55%,
            rgba(5,15,27,.94) 100%
        );
}


/* card principal recebe mais profundidade */

.vl-course-main .vl-course-image-shade{
    background:
        linear-gradient(
            90deg,
            rgba(4,14,26,.80) 0%,
            rgba(4,14,26,.43) 48%,
            rgba(4,14,26,.08) 78%
        ),
        linear-gradient(
            180deg,
            transparent 35%,
            rgba(4,14,26,.82) 100%
        );
}


/* =========================================================
   TOPO
   ========================================================= */

.vl-course-image-top{
    position:absolute;

    z-index:3;

    top:25px;
    left:27px;
    right:27px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;
}


.vl-course-image-top span,
.vl-course-image-top strong{
    font-size:10px;
    font-weight:700;

    letter-spacing:.17em;

    color:rgba(255,255,255,.82);
}


.vl-course-image-top strong{
    color:#fff;
}


/* =========================================================
   CONTEÚDO
   ========================================================= */

.vl-course-image-copy{
    position:absolute;

    z-index:3;

    left:28px;
    right:28px;
    bottom:28px;
}


.vl-course-image-copy small{
    display:block;

    margin-bottom:11px;

    color:#77b3ff;

    font-size:9px;
    font-weight:800;

    letter-spacing:.19em;
}


.vl-course-image-copy h3{
    max-width:600px;

    margin:0 0 13px;

    font-family:'Manrope',sans-serif;

    font-size:clamp(27px,3vw,40px);
    font-weight:600;

    line-height:1.02;

    letter-spacing:-.045em;

    color:#fff;
}


.vl-course-main .vl-course-image-copy{
    max-width:530px;

    left:38px;
    bottom:38px;
}


.vl-course-main .vl-course-image-copy h3{
    font-size:clamp(44px,5vw,68px);
    line-height:.91;
}


.vl-course-image-copy p{
    max-width:470px;

    margin:0 0 22px;

    color:rgba(255,255,255,.72);

    font-size:13.5px;
    line-height:1.65;
}


/* =========================================================
   LINK
   ========================================================= */

.vl-course-image-copy a{
    width:max-content;

    display:flex;
    align-items:center;

    gap:18px;

    color:#fff;

    font-size:11px;
    font-weight:700;

    letter-spacing:.04em;

    text-decoration:none;
}


.vl-course-image-copy a i{
    width:34px;
    height:34px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(255,255,255,.34);
    border-radius:50%;

    font-style:normal;
    font-size:14px;

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .3s ease;
}


/* =========================================================
   HOVER
   ========================================================= */

.vl-course-card::after{
    content:"";

    position:absolute;

    z-index:5;

    left:0;
    top:0;

    width:0;
    height:3px;

    background:#69a9ff;

    transition:
        width .5s cubic-bezier(.22,.8,.2,1);

    pointer-events:none;
}


.vl-course-card:hover::after{
    width:100%;
}


.vl-course-card:hover .vl-course-image img{
    transform:scale(1.045);

    filter:
        saturate(.95)
        contrast(1.06);
}


.vl-course-card:hover .vl-course-image-copy a i{
    color:#07111f;

    background:#fff;
    border-color:#fff;

    transform:rotate(45deg);
}


/* =========================================================
   CARDS HORIZONTAIS
   ========================================================= */

.vl-course-horizontal .vl-course-image-shade,
.vl-course-bottom .vl-course-image-shade{
    background:
        linear-gradient(
            90deg,
            rgba(4,14,26,.88) 0%,
            rgba(4,14,26,.66) 43%,
            rgba(4,14,26,.13) 80%
        ),
        linear-gradient(
            180deg,
            transparent,
            rgba(4,14,26,.52)
        );
}


.vl-course-horizontal .vl-course-image-copy,
.vl-course-bottom .vl-course-image-copy{
    max-width:480px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:950px){

    .vl-courses{
        padding:90px 0;
    }


    .vl-courses .vl-section-head{
        grid-template-columns:1fr;

        gap:22px;

        margin-bottom:45px;
    }


    .vl-courses .vl-section-head > p{
        max-width:560px;
    }


    .vl-course-showcase{
        grid-template-columns:1fr 1fr;

        grid-template-rows:
            540px
            400px
            400px;
    }


    .vl-course-main{
        grid-column:1;
        grid-row:1;
    }


    .vl-course-vertical{
        grid-column:2;
        grid-row:1;
    }


    .vl-course-horizontal:nth-of-type(3){
        grid-column:1;
        grid-row:2;
    }


    .vl-course-horizontal:nth-of-type(4){
        grid-column:2;
        grid-row:2;
    }


    .vl-course-bottom:nth-of-type(5){
        grid-column:1;
        grid-row:3;
    }


    .vl-course-bottom:nth-of-type(6){
        grid-column:2;
        grid-row:3;
    }


    .vl-course-main .vl-course-image-copy h3{
        font-size:48px;
    }

}


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

@media(max-width:650px){

    .vl-courses{
        padding:72px 0 78px;
    }


    .vl-courses::before{
        display:none;
    }


    .vl-courses .vl-section-head{
        margin-bottom:34px;
    }


    .vl-courses .vl-section-head h2{
        font-size:40px;
    }


    .vl-courses .vl-section-head > p{
        font-size:14px;
    }


    /* vira carrossel horizontal */

    .vl-course-showcase{
        display:flex;

        width:calc(100% + 12px);

        gap:12px;

        overflow-x:auto;
        overflow-y:hidden;

        margin-right:-12px;

        padding-right:28px;
        padding-bottom:12px;

        scroll-snap-type:x mandatory;
        scroll-behavior:smooth;

        scrollbar-width:none;

        -webkit-overflow-scrolling:touch;
    }


    .vl-course-showcase::-webkit-scrollbar{
        display:none;
    }


    .vl-course-card,
    .vl-course-main,
    .vl-course-vertical,
    .vl-course-horizontal,
    .vl-course-bottom{
        position:relative;

        flex:0 0 84vw;

        width:84vw;
        height:500px;

        grid-column:auto !important;
        grid-row:auto !important;

        scroll-snap-align:start;
    }


    .vl-course-image{
        position:absolute;
        inset:0;
    }


    .vl-course-main .vl-course-image-copy,
    .vl-course-image-copy{
        left:22px;
        right:22px;
        bottom:24px;

        max-width:none;
    }


    .vl-course-image-top{
        top:21px;
        left:22px;
        right:22px;
    }


    .vl-course-main .vl-course-image-copy h3,
    .vl-course-image-copy h3{
        font-size:34px;
        line-height:1;
    }


    .vl-course-image-copy p{
        max-width:92%;

        margin-bottom:20px;

        font-size:13px;
    }


    .vl-course-image-copy small{
        font-size:8.5px;
    }


    .vl-course-image-top span,
    .vl-course-image-top strong{
        font-size:9px;
    }


    /* no mobile todos usam leitura inferior */

    .vl-course-main .vl-course-image-shade,
    .vl-course-horizontal .vl-course-image-shade,
    .vl-course-bottom .vl-course-image-shade,
    .vl-course-vertical .vl-course-image-shade{
        background:
            linear-gradient(
                180deg,
                rgba(4,14,26,.08) 0%,
                rgba(4,14,26,.04) 28%,
                rgba(4,14,26,.25) 52%,
                rgba(4,14,26,.96) 100%
            );
    }

}

.vl-format-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.vl-format-grid article{
    min-height:260px;
}

@media(max-width:650px){
    .vl-format-grid{
        grid-template-columns:1fr;
    }
}