/* Opt-in element defaults so plain HTML picks up Timbersol styling. */
html{background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-body-size);line-height:var(--text-body-lh);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--surface-page)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-heading);font-weight:var(--weight-semibold);margin:0;text-wrap:balance}
h1{font-size:var(--text-h1-size);line-height:var(--text-h1-lh);letter-spacing:var(--text-h1-ls)}
h2{font-size:var(--text-h2-size);line-height:var(--text-h2-lh);letter-spacing:var(--text-h2-ls)}
h3{font-size:var(--text-h3-size);line-height:var(--text-h3-lh);letter-spacing:var(--text-h3-ls)}
h4{font-size:var(--text-h4-size);line-height:var(--text-h4-lh);letter-spacing:var(--text-h4-ls)}
h5{font-size:var(--text-h5-size);line-height:var(--text-h5-lh)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px;transition:color var(--dur-fast) var(--ease-standard),text-decoration-color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover);text-decoration-color:var(--accent)}
:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}
::selection{background:var(--accent-subtle);color:var(--text-heading)}
hr{border:0;border-top:1px solid var(--border-subtle);margin:var(--space-8) 0}
.tb-eyebrow{font-family:var(--font-body);font-size:var(--text-eyebrow-size);letter-spacing:var(--text-eyebrow-ls);font-weight:var(--text-eyebrow-weight);text-transform:uppercase;color:var(--text-accent)}
.tb-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter)}
