*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--el-color-surface); color: var(--el-color-text); font: var(--el-text-base)/1.7 var(--el-font-body); text-rendering: optimizeLegibility; }
body, button, input, select, textarea { font-family: var(--el-font-body); }
h1, h2, h3, h4, h5, h6 { color: var(--el-color-text); font-family: var(--el-font-display); font-weight: 750; letter-spacing: -.035em; line-height: 1.08; text-wrap: balance; }
h1, .el-h1 { font-size: var(--el-text-h1); } h2, .el-h2 { font-size: var(--el-text-h2); }
h3, .el-h3 { font-size: var(--el-text-h3); } h4, .el-h4 { font-size: var(--el-text-h4); }
p { text-wrap: pretty; } img { max-width: 100%; height: auto; }
.el-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
a { transition: color var(--el-transition), background-color var(--el-transition), border-color var(--el-transition), transform var(--el-transition), box-shadow var(--el-transition); }
:focus-visible { outline: 3px solid var(--el-gold-light); outline-offset: 3px; }
button, input, select, textarea { font-size: max(1rem, 16px); }
button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"] { min-height: 44px; }
.el-button { min-height: 48px !important; }
.ct-toggle, .search-submit, .search-form button { min-width: 44px !important; min-height: 44px !important; }
.el-container { width: min(calc(100% - 2 * var(--el-gutter)), var(--el-container)); margin-inline: auto; }
.el-container--narrow { max-width: var(--el-container-narrow); } .el-section { padding-block: var(--el-section-space); }
.el-section--warm { background: var(--el-color-surface-warm); } .el-section--dark { background: var(--el-black); color: var(--el-white); }
.el-section--dark :is(h1, h2, h3, h4) { color: var(--el-white); } .el-muted { color: var(--el-color-text-muted); }
.el-flow > * + * { margin-block-start: var(--el-flow-space, 1.25rem); } .el-flow > p { max-width: 44rem; } .el-grid { display: grid; gap: var(--el-grid-gap, var(--el-space-4)); }
@media (min-width: 48rem) { .el-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .el-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
