:root {
    --alba-gold: #d39a32;
    --alba-charcoal: #1f1f1d;
    --alba-paper: #f5f3ef;
    --alba-white: #ffffff;
    --alba-muted: #76736d;
    --alba-content-max: 1440px;
    --alba-gutter-desktop: 40px;
    --alba-gutter-tablet: 28px;
    --alba-gutter-mobile: 18px;
    --alba-radius-sm: 8px;
    --alba-radius-md: 14px;
    --alba-focus: 2px solid var(--alba-gold);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
    margin: 0;
    min-width: 320px;
    background: var(--alba-paper);
    color: var(--alba-charcoal);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    text-rendering: optimizeLegibility;
}
img, svg, video { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
    outline: var(--alba-focus); outline-offset: 3px;
}
.alba-site { min-height: 100vh; }
.alba-main { width: 100%; }
.alba-shell {
    width: min(100%, var(--alba-content-max));
    margin-inline: auto;
    padding-inline: var(--alba-gutter-desktop);
}
.alba-content { min-width: 0; }
.alba-empty { min-height: 70vh; display: grid; place-content: center; text-align: center; gap: 12px; }
.alba-empty h1, .alba-empty p { margin: 0; }
.alba-skip-link {
    position: fixed; left: 16px; top: 16px; z-index: 999999;
    padding: 10px 14px; background: var(--alba-charcoal); color: var(--alba-white);
    transform: translateY(-160%); transition: transform .15s ease; border-radius: var(--alba-radius-sm);
}
.alba-skip-link:focus { transform: translateY(0); }
@media (max-width: 1199px) { .alba-shell { padding-inline: var(--alba-gutter-tablet); } }
@media (max-width: 899px) { :root { --alba-content-max: 100%; } }
@media (max-width: 599px) { .alba-shell { padding-inline: var(--alba-gutter-mobile); } }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
