.es-page{background-color: var(--bg); color: var(--ink); font: 400 17px/29px var(--font-sans); -webkit-font-smoothing: antialiased;}
.es-page *{box-sizing: border-box;}
.es-page :focus-visible{outline: var(--stroke-rule) solid var(--focus); outline-offset: 3px; border-radius: var(--radius-xs);}
@media (prefers-reduced-motion: no-preference){
.es-link, .es-links a, .es-seg button, .es-seg a{transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease;}
}
.es-page{min-height: 100vh; background-image: linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px); background-size: var(--space-5) var(--space-5);}
.es-page__inner{max-width: var(--size-page); margin: 0 auto; padding: var(--space-8) var(--space-6); display: grid; grid-template-columns: var(--size-sidebar) 1fr; gap: var(--space-8); align-items: start;}
.es-page__aside{position: sticky; top: var(--space-6);}
.es-page__main > * + *{margin-top: var(--space-8);}
.es-page__inner > .es-footer{grid-column: 1 / -1;}
@media (max-width: 900px){
.es-page__inner{grid-template-columns: 1fr; gap: var(--space-7); padding: var(--space-6) var(--space-4);}
.es-page__aside{position: static;}
.es-page__main > * + *{margin-top: var(--space-7);}
}
@media (prefers-contrast: more){
.es-page{background-image: none;}
}
.es-skip{position: absolute; left: var(--space-4); top: -100px; background: var(--accent); color: var(--on-accent); padding: var(--space-2) var(--space-4); font: 600 15px/20px var(--font-sans);}
.es-skip:focus{top: var(--space-4);}
.es-frame{--crop: var(--line-strong); --arm: var(--size-crop); --w: var(--stroke-hair); position: relative; padding: var(--space-5); background: linear-gradient(var(--crop), var(--crop)) top left / var(--arm) var(--w) no-repeat, linear-gradient(var(--crop), var(--crop)) top left / var(--w) var(--arm) no-repeat, linear-gradient(var(--crop), var(--crop)) top right / var(--arm) var(--w) no-repeat, linear-gradient(var(--crop), var(--crop)) top right / var(--w) var(--arm) no-repeat, linear-gradient(var(--crop), var(--crop)) bottom left / var(--arm) var(--w) no-repeat, linear-gradient(var(--crop), var(--crop)) bottom left / var(--w) var(--arm) no-repeat, linear-gradient(var(--crop), var(--crop)) bottom right / var(--arm) var(--w) no-repeat, linear-gradient(var(--crop), var(--crop)) bottom right / var(--w) var(--arm) no-repeat;}
.es-frame--surface{background-color: var(--surface);}
.es-frame--accent{--crop: var(--accent-edge); --w: var(--stroke-rule);}
.es-frame--tight{padding: var(--space-3);}
.es-cota{display: flex; align-items: center; gap: var(--space-2); color: var(--ink-muted); font: 400 14px/20px var(--font-mono); font-variant-numeric: tabular-nums;}
.es-cota::before, .es-cota::after{content: ""; flex: 1; height: var(--space-3); border-top: 0; background: linear-gradient(var(--line-strong), var(--line-strong)) center / 100% var(--stroke-hair) no-repeat;}
.es-cota::before{border-left: var(--stroke-hair) solid var(--line-strong);}
.es-cota::after{border-right: var(--stroke-hair) solid var(--line-strong);}
.es-label{display: flex; align-items: center; gap: var(--space-3); margin: 0 0 var(--space-5); font: 500 12px/16px var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted);}
.es-label__n{color: var(--accent-text);}
.es-label::after{content: ""; flex: 1; height: var(--stroke-hair); background: var(--line);}
.es-link{color: var(--accent-text); text-decoration: underline; text-decoration-thickness: var(--stroke-hair); text-underline-offset: 3px;}
.es-link:hover{color: var(--ink); text-decoration-thickness: var(--stroke-rule);}
.es-avatar{position: relative; display: inline-block; width: 112px; height: 112px;}
.es-avatar img{display: block; width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-none);}
.es-avatar.es-frame{padding: var(--space-2); width: calc(112px + 2 * var(--space-2)); height: calc(112px + 2 * var(--space-2));}
.es-profile{color: var(--ink);}
.es-profile__name{margin: var(--space-5) 0 var(--space-1); font: 600 28px/34px var(--font-display); letter-spacing: -0.01em;}
.es-profile__role{margin: 0; color: var(--ink-muted); font: 400 15px/23px var(--font-sans);}
.es-profile__place{margin: var(--space-3) 0 0; color: var(--ink-muted); font: 400 14px/20px var(--font-mono);}
.es-links{list-style: none; margin: var(--space-5) 0 0; padding: 0; border-top: var(--stroke-hair) solid var(--line);}
.es-links li{border-bottom: var(--stroke-hair) solid var(--line);}
.es-links a{display: flex; justify-content: space-between; align-items: center; min-height: var(--size-target); color: var(--ink); text-decoration: none; font: 500 15px/20px var(--font-sans);}
.es-links a span{color: var(--ink-muted); font: 400 12px/16px var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase;}
.es-links a:hover{color: var(--accent-text);}
.es-prefs{display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5);}
.es-seg{display: inline-flex; border: var(--stroke-hair) solid var(--line-strong);}
.es-seg button, .es-seg a{display: inline-flex; align-items: center; justify-content: center; min-height: 36px; min-width: 44px; padding: 0 var(--space-3); border: 0; background: transparent; color: var(--ink-muted); text-decoration: none; font: 500 12px/16px var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer;}
.es-seg > * + *{border-left: var(--stroke-hair) solid var(--line-strong);}
.es-seg [aria-pressed="true"], .es-seg [aria-current="page"]{background: var(--ink); color: var(--bg);}
.es-seg button:hover:not([aria-pressed="true"]), .es-seg a:hover:not([aria-current="page"]){color: var(--ink);}
.es-lead{margin: 0; max-width: var(--size-measure-lead); font: 400 30px/42px var(--font-display); letter-spacing: -0.01em; color: var(--ink);}
.es-lead em{font-style: normal; background: linear-gradient(var(--accent), var(--accent)) 0 92% / 100% 0.2em no-repeat; padding-bottom: 0.04em;}
@media (max-width: 600px){
.es-lead{font-size: 24px; line-height: 34px;}
}
.es-text p{margin: 0 0 var(--space-4); max-width: var(--size-measure);}
.es-text p:last-child{margin-bottom: 0;}
.es-principles{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: var(--stroke-hair) solid var(--line); border-bottom: var(--stroke-hair) solid var(--line);}
.es-principles > li{padding: var(--space-5) var(--space-5) var(--space-5) 0;}
.es-principles > li + li{padding-left: var(--space-5); border-left: var(--stroke-hair) solid var(--line);}
.es-principles strong{display: block; margin-bottom: var(--space-2); font: 600 17px/23px var(--font-display);}
.es-principles span:not(.es-principles__n){display: block; color: var(--ink-muted); font: 400 15px/23px var(--font-sans);}
@media (max-width: 900px){
.es-principles{grid-template-columns: 1fr;}
.es-principles > li, .es-principles > li + li{padding: var(--space-5) 0; border-left: 0;}
.es-principles > li + li{border-top: var(--stroke-hair) solid var(--line);}
}
.es-timeline{list-style: none; margin: 0; padding: 0 0 0 var(--space-6); position: relative;}
.es-timeline::before{content: ""; position: absolute; left: 5px; top: 8px; bottom: 8px; width: var(--stroke-rule); background: var(--line);}
.es-timeline > li{position: relative; padding-bottom: var(--space-6);}
.es-timeline > li:last-child{padding-bottom: 0;}
.es-timeline > li::before{content: ""; position: absolute; left: calc(-1 * var(--space-6)); top: 5px; width: 12px; height: 12px; background: var(--bg); border: var(--stroke-rule) solid var(--line-strong);}
.es-timeline > li[data-current]::before{background: var(--accent); border-color: var(--accent-edge);}
.es-timeline__when{color: var(--ink-muted); font: 400 14px/20px var(--font-mono); font-variant-numeric: tabular-nums;}
.es-timeline__what{margin: var(--space-1) 0 var(--space-1); font: 600 20px/26px var(--font-display);}
.es-timeline__who{margin: 0 0 var(--space-2); color: var(--ink-muted); font: 400 15px/23px var(--font-sans);}
.es-timeline p:not([class]){margin: 0; max-width: var(--size-measure);}
.es-now{padding: var(--space-6) var(--space-5) var(--space-5);}
.es-now__tag{position: absolute; top: 0; left: var(--space-5); transform: translateY(-50%); padding: var(--space-1) var(--space-3); background: var(--accent); color: var(--on-accent); outline: var(--stroke-hair) solid var(--accent-edge); font: 600 12px/16px var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase;}
.es-now p{margin: 0 0 var(--space-4); max-width: var(--size-measure);}
.es-now__actions{display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin-top: var(--space-5);}
.es-footer{display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3); padding-top: var(--space-5); border-top: var(--stroke-hair) solid var(--line); color: var(--ink-muted); font: 400 13px/18px var(--font-sans);}
.es-footer code{font: 400 12px/16px var(--font-mono); letter-spacing: 0.04em;}
