{"id":189,"date":"2026-06-01T17:26:07","date_gmt":"2026-06-01T17:26:07","guid":{"rendered":"https:\/\/claudiaflores.estaciondiseno.es\/?page_id=189"},"modified":"2026-06-17T14:51:36","modified_gmt":"2026-06-17T14:51:36","slug":"elementor-189","status":"publish","type":"page","link":"https:\/\/claudiaflores.estaciondiseno.es\/","title":{"rendered":"Elementor #189"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"189\" class=\"elementor elementor-189\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0b5053e e-flex e-con-boxed e-con e-parent\" data-id=\"0b5053e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c3a759b elementor-widget elementor-widget-html\" data-id=\"c3a759b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>Claudia Flores Rodrigo \u2014 Portfolio<\/title>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@300;400;500&family=Playfair+Display:wght@700;900&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n  :root {\r\n    --navy: #1e3a7a;\r\n    --white: #ffffff;\r\n    --gray: #8a96b0;\r\n    --light-gray: #e8edf5;\r\n  }\r\n\r\n  * { margin: 0; padding: 0; box-sizing: border-box; }\r\n  html { scroll-behavior: smooth; }\r\n\r\n  body {\r\n    font-family: 'DM Sans', sans-serif;\r\n    background: var(--white);\r\n    color: var(--navy);\r\n    overflow-x: hidden;\r\n  }\r\n\r\n  body.lightbox-open {\r\n    overflow: hidden;\r\n  }\r\n\r\n  \/* \u2500\u2500 HEADER \u2500\u2500 *\/\r\n  header {\r\n    position: fixed;\r\n    top: 0; left: 0; right: 0;\r\n    z-index: 100;\r\n    background: var(--navy);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    padding: 0 3rem;\r\n    height: 70px;\r\n  }\r\n\r\n  .logo {\r\n    font-weight: 500;\r\n    font-size: 1.3rem;\r\n    color: var(--white);\r\n    text-decoration: none;\r\n    letter-spacing: 0.01em;\r\n  }\r\n\r\n  .menu-toggle {\r\n    display: none;\r\n    flex-direction: column;\r\n    gap: 5px;\r\n    cursor: pointer;\r\n    background: none;\r\n    border: none;\r\n    padding: 4px;\r\n  }\r\n  .menu-toggle span {\r\n    display: block;\r\n    width: 24px; height: 2px;\r\n    background: var(--white);\r\n    transition: all 0.3s;\r\n  }\r\n  .menu-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }\r\n  .menu-toggle.open span:nth-child(2) { opacity: 0; }\r\n  .menu-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }\r\n\r\n  \/* Blindaje contra Elementor usando el ID #mainNav *\/\r\n  #mainNav {\r\n    display: flex;\r\n    gap: 2.5rem;\r\n  }\r\n\r\n  #mainNav a {\r\n    color: var(--white);\r\n    text-decoration: none;\r\n    font-weight: 500;\r\n    font-size: 0.95rem;\r\n    letter-spacing: 0.02em;\r\n    position: relative;\r\n    padding-bottom: 4px;\r\n    transition: opacity 0.2s;\r\n  }\r\n  #mainNav a::after {\r\n    content: '';\r\n    position: absolute;\r\n    bottom: 0; left: 0;\r\n    width: 0; height: 2px;\r\n    background: var(--white);\r\n    transition: width 0.3s ease;\r\n  }\r\n  #mainNav a:hover::after { width: 100%; }\r\n  #mainNav a:hover { opacity: 0.75; }\r\n\r\n  \/* \u2500\u2500 HERO \u2500\u2500 *\/\r\n  #inicio {\r\n    min-height: 100vh;\r\n    display: flex;\r\n    align-items: center;\r\n    padding: 120px 3rem 4rem;\r\n    position: relative;\r\n    overflow: hidden;\r\n    background: var(--white);\r\n  }\r\n  #inicio::before {\r\n    content: '';\r\n    position: absolute;\r\n    top: -80px; right: -120px;\r\n    width: 500px; height: 500px;\r\n    border-radius: 50%;\r\n    background: radial-gradient(circle, rgba(30,58,122,0.06) 0%, transparent 70%);\r\n    pointer-events: none;\r\n  }\r\n\r\n  .hero-inner { max-width: 900px; }\r\n\r\n  .hero-name {\r\n    font-size: 1.1rem;\r\n    font-weight: 400;\r\n    color: var(--navy);\r\n    margin-bottom: 1rem;\r\n    opacity: 0;\r\n    transform: translateY(20px);\r\n    animation: fadeUp 0.7s ease 0.2s forwards;\r\n  }\r\n  .hero-title {\r\n    font-family: 'Playfair Display', serif;\r\n    font-size: clamp(4.5rem, 12vw, 9rem);\r\n    font-weight: 900;\r\n    color: var(--navy);\r\n    line-height: 0.95;\r\n    margin-bottom: 1.8rem;\r\n    opacity: 0;\r\n    transform: translateY(30px);\r\n    animation: fadeUp 0.8s ease 0.4s forwards;\r\n  }\r\n  .hero-line {\r\n    width: 60px; height: 3px;\r\n    background: var(--navy);\r\n    margin: 1.4rem 0;\r\n    opacity: 0;\r\n    animation: fadeUp 0.6s ease 0.5s forwards;\r\n  }\r\n  .hero-sub {\r\n    font-size: 1.05rem;\r\n    color: var(--navy);\r\n    font-weight: 300;\r\n    opacity: 0;\r\n    transform: translateY(20px);\r\n    animation: fadeUp 0.7s ease 0.6s forwards;\r\n  }\r\n  .hero-cta {\r\n    display: inline-block;\r\n    margin-top: 2.5rem;\r\n    padding: 0.85rem 2.2rem;\r\n    background: var(--navy);\r\n    color: var(--white);\r\n    text-decoration: none;\r\n    font-weight: 500;\r\n    font-size: 0.95rem;\r\n    letter-spacing: 0.04em;\r\n    border-radius: 2px;\r\n    transition: opacity 0.25s, transform 0.2s;\r\n    opacity: 0;\r\n    animation: fadeUp 0.7s ease 0.8s forwards;\r\n  }\r\n  .hero-cta:hover { opacity: 0.8; transform: translateY(-2px); }\r\n\r\n  @keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }\r\n\r\n  \/* \u2500\u2500 SECTION BASE \u2500\u2500 *\/\r\n  section {\r\n    padding: 5rem 3rem;\r\n    background: var(--white);\r\n  }\r\n\r\n  .section-title {\r\n    font-family: 'Playfair Display', serif;\r\n    font-size: clamp(1.9rem, 5vw, 3.2rem);\r\n    font-weight: 700;\r\n    color: var(--navy);\r\n    margin-bottom: 1.4rem;\r\n  }\r\n  .section-line {\r\n    width: 50px; height: 3px;\r\n    background: var(--navy);\r\n    margin-bottom: 2.5rem;\r\n  }\r\n\r\n  \/* \u2500\u2500 SOBRE M\u00cd \u2500\u2500 *\/\r\n  #sobre-mi .inner {\r\n    max-width: 1100px;\r\n    margin: 0 auto;\r\n  }\r\n\r\n  .about-main-wrapper {\r\n    display: grid;\r\n    grid-template-columns: 2.2fr 1.1fr;\r\n    gap: 3.5rem;\r\n    align-items: start;\r\n  }\r\n\r\n  .about-meta-grid {\r\n    display: grid;\r\n    grid-template-columns: 1fr 1.2fr;\r\n    gap: 2.5rem;\r\n    align-items: start;\r\n  }\r\n\r\n  .about-image-container { width: 100%; }\r\n  .about-image-container img {\r\n    width: 100%; height: auto;\r\n    display: block; object-fit: cover;\r\n    border-radius: 2px;\r\n  }\r\n\r\n  .about-text p {\r\n    font-size: 1rem; line-height: 1.8;\r\n    color: #3a4a6a; margin-bottom: 1.2rem;\r\n  }\r\n  .about-text p:last-child { margin-bottom: 0; }\r\n\r\n  .skills-container { grid-column: span 2; margin-top: 1.8rem; }\r\n  .skills-list { display: flex; flex-wrap: wrap; gap: 0.6rem; }\r\n  .skill-tag {\r\n    padding: 0.4rem 1rem; border: 1.5px solid var(--navy);\r\n    color: var(--navy); font-size: 0.8rem; font-weight: 500;\r\n    border-radius: 2px; transition: background 0.2s, color 0.2s;\r\n  }\r\n  .skill-tag:hover { background: var(--navy); color: var(--white); }\r\n\r\n  .about-info { align-self: start; }\r\n  .academic-title {\r\n    font-family: 'Playfair Display', serif;\r\n    font-size: 1.8rem; font-weight: 700;\r\n    color: var(--navy); margin-top: 0; margin-bottom: 1rem; line-height: 1.2;\r\n  }\r\n  .academic-divider { border: none; border-top: 1px solid var(--light-gray); margin-bottom: 1.5rem; }\r\n  .academic-list { list-style: none; }\r\n  .academic-list li {\r\n    font-size: 1rem; line-height: 1.6; color: #3a4a6a;\r\n    padding: 0.8rem 0; border-bottom: 1px solid var(--light-gray);\r\n    display: flex; align-items: center;\r\n  }\r\n  .academic-list li::before {\r\n    content: \"\u2022\"; color: var(--navy); font-weight: bold;\r\n    display: inline-block; width: 1.5rem; font-size: 1.2rem;\r\n  }\r\n  .academic-list li:last-child { border-bottom: none; }\r\n\r\n  \/* \u2500\u2500 PROYECTOS Y CABECERA CON CATEGOR\u00cdAS (C\u00f3digo Original Restaurado) \u2500\u2500 *\/\r\n  #proyectos { padding: 8rem 0 5rem; overflow: hidden; }\r\n \r\n  .projects-header {\r\n    max-width: 1200px;\r\n    margin: 0 auto;\r\n    padding: 0 3rem 1rem;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: flex-end;\r\n    gap: 2rem;\r\n  }\r\n  .projects-header-left { display: flex; flex-direction: column; }\r\n  #proyectos .section-line { margin-bottom: 1.5rem; }\r\n\r\n  .categories-nav {\r\n    display: flex;\r\n    gap: 1.5rem;\r\n    margin-bottom: 1.5rem;\r\n  }\r\n  .category-link {\r\n    font-family: 'DM Sans', sans-serif;\r\n    font-size: 0.85rem;\r\n    font-weight: 500;\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.08em;\r\n    color: var(--navy);\r\n    opacity: 0.4;\r\n    text-decoration: none;\r\n    padding-bottom: 6px;\r\n    position: relative;\r\n    transition: opacity 0.25s ease;\r\n    cursor: pointer;\r\n  }\r\n  .category-link:hover, .category-link.active {\r\n    opacity: 1;\r\n  }\r\n  .category-link::after {\r\n    content: '';\r\n    position: absolute;\r\n    bottom: 0; left: 0;\r\n    width: 0; height: 2px;\r\n    background: var(--navy);\r\n    transition: width 0.25s ease;\r\n  }\r\n  .category-link.active::after {\r\n    width: 100%;\r\n  }\r\n\r\n  .slider-wrap { position: relative; width: 100%; overflow: hidden; }\r\n  .slider-track {\r\n    display: flex;\r\n    width: 600%;\r\n    transition: transform 0.55s cubic-bezier(0.65, 0, 0.35, 1);\r\n    will-change: transform;\r\n  }\r\n  .slide {\r\n    width: 16.6666%;\r\n    display: grid;\r\n    grid-template-columns: 1.2fr 0.8fr;\r\n    align-items: center;\r\n  }\r\n\r\n  .project-collage-grid {\r\n    display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(2, 1fr);\r\n    gap: 8px; padding: 1rem; background: #f7fafc;\r\n    border-right: 1px solid var(--light-gray); width: 100%; height: 480px; max-height: 480px;\r\n  }\r\n  .grid-4-items { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); }\r\n\r\n  .project-single-image {\r\n    display: block; width: 100%; height: 480px; max-height: 480px;\r\n    padding: 1rem; background: #f7fafc; border-right: 1px solid var(--light-gray); overflow: hidden;\r\n  }\r\n  .project-single-image img {\r\n    width: 100%; height: 100%; object-fit: contain; display: block;\r\n    transition: transform 0.4s ease; cursor: zoom-in;\r\n  }\r\n  .project-single-image:hover img { transform: scale(1.02); }\r\n \r\n  .collage-item { position: relative; overflow: hidden; background: #eaeaea; width: 100%; height: 100%; }\r\n  .collage-item img {\r\n    width: 100%; height: 100%; object-fit: cover; display: block;\r\n    transition: transform 0.4s ease; cursor: zoom-in;\r\n  }\r\n  .collage-item img.posavasos-img { object-position: 15% center; }\r\n  .collage-item:hover img { transform: scale(1.03); }\r\n\r\n  .slide-content { display: flex; flex-direction: column; justify-content: center; padding: 2rem 4rem; background: var(--white); }\r\n  .slide-num { font-size: 0.7rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gray); margin-bottom: 0.8rem; }\r\n  .slide-cat { font-size: 0.72rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; color: var(--navy); opacity: 0.6; margin-bottom: 0.5rem; }\r\n  .slide-title { font-family: 'Playfair Display', serif; font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 700; color: var(--navy); margin-bottom: 1.2rem; line-height: 1.15; }\r\n  .slide-desc { font-size: 0.95rem; color: #3a4a6a; line-height: 1.75; margin-bottom: 0; max-width: 380px; }\r\n \r\n  .magazine-link-container {\r\n    margin-top: 1.8rem;\r\n    display: block;\r\n  }\r\n\r\n  .magazine-custom-link-wrapper {\r\n    position: relative;\r\n    display: inline-block;\r\n    cursor: pointer;\r\n  }\r\n\r\n  .magazine-text-fallback {\r\n    font-family: 'DM Sans', sans-serif;\r\n    font-size: 0.95rem;\r\n    font-weight: 500;\r\n    color: var(--navy);\r\n    text-decoration: underline;\r\n    text-underline-offset: 5px;\r\n    text-decoration-thickness: 1.5px;\r\n    transition: opacity 0.2s, transform 0.2s;\r\n    display: inline-block;\r\n  }\r\n\r\n  .magazine-custom-link-wrapper:hover .magazine-text-fallback {\r\n    opacity: 0.75;\r\n    transform: translateX(3px);\r\n  }\r\n\r\n  .dflip-absolute-trigger {\r\n    position: absolute;\r\n    top: 0; left: 0; width: 100%; height: 100%;\r\n    z-index: 10;\r\n  }\r\n\r\n  .dflip-absolute-trigger ._df_thumb,\r\n  .dflip-absolute-trigger ._df_book-cover,\r\n  .dflip-absolute-trigger img,\r\n  .dflip-absolute-trigger .df-book-cover {\r\n    width: 100% !important; height: 100% !important;\r\n    display: block !important; opacity: 0 !important;\r\n    background: none !important; border: none !important;\r\n    box-shadow: none !important; padding: 0 !important; margin: 0 !important;\r\n  }\r\n\r\n  .slider-controls { display: flex; align-items: center; gap: 1.2rem; padding: 2rem 3rem 0; max-width: 1200px; margin: 0 auto; }\r\n  .slider-btn {\r\n    width: 44px; height: 44px; border: 1.5px solid var(--navy); background: transparent; color: var(--navy);\r\n    border-radius: 50%; cursor: pointer; font-size: 1rem; display: flex; align-items: center; justify-content: center;\r\n    transition: background 0.2s, color 0.2s; flex-shrink: 0;\r\n  }\r\n  .slider-btn:hover { background: var(--navy); color: var(--white); }\r\n  .slider-btn:disabled { opacity: 0.25; cursor: default; }\r\n\r\n  .slider-dots { display: flex; gap: 0.5rem; align-items: center; }\r\n  .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--light-gray); border: 1.5px solid var(--navy); cursor: pointer; transition: background 0.25s; }\r\n  .dot.active { background: var(--navy); }\r\n  .slider-counter { font-size: 0.8rem; color: var(--gray); margin-left: auto; letter-spacing: 0.05em; }\r\n\r\n  \/* \u2500\u2500 LIGHTBOX \u2500\u2500 *\/\r\n  .lightbox {\r\n    position: fixed;\r\n    top: 0; left: 0; width: 100vw; height: 100vh;\r\n    background: rgba(14, 25, 48, 0.9);\r\n    backdrop-filter: blur(10px);\r\n    -webkit-backdrop-filter: blur(10px);\r\n    z-index: 2000;\r\n    display: flex; align-items: center; justify-content: center;\r\n    opacity: 0; pointer-events: none;\r\n    transition: opacity 0.4s ease;\r\n  }\r\n\r\n  .lightbox.active {\r\n    opacity: 1; pointer-events: auto;\r\n  }\r\n\r\n  .lightbox-wrapper {\r\n    position: relative;\r\n    width: 100%; height: 100%;\r\n    display: flex; align-items: center; justify-content: center;\r\n    padding: 4rem;\r\n  }\r\n\r\n  .lightbox-img {\r\n    max-width: 80%; max-height: 80vh;\r\n    object-fit: contain; border-radius: 2px;\r\n    box-shadow: 0 20px 60px rgba(0,0,0,0.6);\r\n    transform: scale(0.95); transition: transform 0.4s ease;\r\n  }\r\n\r\n  .lightbox.active .lightbox-img {\r\n    transform: scale(1);\r\n  }\r\n\r\n  .lightbox-close {\r\n    position: absolute;\r\n    top: 25px; right: 25px;\r\n    width: 46px; height: 46px;\r\n    background: rgba(255, 255, 255, 0.1);\r\n    border: 1px solid rgba(255, 255, 255, 0.2);\r\n    color: var(--white); font-size: 1.3rem;\r\n    border-radius: 50%; cursor: pointer;\r\n    display: flex; align-items: center; justify-content: center;\r\n    transition: background 0.2s, transform 0.2s;\r\n    z-index: 2200;\r\n  }\r\n  .lightbox-close:hover { background: var(--white); color: var(--navy); transform: scale(1.05); }\r\n\r\n  .lightbox-nav-btn {\r\n    position: absolute; top: 50%; transform: translateY(-50%);\r\n    width: 50px; height: 50px;\r\n    background: rgba(255, 255, 255, 0.1);\r\n    border: 1px solid rgba(255, 255, 255, 0.2);\r\n    color: var(--white); font-size: 1.4rem;\r\n    border-radius: 50%; cursor: pointer;\r\n    display: flex; align-items: center; justify-content: center;\r\n    transition: background 0.2s, transform 0.2s;\r\n    z-index: 2100;\r\n  }\r\n  .lightbox-nav-btn:hover { background: var(--white); color: var(--navy); }\r\n  .lightbox-nav-btn.prev-btn { left: 30px; }\r\n  .lightbox-nav-btn.next-btn { right: 30px; }\r\n  .lightbox-nav-btn:active { transform: translateY(-50%) scale(0.95); }\r\n\r\n  .lightbox-index-counter {\r\n    position: absolute; bottom: 25px; left: 50%; transform: translateX(-50%);\r\n    color: rgba(255, 255, 255, 0.6); font-size: 0.9rem; letter-spacing: 0.05em;\r\n  }\r\n\r\n  \/* MODAL DE AVISO LEGAL COMPATIBLE *\/\r\n  .legal-modal {\r\n    position: fixed;\r\n    top: 0; left: 0; width: 100vw; height: 100vh;\r\n    background: rgba(14, 25, 48, 0.85); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);\r\n    z-index: 3000; display: flex; flex-direction: column; align-items: center; justify-content: center;\r\n    opacity: 0; pointer-events: none; transition: opacity 0.4s ease; padding: 4rem 2rem 2rem;\r\n  }\r\n  .legal-modal.active { opacity: 1; pointer-events: auto; }\r\n  .legal-iframe {\r\n    width: 100%; max-width: 1000px; height: 80vh; border: none; background: var(--white);\r\n    border-radius: 4px; box-shadow: 0 15px 50px rgba(0,0,0,0.5);\r\n  }\r\n\r\n  \/* \u2500\u2500 CONTACTO \u2500\u2500 *\/\r\n  #contacto {\r\n    background: var(--white);\r\n    padding: 6rem 3rem;\r\n  }\r\n  #contacto .inner {\r\n    max-width: 700px;\r\n    margin: 0 auto;\r\n    text-align: center;\r\n  }\r\n  #contacto .section-line { margin: 0 auto 2.5rem; }\r\n  .contact-text {\r\n    font-size: 1rem;\r\n    color: #3a4a6a;\r\n    line-height: 1.8;\r\n    margin-bottom: 3rem;\r\n  }\r\n  .contact-links {\r\n    display: flex;\r\n    gap: 1.5rem;\r\n    justify-content: center;\r\n    flex-wrap: wrap;\r\n  }\r\n  .contact-btn {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 0.6rem;\r\n    padding: 1rem 2.2rem;\r\n    text-decoration: none;\r\n    font-weight: 500;\r\n    font-size: 0.95rem;\r\n    letter-spacing: 0.03em;\r\n    border-radius: 2px;\r\n    transition: transform 0.2s, box-shadow 0.2s, background 0.2s, color 0.2s;\r\n  }\r\n  .contact-btn:hover {\r\n    transform: translateY(-2px);\r\n    box-shadow: 0 8px 25px rgba(30,58,122,0.15);\r\n  }\r\n  .btn-primary { background: var(--navy); color: var(--white); }\r\n  .btn-outline { background: transparent; color: var(--navy); border: 1.5px solid var(--navy); }\r\n  .btn-outline:hover { background: var(--navy); color: var(--white); }\r\n\r\n  \/* \u2500\u2500 FOOTER \u2500\u2500 *\/\r\n  footer {\r\n    text-align: center;\r\n    padding: 3rem 1.5rem;\r\n    background: var(--navy);\r\n    color: var(--white);\r\n    font-size: 0.85rem;\r\n    letter-spacing: 0.03em;\r\n    border-top: 1px solid rgba(255,255,255,0.05);\r\n  }\r\n  footer span { font-weight: 500; }\r\n  .footer-legal-link {\r\n    color: rgba(255, 255, 255, 0.6); text-decoration: none; margin-left: 10px;\r\n    transition: color 0.2s ease; border-left: 1px solid rgba(255, 255, 255, 0.2); padding-left: 10px;\r\n  }\r\n  .footer-legal-link:hover { color: var(--white); text-decoration: underline; }\r\n\r\n  \/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\r\n  @media (max-width: 1024px) {\r\n    .about-main-wrapper { grid-template-columns: 1fr; gap: 3.5rem; }\r\n    .slide { grid-template-columns: 1fr 1fr; }\r\n    .slide-content { padding: 2.5rem; }\r\n  }\r\n\r\n  @media (max-width: 768px) {\r\n    header { padding: 0 1.5rem; }\r\n    .menu-toggle { display: flex; }\r\n    \r\n    \/* Soluci\u00f3n definitiva a la tabla azul asegurando la especificidad del ID sobre Elementor *\/\r\n    #mainNav {\r\n      display: none; position: absolute; top: 70px; left: 0; right: 0;\r\n      background: var(--navy); flex-direction: column; gap: 0; padding: 0.5rem 0 1rem; z-index: 99;\r\n    }\r\n    #mainNav.open { display: flex !important; }\r\n    #mainNav a { padding: 0.9rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,0.08); font-size: 1rem; }\r\n    #mainNav a::after { display: none; }\r\n\r\n    \/* Prevenci\u00f3n para evitar que la forma circular genere un bloque err\u00f3neo en iOS\/Elementor *\/\r\n    #inicio::before { display: none; }\r\n\r\n    section { padding: 4rem 1.5rem; }\r\n    #inicio { padding: 110px 1.5rem 3rem; }\r\n\r\n    .about-meta-grid { grid-template-columns: 1fr; gap: 2rem; }\r\n    .about-image-container { max-width: 320px; margin: 0 auto; }\r\n    .skills-container { grid-column: span 1; margin-top: 1.5rem; }\r\n\r\n    #proyectos { padding: 6rem 0 4rem; }\r\n    #proyectos .projects-header {\r\n      padding: 0 1.5rem 0.5rem;\r\n      flex-direction: column;\r\n      align-items: flex-start;\r\n      gap: 1rem;\r\n    }\r\n    .categories-nav {\r\n      width: 100%;\r\n      overflow-x: auto;\r\n      padding-bottom: 8px;\r\n      gap: 1.2rem;\r\n      white-space: nowrap;\r\n      -webkit-overflow-scrolling: touch;\r\n    }\r\n    .categories-nav::-webkit-scrollbar { display: none; }\r\n\r\n    \/* Regla del slider m\u00f3vil restaurada exactamente como la programaste originalmente *\/\r\n    .slide { grid-template-columns: 1fr; width: 100%; }\r\n\r\n    .project-collage-grid {\r\n      grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(3, 1fr);\r\n      height: 380px; max-height: 380px;\r\n    }\r\n    .grid-4-items { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); }\r\n    .project-single-image { height: 360px; max-height: 360px; }\r\n    .slide-content { padding: 2rem 1.5rem; }\r\n    .slide-desc { max-width: 100%; }\r\n\r\n    .slider-controls { padding: 1.5rem 1.5rem 0; }\r\n   \r\n    .lightbox-wrapper { padding: 2rem; }\r\n    .lightbox-img { max-width: 95%; max-height: 70vh; }\r\n    .lightbox-nav-btn { width: 42px; height: 42px; font-size: 1.1rem; }\r\n    .lightbox-nav-btn.prev-btn { left: 15px; }\r\n    .lightbox-nav-btn.next-btn { right: 15px; }\r\n    .lightbox-close { top: 15px; right: 15px; width: 40px; height: 40px; }\r\n   \r\n    #contacto { padding: 4rem 1.5rem; }\r\n    footer { display: flex; flex-direction: column; gap: 8px; }\r\n    .footer-legal-link { border-left: none; padding-left: 0; margin-left: 0; }\r\n  }\r\n\r\n  @media (max-width: 480px) {\r\n    .hero-title { font-size: clamp(3.5rem, 18vw, 5rem); }\r\n    .project-collage-grid { grid-template-columns: 1fr; grid-template-rows: auto; height: auto; max-height: unset; }\r\n    .collage-item { height: 180px; }\r\n    .project-single-image { height: 300px; max-height: 300px; }\r\n    .slide-content { padding: 1.5rem 1.2rem; }\r\n    .slide-title { font-size: 1.6rem; }\r\n    .legal-modal { padding: 5rem 1rem 1rem; }\r\n    .legal-iframe { height: 75vh; }\r\n  }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<header>\r\n  <a href=\"#inicio\" class=\"logo\">Claudia<\/a>\r\n  <button class=\"menu-toggle\" id=\"menuToggle\" aria-label=\"Men\u00fa\">\r\n    <span><\/span><span><\/span><span><\/span>\r\n  <\/button>\r\n  <nav id=\"mainNav\">\r\n    <a href=\"#inicio\" class=\"nav-link\">Inicio<\/a>\r\n    <a href=\"#sobre-mi\" class=\"nav-link\">Sobre m\u00ed<\/a>\r\n    <a href=\"#proyectos\" class=\"nav-link\">Proyectos<\/a>\r\n    <a href=\"#contacto\" class=\"nav-link\">Contacto<\/a>\r\n  <\/nav>\r\n<\/header>\r\n\r\n<section id=\"inicio\">\r\n  <div class=\"hero-inner\">\r\n    <p class=\"hero-name\">Claudia Flores Rodrigo<\/p>\r\n    <h1 class=\"hero-title\">Portfolio<\/h1>\r\n    <div class=\"hero-line\"><\/div>\r\n    <p class=\"hero-sub\">Dise\u00f1adora Gr\u00e1fica &nbsp;\u00b7&nbsp; 2026<\/p>\r\n    <a href=\"#proyectos\" class=\"hero-cta\">Ver proyectos \u2192<\/a>\r\n  <\/div>\r\n<\/section>\r\n\r\n<section id=\"sobre-mi\">\r\n  <div class=\"inner\">\r\n    <h2 class=\"section-title\">Sobre m\u00ed<\/h2>\r\n    <div class=\"section-line\"><\/div>\r\n   \r\n    <div class=\"about-main-wrapper\">\r\n      <div class=\"about-left-block\">\r\n        <div class=\"about-meta-grid\">\r\n          <div class=\"about-image-container\">\r\n            <img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/uuru.png\" alt=\"Claudia Flores Rodrigo\">\r\n          <\/div>\r\n         \r\n          <div class=\"about-text\">\r\n            <p>\u00a1Hola! Soy Claudia, dise\u00f1adora gr\u00e1fica enfocada en transformar ideas en soluciones visuales claras, atractivas y funcionales. Me especializo en identidad visual, ayudando a marcas a conectar con su p\u00fablico de forma estrat\u00e9gica.<\/p>\r\n            <p>Con experiencia en proyectos de branding, packaging y dise\u00f1o editorial, busco siempre el equilibrio entre forma y funci\u00f3n.<\/p>\r\n          <\/div>\r\n         \r\n          <div class=\"skills-container\">\r\n            <div class=\"skills-list\">\r\n              <span class=\"skill-tag\">Identidad Visual<\/span>\r\n              <span class=\"skill-tag\">Dise\u00f1o Editorial<\/span>\r\n              <span class=\"skill-tag\">Publicidad<\/span>\r\n              <span class=\"skill-tag\">Packaging<\/span>\r\n              <span class=\"skill-tag\">Illustrator<\/span>\r\n              <span class=\"skill-tag\">Photoshop<\/span>\r\n              <span class=\"skill-tag\">InDesign<\/span>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n     \r\n      <div class=\"about-info\">\r\n        <h3 class=\"academic-title\">Experiencia acad\u00e9mica<\/h3>\r\n        <hr class=\"academic-divider\">\r\n        <ul class=\"academic-list\">\r\n          <li>M\u00e1ster de Dise\u00f1o Gr\u00e1fico \u2013 Estaci\u00f3n Dise\u00f1o<\/li>\r\n          <li>Grado en Bellas Artes \u2013 Universidad de Granada<\/li>\r\n          <li>Bachillerato \u2013 I.E.S. Cura Valera<\/li>\r\n          <li>Educaci\u00f3n Secundaria Obligatoria \u2013 I.E.S. Jaroso<\/li>\r\n        <\/ul>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<section id=\"proyectos\">\r\n  <div class=\"projects-header\">\r\n    <div class=\"projects-header-left\">\r\n      <h2 class=\"section-title\">Proyectos<\/h2>\r\n      <div class=\"section-line\"><\/div>\r\n    <\/div>\r\n   \r\n    <nav class=\"categories-nav\">\r\n      <a class=\"category-link active\" data-slide=\"0\">Branding<\/a>\r\n      <a class=\"category-link\" data-slide=\"1\">Publicidad<\/a>\r\n      <a class=\"category-link\" data-slide=\"3\">Editorial<\/a>\r\n      <a class=\"category-link\" data-slide=\"4\">Packaging<\/a>\r\n      <a class=\"category-link\" data-slide=\"5\">Caligraf\u00eda<\/a>\r\n    <\/nav>\r\n  <\/div>\r\n\r\n  <div class=\"slider-wrap\">\r\n    <div class=\"slider-track\" id=\"sliderTrack\">\r\n\r\n      <div class=\"slide s1\">\r\n        <div class=\"project-collage-grid\">\r\n          <div class=\"collage-item\"><img decoding=\"async\" class=\"posavasos-img\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-5-ene-2026-23_50_20.png\" alt=\"Posavasos Catavinos\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/rotulo-puerta-scaled.jpg\" alt=\"R\u00f3tulo exterior\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/mockup-tarjeta-taberna-scaled.jpg\" alt=\"Tarjetas corporativas\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/menu-taberna-1-scaled.jpg\" alt=\"Carta Men\u00fa interior 1\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/menu-taberna-3-scaled.jpg\" alt=\"Carta Men\u00fa interior 2\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/bata-chef.jpg\" alt=\"Chaqueta Uniforme Chef\"><\/div>\r\n        <\/div>\r\n        <div class=\"slide-content\">\r\n          <span class=\"slide-num\">01 \/ 06<\/span>\r\n          <span class=\"slide-cat\">Identidad Visual & Branding<\/span>\r\n          <h3 class=\"slide-title\">Taberna Catavinos<\/h3>\r\n          <p class=\"slide-desc\">Rebranding integral desarrollado para Taberna Catavinos, un gastrobar ubicado en Granada que combina la tradici\u00f3n tabernera con una propuesta gastron\u00f3mica contempor\u00e1nea. La propuesta redefine su identidad visual mediante un lenguaje gr\u00e1fico elegante y limpio, capaz de transmitir cercan\u00eda, calidad y autenticidad.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"slide s2\">\r\n        <div class=\"project-collage-grid grid-4-items\">\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/mockup-2-scaled.jpg\" alt=\"Ecoembes Mockup Mupi 2\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/mockup-1-scaled.jpg\" alt=\"Ecoembes Mockup Mupi 1\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-18-feb-2026-14_03_17.jpg\" alt=\"Ecoembes Creatividad Campa\u00f1a\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/subway_poster_near_escalator-scaled.jpg\" alt=\"Ecoembes Mupi Metro Escaleras\"><\/div>\r\n        <\/div>\r\n        <div class=\"slide-content\">\r\n          <span class=\"slide-num\">02 \/ 06<\/span>\r\n          <span class=\"slide-cat\">Campa\u00f1a C\u00edvica<\/span>\r\n          <h3 class=\"slide-title\">Ecoembes<\/h3>\r\n          <p class=\"slide-desc\">Desarrollo de una campa\u00f1a c\u00edvica para Ecoembes dirigida a p\u00fablico infantil, con el objetivo de fomentar el reciclaje y la educaci\u00f3n ambiental. El proyecto incluye el dise\u00f1o de un tr\u00edptico y un cartel con una identidad gr\u00e1fica coherente, protagonizados por una tortuga marina creada como personaje educativo. La propuesta combina ilustraci\u00f3n infantil y una paleta crom\u00e1tica inspirada en el entorno marino para ense\u00f1ar el uso correcto de los contenedores de reciclaje y promover h\u00e1bitos sostenibles.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"slide s3\">\r\n        <div class=\"project-collage-grid\">\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/campana-expecativa-final-scaled.jpg\" alt=\"Campa\u00f1a Expectativa Final\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/cartel-lanzamiento-scaled.jpg\" alt=\"Cartel Lanzamiento\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/carrusel-mockup-scaled.jpg\" alt=\"Carrusel Social Media Mockup\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/cartel-expectativa-mockup-scaled.jpg\" alt=\"Cartel Expectativa Mockup\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/cartel-lanzamiento-mockup-scaled.jpg\" alt=\"Cartel Lanzamiento Mockup\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/tote-mockup-scaled.jpg\" alt=\"Instagram Feed Grid\"><\/div>\r\n        <\/div>\r\n        <div class=\"slide-content\">\r\n          <span class=\"slide-num\">03 \/ 06<\/span>\r\n          <span class=\"slide-cat\">Campa\u00f1a de Expectativa & Lanzamiento<\/span>\r\n          <h3 class=\"slide-title\">Festival Milnoff<\/h3>\r\n          <p class=\"slide-desc\">Proyecto de campa\u00f1a gr\u00e1fica desarrollado para el Festival de Flamenco MILNOFF. La propuesta se articula en dos piezas: una campa\u00f1a de expectativa y una de lanzamiento, construyendo un mensaje progresivo basado en la idea de que el flamenco no se entiende, se siente. La campa\u00f1a busca transmitir la energ\u00eda, el movimiento y la autenticidad del flamenco a trav\u00e9s de una est\u00e9tica minimalista, el uso de efectos crom\u00e1ticos y elementos simb\u00f3licos.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"slide s4\">\r\n        <div class=\"project-collage-grid grid-4-items\">\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-16-jun-2026-00_52_17.png\" alt=\"Revista Tatuaje Portada Exterior\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/siii.jpg\" alt=\"Revista Tatuaje Logotipo y Tipograf\u00eda\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-16-jun-2026-01_00_44.png\" alt=\"Revista Tatuaje Editorial Interior\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-16-jun-2026-01_02_43.png\" alt=\"Revista Tatuaje Ilustraciones Flash Sheets\"><\/div>\r\n        <\/div>\r\n        <div class=\"slide-content\">\r\n          <span class=\"slide-num\">04 \/ 06<\/span>\r\n          <span class=\"slide-cat\">Dise\u00f1o Editorial & Maquetaci\u00f3n<\/span>\r\n          <h3 class=\"slide-title\">Revista de Tatuaje<\/h3>\r\n          <p class=\"slide-desc\">Timeless Ink es una revista especializada sobre tatuaje tradicional americano. A trav\u00e9s de sus p\u00e1ginas explora los or\u00edgenes del estilo, los personajes que lo construyeron y el vocabulario simb\u00f3lico que lo define. Un recorrido por m\u00e1s de un siglo de historia, tinta y cultura popular, maquetado \u00edntegramente en Adobe InDesign.<\/p>\r\n         \r\n          <div class=\"magazine-link-container\">\r\n            <div class=\"magazine-custom-link-wrapper\">\r\n              <span class=\"magazine-text-fallback\">Ver revista completa \u2192<\/span>\r\n              <div class=\"dflip-absolute-trigger\">\r\n                <div class=\"_df_thumb \" id=\"df_330\"  _slug=\"revista-tatuaje\" data-title=\"revista-tatuaje\" wpoptions=\"true\" thumb=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/portada.jpg\" thumbtype=\"\" >Revista tatuaje<\/div><script class=\"df-shortcode-script\" nowprocket type=\"application\/javascript\">window.option_df_330 = {\"webgl\":\"true\",\"outline\":[],\"hard\":\"cover\",\"viewerType\":\"flipbook\",\"autoEnableOutline\":\"false\",\"autoEnableThumbnail\":\"false\",\"overwritePDFOutline\":\"false\",\"direction\":\"1\",\"pageSize\":\"0\",\"pageMode\":\"2\",\"singlePageMode\":\"1\",\"source\":\"https:\\\/\\\/claudiaflores.estaciondiseno.es\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/REVISTA-portfolio.pdf\",\"wpOptions\":\"true\"}; if(window.DFLIP && window.DFLIP.parseBooks){window.DFLIP.parseBooks();}<\/script>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"slide s5\">\r\n        <div class=\"project-collage-grid\">\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/salmon1-scaled.jpg\" alt=\"Packaging Salm\u00f3n\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/atun1-scaled.jpg\" alt=\"Packaging At\u00fan\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/pollo1-scaled.jpg\" alt=\"Packaging Pollo\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/pack-faja.jpg\" alt=\"Packaging L\u00ednea Completa Faja\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_iy7scsiy7scsiy7s.png\" alt=\"Detalle Ilustraci\u00f3n L\u00ednea de Producto 1\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/Gemini_Generated_Image_staye2staye2stay.jpg\" alt=\"Detalle Ilustraci\u00f3n L\u00ednea de Producto 2\"><\/div>\r\n        <\/div>\r\n        <div class=\"slide-content\">\r\n          <span class=\"slide-num\">05 \/ 06<\/span>\r\n          <span class=\"slide-cat\">Packaging & Dise\u00f1o de Producto<\/span>\r\n          <h3 class=\"slide-title\">Packaging para PAWS.<\/h3>\r\n          <p class=\"slide-desc\">PAWS. es una marca conceptual de snacks naturales para gatos basada en la idea de que cuidar tambi\u00e9n significa compartir peque\u00f1os momentos de cari\u00f1o mediante un snack sabroso. A trav\u00e9s de un pack de 3 envases kraft \u2014salm\u00f3n, at\u00fan y pollo\u2014 y una faja que los rodea, la propuesta combina ilustraciones de estilo amable y troqueles que permiten visualizar el producto, reforzando valores de cercan\u00eda, naturalidad y cuidado.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"slide s6\">\r\n        <div class=\"project-collage-grid grid-4-items\">\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/salvaje-caligrafia-scaled.jpg\" alt=\"Caligraf\u00eda Palabra Salvaje\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-22-abr-2026-19_53_34.png\" alt=\"Composici\u00f3n Caligr\u00e1fica Art\u00edstica\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/abecedario-scaled.jpg\" alt=\"Estudio de Abecedario Hecho a Mano\"><\/div>\r\n          <div class=\"collage-item\"><img decoding=\"async\" src=\"https:\/\/claudiaflores.estaciondiseno.es\/wp-content\/uploads\/2026\/06\/ChatGPT-Image-22-abr-2026-19_49_33.png\" alt=\"Detalle Trazo Caligr\u00e1fico\"><\/div>\r\n        <\/div>\r\n        <div class=\"slide-content\">\r\n          <span class=\"slide-num\">06 \/ 06<\/span>\r\n          <span class=\"slide-cat\">Caligraf\u00eda & Expresi\u00f3n<\/span>\r\n          <h3 class=\"slide-title\">Caligraf\u00eda y edici\u00f3n<\/h3>\r\n          <p class=\"slide-desc\">Este proyecto fusiona la tradici\u00f3n caligr\u00e1fica cl\u00e1sica con el dise\u00f1o digital a partir del estudio y trazado manual del alfabeto y la palabra \"Salvaje\" en estilos g\u00f3tico y uncial. A trav\u00e9s de Photoshop, estas formas fueron digitalizadas y transformadas en composiciones experimentales, para demostrar el potente impacto visual y la versatilidad de la caligraf\u00eda en el dise\u00f1o actual.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"slider-controls\">\r\n    <button class=\"slider-btn\" id=\"prevBtn\" aria-label=\"Anterior\">&#8592;<\/button>\r\n    <button class=\"slider-btn\" id=\"nextBtn\" aria-label=\"Siguiente\">&#8594;<\/button>\r\n    <div class=\"slider-dots\" id=\"sliderDots\">\r\n      <div class=\"dot active\" data-index=\"0\"><\/div>\r\n      <div class=\"dot\" data-index=\"1\"><\/div>\r\n      <div class=\"dot\" data-index=\"2\"><\/div>\r\n      <div class=\"dot\" data-index=\"3\"><\/div>\r\n      <div class=\"dot\" data-index=\"4\"><\/div>\r\n      <div class=\"dot\" data-index=\"5\"><\/div>\r\n    <\/div>\r\n    <span class=\"slider-counter\" id=\"sliderCounter\">1 \/ 6<\/span>\r\n  <\/div>\r\n<\/section>\r\n\r\n<div class=\"lightbox\" id=\"lightbox\">\r\n  <div class=\"lightbox-wrapper\">\r\n    <button class=\"lightbox-close\" id=\"lightboxClose\" aria-label=\"Cerrar\">\u2715<\/button>\r\n    <button class=\"lightbox-nav-btn prev-btn\" id=\"lightboxPrev\" aria-label=\"Anterior\">&#8592;<\/button>\r\n    <img decoding=\"async\" src=\"\" alt=\"Vista ampliada\" class=\"lightbox-img\" id=\"lightboxImg\">\r\n    <button class=\"lightbox-nav-btn next-btn\" id=\"lightboxNext\" aria-label=\"Siguiente\">&#8594;<\/button>\r\n    <div class=\"lightbox-index-counter\" id=\"lightboxIndexCounter\">1 \/ 1<\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<div class=\"legal-modal\" id=\"legalModal\">\r\n  <button class=\"lightbox-close\" id=\"legalClose\" aria-label=\"Salir del aviso legal\">\u2715<\/button>\r\n  <iframe src=\"https:\/\/claudiaflores.estaciondiseno.es\/index.php\/aviso-legal\/\" class=\"legal-iframe\"><\/iframe>\r\n<\/div>\r\n\r\n<section id=\"contacto\">\r\n  <div class=\"inner\">\r\n    <h2 class=\"section-title\">Trabajemos juntos<\/h2>\r\n    <div class=\"section-line\"><\/div>\r\n    <p class=\"contact-text\">\u00bfTienes un proyecto en mente? Estoy disponible para colaboraciones freelance, proyectos de branding, dise\u00f1o editorial y m\u00e1s. Escr\u00edbeme y hablamos.<\/p>\r\n    <div class=\"contact-links\">\r\n      <a href=\"mailto:claudiafloresrodrigo2@gmail.com\" class=\"contact-btn btn-primary\">\u2709 claudiafloresrodrigo2@gmail.com<\/a>\r\n      <a href=\"tel:+34697636086\" class=\"contact-btn btn-outline\">\ud83d\udcde +34 697 63 60 86<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<footer>\r\n  \u00a9 2026 <span>Claudia Flores Rodrigo<\/span> \u00b7 Dise\u00f1adora Gr\u00e1fica\r\n  <a href=\"https:\/\/claudiaflores.estaciondiseno.es\/index.php\/aviso-legal\/\" id=\"openLegal\" class=\"footer-legal-link\">Aviso legal<\/a>\r\n<\/footer>\r\n\r\n<script>\r\n  \/\/ \u2500\u2500 HAMBURGER MEN\u00da \u2500\u2500\r\n  const toggle = document.getElementById('menuToggle');\r\n  const nav = document.getElementById('mainNav');\r\n  toggle.addEventListener('click', () => {\r\n    toggle.classList.toggle('open');\r\n    nav.classList.toggle('open');\r\n  });\r\n  document.querySelectorAll('.nav-link').forEach(link => {\r\n    link.addEventListener('click', () => {\r\n      toggle.classList.remove('open');\r\n      nav.classList.remove('open');\r\n    });\r\n  });\r\n\r\n  \/\/ \u2500\u2500 SLIDER GENERAL (C\u00d3DIGO ORIGINAL INTACTO) \u2500\u2500\r\n  const track = document.getElementById('sliderTrack');\r\n  const dots = document.querySelectorAll('.dot');\r\n  const counter = document.getElementById('sliderCounter');\r\n  const prevBtn = document.getElementById('prevBtn');\r\n  const nextBtn = document.getElementById('nextBtn');\r\n  const categoryLinks = document.querySelectorAll('.category-link');\r\n  const total = 6;\r\n  let current = 0;\r\n\r\n  function goTo(index) {\r\n    current = index;\r\n    track.style.transform = `translateX(-${current * (100 \/ total)}%)`;\r\n    dots.forEach((d, i) => d.classList.toggle('active', i === current));\r\n    counter.textContent = `${current + 1} \/ ${total}`;\r\n    prevBtn.disabled = current === 0;\r\n    nextBtn.disabled = current === total - 1;\r\n   \r\n    categoryLinks.forEach(l => l.classList.remove('active'));\r\n   \r\n    if (current === 2) {\r\n      const publicidadLink = document.querySelector('.category-link[data-slide=\"1\"]');\r\n      if (publicidadLink) publicidadLink.classList.add('active');\r\n    } else {\r\n      const activeLink = document.querySelector(`.category-link[data-slide=\"${current}\"]`);\r\n      if (activeLink) activeLink.classList.add('active');\r\n    }\r\n  }\r\n\r\n  prevBtn.addEventListener('click', () => { if (current > 0) goTo(current - 1); });\r\n  nextBtn.addEventListener('click', () => { if (current < total - 1) goTo(current + 1); });\r\n  dots.forEach(d => d.addEventListener('click', () => goTo(+d.dataset.index)));\r\n\r\n  categoryLinks.forEach(link => {\r\n    link.addEventListener('click', (e) => {\r\n      e.preventDefault();\r\n      goTo(parseInt(link.dataset.slide));\r\n    });\r\n  });\r\n\r\n  let startX = 0;\r\n  track.addEventListener('touchstart', e => { startX = e.touches[0].clientX; }, { passive: true });\r\n  track.addEventListener('touchend', e => {\r\n    const diff = startX - e.changedTouches[0].clientX;\r\n    if (Math.abs(diff) > 50) {\r\n      if (diff > 0 && current < total - 1) goTo(current + 1);\r\n      else if (diff < 0 && current > 0) goTo(current - 1);\r\n    }\r\n  });\r\n\r\n  goTo(0);\r\n\r\n  \/\/ \u2500\u2500 L\u00d3GICA DE GALER\u00cdA DE IM\u00c1GENES (Lightbox din\u00e1mico) \u2500\u2500\r\n  const lightbox = document.getElementById('lightbox');\r\n  const lightboxImg = document.getElementById('lightboxImg');\r\n  const lightboxClose = document.getElementById('lightboxClose');\r\n  const lightboxPrev = document.getElementById('lightboxPrev');\r\n  const lightboxNext = document.getElementById('lightboxNext');\r\n  const lightboxIndexCounter = document.getElementById('lightboxIndexCounter');\r\n\r\n  let currentProjectImages = [];\r\n  let currentImageIndex = 0;\r\n\r\n  document.querySelectorAll('.slide').forEach(slide => {\r\n    const imagesInSlide = Array.from(slide.querySelectorAll('.collage-item img, .project-single-image img'));\r\n   \r\n    imagesInSlide.forEach((img, index) => {\r\n      img.addEventListener('click', () => {\r\n        currentProjectImages = imagesInSlide;\r\n        currentImageIndex = index;\r\n        updateLightboxImage();\r\n        lightbox.classList.add('active');\r\n        document.body.classList.add('lightbox-open');\r\n      });\r\n    });\r\n  });\r\n\r\n  function updateLightboxImage() {\r\n    if (currentProjectImages.length === 0) return;\r\n    const activeImg = currentProjectImages[currentImageIndex];\r\n    lightboxImg.src = activeImg.src;\r\n    lightboxImg.alt = activeImg.alt;\r\n    lightboxIndexCounter.textContent = `${currentImageIndex + 1} \/ ${currentProjectImages.length}`;\r\n  }\r\n\r\n  lightboxClose.addEventListener('click', () => {\r\n    lightbox.classList.remove('active');\r\n    document.body.classList.remove('lightbox-open');\r\n  });\r\n\r\n  lightboxPrev.addEventListener('click', () => {\r\n    if (currentImageIndex > 0) {\r\n      currentImageIndex--;\r\n      updateLightboxImage();\r\n    }\r\n  });\r\n\r\n  lightboxNext.addEventListener('click', () => {\r\n    if (currentImageIndex < currentProjectImages.length - 1) {\r\n      currentImageIndex++;\r\n      updateLightboxImage();\r\n    }\r\n  });\r\n\r\n  document.addEventListener('keydown', e => {\r\n    if (!lightbox.classList.contains('active')) return;\r\n    if (e.key === 'Escape') lightboxClose.click();\r\n    if (e.key === 'ArrowLeft') lightboxPrev.click();\r\n    if (e.key === 'ArrowRight') lightboxNext.click();\r\n  });\r\n\r\n  \/\/ \u2500\u2500 MODAL LEGAL \u2500\u2500\r\n  const legalModal = document.getElementById('legalModal');\r\n  const openLegal = document.getElementById('openLegal');\r\n  const legalClose = document.getElementById('legalClose');\r\n\r\n  if(openLegal && legalModal && legalClose) {\r\n    openLegal.addEventListener('click', (e) => {\r\n      e.preventDefault();\r\n      legalModal.classList.add('active');\r\n      document.body.classList.add('lightbox-open');\r\n    });\r\n    legalClose.addEventListener('click', () => {\r\n      legalModal.classList.remove('active');\r\n      document.body.classList.remove('lightbox-open');\r\n    });\r\n  }\r\n<\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Claudia Flores Rodrigo \u2014 Portfolio Claudia Inicio Sobre m\u00ed Proyectos Contacto Claudia Flores Rodrigo Portfolio Dise\u00f1adora Gr\u00e1fica &nbsp;\u00b7&nbsp; 2026 Ver proyectos \u2192 Sobre m\u00ed \u00a1Hola! Soy Claudia, dise\u00f1adora gr\u00e1fica enfocada en transformar ideas en soluciones visuales claras, atractivas y funcionales. Me especializo en identidad visual, ayudando a marcas a conectar con su p\u00fablico de forma [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-189","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/claudiaflores.estaciondiseno.es\/index.php\/wp-json\/wp\/v2\/pages\/189","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/claudiaflores.estaciondiseno.es\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/claudiaflores.estaciondiseno.es\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/claudiaflores.estaciondiseno.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/claudiaflores.estaciondiseno.es\/index.php\/wp-json\/wp\/v2\/comments?post=189"}],"version-history":[{"count":199,"href":"https:\/\/claudiaflores.estaciondiseno.es\/index.php\/wp-json\/wp\/v2\/pages\/189\/revisions"}],"predecessor-version":[{"id":473,"href":"https:\/\/claudiaflores.estaciondiseno.es\/index.php\/wp-json\/wp\/v2\/pages\/189\/revisions\/473"}],"wp:attachment":[{"href":"https:\/\/claudiaflores.estaciondiseno.es\/index.php\/wp-json\/wp\/v2\/media?parent=189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}