/*==================================================
CIET-BRASIL
PROGRAMA PORTUGAL
DESIGN EDITORIAL / INSTITUCIONAL
==================================================*/

/*==================================================
RESET
==================================================*/

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{


font-family:'Inter',sans-serif;

background:#031b31;

color:#fff;

overflow-x:hidden;


}

a{
text-decoration:none;
color:inherit;
}

img{


display:block;

max-width:100%;


}

.container{


width:min(92%,1300px);

margin:auto;


}

/*==================================================
VARIÁVEIS
==================================================*/

:root{


--azul1:#041d35;

--azul2:#082b48;

--azul3:#0B4E88;

--azulGlow:#2EA8FF;

--branco:#fff;

--cinza:#d8e4ef;

--linha:rgba(255,255,255,.12);

--texto:#d8e5ef;

--textoFraco:#91a6b5;


}

/*==================================================
HEADER
==================================================*/

.programaHeader{


position:fixed;

top:0;
left:0;

width:100%;

height:95px;

z-index:1000;

transition:.4s;


}

.programaHeader.scrolled{


background:
rgba(3,20,35,.93);

box-shadow:
0 15px 35px rgba(0,0,0,.25);

backdrop-filter:blur(12px);


}

.headerContainer{


height:100%;

display:flex;

align-items:center;

justify-content:space-between;


}

.programaLogo img{


width:76px;


}

.btnVoltar{


display:flex;

align-items:center;

gap:11px;

color:#fff;

font-size:14px;

padding:11px 19px;

border:
1px solid
rgba(255,255,255,.25);

border-radius:40px;

background:
rgba(3,27,49,.25);

transition:.35s;


}

.btnVoltar span{


font-size:21px;

line-height:1;


}

.btnVoltar:hover{


background:#fff;

color:#031b31;

transform:translateX(-4px);


}

/*==================================================
ABERTURA
==================================================*/

.abertura{


min-height:860px;

position:relative;

display:flex;

align-items:flex-end;

overflow:hidden;

background:#031522;


}

.aberturaImagem{


position:absolute;

inset:0;


}

.aberturaImagem img{


width:100%;

height:100%;

object-fit:cover;

object-position:center;

transform:scale(1.03);


}

.aberturaOverlay{


position:absolute;

inset:0;

background:

linear-gradient(
    90deg,
    rgba(3,18,31,.96) 0%,
    rgba(3,18,31,.84) 34%,
    rgba(3,18,31,.35) 70%,
    rgba(3,18,31,.62) 100%
);


}

.aberturaContainer{


position:relative;

z-index:2;

padding-bottom:75px;


}

.aberturaTexto{


max-width:900px;


}

.eyebrow{


display:block;

color:#9bdcff;

font-size:11px;

font-weight:700;

letter-spacing:3px;

line-height:1.5;


}

.eyebrow.azul{


color:#59beff;


}

.abertura h1{


font-family:'Poppins',sans-serif;

font-size:78px;

line-height:1.04;

font-weight:500;

margin:20px 0 25px;

letter-spacing:-2px;


}

.abertura h1 em{


display:block;

color:#59beff;

font-style:normal;

font-weight:600;


}

.subtitulo{


max-width:650px;

color:#e0edf5;

font-size:22px;

line-height:1.65;


}

.fraseAbertura{


margin-top:32px;

font-family:'Poppins',sans-serif;

color:#d9e9f3;

font-size:18px;

line-height:1.7;


}

.fraseAbertura strong{


color:#79cfff;

font-weight:500;


}

.aberturaDados{


margin-top:55px;

padding-top:22px;

border-top:
1px solid
rgba(255,255,255,.2);

display:flex;

flex-wrap:wrap;

gap:0;

max-width:1100px;


}

.aberturaDados div{


padding-right:45px;

margin-right:45px;

border-right:
1px solid
rgba(255,255,255,.15);


}

.aberturaDados div:last-child{


border-right:0;


}

.aberturaDados span{


display:block;

color:#8199aa;

text-transform:uppercase;

letter-spacing:1.5px;

font-size:9px;

margin-bottom:7px;


}

.aberturaDados strong{


font-size:14px;

font-weight:500;

color:#eef6fa;


}

/*==================================================
INTRODUÇÃO
==================================================*/

.textoIntroducao{


padding:155px 0;

background:#061a2c;


}

.introducaoGrid{


display:grid;

grid-template-columns:
.9fr 1.1fr;

gap:110px;


}

.numeroSecao{


display:block;

color:#4bb7ff;

font-family:'Poppins',sans-serif;

font-size:13px;

font-weight:600;

margin-bottom:22px;

letter-spacing:2px;


}

.introducaoTitulo h2{


font-family:'Poppins',sans-serif;

font-size:48px;

font-weight:500;

line-height:1.2;

margin-top:18px;

max-width:500px;


}

.introducaoConteudo{


padding-top:35px;


}

.introducaoConteudo p{


color:var(--texto);

font-size:18px;

line-height:1.9;

margin-bottom:28px;

max-width:760px;


}

.introducaoConteudo .textoGrande{


font-size:21px;

color:#edf5f9;


}

.introducaoConteudo strong{


color:#fff;


}

blockquote{


margin-top:45px;

padding:25px 0 25px 30px;

border-left:
2px solid
#2EA8FF;

color:#eaf4f8;

font-family:'Poppins',sans-serif;

font-size:17px;

line-height:1.8;

max-width:700px;


}

/*==================================================
SEMANA / FORMAÇÃO
==================================================*/

.semana{


padding:150px 0;

background:#08233c;


}

.cabecalhoSecao{


display:grid;

grid-template-columns:90px 1fr;

gap:35px;

align-items:start;

margin-bottom:70px;


}

.cabecalhoSecao .numeroSecao{


padding-top:5px;


}

.cabecalhoSecao h2{


font-family:'Poppins',sans-serif;

font-size:53px;

line-height:1.17;

font-weight:500;

margin-top:18px;


}

.semanaIntro{


max-width:900px;

margin-left:125px;

margin-bottom:95px;

display:grid;

grid-template-columns:1fr 1fr;

gap:50px;


}

.semanaIntro p{


color:#cbdce6;

font-size:17px;

line-height:1.85;


}

/*==================================================
BLOCO DE FORMAÇÃO
==================================================*/

.dia{


display:grid;

grid-template-columns:
1fr 1fr;

min-height:520px;

margin-bottom:110px;

opacity:0;

transform:translateY(45px);

transition:
opacity .8s ease,
transform .8s ease;


}

.dia.visivel{


opacity:1;

transform:translateY(0);


}

.diaImagem{


overflow:hidden;


}

.diaImagem img{


width:100%;

height:100%;

min-height:520px;

object-fit:cover;

filter:saturate(.85);

transition:.8s;


}

.dia:hover .diaImagem img{


transform:scale(1.03);


}

.diaTexto{


padding:60px 70px;

background:#061a2c;

display:flex;

justify-content:center;

flex-direction:column;


}

.diaLabel{


color:#59beff;

font-size:10px;

font-weight:700;

letter-spacing:2.5px;


}

.diaTexto h3,
.imersaoCabecalho h3{


font-family:'Poppins',sans-serif;

font-size:38px;

line-height:1.2;

font-weight:500;

margin:17px 0 25px;


}

.diaTexto p{


color:#cbdce6;

font-size:16px;

line-height:1.85;

margin-bottom:20px;


}

.fraseDia{


color:#fff !important;

font-family:'Poppins',sans-serif;

font-size:15px !important;

margin-top:15px;


}

/*==================================================
IMERSÃO / ATIVIDADES
==================================================*/

.imersaoAcademica{


border-top:
1px solid
var(--linha);

border-bottom:
1px solid
var(--linha);

padding:85px 0 0;

margin-bottom:110px;

opacity:0;

transform:translateY(45px);

transition:
opacity .8s ease,
transform .8s ease;


}

.imersaoAcademica.visivel{


opacity:1;

transform:translateY(0);


}

.imersaoCabecalho{


max-width:850px;

margin-bottom:55px;


}

.imersaoCabecalho p{


color:#cbdce6;

font-size:17px;

line-height:1.85;

max-width:850px;

margin-bottom:15px;


}

.atividades{


border-top:
1px solid
var(--linha);


}

.atividadeLinha{


display:grid;

grid-template-columns:90px 1fr;

gap:25px;

padding:34px 0;

border-bottom:
1px solid
var(--linha);


}

.atividadeLinha > span{


color:#2EA8FF;

font-family:'Poppins',sans-serif;

font-size:13px;

padding-top:3px;


}

.atividadeLinha h4{


font-family:'Poppins',sans-serif;

font-size:21px;

font-weight:500;

margin-bottom:9px;


}

.atividadeLinha p{


max-width:800px;

color:#aebfcb;

font-size:15px;

line-height:1.75;


}

/*==================================================
EIXOS / TRÊS CIDADES
==================================================*/

.eixos{


padding:155px 0;

background:#061a2c;


}

.eixosGrid{


display:grid;

grid-template-columns:
.85fr 1.15fr;

gap:100px;


}

.eixosTitulo h2{


font-family:'Poppins',sans-serif;

font-size:50px;

line-height:1.18;

font-weight:500;

max-width:500px;

margin-top:18px;


}

.eixosConteudo > p{


color:#d1dfe8;

font-size:18px;

line-height:1.9;

margin-bottom:35px;


}

.listaEixos{


display:flex;

flex-wrap:wrap;

border-top:
1px solid
var(--linha);

margin-bottom:35px;


}

.listaEixos span{


padding:16px 22px 16px 0;

margin-right:22px;

color:#e0ebf1;

font-size:14px;

border-bottom:
1px solid
var(--linha);


}

.observacao{


color:#8299a9 !important;

font-size:13px !important;


}

/*==================================================
CONEXÃO / TRÊS CIDADES
==================================================*/

.conexao{


padding:150px 0;

background:#08233c;


}

.conexaoGrid{


display:grid;

grid-template-columns:
1fr 1fr;

gap:90px;

align-items:center;


}

.conexaoImagem{


overflow:hidden;


}

.conexaoImagem img{


width:100%;

height:620px;

object-fit:cover;

filter:saturate(.8);


}

.conexaoTexto h2{


font-family:'Poppins',sans-serif;

font-size:51px;

line-height:1.15;

font-weight:500;

margin:18px 0 30px;


}

.conexaoTexto p{


color:#cfdee7;

font-size:17px;

line-height:1.85;

margin-bottom:22px;


}

.conexaoTexto blockquote{


margin-top:35px;


}

/*==================================================
RETORNO / JORNADA
==================================================*/

.retorno{


padding:130px 0;

background:#061a2c;


}

.retornoGrid{


display:grid;

grid-template-columns:
1fr 1fr;

gap:100px;

align-items:start;


}

.retorno h2{


font-family:'Poppins',sans-serif;

font-size:49px;

line-height:1.15;

font-weight:500;

margin-top:18px;


}

.retornoGrid > div:last-child{


padding-top:45px;


}

.retorno p{


color:#cbdce6;

font-size:17px;

line-height:1.9;

margin-bottom:22px;


}

/*==================================================
REFLEXÃO
==================================================*/

.reflexao{


padding:170px 0;

text-align:center;

background:

radial-gradient(
    circle at center,
    rgba(46,168,255,.12),
    transparent 48%
),

#031522;


}

.reflexao .container{


max-width:1050px;


}

.reflexao h2{


font-family:'Poppins',sans-serif;

font-size:64px;

line-height:1.1;

font-weight:500;

margin:20px auto 30px;


}

.reflexao p{


max-width:750px;

margin:0 auto 15px;

color:#cadce6;

font-size:18px;

line-height:1.85;


}

.processo{


display:flex;

align-items:center;

justify-content:center;

flex-wrap:wrap;

gap:17px;

margin-top:70px;

color:#dce9ef;


}

.processo span{


font-size:11px;

letter-spacing:1.5px;

color:#8fcfff;


}

.processo i{


font-style:normal;

color:#3a9ed5;


}

/*==================================================
PÚBLICO
==================================================*/

.publico{


padding:150px 0;

background:#08233c;


}

.publicoLista{


margin-left:125px;

border-top:
1px solid
var(--linha);

opacity:0;

transform:translateY(45px);

transition:
opacity .8s ease,
transform .8s ease;


}

.publicoLista.visivel{


opacity:1;

transform:translateY(0);


}

.publicoLista > div{


display:grid;

grid-template-columns:70px 1fr;

gap:35px;

padding:32px 0;

border-bottom:
1px solid
var(--linha);


}

.publicoLista > div > span{


color:#2EA8FF;

font-family:'Poppins',sans-serif;

font-size:12px;


}

.publicoLista h3{


font-family:'Poppins',sans-serif;

font-size:21px;

font-weight:500;

margin-bottom:8px;


}

.publicoLista p{


color:#aebfcb;

font-size:15px;

line-height:1.7;


}

/*==================================================
POR QUE PORTUGAL
==================================================*/

.porQue{


min-height:720px;

position:relative;

display:flex;

align-items:center;

overflow:hidden;

background:#031522;


}

.porQueImagem{


position:absolute;

left:0;

top:0;

width:52%;

height:100%;


}

.porQueImagem img{


width:100%;

height:100%;

object-fit:cover;

filter:saturate(.75);


}

.porQueImagem::after{


content:"";

position:absolute;

inset:0;

background:
linear-gradient(
    90deg,
    transparent 55%,
    #031522 100%
);


}

.porQueTexto{


position:relative;

z-index:2;

width:48%;

margin-left:auto;

padding:100px 7% 100px 5%;


}

.porQueTexto h2{


font-family:'Poppins',sans-serif;

font-size:48px;

line-height:1.18;

font-weight:500;

margin:18px 0 30px;


}

.porQueTexto p{


color:#ccdce5;

font-size:16px;

line-height:1.85;

margin-bottom:20px;


}

/*==================================================
PERSONALIZADA
==================================================*/

.personalizada{


padding:150px 0;

background:#061a2c;


}

.personalizadaGrid{


display:grid;

grid-template-columns:
.9fr 1.1fr;

gap:110px;


}

.personalizadaTitulo h2{


font-family:'Poppins',sans-serif;

font-size:49px;

line-height:1.17;

font-weight:500;

max-width:500px;

margin-top:18px;


}

.personalizadaTexto{


padding-top:35px;


}

.personalizadaTexto > p{


color:#cfdee7;

font-size:17px;

line-height:1.9;

margin-bottom:22px;


}

.detalhes{


display:grid;

grid-template-columns:1fr 1fr;

margin-top:40px;

border-top:
1px solid
var(--linha);


}

.detalhes span{


padding:17px 20px 17px 0;

color:#dce8ee;

font-size:13px;

border-bottom:
1px solid
var(--linha);


}

/*==================================================
RESUMO
==================================================*/

.resumo{


padding:140px 0;

background:#08233c;


}

.resumoCabecalho{


margin-left:125px;

margin-bottom:65px;


}

.resumoCabecalho h2{


font-family:'Poppins',sans-serif;

font-size:49px;

line-height:1.2;

font-weight:500;

margin-top:18px;

max-width:850px;


}

.resumoTabela{


margin-left:125px;

border-top:
1px solid
var(--linha);

opacity:0;

transform:translateY(40px);

transition:
opacity .8s ease,
transform .8s ease;


}

.resumoTabela.visivel{


opacity:1;

transform:translateY(0);


}

.resumoTabela > div{


display:grid;

grid-template-columns:
280px 1fr;

gap:40px;

padding:23px 0;

border-bottom:
1px solid
var(--linha);


}

.resumoTabela span{


color:#8198a8;

text-transform:uppercase;

letter-spacing:1.2px;

font-size:9px;


}

.resumoTabela strong{


color:#e2edf2;

font-size:14px;

font-weight:500;


}

/*==================================================
CTA
==================================================*/

.ctaPrograma{


padding:160px 0;

text-align:center;

background:

radial-gradient(
    circle at 50% 35%,
    rgba(46,168,255,.14),
    transparent 48%
),

#031522;


}

.ctaPrograma .container{


max-width:900px;


}

.ctaPrograma h2{


font-family:'Poppins',sans-serif;

font-size:58px;

line-height:1.12;

font-weight:500;

margin:20px 0 28px;


}

.ctaFrase{


color:#d9e8ef;

font-family:'Poppins',sans-serif;

font-size:20px;


}

.ctaTexto{


max-width:650px;

margin:25px auto 40px;

color:#8fa6b5;

font-size:15px;

line-height:1.8;


}

.ctaLink{


display:inline-flex;

align-items:center;

gap:15px;

color:#59beff;

border-bottom:
1px solid
rgba(89,190,255,.5);

padding-bottom:8px;

font-size:14px;

transition:.35s;


}

.ctaLink span{


font-size:21px;

transition:.35s;


}

.ctaLink:hover{


color:#fff;


}

.ctaLink:hover span{


transform:translateX(6px);


}

/*==================================================
FOOTER
==================================================*/

.footer{


background:#031522;

color:#fff;

border-top:
1px solid
rgba(255,255,255,.08);


}

.footerContent{


min-height:360px;

padding:80px 0;

display:grid;

grid-template-columns:
1.4fr 1fr 1fr;

gap:80px;

align-items:start;


}

.footerBrand h2{


font-family:'Poppins',sans-serif;

font-size:58px;

font-weight:800;

letter-spacing:5px;

line-height:1;

margin-bottom:18px;


}

.footerBrand span{


display:block;

max-width:360px;

color:#aebdca;

font-size:14px;

line-height:24px;


}

.footerBrand p{


margin-top:30px;

color:#fff;

font-size:17px;

font-weight:500;

letter-spacing:.5px;


}

.footerColumn h3{


font-family:'Poppins',sans-serif;

font-size:18px;

margin-bottom:28px;

font-weight:600;


}

.footerColumn h3::after{


content:"";

display:block;

width:30px;

height:2px;

background:#fff;

margin-top:10px;

opacity:.5;


}

.contactItem{


display:flex;

align-items:flex-start;

gap:15px;

margin-bottom:22px;


}

.contactIcon{


width:34px;

height:34px;

min-width:34px;

display:flex;

align-items:center;

justify-content:center;

border:
1px solid
rgba(255,255,255,.18);

border-radius:50%;

color:#fff;

font-size:15px;


}

.contactItem small{


display:block;

color:#788d9d;

font-size:11px;

text-transform:uppercase;

letter-spacing:1px;

margin-bottom:4px;


}

.contactItem a,
.contactItem p{


color:#dce6ed;

font-size:14px;

line-height:22px;

transition:.3s;


}

.contactItem a:hover{


color:#fff;


}

.socialColumn > p{


color:#9eafbc;

font-size:14px;

line-height:24px;

max-width:280px;

margin-bottom:25px;


}

.socialLinks{


display:flex;

flex-direction:column;

gap:12px;


}

.socialLinks a{


width:max-content;

color:#c8d4dc;

font-size:14px;

transition:.3s;

position:relative;


}

.socialLinks a::before{


content:"";

display:inline-block;

width:5px;

height:5px;

border-radius:50%;

background:#fff;

margin-right:10px;

vertical-align:middle;

opacity:.5;

transition:.3s;


}

.socialLinks a:hover{


color:#fff;

transform:translateX(5px);


}

.socialLinks a:hover::before{


opacity:1;


}

.footerBottom{


border-top:
1px solid
rgba(255,255,255,.08);


}

.footerBottom .container{


min-height:75px;

display:flex;

align-items:center;

justify-content:space-between;

gap:20px;


}

.footerBottom p,
.footerBottom span{


color:#718593;

font-size:12px;


}

/*==================================================
RESPONSIVO
==================================================*/

@media(max-width:1000px){


.abertura h1{
    font-size:62px;
}


.introducaoGrid,
.eixosGrid,
.retornoGrid,
.personalizadaGrid{

    grid-template-columns:1fr;

    gap:50px;

}


.semanaIntro{
    margin-left:0;
}


.publicoLista,
.resumoTabela,
.resumoCabecalho{

    margin-left:0;

}


.conexaoGrid{

    gap:50px;

}


.porQueImagem{

    width:45%;

}


.porQueTexto{

    width:55%;

}


.porQueTexto h2{

    font-size:40px;

}


.footerContent{

    grid-template-columns:
    1fr 1fr;

    gap:50px;

}


.footerBrand{

    grid-column:1 / -1;

}


}

/*==================================================
MOBILE
==================================================*/

@media(max-width:700px){


.programaHeader{

    height:80px;

}


.programaLogo img{

    width:58px;

}


.btnVoltar{

    padding:10px 14px;

    font-size:12px;

}


.abertura{

    min-height:760px;

}


.aberturaContainer{

    padding-bottom:55px;

}


.abertura h1{

    font-size:44px;

    letter-spacing:-1px;

}


.subtitulo{

    font-size:18px;

}


.fraseAbertura{

    font-size:15px;

}


.aberturaDados{

    display:block;

    margin-top:40px;

}


.aberturaDados div{

    padding:
    15px 0;

    margin:0;

    border-right:0;

    border-bottom:
    1px solid
    rgba(255,255,255,.15);

}


.textoIntroducao,
.semana,
.eixos,
.conexao,
.retorno,
.publico,
.personalizada,
.resumo{

    padding:100px 0;

}


.introducaoTitulo h2,
.eixosTitulo h2,
.personalizadaTitulo h2{

    font-size:36px;

}


.introducaoConteudo{

    padding-top:0;

}


.cabecalhoSecao{

    grid-template-columns:
    45px 1fr;

    gap:15px;

}


.cabecalhoSecao h2{

    font-size:36px;

}


.semanaIntro{

    grid-template-columns:1fr;

    gap:15px;

    margin-bottom:65px;

}


.dia{

    grid-template-columns:1fr;

    margin-bottom:70px;

}


.diaImagem img{

    min-height:320px;

    height:320px;

}


.diaTexto{

    padding:40px 25px;

}


.diaTexto h3,
.imersaoCabecalho h3{

    font-size:29px;

}


.imersaoAcademica{

    padding-top:55px;

    margin-bottom:70px;

}


.atividadeLinha{

    grid-template-columns:
    45px 1fr;

    gap:15px;

    padding:28px 0;

}


.conexaoGrid{

    grid-template-columns:1fr;

}


.conexaoImagem img{

    height:380px;

}


.conexaoTexto h2{

    font-size:38px;

}


.retornoGrid > div:last-child{

    padding-top:0;

}


.retorno h2{

    font-size:38px;

}


.reflexao{

    padding:110px 0;

}


.reflexao h2{

    font-size:43px;

}


.processo{

    gap:10px;

    margin-top:50px;

}


.processo i{

    display:none;

}


.processo span{

    padding:8px 10px;

    border:
    1px solid
    rgba(255,255,255,.12);

}


.publicoLista > div{

    grid-template-columns:
    40px 1fr;

    gap:15px;

}


.porQue{

    min-height:auto;

    display:block;

}


.porQueImagem{

    position:relative;

    width:100%;

    height:360px;

}


.porQueImagem::after{

    background:
    linear-gradient(
        180deg,
        transparent 45%,
        #031522 100%
    );

}


.porQueTexto{

    width:100%;

    padding:60px 6% 90px;

}


.porQueTexto h2{

    font-size:37px;

}


.detalhes{

    grid-template-columns:1fr;

}


.resumoCabecalho h2{

    font-size:36px;

}


.resumoTabela > div{

    grid-template-columns:1fr;

    gap:8px;

    padding:20px 0;

}


.ctaPrograma{

    padding:110px 0;

}


.ctaPrograma h2{

    font-size:39px;

}


.ctaFrase{

    font-size:17px;

}


.footerContent{

    grid-template-columns:1fr;

    padding:60px 0;

    gap:45px;

}


.footerBrand{

    grid-column:auto;

}


.footerBrand h2{

    font-size:48px;

}


.footerBottom .container{

    min-height:100px;

    flex-direction:column;

    justify-content:center;

    text-align:center;

}



/*==================================================
ACESSIBILIDADE
==================================================*/

@media(prefers-reduced-motion:reduce){


*::before,
*::after{

    scroll-behavior:auto;

    animation-duration:.01ms;

    animation-iteration-count:1;

    transition-duration:.01ms;

}

}
}