/* Navegación */
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{font-size:27px;font-weight:750;letter-spacing:-1.8px}.wordmark span{color:#6c8267}.navigation{display:flex;gap:29px;align-items:center;font-size:12px;font-weight:550}.navigation a:hover{text-decoration:underline;text-underline-offset:6px}.language{font-size:10px;padding:4px 7px;border:1px solid #b7c3b3;border-radius:4px;letter-spacing:.08em}.menu-button{border:1px solid var(--line);background:none;padding:7px 13px;border-radius:4px;font-size:13px}
/* Portada */
.hero{padding:44px 0 42px}.hero-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.hero-top .eyebrow{display:flex;align-items:center;gap:10px}.hero-top .eyebrow:before{content:'';width:7px;height:7px;border-radius:50%;background:#59754a}.edition{font:11px ui-monospace,monospace;color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:55px;margin-top:26px;align-items:start}.hero h1{font-size:clamp(34px,3.6vw,46px);font-weight:450;letter-spacing:-.065em;line-height:1.06}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#5d755b;letter-spacing:-.06em}.hero-copy{max-width:560px;margin-top:18px;color:var(--muted);font-size:16px}.hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:22px}.button{display:inline-flex;align-items:center;gap:25px;background:var(--green);color:var(--lime);padding:12px 19px;border-radius:4px;font-size:12px;font-weight:550}.button:hover{background:#245447}.system-card{background:var(--green);color:var(--lime);padding:26px;border-radius:var(--radius);position:relative;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.card-top{display:flex;justify-content:space-between;font:10px ui-monospace,monospace;letter-spacing:.08em;color:#c0d0bc}.system-visual{padding:29px 0;display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;gap:0}.system-node{border:1px solid #648571;border-radius:5px;padding:17px 8px;text-align:center;font-size:13px}.system-node small{display:block;font:9px ui-monospace,monospace;color:#c0d0bc;margin-top:6px}.connection{height:1px;background:#759276;position:relative}.connection:after{content:'';width:5px;height:5px;background:var(--lime);border-radius:50%;position:absolute;right:0;top:-2px}.system-base{grid-column:1/4;border-top:1px dashed #648571;margin:18px 25px 0;text-align:center;padding-top:17px;font:10px ui-monospace,monospace;letter-spacing:.13em}.card-bottom{border-top:1px solid #416658;padding-top:18px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#c0d0bc}.card-bottom strong{font-size:34px;font-weight:450;color:var(--lime);letter-spacing:-2px}.hero-foot{display:flex;justify-content:space-between;gap:20px;margin-top:30px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:11px}.hero-foot span:last-child{font-family:ui-monospace,monospace}
/* Perfil y trayectoria */
.profile-layout{display:grid;grid-template-columns:1fr 2fr;gap:50px}.profile-aside{color:var(--muted);font-size:13px;max-width:220px}.profile-copy{font-size:17px;color:var(--muted)}.profile-copy p+p{margin-top:20px}.profile-copy strong{color:var(--ink);font-weight:550}.experience-list{margin-left:calc((100% - 50px)/3 + 50px)}.experience{border-top:1px solid var(--line);padding:31px 0 35px}.experience-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.experience h3{font-size:22px;font-weight:550;letter-spacing:-.035em;max-width:470px}.period{white-space:nowrap;font:11px ui-monospace,monospace;color:var(--muted)}.context{font-size:12px;color:var(--muted);margin-top:10px}.experience-description{margin-top:22px;font-size:14px;color:var(--muted)}.experience ul{font-size:13px;color:var(--muted);margin-block:16px 20px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{font-size:10px;line-height:1.5;border:1px solid #cbd4c4;border-radius:3px;padding:5px 8px;color:#405b47}.experience details{margin-top:20px;font-size:12px;color:var(--muted)}summary{cursor:pointer;width:fit-content}details[open] summary{margin-bottom:12px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.skill-card{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.skill-number{font:10px ui-monospace,monospace;color:var(--muted)}.skill-card h3{font-size:18px;font-weight:550;margin:25px 0 17px;letter-spacing:-.025em}.skill-card p{font-size:13px;color:var(--muted)}.ai-note{display:flex;gap:25px;margin-top:22px;padding:23px;background:var(--surface);font-size:13px;color:var(--muted);border-radius:4px}.ai-note strong{white-space:nowrap;color:var(--ink);font-weight:550}.education-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.education-item{padding-top:24px;border-top:1px solid var(--line)}.education-item h3{font-size:20px;font-weight:500;letter-spacing:-.035em;margin:15px 0}.education-item p{font-size:13px;color:var(--muted)}.education-item .period{display:block}.credential{font-size:10px;color:var(--green);display:inline-block;margin-top:18px;border:1px solid #cbd4c4;padding:4px 8px;border-radius:3px}.interests{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--green);color:var(--lime);padding:48px;border-radius:var(--radius);margin-block:70px}.interests h2{font-size:36px;letter-spacing:-.04em;font-weight:450;margin:20px 0}.interests p{font-size:14px;color:#c0d0bc}.interest-list{list-style:none;margin:0;padding:0}.interest-list li{font-size:13px;border-bottom:1px solid #416658;padding:14px 0;margin:0;display:flex;gap:15px}.interest-list li span{font:10px ui-monospace,monospace;color:#a2b99b;padding-top:4px}.blog-teaser{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:65px}.blog-teaser h2{font-size:27px;font-weight:500;letter-spacing:-.035em}.blog-teaser p{font-size:13px;color:var(--muted);margin-top:10px}.site-footer{border-top:1px solid var(--line);padding:27px 0 35px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:11px;color:var(--muted)}.footer-inner .wordmark{color:var(--ink);font-size:22px}.footer-meta{display:flex;gap:24px;align-items:center}.blog-hero{max-width:800px;padding-block:80px 45px}.blog-hero h1{font-size:clamp(42px,7vw,76px);font-weight:450;letter-spacing:-.06em;margin:24px 0}.blog-hero p{max-width:640px;color:var(--muted)}.empty-blog{border-block:1px solid var(--line);padding:40px 0;margin-bottom:70px}.empty-blog h2{font-size:22px;font-weight:500;margin-bottom:12px}.empty-blog p{font-size:14px;color:var(--muted);margin-bottom:25px}.blog-topics{margin-top:30px}
@media(min-width:861px){.menu-button{display:none}}
@media(max-width:1050px){.hero-grid{gap:35px}.system-card{padding:20px}.navigation{gap:19px}.skills-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.header-inner{min-height:78px;flex-wrap:wrap;gap:10px;padding-block:15px}.navigation{width:100%;flex-wrap:wrap;padding:12px 0;gap:15px 22px}.js .navigation{display:none}.js .navigation.is-open{display:flex}.hero{padding-top:45px}.hero-top{align-items:flex-start}.edition{display:none}.hero-grid{grid-template-columns:1fr;margin-top:28px;gap:38px}.hero h1{max-width:650px}.hero-copy{max-width:600px}.system-card{min-height:290px;max-width:550px;width:100%}.hero-foot{margin-top:35px;flex-wrap:wrap;gap:8px}.profile-layout{grid-template-columns:1fr;gap:25px}.profile-aside{max-width:none}.experience-list{margin-left:0}.experience-heading{flex-direction:column;gap:12px}.experience h3{font-size:22px}.education-grid{grid-template-columns:1fr;gap:25px}.education-item{max-width:none}.interests{grid-template-columns:1fr;gap:25px;padding:30px;margin-block:45px}.interests h2{font-size:32px}.blog-teaser{align-items:flex-start;flex-direction:column;padding-bottom:45px}.footer-inner{align-items:flex-start}.footer-meta{align-items:flex-start;flex-direction:column;gap:8px}.ai-note{flex-direction:column;gap:8px}.ai-note strong{white-space:normal}}
@media(max-width:480px){.skills-grid{grid-template-columns:1fr}.skill-card{padding:25px}.hero h1{font-size:32px}.hero-actions{gap:22px}.hero-top .eyebrow{font-size:9px}.interests{padding:25px}.footer-inner{flex-wrap:wrap}.system-card{min-height:270px}.card-bottom strong{font-size:30px}}
@media print{body{background:#fff;font-size:11px}.container{width:100%}.site-header,.hero-actions,.system-card,.blog-teaser,.menu-button,.site-footer,.skip-link{display:none!important}.hero{padding:15px 0}.hero-grid,.profile-layout,.section-heading{display:block}.hero h1{font-size:32px}.hero-copy,.profile-copy{font-size:12px}.hero-foot{margin-top:20px}.section{padding-block:22px}.section-heading{margin-bottom:20px}.section-heading h2{font-size:25px;margin-top:10px}.experience-list{margin:0}.experience,.education-item,.skill-card{break-inside:avoid}.experience{padding:20px 0}.experience h3{font-size:18px}.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-card{padding:16px}.interests{background:transparent;color:var(--ink);padding:0;margin:25px 0}.interests p,.interest-list li{color:var(--muted)}.interests h2{font-size:25px}.tags{display:none}details{display:none}}

/* Capas de experiencia de la portada. */
.system-layers{display:flex;flex-direction:column;padding:22px 0;width:100%}
.system-layers .layer-wide{width:100%;padding:12px 8px}
.application-layer{display:grid;grid-template-columns:1fr 24px 1fr;width:100%;align-items:center}
.application-layer .system-node{padding:13px 6px}
.layer-connection{height:20px;width:1px;background:#759276;position:relative}
.layer-connection:after{content:'';position:absolute;bottom:0;left:-2px;width:5px;height:5px;background:var(--lime);border-radius:50%}
.system-layers .system-base{width:calc(100% - 30px);margin:19px 15px 0;padding-top:15px;line-height:1.8}

.experience-footer{gap:20px;padding-top:12px}.linux-penguin{display:block;width:112px;height:112px;object-fit:contain;flex-shrink:0}.experience-footer span{font-size:11px;line-height:1.7;text-align:right;max-width:190px}
@media(max-width:480px){.linux-penguin{width:90px;height:90px}.experience-footer{gap:12px}.experience-footer span{font-size:10px}}

.system-frontend{width:calc(100% - 30px);margin:0 15px 19px;padding-bottom:15px;border-bottom:1px dashed #648571;text-align:center;font:10px/1.8 ui-monospace,monospace;letter-spacing:.13em}

/* Idiomas: enlaces reales, disponibles también sin JavaScript. */
.language-switcher{display:inline-flex;gap:5px;align-items:center}
.language-switcher .language{display:inline-block;line-height:1.6}
.language-switcher .language[aria-current="page"]{background:var(--green);border-color:var(--green);color:var(--lime)}
@media(min-width:861px) and (max-width:1050px){.navigation{gap:15px}.navigation .language-switcher{gap:3px}}

/* Résumé des responsabilités dans la présentation, commun aux trois langues. */
.hero-responsibilities{padding-left:17px;margin:20px 0 0;color:var(--muted);font-size:13px;line-height:1.6;max-width:560px}
.hero-responsibilities li+li{margin-top:8px}
@media(max-width:860px){.hero{padding-top:30px}.hero-grid{margin-top:22px;gap:28px}.hero-responsibilities{font-size:13px}}
@media print{.hero-responsibilities{display:none}}

.navigation .nav-notes {
  padding: 5px 10px;
  border-radius: 4px;
  background: var(--lime);
  color: var(--green);
  font-weight: 700;
  white-space: nowrap;
}

.navigation .nav-notes[aria-current="page"] {
  background: var(--green);
  color: var(--lime);
}
