*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--type-body);letter-spacing:var(--ls-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-core);font-weight:var(--fw-bold);letter-spacing:var(--ls-title);text-transform:uppercase;color:var(--text-strong);text-wrap:balance}
h1{font-size:var(--fs-title-1);line-height:var(--lh-title-1);letter-spacing:var(--ls-display)}
h2{font-size:var(--fs-title-2);line-height:var(--lh-title-2)}
h3{font-size:var(--fs-title-3);line-height:var(--lh-title-3)}
h4{font-size:var(--fs-title-4);line-height:var(--lh-title-4)}
p{margin:0 0 var(--sp-4);text-wrap:pretty}
p:last-child{margin-bottom:0}
strong,b{font-weight:var(--fw-medium)}
small{font-size:var(--fs-caption)}
a{color:var(--text-strong);text-decoration:none;border-bottom:var(--bw-1) solid var(--ep-yellow);transition:var(--transition-control)}
a:hover{color:var(--text-strong);background:var(--ep-yellow);border-bottom-color:var(--ep-yellow)}
a:active{color:var(--text-strong);background:var(--yellow-deep);border-bottom-color:var(--yellow-deep)}
a:focus-visible{outline:none;box-shadow:var(--focus-ring)}
hr{border:none;border-top:var(--bw-hair) solid var(--line-hair);margin:var(--sp-6) 0}
code,kbd,pre{font-family:var(--font-mono)}
img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;letter-spacing:inherit}
::selection{background:var(--ep-yellow);color:var(--ep-black)}
:where(.ep-on-dark){background:var(--surface-page-inverse);color:var(--text-inverse)}
:where(.ep-on-dark) h1,:where(.ep-on-dark) h2,:where(.ep-on-dark) h3,:where(.ep-on-dark) h4{color:var(--text-inverse)}
:where(.ep-on-dark) a{color:var(--text-inverse)}
:where(.ep-on-dark) a:hover{color:var(--ep-black);background:var(--ep-yellow)}
:where(.ep-on-dark) hr{border-top-color:var(--line-hair-inverse)}
/* Technical label utility — the "plan annotation" voice used across the identity */
.ep-label{font:var(--type-label);letter-spacing:var(--ls-label);text-transform:uppercase}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
