/* offmode — element defaults. Kept deliberately thin: tokens do the work. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-secondary);font-family:var(--font-body);font-weight:var(--weight-body);font-size:var(--text-body-size);line-height:var(--text-body-lh);letter-spacing:.01em;-webkit-font-smoothing:antialiased;transition:background-color var(--dur-theme) var(--ease-veil),color var(--dur-theme) var(--ease-veil)}
h1,h2,h3,h4{margin:0;color:var(--text-primary);font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:.01em}
h1{font-size:var(--text-hero-size);line-height:var(--text-hero-lh)}
h2{font-size:var(--text-h2-size);line-height:var(--text-h2-lh)}
h3{font-size:var(--text-h3-size);line-height:var(--text-h3-lh)}
p{margin:0}
a{color:var(--text-primary);text-decoration:none;border-bottom:1px solid var(--border-subtle);transition:color var(--dur-hover) var(--ease-calm),border-color var(--dur-hover) var(--ease-calm)}
a:hover{color:var(--text-primary);border-bottom-color:var(--border-strong)}
a:focus-visible,button:focus-visible{outline:1px solid var(--focus-ring);outline-offset:3px}
img{display:block;max-width:100%}
::selection{background:var(--accent-quiet);color:var(--om-navy-900)}

@keyframes om-reveal{from{opacity:0;transform:translateY(var(--reveal-rise))}to{opacity:1;transform:none}}
@keyframes om-drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-7px,0)}}
@keyframes om-breathe{0%,100%{opacity:.55}50%{opacity:.9}}
