/* Phase 0: neutral border palette. Default preserves existing page treatments.
 * Set --ic-border-neutral once on html:root to recolour neutral borders.
 * Focus, error, brand accents, white-on-dark and transparent borders retain meaning.
 * This file contains tokens only; no page layouts or JavaScript dependencies.
 */
:root {
    /* Shared roles adopted by homepage, main pages, header and footer. */
    --ic-ui-font-body: var(--ic-font-body, Inter, system-ui, sans-serif);
    --ic-ui-font-display: var(--ic-font-display, Outfit, system-ui, sans-serif);
    --ic-ui-brand: var(--ic-primary, #1f8f4e);
    --ic-ui-brand-hover: #157347;
    --ic-ui-label-weight: 500;
    --ic-ui-heading-page: clamp(30px, 4.15vw, 44px);
    --ic-ui-container: 1200px;
    --ic-ui-reading-width: 76ch;
    --ic-ui-body-size: 16px;
    --ic-ui-body-leading: 1.7;
    --ic-ui-focus-inverse: #b7f264;
    --ic-ui-error: #b42318;
    --ic-ui-disabled-bg: #eef1f4;
    --ic-ui-heading-section: clamp(26px, 2.5vw, 32px);
    --ic-ui-heading-weight: var(--ic-heading-weight, 700);
    --ic-ui-heading-leading: 1.25;
    --ic-ui-section-space: clamp(48px, 6vw, 72px);
    --ic-ui-panel-radius: 16px;
    --ic-ui-control-radius: 12px;
    --ic-ui-control-font-size: 16px;
    --ic-ui-target-size: 44px;
    --ic-ui-text: #1e2430;
    --ic-ui-muted: #586574;
    --ic-ui-focus-color: #176839;
    --ic-ui-focus-halo: rgba(23, 104, 57, .18);
    --ic-border-neutral: initial;
    /* Public roles for new components. Numbered aliases below preserve legacy shades. */
    --ic-border-surface: var(--ic-border-neutral, #D1D5DB);
    --ic-border-control: var(--ic-border-neutral, #CBD5E1);
    --ic-border-divider: var(--ic-border-neutral, #E2E8F0);
    --ic-neutral-border-1: var(--ic-border-neutral, #e2e8f0);
    --ic-neutral-border-2: var(--ic-border-neutral, #dbe6df);
    --ic-neutral-border-3: var(--ic-border-neutral, #e8f0eb);
    --ic-neutral-border-4: var(--ic-border-neutral, #D1D5DB);
    --ic-neutral-border-5: var(--ic-border-neutral, #B0B8C4);
    --ic-neutral-border-6: var(--ic-border-neutral, #CBD5E1);
    --ic-neutral-border-7: var(--ic-border-neutral, #EDF2F7);
    --ic-neutral-border-8: var(--ic-border-neutral, rgba(226, 232, 240, .9));
    --ic-neutral-border-9: var(--ic-border-neutral, rgba(209, 213, 219, .86));
    --ic-neutral-border-10: var(--ic-border-neutral, rgba(226, 232, 240, .95));
    --ic-neutral-border-11: var(--ic-border-neutral, #d8dee6);
    --ic-neutral-border-12: var(--ic-border-neutral, rgba(226, 232, 240, .86));
    --ic-neutral-border-13: var(--ic-border-neutral, #edf2ef);
    --ic-neutral-border-14: var(--ic-border-neutral, #dce6e0);
    --ic-neutral-border-15: var(--ic-border-neutral, #c9d9d0);
    --ic-neutral-border-16: var(--ic-border-neutral, #e7eee9);
    --ic-neutral-border-17: var(--ic-border-neutral, rgba(203, 213, 225, 0.86));
    --ic-neutral-border-18: var(--ic-border-neutral, #dbe5df);
    --ic-neutral-border-19: var(--ic-border-neutral, rgba(203, 213, 225, 0.95));
    --ic-neutral-border-20: var(--ic-border-neutral, rgba(203, 213, 225, .85));
    --ic-neutral-border-21: var(--ic-border-neutral, #e6eae7);
    --ic-neutral-border-22: var(--ic-border-neutral, rgba(226, 232, 240, 0.9));
    --ic-neutral-border-23: var(--ic-border-neutral, #e2e2e2);
    --ic-neutral-border-24: var(--ic-border-neutral, #cfd9dd);
    --ic-neutral-border-25: var(--ic-border-neutral, #dfe7e2);
    --ic-neutral-border-26: var(--ic-border-neutral, #e7ebe8);
    --ic-neutral-border-27: var(--ic-border-neutral, #dbe4df);
    --ic-neutral-border-28: var(--ic-border-neutral, #e5e7eb);
    --ic-neutral-border-29: var(--ic-border-neutral, #d7e4dc);
    --ic-neutral-border-30: var(--ic-border-neutral, rgba(230, 234, 231, 0.85));
    --ic-neutral-border-31: var(--ic-border-neutral, rgba(220, 232, 224, 0.8));
    --ic-neutral-border-32: var(--ic-border-neutral, #e3eae5);
    --ic-neutral-border-33: var(--ic-border-neutral, #e7ece8);
    --ic-neutral-border-34: var(--ic-border-neutral, #dfe8e2);
    --ic-neutral-border-35: var(--ic-border-neutral, #e0e8e2);
    --ic-neutral-border-36: var(--ic-border-neutral, #d9e2dc);
    --ic-neutral-border-37: var(--ic-border-neutral, #e1e7e3);
    --ic-neutral-border-38: var(--ic-border-neutral, rgba(207, 223, 212, .9));
    --ic-neutral-border-39: var(--ic-border-neutral, #dce8df);
    --ic-neutral-border-40: var(--ic-border-neutral, #edf1ee);
    --ic-neutral-border-41: var(--ic-border-neutral, #E5E9EF);
    --ic-neutral-border-42: var(--ic-border-neutral, rgba(219, 230, 223, 0.65));
    --ic-neutral-border-43: var(--ic-border-neutral, #f7faf8);
    --ic-neutral-border-44: var(--ic-border-neutral, #dde8df);
    --ic-neutral-border-45: var(--ic-border-neutral, #e8ede9);
    --ic-neutral-border-46: var(--ic-border-neutral, #dbe3ea);
    --ic-neutral-border-47: var(--ic-border-neutral, #d7dee8);
    --ic-neutral-border-48: var(--ic-border-neutral, #d9e3e9);
    --ic-neutral-border-49: var(--ic-border-neutral, #e9eef2);
    --ic-neutral-border-50: var(--ic-border-neutral, #d8e8f5);
}
