*{

margin:0;

padding:0;

box-sizing:border-box;

font-family:Arial, Helvetica, sans-serif;

}


html{

scroll-behavior:smooth;

}



body{

background:#080808;

color:white;

padding-top:80px;

}



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


header{

height:80px;

align-self:center;

background:rgba(5,5,5,0.92);

backdrop-filter:blur(10px);

display:flex;

align-items:center;

justify-content:space-between;

padding:0 7%;

position:fixed;

top:0;

left:0;

width:100%;

z-index:1000;

border-bottom:1px solid rgba(255,0,0,0.15);

animation:headerShow .8s ease;

}



@keyframes headerShow{

from{

opacity:0;

transform:translateY(-20px);

}


to{

opacity:1;

transform:translateY(0);

}

}





.logo{

display:flex;

align-items:center;

gap:15px;

}



.logo img{

width:65px;

transition:.3s;

}



.logo img:hover{

transform:scale(1.08);

}



.logo h2{

font-size:24px;

}



.logo span{

font-size:11px;

color:#aaa;

}






nav{
    display:flex;
    align-items:center;
    gap:30px;
    height:80px;
    flex-wrap:nowrap;
}



nav a{

font-size:13px;

color:#aaa;

text-decoration:none;

transition:.3s;

cursor:pointer;

}



nav a:hover{

color:white;

}



nav .ativo{

color:red;

}






header button{

background:#e00000;

border:0;

padding:14px 25px;

color:white;

border-radius:6px;

font-weight:bold;

align-self:center;

cursor:pointer;

transition:.3s;

}



header button:hover{

transform:translateY(-3px);

background:#ff0000;

}





/* ===============================
HERO
================================ */



.hero{

height:420px;

background:

linear-gradient(

90deg,

rgba(0,0,0,.75),

rgba(0,0,0,.15)

),

url("imagens/home.png");


background-size:cover;

background-position:center;

display:flex;

align-items:center;

padding-left:7%;

}




.hero-text{

max-width:550px;

animation:heroShow 1s ease;

}



@keyframes heroShow{

from{

opacity:0;

transform:translateY(40px);

}


to{

opacity:1;

transform:translateY(0);

}

}




.hero h1{

font-size:45px;

line-height:1.1;

margin-bottom:15px;

}




.hero p{

color:#ddd;

line-height:1.5;

}





.botoes{

margin-top:25px;

display:flex;

gap:15px;

}




.botoes button{

background:#e00000;

border:0;

padding:15px 25px;

color:white;

border-radius:6px;

cursor:pointer;

transition:.3s;

}



.botoes button:hover{

transform:translateY(-4px);

}




.discord{

background:#111!important;

border:1px solid #555!important;

}





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



.cards{

display:flex;

gap:20px;

justify-content:center;

padding:40px 7%;

}




.card{

background:#151515;

width:220px;

padding:25px;

border-radius:10px;

border-top:2px solid red;

transition:.35s;

opacity:0;

animation:cardShow .8s forwards;

}



.card:nth-child(2){

animation-delay:.15s;

}


.card:nth-child(3){

animation-delay:.3s;

}


.card:nth-child(4){

animation-delay:.45s;

}





@keyframes cardShow{

from{

opacity:0;

transform:translateY(30px);

}


to{

opacity:1;

transform:translateY(0);

}

}




.card:hover{

transform:translateY(-8px);

}





.card h3{

font-size:15px;

margin-bottom:15px;

}




.card p{

font-size:13px;

color:#aaa;

}





/* ===============================
SOBRE
================================ */



.sobre{

padding:90px 8%;

}





.sobre-top{

display:flex;

align-items:center;

justify-content:space-between;

gap:80px;

}




.texto{

width:45%;

}




.texto>span{

font-size:12px;

letter-spacing:4px;

color:#aaa;

}




.texto h2{

font-size:52px;

line-height:1;

margin:20px 0;

}




.texto h2 span{

color:red;

}




.texto p{

color:#bbb;

line-height:1.7;

margin-bottom:20px;

}





.imagem-equipa{

width:50%;

}




.imagem-equipa img{

width:100%;

height:350px;

object-fit:cover;

border-radius:15px;

filter:

brightness(0.85)

contrast(1.15)

saturate(1.1);

transition:.5s;

}




.imagem-equipa img:hover{

transform:scale(1.03);

}





/* ===============================
VALORES
================================ */


.valores{

display:flex;

gap:25px;

margin-top:60px;

}





.valores div{

flex:1;

background:#151515;

padding:30px;

border-top:2px solid red;

border-radius:10px;

transition:.3s;

}




.valores div:hover{

transform:translateY(-7px);

}




.valores h3{

margin-bottom:15px;

font-size:16px;

}





.valores p{

color:#aaa;

font-size:14px;

line-height:1.5;

}

/* ===============================
ESTATÍSTICAS
================================ */


.estatisticas{

padding:90px 8%;

}




.ranking-card{

width:50%;

background:#151515;

padding:45px;

border-radius:15px;

border-top:2px solid red;

text-align:center;

transition:.3s;

}



.ranking-card:hover{

transform:translateY(-8px);

}



.ranking-card h3{

font-size:18px;

margin-bottom:25px;

}



.ranking-card strong{

display:block;

font-size:55px;

color:white;

margin-bottom:15px;

}



.ranking-card p{

color:#aaa;

font-size:14px;

}






/* ===============================
TIMELINE
================================ */



.timeline{

padding:90px 8%;

}




.timeline-header{

text-align:center;

max-width:700px;

margin:auto;

}




.timeline-header span{

font-size:12px;

letter-spacing:4px;

color:#aaa;

}




.timeline-header h2{

font-size:60px;

line-height:1;

margin:20px 0;

}



.timeline-header h2 span{
    color:red;
    font-size:inherit;
}




.timeline-header p{

color:#bbb;

line-height:1.6;

}




.timeline-container{

position:relative;

margin-top:80px;

}




.timeline-container::before{

content:"";

position:absolute;

left:50%;

transform:translateX(-50%);

width:2px;

height:100%;

background:red;

}




.evento{

display:flex;

justify-content:flex-start;

width:100%;

position:relative;

margin-bottom:60px;

}




.evento:nth-child(even){

justify-content:flex-end;

}




.ponto{

position:absolute;

left:50%;

transform:translateX(-50%);

width:18px;

height:18px;

background:red;

border-radius:50%;

border:4px solid #080808;

z-index:2;

}




.evento-card{

width:42%;

background:#151515;

padding:30px;

border-radius:12px;

border-top:2px solid red;

transition:.3s;

}




.evento-card:hover{

transform:translateY(-8px);

}




.evento-card span{

font-size:12px;

letter-spacing:2px;

color:red;

font-weight:bold;

}




.evento-card h3{

margin:15px 0;

font-size:20px;

}




.evento-card p{

color:#aaa;

line-height:1.6;

font-size:14px;

}





/* ===============================
RECRUTAMENTO
================================ */


.recrutamento{

padding:90px 8%;

}




.recrutamento .timeline-header{

background:#151515;

padding:60px;

border-radius:15px;

border-top:2px solid red;

}



.recrutamento button{

margin-top:30px;

background:#e00000;

border:0;

padding:15px 30px;

color:white;

font-weight:bold;

border-radius:6px;

cursor:pointer;

transition:.3s;

}



.recrutamento button:hover{

transform:translateY(-4px);

background:#ff0000;

}






/* ===============================
CONTACTOS
================================ */


.contactos{

padding:90px 8%;

}





.contactos-box{

display:flex;

gap:25px;

margin-top:60px;

}



.contactos-box div{

flex:1;

background:#151515;

padding:30px;

border-radius:10px;

border-top:2px solid red;

transition:.3s;

}



.contactos-box div:hover{

transform:translateY(-8px);

}



.contactos-box h3{

margin-bottom:15px;

}




.contactos-box p{

color:#aaa;

font-size:14px;

}





/* ===============================
FOOTER
================================ */


footer{

text-align:center;

padding:25px;

background:#050505;

color:#777;

font-size:13px;

}






/* ===============================
RESPONSIVO
================================ */



@media(max-width:900px){


header{

padding:0 4%;

}



nav{

display:none;

}




.hero{

padding-left:5%;

}




.hero h1{

font-size:35px;

}



.cards{

flex-direction:column;

align-items:center;

}



.card{

width:90%;

}




.sobre-top{

flex-direction:column;

}



.texto,
.imagem-equipa,
.ranking-card{

width:100%;

}




.texto h2,
.timeline-header h2{

font-size:60px;

}




.valores{

flex-direction:column;

}




.timeline-container::before{

left:10px;

}



.evento,
.evento:nth-child(even){

justify-content:flex-start;

padding-left:40px;

}




.ponto{

left:10px;

}



.evento-card{

width:100%;

}




.contactos-box{

flex-direction:column;

}

}

.hierarquia{
    padding:60px 5%;
}

.hierarquia .valores{
    display:grid;
    grid-template-columns:repeat(3,1fr);
}

.uniformes,
.frota{
    padding:70px 8%;
}

.frota-container{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:25px;
    margin-top:50px;
}

.frota-card{
    background:#151515;
    border-top:2px solid red;
    border-radius:12px;
    overflow:hidden;
    transition:.3s;
}

.frota-card:hover{
    transform:translateY(-8px);
}

.frota-card img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
}

.frota-card h3{
    font-size:18px;
    padding:20px 20px 10px;
}

.frota-card p{
    color:#aaa;
    font-size:14px;
    line-height:1.6;
    padding:0 20px 20px;
}

@media(max-width:900px){
    .frota-container{
        grid-template-columns:1fr;
    }
}

.hierarquia,
.uniformes,
.frota{

    scroll-margin-top:100px;

}

.corporacao-intro{
    padding-top:70px;
    padding-bottom:70px;
}


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

.dropdown{

    position:relative;
    height:80px;
    display:flex;
    align-items:center;

}


.dropdown > a{

    display:flex;
    align-items:center;
    height:80px;

}



.dropdown-menu{

    position:absolute;

    top:80px;

    left:50%;

    transform:translateX(-50%);

    background:#151515;

    width:150px;

    padding:10px 0;

    border-radius:8px;

    border-top:2px solid red;

    opacity:0;

    visibility:hidden;

    transition:.2s;

    z-index:9999;

}



.dropdown-menu a{

    display:block;

    padding:10px 15px;

    color:#aaa;

    font-size:12px;

}



.dropdown-menu a:hover{

    color:white;

    background:#222;

}



.dropdown:hover .dropdown-menu{

    opacity:1;

    visibility:visible;

}
/* ===============================
ATUALIZAÇÕES
================================ */


.titulo{

    text-align:center;

    padding:90px 8% 50px;

}



.titulo span{

    font-size:12px;

    letter-spacing:4px;

    color:#aaa;

}



.titulo h1{

    font-size:52px;

    line-height:1;

    margin:20px 0;

}



.titulo strong{

    color:red;

}



.titulo p{

    color:#aaa;

    line-height:1.6;

    max-width:700px;

    margin:auto;

}



/* ===============================
NOTÍCIAS
================================ */


.noticias{

    width:85%;

    margin:auto;

    display:flex;

    flex-direction:column;

    gap:50px;

    padding-bottom:90px;

}



.noticia{

    background:#151515;

    border-radius:15px;

    overflow:hidden;

    border-top:2px solid red;

    transition:.4s;

    padding-bottom:20px;

}



.noticia:hover{

    transform:translateY(-8px);

}



.noticia img{

    width:100%;

    height:380px;

    object-fit:cover;

}



/* ===============================
CONTEÚDO NOTÍCIA
================================ */


.conteudo{

    padding:45px 55px;

}



.conteudo span{

    font-size:12px;

    letter-spacing:3px;

    color:red;

    font-weight:bold;

}



.conteudo h2{

    font-size:36px;

    margin:25px 0;

}



.conteudo p{

    max-width:900px;

    font-size:16px;

    line-height:1.9;

    color:#ddd;

}



/* ===============================
VIDEO
================================ */


.video{

    margin-top:40px;

    position:relative;

    width:100%;

    padding-top:56.25%;

    border:1px solid rgba(255,0,0,.25);

    border-radius:15px;

    overflow:hidden;

}



.video iframe{

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:100%;

    border:0;

    border-radius:12px;

}

/* ===============================
PROCESSO RECRUTAMENTO
================================ */


.processo{

    padding:40px 8% 90px;

}



.cards-processo{

    width:85%;

    margin:auto;

    display:grid;

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

    gap:25px;

}



.card-processo{

    background:#151515;

    border-radius:12px;

    padding:30px;

    border-top:2px solid red;

    transition:.3s;

}



.card-processo:hover{

    transform:translateY(-8px);

}



.card-processo h3{

    font-size:18px;

    margin-bottom:15px;

}



.card-processo p{

    color:#aaa;

    line-height:1.6;

    font-size:14px;

}





@media(max-width:900px){


.cards-processo{

    grid-template-columns:1fr;

}


}

/* ===============================
BENEFÍCIOS
================================ */


.beneficios{

    padding:80px 8%;

}



.beneficios-header{

    text-align:center;

    margin-bottom:50px;

}



.beneficios-header span{

    font-size:12px;

    letter-spacing:4px;

    color:#aaa;

}



.beneficios-header h1{

    font-size:52px;

    line-height:1;

    margin:20px 0;

}



.beneficios-header strong{

    color:red;

}



.beneficios-header p{

    color:#aaa;

    line-height:1.6;

}



.cards-beneficios{

    display:flex;

    justify-content:center;

    gap:20px;

}



.card-beneficio{

    background:#151515;

    border-top:2px solid red;

    border-radius:10px;

    padding:35px;

    width:32%;

    min-height:160px;

}



.card-beneficio h3{

    margin-bottom:15px;

}



.card-beneficio p{

    color:#ccc;

    line-height:1.6;

}
/* =========================================================
   MEDICAL CENTER — REDESIGN GLOBAL 2026
   Visual: dark cinematic / premium RP / red accents
   Mantém as classes e HTML atuais.
========================================================= */

:root{
    --mc-bg:#070707;
    --mc-bg-soft:#0c0c0d;
    --mc-panel:#111214;
    --mc-panel-2:#161719;
    --mc-red:#ef1717;
    --mc-red-2:#b90d0d;
    --mc-text:#f5f5f5;
    --mc-muted:#a9a9ad;
    --mc-line:rgba(255,255,255,.08);
    --mc-red-line:rgba(239,23,23,.35);
    --mc-shadow:0 22px 60px rgba(0,0,0,.35);
    --mc-radius:18px;
    --mc-max:1280px;
}

*{
    scrollbar-width:thin;
    scrollbar-color:#3b3b3d #0a0a0b;
}

html{
    scroll-behavior:smooth;
    scroll-padding-top:96px;
}

body{
    background:
        radial-gradient(circle at 15% 0%, rgba(140,0,0,.10), transparent 28%),
        radial-gradient(circle at 85% 18%, rgba(120,0,0,.07), transparent 25%),
        var(--mc-bg);
    color:var(--mc-text);
    padding-top:76px;
    overflow-x:hidden;
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-1;
    background-image:
        linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.01) 1px, transparent 1px);
    background-size:44px 44px;
    mask-image:linear-gradient(to bottom, rgba(0,0,0,.35), transparent 70%);
}

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

header{
    height:76px;
    padding:0 clamp(28px,6vw,92px);
    background:rgba(6,6,7,.88);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(239,23,23,.20);
    box-shadow:0 8px 30px rgba(0,0,0,.22);
    animation:none;
}

.logo{
    gap:12px;
}

.logo img{
    width:54px;
    filter:drop-shadow(0 0 10px rgba(255,255,255,.05));
}

.logo img:hover{
    transform:none;
}

.logo h2{
    font-size:20px;
    letter-spacing:.2px;
}

.logo span{
    display:block;
    margin-top:3px;
    font-size:9px;
    letter-spacing:.4px;
    color:#85858a;
}

nav{
    height:76px;
    gap:34px;
}

nav a{
    position:relative;
    font-size:12px;
    color:#a6a6aa;
    font-weight:500;
}

nav > a::after,
.dropdown > a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-12px;
    width:0;
    height:2px;
    background:var(--mc-red);
    transform:translateX(-50%);
    transition:.25s ease;
}

nav > a:hover::after,
nav > a.ativo::after,
.dropdown:hover > a::after{
    width:22px;
}

nav .ativo{
    color:#fff;
}

header button{
    padding:12px 22px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:7px;
    background:linear-gradient(135deg,var(--mc-red),#c50d0d);
    box-shadow:0 8px 20px rgba(180,0,0,.16);
    font-size:12px;
    letter-spacing:.1px;
}

header button:hover{
    transform:translateY(-2px);
    background:linear-gradient(135deg,#ff2424,#d70d0d);
    box-shadow:0 12px 28px rgba(190,0,0,.24);
}

.dropdown{
    height:76px;
}

.dropdown > a{
    height:76px;
}

.dropdown-menu{
    top:70px;
    width:180px;
    padding:8px;
    background:rgba(17,18,20,.98);
    border:1px solid rgba(255,255,255,.08);
    border-top:2px solid var(--mc-red);
    border-radius:10px;
    box-shadow:0 20px 45px rgba(0,0,0,.45);
    transform:translateX(-50%) translateY(8px);
}

.dropdown:hover .dropdown-menu{
    transform:translateX(-50%) translateY(0);
}

.dropdown-menu a{
    padding:11px 12px;
    border-radius:6px;
    color:#b8b8bc;
    font-size:12px;
}

.dropdown-menu a:hover{
    color:#fff;
    background:rgba(239,23,23,.10);
}

/* ===============================
TÍTULOS / LABELS
================================ */

.timeline-header,
.titulo{
    max-width:820px;
}

.timeline-header > span,
.titulo > span,
.texto > span,
.beneficios-header > span{
    color:#e74b4b;
    font-size:11px;
    font-weight:700;
    letter-spacing:4px;
}

.timeline-header h2,
.titulo h1,
.texto h2,
.beneficios-header h1{
    color:#f7f7f8;
    letter-spacing:-1.5px;
}

.timeline-header h2 span,
.titulo strong,
.texto h2 span,
.beneficios-header strong{
    color:var(--mc-red);
}

.timeline-header p,
.titulo p,
.texto p,
.beneficios-header p{
    color:var(--mc-muted);
}

/* ===============================
HOME — HERO CINEMÁTICO
================================ */

.hero{
    min-height:620px;
    height:auto;
    padding:90px clamp(28px,7vw,110px);
    background:
        linear-gradient(90deg, rgba(4,4,5,.98) 0%, rgba(4,4,5,.86) 34%, rgba(4,4,5,.28) 72%, rgba(4,4,5,.10) 100%),
        linear-gradient(0deg, rgba(7,7,7,.65), transparent 35%),
        url("imagens/home.png");
    background-size:cover;
    background-position:center;
    position:relative;
    isolation:isolate;
}

.hero::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:110px;
    background:linear-gradient(transparent,var(--mc-bg));
    z-index:-1;
}

.hero-text{
    max-width:700px;
    animation:none;
}

.hero h1{
    max-width:720px;
    font-size:clamp(44px,5.3vw,72px);
    line-height:.98;
    letter-spacing:-2.4px;
    margin-bottom:24px;
}

.hero p{
    max-width:620px;
    font-size:17px;
    line-height:1.65;
    color:#c4c4c8;
}

.botoes{
    margin-top:34px;
    gap:14px;
}

.botoes button{
    min-width:190px;
    padding:15px 24px;
    border-radius:7px;
    background:linear-gradient(135deg,var(--mc-red),#c90e0e);
    border:1px solid rgba(255,255,255,.08);
    font-weight:700;
    letter-spacing:.15px;
}

.botoes button:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(170,0,0,.22);
}

.discord{
    background:rgba(12,12,13,.70)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    backdrop-filter:blur(10px);
}

/* ===============================
HOME — CARDS PRINCIPAIS
================================ */

.cards{
    max-width:var(--mc-max);
    margin:-48px auto 0;
    padding:0 clamp(24px,4vw,48px) 70px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    position:relative;
    z-index:5;
}

.card{
    width:auto;
    min-height:150px;
    padding:28px;
    background:linear-gradient(145deg,rgba(23,24,26,.96),rgba(13,14,15,.98));
    border:1px solid var(--mc-line);
    border-top:1px solid var(--mc-red-line);
    border-radius:14px;
    box-shadow:0 18px 40px rgba(0,0,0,.22);
    opacity:1;
    animation:none;
}

.card:hover{
    transform:translateY(-6px);
    border-color:rgba(239,23,23,.42);
}

.card h3{
    font-size:15px;
    margin-bottom:12px;
}

.card p{
    line-height:1.55;
}

/* ===============================
SECÇÕES BASE
================================ */

.sobre,
.estatisticas,
.timeline,
.recrutamento,
.contactos,
.hierarquia,
.uniformes,
.frota,
.processo,
.beneficios{
    max-width:var(--mc-max);
    margin:0 auto;
    padding-left:clamp(28px,5vw,70px);
    padding-right:clamp(28px,5vw,70px);
}

.sobre,
.estatisticas,
.timeline,
.recrutamento,
.contactos{
    padding-top:90px;
    padding-bottom:90px;
}

.sobre-top{
    gap:70px;
}

.texto h2{
    font-size:clamp(42px,4.6vw,62px);
}

.imagem-equipa img{
    height:390px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:var(--mc-shadow);
    filter:brightness(.78) contrast(1.10) saturate(.92);
}

.imagem-equipa img:hover{
    transform:scale(1.015);
}

/* ===============================
CARDS GLOBAIS — VALORES / CONTACTOS
================================ */

.valores,
.contactos-box{
    gap:20px;
}

.valores div,
.contactos-box div{
    background:linear-gradient(145deg,var(--mc-panel-2),#0f1011);
    border:1px solid var(--mc-line);
    border-top:1px solid var(--mc-red-line);
    border-radius:14px;
    padding:32px;
    box-shadow:0 16px 35px rgba(0,0,0,.14);
}

.valores div:hover,
.contactos-box div:hover{
    transform:translateY(-6px);
    border-color:rgba(239,23,23,.38);
}

.valores h3,
.contactos-box h3{
    font-size:16px;
}

.valores p,
.contactos-box p{
    color:var(--mc-muted);
    line-height:1.65;
}

/* ===============================
ESTATÍSTICAS
================================ */

.ranking-card{
    background:
        radial-gradient(circle at 50% 0%, rgba(150,0,0,.14), transparent 55%),
        linear-gradient(145deg,var(--mc-panel-2),#0e0f10);
    border:1px solid var(--mc-line);
    border-top:1px solid var(--mc-red-line);
    border-radius:16px;
    padding:52px 44px;
    box-shadow:var(--mc-shadow);
}

.ranking-card strong{
    font-size:clamp(44px,5vw,68px);
    letter-spacing:-2px;
}

/* ===============================
CORPORAÇÃO
================================ */

.corporacao-intro{
    padding-top:95px;
    padding-bottom:100px;
}

.hierarquia{
    padding-top:85px;
    padding-bottom:95px;
}

.hierarquia .valores{
    gap:20px;
}

.uniformes,
.frota{
    padding-top:95px;
    padding-bottom:100px;
}

.frota-container{
    gap:22px;
    margin-top:55px;
}

.frota-card{
    background:linear-gradient(150deg,#17181a,#0e0f10);
    border:1px solid var(--mc-line);
    border-top:1px solid var(--mc-red-line);
    border-radius:14px;
    box-shadow:0 18px 42px rgba(0,0,0,.18);
}

.frota-card:hover{
    transform:translateY(-7px);
    border-color:rgba(239,23,23,.42);
}

.frota-card img{
    height:235px;
    filter:brightness(.88) contrast(1.06) saturate(.92);
    transition:.35s ease;
}

.frota-card:hover img{
    transform:scale(1.025);
    filter:brightness(.98) contrast(1.08) saturate(1);
}

.frota-card h3{
    font-size:17px;
    padding:22px 22px 9px;
}

.frota-card p{
    padding:0 22px 24px;
    color:var(--mc-muted);
}

/* ===============================
ATUALIZAÇÕES
================================ */

.titulo{
    padding:95px 8% 58px;
    margin:0 auto;
}

.titulo h1{
    font-size:clamp(44px,4.8vw,64px);
    letter-spacing:-1.8px;
}

.noticias{
    max-width:1160px;
    width:calc(100% - 56px);
    gap:42px;
}

.noticia{
    padding-bottom:0;
    background:linear-gradient(145deg,#17181a,#0e0f10);
    border:1px solid var(--mc-line);
    border-top:1px solid var(--mc-red-line);
    border-radius:16px;
    box-shadow:var(--mc-shadow);
}

.noticia:hover{
    transform:translateY(-5px);
    border-color:rgba(239,23,23,.35);
}

.noticia img{
    height:430px;
    filter:brightness(.86) contrast(1.05) saturate(.92);
}

.conteudo{
    padding:46px 50px 52px;
}

.conteudo span{
    color:#e94a4a;
    font-size:11px;
}

.conteudo h2{
    font-size:clamp(30px,3vw,42px);
    letter-spacing:-1px;
}

.conteudo p{
    color:#c2c2c6;
}

.video{
    border:1px solid var(--mc-line);
    box-shadow:0 18px 45px rgba(0,0,0,.25);
}

/* ===============================
RECRUTAMENTO — NOVA LINGUAGEM VISUAL
================================ */

.requisitos,
.processo,
.beneficios{
    max-width:var(--mc-max);
    margin:0 auto;
}

.requisitos{
    width:calc(100% - 56px);
    padding:78px clamp(28px,5vw,70px);
    background:linear-gradient(145deg,rgba(20,21,23,.72),rgba(10,11,12,.82));
    border:1px solid var(--mc-line);
    border-radius:18px;
    box-shadow:var(--mc-shadow);
}

.requisitos .timeline-header{
    max-width:780px;
}

.processo{
    padding-top:105px;
    padding-bottom:105px;
}

.cards-processo{
    width:100%;
    gap:0;
    border:1px solid var(--mc-line);
    border-radius:16px;
    overflow:hidden;
    background:rgba(14,15,16,.72);
}

.card-processo{
    min-height:220px;
    padding:36px 30px;
    background:transparent;
    border:0;
    border-radius:0;
    border-right:1px solid var(--mc-line);
}

.card-processo:last-child{
    border-right:0;
}

.card-processo:hover{
    transform:none;
    background:rgba(239,23,23,.045);
}

.card-processo h3{
    font-size:17px;
}

.card-processo p{
    color:var(--mc-muted);
}

.beneficios{
    padding-top:90px;
    padding-bottom:115px;
}

.beneficios-header{
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
}

.cards-beneficios{
    gap:20px;
}

.card-beneficio{
    min-height:220px;
    width:100%;
    background:linear-gradient(145deg,var(--mc-panel-2),#0e0f10);
    border:1px solid var(--mc-line);
    border-top:1px solid var(--mc-red-line);
    border-radius:14px;
    text-align:center;
    transition:.3s ease;
}

.card-beneficio:hover{
    transform:translateY(-6px);
    border-color:rgba(239,23,23,.40);
}

/* ===============================
HOME — RECRUTAMENTO / CONTACTOS
================================ */

.recrutamento .timeline-header{
    background:
        radial-gradient(circle at 50% 0%, rgba(160,0,0,.13), transparent 52%),
        linear-gradient(145deg,var(--mc-panel-2),#0e0f10);
    border:1px solid var(--mc-line);
    border-top:1px solid var(--mc-red-line);
    border-radius:18px;
    box-shadow:var(--mc-shadow);
}

.recrutamento button{
    background:linear-gradient(135deg,var(--mc-red),#c90e0e);
    border:1px solid rgba(255,255,255,.08);
}

/* ===============================
TIMELINE
================================ */

.timeline-container::before{
    width:1px;
    background:linear-gradient(var(--mc-red),rgba(239,23,23,.15));
}

.ponto{
    background:var(--mc-red);
    box-shadow:0 0 0 5px rgba(239,23,23,.08);
}

.evento-card{
    background:linear-gradient(145deg,var(--mc-panel-2),#0f1011);
    border:1px solid var(--mc-line);
    border-top:1px solid var(--mc-red-line);
    border-radius:14px;
}

/* ===============================
FOOTER
================================ */

footer{
    margin-top:20px;
    padding:34px 24px;
    background:#050506;
    border-top:1px solid rgba(255,255,255,.055);
    color:#66666b;
    font-size:12px;
    letter-spacing:.2px;
}

/* ===============================
RESPONSIVO — REDESIGN
================================ */

@media(max-width:1050px){
    header{
        padding:0 4%;
    }

    nav{
        gap:22px;
    }

    .cards{
        grid-template-columns:repeat(2,1fr);
        margin-top:0;
        padding-top:35px;
    }

    .hierarquia .valores,
    .frota-container{
        grid-template-columns:repeat(2,1fr);
    }

    .cards-processo{
        grid-template-columns:repeat(2,1fr);
    }

    .card-processo:nth-child(2){
        border-right:0;
    }

    .card-processo:nth-child(-n+2){
        border-bottom:1px solid var(--mc-line);
    }
}

@media(max-width:900px){
    body{
        padding-top:72px;
    }

    header{
        height:72px;
    }

    .logo img{
        width:47px;
    }

    .logo h2{
        font-size:17px;
    }

    header button{
        padding:10px 15px;
        font-size:11px;
    }

    .hero{
        min-height:560px;
        padding:75px 6% 65px;
        background-position:center;
    }

    .hero h1{
        font-size:44px;
    }

    .hero p{
        font-size:15px;
    }

    .cards{
        grid-template-columns:1fr;
    }

    .sobre,
    .estatisticas,
    .timeline,
    .recrutamento,
    .contactos,
    .hierarquia,
    .uniformes,
    .frota,
    .processo,
    .beneficios{
        padding-left:6%;
        padding-right:6%;
    }

    .sobre-top{
        gap:38px;
    }

    .imagem-equipa img{
        height:300px;
    }

    .hierarquia .valores,
    .frota-container,
    .cards-processo{
        grid-template-columns:1fr;
    }

    .card-processo{
        border-right:0;
        border-bottom:1px solid var(--mc-line);
    }

    .card-processo:last-child{
        border-bottom:0;
    }

    .cards-beneficios{
        display:grid;
        grid-template-columns:1fr;
    }

    .card-beneficio{
        width:100%;
    }

    .noticia img{
        height:270px;
    }

    .conteudo{
        padding:30px 26px 36px;
    }
}

@media(max-width:620px){
    .hero h1{
        font-size:38px;
    }

    .botoes{
        flex-direction:column;
        align-items:stretch;
    }

    .botoes button{
        width:100%;
    }

    .timeline-header h2,
    .texto h2,
    .titulo h1,
    .beneficios-header h1{
        font-size:38px;
    }

    .requisitos{
        width:calc(100% - 28px);
        padding:54px 22px;
    }

    .noticias{
        width:calc(100% - 28px);
    }
}

/* =========================================================
PROCESSO DE RECRUTAMENTO — NOVO ESTILO
========================================================= */

.processo{

    padding:100px 8%;

    border-top:1px solid rgba(255,255,255,.04);

}


.processo-topo{

    max-width:580px;

    margin-bottom:65px;

}


.processo-topo > span{

    color:#ff2525;

    font-size:11px;

    font-weight:bold;

    letter-spacing:4px;

}


.processo-topo h2{

    font-size:48px;

    line-height:1;

    margin:15px 0 20px;

}


.processo-topo h2 strong{

    color:#ff2020;

}


.processo-topo p{

    color:#999;

    font-size:14px;

    line-height:1.7;

}



/* LINHA DAS ETAPAS */

.processo-linha{

    display:grid;

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

    gap:0;

}


.etapa{

    position:relative;

    padding:0 35px;

    min-height:230px;

}


.etapa:first-child{

    padding-left:0;

}


.etapa:last-child{

    padding-right:0;

}



/* linha entre as etapas */

.etapa:not(:last-child)::after{

    content:"";

    position:absolute;

    top:33px;

    left:72px;

    width:calc(100% - 85px);

    height:1px;

    background:linear-gradient(
        90deg,
        rgba(255,0,0,.5),
        rgba(255,255,255,.08)
    );

}



/* círculo */

.etapa-icone{

    width:66px;
    height:66px;

    border:1px solid rgba(255,255,255,.25);

    border-radius:50%;

    display:flex;

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

    font-size:24px;

    background:#0d0d0d;

    position:relative;

    z-index:2;

    margin-bottom:20px;

    transition:.3s;

}


.etapa:hover .etapa-icone{

    border-color:red;

    transform:translateY(-4px);

    box-shadow:0 0 25px rgba(255,0,0,.15);

}


.etapa > span{

    display:block;

    color:red;

    font-size:11px;

    letter-spacing:2px;

    margin-bottom:8px;

}


.etapa h3{

    font-size:18px;

    margin-bottom:12px;

}


.etapa p{

    color:#888;

    font-size:13px;

    line-height:1.7;

    max-width:230px;

}



/* =========================================================
CTA FINAL
========================================================= */

.cta-recrutamento{

    min-height:340px;

    display:flex;

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

    text-align:center;

    padding:70px 8%;

    position:relative;

    background:

        linear-gradient(
            90deg,
            rgba(5,5,5,.96),
            rgba(5,5,5,.78),
            rgba(5,5,5,.96)
        ),

        url("imagens/equipa.png");

    background-size:cover;

    background-position:center;

    border-top:1px solid rgba(255,0,0,.12);

    border-bottom:1px solid rgba(255,0,0,.12);

}


.cta-conteudo{

    position:relative;

    z-index:2;

}


.cta-conteudo > span{

    font-size:11px;

    letter-spacing:5px;

    color:#aaa;

}


.cta-conteudo h2{

    font-size:48px;

    margin:15px 0 12px;

}


.cta-conteudo h2 strong{

    color:#ff2020;

}


.cta-conteudo p{

    color:#aaa;

    margin-bottom:30px;

}


.cta-conteudo button{

    border:0;

    background:#e71919;

    color:white;

    padding:16px 28px;

    border-radius:6px;

    font-weight:bold;

    cursor:pointer;

    display:inline-flex;

    align-items:center;

    gap:25px;

    transition:.3s;

}


.cta-conteudo button:hover{

    background:#ff2020;

    transform:translateY(-4px);

    box-shadow:0 12px 35px rgba(255,0,0,.18);

}



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

@media(max-width:900px){

    .processo{

        padding:70px 7%;

    }


    .processo-topo h2{

        font-size:38px;

    }


    .processo-linha{

        grid-template-columns:1fr;

        gap:45px;

    }


    .etapa{

        padding:0;

        min-height:auto;

        padding-left:90px;

    }


    .etapa-icone{

        position:absolute;

        left:0;

        top:0;

    }


    .etapa:not(:last-child)::after{

        top:65px;

        left:32px;

        width:1px;

        height:calc(100% + 45px);

    }


    .cta-recrutamento{

        min-height:380px;

        padding:60px 7%;

    }


    .cta-conteudo h2{

        font-size:38px;

    }

}

/* =========================================================
HIERARQUIA — NOVO ESTILO
========================================================= */


.hierarquia{

    padding:110px 8%;

    background:

        radial-gradient(
            circle at 85% 50%,
            rgba(110,0,0,.10),
            transparent 40%
        ),

        #080808;

    border-top:1px solid rgba(255,255,255,.04);

}



/* ===============================
LAYOUT PRINCIPAL
================================ */

.hierarquia-layout{

    max-width:1250px;

    margin:auto;

    display:grid;

    grid-template-columns:340px 1fr;

    gap:85px;

    align-items:start;

}



/* ===============================
INTRO
================================ */

.hierarquia-intro{

    position:sticky;

    top:130px;

}


.hierarquia-intro > span{

    color:#ff2424;

    font-size:11px;

    font-weight:bold;

    letter-spacing:4px;

}


.hierarquia-intro h2{

    font-size:48px;

    line-height:1;

    margin:18px 0 25px;

}


.hierarquia-intro h2 strong{

    color:#ff2020;

}


.hierarquia-intro > p{

    color:#999;

    font-size:14px;

    line-height:1.8;

    margin-bottom:18px;

}



/* INFO 07 NÍVEIS */

.hierarquia-info{

    margin-top:40px;

    padding-top:25px;

    border-top:1px solid rgba(255,255,255,.08);

    display:flex;

    align-items:center;

    gap:18px;

}


.hierarquia-info > span{

    font-size:42px;

    font-weight:800;

    color:#ff2020;

}


.hierarquia-info strong{

    font-size:14px;

}


.hierarquia-info p{

    color:#666;

    font-size:11px;

    margin-top:5px;

}



/* ===============================
ESTRUTURA
================================ */

.hierarquia-estrutura{

    position:relative;

}



/* ===============================
NÍVEL
================================ */

.nivel{

    position:relative;

    display:flex;

    gap:22px;

    padding:28px;

    background:

        linear-gradient(
            145deg,
            rgba(255,255,255,.035),
            rgba(255,255,255,.012)
        );

    border:1px solid rgba(255,255,255,.08);

    border-radius:12px;

    transition:.3s;

}


.nivel:hover{

    transform:translateY(-4px);

    border-color:rgba(255,0,0,.38);

    background:

        linear-gradient(
            145deg,
            rgba(255,0,0,.045),
            rgba(255,255,255,.015)
        );

}



/* FUNDAÇÃO */

.nivel-fundacao{

    width:70%;

    margin:auto;

    border-color:rgba(255,0,0,.28);

    background:

        linear-gradient(
            135deg,
            rgba(120,0,0,.16),
            rgba(255,255,255,.018)
        );

}



/* DUAS COLUNAS */

.nivel-linha{

    display:grid;

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

    gap:20px;

}



/* ===============================
NÚMERO
================================ */

.nivel-numero{

    min-width:40px;

    height:40px;

    border:1px solid rgba(255,0,0,.45);

    color:#ff2424;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    font-size:11px;

    font-weight:bold;

    letter-spacing:1px;

}



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

.nivel-conteudo small{

    color:#666;

    font-size:9px;

    letter-spacing:3px;

}


.nivel-conteudo h3{

    font-size:17px;

    margin:8px 0 10px;

}


.nivel-conteudo p{

    color:#888;

    font-size:12px;

    line-height:1.7;

}



/* ===============================
LIGAÇÃO ENTRE NÍVEIS
================================ */

.linha-hierarquia{

    width:1px;

    height:35px;

    margin:auto;

    background:

        linear-gradient(
            #ff2020,
            rgba(255,0,0,.08)
        );

}



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

@media(max-width:900px){


    .hierarquia{

        padding:75px 7%;

    }


    .hierarquia-layout{

        grid-template-columns:1fr;

        gap:55px;

    }


    .hierarquia-intro{

        position:static;

    }


    .hierarquia-intro h2{

        font-size:38px;

    }


    .nivel-fundacao{

        width:100%;

    }


    .nivel-linha{

        grid-template-columns:1fr;

    }


    .linha-hierarquia{

        height:25px;

    }


}

/* =========================================================
UNIFORMES OFICIAIS — NOVO ESTILO
========================================================= */


.uniformes-novos{

    padding:110px 8%;

    background:

        radial-gradient(
            circle at 15% 40%,
            rgba(120,0,0,.09),
            transparent 35%
        ),

        #080808;

    border-top:1px solid rgba(255,255,255,.04);

    scroll-margin-top:100px;

}



/* ===============================
CABEÇALHO
================================ */

.uniformes-header{

    max-width:1250px;

    margin:0 auto 80px;

}


.uniformes-header > span{

    color:#ff2424;

    font-size:11px;

    font-weight:bold;

    letter-spacing:4px;

}


.uniformes-header h2{

    font-size:52px;

    line-height:.95;

    margin:18px 0 22px;

}


.uniformes-header h2 strong{

    color:#ff2020;

}


.uniformes-header p{

    color:#999;

    max-width:560px;

    font-size:14px;

    line-height:1.8;

}



/* ===============================
BLOCO UNIFORME
================================ */

.uniforme-item{

    max-width:1250px;

    margin:0 auto 90px;

    display:grid;

    grid-template-columns:1.15fr .85fr;

    gap:75px;

    align-items:center;

}


.uniforme-item:last-child{

    margin-bottom:0;

}



/* alternar imagem/texto */

.uniforme-invertido .uniforme-imagem{

    order:2;

}


.uniforme-invertido .uniforme-info{

    order:1;

}



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

.uniforme-imagem{

    position:relative;

}


.uniforme-imagem::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:14px;

    background:

        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.22)
        );

    pointer-events:none;

}


.uniforme-imagem img{

    width:100%;

    height:390px;

    object-fit:cover;

    display:block;

    border-radius:14px;

    border:1px solid rgba(255,255,255,.08);

    filter:
        brightness(.90)
        contrast(1.08);

    transition:.4s;

}


.uniforme-item:hover .uniforme-imagem img{

    transform:scale(1.015);

    border-color:rgba(255,0,0,.30);

}



/* número grande */

.uniforme-numero{

    position:absolute;

    top:-25px;

    left:-25px;

    z-index:3;

    width:65px;

    height:65px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#0b0b0b;

    border:1px solid rgba(255,0,0,.45);

    border-radius:50%;

    color:#ff2020;

    font-size:13px;

    font-weight:bold;

    letter-spacing:2px;

}



/* ===============================
TEXTO
================================ */

.uniforme-info{

    max-width:450px;

}


.uniforme-info > span{

    color:#ff2424;

    font-size:10px;

    font-weight:bold;

    letter-spacing:4px;

}


.uniforme-info h3{

    font-size:42px;

    line-height:1;

    margin:16px 0 25px;

}


.uniforme-info h3 strong{

    display:block;

    color:#ff2020;

}


.uniforme-info > p{

    color:#999;

    font-size:14px;

    line-height:1.85;

}



/* detalhe inferior */

.uniforme-detalhe{

    display:flex;

    align-items:center;

    gap:14px;

    margin-top:30px;

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,.08);

}


.uniforme-detalhe > span{

    width:34px;

    height:2px;

    background:#ff2020;

}


.uniforme-detalhe p{

    color:#666;

    font-size:10px;

    text-transform:uppercase;

    letter-spacing:2px;

}



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

@media(max-width:900px){


    .uniformes-novos{

        padding:75px 7%;

    }


    .uniformes-header{

        margin-bottom:60px;

    }


    .uniformes-header h2{

        font-size:40px;

    }


    .uniforme-item{

        grid-template-columns:1fr;

        gap:35px;

        margin-bottom:75px;

    }


    .uniforme-invertido .uniforme-imagem,
    .uniforme-invertido .uniforme-info{

        order:initial;

    }


    .uniforme-imagem img{

        height:300px;

    }


    .uniforme-numero{

        top:-18px;

        left:-10px;

        width:55px;

        height:55px;

    }


    .uniforme-info h3{

        font-size:34px;

    }

}

/* =========================================================
FROTA OPERACIONAL — PREMIUM
========================================================= */


.frota-premium{

    padding:110px 8%;

    background:

        radial-gradient(
            circle at 80% 15%,
            rgba(130,0,0,.11),
            transparent 35%
        ),

        #070707;

    border-top:1px solid rgba(255,255,255,.04);

    scroll-margin-top:100px;

}



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

.frota-premium-header{

    max-width:1250px;

    margin:0 auto 70px;

    display:flex;

    align-items:flex-end;

    justify-content:space-between;

    gap:60px;

}


.frota-premium-header > div > span{

    color:#ff2424;

    font-size:11px;

    font-weight:bold;

    letter-spacing:4px;

}


.frota-premium-header h2{

    font-size:52px;

    line-height:.95;

    margin-top:18px;

}


.frota-premium-header h2 strong{

    color:#ff2020;

}


.frota-premium-header > p{

    max-width:430px;

    color:#888;

    font-size:14px;

    line-height:1.8;

}



/* =========================================================
VTR DESTAQUE
========================================================= */

.vtr-destaque{

    max-width:1250px;

    margin:0 auto 65px;

    display:grid;

    grid-template-columns:1.55fr .75fr;

    background:

        linear-gradient(
            135deg,
            rgba(255,255,255,.035),
            rgba(255,255,255,.01)
        );

    border:1px solid rgba(255,255,255,.08);

    border-radius:16px;

    overflow:hidden;

}



/* IMAGEM */

.vtr-destaque-imagem{

    position:relative;

    overflow:hidden;

}


.vtr-destaque-imagem img{

    display:block;

    width:100%;

    height:440px;

    object-fit:cover;

    transition:.5s;

}


.vtr-destaque:hover img{

    transform:scale(1.025);

}



/* OVERLAY */

.vtr-destaque-imagem::after{

    content:"";

    position:absolute;

    inset:0;

    background:

        linear-gradient(
            90deg,
            transparent 65%,
            rgba(0,0,0,.30)
        );

    pointer-events:none;

}



/* 01 */

.vtr-indice{

    position:absolute;

    top:25px;

    left:25px;

    z-index:2;

    width:54px;
    height:54px;

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

    border-radius:50%;

    background:rgba(5,5,5,.82);

    border:1px solid rgba(255,0,0,.55);

    color:#ff2020;

    font-size:11px;

    font-weight:bold;

}



/* TAG */

.vtr-tag{

    position:absolute;

    left:25px;

    bottom:25px;

    z-index:2;

    background:#e71919;

    padding:9px 14px;

    border-radius:4px;

    font-size:9px;

    font-weight:bold;

    letter-spacing:2px;

}



/* TEXTO */

.vtr-destaque-info{

    padding:50px 42px;

    display:flex;

    flex-direction:column;

    justify-content:center;

}


.vtr-destaque-info > span{

    color:#ff2020;

    font-size:10px;

    font-weight:bold;

    letter-spacing:4px;

}


.vtr-destaque-info h3{

    font-size:40px;

    line-height:1;

    margin:15px 0 24px;

}


.vtr-destaque-info h3 strong{

    display:block;

    color:#ff2020;

}


.vtr-destaque-info > p{

    color:#999;

    line-height:1.8;

    font-size:13px;

}



/* MINI SPECS */

.vtr-linha-info{

    margin-top:35px;

    padding-top:25px;

    border-top:1px solid rgba(255,255,255,.08);

    display:grid;

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

    gap:15px;

}


.vtr-linha-info small{

    display:block;

    color:#555;

    font-size:8px;

    letter-spacing:2px;

    margin-bottom:7px;

}


.vtr-linha-info strong{

    font-size:12px;

    color:#ccc;

}



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

.frota-grid{

    max-width:1250px;

    margin:auto;

    display:grid;

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

    gap:22px;

}



/* CARD */

.vtr-card{

    background:

        linear-gradient(
            145deg,
            rgba(255,255,255,.03),
            rgba(255,255,255,.01)
        );

    border:1px solid rgba(255,255,255,.08);

    border-radius:14px;

    overflow:hidden;

    transition:.3s;

}


.vtr-card:hover{

    transform:translateY(-6px);

    border-color:rgba(255,0,0,.35);

}



/* IMAGEM */

.vtr-card-imagem{

    position:relative;

    overflow:hidden;

}


.vtr-card-imagem img{

    width:100%;

    height:270px;

    display:block;

    object-fit:cover;

    filter:
        brightness(.88)
        contrast(1.05);

    transition:.4s;

}


.vtr-card:hover .vtr-card-imagem img{

    transform:scale(1.03);

}



/* NÚMERO */

.vtr-card-imagem span{

    position:absolute;

    top:18px;

    left:18px;

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(0,0,0,.78);

    border:1px solid rgba(255,0,0,.5);

    color:#ff2020;

    font-size:10px;

    font-weight:bold;

}



/* CONTEÚDO */

.vtr-card-conteudo{

    padding:28px;

}


.vtr-card-conteudo small{

    color:#ff2020;

    font-size:9px;

    font-weight:bold;

    letter-spacing:3px;

}


.vtr-card-conteudo h3{

    font-size:22px;

    margin:10px 0 12px;

}


.vtr-card-conteudo p{

    color:#888;

    font-size:12px;

    line-height:1.7;

}



/* DODGE OCUPA LARGURA TODA */

.vtr-card-largo{

    grid-column:1 / -1;

    display:grid;

    grid-template-columns:1.3fr .7fr;

}


.vtr-card-largo .vtr-card-imagem img{

    height:300px;

}


.vtr-card-largo .vtr-card-conteudo{

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:45px;

}



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

@media(max-width:900px){


    .frota-premium{

        padding:75px 7%;

    }


    .frota-premium-header{

        display:block;

        margin-bottom:50px;

    }


    .frota-premium-header h2{

        font-size:40px;

        margin-bottom:25px;

    }


    .vtr-destaque{

        grid-template-columns:1fr;

    }


    .vtr-destaque-imagem img{

        height:300px;

    }


    .vtr-destaque-info{

        padding:35px 28px;

    }


    .vtr-destaque-info h3{

        font-size:34px;

    }


    .frota-grid{

        grid-template-columns:1fr;

    }


    .vtr-card-largo{

        grid-column:auto;

        display:block;

    }


    .vtr-card-imagem img,
    .vtr-card-largo .vtr-card-imagem img{

        height:240px;

    }


}

/* =========================================================
ATUALIZAÇÕES — NOVO ESTILO
========================================================= */


.updates-premium{

    padding:100px 8% 120px;

    background:

        radial-gradient(
            circle at 80% 5%,
            rgba(120,0,0,.10),
            transparent 28%
        ),

        #080808;

}



/* =========================================================
INTRO
========================================================= */


.updates-intro{

    max-width:1250px;

    margin:0 auto 80px;

    display:flex;

    align-items:flex-end;

    justify-content:space-between;

    gap:70px;

}


.updates-intro > div > span{

    color:#ff2424;

    font-size:11px;

    font-weight:bold;

    letter-spacing:4px;

}


.updates-intro h1{

    font-size:54px;

    line-height:.95;

    margin-top:18px;

}


.updates-intro h1 strong{

    color:#ff2020;

}


.updates-intro > p{

    max-width:430px;

    color:#888;

    font-size:14px;

    line-height:1.8;

}



/* =========================================================
HOSPITAL — DESTAQUE
========================================================= */


.update-destaque{

    max-width:1250px;

    margin:0 auto 110px;

    display:grid;

    grid-template-columns:1.35fr .65fr;

    background:

        linear-gradient(
            145deg,
            rgba(255,255,255,.03),
            rgba(255,255,255,.01)
        );

    border:1px solid rgba(255,255,255,.08);

    border-radius:16px;

    overflow:hidden;

}



/* IMAGEM */


.update-destaque-imagem{

    position:relative;

    overflow:hidden;

}


.update-destaque-imagem img{

    width:100%;

    height:520px;

    object-fit:cover;

    display:block;

    filter:
        brightness(.82)
        contrast(1.08);

    transition:.5s;

}


.update-destaque:hover img{

    transform:scale(1.025);

}



/* NÚMERO */


.update-numero{

    position:absolute;

    top:25px;

    left:25px;

    width:56px;

    height:56px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(5,5,5,.86);

    border:1px solid rgba(255,0,0,.55);

    color:#ff2020;

    font-size:11px;

    font-weight:bold;

}



/* TAG */


.update-tag{

    position:absolute;

    left:25px;

    bottom:25px;

    padding:9px 14px;

    background:#e71919;

    border-radius:4px;

    font-size:9px;

    font-weight:bold;

    letter-spacing:2px;

}



/* CONTEÚDO */


.update-destaque-conteudo{

    padding:55px 45px;

    display:flex;

    flex-direction:column;

    justify-content:center;

}


.update-data{

    color:#ff2424;

    font-size:10px;

    font-weight:bold;

    letter-spacing:3px;

}


.update-destaque-conteudo h2,
.update-filme-conteudo h2{

    font-size:40px;

    line-height:1;

    margin:18px 0 27px;

}


.update-destaque-conteudo h2 strong,
.update-filme-conteudo h2 strong{

    display:block;

    color:#ff2020;

}


.update-destaque-conteudo > p{

    color:#999;

    font-size:13px;

    line-height:1.85;

    margin-bottom:18px;

}



/* ASSINATURA */


.update-assinatura{

    margin-top:20px;

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,.08);

    display:flex;

    align-items:center;

    gap:12px;

}


.update-assinatura > span{

    width:30px;

    height:2px;

    background:#ff2020;

}


.update-assinatura p{

    color:#555;

    font-size:9px;

    letter-spacing:2px;

}



/* =========================================================
FILME / RECORDE
========================================================= */


.update-filme{

    max-width:1250px;

    margin:auto;

    display:grid;

    grid-template-columns:.7fr 1.3fr;

    gap:65px;

    align-items:center;

    padding:70px;

    background:

        radial-gradient(
            circle at 20% 50%,
            rgba(130,0,0,.13),
            transparent 50%
        ),

        rgba(255,255,255,.015);

    border:1px solid rgba(255,255,255,.07);

    border-radius:16px;

}


.update-categoria{

    display:block;

    margin-top:14px;

    color:#666;

    font-size:9px;

    letter-spacing:4px;

}


.update-filme-conteudo > p{

    color:#999;

    font-size:13px;

    line-height:1.8;

    margin-top:15px;

}



/* NÚMERO RECORDE */


.numero-recorde{

    margin:30px 0;

    font-size:48px;

    font-weight:800;

    color:white;

}


.numero-recorde span{

    display:block;

    margin-top:5px;

    color:#ff2020;

    font-size:10px;

    letter-spacing:4px;

}



/* VIDEO */


.update-video{

    position:relative;

    width:100%;

    aspect-ratio:16 / 9;

    border-radius:14px;

    overflow:hidden;

    border:1px solid rgba(255,0,0,.20);

    box-shadow:0 20px 60px rgba(0,0,0,.40);

}


.update-video iframe{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    border:0;

}



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


@media(max-width:900px){


    .updates-premium{

        padding:75px 7%;

    }


    .updates-intro{

        display:block;

        margin-bottom:55px;

    }


    .updates-intro h1{

        font-size:40px;

        margin-bottom:25px;

    }


    .update-destaque{

        grid-template-columns:1fr;

    }


    .update-destaque-imagem img{

        height:320px;

    }


    .update-destaque-conteudo{

        padding:35px 28px;

    }


    .update-destaque-conteudo h2,
    .update-filme-conteudo h2{

        font-size:34px;

    }


    .update-filme{

        grid-template-columns:1fr;

        padding:35px 28px;

        gap:40px;

    }


    .numero-recorde{

        font-size:40px;

    }


}

/* =========================================================
HOME — SOBRE PREMIUM
========================================================= */


.home-sobre{

    padding:120px 8%;

    background:

        radial-gradient(
            circle at 10% 50%,
            rgba(130,0,0,.12),
            transparent 38%
        ),

        #080808;

    border-top:1px solid rgba(255,255,255,.04);

}



.home-sobre-layout{

    max-width:1250px;

    margin:auto;

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:90px;

    align-items:center;

}



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


.home-sobre-imagem{

    position:relative;

}


.home-sobre-imagem::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:16px;

    background:

        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.32)
        );

    pointer-events:none;

}


.home-sobre-imagem img{

    width:100%;

    height:520px;

    object-fit:cover;

    display:block;

    border-radius:16px;

    border:1px solid rgba(255,255,255,.08);

    filter:
        brightness(.82)
        contrast(1.08);

}



/* BADGE */

.home-sobre-badge{

    position:absolute;

    right:-30px;

    bottom:35px;

    z-index:3;

    width:125px;

    height:125px;

    border-radius:50%;

    background:#e71919;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    box-shadow:0 15px 45px rgba(0,0,0,.45);

}


.home-sobre-badge span{

    font-size:9px;

    letter-spacing:3px;

}


.home-sobre-badge strong{

    margin-top:5px;

    font-size:27px;

}



/* ===============================
TEXTO
================================ */


.home-sobre-conteudo{

    max-width:520px;

}


.section-label{

    color:#ff2424;

    font-size:11px;

    font-weight:bold;

    letter-spacing:4px;

}


.home-sobre-conteudo h2{

    margin:18px 0 28px;

    font-size:54px;

    line-height:.95;

}


.home-sobre-conteudo h2 strong{

    color:#ff2020;

}


.home-sobre-conteudo > p{

    color:#888;

    font-size:14px;

    line-height:1.85;

    margin-bottom:20px;

}


.home-sobre-conteudo .home-sobre-destaque{

    color:#ccc;

    font-size:16px;

}



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


.home-link{

    display:inline-flex;

    align-items:center;

    gap:22px;

    margin-top:12px;

    padding-bottom:6px;

    color:white;

    font-size:12px;

    font-weight:bold;

    text-decoration:none;

    border-bottom:1px solid #ff2020;

    transition:.3s;

}


.home-link span{

    color:#ff2020;

    transition:.3s;

}


.home-link:hover{

    color:#ff2020;

}


.home-link:hover span{

    transform:translateX(5px);

}



/* ===============================
MINI ESTATÍSTICAS
================================ */


.home-mini-stats{

    margin-top:55px;

    padding-top:30px;

    border-top:1px solid rgba(255,255,255,.08);

    display:grid;

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

    gap:20px;

}


.home-mini-stats strong{

    display:block;

    font-size:18px;

    color:white;

    margin-bottom:8px;

}


.home-mini-stats span{

    color:#555;

    font-size:8px;

    letter-spacing:1.5px;

    line-height:1.5;

}



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


@media(max-width:900px){


    .home-sobre{

        padding:80px 7%;

    }


    .home-sobre-layout{

        grid-template-columns:1fr;

        gap:55px;

    }


    .home-sobre-imagem img{

        height:350px;

    }


    .home-sobre-badge{

        right:-10px;

        width:100px;

        height:100px;

    }


    .home-sobre-conteudo h2{

        font-size:40px;

    }


    .home-mini-stats{

        grid-template-columns:1fr;

        gap:25px;

    }


}

/* =========================================================
HOME — ESTATÍSTICAS PREMIUM
========================================================= */


.home-estatisticas{

    padding:120px 8%;

    background:

        radial-gradient(
            circle at 80% 40%,
            rgba(120,0,0,.10),
            transparent 38%
        ),

        #070707;

    border-top:1px solid rgba(255,255,255,.04);

}



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

.home-estatisticas-topo{

    max-width:1250px;

    margin:0 auto 70px;

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    gap:80px;

}


.home-estatisticas-topo > div > span{

    color:#ff2424;

    font-size:11px;

    font-weight:bold;

    letter-spacing:4px;

}


.home-estatisticas-topo h2{

    font-size:52px;

    line-height:.95;

    margin-top:18px;

}


.home-estatisticas-topo h2 strong{

    color:#ff2020;

}


.home-estatisticas-topo > p{

    max-width:440px;

    color:#888;

    font-size:14px;

    line-height:1.8;

}



/* ===============================
CONTAINER
================================ */

.stats-destaque{

    max-width:1250px;

    margin:auto;

}



/* ===============================
RECORDE
================================ */

.stats-recorde{

    display:grid;

    grid-template-columns:.8fr 1.2fr;

    border:1px solid rgba(255,255,255,.08);

    border-radius:16px;

    overflow:hidden;

    background:

        linear-gradient(
            135deg,
            rgba(110,0,0,.17),
            rgba(255,255,255,.015)
        );

}



.stats-recorde-numero{

    min-height:360px;

    padding:55px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    border-right:1px solid rgba(255,255,255,.07);

}


.stats-recorde-numero > span{

    color:#ff2020;

    font-size:10px;

    letter-spacing:4px;

    font-weight:bold;

}


.stats-recorde-numero strong{

    font-size:72px;

    line-height:1;

    margin:20px 0 10px;

}


.stats-recorde-numero p{

    color:#666;

    font-size:10px;

    letter-spacing:4px;

}



/* TEXTO */

.stats-recorde-texto{

    padding:55px;

    display:flex;

    flex-direction:column;

    justify-content:center;

}


.stats-recorde-texto h3{

    font-size:34px;

    line-height:1.1;

    margin-bottom:22px;

}


.stats-recorde-texto h3 strong{

    display:block;

    color:#ff2020;

}


.stats-recorde-texto > p{

    max-width:520px;

    color:#999;

    font-size:14px;

    line-height:1.8;

}


.stats-recorde-texto a{

    width:max-content;

    display:flex;

    align-items:center;

    gap:20px;

    margin-top:30px;

    padding-bottom:6px;

    color:white;

    text-decoration:none;

    font-size:12px;

    font-weight:bold;

    border-bottom:1px solid #ff2020;

}


.stats-recorde-texto a span{

    color:#ff2020;

}



/* ===============================
ESTATÍSTICAS SECUNDÁRIAS
================================ */

.stats-secundarias{

    display:grid;

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

    gap:18px;

    margin-top:20px;

}


.stat-box{

    position:relative;

    padding:32px;

    background:#101010;

    border:1px solid rgba(255,255,255,.07);

    border-radius:12px;

    transition:.3s;

}


.stat-box:hover{

    transform:translateY(-5px);

    border-color:rgba(255,0,0,.30);

}


.stat-box > span{

    position:absolute;

    top:20px;

    right:22px;

    color:#444;

    font-size:10px;

    letter-spacing:2px;

}


.stat-box strong{

    display:block;

    font-size:23px;

    margin-bottom:10px;

}


.stat-box p{

    color:#666;

    font-size:9px;

    letter-spacing:2px;

}



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

@media(max-width:900px){


    .home-estatisticas{

        padding:80px 7%;

    }


    .home-estatisticas-topo{

        display:block;

    }


    .home-estatisticas-topo h2{

        font-size:40px;

        margin-bottom:25px;

    }


    .stats-recorde{

        grid-template-columns:1fr;

    }


    .stats-recorde-numero{

        min-height:auto;

        padding:40px 30px;

        border-right:0;

        border-bottom:1px solid rgba(255,255,255,.07);

    }


    .stats-recorde-numero strong{

        font-size:55px;

    }


    .stats-recorde-texto{

        padding:40px 30px;

    }


    .stats-secundarias{

        grid-template-columns:1fr;

    }


}

/* =========================================================
HOME — RECRUTAMENTO
========================================================= */

.home-recrutamento{

    min-height:520px;

    position:relative;

    padding:100px 8%;

    display:grid;

    grid-template-columns:1fr .75fr;

    gap:80px;

    align-items:center;

    overflow:hidden;

    border-top:1px solid rgba(255,255,255,.04);

}


.home-recrutamento-bg{

    position:absolute;

    inset:0;

    background:

        linear-gradient(
            90deg,
            rgba(5,5,5,.97) 0%,
            rgba(5,5,5,.88) 48%,
            rgba(5,5,5,.55) 100%
        ),

        url("imagens/home.png");

    background-size:cover;

    background-position:center;

    filter:saturate(.8);

}


.home-recrutamento-conteudo,
.home-recrutamento-info{

    position:relative;

    z-index:2;

}


.home-recrutamento-conteudo > span{

    color:#ff2424;

    font-size:11px;

    font-weight:bold;

    letter-spacing:4px;

}


.home-recrutamento-conteudo h2{

    font-size:52px;

    line-height:.95;

    margin:18px 0 25px;

}


.home-recrutamento-conteudo h2 strong{

    color:#ff2020;

}


.home-recrutamento-conteudo > p{

    max-width:560px;

    color:#aaa;

    font-size:14px;

    line-height:1.85;

}



/* BOTÕES */

.home-recrutamento-acoes{

    margin-top:35px;

    display:flex;

    gap:15px;

}


.btn-principal,
.btn-secundario{

    padding:15px 22px;

    border-radius:6px;

    font-size:12px;

    font-weight:bold;

    text-decoration:none;

    transition:.3s;

}


.btn-principal{

    display:flex;

    align-items:center;

    gap:24px;

    background:#e71919;

    color:white;

}


.btn-principal:hover{

    background:#ff2020;

    transform:translateY(-4px);

}


.btn-secundario{

    color:white;

    border:1px solid rgba(255,255,255,.18);

    background:rgba(10,10,10,.55);

}


.btn-secundario:hover{

    border-color:rgba(255,255,255,.4);

}



/* INFO DIREITA */

.home-recrutamento-info{

    display:grid;

    gap:14px;

}


.home-recrutamento-info > div{

    padding:25px 28px;

    display:grid;

    grid-template-columns:35px 90px 1fr;

    align-items:center;

    background:rgba(10,10,10,.72);

    border:1px solid rgba(255,255,255,.08);

    border-radius:10px;

    backdrop-filter:blur(7px);

}


.home-recrutamento-info > div > span{

    color:#555;

    font-size:9px;

}


.home-recrutamento-info strong{

    color:#ff2020;

    font-size:22px;

}


.home-recrutamento-info p{

    color:#aaa;

    font-size:9px;

    letter-spacing:1.5px;

}



/* =========================================================
HOME — CONTACTOS
========================================================= */

.home-contactos{

    padding:110px 8%;

    background:#070707;

}


.home-contactos-topo{

    max-width:1250px;

    margin:0 auto 60px;

    display:flex;

    align-items:flex-end;

    justify-content:space-between;

    gap:70px;

}


.home-contactos-topo > div > span{

    color:#ff2424;

    font-size:11px;

    font-weight:bold;

    letter-spacing:4px;

}


.home-contactos-topo h2{

    font-size:48px;

    line-height:1;

    margin-top:15px;

}


.home-contactos-topo h2 strong{

    display:block;

    color:#ff2020;

}


.home-contactos-topo > p{

    max-width:420px;

    color:#888;

    line-height:1.8;

    font-size:14px;

}



/* CONTACTOS */

.contactos-premium{

    max-width:1250px;

    margin:auto;

    display:grid;

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

    gap:18px;

}


.contacto-premium{

    min-height:175px;

    padding:30px;

    display:grid;

    grid-template-columns:52px 1fr auto;

    gap:20px;

    align-items:center;

    background:

        linear-gradient(
            145deg,
            rgba(255,255,255,.03),
            rgba(255,255,255,.01)
        );

    border:1px solid rgba(255,255,255,.07);

    border-radius:12px;

    color:white;

    text-decoration:none;

    transition:.3s;

}


a.contacto-premium:hover{

    transform:translateY(-6px);

    border-color:rgba(255,0,0,.35);

}


.contacto-icone{

    width:52px;

    height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#111;

    border:1px solid rgba(255,0,0,.25);

    border-radius:50%;

    font-size:20px;

}


.contacto-premium span{

    color:#ff2020;

    font-size:8px;

    letter-spacing:2px;

}


.contacto-premium h3{

    margin:7px 0;

    font-size:18px;

}


.contacto-premium p{

    color:#777;

    font-size:11px;

    line-height:1.6;

}


.contacto-premium > strong{

    color:#ff2020;

    font-size:18px;

}


.contacto-sem-link{

    cursor:default;

}



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

@media(max-width:900px){


    .home-recrutamento{

        grid-template-columns:1fr;

        padding:80px 7%;

        gap:50px;

    }


    .home-recrutamento-conteudo h2{

        font-size:40px;

    }


    .home-recrutamento-acoes{

        flex-direction:column;

        align-items:flex-start;

    }


    .home-recrutamento-info > div{

        grid-template-columns:30px 70px 1fr;

    }


    .home-contactos{

        padding:80px 7%;

    }


    .home-contactos-topo{

        display:block;

    }


    .home-contactos-topo h2{

        font-size:38px;

        margin-bottom:25px;

    }


    .contactos-premium{

        grid-template-columns:1fr;

    }


}

/* =========================================================
FOOTER GLOBAL — NOVO ESTILO
========================================================= */

.site-footer{

    background:#050505;

    border-top:1px solid rgba(255,255,255,.06);

    padding:75px 8% 0;

}



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

.footer-main{

    max-width:1250px;

    margin:auto;

    display:grid;

    grid-template-columns:1.5fr .7fr .7fr 1fr;

    gap:70px;

    padding-bottom:65px;

}



/* ===============================
MARCA
================================ */

.footer-logo{

    display:flex;

    align-items:center;

    gap:15px;

}


.footer-logo img{

    width:55px;

}


.footer-logo strong{

    display:block;

    font-size:17px;

    letter-spacing:.5px;

}


.footer-logo span{

    display:block;

    margin-top:5px;

    color:#666;

    font-size:9px;

}


.footer-brand > p{

    margin-top:30px;

    color:#555;

    font-size:10px;

    letter-spacing:3px;

    text-transform:uppercase;

}



/* ===============================
COLUNAS
================================ */

.footer-coluna{

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    gap:13px;

}


.footer-coluna > span{

    color:#ff2020;

    font-size:9px;

    font-weight:bold;

    letter-spacing:3px;

    margin-bottom:10px;

}


.footer-coluna a{

    position:relative;

    color:#777;

    font-size:12px;

    text-decoration:none;

    transition:.25s;

}


.footer-coluna a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-4px;

    width:0;

    height:1px;

    background:#ff2020;

    transition:.25s;

}


.footer-coluna a:hover{

    color:white;

}


.footer-coluna a:hover::after{

    width:100%;

}



/* ===============================
IDENTIDADE DIREITA
================================ */

.footer-identidade{

    padding-left:35px;

    border-left:1px solid rgba(255,255,255,.07);

}


.footer-identidade > span{

    color:#555;

    font-size:9px;

    letter-spacing:4px;

}


.footer-identidade h3{

    margin:12px 0;

    font-size:25px;

    line-height:1;

}


.footer-identidade h3 strong{

    color:#ff2020;

}


.footer-identidade p{

    color:#555;

    font-size:10px;

}



/* ===============================
LINHA INFERIOR
================================ */

.footer-bottom{

    max-width:1250px;

    min-height:70px;

    margin:auto;

    display:flex;

    align-items:center;

    justify-content:space-between;

    border-top:1px solid rgba(255,255,255,.06);

}


.footer-bottom > p{

    color:#444;

    font-size:10px;

}



/* STATUS */

.footer-status{

    display:flex;

    align-items:center;

    gap:9px;

    color:#555;

    font-size:9px;

    letter-spacing:1px;

}


.footer-status span{

    width:6px;

    height:6px;

    border-radius:50%;

    background:#ff2020;

    box-shadow:0 0 10px rgba(255,0,0,.45);

}

/* =========================================================
ATUALIZAÇÕES DINÂMICAS
========================================================= */

.updates-dinamicas{

    padding:110px 8%;

    background:#070707;

    border-top:1px solid rgba(255,255,255,.04);

}


.updates-dinamicas-header{

    max-width:1250px;

    margin:0 auto 55px;

}


.updates-dinamicas-header > span{

    color:#ff2020;

    font-size:10px;

    font-weight:bold;

    letter-spacing:4px;

}


.updates-dinamicas-header h2{

    margin:15px 0;

    font-size:48px;

    line-height:1;

}


.updates-dinamicas-header h2 strong{

    display:block;

    color:#ff2020;

}


.updates-dinamicas-header p{

    color:#777;

    font-size:13px;

}


.updates-dinamicas-grid{

    max-width:1250px;

    margin:auto;

    display:grid;

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

    gap:18px;

}


.update-publica{

    min-height:230px;

    padding:32px;

    background:

        linear-gradient(
            145deg,
            rgba(255,255,255,.025),
            rgba(255,255,255,.008)
        );

    border:1px solid rgba(255,255,255,.07);

    border-radius:13px;

    transition:.3s;

}


.update-publica:hover{

    transform:translateY(-5px);

    border-color:rgba(255,0,0,.3);

}


.update-publica-topo{

    display:flex;

    justify-content:space-between;

}


.update-publica-topo span{

    color:#ff2020;

    font-size:8px;

    font-weight:bold;

    letter-spacing:2px;

    text-transform:uppercase;

}


.update-publica-topo small{

    color:#444;

    font-size:8px;

}


.update-publica h3{

    margin:22px 0 14px;

    font-size:22px;

}


.update-publica > p{

    color:#888;

    font-size:12px;

    line-height:1.8;

}


.update-publica-footer{

    margin-top:28px;

    padding-top:17px;

    border-top:1px solid rgba(255,255,255,.06);

    display:flex;

    align-items:center;

    gap:12px;

    color:#444;

    font-size:8px;

    letter-spacing:2px;

}


.update-publica-footer span{

    width:26px;

    height:2px;

    background:#ff2020;

}


.updates-vazio{

    grid-column:1 / -1;

    padding:40px;

    border:1px solid rgba(255,255,255,.06);

    border-radius:12px;

    color:#555;

    text-align:center;

    font-size:11px;

}

.update-publica{

    overflow:hidden;

}

.update-publica-imagem{

    width:100%;
    margin-bottom:20px;
    border-radius:12px;
    overflow:hidden;

}

.update-publica-imagem img{

    width:100%;
    height:260px;
    object-fit:cover;
    display:block;

}

.update-publica-conteudo{

    width:100%;

}

/* =========================================
RANKING PRP
========================================= */


.home-ranking{

    padding:120px 0;

    background:#080808;

}



.ranking-container{

    width:80%;

    margin:auto;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:80px;

}




/* TEXTO */


.ranking-texto{

    width:45%;

}



.ranking-texto > span{

    color:#ff1616;

    font-size:11px;

    letter-spacing:6px;

    font-weight:bold;

}



.ranking-texto h2{

    margin-top:20px;

    font-size:55px;

    line-height:1;

    font-weight:800;

}



.ranking-texto h2 strong{

    color:#ff1616;

}



.ranking-texto p{

    margin-top:25px;

    color:#aaa;

    font-size:16px;

    line-height:1.8;

    max-width:500px;

}




/* CARD */


.ranking-card{


    width:480px;


    background:

    linear-gradient(

    145deg,

    #151515,

    #101010

    );


    border-radius:25px;


    padding:45px;


    text-align:center;


    border:1px solid #252525;


    position:relative;


    overflow:hidden;


}




.ranking-card::before{


    content:"";


    position:absolute;


    top:0;

    left:0;


    width:100%;

    height:2px;


    background:#ff1616;


}




.ranking-top{


    color:white;


    font-size:18px;


    font-weight:bold;


    margin-bottom:35px;


}




.ranking-card h3{


    font-size:50px;


    margin:10px 0;


    font-weight:900;


}




.ranking-card strong{


    display:block;


    color:#fff;


    font-size:22px;


    letter-spacing:2px;


}



.ranking-card h1{


    margin-top:20px;


    font-size:55px;


    color:#ff1616;


    font-weight:900;


}



.ranking-card p{


    margin-top:25px;


    color:#888;


    font-size:14px;


}



/* brilho leve */


.ranking-card::after{


    content:"";


    position:absolute;


    width:300px;

    height:300px;


    background:#ff1616;


    filter:blur(150px);


    opacity:.12;


    right:-150px;

    bottom:-150px;


}

/* =========================================
ANIMAÇÃO RANKING
========================================= */


.ranking-card {

    animation: rankingEntrada 0.8s ease forwards;

}



@keyframes rankingEntrada {

    from {

        opacity: 0;

        transform: translateY(30px);

    }


    to {

        opacity: 1;

        transform: translateY(0);

    }

}



/* efeito quando atualiza */

.ranking-atualizado {

    animation: brilhoRanking 0.8s ease;

}



@keyframes brilhoRanking {

    0% {

        transform: scale(1);

    }


    50% {

        transform: scale(1.04);

    }


    100% {

        transform: scale(1);

    }

}

/* =========================================
   RANKING PÚBLICO
========================================= */

.public-ranking {
    width: 100%;
    max-width: 1200px;
    margin: 90px auto;
    padding: 0 30px;
    box-sizing: border-box;
}

.ranking-header {
    text-align: center;
    margin-bottom: 40px;
}

.ranking-label {
    display: block;
    color: #e00000;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 8px;
}

.ranking-header h2 {
    margin: 0;
    font-size: 34px;
}

.ranking-header p {
    margin-top: 12px;
    color: #888;
}

.ranking-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.ranking-card {
    background: rgba(15, 15, 15, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 18px;
    padding: 25px;
}

.ranking-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 22px;
}

.ranking-card-header h3 {
    margin: 0;
    font-size: 22px;
}

.ranking-icon {
    font-size: 26px;
}

.ranking-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ranking-item {
    display: flex;
    align-items: center;
    min-height: 64px;
    padding: 12px 15px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    transition: 0.2s ease;
}

.ranking-item:hover {
    background: rgba(255, 255, 255, 0.05);
    transform: translateY(-2px);
}

.ranking-position {
    width: 45px;
    font-size: 22px;
    font-weight: 800;
    text-align: center;
}

.ranking-member {
    flex: 1;
    padding-left: 10px;
}

.ranking-member strong {
    display: block;
    color: #fff;
    font-size: 15px;
}

.ranking-member span {
    display: block;
    margin-top: 3px;
    color: #666;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.ranking-value {
    color: #fff;
    font-size: 17px;
    font-weight: 700;
}

.ranking-item:first-child {
    border-color: rgba(255, 200, 0, 0.25);
}

.ranking-item:nth-child(2) {
    border-color: rgba(200, 200, 200, 0.18);
}

.ranking-item:nth-child(3) {
    border-color: rgba(205, 127, 50, 0.2);
}

.ranking-loading {
    color: #777;
    text-align: center;
    padding: 30px;
}

.ranking-update {
    text-align: center;
    color: #555;
    font-size: 11px;
    margin-top: 18px;
}


/* RESPONSIVO */

@media (max-width: 800px) {

    .ranking-grid {
        grid-template-columns: 1fr;
    }

    .public-ranking {
        padding: 0 18px;
        margin: 60px auto;
    }

    .ranking-header h2 {
        font-size: 28px;
    }
}


/* ===== MEDICAL CENTER — POLÍTICAS ===== */
.politicas-dropdown .dropdown-menu { width: 224px; }
.politicas-dropdown:hover .dropdown-menu,
.politicas-dropdown:focus-within .dropdown-menu {
 opacity:1; visibility:visible;
 transform:translateX(-50%) translateY(0);
}
.politicas-dropdown .dropdown-menu a {white-space:nowrap;}
.politicas-mobile {display:none;position:relative;}
.politicas-mobile summary {list-style:none;cursor:pointer;color:#fff;border:1px solid #633136;background:#190c0e;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:700;}
.politicas-mobile summary::-webkit-details-marker {display:none;}
.politicas-mobile-links {position:absolute;right:0;top:calc(100% + 9px);width:185px;z-index:10005;background:#161719;border:1px solid #6e242b;border-radius:10px;padding:8px;box-shadow:0 16px 34px #000a;}
.politicas-mobile-links a {display:block;text-decoration:none;color:#e5e5e5;padding:12px 8px;font-size:13px;border-radius:6px;}
.politicas-mobile-links a:hover,.politicas-mobile-links a:focus-visible {background:#3a1419;}
@media(max-width:900px){ .politicas-mobile{display:block;margin-left:auto;margin-right:12px;} }
@media(max-width:440px){.politicas-mobile summary{padding:8px;font-size:11px;} .politicas-mobile{margin-right:7px;} header button{padding:9px!important;font-size:10px!important;} .logo{gap:6px!important;} .logo img{width:36px!important;} .logo h2{font-size:12px!important;} .logo span{font-size:8px!important;} }
.policy-layout{max-width:1120px;margin:auto;padding:70px 24px 100px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;align-items:start}
.policy-hero{position:relative;overflow:hidden;padding:76px 7% 64px;background:radial-gradient(ellipse at 80% 15%,#86192272,transparent 50%),linear-gradient(130deg,#161013,#09090b);border-bottom:1px solid #63202b;}
.policy-eyebrow{color:#f0616a;font-weight:800;font-size:12px;letter-spacing:3px;text-transform:uppercase}
.policy-hero h1{font-size:clamp(38px,6vw,72px);margin:15px 0;letter-spacing:-2px;line-height:1.06}
.policy-hero h1 span{color:#f03b43}
.policy-hero p{max-width:720px;font-size:16px;color:#bab9c1;line-height:1.7}
.policy-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.policy-chip{display:inline-block;padding:9px 13px;background:#221a1d;border:1px solid #513039;border-radius:999px;color:#dedde3;font-size:12px}
.policy-aside{position:sticky;top:105px;padding:22px;border:1px solid #30282b;background:#111113;border-radius:14px}
.policy-aside strong{display:block;margin-bottom:14px;color:#f2dddd;font-size:13px;text-transform:uppercase;letter-spacing:1.5px}
.policy-aside a{display:block;color:#a7a6ae;text-decoration:none;font-size:13px;padding:9px 0;line-height:1.4}
.policy-aside a:hover{color:#ff6269}
.policy-article{min-width:0}
.policy-article section{margin-bottom:20px;background:#111113;border:1px solid #2c2429;border-radius:14px;padding:26px 30px;scroll-margin-top:110px}
.policy-article h2{font-size:21px;line-height:1.3;color:#fff;margin-bottom:15px}
.policy-article h2:before{content:'';display:inline-block;width:4px;height:20px;background:#e02b36;border-radius:4px;margin-right:12px;vertical-align:-3px}
.policy-article p,.policy-article li{color:#c4c2c8;font-size:14px;line-height:1.85}
.policy-article p+p{margin-top:10px}
.policy-article ul{margin:12px 0 12px 22px}
.policy-article li{padding-left:3px;margin:5px 0}
.policy-article strong{color:#fafafa}
.policy-highlight{border-left:3px solid #dc2637;padding:14px 16px;background:#27171c;border-radius:0 8px 8px 0;margin-top:12px}
.policy-note{color:#aa9fa2;font-size:12px;line-height:1.8;padding:18px 24px;border:1px dashed #5b343a;border-radius:11px;margin-top:22px}
.policy-switch{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.policy-switch a{color:white;text-decoration:none;border:1px solid #722a37;border-radius:10px;padding:12px 20px;background:#27151b;font-size:13px}
.policy-switch a:hover{background:#7c1c29}
@media(max-width:850px){.policy-layout{grid-template-columns:1fr;gap:18px;padding:30px 15px 80px}.policy-aside{position:static}.policy-aside nav{display:block;height:auto}.policy-aside a{display:inline-block;margin-right:14px}.policy-article section{padding:23px 19px}.policy-hero{padding:60px 6% 45px}}

header a.logo {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}
/* Ranking de salvamentos público */
.mc-salvamentos-publico{max-width:1220px;margin:65px auto;padding:36px 30px;background:linear-gradient(135deg,#111114,#1e1014);border:1px solid #343038;border-top:3px solid #ef1834;border-radius:20px;color:#fff}
.mc-salvamentos-cabecalho>span{color:#ff3148;letter-spacing:3px;font-weight:700;font-size:12px}
.mc-salvamentos-cabecalho h2{font-size:clamp(27px,4vw,43px);margin:10px 0}
.mc-salvamentos-cabecalho p,.mc-rank-rodape,.mc-rank-info{color:#aaa}
.mc-rank-acoes{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}
.mc-rank-acoes button,.mc-rank-acoes input{border:1px solid #464047;border-radius:10px;background:#17171c;color:#fff;padding:12px 15px}
.mc-rank-acoes button{cursor:pointer}.mc-rank-acoes button.ativo{background:#b9162b;border-color:#ef3048}
.mc-rank-acoes input{flex:1;min-width:160px}.mc-ranking-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.mc-rank-linha{background:#1a191e;border:1px solid #353138;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px}
.mc-rank-linha strong{white-space:nowrap}.mc-rank-pesquisa{padding:15px;border:1px solid #ab344a;border-radius:10px;margin-bottom:16px}
@media(max-width:690px){.mc-salvamentos-publico{margin:30px 12px;padding:22px 16px}.mc-ranking-lista{grid-template-columns:1fr}}

/* Top Salvamentos agora dentro da secção Ranking Medical Center */
.public-ranking .mc-salvamentos-publico { max-width: none; margin: 36px 0 0; }
@media (max-width:690px) { .public-ranking .mc-salvamentos-publico { margin: 24px 0 0; } }
html { scroll-behavior: smooth; scroll-padding-top: 105px; }


/* === Login público / Fundação === */
.mc-auth-nav { display:flex; align-items:center; gap:8px; margin-left:12px; flex-shrink:0; }
.mc-auth-nav .mc-auth-enter, .mc-auth-nav .mc-auth-central,
.mc-auth-nav .mc-auth-logout { display:inline-flex; align-items:center; justify-content:center; padding:10px 15px; min-height:38px; border-radius:9px; border:1px solid #b91e36; background:#c41632; color:#fff; font-size:12px; font-weight:700; text-decoration:none; white-space:nowrap; cursor:pointer; transition:background .2s; }
.mc-auth-nav .mc-auth-central { background:#1b171c; }
.mc-auth-nav .mc-auth-logout { background:transparent; border-color:#4d3c44; }
.mc-auth-nav a:hover, .mc-auth-nav button:hover { background:#e52c49; transform:none; }
.mc-auth-nav [hidden] { display:none !important; }
@media (max-width: 900px) {
 header { padding-left:4%; padding-right:4%; }
 .mc-auth-nav { margin-left:auto; }
 .mc-auth-nav a, .mc-auth-nav button { padding:9px 11px; }
}


/* ==========================================
   TOP SALVAMENTOS — DUAS COLUNAS
   1.º a 5.º à esquerda
   6.º a 10.º à direita
========================================== */

#mc-ranking-lista {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(5, auto);
    grid-auto-flow: column;
    gap: 12px 20px;
}

/* No telemóvel: uma única coluna */
@media (max-width: 700px) {
    #mc-ranking-lista {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        grid-auto-flow: row;
    }
}