.elementor-5176 .elementor-element.elementor-element-fc07f3e{--display:flex;}/* Start custom CSS for html, class: .elementor-element-06653ef *//* All styles scoped to .fgo-cv to avoid conflicts with Astra/Elementor */
  .fgo-cv {
    --ink:        #111110;
    --ink-2:      #3d3d3a;
    --ink-3:      #6b6b67;
    --line:       #e2e0d8;
    --surface:    #f7f6f2;
    --accent:     #EA5E5E;
    --accent-dk:  #C1440E;
    --accent-lt:  #fdf0f0;
    --navy:       #2E4052;
    --white:      #ffffff;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: var(--ink-2);
  }

  /* Reset solo en elementos del CV, sin afectar popups de Elementor */
  .fgo-cv .cv-wrap, .fgo-cv .cv-wrap *, .fgo-cv .cv-wrap *::before, .fgo-cv .cv-wrap *::after { box-sizing: border-box; margin: 0; padding: 0; }

  /* Aislamiento de stacking context — el popup de Elementor siempre queda encima */
  .fgo-cv {
    isolation: isolate;
  }

  .fgo-cv .cv-wrap {
    max-width: 960px;
    margin: 0 auto;
    background: var(--white);
    box-shadow: 0 8px 48px rgba(0,0,0,0.12);
  }

  /* HEADER */
  .fgo-cv .header { display: grid; grid-template-columns: 240px 1fr; border-bottom: 3px solid var(--accent); }

  .fgo-cv .header-left {
    background: var(--navy);
    padding: 40px 28px 32px;
    display: flex; flex-direction: column; justify-content: flex-end;
  }

  .fgo-cv .monogram {
    font-family: 'DM Serif Display', serif;
    font-size: 52px; color: var(--white); line-height: 1;
    letter-spacing: -2px; opacity: 0.15; margin-bottom: -4px;
  }

  .fgo-cv .header-name {
    font-family: 'DM Serif Display', serif;
    font-size: 30px; color: var(--white); line-height: 1.1; font-weight: 400;
  }

  .fgo-cv .header-title {
    font-family: 'Raleway', sans-serif;
    font-size: 11px; font-weight: 600; letter-spacing: 0.14em;
    text-transform: uppercase; color: var(--accent); margin-top: 8px;
  }

  .fgo-cv .header-right {
    background: var(--surface);
    padding: 36px 36px 30px;
    display: flex; flex-direction: column; justify-content: flex-end;
  }

  .fgo-cv .tagline {
    font-family: 'DM Serif Display', serif;
    font-size: 18px; color: var(--navy); line-height: 1.4;
    font-style: italic; margin-bottom: 20px; max-width: 420px;
  }

  .fgo-cv .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 24px; }

  .fgo-cv .contact-item { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--ink-3); }
  .fgo-cv .contact-item a { color: var(--ink-3); text-decoration: none; transition: color 0.15s; }
  .fgo-cv .contact-item a:hover { color: var(--accent); }

  .fgo-cv .contact-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--accent); flex-shrink: 0; }

  /* BODY */
  .fgo-cv .body-wrap { display: grid; grid-template-columns: 240px 1fr; }

  /* SIDEBAR */
  .fgo-cv .sidebar { background: var(--surface); padding: 32px 24px; border-right: 1px solid var(--line); }
  .fgo-cv .sidebar-section { margin-bottom: 30px; }
  .fgo-cv .sidebar-section:last-child { margin-bottom: 0; }

  .fgo-cv .sidebar-label {
    font-family: 'Raleway', sans-serif;
    font-size: 9px; font-weight: 700; letter-spacing: 0.18em;
    text-transform: uppercase; color: var(--accent);
    margin-bottom: 14px; padding-bottom: 6px; border-bottom: 1px solid var(--line);
  }

  .fgo-cv .skill-item { display: flex; flex-direction: column; margin-bottom: 10px; }
  .fgo-cv .skill-name { font-size: 12px; font-weight: 500; color: var(--ink); margin-bottom: 4px; }
  .fgo-cv .skill-bar-bg { height: 3px; background: var(--line); border-radius: 2px; overflow: hidden; }
  .fgo-cv .skill-bar { height: 100%; background: var(--accent); border-radius: 2px; }

  .fgo-cv .tool-tag {
    display: inline-block; font-size: 11px; font-weight: 500;
    padding: 4px 9px; background: var(--white);
    border: 0.5px solid var(--line); border-radius: 3px;
    color: var(--ink-2); margin: 3px 3px 3px 0; transition: border-color 0.15s;
  }
  .fgo-cv .tool-tag:hover { border-color: var(--accent); }

  .fgo-cv .lang-item { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
  .fgo-cv .lang-name { font-size: 12px; font-weight: 500; color: var(--ink); }
  .fgo-cv .lang-level {
    font-size: 9px; font-weight: 600; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--accent);
    background: var(--accent-lt); padding: 3px 8px; border-radius: 3px;
  }

  .fgo-cv .quality-item {
    font-size: 12px; color: var(--ink-2);
    padding: 5px 0; border-bottom: 0.5px solid var(--line);
    display: flex; align-items: center; gap: 8px;
  }
  .fgo-cv .quality-item:last-child { border-bottom: none; }
  .fgo-cv .quality-item::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--accent); flex-shrink: 0; }

  .fgo-cv .edu-item { margin-bottom: 12px; }
  .fgo-cv .edu-year { font-size: 11px; color: var(--accent); font-weight: 600; letter-spacing: 0.04em; }
  .fgo-cv .edu-school { font-size: 12px; font-weight: 500; color: var(--ink); line-height: 1.35; }
  .fgo-cv .edu-degree { font-size: 11px; color: var(--ink-3); line-height: 1.35; }

  /* MAIN */
  .fgo-cv .main { padding: 32px 36px; }
  .fgo-cv .section { margin-bottom: 32px; }
  .fgo-cv .section:last-child { margin-bottom: 0; }

  .fgo-cv .section-label {
    font-family: 'Raleway', sans-serif;
    font-size: 9px; font-weight: 700; letter-spacing: 0.18em;
    text-transform: uppercase; color: var(--accent);
    margin-bottom: 16px; padding-bottom: 6px; border-bottom: 1px solid var(--line);
  }

  .fgo-cv .summary-text { font-size: 13.5px; color: var(--ink-2); line-height: 1.75; }
  .fgo-cv .summary-text strong { font-weight: 600; color: var(--ink); }

  /* EXPERIENCE */
  .fgo-cv .exp-item {
    display: grid; grid-template-columns: 72px 1fr;
    gap: 0 16px; margin-bottom: 22px; position: relative;
  }
  .fgo-cv .exp-item:not(:last-child)::after {
    content: ''; position: absolute;
    left: 72px; top: 20px; bottom: -22px;
    width: 1px; background: var(--line); transform: translateX(-7px);
  }
  .fgo-cv .exp-period { font-size: 11px; color: var(--ink-3); font-weight: 500; text-align: right; padding-top: 2px; line-height: 1.45; padding-right: 18px; }
  .fgo-cv .exp-dot {
    position: absolute; left: 72px; top: 6px;
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--accent); transform: translateX(-11px);
    border: 2px solid var(--white); box-shadow: 0 0 0 1.5px var(--accent); z-index: 1;
  }
  .fgo-cv .exp-content { padding-left: 6px; }
  .fgo-cv .exp-company { font-size: 14px; font-weight: 600; color: var(--ink); line-height: 1.25; }
  .fgo-cv .exp-company-note { font-weight: 400; color: var(--ink-3); font-size: 12px; }
  .fgo-cv .exp-role { font-size: 11.5px; font-weight: 500; color: var(--accent); letter-spacing: 0.03em; margin: 2px 0 6px; }
  .fgo-cv .exp-desc { font-size: 12.5px; color: var(--ink-3); line-height: 1.65; }
  .fgo-cv .exp-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
  .fgo-cv .exp-tag { font-size: 10px; font-weight: 500; padding: 2px 8px; background: var(--accent-lt); color: var(--accent-dk); border-radius: 3px; }

  /* PORTFOLIO */
  .fgo-cv .portfolio-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
  .fgo-cv .portfolio-item {
    border: 0.5px solid var(--line); border-radius: 5px;
    padding: 12px 14px; background: var(--surface);
    transition: border-color 0.15s, box-shadow 0.15s;
  }
  .fgo-cv .portfolio-item:hover { border-color: var(--accent); box-shadow: 0 2px 12px rgba(234,94,94,0.08); }
  .fgo-cv .portfolio-name { font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 2px; }
  .fgo-cv .portfolio-type { font-size: 11px; color: var(--ink-3); margin-bottom: 5px; }
  .fgo-cv .portfolio-url { font-size: 11px; color: var(--accent); text-decoration: none; word-break: break-all; }
  .fgo-cv .portfolio-url:hover { text-decoration: underline; }

  /* FOOTER */
  .fgo-cv .footer {
    background: var(--navy); padding: 14px 36px;
    display: flex; justify-content: space-between; align-items: center;
    flex-wrap: wrap; gap: 10px;
  }
  .fgo-cv .footer-links { display: flex; gap: 20px; flex-wrap: wrap; }
  .fgo-cv .footer-link { font-size: 11px; color: #d0d8e0; text-decoration: none; font-weight: 500; transition: color 0.15s; }
  .fgo-cv .footer-link:hover { color: var(--accent); }
  .fgo-cv .footer-note { font-size: 11px; color: #8899aa; font-style: italic; }

  /* RESPONSIVE */
  @media (max-width: 720px) {
    .fgo-cv .header, .fgo-cv .body-wrap { grid-template-columns: 1fr; }
    .fgo-cv .header-left { padding: 28px 24px 24px; }
    .fgo-cv .sidebar { border-right: none; border-bottom: 1px solid var(--line); padding: 24px 20px; }
    .fgo-cv .main { padding: 24px 20px; }
    .fgo-cv .portfolio-grid { grid-template-columns: 1fr 1fr; }
    .fgo-cv .contact-grid { grid-template-columns: 1fr; }
    .fgo-cv .footer { padding: 14px 20px; flex-direction: column; align-items: flex-start; }
  }

  @media (max-width: 480px) {
    .fgo-cv .portfolio-grid { grid-template-columns: 1fr; }
    .fgo-cv .exp-item { grid-template-columns: 58px 1fr; }
  }

  @media print {
    .fgo-cv .cv-wrap { box-shadow: none; max-width: 100%; }
  }/* End custom CSS */