:root{
/* Primary — ocean/sky range, dark to light */
--color-deep-navy:#0A1628;
--color-navy:#0F2847;
--color-teal:#0D7C8F;
--color-teal-dark:#0A6070;
--color-aqua:#32B8C6;
--color-cyan:#38BDF8;
/* Accent & signal */
--color-coral:#E68561;
--color-amber:#F59E0B;
--color-sage:#6B8E7F;
/* Neutrals */
--color-charcoal:#2D3748;
--color-slate:#64748B;
--color-light-blue:#E8F4F8;
--color-off-white:#F0F7FA;
--color-white:#FFFFFF;

/* Semantic — surfaces */
--surface-page:var(--color-white);
--surface-sunken:var(--color-off-white);
--surface-tinted:var(--color-light-blue);
--surface-inverse:var(--color-deep-navy);
--surface-inverse-raised:var(--color-navy);
--surface-card:var(--color-white);

/* Semantic — text */
--text-primary:var(--color-deep-navy);
--text-secondary:var(--color-slate);
--text-body:var(--color-charcoal);
--text-on-inverse:var(--color-white);
--text-on-inverse-secondary:rgba(255,255,255,0.55);
--text-on-inverse-faint:rgba(255,255,255,0.35);
--text-link:var(--color-teal);
--text-link-hover:var(--color-teal-dark);

/* Semantic — brand / interactive */
--brand-primary:var(--color-teal);
--brand-primary-hover:var(--color-teal-dark);
--brand-accent:var(--color-coral);
--brand-focus:var(--color-cyan);

/* Semantic — status */
--status-success:var(--color-aqua);
--status-warning:var(--color-amber);
--status-error:var(--color-coral);
--status-info:var(--color-cyan);

/* Semantic — sector coding (per brand architecture doc) */
--sector-morocco-ops:var(--color-teal);
--sector-ras-division:var(--color-navy);
--sector-tech-licensing:var(--color-aqua);
--sector-esg-impact:var(--color-sage);

/* Borders */
--border-subtle:#edf2f7;
--border-default:#e2e8f0;
--border-on-inverse:rgba(255,255,255,0.15);
--border-focus:var(--color-teal);

/* Data visualization gradient */
--gradient-dataviz:linear-gradient(90deg,var(--color-teal),var(--color-aqua),var(--color-cyan));
--gradient-hero:linear-gradient(165deg,var(--color-deep-navy) 0%,var(--color-navy) 40%,var(--color-teal-dark) 100%);
--gradient-sun:linear-gradient(180deg,var(--color-coral) 0%,var(--color-teal) 100%);
}
