*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body {
    margin: 0;
    min-height: 100vh;
    color: var(--arg-text-primary);
    background: var(--arg-bg-page);
    font-family: var(--arg-font-family);
    font-size: 14px;
    font-synthesis: weight style;
    line-height: 1.75;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { border: 0; }
img, svg { max-width: 100%; }
h1, h2, h3, h4, p { margin-top: 0; }
h1 { font-size: clamp(1.35rem, 1.8vw, 1.85rem); line-height: 1.38; letter-spacing: -.02em; }
h2 { font-size: 1.12rem; line-height: 1.5; }
h3 { font-size: .96rem; line-height: 1.55; }
small { line-height: 1.65; }
::selection { color: var(--arg-text-primary); background: #dce7f3; }
:focus-visible { outline: 3px solid var(--arg-focus-ring); outline-offset: 2px; }
:disabled, [aria-disabled="true"] { cursor: not-allowed !important; }
[hidden] { display: none !important; }

body, button, input, select, textarea,
.arg-button, .arg-badge, .arg-status-badge, .arg-grid, .arg-grid *,
.ag-theme-balham, .ag-theme-balham * { font-family: var(--arg-font-family) !important; }

i[class^="fa-"], i[class*=" fa-"], .fa, .fa-solid, .fa-regular, .fa-brands {
    font-family: "Font Awesome 7 Free" !important;
}
.fa-brands { font-family: "Font Awesome 7 Brands" !important; }
pre, code, kbd, samp, .arg-ltr-cell { font-family: Consolas, "Courier New", monospace !important; }

.arg-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
    color: var(--arg-color-accent);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .015em;
}

.arg-skip-link {
    position: fixed;
    inset-block-start: 8px;
    inset-inline-start: 8px;
    z-index: 9000;
    padding: 8px 12px;
    color: #fff;
    background: var(--arg-color-primary);
    border-radius: var(--arg-radius-sm);
    transform: translateY(-140%);
    transition: transform var(--arg-transition-fast);
}
.arg-skip-link:focus { transform: translateY(0); }

body.is-network-busy::after {
    content: "";
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 0;
    z-index: 9999;
    width: 34%;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--arg-color-luxury), var(--arg-color-accent), transparent);
    animation: arg-network-progress 1.1s ease-in-out infinite;
}
@keyframes arg-network-progress {
    from { transform: translateX(220%); }
    to { transform: translateX(-420%); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Phase 03.4-P8 — central visual language. */
body {
    background:
        radial-gradient(circle at 8% 4%, rgba(58,141,224,.10), transparent 28%),
        radial-gradient(circle at 94% 6%, rgba(32,184,198,.07), transparent 24%),
        linear-gradient(160deg, var(--arg-bg-page-warm) 0%, var(--arg-bg-page) 56%, #e9f1f8 100%);
}
::selection { color: var(--arg-color-primary); background: #d9ebff; }
.arg-eyebrow { color: var(--arg-color-accent); letter-spacing: .02em; }
body.is-network-busy::after {
    background: linear-gradient(90deg, transparent, var(--arg-color-accent), var(--arg-color-petrol), transparent);
}
