/* ═══ ABOUT SECTION ═══ */
.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:72px;
  align-items:start;
}

.about-text p{
  font-size:15.5px;
  line-height:1.88;
  margin-bottom:18px;
}

.about-highlights{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.highlight-card{
  background:var(--bg);
  border-left:3px solid var(--accent);
  padding:18px 22px;
  border-radius:0 var(--r) var(--r) 0;
}

.highlight-card h4{
  font-family:var(--fd);
  font-size:1rem;
  font-weight:700;
  color:var(--dark);
  margin-bottom:5px;
}

.highlight-card p{
  font-size:14px;
  line-height:1.65;
}

/* ═══ EXPERIENCE/TIMELINE ═══ */
.timeline{
  display:flex;
  flex-direction:column;
  position:relative;
}

.timeline::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:1px;
  background:var(--border);
}

.timeline-item{
  padding-left:38px;
  padding-bottom:52px;
  position:relative;
}

.timeline-item:last-child{
  padding-bottom:0;
}

.timeline-dot{
  position:absolute;
  left:-6px;
  top:8px;
  width:13px;
  height:13px;
  background:var(--accent);
  border-radius:50%;
  border:2px solid var(--bg);
}

.timeline-period{
  font-size:11.5px;
  font-weight:600;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:7px;
}

.timeline-role{
  font-family:var(--fd);
  font-size:1.3rem;
  font-weight:700;
  color:var(--dark);
  margin-bottom:3px;
}

.timeline-company{
  font-size:13.5px;
  font-weight:500;
  color:var(--text);
  margin-bottom:18px;
}

.timeline-company strong{
  color:var(--dark);
}

.timeline-achievements{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:9px;
}

.timeline-achievements li{
  font-size:14.5px;
  line-height:1.65;
  padding-left:20px;
  position:relative;
}

.timeline-achievements li::before{
  content:'→';
  position:absolute;
  left:0;
  color:var(--accent);
  font-size:12px;
}

.metric-pill{
  display:inline-block;
  background:rgba(230,0,39,.09);
  color:var(--accent);
  font-weight:700;
  font-size:13px;
  padding:1px 7px;
  border-radius:2px;
  margin:0 2px;
}

/* ═══ SKILLS ═══ */
.skills-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.skill-category h4{
  font-family:var(--fd);
  font-size:1rem;
  font-weight:700;
  color:var(--dark);
  margin-bottom:18px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border);
}

.skill-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.skill-tag{
  font-size:12.5px;
  font-weight:500;
  padding:6px 12px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--r);
  color:var(--text);
  transition:var(--t);
}

.skill-tag:hover{
  border-color:var(--accent);
  color:var(--accent);
  background:rgba(230,0,39,.1);
  transform:scale(1.05);
  box-shadow:0 4px 12px rgba(230,0,39,.15);
}

/* ═══ CERTIFICATIONS ═══ */
.cert-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}

.cert-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:24px 26px;
  display:flex;
  gap:18px;
  align-items:flex-start;
  transition:var(--t);
}

.cert-card:hover{
  border-color:var(--accent);
  box-shadow:0 4px 20px rgba(230,0,39,.08);
  transform:translateY(-2px);
}

.cert-icon{
  width:42px;
  height:42px;
  background:rgba(230,0,39,.08);
  border-radius:var(--r);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.cert-body h4{
  font-size:14px;
  font-weight:600;
  color:var(--dark);
  margin-bottom:4px;
  line-height:1.4;
}

/* ═══ TECH STACK ═══ */
.tech-stack-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:20px;
}

.tech-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:8px;
  padding:24px;
  transition:var(--t);
  display:flex;
  flex-direction:column;
  gap:16px;
}

.tech-card:hover{
  border-color:var(--accent);
  box-shadow:0 8px 24px rgba(230,0,39,.12);
  transform:translateY(-4px);
}

.tech-card-header h4{
  font-size:15px;
  font-weight:600;
  color:var(--dark);
  margin:0;
  display:none;
}

.tech-card-header h4.es,
.tech-card-header h4.en{
  display:block;
}

.tech-tools{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.tech-badge{
  display:inline-block;
  font-size:12px;
  font-weight:500;
  padding:6px 12px;
  background:linear-gradient(135deg,rgba(230,0,39,.05),rgba(230,0,39,.02));
  border:1px solid rgba(230,0,39,.15);
  border-radius:20px;
  color:var(--text);
  transition:var(--t);
  cursor:default;
  white-space:nowrap;
}

.tech-badge:hover{
  background:linear-gradient(135deg,rgba(230,0,39,.1),rgba(230,0,39,.05));
  border-color:var(--accent);
  color:var(--accent);
  transform:scale(1.02);
}

.cert-body p{
  font-size:13px;
}

/* ═══ ACADEMIC FORMATION ═══ */
.academic-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:24px;
}

.academic-card{
  background:linear-gradient(135deg,rgba(230,0,39,.05) 0%,rgba(230,0,39,.02) 100%);
  border:1px solid rgba(230,0,39,.12);
  border-radius:8px;
  padding:28px 24px;
  display:flex;
  gap:18px;
  align-items:flex-start;
  transition:var(--t);
  position:relative;
  overflow:hidden;
}

.academic-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--t);
}

.academic-card:hover{
  border-color:var(--accent);
  box-shadow:0 8px 24px rgba(230,0,39,.12);
  transform:translateY(-3px);
}

.academic-card:hover::before{
  transform:scaleX(1);
}

.academic-icon{
  width:50px;
  height:50px;
  background:var(--accent);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.academic-body{
  flex:1;
}

.academic-title{
  font-family:var(--fd);
  font-size:16px;
  font-weight:700;
  color:var(--dark);
  margin-bottom:6px;
  line-height:1.4;
}

.academic-institution{
  font-size:13px;
  font-weight:600;
  color:var(--accent);
  margin-bottom:4px;
  letter-spacing:0.5px;
}

.academic-date{
  font-size:12.5px;
  color:var(--text);
  font-weight:500;
}

/* ═══ LANGUAGES ═══ */
.languages-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:28px;
}

.language-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:8px;
  padding:32px 28px;
  display:flex;
  flex-direction:column;
  gap:16px;
  transition:var(--t);
  position:relative;
  overflow:hidden;
}

.language-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,var(--accent),rgba(230,0,39,.5));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--t);
}

.language-card:hover{
  border-color:var(--accent);
  box-shadow:0 8px 28px rgba(230,0,39,.1);
  transform:translateY(-4px);
}

.language-card:hover::before{
  transform:scaleX(1);
}

.language-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.language-name{
  font-family:var(--fd);
  font-size:20px;
  font-weight:700;
  color:var(--dark);
  margin:0;
}

.language-level{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:6px 14px;
  border-radius:20px;
  white-space:nowrap;
  transition:var(--t);
}

.language-level.native{
  background:rgba(230,0,39,.12);
  color:var(--accent);
  border:1px solid rgba(230,0,39,.2);
}

.language-level.intermediate{
  background:rgba(100,150,200,.12);
  color:#2563eb;
  border:1px solid rgba(100,150,200,.2);
}

.language-description{
  font-size:14px;
  line-height:1.7;
  color:var(--text);
  margin:0;
}
