html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }

:root { --zoom: 1; }
@media (min-width: 1500px) { :root { --zoom: 1.12; } }
@media (min-width: 1700px) { :root { --zoom: 1.25; } }
@media (min-width: 2000px) { :root { --zoom: 1.4; } }
@media (min-width: 2400px) { :root { --zoom: 1.6; } }
html { font-size: calc(100% * var(--zoom)); }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
@font-face { font-family:'Crimson Pro'; src: url('../fonts/CrimsonPro-Regular.woff2') format('woff2'), url('../fonts/CrimsonPro-Regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:'Crimson Pro'; src: url('../fonts/CrimsonPro-Italic.woff2') format('woff2'), url('../fonts/CrimsonPro-Italic.ttf') format('truetype'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family: 'Crimson Pro'; src: url('../fonts/CrimsonPro-Italic-VariableFont_wght.woff2') format('woff2'), url('../fonts/CrimsonPro-Italic-VariableFont_wght.ttf') format('truetype'); font-weight: 500 900; font-style: italic; font-display: swap; }
@font-face { font-family:'Crimson Pro'; src: url('../fonts/CrimsonPro-Bold.woff2') format('woff2'), url('../fonts/CrimsonPro-Bold.ttf') format('truetype'); font-weight:700; font-display:swap; }
*, *::before, *::after { cursor: url('../images/cursors/mousecursor-32.webp') 2 2, auto !important; cursor: image-set(url('../images/cursors/mousecursor-32.webp') 1x, url('../images/cursors/mousecursor.webp') 2x) 2 2, auto !important; }
a, button, label, [role="button"], [role="link"] { cursor: url('../images/cursors/mouseclick-32.webp') 10 2, pointer !important; cursor: image-set(url('../images/cursors/mouseclick-32.webp') 1x, url('../images/cursors/mouseclick.webp') 2x) 10 2, pointer !important; }
iframe { cursor: auto !important; }
.site-nav {
    padding: 1rem clamp(1rem, 5vw, 2.5rem);
    display: flex; align-items: center; justify-content: space-between;
    border-bottom: 1px solid var(--border);
}
.site-nav a {
    font-family: 'Crimson Pro', serif; font-style: italic;
    font-size: 1rem; color: var(--ink-dim); text-decoration: none;
    border-bottom: 1px solid transparent; padding-bottom: 1px;
    transition: color 0.2s, border-color 0.2s;
}
.site-footer {
    border-top: 1px solid var(--border);
    padding: clamp(1.5rem, 4vh, 2.5rem) clamp(1rem, 5vw, 2.5rem);
    display: flex; flex-direction: column; align-items: center; gap: 1rem; text-align: center;
}
.footer-logo img { height: 1.6rem; width: auto; opacity: 0.35; filter: brightness(10); transition: opacity 0.2s; }
.footer-link { font-family: 'Crimson Pro', serif; font-style: italic; font-size: 0.88rem; color: var(--ink-dim); text-decoration: none; border-bottom: 1px solid transparent; padding-bottom: 1px; transition: color 0.2s, border-color 0.2s; }
.footer-link:hover { color: var(--ink); border-color: var(--ink-dim); }
.footer-sep { color: var(--ink-dim); opacity: 0.3; font-size: 0.8rem; }
.footer-copy { font-style: italic; font-size: 0.78rem; color: var(--ink-dim); opacity: 0.5; }

html { scrollbar-width: thin; scrollbar-color: var(--accent, var(--ink)) var(--bg); }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--accent, var(--ink)); border-radius: 4px; border: 2px solid var(--bg); }
::-webkit-scrollbar-corner { background: var(--bg); }
