@charset "UTF-8";
:root{color-scheme:dark;--bg:#111310;--surface:#1b1e17;--text:#f0f2e9;--muted:#a3a99a;--lime:#c3f65d;--line:#343a2d;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;min-width:320px;min-height:100%;background:var(--bg);color:var(--text)}
body{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
::selection{background:var(--lime);color:var(--bg)}
a{color:inherit;text-decoration:none}button{font:inherit}svg{display:block;flex:none}button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,.panel:focus-visible{outline:2px solid var(--lime);outline-offset:4px;border-radius:4px}
.accent{color:var(--lime)}
.page-shell{max-width:1376px;min-height:100svh;margin:auto;padding:0 3.5rem;display:grid;grid-template-rows:92px 1fr 80px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.wordmark{display:flex;align-items:center;gap:.65rem;font-size:1.5rem;letter-spacing:-.065em;font-weight:600}
.wordmark svg{width:25px;height:25px;color:var(--lime)}
.header-note{display:flex;align-items:center;gap:.65rem;font-size:.75rem;letter-spacing:.15em;color:var(--muted)}.location-flag{font-size:1.25rem;letter-spacing:0}
.profile-layout{width:100%;align-self:center;min-height:min(790px,calc(100svh - 172px));display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.25fr);gap:clamp(2rem,4.5vw,4.5rem)}
.portrait{margin:0;position:relative;overflow:hidden;border-radius:10px;width:100%;min-width:0;min-height:320px;background:var(--surface)}
.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 62%;position:absolute;inset:0}
.photo-label,figcaption{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:1}
.photo-label{top:0;padding:1.6rem;background:linear-gradient(#12180ec4,transparent);font-size:.75rem;letter-spacing:.13em}
.photo-label svg{width:22px;height:22px}
figcaption{bottom:0;padding:3.5rem 1.6rem 1.6rem;background:linear-gradient(transparent,#111a0dd9);font-size:1.1rem;line-height:1.4}
.photo-star{font-size:2.9rem;color:var(--lime);line-height:1}
.profile-content{min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:.7rem 0}
.eyebrow{color:var(--muted);font-size:.75rem;font-weight:500;letter-spacing:.19em;margin:0 0 .8rem}
h1{font-size:clamp(4.4rem,7.5vw,7rem);letter-spacing:-.065em;font-weight:500;line-height:1;margin:0 0 1.1rem}h1 span{color:var(--lime)}
.profession{font-size:1.15rem;letter-spacing:-.015em;line-height:1.55;margin:0}.profession span{color:var(--muted)}
.tabs{display:flex;align-items:stretch;gap:1.8rem;border-bottom:1px solid var(--line);margin-top:1.8rem;flex:none}
.tab{border:0;position:relative;cursor:pointer;color:var(--muted);background:transparent;padding:0 0 .9rem;min-height:44px;font-size:.9375rem;white-space:nowrap;transition:color 150ms}
.tab[aria-selected=true]{color:var(--text)}.tab[aria-selected=true]::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--lime)}
.tab:hover{color:var(--lime)}.tab span{margin-left:.4rem;color:var(--lime)}
.panels{min-height:330px;margin-top:1.65rem;flex:none}
.panel[hidden]{display:none}.panel{animation:appear 220ms ease both}
h2{font-size:1.5rem;font-weight:500;line-height:1.25;letter-spacing:-.035em;margin:0 0 .8rem}
.bio{font-size:1rem;line-height:1.65;color:var(--muted);margin:0}.bio.family{margin-top:.65rem}.bio strong{color:var(--text);font-weight:400}
.interests{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:1rem 0 0;list-style:none}.interests li{display:flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:99px;padding:.45rem .75rem;font-size:.875rem}.interests li span{color:var(--lime);font-size:1.15rem;line-height:1}
.outlier-note{display:flex;align-items:center;gap:1.05rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1.2rem}.outlier-years{display:flex;align-items:baseline;gap:.3rem;color:var(--lime);font-size:2.8rem;line-height:1;letter-spacing:-.07em}.outlier-years>span{font-size:.75rem;letter-spacing:0;margin-right:.3rem}.outlier-note strong{font-size:1.3rem;letter-spacing:-.035em;font-weight:500}.outlier-note p{font-size:.8125rem;color:var(--muted);margin:.3rem 0 0}.outlier-note svg{width:26px;height:26px;color:var(--lime);margin-left:auto}
.panel-heading{margin-bottom:1.15rem}.panel-heading h2{margin-bottom:.4rem}.panel-heading p{font-size:.9375rem;color:var(--muted);line-height:1.5;margin:0}
.achievements{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;min-height:246px}.achievement{display:flex;flex-direction:column;min-width:0;padding:1.1rem;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.tour{color:var(--bg);background:var(--lime);border-color:var(--lime)}
.achievement-label{display:flex;align-items:center;justify-content:space-between;gap:.4rem;font-size:.75rem;letter-spacing:.07em}.achievement-label svg{width:22px;height:22px}.gp .achievement-label{color:var(--lime)}
.achievement h3{font-size:clamp(1.7rem,2.5vw,2.5rem);font-weight:500;letter-spacing:-.055em;line-height:1.1;margin:1.3rem 0 .6rem}.achievement h3>span:not(.ordinal){font-size:1rem;line-height:1.3;display:block;letter-spacing:-.02em;margin-top:.4rem}.achievement .ordinal{font-size:.55em}.achievement>p{font-size:.875rem;line-height:1.5;margin:0;color:var(--muted)}.tour>p{color:#364521}.achievement-location{display:flex;align-items:center;gap:.4rem;font-size:.8125rem;margin-top:auto;padding-top:.8rem;border-top:1px solid #3f4931}.tour .achievement-location{border-color:#91b844}
.flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1.5rem;line-height:1.15;flex:none}
.country-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none}.country-grid li{min-width:0;display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;min-height:43px;border:1px solid var(--line);border-radius:5px;font-size:.875rem;line-height:1.2}.country-grid .flag{font-size:1.5rem}.country-grid li:nth-child(5){font-size:.8125rem}
.site-footer{padding-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.75rem;color:var(--muted)}.social-links{display:flex;align-items:center;gap:1.6rem;font-size:.875rem}.social-links a{display:flex;align-items:center;gap:.5rem;min-height:44px}.social-links a:hover{color:var(--text)}.social-links a span{color:var(--lime)}
.noscript-message{padding:1rem}
@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.outlier-note:hover strong{color:var(--lime)}
.deck-link{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#66734f}.deck-link:hover{color:var(--lime)}.deck-link span{color:var(--lime)}
.tastes-list{margin:0}.tastes-list>div{display:grid;grid-template-columns:145px 1fr;gap:1rem;padding:1.05rem 0;border-bottom:1px solid var(--line)}.tastes-list>div:first-child{padding-top:.45rem}.tastes-list>div:last-child{border:0}.tastes-list dt{display:flex;align-items:center;gap:.6rem;font-size:.75rem;letter-spacing:.075em;color:var(--muted)}.tastes-list dt svg{width:22px;height:22px;color:var(--lime)}.tastes-list dd{margin:0;font-size:1.3rem;line-height:1.4;letter-spacing:-.015em}.tastes-list dd>span{display:block;color:var(--muted);font-size:.875rem;letter-spacing:0;margin-top:.15rem}.tastes-list dd.anime-list{font-size:1rem;line-height:1.65}.tastes-list dd.anime-list>span{display:inline;color:var(--lime);font-size:1rem;margin-inline:.2rem}
/* Nombre principal y firma personal. */
.person-name{font-size:clamp(2.5rem,3.85vw,3.75rem);line-height:1.02;letter-spacing:-.055em;margin-bottom:.5rem}
.profile-alias{display:flex;align-items:center;gap:.6rem;color:var(--lime);font-size:.9375rem;line-height:1.3;font-weight:500;letter-spacing:.06em;margin:0 0 .85rem}
.profile-alias>span{width:1.35rem;height:1px;background:currentColor}
.trek-highlight{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:7px;margin-bottom:.7rem}.trek-highlight>svg{width:28px;height:28px;color:var(--lime)}.trek-highlight p{margin:0 0 .35rem;font-size:.75rem;letter-spacing:.1em;color:var(--muted)}.trek-highlight h3{margin:0;font-weight:500;font-size:1.3rem;letter-spacing:-.025em}.trail-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}.trail-list li{border-bottom:1px solid var(--line);padding:1rem 0;font-size:1rem;line-height:1.4}.trail-list small{display:block;font-size:.875rem;color:var(--muted)}
.trek-route{display:block;font-size:.875rem;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:.3rem}

/* Tablets: fotografía y presentación arriba; contenido a todo el ancho. */
@media screen and (min-width:961px) and (max-width:1100px){
  .page-shell{padding-inline:2rem}
  .profile-layout{gap:2rem;grid-template-columns:minmax(0,.78fr) minmax(0,1.25fr)}
  .tabs{gap:1.3rem}
  .country-grid li{padding:.5rem;gap:.4rem}
}
@media screen and (max-width:960px){
  .page-shell{max-width:800px;min-height:100svh;padding:0 clamp(1.25rem,5vw,2.5rem);display:flex;flex-direction:column}
  .site-header{min-height:88px;flex:none}
  .profile-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);grid-template-areas:"photo intro" "tabs tabs" "panels panels";gap:0 2rem;min-height:0;margin:1rem 0 0}
  .profile-content{display:contents}
  .portrait{grid-area:photo;aspect-ratio:4/5;min-height:240px;align-self:stretch}
  .portrait img{object-position:50% 85%}
  .photo-label{padding:1rem;font-size:.6875rem}
  figcaption{padding:3rem 1rem 1rem;font-size:.9375rem}
  .photo-star{font-size:2.2rem}
  .intro{grid-area:intro;align-self:center;min-width:0}
  .person-name{font-size:clamp(2rem,4.5vw,2.75rem);line-height:1.06;margin-bottom:.75rem}
  .profile-alias{margin-bottom:1rem}
  .profession{font-size:1rem;line-height:1.6}
  .tabs{grid-area:tabs;margin-top:2rem;gap:0;justify-content:space-between}
  .tab{min-height:48px;padding:.75rem .35rem;font-size:.9375rem}
  .panels{grid-area:panels;min-width:0;min-height:350px;margin-top:1.75rem}
  .panel{height:auto}
  h2{font-size:1.6rem;line-height:1.3}
  .bio{line-height:1.75}
  .outlier-note{padding-block:1.25rem .25rem;margin-top:1.5rem}
  .outlier-note p{line-height:1.5}
  .achievement{padding:1.25rem}
  .achievement h3{font-size:2.4rem}
  .achievement-location{margin-top:1.5rem}
  .country-grid li{min-height:48px}
  .site-footer{margin-top:auto;padding-block:2rem 1.5rem;gap:1rem;flex-wrap:wrap}
}
/* Teléfonos: el nombre respira y la fotografía conserva su presencia. */
@media screen and (max-width:599px){
  .site-header{min-height:76px}
  .wordmark{font-size:1.4rem;gap:.5rem}
  .wordmark svg{width:23px;height:23px}
  .header-note{gap:.4rem;font-size:.625rem;letter-spacing:.09em;white-space:nowrap}
  .location-flag{font-size:1rem}
  .profile-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "photo" "tabs" "panels";margin-top:1rem}
  .eyebrow{font-size:.6875rem;letter-spacing:.18em;margin-bottom:.9rem}
  .person-name{font-size:clamp(2.1rem,9.6vw,3.25rem);line-height:1.05;letter-spacing:-.05em;margin-bottom:.75rem}
  .profile-alias{font-size:.9375rem;margin-bottom:1rem}
  .profession{font-size:1rem;line-height:1.6}
  .portrait{aspect-ratio:3/2;min-height:200px;margin-top:1.75rem;border-radius:12px}
  .portrait img{object-position:50% 94%}
  .photo-label{padding:1rem 1.1rem;font-size:.625rem}
  .photo-label svg{width:18px;height:18px}
  figcaption{padding:3rem 1.1rem 1rem;font-size:.875rem}
  .photo-star{font-size:2rem}
  .tabs{margin-top:1.25rem;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;gap:.25rem;scroll-padding-inline:.25rem}
  .tab{flex:1 0 auto;min-height:48px;padding:.75rem .5rem;font-size:.875rem}
  .tab>span{display:none}
  .tab[aria-selected=true]::after{bottom:0}
  .tab:focus-visible{outline-offset:-3px}
  .panels{min-height:0;margin-top:1.5rem}
  h2{font-size:1.5rem;line-height:1.25;letter-spacing:-.04em}
  .panel-heading{margin-bottom:1.25rem}
  .panel-heading p{font-size:.9375rem;line-height:1.65}
  .bio{font-size:1rem;line-height:1.75}
  .interests{gap:.5rem;margin-top:1.25rem}
  .interests li{min-height:38px;padding:.45rem .7rem;font-size:.8125rem}
  .outlier-note{gap:.85rem}
  .outlier-years{font-size:2.75rem;flex:none}
  .outlier-note>div{min-width:0}
  .outlier-note strong{font-size:1.2rem}
  .outlier-note p{font-size:.8125rem}
  .outlier-note svg{width:22px;height:22px}
  .achievements{gap:.75rem}
  .achievement{padding:1.1rem}
  .achievement h3{font-size:2.2rem;margin-top:1.2rem}
  .achievement-label{font-size:.6875rem;letter-spacing:.025em}
  .achievement-location{line-height:1.5;gap:.5rem}
  .country-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}
  .country-grid li{min-height:52px;padding:.6rem;gap:.5rem;font-size:.8125rem;line-height:1.35}
  .country-grid .flag{font-size:1.4rem}
  .tastes-list>div{grid-template-columns:1fr;gap:.625rem;padding:1.15rem 0}
  .tastes-list dt{font-size:.6875rem}
  .tastes-list dd{font-size:1.2rem}
  .tastes-list dd.anime-list{line-height:1.8}
  .trek-highlight{padding:1.15rem 1rem}
  .trek-highlight h3{font-size:1.25rem}
  .trail-list{gap:0 1rem}
  .trail-list li{padding:1rem 0}
  .site-footer{margin-top:2rem;padding-block:1rem max(1.25rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:.5rem 1rem}
  .social-links{gap:1rem;font-size:.8125rem}
}
@media screen and (max-width:420px){
  .achievements{grid-template-columns:minmax(0,1fr)}
  .achievement{padding:1.25rem}
  .achievement h3{font-size:2.5rem}
  .achievement-label{font-size:.75rem}
  .achievement-location{margin-top:1.25rem}
}
@media screen and (max-width:359px){
  .page-shell{padding-inline:1rem}
  .tab{padding-inline:.375rem;font-size:.8125rem}
  .country-grid{gap:.5rem}
  .country-grid li{padding:.5rem;gap:.4rem}
  .country-grid .flag{font-size:1.25rem}
  .outlier-note{gap:.65rem}
  .outlier-years{font-size:2.3rem}
  .outlier-note svg{width:18px;height:18px}
  .site-footer{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){.panel{animation:none}*{transition:none!important;scroll-behavior:auto!important}}
@media print{
  .page-shell{min-height:0;display:block}
  .profile-layout{min-height:0;display:block}
  .portrait{position:relative;height:350px;width:260px}
  .profile-content{display:block}
  .tabs{display:none}
  .panels{min-height:0}
  .panel[hidden]{display:block}
  .panel{margin-top:2rem;break-inside:avoid}
  .site-footer{margin-top:2rem}
}
